通过 S7 连接建立安全相关的通信 -数据传输的限值说明如果待传输的数据数量超出 F 通信 DB 所允许的长度(100 个字节),则客可创建另一个F 通信 DB通过修改后的 R_ID 将数据传输到其它 SENDS7/RCVS7 指令。请注意,每次调用 SENDS7 或 RCVS7时,系统将在内部调用 USEND 和 URCV 指令,并使用 F-CPU 中的连接资源。这将影响可用的通信连接Zui大数量(请参见F-CPU 手册)。有关各 F-CPU 中 S7 连接数据传输限值的更多信息,请访问 Internet 7.将已在网络视图的“连接”(Connections) 选项卡中组态的 S7 连接的本地 ID(数据类型:WORD)分配给 RCVS7 的ID 输入。8. 将一个奇数(数据类型:DWORD)分配给 SENDS7 和 RCVS7 的 R_ID 输入。这样,可以指定SENDS7 指令从属于 RCVS7 指令。相关联的指令将接收到相同的 R_ID 值。可自由选择相应 F 通信 ID 的值(输入R_ID;数据类型:DWORD);但在网络范围*和 CPU 范围内,该值对于所有安全相关的通信连接必须为奇数且唯一。值 R_ID +1为系统内部分配,不能使用。在调用指令时,ID 和 R_ID 输入中必须指定常量值。在安全程序中,不允许对相关联的背景 DB进行直接读取或写入访问。(S020)* 网络由一个或多个子网组成。“网络范围”表示超出子网边界。在 PROFIBUS中,网络包含可通过 PROFIBUS DP 进行访问的所有节点。在 PROFINET IO中,网络包含可通过RT_Class_1/2/3(Ethernet/WLAN/Bluetooth,第 2层)和(如果适用)RT_Class_UDP(IP,第 3 层)访问的所有节点。9. 为 SENDS7 和 RCVS7 指令的TIMEOUT输入分配所需的监视时间。警告这样可以确保(从故障安全角度出发)仅当信号状态保持的时间不小于分配的监视时间时,才会采集要传送的信号状态并传送给接收方。(S018)有关计算监视时间的信息,请参见 监视和响应时间10. 为了减少总线负载,可在 SENDS7 指令的 EN_SEND输入处临时断开 F-CPU 间的通信。为此,需为输入 EN_SEND 提供 0(初始值=“TRUE”)。此时,不再将发送数据发送到相关联 RCVS7 指令的 F 通信 DB 中,在此过程中接收方 RCVS7将提供故障安全值(F 通信 DB 中的初始值)。如果伙伴间已建立通信,则将检测到一个通信错误。11. 可选:例如,在标准用户程序或在HMI 系统中评估 RCVS7 的 ACK_REQ 输出,以查询或指示是否需要进行用户确认。12. 在 RCVS7 指令的ACK_REI 输入中输入确认信号,进行重新集成。13. 可选:评估 RCVS7 或 SENDS7 的 SUBS_ON 输出,查询RCVS7 指令是否输出在 F 通信 DB 中所指定为初始值的故障安全值。14. 可选:例如,在标准用户程序或在 HMI 系统中,评估RCVS7 或 SENDS7 的 ERROR输出,以查询或指示是否发生通信错误。15. 可选:评估 RCVS7 的 SENDMODE输出,以查询与 SENDS7 指令相关联的 F-CPU 是否处于禁用安全模式 (页 360)中。移植项目的特殊情况如果已将一个项目从S7 Distributed Safety V5.4 SP5 移植到 STEP 7 SafetyAdvanced,且在该项目中编程了通过 S7 连接进行的安全相关通信,则必须注意以下事项:• 请勿在项目树的“程序块 >系统块”(Program blocks > System blocks)下的“STEP 7Safety”文件夹中删除SENDS7 和 RCVS7 的移植背景 DB。否则,在相关的通信连接中可能会发生通信错误。如果在编译安全程序后,删除了 SENDS7和 RCVS7 指令的移植背景 DB,则新生成背景DB 的“用户自定义ID”不是“FRCVS7CL”或“FSNDS7CL”。块的“用户自定义 ID”位于该块属性的“信息”(Information)区域中。通过 PN/PN 耦合器或 DP/DP 耦合器可实现 SIMATIC Safety 与 S7 DistributedSafety F 系统中 F-CPU 间的安全相关通信,在两个 F-CPU 间使用 PN/PN 耦合器或 DP/DP 耦合器,可实现IO 控制器间通信、主站间通信或通过建立的 S7 连接实现的通信。SIMATIC Safety 中的 F-CPU 与 S7 F/FH系统 F 系统中 F-CPU 间可通过 S7 连接进行安全相关的通信。通过 PN/PN 耦合器与 S7 DistributedSafety 进行通信(IO 控制器与 IO 控制器通信)STEP 7 Safety Advanced 中的 SENDDP/RCVDP指令与 S7 Distributed Safety 中的F_SENDDP/F_RCVDP F 应用程序块间的通信功能:STEP 7Safety Advanced 中的操作步骤在 STEP 7 Safety Advanced 中,请按“安全相关的 IO 控制器与IO 控制器通信 (页 213)”所述进行操作。通过 DP/DP 耦合器与 S7 Distributed Safety进行通信(主站与主站通信)STEP 7 Safety Advanced 中的 SENDDP/RCVDP 指令与 S7Distributed Safety 中的F_SENDDP/F_RCVDP F 应用程序块间的通信功能:STEP 7 SafetyAdvanced 中的操作步骤在 STEP 7 Safety Advanced 中,请按“安全相关的主站与主站通信 (页222)”所述进行操作。
通过 S7 连接与 S7 Distributed Safety通信STEP 7 Safety Advanced 中的 SENDS7/RCVS7 指令与 S7 Distributed Safety中的F_SENDS7/F_RCVS7 F 应用程序块间的通信功能:S7 Distributed Safety 中的操作步骤在 S7Distributed Safety 中,将按照 S7 Distributed Safety - 组态和编程手册“通过 S7通信的安全相关通信”中的内容进行操作。由于通过 S7 连接进行安全相关的通信时,无法连接 S7 Distributed Safety中未指定的伙伴,必须先在 S7 Distributed Safety 中创建一个“虚拟”的 SIMATIC 站,并在 STEP7Safety Advanced 中通过 IP 地址将一个 F-CPU 组态为该 F-CPU 的代理。再在连接表中为该F-CPU 插入一个 S7 连接。本地连接和伙伴连接资源(十六进制)都是固定的。之后,必须在 STEP 7Professiona 中所创建的相关且未指定的 S7连接中设置这些资源。在与该 F-CPU相关的所有通信连接中,在标准用户程序中调用 F-CALL 之前,必须立即将 F_SENDS7 和 F_RCVS7 F应用程序块中相关调用的 R_ID 输入中所指定的 F 通信 ID分别传输到 F_SENDS7 和 F_RCVS7 背景 DB 中的CRC_IMP 变量中。STEP 7 Safety Advanced 中的操作步骤在 STEP 7 Safety Advanced中,请按“通过 S7 连接进行安全相关的通信 (页 258)”所述进行操作。对于 S7 Distributed Safety 中的F-CPU,必须创建并指定一个未指定的 S7 连接。相关信息,请参见 STEP 7 帮助中的“创建一个未指定的连接”(Creatingan unspecified connection)或“指定一个未指定的连接”(Specifying and unspecifiedconnection)。为此,对于在 S7 Distributed Safety 中创建了相关 S7连接,必须设置固定的本地和伙伴连接资源(十六进制)。如果现有连接占用了本地连接资源(十六进制),则必须更改该连接资源(十六进制)。如果与S7 Distributed Safety 通信的 SENDS7 和 RCVS7, 指令中的背景 DB 移植自S7Distributed Safety,则必须在项目树中“程序块 > 系统块”(Program blocks >System blocks)的“STEP 7 Safety”文件夹中删除这些 DB(与 编程通过 S7 连接进行安全相关的通信(页261) 中“移植项目的特殊情况”部分中的内容)。通过 S7 连接与 S7 F/FH 系统进行通信STEP 7 SafetyAdvanced 中的 SENDS7/RCVS7 指令和 S7 F Systems 中的F_SDS_BO/F_RDS_BO F块之间的通信功能。Zui多可以交换 32 个数据类型为 BOOL 的数据元素。由于通过 S7 连接进行安全相关的通信时,无法连接 S7F/FH Systems 中未指定的伙伴,必须先在 S7 F/FH Systems 中创建一个“虚拟”的 SIMATIC 站,并在STEP 7Safety Advanced 中通过 IP 地址将一个 F-CPU 组态为该 F-CPU 的代理。再在连接表中为该F-CPU 插入一个 S7 连接。本地连接和伙伴连接资源(十六进制)都是固定的。之后,必须在 STEP 7 SafetyAdvanced 中所创建的相关且未指定的S7 连接中设置这些资源。必须在 S7 程序中位于 CFC中为其它应用程序预留的区域内插入一个函数,对于该F-CPU 相关的所有通信连接,将 F_SDS_BO 和 F_RDS_BO F块相关调用的 R_ID 输入中所指定的 F 通信 ID 分别传输到 F_SDS_BO 和 F_RDS_BO 背景 DB 中的CRC_IMP 变量中。在CFC 中,可从块的对象属性中获取该背景 DB 的编号。为这些实例 DB 分配描述性名称。如果在 CFC中进行压缩操作,则必须检查这些背景 DB 的编号是否更改。 之后,必须在 CFC中将该功能导入为块类型,再在图中插入标准用户程序。在运行顺序中,需确保在执行 F 运行组之前运行相关的标准运行组。STEP 7Safety Advanced 中的操作步骤在 STEP 7 Safety Advanced 中,请按“通过 S7通信进行安全相关的通信” (页 258)所述进行操作。特殊情况:在 STEP 7 Safety Advanced 中,必须创建具有32 个 BOOL 数据类型的数据元素的 F 通信 DB。对于 S7 F/FH Systems 中的F-CPU,必须创建并指定一个未指定的 S7 连接。相关信息,请参见 STEP 7 帮助中的“创建一个未指定的连接”(Creatingan unspecified connection) 或“指定一个未指定的连接”(Specifying an unspecifiedconnection)。为此,对于在 S7 F 系统中创建了相关 S7连接,必须设置固定的本地和伙伴连接资源(十六进制)。如果现有连接占用了本地连接资源(十六进制),则必须更改该连接资源(十六进制)。
组态和编程通信(S7-1200 和S7-1500)通信概述简介在本章节简要介绍了 SIMATIC Safety F系统中安全相关的通信方式。安全相关的通信方式安全相关的通信 子网上 需要的其它硬件安全相关的 CPU 与 CPU 通信:IO 控制器与IO 控制器通信 PROFINET IO PN/PN 耦合器主站与主站通信 PROFIBUS DP DP/DP 耦合器IO控制器与智能设备通信 PROFINET IO —主站与智能从站通信 PROFIBUS DP —IO 控制器与智能从站通信PROFINET IO 和 PROFIBUS DP IE/PB LinkS7 Distributed Safety 中 IO 控制器与IO 控制器通信PROFINET IO PN/PN 耦合器S7 Distributed Safety 中主站与主站通信PROFIBUS DP DP/DP 耦合器说明安全相关通信的选项取决于所使用的 F-CPU。说明只有固件 V4.1.2 及更高版本的S7-1200 F-CPU 才支持安全相关通信。