你现在位置:首页>技术论文>设计维护>正文
上位机与可编程控制器的通信与监控设计
日期:2008-8-31 23:34:37 来源:中国自动化网  
点击: 作者:
点击【】放大字体.
1 引 言
——可——编——程——控-制-器-技——术——门——户

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

PLC是专为工业控制而设计的专用计算机,其体积小,具有高可靠性和很强的抗干扰能力,因而在工业控制中得到了广泛的使用。随着工业的自动化程度的提高,对PLC的应用提出了更高的要求:更快的处理速度,更高的可靠性,控制与管理功能一体化。控制与管理一体化也就是将计算机信息处理技术,网络通信技术应用于PLC,使PLC用于下位分散控制,用计算机提供图形显示界面,同时对下位机进行监控。本文讨论的是上位计算机与欧姆龙CPM2A型PLC的通信与监控设计。
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

2 通信协议
WW.W_PLCJS_COM-PLC-技.术_网

2.1 CPM2A 的通信链接方式
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

CPM2A有三种通信联系方式:上位链接系统、同位链接系统、ComPoBus通信系统。工厂自动化系统中常把三种系统复合起来一起使用来实现工厂自动化系统要求的多级功能。复合型PLC网络中,上位链接系统处于最高位,负责整个系统的监控优化。
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

上位机与CMP2A的通信有两种方式:上位机命令与PLC通信命令。上位机命令方式上位机处于主动,命令由上位机发往PLC。采用上位机命令方式能方便的实现上位机对PLC的监控。上位机与CPM2A采用RS-232端口进行通信,串口接线如图1所示。
——可——编——程——控-制-器-技——术——门——户

WWW_PLC※JS_COM-PmLC-技.术_网

图1 CPM2A与上位机的链接
P.L.C.技.术.网——可编程控制器技术门户

P.L.C.技.术.网——可编程控制器技术门户

2.2 CPM2A的上位通信协议
WWW_PLCJS_COM-PLC-技.术_网

CPM2A的数据是以帧的格式发送的,当通信命令小于一帧时,发送格式如图2所示。其中正文最多122个字符。当命令块内容大于一帧时,由起始帧、中间帧、及结果帧组成。起始帧最多131个字符,中间帧及结束帧最多128个字符。起始帧由设备号、命令码、正文、 FCS、和分界符构成。中间帧有正文、FCS、分界符组成。结束帧由正文FCS、结束符组成。上位机每发送完一帧,在收到PLC发回的分界符后再发送下一帧。
W1WW_P4LCJS_COM-PLC-技.术_网

P.L.C.技.术.网——可编程控制器技术门户

图2 CPM2A 通信时命令块的格式
WWcW_PLCJS_COM-PLC-技.术_网

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

命令块中的校验码FCS是8位二进制数转换成的2位ASCⅡ字符。这8位数据是将一帧数据中校验码前的所有字符的ASCⅡ码位按连续异或的结果。转换成字符时,按照2位十六进制数转换成对应的数字字符。
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

PLC接收到上位机发送的命令帧后,自动产生响应块,响应块的格式与图2格式类似,只是在命令码后面多了两位的响应码,响应码表示了上位机命令的出错信息。响应码00表示PLC正常完成上位机命令。
WWW_P※LCJS_COM-PLC-)技.术_网

3PLC命令的编写
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

在CPM2A的上位链接系统中,PLC接收指令并被动地给上位机返回响应块。所以作为下位机的PLC不需要编写通信程序。
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

上位机与PLC的通信不能改变PLC的输入状态。为了通过上位机改变PLC的输出,在编写下位机的程序时就要利用PLC的工作位,通过上位机改变工作位的状态来改变PLC的输出,从而达到上位机对PLC输出的控制。
WWW_PLCJS_COM-PLC-技.术_网

如图3所示,在梯形图中加入了工作位3.00,4.00。系统正常工作时3.00,4.00置OFF,当需要实现上位机控制时,把3.00置ON,使PLC的输入端0.00失效,通过工作位4.00的通断来控制系统的输出。
WW.W_PLCJS_COM-PLC-技.术_网

P.L.C.技.术.网——可编程控制器技术门户

图3 实现上位机监控的PLC编程
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

4 编写上位机通信程序
WWW.PLCJS.COM——可编程控制器技术门户

在上位链接系统中,通信一般都是由上位机发起的,按PLC标准通信进行连接。上位机给PLC发送操作指令,PLC按照指令执行相应的操作,同时给上位机返回数据。串口通信流程如下图。
——可——编——程——控-制-器-技——术——门——户

WWW_P※LCJS_COM-PLC-)技.术_网

图4 通信流程图
P.L.C.技.术.网——可编程控制器技术门户

W1WW_P4LCJS_COM-PLC-技.术_网

4.1 编写上位通信程序
WWW_P※LCJS_COM-PLC-)技.术_网

编写通信程序可以采用高级语言或者汇编语言,下面给出的例子是用Delphi编写的上位机与CPM2A型PLC通信程序.通信采用标准通信模式。通信界面如图5。
W1WW_P4LCJS_COM-PLC-技.术_网

WWW_PLCJS_COM-PLC-技.术_网

图5 通信界面
WWW_P※LCJS_CO※M-PLC-技-.术_网

plcjs.技.术_网

//程序初始化:
W1WW_P4LCJS_COM-PLC-技.术_网

