社区首页 >问答首页 >如何通过IME修复无法解码响应的PyModbus - IF96015接口错误

如何通过IME修复无法解码响应的PyModbus - IF96015接口错误
EN

Stack Overflow用户
提问于 2018-10-20 06:35:49
回答 3查看 2.1K关注 0票数 2

我有一个PyModbus运行在一个覆盆子PI 3b。我有Nemo 96HD数字万用表的IF96015以太网接口。当我试图通过ModbusTCP通过PyModbus控制台连接到它时,我可以问它是否已连接,它说的是“真”,但我无法从其中读取任何数据。

根据手册,第一个使用的地址是301,当我尝试阅读.Coil()时,我得到:

代码语言:javascript
代码运行次数:0
复制
"original_function_code": "1 (0x1)", 
"error": "[Input/Output] No Response received from the remote unit/Unable to decode response"

打开控制台:

代码语言:javascript
代码运行次数:0
复制
pymodbus.console tcp --host 192.168.178.200 --port 502

检查连接:

代码语言:javascript
代码运行次数:0
复制
client.connect

试着阅读线圈:

代码语言:javascript
代码运行次数:0
复制
client.read_coils address 301 count 1

输出:

代码语言:javascript
代码运行次数:0
复制
"original_function_code": "1 (0x1)", 
"error": "[Input/Output] Modbus Error: [Invalid Message] Incomplete message received, expected at least 8 bytes (0 received)"

注意事项

IF96015手册

1

2

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-04-24 23:07:44

我已经找到了解决这个问题的办法。问题在于单元ID的默认值。在供应商网站中可以找到的手册显示了一个示例Modbus数据包格式,其中单元ID值设置为"1“。

但是单元ID的工厂设置为"255“。您可以在菜单中更改默认地址,密码3002。现在,我可以使用以下Python代码读取值:

代码语言:javascript
代码运行次数:0
复制
message = tcp.read_holding_registers(slave_id=255, starting_address=0x1000, quantity=6)
response = tcp.send_message(message, sock)
票数 0
EN

Stack Overflow用户

发布于 2018-10-20 22:13:19

每个Modbus从服务器都有一个unit_ID,因此您需要在.read_coil()方法上添加这一点。

在许多情况下,unit参数在Modbus从侧作为缺省值等于1

下面是一个示例(Modbus客户端):

代码语言:javascript
代码运行次数:0
复制
pymodbus.console tcp --host 192.168.178.200 --port 502
client.connect
client.read_coils address=301 count=1 unit=1

下面是使用.read_holding_registers()及其解码器进行多次读取的另一个示例:

代码语言:javascript
代码运行次数:0
复制
client.read_holding_registers count=4 address=9 unit=1
{
    "registers": [
        60497,
        47134,
        34091,
        15424
    ]
}


result.raw
{
    "registers": [
        15626,
        55203,
        28733,
        18368
    ]
}

result.decode word_order=little byte_order=little formatters=float64
28.17

注意事项

  • read_coil()读/写数字值(1位)
  • read_holding_registers()读/写模拟值(16位)
  • 有些地址是十六进制(可能是0x301而不是301)
  • 每次争论之后不要忘记= (count=1而不是count 1)
票数 1
EN

Stack Overflow用户

发布于 2019-01-27 10:07:37

在手册2中,地址是0x301十六进制。试试client.read_coils address = 769 count = 1。地址应该以十进制格式给出(十六进制0x301 = dec 769)。

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

https://stackoverflow.com/questions/52906770

