最近的项目中使用到了欧姆龙的温控器,里面有很多的通信方式,我们使用的常见的modbus——RTU方式,其他方式我们不使用,其中通信手册上面有很多通信的实例,欧姆龙modbus还区分4字节模式和2字节模式,我们选择2字节,加快通信效率,而且2字节和4字节的模式的地址还不一样,但是实现的功能是一样的,比如开启,关闭等操作. 下面使用modbus poll 和slave工具模拟modbus的通信协议3,设置的方式可以参考之前的文章,这里不再详细说明,都是差不多的,触类旁通. 运行后,可以看到一下的信息…
功能码2的功能是:读从机离散量输入信号的 ON/OFF 状态.可读取1-2000个连续的离散量输入状态,如果离散输入的数量个数不是8的整数倍,则用0填充最后数据字节的剩余位,功能码2的查询信息规定了要读的输入起始地址,以及输入信号的数量. 功能码2只能读取,不能写入,通常是拨码开关等离散信号.下面通过modbus-poll和modbus-slave工具的进行演示 1.poll端设置:具体解释就不说了,可以详见功能码1的分析篇 2.slave端设置:具体解释就不说了,可以详见功能码1的分析篇 简要…
一.数据解析 上一文介绍了modbus工具的基本使用情况,但是还没用说明modbus中的协议的具体意义, 1.左边是slave,id=1,说明地址是1,f=01说明是功能码01,功能码是一个字节,说明理论上最多可以是256个功能码. 2.右边是poll,tx是发送的次数,err是错误数量,id是从机地址,f=01,说明是功能码01,sr=1000ms,说明poll 端是1s发送一次数据. alias是其实是modbus的协议地址(个人理解的),第二列是数值,即寄存器中的value 这里摘取了sl…
Modbus Poll 是Witte Software公司开发的的Modbus主机仿真器,用于测试和调试Modbus从设备.软件支持ModbusRTU.ASCII.TCP/IP协议.支持多设备监控,可以同时监视多个从设备/数据域.支持图形化监控报文信息,循环报文发送,寄存器数值独立增长.可以图形化设定从设备ID,功能,地址,大小和轮询间隔.提供数据的多种格式方式,比如浮点.双精度.长整型(可以字节序列交换) ,并支持Excel导出. 软件下载: 打开软件之后主界面如下,出现红色No connec…
源:http://blog.sina.com.cn/s/blog_49352090010138e7.html Modbus测试工具 :Modbus Poll,Modbus Slave…
在开发Modbus程序的过程中,也可以发现经常需要使用诸如Modbus Poll和Modbus Slave等辅助调试工具, 用于验证MODBUS通讯消息是否正确.但是,Modbus Poll和Modbus Slave都属于共享软件, 价格都在百美元左右,在未购买的情况下有时间或功能限制,怎么办呢? 其实,我们完全可以开发自己的MODBUS辅助调试工具. 那么先定一个小目标,开发一个简化版的Modbus Poll,能够方便调试MODBUS通讯, 支持RTU模式和TCP模式,支持以下最常用MODBU…
接上一篇文章的内容. 看了前面需求提到的复杂的命令行解析功能,很多人立马开始发怵,其实大可不必. 我们都知道,Linux下的程序往往都提供了复杂的命令行参数处理机制,因为这是与 其他程序或用户进行交互的主要手段,在这样的情况下难能可贵的是,为了减轻开发 人员对命令行处理的负担,Linux提供了系统函数getopt()或getopt_long()专门解析命令行参数. 在Linux系统中,函数getopt()/getopt_long()位于 unistd.h 系统头文件中,其原型分别为: int g…
前言: 之前的博客介绍了如何用C#来读写modbus tcp服务器的数据,文章:http://www.cnblogs.com/dathlin/p/7885368.html 当然也有如何创建一个服务器文章:http://www.cnblogs.com/dathlin/p/7782315.html 但是上面的两篇文章是已经封装好的API,只要调用就可以实现功能了,对于想了解modbus tcp的原理的人可能就不适合了,最近有不少网友的想要了解这个协议,所以在这里再写一篇介绍Modbus tcp的文章…
Modbus-RTU 一.数据分析       两个设备(单片机)通讯,用的是Modbus协议.      在单片机中拿出一部分内存(RAM)进行两个设备通讯,例如: 说明: OX[20]   代表是输出线圈,用功能码 0x01,0x05,0x0F 访问, 开头地址是 0 (这个后续说明)       IX[20]    代表是输入线圈,用功能码 0x02 访问,开头地址是 1 (这个后续说明)另外两个一样的道理.       注意:所谓的“线圈”“寄存器”就是“位变量”“16位变量”.之所以称…
Modbus Poll是一个非常不错的工具,支持TCP/串口 下载地址:http://pan.baidu.com/share/link?shareid=2880213929&uk=2483252218 与从机连接用的是Modbus Poll版本, Slave版本是pc从机,所以很少用.   进入软件点"Connection"进入通信配置对话框 字节桢间隔和Modbus桢间隔默认即可. 新建通信文件后,右键可以配置从机地址.功能码. 寄存器地址.寄存器数量.发送间隔时间.数据类型…