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);