1 引 言
PLC是专为工业控制而设计的专用计算机,其体积小,具有高可靠性和很强的抗干扰能力,因而在工业控制中得到了广泛的使用。随着工业的自动化程度的提高,对PLC的应用提出了更高的要求:更快的处理速度,更高的可靠性,控制与管理功能一体化。控制与管理一体化也就是将计算机信息处理技术,网络通信技术应用于PLC,使PLC用于下位分散控制,用计算机提供图形显示界面,同时对下位机进行监控。本文讨论的是上位计算机与欧姆龙CPM
2 通信协议
2.1 CPM
CPM
上位机与CMP
图1 CPM
2.2 CPM
CPM
图2 CPM
命令块中的校验码FCS是8位二进制数转换成的2位ASCⅡ字符。这8位数据是将一帧数据中校验码前的所有字符的ASCⅡ码位按连续异或的结果。转换成字符时,按照2位十六进制数转换成对应的数字字符。
PLC接收到上位机发送的命令帧后,自动产生响应块,响应块的格式与图2格式类似,只是在命令码后面多了两位的响应码,响应码表示了上位机命令的出错信息。响应码00表示PLC正常完成上位机命令。
3 PLC命令的编写。
在CPM
上位机与PLC的通信不能改变PLC的输入状态。为了通过上位机改变PLC的输出,在编写下位机的程序时就要利用PLC的工作位CONTROL ENGINEERING China版权所有,通过上位机改变工作位的状态来改变PLC的输出,从而达到上位机对PLC输出的控制。
如图3所示,在梯形图中加入了工作位3.00,4.00。系统正常工作时3.00,4.00置OFF,当需要实现上位机控制时控制工程网版权所有,把3.00置ON,使PLC的输入端0.00失效,通过工作位4.00的通断来控制系统的输出。
图3 实现上位机监控的PLC编程
4 编写上位机通信程序
在上位链接系统中,通信一般都是由上位机发起的www.cechina.cn,按PLC标准通信进行连接。上位机给PLC发送操作指令控制工程网版权所有,PLC按照指令执行相应的操作,同时给上位机返回数据。串口通信流程如下图。
图4 通信流程图
4.1 编写上位通信程序
编写通信程序可以采用高级语言或者汇编语言,下面给出的例子是用Delphi编写的上位机与CPM
图5 通信界面
//程序初始化:
procedure TForm1.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:string):variant;
var