您当前的位置: 首页 > 

Gutie_bartholomew

暂无认证

  • 3浏览

    0关注

    378博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

LM小型可编程控制器软件(基于CoDeSys)笔记十四:Modbus 通讯

Gutie_bartholomew 发布时间:2022-04-29 14:14:22 ,浏览量:3

LM 系列 PLC 可以通过 Modbus 协议与触摸屏或组态软件等第三方设备进行通讯。默认状态下,
LM 系列 PLC 作为 Modbus RTU 从站。
LM 系列 PLC 的 RS232 端口和 RS485 端口均支持 Modbus RTU 从站协议。
Modbus 协议是主从站通讯协议,用异步串行口完成通讯,物理层采用 RS485 或 RS232 。传输
速率可以达到 115kbps ,理论上可接(寻址)一台主站和至多 247 台从站。受线路和设备的限制, 最多可接一台主站和 32 台从站。
Modbus 协议的某些特性是固定的,如帧格式、帧顺序、通讯错误和异常情况的处理以及所执
行的功能等,都不能随便改动。其他特性属于用户可选的,如传输介质、波特率、字符奇偶校验、
停止位的个数等等,传输模式为 RTU 。用户所选择的参数对于各个站必须一致,在系统运行时不能改变。
Modbus 通讯功能
LM 系列 PLC 所支持的 Modbus RTU 通讯功能码如表 10-1-1 所示。

Modbus RTU 协议能访问的数据区包括:
输入区(I)、输出区( Q )、中间区( M )
这三个数据区,均可通过 BOOL 型或 WORD 型数据访问。这些数据区与 Modbus 协议地址映
射关系,如表 10-1-2 所示:

 

这里有些不好理解,举一个例子,比如我想用工控机(主站)给plc(从站)发送一条指令,读取plc某个地址(% MW800)的数据,我应该这样发01030D48000F8774

为啥?

因为800是plc的地址,按照上面的公式转换一下,800%2+3000=3400,这里的3400是十进制数,转换为16进制数就是0D48,于是按照modbus协议,工控机应该查询0D48的数据(这里的0d48其实对应的是plc的一个寄存器,理解为这个寄存器的地址,同时在plc内部是把这个寄存器识别为% MW800)

Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气 Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。

Modbus 协议的变体是:

Modbus RTU

为了建立协议通信,它以二进制格式表示数据,主要用于串行通信。此版本中的消息按空闲时间段划分。RTU 版本遵循的格式是循环冗余校验验证机制,这确保了数据的可靠性。

对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。Modbus RTU是一种紧凑的,采用二进制表示数据的方式,Modbus ASCII是一种人类可读的,冗长的表示方式。这两个变种都使用串行通信(serial communication)方式。RTU格式后续的命令/数据带有循环冗余校验的校验和,而ASCII格式采用纵向冗余校验的校验和。被配置为RTU变种的节点不会和设置为ASCII变种的节点通信,反之亦然。

HMI人机界面,HMI是Human Machine Interface 的缩写,“ 人机接口”,也叫 人机界面,是交互和信息交换的媒介。
什么是HMI?了解HMI或人机界面的一些基础知识 (baidu.com)

组态软件

组态软件哪个好_组态软件推荐_wishfly的博客-CSDN博客_组态软件

简单理解,组态软件是用来开发人机界面的软件。现场的设备PLC,各种采集卡,各种仪表,这些设备都能产生数据,电脑可以通过串口,以太网或者专门的通信线路来获取这些数据。但是这些数据通常是不适合人类直接阅读和理解的,所以需要一个人机界面来展示这些数据,而组态软件的功能就是转化和展示这些数据。

作者:卢云汉 链接:https://www.zhihu.com/question/19818456/answer/34121618 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

组态,是英文configure翻译过来的,工业上用得比较多似乎~~

configure也解释为配置、设置

那么组态软件的意思也就是配置软件。

工业中分布式控制系统DCS的软件多被称为组态软件:系统结构组态软件、网络结构组态软件、人机界面组态软件、控制逻辑组态软件、数据库组态软件……

像网络结构组态软件的功能就是配置、组建整个网络的结构、确定各个网络节点的IP、站号等等,系统结构组态软件的功能是对系统中各个硬件及其结构进行配置,硬件中CPU的主备机状态、IO模块的地址等等。

另外,控制逻辑组态软件就实现了组态编程的功能,工业中,向PLC写逻辑、写控制策略,国际上有标准的5种编程语言:梯形图、功能块、结构化文本等,梯形图与功能块的操作过程类似于组态的过程,将一个一个东西搭建起来,配置参数,而结构化文本的操作过程就类似于编程,因此很多时候也听到组态编程的概念。

因此,我的理解就是组态就像搭积木,摆好各个块后,在配置他们之间的关系。

作者:曾其鋆 链接:https://www.zhihu.com/question/19818456/answer/13232607  

关注
打赏
1662709650
查看更多评论
立即登录/注册

微信扫码登录

0.1724s