H T G 恒宇科技设备部 西门子培训课件 制作人:胡善旭 时间: 2016.6
S7 通讯及其数据传输
其中MPI 通讯较为常见的数据传输方式 MPI通讯,分为三种:全局数据包通信方式、组态通讯方式、无组态通讯方式。 (1)全局数据包通信方式a.全局数据包通讯方式在配置PLC硬件的过程中,组态所要通信的PLC站之间的发送区和接收区,不需要任何程序处理,这种方式只适合S7-300/400PLC之间的相互通信。b.事件触发的数据传送需要调用SFC60、SFC61,只支持400的CPU。 (2)无组态通讯方式a.双边数据通信需要调用SFC65、SFC66;b.单边数据通信需要调用SFC67、SFC68,S7-300/400的CPU可以同时作为客户机和服务器。 (3)组态通讯方式适合于S7-300/400以及S7-400/400之间的通信。S7-300/400通信时,S7-300只能作为服务器,S7-400作为客户机对S7-300的数据进行读写操作;S7-400/400通信时S7-400集可以作为服务器,也可以作为客户机。故此种方式不适合两个300之间的通信.
常用S7 编程的数据传输举例: CPU之间应用全局数据通讯 用于分布式I/O的SFC14、SFC15 S7通讯块和S7基本通讯块 SFC\SFB
一、用于传送数据记录的SFC 读写一条数据记录: SFC 58 SFC 59 原理 某些模块具有只写的系统数据区,可由程序向其传送数据记录。此区域包含编号从0到最大为240的数据记录。并不是每个模块都包含所有数据记录 另外,一些模块具有只读的系统数据区,可由程序从中读一个数据记录。此区域包含编号从0到最大为240的数据记录。并不是每个模块都包含所有数据记录
恒驰一次法成型机 CPU414 CP============ BST纠偏控制器
二、用于全局数据通讯的SFC
用于全局数据通讯的组网连接 打开硬件连接,点击两CPU连接的MPI线,右键:定义全局数据,如图:
三、用于分布式I/O的SFC
恒驰一次法成型机 用于分布式I/O的SFC14、SFC15 读取Profinet接口数据 向Profinet接口发送数据 CALL "DPRD_DAT" SFC14 LADDR :=W#16#7D0 //add 2000 RET_VAL:=MW2500 RECORD :=P#DB1014.DBX0.0 BYTE 240 LADDR :=W#16#8C0 //add 2240 RET_VAL:=MW2502 RECORD :=P#DB1014.DBX240.0 BYTE 240 LADDR :=W#16#9B0 //add 2480 RET_VAL:=MW2504 RECORD :=P#DB1014.DBX480.0 BYTE 32 CALL "DPWR_DAT" SFC15 LADDR :=W#16#7D0 //ADD 2000 RECORD :=P#DB1013.DBX0.0 BYTE 240 RET_VAL:=MW2506 CALL "DPWR_DAT" SFC15 LADDR :=W#16#8C0 //ADD 2240 RECORD :=P#DB1013.DBX240.0 BYTE 240 RET_VAL:=MW2508 LADDR :=W#16#9B0 //ADD 2480 RECORD :=P#DB1013.DBX480.0 BYTE 32 RET_VAL:=MW2510 恒驰一次法成型机
用于分布式I/O硬件配置的硬件地址分配
四、S7通讯块和S7基本通讯块 除了全局数据通讯以外,SIMATIC S7可编程控制器的CPU/FM之间还有其它两种数 据交换方式: • 对于未组态的S7连接,使用通讯SFC进行数据交换 • 对于已组态的S7连接,使用通讯SFB进行数据交换 所选择的方法取决于所使用的SIMATIC S7可编程控制器(S7-300、S7-400)和用于数据交换的其它参数。
1、S7通讯块 及其SFC的分类 S7通讯块概述 分类 对于S7通讯,需要进行连接组态。通过SFB/FB或SFC/FC,在应用程序中调用集成 的通讯功能。 可以将这些块分成下列几个类别: • 用于数据交换的SFB/FB • 用于改变工作状态的SFB • 用于查询工作状态的SFB • 用于查询连接的SFC/FC 用于数据交换的通讯SFB/FB被用于在两个通讯伙伴之间交换数据。 如果只在本地模块上存在SFB,则称为单边数据交换。 如果在本地模块和远程模块上都存在SFB/FB,则称为双边数据交换。
2、S7基本通讯的功能块 及其SFC的分类: S7基本通讯不需要连接组态。通过用户程序中的SFC调用集成的通讯函数。 SFC分为两类: • 用于在S7 CPU和其它有通讯功能的模块之间交换数据的SFC,条件是通讯伙伴 属于相同的S7站(开头以I”标识,表示内部)。 连接到公共MPI子网(开头以X”标识,表示外部)。 对于与其它子网中的站的通讯,不能使用用于S7基本通讯的SFC。 用于基本通讯的SFC可以运行在S7-300和S7-400系列的所有CPU上。通过这些 CPU,还可以向S7-200的CPU中写入变量,以及从S7-200的CPU中读取变量。
高校软控上辅机同密炼机之间的传输 CPU315-2 DP===CPU315-2 DP 大连橡塑 密炼机
高校软控上辅机同密炼机之间的传输 CPU315-2 DP===CPU315-2 DP 大连橡塑 密炼机 使用 SFC 67 SFC 68 读、写本站之外的并且【没有组态组网和硬件 】 通讯伙伴的数据 CALL “X_GET” SFC 67 //读取本站之外的通讯伙伴的数据 REQ :=TRUE //控制参数 “请求激活” CONT :=TRUE //控制参数“继续” DEST_ID :=W#16#2 //通讯伙伴的MPI 地址: 2#地址 VAR_ADDR :=P#DB150.DBX0.0 BYTE 18 //指向伙伴CPU上要读取数据的区域DB150.DBW0-- DB150.DBW16 共9个字(18个字节) RET_VAL :=MW64 //传输出错后,错误代码存储区 :MW64 BUSY :=M62.3 //传输完成标志位 : M62.3 RD :=P#DB150.DBX0.0 BYTE 18 //指向本地CPU的接受数据区域DB150.DBW0--DB150.DBW16 共9个字(18个字节)【此字非彼字】 CALL “X_PUT” SFC 68 //写入本站之外的通讯伙伴的数据 REQ :=TRUE CONT :=TRUE DEST_ID :=W#16#2 VAR_ADDR :=P#DB152.DBX0.0 BYTE 6 SD :=P#DB152.DBX0.0 BYTE 6 RET_VAL :=MW60 BUSY :=M62.2
THE END