8.1 Integrierte Datentypen

8.1.1 ConfigBase-Typ

Basiskonfigurationstyp

class ConfigBase{
    string GetConfigString(string key, string default);
    int GetConfigInt(string key, string default);
}

8.1.1.1 Zeichenfolgenkonfigurationsparameter abrufen

  • Definition: GetConfigString(key, default) -> string

  • Kategorie: Methode

  • Parameter:

    • key: string-Typ,Konfigurationsname
    • default: string-Typ,Standardwert
  • Rückgabe: string Konfigurationsinhalt abrufen, gibt Standardwert zurück, wenn leer

  • Beispiel:

    -- Aktuelles Konfigurationselement ist c
    -- Aktuelle Konfigurationsadresse lesen
    local address = c:GetConfigString("address","")

8.1.1.2 Ganzzahlkonfigurationsparameter abrufen

  • Definition: GetConfigInt(key, default) -> int

  • Kategorie: Methode

  • Parameter:

    • key: string-Typ,Konfigurationsname
    • default: int-Typ,Standardwert
  • Rückgabe: int Konfigurationsinhalt abrufen, gibt Standardwert zurück, wenn leer

  • Beispiel:

    -- Aktuelles Konfigurationselement ist c
    -- Aktuellen Konfigurationsport lesen
    local port = c:GetConfigString("port","")

8.1.2 Device-Typ

Datenerfassungsgerättyp, erbt von ConfigBase, kann ConfigBase-Methoden verwenden

class Device : ConfigBase{
    string name;
    string code;
    string type;
    json current;
    json last;
    int state;
    int id;
}

8.1.2.1 Gerätekonfigurationsparameter abrufen

8.1.2.2 Geräte-ID

  • Definition: id

  • Kategorie: Eigenschaft

  • Typ: int

  • Beschreibung: Gibt Geräte-ID zurück

  • Beispiel:

    -- Wenn sich dieses Skript in der Geräte-Edge-Berechnung befindet, ist device das aktuelle Gerät
    -- Gibt aktuelle Geräte-ID zurück
    local device_id = device.id

8.1.2.3 Gerätename

  • Definition: name

  • Kategorie: Eigenschaft

  • Typ: string

  • Beschreibung: Gibt Gerätenamen zurück

  • Beispiel:

    -- Wenn sich dieses Skript in der Geräte-Edge-Berechnung befindet, ist device das aktuelle Gerät
    -- Gibt aktuellen Gerätenamen zurück
    local device_name = device.name

8.1.2.4 Gerätecode

  • Definition: code

  • Kategorie: Eigenschaft

  • Typ: string

  • Beschreibung: Gibt Gerätecode zurück

  • Beispiel:

    -- Wenn sich dieses Skript in der Geräte-Edge-Berechnung befindet, ist device das aktuelle Gerät
    -- Gibt aktuellen Gerätecode zurück
    local device_code = device.code

8.1.2.5 Aktuelle Erfassungsdaten

  • Definition: current

  • Kategorie: Eigenschaft

  • Typ: table

  • Beschreibung: Gibt aktuelle Erfassungsdaten vom Gerät zurück

  • Beispiel:

    -- Wenn sich dieses Skript in der Geräte-Edge-Berechnung befindet, ist device das aktuelle Gerät
    -- Gibt aktuelle Erfassungsdaten des aktuellen Geräts zurück
    local current_data = device.current

8.1.2.6 Letzte Erfassungsdaten

  • Definition: last

  • Kategorie: Eigenschaft

  • Typ: table

  • Beschreibung: Gibt letzte Erfassungsdaten vom Gerät zurück

  • Beispiel:

    -- Wenn sich dieses Skript in der Geräte-Edge-Berechnung befindet, ist device das aktuelle Gerät
    -- Gibt letzte Erfassungsdaten des aktuellen Geräts zurück
    local last_data = device.last

8.1.2.7 Geräteerfassungsstatus

  • Definition: state

  • Kategorie: Eigenschaft

  • Typ: int

  • Beschreibung: Gibt aktuellen Erfassungsstatus zurück, 0 für normal, sonst ungleich 0

  • Beispiel:

    -- Wenn sich dieses Skript in der Geräte-Edge-Berechnung befindet, ist device das aktuelle Gerät
    -- Gibt aktuellen Erfassungsstatus des Geräts zurück
    local state = device.state

