第9章PLC的网络通讯9.1PLC网络通讯概述9.2S7—200系列PLC与计算机设备的通信9.3S7-200系列PLC自由口通信9.4网络通信运行9.1.1网络通讯的基本概念1.网络结构(1)链接结构链接结构按信息在设备间的传送方向可分为单工通信、半双工通信、全双工通信三种(2)联网结构2.并行通信与串行通信并行通信是指所传送数据的各位同时发送或接收.特点是数据传送速度快。但是传输线的根数多,成本高,一般用于近距离的数据传送。串行通信是指所传送的数据按顺序一位一位地发送或接收远的场合特点是通信线路简单,需要的信号线少,最少的只需要两根线(双绞线),故成本低,但是传送速度比并行通信慢,适用于距离较远的场合3.传输速率数据在网络中的传输速度称为波特率,波特率测量在某一特定时间内传输的数据量。它用每秒传送的二进制位数表示,其符号为bit/s或bps。通常以千波特(kbps)、兆波特(Mbps)为单位。9.1.2网络配置1.硬件配置(1)通信接口RS—232接口RS—422接口RS—485接口(2)通信介质数据传送的介质主要有双绞线、同轴电缆和光缆,如果传送距离较远,还可以利用电话线,其他介质如电磁波、红外线、微波等应用较少。2.软件配置软件一般分为两类,一类是系统编程软件,用以实现计算机编程,并把程序下载到PLC,且监控PLC的工作状态。如西门子公司的STEP7-Micro/WIN编程软件。另一类为应用软件,各用户根据不同的开发环境和具体要求,用不同的编程语言编写的通信程序。9.2S7—200系列PLC与计算机设备的通信9.2.1S7-200系列CPU的通信性能1.SIEMENS公司的网络层次结2.S7-200系列的通信协议3.通信设备(1)通信端口(2)网络连接器(3)通信电缆(1)PPI协议(点对点接口协议)PPI(Point-to--PointInterface)协议是SIEMENS公司专门为S7-200系列PLC开发的通信协议,是主/从协议,即主站可对网络中的其他设备发出初始化请求,从站只是响应来自主站的初始化请求,不能对网络中的其他设备发出初始化请求。(2)自由口协议自由口协议是指通过编写用户程序来控制CPU通信端口的操作模式,可以用自定义的通信协议连接多种智能设备。针脚号PROFIBUS名称端口0/端口11屏蔽逻辑地224V地逻辑地3RS-485信号BRS-485信号B4发送申请RTS(TTL)55V地逻辑地6+5V+5V,100Ω串联电阻7+24V+24V8RS-485信号ARS-485信号A9不用10位信号选择连接器外壳屏蔽机壳接地PLC与计算机通信示意图(a)计算机与PLC的连接(b)PC/PPI电缆上的DIP开关(c)DIP开关的设置9.2.2个人计算机与S7-200CPU之间的联网通信1.建立通信方案(1)主站与从站之间的连接形式:单主站还是多主站,可通过软件组态进行设置(2)站号:站号是网络中各个站的编号,网络中的每个设备(PC,PLC,HMI等)都要分配惟一的编号(站地址)。2.参数组态在自动控制领域中指控制系统硬、软件的配置过程。在编程软件STEP7Micro/WIN32中,对通信硬件参数进行设置,即通信参数组态9.3S7-200系列PLC自由口通信9.3.1相关的特殊功能寄存器1.自由端口的初始化2.自由口通信时的中断事件端口0端口1描述SMB30的数据格式SMB130的数据格式SM30.6和SM30.7奇偶校验选择SM130.6和SM130.7奇偶校验选择PP:00=无校验01=偶检验10=无校验11=奇校验SM30.5每个字符的有效数据位SM130.5每个字符的有效数据位D:0=每字符8位1=每字符7位SM30.2~SM30.4波特率选择SM130.2~SM130.4波特率选择BBB:000=38400(CPU212为19200)001=192000010=9600011=4800100=2400101=1200110=600111=300SM30.0和SM30.1通信协议选择SM130.0和SM130.1信协议选择Mm00=PPI协议(PPI/从站模式)01=自由口通信协议10=PPI主站模式11=保留(缺省PPI/从站模式)每种设置有1个停止位(1)中断标志位SM4.5和SM4.6分别表示HO和HI处于发送空闲状态。(2)中断事件在S7-200的中断事件中,与自由口通信有关的中断事件如下。·中断事件8:通信端口0单字符接收中断。·中断事件9:通信端口0发送完成中断。·中断事件23:通信端口0接收完成中断。·中断事件25:通信端口1单字符接收中断。·中断事件26:通信端口1发送完成中断。·中断事件24:通信端口1接收完成中断。9.3.2.自由口通信指令1.数据接收指令RCV在梯形图中,数据接收指令以功能框的形式表示,指令名称为RCV。在语句表中,数据接收指令的指令格式为:RCVTBL,PORT可以通过中断的方式接收数据,在接收字符数据时,有如下两种中断事件产生。(1)利用字符中断控制接收数据(2)利用接收结束中断控制接收数据注意:如果出现超时和奇偶校验错误,则自动结束接收过程。2.数据发送指令XMT在梯形图中,数据发送指令以功能框的形式编程,指令的名称为XMT。在语句表中,数据接收指令的指令格式为:XMTTABLE,PORT。9.3.3自由口通信的应用举例如图所示,用S7-200CPU222接收来自条码阅读器的数据通信要求①来自条码阅读器的数据(ASCII码),经条码解码器翻译后,通过自由口通信模式将数据传送到CPU222,以便程序调用。②在CPU222内设置两个数据接收缓冲区:缓冲区0和缓冲区1,用于存储条码信息。在接收到回车键的字符(编码为16#10)后,向另一个缓冲区存储新读入的条码信息。③用Q0.0和Q0.1指示新读入的条码所在的缓冲区。④通信参数设定:波特率为9600bps,无奇偶校验,每个字符8位。程序框图如图所示.主程序:初始化程序。.子程序0:SBR0接收条码信息。.中断程序0:INT0在数据缓冲区0接收。.中断程序1:INTl在数据缓冲区1接收。主程序的STL为:LDSM0.1∥第一次扫描SM0.1=1CALL0∥调子程序0LDSM0.7∥如果工作方式开关在TERM位置,则设置PPI通信协议=SM30.0∥如果工作方式开关在RUN位置,则设置自由口通信协议·MEND∥主程序结束子程序0的STL为:SBR0∥准备接收条码MOVB+9,SMB30∥设置通信参数:9600bps,无奇偶校验,8位字符MOVD&VBl00,VD50∥指针指向数据缓冲区0MOVD&VB200,VD60∥指针指向数据缓冲区lMOVDVD50,VD56∥VD56也指向缓冲区0MOVW+0,VW54∥清除数据缓冲区0的字符计数器(VW54作为字符计数器)ATCH+0,8∥建立单字符接收中断事件8与中断程序0的连接MOVB+1,QB0∥置Q0.1=0,Q0.0=1ENI∥开中断RET∥结束子程序0中断程序0的STL为;INT0∥数据缓冲区0接收MOVBSMB2,*VD56∥字符装入缓冲区01NCDVD56∥指针加11NCWVW54∥字符计数器加1LDB=SMB2,16#10∥如果字符是LF(回车符,编码为16#10),则MOVDVD60,VD66∥使指针VD66指向数据缓冲区1MOVW+0,VW64∥清除数据缓冲区1的字符计数器(VW64作为字符计数器)ATCH+1,8∥建立单字符接收中断事件8与中断程序1的连接MOVB+2,QB0∥置QO.1=1,Q0.0=0RETI∥中断程序0结束中断程序1的STL为:INT1∥数据缓冲区1接收MOVBSMB2,*VD56∥字符装入数据缓冲区11NCDVD66∥指针加11NCWVW64∥字符计数器加1LDB=SMB2,16#10∥如果字符是LF,则MOVDVD50,VD56∥使指针VD56指向数据缓冲区0.MOVW+0,VW54∥清除数据缓冲区0的字符计数器ATCH+0,8∥建立单字符接收中断事件8与中断程序0的连接MOVB+1,QB0∥置Q0.1=0,Q0.0=1RETI∥中断程序1结束9.4网络通信运行9.4.1控制寄存器和传送数据表1.控制寄存器2.传递数据表的格式及定义在S7-200的特殊继电器SM中,SMB30(SMBl30)用于设定通信端口0(通信端口1)的通信方式。由SMB30(SMBl30)的低2位决定通信端口0(通信端口1)的通信协议(PPI从站、自由口、PPI主站)。只要将SMB30(SMBl30)的低2位设置为2#10,就允许该PLC主机为PPI主站模式,可以执行网络读写指令。9.4.2网络运行指令说明:(1)数据表最多可以有16个字节的信息,同时最多可激活8条NETR和NETW指令(2)操作数类型:TABLE:VB,MB,*VD,*AC;PORT:0,1(3)设定ENO=0的错误条件:SM4.3(运行时间),0006(间接寻址错误)。9.4.3网络读写举例1.系统功能描述如图所示,某产品自动装箱生产线将产品送到4台包装机中的一台上,包装机把每10个产品装到一个纸板箱中,一个分流机控制着产品流向各个包装机(4个)。CPU221模块用于控制打包机。一个CPU222模块安装了TD200文本显示器,用来控制分流机2.操作控制要求站点6要读写4个远程站(站2、站3、站4、站5)的状态字和计数值。CPU222通信端口号为00从VB200开始设置接收和发送缓冲区。接收缓冲区从VB200开始,发送缓冲区从VB300开始,具体分区见表CPU222用NETR指令连续地读取每个打包机的控制和状态信息。每当某个打包机装完100箱,分流机(CPU222)会用NETW指令发送一条信息清除状态字。下面以站2打包机为例,编制其对单个打包机需要读取的控制字节、包装完的箱数和复位包装完的箱数的管理程序。分流机CPU222与站2打包机进行通信的接受/发送缓冲区划分见表3.程序设计网络站6通过网络读写指令管理站2的程序及其注释