Janitza UMG 604E Mains-analysis device, Mains analyser CAT III 300 V 52.16.002 Benutzerhandbuch
Produktcode
52.16.002
Programmiersprache Jasic
125
WRITE_MODBUS_UDP
Beschreibt einen Modbusslave (Modbus TCP(UDP)) über das Ethernet .
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 write_modbus_UDP modbus_rec
Error: 0 wenn kein Fehler aufgetreten ist; kleiner 0 ist ein spezieller Modbus-Fehlercode
(Function code hat Bit 7 gesätzt); größer Null -> Anzahl der erwarteten Bytes
(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 in 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_006a = (int,error) (String,hostname$) (int,port)
(int,addr) (int,fcode) (int,index) (HFLOAT,a)
(int,addr) (int,fcode) (int,index) (HFLOAT,a)
jsv_006a.hostname$ = "192.168.2.203"
jsv_006a.dport = 502
jsv_006a.sport = 0
jsv_006a.addr = 2
jsv_006a.fcode = 16
jsv_006a.index = 31000
jsv_006a.a = 10
call write_modbus_udp jsv_006a