S7-1200 PLC与WinCC直流屏监控系统:接线、梯形图及组态调试详解
2026/9/9 4:18:29 网站建设 项目流程

在#2机组直流屏改造现场,我第一次把S7-1200 PLC和WinCC组合在一起做直流屏监测时,遇到的第一个问题不是硬件选型,而是“到底哪些信号值得花钱去采”。直流屏在电厂里承担的是继电保护、断路器操作、事故照明和UPS的直流电源,平时安安静静挂在配电室,但它一旦出问题,往往是全厂性质的。当时值班员还在靠定时抄表看母线电压,绝缘监测仪单机报警,等发现正极接地往往已经过去不少时间。后来围绕S7-1200 PLC做了一套相对完整的直流屏监测系统,用WinCC组态做上位机监控,把母线电压、充电电流、交流失电、充电模块故障、电池熔断器状态和绝缘监测仪数据全部统一采上来。这篇文章就把这套系统的接线设计、带解释的梯形图程序、WinCC组态流程和现场调试中的典型坑点完整记录下来,给准备做电力直流电源监控的同行一个可以直接抄的参考方案。

1. 直流屏监测的需求拆解与设备选型逻辑

1.1 电厂直流屏的参数和状态,到底哪些需要监视?

直流屏系统看着简单,实际拆开就三块:进线交流电源、充电模块组、蓄电池组,再加上给负载供电的直流母线。真正需要纳入监测的信号,要按照“能不能出事故、能不能指导运维”这个标准来筛选,而不是什么传感器都往上堆。

我列一下在电厂里最核心的信号清单:

  • 直流母线电压:这是第一条命脉,220V系统在运行时母线电压偏差不能太大,欠压会导致断路器分合闸线圈拒动,过压会损伤保护装置。
  • 充电模块输出电流:反映充电模块带载情况,电流异常增大往往意味着蓄电池组有内部短路或者负载异常。
  • 电池组总电压:判断蓄电池整体健康状态,尤其事故放电后要关注电压跌落程度。
  • 交流输入失电:充电模块失去交流输入后,直流系统完全靠电池供电,必须第一时间报警。
  • 充电模块故障信号:每个高频充电模块都有故障干接点,要并进来。
  • 电池熔断器状态:电池组到母线的熔断器一旦熔断,电池就退出了直流系统,极其危险。
  • 绝缘状况:正极、负极对地绝缘电阻下降,这是直流系统最隐蔽的故障之一。
  • 馈线开关状态(扩展项):如果要精细化,可以采集主要馈线开关的跳闸状态。

除了这些开关量和模拟量,绝缘监测仪这种自带Modbus接口的设备,如果只接一个报警干接点就浪费了,最好通过RS485把正负极对地绝缘电阻值读上来,这样运行人员在电脑上就能看到绝缘电阻的变化趋势,比单纯报警有用得多。

1.2 为什么选择S7-1200加变送器加绝缘监测仪的组合

有人可能会说,直流屏厂家自己带电控单元,为什么还用PLC重新做一套?原因很实在:厂家的直流屏监控模块多数是封闭系统,数据接口不开放,运维人员想接入厂级监控或者WinCC上位机很不方便。用S7-1200的好处是标准化、可编程、通信协议开放,而且S7-1200本身有DC/DC/DC型号,直接24V直流供电,和直流屏的系统电源正好匹配,不用额外逆变。

在选型思路上,我坚持了几条原则:

  • PLC本体选择S7-1200 CPU 1214C DC/DC/DC,集成14DI/10DO,6路高速计数,实际用到的开关量基本够,扩展一块SM1231 AI模块做模拟量采集。
  • 通信方面加一块CM1241 RS485模块,专门和绝缘监测仪通信,走Modbus RTU协议。
  • 电压变送器选择0到300V直流输入、4到20mA输出的隔离变送器,量程覆盖220V直流系统且留有一定余量。
  • 充电电流采集用霍尔电流变送器,0到100A量程,穿线式安装,不影响主回路。
  • 绝缘监测仪选常规带RS485接口的产品,Modbus RTU从站,可以读到正负极绝缘电阻和系统电压。

这套组合有一个很大的好处:传感器信号全部采用4到20mA电流环传输,抗干扰能力比电压信号强很多,在直流屏这种强电环境里特别重要。另外4到20mA信号有一个天然优势,线路断线时电流会掉到0,程序里可以根据这个特征做断线报警,这是0到10V电压信号做不到的。

