ST语言在发电机定冷水温差报警的应用
2018-10-21严郁
严 郁
(大唐略阳发电有限责任公司,陕西 略阳 724300)
0 引言
根据《防止电力生产事故的二十五项重点要求》(国能安全〔2014〕161号)10.3.1.7条要求:“对于水氢冷定子线棒层间测温元件的温差达8 ℃或定子线棒引水管同层出水温差达8 ℃报警时,应检查定子三相电流是否平衡,定子绕组水路流量与压力是否异常,如果发电机的过热是由于内冷水中断或内冷水量减少引起,则应立即恢复供水。当定子线棒温差达14 ℃或定子引水管出水温差达12 ℃,或任一定子槽内层间测温元件温度超过90 ℃或出水温度超过85 ℃时,应立即降低负荷,在确认测温元件无误后,为避免发生重大事故,应立即停机,进行反冲洗及有关检查处理。”及时监测并准确判断发电机温度差越限,对发电机而言是非常重要的。
结构化文本(structured text,ST)语言因其自然语言灵活性强、表达丰富,以及结构化程序的清晰易读和逻辑严密,在温差判断中应用较多。
1 机组DCS系统简介
某发电公司7号机组汽轮机为亚临界参数、高中压合缸、一次中间再热、双缸双排气、单轴、抽汽凝汽式330 MW汽轮机,由哈尔滨汽轮机厂有限责任公司生产,型号为C305/N330-16.7/537/537/0.45。发电机为水-氢-氢冷、静态励磁式,由哈尔滨电机厂有限责任公司生产,型号为QFSN-330-2。控制系统则采用杭州和利时自动化有限责任公司提供的MACS6型DCS控制系统。
发电机设计定子线圈出水温度测点60个,定子铁芯温度测点18个,均送至DCS系统集中监视。因测点数量多、分布广,不利于运行人员对发电机的实时状况监控与判断。由于设计初期未考虑多点温度差值判断功能需求,DCS系统不能实现该功能。为保证设备可靠运行,该公司在MACS6系统基础上使用ST语言开发了温度越限判断功能模块,以满足“二十五项反措”的要求。
2 解决方案
DCS系统组态通常使用功能模块图(function block diagram,FBD)实现工程组态。功能模块图程序设计语言的特点是:
(1) 以功能模块为单位,分析理解控制方案简单容易;
(2) 功能模块是用图形的形式表达功能,直观性强,对于具有数字逻辑电路基础的设计人员是很容易掌握的编程;
(3) 对规模大、控制逻辑关系复杂的控制系统,由于功能模块图能够清楚表达功能关系,使编程调试时间大大减少,但其功能的实现取决于DCS系统公司的技术开发深度。
ST语言是一种高级的文本语言,可以用来描述功能,功能模块和程序的行为还可以在顺序功能流程图中描述步、动作和转变的行为。ST语言是一个专门为工业控制应用开发的编程语言,具有很强的编程能力,可用于对变量赋值、回调功能和功能块、创建表达式、编写条件语句和迭代程序等,非常适合应用在复杂的算术计算中,也是开发FBD功能模块的底层语言。
本次解决方案是温度判断采用令牌传递查找方式,将判断结果赋值于令牌(临时变量),逐级比较,通过不断判断更新并向下传递,直至数据查询完毕,最终结果便可输出。其数据判断原理如图1所示。
图1 数据令牌传递原理
该判断可以实现在多个模拟量之间进行最大最小值判断、最大最小值定位、最大偏差值判断、偏差大报警输出、无效点剔除统计、层级判断等功能。
ST语言经过编译后,可自动生成为可以任意调用的FBD功能模块图(见图2)。若通过自定义功能模块库进行编辑封装,可以实现全系统调用,使用起来非常方便灵活,将复杂的逻辑判断直观化。
第1级功能模块可实现最多16点偏差判断,并且可以通过多级级联方式,实现更多点判断,最终将上百个点进行准确判断。当偏差大于设定偏差值时,通过光字报警提示运行人员查看,并能通过组态提示画面快速定位最大值及最小值的位置,及时判断并采取有效措施。
3 实施效果
结合该公司实际情况,经过现场多方面调研,最终确定了逻辑实现原理。该逻辑通过离线编写、仿真调试验证后,移植至该厂7号机组DCS系统,通过组态下装已正常实现运行监视。实践证明,其判断准确度高,能满足该公司的实际要求。
ST语言的显著特征是代码和数据的分离。这种语言能够把执行某个特殊任务的指令和数据从程序的其余部分分离出去、隐藏起来,可以有效减少为测点提供中间变量区而产生的系统负荷,提高了逻辑判断的灵活性;还可以减少判断语句,配合使用1 s调度周期,降低DCS系统的负荷。
图2 封装后的功能模块
4 结束语
该方案在MACS6平台基础上,使用功能灵活的ST语言进行高级功能开发,并以简单直观、上手要求不高的FBD功能模块实现功能,进而满足设备安全需要,并为该公司节约了开发费用。同时,该功能可以在MACS6平台下实现其他类型模拟量多点判断报警功能,并且能在同一平台上移植,具有较好的兼容性。