<?xml version="1.0" encoding="UTF-8"?>
<!--
   Modbus 从站 (Slave) 配置文件
   对外提供 Modbus TCP/RTU 服务，将 RTU 内部信号映射为 Modbus 数据区
-->
<Root>
    <!-- ============================================================
         从站参数
         mode:      "tcp" 或 "rtu"
         slave_id:  从站地址 (1~247)
         host:      TCP 模式监听地址 ("0.0.0.0" 表示所有接口)
         port:      TCP 模式监听端口 (默认 502)
         device:    RTU 模式串口设备
         baud:      RTU 模式波特率
         parity:    RTU 模式校验位 (N/E/O)
         data_bit:  RTU 模式数据位
         stop_bit:  RTU 模式停止位
         max_clients: TCP 最大并发客户端数
    ============================================================ -->
    <Para desc="从站参数" mode="tcp" slave_id="1" host="0.0.0.0" port="502"
          device="/dev/ttyS1" baud="9600" parity="N" data_bit="8" stop_bit="1"
          max_clients="4" />

    <!-- ============================================================
         信号映射表
         ============================================================
         将 RTU 内部数据中心的信号映射到 Modbus 数据区。

         no    — 信号序号
         type  — 数据类型: 2=bit(开关量), 4=uint16, 6=float32,
                  7=uint32, 13=string
         addr  — 寄存器/线圈地址 (0-based)
         link  — 关联的数据中心信号地址
         desc  — 中文描述

         Modbus 数据区说明:
           St  — 离散输入 (1X) / 线圈 (0X)    — 只读/读写 bit
           Mx  — 输入寄存器 (3X)               — 只读 16bit
           Co  — 线圈 (0X)                     — 可写 bit (外部主站控制)
           Ao  — 保持寄存器 (4X)               — 可读写 16bit
           Param — 保持寄存器 (4X) 定值区       — 可读写 16bit
    ============================================================ -->

    <!-- ========== 遥信 (St) — 离散输入区 (1X) ========== -->
    <St desc="遥信">
        <Signal no="0"  type="2" addr="0"  link="self_ptl.st.1"  desc="遥信01-开关分位" />
        <Signal no="1"  type="2" addr="1"  link="self_ptl.st.2"  desc="遥信02-开关合位" />
        <Signal no="2"  type="2" addr="2"  link="self_ptl.st.3"  desc="遥信03-未储能" />
        <Signal no="3"  type="2" addr="3"  link="self_ptl.st.4"  desc="遥信04-低气压闭锁" />
        <Signal no="4"  type="2" addr="4"  link="self_ptl.st.5"  desc="遥信05-远方/就地" />
        <Signal no="5"  type="2" addr="5"  link="self_ptl.st.6"  desc="遥信06-保护动作" />
        <Signal no="6"  type="2" addr="6"  link="self_ptl.st.7"  desc="遥信07-重合闸动作" />
        <Signal no="7"  type="2" addr="7"  link="self_ptl.st.8"  desc="遥信08-装置故障" />
        <Signal no="8"  type="2" addr="8"  link="self_ptl.st.9"  desc="遥信09-联络开关" />
        <Signal no="9"  type="2" addr="9"  link="self_ptl.st.10" desc="遥信10-解锁" />
        <Signal no="10" type="2" addr="10" link="self_ptl.st.36" desc="遥信11-硬遥信:采集硬遥信1" />
        <Signal no="11" type="2" addr="11" link="self_ptl.st.37" desc="遥信12-硬遥信:采集硬遥信2" />
        <Signal no="12" type="2" addr="12" link="self_ptl.st.38" desc="遥信13-硬遥信:采集硬遥信3" />
        <Signal no="13" type="2" addr="13" link="self_ptl.st.39" desc="遥信14-硬遥信:采集硬遥信4" />
        <Signal no="14" type="2" addr="14" link="self_ptl.st.40" desc="遥信15-硬遥信:采集硬遥信5" />
        <Signal no="15" type="2" addr="15" link="self_ptl.st.41" desc="遥信16-硬遥信:采集硬遥信6" />

        <!-- 自检遥信区 (addr 32~63) -->
        <Signal no="16" type="2" addr="32" link="self_ptl.st.70"  desc="自检-文件系统挂载异常" />
        <Signal no="17" type="2" addr="33" link="self_ptl.st.95"  desc="自检-装置闭锁" />
        <Signal no="18" type="2" addr="34" link="self_ptl.st.108" desc="自检-终端故障" />
        <Signal no="19" type="2" addr="35" link="self_ptl.st.109" desc="自检-参数装载异常" />
        <Signal no="20" type="2" addr="36" link="self_ptl.st.110" desc="自检-装置检修" />
        <Signal no="21" type="2" addr="37" link="self_ptl.st.78"  desc="自检-主站通讯异常" />
        <Signal no="22" type="2" addr="38" link="self_ptl.st.132" desc="自检-故障指示" />
        <Signal no="23" type="2" addr="39" link="self_ptl.st.143" desc="自检-开关位置状态" />
        <Signal no="24" type="2" addr="40" link="self_ptl.st.144" desc="自检-远方投入" />
    </St>

    <!-- ========== 遥测 (Mx) — 输入寄存器区 (3X) ========== -->
    <Mx desc="遥测">
        <!-- 浮点数占用 2 个连续寄存器, addr 递增 2 -->
        <Signal no="0"  type="6" addr="0"  link="self_ptl.mx.1"  desc="遥测01-经度" />
        <Signal no="1"  type="6" addr="2"  link="self_ptl.mx.5"  desc="遥测02-纬度" />
        <Signal no="2"  type="6" addr="4"  link="self_ptl.mx.9"  desc="遥测03-海拔" />
        <Signal no="3"  type="6" addr="6"  link="self_ptl.mx.38" desc="遥测04-频率" />
        <Signal no="4"  type="6" addr="8"  link="self_ptl.mx.64" desc="遥测05-采集板温度" />

        <!-- 电气量 -->
        <Signal no="5"  type="6" addr="10" link="iec61850m.prj.mx.0" desc="遥测06-A相电压" />
        <Signal no="6"  type="6" addr="12" link="iec61850m.prj.mx.1" desc="遥测07-B相电压" />
        <Signal no="7"  type="6" addr="14" link="iec61850m.prj.mx.2" desc="遥测08-C相电压" />
        <Signal no="8"  type="6" addr="16" link="iec61850m.prj.mx.3" desc="遥测09-A相电流" />
        <Signal no="9"  type="6" addr="18" link="iec61850m.prj.mx.4" desc="遥测10-有功功率" />
        <Signal no="10" type="6" addr="20" link="iec61850m.prj.mx.5" desc="遥测11-无功功率" />
        <Signal no="11" type="6" addr="22" link="iec61850m.prj.mx.6" desc="遥测12-功率因数" />
    </Mx>

    <!-- ========== 遥控 (Co) — 线圈区 (0X), 可写 ========== -->
    <Co desc="遥控">
        <Signal no="0" type="2" addr="0"  link="self_ptl.co.11" desc="遥控01-交流录波" />
        <Signal no="1" type="2" addr="1"  link="iec61850m.prj.co.0" desc="遥控02-分闸" />
        <Signal no="2" type="2" addr="2"  link="iec61850m.prj.co.1" desc="遥控03-合闸" />
        <Signal no="3" type="2" addr="3"  link="iec61850m.prj.co.2" desc="遥控04-复归" />
        <Signal no="4" type="2" addr="4"  link="iec61850m.prj.co.3" desc="遥控05-保护投退" />
        <Signal no="5" type="2" addr="5"  link="iec61850m.prj.co.4" desc="遥控06-低频保护软压板" />
    </Co>

    <!-- ========== 参数 (Ao) — 保持寄存器区 (4X), 可读写 ========== -->
    <Ao desc="参数">
        <!-- 字符串类型 -->
        <Signal no="0" type="13" addr="0"   link="self_ptl.ao.INFO_DEV_TYPE"     desc="参数01-终端类型" />
        <Signal no="1" type="13" addr="8"   link="self_ptl.ao.TERM_ID"           desc="参数02-终端ID号" />
        <!-- float 类型 -->
        <Signal no="2" type="6"  addr="16"  link="self_ptl.ao.I_DEAD"            desc="参数03-交流电流死区" />
        <Signal no="3" type="6"  addr="18"  link="self_ptl.ao.UAC_DEAD"          desc="参数04-交流电压死区" />
        <!-- uint32 类型 -->
        <Signal no="4" type="7"  addr="20"  link="self_ptl.ao.FaultLed_Reset_T"  desc="参数05-故障灯复归时间" />
        <!-- uint16 类型 -->
        <Signal no="5" type="4"  addr="22"  link="self_ptl.ao.ALARMLED_EN_MOD"   desc="参数06-故障指示灯自动复归投退" />
    </Ao>

    <!-- ========== 定值 (Param) — 保持寄存器区 (4X), 可读写 ========== -->
    <Param desc="定值">
        <Signal no="0" type="6" addr="0"  link="iec61850m.prj.param.0" desc="定值01-过流I段定值" />
        <Signal no="1" type="6" addr="2"  link="iec61850m.prj.param.1" desc="定值02-过流II段定值" />
    </Param>
</Root>
