摘 要:介绍了松下PLC在房间空调器焓差法性能测试系统中的应用,重点论述了系统控制要求、硬件环境、PLC控制程序设计以及上位机的监控程序设计。实验表明,测试系统运行可靠,操作快捷方便。
关键字:PLC Delphi7.0 监控 通信
1. 引言
现代社会要求制造业能对市场需求做出迅速反应,生产出多批量、多品种、多规格、低成本和高质量的产品,为了满足这一需求,生产设备、自动化生产线、检测设备的控制系统必须具有极高的可靠性和灵活性,可编程序控制器(PLC)正是顺应这一要求出现的,它是以微处理器为基础的新型工业控制装置,已经成为当代工业自动化的主要支柱之一[1]。
房间空调器是国家强制性电器质量检测产品,为了完成符合国家标准的性能检测,必须建立一套相应的高精度的测试系统。焓差法测试是重要的测试方法之一,它不仅能对房间空调器的制冷能力和制热能力进行静态试验,还能进行动态性能的试验(包括风机性能测试),此外还可以针对房间空调器季节节能能效比(SEER)进行测定间歇启/停状态下空调器的制冷量和输入功率的试验。
传统的焓差法测试台采用常规的继电器控制,手动的操作方法,电气线路又复杂,操作又不便。以PLC为核心的控制系统实现测试过程的自动化。本文就针对房间空调器焓差法性能测试系统,讨论PLC在测试系统中的应用。
2. 系统控制要求
根据国家标准GB/T7725-1996[2],空气焓差法试验系统需要两个试验环境,一个作为室内侧试验环境,一个作为室外侧试验环境。室内外试验环境都配备了由1个循环风机,1个加湿器,1个加热器及3台制冷机组成的空气处理装置,另外,室外侧还有1个采样风机,室内侧有2个采样风机和1个排风机。室内外环境中所有设备的开关量均由PLC完成,同时PLC还兼备设备的故障报警。系统还要求上位机对所有设备进行控制,因此上位机与PLC通过RS232接口实现通信,在Delphi7.0平台下编写监控软件实现对系统的实时控制。
3. 硬件环境
PLC选型
房间空调器焓差法测试系统的控制点数有22个输入,16个输出。日本松下PLC产品FP1-C40系列,由于体积较小、结构紧凑,而且性能稳定,完全可以完成控制需要,因此,我们选用此系列型号为AFP1243B的PLC。
输入与输出
依据控制对象,对可编程控制器PLC的I/O点数及主要内部继电器进行分配[3]。
外部输入继电器X,用来采集各个被控对象的报警信号,是开关量输入。分配表如表1。
表1输入继电器X分配表
外部输出继电器Y,用来控制系统设备中的被控对象,是开关量输出。分配表2如下:
表2输出继电器Y分配表
主要内部继电器R,用来接收上位机触摸屏发送来的命令,作为被控对象的启动与制动开关,以此来控制整个测量系统的运行。其接收的也是开关量0或者1。其分配表如表3:
表3主要内部继电器R分配表
与上位机通讯
系统需要上位机对整个系统设备进行在线监控,FP1-C40系列提供了RS232接口,通过此接口与上位机通讯。
4. 控制程序设计
依据焓差测试台的工作原理和系统设计的任务,考虑到实际情况的需要,设计的PLC程序要满足下面的要求:
1) 焓差法测试台系统启动与停止时,系统中的16个被控对象的启动顺序有所不同。启动时,制冷机与风机先启动,并且只要有一个制冷机开动运行,风机就要立即启动,以保证室内外侧的空气流通,然后再启动加热器和加湿器。停止运行时,制冷机、加热器和加湿器先停机,然后再停止风机的运行。当在启动与制动过程中有报警信号输入时,则立刻停止出现故障被控对象的运行,以保证系统中被控对象不会被严重损坏。
2) 由于被控对象中有很多电机,电机在启动时电流是正常工作时候额定电流的2~4倍,所以不能长时间使电机处于启动/制动状态,否则,电极的线圈会被烧坏。因此,系统设定电机启动与制动时间都是10秒,即在启动开关或制动开关按下后的10s内,可以取消操作。这样就避免了因误操作等因素使电机长时间处于启动与制动状态而损坏电机。
3) 在正常情况下,关机时是先关压缩机和风机,然后再关运行的总开关。可是,实际情况下,可能会发生非法关机的情况,即直接将系统的总运行开关关闭。这样在PLC没有断电的情况下再次按下主控开关时,PLC的一些状态在开始时会保持,而使输出满足条件,这样就会发生在没有输入的情况下却有输出的情况。为了避免这种情况,在每次主控继电器的触发信号关闭时,要对保持状态的继电器复位。
根据以上的要求,设计了PLC程序[4]。其程序的流程图如图1所示。最后,通过松下PLC自带软件FPWIN GR将程序下载到PLC里。
5. 监控程序设计
通讯协议
松下电工FP-X系列的各级PLC网络应用层都是以其专用通讯协议MEWTOCOL为基础设计的。MEWTOCOL协议分为两个部分。一是MEWTOCOL-COM,即关于计算机的通讯协议,它适用于计算机与PLC的通讯。另一个是MEWTOCOL-DATA,即关于数据传输的协议,它适用于PLC与PLC之间及PLC与计算机之间的数据传输[5]。本系统采用MEWTOCOL-COM协议[6]。
1) 命令帧格式
其中%:MEWTOCOL-COM的命令帧开始标志(ASCII码为25H);
H,L:站地址的高位和低位,默认为01;
#:站号特征码(ASCII码为23H);
发送文本:由命令码和数据组成,命令码参考文献[];
BCC:校验码,采用异或校验码,BCC为8位;
CR:回车结束符。
2) 响应帧格式
其中%,H,L,BCC,CR的含义与命令帧相同;
$:命令正确传送标志,如果此位为“!”则表示命令错误;
响应文本:正确响应命令信息文本或者错误命令的错误代码。
图1 PLC程序流程图
5.2 通讯接口软件设计[7]
在Delphi7.0中调用VB的MSComm控件,可以快速方便地对串口进行访问[8]。
1) 端口设置
端口打开之前,要对端口的波特率、奇偶校验位、数据长度、停止位进行设置。
MSComm_plc.CommPort:=1;
MSComm_Plc.Settings:=‘19200,o,8,1‘;
MSComm_plc.OutBufferSize:=1024; MSComm_plc.InBufferSize:=1024;
MSComm_plc.OutBufferCount:=0; MSComm_plc.InBufferCount:=0;
if not MSComm_plc.PortOpen then MSComm_plc.PortOpen:=true;
2) 发送指令
按照MEWTOCOL通讯协议给PLC发送指令,打开总开关如下:
procedure TForm_Main.CWButton48Click(Sender: TObject); //总开关
var openstr,closestr,bcc,sendstr,sendstr1,sendstr2,sendstr3: string;
i: integer;
begin openstr:=‘%01#WCSR01001‘; //打开命令
closestr:=‘%01#WCSR01000‘; //关闭命令
bcc:=‘**‘; //检验码
if cwbutton48.Value=true then //打开总开关
begin sendstr:=openstr+bcc+chr(13); //命令帧
for i:=1 to length(sendstr) do //逐字发送指令
begin sendstr1:=copy(sendstr,i,1);
Mscomm_plc.Output:=sendstr1; end;
Mscomm_plc.OutBufferCount:=0; //端口缓存清除
Mscomm_plc.InBufferCount:=0;
end;
if cwbutton48.Value=false then //关闭总开关
begin sendstr2:=closestr+bcc+chr(13);
for i:=1 to length(sendstr2) do
begin sendstr3:=copy(sendstr2,i,1);
Mscomm_plc.Output:=sendstr3; end;
end;
end;
同样,按照同样格式实现其他开关的打开与关闭。
3) 故障报警
PLC输入端均是采集报警信号,若是X0000(XO)端返回数据为0即为报警,其它输入端与此相同。在程序中,利用Timer控件设定一定周期对端口进行扫描,系统采用周期为10s,即每10s对PLC的所有输入端状态进行扫描。当出现报警时,上位机软件会判断报警端口,并显示报警信息。
6. 结束语
以PLC为核心的控制系统使工业设备操作越来越方便,电气线路越来越简单;与PLC通讯的上位机软件,可以实时监控系统设备的运行状态。此控制系统已成功应用在杭州电子科技大学人工环境与信息技术重点实验室的焓差实验台, 1年多的实践表明:系统运行可靠稳定、操作快捷方便,大大提高了测试系统的智能化与自动化水平。