-> Hier kostenlos registrieren
Ich wünsche allen einen schönen Tag.
Zum ersten Mal in meinem Leben habe ich PFR 200_2eth_rs_3g in meinen Händen.
Ich habe. Eingangsmodul (Slave) mit Adresse 1, Einstellungen 115200 8.1, Nr. Was gut auf den SPS-Master reagiert, habe ich in CodeSys programmiert. Jetzt versuche ich, die Slave-Register mit 200_2eth_rs_3g und eCockpit zu lesen.
PROGRAM ModBus_st
VAR
FbMV_110: FbMbMasterSerial;
afbFrequenzumrichter: ARRAY[0..49] OF FbMbMasterSerial;
xConnect, xIsConnected, xError, xTrigger: BOOL;
tTimeOut: TIME := T#2S;
utQuery: typMbQuery;
utResponse: typMbResponse;
xMessage: BOOL;
sMessage: STRING;
timBlink: ton;
END_VAR
-------------------------------------------------------------------------------
utQuery.bUnitId := 1;
utQuery.bFunctionCode := 3;
utQuery.uiReadAddress := 0;
utQuery.uiReadQuantity := 10;
FbMV_110(
xConnect := xConnect,
I_Port := COM1,
udiBaudrate := 115200,
usiDataBits := 8,
eParity := eTTYParity.None,
eStopBits := eTTYStopBits.One,
eHandshake := eTTYHandshake.None,
ePhysical := eTTYPhysicalLayer.RS485_HalfDuplex,
xIsConnected => xIsConnected,
xError => xError,
oStatus => ,
eFrameType := eMbFrameType.RTU,
tTimeOut := tTimeOut,
utQuery := utQuery,
xTrigger := xTrigger,
utResponse := utResponse);
timBlink(IN := NOT xTrigger, PT := T#500MS); // TON
IF timBlink.Q THEN
xTrigger :=TRUE;
END_IF
Infolgedessen nur Nullen.
Frage.
1 Gibt es ein funktionierendes Beispiel? Master- Slave
2 Gibt es schwerwiegende Fehler in meinem Code?
Danke an alle.Entschuldigung für mein Deutsch.
Zum ersten Mal in meinem Leben habe ich PFR 200_2eth_rs_3g in meinen Händen.
Ich habe. Eingangsmodul (Slave) mit Adresse 1, Einstellungen 115200 8.1, Nr. Was gut auf den SPS-Master reagiert, habe ich in CodeSys programmiert. Jetzt versuche ich, die Slave-Register mit 200_2eth_rs_3g und eCockpit zu lesen.
PROGRAM ModBus_st
VAR
FbMV_110: FbMbMasterSerial;
afbFrequenzumrichter: ARRAY[0..49] OF FbMbMasterSerial;
xConnect, xIsConnected, xError, xTrigger: BOOL;
tTimeOut: TIME := T#2S;
utQuery: typMbQuery;
utResponse: typMbResponse;
xMessage: BOOL;
sMessage: STRING;
timBlink: ton;
END_VAR
-------------------------------------------------------------------------------
utQuery.bUnitId := 1;
utQuery.bFunctionCode := 3;
utQuery.uiReadAddress := 0;
utQuery.uiReadQuantity := 10;
FbMV_110(
xConnect := xConnect,
I_Port := COM1,
udiBaudrate := 115200,
usiDataBits := 8,
eParity := eTTYParity.None,
eStopBits := eTTYStopBits.One,
eHandshake := eTTYHandshake.None,
ePhysical := eTTYPhysicalLayer.RS485_HalfDuplex,
xIsConnected => xIsConnected,
xError => xError,
oStatus => ,
eFrameType := eMbFrameType.RTU,
tTimeOut := tTimeOut,
utQuery := utQuery,
xTrigger := xTrigger,
utResponse := utResponse);
timBlink(IN := NOT xTrigger, PT := T#500MS); // TON
IF timBlink.Q THEN
xTrigger :=TRUE;
END_IF
Infolgedessen nur Nullen.
Frage.
1 Gibt es ein funktionierendes Beispiel? Master- Slave
2 Gibt es schwerwiegende Fehler in meinem Code?
Danke an alle.Entschuldigung für mein Deutsch.
Zuletzt bearbeitet: