8. API-Beschreibung

8.1. act Befehle

Alle folgenden act-Befehle verwenden POST mit der URL /action/act.

8.1.1. Teach-Punkt speichern

Befehlspanne: save_point.

Befehlsparameter:

1/**
2* @param string name Name des aufgezeichneten Teach-Punkts
3* @param string speed Geschwindigkeit
4* @param string elbow_speed Ellenbogengeschwindigkeit
5* @param string acc Beschleunigung
6* @param string elbow_acc Ellenbogenbeschleunigung
7* @param string toolnum Werkzeugnummer
8* @param string workpiecenum Werkstücknummer
9*/

Befehlsbeispiel:

 1{
 2    cmd: "save_point",
 3    data:{
 4        name: "point1",
 5        speed: "100",
 6        elbow_speed: "100",
 7        acc: "100",
 8        elbow_acc: "100",
 9        toolnum: "1",
10        workpiecenum: "1"
11    }
12}

Befehlsrückmeldung:

1/**
2* @return status:200 "success"
3* @return status:404 "fail"
4*/

8.2. sta Befehle

Alle folgenden sta-Befehle verwenden POST mit der URL /action/sta.

8.2.1. Roboter-Statusdaten abrufen

Befehlspanne: basic.

Befehlsparameter: Keine.

Befehlsbeispiel:

1{
2    cmd: "basic",
3}

Befehlsrückmeldung:

 1/**
 2* @return status:200
 3* @param  object joints Gelenkpositionen
 4* @param  object tcp Kartesische Pose
 5* @param  array exAxisPos Positionen der externen Achsen
 6* @return status:404 "fail"
 7*/
 8{
 9    joints: {
10        j1: "90",
11        j2: "90",
12        j3: "90",
13        j4: "90",
14        j5: "90",
15        j6: "90",
16    },
17    tcp: {
18        x: "100",
19        y: "100",
20        z: "100",
21        rx: "90",
22        ry: "90",
23        rz: "90",
24    },
25    exAxisPos: [0,0,0,0]
26}

8.3. get Befehle

Alle folgenden get-Befehle verwenden POST mit der URL /action/get.

8.3.1. Teach-Punkte abrufen

Befehlspanne: get_points().

Befehlsparameter: Keine.

Befehlsbeispiel:

1{
2    cmd: "get_points"
3}

Befehlsrückmeldung:

1/**
2* @return status:200 "success"
3* @param  ${point_name}: object Informationen zum Teach-Punkt
4* @return status:404 "fail"
5*/

Beispiel für Befehlsrückmeldung:

 1{
 2    "localpoint1": {
 3        "name":"localpoint1",
 4        "elbow_speed":"1",
 5        "elbow_acc":"1",
 6        "x": "1",
 7        "y": "1",
 8        "z": "1",
 9        "rx": "1",
10        "ry": "1",
11        "rz": "1",
12        "j1": "1",
13        "j2": "1",
14        "j3": "1",
15        "j4": "1",
16        "j5": "1",
17        "j6": "1",
18        "toolnum": "1",
19        "workpiecenum": "1",
20        "speed": "1",
21        "acc": "1",
22        "E1": "1",
23        "E2": "1",
24        "E3": "1",
25        "E4": "1"
26    }
27}

8.3.2. Systemkonfiguration abrufen

Befehlspanne: get_syscfg().

Befehlsparameter: Keine.

Befehlsbeispiel:

1{
2    cmd: "get_syscfg"
3}

Befehlsrückmeldung:

1/**
2* @return status:200 "success"
3* @param  string log_count Maximale Anzahl der Protokolltage
4* @param  string language Aktuell verwendetes Sprachpaket
5* @param  string lifespan Timeout-Zeit
6* @return status:404 "fail"
7*/

Beispiel für Befehlsrückmeldung:

1{
2    log_count:"10",
3    language:"zh",
4    lifespan:"1800"
5}

8.4. set Befehle

Alle folgenden set-Befehle verwenden POST mit der URL /action/set.

8.4.1. Systemvariablenbefehl senden

Befehlspanne: 511.

Befehlsparameter:

1/**
2* @param int index Systemvariablenindex: 1-20
3* @param int value Systemvariablenwert
4*/

Befehlsbeispiel:

1{
2    cmd: 511,
3    data:{
4        content:"SetSysVarValue(2,1)"
5    }
6}

Befehlsrückmeldung:

1/**
2* @return status:200 1: Erfolg, 0: Fehler
3* @return status:404 "fail"
4*/

Beispiel für Befehlsrückmeldung:

11

8.4.2. Systemvariablenwert abrufen

Befehlspanne: 512.

Befehlsparameter:

