8.1 内置数据类型
8.1.1 Device 类型
采集设备类型
class Device{
(string key, string default);
string GetConfigString;
string nameint id;
;
json current;
json last}
8.1.1.1 获取设备配置参数
定义:
GetConfigString(key, default) -> string
分类: 方法
参数:
key
:string
类型,配置名称default
:string
类型,默认值
返回:
string
获取到的配置内容,如果为空则返回传入的默认值示例:
-- 如果此脚本在设备边缘计算里则 device为当前设备 -- 读取当前设备的地址 local address = device:GetConfigString("address","")
8.1.1.2 设备的 ID
定义:
id
分类: 属性
类型:
int
描述: 返回设备的 ID
示例:
-- 如果此脚本在设备边缘计算里则 device为当前设备 -- 返回当前设备的id local device_id = device.id
8.1.1.3 设备的名称
定义:
name
分类: 属性
类型:
string
描述: 返回设备的名称
示例:
-- 如果此脚本在设备边缘计算里则 device为当前设备 -- 返回当前设备的name local device_name = device.name
8.1.1.4 设备本轮采集到的数据
定义:
current
分类: 属性
类型: table
描述: 返回设备本轮采集到的数据
示例:
-- 如果此脚本在设备边缘计算里则 device为当前设备 -- 返回当前设备本轮采集到的数据 local current_data = device.current
8.1.1.5 设备上轮采集到的数据
定义:
last
分类: 属性
类型: table
描述: 返回设备上轮采集到的数据
示例:
-- 如果此脚本在设备边缘计算里则 device为当前设备 -- 返回当前设备上一轮采集到的数据 local last_data = device.last
8.1.2 Variable 采集变量类型
采集变量类型
class Variable{
(string key, string default);
string GetConfigStringint GetConfigInt(string key, string default);
int Write(json value);
;
Device device;
string namebool writable;
bool readable;
;
json current;
json last}
8.1.2.1 获取变量配置参数
定义:
GetConfigString(key, default) -> string
分类: 方法
参数:
key
:string
类型,配置名称default
:string
类型,默认值
返回:
string
获取到的配置内容,如果为空则返回传入的默认值示例:
-- 如果此脚本在变量边缘计算里则 variable为当前变量 -- 返回当前变量的地址 local count = variable:GetConfigString("count", "")
8.1.2.2 获取变量配置参数
定义:
GetConfigInt(key, default) -> int
分类: 方法
参数:
key
:string
类型,配置名称default
:int
类型,默认值
返回:
int
获取到的配置内容,如果为空则返回传入的默认值示例:
-- 如果此脚本在变量边缘计算里则 variable为当前变量 -- 返回当前变量的采集的数量 local count = variable:GetConfigInt("count", 1)
8.1.2.3 写入值到变量
定义:
Write(value)
分类: 方法
参数:
value
:any
类型,要写入的值,类型取决于变量设置的数据类型
示例:
-- 如果此脚本在变量边缘计算里则 variable为当前变量 -- 写入变量当前配置的变量里 :Write(1) variable-- variable:Write("1") --如果为字符串类型 -- variable:Write(true) --如果为bool类型
8.1.2.4 变量的名称
定义:
name
分类: 属性
类型:
int
描述: 变量的名称
示例:
-- 如果此脚本在变量边缘计算里则 variable为当前变量 -- 返回当前变量上一轮采集到的数据 local name = variable.name
8.1.2.5 变量本轮采集到的数据
定义:
current
分类: 属性
类型: table
描述: 变量本轮采集到的数据
示例:
-- 如果此脚本在变量边缘计算里则 variable为当前变量 -- 返回当前变量本轮采集到的数据 local current_data = variable.current
8.1.2.6 变量上轮采集到的数据
定义:
last
分类: 属性
类型: table
描述: 变量上轮采集到的数据
示例:
-- 如果此脚本在变量边缘计算里则 variable为当前变量 -- 返回当前变量上一轮采集到的数据 local last_data = variable.last
8.1.2.7 变量所属的设备
定义:
device
分类: 属性
类型: Device
描述: 变量所属的设备
示例:
-- 如果此脚本在变量边缘计算里则 variable为当前变量 -- 读取当前变量所属设备的名称 local device = variable.device local device_name = variable.device.name
8.1.3 Publisher 类型
推送平台类型
class Publisher{
();
json GetOriginMessageint SetMessage(json message);
();
json GetMessage}
8.1.3.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.3.2 设置待推送数据
- 定义:
SetMessage(message)
- 分类: 方法
- 参数:
message
:table
类型
- 返回:
table
返回format处理后的推送数据
8.1.3.3 获取待推送数据
- 定义:
GetMessage() -> table
- 分类: 方法
- 返回:
table
返回format处理后的推送数据
8.1.4 Mqtt 类型
推送时的Mqtt客户端
class Variable{
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.4.1 连接到Mqtt
- 定义:
Connect() -> int
- 分类: 方法
- 返回:
int
返回连接状态,0为ok,非0为连接失败
8.1.4.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.4.3 检查当前服务器连接状态
- 定义:
CheckConnect() -> int
- 分类: 方法
- 返回:
int
返回连接状态,0为ok,非0为连接失败
8.1.4.4 订阅主题
- 定义:
Subscribe(topic,qos) -> int
- 分类: 方法
- 参数:
topic
:string
类型,订阅的topicqos
:int
类型, 0或1或2
- 返回:
int
返回推送状态,0为ok,非0为连接失败
8.1.4.5 Mqtt服务器地址
- 定义:
address
- 分类: 属性
- 类型: string
- 描述: tcp://127.0.0.1:1883这种格式
8.1.4.6 Mqtt鉴权用户名
- 定义:
username
- 分类: 属性
- 类型: string
8.1.4.7 Mqtt鉴权用户名
- 定义:
username
- 分类: 属性
- 类型: string
8.1.4.8 Mqtt鉴权密码
- 定义:
password
- 分类: 属性
- 类型: string
8.1.4.9 Mqtt ClientID
- 定义:
client_id
- 分类: 属性
- 类型: string
8.1.4.10 Mqtt KeepAlive
- 定义:
keepalive
- 分类: 属性
- 类型: string
8.1.4.11 Mqtt 遗嘱消息
- 定义:
will_msg
- 分类: 属性
- 类型: string
8.1.4.12 Mqtt 遗嘱主题
- 定义:
will_topic
- 分类: 属性
- 类型: string
8.1.4.13 Mqtt 遗嘱QOS
- 定义:
will_qos
- 分类: 属性
- 类型: int
- 描述: 0或1或2
8.1.4.14 Mqtt 当前连接状态
- 定义:
connected
- 分类: 属性
- 类型: Bool
- 描述: 当前连接状态,true / false
8.1.4.15 Mqtt Connected事件
- 定义:
on_connect
- 分类: 属性
- 类型: function()
- 描述: mqtt服务器连接成功后调用此函数,入参为空
8.1.4.16 Mqtt Disconnected事件
- 定义:
on_disconnect
- 分类: 属性
- 类型: function()
- 描述: mqtt服务器掉线后调用此函数,入参为空
8.1.4.17 Mqtt 订阅消息事件
- 定义:
on_message
- 分类: 属性
- 类型: function(topic,message)
- 参数:
topic
:string
类型,收到订阅消息的topicmessage
:string
类型,收到订阅消息的内容
- 描述: mqtt收到订阅消息后会触发此函数,接收参数两个
8.1.4.18 Mqtt SSL CA
- 定义:
ca
- 分类: 属性
- 类型: string
8.1.4.19 Mqtt SSL CERT
- 定义:
cert
- 分类: 属性
- 类型: string
8.1.4.20 Mqtt SSL KEY
- 定义:
key
- 分类: 属性
- 类型: string
8.1.4.21 Mqtt SSL KEY PASSWORD
- 定义:
key_pass
- 分类: 属性
- 类型: string
8.1.4.22 Mqtt SSL Version
- 定义:
ssl_version
- 分类: 属性
- 类型: string