欢迎光临上海鹰牌衡器有限公司,我们将竭诚为您服务!许可证号:沪制00000024
网站地图  |  加入收藏   |  官方博客  |  地磅  |  电子汽车衡  |  上海地磅  | 中文版  | English
资讯分类 News
联系我们

    公司地址:上海市奉贤区柘林镇王家圩八桥一组124号

    电话:021-64365955  

    传真:021-64360688  

    服务热线:400-021-8108

    邮编: 201415

    网址: www.yingpaiscale.com

搅拌站地磅控制系统通讯故障检测及软件优化

文章来源:
作者:
发表时间: 2017-07-17 00:00:00

    本文以某混凝土搅拌站地磅控制系统为例,分析发生通讯故障的原因,采用系统软件对其使用中的通讯情况进行检测,并提出软件优化方法,从而保证搅拌站控制系统的可靠运行。

    1.控制系统结构

    某混凝土搅拌站采用工控机(工业控制计算机)、PLC(可编程控制器)、称重仪表(称重仪表、传感器等执行元件)组成的控制系统,对电动机、电磁阀等设备进行控制,其原理如图1所示。该搅拌站控制系统配置1台工控机、10台配料仪表和1台PLC。其中PLC与工控机的交互点通常为625个。

    工控机为上位机,其作用是将生产指令下达到PLC及称量仪表。称重仪表、PLC为下位机,称重仪表接收到工控机指令后负责配料过程。PLC接收工控机指令及称量仪表的输入信号后控制搅拌站电控系统的电磁阀、电动机动作。

    在搅拌站运行过程中,工控机采集称量仪表数据并进行显示和存储,同时采集PLC输出的状态信号。工控机需实时获取搅拌站运行状态的数据,并根据反馈数据下达生产指令。

