Willkommen auf unserer neuen Forenplattform für das Bus-Profi Forum

Neue Felder für die persönlichen Daten
Man kann jetzt seine öffentlich einsehbare Daten genau bestimmen. Details findet ihr in in diesem Beitrag.

Durch die neue Forensoftware und die Portierung der Daten konnten die Passwörter aus dem alten Forum nicht übernommen werden, bitte lassen Sie sich ein neues Passwort über die Passwort vergessen Funktion zusenden. Sollte es zu Problemen kommen kontaktieren Sie das Bus-Profi Team per E-Mail.

Rollläden an Relais über Domiq positionieren

Hard- und Softwarefragen rund Domiq-Module fürs LCN-System

koboldo
Fleißiges Mitglied
Fleißiges Mitglied
Beiträge: 324
Registriert: Do 16. Feb 2012, 15:50
Status: Offline

#11 RE: Rollläden an Relais über Domiq positionieren

Beitrag von koboldo »

Kein Problem :P

Und wie rufe ich das ganze nun in der Visu auf ?
Benutzeravatar

Themenersteller
Beleuchtfix
Administrator
Administrator
Beiträge: 5304
Registriert: Mi 10. Jan 2007, 18:49
Kontaktdaten:
Status: Offline

#12 RE: Rollläden an Relais über Domiq positionieren

Beitrag von Beleuchtfix »

Wohin die Zeile gehört scheinst du inzwischen gefunden zu haben. :rolleyes:

Visu: das musst du selber probieren, ich habe es bis jetzt nur in Remote eingebaut. Ich würde es erst einmal mit Pushbuttons lösen und mit denen das Script in LOGIC auslösen.

Viel Erfolg
Florian

koboldo
Fleißiges Mitglied
Fleißiges Mitglied
Beiträge: 324
Registriert: Do 16. Feb 2012, 15:50
Status: Offline

#13 RE: Rollläden an Relais über Domiq positionieren

Beitrag von koboldo »

Zeile habe ich gefunden....:scared:

Remote kann ich nicht testen, habe hier kein Fallobst rumliegen....

koboldo
Fleißiges Mitglied
Fleißiges Mitglied
Beiträge: 324
Registriert: Do 16. Feb 2012, 15:50
Status: Offline

#14 RE: Rollläden an Relais über Domiq positionieren

Beitrag von koboldo »

Moin Florian,
So, über Display scheint es auch zu laufen, dort muss man einen Switch nehmen und unter Befehl z.B, LOGIC=roll_rel_pos(21,3,10,0)
eintragen....

Allerdings hast du oben geschrieben, das
Eine Steuerung von Außen wird erkannt
, dies ist nicht der Fall oder ich habe das falsch verstanden...
Wenn ich jetzt meine normalen LCN Taster nehme, mit denen ich direkt das Relais ansteuere, bekommt das Base das nicht mit....:cry:
Oder habe ich das falsch verstanden ?

P.s: der schon nicht abwarten kann, das du in zwei Tagen wieder kommst :lol:
Benutzeravatar

Themenersteller
Beleuchtfix
Administrator
Administrator
Beiträge: 5304
Registriert: Mi 10. Jan 2007, 18:49
Kontaktdaten:
Status: Offline

#15 RE: Rollläden an Relais über Domiq positionieren

Beitrag von Beleuchtfix »

Moin Jörg,
Wenn du den Rollladen von außen steuerst, dann sollte bei der Position n/a stehen und anschließend eine neue Position über die Endlagen angesteuert werden. Falls es das nicht tut, dann habe ich einen Fehler im Programm. Auch sollte erkannt werden, wenn der Rollladen sich in eine der Endlagen befindet. Wichtig ist, dass das Motorrelais mit Zeitbegrenzung eingestellt ist.

Viel Erfolg
Florian

koboldo
Fleißiges Mitglied
Fleißiges Mitglied
Beiträge: 324
Registriert: Do 16. Feb 2012, 15:50
Status: Offline

#16 RE: Rollläden an Relais über Domiq positionieren

Beitrag von koboldo »

Hallo Florian,
so ganz läuft es irgendwie noch nicht :huh:
Manchmal kommt der Fehler

Code: Alles auswählen

Fehler Startzeit
Bei einem Rolladen von 4 getesteten wird auch erkannt, wenn von außen gesteuert wird, nähmlich auf dem der auf dem ersten Relais liegt....
Entweder hier ist etwas in der Verkabelung falsch oder ich habe das mit den Nummern noch nicht kapiert oder du hast noch einen Fehler eingebaut....

Hier mal ein Bild von meiner Verkabelung und mein aktueller Code (Achtung hier ist erst mal nur das Modul 21 relevant, die anderen habe ich noch nicht richtig eingetragen), vielleicht kannst du ja noch mal schauen...:-/

Code: Alles auswählen