procedure TForm1.Init_PLC(nPort:integer);
WWW_PLCJS@_COM%-PLC-技.术_网

begin
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

if MSComm.PortOpen then
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

MSComm.PortOpen:=False;
WWW_P※LCJS_CO※M-PLC-技-.术_网

MSComm.Commport:=nPort;
WWW_PLC※JS_COM-PmLC-技.术_网

//通信端口选择
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

MSComm.Settings:=‘9600,e,7,1‘;
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

//1位起始位,7位数据位,偶效验,2位停止位,9600bps
WWW_PL※CJS_COM-PLC-技.术_网

MSComm.PortOpen:=True;//打开串口
WWW_P※LCJS_CO※M-PLC-技-.术_网

end;
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

//FCS校验
WWcW_PLCJS_COM-PLC-技.术_网

function FCS(s:string):variant;
plcjs.技.术_网

vari,len,tmpVar:integer;
WW.W_PLCJS_COM-PLC-技.术_网

DataCheck:byte;
WW.W_PLCJS_COM-PLC-技.术_网

f1,f2:byte;
WW.W_PLCJS_COM-PLC-技.术_网

begin
WWW_PLC※JS_COM-PmLC-技.术_网

f1:=0;
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

f2:=0;
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

DataCheck:=0;
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

len:=length(s);
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

tmpVar:=0;
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

for i:=1 to len do
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

begin
——可——编——程——控-制-器-技——术——门——户

DataCheck:=ord(DataCheck) xor ord(s[i>);
WW.W_PLCJS_COM-PLC-技.术_网

end;
WW.W_PLC※JS_C,OM-PL,C-技.术_网

f1:=DataCheck and $0f;
——可——编——程——控-制-器-技——术——门——户

f2:=DataCheck and $f0;
WWW_P※LCJS_COM-PLC-)技.术_网

f2:=f2 shr 4;
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

result:=inttostr(f2)+inttostr(f1);
WWW_PLCJS_COM-PLC-技.术_网

end;
WWcW_PLCJS_COM-PLC-技.术_网

// 调用MSComm控件实现PLC通信
plcjs.技.术_网

procedure TForm1.HandShake_PLC;
——可——编——程——控-制-器-技——术——门——户

var
WWW_PLCJS@_COM%-PLC-技.术_网

tmpByte1,tmpByte2:char;
plcjs.技.术_网

tmpVar:string;
WWW.PLCJS.COM——可编程控制器技术门户

s:string;
WWcW_PLCJS_COM-PLC-技.术_网

begin
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

Init_PLC(1);
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

&nbs
WW.W_PLC※JS_C,OM-PL,C-技.术_网

p; s:=Edit1.text;
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

tmpVar:=s+inttostr(FCS(s))+‘*‘+chr(13);
WWW_P※LCJS_CO※M-PLC-技-.术_网

MSComm.RThreshold:=0;
WWW_PLC※JS_COM-PmLC-技.术_网

MSComm.Output:=tmpVar;
WWW_PLCJS_COM-PLC-技.术_网

//向串口输出数据
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

sleep(1000);// 延时
W1WW_P4LCJS_COM-PLC-技.术_网

tmpVar:=MSComm.Input;
——可——编——程——控-制-器-技——术——门——户

//从串口读取数据
WWcW_PLCJS_COM-PLC-技.术_网

tmpByte1:=tmpVar[5>;
WWW.PLCJS.COM——可编程控制器技术门户

tmpByte2:=tmpVar[6>;
WW.W_PLCJS_COM-PLC-技.术_网

if tmpByte1=chr(48)& tmpByte2:=chr(48);
WWW_PLCJS_COM-PLC-技.术_网

//校验码等于00,PLC正常完成操作
WW.W_PLC※JS_C,OM-PL,C-技.术_网

then
W1WW_P4LCJS_COM-PLC-技.术_网

begin
WWW_PL※CJS_COM-PLC-技.术_网

Showmessage(‘发送的数据正确‘);
WWW_PLCJS_COM-PLC-技.术_网

else
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

Showmessage(‘发送的数据有问题‘);
plcjs.技.术_网

//end;
WWW_PLCJS@_COM%-PLC-技.术_网

end;
P.L.C.技.术.网——可编程控制器技术门户

4.2 实现上位机对PLC的监控
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

编写通信程序建立了上位机与PLC的连接.在PLC的任何工作方式下都可以通过”读”指令读取PLC的状态.从而对PLC进行监视.只有当PLC的工作方式为监视的情况下才可以通过上位机对PLC进行控制.所以在需要上位机实施控制的系统里面PLC都必须设置为监视工作方式.
WWW_P※LCJS_CO※M-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产生输出。
P.L.C.技.术.网——可编程控制器技术门户

(a) PLC正常工作
WWW_PLC※JS_COM-PmLC-技.术_网

(b)上位机控制
WWW_P※LCJS_COM-PLC-)技.术_网

P.L.C.技.术.网——可编程控制器技术门户

图6 PLC的上位机控制
WWW_P※LCJS_CO※M-PLC-技-.术_网

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

5 结束语
WWW_PL※CJS_COM-PLC-技.术_网

本文探讨了实现PLC的上位链接系统通信的方法,以及要实现上位机对下PLC控制的PLC编程。通过上位机对PLC的监视与控制,可用方便的实现工厂生产过程的自动化监控。

本新闻共2页,当前在第11 2  
WW.W_PLC※JS_C,OM-PL,C-技.术_网

评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行