Modbus RTU / TCP Twincat 3

eichfl

Level-2
Beiträge
10
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
Ich "darf" mich das erste Mal mit sowohl Modbus TCP und auch Modbus RTU beschäftigen und habe damit noch einige Probleme. Ich hoffe ihr könnt mir helfen.

1) Modbus RTU via EL6021 auf Endress + Hauser Promass Q, der Promass steht auf Werkseinstellungen, die EL 6021 wurde auf 19.2k Baudrate geändert und die die Parität auf 8E1, virtueller Comport ist aus. Ich kriege mit dem FB ModbusRtuMaster_KL6x22B keine funktionierende Verbindung zu stande. Fehlernummern 33 und 37 im FB
Code:
MODBUS_RTU.ReadRegs(UnitID:= 247, //Endress Q300 Standard, kein Offset
Quantity:= 2,
MBAddr:= 2016, //REAL, Offset-1
cbLength:= SIZEOF(UnionAM.WA), //4 Byte
pMemoryAddr:= ADR(UnionAM.WA), 
Execute:= bTriggerRTU, 
Timeout:= T#100MS, 
BUSY=> , 
Error=> bError, 
ErrorId=> iErrorID, 
cbRead=> );
TempQ := UnionAM.RL;

2) Ich würde gerne eine Union verwenden um aus den jeweiligen 2 gelesenen Register ein Real zu bilden. Funktioniert dies so? Die Union ist folgendermassen deklariert:
Code:
TYPE Union_AM :
UNION
WA: ARRAY [0..1] OF WORD;
RL:		REAL;
END_UNION
END_TYPE

Merci für Eure Hilfe,
Florian
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Guga,
Merci für die Antwort. Physikalisch war's richtig. Nach dem deaktivieren des CoE 4075:06 Enable Transferrate Optimization funktioniert es nun (dieser war standardmässig TRUE.)
Thema ist erledigt, danke!
 
Zurück
Oben