当前位置:首页 > 工业控制 > 《机电信息》
[导读]摘要:介绍了ModbusRTU多站点轮询原理,设计了主站轮询时序和主站轮询流程,并详细研究了西门子PLC如何采用自由口实现Modbus多站点轮询。结果表明,该轮询处理方式复制性强、灵活简便、成本低廉,可为许多工程项目带来直接的经济利益。

引言

PLC控制系统中,Modbus串行通信是PLC控制系统与外部设备进行通信、监控外部信号的重要方式。西门子PLC在控制系统的Modbus通信中,更多的是作为主站与多个从站设备进行通信。因此,本文主要研究西门子PLC如何采用自由口(AsCII协议)实现Modbus多站点轮询。

lModbusRTu多站点轮询原理

本文研究ModbusRTU多站点轮询通信的前提是西门子PLC支持自由口实现Modbus通信。鉴于此前提,本文采用AsCII协议仿照Modbus主站协议进行多站点轮询通信。

在AsCII协议驱动实现多站点轮询的过程中,采用的处理方式如下:

(1)基本模式:主站主动发出请求,从站根据主站请求作出响应。

(2)数据帧:在发送或响应数据帧中要包含有站点标识的信息。

(3)实现方法:定时轮询,直接启动下个作业,延时启动下个作业。

(4)校验、错误处理机制:CRC、等待、丢弃、重试等,其中CRC是ModbusRTU的CRC校验[1],是非常重要的环节。第一,自编CRC校验功能来实现校验;第二,依据从站提供的数据信息,提前计算出CRC校验码,直接填入到数据帧的最后。

(5)各个从站响应时间:需要单独测试以便获取每个从站响应主站的响应时间,得出时间的最大值,以此作为从站未响应主站的超时时间。

上述是本文采用的合理的轮询处理方式,在实际应用中,针对不同的通信对象,可以具体分析并作出相应的轮询处理。

2轮询机制数据帧格式

根据表1中ModbusRTU数据帧格式[2],主站(基于AsCII协议)通过发送不同地址标识字符的帧来轮询不同的从站,同时从站根据地址字符来判断是否是给自己的消息,并据此做出相应的处理。AsCII数据帧格式如表2所示。

表lModbusRTu数据帧格式

地址
功能代码
数据数量
数据1

数据n
CRC高字节
CRC低字节

表2AsC11数据帧格式

地址
功能

起始数据的高位地址
起始数据的低位地址
数据个数或用户数据
错误校验
Byte
Byte
Byte
Byte
n个Byte
2个Byte

3主站轮询时序

依据前面介绍的轮询原理,本文采用合理的轮询处理方式。西门子PLC串口作为主站进行从站轮询时,启动发送作业,发送作业完成位DoNE置位,主站接收功能块将从站响应的数据送回给CPU处理,接收作业完成位NDR置位;同时主站构造下条请求指令,将请求指令传递到发送区域,并更新下一条指令的接收区域,启动下一个从站的发送作业。

注意当发生故障时,可以从以下3个方面进行处理:

(1)发送功能块无法完成,报错位ERRoR置位,则判断发送作业失败,启动下一个从站的发送作业。

(2)发送作业成功,而接收功能块的报错位ERRoR置位,则判断发送作业失败,启动下一个从站的发送作业。

(3)发送作业成功,而接收功能块的完成位NDR和报错位ERRoR由于某些故障无法置位,通信无法启动下一个从站的发送作业,所以在启动发送作业的同时启动超时定时器,即定时器计时结束时接收功能块的完成位NDR和报错位ERRoR仍然没有置位,则判断发送作业失败,启动下一个从站的发送作业。

当发生故障时,可以向当前站点再次发送请求,本文选择的重复次数是1次。

本文以CP341作主站为例,CP341作主站轮询从站时序图如图1所示,关于功能块[3]的信息如图2、图3所示。主站通过发送功能块FB8向s1ave1发送请求指令,由于s1ave1断线故障,没有收到主站请求,无法返回数据,且接收功能块FB7的完成位NDR和报错位ERRoR无法置位,则当超时定时器时间t0超时,主站判断本条指令失败,同时发起下条指令访问s1ave2,s1ave2收到主站请求后,将响应数据返回给主站CP341,主站将接收到的数据保存到指定位置,接收功能块DoNE置位,同时触发下一次发送作业。

注意,超时定时器时间t0(t0设置为秒级数据)大于主站接收到从站响应数据时间t,t是主站发出请求后直至接收到从站数据的时间。即t0>max(t1,t2,…,tn),其中tn是主站向第n个从站发出请求后直至接收到第n个从站数据的时间。

4主站轮询流程

本节设计了初始化流程和主站轮询流程,具体如下:

第一,初始化流程。主要完成CP模块的参数化、轮询计数器、复位接收缓冲区以及发送数据帧等方面的工作。

第二,主站轮询流程。在系统初始化完成后,手动启动第一次轮询作业,先轮询1#从站,如果在指定的超时时间内接收到1#从站返回的数据,则轮询2#从站,如果在指定的超时时间内接收到2#从站返回的数据,则一次完整的轮询结束,自动启动新一轮的轮询。主站轮询流程图如图4所示。

如果在指定的超时时间内不能接收到从站的返回数据或接收错误,则跳过本站,开始轮询下一个站点。以上内容是本文设计的西门子PLC自由口实现Modbus多站点轮询的方案。

5结语

综上所述,PLC自由口实现Modbus多站点轮询的原理是比较灵活的,可以根据控制系统的要求以及从站的信息,在轮询原理基础上进行相应灵活的组合,实现最佳通信。本文提出的该方案最突出的优势是这种轮询处理方式复制性强、灵活简便、成本低廉,可为许多工程项目带来直接的经济利益,有着非常广泛的应用前景。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