今天主要讲一下怎么更加用简单的方式去理解ModBus协议。

(一)什么是协议ModBus是一种协议,可以理解成一种语言。比如小王说的是汉语,小张说的是英语,如果小王和小张路上碰见了,那小王说了一堆,小张啥也听不懂。所以如果小王和小张想要交流沟通,弄清楚对方说什么话,首先他俩就得使用同一种语言。现在小王和小张现在都学会汉语了,准备沟通了,他俩可以说话沟通、可以打字微信聊天,都可以交流。说话沟通就可以理解成RTU通讯(屏蔽双绞线),打字聊天就可以理解成TCP通讯(网线)。他俩沟通的语言没有发生变化,仍然是汉语,只是沟通的方式变化了。沟通方式变化了,一个是说,一个是写,反应到ModBus协议就是一个是ModBus_RTU另一个是ModBus_TCP,两种接线也不一样。RTU就是串口接线,比如485、322、422,用屏蔽双绞线通过手拉手的方式进行连接;TCP就是RJ45以太网接口,就是水晶头网线。(二)模式举个例子:小明和4个小朋友准备用汉语交流说话。

1、小明和A说话,小明只有问了A,A听到后才能去回答小明。如果小明不问,A就不会回答。这种模式就叫做“半双工”,问了才能答,不问就不回答。2、小明准备挨个问ABCD4个小朋友一些问题,小明就是主站,ABCD就是从站。ABCD4个小朋友挨个进行编号,A就是1,B就是2,C就是3,D就是4,这1234就是从站的地址。3、小明问了A,A开始回答,等A说完了,小明开始问B。A与B的间隔,这个就是“轮询间隔”。如果A还没说完,小明就是开始问B,那A说的话就听不完,数据就不完整。4、小明问了A,他俩说话速度都特别快,这个说话的速度就是波特率,说的快了,小明就得离得A近点,要不就听不清楚;说的慢点,就可以离得远点。波特率9600传输速度就比19200传输速度慢,但是传输距离长。三、使用方法如果上面的知识都没有看懂,没关系,我们直接说方法。1、确定仪表有ModBus协议,一般来说接线端子上“D+   D-”就是ModBus协议。2、设置参数,设置仪表的波特率、停止位、校验位;然后设置上位机的参数,要与仪表一致。3、(1)串口连接COM接口

直接仪表的485线直接接到电脑主机后端的COM口,这个需要在串口里进行设置。(2)通过串口服务器

将仪表接到串口服务器的D+和D-接线端子,然后网线连接到上位机电脑。这个就是ModBus_RTU转TCP。相当于串口服务器就是主站,仪表就是分站。这个时候我们就需要对串口服务器进行设置,以MOXA串口服务器举例在浏览器输入moxa串口服务器的地址,默认是192.168.127.254,进入MOXA串口服务器设置页面。网页最左边文件夹类型的就是设置菜单,只说有用的:Network Settings:网络设置,在这里可以修改moxa串口服务器的网络地址。Serial Settings:端口设置,修改波特率、奇偶校验等参数,打开以后有port1就是端口1的意思。Operating Settings:模式设置,比如服务器、客户端的设置。Network Settings:网络设置

IP address:IP地址Netmask:子网掩码Gateway:网关Serial Settings:端口设置

Baud rate:波特率,一般是9600Data bits:数据位,一般是8Stop bits:停止位,一般是1Parity:校验方式,一般是none无校验,另外偶校验EVEN,奇校验ODDFlow control:流量控制,一般不管,就默认RTS/CTSInterface:接线方式,一般是RS482 2wire,485两线制。

Operating Settings:模式设置(重点重点重点)