1.3 PLC型号、扩展模块和传感器的详细配置表

下面这张表是这套系统实际用到的设备清单和关键参数,选型的时候可以直接对着参考。

设备型号/规格数量用途与说明
PLC主站S7-1200 CPU 1214C DC/DC/DC1中央逻辑处理,24V DC供电
模拟量输入模块SM1231 AI 4x13bit或AI 8x13bit1采集4到20mA变送器信号,建议选4通道以上留余量
通信模块CM1241 RS4851和绝缘监测仪做Modbus RTU通信
直流电压变送器输入0~300VDC,输出4~20mA2采集母线电压和电池组总电压,传感器需隔离型
霍尔电流变送器0~100A,输出4~20mA1采集充电模块总输出电流
绝缘监测仪支持Modbus RTU,RS485接口1采集正负极对地绝缘电阻,带报警干接点
中间继电器DC24V线圈若干用于开关量信号隔离和输出扩展
直流空开/熔断器2A,直流型若干给变送器输入回路做保护
开关电源AC220V转DC24V1给PLC、变送器提供工作电源,选择隔离型
声光报警器DC24V电铃和闪光灯1接到PLC输出,实现本地报警

QM配置完之后,接下来最关键的环节就是接线。我见过不少项目,程序写得没问题,最后就栽在接线细节上,要么是变送器极性接反,要么是屏蔽层没处理好,导致模拟量信号跳变。下一节把接线图的现场经验完整讲清楚。

2. 接线图设计:从一次母线到PLC端子排的每一根线

2.1 直流电压采集回路:从母排到PLC AI端子

以最常见的220V直流系统为例,直流母线电压采集回路的设计原则是:既要保证采集精度,又要确保故障时能够断开,不影响母线运行。

电压回路接线顺序如下:

  1. 从直流母线正极和负极小母线上分别引出分支线。
  2. 分支线经过2A直流熔断器保护,熔断器最好选直流专用型,交流熔断器在直流回路里的开断能力不够,容易发生电弧不灭的问题。
  3. 熔断器出线接到直流电压变送器的输入端子,注意变送器输入端子有正负极区分,正极接母排正,负极接母排负,接反了输出会反向甚至损坏。
  4. 变送器输出端接PLC模拟量输入模块AI通道,电流信号两根线,正极接模块的AI+,负极接模块的AI-。
  5. 变送器的工作电源用DC24V隔离电源供电,电源地和信号地按变送器说明书要求处理,一般要求共地但要注意单点接地。

电池组总电压的采集回路和母线电压完全一样,只不过取电位置从母排换到电池组出口。这里有一个细节需要注意:电池组总电压的采样点必须接在电池熔断器的负荷侧,如果接在电源侧,电池熔断器熔断后采到的还是母线电压,完全失去监测意义。这个坑我现场吃过亏,施工队为了省事直接并在熔断器上口,后来在调试时发现跳开熔断器上位机电压还在,查了好一会儿才找到原因。

2.2 充电电流采集回路和霍尔变送器安装

充电电流采集用的是霍尔电流变送器,这种传感器的安装和电压变送器不一样,它不需要接入电气回路,而是让被测电缆直接穿过传感器的穿线孔,相当于一个“电流互感器”的原理,但输出的是标准的4到20mA直流信号。

穿线时需要注意两个问题:

  • 穿线方向决定了输出电流的方向,如果发现PLC读到的电流是负的,把电缆调个头或者检查霍尔传感器的箭头方向。
  • 电缆必须垂直穿过传感器的穿线孔中心,尽量避免贴近边缘,因为传感器边缘的磁通不均匀,会引入测量误差。

霍尔传感器输出两根信号线接PLC AI模块的下一路通道。我建议在传感器输出端并联一个24V稳压二极管或者加装信号隔离器,防止现场浪涌电压损坏PLC模拟量输入通道,直流屏里面操作电源回路经常有开断冲击,这点防护很有必要。

2.3 开关量输入回路:状态信号怎么接才可靠

开关量信号包括交流失电、充电模块故障、电池熔断器状态、绝缘故障干接点等。这些信号大多是无源干接点,不能直接进PLC的数字量输入端子,需要通过中间继电器做一次隔离转换。

我采用的接法如下:

