6.1 内置数据类型

6.1.1 Device 类型

采集设备类型

class Device{
public:
    string GetConfigString(string key, string default);
    string name;
    int id;
    json current;
    json last;
}

6.1.1.1 获取设备配置参数

  • 定义: GetConfigString(key, default) -> string

  • 分类: 方法

  • 参数:

    • key: string 类型,配置名称
    • default: string 类型,默认值
  • 返回: string 获取到的配置内容,如果为空则返回传入的默认值

  • 示例:

    -- 如果此脚本在设备边缘计算里则 this为当前设备
    -- 读取当前设备的地址
    local address = this:GetConfigString("address","")

6.1.1.2 设备的 ID

  • 定义: id

  • 分类: 属性

  • 类型: int

  • 描述: 返回设备的 ID

  • 示例:

    -- 如果此脚本在设备边缘计算里则 this为当前设备
    -- 返回当前设备的id
    local device_id = this.id

6.1.1.3 设备的名称

  • 定义: name

  • 分类: 属性

  • 类型: string

  • 描述: 返回设备的名称

  • 示例:

    -- 如果此脚本在设备边缘计算里则 this为当前设备
    -- 返回当前设备的name
    local device_name = this.name

6.1.1.4 设备本轮采集到的数据

  • 定义: current

  • 分类: 属性

  • 类型: table

  • 描述: 返回设备本轮采集到的数据

  • 示例:

    -- 如果此脚本在设备边缘计算里则 this为当前设备
    -- 返回当前设备本轮采集到的数据
    local current_data = this.current

6.1.1.5 设备上轮采集到的数据

  • 定义: last

  • 分类: 属性

  • 类型: table

  • 描述: 返回设备上轮采集到的数据

  • 示例:

    -- 如果此脚本在设备边缘计算里则 this为当前设备
    -- 返回当前设备上一轮采集到的数据
    local last_data = this.last

6.1.2 Variable 采集变量类型

采集变量类型

6.1.2.1 获取变量配置参数

  • 定义: GetConfigString(key, default) -> string

  • 分类: 方法

  • 参数:

    • key: string 类型,配置名称
    • default: string 类型,默认值
  • 返回: string 获取到的配置内容,如果为空则返回传入的默认值

  • 示例:

    -- 如果此脚本在变量边缘计算里则 this为当前变量
    -- 返回当前变量的地址
    local count = this:GetConfigString("count", "")

6.1.2.2 获取变量配置参数

  • 定义: GetConfigInt(key, default) -> int

  • 分类: 方法

  • 参数:

    • key: string 类型,配置名称
    • default: int 类型,默认值
  • 返回: int 获取到的配置内容,如果为空则返回传入的默认值

  • 示例:

    -- 如果此脚本在变量边缘计算里则 this为当前变量
    -- 返回当前变量的采集的数量
    local count = this:GetConfigInt("count", 1)

6.1.2.3 写入值到变量

  • 定义: Write(value)

  • 分类: 方法

  • 参数:

    • value: any 类型,要写入的值,类型取决于变量设置的数据类型
  • 示例:

    -- 如果此脚本在变量边缘计算里则 this为当前变量
    -- 写入变量当前配置的变量里
    this:Write(1)
    -- this:Write("1") --如果为字符串类型
    -- this:Write(true) --如果为bool类型

6.1.2.4 变量的名称

  • 定义: name

  • 分类: 属性

  • 类型: int

  • 描述: 变量的名称

  • 示例:

    -- 如果此脚本在变量边缘计算里则 this为当前变量
    -- 返回当前变量上一轮采集到的数据
    local name = this.name

6.1.2.5 变量本轮采集到的数据

  • 定义: current

  • 分类: 属性

  • 类型: table

  • 描述: 变量本轮采集到的数据

  • 示例:

    -- 如果此脚本在变量边缘计算里则 this为当前变量
    -- 返回当前变量本轮采集到的数据
    local current_data = this.current

6.1.2.6 变量上轮采集到的数据

  • 定义: last

  • 分类: 属性

  • 类型: table

  • 描述: 变量上轮采集到的数据

  • 示例:

    -- 如果此脚本在变量边缘计算里则 this为当前变量
    -- 返回当前变量上一轮采集到的数据
    local last_data = this.last

6.1.2.7 变量所属的设备

  • 定义: device

  • 分类: 属性

  • 类型: Device

  • 描述: 变量所属的设备

  • 示例:

    -- 如果此脚本在变量边缘计算里则 this为当前变量
    -- 读取当前变量所属设备的名称
    local device = this.device
    local device_name = this.device.name