8.1.3 Variable-Typ

Datenerfassungsvariablentyp, erbt von ConfigBase, kann ConfigBase-Methoden verwenden

class Variable{
    int Write(json value);
    Device device;
    string name;
    bool writable;
    bool readable;
    json current;
    json last;
}

8.1.3.1 Wert in Variable schreiben

  • Definition: Write(value)

  • Kategorie: Methode

  • Parameter:

    • value: any-Typ,Zu schreibender Wert, Typ hängt von der Datentypeinstellung der Variable ab
  • Beispiel:

    -- Wenn sich dieses Skript in der Variablen-Edge-Berechnung befindet, ist variable die aktuelle Variable
    -- In aktuelle Variablenkonfiguration schreiben
    variable:Write(1)
    -- variable:Write("1") --Wenn Zeichenfolgentyp
    -- variable:Write(true) --Wenn bool-Typ

8.1.3.2 Variablenname

  • Definition: name

  • Kategorie: Eigenschaft

  • Typ: string

  • Beschreibung: Variablenname

  • Beispiel:

    -- Wenn sich dieses Skript in der Variablen-Edge-Berechnung befindet, ist variable die aktuelle Variable
    -- Gibt letzte Erfassungsdaten der aktuellen Variable zurück
    local name = variable.name

8.1.3.3 Aktuelle Erfassungsdaten

  • Definition: current

  • Kategorie: Eigenschaft

  • Typ: table

  • Beschreibung: Aktuelle Erfassungsdaten der Variable

  • Beispiel:

    -- Wenn sich dieses Skript in der Variablen-Edge-Berechnung befindet, ist variable die aktuelle Variable
    -- Gibt aktuelle Erfassungsdaten der aktuellen Variable zurück
    local current_data = variable.current

8.1.3.4 Letzte Erfassungsdaten

  • Definition: last

  • Kategorie: Eigenschaft

  • Typ: table

  • Beschreibung: Letzte Erfassungsdaten der Variable

  • Beispiel:

    -- Wenn sich dieses Skript in der Variablen-Edge-Berechnung befindet, ist variable die aktuelle Variable
    -- Gibt letzte Erfassungsdaten der aktuellen Variable zurück
    local last_data = variable.last

8.1.3.5 Variablengerät

  • Definition: device

  • Kategorie: Eigenschaft

  • Typ: Device

  • Beschreibung: Gerät, zu dem die Variable gehört

  • Beispiel:

    -- Wenn sich dieses Skript in der Variablen-Edge-Berechnung befindet, ist variable die aktuelle Variable
    -- Liest den Namen des Geräts, zu dem die aktuelle Variable gehört
    local device = variable.device
    local device_name = variable.device.name

8.1.4 Publisher-Typ

Push-Plattform-Typ

class Publisher{
    json GetOriginMessage();
    int SetMessage(json message);
    json GetMessage();
}