信号名称现场触点形式转换方式PLC输入地址
交流失电AC220V继电器常闭触点DC24V中间继电器,常开触点输入I0.0
充电模块故障各模块故障干接点串联串联后接DC24V中间继电器I0.1
电池熔断器状态熔断器辅助触点DC24V中间继电器I0.2
绝缘故障报警绝缘监测仪报警干接点DC24V中间继电器I0.3

交流失电信号我是用常闭触点做的。正常情况下交流电源有电,AC220V中间继电器得电吸合,其常闭触点断开,PLC的I0.0为0;交流失电后继电器释放,常闭触点恢复闭合,I0.0变为1,程序里判定为失电报警。这种接法的好处是,即使继电器线圈断线或者控制电源丢失,PLC也会收到报警状态,是一种“故障安全型”接法,比常开触点更可靠。

充电模块故障信号是把所有模块的故障干接点串联起来,任何一个模块报故障,回路就断开,中间继电器失电,PLC检测到信号。这里我加了一个额外的经验:每个模块的故障触点最好并联一个对应模块的“投入状态”常开触点,这样已经退出运行的模块不会误报故障,不然检修一台模块就会触发一次直流屏故障报警,很烦。

2.4 绝缘监测仪的RS485通信接线

绝缘监测仪是这套系统里唯一走通信的设备,RS485接线虽然简单,却是现场故障率最高的部分。仪表端一般有A、B两个通信端子,对应RS485的A(D+)和B(D-),接到CM1241 RS485模块上。

接线时有几个必须注意的细节:

  • A接A,B接B,不能接反,接反了通信完全不通或者时断时续。
  • RS485是差分信号,两线必须采用双绞线或者屏蔽双绞线,不能用普通平行线。
  • 屏蔽层只能单端接地,我习惯在PLC通信模块侧接地,绝缘监测仪侧悬空,避免两端接地形成地环路电流。
  • 通信距离超过50米或者现场干扰严重时,要在线路末端并联120欧姆终端电阻。CM1241 RS485模块内部没有集成终端电阻,需要自己在端子排上加。
  • 绝缘监测仪的通信参数出厂默认一般是9600bps、8数据位、无校验、1停止位,也有设成偶校验的,务必和Modbus初始化指令的参数保持一致。

2.5 完整的I/O地址分配表

下面这张I/O地址分配表是调试时最重要的文档之一,无论是写程序还是组态WinCC,都依赖这张表来建立变量对应关系。

地址信号名称数据类型信号范围/量程对应设备
IW64母线电压模拟量AI0整数原始值4~20mA对应0~27648直流电压变送器0~300V
IW66充电电流模拟量AI1整数原始值4~20mA对应0~27648霍尔电流变送器0~100A
IW68电池组总电压模拟量AI2整数原始值4~20mA对应0~27648直流电压变送器0~300V
I0.0交流失电状态Bool1表示失电中间继电器常开触点
I0.1充电模块故障汇总Bool1表示故障模块干接点串联
I0.2电池熔断器熔断Bool1表示熔断熔断器辅助触点
I0.3绝缘故障报警Bool1表示报警绝缘监测仪干接点
Q0.0声光报警输出Bool1启动报警中间继电器带负载
Q0.1报警复位(选配)Bool脉冲柜面复位按钮

接线和I/O分配完成后,就可以进入梯形图程序开发了。标题里特别提到“带解释的梯形图程序”,说明程序的可读性比实现功能本身更重要,后面维护的人不需要重新翻图纸逐条理解地址含义。

3. 带解释的梯形图程序:一步步把逻辑写清楚

3.1 程序结构规划:OB、FC、DB怎么划分

S7-1200的梯形图程序如果全部堆在OB1里面,短时间内能跑通,后期维护绝对痛苦。我在这个项目里的程序结构完全是按照信号处理链路来划分的:

  • OB1:主循环,调用所有功能子程序。
  • FC1:模拟量采集与工程量转换,把IW64、IW66、IW68的原始值换算成实际电压、电流值。
  • FC2:报警判断与锁存逻辑,负责过压、欠压、过流、失电、熔断器、绝缘故障等信号的综合判断。
  • FC3:Modbus RTU通信数据处理,通过CM1241 RS485读取绝缘监测仪的绝缘电阻值。
  • FC4:输出控制逻辑,控制声光报警器的启动和停止。
  • DB1:监控数据块,保存所有工程量、报警标志和与WinCC通信的接口变量。

