# Wago 750-880 OPC Node Red



## Adenauer (1 Oktober 2021)

Hallo zusammen,
weiß jemand ob die Wago 750-880 OPC kann. Ich würde gerne über Werte in Node Red über OPC einlesen.
Ich nutze Codesys 2.3.


----------



## Gerhard Bäurle (1 Oktober 2021)

Adenauer schrieb:


> Hallo zusammen,
> weiß jemand ob die Wago 750-880 OPC kann. Ich würde gerne über Werte in Node Red über OPC einlesen.
> Ich nutze Codesys 2.3.


Hallo,
muss es denn OPC sein? Für sich betrachtet würde ich da eher an Modbus TCP denken.


----------



## Adenauer (2 Oktober 2021)

Opc hätte den Charme das ich nicht erst alle Variablen umkopieren müsste. 
Außerdem interessiert mich die Technik.


----------



## Blockmove (2 Oktober 2021)

Wenn du OPC-UA meinst, dann kann das der 880 nicht.
Bei einem PFC100 / PFC200 und e!Cockpit ist es kein Problem.
Mit Node RED und OPC UA muss man auch (noch) etwas vorsichtig sein.
Ich hatte Verbindungsabbrüche. Selten zwar, aber trotzdem nervig.
Bin vor einem halben Jahr wieder zurück auf Modbus.


----------



## Adenauer (2 Oktober 2021)

Ah ok, danke für die Info. Ich hatte beim Querlesen von einigen Eintragen den Eindruck gewonnen das der 880 das kann. Hab mich schon ne ganze Zeit damit abgemüht die Symbole richtig zu generien etc, aber dann weiß ich warum ich nicht weiter gekommen.
 bin.

@Blockmove
Könntest du evt. mal grob beschreiben wie du dein Programm aufgebaut hast? 
Wie sendest du z.b aus Node Red oder dem Io Broker den Befehl um ein Licht ein/aus zu schalten.
Nimmst du da einfach ne Modus Adresse die verodert mit dem Taster für Licht verschaltet ist?
Den Status ob Licht ein oder aus dann aus dem Adressregister des Ausgangs?

Ich überlege gerade noch ob ich alles an Funktionalität also Zeitschaltuhren, Timer usw. aus der Wago in Io Broker, Node Red oder Home Assistent verlege. In der Wago will ich wirklich nur noch die Grundfunktionalität halten also Taster Licht an/aus. Wie hast du das gelöst?

Mich bzw. meine bessere Hälfte stört es immer wenn ich mal Programmänderungen mache und die CPU geht dabei in Stop. Dann fahren hier immer alle Rollos hoch😬😬....


----------



## Blockmove (2 Oktober 2021)

@Adenauer 
Ich muss dich da etwas enttäuschen.
Die wichtigen Dinge (Licht, Rollo, ...) sind bei mir in der PLC.
ioBroker oder Node RED sind für Spielereien (Sonos, Kamera, WLED, Kodi, Telegram, ...)
Wenige Dinge werden vom ioBroker in der SPS gesteuert.

Zum Prinzip:
Simple Oder von Taster und ioBroker Signal habe ich nicht.
Es geht immer über positive und / oder negative Flanken.
So ist die Gefahr des Blockierens / Hängenbleibens deutlich geringer.
Direkte Abfrage des Ausgangs ist auch die Ausnahme.
Ich hab dafür Schnittstellensignale.
Im einfachsten Fall ist es auf der SPS eine direkte Verknüpfung Ausgang -> Schnittstellensignal.
Bei vielen Dingen gibt es Watchdogs und Timeout.
Systeme wie Node RED oder ioBroker arbeiten anders als eine SPS.
Bei der SPS hast du den zyklischen Programmablauf.
Bei ioBroker oder Node RED arbeitet man überwiegend mit Events.
Beides hat seine Vor- und Nachteile.
Wichtig ist halt, dass man sich der Arbeitsweise bewusst ist und immer im Hinterkopf hat, was beim Ausbleiben / Verschlucken eines Events passiert.
Wieder Anlauf nach Stromausfall ist da ein schönes Beispiel.

Gruß
Blockmove


----------



## Adenauer (3 Oktober 2021)

Hallo Blockmove,
die grundsätzlichen Dinge will ich auch auf jeden fall in der Steuerung lassen.
So sieht das z.b. gerade bei mir aus.
Jetzt will ich später über den IoBrocker oder NodeRed etc. eine zusätzliche Visu realisieren. Hier würde ich doch vor die "Stromstoss" Bausteine jeweils ein Oder schalten und mit einer Modbusadresse verschalten. Die Modbusadresse würde dann über einen Slider oder Alexa etc. getriggert.
Sehe ich das so richtig?


----------



## Blockmove (3 Oktober 2021)

Kann man so machen.
Nur - wie bereits gesagt - mit den Signalen von der Visu über Flanken gehen, da sonst die Gefahr des Hängenbleibens besteht.


----------



## Adenauer (4 Oktober 2021)

Hallo zusammen,
hab die Kommunikation jetzt über Modbus umgesetzt. Lesen von Eingängen, Ausgängen und Merkern geht soweit. Das schreiben über FC5 auf die Modbusadresse 12288 = MX0.0 funktioniert auch soweit, also den Merkerbereich. Was ich nicht hin bekomme ist das schreiben direkt auf die Ausgänge.
Wenn ich mit der Funktion FC5 die Adresse 512 beschreibe müsste doch der Ausgang %QX0.0 gesetzt werden oder? 
Dies funktioniert aber leider nicht. Muss dafür was besonders beachtet werden?
In der Steuerung ist als Programm nur die Globale Var Deklaration, das die Ausgänge daher wieder überschrieben werden kann ich also ausschließen.


----------



## holgermaik (5 Oktober 2021)

Adenauer schrieb:


> Was ich nicht hin bekomme ist das schreiben direkt auf die Ausgänge.


Du kannst entweder über das Programm oder über Modbus auf die Ausgänge schreiben. Beides funktioniert nicht.


----------

