Wago und Taster. Die einzig wahre Lösung!

Hallo zusammen,

aktuell leide ich unter ner leichten Denkblockade ;-))

Ich habe folgendes Problem:

Meine Lichtsteuerung ist komplett mit Tastern realisiert, welche auf den Digitalen Eingangskarten meiner Wago SPS liegen. Zum schalten eines Lichtes (DO-Karte mit Relays dahinter) und hab das schalten des Lichtes mit folgender kleinen Funktion geregelt:


        trigger(CLK := theValue);
	flipflop();

	IF trigger.Q = 1 AND state = 0 THEN
	flipflop.RESET1 := 0;
	flipflop.SET := 1;
	END_IF;

	IF trigger.Q = 1 AND state = 1 THEN
	flipflop.SET := 0;
	flipflop.RESET1 := 1;
	END_IF;

Nun hab ich das Problem, das IPS die Licht- ein ausgänge nur als Schalter bedient.

Ich komm aktuell leider nicht weiter, kann mir evtl. jemand von euch verraten wie Ihr die Einbindung der Wago realisiert habt.

P.S. Am liebsten würde ich die Wago Bibliothek zur Gebäudeautomatisierung hierzu nutzen.

Vielen Dank!

Wo genau ist denn dein Problem??

Du legst einen Merker an, den du mit IPS „tastest“ … also nur kurz TRUE schaltest.

so mach ich’s…

Gruss, Michael

Vielen DANK!!!

Mibu, deine Lösung ist einfach einfach und Genial!!!

Vielen DANK!:D:D:D:D

Hallo Michael,

wie schaltest du denn bei der Lösung die Ausgänge aus dem Webfront ein/aus?

Gruß
Jens

Hallo Jens,

sh. Anhang…

Gruss, Michael

Sehr gut. So habe ich mir das immer vorgestellt. Direktschaltung in IP-Symcon und per Taster innerhalb der SPS bzw. an den Wandtastern. Schön gelöst über die XOR Verknüpfung :slight_smile:

Wenn man es nicht direkt versteht… einfach ausprobieren :slight_smile:

paresy

Werde ich heute Abend mal testen.
Welche Variante ist denn systemtechnisch (IPS) Ressourcensparender? Die Version mit dem Merker, der nur kurz von IPS „getastet“ wird oder diese Variante? Wenn ich diese Variante nehme, habe ich doch im schlechtesten Fall eine ständige Signalübertragung ?? Oder denke ich da jetzt zu kompliziert?

Gruß
Jens

1 „Gefällt mir“

Hallo Jens,

ich bin mir nicht ganz sicher was du mit „Merker tasten“ meinst. Die Modbus Adressen sind ja nichts anderes als Merker. Den Status musst du eh pollen. Solange ich keine Performance Probleme bekomme, werde ich bei dieser Variante bleiben - weil einfach.

Etwas unelegant ist, das IPS jedes Bit einzeln „bearbeitet“ ( 1bit = 1 tcp query/1 tcp reponse ) Eleganter wäre, zumindest was den Traffic angeht, zusammenhängende Adressbereiche in einem Rutsch zu lesen/schreiben. Das könnte man auch mit PHP bytecode erschlagen, sehe ich aber eher als IPS Hintergrund Aufgabe an.

In Industriesystemen definiert man meistens einen Adressbereich und die Visualisierung pickt sich einen boolschen Wert aus dem Pool.

Um das pollen zu verhindern, koennte man von der Wago direkt auf einen IPS Server Socket senden…

Die Frage ist, ob es bei einem Einfamilienhaus überhaupt zu Engpässen kommt…

Gruss, Michael

Das frage ich mich auch … :wink: , daher ja meine Frage dazu.

Ich habe bisher extra Merker in der Wago definiert, die parallel mit den Tastereigängen auf einen Stromstoßschalterbaustein gehen. Um das Transparent zu halten, habe ich dann natürlich die Merker auch in IPS sichtbar gemacht und somit einiges mehr an Variablen.