DB1是整个程序的“数据中枢”,WinCC不直接访问I/O点,而是访问DB1里的变量。这样做的好处是,当硬件接线调整或者I/O地址变化时,只需要修改FC1里的对应地址,WinCC画面完全不用动,大大降低了维护成本。

3.2 模拟量采集转换的梯形图:NORM_X和SCALE_X的配合用法

S7-1200模拟量输入模块读到的原始值是0到27648的整数,对应4到20mA电流信号。要把这个原始值变成直观的电压和电流值,需要在梯形图里做两步转换。

我以母线电压为例,具体说明NORM_X和SCALE_X的用法:

网络1:母线电压原始值归一化 调用"NORM_X"指令(数据类型Int) EN := TRUE MIN := 0 // 原始值下限 VALUE := IW64 // 模拟量输入通道0 MAX := 27648 // 原始值上限(20mA对应值) // 输出:母线电压归一化值(0.0~1.0之间的Real数) 网络2:归一化值转换为实际工程量 调用"SCALE_X"指令(数据类型Real) EN := TRUE MIN := 0.0 // 变送器量程下限,对应0V VALUE := "母线电压归一化值" MAX := 300.0 // 变送器量程上限,对应300V // 输出:母线电压实际值,存入DB1.DBD0

这段梯形图的逻辑其实不复杂,核心思路是两步线性映射:第一步把0到27648映射成0.0到1.0,第二步把0.0到1.0映射成0到300V。实际项目中我一般不用300,而是用变送器说明书上的准确量程,比如有些变送器实际量程是0到250V,那MAX就填250.0。

电池组总电压和充电电流的转换逻辑完全一样,只需要把MIN、MAX换成对应变送器的量程。充电电流变送器是0到100A,那MAX填100.0。这里我要特别提醒一点:变送器的量程和PLC的工程量必须严格一致,不一致会出现显示值偏差,而且偏差不是线性的,排查起来特别费劲。

3.3 母线过压、欠压和充电过流保护的梯形图

转换完成之后,下一步就是报警判断。以220V直流系统为例,我选择如下报警定值:

  • 母线电压上限:235V(高报)
  • 母线电压下限:198V(低报)
  • 充电电流上限:80A(高报)
  • 电池组电压上限:260V(高报,10节以上2.35V)

报警判断梯形图的基本结构如下:

网络3:母线电压过高判断 比较指令“母线电压实际值 > 235.0” → 置位中间标志位"M_母线过压" 网络4:母线电压过低判断 比较指令“母线电压实际值 < 198.0” → 置位中间标志位"M_母线欠压"

这里有一个细节:报警判断不能直接用原始比较结果去置报警输出,而应该加一个延时处理,我用TON定时器做1秒延时。原因是直流系统在断路器合闸瞬间会有比较大的电流冲击,母线电压会出现短暂的跌落,这个跌落如果不滤掉,会导致误报警,运行人员很快就会对报警失去信任。延时1秒后,合闸冲击已经过去,电压恢复正常,就不会误报了。

3.4 故障锁存、恢复与复位逻辑

报警触发后要能保持住,光靠比较指令做不到,因为故障可能是一个瞬态过程,几秒后就恢复了。运行人员需要知道刚才系统曾出现过故障,这就是锁存逻辑的作用。

我用SR触发器实现报警锁存:

网络5:母线过压报警锁存 指令"SR"触发器 S := "M_母线过压" // 置位条件,过压标志位 R := "DB1.报警复位" // 复位条件,来自WinCC或柜面按钮 Q => "DB1.母线过压报警" // 锁存后的报警变量

网络5到网络7分别对母线过压、母线欠压、充电过流做同样的锁存处理。复位条件统一接WinCC传来的“报警复位”变量,运行人员在画面上点一下复位按钮,所有报警锁存同时清零。当故障仍然存在时,下一次扫描周期比较指令会再次置位,报警立即重新出现,所以复位不会造成故障漏报。

这里要特别强调一下定时器和锁存器的区别:比较输出的中间标志位是瞬时值,只有状态意义;锁存器输出的报警变量是“历史状态”,供WinCC报警记录和操作员查看,两者不可混用。

3.5 Modbus通讯读取绝缘监测数据的梯形图

绝缘监测仪的数据通过Modbus RTU读取,在TIA Portal中S7-1200通过两个指令完成:MB_COMM_LOAD和MB_MASTER。

