资源描述:
《基于PLC的Modbus通信协议的实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、摘要:介绍了三菱FX2N系列PLC在无协议通信方式下与基于DS18b20型数字温度传感器的STA-D温度采集模块以Modbus协议通信,实现即时读取温度,并给出了相关程序。 随着3C技术迅速发展,网络集成信息自动化正迅速应用到现场设备、控制中,现场总线控制系统正逐步取代传统的集散控制系统,其中Modbus现场总线协议在基于PLC的控制系统中得到了越来越广泛的应用.在本系统中,以PLC为主机、温度采集模块为从机,完成对生产过程的自动控制、工业流程及工艺参数的显示、修改,根据PLC的无协议通信功能,用Modb
2、us现场总线协议实现主机与从机的通讯。 本文基于某监控系统的设计,实现了三菱FX2N系列PLC在无协议通信方式下与DS18b20型数字温度传感器的采集模块以Modbus协议通信,在电炉熔化工作过程中,对电炉、电容、冷却水等100多点的温度实现巡检。 1系统硬件组成 温度监控部分系统的硬件由DS18b20型数字温度传感器、采集模块、FX2N系列PLC、FX2N-485-BD、HITECH触摸屏组成,其结构如图1所示。图1系统硬件组成 DS18b20是世界上首个支持单线总线接口(1wirebusinte
3、rface)的数字化温度传感器,单总线接口便于构建分布式的温度测控网络,数字化的输出提高了信号传输的可靠性,而且使外围电路大为简化。DS18b20具有很高的适应性和性价比,其测温范围为-55~125℃ ,测温精度为±0.5℃,测温距离最大为200m,测温方式使用3线制,本系统使用的传感器排序方式为指定排序。 DS18b20内部主要有3个数字部件:1个温度传感器、1个64位的激光刻蚀ROM、9字节高速暂存器ScratchpadRAM和3字节EERAM.ROM上64位数据是传感器的序列号。暂存器确保数据的完整
4、性,数据先被写入暂存器,并可以被读回.数据经校验后,可以由拷贝暂存器命令传输到EERAM,以确保更改存储器时数据的完整性。暂存器为9个字节,第0和第1字节是温度编码的低字节和高字节. 第2和第3字节是温度编码的低字节和高字节的拷贝,第4字节是配置寄存器,其值决定温度转换的分辨率。 本系统采用的STA-D温度采集模块,是一种远程数字化温度采集系统,有10个通道,每个通道最多可以挂接16个DS18b20型数字温度传感器,总共可以监控160个点的温度,以RS485方式同上位机通讯,通信协议为标准Modbus协
5、议,波特率为9600bps,与上位机通信距离最大为1200m,工作电源为12~24V,工作温度为-20~75℃。与FX2N??485??BD采用两线制的485连线方式(图2),接线要使用规范的屏蔽线。图2485连接图 台湾HITECH公司触摸屏PWS系列是专为PLC设计的互动式工作站,用232直接与PLC连接,可以直接读取PLC的数据寄存器,具有良好的人机界面,操作人员通过它可设置所有参数,控制系统自动运行。并且编程简便,运行稳定,可设置不同的管理权限,适合于本系统使用。 2Modbus协议 标准的M
6、odbus口是使用RS??232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验,控制器能直接或经由Modem组网.控制器通信使用主!从技术,即仅一设备(主设备)能初始化传输(查询),其它设备(从设备)根据主设备查询提供的数据作出相应反应。表1Modbus部分功能码定义 Modbus通讯协议有两种传送方式?RTU方式和ASCII方式。本系统使用RTU模式,这种方式的主要优点是:在同样的波特率下,可比ASCII方式传送更多的数据。 使用RTU模式时,消息发送至少要以3.5个字符时间
7、的停顿间隔开始,如图3的T1-T2-T3-T4所示。传输的第一个域是设备地址,可以使用的传输字符是十六进制数值。通信期间,网络设备不断侦测网络总线,包括停顿间隔时间内,当第一个域(地址域)接收到,每个设备都进行解码以判断是否发往自己的。在最后一个传输字符之后,至少要有3.5个字符时间的停顿以标定消息的结束,之后可开始新的消息传输。典型的消息帧如图3所示。使用RTU模式,消息包括了一个基于CRC方法的错误检测域.CRC域检测了整个消息的内容。图3Modbus消息帧结构 CRC域是两个字节,包含一个16位的二
8、进制值。它由传输设备计算后加入到消息中。接收设备重新计算收到消息的CRC,并与接收到的CRC域中的值比较,如果两值不同,则有误,后面将具体讲述CRC算法的实现。 3 系统软件构成 考虑到操作的方便性,在系统初次安装时,先在PC机上用上位机软件将所有传感器的ID搜索出来,然后按实际安装位置给每个传感器编号,读温度测试传感器是否工作正常。在PLC上使用Modbus协议通信时首先要对通信格式进行设定,即对D8120