Files
CalibratorLauncher/procedures/FUNCTION_GUIDE.md
2026-01-02 19:20:35 +09:00

13 KiB
Raw Blame History

测量函数

目录

  1. 电阻测量函数
  2. 电压测量函数
  3. 电流测量函数
  4. 频率测量函数
  5. 数字输入函数
  6. 绝缘测试函数
  7. 数据采集函数

电阻测量函数

1. RESISTANCE_4WIRE - 4 线制电阻测量

功能描述:高精度 4 线制电阻测量,返回 7 个测量值。

适用场景精密电阻测量RTD 温度传感器检测。

返回值数量7 个

  • R1/2, R1/3, R1/4
  • R2/3, R2/4, R3/4
  • R/4wires

YAML 配置示例

testActions:
  measureResistance4Wire:
    id: measureResistance4Wire
    name: 4线制电阻测量
    mode: auto
    functionType: RESISTANCE_4WIRE
    channel: input1
    functionParameters: {}
    dataFields:
      - tableRef: '#/tables/resistanceTable'
        cells:
          - row: sensor1
            column: r12
          - row: sensor1
            column: r13
          - row: sensor1
            column: r14
          - row: sensor1
            column: r23
          - row: sensor1
            column: r24
          - row: sensor1
            column: r34
          - row: sensor1
            column: r4wires

注意事项

  • 必须指定 channel (input1 或 input2)
  • functionParameters 为空对象 {}
  • dataFields 必须包含 7 个单元格,顺序固定

2. RESISTANCE_3WIRE - 3 线制电阻测量

功能描述3 线制电阻测量,返回 3 个测量值。

适用场景3 线制 RTD 温度传感器检测。

返回值数量3 个

  • R2/3, R2/4, R3/4

YAML 配置示例

testActions:
  measureResistance3Wire:
    id: measureResistance3Wire
    name: 3线制电阻测量
    mode: auto
    functionType: RESISTANCE_3WIRE
    channel: input1
    functionParameters: {}
    dataFields:
      - tableRef: '#/tables/resistanceTable'
        cells:
          - row: sensor1
            column: r23
          - row: sensor1
            column: r24
          - row: sensor1
            column: r34

注意事项

  • 必须指定 channel
  • functionParameters 为空对象 {}
  • dataFields 必须包含 3 个单元格,顺序固定

3. RESISTANCE_2WIRE - 2 线制电阻测量

功能描述2 线制电阻测量,返回 1 个测量值。

适用场景简单电阻测量2 线制传感器。

返回值数量1 个

  • R1/2

YAML 配置示例

testActions:
  measureResistance2Wire:
    id: measureResistance2Wire
    name: 2线制电阻测量
    mode: auto
    functionType: RESISTANCE_2WIRE
    channel: input1
    functionParameters: {}
    dataFields:
      - tableRef: '#/tables/resistanceTable'
        cells:
          - row: sensor1
            column: resistance

注意事项

  • 必须指定 channel
  • functionParameters 为空对象 {}
  • dataFields 包含 1 个单元格

电压测量函数

4. VOLTAGE_AC - 交流电压测量

功能描述:交流电压测量,返回 RMS 电压、峰值电压和频率。

适用场景:交流电源检测,信号分析。

返回值数量3 个

  • RMS 电压 (有效值)
  • 峰值电压
  • 频率

YAML 配置示例

testActions:
  measureACVoltage:
    id: measureACVoltage
    name: 交流电压测量
    mode: auto
    functionType: VOLTAGE_AC
    channel: input1
    functionParameters: {}
    dataFields:
      - tableRef: '#/tables/voltageTable'
        cells:
          - row: measurement1
            column: rmsVoltage
          - row: measurement1
            column: peakVoltage
          - row: measurement1
            column: frequency

注意事项

  • 必须指定 channel
  • functionParameters 为空对象 {}
  • dataFields 必须包含 3 个单元格,顺序固定

5. VOLTAGE_V - 直流电压测量 (伏特)

功能描述:直流电压测量,单位为伏特(V)。

适用场景:直流电源检测,信号电压测量。

返回值数量1 个

  • 电压值 (V)

YAML 配置示例

testActions:
  measureDCVoltage:
    id: measureDCVoltage
    name: 直流电压测量
    mode: auto
    functionType: VOLTAGE_V
    channel: input1
    functionParameters: {}
    dataFields:
      - tableRef: '#/tables/voltageTable'
        cells:
          - row: measurement1
            column: voltage

注意事项

  • 必须指定 channel
  • functionParameters 为空对象 {}
  • dataFields 包含 1 个单元格

