eYe
Level-1
- Beiträge
- 759
- Reaktionspunkte
- 80
-> Hier kostenlos registrieren
Mit folgendem Quelltext versuche ich Daten aus einem Slave über Modbus auszulesen.
IF NOT %MW4100.0 THEN
READ_VAR(ADDR('0.3.1.1');'%MW',0,40,%MW4100:4,%MW4200:40);
%MW4102:=5; %MW4103:=80;
END_IF;
Ich kann in der Kommunikationsübersicht des verwendeten Slave sehen, dass die Kommunikation soweit steht. Es wir eine Zykluszeit von ~130ms angegeben und er erkennt auch das ich ab Register 0 die Anzahl von 40 Wörtern lesen möchte. Laut Hersteller sollte damit alles in Ordnung sein.
Ich habe nun aber das Problem, das ich leider keinen Wert übertragen bekomme. In den Wörter 4200 und folgend steht überall 0 drinne.
(Unter anderem sollte dort zum Beispiel die Uhrzeit des Slave drinne stehen...)
In Unity Pro wird mir keine Fehlermeldung angegeben, die PCMCIA Karte in Kanal 1 blinkt vor sich hin und es erscheint auch keine Fehlermeldung in den Berichtswörtern. In den Wörter für den Betriebsbericht und den Kommunikationsbericht steht dauerhaft null drinne.
Nur die Austauschnummer wird fortlaufend hochgezählt und das Aktivitätsbit steht dauerhaft auf eins.
Ich habe anhand einer Flankenerkennung einen Zähler gebaut welcher allerdings nur bei Neustart der Anlage einmal auf 1 zählt und diesen Wert hält, sprich das Aktivitätsbit wird anscheinend nicht getoggled...
Ich würde mich sehr freuen wenn mir jemand ein paar Lösungsvorschläge unterbreiten könnte
Greetz, eYe
IF NOT %MW4100.0 THEN
READ_VAR(ADDR('0.3.1.1');'%MW',0,40,%MW4100:4,%MW4200:40);
%MW4102:=5; %MW4103:=80;
END_IF;
Ich kann in der Kommunikationsübersicht des verwendeten Slave sehen, dass die Kommunikation soweit steht. Es wir eine Zykluszeit von ~130ms angegeben und er erkennt auch das ich ab Register 0 die Anzahl von 40 Wörtern lesen möchte. Laut Hersteller sollte damit alles in Ordnung sein.
Ich habe nun aber das Problem, das ich leider keinen Wert übertragen bekomme. In den Wörter 4200 und folgend steht überall 0 drinne.
(Unter anderem sollte dort zum Beispiel die Uhrzeit des Slave drinne stehen...)
In Unity Pro wird mir keine Fehlermeldung angegeben, die PCMCIA Karte in Kanal 1 blinkt vor sich hin und es erscheint auch keine Fehlermeldung in den Berichtswörtern. In den Wörter für den Betriebsbericht und den Kommunikationsbericht steht dauerhaft null drinne.
Nur die Austauschnummer wird fortlaufend hochgezählt und das Aktivitätsbit steht dauerhaft auf eins.
Ich habe anhand einer Flankenerkennung einen Zähler gebaut welcher allerdings nur bei Neustart der Anlage einmal auf 1 zählt und diesen Wert hält, sprich das Aktivitätsbit wird anscheinend nicht getoggled...
Ich würde mich sehr freuen wenn mir jemand ein paar Lösungsvorschläge unterbreiten könnte
Greetz, eYe