随着工业自动化的发展,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 才可。该联合体可将协议数据大于拆分为位来展开操作者。
如上图右图,第一个字节为帧头,最后一个字节为帧尾,第二个字节为状态标明,第三至第六个字节为模拟量,第七个字节为单位,第八个字节按位分成四路输出和四路输入。
本文来源:开云·app-www.sozonoki.com