MB_COMM_LOAD在启动时执行一次,初始化RS485端口,设置波特率、校验、端口号。例如指定端口2048(CM1241 RS485),波特率9600,偶校验,响应超时1000毫秒。

MB_MASTER在OB1里循环调用,执行Modbus主站轮询任务。梯形图参数大致如下:

网络8:Modbus读取绝缘监测仪保持寄存器 调用"MB_MASTER"指令 REQ := "轮询触发脉冲" // 每5秒产生一个脉冲 MB_ADDR := 1 // 绝缘监测仪从站地址 MODE := 0 // 读保持寄存器 DATA_ADDR := 3000 // 寄存器起始地址,按仪表手册 DATA_LEN := 4 // 读取4个字 DATA_PTR := "DB_Modbus数据" // 存放读取结果

读取到的4个字中,可能包括正极绝缘电阻和负极绝缘电阻,具体顺序和单位要对照绝缘监测仪的Modbus通信协议手册。有的仪表用0.1千欧为单位,有的用1欧姆为单位,不换算直接显示会差好几个数量级。

Modbus读取的绝缘电阻值只是原始整数,还需要转换成实际的兆欧数据,转换逻辑可以加在FC3的最后,按仪表说明书换算系数处理后再存入DB1的实数变量中,供WinCC显示和报警使用。

4. WinCC组态:从变量表到操作员画面的完整流程

4.1 WinCC如何与S7-1200建立通信

WinCC访问S7-1200,这里最容易踩坑。我见过很多人在WinCC V7.5里选了老的“S7”驱动通道,结果死活连不上S7-1200,因为标准S7驱动是针对S7-300/400设计的,不是所有版本都能直接访问S7-1200的DB块。

实际可行的方案有两个:

方案一是使用WinCC Professional,也就是TIA Portal内嵌的WinCC。在TIA项目里添加一个PC站,创建HMI连接,连接类型选择SIMATIC S7-1200,指定PLC的IP地址,编译下载后就可以通信。这种方案最方便,因为PLC和HMI在同一个工程文件里,变量映射直接关联,不需要额外配置驱动。

方案二是使用独立WinCC V7.x,需要安装SIMATIC S7-1200/S7-1500通道驱动(从V7.4 SP2开始支持),在WinCC变量管理中创建连接,设置PLC的IP地址和访问点。老版本的WinCC如果只有标准S7驱动,建议升级WinCC版本,或者让PLC侧做Modbus TCP服务器,WinCC通过Modbus TCP驱动接入,但这样工程量会大一些。

在建立连接的细节上,有两个前提必须满足:

  • PLC的以太网接口IP地址和WinCC所在电脑的IP地址要在同一个网段。
  • S7-1200的DB块必须取消“优化块访问”属性。在DB块的属性里把“优化的块访问”前面的勾去掉,重新编译,这样DB变量才有确定的偏移地址,WinCC才能通过符号或者绝对地址访问。

这个“优化块访问”的问题导致我对好几个项目做了返工,最保险的做法是新建DB时就取消优化访问,不然等WinCC变量都建好了才发现访问不了,再改DB属性会牵扯到程序中所有变量的寻址方式,极容易漏改。

4.2 主监控画面的设计与动态化

WinCC主画面是整个系统的门面,设计要从运行人员的视距和操作习惯出发,不能光追求好看。我习惯把画面分成三个区域:顶部为系统名称和当前状态栏,中部为直流系统主接线和实时数据,底部为报警状态和操作按钮。

主接线部分画直流母线的两条主馈线,母线中间标注实时电压值,充电模块区域标注总输出电流,电池组区域标注电池组总电压和绝缘电阻值。每个实时数据用输入/输出域控件绑定DB1中相应的工程量变量。

动态化处理是WinCC画面最见功夫的地方。我给母线电压文本控件的颜色做了动态变化:正常时显示绿色,超过上限或者低于下限时变成红色闪烁。实现方式可以是在控件属性里添加动态对话框,用C脚本或VBS脚本做颜色条件判断,也可以直接使用WinCC自带的“连接变量时动态更新”功能,配合变量状态做图鉴显示。

绝缘电阻的显示要特别注意单位换算和数量级,图像上要标明“绝缘电阻值低于设定值MΩ时变红”,并配一个进度条样式的填充控件,让运行人员一眼看出绝缘状态下降的严重程度。

4.3 报警列表、趋势曲线与操作记录

报警功能是WinCC的强项,但需要事先组态好报警记录和变量归档。

