-> Hier kostenlos registrieren
Hallo,
ich habe wiedermal ein Problem mit meiner RS232 Kommunikation
In einem dauerhaft aufgerufenem Programm (namens Datenuebertragung)benutze ich die FBs SendString und ReceiveString.
Dieses Programm wird dann von einer Ablaufsteuerung bedient:
Zuerst sende ich in einem Schritt einen Befehl. Bevor der nächste Schritt abgearbeitet werden kann muss ich nun erst eine Antwort des RS232 Gerätes abwarten. Dazu wollte ich die boolsche Ausgangsvariable ReceivedString des FBs ReceiveString als Transition verwenden. Also nur wenn Datenuebertragung.ReceivedString TRUE ist solls weiter gehen. Das will aber nicht finkionieren. Die Schrittkette hängt vor dieser Transition fest.
Dabei wird ReceivedString aber TRUE. Sonst würde der ReceiveCounter im Programm Datenuebertragung ja nicht funktionieren:
IF ReceivedString THEN
ReceiveCounter := ReceiveCounter + 1;
END_IF
Das versteh ich nicht ganz...
Wieso kann ich diese Variable nicht als Transition in der Ablaufsteuerung verwenden?
mfg
ich habe wiedermal ein Problem mit meiner RS232 Kommunikation
In einem dauerhaft aufgerufenem Programm (namens Datenuebertragung)benutze ich die FBs SendString und ReceiveString.
Dieses Programm wird dann von einer Ablaufsteuerung bedient:
Zuerst sende ich in einem Schritt einen Befehl. Bevor der nächste Schritt abgearbeitet werden kann muss ich nun erst eine Antwort des RS232 Gerätes abwarten. Dazu wollte ich die boolsche Ausgangsvariable ReceivedString des FBs ReceiveString als Transition verwenden. Also nur wenn Datenuebertragung.ReceivedString TRUE ist solls weiter gehen. Das will aber nicht finkionieren. Die Schrittkette hängt vor dieser Transition fest.
Dabei wird ReceivedString aber TRUE. Sonst würde der ReceiveCounter im Programm Datenuebertragung ja nicht funktionieren:
IF ReceivedString THEN
ReceiveCounter := ReceiveCounter + 1;
END_IF
Das versteh ich nicht ganz...
Wieso kann ich diese Variable nicht als Transition in der Ablaufsteuerung verwenden?
mfg