和利时分散控制系统总线PA功能块的解析及改进
2021-11-04柯荣宗国能神福石狮发电有限公司泉州362700
柯荣宗 吴 吉 国能神福(石狮)发电有限公司 泉州 362700
某电厂2×1000MW超超临界发电机组分散控制系统和现场总线系统均为和利时系统一体化,全厂主机加脱硫的PA现场设备共计3000余台,其中60%以上采用国产智能设备。
1 控制系统中PROFIBUS PA的应用
PROFIBUS是一种现场总线标准,它由三个兼容部分组成[1],即PROFIBUS-DP(DecentralizedPeriphery)、PROFIBUS-PA(ProcessAutomation)和PROFIBUS-FMS (Fieldbus Message Specification)。PROFIBUSPA将过程控制系统与压力、温度、液位变送器等现场设备相连接,用于同步数据传输。
某电厂PA仪表厂家品牌有西门子、罗斯门特、EJA、E+H、VEGA等,所有品牌的设备仪表均遵循着PROFIBUS协议标准接入控制系统。
2 控制系统中PROFIBUS PA功能块的开发由来
PA仪表连接入控制系统后必须通过DCS组态解析才能读取相关数值和参数。但是现场PA仪表品牌众多,每个厂家都有自己定义的周期参数、非周期参数格式。为了解析出PA仪表数据,和利时人员必须开发出与之对应的参数格式解析块,才能正确读取参数。在PROFIBUS 协会备案的仪表厂家有数千家,和利时厂家不可能开发一一对应的解析块[2]。PA_TRANS功能块如图1所示,正是为了解决此问题而开发出来的通用解析块。
图1 PA_TRANS功能块
PROFIBUS-PA规范定义见图2。
图2 PA字节意义
PA仪表周期性数据为共5个字节,其中前4个字节为FLOAT型过程值(value),最后1个字节为状态值(status,一般仪表上报0X80表示质量品质为好点)。
所有厂家在仪表周期数据传输过程中遵循的都是以上的数据格式。和利时厂家根据通用的周期数据格式,取前4字节表示仪表的显示数值,第5字节表示仪表品质状态,开发了PA_TRANS通用解析功能块[3]。
3 PA_TRANS功能块的组成
PA_TRANS功能块定义变量如下:
输入变量:P_IN、DEV_DQ;
输出变量:PV、DQ、STATUS;
局部变量:PTEMP_IN、PV_ARR、LINK_REVOPT、PV_COF、LINK_OUT、Link_Flag、TEMP_DQ、TEMP_I、PERRO、TimeDely。
其中,输入变量“P_IN”为输入设备的初始地址,即指针指向的内存位置;“DEV_DQ”为设备运行状态信息,即设备通讯模块判断的运行状态信息;输出变量“PV”是解析完的仪表过程值;“DQ”是过程值的品质判断点。
4 PA_TRANS功能块内部结构
PA_TRANS功能块解析语句:
PTEMP_IN:=P_IN;
PV_ARR[0]:=VAL(PTEMP_IN);
FORTEMP_I:=1TO3DO PTEMP_IN:=HSADDP(PTEMP_IN,1,PERRO);
PV_ARR[TEMP_I]:=VAL(PTEMP_IN);
END_FOR;Link_Flag:=LINK(LINK_REVOPT,0,0,1.0,PV_ARR,LINK_OUT);
PV:=LINK_OUT.RELO*PV_COF;
PTEMP_IN:=HSADDP(PTEMP_IN,1,PERRO);
STATUS:=VAL(PTEMP_IN);
DQ:=DEV_DQ OR (NOT BYTE_TO_BOOL(STATUS AND 16#80));
END_IF
由以上赋值语句得出输出变量PV的数值是由“LINK_OUT.RELO”变量乘以“PV_COF”变量得来的。其中“LINK_OUT.RELO”为局部变量,取值为link模块转换后输出的REAL型数值,“PV_COF”变量取值为系统自定义REAL数据类型变量。
5 PA_TRANS功能块的应用
在DCS实际使用过程中,为了达到某个特定运行状态,经常会强制仪表当前显示值来满足需求。此时可以在功能块参数设置框(如图3所示)通过强制PV项后面的数值来达到强制仪表当前值的操作。DQ项后面的选者框是强制仪表状态的选项,主要用于保持当前值数据有效。PV_COF项为PV缩放比例,即PV输出值的缩放倍数,常用于单位转化,如Pa、bar、kPa之间的倍数转化关系。
图3 功能块参数设置框
6 PA_TRANS功能块应用中存在的不足
在某些特殊环境下,过程仪表测量存在一定的局限性,无法真实反映出实际情况,还需对测量结果进行修正。如取压管压力高低差的压力补偿、液位测量零点盲区的修正、测量仪表零点的迁移等。
目前做法是在DCS组态中通过加、减、乘、除功能块额外搭建逻辑来进行数值结果二次运行。此种做法需在控制器中定义局部新变量并赋值,并会占用控制器宝贵的运存资源,且形成的一大堆组态逻辑不便于逻辑阅读[4]。
7 PA_TRANS功能块的改进
通过在PA_TRANS功能块中集成偏置功能来解决以上问题。
要实现偏置功能,需要在PA_TRANS功能块中定义一个局部变量用于偏置的修正赋值。如附图4所示。
图4 变量定义框
定义一个新变量,变量名为BS,数据类型选择REAL型。
原解析块PV赋值语句“PV:=LINK_OUT.RELO*PV_COF”,需再加上我们新定义的变量“BS”。语句改为:“PV:=LINK_OUT.RELO*PV_COF+BS”。
更改完后对功能块进行编译,然后对整个DCS工程进行编译,最后把工程下装至各就地控制器,即可实现功能块新增功能。如图5所示,打开变量面板会多出添加的变量BS项,可直接通过修改BS项后面数值对过程值结果进行修正。
图5 修改后功能块参数设置框
8 结语
本文针对和利时控制系统中PA_TRANS的原理及作用进行深入研究,根据现场实际使用经验提出了功能块偏置功能,并实际解决了现场使用人员的需求,减少了现场人员的组态工作量,提高了DCS运行效率,促进了机组安全可靠运行。