1 引言
WWW_PLCJS@_COM%-PLC-技.术_网
PLC以其高可靠性、适应工业过程现场、强大的联网功能等特点被广泛使用,是机电一体化的发展方向。Windows以图形化界面给用户提供了良好的人机界面,并且被很多人所掌握,所以我们考虑使用PLC作为工业控制下位机,使用PC作为上位机进行人机交互界面。这就涉及了使用PC如何控制PLC,PC如何与PLC进行通讯的问题。W1WW_P4LCJS_COM-PLC-技.术_网
WW.W_PLCJS_COM-PLC-技.术_网
以Schneider公司的TSX Neza系列PLC为例,上位PC机与PLC通讯进行一些探讨。WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
2 计算机与Neza PLC通讯方式。
WWcW_PLCJS_COM-PLC-技.术_网
Neza系列PLC提供了三种通讯方式,分别为:Modbus方式、ASCII方式、Unitelway方式。WW.W_PLC※JS_C,OM-PL,C-技.术_网
(1) Modbus方式WWW_PLCJS@_COM%-PLC-技.术_网
MODBUS是Schneider公司为该公司生产的PLC设计的一种通信协议,通过24种总线命令实现PLC与外界的信息交换。具有Modbus协议的PLC可以方便的进行组态。WWW_PLCJS_COM-PLC-技.术_网
使用Modbus进行PLC通讯时需要使用PLC的扩展口,而多个PLC进行通讯时也要使用这唯一的扩展口,也就是如果使用Modbus进行通讯时PLC无法与其他PLC进行通讯。Schneider公司早期产品不支持该协议。WWcW_PLCJS_COM-PLC-技.术_网
WWW_PL※CJS_COM-PLC-技.术_网
(2) Unitelway方式WWW.PLCJS.COM——可编程控制器技术门户
Unitelway是基于Schneider公司的Xway通讯协议的,经过发展现在Neza使用的是Unitelway V2,它与UnitelwayV1.1基本兼容。通过Unitelway提供的各项命令我们可以方便的访问PLC的各项资源,对PLC进行各项操作。在Modicon公司NAZA系列PLC中编好的程序就是使用Unitelway下载入PLC。Unitelway使用编程口并不占用扩展口。在通讯方式中Unitelway是最为理想的方式,但是Unitelway协议并没有完全公开,一般用户无法使用。WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
WWcW_PLCJS_COM-PLC-技.术_网
(3) ASCII方式WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
ASCII码方式在很多PLC上都可以使用名称也不一而足:ASCII方式、自由口模式等等。在自由口模式下,通信协议是由用户定义的。用户要根据自己的需要确定自己和PLC的通讯协议。自由码也是使用编程口与上位机进行通讯,并不占用扩展口。但是它的通讯协议需要自己确定,需要在PLC编程和上位机中确定唯一的通讯方法。plcjs.技.术_网
WWW_PL※CJS_COM-PLC-技.术_网
3 通讯过程P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
每一次PC机和PLC数据交换有3个步骤,说明如下:WWW_PLC※JS_COM-PmLC-技.术_网
(1) 通讯是由在PLC中确定的时间触发, 发送一组字符给PC机plcjs.技.术_网
在Neza系列PLC使用ASCII通讯时,通讯是由在PLC中确定的时间触发的。在确定的时间到达后,PLC要求数据发送时,PLC会发送一组字符过去。通常该字符第一个字符就是前导码,PC机根据前导码确定是否应该读取该字符串、该字符属于哪一个命令集合,以及用什么格式去读取字符串等。前导码不会是一般的符号字符,通常是一些不可见的字符(位于ASCII码表的前30个)或极少被使用的符号字符,这是因为避免数据字符与前导码一样而发生错误判断。在前导码之后是站号,通常是以两个字符代表,单纯以RS232连接的单一设备也许不需要站号的设置,但是如果以RS485进行网络连接,就需要用站号来辨认命令是属于那一个设备。站号后面就是设备解读的命令或者数据。(本例为单机不需要站号)一般的通讯都需要进行数据的校验,在Neza系列PLC使用ASCII通讯中,PLC没有对数据的处理能力,所以没有设置校验位。为了保证通讯的正确,可以在PC中对数据进行一定处理。在数据后一般为这个帧的结束码,来保证数据帧的完整性。——可——编——程——控-制-器-技——术——门——户
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
(2) PC收到要求的字符串,并判读WWcW_PLCJS_COM-PLC-技.术_网
当PC收到要求的字符串,并经过判读确定后,同样按照相同的协议,按照用户需要对PLC进行的操作送出数据,数据被送出时会在数据之前加上前导码和站号。数据中携带了PC机对PLC要求的操作。WWW_PL※CJS_COM-PLC-技.术_网
WW.W_PLC※JS_C,OM-PL,C-技.术_网
(3) PLC将数据发给PCWWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
在 PLC收到PC发来的数据包后经过判读确定后,进行一定的操作然后在触发时间到达后将PLC的状态写入数据发给PC,这样就完成了一次数据交换。WWW_PLCJS@_COM%-PLC-技.术_网
4 应用实例
P.L.C.技.术.网——可编程控制器技术门户
下面介绍所开发的系统是由下位机(PLC)—上位机(PC)组成,系统框图如图1所示。程序使用VB6,整个程序设计分为四部分:上位机程序设计;下位机程序设计;通讯硬件设计;通讯协议。WWcW_PLCJS_COM-PLC-技.术_网