报警记录组态分为三步:

  1. 在报警记录编辑器中创建报警类别,比如分为“紧急”“一般”“提示”。
  2. 为DB1中每个报警变量创建报警文本,文本中写明是母线过压、欠压、充电过流、交流失电、电池熔断器熔断还是绝缘故障。
  3. 设置报警的触发条件和确认方式。报警变量上升沿触发是最常用的做法,设置报警后需要操作员确认,否则保持闪烁状态。

趋势曲线用来观察母线电压和充电电流的变化趋势,尤其在直流屏故障后的追忆分析中非常有用。在WinCC画面中插入趋势控件,配置变量归档,把母线电压、充电电流、电池组电压各建一条曲线,时间轴选择可滚动窗口,这样运行人员可以回看最近30天的历史数据。

这里我要分享一个实用经验:单纯的实时趋势意义不大,真正有价值的是故障前几分钟的历史曲线。因此在变量归档时,归档周期不宜太长,我一般母线电压设1秒归档周期,充电电流设5秒,存储时间至少30天。启动WinCC的项目“运行系统”时,归档会自动写入SQL Server数据库,不需要额外配置数据源。

操作记录方面,推荐在WinCC里启用“报警器”和“操作员记录”,把报警确认、画面切换、参数修改等操作全部记录下来。这份记录在事故追责时是很有说服力的材料,而且组态起来并不复杂,只要在运行系统里启用相应的日志功能即可。

4.4 权限管理与画面切换

电厂的运行人员和管理人员权限应该分级别,不能所有人都能修改报警定值。WinCC的用户管理采用分级授权,我习惯分为三级:

级别角色权限范围
1级操作员只能查看监视画面和确认报警
2级值长/班长可以调整画面显示参数、导出报表
3级工程师可以修改报警定值、复位故障、更换画面脚本

画面切换可以用画面窗口控件实现,在画面切换的时候用C脚本或者动态向导实现翻页效果。跳转按钮的做法很简单:在按钮的VBS动作里写一行“ScreenItems("画面窗口1").Visible = False”类似的控制语句,或者使用WinCC自带的“显示画面”动作。

权限控制的实际配置在用户管理编辑器里完成,每个操作按钮关联一个函数——“检查用户具备某权限级别”,不具备权限时按钮灰化。这套配置做完后,现场运行人员和我沟通最多的问题就是“为什么点按钮没反应”,绝大多数情况都是没有登录高级别账号。

5. 现场调试与实战坑点记录

5.1 模拟量通道校零和量程标定

模拟量回路上电后的第一件事永远是校准,不是看程序。调试时我用高精度信号发生器给PLC模拟量输入通道加4mA电流,确认原始值IW64显示为0,然后再加20mA,确认原始值显示为27648。如果偏差超过满量程的0.5%,就要检查变送器的供电电压和信号线路的压降。

实际出现过一次很典型的偏差:信号线用的是截面积1.0平方毫米的普通电缆,长度超过120米,变送器输出20mA时,在PLC端子侧实测只有19.2mA,导致满量程显示偏低。后来换上1.5平方毫米的屏蔽电缆,或者在PLC侧把模块供电电压从24V提高到26V,彻底解决了线损问题。

还有一种情况是PLC显示值和标准表差值固定,比如始终低2V。这种固定偏差多半是变送器的零点偏移或者量程设置和实际不一致,不需要改线路,直接在程序里做修正即可。我会在FC1里针对每个通道增加一个零点修正值和一个增益修正值,把偏差在软件里拉平,避免每次校准都动硬件端子。

5.2 报警定值怎么设置才合理

报警定值不能照搬教科书,要根据现场实际运行工况来调。220V直流系统理论上允许的电压范围是198到242V,但如果该厂直流负载对电压波动比较敏感,比如有大量微机保护装置,上下限要收紧一些,我一般设235V和198V,和规程保持一致。

过流报警定值的设定要考虑充电模块的均充、浮充状态切换。浮充状态充电电流很小,可能只有几安培;均充时电流会短暂升高,如果定值设得太低,均充开始瞬间就会报警。我通常把过流定值设为额定电流的80%,再加5秒延时,如果充电模块在延时过程中电流回落到正常水平,就不报警,避免频繁误报导致运行人员把报警关掉。

5.3 干扰导致模拟量跳变与通信中断的排查

