-> 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
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:
Merci für Eure Hilfe,
Florian
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