首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用minimalModbus存储modbus消息

使用minimalModbus存储modbus消息
EN

Stack Overflow用户
提问于 2021-05-03 17:30:01
回答 1查看 63关注 0票数 1

我需要从串行设备写入和读取寄存器。一切正常,但我需要将消息存储在一个变量中。例如:

代码语言:javascript
复制
instrument = minimalmodbus.Instrument("/dev/ttyUSB0", 1, minimalmodbus.MODE_ASCII, debug=True)
instrument.serial.baudrate = 9600
instrument.serial.bytesize = serial.EIGHTBITS
instrument.serial.parity = serial.PARITY_NONE
instrument.serial.stopbits = serial.STOPBITS_ONE
instrument.serial.timeout = 2

r = instrument.read_register(1, functioncode=3)
print(r)

我得到的是

代码语言:javascript
复制
MinimalModbus debug mode. Create serial port /dev/ttyUSB0
MinimalModbus debug mode. Will write to instrument (expecting 15 bytes back): ':010300010001FA\r\n' (3A 30 31 30 33 30 30 30 31 30 30 30 31 46 41 0D 0A)
MinimalModbus debug mode. Clearing serial buffers for port /dev/ttyUSB0
MinimalModbus debug mode. Sleeping 3.71 ms before sending. Minimum silent period: 4.01 ms, time since read: 0.30 ms.
MinimalModbus debug mode. Response from instrument: ':0103020000FA\r\n' (3A 30 31 30 33 30 32 30 30 30 30 46 41 0D 0A) (15 bytes), roundtrip time: 31.7 ms. Timeout for reading: 2000.0 ms.

0

这是正确的;我需要的是将':010300010001FA\r\n'':0103020000FA\r\n'存储在一个变量中,还可能存储预期返回的字节数。我该怎么做呢?我在文档里找不到任何关于这个的东西

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-06 03:56:02

选项1)修改库,将私有函数_communicate中的"answer“变量返回给您的程序。

选项2)将调试日志输出保存到一个变量中,并过滤该变量中的字符串。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67366544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档