基于施耐德plc的水位测控系统原理及开发应用(一)

1 引言

  水位测控装置是水电厂的重要测控设备,水电厂的上下游水位是防汛安全的重要数据,拦污栅压差影响机组出力、水工建筑安全,水头值影响调速器协联曲线,进而影响机组效率甚至安全稳定运行,因此水位测控装置需满足长期稳定可靠运行。目前的水电厂水位测控装置普遍采用定制仪表采集前端水位传感器的格雷码值,换算栅差、水头等,输出开关信号报警,输出出4~20ma信号至监控、远动、调速器。在运行维护中存在以下问题:采用电缆长距离输送格雷码信号,防雷、抗干扰能力差,仪表、传感器易损坏;4个24位格雷码传感器需100芯电缆维护困难;定制的仪表扩展性差,输入、输出校准,参数整定操作复杂;价格高,备品备件采购困难。因此开发基于通用硬件设备的水位测控装置意义重大。

 根据水电厂水位测控具体要求,我们自主设计了基于plc的水位测控系统,具有高可靠性、配置灵活、安装维护简单方便特点。

2 系统功能结构

水东水电站装设有上游、#1拦污栅后、#2拦污栅后、下游四个水位测量井,配置浮子式水位测量装置,采用绝对值光电编码器将水位信息转换成数字信号。坝上传感器距离中控室500m,下游传感器距离中控室30m,为提高系统的防雷、抗干扰能力,坝上传感器通信采用光纤传输。水位测控装置plc通过rs485串行口采集编码器水位数据,经过换算处理模拟量输出模块输出4~20ma的上游、下游海拔值信号至远动rtu装置,输出4~20ma的水头信号至机组调速器电气调节装置。计算机监控系统通过网络连接水位测控装置plc,采集所有水位信息,故障报警信号等,并可远程设置相关参数、定值,系统功能结构如图1所示。

图1 系统功能结构图

3 实现原理

  3.1浮子式水位测量装置

  该装置安装在测井口上方,当液位变化时,浮子随之上升或下降,测绳带动线轮做旋转运动,与线轮同轴连接的多圈绝对值编码器就输出与液位对应的数字信号(见图2)。装置具有结构简单、合理,可靠性高、适应性强等优点,能够长期用于液位测量。

图2 浮子式水位测量装置

  3.2 编码器

  根据现场实际需求,编码器选用现场总线型输出的多圈绝对值编码器。

  绝对值编码器由机械位置确定编码,每个编码唯一不重复,它不受停电、干扰的影响,无需记忆,无需找参考点,而且不用一直计数,什么时候需要知道位置,什么时候就去读取,这样,编码器的抗干扰特性、数据的可靠性大大提高了。多圈绝对值编码器另一个优点是由于测量范围大,实际使用往往富余较多,这样在安装调试时不必费劲找零点,将在测量范围内的某一中间位置作为起始点就可以了,从而大大简化了安装调试难度。

  编码器信号输出主要有并行格雷码输出、串行ssi输出、总线型输出、模拟量4~20ma输出。并行格雷码和模拟量输出信号读取简单但不适合长距离传输,串行ssi输出大部分是与西门子plc的ssi模块配套成本较高。现场总线型编码器用通讯方式传输信号,信号遵循rs485的物理格式,连接线少,传输距离远,对于编码器的保护和可靠性就提高了。信号的接收设备只需一个接口,就可以读多个编码器信号,多个编码器集中控制的情况下可以大大节省成本。

  3.3水位测控装置plc

  plc选用m340模块化plc,它是施耐德公司生产的性能价格比很高的可编程控制器,已广泛应用于工业控制的各个领域。cpu模块选用高性能、大内存的bmx p34 2020,带一个100m以太网、一个485串行口;输入、输出模块可根据现场实际需求灵活配置。

4 软件设计

  4.1 编程步骤

  plc的硬件配置、控制程序采用施奈德的编程软件包unity pro完成,pc通过网络或usb与m340 plc进行程序传送。首先进行plc硬件组态,含底版、电源、cpu、输入输出模块等。通过电源模块属性可查看电源使用情况,应保留一定余量,否则需更换容量更大的电源模块;在cpu模块的serialport口配置串行链路参数如:485 modbus主站、波特率9600、帧延时4ms、数据位8位、停止位1位、偶校验;创建网络链路ethernet1并配置ip地址等网络通信参数,将cpu模块的ethernet口链接到网络链路ethernet1;根据现场模拟量信号要求配置模拟量输出模块参数;定义相关变量等。

  4.2 plc程序设计

  (1)程序结构。程序采用模块化设计,具有较高可读性、可维护性其程序结构如图3所示。

图3 程序结构图

  (2)程序注释。plc上电首次扫描执行初始化init()子程序,初始化通信参数,上、下游海拔预置值,各个传感器调零值,拦污栅压差整定值等。

  传感器通信comm()子程序,分时读取传感器水位值,通信故障时水位保持原值。

  计算calc()子程序,计算出上、下游,拦污栅后的实际海拔值,拦污栅压差、各机组有效水头等。

  信号输出out()子程序,拦污栅压差过大报警、通信故障报警、装置故障报警、4~20ma模拟量输出等。

  数据上送sent()子程序,根据监控上位机通信规约,组织上送数据信文,含各实际海拔值、有效水头、详细故障信息、拦污栅压差报警定值等