使用modbus时,即使您使用的是高级库,也可以随时关注官方modbus documentation.

通过文档,您可以检查框架的每个字节的含义:

0x01 0x04 0x00 0x00 0x00 0x01 0x31 0xCA

第一个字节是设备地址(0x01)

第二个字节是功能代码(0x04,读取输入寄存器)

第三个和第四个字节是起始位置(0x00,0x00)

第五个和第六个字节是输出数量(0x00,0x01)

最后2个字节是CRC控制(0x31,0xCA)

这意味着您要求来自输入寄存器(0x04)的一个(0x00,0x01)寄存器来自存储器中的第一个位置(0x00,0x00),地址为1(0x01)的设备.

框架本身是正确的,如果设备软件/固件遵循modbus标准,您应该有一个答案:您要求的寄存器或错误帧(0x01,0x80,crc,crc).

这就是说,我们可以检查您的设备没有收到答案的原因.为此,如果您不确定您的代码/您所询问的内容/设备的行为方式,您可以使用外部工具来比较结果.我建议你像docklight那样思考,它可以帮助你设置连接和发送/接收modbus帧.

我要检查的第一件事是连接参数:

client = ModbusClient(method='rtu', port=SERIAL, stopbits=1, bytesize=8, timeout=3, baudrate=BAUD, parity='E')

Method is correct, since is the protocol you’re asking for.

The port is correct, otherwise it gives back a system error.

Timeout is what raise the error: in a given time, no response was received. Anyway the problem is probably not here, since you set a high value for timeout.

Stopbits should not interfere with the frame reception.

The problem could be in baudrate and parity: an error here can cause the error raised by your code.

如果您不知道波特率和/或奇偶校验的正确值,可以尝试使用most commons baudrates和奇偶校验值:’N’,’E’,’O’,’M’,’S'(代表:无,Even,Odd,Mark,Space.默认为None).

如果我打赌,我首先用无替换偶数奇偶校验(奇偶校验=’N’).

如果仍有问题,则设备地址(0x01)可能错误.地址可以表示从0(0x00)到255(0xFF)的值.

按协议标准,即使起始地址(0x00,0x00),输出数量(0x00,0x01)或crc(0x31,0xCA)都是错误的,设备也应该响应一些东西,但它并不总是这样:如果你认为你是在这种情况下,研究设备的具体文档.

最后一种可能性是使用低级库,例如PySerial,并定义自己的协议.

python输入输出有问题_python – Modbus错误:[输入/输出]无从远程...相关推荐

  1. python输入输出有问题_Python中的输入与输出

    一.计算机核心 1.计算机的三大核心为 输入.计算.输出: 2.程序就是指令的集合: 二.python输入与输出 1.简单的来说python作为一种语言,可以编写脚本和程序,那么python就具备输入 ...

  2. python杨辉三角函数_python杨辉三角输出指定行_使用python打印十行杨辉三角过程详解...

    如何用python输出杨辉三角 程序输出需要实现如下效果: [1] [1,1] [1,2,1] [1,3,3,1] .. 方法:迭代,生成器 12345678910111213141516171819 ...

  3. python输入数据爬取_python根据用户需求输入想爬取的内容及页数爬取图片方法详解...

    本次小编向大家介绍的是根据用户的需求输入想爬取的内容及页数. 主要步骤: 1.提示用户输入爬取的内容及页码. 2.根据用户输入,获取网址列表. 3.模拟浏览器向服务器发送请求,获取响应. 4.利用xp ...

  4. python的缩进意义_python缩进错误的原因是什么

    要求严格的代码缩进是python语法的一大特色,就像C语言家族(C.C++.Java.C#等等)中的花括号一样重要,在大多数场合还有必要.在很多代码规范里面也都有要求代码书写按照一定的规则进行换行和代 ...

  5. python语音识别设置失败_Python语音识别错误通道数无效

    作为项目的一部分,我正在python上运行一个语音识别代码.我面临着一个非常奇怪的问题 当我把语音识别代码放在一个函数中时,比如:def loop(): r=sr.Recognizer() with ...

  6. python圆面积的计算_Python编程题:输入圆半径,输出圆面积?python计算圆面积教程...

    python计算圆的面积,读程序,要求格式化输出浮点数s,并保留6位小数,请填写--缺少的语句? 你好,保留6位小数的代码是s="%.6f"%s. 第一个空是return s 第二 ...

  7. python目录名称无效_python目录名错误怎么解决?这几种方案才是你需要学会的

    [摘要]python可以用来做很多事情,如何统计python词频?如何用python统计目录名错误的事情?这是我每次面试的时候都会问的一个问题,那么python目录名错误怎么解决?这几种方案才是你需要 ...

  8. python输入输出简单例子_Python 文件和流的简单示例

    这篇文章主要为大家详细介绍了Python 文件和流的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 1.打开文 ...

  9. python输入数据的维度_python – Keras LSTM输入维度设置

    我试图用keras训练LSTM模型,但我觉得我在这里弄错了. 我收到了错误 ValueError: Error when checking input: expected lstm_17_input ...

最新文章

  1. OpenCV图像坐标系与行列宽高的关系
  2. LVS负载均衡之持久性连接介绍(session篇)
  3. XP下如何恢复Administrator
  4. OpenCV:没有GUI的情况下使用OpenCV无缝克隆模块(附完整代码)
  5. 隐藏帐户与隐藏权限的添加
  6. python exchangelib 删除邮件_Python exchangelib在子文件夹中读取邮件 - python
  7. Kali Linux 网络扫描秘籍 翻译完成!
  8. 3.1.1 Spring 简介
  9. mysql mvcc 读写阻塞_mysql面试题MVCC原理事务隔离级别_aiailingfei的博客-CSDN博客
  10. 用php实现下载生成某链接的快捷方式
  11. lidar_camera_calib代码解读-优化部分
  12. IOS开发学习资料集合(开发必备)
  13. 如何看计算机几核,如何查看电脑CPU是几核的?,这几步你要了解
  14. 人称小HomeKit的智汀,如何连接天猫精灵音箱?
  15. [github] github入手教程
  16. 总所周知, p站是一个聚集了众多各国优秀艺术家相互交流的网站,Python采集p站数据
  17. latex附录中放python代码_LaTeX之附录设置
  18. router中设置特殊网络线宽规则,以电源为例
  19. JQuery插件让图片旋转任意角度且代码极其简单
  20. Qt::​Alignment 设置对齐方式

热门文章

  1. 互联网造车上半场即将收尾,下半场才是真考验
  2. Vue.js用法详解(一)更新中~
  3. inux 下查看服务器负载均衡
  4. 讀書收穫 The Untold Story of Milk, Ron Schmid
  5. [转]Mysql中的SQL优化与执行计划
  6. 在Linux上安装QT4
  7. Linux权限管理(suid euid)
  8. 基于 SpringBoot 的仿豆瓣平台【源码分享】
  9. 使用自动化插件release来管理maven项目的版本发布
  10. 程序员过关斩将--从用户输入手机验证码开始