全国服务热线 15801815554

SIEMENS西门子 WinCC Web浏览器 6AV6 362-1AJ00-0BB0

更新时间:2024-07-02 08:00:00
价格:请来电询价
西门子:代理经销商
WinCC软件:全新原装 假一罚十
德国:现货 实体经营
联系电话:15801815554
联系手机:15801815554
联系人:邓经理
让卖家联系我
详细介绍



             MB_SERVER: 作为 Modbus TCP 服务器通过 PROFINET 通信 (S7-1200) MB_SERVER 介绍 (S7-1200) 说明 “MB_SERVER”指令作为 Modbus TCP 服务器通过 S7-1200 CPU 的 PROFINET 连接进行通信。 使用该指令,无需其它任何硬件模块。“MB_SERVER”指令将处理 Modbus TCP 客户端的连接 请求、接收 Modbus 功能的请求并发送响应。 注意 安全提示 请注意,网络的每个客户端都会被授予对过程映像输入和输出以及数据块或 Modbus 保持 性寄存器定义的位存储区的读写访问权。 同时还提供有选项,用于限制 IP 地址访问,以防未授权读写操作。但请注意,共享地址也 可能会受到未授权访问。参数 STATUS(参数错误) 除了下表列出的错误 还可能发生由通信指令(“TCON”、“TDISCON”、“TSEND”和“TRCV”)引 起的“MB_CLIENT”指令错误。 STATUS* (W#16#) 说明 80BB ACTIVE_EST 参数值无效(建立此类连接的标识符,请参见“T_CON_PARAM”): • 只允许对服务器建立被动连接 (ACTIVE_EST = FALSE)。 • 只允许对客户端建立主动连接 (ACTIVE_EST = TRUE)。 8188 参数 MB_MODE 的值无效。 8189 MB_DATA_ADDR 参数的数据地址无效。 818A MB_DATA_LEN 参数中的数据长度无效。 818B 参数 MB_DATA_PTR 中的指针无效。请检查 MB_DATA_ADDR (页 6253) 和 MB_DATA_LEN 参数的 值。 818C • MB_DATA_PTR (页 6249) 指针将引用一个已优化的数据块。既可以使用一个具有标准访问权 限的数据块,也可以使用一个存储区。 • 参数 BLOCKED_PROC_TIMEOUT 超时(请参见指令的静态变量)。已超出 55 秒的限制。 8200 • 该端口正在处理另一个 Modbus 请求。 • MB_CLIENT 具有相同连接参数的另一实例正在处理现有 Modbus 请求。 * 在程序编辑器中,错误代码可显示为整数或十六进制值。有关切换显示格式的信息,请参见“另请参见”。

              本地/远程 错误 “MB_SERVER”应 答中的错误代码 (B#16#) 说明 8385 本地 - • 诊断代码不支持。 • 接收到的子功能代码与Zui初由客户端发送的不同(功能 8)。 远程 03 诊断代码不支持 8386 本地 - 接收到的功能代码与Zui初发送的代码不一致。 8387 本地 - • 指定的连接 ID 与之前请求的不同。“MB_CLIENT”指令的各背景 数据块,只能使用一个连接 ID。 • 服务器收到的 Modbus TCP 协议 ID 不为“0”时,也会输出错误代 码。 8388 本地 - Modbus 服务器发送的数据长度与所请求的不同。只有使用 Modbus 功能 15 或 16 时才会发生这种错误。 * 在程序编辑器中,状态代码可显示为整数或十六进制值。有关切换显示格式的信息,请参见“另请参见”。说明 内部使用的通信指令的错误代码。 对于“MB_CLIENT”指令,除了会发生表中列出的错误外,还会发生由该指令所使用的通信指令 (“TCON”、“TDISCON”、“TSEND”和“TRCV”)所引起的错误。 错误代码通过“MB_CLIENT”指令的背景数据块来指定。相应指令的错误代码会显示在 Static 部 分中的 STATUS 下。 错误代码的含义在相应通信指令文档中提供。下表列出了“MB_SERVER”指令的参数: 参数 声明 数据类型 说明 DISCONNECT Input BOOL 指令“MB_SERVER”建立与一个伙伴模块的被动连接,即服务器会 对来自每个请求 IP 地址的 TCP 连接请求进行响应。接受一个连接 请求后,可以使用该参数进行控制: • 0:在无通信连接时建立被动连接。 • 1:终止连接初始化。如果已置位该输入,那么不会执行其它 操作。成功终止连接后,STATUS 参数将输出值 7003。 CONNECT_ID Input UINT 该参数将唯一确定 CPU 中的连接。指令“MB_CLIENT (页 6249)” 和“MB_SERVER”的每个单独实例都必须有一个唯一的 CONNECT_ID 参数。 IP_PORT Input UINT 起始值 = 502。该 IP 端口号定义了 Modbus 客户端连接请求中待 监视的 IP 端口。 这些 TCP 端口号不能用于“MB_SERVER”指令的被动连接:20、 21、25、80、102、123、5001、34962、34963 和 34964。 MB_HOLD_REG (页 6263) InOut VARIANT 指向“MB_SERVER”指令中 Modbus 保持性寄存器的指针。将具有 标准访问权限的全局数据块用作保持性寄存器。保持性寄存器包 含 Modbus 客户端可通过 Modbus 功能 3(读取)、6(写入) 和 16(读取)访问的值。 NDR Output BOOL “New Data Ready”: • 0:无新数据 • 1:从 Modbus 客户端写入的新数据 DR Output BOOL “Data Read”: • 0:未读取数据 • 1:从 Modbus 客户端读取的数据 ERROR Output BOOL 如果在调用“MB_SERVER”指令过程中出错,则将 ERROR 参数的输 出设置为 TRUE。有关错误原因的详细信息,将由 STATUS 参数指 定。 STATUS (页 6264) Output WORD 指令的错误代码。 有关有效数据类型的更多信息,请参见“有效数据类型概述。将 Modbus 地址映射到过程映像 “MB_SERVER”指令允许到达的 Modbus 功能(1、2、4、5 和 15)直接读取和写入访问 S7-1200 CPU 的过程映像输入和输出(使用数据类型 BOOL 和 WORD)。 对于功能代码 3、6 和 16 的数据传输,保持性寄存器的大小(MB_HOLD_REG 参数)必须 大于 1 个字节。下表列出了 Modbus 地址到 CPU 过程映像的映射。 Modbus 功能 S7-1200 代码 功能 数据区 地址空间 数据区 CPU 地址 01 读取:位 Output 0 至 8191 过程映像输出 Q0.0 至 02 读取:位 Input 0 至 8191 过程映像输入 I0.0 至 I1023.7 04 读取:WORD Input 0 至 1021 过程映像输入 IW0 至 IW1022 05 写入:位 Output 0 至 8191 过程映像输出 Q0.0 至 15 写入:位 Output 0 至 8191 过程映像输出 Q0.0 至 通过功能代码 3、6 和 16 将到达的 Modbus 报警写入 Modbus 保持性寄存器或从寄存器中读取 (可通过 MB_HOLD_REG 参数指定保持性寄存器)。 多个服务器连接 可以创建多个服务器连接。这样一个 CPU 可以同时建立与多个 Modbus TCP 客户端的连接。 Modbus TCP 服务器可以支持多个 TCP 连接,连接的Zui大数目取决于所使用的 CPU。 一个 CPU 的总连接数,包括 Modbus TCP 客户端和服务器的连接数,不能超过所支持的Zui大 连接数。 Modbus TCP 连接也可以由客户端和/或服务器连接共享。 连接服务器时,请记住以下规则: • 每个“MB_SERVER”连接都必须使用唯一的背景数据块。 • 每个“MB_SERVER”连接在创建时必须使用唯一的 IP 端口号。每个端口只支持一个连接。 • 每个“MB_SERVER”连接都必须使用唯一的连接 ID。 该指令的各背景数据块都必须使用各自相应的连接 ID。连接 ID 与背景数据块组合成对, 对每个连接,组合对都必须唯一。 • 对于每个连接,都必须单独调用“MB_SERVER”指令。Modbus 诊断功能 下表列出了 Modbus 诊断功能的描述。 代码 子功能 说明 08 0x0000 回送测试:“MB_SERVER”指令接收数据字并按原样返回 Modbus 主站。 08 0x000A 复位事件计数器:“MB_SERVER”指令用于复位 Modbus 功能 11 所使用的通信事件计 数器。 11 - 获取通信事件计数器:“MB_SERVER”指令使用一个通信的内部事件计数器,记录发送 到 Modbus 服务器上成功执行的读写请求数。 在功能 8、11 或进行广播请求时,事件计数器不会递增。这种情况同样适用于导致 通信错误的请求(例如,奇偶校验错误或 CRC 错误)。Modbus TCP 不适用于广播功 能,这是因为同一时间只能有一个客户端/服务器连接。 该指令的静态变量 下表列出了在程序中使用的“MB_SERVER”指令背景数据块的静态变量。可以写入 HR_Start_Offset 变量。可以读取其它变量来监视 Modbus 状态。 变量 数据类型 起始值 说明 HR_Start_Offset WORD 0 指定 Modbus 保持性寄存器的起始地址。 Re WORD 0 服务器接收的请求总数。 Server_Message_ Count WORD 0 相关服务器接收的报警的总数。 Xmt_Rcv_Count WORD 0 在发生错误时统计传输数的计数器。接收到无效 Modbus 报警 时,该计数器也会递增。 Exception_Count WORD 0 专门统计 Modbus 发生意外错误数量的计数器。 Success_Count WORD 0 检测传输协议中无错误请求数量的计数器。 Connected BOOL 0 指示是否已建立与所指定客户端的连接:1 = 已连接,0 = 未连接。 示例:通过静态变量 HR_Start_Offset 进行寻址 Modbus 保持性寄存器的起始地址为 0(MB_CLIENT 为 40.001)。在保持性寄存器中,这 些地址与 CPU 存储区的地址区域相对应。也可通过定义 HR_Start_Offset 变量,将 Modbus 保持性寄存器的起始地址设置为不为 0。

联系方式

  • 地址:上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201100
  • 电话:15801815554
  • 联系人:邓经理
  • 手机:15801815554
  • 微信:15801815554
  • QQ:190755061