6.1.3 Publisher 类型

推送平台类型

6.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
                    }
                ]
            }
        ]

6.1.3.2 设置待推送数据

  • 定义: SetMessage(message)
  • 分类: 方法
  • 参数:
    • message: table 类型
  • 返回: table 返回format处理后的推送数据

6.1.3.3 获取待推送数据

  • 定义: GetMessage() -> table
  • 分类: 方法
  • 返回: table 返回format处理后的推送数据

6.1.4 Mqtt 类型

推送时的Mqtt客户端

6.1.4.1 连接到Mqtt

  • 定义: Connect() -> int
  • 分类: 方法
  • 返回: int 返回连接状态,0为ok,非0为连接失败

6.1.4.2 推送到mqtt服务器

  • 定义: PushMessage(message,topic,qos,retained) -> int
  • 分类: 方法
  • 参数:
    • message: string 类型,需要推送的消息
    • topic: string 类型,推送的目标topic
    • qos: int 类型,推送qos,0或1或2
    • retained: int 类型,是否为保留消息,0或1
  • 返回: int 返回推送状态,0为ok,非0为连接失败

6.1.4.3 检查当前服务器连接状态

  • 定义: CheckConnect() -> int
  • 分类: 方法
  • 返回: int 返回连接状态,0为ok,非0为连接失败

6.1.4.4 订阅主题

  • 定义: Subscribe(topic,qos) -> int
  • 分类: 方法
  • 参数:
    • topic: string 类型,订阅的topic
    • qos: int 类型, 0或1或2
  • 返回: int 返回推送状态,0为ok,非0为连接失败

6.1.4.5 Mqtt服务器地址

  • 定义: address
  • 分类: 属性
  • 类型: string
  • 描述: tcp://127.0.0.1:1883这种格式

6.1.4.6 Mqtt鉴权用户名

  • 定义: username
  • 分类: 属性
  • 类型: string

6.1.4.7 Mqtt鉴权用户名

  • 定义: username
  • 分类: 属性
  • 类型: string

6.1.4.8 Mqtt鉴权密码

  • 定义: password
  • 分类: 属性
  • 类型: string

6.1.4.9 Mqtt ClientID

  • 定义: client_id
  • 分类: 属性
  • 类型: string

6.1.4.10 Mqtt KeepAlive

  • 定义: keepalive
  • 分类: 属性
  • 类型: string

6.1.4.11 Mqtt 遗嘱消息

  • 定义: will_msg
  • 分类: 属性
  • 类型: string

6.1.4.12 Mqtt 遗嘱主题

  • 定义: will_topic
  • 分类: 属性
  • 类型: string

6.1.4.13 Mqtt 遗嘱QOS

  • 定义: will_qos
  • 分类: 属性
  • 类型: int
  • 描述: 0或1或2

6.1.4.14 Mqtt 当前连接状态

  • 定义: connected
  • 分类: 属性
  • 类型: Bool
  • 描述: 当前连接状态,true / false

6.1.4.15 Mqtt Connected事件

  • 定义: on_connect
  • 分类: 属性
  • 类型: function()
  • 描述: mqtt服务器连接成功后调用此函数,入参为空

6.1.4.16 Mqtt Disconnected事件

  • 定义: on_disconnect
  • 分类: 属性
  • 类型: function()
  • 描述: mqtt服务器掉线后调用此函数,入参为空

6.1.4.17 Mqtt 订阅消息事件

  • 定义: on_message
  • 分类: 属性
  • 类型: function(topic,message)
  • 参数:
    • topic: string 类型,收到订阅消息的topic
    • message: string 类型,收到订阅消息的内容
  • 描述: mqtt收到订阅消息后会触发此函数,接收参数两个

6.1.4.18 Mqtt SSL CA

  • 定义: ca
  • 分类: 属性
  • 类型: string

6.1.4.19 Mqtt SSL CA

  • 定义: ca
  • 分类: 属性
  • 类型: string

6.1.4.20 Mqtt SSL CA

  • 定义: ca
  • 分类: 属性
  • 类型: string

6.1.4.21 Mqtt SSL CERT

  • 定义: cert
  • 分类: 属性
  • 类型: string

6.1.4.22 Mqtt SSL KEY

  • 定义: key
  • 分类: 属性
  • 类型: string

6.1.4.23 Mqtt SSL KEY PASSWORD

  • 定义: key_pass
  • 分类: 属性
  • 类型: string

6.1.4.24 Mqtt SSL Version

  • 定义: ssl_version
  • 分类: 属性
  • 类型: string