复制
相关文章
约束文件有哪些
对于一个完整的FPGA设计,既要有时序约束,也要有物理约束(例如:管脚分配与管脚电平设置)。Xilinx建议将这两类约束分开写在不同的约束文件中。此外,考虑到某些设计中可能会用到手工布局,从而会有相应的Floorplan约束(对应Pblock,可理解为面积约束)。同时,在大多数情形下都需要对FPGA设计进行调试,这样就会用到ILA,同时需要对相应的net设置MARK_DEBUG属性,这可理解为第三种约束即调试约束。因此一个完备的约束会包含时序约束、物理约束和调试约束,如下图所示。
Lauren的FPGA
2020/04/27
2.1K0
如何在Ubuntu 16.04上使用Apache或Nginx加密Tomcat 8连接
Apache Tomcat是一个Web服务器和servlet容器,旨在为Java应用程序提供服务。Tomcat经常用于生产企业部署和较小的应用程序需求,既灵活又强大。
信姜缘
2018/09/26
1.8K0
JS混淆加密,该使用哪些配置选项?
JS混淆加密工具,通常有众多的加密选项。比如,著名的JShaman,中文版有十余种配置选项、英文则有二十余种配置。
用户8703799
2023/07/13
2810
位运算符有哪些_或运算和异或运算
位运算符的计算主要用在二进制中。 实际开发中也经常会遇到需要用到这些运算符的时候,同时这些运算符也被作为基础的面试笔试题。 所以了解这些运算符对程序员来说是十分必要的。 于此,记录下我所理解的运算符:
全栈程序员站长
2022/11/07
5460
AAAI 2020上的NLP有哪些研究风向?
距离 AAAI 2020开幕还有不到一个月的时间,但有些话、有些文章却需要我们注意。
AI科技评论
2020/02/21
1.6K0
AAAI 2020上的NLP有哪些研究风向?
Dubbo 的使用场景有哪些?
Dubbo是一个高性能、轻量级的Java RPC远程通讯框架,它主要用于分布式服务架构中,解决了服务之间的远程调用问题。以下是Dubbo的主要使用场景:
疯狂的KK
2023/05/01
1.6K0
Dubbo 的使用场景有哪些?
在 BizTalk Server 2004 SP2 中存档和清除 BizTalk 跟踪数据库
在 Biztalk Server 2004 SP2 中存档和清除 Biztalk 跟踪数据库 发布日期: 2006年09月19日 小结:本白皮书介绍如何配置 Biztalk Server 2004 SP2,以利用自动存档和清除 Biztalk 跟踪数据库的功能。它还介绍了为实现和维持高性能在配置过程中需要考虑的因素。 本页内 自动存档和清除功能的工作原理 如何配置 BTS_BACKUP_USERS 角色以存档和清除 BizTalk 跟踪数据库中的数据 如何配置 DTA 清除和存档作业
阿新
2018/04/12
2K0
AD RMS高可用(四)添加rms成员服务器
3) 输入数据库的名字,点击“列表”,选择“DefaultInstance”,在“配置数据库名称”选择rms数据库名称。
月缺
2020/01/15
1.2K0
AD RMS高可用(四)添加rms成员服务器
Mac上使用Royal TSX快速连接到OCI主机
问题: 每次使用Royal TSX连接到OCI主机都要交互式输入opc这个用户名,次数多了也蛮烦。 那如何既指定用户名,又想要通过ssh私钥登陆机器呢?
Alfred Zhao
2023/09/15
2980
Mac上使用Royal TSX快速连接到OCI主机
chatGPT-4有哪些优势,有哪些使用chatGPT-4的方案
本文详细介绍了GPT-4和chatGPT的区别,GPT-4相对于chatGPT有哪些进步和提升,GPT-4到底有哪些强大之处,GPT-4提供了哪些新功能和新变化,GPT-4具有什么特点和应用场景,GPT-4会产生哪些影响。
网络精灵
2023/03/28
2.1K0
chatGPT-4有哪些优势,有哪些使用chatGPT-4的方案
最好的文件夹加密软件有哪些?
我所说的这些,VeraCrypt 全部具备,并且它还支持多平台( macOS、Windows 和 Linux)。
wuweixiang
2020/03/05
5.2K0
最好的文件夹加密软件有哪些?
「数据ETL」从数据民工到数据白领蜕变之旅(六)-将Python的能力嫁接到SSIS中
python的确是一门非常优秀的编程语言,特别是在数据领域,网络爬虫、数据处理、分析等方面都是非常强劲。
Excel催化剂
2021/08/20
3.1K0
「数据ETL」从数据民工到数据白领蜕变之旅(六)-将Python的能力嫁接到SSIS中
AD RMS高可用(五)RMS数据库AllwaysOn
先把两台服务器rms-sql01和rms-sql02加入到域, sql安装步骤比较简单所以此处忽略sql的安装过程,按平时安装sql即可(此环境使用的是azure上的sql 2012企业版的模版镜像。)。
月缺
2020/01/15
1K0
AD RMS高可用(五)RMS数据库AllwaysOn
配置Oracle Gateway 12连接到SQL server 2014
最近的工作中需要基于Oracle连接到SQLserver2014,我们可以通过配置Gateway的方式来实现这个功能。这个Gateway的实质是透过dblink来实现的。即把SQLserver模拟成一个远端的Oracle实例,这个实例由Gateway来负责进行接收,转发等等。本文简要描述其配置过程。
Leshami
2018/08/13
2.9K0
配置Oracle Gateway 12连接到SQL server 2014
「数据ETL」从数据民工到数据白领蜕变之旅(五)-使用dotNET脚本实现SSIS无限扩展
在笔者过往的文章里已经反复提到过,学习dotNET的性价比是比较高的,不止于可以做任何专业程序员做的领域,更是可以让我们这些业余的人员大有作为,例如可以开发OFFICE插件,可以使用PowerShell来做运维(会dotNET的很快上手,都是广义的dotNET体系),同时在微软的产品系里开放了各产品的对象模型,使我们可以轻松地和各大产品作交互如Windows的WMI模型,Sqlserver的SMO、AMO模型,当然还有我们熟悉的OFFICE对象模型等。
Excel催化剂
2021/08/19
2.3K0
「数据ETL」从数据民工到数据白领蜕变之旅(五)-使用dotNET脚本实现SSIS无限扩展
Dataloader有哪些使用方法
在构建数据集类时,除了__init__(self),还要有__len__(self)与__getitem__(self,item)两个方法,这三个是必不可少的,至于其它用于数据处理的函数,可以任意定义。
算法与编程之美
2023/01/03
5890
网站使用https有哪些优势
互联网发展到今天,HTTP协议的明文传输会让用户存在非常大的安全隐患。试想一下,假如你在一个HTTP协议的网站上面购物,你需要在页面上输入你的银行卡号和密码,然后你把数据提交到服务器实现购买。假如这个环节稍有不慎,你的传输数据被第三者给截获了,由于HTTP明文数据传输的原因,你的银行卡号和密码,将会被这个截获人所得到。现在你还敢在一个HTTP的网站上面购物吗?你还会在一个HTTP的网站上面留下你的个人信息吗?
小唐同学.
2023/03/16
1.3K0
localhost或127.0.0.1无法连接到mysql的解决方案
在my.ini文件中加入bind-address = 127.0.0.1便可解决该问题
wuweixiang
2018/08/14
3.8K0
localhost或127.0.0.1无法连接到mysql的解决方案
量子计算(三):有哪些机构或公司参与量子计算的研发
近年来,世界各个科技强国都高度重视量子计算研究,纷纷发布自己的量子信息科技战略,企图抢占下一轮科技发展的制高点,争取早日实现”量子霸权”。
Lansonli
2022/12/09
9130
量子计算(三):有哪些机构或公司参与量子计算的研发
点击加载更多

相似问题

Laravel播种多对多表

112

如何从多对多表中检索字段?

12

多对多,多对多表

11

获取多对多表的ids

121

如何从多对多表中获取id

18
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文