用户API

1.1 用户API

1.1.1 user.setluaver

功能 设置lua版本信息
接口描述 setluaver(luaver)
luaver lua版本信息<字符串> 例:”LUA_V1.0.0”

1.1.2 user.setdevinfo

功能 设置lua所采集设备的信息
接口描述 setdevinfo(devinfo)
devinfo 所采集设备的信息<字符串> 例:”Siemens_S7-1200”

1.1.3 user.ipconfig

功能 设置数据采集网口的信息
接口描述 ipconfig(ipmode, inet_addr, netmask, gw, dns)
ipmode ip获取方式<字符串> [“none” / “manual” / “auto”]
inet_addr ip地址<字符串> 例:”192.168.1.100”
netmask 子网掩码<字符串> 例:”255.255.255.0”
gw 网关<字符串> 例:”192.168.1.1”
dns 域名服务器<字符串> 例:”114.114.114.114”

1.1.4 user.stop_gardsroute

功能 禁止通过路由模式自动连接服务器,当需指定mqtt server时使用
接口描述 stop_gardsroute()

1.1.5 user.waitmsg

功能 消息获取接口,阻塞等待所有事件
接口描述 msg = user.waitmsg()
msg msg.from<字符串> 来自哪个模块的消息 包括:”mqtt-sys”:mqtt系统消息 “mqtt-msg”:mqtt 数据消息 “s7”: s7模块的消息 “modbus”:modbus模块的消息 “mitsufx”:mitsufx模块的消息 “mitsumc”:mitsumc模块的消息 “opcua”:opcua模块的消息 “devdata”:设备属性的消息 “adio”:开关模拟量的消息 “dlt645”:dlt645模块的消息 “transfer”:透传模块的消息
msg.session 消息的来自哪个obj
msg.code 消息编码

1.1.6 user.setPDcallback

功能 设置掉电事件的lua回调函数名
接口描述 setPDcallback(pFunName)
pFunName 回调函数的名称<字符串>

1.1.7 user.ledctrl

功能 设置led灯状态
接口描述 ledctrl(led, status, arg)
led led<字符串> [“green” / “red”/ “yellow”/“blue”/“white”/“orange”]
status 状态<字符串>[“on” / “off”/ “blink”]
arg 闪烁参数(当status为blink时有效 代表闪烁次数)<整形>

1.1.8 user.configReport

功能 设置默认上报配置
接口描述 configReport(flag_ReportLua,cycle_ReportLua, flag_ReportCSQ, cycle_ReportCSQ, flag_ReportGPS, cycle_ReportGPS)
flag_ReportLua 是否上报lua信息[-1(仅上报一次)/0(不上报)/1(周期上报)]
cycle_ReportLua lua信息上报周期
flag_ReportCSQ 是否上报4G/wifi信号强度[-1(仅上报一次)/0(不上报)/1(周期上报)]
cycle_ReportCSQ 4G/wifi信号强度上报周期
flag_ReportGPS 是否上报GPS信息[-1(仅上报一次)/0(不上报)/1(周期上报)]
cycle_ReportGPS GPS信息上报周期

1.1.9 user.addtimer

功能 设置定时器(一个Lua程序中最多可存在10个定时器)
接口描述 user.addtimer("timerName", Count, Cycle)
“timerName” 定时器的名称为”timerName”(最长19字符)
Count 总共需要执行的定时器次数。如果Count为-1,则表示定时器将无限次执行。
Cycle 定时器执行的间隔时间,以秒为单位。每隔Cycle秒,定时器就会执行一次回调函数。

1.1.10 user.closetimer

功能 停止定时器
接口描述 user.closetimer("timerName")
“timerName” 定时器的名称为timerName

1.1.11 user.newClockTimer

功能 user.newTimer返回一个计时器实例对象;未复位前,计时器的值会从当前时间开始一直增加下去;一个LUA程序可以有多个计时器;可用于延时函数
接口描述 myTimer = user.newClockTimer()
myTimer user.newClockTimer返回值;计时器实例对象

1.1.12 user.resetClockTimer

功能 复位计时器
接口描述 user.resetClockTimer(myTimer)
myTimer 计时器实例对象

1.1.13 user.getClockTimer

功能 获取计时器当前计时值
接口描述 num = user.getClockTimer(myTimer)
myTimer 计时器实例对象
num 计时器当前计时值,单位ms

1.1.14 user.saveVal

功能 保存数据到文件中,以json格式保存
接口描述 user.saveVal("/data/val_1","Total_Quantity", Total_Quantity)
/data/val_1 字符串,将数据保存到/data/val_1文件中
Total_Quantity 字符串,具体的json中的key值索引
Total_Quantity 值,具体的json中的val值

1.1.15 user.getVal

功能 获取文件中的数据,通过json中的key索引
接口描述 Total_Quantity = user.getVal("/data/val_1", "Total_Quantity")
“/data/val_1” 字符串,从/data/val_1文件中获取数据
Total_Quantity 字符串,具体的json中的key值索引
Total_Quantity 返回值,具体的json中的val值

1.1.16 user.safeModel

功能 设置为安全模式
断开管理平台链接;
断开远程通道;
Lua中配置的mqtt链接需要自行处理,即删除mqtt.run即可不连接lua配置的mqtt服务器
接口描述 user.safeModel(1)
user.safeModel(0)
1
0
数值
1—打开安全模式
0—关闭安全模式,默认为关闭安全模式;
注意:在打开安全模式后需要调用 user.safeModel(0)来关闭安全模式,仅仅通过注释user.safeModel(1)这一行是不可以的

1.1.17 user.getDev

功能 获取设备数据;若想要获取的参数在下述结构体中不存在,则返回nil值
接口描述 net_ver = user.getDev("net", "ver")
net 字符串,参数类型;可选manage、net、app
ver 字符串,具体的参数;参考如下结构体

示例:

  • 若要获取适配器ID,可以
    devID = user.getDev("manage", "devid")

  • 若要获取GPS的状态,可以
    gps_status = user.getDev("manage", "gps.status")

  • 若要获取文件系统版本,可以
    gps_status = user.getDev("manage", "sysver")

  • 若要获取网络程序版本,可以
    net_ver = user.getDev("net", "ver")

  • 若要获取ECM(4G)的IMEI数据,可以
    ecm_imei = user.getDev("net", "ecm.imei")

  • 若要获取网卡的数据(两个网卡索引从0开始),可以
    eth0_status = user.getDev("net", "eth[0].status")
    eth1_status = user.getDev("net", "eth[1].status")
    eth0_ip0 = user.getDev("net", "eth[0].ip")
    eth1_ip1 = user.getDev("net", "eth[1].ip")

  • 若要获取mixrtu程序版本,可以
    mixrtu_ver = user.getDev("app", "softver")

  • 若要获取Lua程序版本,可以
    lua_ver = user.getDev("app", "lua_ver")

  • 若要获取mqtt服务器,可以
    mqtt0_svr = user.getDev("app", "mqtt[0].mqttserver")
    mqtt1_svr = user.getDev("app", "mqtt[1].mqttserver")

  • 若要获取mqtt密码,可以
    mqtt0_pwd = user.getDev("app", "mqtt[0].pwd")
    mqtt1_pwd = user.getDev("app", "mqtt[1].pwd")

文档更新时间: 2024-11-19 14:52   作者:CGL