刘顺强
(山东能源肥矿集团杨营能源公司,山东 梁山 272600)
CANopen在乳化液泵站中的应用
刘顺强
(山东能源肥矿集团杨营能源公司,山东 梁山 272600)
乳化液泵站是煤矿井下综采工作面的重要组成部分,我国的泵站电控系统大都采用了CAN总线的通信方式,安全可靠布线简单。本文介绍杨营公司改造的乳化液泵站的所使用CANopen通信协议的情况,叙述了在使用时遇到的问题和解决办法。
乳化液泵站;CANopen;SDO;PDO
乳化液泵站是井下综采工作面的主要设备之一,其质量好坏直接影响这生产的效率。泵站的好坏受泵头的直接影响,压力的稳定性又受电磁阀加卸载动作速度的影响。国外的泵站对泵头有齐全的保护措施,电磁加卸载动作迅速。在这样的背景下,杨营公司改造的乳化液泵站以进口泵站为标杆,在保护同样齐全的条件下,采用CANopen的通信方式以减少接线,同时充分利用CANopen的技术特点以达到迅速控制电磁阀动作的目的。
3柱塞的乳化液泵一般情况下大采高需要4泵2箱,其中3用1备。通常主泵的压力范围是290-315bar、从1为280-290bar、从2为260-280bar。程序必须能实现动态的主从备,而不能认为规定主从备,以满足随时改变主从备的需求。动态的主从备就需要由主站控制器统一地进行加卸载控制,控制逻辑不能固定在各个分站控制器中。
一个耗费时间的事件就是系统压力首先要传输到主站控制器,主站进行计算然后将加卸载信号发送到泵头分站。另外虽然CAN总线的安全行和可靠性是公认的,但是依然存在着数据丢失的问题。CAN总线的特点是当干扰到了某一分站,一个局部的错误不会影响到整体。
此时主站会认为已经正确地发送了一帧数据,而其中一个泵头分站正好受干扰而导致数据丢失,如果该信号正好为卸载信号,将引起严重的事故。
由于系统压力传感器的数据是至关重要的,因此需要一个快的传输速度。这里我们采用了传输方式255(异步传输),事件时间为60ms的TxPDO,以满足迅速的数据发送要求。
为了避免迅速的数据变化淹没总线,程序里采用定时的办法,与时间相吻合。下面是代码片段。
if(timer.Q==true)
{TxPDO1[0]=uSystemPress;
timer.Reset();}
这样,再加上主站20ms的时间常数,系统在80ms就可以控制卸载阀动作。实践表明,这样的速度能够非常好的满足泵站的工艺要求。
为了避免局部错误造成数据丢失,进而造成更严重的事故。一个可以利用的手段是面向连接的SDO通信方式,但是这种方法实时性差,通常很少用来进行过程数据的传输。同样地,主站也采用了事件时间,强迫主站150ms进行一次数据传输。
利用PDO(过程数据对象)和SDO(服务数据对象)的特殊通信方式,解决CANopen协议在泵站控制应用中局限性的方案。可以两种方式配合使用来满足更复杂的功能需求,这样可以有效提高CANopen在泵站控制中的灵活性和可靠性。
这样,一个偶然的数据丢失会在150ms后重新接收到该数据。对于乳化液泵站来说150ms的偶尔一次(甚至是极为罕见)数据丢失不会存在什么事关安全的问题。如果是真的线路问题,CANopen的HeartBeat保护机制将会发挥作用。
利用时间和HeartBeat,我们将很好地保护管路,不会因为一个通信的失误而造成更严重的生产事故。
至今,杨营公司改造的泵站已经正常使用,刚开始出现的两个关系到安全的问题都得到了很好的解决。充分利用好CANopen提供的事件时间是系统成功的关键,另外项目初期我们还尝试过试用更高级的同步TxPDO传输方式,但是由于同步对象发生频繁(一般为主站的循环中期),可以想象同步对象丢失的可能性更大,同步对象的丢失将导致CANopen从站发送紧急对象并复位。这在井下干扰严重的情况下使用,显然是不合适的。
[1]CANopen Appl ication Layer and Communication Prof ile.CiA Draft Standard 301 V4.02 Date:13 February 2002.
[2]现场总线CANopen设计与应用,(德)蔡豪格.北京航空航天大学出版社,2011-07-01.
刘顺强(1982—),男,毕业于山东科技大学控制理论与控制工程专业,现从事机电管理技术工作。