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 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:

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