APRUS Lua-ADIOInf配置说明

概述

本章主要概述APRUS Lua-ADIOInf协议的相关配置说明。ADIOInf是智物联根据客户和市场的需求做的一套开关量模拟量采集接口,开关量采集包括IO电平的输入输出、脉冲计数、电平时长等;模拟量包括电流信号、电压信号。而其中APRUS的Lua包含apru.luaconfig.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 对应设备上的DIN1DIN4, AIN1AIN4
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 分别对应设备上的DIN1DIN4, AIN1AIN4
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