Janitza UMG 604E Mains-analysis device, Mains analyser CAT III 300 V 52.16.002 Benutzerhandbuch
Produktcode
52.16.002
Jasic-Hilfe
96
READ_MODBUS_UDP
Liest einen Modbusslave (Modbus TCP(UDP)) über das Ethernet aus.
Syntax:
record modbus_rec = (int,error) (String,hostname$) (int,dport) (int,sport) (int,addr)
(int,fcode) (int,index) (HFLOAT,daten) ...
(int,fcode) (int,index) (HFLOAT,daten) ...
call read_modbus_UDP modbus_rec
Error: 0 wenn kein Fehler aufgetreten ist; kleiner 0 ist ein spezieller Fehlercode aus dem
Modbus (Function code hat Bit 7 gesätzt); größer Null -> Anzahl der erwarteten Bytes
Modbus (Function code hat Bit 7 gesätzt); größer Null -> Anzahl der erwarteten Bytes
String: Hostname oder IP-Adresse des Slaves
dPort: Modbusport des Slaves (normalerweise 502)
sPort: wird vom Gerät gesetzt und liefert den Port des Masters zurück (zwischen 2000 + Jasic
Tasknummer)
Tasknummer)
timeout: Timeout im msec (im lokalen Netz 200msec / im Internet 2000msec)
addr:Adresse des Slaves
fcode: Modbus Functioncode
index: Index innerhalb des Slaves, ab dem die Daten gelesen werden sollen
daten: Die Nutzdaten, der vorangestellte Typ ist die Formatanweisung (Byteorder) im
Modbustelegramm. Die verschiedenen Typen sind unter dem Record-Befehl beschrieben.
Modbustelegramm. Die verschiedenen Typen sind unter dem Record-Befehl beschrieben.
Beispiel:
record jsv_003a = (int,error) (String,hostname$) (int,dport)
(int,sport) (int,addr) (int,fcode) (int,index) (HFLOAT,a)
(HFLOAT,b)
(int,sport) (int,addr) (int,fcode) (int,index) (HFLOAT,a)
(HFLOAT,b)
rem Modbus-Read-Record aufbauen
jsv_003a.hostname$ = "192.168.2.203"
jsv_003a.dport = 502
jsv_003a.sport = 0
jsv_003a.addr = 2
jsv_003a.fcode = 3
jsv_003a.index = 31000
call read_modbus_udp jsv_003a