调试现场最容易出现的问题就是模拟量跳变和Modbus通信时断时续,这类问题排查起来非常考验耐心。

先说模拟量跳变:现象是母线电压在正常值附近上下跳动,波动幅度有时到达十几伏。排查思路按概率排序:一是信号线和动力线同槽走线,感应了交流分量;二是屏蔽层两端接地,形成了地环路;三是24V开关电源质量差,纹波过大;四是变送器本身没有隔离,共模干扰直接进去了。

我最终在这个项目里采用的标准做法是:

  • 信号电缆全部采用RVVP,0.75平方毫米以上,屏蔽层穿管后单端接地。
  • PLC柜和直流屏柜之间敷设独立信号电缆槽,与动力电缆间距至少20厘米。
  • 变送器选用输入输出隔离型,而不是简单的电压电流变换电路。

Modbus通信中断的排查也有固定的套路。先检查A/B是否接反,这是高频原因;再检查屏蔽层是否单端接地和终端电阻是否到位;最后检查波特率、校验位、数据位是否和仪表出厂参数一致。我还遇到过CM1241 RS485模块的通信参数和TIA组态不一致导致通信完全不通的情况,重新下载硬件配置后解决。

5.4 与DCS、综自系统联调的接口问题

直流屏监测数据除了进WinCC,一般还要往电厂DCS送一部分重要信号。联调最关键的是双方提前确认接口方式和数据点表,不然现场必然扯皮。

硬接点方式最直接,把PLC的DO输出继电器接到DCS的开入端子。要注意PLC的DO输出是无源干接点还是有源输出,DCS开入侧是接干接点还是需要外部供电,两边不匹配时中间要加隔离继电器。

软通信方式一般用Modbus TCP,S7-1200 PLC通过MB_SERVER指令作为Modbus TCP服务器,DCS作为客户端轮询PLC的保持寄存器。这里的经验是:给DCS的数据必须单独规划一段连续的DB地址,比如DB10里的DBD100起,连续60个字,不要和WinCC的变量混在一起。DCS维护工程师每个点都要做地址映射,地址连续且文档清晰能省双方无数沟通成本。

联调完成后,要专门做一次故障模拟试验:短接交流失电触点、模拟母线电压越限、断开绝缘监测仪通信,确认每一个报警都能在DCS和WinCC侧同时正确反映。这套试验做完,整个系统才算真正交付。

6. 投入运行后还能扩展的功能和我的维护建议

直流屏监测系统投运只是第一步,使用过程中我发现这块平台还有很大的扩展潜力。首先是电池巡检功能的接入,目前系统只监测了电池组总电压,但真正决定电池寿命的是每节电池的单体电压。可以在直流屏电池架上增加电池巡检仪,用RS485菊花链方式把所有单体电压读出,在WinCC画面上新增一个电池组电压分布画面,超过2.4V或者低于1.9V的单节直接标红。这块扩展不需要换PLC,只需要在原来的Modbus轮询指令里增加一条查询命令。

其次是Web远程发布,WinCC的画面可以通过Web客户端发布,电厂的管理人员不需要坐在控制室就能在办公室电脑上看到直流屏实时状态。对运行维护来说非常实用,尤其是夜班值班人员可以在休息室用平板电脑看报警信息。发布方式取决于WinCC版本,有的用Web Navigator,有的用Smart Server,原理都是把组态画面以网页形式发布到内网。

最后是数据报表,WinCC内置的报表组件可以把报警记录、故障事件、母线电压越限统计、电池浮充电压趋势等数据导成Excel或者PDF,每周定时生成一份周报,对评估蓄电池状态和直流系统运行质量很有价值。这项功能实现起来难度不大,但需要花精力打磨报表格式,真正做到“领导能看懂”。

维护上我给三条实际建议:第一,DB1里我专门预留了一个数据质量字节,WinCC画面在采集失败时把它置位,画面上显示灰色“数据无效”而不是显示一个错误数字,避免运行人员误信坏数据;第二,接线端子排上所有信号线都套了号码管,和接线图一一对应,三个月后再有人改线不会找不到头;第三,梯形图每个网络都写了注释,包括日期和修改人,这个习惯不强求,但真正维护起来你就知道有多香。做这套系统最大的体会就是:画面做得再漂亮,程序写得再复杂,最终运行人员记住的还是“这系统能不能在故障发生前告诉我”,把握住这一点,整个方案的思路就不会跑偏。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询