6. VOLTAGE_MV - 直流电压测量 (毫伏)

功能描述:直流电压测量,单位为毫伏(mV)。

适用场景:微小信号测量,传感器输出检测。

返回值数量1 个

  • 电压值 (mV)

YAML 配置示例

testActions:
  measureMillivolt:
    id: measureMillivolt
    name: 毫伏电压测量
    mode: auto
    functionType: VOLTAGE_MV
    channel: input1
    functionParameters: {}
    dataFields:
      - tableRef: '#/tables/voltageTable'
        cells:
          - row: measurement1
            column: millivolt

注意事项

  • 必须指定 channel
  • functionParameters 为空对象 {}
  • dataFields 包含 1 个单元格

电流测量函数

7. CURRENT_MA - 直流电流测量 (毫安)

功能描述:直流电流测量,单位为毫安(mA)。

适用场景回路电流检测4-20mA 信号测量。

返回值数量1 个

  • 电流值 (mA)

YAML 配置示例

testActions:
  measureCurrent:
    id: measureCurrent
    name: 电流测量
    mode: auto
    functionType: CURRENT_MA
    channel: input1
    functionParameters: {}
    dataFields:
      - tableRef: '#/tables/currentTable'
        cells:
          - row: measurement1
            column: current

注意事项

  • 必须指定 channel
  • functionParameters 为空对象 {}
  • dataFields 包含 1 个单元格

频率测量函数

8. FREQUENCY - 频率测量

功能描述:信号频率测量,单位为 Hz。

适用场景:交流信号频率检测,脉冲频率测量。

返回值数量1 个

  • 频率值 (Hz)

YAML 配置示例 dat testActions: measureFrequency: id: measureFrequency name: 频率测量 mode: auto functionType: FREQUENCY channel: input1 functionParameters: {} dataFields: - tableRef: '#/tables/frequencyTable' cells: - row: measurement1 column: frequency


**注意事项**
- 必须指定 `channel`
- `functionParameters` 为空对象 `{}`
- `dataFields` 包含1个单元格

---

## 数字输入函数

### 9. DIGITAL_INPUT - 数字输入读取

**功能描述**:读取数字输入状态,返回布尔值。

**适用场景**:开关状态检测,数字信号读取。

**返回值数量**1个
- 状态值 (true/false)

**YAML 配置示例**

