运行和冗余(S7-1200, S7-1500) 说明 通信节点可设计为独立式或者冗余式。如果其中一个伙伴采用独立式设计,可将其称为单侧冗余。如果两个伙伴均为冗余式设计,可将其称为双侧冗余。 客户端和服务器的端口号 Modbus 客户端使用的端口号从 2000开始。通常通过端口号 502 对 Modbus 服务器进行寻 址。 单侧冗余 说明必须为通信伙伴之间的每个连接组态一个连接。SIMATIC S7 的连接点称为 0 和 1;通信伙伴 的连接点称为 A 和 B。R-CPU 或 H-CPU 1 是指连接点 0,R-CPU 或 H-CPU 2 为连接点 1。 组态 如果 S7 采用冗余设计,则为S7 连接点 0 到链接伙伴的节点 A 创建一个连接,为为 S7 连接 点 1 到链接伙伴的节点 A 创建一个连接。 • 从 S7连接点 0 到伙伴/节点 A 的连接 => 连接 0A • 从 S7 连接点 1 到伙伴/节点 A 的连接 => 连接1A 下图显示的是连接名称。
如果 S7采用独立式设计且链接伙伴采用冗余设计,则为 S7 连接点 0 到链接伙伴的节点 A 创 建一个连接,为 S7 连接点 0到链接伙伴的节点 B 创建一个连接。 • 从 S7 连接点 0 到伙伴/节点 A 的连接 => 连接 0A • 从 S7 连接点0 到伙伴/节点 B 的连接 => 连接 0B 下图显示的是连接名称。双侧冗余 说明必须为通信伙伴之间的每个连接组态一个连接。SIMATIC S7 的连接点称为 0 和 1;通信伙伴 的连接点称为 A 和 B。R-CPU 或 H-CPU 1 是指连接点 0,R-CPU 或 H-CPU 2 为连接点 1。 组态 采用双侧冗余时,从 S7的连接点 0 和连接点 1 到链接伙伴的节点 A 和 B 需要分别创建两个 连接。 • 从 S7 连接点 0 到伙伴/节点 A 的连接=> 连接 0A • 从 S7 连接点 1 到伙伴/节点 A 的连接 => 连接 1A • 从 S7 连接点 0到伙伴/节点 B 的连接 => 连接 0B • 从 S7 连接点 1 到伙伴/节点 B 的连接 => 连接 1B下图显示的是连接名称。通过一个连接发送帧 通过一个具有 USE_ALL_CONN = FALSE 设置的连接(当前有效)发送MODBUS 帧。发生超时 (服务器无响应)或者连接故障时,会尝试通过其它(Zui多 4 个)组态连接发送该帧。顺序为 0A、1A、0B和 1B。如果已通过一个连接成功发送帧,则将此连接标记为“有效”,其它帧通信也通过此连接进行。有效连接发生连接故障时,会尝试通过所有组态连接发送帧。 如果所有发送尝试均失败,ERROR 和STATUS_x 会相应地置位。 如果接收到响应帧,会执行真实性检查。如果检查成功,将执行所需操作,且成功执行作业; 输出 DONE置位。如果在检查期间检测到错误,则作业正常结束,将位 ERROR 置位,并在 STATUS_x中显示错误编号。在这种情况下,不会再尝试通过下一个组态连接发送帧。只有 在检测到连接故障或者未接收到响应时,才会切换到其它组态连接。通过所有连接发送帧 通过具有 USE_ALL_CONN = TRUE 设置的所有组态的已建立连接发送 MODBUS 帧。当其中一个连接上接收到响应帧后,将执行有效性检查。如果检查成功,将执行所需操作。如果至 少有一个连接上接收到有效响应帧,则将输出 DONE置位。 冗余输出 RED_ERR_S7、RED_ERR_DEV 和 TOT_COM_ERR 说明 冗余位RED_ERR_S7、RED_ERR_DEV 和 TOT_COM_ERR 会根据状态输出的状态置位。参数分配 (S7-1200,S7-1500) 说明 指令 "MB_RED_CLIENT" V1.0 和 V1.1 可用于 S7-1200 以及 S7-1500。S7-1200 通过 CPU 或 CM/CP 的本地接口建立连接。使用 TCON_IP_V4 结构组态并建立连接。 S7-1500通过 CPU 或 CM/CP 的本地接口建立连接。可以通过 TCON_IP_V4 结构和 TCON_Configured结构组态连接。 指令 "MB_RED_CLIENT" V1.1 可用于 S7-1500R 和 S7-1500H。 S7-1500R 和S7-1500H 通过 CPU 或 CM/CP 的本地接口建立连接。使用 TCON_IP_V4 结构组态并建立连接。"MB_RED_CLIENT" 的组态 通过指令“MB_RED_CLIENT”的组态对话框进行以下设置: • 连接 0A、1A、0B和 1B 的连接参数(冗余组态请参见 运行和冗余 (页 6306)) • 内部参数(可选)可以使用指令,或通过工艺对象打开组态对话框。 说明 使用组态对话框仅当通过单背景数据块调用组态对话框时,才能使用该对话框。如果存在多实例,必须手动 设置参数。变量 起始值 说明 组态连接Interface ID 64 所用 PN 接口的硬件标识符 Connection ID 16#000 0 所用连接的连接 ID这些连接 ID 在整个 CPU 范围内必须唯一。变量 起始值 说明 Local port 0客户端的本地端口号。默认情况下不为客户端输入端口号。 Remote IP 0.0.0.0 服务器的远程 IP 地址 Remoteport 502 服务器的远程端口号 Modbus/TCP 服务器的默认端口为 502。 组态连接 Interface ID 64所用 PN 接口的硬件标识符 Connection ID 16#000 0 所用连接的连接 ID 在网络视图中对这些连接进行组态。变量数据类型 起始 值 说明 Blocked Proc Time REAL 3.0 如果有一个被阻止的 Modbus实例,则为复位静态变量 ACTIVE 前的等待时间 (单位为秒)。例如,如果输出了一个客户端请求,在该请求完全执行之前中止执行客户端功能,则可能发生这种情况。等待时间必须介于 0.5 s 到 55 s 之间。 Receive timeout REAL2.0 “MB_RED_CLIENT”指令等待服务器响应的时间间隔(单位为秒)。必须介于 0.5 s 到 55 s 之间。变量数据类型 起始 值 说明 MB_Unit_ID BYTE 255 Modbus 设备检测: Modbus TCP 服务器使用其 IP地址寻址。寻址 Modbus TCP 时不会使用 MB_UNIT_ID 参数。 MB_UNIT_ID 参数对应于 ModbusRTU 协议的从站地址域。如果 Modbus/TCP 服务器用作 Modbus RTU 协议的网关,则可以使用 MB_UNIT_ID标识串行网 络中的从站设备。这种情况下,MB_UNIT_ID 参数会将请求转发给正确的 Modbus RTU 从站地址。 请注意,某些Modbus/TCP 设备可能要求 MB_UNIT_ID 参数在有限的值范围内 进行初始化。 Retries WORD 3在指令“MB_RED_CLIENT”返回错误 W#16#80C8 之前,该指令尝试的发送次 数。 说明 变量MB_Transaction_ID 如果 Modbus TCP 服务器应答中的事务 ID 与“MB_RED_CLIENT”作业中的事务ID 不一致,则 指令“MB_RED_CLIENT”将等待一段时间 (RCV_TIMEOUT * RETRIES),等待事务 ID正确的 Modbus TCP 服务器进行应答;到达该时间后,该指令将返回错误 W#16#80C8。 许可 (S7-1200,S7-1500) 必须在每个 CPU 上分别对“"MB_RED_CLIENT”指令进行授权,并且该指令需要付费。授权分 为两个步骤:• 读出 IDENT_CODE 并 • 输入注册密钥 REG_KEY。 说明 S7-1500R 和 S7-1500H 对于S7-R/H 站,仅 CPU1 需要获得许可。CPU1 在获得许可后无法更换。 说明 传送许可证/PLCSIM 不能在 CPU之间传送许可证。 不能使用 PLCSIM 对指令进行授权。