SIEMENS西门子 3VA1 IEC断路器 3VA1180-3ED26-0AA0
通过 Modbus 进行通信常规信息 当前过程值和参数可通过支持 Modbus RTU 的 RS485 接口或支持 Modbus TCP/IP 的以太网接口进行交换。可以使用这两种接口进行通信。 说明 另请注意安全信息。 以下章节介绍处理通信的规范。可以执行以下功能: ● 从电子称重系统导出参数 ● 写入参数 ● 导出当前过程值 ● 监视消息Modbus TCP/IP 与 SIWAREX WP522 连接的特点 有两种通过 Modbus TCP/IP 与两条秤通道进行通信的方法: ● 通过端口 502 与两条称重通道通信。称重通道 B 的数据记录表中的寄存器编号可按偏移值 5000 递增。 ● 通过可自由组态端口实现两条通道的通信。记录表中所列的寄存器编号适用于两条称 重通道。 如果在一个网络中有多个 SIWAREX 模块,则需要为 SIWAREX 模块分配新的 IP 地址。 ● 用于 SIWAREX WP521 的 Modbus TCP/IP:端口:502 ● 用于 SIWAREX WP521/WP522 的 Modbus TCP/IP:端口:502 或 ● SIWAREX WP522 通道 A 的 Modbus TCP/IP:可组态端口,通道 B:可组态端口如图所示,命令邮箱由一个命令代码 (Int) 和四个位 (Bool) 构成。在“i_CMD_CODE”参数中输入所需命令代码并设置相应的命令触发指令“bo_CMD_ TRIGGER”,即可完成命令设置。状态位“bo_CMD_InProgress”(命令正在处理)、“bo_CMD_FinishedOk”(命令已完成,未发现错误)和“bo_CMD_FinishedError”(命令已被 拒绝或已完成,但出现错误)均可在用户程序中评估。 此外,这三个命令邮箱将根据优先级进行管理和处理。CMD1 的优先级Zui高,而 CMD3 的优先级Zui低。如果用户程序同时触发了这三个命令邮箱,则功能块将首先处理 CMD 1,其次是 CMD2,Zui后才是 CMD3。如果邮箱 2 或 1 中间发送某条命令,也会中断命令邮箱 3 的循环触发来处理相应的命令。 说明 如果循环触发 CMD1 命令邮箱,则邮箱 2 或 3 无法发送命令。 有关全部现有命令代码的汇总信息,请参见 →命令列表 (页 155)部分。 下列等式用于生成相应命令代码,适用于将 SIWAREX 中的数据记录读入数据块: 命令代码 = 2000 + X (X = 所需数据记录的编号) 下列等式用于生成相应命令代码,适用于将数据块中的数据记录写回 SIWAREX: 命令代码 = 4000 + X (X = 所需数据记录的编号)示例 以下示例阐述了命令邮箱和数据记录的相关操作: “校准砝码 1”的值将由 CPU 设置为 12.5。由于“校准砝码 1”是数据记录 3 的一个参数(请参见部分 → 秤参数和功能 (页 71)),因此首先应激活维修模式。可以使用指令代码“1”执行此操作(请参见部分 → 命令列表 (页 155))。 因此,必须为变量“i_CMD_CODE”分配值“1”,并将相关的“bo_CMD_TRIGGER”设置为 TRUE。随后,该模块直接进入维修模式(DIAG LED 指示灯呈绿色闪烁): i_CMD_CODE = 1 bo_CMD_TRIGGER = TRUE 由于只可以读取或写入完整的数据记录,因此,建议立刻将数据记录 3 读入 CPU。可以使用命令代码 2003 执行此操作(请参见 → 命令列表 (页 155)部分): i_CMD_CODE = 2003 bo_CMD_TRIGGER = TRUE 现在,数据记录 3 中的所有当前数据都存储在数据块中。然后,根据需要将校准砝码值设置为 12.5:CALIB_WEIGHT_1 = 12.5 现在,必须将已更改的数据记录 3 再次写入 SIWAREX。可以使用命令代码 4003 执行此操作(请参见 → 命令列表 (页 155)部分): i_CMD_CODE = 4003 bo_CMD_TRIGGER = TRUE 此时,新校准砝码储存在 SIWAREX 中并可以使用。随后应使用命令“2”再次关闭模块的维修模式。 所有数据记录的读取和写入数据记录步骤均相同。 参数 CMD_A 和 CMD_B 示例项目“Ready-to-use WP52x ST”使用背景数据块中的 CMD_A 和 CMD_B 参数。这些参数与 OB35 中的指令(请参见示例项目)搭配使用,可通过优先级较低的命令邮箱 3 发送命令。示例 数据记录 30 和 31 中的数据同时在 HMI 画面中显示。因此,命令 2030(读取数据记录 30)和 2031(读取数据记录 31)必须从模块中交替读取。这一过程通过调用 HMI 画面时在 CMD_A 中输入值 2030 以及在 CMD_B 中输入值 2031 实现。在 OB35 中编程的指令随后会通过命令邮箱“CMD_3”交替触发命令 2030 和 2031,此类命令的优先级较低,因此可随时被通过命令邮箱“CMD_1”或“CMD_2”发送的 命令中断。如果 CMD_A 或 CMD_B 中存在值 0,则仅触发另一命令,或不触发任何命令。功能块的 I/O 接口 无需特地读取数据记录,即可在控制器的数据块中循环使用以下秤参数;或者无需发送数 据记录,即可将以下秤参数发送到秤:功能块的错误代码 FB 的状态与错误。 使用功能块时的状态/错误 错误位 错误说明 bo_ApplIDError 地址模块与功能块不匹配 bo_ApplIDDRError 数据记录与插入的模块不匹配 bo_SFBError 传输数据记录时发生运行错误 bo_RdPerError 读取 I/O 数据失败 bo_LifeBitError SIWAREX 不再响应 bo_StartUpError 尽管 StartUp 仍为 TRUE,但仍旧发送了命令 bo_WrongFW 数据记录版本与固件版本不匹配 bo_InvalidCMD 已发送无效命令代码 bo_DataOperationError 发生同步数据操作错误 bo_StartUp 运行模块的启动同步 bo_ExtPSError 检查前端连接器的 24 V 电源。如果执行功能块时发生故障,则显示的变量与该模块中的实际状态不符。
数据传输原理 此说明对于通过 Modbus RTU 和 Modbus TCP/IP 进行的通信有效。 标准化的 MODBUS 协议用于通信。所连接的通信伙伴始终具有主站功能,而 SIWAREX 模块始终为从站。 数据传输双向进行。所连接的模块中始终具有主站功能,可以“控制”与相应请求(对相应 的 SIWAREX 模块地址)的通信。SIWAREX 模块始终为从站,如果地址匹配且具有响应帧,可对主站的请求进行响应。 每个 Modbus 伙伴都有自己的地址。SIWAREX 模块具有默认地址 1。此地址可作为参数进行更改(例如在 SIWATOOL 中)。该地址在使用以太网接口时没有意义,因为此连接基于 IP 地址。 如果使用 RS485 接口,则以下字符帧有效:如果 SIWAREX 模块(从站)对主站的请求进行了应答,则 SIWAREX 模块会发送一个有错误/无错误的响应帧。如果接收的响应无错误消息,响应帧会包含接 收到的功能代码;如果有错误消息,则功能代码的Zui高位将置位。该情况与 Modbus标准相对应。之后,主站会请求数据记录 DR 32,用于检查存在哪些与过程相关的数据或操作员错误。数据记录原理 寄存器分配是数据记录的一个映像。 秤参数和功能 (页 71)一章介绍了数据记录、变量和功能,包括寄存器地址。 数据记录始终作为完整的数据包进行似然性检查。 为此,必须按照特定的步骤更改各个参数。命令邮箱 为了执行命令,并在 Modbus 缓冲存储器中读取和写入数据记录,必须发送相应的命令代码。 有关详细信息,请参见章节 命令列表 (页 155)。 下表列出了用于处理这些命令的 Modbus 寄存器:读取寄存器 读取寄存器的方法取决于这些寄存器是属于可写入数据记录(DR 3 到 DR 29),还是只能作为当前值(DR 30 到 DR 34)进行读取。 如果要从数据记录 DR 3 到 DR 29 读取寄存器,必须首先将这些寄存器作为完整的数据记录导出到内部输出缓冲区。 有关各个参数的全部 Modbus 寄存器的信息,请参见章节秤参数和功能 (页 71)。 示例 从数据记录 3 (DR 3) 读取参数。 ● 首先,将 2003(2000 加上数据记录编号 = 读取数据记录)写入寄存器 CMD3_CODE。 ● 为 CMD3_TRIGGER 写入“1”。DR3 随即在 Modbus 缓冲区中更新。 ● 现在可以使用相应变量读取一个或多个寄存器。确保此时读取的寄存器数据具有一致 性。 有关所有命令编号的信息,请参见章节 → 命令列表 (页 155)。示例 从 DR 30 中读出当前测量值。 ⇒ 由于寄存器的内容会在 SIWAREX 模块中以指定的 100 Hz 测量速度自动刷新,并且始终保持Zui新状态,因此可直接对寄存器发出请求。写入寄存器 如果要从数据记录 DR 3 到 DR 29 写入寄存器,必须首先使用合适的命令将相应的数据记录导出到内部输出缓冲区。然后再 写入单个寄存器。随后,必须使用合适的命令在内部写入完整的数据记录。此过程中需执 行完整数据记录的似然性检查。 示例 将 DR 3 中的参数写入。 ● 首先,通过 2003(2000 加上数据记录编号)写入寄存器 CMD3_CODE。 ● 为 CMD3_TRIGGER 写入“1”。DR 3 随即在 Modbus 存储器中更新。 ● 现在可以使用相应变量写入或更改一个或多个寄存器。如要将已写入/更改的寄存器传 送到秤中,必须写入完整的数据记录: ● 首先,将 4003(4000 加上数据记录编号 = 写入数据记录)写入寄存器 CMD3_CODE。 ● 为 CMD3_TRIGGER 写入“1”。 ● 随后该数据记录将传送至 SIWAREX 模块中的过程存储器。此过程中将对所有含数据记录的寄存器进行似然性检查。 如果似然性检查失败,则不能写入完整的数据记录,系统会向用户输出错误消息(从数据/操作员错误区域发出)。 有关所有命令编号的信息,请参见章节 → 命令列表 (页 155)。