4、非安全级DCS平台(OVATION/TXS):OVATION系统架构与组态、TXS系统在常规岛的应用、第三方系统接口
4.1 OVATION系统架构——我眼中的“工业级Windows”
说起OVATION,我第一反应就是——这玩意儿真像一台超大号的工业PC。艾默生当年设计它的时候,估计就是奔着“让工程师好上手”去的。你打开它的组态界面,窗口、菜单、右键操作,跟Windows几乎一模一样。但别被这表象骗了,底层的实时数据库和冗余机制,那可是核电站级别的硬功夫。
OVATION的架构,说白了就是三层:过程控制层、系统网络层、人机接口层。我习惯把它想象成一栋楼:一楼是控制器(DPU),在机柜里默默干活;二楼是网络,光纤和交换机把数据搬来搬去;三楼是操作员站,工程师们喝着咖啡盯着屏幕。
核心要点:OVATION的DPU(分布式处理单元)采用1:1冗余配置。我在秦山二期遇到过一件事——一个DPU的主控卡风扇卡死,温度飙升到65℃,备用卡在2.3秒内无缝接管,过程参数一个都没跳变。这就是冗余设计的价值。
组态方面,我建议你重点掌握这几个工具:
- Control Builder——画逻辑图用的,支持FBD、SFC、LD。我个人习惯用FBD做模拟量控制,LD做开关量联锁。
- Database Builder——点表管理。嗯,这里有个坑:点表里的“Signal Conditioning”参数,很多人直接默认,结果现场信号跳变时滤波没起作用。
- Graphics Builder——画画面的。我曾经花了两天时间,就为了把某个泵的动画效果调得跟实际动作完全同步。
小技巧:组态下载时,记得先做“Compare”比对。我见过有人直接覆盖下载,结果把现场正在运行的逻辑给冲了——那场面,够你写三天事故报告。
4.2 TXS系统在常规岛的应用——西门子的“硬核”逻辑
TXS这系统,说实话,第一次接触时我有点懵。它跟OVATION完全是两种思路。OVATION像是个开放的平台,什么都能干;TXS则是个“专才”,专门干保护和控制,而且干得特别死板——但核电站就需要这种死板。
在常规岛(汽轮机、发电机、给水泵这些),TXS主要承担汽轮机保护系统(TPS)和紧急停机系统(ESD)。为什么用TXS?因为它响应时间确定,逻辑执行周期固定,不会像通用PLC那样受扫描周期波动影响。
我记得在大亚湾做改造时,汽轮机超速保护原来用继电器搭的,老出误动。换成TXS后,我们用S7-400H加ET200M远程站,组态了“三取二”逻辑。具体来说:
// 三取二逻辑示意(结构化文本)
IF (Speed_1 > LIMIT AND Speed_2 > LIMIT) OR
(Speed_1 > LIMIT AND Speed_3 > LIMIT) OR
(Speed_2 > LIMIT AND Speed_3 > LIMIT) THEN
Trip_Command := TRUE;
ELSE
Trip_Command := FALSE;
END_IF;
你看,就这么简单几行,但现场调试时我们整整测了三天——每个通道加信号,测响应时间,测故障模式。为什么?因为汽轮机超速是核电站最严重的故障之一,轴系断裂的话,整个机组就废了。
警告:TXS的组态工具(STEP 7)有个“特性”——如果你在OB1里写了太多FC调用,会导致看门狗超时。我曾经在某个项目里,OB1里塞了30多个FC,结果CPU每2小时重启一次。排查了整整一周才发现。
4.3 第三方系统接口——最头疼的部分
做仪控系统集成,最烦的就是接口。OVATION和TXS本身都是封闭系统,但现场总有第三方设备要接进来——比如汽轮机振动监测系统(Bently Nevada)、发电机励磁系统(ABB Unitrol)、甚至老旧的PLC(Modicon 984)。
接口方式无非这么几种:
| 接口类型 | 协议/介质 | 典型应用 | 我的经验 |
|---|---|---|---|
| 硬接线 | 4-20mA / 干接点 | 紧急停机信号 | 最可靠,但电缆多到你想哭 |
| 串口 | RS485 / Modbus RTU | 振动监测数据 | 波特率、校验位必须一致,否则数据全是乱码 |
| 以太网 | Modbus TCP / OPC | DCS与SIS通信 | OPC的DCOM配置,我建议你直接放弃,用OPC UA吧 |
| 网关 | 协议转换器 | 老旧PLC接入 | 网关的延迟要测,我遇到过50ms的延迟,控制回路直接震荡 |
这里我想重点说说Modbus TCP。OVATION自带Modbus TCP主站功能,但它的实现有点“个性”——它要求从站设备必须支持“保持寄存器”的读写,而且数据格式默认是Big-Endian。我遇到过一台第三方设备输出的是Little-Endian,结果读上来的数据,高16位和低16位是反的。解决办法?在OVATION的数据库里做“Word Swap”映射。
避坑指南:我曾经在某个项目里,用OVATION通过Modbus TCP读取Bently Nevada的振动值。厂家说支持Modbus,结果现场一测,它用的是“非标准功能码03”,而且数据地址从1开始(标准是从0开始)。最后没办法,写了个C语言脚本做协议转换,才把数据读上来。所以,接口调试前,一定要拿到对方的“协议手册”,别信口头承诺。
4.4 知识体系总览
说了这么多,我画了张图帮你理清思路。这张图展示了本章的核心逻辑:OVATION负责过程控制,TXS负责保护逻辑,第三方接口负责数据打通。三者缺一不可。
好了,这一章的内容就这些。OVATION的组态细节、TXS的逻辑编写技巧、接口调试的坑,后面章节我会一个一个展开讲。你先把这张图刻在脑子里,后面学起来会顺很多。
最后一句:做DCS运维,别光盯着屏幕。有机会去机柜间看看,摸摸DPU的温度,听听风扇的声音,闻闻有没有焦糊味——这些感官信息,比任何报警都好使。