PLC编程与应用 教学课件 ppt 作者 何文雪 刘华波 吴贺荣编著 第10章_S7-200 PLC的通信功能

上传人:E**** 文档编号:89180905 上传时间:2019-05-20 格式:PPT 页数:95 大小:2.57MB
返回 下载 相关 举报
PLC编程与应用 教学课件 ppt 作者 何文雪 刘华波 吴贺荣编著 第10章_S7-200 PLC的通信功能_第1页
第1页 / 共95页
PLC编程与应用 教学课件 ppt 作者 何文雪 刘华波 吴贺荣编著 第10章_S7-200 PLC的通信功能_第2页
第2页 / 共95页
PLC编程与应用 教学课件 ppt 作者 何文雪 刘华波 吴贺荣编著 第10章_S7-200 PLC的通信功能_第3页
第3页 / 共95页
PLC编程与应用 教学课件 ppt 作者 何文雪 刘华波 吴贺荣编著 第10章_S7-200 PLC的通信功能_第4页
第4页 / 共95页
PLC编程与应用 教学课件 ppt 作者 何文雪 刘华波 吴贺荣编著 第10章_S7-200 PLC的通信功能_第5页
第5页 / 共95页
点击查看更多>>
资源描述

《PLC编程与应用 教学课件 ppt 作者 何文雪 刘华波 吴贺荣编著 第10章_S7-200 PLC的通信功能》由会员分享,可在线阅读,更多相关《PLC编程与应用 教学课件 ppt 作者 何文雪 刘华波 吴贺荣编著 第10章_S7-200 PLC的通信功能(95页珍藏版)》请在金锄头文库上搜索。

1、第10章 S7-200 PLC的通信功能,10.1 PPI通讯 10.1.1 概述 PPI协议是S7-200 PLC中最基本的一种通信方式,通过S7-200 CPU自身的端口(port0或Port 1)即可完成,是S7-200 CPU默认的通信协议。 PPI是一种主-从协议,协议定义了主站和从站,网络中主站向网络中的从站发出请求,从站只能对主站发出的请求做出响应,自己不能发出请求。主站也可以对网络中其他主站的请求做出响应。,S7-200的通信口为RS-485接口,PC/PPI多主站电缆用于计算机与S7-200之间的通信,有RS-232CPPI和USBPPI两种电缆。 PPI网络连接示意图如图1

2、0-1所示,要求如下: (1)每个网段至多32个网络节点; (2)每个网段最长50米(不用中继器),可通过中继器扩展网络,最多9 个中继器; (3)网络可包含127节点; (4)网络可包含32个主站; (5)网络总长9600米。,图10-1 PPI网络连接示意图,PROFIBUS连接器和电缆将CP通信卡和S7-200通信口连接。 不同主/从站之间也可以通过PROFIBUS连接器和电缆进行连接通信。 PPI是主/从协议,默认情况下网络中的S7-200 CPU均为从站,其他CPU、SIMATIC编程器或文本显示器(例TD400C等)为主站。 PPI网络包括单主站PPI网络和多主站PPI网络。,图1

3、0-2 多主站PPI网络结构图,10.1.2 使用网络读写指令实现PPI通信 如果在用户程序中使能了PPI主站模式,一些S7-200 CPU在RUN模式下可以做主站,它们可以用网络读(NETR,Net Read)和网络写(NETW,Net Write)指令读写其他CPU中的数据。 S7-200 PLC之间的PPI通信可以使用PROFIBUS网线直接连接CPU上PORT 0或PORT1,然后在CPU内调用网络读写指令即可实现。,1网络读写指令NETR/NETW 网络读取(NETR)指令开始一项通讯操作,通过指定的端口(PORT)从远程设备收集数据。网络写入(NETW)指令开始一项通讯操作,通过指

4、定的端口(PORT)向远程设备写入数据。 每一个NETR/NETW指令可从/向远程站读取/写入16个字节信息。网络读写指令是通过TBL参数表来指定报文头,TBL参数表如表10-1所示。,表10-1 网络读写指令TBL,错误代码如表10-2所示:,表10-2 错误代码表,2设定通信协议 在程序的开始必须设定通信协议。SMB30用于配置通信端口0(Port 0),SMB130用于配置通信端口1(Port 1),此两个特殊寄存器字节的含义如表10-3所示。 表10-3中:pp(校验选择)、d(每个字符的数据位)、bbb(自由口波特率)均为自由口通信时才需要设定的参数,在PPI通信时都设置为0即可。

