为了有效地实现对生产线上各个分区仪表数据的实时监测及远程控制,采用BorlandC++Builder6,通过USB转RS485协议转换器,设计了PID调节仪表在线集中监控系统。主要包括:钢制品生产线上罩式炉设备的温度监测系统,数据库系统,以及PID调节仪表的读写数据系统。
2监控系统总体结构
监控系统采用RS485总线结构,通过USB转RS485协议转换器实现上位机与PID调节仪表的网络通信。RS485总线的特点是实施简单方便,通过RS-485可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器,完全可以满足生产现场配备多个PID调节仪表的组网需要。
图1监控系统总体结构
3监控系统硬件设计
3.1自整定专家PID调节仪表
自整定专家PID调节仪表具备100~240VAC宽范围输入的开关电源,输入采用数字校正及自校准技术,测量精确稳定,消除温漂和时漂引起的测量误差。仪表全面采用表面贴装工艺,并采用多重保护和隔离设计,抗干扰能力强、可靠性好。
仪表采用先进的专家PID智能调节算法,控制精确稳定,无超调,具备高精度的自整定(AT)功能。
仪表输出采用模块化硬件结构设计,可通过更换不同的功能模块实现多种控制方式。PID控制输出可选择4mA~20mA电流、(1V~5V电压)、SSR驱动、单相/三相SCR过零触发和单相SCR移相触发等多种方式,另有两路报警输出功能,还可选配变送输出,或标准通讯接口(RS485或RS232)。
仪表具有多类型输入功能,一台仪表可以配接不同的输入信号(热电偶/热电阻/线性电压/线性电流/线性电阻),大大减少了备表的数量。其适用范围非常广泛,可与各类传感器、变送器配合使用,实现对温度、压力、液位、容量、力等物理量的测量和显示,并配合各种执行器对电加热设备和电磁、电动阀门进行PID调节和控制、报警控制、数据采集和记录。
3.2USB转RS485协议转换器
USB转RS485协议转换器是一款即插即用型的协议转换器,完全兼容USB(UniversalSerialBus)Rev:2.0;支持任何波特率、数据位、停止位、数据收发时间间隔等参数,是一款自适应的协议转换器。
支持RS-232/485界面,2Mbps以上数据传输速率。
支持自动握手协议;支持远程唤醒和电源管理;支持USB总线直接取电,无需外接电源(DC5V);驱动程序分二次确认,第一次为芯片驱动,第二次为I/O端口驱动,为同一目录下的驱动程序即可完成。
4监控系统的软件设计
监控系统的软件系统采用BorlandC++Builder6设计开发,通过其功能强大的图形化控制界面,及SPComm控件在串行口下编程,采用Modbus协议,通过USB转RS485协议转换器,很好地实现了上位机与PID调节仪表的通讯功能,从而可以方便的通过对上位机监控系统界面的操作,实现对生产线上各个分区仪表的参数监测与远程操作控制。
该软件系统主要包括三部分:钢制品生产线上罩式炉设备的温度监测系统,数据库系统,以及PID调节仪表的读写数据系统。
4.1Modbus通信
标准的Modbus口是使用与RS-232C兼容的串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。控制器能直接或经由Modem组网。
控制器通信使用主-从技术,即主设备能初始化传输(查询)。从设备根据主设备查询提供的数据作出相应反应。无论主设备查询还是从设备响应,每个Modbus帧都包括地址域、功能域、数据域、错误检测域。Modbus通信有两种模式:ASCII模式和RTU模式。相对于ASCII模式,RTU模式在同样的波特率下,可比ASCII模式传送更多的数据。
使用RTU模式,消息发送至少要以3.5个字符时间的停顿间隔开始。整个消息帧必须作为连续的流传输。如果在帧完成之前有超过1.5个字符的停顿时间,接收设备将刷新不完整的消息并假定下一个字节是一个新消息的地址域。同样的,如果一个新消息在小于3.5个字符时间内接着前个消息开始,接收的设备将认为它是前一个消息的延续。这将导致一个错误,因为在最后的CRC域的值不可能是正确的。一个典型的消息帧如表1所示。
表1RTU消息帧
PID调节仪表采用Modbus-RTU模式进行上位机通讯,协议格式为:8个数据位、1个停止位、无校验位,发送接收数据都是以十六进制格式进行。
发送数据格式如表2所示。
表2发送数据格式
其中,参数的通讯地址用一个字节表示时,对应A2位置,A1默认为00H;03、04指令均为读命令,其中04对应读取的数据不可写入,03与06指令对应参数地址,一个读取、一个写入;A1、A2与A3、A4组成两个双字节的数据,CRC校验码是一个双字节数据,所有的数据都是高位在前,低位在后;03、04指令读取数据时,A1、A2为开始读取的地址,A3、A4为连续读取数据的个数;06指令中,A1、A2需要写入数据的地址,A3、A4表示要写入的数据。
返回数据格式,06指令写入数据时,发送与返回的数据一致;03、04指令返回数据格式如表3所示,其中返回数据字节数为:N×2。
表3返回数据格式
4.2温度监测系统
温度监测系统采用BorlandC++Builder6设计开发,主要涉及Chart、Timer、SPComm、MainMenu等控件的使用。系统程序设计主要包括:采样程序,数据保存程序,备份历史数据程序等。温度监测系统主要流程如图2所示。
图2监测系统主要流程图
4.3数据库系统
启动数据库系统程序,首先选择相应的数据库文件,将会显示对应的数据库信息,如图3所示。数据库系统主要包括两种数据检索方式:方式1,通过选定检索日期进行检索;方式2,设置卷号,按卷号检索。通过数据库系统,可以很方便地实现对历史数据的浏览与查询。
图3数据库系统
4.4PID调节仪表的读写数据系统
PID调节仪表的读写数据系统主要包括三部分功能:写入仪表前的数据设置功能,数据写入仪表功能和读取仪表数据功能。
图4为数据写入仪表程序主流程图。其中数据设置功能主要通过两个途径实现:途径1,添加系统的配置设置文件“MControlini”,通过对配置设置文件中温度和时间参数的设置与修改,实现数据写入仪表前的设置操作;途径2,启动读写数据系统程序,选择相应的数据库文件,系统程序会自动关联数据库文件中设置的分区仪表总数,通过对每个分区各个曲线段温度与时间参数的修改与设置,实现数据写入仪表前的设置操作。其中,途径2在设置数据时,可以对输入数据的格式及大小进行判断,而且重新设置的数据状态变化将会实时对应地显示在界面对应的曲线段中。
图4数据写入仪表程序主流程图
图5为读取仪表数据程序主流程图。通过对系统读取的仪表数据与系统配置文件中的参数作对比分析,判断仪表数据与系统配置文件数据是否一致。
图5读取仪表数据程序主流程图
若“是”,表明系统设置的参数与仪表数据具有很好的一致性,终止读取程序;若“否”,则执行程序的下一步操作:“配置文件数据写入仪表”,或者“配置文件数据更新为仪表数据”。通过读取仪表数据程序,系统很好地实现了配置文件数据与仪表数据的一致性。
5结束语
基于RS485总线结构,通过Modbus协议,采用BorlandC++Builder6设计的监控系统,很好地实现了对生产线上各个分区仪表的实时监测和远程控制。