From 761a1b35e94635d50a62f4d5f44935735aabe776 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Sat, 6 Jul 2019 23:27:26 +0100 Subject: [PATCH] dam112 changes --- snippets/test6.py | 4 ++-- snippets/test6b.py | 21 +++++++++++++++++++++ snippets/test6c.py | 19 +++++++++++++++++++ snippets/test6d.py | 25 +++++++++++++++++++++++++ snippets/test6e.py | 21 +++++++++++++++++++++ snippets/test7.py | 13 +++++++------ 6 files changed, 95 insertions(+), 8 deletions(-) create mode 100644 snippets/test6b.py create mode 100644 snippets/test6c.py create mode 100644 snippets/test6d.py create mode 100644 snippets/test6e.py diff --git a/snippets/test6.py b/snippets/test6.py index 6d7f3e9..4bcddef 100644 --- a/snippets/test6.py +++ b/snippets/test6.py @@ -2,7 +2,7 @@ from pymodbus.client.sync import ModbusSerialClient import RS485Ext import time -ser=RS485Ext.RS485Ext(port='/dev/ttyAMA0', baudrate=1200, stopbits=2) +ser=RS485Ext.RS485Ext(port='/dev/ttyAMA0', baudrate=9600, stopbits=1) client = ModbusSerialClient(method='rtu') client.socket = ser @@ -10,7 +10,7 @@ client.connect() while True: try: - result = client.read_holding_registers(address=0x2000, count=2, unit=1) + result = client.read_holding_registers(address=0x9c42, count=1, unit=1) print(result) print(result.registers) except Exception as e: diff --git a/snippets/test6b.py b/snippets/test6b.py new file mode 100644 index 0000000..505dd97 --- /dev/null +++ b/snippets/test6b.py @@ -0,0 +1,21 @@ +from pymodbus.client.sync import ModbusSerialClient +import RS485Ext +import time + +ser=RS485Ext.RS485Ext(port='/dev/ttyAMA0', baudrate=1200, stopbits=1) + +client = ModbusSerialClient(method='rtu') +client.socket = ser +client.connect() + +try: + result = client.read_holding_registers(address=0x9c48, count=1, unit=4) + # result = client.read_discrete_inputs(address=0x0000, count=1, unit=4) + print(result) + print(result.registers) + # print(result.bits) +except Exception as e: + print("ERROR: %s" % str(e)) + +client.close() + diff --git a/snippets/test6c.py b/snippets/test6c.py new file mode 100644 index 0000000..9417764 --- /dev/null +++ b/snippets/test6c.py @@ -0,0 +1,19 @@ +from pymodbus.client.sync import ModbusSerialClient +import RS485Ext +import time + +ser=RS485Ext.RS485Ext(port='/dev/ttyAMA0', baudrate=1200, stopbits=1) + +client = ModbusSerialClient(method='rtu') +client.socket = ser +client.connect() + +try: + # result = client.write_register(address=0x0000, unit=4, value=1) + result = client.write_coil(address=0x0000, unit=4, value=1) + print(result) +except Exception as e: + print("ERROR: %s" % str(e)) + +client.close() + diff --git a/snippets/test6d.py b/snippets/test6d.py new file mode 100644 index 0000000..ca6eb54 --- /dev/null +++ b/snippets/test6d.py @@ -0,0 +1,25 @@ +from pymodbus.client.sync import ModbusSerialClient +import RS485Ext +import time + +ser=RS485Ext.RS485Ext(port='/dev/ttyAMA0', baudrate=1200, stopbits=1) + +client = ModbusSerialClient(method='rtu') +client.socket = ser +client.connect() + +v = 0 +while True: + if v == 0: + v = 1 + else: + v = 0 + try: + result = client.write_coil(address=0x0000, unit=4, value=v) + print(result) + except Exception as e: + print("ERROR: %s" % str(e)) + time.sleep(0.5) + +client.close() + diff --git a/snippets/test6e.py b/snippets/test6e.py new file mode 100644 index 0000000..1038ad8 --- /dev/null +++ b/snippets/test6e.py @@ -0,0 +1,21 @@ +from pymodbus.client.sync import ModbusSerialClient +import RS485Ext +import time + +ser=RS485Ext.RS485Ext(port='/dev/ttyAMA0', baudrate=1200, stopbits=1) + +client = ModbusSerialClient(method='rtu') +client.socket = ser +client.connect() + +while True: + try: + result = client.read_discrete_inputs(address=0x0000, count=1, unit=4) + print(result) + print(result.bits) + except Exception as e: + print("ERROR: %s" % str(e)) + time.sleep(0.5) + +client.close() + diff --git a/snippets/test7.py b/snippets/test7.py index 1dd64b9..86a17d2 100644 --- a/snippets/test7.py +++ b/snippets/test7.py @@ -48,11 +48,11 @@ class ModbusRequestDefinition(object): self.label = label reqs = [ - ModbusRequestDefinition(4, 0x2000, 2, 'F', '(ERR) Unavailable device'), - ModbusRequestDefinition(1, 0x2000, 4, 'F', '(ERR) Wrong register size'), - ModbusRequestDefinition(1, 0x2000, 2, 'F', 'Voltage'), - ModbusRequestDefinition(1, 0x2020, 2, 'F', 'Frequency'), - ModbusRequestDefinition(1, 0x2060, 2, 'F', 'Current'), +# ModbusRequestDefinition(4, 0x2000, 2, 'F', '(ERR) Unavailable device'), +# ModbusRequestDefinition(1, 0x2000, 4, 'F', '(ERR) Wrong register size'), +# ModbusRequestDefinition(1, 0x2000, 2, 'F', 'Voltage'), +# ModbusRequestDefinition(1, 0x2020, 2, 'F', 'Frequency'), +# ModbusRequestDefinition(1, 0x2060, 2, 'F', 'Current'), ModbusRequestDefinition(3, 0x0004, 2, 'RF', 'Resistance Channel 1'), ModbusRequestDefinition(3, 0x000C, 2, 'RF', 'Temperature Channel 1'), ModbusRequestDefinition(3, 0x0014, 2, 'RF', 'Resistance Channel 2'), @@ -69,6 +69,7 @@ client.socket = getSerial() client.connect() delay = 0.05 +period = 1.0 while True: for req in reqs: @@ -90,7 +91,7 @@ while True: client.socket = getSerial() print("-------------") - time.sleep(10) + time.sleep(period) client.close()