在创建传输区域时将为其分配一个标签,以将该传输区域标识为通信关系。例如,“FCD_PLC_2 PLC_1_1”表示 IO控制器 F-CPU 1 和智能设备 F-CPU 2 间的第一个 F-CD 连接。在创建传输区域时,将在 IO 控制器的 F-CPU中以及智能设备的 F-CPU 中创建具有传输区域名称的系统常量。该系统常量包含相应 F-CPU的传输区域的硬件标识符。在安全程序中,可将传输区域的硬件标识符(默认变量表中的系统常量)以符号形式分配给 SENDDP 和 RCVDP指令的 LADDR 输入。组态的操作步骤安全相关的 IO 控制器与智能设备通信的组态过程与标准系统中的相同。请按以下步骤操作:1.将两个 F-CPU 从“硬件目录”(Hardware catalog) 任务卡插入到项目中。2. 在 F-CPU 2 的 PN接口属性中,启用“IO 设备”(IO Device) 模式,将该 PN 接口分配给F-CPU 1 的 PN 接口。3. 选择F-CPU 2 的 PROFINET 接口。在“传输区域”(Transfer areas) 中,创建一个 F-CD连接(类型为“F-CD”),以从 IO 控制器中接收数据 (←)。在表格中,F-CD 连接显示为黄色,还将显示所分配的智能设备和IO 控制器中的地址区域。系统还将为每个 F-CD 连接自动创建一个确认连接。(请参见“传输区域详细信息”)。4. 创建另一个F-CD 连接以发送到 IO 控制器。5. 在刚创建的传输区域中,单击箭头,将传送方向更改为向 IO 控制器发送数据(→)。安全相关的通信9.2 组态和编程通信(S7-1200 和 S7-1500)编程和操作手册, 11/2022,A5E33215622-AM 2959.2.4.2 通过 SENDDP 和 RCVDP 进行安全相关的 IO 控制器与智能设备通信通过SENDDP 和 RCVDP 指令进行通信IO 控制器和智能设备 F-CPU 间的安全相关通信分别使用 SENDDP 和 RCVDP指令进行发送和接收。通过这两条指令,可采用故障安全的方式传送数量固定且数据类型为 BOOL 或INT(DINT可供选择的)的数据。这些指令位于“通信”(Communication) 下的“指令”(Instructions) 任务卡中。RCVDP指令必须在主安全块开始处调用。SENDDP 指令必须在主安全块结束处调用。也可以在单独的 F-FB/F-FC 中调用 RCVDP 和SENDDP 指令,而您必须在主安全块的开始或结束处调用这些 F-FB/F-FC。请注意,只有在相应 F 运行组执行结束时调用SENDDP 之后,系统才会发送这些信号。有关 SENDDP 和 RCVDP 指令的详细说明,请参见 SENDDP 和RCVDP:通过 PROFIBUSDP/PROFINET IO 发送和接收数据 (STEP 7 Safety V18) (页629)。编程安全相关的 IO 控制器与智能设备通信编程要求必须组态传输区域。编程步骤编程安全相关的 IO控制器与智能设备通信的步骤,与编程安全相关的 IO 控制器与 IO 控制器通信的相同(请参见 编程安全相关的 IO 控制器与 IO控制器通信 (页 279))。下表列出了为 SENDDP/RCVDP 指令的 LADDR 输入所分配的传输区域 HW标识符(标准变量表中的系统常量):指令 硬件标识符IO 控制器中的 SENDDP IO 控制器中传输区域的硬件标识符IO 控制器中的RCVDP IO 控制器中传输区域的硬件标识符智能设备中的 SENDDP 智能设备中传输区域的硬件标识符智能设备中的 RCVDP智能设备中传输区域的硬件标识符下图举例说明了如何在 SENDDP 和 RCVDP 指令的输入处为 4 个安全相关 IO控制器与智能设备的通信关系指定 F 通信 ID。可自由选择相应 F 通信 ID 的值(输入DP_DP_ID;数据类型:INT;但在网络范围*和CPU范围内,该值对于所有安全相关的通信连接必须始终唯一。在进行安全程序验收时,必须在安全摘要中检查该值的唯一性。在调用指令时,必须为DP_DP_ID 和 LADDR 输入指定常量值。在安全程序中,不允许对相关背景 DB 中的 DP_DP_ID 和 LADDR进行直接写入访问!(S016)* 网络由一个或多个子网组成。“网络范围”表示超出子网边界。在 PROFIBUS 中,网络包含可通过PROFIBUS DP 进行访问的所有节点。在 PROFINET IO中,网络包含可通过RT_Class_1/2/3(Ethernet/WLAN/Bluetooth,第 2层)和(如果适用)RT_Class_UDP(IP,第 3 层)访问的所有节点。S7-1200/1500:自 SENDDP 和RCVDP 指令的版本 V3.0 起,在 DP_DP_ID 输入 F 通信ID 为“0”不会建立连接。S7-1200/1500:自SENDDP 和 RCVDP 指令的版本 V3.0 起,也可以为 DP_DP_ID 输入提供全局 F-DB中的变量值。在这种情况下,还必须在安全程序验收期间,通过相应地检查用于创建变量值的算法来检查是否始终具有唯一性。如果在安全程序启动期间无法确保F通信 ID 唯一,由于它仅在安全程序启动后指定,必须确保 DP_DP_ID 输入在此阶段的值为“0”。 对于冗余S7-1500HF 系统,会针对 DP_DP_ID 将冗余 S7-1500HF 系统的两个 F-CPU视为一个F-CPU。这样可以确保(从故障安全角度出发)仅当信号状态保持的时间不小于分配的监视时间时,才会采集要传送的信号状态并传送给接收方。(S018)有关计算监视时间的信息,请参见监视和响应时间安全相关的 IO 控制器与 IO 设备通信 - 数据传送的限值数据传送的限值如果待传送的数据量大于相关SENDDP/RCVDP 指令的容量,则可使用SENDDP/RCVDP 指令。为此,需要组态一个传送连接。请注意,智能设备和IO 控制器间Zui多可传送 1440 个字节的输入数据或传送 1440个字节的输出数据。下表列出了安全相关的通信连接中所分配的输出数据量和输入数据量:安全相关的通信通信连接 分配的输入和输出数据在 IO控制器中 在智能设备中输出数据 输入数据 输出数据 输入数据IO 控制器与智能设备发送:从智能设备 1 发送到IO 控制器6 个字节12 个字节 12 个字节 6 个字节接收:智能设备 1 接收来自IO 控制器的数据个字节智能设备与 IO控制器间进行数据传送时,需考虑所有额外组态的安全相关通信连接和标准通信连接(F-CD 和 CD类型的传输区域)的输入/输出数据传送的Zui大限值均为 1440个字节。由于系统会在内部进行数据分配,会很快达到Zui大限值。达到数据限值后,系统将显示一条相应的错误消息。
安全相关的主站与智能从站通信组态安全相关的主站与智能从站通信简介DP 主站上 F-CPU的安全程序和一个或多个智能从站上 F-CPU 的安全程序间,通过主站与智能从站连接 (F-MS)进行安全相关通信,与标准系统中的相同。进行主站与智能从站通信时,无需使用 DP/DP 耦合器。组态传输区域对于两个 F-CPU间的安全相关通信连接,必须在硬件与网络编辑器中组态传输区域。下图显示了两个 F-CPU如何能发送和接收数据(双向通信)。在创建传输区域时将为其分配一个标签,以将该传输区域标识为通信关系。例如,“FMS_PLC_2-PLC_1_1”表示DP 主站 F-CPU 1 和智能从站 F-CPU 2 间的第一个 F-MS 连接。在创建传输区域时,将在 DP 主站的 F-CPU中以及智能从站的 F-CPU 中创建具有传输区域名称的系统常量。该系统常量包含相应 F-CPU的传输区域的硬件标识符。在安全程序中,可将传输区域的硬件标识符(默认变量表中的系统常量)以符号形式分配给 SENDDP 和 RCVDP指令的 LADDR 输入。组态的操作步骤安全相关的主站与智能从站通信的组态过程与标准系统中的相同。请按以下步骤操作:1. 将两个F-CPU 从“硬件目录”(Hardware catalog) 任务卡插入到项目中。2. 如果将作为 DP 主站的 F-CPU(F-CPU 1) 中不带集成的 PROFIBUS DP 接口,则需插入一个PROFIBUS-CM。3. 在将操作为智能从站的F-CPU (F-CPU 2) 设备视图中,插入相应的 CM DP 模块或 CP DP模块。4. 必要时,在 CM/CP DP模块的属性中启用“DP 从站”(DP-slave)(智能从站)模式。5. 向 F-CPU 1 的 DP 接口分配 CM/CP 的 DP接口。6. 选择 F-CPU 2 或 CM 的 PROFIBUS 接口。在“传输区域”(Transfer areas) 中,创建一个FMS 连接(“F-MS”类型)将数据发送到 DP 主站 (←)。在表格中,F-MS 连接显示为黄色,还将显示智能从站和 DP主站中所分配的传输区域。系统还将为每个 F-MS 连接自动创建一个确认连接。(请参见“传输区域详细信息”)。7. 创建另一个F-MS 连接,从 DP 主站接收数据。8. 在刚创建的传送区域中,单击箭头符号,将传送方向更改为从 DP 主站接收数据 。
通过 SENDDP 和 RCVDP进行安全相关的主站与智能从站通信通过 SENDDP 和 RCVDP 指令进行通信 在 DP 主站与智能从站的 F-CPU之间进行安全相关的通信时,分别使用 SENDDP 和RCVDP指令进行发送和接收。通过这两条指令,可采用故障安全的方式传送数量固定且数据类型为 BOOL 或 INT(DINT可供选择的)的故障安全数据。这些指令位于“通信”(Communication) 下的“指令”(Instructions)任务卡中。RCVDP 指令必须在主安全块开始处调用。SENDDP 指令必须在主安全块结束处调用。也可以在单独的 F-FB/F-FC中调用 RCVDP 和 SENDDP 指令,这些指令必须在主安全块的开始或结束处调用。请注意,只有在相应 F 运行组执行结束时调用SENDDP 之后,系统才会发送这些信号。有关 SENDDP 和 RCVDP 指令的详细说明,请参见 SENDDP 和RCVDP:通过 PROFIBUSDP/PROFINET IO 发送和接收数据 (STEP 7 Safety V18)。编程安全相关的主站与智能从站通信要求必须组态传输区域。编程步骤安全相关的主站与智能从站通信的编程步骤与安全相关的主站与主站通信的编程步骤相同(请参见安全相关的主站与主站通信(页 283))。下表列出了为 SENDDP/RCVDP 指令的 LADDR 输入所分配的传输区域 HW 标识符。指令 硬件标识符DP主站中的 SENDDP DP 主站中相应传输区域的硬件标识符DP 主站中的 RCVDP DP主站中相应传输区域的硬件标识符智能从站中的 SENDDP 智能从站中传输区域的硬件标识符智能从站中的 RCVDP智能从站中传输区域的硬件标识符下图举例说明了如何为 4 个安全相关主站与智能从站的通信关系指定 SENDDP 和 RCVDP指令输入的F 通信 ID。可自由选择相应 F 通信 ID 的值(输入 DP_DP_ID**;数据类型:INT);但在网络范围*和 CPU范围内,该值对于所有安全相关的通信连接必须始终唯一。在进行安全程序验收时,必须在安全摘要中检查该值的唯一性。在调用指令时,必须为DP_DP_ID 和 LADDR 输入指定常量值***。在安全程序中,不允许对相关背景 DB 中的 DP_DP_ID 和 LADDR进行直接写入访问!(S016)* 网络由一个或多个子网组成。“网络范围”表示超出子网边界。在 PROFIBUS 中,网络包含可通过PROFIBUS DP 进行访问的所有节点。在 PROFINET IO中,网络包含可通过RT_Class_1/2/3(Ethernet/WLAN/Bluetooth,第 2层)和(如果适用)RT_Class_UDP(IP,第 3 层)访问的所有节点。** S7-1200/1500:自 SENDDP 和RCVDP 指令的版本 V3.0 起,在 DP_DP_ID 输入 F 通信ID 为“0”不会建立连接。***S7-1200/1500:自 SENDDP 和 RCVDP 指令的版本 V3.0 起,也可以为 DP_DP_ID 输入提供全局F-DB中的变量值。在这种情况下,还必须在安全程序验收期间,通过相应地检查用于创建变量值的算法来检查是否始终具有唯一性。如果在安全程序启动期间无法确保F通信 ID 唯一,由于它仅在安全程序启动后指定,必须确保 DP_DP_ID输入在此阶段的值为“0”。警告这样可以确保(从故障安全角度出发)仅当信号状态保持的时间不小于分配的监视时间时,才会采集要传送的信号状态并传送给接收方。有关计算监视时间的信息,请参见监视和响应时间。