侵权投诉

搜索
更多>> 热门搜索:
订阅
纠错
加入自媒体

【案例】PLC通用性数据通信接口的研究

2016-06-17 08:28
seele_jin
关注

  随着工业自动化的发展,PLC 驱动程序的设计和开发成为最常遇到的问题。信道利用率和数据采集效率直接影响到整个监控系统的性能。本文讨论了设计和开发PLC 驱动程序的方法;详细介绍PLC 底层驱动函数的设计和实现;并探讨了提高信道利用率的几个关键问题。实验证明,能够降低开发成本并大大提高计算机监控系统与PLC 之间的数据通信的效率和信道利用率。

  1、引言

  随着计算机科学技术、工业控制等方面的新技术的迅速发展,使用计算机监控系统与现场PLC 设备进行数据交换得到了广泛的应用。这类数据交换往往具有以下的特点,数据量大,采集点分散,带宽较窄。由于不同厂家所提供的PLC 现场设备的通讯机制并不相同,计算机监控系统软件需要开发的设备通信驱动程序就越来越多。这种复杂的设备驱动程序的开发具有以下的特点:

  首先,上位监控系统与PLC 设备间的数据交换,应用较普遍。

  其次,这种数据通讯过程,缺乏有通用性的框架设计,开发周期长,难度大,难以通用。

  再者,在有限带宽限制条件下的大数据量传输,普遍存在着信道利用率低,系统效率差,不稳定的情况,迫切需要大幅度提高信道利用率的算法。而且在已有的数据交换标准中,对于有限带宽条件下的信道利用率也没有成熟的设计。

  如上所述,开发PLC 设备的通用性数据通信接口具有广泛的应用前景和实现价值。本文主要针对上位监控系统与PLC 设备之间的数据通信进行分析,介绍了PLC 设备的驱动开发的方法,并提供PLC 通信的实例。

  2、 PLC 驱动的使用

  本文中以使用串口通讯的PLC 为例进行分析和说明,监控系统为北京昆仑通态公司生产的MCGS 监控软件。开发工具为VC++6.0。

  MCGS 中PLC 已经将串口通讯的波特率设置等功能集成至串口父设备中,因此PLC 设备驱动是作为MCGS 监控软件设备管理窗口中的子设备提供的。它可以使用父设备的通讯功能,即可以与其他设备共享父设备的通讯功能。由于使用串口的PLC 设备较多,在这里我们以使用串口通讯方式的PLC 为例进行说明PLC 通用驱动的构架的开发。如使用自定义编程电缆方式或使用以太网方式连接,此PLC 驱动构架同样适用。

  使用串口通讯的PLC 与上位机的通讯方式中,有RS232、RS485、RS422 多种方式。如果设备是采用RS232 方式通讯,那么在一个串口下面只能挂接一个设备。如果采用RS485 或者RS422 的方式通讯,那么可以使用多个设备构成一个网络,在这个网络中,为了识别各个不同的设备,给每一个设备加上一个标志,一般来说把这个标志称作设备地址。这个总线上的设备分为主设备和从设备两类。在工作时,从设备一直在监听通讯线路上的数据,并对这些数据进行分析,当收到对自己的请求时,会发送一个相应的应答帧。主设备在工作时会根据需要向从设备发送请求帧,请求一些数据或者是发送一条命令,在发完请求帧后主设备需等待从设备的回答,这个等待的过程有一个超时时间限制。如果过了一定的时间还没有收到回答,它会认为本次通讯失败,然后按照一定的逻辑判断是应该重发请求还是放弃。

  通讯使用的通讯协议,分为ASCII 通讯和16 进制通讯两类。PLC 的通讯协议中大多数都是使用16 进制通讯。而且在串口通讯中,为了保证通讯的正确性、完整性,通常在通讯帧的尾部加上校验,常见的有和校验,异或校验,CRC 校验等等。

  在通讯过程中,上位机的MCGS 监控软件调用PLC 驱动,根据具体协议,向PLC 设备发送寄存器的读写命令,并接收应答数据。

  3 、主要流程

  3.1 采集流程

  为便于说明,此处以一个采集周期内仅需单次采集的最简情况为例。在5.1 中的密集采集模式中,描述了对一周期内需多次采集的算法。

  采集过程描述如下:首先进行初始化,随后创建通道。进入数据采集周期,在每个数据采集周期中,首先形成读命令,随后校验发送数据帧,读写串口完成一次通讯,如果通讯成功,那么校验后将接收到的数据解码输出到通道,返回成功标识,如果通讯不成功或校验失败,返回失败标识。

  3.2 解析函数流程

  上图为解析数据帧的流程图。不同的设备具有不同的协议内容,使用定义好的模版解析函数只需要开发人员按照设备协议将帧分割为有效的数据部分,添入联合体FrameField 即可。该联合体可将协议数据最小分割为位来进行操作。

  如上图所示,第一个字节为帧头,最后一个字节为帧尾,第二个字节为状态标示,第三至第六个字节为模拟量,第七个字节为单位,第八个字节按位分为四路输入和四路输出。

1  2  下一页>  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号