当前位置:首页 > 工业控制 > 《机电信息》
[导读]摘要:介绍了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多站点轮询的原理是比较灵活的,可以根据控制系统的要求以及从站的信息,在轮询原理基础上进行相应灵活的组合,实现最佳通信。本文提出的该方案最突出的优势是这种轮询处理方式复制性强、灵活简便、成本低廉,可为许多工程项目带来直接的经济利益,有着非常广泛的应用前景。

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

新品播报!米尔电子发布了基于海思Hi3093高性能MPU的MYC-LHi3093核心板及开发板, 此款核心板支持openEuler embedded OS欧拉系统,丰富生态,可实现100%全国产自主可控。不仅如此,米尔基...

关键字: 核心板 PLC 开发板

在现代工业自动化领域,可编程逻辑控制器(PLC)扮演着至关重要的角色。作为工业控制系统的核心,PLC负责处理各种输入信号,执行逻辑运算,并输出控制信号以驱动执行机构,从而实现自动化生产流程的控制。而PLC的稳定运行离不开...

关键字: 可编程逻辑控制器 工业控制 PLC

单片机和PLC将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对二者的相关情况以及信息有所认识和了解,详细内容如下。

关键字: PLC 单片机

为增进大家对工控机的认识,本文将对工控机的主要分类、工控机的应用领域予以介绍。

关键字: 工控机 指数 PLC

RS-485通讯是一种在工业控制环境中常用的通讯协议,也被称为ANSI/TIA/EIA-485或简称为485通信协议。它是由美国电子工业协会(EIA)制定的通信标准,旨在解决串行通信距离短、通信速率低、干扰抗性弱等问题。

关键字: rs-485 PLC

在这篇文章中,小编将为大家带来可编程控制器的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: 可编程控制器 PLC

今天,小编将在这篇文章中为大家带来可编程逻辑控制器的有关报道,通过阅读这篇文章,大家可以对可编程逻辑控制器具备清晰的认识,主要内容如下。

关键字: 可编程逻辑控制器 PLC

PLC将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对PLC的相关情况以及信息有所认识和了解,详细内容如下。

关键字: PLC 可编程逻辑控制器

一直以来,可编程逻辑控制器都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来可编程逻辑控制器的相关介绍,详细内容请看下文。

关键字: 可编程逻辑控制器 控制器 PLC

PLC系统在工业自动化中的应用非常广泛,涵盖了制造业、电力、交通、化工等多个领域。以下是对PLC系统在工业自动化中应用的详细介绍,希望能够帮助您更好地了解这一领域。

关键字: PLC 工业自动化 智能制造
关闭