《西门子S7300400高级编程培训教材内部教材9基本和扩展S7通信》由会员分享,可在线阅读,更多相关《西门子S7300400高级编程培训教材内部教材9基本和扩展S7通信(35页珍藏版)》请在金锄头文库上搜索。
1、日期:2024/9/4文件:PRO2_09E.1SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训基本和扩展基本和扩展 S7 通信通信日期:2024/9/4文件:PRO2_09E.2SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训基本和扩展基本和扩展 S7 通信通信日期:2024/9/4文件:PRO2_09E.3SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训SIMATIC 中的网络中的网络-SINUMERIK, RCM-TI 505-Other PLC S7-30
2、0 S7-400 M7-400 OPsSIMATIC S5PROFIBUS-DPET 200B/LET 200CDP/AS-I LinkASI (执行器、传感器接口执行器、传感器接口)AS-I 子模块传感器和执行器AS-I ASIC 现场设备AS-I 电源工业以太网工业以太网PROFIBUS MPI Network 点对点点对点 PC, OS PG单元级单元级现场级现场级AS-I级级日期:2024/9/4文件:PRO2_09E.4SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训Comm. Conf. StandardsSIMATIC 通信服务通信服务
3、ProfibusEthernetFMSDPMAP 3.0Open Communic.MPIS7 基本通信基本通信全局数据全局数据S7 扩展通信扩展通信SIMATIC S7通信通信ISO 传输传输TCP/ISO-on-TCPFDLPG 和和 HMI 功能功能UDP日期:2024/9/4文件:PRO2_09E.5SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训程序控制使用MPI, K-Bus,Profibus 或 工业以太网程序控制使用MPI 或K-Bus面向面向 S7-300/400 的的 S7 通信服务通信服务全局数据全局数据基本通信无需组态连接基本
4、通信无需组态连接扩展通信使用组态连接扩展通信使用组态连接CPU的的 操作系统操作系统CPU的的 操作系统操作系统 循环或/和程序控制使用 MPI 或者 K-Bus总线SFCSFCSFBSFBPG 和和 HMI 功能功能CPU的的 操作系统操作系统由操作系统控制使用 MPI, K-Bus, Profibus 和工业以太网日期:2024/9/4文件:PRO2_09E.6SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训S7 连接使用以太网连接使用以太网PG 连接连接 使用使用 MPIS7-400S7-300OP 连接连接 使用使用 PROFIBUS通信各方
5、之间的连接通信各方之间的连接CP CPU 1CPPROFIBUS工业以太网 工业以太网 MPIPROFIBUS工业以太网工业以太网CP CPU 2S7 连接连接使用使用 MPIS7 连接连接使用使用 PROFIBUS日期:2024/9/4文件:PRO2_09E.7SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训空闲连接资源空闲连接资源已占用的连接资源已占用的连接资源 CPUFM CPUS7-300/400:MPI 或内部或内部PROFIBUS-DP-接口接口S7-300/400:工业以太网工业以太网 或或 PROFIBUS-CPS7 通信连线资源分配
6、通信连线资源分配S7-400:MPI 或内部或内部PROFIBUS-DPFM CPUS7-300:内部内部PROFIBUS-DPFM CPUS7-300:MPI 接口接口CP CPU日期:2024/9/4文件:PRO2_09E.8SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训S7-CPU 通信特性数据通信特性数据S7- 300CPU 312 IFM 连接资源连接资源 缺省保留连接用于缺省保留连接用于PGOP基本通信基本通信6112CPU 314 /314 IFM1211812118CPU 315/315 -2 DPCPU 3138114CPU 31
7、61211830114CPU 318 -2 DPS7- 400CPU 412-1/412-2 连接资源连接资源 预先指定的保留连接用于预先指定的保留连接用于PGOP基本通信基本通信1611-CPU 414-1/ -2 / -33211-CPU 413-1/413-21611-CPU 416-1/ -2 / -36411-CPU 417-46411-日期:2024/9/4文件:PRO2_09E.9SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训SFC 通信通信: 概述概述l使用使用 MPI 子网或者在一个站内进行数据交换子网或者在一个站内进行数据交换l
8、与与 SFB 相比无需组态连接相比无需组态连接l与对方的连接是动态建立和断开的与对方的连接是动态建立和断开的l可传输多达可传输多达 76 个字节的数据个字节的数据l可以用于所有可以用于所有 S7-300/400 CPUl在在 S7-200 中可通过中可通过 PROFIBUS-DP(X_GET,X_PUT)读写变量)读写变量l也可在另外的也可在另外的 S7 项目中找到通信伙伴项目中找到通信伙伴日期:2024/9/4文件:PRO2_09E.10SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训SFC 通信通信: 块概述块概述SFCSFC 65名称名称简介简
9、介X_SEND向向X_RCV(Client)块发送数据的发送块)块发送数据的发送块SFC 66X_RCV接收来自接收来自 X_SEND 块的数据的接收块块的数据的接收块X_GET从伙伴从伙伴 PLC 读数据读数据SFC 67X_PUT向伙伴向伙伴 PLC 写数据写数据SFC 68X_ABORT中断现有连接中断现有连接SFC 69I_GET从伙伴从伙伴 CPU 读数据读数据SFC 72I_PUT向伙伴向伙伴 CPU 写数据写数据SFC 73I_ABORT中断与伙伴中断与伙伴 CPU 的连接的连接SFC 74日期:2024/9/4文件:PRO2_09E.11SIMATIC S7Siemens AG
10、 2001. 版权所有SITRAIN自动化与驱动培训SFC 通信通信: X_GET(SFC 67)块)块STL 表示LAD/FBD 表示参数分配示例 SFC67 (X_GET)REQRET_VALBUSYCONTDEST_IDVAR_ADDRCALL SFC 67 REQ:= I 0.4/触发器 CONT:= FALSE/磁盘连接 DEST_ID:= W#16#3/MPI_地址 VAR_ADDR:= P#M20.0 BYTE 10 /远程变量 RET_VAL:= MW100/错误代码 BUSY:= M 4.1/SFC激活 RD:= P#M0.0 BYTE 10/本地变量RD日期:2024/9/
11、4文件:PRO2_09E.12SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训SFC 通信通信: X_PUT(SFC 68)块)块STL 表示LAD/FBD 表示参数分配示例 SFC68 (X_PUT)REQRET_VALBUSYCONTDEST_IDVAR_ADDRCALL SFC 68 REQ:= I 0.5/触发器 CONT:= FALSE/磁盘连接 DEST_ID:= W#16#3/MPI_地址 VAR_ADDR:= P#M20.0 BYTE 10 /远程变量 SD:= P#M0.0 BYTE 10/本地变量 RET_VAL:= MW100/
12、错误代码 BUSY:= M 4.1/SFC激活 SD日期:2024/9/4文件:PRO2_09E.13SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训SFC 通信通信: X_SEND(SFC 65)块)块STL 表示LAD/FBD 表示参数分配示例 SFC65 (X_SEND)REQRET_VALBUSYCONTDEST_IDSDREQ_IDCALL SFC 65 REQ:= M4.0/触发器 CONT:= FALSE/磁盘连接 DEST_ID:= W#16#4/MPI_地址 REQ_ID:= DW#16#1/标识符 SD:= P#M20.0 BYT
13、E 10 /变量 RET_VAL:= MW40/错误代码 BUSY:= M 4.1/SFC激活日期:2024/9/4文件:PRO2_09E.14SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训SFC 通信通信: X_RCV(SFC 66)块)块STL 表示LAD/FBD 表示参数分配示例 SFC66 (X_RSV)EN_DTRET_VALREQ_IDCALL SFC 66 EN_DT:= TRUE/触发数据传输 RET_VAL:= MW 50/错误代码 REQ_ID:= MD52/作业 ID NDA:= M40.0/数据存在 RD:= P#M20.0
14、 BYTE 10 /变量NDARD日期:2024/9/4文件:PRO2_09E.15SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训SFB 通信通信: 概述概述l使用使用 MPI、K-Bus、Profibus 或工业以太网进行数据交换或工业以太网进行数据交换l通过连接表组态连接通过连接表组态连接l通过完全重新启动建立连接并使连接永久存在(即使是在通过完全重新启动建立连接并使连接永久存在(即使是在 STOP 模式)模式)l用户数据大小可达用户数据大小可达 64 K字节字节l通信服务也可用于控制(停止、启动)通信伙伴通信服务也可用于控制(停止、启动)通信
15、伙伴lSFB只存在于只存在于S7-400-CPU l数据可由数据可由 S7-300(GET/PUT)读和写)读和写 l通过一个连接可以处理不同的任务通过一个连接可以处理不同的任务日期:2024/9/4文件:PRO2_09E.16SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训SFB 通信通信: 块一览块一览SFB/SFCSFB 8名称名称简述简述USEND向向 URCV(Client)块发送数据的块)块发送数据的块SFB 9URCV接收来自接收来自 USEND 的数据的接收块的数据的接收块BSEND向向 BRCV 块发送大批数据的发送块(最多块发送大
16、批数据的发送块(最多64K字节)字节) SFB 12BRCV接收大批数据的接收块(最多接收大批数据的接收块(最多64K字节)字节) SFB 13GET从伙伴从伙伴 PLC 读数据读数据SFB 14通信类型通信类型 双边双边 双边双边 双边双边 双边双边 双边双边PUT向伙伴向伙伴 PLC 写数据写数据SFB 15 单边单边PRINT向远程打印机发送数据向远程打印机发送数据SFB 16 单边单边START在伙伴机上执行完全重启动在伙伴机上执行完全重启动SFB 19 单边单边STOP将伙伴机置为将伙伴机置为 Stop 状态状态SFB 20 单边单边RESUME在伙伴机上执行重启动在伙伴机上执行重启
17、动SFB 21 单边单边STATUS伙伴机状态扫描伙伴机状态扫描(RUN/运行、运行、STOP/停止、停止、start-up/启动、启动、hold/保持)保持)SFB 22 单边单边USTATUS接收伙伴机的状态信息接收伙伴机的状态信息SFB 23 单边单边CONTROL扫描扫描 S7 连接连接+ SFB 的内部状态的内部状态SFC 62-日期:2024/9/4文件:PRO2_09E.17SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训使用使用 S7 连接进行单边通信服务连接进行单边通信服务SFB:- GET- PUT- STOP- START- S
18、TATUSCPU的的操作系统操作系统S7-400MPI=3S7-300/400逻辑逻辑S7 连接连接(单边或双边)(单边或双边)MPI=2 CPUMPI=2 CPUMPI=21本地本地 ID物理连接,如物理连接,如 MPI1日期:2024/9/4文件:PRO2_09E.18SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训使用使用 S7 连接进行双边通信服务连接进行双边通信服务SFB:- USEND- URCV- BSEND- BRCVSFBs- URCV- USEND- BRCV- BSENDS7-400MPI=3S7-400逻辑逻辑S7 连接连接(
19、双边)(双边)MPI=2 CPUMPI=2 CPUMPI=22本地本地 ID物理连接,如物理连接,如 MPI211日期:2024/9/4文件:PRO2_09E.19SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训使用使用 NETPRO 组态网络组态网络双击双击插入插入 HW 站站双击双击双击双击日期:2024/9/4文件:PRO2_09E.20SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训组态组态 S7 连接连接插入连接插入连接远程站点远程站点远程远程 CPU选择选择日期:2024/9/4文件:PRO2_
20、09E.21SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训建立连接属性建立连接属性日期:2024/9/4文件:PRO2_09E.22SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训编译和下载组态数据编译和下载组态数据下载下载保存和编译保存和编译 日期:2024/9/4文件:PRO2_09E.23SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训测试连接状态测试连接状态连接状态连接状态日期:2024/9/4文件:PRO2_09E.24SIMATIC S7Siemen
21、s AG 2001. 版权所有SITRAIN自动化与驱动培训SFB 通信通信: GET(SFB 14)块)块STL 表示表示 CALL GET, I_GET /使用背景DB REQ:=I 0.2/开始 ID:=W#16#1/连接 No. NDR:=#NDR_FLAG/接收新数据 ERROR:= #ERROR_F/error 结束 STATUS:= #STATUS_W/附加信息 ADDR_1:=P#I 0.0 BYTE 1/1. 远程变量 ADDR_2:=P#I 4.0 WORD 1/2. 远程变量 ADDR_3:=/3. 远程变量 ADDR_4:=/4. 远程变量 RD_1:=P#Q 0.0
22、BYTE 1/1. 本地变量 RD_2:=P#Q 4.0 WORD 1/2. 本地变量 RD_3:=/3. 本地变量 RD_4:=/4. 本地变量LAD 表示表示DB14(背景 DB) SFB14 (GET)ENENOREQNDRERRORIDSTATUSADDR_1ADDR_2ADDR_3ADDR_4RD_1RD_2RD_3RD_4参数分配示例日期:2024/9/4文件:PRO2_09E.25SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训SFB 通信:通信:PUT(SFB 15)块块STL 表示表示CALL PUT, I_PUT(背景 DB) R
23、EQ:=I 0.3/开始 ID:=W#16#1/连接 No. DONE:= #DONE_F/成功的 end ERROR:= #ERROR_F/出错的 end STATUS:= #STATUS_W/错误信息 ADDR_1:=P#Q 12.0 WORD 1 /1. 远程变量 ADDR_2:=/2. 远程变量 ADDR_3:=/3. 远程变量 ADDR_4:=/4. 远程变量 SD_1:=P#I 2.0 WORD 1/1. 本地变量 SD_2:=/2. 本地变量 SD_3:=/3. 本地变量 SD_4:=/4. 本地变量LAD 表示表示DB15(背景 DB) SFB15 (PUT)ENENOREQD
24、ONEERRORIDSTATUSADDR_1ADDR_2ADDR_3ADDR_4SD_1SD_2SD_3SD_4参数分配示例日期:2024/9/4文件:PRO2_09E.26SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训SFB 通信通信: USEND(SFB 8)块)块STL 表示表示 CALL USEND, I_USEND(背景 DB) REQ:= I 0.4/开始 ID:=W#16#3 /连接号 R_ID:=DW#16#B1 /功能块对 DONE:= #DONE_F/成功结束 ERROR:= #ERROR_F/结束但有错误 STATUS:= #
25、STATUS_W/错误信息 SD_1 :=P#DB3.DBX0.0 BYTE 100/1. 本地变量 SD_2 :=P#DB3.DBX100.0 BYTE 100 /2. 本地变量 SD_3 :=P#DB3.DBX200.0 BYTE 100 /3. 本地变量 SD_4 :=P#DB3.DBX300.0 BYTE 154 /4. 本地变量LAD 表示表示DB 8(背景 DB) SFB 8 (USEND)ENENOREQDONEERRORIDSTATUSR_IDSD_1SD_2SD_3SD_4参数分配示例日期:2024/9/4文件:PRO2_09E.27SIMATIC S7Siemens AG
26、2001. 版权所有SITRAIN自动化与驱动培训SFB 通信通信: URCV(SFB 9)块)块 STL 表示表示CALL URCV, I_URCV/使用背景 DB EN_R:= I 0.5/开始 ID:= W#16#3/S7 连接 R_ID:= DW#16#B1/功能块对 NDR:= #NDR_F/接收新数据 ERROR:= #ERROR_F/结束并有错误 STATUS:= #STATUS_W/错误信息 RD_1:=P#DB3.DBX0.0 BYTE 100 /1. 变量 RD_2:=P#DB3.DBX100.0 BYTE 100 /2. 变量 RD_3:=P#DB3.DBX200.0 B
27、YTE 100 /3. 变量 RD_4:=P#DB3.DBX300.0 BYTE 154 /4. 变量LAD 表示表示DB 9(背景DB) SFB 9 (URCV)ENENOEN_RNDRERRORIDSTATUSR_IDRD_1RD_2RD_3RD_4参数分配实例日期:2024/9/4文件:PRO2_09E.28SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训SFB 通信通信: BSEND(SFB 12)块)块STL 表示表示CALL BSEND, I_BSEND/使用背景 DBREQ:= I 0.4/开始R:= I 0.5/复位 BSENDID:
28、=W#16#3 /S7 连接R_ID:=DW#16#B2 /功能块对DONE:= #DONE_F/成功结束ERROR:= #ERROR_F/结束但有错误STATUS:= #STATUS_W/附加信息SD_1:=P#DB1.DBX0.0 BYTE 40000 /发送数据LEN:= #DB_LEN/数据长度LAD 表示表示DB 12(背景 DB) SFB 12 (BSEND)ENENOREQDONEERRORRSTATUSIDR_IDSD_1LEN参数分配实例日期:2024/9/4文件:PRO2_09E.29SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培
29、训SFB 通信通信: BRCV(SFB 13)块)块STL 表示表示CALL BRCV, I_BRCV/ 使用背景 DB EN_R:= I 0.4/开始 ID:=W#16#3 /S7 连接 R_ID:=DW#16#B2 /功能块对 NDR:= #NDR_F/接收新数据 ERROR:= #ERROR_F/结束并有错误 STATUS:= #STATUS_W/附加消息 RD_1:=P#DB2.DBX0.0 BYTE 40000 /接收邮箱 LEN:= #DB_LEN/接收端邮箱长度LAD 表示表示DB 13(背景 DB) SFB 13 (BRCV)ENENOEN_RNDRERRORIDSTATUSR
30、_IDRD_1LEN参数分配实例日期:2024/9/4文件:PRO2_09E.30SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训SFB 通信通信: STOP(SFB20)块)块STL 表示表示LAD/FBD 表示表示 CALL “STOP”,“I_STOP” /背景 DB REQ:= I 0.0/开始沿 ID:= W#16#1/连接号 PI_NAME:= P#M100.0 Byte 9 /参见脚注 IO_STATE:=/未使用 DONE:= #DONE_F_20 /成功结束 ERROR:= #ERROR_F_20/结束但有错误 STATUS:= #
31、STATUS_W_20/错误信息DB20(背景DB) SFB20(STOP)ENENOREQDONEERRORIDSTATUSPI_NAMEIO_STATE参数分配实例* P_PROGRAM在存储器中起点位置的详细信息日期:2024/9/4文件:PRO2_09E.31SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训STL 表示表示 LAD/FBD 表示表示DB19(背景DB) SFB19 (START)ENENOREQDONEERRORIDSTATUSPI_NAMEARGIO_STATESFB 通信通信: START(SFB19)块)块* P_PRO
32、GRAM在存储器中起点位置的详细信息参数分配实例CALL “START”,“I_START” /使用背景DB REQ:= I 0.1/开始沿 ID:= W#16#1/连接号 PI_NAME:= P#M100.0 Byte 9 /参见脚注 ARG:=/未使用 IO_STATE:=/未使用 DONE:= #DONE_F_20/成功结束 ERROR:= #ERROR_F_20/结束但有错误 STATUS:= #STATUS_W_20/错误信息日期:2024/9/4文件:PRO2_09E.32SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训SFB 通信通信:
33、 CONTROL(SFC 62)块)块STL 表示表示LAD 表示表示 CALL CONTROL EN_R:= I 0. 2 /开始 I_DB:= W#16#F /背景 DB NO OFFSET:= W#16#0/用于多实例 RET_VAL:= MW4 /错误信息 ERROR:= Q 0.4 /结束但有错误 STATUS:= MW 4 /状态信息 I_TYP:= MB 52 /SFB 类型 I_STATE:= MB 53 /SFB 状态 I_CONN:= M 54.0 /连接状态 I_STATUS:= MW102/SFB 的状态 SFC 62 (CONTROL)ENENOEN_RRET_VAL
34、ERRORI_DBSTATUSOFFSETIO_STATEI_CONNI_TYPI_STATEI_STATUS参数分配实例日期:2024/9/4文件:PRO2_09E.33SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训练习练习 10.1: 组态一个组态一个 S7 连接连接S7-400MPI=3S7-300逻辑逻辑S7 连接连接(单边)(单边)MPI=2 CPUMPI=2 CPUMPI=21本地本地 IDMPI=0PROFIBUS 电缆电缆MPI 电缆电缆日期:2024/9/4文件:PRO2_09E.34SIMATIC S7Siemens AG 20
35、01. 版权所有SITRAIN自动化与驱动培训练习练习 10.2: 使用使用 SFB GET/PUT 通信通信CALL SFB14,DB14REQ= I 28.0ID:=W#16#1.CALL SFB 15,DB15REQ=I 28.1ID:=W#16#1.S7-400 程序程序OB 1PUTQB 40IB 0IW 4 QW 42IW 30QW 12S7-400S7-300 CPUMPI=2 CPU1GET日期:2024/9/4文件:PRO2_09E.35SIMATIC S7Siemens AG 2001. 版权所有SITRAIN自动化与驱动培训练习练习 10.3: 使用使用 SFB START/STOP 通信通信S7-400MPI=3S7-300逻辑逻辑S7 连接连接(单边)(单边)CALL SFB20,DB20REQ= I 28.2ID:=W#16#1PI_NAME:= P#M100.0 Byte 9CALL SFB 19,DB19REQ=I 28.3ID:=W#16#1PI_NAME:= P#M100.0 Byte 9 .S7-400 程序程序MPI=2OB 1 CPUMPI=2 CPUMPI=21本地本地 ID