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