dam112 changes

This commit is contained in:
Wolfgang Hottgenroth 2019-07-06 23:27:26 +01:00
parent 2ba9f83569
commit 761a1b35e9
6 changed files with 95 additions and 8 deletions

View File

@ -2,7 +2,7 @@ from pymodbus.client.sync import ModbusSerialClient
import RS485Ext import RS485Ext
import time 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 = ModbusSerialClient(method='rtu')
client.socket = ser client.socket = ser
@ -10,7 +10,7 @@ client.connect()
while True: while True:
try: 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)
print(result.registers) print(result.registers)
except Exception as e: except Exception as e:

21
snippets/test6b.py Normal file
View File

@ -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()

19
snippets/test6c.py Normal file
View File

@ -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()

25
snippets/test6d.py Normal file
View File

@ -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()

21
snippets/test6e.py Normal file
View File

@ -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()

View File

@ -48,11 +48,11 @@ class ModbusRequestDefinition(object):
self.label = label self.label = label
reqs = [ reqs = [
ModbusRequestDefinition(4, 0x2000, 2, 'F', '(ERR) Unavailable device'), # ModbusRequestDefinition(4, 0x2000, 2, 'F', '(ERR) Unavailable device'),
ModbusRequestDefinition(1, 0x2000, 4, 'F', '(ERR) Wrong register size'), # ModbusRequestDefinition(1, 0x2000, 4, 'F', '(ERR) Wrong register size'),
ModbusRequestDefinition(1, 0x2000, 2, 'F', 'Voltage'), # ModbusRequestDefinition(1, 0x2000, 2, 'F', 'Voltage'),
ModbusRequestDefinition(1, 0x2020, 2, 'F', 'Frequency'), # ModbusRequestDefinition(1, 0x2020, 2, 'F', 'Frequency'),
ModbusRequestDefinition(1, 0x2060, 2, 'F', 'Current'), # ModbusRequestDefinition(1, 0x2060, 2, 'F', 'Current'),
ModbusRequestDefinition(3, 0x0004, 2, 'RF', 'Resistance Channel 1'), ModbusRequestDefinition(3, 0x0004, 2, 'RF', 'Resistance Channel 1'),
ModbusRequestDefinition(3, 0x000C, 2, 'RF', 'Temperature Channel 1'), ModbusRequestDefinition(3, 0x000C, 2, 'RF', 'Temperature Channel 1'),
ModbusRequestDefinition(3, 0x0014, 2, 'RF', 'Resistance Channel 2'), ModbusRequestDefinition(3, 0x0014, 2, 'RF', 'Resistance Channel 2'),
@ -69,6 +69,7 @@ client.socket = getSerial()
client.connect() client.connect()
delay = 0.05 delay = 0.05
period = 1.0
while True: while True:
for req in reqs: for req in reqs:
@ -90,7 +91,7 @@ while True:
client.socket = getSerial() client.socket = getSerial()
print("-------------") print("-------------")
time.sleep(10) time.sleep(period)
client.close() client.close()