-- *******************
-- * Rolladen Anfang *
-- *******************

-- ************************************************************

startzeit = {} -- Startzeit bei Rollladenstart

-- Laufzeiten der Rollläden
set ('t_auf.rel.19.1',17700) -- Gäste WC 
set ('t_ab.rel.19.1',16800)

set ('t_auf.rel.19.2',18600) -- Bad 
set ('t_ab.rel.19.2',17700)

set ('t_auf.rel.19.3',17700) -- EG Küche
set ('t_ab.rel.19.3',16800)

set ('t_auf.rel.19.4',18600) -- Schlafzimmer 
set ('t_ab.rel.19.4',17700)
 
set ('t_auf.rel.20.1',25800) -- Kind2
set ('t_ab.rel.20.1',23200)

set ('t_auf.rel.20.2',25800) -- Lotte
set ('t_ab.rel.20.2',23200)

set ('t_auf.rel.21.1',27000) --Wozi Sofa
set ('t_ab.rel.21.1',24500)

set ('t_auf.rel.21.2',18800) -- Wozi klein
set ('t_ab.rel.21.2',17800)

set ('t_auf.rel.21.3',27000) -- Wozi Terrasse
set ('t_ab.rel.21.3',24500)

set ('t_auf.rel.21.4',11000) -- HWR
set ('t_ab.rel.21.4',10000)

--********************************************************** 
-- Hiermit wird das Netzrelais überwacht. Die Bezeichnung links ist Modul_Motor rechts Modul.Relais. Diese Funktion wird für jeden Rollladen einmal benötigt.
roll_rel_19_1_flag = use 'LCN.relay.0.19.1'
roll_rel_19_2_flag = use 'LCN.relay.0.19.2'
roll_rel_19_3_flag = use 'LCN.relay.0.19.3'
roll_rel_19_4_flag = use 'LCN.relay.0.19.4'
 
function roll_rel_19_1_flag:onchange(new) -- Relais 1
   roll_rel_na(19,1,1,new) --Modul, Motor, Relais, Relaisstatus
end 
 
function roll_rel_19_2_flag:onchange(new) -- Relais 2
   roll_rel_na(19,2,2,new) --Modul, Motor, Relais, Relaisstatus
end 

function roll_rel_19_3_flag:onchange(new) -- Relais 3
   roll_rel_na(19,3,3,new) --Modul, Motor, Relais, Relaisstatus
end 
 
 function roll_rel_19_4_flag:onchange(new) -- Relais 4
   roll_rel_na(19,4,4,new) --Modul, Motor, Relais, Relaisstatus
end 

roll_rel_20_1_flag = use 'LCN.relay.0.20.1'
roll_rel_20_2_flag = use 'LCN.relay.0.20.2'
 
function roll_rel_20_1_flag:onchange(new) -- Relais 1
   roll_rel_na(20,1,1,new) --Modul, Motor, Relais, Relaisstatus
end 
 
function roll_rel_20_2_flag:onchange(new) -- Relais 2
   roll_rel_na(20,2,2,new) --Modul, Motor, Relais, Relaisstatus
end 

roll_rel_21_1_flag = use 'LCN.relay.0.21.1'
roll_rel_21_2_flag = use 'LCN.relay.0.21.2'
roll_rel_21_3_flag = use 'LCN.relay.0.21.3'
roll_rel_21_4_flag = use 'LCN.relay.0.21.4'
 
function roll_rel_21_1_flag:onchange(new) -- Relais 1
   roll_rel_na(21,1,1,new) --Modul, Motor, Relais, Relaisstatus
end 
 
function roll_rel_21_2_flag:onchange(new) -- Relais 2
   roll_rel_na(21,1,2,new) --Modul, Motor, Relais, Relaisstatus
end 

function roll_rel_21_3_flag:onchange(new) -- Relais 3
   roll_rel_na(21,1,3,new) --Modul, Motor, Relais, Relaisstatus
end 
 
function roll_rel_21_4_flag:onchange(new) -- Relais 4
   roll_rel_na(21,1,4,new) --Modul, Motor, Relais, Relaisstatus
end 



--*********************************************************
--Hier sind die Strings untergebracht, nach denen die Relais gesteuert werden. Ist z.B. das Richtungsrelais anders angeschlossen, kann man hier die Änderung eintragen.
-- Rollläden Relais String
 
down = {'11------';'--11----';'----11--';'------11'}
up = {'10------';'--10----';'----10--';'------10'}
stop = {'00------';'--00----';'----00--';'------00'} -- Richtungsrelais wird aus stromspargründen abgeschaltet


