我做的事情有点不同…ModbusTCP而不是ModbusRTU…但是我已经找到了如何让它返回不同的值,我想这正是你想要的(getValues/setValues)。干得好。。。在from pymodbus.server.async import StartTcpServer
from pymodbus.datastore import ModbusSequentialDataBlock
from pymodbus.datastore import ModbusSlaveContext, ModbusServerContext
import sys
import logging
from twisted.internet.task import LoopingCall
logging.basicConfig()
log = logging.getLogger()
log.setLevel(logging.DEBUG)
def getModbusSlaveContext():
hr_block = ModbusSequentialDataBlock(0, [9999 for x in range(10000)])
return ModbusSlaveContext(hr=hr_block)
def incdecvalues(valuelist):
lengthOfList = len(valuelist)
for counter in range(lengthOfList):
if counter % 2:
valuelist[counter]+=1
#else:
# valuelist[counter]+=-1
def updatevalues(a):
context