APRUS Lua-ADIOInf配置说明
概述
本章主要概述APRUS Lua-ADIOInf协议的相关配置说明。ADIOInf是智物联根据客户和市场的需求做的一套开关量模拟量采集接口,开关量采集包括IO电平的输入输出、脉冲计数、电平时长等;模拟量包括电流信号、电压信号。而其中APRUS的Lua包含apru.lua
和config.lua
两个文件,客户只需配置config.lua
就可以实现上述功能,使用特定的配置技巧还可实现计数、反向控制等功能。如需修改APRUS.lua
文件的内容时,请咨询相关的技术人员,随意修改会导致适配器不能正常工作。因此,此文档主要介绍config.lua
内容。
1. config.lua
示例
APRUSX={
ipmode="none", -- auto/manual/none
inet_addr="192.168.1.234",
netmask="255.255.255.0",
},
ADIO={
node={
{m="io",index=1,direction="in",cntmode="rise",dtype="val",pMode={2,0},dStyle={"LIO1_val"},dOffset={},dExt={}},
{m="io",index=2,direction="in",cntmode="rise",dtype="count",pMode={2,0},dStyle={"LIO1_count"},dOffset={},dExt={}},
{m="io",index=3,direction="in",cntmode="rise",dtype="time",pMode={1,5},dStyle={"LIO1_time"},dOffset={},dExt={}},
{m="adA",index=1,direction="in",interval=5000,dtype="val",pMode={1,5},dStyle={"LAD1_val"},dOffset={},dExt={}},
{m="adU",index=1,direction="in",interval=5000,dtype="val",pMode={1,5},dStyle={"LAD1_val"},dOffset={},dExt={}},
},
}
APRUS 配置与功能
1.1 APRUS 属性
参数 | 值 | 说明 |
---|---|---|
ipmode | “auto”/“manual”/“none” | IP获取方式 |
inet_addr | “192.168.1.234” | APRUS的IP地址 |
netmask | “255.255.255.0” | 子网掩码 |
1.2 ADIO-node : 上报节点属性
参数 | 值 | 说明 |
---|---|---|
m | “io” | 测量IO模式 |
“adA” | 测量电流模式 | |
“adU” | 测量电压模式 | |
direction | “in” | 输入模式 |
“out” | 输出模式, 当m=”ad”时,无输出模式 | |
index | 1 / 2 / 3 / 4 | 对应设备上的DIN1 |
cntmode | rise/fall | 上升沿/下降沿, 只有当dtype = count时有效 |
interval | 0~n | 当m=”adA”/“adU”时, 表示检测周期(单位:ms) |
当m=”io”时, 实时检测,无需填写此项 | ||
dtype | val | 检测电平值功能 |
count | 计数功能(上升沿/下降沿时计数) | |
time | 检测高/低电平持续时间功能 | |
pMode | {1, 5} | 周期上报模式 周期5s |
{2, 0} | 改变上报模式 | |
dStyle | {“ LIO1_val “} | 上报名称 |
dOffset | {{“+”, 10}} | 偏移计算,加10 |
{{“-“, 10}} | 偏移计算,减10 | |
{{“*”, 10}} | 偏移计算,乘10 | |
{{“", 10}} | 偏移计算,除10 | |
{{“.”, 2}} | 偏移计算,保留2位小数 | |
dExt | {{“>”,100},{0,0}} | 附件报文处理,当pMode={2, 0}时使用 |
表示大于100的数据才会上报 |
2 APRUS.lua
2.1 ADIOInf.new
功能: 创建IO实例
示例: obj = ADIOInf.new()
参数:
- 返回值: 返回IO实例
2.2 ADIOInf.add_node
功能: 添加IO上报变量节点
示例: ADIOInf.add_node(session, m, index, direction, interval, cntmode, dtype, pMode, dStyle, dOffset, dExt)
参数:
参数 | 值 | 说明 |
---|---|---|
session | session | 消息会话对象 |
m | “io” | 测量IO模式 |
“adA” | 测量电流模式 | |
“adU” | 测量电压模式 | |
index | 1 / 2 / 3 / 4 | 分别对应设备上的DIN1 |
direction | “in” | 输入模式 |
“out” | 输出模式, 当m=”ad”时,无此输出模式 | |
interval | 0~n | 当m=”ad”时, 表示检测周期(单位:ms) |
当m=”io”时, 实时检测,无需填写此项 | ||
cntmode | rise/fall | 上升沿/下降沿, 只有当dtype = count时有效 |
dtype | val | 检测电平值功能 |
count | 计数功能(上升沿/下降沿时计数) | |
time | 检测高/低电平持续时间功能 | |
pMode | {1, 5} | 周期上报模式 周期5s |
{2, 0} | 改变上报模式 | |
dStyle | {“ LIO1_val”} | 上报名称 |
dOffset | {{“+”, 10}} | 偏移计算,加10 |
{{“-“, 10}} | 偏移计算,减10 | |
{{“*”, 10}} | 偏移计算,乘10 | |
{{“", 10}} | 偏移计算,除10 | |
{{“.”, 2}} | 偏移计算,保留2位小数 | |
dExt | {{“>”,100},{0,0}} | 附件报文处理,当pMode={2, 0}时使用 |
表示大于100的数据才会上报 |
2.3 ADIOInf.run
功能: 创建IO启动实例
示例: ADIOInf.run(obj)
参数:
- obj: IO实例返回对象
2.4 ADIOInf.stop
功能: 创建IO停止实例
示例: ADIOInf.stop(obj)
参数:
- obj: IO实例返回对象
文档更新时间: 2025-01-10 15:36 作者:CGL