1、16.1 网络通信概述网络通信概述6.2 西门子西门子S7系列系列PLC的网络类型及配置的网络类型及配置 6.3 S7-200 PLC 的通信指令与通信实例的通信指令与通信实例大连理工大学2 2 并行通信:并行通信:数据在多个信道上,以字或字节为单位同数据在多个信道上,以字或字节为单位同时传时传 输的方式。输的方式。串行通信:串行通信:数据在一个信道上,以位为单位按顺序发数据在一个信道上,以位为单位按顺序发送或接收的方式。送或接收的方式。大连理工大学3 3 串行通信中采用两种同步技术:异步通信和同步通信。串行通信中采用两种同步技术:异步通信和同步通信。异步通信:异步通信:数据按固定格式一帧一帧
2、进行传送,一帧包括一个字数据按固定格式一帧一帧进行传送,一帧包括一个字符代码或个字节数据。每帧数据都有一个附加的起始位和多个停止位符代码或个字节数据。每帧数据都有一个附加的起始位和多个停止位作为字符的开始标志和结束标志。作为字符的开始标志和结束标志。特点:特点:传送效率低,主要应用于中、低速通信场合。传送效率低,主要应用于中、低速通信场合。PLC 一般使用串行异步通信。一般使用串行异步通信。同步通信:同步通信:把每个完整的数据块作为整体来传输。传输时,用把每个完整的数据块作为整体来传输。传输时,用 12 个同步字符表示传输过程的开始,后接个同步字符表示传输过程的开始,后接 n 个字符的数据块。
3、由定个字符的数据块。由定时信号来实现收发端同步。时信号来实现收发端同步。特点:传输效率高,一般用于近距离的高速通信场合。特点:传输效率高,一般用于近距离的高速通信场合。大连理工大学4 4 单工通信:单工通信:通信时,数据的传送始终保持同一个方向,不能反向传送。通信时,数据的传送始终保持同一个方向,不能反向传送。半双工通信:半双工通信:信息流可以沿两个方向传送,但同一时刻只限于一个方向传送。信息流可以沿两个方向传送,但同一时刻只限于一个方向传送。全双工通信:全双工通信:通信的双方都能在同一时刻接收和发送信息。通信的双方都能在同一时刻接收和发送信息。大连理工大学5 5 基带传输:基带传输:是指数据
4、传输系统不对信号做任何调制的直是指数据传输系统不对信号做任何调制的直接传输方式。接传输方式。特点:简单可靠,通道利用率低,长距离传送衰减大。特点:简单可靠,通道利用率低,长距离传送衰减大。PLC 网络中大多采用基带传输。网络中大多采用基带传输。宽带传输:宽带传输:是把信号调制到某一频带上,以调制信号进是把信号调制到某一频带上,以调制信号进行数据传输的方式。行数据传输的方式。特点:通道利用率高,但成本高。特点:通道利用率高,但成本高。即波特率,表示每秒传送的二进制的位数,单位是即波特率,表示每秒传送的二进制的位数,单位是 bit/s。大连理工大学6 6 通信接口:通信接口:PLC 网络的通信接口
5、多为串行接口。常用网络的通信接口多为串行接口。常用串行通信接口有串行通信接口有 RS-232C、RS-422A、RS-485。通信介质:通信介质:同轴电缆、屏蔽双绞线、光缆及电磁波。同轴电缆、屏蔽双绞线、光缆及电磁波。通常分两类,一类是系统编程软件,如西门子公司的通常分两类,一类是系统编程软件,如西门子公司的 STEP-Micro/Win 软件;另一类是应用软件,由用户根据软件;另一类是应用软件,由用户根据开发环境和具体要求,使用不同语言编写通信程序。开发环境和具体要求,使用不同语言编写通信程序。大连理工大学7 7一、一、S7 系列系列 PLC 的网络结构的网络结构AS-I 级总线:级总线:用
6、于连接现场传感器和执行器通信的国际标准总线。用于连接现场传感器和执行器通信的国际标准总线。Profibus 级总线:级总线:用于仪表和控制器的开放、全数字化、双向、多站的通信系统。用于仪表和控制器的开放、全数字化、双向、多站的通信系统。Ethernet 级总线:级总线:传送生产管理信息传送生产管理信息。大连理工大学8 8 S7-200HMI:主站:主站STEP7-Micro/WIN 主站主站特点:特点:PPI 协议是主协议是主/从协议从协议,所有所有 S7-200 CPU 都作为从站都作为从站。主站主站发送申请,从站进行响应发送申请,从站进行响应。网络中的网络中的 CPU、SIMATIC 编程
7、器或人机界面都为主站。编程器或人机界面都为主站。PPI 协议一般用于协议一般用于 S7-200 CPU 之间、之间、S7-200 CPU 与与编程计算机和编程计算机和 HMI 之间的之间的通信。通信。大连理工大学9 9 MPI 多点接口协议是集成在多点接口协议是集成在 PLC、操作员界面上的通、操作员界面上的通信接口使用的通信协议,用于建立小型通信网络。信接口使用的通信协议,用于建立小型通信网络。STEP7-Micro/WIN 主站主站S7-200:从站:从站S7-300:主站:主站特点:特点:MPI 协议可以是主协议可以是主/主协主协议或主议或主/从协议,取决于从协议,取决于网络中的设备类型
8、。网络中的设备类型。S7-200 CPU 可以通过可以通过集成通信接口或扩展集成通信接口或扩展通信模块通信模块EM227 连接连接到到 MPI 网上,实现作为网上,实现作为 主站的主站的 S7-300/400 CPU 与从站与从站 S7-200 CPU 间的间的 通信,例如使用通信,例如使用 XGET 和和XPUT 指令来读写指令来读写 从站从站 S7-200 PLC 中的中的 数据。数据。大连理工大学10103.Profibus-DP 网络通信协议网络通信协议 Profibus-DP 协议用于分布式协议用于分布式 I/O 设备(远程设备(远程I/O)的高速通信,包)的高速通信,包括从简单的输
9、入输出模块到电机控制器、可编程控制器等。括从简单的输入输出模块到电机控制器、可编程控制器等。S7-200 CPU 可以通过可以通过 EM277 Profibus-DP 扩展模块连接到扩展模块连接到 Profibus-DP 协协议支持的网络中,波特率为议支持的网络中,波特率为 9600 bit/s 12 Mbit/s 之间的任何值。之间的任何值。S7-200(EM277):从站):从站ET200:从站:从站S7-300:主站:主站大连理工大学1111 自由口通信协议是指由用户定义通信协议,用户通过自由口通信协议是指由用户定义通信协议,用户通过设置特殊寄存器的参数改变通信口的数据传输率、数据设置特
10、殊寄存器的参数改变通信口的数据传输率、数据格式(数据位数、停止位、校验),以适应不同的通信格式(数据位数、停止位、校验),以适应不同的通信协议。协议。自由口通信协议可以将自由口通信协议可以将 CPU 与任意通信协议公开的与任意通信协议公开的设备联网,如:上位计算机、打印机、条形码阅读器、设备联网,如:上位计算机、打印机、条形码阅读器、变频器等,也可用于两台变频器等,也可用于两台 CPU 之间简单的数据交换。之间简单的数据交换。大连理工大学12121.通信口通信口 S7-200 CPU 上的通信口是上的通信口是 Profibus 标准下的标准下的 RS-485 连接器。连接器。裸线套:约裸线套:
11、约12mm必须接触所有的金属丝必须接触所有的金属丝开关位置开关位置OFF未接通终端和偏置未接通终端和偏置开关位置开关位置ON接通终端和偏置接通终端和偏置2.网络连接器网络连接器一种是标准网络连接器,提供连接到主机的接口;一种是标准网络连接器,提供连接到主机的接口;另一种是带编程接口的网络连接器,可把另一种是带编程接口的网络连接器,可把 SIMATIC 编程器或操作编程器或操作 面板增加到网络中,而不用改动现有的网络连接。面板增加到网络中,而不用改动现有的网络连接。大连理工大学1313 PC/PPI 电缆在发送、接收两种模式间切换时需要转电缆在发送、接收两种模式间切换时需要转换时间,转换时间与开
12、关盒上设置的波特率有关:换时间,转换时间与开关盒上设置的波特率有关:38400 0.5 000 19200 1 001 9600 2 010 4800 4 011 2400 7 100 1200 14 101 通信电缆主要有通信电缆主要有 Profibus 网络电缆、网络电缆、PC/PPI 电缆和电缆和PPI 多主站电缆。多主站电缆。大连理工大学14144.网络中继器网络中继器 Profibus 网络中,可使用网络中继器来延长网络的距网络中,可使用网络中继器来延长网络的距离、加入网络设备、隔离不同网络段。离、加入网络设备、隔离不同网络段。Profibus 网络上最多允许有网络上最多允许有32个
13、设备,最长距离是个设备,最长距离是 1200m。每个中继器最多可再给网络增加。每个中继器最多可再给网络增加32个设备,并个设备,并把网络再延长把网络再延长1200m。网络最多有。网络最多有9个中继器。个中继器。50m最大最大1000m50m网段网段RS-485中继器中继器网段网段网段网段RS-485中继器中继器带中继器的网络带中继器的网络大连理工大学15151.单主站方式单主站方式 S7-200STEP7-Micro/WINS7-200HMI(如(如TD200)HMIS7-200S7-200S7-200STEP7-Micro/WINHMISTEP7-Micro/WIN2.多主站方式多主站方式
14、大连理工大学1616 S7-200 PLC 扩展扩展 Modem 通信模块通信模块 EM241 后,可借助后,可借助 电话网络与本地安装电话网络与本地安装 Modem的计算机实现远距离通信。的计算机实现远距离通信。扩展以太网模块扩展以太网模块 CP243-1 后,可以组成以太网网络。后,可以组成以太网网络。安装以太网网卡的计算机使用安装以太网网卡的计算机使用 STEP7-Micro/WIN 编程编程软件通过以太网对软件通过以太网对 S7-200 PLC 进行组态、编程等操作。进行组态、编程等操作。由用户编写程序(自定义的协议)控制由用户编写程序(自定义的协议)控制 S7-200 CPU 通信口
15、的操作模式称为自由端口模式。通信口的操作模式称为自由端口模式。该模式下,该模式下,S7-200 CPU 可以与许多具有串口的外部智可以与许多具有串口的外部智能设备和控制器进行通信。能设备和控制器进行通信。用户程序可以通过接收中断、发送中断、发送指令和用户程序可以通过接收中断、发送中断、发送指令和接收指令来控制通信操作。接收指令来控制通信操作。大连理工大学1717NETR TBL,PORTNETW TBL,PORT当时能端当时能端 EN=1(有效)时,指(有效)时,指令初始化通信操作;通过端口令初始化通信操作;通过端口PORT 从远程设备接收数据;所从远程设备接收数据;所接收到的数据存储在指定的
16、缓冲接收到的数据存储在指定的缓冲区表区表TBL中,形成数据表中,形成数据表TABLE当时能端当时能端 EN=1(有效)时,指(有效)时,指令初始化通信操作;通过指令端令初始化通信操作;通过指令端口口 PORT 将缓冲区表将缓冲区表 TBL 中的中的数据发送到远程设备数据发送到远程设备大连理工大学1818 执行网络读写指令时,数据是以数据表的格式进行传执行网络读写指令时,数据是以数据表的格式进行传送。数据表格式:送。数据表格式:大连理工大学1919传送数据表中的第一个字节是状态字节,各位含义如下:传送数据表中的第一个字节是状态字节,各位含义如下:DAE0 0E1E2E3E4D 位:操作完成位。位
17、:操作完成位。0:未完成:未完成1:完成:完成A 位:有效位,操作已被排队。位:有效位,操作已被排队。0:无效:无效 1:有效:有效E 位:错误标志位。位:错误标志位。0:无错误:无错误 1:有错误:有错误E1、E2、E3、E4 位:错误码。如果执行指令后位:错误码。如果执行指令后 E 位为位为1,则该则该 4 位将返回一个错误码。位将返回一个错误码。大连理工大学2020通信任务要求:通信任务要求:2 号机的号机的 I0.0I0.7 控制控制 3 号机号机 Q0.0Q0.7 3 号机的号机的 I0.0I0.7 控制控制 2 号机号机 Q0.0Q0.72 号机为主站,站地址为号机为主站,站地址为
18、 2,3 号机为从站,站地址为号机为从站,站地址为 3编程用计算机,站地址为编程用计算机,站地址为 0 将通信程序下载到作为主站的将通信程序下载到作为主站的2号机的号机的 CPU 模块中,模块中,并将两台并将两台 PLC 的工作模式开关置于的工作模式开关置于RUN 状态下。状态下。此时,分别改变此时,分别改变2号机和号机和3号机的输入信号状态,就可以号机的输入信号状态,就可以验证通信效果。验证通信效果。具体实现:具体实现:用用 RS-485 通信接口和网络连接器将两台通信接口和网络连接器将两台 S7-200 PLC 与编程计算机相连,组成单主站通信网络,应用与编程计算机相连,组成单主站通信网络
19、,应用 PPI 协议。协议。在编程软件中设置在编程软件中设置 PLC 站地址,并下载到站地址,并下载到 CPU 模块中。模块中。大连理工大学2121 2号机的通信程序如下:号机的通信程序如下:2号机的网络读和网络写缓冲区地址定义如下:号机的网络读和网络写缓冲区地址定义如下:大连理工大学2222大连理工大学2323特殊存储器位特殊存储器位 SM0.7 控制自由端口模式的控制自由端口模式的进入:进入:当当 CPU 模式开关处于模式开关处于 TERM 位置时位置时 SM0.7=0;当当 CPU 模式开关处于模式开关处于 RUN 位置时位置时 SM0.7=1;只有只有 SM0.7=1 时,时,才允许自
20、由端口模式;才允许自由端口模式;若开关处于其他位置,若开关处于其他位置,自由端口模式被禁止。自由端口模式被禁止。大连理工大学24242.自由端口模式通信指令自由端口模式通信指令XMT TBL,PORT TBL,PORT当时能端当时能端 EN=1(有效)时,激(有效)时,激活待发送的数据缓冲区表活待发送的数据缓冲区表 TBL 中中的数据,并通过端口的数据,并通过端口 PORT 将数将数据缓冲区表据缓冲区表 TBL 中的数据发送出中的数据发送出去去当时能端当时能端EN=1(有效)时,激活(有效)时,激活初始化或接收信息服务;通过指初始化或接收信息服务;通过指定的通信端口定的通信端口PORT,接收从
21、远,接收从远程设备传送来的数据,将其存储程设备传送来的数据,将其存储在数据缓冲区在数据缓冲区TBL中中数据的发送与接收可以采取以下三种方式:数据的发送与接收可以采取以下三种方式:1)用)用 XMT 指令发送数据,最多可发指令发送数据,最多可发255个字符。个字符。2)用)用RCV指令接收数据,最多可收指令接收数据,最多可收255个字符。个字符。3)使用字符中断控制接收数据,接收每个字符都会产生使用字符中断控制接收数据,接收每个字符都会产生 中断。中断。大连理工大学2525控制要求:控制要求:输入输入 I0.0 为为1时,时,打印文字:打印文字:SIMATIC S7-200输入输入 I0.1 到
22、到 I0.7 为为1时,时,打印文字:打印文字:INPUT 0.X IS SET!其中,其中,X分别为分别为 1,2,7大连理工大学2626主程序:主程序:LDSM0.1 /第一次扫描标志:第一次扫描标志:SM0.1=1CALL 0 /调用子程序调用子程序0LDSM0.7 /若在若在TERM 模式,则设置模式,则设置 PPI 协议协议=SM30.0 /若在若在 RUN 模式,则设置自由端口模式模式,则设置自由端口模式LD I0.0 /启动打印输入启动打印输入 I0.0EU /识别脉冲上升沿识别脉冲上升沿XMT VB80,0 /发送发送 ASCII 码并打印码并打印LDI0.1 /输入输入 I0
23、.1启动打印启动打印EU /识别脉冲上升沿识别脉冲上升沿MOVB 16#31,VB109 /把把1的的 A SCII 码码31存入存入 VB109XMT VB100,0 /发送发送 ASCII 码并打印码并打印LDI0.2 /输入输入 I0.2启动打印启动打印EU /识别脉冲上升沿识别脉冲上升沿MOVB 16#32,VB109 /把把2的的 ASCII 码码32存入存入 VB109大连理工大学2727XMT VB100,0/发送发送LDI0.3/输入输入 I0.3 启动打印启动打印EUMOVB 16#33,VB109XMT VB100,0LDI0.4/输入输入 I0.4 启动打印启动打印EUM
24、OVB 16#34,VB109XMT VB100,0LDI0.5/输入输入 I0.5 启动打印启动打印EUMOVB 16#35,VB109XMT VB100,0LDI0.6/输入输入 I0.6 启动打印启动打印EUMOVB 16#36,VB109XMT VB100,0LDI0.7 /输入输入 I0.7启动打印启动打印EUMOVB 16#37,VB109XMT VB100,0MEND /主程序结束主程序结束大连理工大学2828子程序子程序0:SBR 0/设置打印信息设置打印信息MOVB +9,SMB30 /9600波特率,无奇偶校验,每字符波特率,无奇偶校验,每字符8位位MOVB +16,VB8
25、0/信息长度为信息长度为16个个 ASCII 码字符:码字符:/SIMATIC S7-200MOVW 16#5349,VW81/字符:字符:SIMOVW 16#4D41,VW83/字符:字符:MAMOVW 16#5449,VW85/字符:字符:TIMOVW 16#4320,VW87/字符:字符:C空格空格MOVW 16#5337,VW89/字符:字符:S7MOVW 16#2D32,VW91/字符:字符:-2MOVW 16#3030,VW93/字符:字符:00MOVW 16#0D0A,VW95MOVB +20,VB100/信息长度为信息长度为20个个 ASCII 码字符:码字符:/INPUT 0
26、.X IS SET!大连理工大学2929MOVW 16#494E,VW101 /字符:字符:INMOVW 16#5055,VW103 /字符:字符:PUMOVW 16#5420,VW105 /字符:字符:T 空格空格MOVW 16#302E,VW107 /字符:字符:0.MOVB 16#20,VB110 /由主程序装载由主程序装载 VB109,空格,空格MOVW 16#4953,VW111 /字符:字符:IS MOVW 16#2053,VW113 /字符:空格字符:空格 S MOVW 16#4554,VW115 /字符:字符:ETMOVW 16#2021,VW117 /字符:空格字符:空格!M
27、OVW 16#0D0A,VW119RET /子程序结束子程序结束大连理工大学3030控制要求:控制要求:本地本地 PLC 接收远程接收远程 PC 发送的一串字符,直到收到回车发送的一串字符,直到收到回车符为止,接收完成后,符为止,接收完成后,PLC 再将信息发回给再将信息发回给 PC。参数设置:参数设置:CPU 224 通信口设置为自由端口模式通信口设置为自由端口模式传输速率为传输速率为 9600bit/s,无奇偶校验,每个字符,无奇偶校验,每个字符8位位接收和发送使用同一个缓冲区,首地址为接收和发送使用同一个缓冲区,首地址为 VB100大连理工大学3131主程序如下:主程序如下:大连理工大学
28、3232中断中断 INT _0 程序如下:程序如下:中断中断 INT _1、INT _2程序如下:程序如下:大连理工大学3333控制要求:控制要求:S7-200 PLC 记录定时中断次数,从记录定时中断次数,从1记至记至100,并将计数值转化为,并将计数值转化为 ASCII 值发送给计算机串口,计算机接收后使用操作系统自带的超值发送给计算机串口,计算机接收后使用操作系统自带的超级终端软件显示计数值。级终端软件显示计数值。参数设置:参数设置:CPU 224 通信口设置为自由端口模式通信口设置为自由端口模式传输速率为传输速率为 9600bit/s,无奇偶校验,每个字符,无奇偶校验,每个字符8位位发
29、送缓冲区首地址为发送缓冲区首地址为 VB100,定义如下表,定义如下表16#0D 和和 16#0A 是计算机超级终端软件所需的结束字符是计算机超级终端软件所需的结束字符大连理工大学3434主程序如下:主程序如下:子程序子程序 SBR_1 如下:如下:大连理工大学3535子程序子程序 SBR_0 如下:如下:大连理工大学3636中断中断 INT _0 程序如下:程序如下:大连理工大学3737系统调试步骤:系统调试步骤:1)检查连接)检查连接 PLC 主机与主机与 PC 机的机的 RS-232/PPI 多主站电多主站电缆的设置:波特率、自由口通信模式、本地模式。断开缆的设置:波特率、自由口通信模式
30、、本地模式。断开PLC 的输入的输入 I0.0。2)编译并下载程序至)编译并下载程序至 PLC 后,将运行开关拨至后,将运行开关拨至“RUN”位置,关闭位置,关闭 STEP7-Micro/WIN32 软件。软件。3)在)在 Windows 操作系统界面上选择操作系统界面上选择“开始开始程序程序附件附件通讯通讯超级终端超级终端”,为新建立的连接输入名称、选择连,为新建立的连接输入名称、选择连接所用串口、设置串口通信参数与程序一致。接所用串口、设置串口通信参数与程序一致。4)闭合输入闭合输入 I0.0,在超级终端软件界面上点击,在超级终端软件界面上点击“呼叫呼叫等候呼叫等候呼叫”,此时就可以看见,
31、此时就可以看见 PLC 发送过来的信息。发送过来的信息。大连理工大学3838大连理工大学3939GPA ADDR,PORTSPA ADDR,PORT当时能端当时能端EN=1(有效)时,指令(有效)时,指令读取读取PORT指定的指定的CPU端口的站端口的站地址,并将数值放入地址,并将数值放入ADDR指定指定的地址中的地址中当时能端当时能端EN=1(有效)时,指令(有效)时,指令将通信端口站地址(将通信端口站地址(PORT)设)设置为置为ADDR指定的数值指定的数值 GPA 指令,用于读取指令,用于读取 PORT 指定的指定的 CPU 口的站地址,口的站地址,并将数值放入并将数值放入 ADDR 指定的地址中。指定的地址中。SPA 指令,用于将指令,用于将通信口站地址(通信口站地址(PORT)设置为)设置为 ADDR 指定的数值。指定的数值。