--**********************************************************
--Und die Bearbeitung, wenn sich das Relais ändert:
function roll_rel_na(mod,motor,relay, new)  -- Bei Änderung des Power Relais
-- On, Zeit starten und n/a setzen
	local t_auf = get('t_auf.rel.'..mod..'.'..motor)
	local t_ab = get('t_auf.rel.'..mod..'.'..motor)
	local position = get ('VAR.roll_position_rel.'..mod..'.'..motor)
	local position_alt = position
 
	if (new == 1) then
      richtung = get('LCN.relay.0.'..mod..'.'..(relay + 1))

      startzeit[mod .. '.' .. motor] = systime()
--      print(startzeit[mod][motor])
	   set ('VAR.roll_position_rel.'..mod..'.'..motor,"n/a")
      set ('VAR.roll_start_rel.'..mod..'.'..motor,"n/a")
      set ('VAR.roll_position_rel.text.'..mod..'.'..motor,"n/a")
   elseif (new ==0) then
      local stopzeit = systime()
      if startzeit[mod .. '.' .. motor] then
         laufzeit = math.floor((stopzeit - startzeit[mod .. '.' .. motor])*1000) -- ms
         startzeit[mod .. '.' .. motor] = null
      else print('Fehler Startzeit')
      end
      -- Endlage?
      if richtung == 1 then -- ab
         if laufzeit > (t_ab + 2000)then
             set ('VAR.roll_position_rel.'..mod..'.'..motor,100)
             set ('VAR.roll_position_rel.text.'..mod..'.'..motor,"unten")
             --Richtungsrelais ausschalten
            value = stop[motor]
      		command ('C.LCN.relays.0.'..mod..'='..value)
         else  -- Zwischenposition
--                      -- Off Zeit messen und Position berechnen.
         end
      else -- auf  
         if laufzeit > (t_auf + 2000)then
              set ('VAR.roll_position_rel.'..mod..'.'..motor,0)
              set ('VAR.roll_position_rel.text.'..mod..'.'..motor,"oben")
             --Richtungsrelais ausschalten
            value = stop[motor]
      		command ('C.LCN.relays.0.'..mod..'='..value)
         else  -- Zwischenposition
--                -- Off Zeit messen und Position berechnen.
         end
      end   
	end
 
end
 
-- *****************************************************************
-- Jetzt kommt die eigentliche Steuerung
-- Rollläden an Relais
function roll_rel_pos(mod,motor,pos,force) -- motor 1-4, position 100 = geschlossen, 0 = offen, modul , Zwangssteuerung über Endlage
	local t_auf = get('t_auf.rel.'..mod..'.'..motor)
	local t_ab = get('t_ab.rel.'..mod..'.'..motor)
	local position = get ('VAR.roll_position_rel.'..mod..'.'..motor)
	local position_alt = position
	local b = type(position_alt)
	if (b ~= 'number' or force > 0) then
		position_alt = 'n/a'
	end 
 
	if pos == 0 then  -- Bei Endlage immer bis zum Anschlag volle LAufzeit fahren
		position_alt = 100
		roll_rel_pos_absolut(mod,motor,pos)
		set ('VAR.roll_position_rel.'..mod..'.'..motor,pos)
	elseif pos == 100 then
		position_alt = 0
		roll_rel_pos_absolut(mod,motor,pos)
		set ('VAR.roll_position_rel.'..mod..'.'..motor,pos)
	elseif position_alt == "n/a" then
		roll_rel_pos_absolut(mod,motor,pos)
	else -- Zwischenposition direkt anfahren
		relpos = pos - position_alt
		if relpos >0 then 
			delay_ab = ((t_ab/100)*(relpos))	
			roll_rel_run(mod,motor,'down',pos)
-- 			command('DELAY.'..delay_ab..'ms.C.LOGIC=roll_rel_run('..mod..','..motor..',"stop",..'pos')')	
	 		command('DELAY.'..delay_ab..'ms.C.LOGIC=roll_rel_run('..mod..','..motor..',"stop",'..pos..')')
		elseif relpos = 96 then -- unten 
		roll_rel_run(mod,motor,'down',100)
		command('DELAY.'..delay_ab..'ms.C.LOGIC=roll_rel_run('..mod..','..motor..',"stop",100)')	
	elseif pos =40 then
		roll_rel_run(mod,motor,'down',100)
		command('DELAY.'..(t_ab+1000)..'ms.C.LOGIC=roll_rel_run('..mod..','..motor..',"up",'..pos..')')	 -- unten
		command('DELAY.'..(t_ab+1000+delay_auf)..'ms.C.LOGIC=roll_rel_run('..mod..','..motor..',"stop",'..pos..')')	 -- Position
	else -- über oberen Stop
		roll_rel_run(mod,motor,'up',0)
		command('DELAY.'..(t_auf+1000)..'ms.C.LOGIC=roll_rel_run('..mod..','..motor..',"down",'..pos..')')	 -- unten
		command('DELAY.'..(t_auf+1000+delay_ab)..'ms.C.LOGIC=roll_rel_run('..mod..','..motor..',"stop",'..pos..')')	 -- Position
	end
