西门子CPU模块6ES7516-3TN00-0AB0型号规格
1 引 言
PLC是专为工业控制而设计的专用计算机,其体积小,具有高可靠性和很强的抗干扰能力,因而在工业控制中得到了广泛的使用。随着工业的自动化程度的提高,对PLC的应用提出了更高的要求:更快的处理速度,更高的可靠性,控制与管理功能一体化。控制与管理一体化也就是将计算机信息处理技术,网络通信技术应用于PLC,使PLC用于下位分散控制,用计算机提供图形显示界面,同时对下位机进行监控。本文讨论的是上位计算机与欧姆龙CPM2A型PLC的通信与监控设计。
2 通信协议
2.1 CPM2A 的通信链接方式
CPM2A有三种通信联系方式:上位链接系统、同位链接系统、ComPoBus通信系统。工厂自动化系统中常把三种系统复合起来一起使用来实现工厂自动化系统要求的多级功能。复合型PLC网络中,上位链接系统处于高位,负责整个系统的监控优化。
上位机与CMP2A的通信有两种方式:上位机命令与PLC通信命令。上位机命令方式上位机处于主动,命令由上位机发往PLC。采用上位机命令方式能方便的实现上位机对PLC的监控。上位机与CPM2A采用RS-232端口进行通信,串口接线如图1所示。
图1 CPM2A与上位机的链接
2.2 CPM2A的上位通信协议
CPM2A的数据是以帧的格式发送的,当通信命令小于一帧时,发送格式如图2所示。其中正文多122个字符。当命令块内容大于一帧时,由起始帧、中间帧、及结果帧组成。起始帧多131个字符,中间帧及结束帧多128个字符。起始帧由设备号、命令码、正文、 FCS、和分界符构成。中间帧有正文、FCS、分界符组成。结束帧由正文FCS、结束符组成。上位机每发送完一帧,在收到PLC发回的分界符后再发送下一帧。
图2 CPM2A 通信时命令块的格式
命令块中的校验码FCS是8位二进制数转换成的2位ASCⅡ字符。这8位数据是将一帧数据中校验码前的所有字符的ASCⅡ码位按连续异或的结果。转换成字符时,按照2位十六进制数转换成对应的数字字符。
PLC接收到上位机发送的命令帧后,自动产生响应块,响应块的格式与图2格式类似,只是在命令码后面多了两位的响应码,响应码表示了上位机命令的出错信息。响应码00表示PLC正常完成上位机命令。
3PLC命令的编写
在CPM2A的上位链接系统中,PLC接收指令并被动地给上位机返回响应块。所以作为下位机的PLC不需要编写通信程序。
上位机与PLC的通信不能改变PLC的输入状态。为了通过上位机改变PLC的输出,在编写下位机的程序时就要利用PLC的工作位,通过上位机改变工作位的状态来改变PLC的输出,从而达到上位机对PLC输出的控制。
如图3所示,在梯形图中加入了工作位3.00,4.00。系统正常工作时3.00,4.00置OFF,当需要实现上位机控制时,把3.00置ON,使PLC的输入端0.00失效,通过工作位4.00的通断来控制系统的输出。
图3 实现上位机监控的PLC编程
4 编写上位机通信程序
在上位链接系统中,通信一般都是由上位机发起的,按PLC标准通信进行连接。上位机给PLC发送操作指令,PLC按照指令执行相应的操作,同时给上位机返回数据。串口通信流程如下图。
图4 通信流程图
4.1 编写上位通信程序
编写通信程序可以采用语言或者汇编语言,下面给出的例子是用Delphi编写的上位机与CPM2A型PLC通信程序.通信采用标准通信模式。通信界面如图5。
图5 通信界面
//程序初始化:
procedure Tbbbb1.Init_PLC(nPort:integer);
begin
if MSComm.PortOpen then
MSComm.PortOpen:=False;
MSComm.Commport:=nPort;
//通信端口选择
MSComm.Settings:=‘9600,e,7,1‘;
//1位起始位,7位数据位,偶效验,2位停止位,9600bps
MSComm.PortOpen:=True;//打开串口
end;
//FCS校验
function FCS(s:bbbbbb):variant;
vari,len,tmpVar:integer;
DataCheck:byte;
f1,f2:byte;
begin
f1:=0;
f2:=0;
DataCheck:=0;
len:=length(s);
tmpVar:=0;
for i:=1 to len do
begin
DataCheck:=ord(DataCheck) xor ord(s[i]);
end;
f1:=DataCheck and $0f;
f2:=DataCheck and $f0;
f2:=f2 shr 4;
result:=inttostr(f2)+inttostr(f1);
end;
// 调用MSComm控件实现PLC通信
procedure Tbbbb1.HandShake_PLC;
var
tmpByte1,tmpByte2:char;
tmpVar:bbbbbb;
s:bbbbbb;
begin
Init_PLC(1);
&nbs
p; s:=Edit1.text;
tmpVar:=s+inttostr(FCS(s))+‘*‘+chr(13);
MSComm.RThreshold:=0;
MSComm.Output:=tmpVar;
//向串口输出数据
sleep(1000);// 延时
tmpVar:=MSComm.bbbbb;
//从串口读取数据
tmpByte1:=tmpVar[5];
tmpByte2:=tmpVar[6];
if tmpByte1=chr(48)& tmpByte2:=chr(48);
//校验码等于00,PLC正常完成操作
then
begin
Showmessage(‘发送的数据正确‘);
else
Showmessage(‘发送的数据有问题‘);
//end;
end;
4.2 实现上位机对PLC的监控
编写通信程序建立了上位机与PLC的连接.在PLC的任何工作方式下都可以通过”读”指令读取PLC的状态.从而对PLC进行监视.只有当PLC的工作方式为监视的情况下才可以通过上位机对PLC进行控制.所以在需要上位机实施控制的系统里面PLC都必须设置为监视工作方式.
上位机只需要设置PLC的相应工作位就可以实现对PLC的控制.下图为PLC上位机控制过程。图a表示PLC 正常工作时输出由输入0.00控制,当需要把PLC的控制转由上位机控制时,只需要通过向PLC输入@00RR00030001,置3.00为ON,切断0.00的通路,这样输出10.00就转由4.00控制,当输入@00WR00040001时,4.00为ON,输出位10.00产生输出。
(a) PLC正常工作
(b)上位机控制
图6 PLC的上位机控制
5 结束语
本文探讨了实现PLC的上位链接系统通信的方法,以及要实现上位机对下PLC控制的PLC编程。通过上位机对PLC的监视与控制,可用方便的实现工厂生产过程的自动化监控。
工艺对象简述
唐钢2560m3高炉的顶压控制由减压阀组及唐钢北区动力厂与之配套的余压发电(TRT)设备组成,如图1所示。
图1 炉顶压力控制阀组体系结构
减压阀组由4个阀组成:自动阀、量程阀、快开阀、遥控阀组成。
自动阀:在减压阀组控制顶压时实现自动调节。
量程阀:在自动阀自动控制时起辅助调节作用。
快开阀:用于TRT故障时与减压阀组快速切换,在高炉减压阀组控制顶压时,作手动阀用。
遥控阀:用于中控时应急手动控制顶压及高炉顶压超高限时紧急连锁,防止损坏炉顶设备。
TRT主要由调速阀、透平机静叶、发电机组等设备组成。
调速阀:用于调节透平机的冲转转速,使之达到发电机发电所需的额定转速,保证发出的电为50Hz。
透平机静叶:在TRT控制顶压时调节顶压,并调节发电功率。
工艺上要求在顶压稳定的同时TRT的发电功率大化,这样就要求高炉产生的煤气全部流经TRT,充分利用高炉顶压与管网煤气的压力差进行发电。也就是说在TRT控制顶压时,正常时要求减压阀组的所有阀门均处于关闭状态。为了方便控制与切换采取双方共用一个顶压PID调节器,高炉操作人员随时可以根据炉况调整顶压的设定值,通过减压阀组或TRT的静叶进行调节顶压,切换后TRT人员也可以直接控制减压阀组的自动阀、快开阀。
系统方案
唐钢二铁2560m3高炉使用ROCKWELL公司的PLC5控制系统,唐钢北区动力厂3#TRT系统使用ABB的PLC系统。控制原理如图2所示。
图2 高炉炉顶压力控制原理图
高炉切换到TRT控制时,高炉顶压调节器的输出值输出到TRT,这时TRT系统逐渐减少对自动阀的输出,加大对透平机静叶的输出,直到自动阀全关,量程阀依据与自动阀的连锁全关,这时减压阀组的阀全部处于关闭状态,高炉顶压调节器从控制自动阀完全控制静叶。但自动阀与静叶毕竟是两个不同的执行机构,传递函数不同。如果高炉顶压调节器的PID参数还沿用自动阀的值会造成顶压波动增大。所以当切换后自动阀全关时,TRT系统将适应静叶的PID参数传到高炉的顶压调节器。
TRT切换到高炉控制时,TRT系统逐渐减少对透平机静叶的输出,加大对自动阀的输出,直到静叶全关。正式切换高炉控制,高炉顶压调节器的输出值直接输出到自动阀,高炉控制系统将适应自动阀的PID参数再传到高炉顶压调节器,切换完成。
当TRT紧急故障时,静叶全关,高炉顶压调节器的输出值输出到自动阀,快开阀紧急打开,保证顶压不超限。缓慢关闭快开阀,自动阀在高炉顶压调节器的作用下开始调节顶压。快开阀全关后,正式切换高炉控制,高炉控制系统将适应自动阀的PID参数再传到高炉顶压调节器,切换完成。
无论切换与否,高炉自动阀、量程阀、快开阀、遥控阀的阀位信号,高炉顶压高选后的压力信号,顶压设定值信号都实时传送到TRT,以便TRT对高炉顶压进行监视。炉顶压力控制流程如图3所示。
图3 炉顶压力控制流程图
结束语
本文所述的控制系统已于2000年12月正式投运,由于实现了减压阀组、透平机静叶双PID参数控制,正常情况下顶压设定值为200kPa,减压阀组、透平机静叶控制时顶压波动范围均在+1.5~-2.5kPa之间,为高炉的稳产、高产提供了有利保证。