changes for xy-md02
This commit is contained in:
parent
75ddb6069a
commit
756ba2175d
@ -2,14 +2,16 @@ from pymodbus.client.sync import ModbusSerialClient
|
|||||||
import RS485Ext
|
import RS485Ext
|
||||||
import time
|
import time
|
||||||
|
|
||||||
ser=RS485Ext.RS485Ext(port='/dev/ttyAMA0', baudrate=1200, stopbits=1)
|
ser=RS485Ext.RS485Ext(port='/dev/ttyAMA0', baudrate=9600, stopbits=1)
|
||||||
|
|
||||||
client = ModbusSerialClient(method='rtu')
|
client = ModbusSerialClient(method='rtu')
|
||||||
client.socket = ser
|
client.socket = ser
|
||||||
client.connect()
|
client.connect()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
result = client.read_holding_registers(address=0x9c48, count=1, unit=4)
|
result = client.read_holding_registers(address=0x9c43, count=1, unit=4)
|
||||||
|
# result = client.read_holding_registers(address=0x0102, count=1, unit=5)
|
||||||
|
# result = client.read_input_registers(address=0x0002, count=1, unit=5)
|
||||||
# result = client.read_discrete_inputs(address=0x0000, count=1, unit=4)
|
# result = client.read_discrete_inputs(address=0x0000, count=1, unit=4)
|
||||||
print(result)
|
print(result)
|
||||||
print(result.registers)
|
print(result.registers)
|
||||||
|
@ -2,15 +2,15 @@ from pymodbus.client.sync import ModbusSerialClient
|
|||||||
import RS485Ext
|
import RS485Ext
|
||||||
import time
|
import time
|
||||||
|
|
||||||
ser=RS485Ext.RS485Ext(port='/dev/ttyAMA0', baudrate=1200, stopbits=1)
|
ser=RS485Ext.RS485Ext(port='/dev/ttyAMA0', baudrate=9600, stopbits=1)
|
||||||
|
|
||||||
client = ModbusSerialClient(method='rtu')
|
client = ModbusSerialClient(method='rtu')
|
||||||
client.socket = ser
|
client.socket = ser
|
||||||
client.connect()
|
client.connect()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# result = client.write_register(address=0x0000, unit=4, value=1)
|
result = client.write_register(address=0x9c47, unit=4, value=0x8000)
|
||||||
result = client.write_coil(address=0x0000, unit=4, value=1)
|
# result = client.write_coil(address=0x0000, unit=4, value=1)
|
||||||
print(result)
|
print(result)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print("ERROR: %s" % str(e))
|
print("ERROR: %s" % str(e))
|
||||||
|
@ -54,16 +54,18 @@ reqs = [
|
|||||||
# 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('H', 3, 0x0004, 2, 'RF', 'Resistance Channel 1'),
|
# ModbusRequestDefinition('H', 3, 0x0004, 2, 'RF', 'Resistance Channel 1'),
|
||||||
ModbusRequestDefinition('H', 3, 0x000C, 2, 'RF', 'Temperature Channel 1'),
|
# ModbusRequestDefinition('H', 3, 0x000C, 2, 'RF', 'Temperature Channel 1'),
|
||||||
ModbusRequestDefinition('H', 3, 0x0014, 2, 'RF', 'Resistance Channel 2'),
|
# ModbusRequestDefinition('H', 3, 0x0014, 2, 'RF', 'Resistance Channel 2'),
|
||||||
ModbusRequestDefinition('H', 3, 0x001C, 2, 'RF', 'Temperature Channel 2'),
|
# ModbusRequestDefinition('H', 3, 0x001C, 2, 'RF', 'Temperature Channel 2'),
|
||||||
ModbusRequestDefinition('D', 4, 0x0000, 1, '', 'Discrete Input'),
|
ModbusRequestDefinition('D', 4, 0x0000, 1, '', 'Discrete Input'),
|
||||||
|
ModbusRequestDefinition('I', 5, 0x0001, 1, '', 'Temperature'),
|
||||||
|
ModbusRequestDefinition('I', 5, 0x0002, 1, '', 'Humidity'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
def getSerial():
|
def getSerial():
|
||||||
return RS485Ext.RS485Ext(port='/dev/ttyAMA0', baudrate=1200, stopbits=1,
|
return RS485Ext.RS485Ext(port='/dev/ttyAMA0', baudrate=9600, stopbits=1,
|
||||||
timeout=1)
|
timeout=1)
|
||||||
|
|
||||||
client = ModbusSerialClient(method='rtu')
|
client = ModbusSerialClient(method='rtu')
|
||||||
@ -71,7 +73,7 @@ client.socket = getSerial()
|
|||||||
client.connect()
|
client.connect()
|
||||||
|
|
||||||
delay = 0.05
|
delay = 0.05
|
||||||
period = 1.0
|
period = 0.5
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
for req in reqs:
|
for req in reqs:
|
||||||
@ -94,6 +96,13 @@ while True:
|
|||||||
if type(result) in [ExceptionResponse, ModbusIOException]:
|
if type(result) in [ExceptionResponse, ModbusIOException]:
|
||||||
raise ModbusException(result)
|
raise ModbusException(result)
|
||||||
print("{0}: {1!s}".format(req.label, result.bits))
|
print("{0}: {1!s}".format(req.label, result.bits))
|
||||||
|
elif req.kind == 'I':
|
||||||
|
result = client.read_input_registers(address=req.address,
|
||||||
|
count=req.count,
|
||||||
|
unit=req.unit)
|
||||||
|
if type(result) in [ExceptionResponse, ModbusIOException]:
|
||||||
|
raise ModbusException(result)
|
||||||
|
print("{0}: {1}".format(req.label, result.registers))
|
||||||
except ModbusException as e:
|
except ModbusException as e:
|
||||||
print("ERROR when querying '{0}': {1!s}".format(req.label, e))
|
print("ERROR when querying '{0}': {1!s}".format(req.label, e))
|
||||||
if client.socket is None:
|
if client.socket is None:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user