DOCA0091ZH-08

命令示例

分闸断路器

下表详述了在主站远程设备中向 BSCM 断路器状态控制模块发送远程命令以使断路器分闸的步骤。命令本身没有参数。

步骤

操作

1

载入包含 20 个寄存器的缓冲器,第 0 个字至第 19 个字。

  • 将数值 904 载入到第 0 个字,代码对应分闸断路器的命令。

  • 将数值 10 载入到第 1 个字,亦即输入参数的长度。该命令本身没有参数,10 是固定部分的长度。

  • 将数值 4353 (0x1101) 载入第 2 个字,亦即目的地。对该命令来说,此值是一个常数。它在命令说明中给出。

  • 将数值 1 载入到第 3 个字。

  • 将用于管理员和操作员密码的 4 个 ASCII 字节载入到第 4 个字和第 5 个字。假设这个密码是“ABcd”,那么将 16706 (0x4142) 载入到第 4 个字,并将 25444 (0x6364) 载入到第 5 个字。

  • 将数值 0 载入到第 6 个字和第 16 个字。

  • 将数值 8019 载入到第 17 个字,它是一个命令设置常数。

  • 将数值 8020 载入到第 18 个字,它是一个命令设置常数。

  • 将数值 8021 载入到第 19 个字,它是一个命令设置常数。

2

从寄存器 8000 开始,使用一个 20 个寄存器的写入请求(Modbus 功能 16)对这个缓冲器执行写操作。

3

读取命令状态寄存器 8021,如果其内容显示命令正在执行中 (0x0003),则继续等待。如果在超时 (1 s) 后命令状态没有变化,请检查 Modbus 连接。

4

读取命令状态寄存器 8020:

  • 如果寄存器 8020 的内容是在步骤 2 输入至寄存器 8000 中的命令代码,则转至下一步。

  • 如果寄存器 8020 的内容不是在步骤 2 输入至寄存器 8000 中的命令代码,则从步骤 1 重新开始操作。

5

读寄存器 8021 中最低有效位的错误代码:

  • 如果最低有效位 ≠ 0,那么表示命令失败。检查错误代码,以便找到错误原因(参见下节)。例如,如果寄存器 8021 返回 4609 (0x1201),则错误代码为 1,这表示密码不正确(用户权限不足)。

  • 如果最低有效位 = 0,那么表示执行了命令,没有出现错误。

复位电量测量功能

下表详细介绍了通过向 MicroLogic 脱扣单元发送命令来复位最小/最大电量测量值的步骤。命令本身有一个参数。

步骤

操作

1

载入包含 20 个寄存器的缓冲器,第 0 个字至第 19 个字。

  • 将数值 46728 载入到第 0 个字,代码对应复位最小/最大值命令。

  • 将数值 12 载入到第 1 个字,亦即输入参数的长度。该命令本身有一个参数,在 10 字节固定长度的基础上增加 2 字节。

  • 将数值 5121 (0x1401) 载入第 2 个字,亦即目的地。对该命令来说,此值是一个常数。它在命令说明中给出。

  • 将数值 1 载入到第 3 个字。

  • 将用于管理员和操作员密码的 4 个 ASCII 字节载入到第 4 个字和第 5 个字。假设密码是“Pw57”,那么将 20599 (0x5077) 载入第 4 个字,并将 13623 (0x3537) 载入第 5 个字。

  • 将数值 512(位 9 设置为 1)载入第 6 个字。此值请求复位电量最小/最大测量值。

  • 将数值 0 载入到第 7 个字到第 16 个字。

  • 将数值 8019 载入到第 17 个字,它是一个命令设置常数。

  • 将数值 8020 载入到第 18 个字,它是一个命令设置常数。

  • 将数值 8021 载入到第 19 个字,它是一个命令设置常数。

2

从寄存器 8000 开始,使用一个 20 个寄存器的写入请求(Modbus 功能 16)对这个缓冲器执行写操作。

3

读取命令状态寄存器 8021,如果其内容显示命令正在执行中 (0x0003),则继续等待。如果在超时 (1 s) 后命令状态没有变化,请检查 Modbus 连接。

4

读取命令状态寄存器 8020:

  • 如果寄存器 8020 的内容是在步骤 2 输入至寄存器 8000 中的命令代码,则转至下一步。

  • 如果寄存器 8020 的内容不是在步骤 2 输入至寄存器 8000 中的命令代码,则从步骤 1 重新开始操作。

5

读寄存器 8021 中最低有效位的错误代码:

  • 如果最低有效位 ≠ 0,那么表示命令失败。检查错误代码,以便找到错误原因(参见下节)。例如,如果寄存器 8021 返回 4609 (0x1201),则错误代码为 1,这表示密码不正确(用户权限不足)。

  • 如果最低有效位 = 0,那么表示执行了命令,没有出现错误。

读取日期和时间

下表详细介绍了向 IFM 接口发送日期和时间读取命令的步骤。命令本身没有参数。日期和时间被返回到缓冲区中。

步骤

操作

1

载入包含 20 个寄存器的缓冲器,第 0 个字至第 19 个字。

  • 将数值 768 载入到第 0 个字,代码对应读日期/时间命令。

  • 将数值 10 载入到第 1 个字,亦即输入参数的长度。该命令本身没有参数,长度为固定部分的长度 (10)。

  • 将数值 768 (0x0300) 载入第 2 个字,亦即目的地。对该命令来说,此值是一个常数。它在命令说明中给出。

    注: 将 IFE 接口的数值 8704 (0x2200) 载入第 2 个字,亦即目的地。
  • 将数值 0 载入到第 3 个字。

  • 将值 0x0000(无需密码)载入到第 4 个字和第 5 个字。

  • 将数值 0 载入到第 6 个字和第 16 个字。

  • 将数值 8019 载入到第 17 个字,它是一个命令设置常数。

  • 将数值 8020 载入到第 18 个字,它是一个命令设置常数。

  • 将数值 8021 载入到第 19 个字,它是一个命令设置常数。

2

从寄存器 8000 开始,使用一个 20 个寄存器的写入请求(Modbus 功能 16)对这个缓冲器执行写操作。

3

读取命令状态寄存器 8021,如果其内容显示命令正在执行中 (0x0003),则继续等待。如果在超时 (1 s) 后命令状态没有变化,请检查 Modbus 连接。

4

读取命令状态寄存器 8020:

  • 如果寄存器 8020 的内容是在步骤 2 输入至寄存器 8000 中的命令代码,则转至下一步。

  • 如果寄存器 8020 的内容不是在步骤 2 输入至寄存器 8000 中的命令代码,则从步骤 1 重新开始操作。

5

读寄存器 8021 中最低有效位的错误代码:

  • 如果最低有效位 ≠ 0,那么表示命令失败。检查错误代码,以便找到错误原因(参见下节)。例如,如果寄存器 8021 返回 783 (0x030F),那么错误代码为 15 (0x0F),表示输入参数超出了范围(参数过多)。

  • 如果最低有效位 = 0,那么表示执行了命令,没有出现错误。

6

如果没有错误,读取寄存器 8022 中的数据缓冲器长度。对这个命令来说,它的值必须为 8。

7

在数据缓冲器中:

  • 寄存器 8023 在最高有效位保存月份,在最低有效位保存日期。

  • 寄存器 8024 在最高有效位保存年份相对值(加上 2000 得到年份),在最低有效位保存小时。

  • 寄存器 8025 在最高有效位保存分钟,在最低有效位保存秒。

  • 寄存器 8026 保存毫秒。