end


--************************************************************************
-- Das Schalten der Relais und Abspeichern der Werte
function roll_rel_run(mod,motor,_task,pos) --
   local position_text
	if _task == 'up' then
		value = up[motor]
	elseif _task == 'down' then 
		value = down[motor]
	elseif _task == 'stop'  then -- stop 
		value = stop[motor]
	end
 
	if value then
		command ('C.LCN.relays.0.'..mod..'='..value)
 		if _task == 'stop' then
-- 			command('DELAY.2000ms.C.set('VAR.roll_position_rel.'..mod..'.'..motor,pos)') --Wert abspeichern
			set('VAR.roll_position_rel.'..mod..'.'..motor,pos) --Wert abspeichern
      		if pos == 0 then 
      			position_text = 'oben'
				    set ('VAR.roll_position_rel.text.'..mod..'.'..motor,"n/a")
			elseif pos == 100 then
				position_text = 'unten'
			else
				position_text = pos
			end
			set ('VAR.roll_position_rel.text.'..mod..'.'..motor,position_text)			
		else
-- 			set ('VAR.roll_position_rel.'..mod..'.'..motor,"n/a") --Wert abspeichern
 		end 
	end
end

-- *****************
-- * Rolladen Ende *
-- *****************
[img]1[/img]
Dateianhänge
524801IMG_20130724_171336.jpg
524801IMG_20130724_171336.jpg (10.01 KiB) 3767 mal betrachtet
Benutzeravatar

Themenersteller
Beleuchtfix
Administrator
Administrator
Beiträge: 5304
Registriert: Mi 10. Jan 2007, 18:49
Kontaktdaten:
Status: Offline

#17 RE: Rollläden an Relais über Domiq positionieren

Beitrag von Beleuchtfix »

Hallo Jörg,
Momentan sehe ich nicht, dass du irgendwo Richtungsrelais verwendest. Am Relais 1 sollte das Netzrelais hängen, der Ausgang geht dasn auf das Relais 2, das entweder die rauf oder die Runterrichtung (oder ist es ein R4M2H?).
Es müssen in jedem Fall die "normalen" LCN Befehle ohne Tricks gehen (rauf runter stop).

Code: Alles auswählen

roll_rel_19_2_flag = use 'LCN.relay.0.19.3'
roll_rel_19_3_flag = use 'LCN.relay.0.19.5'
roll_rel_19_4_flag = use 'LCN.relay.0.19.7' 
Ersetze die obigen Zeilen, dass sollte auch der Rest gehen.

Viel Erfolg
Florian
Mail mir mal deine Email Adresse, dann schicke ich dir morgen, wenn ich Zeit finde, mein Original-Script, da sind viele Print Befehle enthalten, die die Fehlersuche erleichtern.

koboldo
Fleißiges Mitglied
Fleißiges Mitglied
Beiträge: 324
Registriert: Do 16. Feb 2012, 15:50
Status: Offline

#18 RE: Rollläden an Relais über Domiq positionieren

Beitrag von koboldo »

Hallo Florian,
es ist übrigens ein R4M2H....ist es dann richtig angeschlossen ?
Ist das vielleicht das Problem ? Ist dein Code für ein R8H ?
Benutzeravatar

Thomas
Alleswisser
Alleswisser
Beiträge: 5750
Registriert: Mo 21. Apr 2008, 20:03
Status: Offline

#19 RE: Rollläden an Relais über Domiq positionieren

Beitrag von Thomas »

Hallo Jörg,

das R4M2H kann man auf dem Bild erkennen..
Obe es richtig angeschlossen ist, nicht...
Das kannst du aber locker per PRO selber prüfen, per HOCHFAHREN oder RUNTERFAHREN .
Wenn es da "andersrum" fährt, musst du die Drähte tauschen.

Gruss Thomas - alles geht noch nicht, aus der Ferne.....
lg Thomas

koboldo
Fleißiges Mitglied
Fleißiges Mitglied
Beiträge: 324
Registriert: Do 16. Feb 2012, 15:50
Status: Offline

#20 RE: Rollläden an Relais über Domiq positionieren

Beitrag von koboldo »

Hallo Thomas,
dann ist es richtig angeschlossen:lol:
Hoch- und runter ging schon die ganze Zeit....auch in der Pro, es hat mich nur dieses ganze Relais und Motor durcheinander gebracht....

Welche Motoren oder Relais sind denn dann bei mir belegt ?
Ist das jetzt Relais 1,2,3,4 oder 1,3,5,7 ?
In der Pro werden die Rolläden ja z.B. der erste mit dem Relais 1+2 gesteuert....
Und was soll die Motorbezeichnung ? Auch hier die Frage, welche Motoren wären es denn dann ?
Antworten