水闸监控系统中的数据采集与传输

2011-04-30 01:56陈晓东王高鹏
水利信息化 2011年3期
关键词:模拟量字节组态

陈晓东 ,王高鹏

(1.宁波市江北区农林水利局, 浙江 宁波 315020;2.河海大学水电学院, 江苏 南京 210098)

0 引言

在水闸监控系统中,需要采集与传输的数据有水位、闸位、目标闸位、电流、电压、断路器状态、接触器状态、热继电器状态、限位开关状态、接触器控制指令等[1-2]。传输的流向主要是从传感器或电器设备到 PLC 再到计算机。对于操作指令、控制目标值等数据则通常是从计算机流向 PLC,有些系统还会再将这些数据下载到现场仪表。由于各种传感器的输出不尽相同,数据从传感器到 PLC 的传输有多种方法。数据从 PLC 到计算机的双向传输方法通常有 2 种方法:1)组态软件中直接定义其支持的 PLC 设备,实现计算机与 PLC 之间的数据传输;2)通过数据接口软件先与 PLC 进行数据通信,然后通过组态软件的 OPC 设备与数据接口软件进行通信,实现 PLC 与组态软件之间的数据传输。

1 PLC 与设备的数据传输

1.1 闸位数据

闸位传感器有模拟量、并行和串行数字量输出 3 种,其中较为常见的是同步串行接口 SSI 信号输出。SSI 信号[3]包括差分同步时钟信号 CLOCK+ 和CLOCK-,差分数据信号 DATA+ 和 DATA-,编码器工作电源 VCC 和 GND。在绝对编码器内部,符合EIA 的 RS-485 标准的差分线路接收器可接收外部主控者的时钟信号 CLOCK,差分线路驱动器可给主控者提供数据信号 DATA。编码器的绝对位置值在主控者发出的时钟脉冲控制下,从最高有效位(MSB)开始同步传输。

绝对编码器 SSI 信号传输时序图如图 1 所示,当没有信号传输时,时钟和数据线都为高电平。在时钟信号的第 1 个下降沿,编码器的当前位置值被储存,在随后的时钟上升沿,储存的数据被送出。对于分辨率为 25 位的绝对编码器,共需要 25 个时钟脉冲的上升沿才能将 1 个位置的编码数据串行传输出来。

图1 绝对编码器 SSI 信号传输时序

1 个完整的数据传送完成后,数据线保持一段时间(t3)的低电平,直到编码器准备好(被查询)下一个值。如果在 t3 期间接收到时钟的下降沿,相同的值被再次发送。SSI 信号有以下 2 种途径传输到 PLC:1)PLC 本身有 SSI 输入模块;2)通过 SSI-485 的信号转换器再连接到 PLC。并行信号,一般通过 PLC 的开关量输入点通信,当并行量较多时,可以使用选通器实现输入。

SSI-485 转换器通常由单片机构成。转换器的硬件主要包括 3 个部分:1)起主控作用的单片机;2)与绝对编码器 SSI 信号接口的 IC;3)实现 485信号的 IC。

SSI-485 转换器硬件原理框图如图 2 所示,U3/MAX488 芯片能够将其 DI 端输入的单端脉冲信号转换为差分的 CLK+ 和 CLK- 信号输出,同时,能够将差分的 DATA+ 和 DATA- 信号输入转换为单端的脉冲信号从其 RO 端输出;U2/MAX485 芯片能够将单片机上的异步通信串行接口转换为 RS485 标准的接口;单片机 U1 的时钟线 T0 用作 MAX488 差分时钟信号的驱动端;时钟线 T1 用作 DATA 信号转换为单端信号的输入端;单片机 U1 自身带有通用异步串行接口 UART,即标记为 TXD 和 RXD 的 2 个端口线,将它们直接与 MAX485 的 DI 和 RO 端相连实现通用异步串行接口到 RS-485 之间的物理转换;U4 是 EEPROM,用于存放本转换器的通信地址。

图2 SSI-485 转换器硬件原理框图

U3/MAX488 用于与绝对编码器的 SSI 信号进行接口,U2/MAX485 用于与上位机进行物理接口,单片机 U1 用于控制读取编码器数据,并实现与上位机通信的协议。

转换器的软件部分主要包括读取 SSI 信号、实现通信协议等子程序。转换器采用的通信协议是Modbus 的子集,上位机读写转换器的指令是:地址+功能码+数据+校验码,共 8 字节。地址是指转换器的地址,占 1 个字节,用 16 进制形式表示;功能码,1 个字节,根据取值不同可表示是要读转换器中的编码器当前数据还是往转换器里写数据;数据,4 个字节,当为读指令时,取值为从转换器中读取的字节数和起始地址,在本转换器中固定为 00H 00H 00H 04H,当写指令时,数据的第 1 字节表示要对转换器改写的目标地址,其余 3 个字节固定取值为 00H;校验码 2 个字节,低位字节在前,高位字节在后。校验码为 16 位 CRC 校验码。

大部分 PLC 的通信口可以通过编程设置改变其功能定义,对于没有 SSI 信号模块的 PLC 系列,只要其通讯口可以设置为 RS-485 通讯模式,借助于SSI-485 转换器就可以很方便地实现 SSI 数据传输。

1.2 水位数据

1.2.1 模拟信号输出

