6ES7231-7PF22-0XA0诚信经营
1 引言
PLC是专为工业控制而设计的专用计算机,其体积小,具有高可靠性和很强的抗干扰能力,在工业控制中得到了广泛的使用。随着工业的自动化程度的tigao,对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的监视与控制,可用方便的实现工厂生产过程的自动化监控。
灌区概述
闸门控制的研究对于节约能源、确保水利工程的正常运行、tigao水资源的利用效率和节约用水具有重要的意义。目前国内大部分灌区已基本实现liuliang数据的自动采集和监测,并把数据传输到管理部门,在根据有关数据进行远程自动监测和控制方面成熟的经验非常少。国外特别是欧美等先进国家已经达到较高的水平,如美国的SRP灌区自动化灌溉系统,可以采集100多点的水位、闸门开度和其它信息,通过计算机处理后,控制闸门、泵站等设备的运行。
本文以西门子200PLC在灌区中的实际应用,进行设计方案和控制流程的阐述。
实现功能概述
目前很多灌区需要实现集中化管理和控制,有的地区偏远,在现有的设施基础上进行改进,甚至不具备布线或者成本相对来说比较高,本案例中选择使用无线传输设备DTU。
本系统的核心设备是西门子200PLC,以及触摸屏。
灌区闸门集中控制系统由中央集中控制单元和闸门现地控制单元组成。其中,集中控制单元布置在中控室内;闸门现地控制单元以PLC、液晶触摸屏为核心设备,布置在相应的启闭机旁。每个闸门现地控制单元控制一个闸门。由现地控制单元完成启闭机有关信号的采集与处理,并实现对启闭机的控制。现地控制单元与集中控制单元之间采用DTU设备进行GPRS数据传输。
一、主要设备选型
二、设计原理图
(1)下图为主要设备框架图,DTU和西门子200PLC进行自由口通信,触摸屏和PLC进行RS485通信,各占用PLC一个通信口。
(2)下图为PLC的CPU主要配线系统设计图,现场的信号输入和继电器输出处理,以及传感器的数据采集。
三、PLC程序部分
下面是PLC程序的部分截图,自由口的编程,主要是和上位机进行通信,如果选用组态王作为上位机,那么有亚控公司提供的自由口程序,不需要我们自己编写,只需要简单的配置下数据就行。模拟量采集编程主要是采集开度传感器4-20MA模拟量,进行数据的处理在触摸屏上显示。
四、无线设备的应用
无线设备DTU选择的是厦门才茂的,需要使用电脑简单配置下参数就可以,安装一张手机卡,开通liuliang,短信等功能即可。
五、系统安装图片
下面是现场的安装图片:灌区现地控制柜、开度传感器、闸门启闭机室、柜内PLC等设备
六、系统功能简述
现地控制单元设手动、自动、远方三种操作模式:
手动——现地操作。在现地控制单元上进行开启、关闭闸门的操作。手动操作独立于PLC系统。
自动——现地操作。同样在现地控制单元上进行开启、关闭闸门的操作。自动操作时PLC参与控制并提供保护,通过光纤以太网与中央集中控制单元相连,向中央控制单元传送数据,并接收中央控制单元的命令。
远方——远方计算机操作。
现地控制单元上设有触摸屏,可监视闸门运行数据和运行情况。
触摸屏报警:
当出现电机故障、PLC故障时触摸屏的报警画面将显示相关报警信息及
发生故障的时间。
蜂鸣器报警:
无论出现何种报警,蜂鸣器发出声光信号报警,延时30秒后自动停止。
下图为触摸屏界面截图:
七、系统有待改进tigao
本系统主要运用在灌区闸门控制,稳定运行,安装方便。当然也有很多不足之处,有待tigao,在后期我们会根据实际使用情况,进行系统的改进。让本系统更加的适应国内灌区的使用习惯。
本系统的远程控制端主要设备为工控机,软件可以使用组态软件编写控制画面。现在控制柜采用的西门子200PLC,稳定可靠,成本低,维护成本低