-> Hier kostenlos registrieren
Ich habe ein Problem mit dem Auslesen der Daten von einer WAGO-Station über Modbus:
Wenn ich die Globalen Variablen (CoDeSys-Programm) mit einer festen Adresse vereinbare
(Beispiel:
varname : %IW300;
varname : %QI400;
varname : %MD300;
)
kann ich die Daten auslesen (mit den Funktionen FC1 ReadCoils, FC3 Read Holding Register...)
mit den auf Word-Grenze umgerechneten Adressen.
Wenn ich aber die Variable ohne Adresse definieren (varname : INT,
steht in der Symboltafel als Adresse Werte wie 16702 oder 34807)
Beispiel:
.xBE_HVTE_Aussenbel_Ein:BOOL:4:34807:1:b:16#02000040
.iTestINT1:INT:4:16702:2:b:16#02000040
(Die Variablen sind mit Datasegment 4 bezeichnet!)
Diese Adresse kann ich nicht auslesen, es kommt immer eine Exception.
Ich habe auch mit einem Program den ganzen Adressbereich 0-65000 ausgelesen, aber die
definierten Daten nicht gefunden.
Aber mit einen OPC-Demo-Client (Softing) kann die Variablen sehen und auch verändern,
dass heißt, sie müssen vorhanden und auch zugreifbar sein!
Kann mir da einer einen Tip geben ?
Wenn ich die Globalen Variablen (CoDeSys-Programm) mit einer festen Adresse vereinbare
(Beispiel:
varname : %IW300;
varname : %QI400;
varname : %MD300;
)
kann ich die Daten auslesen (mit den Funktionen FC1 ReadCoils, FC3 Read Holding Register...)
mit den auf Word-Grenze umgerechneten Adressen.
Wenn ich aber die Variable ohne Adresse definieren (varname : INT,
steht in der Symboltafel als Adresse Werte wie 16702 oder 34807)
Beispiel:
.xBE_HVTE_Aussenbel_Ein:BOOL:4:34807:1:b:16#02000040
.iTestINT1:INT:4:16702:2:b:16#02000040
(Die Variablen sind mit Datasegment 4 bezeichnet!)
Diese Adresse kann ich nicht auslesen, es kommt immer eine Exception.
Ich habe auch mit einem Program den ganzen Adressbereich 0-65000 ausgelesen, aber die
definierten Daten nicht gefunden.
Aber mit einen OPC-Demo-Client (Softing) kann die Variablen sehen und auch verändern,
dass heißt, sie müssen vorhanden und auch zugreifbar sein!
Kann mir da einer einen Tip geben ?