三星电站监控升级改造通信故障分析

2023-10-25 11:47四川明星电力股份有限公司王贤福
电力设备管理 2023年17期
关键词:南瑞辅机模拟量

四川明星电力股份有限公司 王贤福

1 引言

三星水电站原名白禅寺电航工程,属涪江干流开发的第十七级电站,距离遂宁市区约32km,电站于1999年首台机组发电。2012年初三星电站对上下位机和辅机监控进行了升级改造,上位机软件升级为南瑞NC2000,下位机取消了工业主机,顺控流程直接放入PLC,改造前后其拓扑结构如下。改造过程中问题很多,本文主要讨论驱动文件配置错误引发的通信问题。

2 故障案例

2.1 南瑞监控与许继10kV 箱式站保护通信故障

2.1.1 结构情况

10kV 箱式站2010年改造,设备数据通过通信管理机用103规约送后台计算机。改造前三星站送往调度的主设备数据通过电力猫调制后由载波传输,10kV 箱式站数据汇总给RTU 用GSM 信号传输。改造后,统一由上位机走SDH 通道发往调度。南瑞远动机为CDT 主站。

2.1.2 处理过程

通道搭建好后,串口板数据灯不亮,测量通信电压发现data+、data-间电压1.03V,电平信号不对。排除硬件原因后检查许继通信机配置,发现RTU 目录下upch6中的channel.cfg

通道配置文件串口模式为1,表示使用232方式发送,而实际接线为485方式,改为485方式输出后串口数据灯闪烁正常。

查看南瑞数据库,数据错乱,但许继监控数据正常,故可排除通信机或保护装置发送错误。打开通道报文监视:EB 90 EB 90 EB 90 71 61 15 01 00 37 00 14 01 11 01 EE 01 2C 01 5E 07 1F 02 00 4D 07 D7。

从报文可看出发送内容为重要遥测量,共21个信息字,主站地址00,子站地址01。信息字按许继转发表定义,第一点为主变高压侧电流,转换为十进制是276,转发系数为0.00293,计算公式为:显示值=实际报文值×转发系数,即276×0.00293=0.80868(A),由于传送的是二次测量值,必须乘以变比后才是一次值,所以一次电流值=0.80868×10=8.0868(A)正确。

发送端输出数据正确,中间接线经检查正常,继续检查接收端驱动文件。打开nari 目录下txt 文件夹,找到cdt_m 中的cdtdef.h 和cdtdef.c,此二文件一个是预编译头文件,一个是驱动源文件。