搅拌站地磅控制系统通讯故障检测及软件优化

    2.通讯方式

    搅拌站控制系统通讯方式通常采用MODICON公司开发并推行的Modbus通信协议,该通讯方式已经成为工业自动化控制系统的标准通信协议。通过该协议,不同厂商生产的控制系统可以进行工业网络互联,从而实现各个系统的集散控制。本文介绍的搅拌站控制系统所用工控机采用ModbusRTU方式,工控机与PLC米用ModbusTCP方式。

    该控制系统工控机(上位机)软件基于.NET平台开发。.NET平台由微软公司推出,具有跨语言、跨平台、跨系统的能力。方便利用XML技术开发显示及打印数据报表,还能使用GDI+设计各种图形编辑器,适用于开发复杂的企业级应用程序。工控机控制程序通过不同线程(程序执行信号流的最小单元)实时收集到称重仪表和PLC(下位机)数据,保证各设备信号能够实时反馈给工控机。工控机通讯方式如图2所示。

    搅拌站各机构相关动作的系列命令称为缓存指令,缓存指令列队储存于工控机的缓存区,根据需要实时下发操作指令。工控机定时器持续循环查询指令队列,间隔时间为20ms。若有缓存指令则下发,若没有缓存指令则下发“读交互数据”指令,以读取交互数据(称重仪表与PLC之间交互信号)。根据Modbus协议规定,检查控制系统各指令后需回复数据是否正确。

    在控制系统运行过程中,会由于其他设备运行时的电磁干扰,影响通讯质量,造成数据丢失或没有响应的现象。控制系统根据搅拌站的运行状态和运行反馈信息对混凝土的生产流程进行控制,若在生产过程中发生通讯故障,将给生产带来重大的经济损失,甚至造成生产事故。因此,对控制系统的通讯状态进行监控必不可少。

    3.故障分析与检测方法

    在搅拌站控制系统运行中,即使搅拌站处于正常运行状态,也会发生信号数据丢失或操纵没有响应等故障。

    (1)故障分析

    信号数据丢失根据搅拌站控制系统实际运行情况,正常信号状态变化持续时间皆大于200ms。通过计算规定时间内的通讯次数得出,工控机与PLC的正常通讯频率约为15.7次/s,即约64ms更新1次数据信息。因此正常情况下,工控机能够及时捕捉到设备状态变化信号。

    在控制系统实际运行过程中,通过软件记录分析,我们发现有些数据交互消耗时间过长,甚至超过800ms。例如,工控机在某些特定状态时,将某些特定状态信号及数据保存到数据库时,若存储数据较多,会造成保存或调取所消耗的时间较长,导致该次的数据交互时间过长。这样在对于状态变化持续时间较短的信号,可能会出现信号丢失现象。

    系统没有响应由于.NETFramwork对线程数量的限制,若运行的线程数量超过设置线程数时,新启动的线程会不能执行。该控制系统中,工控机使用System.Timer定时器循环读取数据,启动定时器时即启动一个新线程。执行指令时启动执行器,指令结束后停止定时器,执行下一个指令再启动定时器,如图2所示。若工控机程序运行时,在某一时刻的线程数量超过限制线程时,就不能继续执行操作指令,造成工控机对下位机的通讯中断。

    另外,根据工控机软件的通讯方式(见图2),当指令在缓存区中缓存指令较多时,将会延时读取交互数据指令,不能更新控制系统状态,这也是工控机不能及时响应操作和反馈状态的原因。

    (2)检测方法

    根据对通讯故障原因的分析,可应用参数估计法检测故障,即根据控制系统的参数值与其正常值之间的偏离程度,判断控制系统是否处于故障状况。确定该控制系统中数据通讯的检测参数为指令执行时间、指令执行间隔时间、指令缓存数量。

    1个指令的执行周期包括下发指令、接收数据、判断数据、状态更新。指令执行时间为1个执行周期的总时间,该时间可用于检测是否会发生信号丢失故障。指令执行间隔时间用于检测通讯是否中断,检测指令缓存数量可防止系统长时间无响应。通过实际测试,在正常生产情况下,完成一次数据读写及界面更新,耗时为15~120ms,指令执行间隔时间设置为20ms,指令缓存数量最大约为50个。根据以上分析,我们确定检测参数,指令执行时间为200ms,指令执行间隔时间为50ms,缓存队列数量为60个,该参数即为检测故障的限制值。

    控制系统运行时,按照以上限制值执行执行检测。实时计算每个指令的执行时间和缓存队列的指令数量,检测值超出限制值时系统给出报警信息,情况严重时提示操作人员停止生产进行设备检查。每条指令执行完成后,在指令执行间隔时间内限制值检测是否已开始执行下一个指令,若没有持续执行则报警提示,停止搅拌站生产。

    4.软件优化方法

    为了提高控制系统的可靠性,减少通讯故障和故障报警,保证控制系统的安全运行。针对上述通讯故障的产生原因,在软件方面要进行优化,如下所示。

    (1)异步执行减少耗时

    对于特殊状态信号,在状态变化时需要进行数据库操作,用同步方式执行需要等待的数据库,操作完成后才能继续执行。因此,在程序中应对数据库的操作进行异步执行,不占用指令执行时间,这样会提高数据交互速度和通讯频率。

    (2)减少线程使用量

    整合控制系统程序运行资源,减少系统中对System.Timer(即启动新线程)的使用。通过监控该控制系统得知,并列发送线程的数量最多可达到29个,这将影响到新线程的启动,可导致新线程不能启动。通过优化将原控制程序中部分辅助功能中的定时器,或者对时间精度要求较低的控制功能,用自定义的统一时间触发器代替。这样可降低系统运行时的并列发送线程数,可将最大线程数降低至21个,由此保证控制系统程序的可靠运行,避免线程不能启动工况,解决通讯中断问题。

    (3)分批执行缓存区指令

    根据该搅拌站控制系统现有通讯方式,当缓存区指令数据超出限制值时,进行分批执行。执行指定数量后,执行“读交互数据”指令,循环执行,使缓存区数量达到安全水平,避免系统出现无响应现象。

    5.系统优化效果

    我们根据以上故障诊断方法编制了相应的故障诊断程序,对.NET平台的搅拌站控制系统的通讯方式进行实时监测,保证混凝土生产过程的安全可靠。根据以上优化方法对该控制系统程序进行的进一步优化,提高了系统软件的运行质量。在实际应用中,这种方法对搅拌站.NET平台控制系统通讯方案的设计和故障排查具有很好的指导意义.

搅拌站地磅

 
上海地磅
点击这里给我发消息
在线客服
点击这里给我发消息
技术咨询
上海地磅
手机版
上海地磅
扫一扫关注公众号