Operation mode:模式,选择TCP Server Mode,服务器模式。TCP alive check time:网络连接检查时间。默认7min。什么时候用的到,就是在网络拥堵或是连接不稳定的时候用的到。串口服务器会每40s发送一个检测到上位机,上位机会回复一个数据,串口服务器就记住这个时间,然后每1分钟,串口服务器会取当前系统时间,与回复时间进行对比,如果对比值超过设定值,串口服务器就会强制断开TCP连接。Inactivity time:不活动时间。意思就是如果串口服务器有数据就建立TCP连接,如果没数据,就自动断开TCP连接。一般默认不用修改。Max connection:一般选择1,modbus协议也只能是一个上位机。Packing length:打包长度。设置这个就是说一个从站发给主站一个数据包固定长度, 设置2字节,就是2个字节的数据一满,就发送数据,不用等Force transmit:强制传输时间。一般串口服务器收到串口数据会先放到缓冲区,等到缓冲区满或是强制时间到,就会打包发给以太网端口。比如30ms,就是说只要到30ms串口服务器就打包传输。默认0。这个设置需要计算尝试,如果设置时间过小,数据包未完整打包,有缺失,上位机就会重新给从站发指令,从站重发数据;如果时间过大,上位机的轮询间隔小,上位机就会认为从站无反应。默认0。Local TCp port:端口号。1号端口就是4001,2号端口就是4002。上面的参数设置完成后,一般来说就可以正常通讯了4、设置上位机参数,我们以杰控软件为例。协议:MB_RTU/TCP站号:从站地址转换设备IP地址:MOXA串口服务器的IP地址通讯超时:默认1000。通过设置这个时间就可以设置轮询间隔时间。比如1030,这个轮询间隔时间就是30*10=300ms;如果设置成1002,就是20ms的轮询间隔。重试次数:默认扫描级别:默认本地IP地址:就是上位机电脑的IP地址。通讯诗句数据类型:这个就是选择ModBus的功能码,比如03功能码就是读数据的。访问方式:读写首地址:就是通讯点表的第一个数据是0还是1.开始地址:就是准备从第几个点表的地址开始读。长度:就是读多少个字节。这些都设置完成,基本上通讯就建立完成了。我们就可以在上位机组态里正常使用了。四、遇到的问题1、一般来说就是通讯硬件设置,仪表的和上位机必须一致,有一个地方不一样,就无法正常通讯。2、串口服务器最多只能联一个上位机,这是modbus协议本身的限制,只能有一个主站。3、modbus的轮询机制,注定了很多同时性比较差,只能一个一个读,如果数据量太大,就会影响到数据上传的实时更新,所以有时候不太适合实时性数据特别强的地方使用。4、modbus的优点就是简单便宜,大量的仪表厂家都在使用,通用性强,能解决很多十几年前的设备通讯问题,能够在自动化改造中,用最小的成本完成数据上传。

