变步长算法的实时动画在火电厂翻车机监控系统的应用
一、引 言
在现代电力系统中,对现场设备和相关自动化设备的实时监控以及故障诊断,是一个必不可少的环节;随着自动化程度的提高,及时而又准确地预测和排除故障已经成为业内人士的常见话题。然而,在实时动画模拟仿真系统中,动画动作与实际的被模拟运动对象不同步的问题十分突出,直接影响了实时监视的效果。本文中提出了一种基于变步长算法的实时动画生成方法,该方法根据记录上一次运行的数据自动地调整下一次运行的参数,应用于动画运行状态。同时,由于采用了多线程等技术,模拟动画能基本上与现场设备的运行状态同步。
二、自适应变步长算法的设计原理
1.翻车机监控系统运行流程
火电厂翻车机卸煤系统是电厂的重要设备,由牵重、翻车和迁空三个子系统组成,主要操作设备有重调机、翻车机、迁车台、空调机。大致的运行过程为:重调机把一节一节的煤车牵到翻车机内,同时把翻完的上一节空车推向迁车台;接着翻车机通过压、靠等把煤车固定,正翻165度,把煤卸下;迁车台把空车迁往空车线,到达空车线后再由空调机把空车推走。
由于运行过程中各设备需要进行协调操作且联锁要求高,同时几个子系统分布于不同视线区域,在实际运行时,即使借助工业电视也不能全面、及时、准确地了解整个卸煤系统的运行情况,因此容易造成设备损坏。为了解决以上问题,现在大部分的翻车机系统都设计了实时监控系统,把主要的运行设备集中在一个画面上,模拟现场,这样就对设备的运行情况一目了然。
根据设备位置和动作的不同,我们把各个设备的运动过程分为一些相关的运动状态,如表1所示。
2.自适应变步长算法
所谓自适应变步长,就是在现场设备随环境等因素影响而使运动的速度参数发生改变的时候,模拟动画系统就能够记录下变化的参数,下一个循环周期就及时地调整动画模型、改变移动步距,实时跟上现场的变化。动画的过程,实质上就是根据相关数据每隔一定时间改变移动对象位置。控制对象的运动,需要改变对象的运动速度。改变运动的速度有两种方法,一种是改变运动的步距,另一种是改变每一步所花的时间。一般情况下,采用这两种方法的结合来调整速度。在翻车机实时监控系统中采用的自适应变步长算法,是根据实时需要改变步距,连续地调整速度。变步长算法的实时监控流程如图1所示。
该变步长算法把对象移动的方向作为一个变量,与步长因子一起作为步长调整的参数。对于重调机、空调机、迁车台而言,运动都是直线式;翻车机是旋转的对象,其角度的变化就相当于要改变的步长。各对象的每一种状态都在一定的位置范围内,都有一个确定的初始位置,在这个初始位置的基础之上,利用不断累加的步数与方向和步长因子一起相乘得到的数值,即可确定相应对象的大致位置。由于对象的位置只能是象素整数,所以对得到的位置进行取整即得到相应对象的下一步位置。由于步长因子是根据我们的需要随时变化而且连续可调的,这样就实现了速度的连续可调。
下面以重调机接车为例来说明算法的实现。
设△V为调整以后的步长因子,本次接车的过程所花的时间为t, △Pi为第i步的步长,n为调整后的步数,f为调整后的步频(每秒钟所走的步数),S为接车段的总长度,方向为D(重调机和空调机向左移、迁车台下移、翻车机正翻取+1,相反方向取-1),round为取整函数。
则有:
ni表示从起始位置开始所走的步数。
显然有:
调整f和△V就可以实现△Pi的连续不同取值,这样就保证了步长的整数要求,又使速度可以连续调整。
三、实时动画的同步性分析
在翻车机实时监控系统中,为了做到动画与现场、通信、故障诊断等的同步,除了在算法上采用了变步长实时检测动画的步距,同时也利用了多线程等编程技术,使得动画、通信、故障诊断等各自拥有独立的线程。CPU分时处理各线程的事务,从而保证了动画的同步性。
1.通信对动画同步性的影响
实时动画是模拟现场的运行状况,所以就必须要从现场得到相关的数据。在黄石电厂翻车机实时监控系统中,是通过PLC(在黄石电厂翻车机实时监控系统中采用的是美国A-B即Allen & Bradley公司的SLC5O0)把现场的传感、操作、信号灯等信号传过来的。为了节省上位机处理通信的时间,我们采用了武汉大学开发的USB多协议智能采集卡从PLC采集数据。该采集卡把PLC传过来的数据进行打包存放在自己的存储器中,上位机通过USB接口把数据成批的取过来,再通过程序把数据转换为动画控制可以直接应用的信号。由于采用了上下位机同时工作的机制,整个通信的时间很短,从PLC发出去的控制信号基本上同步地传到上位机。这样,就保证了现场采集的数据与我们用于动画控制的数据同步。
2.动画与故障诊断的同步
故障诊断部分随时监测现场设备的运行,利用采集过来的实时信号与正常情况比较,判断设备是否运行正常或判断发生了什么故障,提出故障处理建议。模拟仿真动画是为了监视设备的运行而设计的,它其实就是故障诊断的一部分。它为故障诊断提供直观的感性数据,通过对模拟动画的观察,可以很快地确定故障的大致位置。配合故障诊断的建议,操作员就可以很快地知道故障所在地及故障类型,及时地排除故障。
3.动画与现场运行对象的同步
实时监控系统模拟动画是现场的反映,要求能把现场的运行情况实时而准确地反映出来。对于翻车机系统来说,虽然各个对象的状态和过程是确定的,但是从长时间来看各个运动状态的参数还是会有相应改变的。譬如,重调机的抬臂接车阶段,在夏天由于其油泵的油温高,油流畅通,液压效果好,重调机抬落臂的时间短一些,接车整个阶段的时间相对来说就短一些;而在冬季,由于油泵油温低,易凝固,需要加热,液压效果差,所以抬落臂的时间就长一些,接车整个阶段的时间相对来说就长一些。如果将这种变化抑制在允许的范围内,通过一些状态改变点的强制性同步,模拟动画基本上能与现场保持一致。但是在实际运行对象速度变化较大的情况下,同步就比较困难。这时采用自适应变步长算法后,动画模拟程序就会记录下相关的数据,改变运动的步长,更新速度参数,下一次启动的时候,模拟动画就完全可以与现场保持同步。虽然是在每次重新启动程序以后才更新数据,但是由于现场状态参数的变化是很缓慢的,每一次的速度改变也不是很大,在每次操作员登录的时候系统就会运行一次步长检查程序,对步长进行调整,其同步性是能够满足要求的。
四、结 论
自适应变步长同步算法已应用于黄石电厂翻车机实时监控系统。该系统实时动画采用可视化Delphi语言编程,界面直观,在图片处理方面占有很大优势,同步性较好,动画响应速度快,应用效果良好。
文中提出的自适应变步长算法,在系统运动对象速度不高、且速度已受环境等四环素条件改变的情况下较为适用,其同步性效果较好。
文章版权归西部工控xbgk所有,未经许可不得转载。