采用投入式压力传感器采集水位时,传感器输出为 4~20 mA,其中 4 mA 对应 0 m 水深,20 mA对应满量程水深。PLC 通常使用模拟量模块采集数据。比如,在 S7-200 系列 PLC 中,EM231 就是模拟量输入模块。该模块有 4 个模拟量输入点,每个输入点可以接入电流或电压信号。在模块上可以通过 DIP 开关来选择模拟量输入种类和规格,PLC 通过对应的模拟量寄存器 AIW0~AIW3 来读取输入的模拟量。有了水位传感器模拟量输出信号的 A/D 转换值后,通过传感器量程及其安装的高程数据就可以计算出水位值。

模拟信号输出的水位数据也可以通过智能仪表与 PLC 通信来实现数据传输[3]。水位传感器的模拟量输出先接入智能仪表,仪表显示水位,并通过串行通信将数据传输到 PLC。如将投入式压力水位传感器接到智能仪表,仪表可以通过设定无压力输出4 mA、满量程输出 20 mA、水位计算偏移量,根据采集到的数据计算后得出当前水位值。同时,该仪表具有 RS-485 通信功能,通过 PLC 的 CPU 和仪表通信获得水位数据。

1.2.2 数字信号输出

目前市场上的超声波、由旋转绝对编码器改制、激光、微动开关编码等水位传感器输出的信号都是数字的,可以是 RS-485,SSI,RS-232,并行等信号。通常,RS-485,RS-232 信号都是通过 PLC 的通信口来传输到 PLC 中。SSI 通过输入模块或信号转换器传输到 PLC。并行信号,一般通过PLC 的开关量输入点通信,当并行量较多时,可以使用选通器实现输入。

1.3 开关信号数据

无论是状态信号,还是控制指令,通常都是通过 PLC 的开关量输入输出点来完成传输。上位计算机通过组态或者数据接口软件读/写 PLC 中指定寄存器的数据。

2 PLC 与组态软件的数据传输

如果组态软件支持系统中使用的 PLC,并且支持系统能接受的通信方式,比如以太网方式,那么,在组态软件中定义 PLC 设备,用到的变量定义到该 PLC 设备的名下就可以实现通讯。

有时上述条件并不能满足,此时通常是借助于数据接口软件。一方面,专业的数据接口软件可以通过若干种方式与 PLC 通信,另一方面,组态软件又可以通过 OPC 技术与数据接口软件通信,这样就实现了 PLC 与组态软件的通信。

常用的数据接口软件是 KEPware Enhanced OPC Server,该软件支持市场上常见的各种设备及其对应的通信方式。通过在该软件中定义通道(Channel)、设备(Device)、标签(tag)就可以访问设备中的寄存器数据。

上述接口软件作为 OPC 服务器,在具有 OPC 客户端功能的组态软件中可将该 OPC 服务器定义为OPC 设备,同时建立组态软件中某变量与 OPC 服务器中某通道某设备某标签之间的对应关系,就可以实现组态与数据接口软件之间的通讯,以及组态软件与 PLC 之间的通讯。

3 应用软件之间的数据传输

在水闸监控系统中,组态软件采集到的数据有时还需要交给其它应用软件去处理,比如由 Excel 去处理水位或闸位数据。此时通常采用 DDE(动态数据交换)方式来实现这一需求。DDE 是 Windows 平台上的完整的通信协议,它使支持动态数据交换的 2 个或多个应用程序彼此交换数据。DDE 始终发生在客户和服务器应用程序之间。DDE 过程可以比喻为 2 个人的对话,一方向另一方提出问题,然后等待回答。提问的一方称为“顾客”(Client),回答的一方称为“服务器”(Server)。1 个应用程序可以同时是“顾客”和“服务器”:当它向其他程序中请求数据时,它充当的是“顾客”;若有其他程序需要它提供数据,它又成了“服务器”。

DDE 对话的内容通过 3 个标识名:应用程序名(Application)、主题(Topic)、项目(Item)来约定,当需要组态软件和 Excel 之间交换数据时,组态软件的 3 个标识名分别为 View,tagname,自定义变量名,对应 Excel 的 3 个标识名分别为 Excel、表格名和单元名。

4 结语

水闸监控系统中的数据采集与传输构成系统的重要组成部分,根据设备选型、总体方案来确定数据传输方法是水闸自控系统中的问题和难点。利用 PLC 的通信口实现与智能仪表的通信是解决 PLC系列中无现成模块的常用方法;数据接口软件支持各种设备和不同的通信方式,为组态软件与 PLC 通信提供了重要渠道;DDE 方法为不同应用软件之间的数据交换提供了通用平台。

[1]张保成,杨小兵. 三门峡水电厂坝顶闸门自动控制系统的设计与实现[J]. 水电自动化与大坝监测,2008, 32 (6): 73-75.

[2]骆伟明,吴迪,田璨. 青溪水电厂闸门监控系统改造[J].水电自动化与大坝监测,2008, 32 (3): 77-80.

[3]戴蓉,王高鹏,齐向华. SSI-485 转换器的研究与应用[J].水利水文自动化,2008 (2): 31-33.

[4]金健,刘冬艳,王小锋,等. 水闸控制系统中 PLC 与不同协议仪表的通信方法[J]. 河海大学常州分校学报,2006, 20 (1): 39-41.

猜你喜欢
模拟量字节组态
No.8 字节跳动将推出独立出口电商APP
基于PLC及组态技术的恒温控制系统开发探讨
No.10 “字节跳动手机”要来了?
基于FPGA的多通道模拟量采集/输出PCI板卡的研制
简谈MC7字节码
基于PLC和组态的智能电动拧紧系统
关于600MW火电机组模拟量控制系统设计和研究
PLC组态控制在水箱控制系统的应用
铸造行业三维组态软件的应用
模拟量输入式合并单元测试仪的研制