5、mm协议选择,3设定NETW和NETR的TBL参数表,图10-3 网络写指令NETW,图10-4 网络读指令NETR,4通信参数设定,CPU通信端口的设定可以通过STEP 7 Micro/WIN软件的“系统块(System Block)”选项来进行。 最高地址(Highest Address 波特率 地址间隔刷新系数(Gap Update Factor),10.1.3 使用向导实现PPI通信,图10-5 “网络读/写操作”对话框,单击图10-5“下一项操作”按钮,进入第二项“网络读/写操作”对话框 单击“下一步”,出现分配存储区对话框 接下来,要调用向导生成的子程序来实现数据的传输,主站程序及

6、注释如图10-6所示。,图10-6 主站主程序,10.2 自由口通信,S7-200 CPU的串行通讯口可由用户程序控制,这种操作模式称为自由口模式。自由口通信是一种基于 RS485硬件基础上,允许应用程序控制 S7-200 CPU 的通信端口,以实现一些自定义通信协议的通信方式。 当选择了自由口模式,程序可以使用接收中断、发送中断、发送指令(XMT)和接收指令(RCV)来控制通讯操作。在自由口模式下,通讯协议完全由程序控制。SMB30(用于端口0)和SMB31(如果CPU有两个端口,则用于端口1)用于选择波特率和奇偶校验。 S7-200 CPU 处于自由口通信模式时,所有的通信任务和信息定义均

7、需由用户编程实现。 只有CPU处于RUN模式时,才能进行自由端口通讯。,10.2.1 自由口模式下的发送和接收指令,S7-200 CPU的自由口通信的数据字节格式必须含有一个起始位、一个停止位,数据位长度为7位或8位,校验位和校验类型(奇、偶校验)可选。S7-200 CPU的自由口通信定义方法为将自由口通信操作数传入特殊寄存器 SMB30(端口0)和 SMB130(端口1)进行端口定义,自由口通信操作数定义如表10-4所示。,自由口通信模式主要使用XMT(发送)和RCV(接收)两条指令及相应的特殊寄存器。 XMT 指令利用数据缓冲区指定要发送的字符,用于向指定通信口以字节为单位发送一串数据字符

8、,一次最多发送255个字节。,表10-5 XMT指令的缓冲区格式,RCV指令可以接收一个或多个字符,最多有255个字符,这些字符存储在缓冲区中。 RCV 指令的缓冲区格式如表10-6所示。当超界或奇偶校验错时,接收信息功能自动终止。必须为接收信息功能操作定义一个启动条件(x或z)和一个结束条件(y,t或最大字符数)。 协议支持使用字符中断控制来接收数据。,表10-6 RCV指令的缓冲区格式,10.2.2 自由口通信举例,1自由口发送实例 要求:记录定时中断次数,将计数值转化为ASCII字符串,再通过CPU224XP 的 Port0 发送到计算机串口,计算机接受并利用超级终端显示与 S7-200

9、 CPU 通信的内容。 (1)PLC编程 规定缓冲区为 VB100 到 VB114 ,使用数据块进行缓冲区定义,如图10-7所示,16#0D和16#0A用于计算机的超级终端显示需要。,图10-7 组态数据块,主程序如图10-8所示,根据 I 0.3 状态初始化端口1为自由口通信。 SBR_0 程序如图10-9所示,定义端口0为自由口,初始化定时中断。,图10-8 自由口通信主程序,图10-9 SBR_0子程序,SBR_1子程序如图10-10所示,用于定义端口0为普通 PPI 从站通信口。 图10-10 SBR_1子程序 INT_0 程序如图10-11所示,对定时中断计数并从端口0发送计数值 图

10、10-11 INT_0子程序,图10-10 SBR_1子程序,图10-11 INT_0子程序,(2)超级终端设置 超级终端(Hyper Terminal)是 Windows 操作系统提供的通信测试程序,本例用来监测计算机和 S7-200 CPU 之间的串口通信。 超级终端组态步骤如下: 1)执行 Windows 菜单命令“开始”“附件”“通信”“超级终端”,为要新建的连接输入连接名称。 2)选择连接时要使用的串口。 3)设置串口通信参数并保存连接,注意此处设置要与PLC程序中对应。 4)使用超级终端接收 S7-200 CPU 发送的信息。,图10-12 超级终端接受显示,2自由口接收实例 要求