1/**
2* @param int index Systemvariablenindex: 1-20
3*/

Befehlsbeispiel:

1{
2    cmd: 512,
3    data:{
4        content:"GetSysVarValue(2)"
5    }
6}

Befehlsrückmeldung:

1/**
2* @return status:200
3* @param int value Systemvariablenwert
4* @return status:404 "fail"
5*/

Beispiel für Befehlsrückmeldung:

11

8.5. better-sqlite3 Befehle

8.5.1. Ersten Datensatz in der Datenbank abfragen

Befehlsparameter:

1/**
2* @param string db_name Datenbankname (mit absolutem Pfad)
3* @param string sql SQL-Anweisung
4* @return string result Abgefragter erster Datensatz
5*/

Befehlsinhalt:

1queryget(string db_name, string sql);

8.5.2. Alle Datensätze in der Datenbank abfragen

Befehlsparameter:

1/**
2* @param string db_name Datenbankname (mit absolutem Pfad)
3* @param string sql SQL-Anweisung
4* @return string result Abgefragte alle Datensätze
5*/

Befehlsinhalt:

1queryall(string db_name, string sql);

8.5.3. Datenbankanweisung ausführen

Befehlsparameter:

1/**
2* @param string db_name Datenbankname (mit absolutem Pfad)
3* @param string sql SQL-Anweisung
4* @param object obj Parameter, die für die Ausführung der SQL-Anweisung erforderlich sind
5* @return \
6*/

Befehlsinhalt:

1exec(string db_name, string sql, object obj);

8.6. socket Befehle

8.6.1. socket senden

Befehlsparameter:

1/**
2* @param string send_content Zu sendender Inhalt des Socket-Kommunikationsbefehls
3* @return \
4*/

Befehlsinhalt:

1socket_cmd.send(string send_content); //8065
2socket_file.send(string send_content); //8067

8.6.2. socket empfangen

Befehlsparameter:

1/**
2* @return string recv_content Antwortinhalt des Socket-Kommunikationsbefehls
3*/

Befehlsinhalt:

1socket_cmd.recv(); //8065
2socket_file.recv(); //8067

8.7. Dateioperationsbefehle

8.7.1. Dateiinhalt schreiben

1/**
2* @param String filename Dateipfad
3* @param string content Zu schreibender Inhalt
4* @return true/false
5*/
6
7write(filename, content);

8.7.2. Dateiinhalt lesen

1/**
2* @param String filename Dateipfad
3* @return String Dateiinhalt
4*/
5
6read(filename);

8.7.3. Dateiberechtigungen ändern

1/**
2* @param String filename Dateipfad
3* @param Number mode Berechtigungsmodus (z.B. 0644)
4* @return true/false
5*/
6
7chmod(filename, mode);

8.7.4. Verzeichnisinhalt lesen, einschließlich Unterverzeichnisse

1/**
2* @param String path Verzeichnispfad
3* @return Array Array mit Dateinamen
4*/
5
6readdir(path);

8.8. Komprimierungs- und Dekomprimierungsbefehle

Bemerkung

Unterscheidung zwischen LA- und QX-Version:

LA-Modulimport: var execSync = require(‚child_process‘).execSync;

QX-Modulimport: var tar_utils = require(‚/usr/local/etc/node/sys/tools/tar_utils‘);

8.8.1. tar.gz-Archiv erstellen

Beispiel zum Erstellen eines tar.gz-Archivs (LA):

1var cmd = 'cd / && tar -zcvf ' + FILENAME + ' -C ' + DIR;
2execSync(cmd);

Befehlsbeschreibung zum Erstellen eines tar.gz-Archivs (QX):

1/**
2* @param {Array|String} sourcePaths Pfade der Quelldateien/-verzeichnisse (Array oder einzelner Pfad)
3* @param String targetFile Zielpfad der Archivdatei
4* @param Function callback Callback-Funktion, Parameter ist (error)
5* @param String basePath Basispfad, Standard ist '/'
6* @return \
7*/
8
9createTarGz(sourcePaths, targetFile, callback, basePath);

8.8.2. tar.gz-Datei entpacken

Beispiel zum Entpacken einer tar.gz-Datei (LA):

1var cmd = 'cd / && tar -zxvf ' + FILENAME;
2execSync(cmd);

Befehlsbeschreibung zum Entpacken einer tar.gz-Datei (QX):

1/**
2* @param String sourceFile Pfad der Quellarchivdatei
3* @param String targetDir Zielverzeichnis zum Entpacken
4* @param Function callback Callback-Funktion, Parameter ist (error)
5* @return \
6*/
7extractTarGz(sourceFile, targetDir, callback);