臧振胜
(中油辽河工程有限公司,辽宁 盘锦 124010)
质量流量计可以测量水蒸汽介质的流量和干度参数值,根据工况温度和压力值还可以计算出水蒸汽的实时密度、介质状态。OCS 控制器可以准确稳定地采集多个质量流量计的实时数据值,并进行逻辑判断和告警输出,OCS 同时实现网关功能将数据汇总转发至后端设备[1]。
图1 监控装置主界面图Fig.1 The main interface of the monitoring device
主界面显示RTC 硬件时钟参数,格式为yyyy-mm-dd和HH:mm:ss,分别代表日期和时间,应用%SR047 寄存器(RTC_DATE)和%SR044 寄存器(RTC_SEC)。Alarm Object Proprieties 告警控件可以实现所设置事件的告警信息。流量计的测量介质为水蒸汽,仪表显示的参数有瞬时流量值(t/h)、累积流量值(T),温度值(℃),干度值(%)和压力值(MPa)。%R00101 寄存器显示瞬时流量值,%R00103 寄存器显示累积流量值,流量计上限告警用H 表示对应Q2,下限告警用L 表示对应Q1,当流量计出现通信故障时显示X 标识对应%R00611 变量闪烁,温度对应%R00107 寄存器,干度对应%R00109 寄存器,压力对应%R00105 寄存器。曲线记录显示最近2h 的历史数据值,X 轴为记录时间,Y 轴为流量计的瞬时流量值对应%AQ109寄存器。此外主页上还有页面跳转功能键包括:参数设置、1 号站流量计、2 号站流量计和3 号站流量计[2]。
除了实时显示流量计的数据之外,监控装置可以实现历史数据的查询报表,如图2 所示。以1#流量计为例,数据查询功能可以显示历史数据的详细信息包括:序号、记录时间、瞬时流量、累积流量、压力值和温度值。第一条记录序号寄存器%R10001,时间寄存器%R12002,瞬时流量寄存器%R10008,累积流量寄存器%R10010,压力寄存器%R10012,温度寄存器%R10014;第二条记录序号寄存器%R10032,时间寄存器%R12012,瞬时流量寄存器%R10039,累积流量寄存器%R10041,压力寄存器%R10043,温度寄存器%R10045,以此类推。点击查询时间按钮会进入查询界面并会提示“请输入要查询的日期”,输入年月日的信息,并点击“载入数据”触发%T10001 寄存器。点击上5 页会触发%T10019 寄存器,点击下5 页会触发%T10021 寄存器,点击上一页寄存器会触发%T10002寄存器,点击下一页寄存器会触发%T10002 寄存器[3,4]。
图2 数据查询主界面图Fig.2 The main interface of data query
为了保证控制系统的可靠运行对硬件运行的时钟进行连续性追溯,屏幕界面包括上次断电时刻、本次上电时刻和本次断电时长3 部分。其中,上次断电时刻日期对应%R00224 寄存器,时钟对应%R00221 寄存器;本次上电时刻日期对应%R00214 寄存器,时钟对应%R00211 寄存器;本次断电时长对应%R00235 寄存器。本次上电时刻和上次断电时刻的逻辑处理细节为:每次上电捕捉上电和断电时间,上电时将保存系统RTC_SEC 时钟信息的%SR044寄 存 器 赋 给%R211、%R212、%R213、%R214、%R215和%R216 的6 个寄存器,由此记录的就是硬件上电的启动时间信息。在硬件稳定运行时,一直将保存系统RTC_SEC 时钟信息的%SR044 寄存器给%R201、%R202、%R203、%R204、%R205 和%R206的6 个寄存器。这样一旦系统出现异常,%R201 开始的寄存器存储的就是上次断电前最后的系统RTC 时钟信息,%R00235 寄存器中记录了上次断电至本次上电期间的中断时间信息。具体的实现过程是将两个时间节点的RTC信息都折算成有多少天,最后将上述两个时间进行减处理得到最终的中断时间数据[5]。
图3 断电时刻记录界面Fig.3 Record interface of power-off moment
Modbus 参数设置包括Modbus RTU 设置和Modbus TCP设置两部分。修改Modbus-RTU 通信参数后,需要停用、再启用通信启/停按钮,新的设置方能生效。其中RTU 设置时需要设置从站ID、波特率、校验方式、数据位和停止位,分别对应%R00919、%R00912、%R00913、%R00914和%R00915 寄存器。TCP 设置时需要设置IP 地址、Mask掩码和网关地址,分别对应%R00901、%R00903 和%R00905寄存器。上述参数的设置都需要点击“通信停用中”按钮进行触发保存。如果波特率里的数值小于5 或大于9,则把它赋予5,9600 波特率。如果校验位里的数值小于0 或大于2,则把它赋予0,无校验。如果数据位里的数值小于2 或大于3,则把它赋予3,8 数据位[6]。
针对流量计的运行状态监控,设备具有告警功能。由于现场流量计的运行状态复杂,既要实现告警动作又要避免误告警出现。为此,告警功能采用流量计高报限值、高报延迟时间、低报限值和低报延迟时间,同时还对高低限值告警做启停控制。以流量计1 为例,低报限值对应%R00361 寄存器、延迟时间对应%R00373 寄存器、启停控制对应%M00001 寄存器;高报限值对应%R00363寄存器、延迟时间对应%R00375 寄存器,启停控制对应%M00002 寄存器。为了便于操作者对告警信息的观察和定位,在告警界面同样放置Alarm Object Properties 告警信息栏控件,用户可以依据现实的告警信息对告警阈值和延迟时间进行针对性动态设置[7]。
装置的稳定运行需要对设备RTC时钟进行有效的溯源。如图6 所示,左上角显示的是系统当前时钟信息,用户可以点击对应的输入框修改系统日期“yyyy-mm-dd”(%SR047寄存器)和修改系统时间“HH:mm:ss”(%SR044 寄存器)。进行系统时间设置并不需要重启操作,受硬件晶振自身精度和温漂的影响,一般设备的时钟误差每个月在2min以内。因此,需要周期性地对设备时钟进行微调[8]。
图4 Modbus参数设置界面Fig.4 Modbus parameter setting interface
图5 添加Modbus驱动界面①Fig.5 Add Modbus driver interface①
图6 添加Modbus驱动界面②Fig.6 Add Modbus driver interface②
流量计监控装置可以同时对3 个流量计的数据进行采集和计算,分别包括:质量流量、温度、干度/湿度和累积量。质量流量是%R00001 寄存器除以1000 结果保存在%R00101 寄存器中,再计算将%R00101 寄存器乘以10 输出至%AQ107 寄存器,通过Real 和Int 类型转换%AQ109 寄存器的整形数据参与后续的整形计算和显示。温度将%R00003 寄存器除以1 输出给%R00107 寄存器,再对寄存器%R00107 进行上下限值判断,如果超过上限固定300℃,如果超过下限固定-60℃。干度/湿度值保存在寄存器%R00005,除以系数1 后保存至寄存器%R00109。流量计干度的计算较为复杂,一般是通过前端传感器采集的频率值查询对应的干度标定表格计算出来的。由于流量计的测量介质为饱和蒸汽,水蒸汽如果处于饱和状态下,其工况压力值可以根据工况温度值进行计算,将温度值%R00107 寄存器加273.15 实现℃和K 温度单位的换算输出至寄存器%AQ101,对上述变量进行浮点数算数运算%AQ103 = 8.10765 - (1750.286 / (235 + %R107)),10的%AQ103次幂输出至%AQ105 寄存器,这样寄存器%R105 = ((133.322 × %AQ105 / 100000) - (1.013)) / 10 的数值就是工况压力值,为了避免压力值超限,与上述温度判断一样,当压力小于0 时置工况压力为0,工况压力大于等于10 时,置工况压力为10[9]。
本文阐述了应用一体化OCS 控制器实现多台流量计数据采集和控制的研发过程。流量计监控装置可以实现流量计工况温度、干度、瞬时流量、累积流量的采集和告警监控。装置的触摸屏交互功能操作直观便捷,方便现场对告警、通信、时钟等参数的动态设置。经测试,基于OSC控制器的流量计监控装置可以稳定高效地采集3 台流量计的监控数据且可以进行历史记录查询,达到了预期的设计效果。