上位机与可编程控制器的通信与监控设计.pdf

上位机与可编程控制器的通信与监控设计.pdf

ID:52241099

大小:144.52 KB

页数:5页

时间:2020-03-25

上位机与可编程控制器的通信与监控设计.pdf_第1页
上位机与可编程控制器的通信与监控设计.pdf_第2页
上位机与可编程控制器的通信与监控设计.pdf_第3页
上位机与可编程控制器的通信与监控设计.pdf_第4页
上位机与可编程控制器的通信与监控设计.pdf_第5页
资源描述:

《上位机与可编程控制器的通信与监控设计.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

2、接方式CPM2A有三种通信联系方式:上位链接系统、同位链接系统、ComPoBus通信系统。工厂自动化系统中常把三种系统复合起来一起使用来实现工厂自动化系统要求的多级功能。复合型PLC网络中,上位链接系统处于最高位,负责整个系统的监控优化。上位机与CMP2A的通信有两种方式:上位机命令与PLC通信命令。上位机命令方式上位机处于主动,命令由上位机发往PLC。采用上位机命令方式能方便的实现上位机对PLC的监控。上位机与CPM2A采用RS-232端口进行通信,串口接线如图1所示。图1CPM2A与上位机的链

3、接2.2CPM2A的上位通信协议CPM2A的数据是以帧的格式发送的,当通信命令小于一帧时,发送格式如图2所示。其中正文最多122个字符。当命令块内容大于一帧时,由起始帧、中间帧、及结果帧组成。起始帧最多131个字符,中间帧及结束帧最多128个字符。起始帧由设备号、命令码、正文、FCS、和分界符构成。中间帧有正文、FCS、分界符组成。结束帧由正文FCS、结束符组成。上位机每发送完一帧,在收到PLC发回的分界符后再发送下一帧。图2CPM2A通信时命令块的格式命令块中的校验码FCS是8位二进制数转换成的

4、2位ASCⅡ字符。这8位数据是将一帧数据中校验码前的所有字符的ASCⅡ码位按连续异或的结果。转换成字符时,按照2位十六进制数转换成对应的数字字符。PLC接收到上位机发送的命令帧后,自动产生响应块,响应块的格式与图2格式类似,只是在命令码后面多了两位的响应码,响应码表示了上位机命令的出错信息。响应码00表示PLC正常完成上位机命令。3PLC命令的编写在CPM2A的上位链接系统中,PLC接收指令并被动地给上位机返回响应块。所以作为下位机的PLC不需要编写通信程序。上位机与PLC的通信不能改变PLC的输

5、入状态。为了通过上位机改变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标准通信进行连接。上位机

6、给PLC发送操作指令,PLC按照指令执行相应的操作,同时给上位机返回数据。串口通信流程如下图。图4通信流程图4.1编写上位通信程序编写通信程序可以采用高级语言或者汇编语言,下面给出的例子是用Delphi编写的上位机与CPM2A型PLC通信程序.通信采用标准通信模式。通信界面如图5。图5通信界面//程序初始化:procedureTForm1.Init_PLC(nPort:integer);beginifMSComm.PortOpenthenMSComm.PortOpen:=False;MSComm.

7、Commport:=nPort;//通信端口选择MSComm.Settings:=‘9600,e,7,1‘;//1位起始位,7位数据位,偶效验,2位停止位,9600bpsMSComm.PortOpen:=True;//打开串口end;//FCS校验functionFCS(s:string):variant;vari,len,tmpVar:integer;DataCheck:byte;f1,f2:byte;beginf1:=0;f2:=0;DataCheck:=0;len:=length(s);tm

8、pVar:=0;fori:=1tolendobeginDataCheck:=ord(DataCheck)xorord(s);end;f1:=DataCheckand$0f;f2:=DataCheckand$f0;f2:=f2shr4;result:=inttostr(f2)+inttostr(f1);end;//调用MSComm控件实现PLC通信procedureTForm1.HandShake_PLC;vartmpByte1,tmpByte2:char;tmpVar:string

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。