pymodbus数据_Pymodbus RTU服务器处理请求

本文档介绍了如何使用Pymodbus库创建一个ModbusRTU服务器,初始化数据块并设置递增/递减功能。通过示例代码展示了如何更新寄存器值,特别是处理从3001开始的10000个保持寄存器,每隔2秒递增。然而,遇到的问题是当尝试设置负整数值时,Pymodbus会抛出错误。
摘要由CSDN通过智能技术生成

我做的事情有点不同…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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值