EDN China > 设计实例 > 可编程器件 > PLC可编程控制器 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 基于PLC的Modbus通信协议的实现

21ic?? 2011年10月19日 ?? 收藏0

  随着3C技术迅速发展,网络集成信息自动化正迅速应用到现场设备、控制中,现场总线控制系统正逐步取代传统的集散控制系统,其中Modbus现场总线协议在基于PLC的控制系统中得到了越来越广泛的应用。在本系统中,以PLC为主机、温度采集模块为从机,完成对生产过程的自动控制、工业流程及工艺参数的显示、修改,根据PLC的无协议通信功能,用Modbus现场总线协议实现主机与从机的通讯。

  本文基于某监控系统的设计,实现了三菱FX2N系列PLC在无协议通信方式下与DS18b20型数字温度传感器的采集模块以Modbus协议通信,在电炉熔化工作过程中,对电炉、电容、冷却水等100多点的温度实现巡检。

  1 系统硬件组成

  温度监控部分系统的硬件由DS18b20型数字温度传感器、采集模块、FX2N系列PLC、FX2N-485-BD、HITECH触摸屏组成,其结构如图1所示。

系统硬件组成

图1 系统硬件组成

  DS18b20是世界上首个支持单线总线接口(1wirebusinterface)的数字化温度传感器,单总线接口便于构建分布式的温度测控网络,数字化的输出提高了信号传输的可靠性,而且使外围电路大为简化。DS18b20具有很高的适应性和性价比,其测温范围为-55~125℃,测温精度为±0.5℃,测温距离最大为200m,测温方式使用3线制,本系统使用的传感器排序方式为指定排序。

  DS18b20内部主要有3个数字部件:1个温度传感器、1个64位的激光刻蚀ROM、9字节高速暂存器Scratchpad RAM和3字节EERAM。ROM上64位数据是传感器的序列号。暂存器确保数据的完整性,数据先被写入暂存器,并可以被读回。数据经校验后,可以由拷贝暂存器命令传输到EERAM,以确保更改存储器时数据的完整性。暂存器为9个字节,第0和第1字节是温度编码的低字节和高字节。

  第2和第3字节是温度编码的低字节和高字节的拷贝,第4字节是配置寄存器,其值决定温度转换的分辨率。

  本系统采用的STA-D温度采集模块,是一种远程数字化温度采集系统,有10个通道,每个通道最多可以挂接16个DS18b20型数字温度传感器,总共可以监控160个点的温度,以RS485方式同上位机通讯,通信协议为标准Modbus协议,波特率为9600bps,与上位机通信距离最大为1200m,工作电源为12~24V,工作温度为-20~75℃。与FX2N485BD采用两线制的485连线方式(图2),接线要使用规范的屏蔽线。

485连接图

图2 485连接图

  台湾HITECH公司触摸屏PWS系列是专为PLC设计的互动式工作站,用232直接与PLC连接,可以直接读取PLC的数据寄存器,具有良好的人机界面,操作人员通过它可设置所有参数,控制系统自动运行。并且编程简便,运行稳定,可设置不同的管理权限,适合于本系统使用。

  2 Modbus协议

  标准的Modbus口是使用RS232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验,控制器能直接或经由Modem组网。控制器通信使用主从技术,即仅一设备(主设备)能初始化传输(查询),其它设备(从设备)根据主设备查询提供的数据作出相应反应。

表1 Modbus部分功能码定义

Modbus部分功能码定义

  Modbus通讯协议有两种传送方式RTU方式和ASCII方式。本系统使用RTU模式,这种方式的主要优点是:在同样的波特率下,可比ASCII方式传送更多的数据。

  使用RTU模式时,消息发送至少要以3。5个字符时间的停顿间隔开始,如图3的T1-T2-T3-T4所示。传输的第一个域是设备地址,可以使用的传输字符是十六进制数值。通信期间,网络设备不断侦测网络总线,包括停顿间隔时间内,当第一个域(地址域)接收到,每个设备都进行解码以判断是否发往自己的。在最后一个传输字符之后,至少要有3。5个字符时间的停顿以标定消息的结束,之后可开始新的消息传输。典型的消息帧如图3所示。使用RTU模式,消息包括了一个基于CRC方法的错误检测域。CRC域检测了整个消息的内容。

Modbus消息帧结构

图3 Modbus消息帧结构

  CRC域是两个字节,包含一个16位的二进制值。它由传输设备计算后加入到消息中。接收设备重新计算收到消息的CRC,并与接收到的CRC域中的值比较,如果两值不同,则有误,后面将具体讲述CRC算法的实现。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

PLC? Modbus? CRC?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