8.1 組み込みデータ型

8.1.1 ConfigBase 型

基本設定型

class ConfigBase{
    string GetConfigString(string key, string default);
    int 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 last;
    int 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 name;
    bool writable;
    bool readable;
    json current;
    json last;
}

8.1.3.1 変数に値を書き込む

  • 定義: Write(value)

  • 分類: メソッド

  • パラメータ:

    • value: any 型,書き込む値、型は変数設定のデータ型に依存
  • 例:

    -- このスクリプトが変数エッジ計算にある場合、variableは現在の変数
    -- 変数現在の設定の変数に書き込む
    variable:Write(1)
    -- 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 GetOriginMessage();
    int 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_id;
    int keepalive;
    string will_msg;
    int 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 string 型,プッシュするメッセージ
    • topic: string string 型,プッシュするターゲットtopic
    • qos: int int 型,プッシュqos、0または1または2
    • retained: int 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 string 型,購読するtopic
    • qos: int 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 string 型,受信した購読メッセージのtopic
    • message: string string 型,受信した購読メッセージの内容
  • 説明: mqttが購読メッセージを受信するとこの関数がトリガーされる、2つのパラメータを受信

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