```yaml
testActions:
  readDigitalInput:
    id: readDigitalInput
    name: 数字输入读取
    mode: auto
    functionType: DIGITAL_INPUT
    channel: input1
    functionParameters: {}
    dataFields:
      - tableRef: '#/tables/digitalTable'
        cells:
          - row: input1
            column: state

注意事项

  • 必须指定 channel
  • functionParameters 为空对象 {}
  • dataFields 包含 1 个单元格
  • 表格字段类型应设置为 boolean

绝缘测试函数

10. INSULATION - 绝缘电阻测试

功能描述:绝缘电阻测试,返回绝缘电阻值(MΩ)。

适用场景:电气设备绝缘检测,传感器绝缘测试。

返回值数量1 个

  • 绝缘电阻 (MΩ)

YAML 配置示例

testActions:
  insulationTest:
    id: insulationTest
    name: 绝缘测试
    mode: auto
    functionType: INSULATION
    channel: input1
    functionParameters:
      testVoltage: 50
      testTime: 20
      dischargeTime: 5
    dataFields:
      - tableRef: '#/tables/insulationTable'
        cells:
          - row: sensor1
            column: insulation

functionParameters 参数说明

  • testVoltage: 测试电压 (V)
  • testTime: 测试时间 (秒)
  • dischargeTime: 放电时间 (秒)

注意事项

  • 必须指定 channel
  • functionParameters 可以指定测试参数,也可以使用空对象 {}
  • dataFields 包含 1 个单元格

数据采集函数

11. DATA_ACQUISITION - 通用数据采集

功能描述:从上位机或 DCS 系统采集多个参数的数据。

适用场景:批量读取传感器数据、报警状态、系统参数等。

返回值数量:可变,与参数列表数量相同

YAML 配置示例

testActions:
  acquireData:
    id: acquireData
    name: 数据采集
    mode: auto
    functionType: DATA_ACQUISITION
    functionParameters:
      - RCP030MT
      - RCP033MT
      - RCP031MT
      - RCP034MT
    dataFields:
      - tableRef: '#/tables/dataTable'
        cells:
          - row: RCP030MT
            column: value
          - row: RCP033MT
            column: value
          - row: RCP031MT
            column: value
          - row: RCP034MT
            column: value

functionParameters 参数说明

  • 参数为数组形式,每个元素是要采集的数据标识符
  • 返回值顺序与参数顺序一致
  • 支持任意数量的参数

数据类型识别

  • 包含 "MT" 的参数:识别为温度传感器,返回温度值
  • 包含 "AA" 的参数:识别为报警状态,返回 "有报警" 或 "无报警"
  • 其他参数:返回通用数值

注意事项

  • 不需要指定 channel
  • functionParameters 为数组,不能为空
  • dataFields 中的单元格数量必须与参数数量一致

12. DATA_ACQUISITION_WITH_VALIDATION - 带验证的数据采集

功能描述:从上位机采集数据,并返回每个数据的验证结果。

适用场景:需要服务器端验证的数据采集。

返回值数量:参数数量的 2 倍 (每个参数返回:值 + 验证结果)

YAML 配置示例

testActions:
  acquireDataWithValidation:
    id: acquireDataWithValidation
    name: 带验证的数据采集
    mode: auto
    functionType: DATA_ACQUISITION_WITH_VALIDATION
    functionParameters:
      - RCP030MT
      - RCP033MT
    dataFields:
      - tableRef: '#/tables/dataTable'
        cells:
          - row: RCP030MT
            column: value
          - row: RCP030MT
            column: valid
          - row: RCP033MT
            column: value
          - row: RCP033MT
            column: valid

functionParameters 参数说明

  • 参数为数组形式,每个元素是要采集的数据标识符
  • 每个参数返回 2 个值:数据值和验证结果

返回值格式

  • 第 1 个值:第 1 个参数的数据值
  • 第 2 个值:第 1 个参数的验证结果 (true/false)
  • 第 3 个值:第 2 个参数的数据值
  • 第 4 个值:第 2 个参数的验证结果 (true/false)
  • 以此类推...

注意事项

  • 不需要指定 channel
  • functionParameters 为数组,不能为空
  • dataFields 中的单元格数量必须是参数数量的 2 倍
  • 验证结果字段类型应设置为 boolean

字段映射

基本规则

dataFields 是一个 fieldSelector 数组,每个 fieldSelector 可以是:

  1. 包含 cells 的对象 - 用于 Grid 表格,通过 rowcolumn 定位
  2. 包含 fields 的对象 - 用于 Form 表格,直接指定字段 ID
  3. ignore 对象 - ignore: true 用于跳过不需要的返回值

注意

  • 每个 fieldSelector 中的 cells 或 fields 可以包含多个项
  • 所有 fieldSelector 消耗的返回值总数必须与函数返回值数量相等
    • 包含 cells 的 fieldSelector消耗 cells 数组长度个返回值
    • 包含 fields 的 fieldSelector消耗 fields 数组长度个返回值
    • ignore 的 fieldSelector消耗 1 个返回值
  • 可以在同一个 dataFields 中混合使用不同类型的 fieldSelector

Grid 类型表格 - 使用 cells

dataFields:
  - tableRef: '#/tables/gridTable'
    cells:
      - row: sensor1
        column: value1
      - row: sensor1
        column: value2

Form 类型表格 - 使用 fields

dataFields:
  - tableRef: '#/tables/formTable'
    fields:
      - field1
      - field2
      - field3

忽略返回值

如果函数返回 5 个值,但只需要其中 4 个,忽略第 3 个:

dataFields:
  - tableRef: '#/tables/gridTable'
    cells:
      - row: sensor1
        column: value1
      - row: sensor1
        column: value2
  - ignore: true # 忽略第3个返回值
  - tableRef: '#/tables/gridTable'
    cells:
      - row: sensor1
        column: value4
      - row: sensor1
        column: value5

混合使用

ignore 可以与 cellsfields 自由混合,不局限于单一类型:

dataFields:
  - tableRef: '#/tables/gridTable'
    cells:
      - row: sensor1
        column: value1
  - tableRef: '#/tables/formTable'
    fields:
      - field1
      - field2
  - ignore: true # 忽略第4个返回值
  - tableRef: '#/tables/gridTable'
    cells:
      - row: sensor2
        column: value5
  - ignore: true # 忽略第6个返回值
  - tableRef: '#/tables/formTable'
    fields:
      - field3

说明:上述示例处理 7 个返回值:

  • 第 1 个 → gridTable 的 cell
  • 第 2-3 个 → formTable 的 field1 和 field2
  • 第 4 个 → 忽略
  • 第 5 个 → gridTable 的 cell
  • 第 6 个 → 忽略
  • 第 7 个 → formTable 的 field3