8. Spiegazione API

8.1. Istruzioni Act

Tutte le seguenti istruzioni act utilizzano POST, l’URL è /action/act.

8.1.1. Salvare Punti di Insegnamento

Nome istruzione: save_point.

Parametri istruzione:

1/**
2* @param  string name nome del punto di insegnamento registrato
3* @param  string speed velocità
4* @param  string elbow_speed velocità del gomito
5* @param  string acc accelerazione
6* @param  string elbow_acc accelerazione del gomito
7* @param  string toolnum numero utensile
8* @param  string workpiecenum numero pezzo in lavorazione
9*/

Esempio istruzione:

 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}

Feedback istruzione:

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

8.2. Istruzioni Sta

Tutte le seguenti istruzioni sta utilizzano POST, l’URL è /action/sta.

8.2.1. Ottenere Dati di Stato del Robot

Nome istruzione: basic.

Parametri istruzione: Nessuno.

Esempio istruzione:

1{
2    cmd: "basic",
3}

Feedback istruzione:

 1/**
 2* @return status:200
 3* @param  object joints posizione giunti
 4* @param  object tcp posa cartesiana
 5* @param  array exAxisPos posizione assi esterni
 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. Istruzioni Get

Tutte le seguenti istruzioni get utilizzano POST, l’URL è /action/get.

8.3.1. Ottenere Punti di Insegnamento

Nome istruzione: get_points().

Parametri istruzione: Nessuno.

Esempio istruzione:

1{
2    cmd: "get_points"
3}

Feedback istruzione:

1/**
2* @return status:200 "success"
3* @param  ${point_name}: object informazioni correlate al punto di insegnamento
4* @return status:404 "fail"
5*/

Esempio feedback istruzione:

 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. Ottenere Configurazione di Sistema

Nome istruzione: get_syscfg().

Parametri istruzione: Nessuno.

Esempio istruzione:

1{
2    cmd: "get_syscfg"
3}

Feedback istruzione:

1/**
2* @return status:200 "success"
3* @param  string log_count numero massimo di giorni di log registrati
4* @param  string language pacchetto lingua attualmente in uso
5* @param  string lifespan tempo di timeout
6* @return status:404 "fail"
7*/

Esempio feedback istruzione:

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

8.4. Istruzioni Set

Tutte le seguenti istruzioni set utilizzano POST, l’URL è /action/set.

8.4.1. Inviare Istruzioni Variabili di Sistema

Nome istruzione: 511.

Parametri istruzione:

1/**
2* @param int index numero variabile di sistema: 1-20
3* @param int value valore variabile di sistema
4*/

Esempio istruzione:

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

Feedback istruzione:

1/**
2* @return status:200 1: rappresenta successo, 0: rappresenta fallimento
3* @return status:404 "fail"
4*/

Esempio feedback istruzione:

11

8.4.2. Ottenere Istruzioni Variabili di Sistema

Nome istruzione: 512.

Parametri istruzione:

1/**
2* @param int index numero variabile di sistema: 1-20
3*/

Esempio istruzione:

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

Feedback istruzione:

1/**
2* @return status:200
3* @param int value valore variabile di sistema
4* @return status:404 "fail"
5*/

Esempio feedback istruzione:

11

8.5. Istruzioni better-sqlite3

8.5.1. Interrogare Prima Riga di Record nel Database

Parametri istruzione:

1/**
2* @param string db_name nome database (include percorso assoluto)
3* @param string sql istruzione sql
4* @return string result prima riga di record interrogata
5*/

Contenuto istruzione:

1queryget(string db_name, string sql);

8.5.2. Interrogare Tutti i Record nel Database

Parametri istruzione:

1/**
2* @param string db_name nome database (include percorso assoluto)
3* @param string sql istruzione sql
4* @return string result tutti i record interrogati
5*/

Contenuto istruzione:

1queryall(string db_name, string sql);

8.5.3. Eseguire Istruzioni Database

Parametri istruzione:

1/**
2* @param string db_name nome database (include percorso assoluto)
3* @param string sql istruzione sql
4* @param object obj parametri richiesti per esecuzione istruzione sql
5* @return \
6*/

Contenuto istruzione:

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

8.6. Istruzioni Socket

8.6.1. Socket Send

Parametri istruzione:

1/**
2* @param string send_content contenuto inviato istruzione comunicazione socket
3* @return \
4*/

Contenuto istruzione:

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

8.6.2. Socket Recv

Parametri istruzione:

1/**
2* @return string recv_content contenuto risposta istruzione comunicazione socket
3*/

Contenuto istruzione:

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

8.7. Istruzioni Operazioni File

8.7.1. Scrivere Contenuto File

1/**
2* @param String filename percorso file
3* @param string content contenuto da scrivere
4* @return true/false
5*/
6
7write(filename, content);

8.7.2. Leggere Contenuto File

1/**
2* @param String filename percorso file
3* @return String contenuto file
4*/
5
6read(filename);

8.7.3. Modificare Permessi File

1/**
2* @param String filename percorso file
3* @param Number mode modalità permessi (es. 0644)
4* @return true/false
5*/
6
7chmod(filename, mode);

8.7.4. Leggere Contenuto Directory, Include Sottodirectory

1/**
2* @param String path percorso file
3* @return Array array nomi file
4*/
5
6readdir(path);

8.8. Istruzioni Compressione/Decompressione

Nota

Distinguere versioni LA e QX:

Importazione modulo LA: var execSync = require(“child_process”).execSync;

Importazione modulo QX: var tar_utils = require(“/usr/local/etc/node/sys/tools/tar_utils”);

8.8.1. Creare File Compresso tar.gz

Esempio creazione file compresso tar.gz (LA):

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

Descrizione istruzione creazione file compresso tar.gz (QX):

1/**
2* @param {Array|String} sourcePaths array percorsi file/directory sorgente o percorso singolo
3* @param String targetFile percorso file compresso target
4* @param Function callback funzione callback, parametro (error)
5* @param String basePath percorso base, default '/'
6* @return \
7*/
8
9createTarGz(sourcePaths, targetFile, callback, basePath);

8.8.2. Decomprimere File tar.gz

Esempio decompressione file tar.gz (LA):

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

Descrizione istruzione decompressione file tar.gz (QX):

1/**
2* @param String sourceFile percorso file compresso sorgente
3* @param String targetDir directory target decompressione
4* @param Function callback funzione callback, parametro (error)
5* @return \
6*/
7extractTarGz(sourceFile, targetDir, callback);