漆鹏杰,刘秀波,仲兆准
(1.苏州大学 机电工程学院,江苏 苏州 215021;2.苏州大学 沙钢钢铁学院,江苏 苏州 215021)
基于LabVIEW和RS-485总线的锅炉测控系统设计
漆鹏杰1,刘秀波1,仲兆准2
(1.苏州大学 机电工程学院,江苏 苏州 215021;2.苏州大学 沙钢钢铁学院,江苏 苏州 215021)
提出了一种基于LabVIEW软件和RS-485总线的锅炉测控系统方案。利用开放式图形设计语言LabVIEW进行软件编程,并通过Modbus-RTU协议实现控制端和现场之间的信息交换,通过软、硬件结构设计实现了锅炉管道内温度、压力的自动远程监控,通过实验验证表明了该系统的有效性。
LabVIEW;RS-485总线;锅炉测控系统;远程监控
电站锅炉是一种直接接受火焰加热的特种加工设备,其内部是高温高压,所以存在潜在的泄漏和爆炸危险。通过检测主蒸汽管道内的温度、压力,并使其处于正常范围,是保证电站锅炉正常运行的有效措施。近年来,随着自动控制技术的不断发展,传统的人工单一操作控制及检测方式已经不能满足现代化大工业的生产要求。由于各回路之间相互作用,控制效果不尽人意,设计复杂和成本高,有相当数量的锅炉,特别是中、小型锅炉的状态仍然采用简单的起动和停止操作,控制由人工实现,锅炉运行的好坏完全取决于工人的经验和责任,不能全程实行监控,无法及时发现危险,进行补救[1];因此,实时的数据采集、存储、处理以及控制等内容成为生产的主要研究方向。
本文设计了一套以Modbus-RTU作为通信协议,利用LabVIEW软件编程并通过RS-485总线进行信息传输的控制系统,可以采集火电站锅炉内的温度、压力参数,通过RS-485总线传输到计算机中进行处理,由控制端做出判断,从而达到对温度、压力的监测和控制。
1.1 系统的硬件结构设计
系统硬件主要由控制机柜和现场监控组件组成,如图1所示。控制机柜主要包括:1)计算机界面(RS-485通信界面),显示监测到的现场实时数据;2)短信报警模块和空气开关,当出现紧急情况,并且控制者不在机柜旁边时,短信报警模块可以发送报警信息给控制者,并且通过空气开关进行断开处理;3)其余部分均为数据串口设备,现场监控组件主要由温度和压力监测仪表组成。控制机柜和仪表两部分之间通过Modbus-RTU协议进行通信,把监测的模拟信号通过相关的信号处理得到数据值,之后LabVIEW软件虚拟仪器检测得到的数据值,并将其与预设定的数据值进行比较,并由虚拟仪器逻辑系统进行相关操作,从而达到对现场温度和压力的控制[2]。
1.2 系统的软件结构设计
本文最主要的研究内容是如何通过LabVIEW软件编写出锅炉测控系统程序,主要包括LabVIEW系统的软件主程序、子程序和RS-485指令程序。主程序主要是用来操控整个过程中系统的运行;子程序是LabVIEW的子VI程序;辅助程序完成对温度、压力的监控;RS-485指令程序把温度、压力信号转换为数字信号输入计算机进行分析和处理。编写完成控制程序后就能够实现精确地测量和控制[3]。
系统的软件结构如图2所示。首先输入指令,即指示要执行的操作,然后设定延时等待时间,避免程序反应不及时而覆盖上一次回应。数据处理、计算,对采集的温度、压力模拟信号进行数制转换计算,然后与设定的数值比较,判定故障是否发生。发生故障时立刻报警,反之继续返回程序再次进行检测。如此,就可以对现场锅炉管道内温度、压力进行实时的远程监控。
图1 系统硬件结构
图2 系统软件结构
对于现场中的监控仪表,它们都是通过RS-485总线和控制系统的主计算机进行通信、传输数据。主计算机在安装了图形化工业软件LabVIEW后,运行编写的通信系统程序,就能做到与现场监控仪表实时地通信,实时监控现场环境,及时做出分析、处理。
2.1 LabVIEW虚拟仪器概要
LabVIEW这一图形化工业软件开发平台是由美国国家仪器(NI)公司研制并开发的专业测试软件,它与传统的C语言、C++语言等编程软件不同,使用了图形化的编程环境,具有强大的数据处理能力,适用于工业监控,同时还具备完备的仪器驱动程序、强大的网络功能。LabVIEW软件具有简单易学、通用性好、编程效率高和交叉平台交互性好等优点,是用于虚拟仪器开发的方便、快捷和功能强大的软件工具[4-5]。本文采用LabVIEW软件来进行锅炉测控系统的程序设计。
2.2 Modbus-RTU协议通信工作方式
Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器之间、控制器经由网络(例如以太网)和其他设备之间可以进行通信;不同厂商生产的控制设备可以连成工业网络,进行集中监控。多种设备(PLC、HMI、控制面板、驱动程序、动作控制、输入/输出设备)都能使用Modbus协议来启动远程操作。在基于串行链路和以太网的Modbus上可以进行相同通信。一些网关允许在几种使用Modbus 协议的总线或网络之间进行通信。Modbus网络体系结构传输形式如图3所示。
图3 Modbus网络体系传输结构
当在Modbus-RTU模式网络上通信时,此协议决定了每个控制器需要知道自身的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus-RTU协议发出。在其他网络上,包含了Modbus-RTU协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。Modbus-RTU通信协议信息帧格式见表1。
表1 Modbus-RTU通信协议信息帧格式
Modbus-RTV通信协议主要包括下述域。
1)地址(Address)域。信息帧地址域(信息地址)在帧的开始部分,由8位组成,主机把从机地址放入信息帧的地址区,并向从机寻址。从机响应时,把自己的地址放入响应信息的地址区,让主机识别已作出响应的从机地址。
2)功能(Function)域。信息帧功能域代码告诉了被寻址到的终端执行何种功能。当主机向从机发送信息时,功能代码向从机说明应执行的动作。
3)数据(Data)域。数据域包含了终端执行特定功能所需要的数据或者终端响应查询时采集到的数据。这些数据的内容可能是数值、参考地址或者极限值。功能域码告诉终端读取一个寄存器,数据域则需要指明从哪个寄存器开始及读取多少个数据。Data start reg hi:数据起始地址寄存器高字节;Data start reg lo:数据起始地址寄存器低字节;Data of regs hi:数据读取个数寄存器高字节;Data of regs lo:数据读取个数寄存器低字节。
4)错误校验(CRC)域。该域允许主机和终端检查传输过程中的错误。出错校验能够保证主机或者终端不去响应那些传输过程中发生了改变的数据,这就提高了系统的安全性和效率,出错校验使用了16位循环冗余的方法,即CRC校验。错误检测域包含16 Bits值(用2个8位的字符来实现)。错误检测域的内容是通过对消息内容进行循环冗长检测方法得出的。CRC域附加在消息的最后,添加时先是低字节然后是高字节。故CRC的高位字节是发送消息的最后一个字节。CRC Hi:循环冗余校验高字节;CRC Lo:循环冗余校验低字节。
2.3 RS-485总线
RS-485总线接口组成的半双工网络,一般是两线制,多采用屏蔽双绞线传输。这种接线方式为总线式拓扑结构,在同一总线上最多可以挂接32个结点。在RS-485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。它采用差分信号负逻辑,逻辑“0”以两线间的电压差为2~6 V表示;逻辑“1”以两线间的电压差为-6~-2 V表示。当主机发送指令时,就使得两线电频不同,形成电压差,发出信号通过寻址方式找到要找的从机,再由从机响应以同样的方式回复指令。RS-485总线的节点是以菊花链或者总线拓扑方式联网,如图4所示。该接口总线通常设计为用于半双工传输,也就是说它只用了1对信号线,驱动数据和接收数据不能在同一时刻出现在信号线上。
图4 RS-485总线结构与半双工总线结构
2.4 系统软件程序设计
本文以温度控制程序为例,分析和说明锅炉测控系统程序设计过程。
1)读取温度仪表数据程序设计。为了实现主机与现场温度监控仪表的通信,首先确定温度仪表的地址为03H,然后再根据Modbus-RTU协议的功能码03确定是读取从机保持寄存器采集到的基本数据,此处不需要同时读取太多的数据,只需要设置读取地址为0000H和0001H的这两个寄存器采集到的数据就可以了;同时因为Modbus-RTU方式中是采用CRC方法来计算错误校验码的,在这里它占用2个字节,也在指令的最后写出来,确定为E9C5H。这样就可以开始通过RS-485总线来与温度仪表进行通信、传输数据[6]。该程序如图5所示。
主程序框图由顺序结构和While循环结构组成,将VISA OPEN函数放在循环之外,而将读写函数放在循环中,这样可以避免VISA的多次打开,达到节约资源和时间的目的。While循环是用于当读入的数据值高于警报值时来关闭串口,当串口关闭后,再次开启时会因为程序中加入的VISA清空I/O缓冲区函数和VISA设备清零函数,从而对出现异常的数据进行清零,使得程序能够正常运行。在顺序结构框图中这是第1个进行的流程,主机发出读取1号温度仪表的数据的Modbus指令,等待数据传输过来,并且经过字节到字符串的转换之后,再写入到VISA写入函数的写入缓冲区中,等待读取。
2)设置延时等待时间程序设计。由于在VISA读取函数读取数据时,不能做到同时完成所有数据的读取和分析,这就需要在程序中编写一个延时设备来保持程序的有序运行。如图6所示,在顺序结构的第2个框图中添加了1个延时设备。在添加延时设备之后,需要对其进行延时设置,根据仪表传输数据的速度和各方面的综合考虑,决定将延时设备的毫秒倍数设定为300,从而达到了延时300 ms的目的。
图5 读取温度仪表数据程序
3)温度数据的读取和分析程序设计。本文现场的仪表通过RS-485总线传输过来的数据并不是可以直接读取的十进制数制,而是通过Modbus-RTU协议传递过来的一串代码[7]。这就需要程序能够将这些代码正确地处理分析,并且能够从中将系统所需要的隐藏数据准确地读取出来。在读取到正确的数据后,将其与设定的警戒值进行比较,若超过了警戒值就需要程序能够及时地做出反应及操作。温度数据读取和处理如图7所示,它完成了数据的读取和分析,并且做出相应的处理。
当数据从写入缓冲区中提取出来时,先经过一个属性节点,这就相当于一个读取缓冲区,它先读取出传递来的字符串有多少字节,并且这也就确定VISA读取函数需要读取的字节数,代表着VISA读取函数可以读取出VISA中已有的所有数据。本文设计的通信系统的RS-485总线所使用的是Modbus-RTU协议,当发送命令后,主机所收到的回复的字节数是固定的,因此,VISA读取的参数就确定了,这大大方便了后面数据解析程序的编写。
在经过VISA读取函数之后,通过字符串转换字节数组函数,先将这一结果在用户界面通过2种方式显示出来:一种是直接以原字符串的形式显示;另一种是以数组数值的形式显示。这也方便了检验数据读取过程中是否出现了错误。通过数制转换把温度信息转换成十六进制形式的一连串代码。由图6所示,读取的十六进制数值每位都进行了真假校验,这是因为在现场的温度信息是不稳定的,总会出现波动,导致返回的代码不能全显示,所以通过真假判断自动设置,可以让界面数据不再跳动。温度数制转换程序如图8所示。压力仪表程序同样可以通过上述方法实现。
图8 温度数制转换程序
2.5 RS-485通信界面设计
在整个程序编写完成之后,一个精致、友好的通信调试界面也是相当重要的。在界面上能够清楚地看到各种形式的温度和压力数据信息,并且有上限报警灯。将各项显示原件进行重新合理地布局后,通信界面显得和谐、美观。
3.1 传感器介绍
温度及压力传感器是能够感知外部的温度及压力信息,并将其转换成可用输出信号的传感器。传感器主要由敏感元件、通信芯片和变送器三部分组成。其结构示意图如图9所示。
1)敏感元件。能够灵敏地感受被测变量并做出响应的元件,是传感器中能直接感受被测量的部分。本文中直接感受温度和压力。
2)通信芯片。把感知的物理信号量转换为数字信号量,能够在RS-485总线上进行传输通信的信号量。
3)接口传送元件。连接线插座,把转换的温度、压力信息传送到处理终端。
图9 温度及压力传感器结构示意图
3.2 通信系统实验
在上述程序设计好之后,需要通过实验对系统的功能进行全面验证,从中找到不足之处加以改正和优化。对系统功能进行验证的实验需要的硬件包括:安装有LabVIEW软件的计算机1台、温度及压力传感器各1个、RS-485总线转换装置1个以及可控制输出电压的电源仪器1台。验证实验如图10所示。
图10 系统验证实验
3.3 通信功能验证
首先应考虑在数据未发生错误时,数据的传输是否正常。在实验的过程中, 通过人为的方式不断
改变温度传感器感应的温度,使温度产生一定的上下波动,同时观察通信调试界面(见图11)上的温度仪表是否产生变化。同样,改变压力传感器感应到的压力,同时观察通信调试界面上压力数据是否会产生合理的变化波动。经过验证,确定了通信功能运行良好。
图11 通信功能验证界面
3.4 报警功能验证
报警功能的验证是在验证通信功能的过程中,突然增大温度传感器感应的温度,并且要高于设定的警戒值,看警戒灯是否会亮,系统的运行是否会中断。如图12所示,通信功能调试界面中包含报警功能验证模块。经过验证,确定了警报功能运行良好。
图12 报警功能验证界面
本文应用LabVIEW软件进行编程并以Modbus-RTU作为通信协议,通过RS-485总线在上位机控制端和现场仪表进行信息交换,设计了一套完整的锅炉测控系统。它能对现场的温度、压力进行实时远程监控,当超过上限值时,能及时发出警报并处理。最后的验证实验表明,该锅炉测控系统在工业控制中具有实用价值。
[1] 张磊,龚成龙,郭凤雨.基于LabVIEW的多路温度测控系统设计及其在管道热处理中的应用[J].仪表技术与传感器,2013(9):79-81.
[2] 谢启,顾启民,涂水林,等.基于LabVIEW的Modbus RTU通信协议实现[J]. 煤矿机械, 2006(12):95-97.
[3] 韦雪洁,刘良聪,张智美,等.基于LabVIEW的通信系统构建[J]. 北华航天工业学院学报, 2014(4):22-23.
[4] 鄢志丹,孙立东,胡春光,等.基于LabVIEW的温控系统[J].仪表技术与传感器,2012(9):67-75.
[5] 李林,张生斌,申立中.基于LabVIEW高压共轨柴油机燃烧过程的建模及仿真[J].新技术新工艺,2013(11):79-82.
[6] 李桂艳,赵文娟.RS-485总线多机通信系统设计[J].科学之友,2013(10):159-160.
[7] 鲍磊,马鸿飞.单片机应用Modbus RTU通信的伺服控制系统[J].制造业自动化,2014(2):48-51.
责任编辑彭光宇
TheSystemDesignofBoilerMeasurementandControlbasedonLabVIEWandRS-485Bus
QI Pengjie1, LIU Xiubo1, ZHONG Zhaozhun2
(1.School of Mechanical and Electrical Engineering, Soochow University, Suzhou 215021, China;2.School of Iron and Steel, Soochow University, Suzhou 215021, China)
The design of a boiler measurement and control system based on LabVIEW and RS-485 bus is presented. The software programming is designed using the open graphical language platform LabVIEW, and the information exchange between the remote control terminal and the scene field boiler is realized utilizing the Modbus-RTU communication protocol. The automatic remote monitoring of the temperature and pressure in the pipe of theboiler is achieved by the proposed software and hardware structure. The experiment results show the effectiveness of the suggested system.
LabVIEW,RS-485 bus,boiler measurement and control system,remote monitoring
TH 7
:B
漆鹏杰(1989-),男,硕士研究生,主要从事数字图像处理、机械设计制造等方面的研究。
刘秀波
2015-03-06