cdtdef.h 定义了系统库函数的头文件(#include 部分)以及数据枚举(typedef enum部分)和程序预编译。该头文件完全遵循CDT 标准编写。继续看驱动文件cdtdef.c,文件由许多功能函数构成,主函数通过while(1)不断调用MsgProcess( )函数,处理接收信文,定位到MsgProcess( )函数段,CDT 规约信文处理函数段如图2所示。

图1 CDT 规约信文处理函数段

图2 修改后的CDT 驱动文件

图中蓝色背景为模拟量处理字段,该段将P 指针指向的地址值赋给s_val。函数使用双循环提取出信息字,当i 和j 都为0时,取地址1、2,当j 为1时,取地址3、4,而i=1时分别取7、8和9、10,正好对应信息字段。根据cdt 规约定义,先传低字节后传高字节,*256是为了以区分高低字节。图中先取出高字节,后取出低字节,顺序错误,应改为:s_val = (p[i*CDT_WORD_LEN+1+j*2] ) +(p[i*CDT_WORD_LEN+1+j*2+1] & 0xf)*256;代码if (s_val & 0x800)和s_val = -(s_val &0x7ff)为判断数据是否超过2048,是就取最大值加负号,提示溢出(CDT 数据最大11位,极值 2047,超出会将第11位置1,表示符号位为负)。

if ((s_val & 0x8000)||(s_val & 0×4000))continue 字段是判断无效时跳出循环。f_val = s_val / 2048是将当前值除以2048赋给f_val,2048为满量程值,这时f_val 为一比例数,所以不对应改为:f_val = s_val / 1.0, 最后通过drv_AIN1(pAIN, f_val, 0,1)库函数将实时数据写入数据库。修改后的CDT 驱动文件如图3所示。修改后重新启动CDT 规约进程查看,数据正确,故障解决。

2.1.3 案例1总结

本例通信问题是因为代码公式错误且高、低字节颠倒,导致数据误差和溢出,此故障一般出现在调试过程中,维护人员应当防止误修改,平时要对重要文件进行独立备份。

2.2 南瑞监控与南瑞辅机通信故障

2.2.1 结构情况

辅机改造范围包含顶盖排水、前池加压、检修排水、渗漏排水、中压气机五大部分。改造前后区别是将常规电气控制改为了PLC 控制,对大功率设备增加软启动装置,远控操作由通信实现。

辅机PLC 使用RJ 45接口的串行通信方式与SJ30装置连接交换数据,送发电机的CPM 模块或开关站通信管理机,通信协议ModBus_RTU。

通过SJ30B 组态软件,可对通信点位、参数、地址、协议组态并生成*.sj 配置文件,实现上传和下载。MOXA 环境模拟工具可以模拟SJ30装置运行环境,调试好驱动文件。拷贝该驱动文件到SJ30装置sbin 目录下,重启设备或加载该进程开启通信。

2.2.2 处理过程

故障点1,串口板发送和接收灯不亮。串口灯不亮意味着双方没有握手成功(MODBUS 协议采用主、从站询问应答方式通信),首先要检查站地址的问题,根据辅机点表,顶盖排水配置站地址为5,在SJ30组态软件中查看信文:

COM5 send:

5 3 0 65 0 1a d4 1e

COM5 recv:COM5 register port driver fail

第二行为主站询问报文,数字5为对侧站地址。第三行从站回复信文报寄存器端口驱动错误。联机查看PLC 配置,发现站地址是1,即辅机站地址配置与SJ30装置不一致,修改站地址后重启串口板,串口指示灯RXD 和TXD 连续交替闪烁,通信连接建立,双方握手成功。

故障点2,查看通信报文发现除最后的校验位外,模拟量数据全部为零,报文内容为:

DEBUG: COM5 send:

DEBUG: 5 3 0 65 0 1a d4 1e DEBUG: COM5 recv:

DEBUG: 5 3

DEBUG: COM5 recv:

DEBUG: 34

DEBUG: COM5 recv:

DEBUG: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9b f2

数据为零就是没有接收到数据。打开辅机PLC程序,发现约定的R101-R126字寄存器内仅R101、R102、R109-R126有值且正确,R103-R108段为空,模拟量寄存器没有数据。

定位程序到通信处理块COMMON。模拟量上送使用R103开始的8个字寄存器储存信号,程序处理模块输入数据来源为名称SEND_ALL 的中间变量,搜索SEND_ALL 变量发现没有任何地方调用,数据无来源所以块对侧从R103开始的寄存器为空。解决方法包括:一是直接取模拟量AI0001开始的8个I/O 点,即修改SEND_AI1为AI0001;二是在模拟量处理部分为SEND_ALL 中间变量定义数据来源。

使用第一种方案修改后查看R103和R104寄存器(顶盖水位)的值分别为5126和5118,换算后分别是0.70M 和0.69M 与实际一致。

故障点3,查看SJ30接收报文,没有任何改变,开关量和模拟量都是零值。将驱动头文件的PLC_REG_ADDR (起始寄存器地址)由101改为100后报文无数据,这就奇怪了,寄存器地址修改后,数据必然有所变化。由于触摸屏和辅机PLC 通信完全正常,通信协议同样为MODBUS,可参考触摸屏的配置。(辅机触摸屏使用威纶通型号为MT6056 i series 的产品)。

打开触摸屏组态软件EB8000,定位到模入信号窗口的顶盖排水数据显示部分,通信地址为4x 1277(4x 为类型定义,1277为地址),根据MODBUS 规约定义4x 为读取保持型寄存器,实现对AQ(模拟量输出寄存器)、 R(字型寄存器)和从站系统时间的读取。查看南瑞PLC 编程软件帮助文档,寄存器R1~R4096对应的通信地址为1000~5095,起始规约地址为0。换句话说,在南瑞PLC 中真实存放数据的起始地址有1000的偏移量,例如1277对应PLC 中的实际寄存器地址应当为1277-1000=277。R0277处模拟量的取值是AI_BUF1(此值是一个中间寄存器,读取的是经过品质处理后的AI0001)[1]。

寄存器地址有1000的偏移量,驱动文件中起始地址就必须加上1000。使用UltraEdit 打开顶盖排水的驱动头文件,将PLC_REG_ADDR 由101改为1100(因为MODBUS 是从0开始计算,所以地址是1100而不是1101)[2-3]。保存,编译,拷贝,重启进程,查看报文,OK!所有数据与实际完全吻合。

最后需要修改PLC 中的INIT 段的变量SI_418_PCNT,把19改为43(增加了24点模拟量,8点实际点,16点虚拟点);24改为56(增加32点开关量,16点实际、16点虚拟),让PLC 在初始化时分配足够的储存空间。最后修改发送信文箱SEND_LENGTH 宽度,配置数据库,关联上位机画面,上位机终于正确显示出正确的顶盖水位。

2.2.3 案例2总结

该故障涉及的点比较多,从硬件到软件,从辅机PLC 配置到上位机机驱动文件,解决了一个问题又发生新的问题。由于改造时间紧迫,导致设备供货商南瑞公司对设备的出厂调试仓促,许多调试过程只能在设备到达现场后根据现象逐个消除。

3 结语

通信是实现监控的基础,没有通信,就没有数据流动,也无从谈起SCADA。监控的升级中,通信故障是一个比较普遍的问题,往往需要通过逐个功能投入试验才能发现,一蹴而就的概率极小,而驱动程序引发的问题,也基本出现在开始的调试阶段。在水电站的生命周期中,随着设备的老化,安全性能降低同时伴随新技术新工艺的出现,升级改造的过程还会不断出现,也许会有更多稀奇古怪的通信故障出现,牢固掌握基础和循序渐进的思考是解决通信问题的不可替代方法。

猜你喜欢
南瑞辅机模拟量
《电站辅机》杂志(42卷)2021年总目次
南瑞集团
南瑞集团
南瑞集团
基于FPGA的多通道模拟量采集/输出PCI板卡的研制
浅析水电厂辅机设备控制技术
关于600MW火电机组模拟量控制系统设计和研究
基于Agent思想的水电站辅机系统仿真与研究
模拟量输入式合并单元测试仪的研制
一种通用模拟量及开关量信号采集板卡的设计