3.第3部分:SIMATIC PLC之间以及PLC与从站通讯任务.ppt
《3.第3部分:SIMATIC PLC之间以及PLC与从站通讯任务.ppt》由会员分享,可在线阅读,更多相关《3.第3部分:SIMATIC PLC之间以及PLC与从站通讯任务.ppt(97页珍藏版)》请在三一办公上搜索。
1、第3部分:SIMATIC PLC之间以及PLC与从站通讯任务,学习第3部分之后,学员将.了解SIMATIC 通讯网络与服务.熟悉PLC 与PLC之间MPI的全局数据通讯.掌握使用 SFC 进行 S7 基本通信.掌握使用 SFB 进行 S7 扩展通信.了解主站系统的FDL通讯组态.掌握PROFIBUS-DP主从通讯.了解西门子驱动通讯PPO的概念.掌握通过PROFIBUS与驱动装置的通讯,自动化系统网络体系,执行器-传感器级,设备级,车间级,工厂级,AS-I,程序控制使用MPI、K-Bus、Profibus 或工业以太网,程序控制使用MPI 或 K-Bus,面向 S7-300/400 的 S7
2、通信服务,全局数据,无需组态连接的基本通信,使用组态连接的扩展通信,CPU 的 操作系统,CPU 的 操作系统,循环和/或程序控制使用 MPI 或者 K-Bus,SFC,SFC,SFB,SFB,PG 和 HMI 的功能,CPU 的 操作系统,由操作系统控制使用 MPI、K-Bus、Profibus 和工业以太网,使用以太网的 S7 连接,使用 MPI 的 PG 连接,S7-400,S7-300,使用 PROFIBUS的 OP 连接,通信各方之间的连接,CP,CPU 1,CP,PROFIBUS,IndustrialEthernet,工业以太网,MPI,PROFIBUS,工业以太网,CP,CPU
3、2,使用 MPI的 S7 连接,使用 PROFIBUS的 S7 连接,全局数据:概述,全局数据,CPU 1MW 10,CPU 2MW 20,CPU 3MW 30,硬件成本低;使用简单,不需要编程;S7-400可以实现事件驱动的全局数据通讯;传输数据量少,22B/54B;广播方式传输数据。,2,全局数据循环,CPU1,CPU2,CPU3,CPU4,CPU5,全局数据循环,1,3,4,5,6,S=发送方;R=接收方;GD x.y=全局数据循环 x 中的全局数据包 y,S GD 1.1,R GD 1.2,R GD 1.1,S GD 1.2,R GD 2.1,S GD 2.1,R GD 2.1,R G
4、D 2.1,R GD 2.1,S GD 3.1,R GD 3.2,R GD 3.1,S GD 3.2,R GD 4.1,S GD 4.1,R GD 4.1,S GD 5.1,R GD 5.1,R GD 5.1,R GD 6.1,S GD 6.1,R GD 6.1,全局数据:组态过程,在项目内创建硬件站点 使用SIMATIC Manager创建和下载每个 CPU 的组态数据(MPI 地址)使用“HW Config”工具组态全局数据表使用“Defining Global Data”工具,全局数据:配置硬件,设置 MPI 地址,CPU 的逻辑网络,创建站点,可访问节点,编辑全局数据表,打开全局数据表
5、,选择 CPU,复制因子,定义全局数据,设置扫描速率,扫描速率的单位是CPU的扫描周期,S7-300默认为8,S7-400默认为22,可以修改1-255;如果S7-400扫描速率为0,表示事件驱动的GD数据传输。发送器的扫描速率22,表示每22个扫描周期发送一次GD包,接收器的扫描速率8,表示每8个扫描周期接收一次GD包。一般采用默认速率,以免网络通讯超载。,GD状态双字,给每个数据包指定一个用于状态双字的地址。状态双字使用户程序能及时了解通讯的有效性和及时性,增强了系统的故障诊断能力。,编译全局数据表(1),参与收发全局数据的CPU组成了全局数据环(GD Circle),CPU可以向同一个环
6、内的其他CPU发送或接收数据,在一个MPI网络中,可以建立16个全局数据环(GD Circle),每个环最多15个CPU参与。具有相同发送站和接收站的全局数据字节数值和称之为一个全局数据包。GD 1.1.1:1号GD环的1号GD包中的1号数据。,编译全局数据表(2),下载 GD 组态数据,下载 GD 组态数据,GD_MPI_1 例程,事件驱动的GD数据通讯,事件触发的数据传送:如果需要控制数据的发送与接收,比如在某一事件或某一时刻,接收和发送所需要的数据,这时将用到事件触发的数据传送方式。这种通信方式是通过调用CPU的系统功能SFC60(GD_SND)和SFC61(GD_RCV)来完成的,而且
7、只支持S7-400的CPU,并且相应设置CPU的SR(扫描频率)为0。,系统功能SFC60(GD_SND)和SFC61(GD_RCV)可以在用户程序中任何一点被调用,在GD数据表中的扫描速率不受系统功能SFC60(GD_SND)和SFC61(GD_RCV)的影响。系统功能SFC60(GD_SND)和SFC61(GD_RCV)可能被更高优先级的程序块中断,为了保持GD数据的连续性,在调用SFC60之前,调用SFC39“DIS_IRT”或SFC41“DIS_AIRT”来禁止或延迟更高优先级的中断和异步错误。执行完SFC60后,调用SFC 40“EN_IRT”或SFC 42“EN_AIRT”允许更高
8、优先级的中断和异步错误。,事件驱动的GD数据通讯的编程,站点3,站点2,GD环编号 1GD包编号 1I 0.0上升沿才发送接收数据。,MPI_GD_B例程,全局数据通讯的练习,组态3个站之间的全局数据通讯:CPU400/CPU300/CPU300(2/3/4)要求:站点3的ID0,传输给站点4的QD4;站点2的QD0传给站点4的ID0;站点3的DB2.DBB0开始的10个字节传给站点4的DB1,从DBB0开始存放数据;站点3的MB10开始的10个字节传给站点4的DB1,从DBB10开始存放数据;站点3的数据DB1.DBB0开始22个字节,传送给站点2,和站点4的DB2,从DBB0开始存放数据。
9、建立硬件组态,GD组态表。,使用 SFC 进行 S7 基本通信:概述,使用 MPI 子网内进行数据交换与 SFB 通信相比,无需组态连接动态建立和断开与对方的连接 可传输多达 76 个数据字节可以用于所有的 S7-300/400 CPU在 S7-200 中可通过 MPI 接口读写变量(X_GET、X_PUT)也可在另一个 S7 项目中找到通信伙伴,使用 SFC 进行 S7 基本通信:块概述,SFC,SFC 65,名称,X_SEND,SFC 66,X_RCV,X_GET,SFC 67,X_PUT,SFC 68,X_ABORT,SFC 69,I_GET,SFC 72,I_PUT,SFC 73,I_
10、ABORT,SFC 74,简介,发送块,向 X_RCV(客户端)块发送数据,接收块,接收 X_SEND 块的数据,从伙伴 PLC 读数据,向伙伴 PLC 写数据,中止现有连接,从伙伴 CPU 读数据,向伙伴 CPU 写数据,中止与伙伴 CPU 的连接,使用 SFC 进行 S7 基本通信:X_SEND(SFC 65)块,带参数赋值示例,CALL SFC 65 REQ:=M4.0/触发器,通过REQ=1来触发数据传送作业 CONT:=FALSE/数据传送作业传送结束之后是否保持与通讯伙伴的连接 DEST_ID:=W#16#4/接收数据站点的MPI_addr REQ_ID:=DW#16#1/用于标识
11、数据作业的标识符,用于识别通讯伙伴的数据 SD:=P#M20.0 BYTE 10/变量,指向发送区域的一个指针 RET_VAL:=MW40/出错码 BUSY:=M 4.1/=1SFC 激活,=0发送作业已经结束或者不存在激活的发送作业,说明使用 SFC 65(X_SEND),可以向不在同一个本地 S7 站内的通信伙伴发送数据。通信伙伴方的数据接收通过 SFC 66(X_RCV)实现。可以用输入参数 REQ_ID 标识要发送的数据。该作业标识符也将被传递,可以在通信伙伴方检测该标识,以便确定数据的起始位置。通过 REQ=1 调用 SFC 之后,开始发送操作。必须确保通过参数 SD 定义的发送区域
12、(位于发送 CPU 上)小于或等于由 RD 参数定义的接收区域(位于通信伙伴方)。,使用 SFC 进行 S7 基本通信:X_RCV(SFC 66)块,带参数赋值示例,CALL SFC 66 EN_DT:=TRUE/触发数据传输,=1,复制队列中最早的数据块到RD指定的工作存储区域。RET_VAL:=MW 50/出错码 REQ_ID:=MD52/作业 ID,接收到的数据包的标识符 NDA:=M40.0/数据存在,指示是否有新的数据到达 RD:=P#M20.0 BYTE 10/变量,指向接收区域的指针,通过SFC66“X_RCV”,接收本地S7站以外的一个或多个通讯伙伴通过SFC65“X_SEND
13、”发送的数据。,说明 通过 SFC 66(X_RCV)可以接收一个或者多个通信伙伴使用 SFC 65(X_SEND)发送的数据。该(这些)通信伙伴不在当前 S7 站内。使用 SFC 66(X_RCV)可以:确定此时发送数据是否可用。必要的话,操作系统可以将这些数据放到一个内部队列中。从队列中将最早的数据块复制到一个指定的输入区域中。通过输入参数 EN_DT(使能数据传输)进行选择。,发送接收数据程序,CALL X_SEND/调用SFC 65 REQ:=M1.0/发送请求,该参数为1时候发送 CONT:=TRUE/发送完成后保持连接 DEST_ID:=W#16#3/接收方的MPI地址 REQ_I
14、D:=DW#16#1/数据包标识符 SD:=P#DB1.DBX0.0 BYTE 76/存放要发送的数据的地址区域 RET_VAL:=MW12/通讯状态字,返回的故障信息 BUSY:=M1.1/为1时正在发送,为0时完成发送CALL“X_RCV”/调用SFC 66 EN_DT:=M0.0/接收使能位 RET_VAL:=MW2/接收状态字,返回状态信息 REQ_ID:=MD4/接收到的数据包的标识符 NDA:=M0.1/为1时表示有新的数据包 RD:=P#DB3.DBX0.0 BYTE 76/存放接收的数据的地址区域,MPI_UC_1例程,双边通讯数据流通讯的S7编程练习,组态2个站之间的全局数据
15、通讯:CPU400/CPU300(2/3)要求:站点3的ID0,控制站点2的QD4;站点3的DB2.DBB0开始的76个字节传给站点2的DB1,从DBB0开始存放数据。,S7-300之间通过SFC67_68实现MPI通讯,S7-300与S7-300之间采用MPI通讯方式时,其中一台CPU不需要编写任何与通讯有关的程序,只需将交换的数据整理到一个连续的DB块中存储即可;而另外一台S7-300中需要在OB1(也可以在OB35循环中断组织快)中调用SFC67 X_GET和SFC68 X_PUT,实现两台CPU之间的通讯。调用SFC67 X_GET和SFC68 X_PUT时,VAR_ADDR参数填写通
16、讯伙伴的数据地址区,这里需要填写:P#DB1.XXX BYTE n对应的就是对方CPU的DB存储区域中的数据区。,通过SFC67“X_GET”,可以从本地S7站以外的通讯伙伴中读取数据。在通讯伙伴上没有相应SFC。在通过REQ=1调用SFC之后,读作业被激活。此后,可以继续调用SFC,直到BUSY=0指示数据接收为止。然后,RET_VAL便包含了以字节为单位的、已接收的数据块的长度。必须要确保由RD参数定义的接收区(在接收CPU上)至少和由VAR_ADDR参数定义的要读取的区域(在通讯伙伴上)一样大。RD的数据类型还必须和VAR_ADDR的数据类型相匹配。,单边通讯的编程组态(1),单边通讯的
17、编程组态(2),Active,客户机/服务器,MPI_UC_2 例程,SFC67/SFC68编程调用,用SFC 68写对方的数据区CALL X_PUT/SFC 68 REQ:=M0.0/写数据使能信号 CONT:=TRUE/发送完成后保持连接 DEST_ID:=W#16#3/对方的MPI地址 VAR_ADDR:=P#DB2.DBX0.0 BYTE 76/通信伙伴要写入数据的地址区域 SD:=P#DB1.DBX0.0 BYTE 76/存放本站要发送的数据的地址区域 RET_VAL:=MW2/通讯状态字,返回错误信息 BUSY:=M0.1/为1时写数据未完成用SFC 67读对方的数据区 CALL
18、X_GET/SFC 67 REQ:=M0.2/读数据使能信号 CONT:=TRUE/读数据完成后保持连接 DEST_ID:=W#16#3/对方的MPI站地址 VAR_ADDR:=P#DB1.DBX0.0 BYTE 76/要读取的通讯伙伴的地址区域 RET_VAL:=MW4/通讯状态字,返回错误信息 BUSY:=M0.3/为1时写数据未完成 RD:=P#DB2.DBX0.0 BYTE 76/本站存放读取的数据的地址区域 L DB2.DBD 2 T QD 0,SFC67/SFC68单边编程的练习,任务:组态2号站和3号站,M4.0为1则2号站点的DB10.DBD10的数据传送给3号站点的MD50;
19、如果M5.0为1,读取3号站点的MW40内的数据,并存放在2号站点的DB20.DBW10内。,扩展 S7 通信:概述,使用 MPI、K-Bus、Profibus 或工业以太网进行数据交换通过连接表组态连接连接在暖启动时建立组态并永久存在(即使是 STOP 模式)用户数据大小高达 64 K 字节通信服务也可用于控制(停止、启动)通信伙伴SFB只存在于S7-400-CPU,S7-300-CPU可使用库中的同号码的FB(仅支持Profibus 或工业以太网)可使用GET/PUT 对S7-300进行数据的读和写 通过一个连接可以处理不同的任务,用户数据用户数据的大小取决于使用的块和通信伙伴:PUT/G
20、ET:160 字节(与 S7-31X 通信);180 字节(与 S7-31XC 通信);400 字节(与 S7-400/M7 通信)。USEND/UREC:最多 440 字节 BSEND/BRCV:最多 64K 字节,SFB 通信:块概况,SFB/SFC,SFB 8,名称,USEND,SFB 9,URCV,BSEND,SFB 12,BRCV,SFB 13,GET,SFB 14,通信类型,双向,双向,双向,双向,单向,PUT,SFB 15,单向,PRINT,SFB 16,单向,START,SFB 19,单向,STOP,SFB 20,单向,RESUME,SFB 21,单向,STATUS,SFB 2
21、2,单向,USTATUS,SFB 23,单向,CONTROL,SFC 62,-,简述,发送块,用于向 URCV(客户端)块发送数据,接收块,接收 USEND 的数据,发送块,用于向 BRCV 块发送较大数据块(最多 64K 字节),接收块,用于接收较大数据块(最多 64K 字节),从伙伴 PLC 读数据,向伙伴 PLC 写数据,向远程打印机发送数据,在通信伙伴上执行完全重启动,将通信伙伴置为 Stop 状态,在通信伙伴上执行重启动,通信伙伴的状态扫描(RUN、STOP、start-up、hold),接收通信伙伴的状态信息,扫描 S7 连接+SFB 的内部状态,用于S7通讯数据交换的SFB/FB
22、以及支持通讯的功能,使用 NETPRO 组态网络,双击,插入硬件站点,双击,双击,组态 S7 连接,插入连接,远程站点,远程 CPU,选择,建立连接属性,编译和下载组态数据,下载,保存并编译,测试连接状态,连接状态,使用 S7 连接进行单向通信服务,单向 S7 通信 从 S7-400 到 S7-300 的单向 S7 连接可通过组态工具自动地设置。对于单向连接,只需在 S7-400 上分配一个本地连接 ID 来标识该连接,即通信伙伴和传输介质。不需要在 S7-300 上分配连接 ID,因为用于寻址通信连接的 SFB 不在 S7-300 CPU 的操作系统中。,S7单向通讯的组态(1),S7单向通
23、讯的组态(2),默认连接为单向,在调用SFC时候,会使用“块参数”中的“本地ID”的值。S7-300/S7-400集成的DP口只能建立单向的连接,所以没有通讯伙伴的ID。,S7单向通讯的编程(1),单向通讯只需要通讯的一方编写通讯程序,编写程序的一方的CPU为客户机,不需要编写程序的一方的CPU为服务器,客户机是向服务器请求服务的设备,是主动的,需要调用通讯块对服务器的数据进行读写操作。服务器是提供特定服务的设备,是被动的。S7-400作为客户机,调用GET,PUT程序块读写服务器的存储区。,S7-400的S7通讯块,S7-300的S7通讯块,S7单向通讯的编程(2),CALL GET,DB1
24、4/SFB14 REQ:=M8.1/上升沿时激活数据传输,每200ms读取一次 ID:=W#16#1/S7的连接ID号 NDR:=M0.1/每次读取完,产生一个脉冲 ERROR:=M0.2/错误标志,出错时为1 STATUS:=MW2/状态字,0为没有错误和警告 ADDR_1:=P#DB1.DBX0.0 BYTE 20/要读取的通讯伙伴的1号地址区域 ADDR_2:=P#DB3.DBX0.0 BYTE 20/要读取的通讯伙伴的2号地址区域 ADDR_3:=ID0/要读取的通讯伙伴的ID0双字 ADDR_4:=P#M 40.0 BYTE 20/要读取的通讯伙伴的4号地址区域 RD_1:=P#DB
25、2.DBX0.0 BYTE 20/本站存放读取的数据的1号地址区域 RD_2:=P#DB4.DBX0.0 BYTE 20/本站存放读取的数据的2号地址区域 RD_3:=QD0/通讯伙伴的ID0控制本站的QD0 RD_4:=P#M 20.0 BYTE 20/本站存放读取的数据的4号地址区域 CALL PUT,DB15/SFB15 REQ:=M10.0/上升沿时激活数据传输,每200ms读取一次 ID:=W#16#1/S7的连接ID号 DONE:=M10.1/每次读取完,产生一个脉冲 ERROR:=M10.2/错误标志,出错时为1 STATUS:=MW12/状态字,0为没有错误和警告 ADDR_1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 3.第3部分:SIMATIC PLC之间以及PLC与从站通讯任务 部分 SIMATIC PLC 之间 以及 通讯 任务
链接地址:https://www.31ppt.com/p-2880154.html