-> Hier kostenlos registrieren
Hallo zusammen,
ich habe ein eigenartiges Problem beim Datenaustausch zwischen einer Siemens S7 1511 (6ES7511-1AK02-0AB0) und einer B&R CP1484 via ModbusTCP.
Die Siemens ist mein Modbus-Server und stellt das Halteregister zur Verfügung. Die B&R ist der Client und liest das Ganze aus. Der Server läuft auf der Siemens ohne Fehler.
Bei der CP1484 hab ich mir einen ModbusTCP_any auf die Ethernet-Schnittstelle gezogen und das Ganze konfiguriert. Testhalber hab ich mir 3 Datenpunkte angelegt und es funktionierte auf Anhieb. Die Verbindung steht und ich bekomme die Werte flüssig in Echtzeit angezeigt.
Nun kommen wir zu meinem Problem, ich wollte den Modbus-Datenpunkten Variablen zuordnen, damit ich in nem kleinen Programm die Dateiformate umwandeln und vorteilhafter anzeigen lassen kann. DINT_to_real, den Wert geteilt durch 10 usw.
Doch wenn ich dem Datenpunkt eine Prozessvariable zuordne, dann wird mir zwar weiterhin am Datenpunkt der sich verändernde Echtzeitwert angezeigt, auf die Variable wird aber nur einmal ein Wert geschrieben und der verändert sich dann auch nicht mehr.
Im Programm wird das Ganze auch komplett ignoriert und es wird nichts abgearbeitet. Es funktioniert noch nichtmal eine einfache If-Anweisung wie (wenn Wert > als 100 dann Ausgang1 ist True) Da wird nichts auf True gesetzt obwohl der Wert über 100 ist. Dieses Phänomen tritt unabhängig davon auf, ob ich Globale oder lokale Variablen verwende. Da fehlt doch bestimmt nur irgendwo ein Haken oder sowas? Kann mir da evtl. jemand weiterhelfen?
ich habe ein eigenartiges Problem beim Datenaustausch zwischen einer Siemens S7 1511 (6ES7511-1AK02-0AB0) und einer B&R CP1484 via ModbusTCP.
Die Siemens ist mein Modbus-Server und stellt das Halteregister zur Verfügung. Die B&R ist der Client und liest das Ganze aus. Der Server läuft auf der Siemens ohne Fehler.
Bei der CP1484 hab ich mir einen ModbusTCP_any auf die Ethernet-Schnittstelle gezogen und das Ganze konfiguriert. Testhalber hab ich mir 3 Datenpunkte angelegt und es funktionierte auf Anhieb. Die Verbindung steht und ich bekomme die Werte flüssig in Echtzeit angezeigt.
Nun kommen wir zu meinem Problem, ich wollte den Modbus-Datenpunkten Variablen zuordnen, damit ich in nem kleinen Programm die Dateiformate umwandeln und vorteilhafter anzeigen lassen kann. DINT_to_real, den Wert geteilt durch 10 usw.
Doch wenn ich dem Datenpunkt eine Prozessvariable zuordne, dann wird mir zwar weiterhin am Datenpunkt der sich verändernde Echtzeitwert angezeigt, auf die Variable wird aber nur einmal ein Wert geschrieben und der verändert sich dann auch nicht mehr.
Im Programm wird das Ganze auch komplett ignoriert und es wird nichts abgearbeitet. Es funktioniert noch nichtmal eine einfache If-Anweisung wie (wenn Wert > als 100 dann Ausgang1 ist True) Da wird nichts auf True gesetzt obwohl der Wert über 100 ist. Dieses Phänomen tritt unabhängig davon auf, ob ich Globale oder lokale Variablen verwende. Da fehlt doch bestimmt nur irgendwo ein Haken oder sowas? Kann mir da evtl. jemand weiterhelfen?