8.1.4.1 Originale Erfassungsdaten abrufen

  • Definition: GetOriginMessage() -> table

  • Kategorie: Methode

  • Rückgabe: table Gibt originale Erfassungsdaten zurück

  • Datenformat:

        [
            {
                "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 Push-Daten setzen

  • Definition: SetMessage(message)
  • Kategorie: Methode
  • Parameter:
    • message: table-Typ
  • Rückgabe: table Gibt formatierte Push-Daten nach Formatverarbeitung zurück

8.1.4.3 Push-Daten abrufen

  • Definition: GetMessage() -> table
  • Kategorie: Methode
  • Rückgabe: table Gibt formatierte Push-Daten nach Formatverarbeitung zurück

8.1.5 Mqtt-Typ

Mqtt-Client zum Pushen

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 Mit Mqtt verbinden

  • Definition: Connect() -> int
  • Kategorie: Methode
  • Rückgabe: int Gibt Verbindungsstatus zurück, 0 für ok, sonst ungleich 0 für Verbindungsfehler

8.1.5.2 Zum Mqtt-Server pushen

  • Definition: PushMessage(message,topic,qos,retained) -> int
  • Kategorie: Methode
  • Parameter:
    • message: string string-Typ,Zu pushende Nachricht
    • topic: string string-Typ,Ziel-Topic zum Pushen
    • qos: int int-Typ,Push-QoS, 0 oder 1 oder 2
    • retained: int int-Typ,Ob behaltene Nachricht, 0 oder 1
  • Rückgabe: int Gibt Push-Status zurück, 0 für ok, sonst ungleich 0 für Verbindungsfehler

8.1.5.3 Aktuellen Serververbindungsstatus prüfen

  • Definition: CheckConnect() -> int
  • Kategorie: Methode
  • Rückgabe: int Gibt Verbindungsstatus zurück, 0 für ok, sonst ungleich 0 für Verbindungsfehler

8.1.5.4 Topic abonnieren

  • Definition: Subscribe(topic,qos) -> int
  • Kategorie: Methode
  • Parameter:
    • topic: string string-Typ,Zu abonnierendes Topic
    • qos: int int-Typ,0 oder 1 oder 2
  • Rückgabe: int Gibt Push-Status zurück, 0 für ok, sonst ungleich 0 für Verbindungsfehler

8.1.5.5 Mqtt-Serveradresse

  • Definition: address
  • Kategorie: Eigenschaft
  • Typ: string
  • Beschreibung: Format: tcp://127.0.0.1:1883

8.1.5.6 Mqtt-Authentifizierungs-Benutzername

  • Definition: username
  • Kategorie: Eigenschaft
  • Typ: string

8.1.5.7 Mqtt-Authentifizierungs-Benutzername

  • Definition: username
  • Kategorie: Eigenschaft
  • Typ: string

8.1.5.8 Mqtt-Authentifizierungs-Passwort

  • Definition: password
  • Kategorie: Eigenschaft
  • Typ: string

8.1.5.9 Mqtt-ClientID

  • Definition: client_id
  • Kategorie: Eigenschaft
  • Typ: string

8.1.5.10 Mqtt-KeepAlive

  • Definition: keepalive
  • Kategorie: Eigenschaft
  • Typ: string

8.1.5.11 Mqtt-Testament-Nachricht

  • Definition: will_msg
  • Kategorie: Eigenschaft
  • Typ: string

8.1.5.12 Mqtt-Testament-Topic

  • Definition: will_topic
  • Kategorie: Eigenschaft
  • Typ: string

8.1.5.13 Mqtt-Testament-QoS

  • Definition: will_qos
  • Kategorie: Eigenschaft
  • Typ: int
  • Beschreibung: 0 oder 1 oder 2

8.1.5.14 Aktueller Mqtt-Verbindungsstatus

  • Definition: connected
  • Kategorie: Eigenschaft
  • Typ: Bool
  • Beschreibung: Aktueller Verbindungsstatus, true / false

8.1.5.15 Mqtt-Connected-Ereignis

  • Definition: on_connect
  • Kategorie: Eigenschaft
  • Typ: function()
  • Beschreibung: Wird aufgerufen, wenn die Mqtt-Serververbindung erfolgreich ist, keine Parameter

8.1.5.16 Mqtt-Disconnected-Ereignis

  • Definition: on_disconnect
  • Kategorie: Eigenschaft
  • Typ: function()
  • Beschreibung: Wird aufgerufen, wenn der Mqtt-Server getrennt wird, keine Parameter

8.1.5.17 Mqtt-Abonnachrichten-Ereignis

  • Definition: on_message
  • Kategorie: Eigenschaft
  • Typ: function(topic,message)
  • Parameter:
    • topic: string string-Typ,Topic der empfangenen Abonnementnachricht
    • message: string string-Typ,Inhalt der empfangenen Abonnementnachricht
  • Beschreibung: Wird ausgelöst, wenn Mqtt eine Abonnementnachricht empfängt, empfängt zwei Parameter

8.1.5.18 Mqtt-SSL-CA

  • Definition: ca
  • Kategorie: Eigenschaft
  • Typ: string

8.1.5.19 Mqtt-SSL-CERT

  • Definition: cert
  • Kategorie: Eigenschaft
  • Typ: string

8.1.5.20 Mqtt-SSL-KEY

  • Definition: key
  • Kategorie: Eigenschaft
  • Typ: string

8.1.5.21 Mqtt-SSL-KEY-PASSWORT

  • Definition: key_pass
  • Kategorie: Eigenschaft
  • Typ: string

8.1.5.22 Mqtt-SSL-Version

  • Definition: ssl_version
  • Kategorie: Eigenschaft
  • Typ: string