Digitalen Ausgang (%QX) via Modbus setzen funktioniert nicht

Sprocky

Level-1
Beiträge
29
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen!
Hier mal wieder eine Frage einen Modbus DAU ...
Ich möchte via Modbus den einen digitalen Ausgang lesen (Status abfragen) und setzen. In meinem Beispiel den %QX8.11 auf Adresse 523 laut Modbus-Master... Auslesen funktioniert auch wunderbar. Allerdings widersetzt sich die "Wago" jedem Schreibversuch. Schreiben in einen %MX funktioniert problemlos...

Im Modbus-Master habe ich auch den Zugriff auf "schreibend" gesetzt...

Wo liege ich mal wieder falsch?

DANKE
 
Moin,

kann es sein, daß das Programm des Controllers zyklisch auf den Ausgang schreibt? Dann hat das Schreiben via Modbus natürlich keine dauerhafte Wirkung.
Im Übrigen ist solches direktes Schalten von Ausgängen via Netzwerk ein sehr schlechter Programmierstil - beschreibe besser einen Merker und verknüpfe den zum Ausgang.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

gib mal mehr Informationen. Wer kommuniziert da mit wem etc.

z.B.

1) Master A (Controller 750-880) -> Slave B (Koppler 750-352) mit Ausgangskarte
2) Master C (Controller 750-880) -> Slave D (Controller 750-880) mit Ausgangskarte

Wenn Du einen Controller einsetzt (2), im Gegensatz zum Koppler (1), kannst Du nicht direkt einen Ausgang über Modbus setzen. Dazu muß der Ausgang in der Steuerungskonfiguration auf Kontrolle über den Feldbus (Modbus) eingestellt sein. Oder Du mußt im Controller den Befehl entgegennehmen und der Controller seztz den Ausgang.

Gruß
 
Hallo!
Vielen Dank für die stilsichere ;-) Antwort und den hilfreichen Hinweis. Werde ich berücksichtigen.

DANKE
Sprocky
 
Guten Tag die Herren,

ich habe so ein ähnliches Problem. Ich möchte auch über Modbus einen Merker setzen und diesen dann über die Steuerung auswerten.
In meinem Fall will ich den Merker %MW0 setzen, diesen steuere ich über die Adresse 12288, wie in der Doku beschrieben an. Anschließend möchte ich, dass dieser Merker einen Wert auf eine Variable schreibt, die ich dann anschließend in meiner Steuerung auswerten kann. Mein Problem ist das der Merker erst gar nicht gesetzt wird und ich weiß auch nicht, wie ich ihn anschließend in meiner Steuerung benutzen kann.

Ich habe ein Zuweisung wie folgt in ST geschrieben:
%QW0 := %MW0

demnach müsste ich doch %MW0 beschreiben können und dieser Wert wird anschließend in %QW0 geschrieben!?

Controller:
  • 750-841; FW21
Module:
  • 2x 750-402
  • 1x 750-501
  • 2x 750-502
Codesys:
  • v2.3.9.49
Projekt:
Anhang anzeigen Torsteuerung.zip
 
Zurück
Oben