Ich glaube ich werde deine Lösung mal testen und probehalber eine Etage umschreiben.

Was die Abfrage zusammenhängender Adressbereiche an geht, hast du dich schon mal mit der phpmodbus.lib beschäftigt?

Damit dürfte das doch gehen oder? Ich hatte mich auch schon daran versucht, bin aber kläglich gescheitert und den „normalen“ Weg gegangen.

Gruß
Jens

Hallo,

ich glaube ich habe da ein timing problem. Habe die Logik von mibu in einem 100ms Task laufen. Schalten über den SPS DI funktioniert. Aber schalten aus IPS heraus nicht. Habe den Timer in IPS auf 500ms gestellt, bekomme den SPS Ausgang von IPS aus nicht geschaltet. Schaltet nur manchmal ganz kurz.

Was muss ich genau in IPS machen? Mibu, hast du in IPS ein Skript laufen?

Gruß,
Chris

Moin moin,

ich bin zwar nicht mibu, aber ich betreibe meine Wago genau so, ist für mich de beste und einfachste Lösung. Nein du brauchst keine Scripts für die Steuerung, und die Ausgänge schalten bei mir auch nicht nur mal kurz.
Ich vermuste den Fehler in deinem Codesys Programm. Bist du dir
sicher das due das mit ner XOR Verknüpfung gelöst hast?

Das Timing von 500ms finde ich persönlich sehr kurz gewählt, ist bestimmt ganz schön Traffic wenn viele Ausgänge abgefragt werden.

Kannst du mal ein Bild von der Modbus Adresse in IPS machen und eins von dem Codesys Programmteil?

Ach ja: Frohe Weihnachten :slight_smile:

Hallo,

siehe Anhänge.

Die Variablen sind folgendermaßen angelegt:

VAR_GLOBAL

IPS_LichtschrankeAlarm AT %MX0.0: BOOL;
IPS_L_Nebeneingang AT %MX0.1: BOOL;
IPS_CentOFF AT %MX0.2:BOOL;
IPS_CentON AT %MX0.3:BOOL;
IPS_L_Diele1 AT %MX0.4:BOOL;

IPS_Temp1 AT %MD1: REAL;
IPS_Temp2 AT %MD2: REAL;

Ne Idee?

Frohe Weihnachten!

Hi chris.moe,

gucke mal auf die Ausführungsreihenfolge der Bausteine. Markiere die mal und mache cut &paste. Die Ausführungsreihenfolge sollte sich dann ändern.

Gruss, Michael

Läuft!

Vielen Dank!

Markiere die mal und mache cut &paste

oder rechte Maustaste:
„Reihenfolge“ -> „Alles nach Datenfluss anordnen“ :wink:

in diesem Sinne

Tilo

Hallo,

ich habe mal das Beispiel von mibu ausprobiert aber scheinbar stelle ich mich ein wenig zu dumm an;

wenn ich den DI taste wird der Ausgang gesetzt und der Merker ebenfalls,
bei nochmaligem tasten wird der Ausgang ausgeschaltet,Merker dito.
Wenn ich den Merker taste wird der Ausgang nur gesetzt solange der Merker True ist.
Wo liegt der Fehler? Möchte ja eine Tastersteuerung mit Rückmeldung Ein/Aus haben.

Gruß Iceman

Das würde mich auch interessieren wie das gehen soll.

Hallo klamsie01,

hast Du die Modbus-Variable schon in IPS eingebunden, wenn ja forct Du die Variable in der Codesys oder tastet Du in IPS?

Gruß

Frank

Der Merker wird nicht getastet. Aus IPS kannst du direkt EIN/Aus über den Merker schalten.
Und bekommst gleichzeitig über den GLEICHEN Merker eine Rückmeldung, ob der Eingang aus/ein ist.