多控制系统间的时钟同步
2020-09-27徐强牛方波宗计富
徐强,牛方波,宗计富
(中石化齐鲁分公司 运行维护中心,山东 淄博 255400)
目前石油化工装置过程控制的发展趋势是集中化、复杂化、功能独立化,一套生产装置有多种控制系统并存,如DCS,SIS,GDS,CCS,SCADA等,各种系统间相互独立又互相联系。为了方便事故查询和故障分析,各系统之间应保持时钟一致。SH/T 3092—2013《石油化工分散控制系统设计规范》[1]第5.3.7.2款要求,“宜由DCS向第三方计算机或网络发布时钟同步信号”;GB/T 50770—2013《石油化工安全仪表系统设计规范》[2]第5.0.20条要求,“安全仪表系统内的设备宜设置同一时钟”。时钟同步,就是通过对本地时钟的某些操作,达到为分布式系统提供一个统一时间标度的过程。该过程中,重要的是时钟的一致性,时钟基准源宜选择DCS控制器时钟,也可以是工程师站时钟,但不要求和GPS或北京时间这些基准时钟完全一致。
1 应用实例
如某大型煤气化装置,DCS采用Forboro的I/A系统,用于基本过程控制,包括7套控制站、8台操作员站;SIS的逻辑控制器采用HIMA的H51q-HRS系统,用于气化炉的开停车时序控制和安全保护,包括3套控制站;氨制冷透平离心机组联锁保护采用TRICON的TS3000系统和Bently的3500机组状态检测系统,调速及防喘振控制采用CCC系统,分别各有1套控制站和2台操作员站。为了保证同一装置内不同系统间的历史趋势、SOE数据时间的一致性,需要在各系统间做时钟同步。常用的做法有网络授时(NTP)、GPS授时、DCS授时等几种方式。根据文献[1]的规定,宜由DCS向第三方计算机或网络发布时钟同步信号。因此采用DCS工程师站时钟作为基准,定期(每天或每小时)向各系统发布授时命令。工程师站时钟可以定期人工校准,实际上这是一种纠偏授时,发布的是时间基准信号,并不是准确的基准时钟数值,考虑到实现的简易性,该方法还是得到了大量的实践应用。下面对不同系统的时钟同步分别讲述,时钟同步网络示意如图1所示。
1.1 DCS内部时钟同步
DCS内部设置以工程师站为时钟基准,每隔12 h自动同时向7个控制站和操作站授时,确保DCS时钟的一致性。该属性为DCS内部的功能属性,无需再单独设置。
1.2 DCS与SIS时钟同步
由于DCS和SIS之间有3对冗余的通信连接,而且SIS本身有经过认证的安全局域网连接。为保证授时指令的唯一性,在DCS和SIS间只发送一条时钟同步指令(SIS03和DCS 4号控制站之间),SIS接到授时指令的同时自动向网络上的其他2套控制站发送同步指令。时钟同步的具体步骤如下:
1)确定时钟同步的间隔: 每周、每天或每小时,该案例中的时钟同步间隔是每天。即每天中午12:00由DCS 4号控制站发送阶跃脉冲信号,作为时钟同步的基准。
2)读取系统时钟,经分解后保留年、月、日三级日期数据,在该基础上增加时刻12:00:00:00,将日期和时刻合成。
3)接到同步指令后,将上述合成的时钟信号回写到系统。
1.3 DCS与TS3000系统时钟同步
TS3000系统时钟同步与SIS类似,每天中午12:00由DCS 6号控制站通过硬接线向TS3000系统控制站发送阶跃脉冲信号,作为时钟同步的基准。
图1 时钟同步网络示意
由于机组保护系统有操作站,还要将TS3000系统控制站时钟再同步到上位操作站中。该案例中上位机监控软件是INTOUCH,将TS3000系统中控制站的时、分、秒变量添加到INTOUCH的标记名词典中,然后添加脚本,每天定时将时间变量写到操作站的Windows系统中。
1.4 TS3000系统与CCC系统时钟同步
压缩机组的防喘振及调速由CCC系统实现,考虑到2台操作站和原来TS3000系统相邻,选用了NTP协议。NTP协议是计算机网络间时钟同步的通用协议,可以提供高精准度的时间校正,同时采用了识别机制,提高了抗干扰能力。现在有很多专用的NTP软件,组态界面友好,也可以使用简单的DOS命令来完成,本例就是使用了Windows系统自带的NTP命令。具体步骤如下:
1)在TS3000系统2号操作站和CCC系统1号操作站分别增加1块网卡,用网线连接,专用于时钟同步。
2)CCC系统1号操作站采用NTP协议,从TS3000系统2号操作站读取系统时间来同步本站系统时钟。
3)CCC系统2号操作站采用NTP协议,读取CCC系统1号操作站时钟来同步本站系统时钟。
4)在CCC系统内组态,将控制器时间与操作站同步。
1.5 Bently 3500的时钟同步
机组状态监测系统Bently 3500系统监视氨制冷透平机组的运行状态,其中振动和位移设置了联锁停机并通过硬接线连接到TS3000系统;同时3500系统自身有硬件诊断信息和报警联锁记录。为了方便故障分析,3500系统也要和DCS时间保持一致。但是3500系统没有接受外部时钟同步信号功能,因此采取了手动同步的方法。
2 时钟同步的注意事项
各控制系统间的时钟同步要注意以下各项:
1)时钟源的唯一。根据文献[1]要求,“宜由DCS向第三方计算机或网络发布时钟同步信号”。该案例时钟基准是DCS工程师站,不同系统的操作站、控制站、工程师站、SOE站等应保持同一个时间基准,避免重复授时。
2)单一系统内注意操作站、控制站上下层授时的一致性和单向性。该案例中没有给SIS的工程师站和SOE站时钟同步,主要考虑到SIS的SOE站时间是控制器时间,PC端没有影响,对于有趋势服务要求的SIS记录,可以参考CCS上层编写脚本的方法实现。
3)读取控制器时钟分解时要注意算法,考虑闰年的影响。
4)采用纠偏授时要注意避开整点(整天、整周等)授时,防止信号跳变造成较大误差。
5)纠偏授时在保证授时信号稳定抗干扰的同时,应合理使用延时模块,减少延时误差。
6)定期检查时钟信号的一致性,及时发现授时错误。由于干扰、交换机故障、电缆故障、IP地址冲突等原因,授时信号会发生中断,需要维护人员定期检查,及时重启授时服务或者人工纠正授时偏差。
3 结束语
同步方案投用以来,各系统之间时钟始终保持同步,提高了故障分析的便利性。
需要强调的是,考虑到网络病毒传播的可能性,上文中NTP授时并不完善,各系统间最好加网络防火墙,同时要考虑防火墙对NTP协议的影响。然而考虑防火墙,实现的成本则会很高,NTP授时一般用于相对独立的控制系统内部,如DCS,CCS等系统的操作站、控制站、工程师站内部之间的时钟同步。纠偏授时的精度不高,大概在500 ms以内,而NTP可以达到ms级;由于纠偏授时只是简单的脉冲信号,各系统间是相互“隔离的”,可以防止网络攻击,同时简单易行,成本低廉。实际上,秒级的授时精度可以满足大多数生产需求,因此,对于控制系统时钟同步,本文所述方案可以作为一种简洁、便利的方法进行推广。