13 KiB
测量函数
目录
电阻测量函数
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 可以是:
- 包含 cells 的对象 - 用于 Grid 表格,通过
row和column定位 - 包含 fields 的对象 - 用于 Form 表格,直接指定字段 ID
- 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 可以与 cells 和 fields 自由混合,不局限于单一类型:
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