基于Modbus协议的立式炉电力监测系统
2012-06-28王艾,徐冬
王 艾,徐 冬
(北京七星华创电子股份有限公司集成电路工艺设备研发中心,北京101312)
立式炉是300 mm集成电路制造的重要工艺设备,适用于集成电路制造过程中氧化、退火、薄膜生长等工艺。立式炉本质上是一种半导体工艺热处理设备,其中作为加热功率供给单元的电力控制系统的安全性和可靠性直接决定了设备安全性能和工艺性能。因此,电力监测系统是保证立式炉设备安全可靠运行的必要环节。
传统的电力监控系统中,多通过测量电流、电压、功率等一系列变送器及测量这些变送器标准输出信号的输入模块作为系统的前端采集装置。这种设计成本较高,而且现场布线复杂,导致系统可靠性不高。
随着计算机技术的不断发展,综合4C技术的分布式控制系统的产生实现了工业生产过程的集中管理与分散控制。Modbus协议就是其中应用较广的一种通信协议。通过Modbus协议,上位机可对立式炉设备的电力数据进行现场的实时获取和保存,保存的电力数据不仅可用于设备的故障诊断,还可用于分析炉体加热器在各温度点上的电学特性。
1 Modbus协议简介[1]
Modbus通信协议是工业控制网络中用于对自控设备进行访问控制的主从式通信协议,由Modicon公司开发,在工业控制中得到广泛应用。它有以下特点:物理接口符合EIA-485规范;组成主从访问的一主多从控制网络;通过简单的通信报文完成对从节点的读写操作;通信速率可达115.2 kbps;在主节点轮询即逐一单独访问从节点时,要求从节点返回一个应答信息;主节点也可以对网段上所有的从节点进行广播通信[2]。
表1 RTU消息帧
Modbus通信协议定义了在这些网络上连续传输的报文帧的每一位,及数据编码、解码过程。Modbus通信协议具有两种报文帧格式:ASCII和RTU(remote terminal unit)报文帧格式。采用ASCII格式的报文以“:”开始,以两个回车换行符结束,中间的信息为Modbus协议的内容。采用RTU格式的报文则以传递一段空闲时间开始,这段时间不短于3.5倍的字符发送时间T,一般取4T,并以同样4T的标志来表示报文的结束。
一个采用RTU格式的Modbus通信协议的报文格式如表1所示。该报文以T1-T4标志的报文的开始和结束,中间包括地址域、功能域、数据域和CRC校验域。详细如下:
(1)地址域:地址域为被查询的从节点的地址,它所表示的从节点的有效地址范围是0-247,其中0表示广播地址。每个从节点的地址必须是唯一的,仅仅被寻址到的从节点(从设备)会响应包含了该地址的查询。当发送回一个响应,响应中的从机地址数据便告诉了主机哪台从站正与之进行通信。
(2)功能域:8位功能域的有效编码为1-FFH,用于说明从节点要完成的功能。例如功能编码03H为读数据寄存器(内部字变量),用于读取从节点的寄存器的值;06H为设置单个寄存器,用于设置从节点的某个寄存器的值。
(3)数据域:数据域包含了从节点执行特定功能所需要的数据或者从节点响应查询时采集到的数据。这些数据的内容可能是数值、参考地址或者设置值。
(4)校验域:该域允许主机和从设备检查传输过程中的错误。有时,由于电噪声和其它干扰,一组数据在从一个设备传输到另一个设备时在线路上可能会发生一些改变,出错校验能够保证主机或者终端不去响应那些传输过程中发生了改变的数据,这就提高了系统的安全性和效率,错误校验使用16位循环冗余的方法(CRC16),整个信息帧以连续的数据位流进行传输,CRC校验从地址域开始对报文的所有数据进行校验。
Modbus协议决定了每个从节点控制器需要知道各自不同的设备地址,识别主节点按地址发来的消息,决定要产生何种行动。主设备可单独与从设备通信,也能以广播方式与所有从设备通信:如果单独通信,从设备返回一消息作为响应;如果是以广播方式通信的,则不作任何回应。
从节点的正常应答是发送相同的报文帧,以便让主节点作确认,从节点的应答帧包括:前导标志码,从节点地址,功能码,返回数据,检验码以及帧结束码。如果有错误发生,功能代码将被修改用于指出回应的消息是错误的,同时数据段包含了描述此错误信息的代码,应答信息的检验码将用于让主设备确认消息内容是否可用[2]。
2 立式炉电力监测系统
2.1 系统的硬件设备
北京七星华创电子股份有限公司现有的300 mm氧化炉,采用单反应室结构,炉体加热丝包覆的范围划分为多个区段 (Zone A,B,C,D……),各区段有独立的功率控制器用以控制加热功率。立式炉电力监测系统硬件结构如图1所示,采用Modbus协议组成监控网络,主要包括工控机IPC,RS232/485转换接口,多路功率控制器。
Modbus标准物理层采用RS232接口,但由于实际应用中强电干扰较大,且是多点连接,因此,功率控制器,采用的是RS485接口;而工控机上配置的是RS232接口,当功率控制器与工控机通讯时,需配置RS232/485转换接口,进行电平转换。
2.2 系统的软件设计
系统的软件设计为上位机(主站)电力监测程序的设计,采用Visual Studio 2005 C#进行程序开发,在程序设计时,需考虑硬件单元(功率控制器)设置的通信参数。本文所涉及的功率控制器采用RTU模式进行数据传输,除了设置的通讯地址不同以外(参见图1),其他通讯参数(波特率,校验方式等)都必须相同。例如:功率控制器采用的波特率为9.6 kbps,8位数据位,偶校验,1个停止位,上位机监测程序中的SerialPort类(C#)的属性设置必须与功率控制器的串口参数设置相一致。
软件运行后,生成的用户操作界面如图2所示,可实现串口的配置、连接,实时显示多段温区的电力给定、电力反馈、有效电流、有效电压和有效功率,可保存多段温区的电力给定、电力反馈、有效电流、有效电压和功率数据。注意,此时多路功率控制器的通讯地址分别为 1,2,3,4……,如图1所示。
图1 硬件结构
图2 用户操作界面
本软件系统的流程图如图3所示,完成以下功能:
(1)开始程序运行,启动主线程,完成工控机上所有串口的识别、定时器的配置,生成图形界面,等待下一步操作输入;
(2)根据硬件的串口连线,选择工控机上相应的通讯串口,建立连接;
(3)根据输入指令,设置读取功率控制器参数寄存器的功能码;
(4)根据输入指令,设置读取的参数寄存器精度;
(5)设置读取的功率控制器参数寄存器地址,其中控制器参数寄存器地址,并不是在图形界面上设置,而是直接在程序内部指定,在功率控制器中配置的参数源包括系统给定值、系统反馈值、有效电压、有效电流,有功功率;
(6)根据输入指令,启动参数寄存器的实时读取、显示,每2 s参数刷新一遍;
(7)根据输入指令,启动数据的保存。使用Microsoft Access数据库进行数据保存,保存各温区的电力给定值、电力反馈值、有效电压、有效电流,有功功率;
(8)根据输入指令,结束数据的保存;
(9)根据输入指令,可断开现有的串口通讯,停止参数寄存器的实时刷新;
(10)根据指令要求在完成电力监测后,安全退出程序。
图3 软件流程图
上述第(6)步的功能实现主要是通过主控机自动(周期性)给各功率控制器发送读消息帧,经过若干时间片后,主控机主动去读各路功率控制器返回的响应,然后对读回的响应进行CRC检测。若相对于某温区的功率控制器返回消息的CRC检测正确,则刷新相应温区的窗体文本,若CRC检测不正确,则主控机重新给该温区的功率控制器发送读消息帧。程序在每个窗体刷新周期(2 s)内至多给每个温区的功率控制器发送4次读消息帧,若连续4次读上来的消息都不正确,即在这一周期内放弃对该温区窗体文本的刷新。这里我们采用主动读消息的机制,而不采用中断方式,主要是因为采用中断接收方式,数据流常常不均匀,其中存在空白间隔,导致接收的数据是残缺不全的,不便于后续的分析处理。
3 结束语
目前,此系统已应用于我公司立式炉设备的电力监测,该系统具有运行可靠、扩展性好、使用方便的特点。尤其是,在立式炉设备升温过程和恒温过程中,对电力监测系统保存的电力数据,可进行炉体加热器电学特性的分析,分析结果在加热器的设计上(立式炉设备七大核心技术方向之一)具有较高的参考价值。
[1]MODICON,Inc.Modbus Protocol Reference Guide[Z].1996
[2]吴学文,王新光等.基于Modbus通信协议的水闸计算机监控系统[J],计算机工程,2005(13):195-197.