11、S7-200 CPU 从端口0接收计算机发送的字符串,并在信息接收中断服务程序中把接收到的第一个字节传送到 CPU 输出字节QB0 上显示。 (1)PLC编程 主程序如图10-13所示,根据I 0.3 状态初始化端口1为自由口通信。,图10-13 自由口通信主程序,SBR_0子程序如图10-14所示,用于定义端口0为自由口,初始化接收指令。,图10-14 SBR_0 程序,SBR_1子程序如图10-15所示,定义端口0为普通 PPI 从站通信口。 INT_0中断子程序如图10-16所示,在 QB0 输出接收到的第一个字节。 (2)配置超级终端 打开前面建立的超级终端链接,进入属性窗口,点击 “

12、ASCII 码设置” 按钮,在弹出的 ASCII 码设置窗口中,勾选“以换行符作为发送行末尾”和“本地回显键入的字符”两项。,10.3 MODBUS通信 Modbus通信协议是Modicon公司提出的一种报文传输协议,它广泛应用于工业控制领域,并已经成为一种通用的行业标准。不同厂商提供的控制设备可通过 Modbus 协议连成通信网络,从而实现集中控制。 10.3.1 Modbus报文格式 Modbus 地址通常是包含数据类型和偏移量的5个或6个字符值。第一个或前两个字符决定数据类型,最后的四个字符是符合数据类型的一个适当的值。 (1)Modbus 主站寻址 Modbus主设备指令支持下列Mod

13、bus地址: 00001至09999是离散输出(线圈); 10001至19999是离散输入(触点); 30001至39999是输入寄存器(通常是模拟量输入); 40001至49999是保持寄存器。,(2)Modbus 从站寻址 Modbus 地址与 S7-200 地址对应关系如表10-7所示。,Modbus 通信协议有 ASCII 和 RTU(远程传输单元)两种报文传输模式。 (1)ASCII模式 ASCII模式采用LRC(纵向冗余校验)方式进行校验,其报文格式如表10-8所示。,表10-8 ASCII模式的报文格式,(2)RTU模式 RTU模式的报文格式如表10-9所示。 地址 功能码:Mo

14、dbus功能代码,1个字节;Modbus协议支持的功能码共16条(116),其中西门子Modbus RTU协议库支持最常用的8条,如表10-10所示; 信息数据 CRC :循环冗余校验,两个字节。,表10-10 西门子Modbus RTU协议库支持最常用的8条功能码,表10-9 RTU模式的报文格式,RTU模式下,报文中的每个8位字节被转化为两个16进制字符,然后以字节为单位进行传输,并采用CRC(循环冗余校验)方式进行校验。 目前支持 Modbus 通信的DCS系统和过程仪表大都采用基于串行接口的Modbus RTU模式,西门子提供了针对西门子PLC Modbus RTU通信的协议库。 如果

15、要在西门子PLC上实现Modbus ASCII模式通信,可根据相关协议规定利用自由口通信模式自主编程实现。,10.3.2 Modbus通讯协议指令,西门子专门为 Modbus RTU 通信开发了指令库,极大地简化了Modbus RTU 通信的开发,以便于快速实现相关应用。 要使用 Modbus 指令库必须注意以下四点: (1)使用 Modbus 指令库前,需要将其安装到 Step7-Micro/Win中,STEP 7-Micro/WIN 必须为 V3.2 或以上版本。 (2)S7-200 CPU 必须是固化程序修订版2.00或最好支持 Modbus 主设备协议库(CPU MLFB 21x-2x

16、x23-0XB0)。 (3)由于目前已经推出了针对端口0和端口1的 Modbus RTU 主站指令库 Modbus Master Port0 和 Modbus Master Port1、以及针对端口0的 Modbus RTU 从站指令库,故可利用指令库实现端口0的Modbus RTU 主/从站通信。 (4)一旦 CPU 端口被用于 Modbus RTU 主/从站协议通信时,该端口就无法用于任何其它用途,包括与 STEP 7-Micro/WIN 通讯。,1Modbus 主站协议指令 西门子Modbus主站协议库包括两条主站协议指令:MBUS_CTRL指令和MBUS_MSG 指令。 MBUS_CTRL 指令用于初始化主站通信,MBUS_MSG 指令(或用于端口1的MBUS_MSG_P1)用于启动对Modbus从站的请求并处理应答。 1)MBUS_CTRL 指令 MBUS_CTRL指令如图10-17所示。,图10-17 MBUS_CTRL指令块,2)MBUS_MSG 指令 MBUS_MSG 指令(或用于端口1的 MBUS_MSG_P1 )用于启动对Modbus从站的请

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号