modbus tcp主站和从站_ModBus的加深理解与实际应用举例相关推荐

  1. modbus tcp主站和从站_【技术】Modbus协议栈应用实例之四:ModbusTCP服务器应用

    源码下载:https://download.csdn.net/download/foxclever/12838885 自从开源了我们自己开发的Modbus协议栈之后,有很多朋友建议我针对性的做几个示例 ...

  2. modbus tcp主站和从站_组态王与西门子 PLC无线Modbus通讯

    组态王与西门子PLC无线Modbus通信方案 本方案是组态软件与西门子S7-200 Smart 进行无线MODBUS 通信的实现方法.此方案可以作为西门子S7-200 Smart与组态软件的无线MOD ...

  3. modbus tcp主站和从站_【智】S7200PLC与台达变频器MODBUS轮询实时读取详解

    大家好,我是微控小智,今天又跟大家见面了.学习不是一蹴而就,需要坚持,做技术亦是如此,厚积才能博发. 上次分享的S7-200PLC与台达VFD_M变频器Modbus通讯案例程序,是采用SM0.5时钟脉 ...

  4. modbus tcp主站和从站_Modbus-RTU 一主多从PLC无线通讯经典案例

    一.无线方案简介 该方案可适用于 3 台以上西门子 PLC,S7-200 或 S7-200Smart 之间实现一主多从Modbus 通讯协议的无线通讯. 适用 PLC 型号:S7-200 和 S7-2 ...

  5. 汇川AM系列 Modbus TCP通信设置

    一 .概述 单击网络组态中的PLC设备,会显示PLC内部所支持的主/从站的使能窗口,如下图所示,单击窗口中的复选框按钮来使能CPU所支持的主/从站功能,再从视图右侧的"网络设备列表" ...

  6. tcp转串口_PROFIBUS DP与Modbus/TCP网络转换操作指南

    >>PROFIBUS DP转Modbus/TCP网关操作指南 摘要: 本文以NT100-RE-DP网关为例,实现Modbus/TCP Client与PROFIBUS DP设备间的通讯,从而 ...

  7. Modbus TCP协议

    1.Modbus协议 Modbus是一种工业总线协议标准,包括ASCII.RTU.TCP三种报文类型,其物理层接口有RS-232.RS-485.RS-422.及以太网,采用主/从方式进行通信. 2.M ...

  8. Modbus tcp转Profinet网关连接电动机保护测控在1200PLC配置案例

    Modbus转profinet网关在对1200PLC不做编程的方式,把PLC的Profinet转modbus tcp协议的转换实现双向协议互转,给调试工作提高了工作项目,促进了项目的验收工作 本案例用 ...

  9. Profinet转Modbus TCP网关连接脉冲电源通讯配置案例

    本案例是Profinet转Modbus TCP网关连接脉冲电源的配置案例.用到的设备为西门子1500PLC一台.Profinet转Modbus TCP网关一个.脉冲电源一台. 1.首先打开博图软件,创 ...

最新文章

  1. 在cuDNN中简化Tensor Ops
  2. Centos nginx 安装 源码方式安装
  3. 怎样使用计算机操作,怎么使用键盘快捷键操作电脑
  4. Linux版本之redhat9---gFtp中文乱码解决方案
  5. 使用Spring Form标签探索Spring Controller
  6. 百年理工计算机专业课程,这两所国内的百年理工院校,实力强劲,都是国内顶尖实力...
  7. JavaScript 对象和包装类
  8. python删除列表元素 // 列表的切片
  9. 2.精通前端系列技术之JS模块化开发-深入学习seaJs(四)
  10. 生成注释_SOLIDWORKS DimXpert 自动生成注释
  11. taro 如何使用dom_taro创建的小程序项目怎么引用ant design mobile UI库
  12. 计算机网络传输介质中速率最快的是,通常传输速率最快的网络类型是()
  13. fedora dnf_如何使用DNF升级Fedora Linux系统
  14. 计算机科学与技术寒假社会实践,计算机科学与技术专业寒假社会实践报告.doc...
  15. 黑客入侵网络的50种方法
  16. 中金预测2015年将两次降息 住房潜在需求逐年降低
  17. 计算某年某月的天数问题
  18. 今天带大家用Python制作一个FlappyBird(飞翔的小鸟)的小游戏
  19. 机器学习 day7 kmeans 聚类算法
  20. 影响百度快照更新的因素都有哪些?

热门文章

  1. flutter 各个组件讲解使用集合-推荐地址
  2. MATLAB递归函数
  3. Wow.js学习笔记
  4. 使用谷歌浏览器插件“Postman Interceptor”自动将http请求发送给Postman
  5. Excel 2010 SQL应用050 去除路径仅返回文件名
  6. 《极度分裂》经典名句
  7. 战国七雄中最强大的国家(除秦外)——赵国
  8. 高一学生计算机学情分析,高一学生学情分析——李涛
  9. 【漏洞分析】Foxit Reader BMP biWidth 堆溢出漏洞(CVE-2017-17557)
  10. 如何在Excel表格中输入分数?学会这几招轻松搞定!