8.1 内置数据类型
8.1.1 ConfigBase 类型
基础的配置类型
class ConfigBase{
(string key, string default);
string GetConfigStringint GetConfigInt(string key, string default);
}
8.1.1.1 获取字符串配置参数
定义:
GetConfigString(key, default) -> string
分类: 方法
参数:
key
:string
类型,配置名称default
:string
类型,默认值
返回:
string
获取到的配置内容,如果为空则返回传入的默认值示例:
-- 当前配置项为c -- 读取当前配置的地址 local address = c:GetConfigString("address","")
8.1.1.2 获取整数配置参数
定义:
GetConfigInt(key, default) -> int
分类: 方法
参数:
key
:string
类型,配置名称default
:int
类型,默认值
返回:
int
获取到的配置内容,如果为空则返回传入的默认值示例:
-- 当前配置项为c -- 读取当前配置的端口 local port = c:GetConfigString("port","")
8.1.2 Device 类型
采集设备类型,继承自ConfigBase,可以使用ConfigBase的方法
class Device : ConfigBase{
;
string name;
string code;
string type;
json current;
json lastint state;
int id;
}
8.1.2.1 获取设备配置参数
8.1.2.2 设备的 ID
定义:
id
分类: 属性
类型:
int
描述: 返回设备的 ID
示例:
-- 如果此脚本在设备边缘计算里则 device为当前设备 -- 返回当前设备的id local device_id = device.id
8.1.2.3 设备的名称
定义:
name
分类: 属性
类型:
string
描述: 返回设备的名称
示例:
-- 如果此脚本在设备边缘计算里则 device为当前设备 -- 返回当前设备的name local device_name = device.name
8.1.2.4 设备的Code
定义:
code
分类: 属性
类型:
string
描述: 返回设备的Code
示例:
-- 如果此脚本在设备边缘计算里则 device为当前设备 -- 返回当前设备的code local device_code = device.code
8.1.2.5 设备本轮采集到的数据
定义:
current
分类: 属性
类型: table
描述: 返回设备本轮采集到的数据
示例:
-- 如果此脚本在设备边缘计算里则 device为当前设备 -- 返回当前设备本轮采集到的数据 local current_data = device.current
8.1.2.6 设备上轮采集到的数据
定义:
last
分类: 属性
类型: table
描述: 返回设备上轮采集到的数据
示例:
-- 如果此脚本在设备边缘计算里则 device为当前设备 -- 返回当前设备上一轮采集到的数据 local last_data = device.last
8.1.2.7 设备的采集状态
定义:
state
分类: 属性
类型:
int
描述: 返回设备当前的采集状态,正常为0,否则非0
示例:
-- 如果此脚本在设备边缘计算里则 device为当前设备 -- 返回设备当前的采集状态 local state = device.state
8.1.3 Variable 类型
采集变量类型,继承自ConfigBase,可以使用ConfigBase的方法
class Variable{
int Write(json value);
;
Device device;
string namebool writable;
bool readable;
;
json current;
json last}
8.1.3.1 写入值到变量
定义:
Write(value)
分类: 方法
参数:
value
:any
类型,要写入的值,类型取决于变量设置的数据类型
示例:
-- 如果此脚本在变量边缘计算里则 variable为当前变量 -- 写入变量当前配置的变量里 :Write(1) variable-- variable:Write("1") --如果为字符串类型 -- variable:Write(true) --如果为bool类型
8.1.3.2 变量的名称
定义:
name
分类: 属性
类型:
string
描述: 变量的名称
示例:
-- 如果此脚本在变量边缘计算里则 variable为当前变量 -- 返回当前变量上一轮采集到的数据 local name = variable.name
8.1.3.3 变量本轮采集到的数据
定义:
current
分类: 属性
类型:
table
描述: 变量本轮采集到的数据
示例:
-- 如果此脚本在变量边缘计算里则 variable为当前变量 -- 返回当前变量本轮采集到的数据 local current_data = variable.current
8.1.3.4 变量上轮采集到的数据
定义:
last
分类: 属性
类型:
table
描述: 变量上轮采集到的数据
示例:
-- 如果此脚本在变量边缘计算里则 variable为当前变量 -- 返回当前变量上一轮采集到的数据 local last_data = variable.last
8.1.3.5 变量所属的设备
定义:
device
分类: 属性
类型: Device
描述: 变量所属的设备
示例:
-- 如果此脚本在变量边缘计算里则 variable为当前变量 -- 读取当前变量所属设备的名称 local device = variable.device local device_name = variable.device.name
8.1.4 Publisher 类型
推送平台类型
class Publisher{
();
json GetOriginMessageint SetMessage(json message);
();
json GetMessage}
8.1.4.1 获取原始采集数据
定义:
GetOriginMessage() -> table
分类: 方法
返回:
table
返回原始采集数据数据格式:
[ { "device_id":1, "device_name":"test_fanuc", "device_state":1, "device_type":"fanuc", "ts":1716886841474, "values":[ { "name":"cnc_runstatus", "id":100, "ts":1716886841474, "value":1 } ] } ]
8.1.4.2 设置待推送数据
- 定义:
SetMessage(message)
- 分类: 方法
- 参数:
message
:table
类型
- 返回:
table
返回format处理后的推送数据
8.1.4.3 获取待推送数据
- 定义:
GetMessage() -> table
- 分类: 方法
- 返回:
table
返回format处理后的推送数据
8.1.5 Mqtt 类型
推送时的Mqtt客户端
class MqttClient{
int Connect();
int PushMessage(string message, string topic, int qos, int retained);
int CheckConnect();
int Subscribe(string message, int qos);
;
string address;
string username;
string password;
string client_idint keepalive;
;
string will_msgint will_qos;
bool connected;
;
function on_connect;
function on_disconnect;
function on_message;
function on_connect;
string ca;
string cert;
string key;
string key_pass;
string ssl_version}
8.1.5.1 连接到Mqtt
- 定义:
Connect() -> int
- 分类: 方法
- 返回:
int
返回连接状态,0为ok,非0为连接失败
8.1.5.2 推送到mqtt服务器
- 定义:
PushMessage(message,topic,qos,retained) -> int
- 分类: 方法
- 参数:
message
:string
类型,需要推送的消息topic
:string
类型,推送的目标topicqos
:int
类型,推送qos,0或1或2retained
:int
类型,是否为保留消息,0或1
- 返回:
int
返回推送状态,0为ok,非0为连接失败
8.1.5.3 检查当前服务器连接状态
- 定义:
CheckConnect() -> int
- 分类: 方法
- 返回:
int
返回连接状态,0为ok,非0为连接失败
8.1.5.4 订阅主题
- 定义:
Subscribe(topic,qos) -> int
- 分类: 方法
- 参数:
topic
:string
类型,订阅的topicqos
:int
类型, 0或1或2
- 返回:
int
返回推送状态,0为ok,非0为连接失败
8.1.5.5 Mqtt服务器地址
- 定义:
address
- 分类: 属性
- 类型: string
- 描述: 格式为 tcp://127.0.0.1:1883
8.1.5.6 Mqtt鉴权用户名
- 定义:
username
- 分类: 属性
- 类型: string
8.1.5.7 Mqtt鉴权用户名
- 定义:
username
- 分类: 属性
- 类型: string
8.1.5.8 Mqtt鉴权密码
- 定义:
password
- 分类: 属性
- 类型: string
8.1.5.9 Mqtt ClientID
- 定义:
client_id
- 分类: 属性
- 类型: string
8.1.5.10 Mqtt KeepAlive
- 定义:
keepalive
- 分类: 属性
- 类型: string
8.1.5.11 Mqtt 遗嘱消息
- 定义:
will_msg
- 分类: 属性
- 类型: string
8.1.5.12 Mqtt 遗嘱主题
- 定义:
will_topic
- 分类: 属性
- 类型: string
8.1.5.13 Mqtt 遗嘱QOS
- 定义:
will_qos
- 分类: 属性
- 类型: int
- 描述: 0或1或2
8.1.5.14 Mqtt 当前连接状态
- 定义:
connected
- 分类: 属性
- 类型: Bool
- 描述: 当前连接状态,true / false
8.1.5.15 Mqtt Connected事件
- 定义:
on_connect
- 分类: 属性
- 类型: function()
- 描述: mqtt服务器连接成功后调用此函数,入参为空
8.1.5.16 Mqtt Disconnected事件
- 定义:
on_disconnect
- 分类: 属性
- 类型: function()
- 描述: mqtt服务器掉线后调用此函数,入参为空
8.1.5.17 Mqtt 订阅消息事件
- 定义:
on_message
- 分类: 属性
- 类型: function(topic,message)
- 参数:
topic
:string
类型,收到订阅消息的topicmessage
:string
类型,收到订阅消息的内容
- 描述: mqtt收到订阅消息后会触发此函数,接收参数两个
8.1.5.18 Mqtt SSL CA
- 定义:
ca
- 分类: 属性
- 类型: string
8.1.5.19 Mqtt SSL CERT
- 定义:
cert
- 分类: 属性
- 类型: string
8.1.5.20 Mqtt SSL KEY
- 定义:
key
- 分类: 属性
- 类型: string
8.1.5.21 Mqtt SSL KEY PASSWORD
- 定义:
key_pass
- 分类: 属性
- 类型: string
8.1.5.22 Mqtt SSL Version
- 定义:
ssl_version
- 分类: 属性
- 类型: string