8. API
8.1. Instrução act
Todas as instruções act abaixo usam POST, com a URL /action/act.
8.1.1. Salvar Ponto de Ensino
Nome da instrução: save_point.
Parâmetros da instrução:
1/**
2* @param string name Nome do ponto de ensino a ser registrado
3* @param string speed Velocidade
4* @param string elbow_speed Velocidade do cotovelo
5* @param string acc Aceleração
6* @param string elbow_acc Aceleração do cotovelo
7* @param string toolnum Número da ferramenta
8* @param string workpiecenum Número da peça
9*/
Exemplo da instrução:
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}
Retorno da instrução:
1/**
2* @return status:200 "success"
3* @return status:404 "fail"
4*/
8.2. Instrução sta
Todas as instruções sta abaixo usam POST, com a URL /action/sta.
8.2.1. Obter Dados de Estado do Robô
Nome da instrução: basic.
Parâmetros da instrução: Nenhum.
Exemplo da instrução:
1{
2 cmd: "basic",
3}
Retorno da instrução:
1/**
2* @return status:200
3* @param object joints Posições das juntas
4* @param object tcp Pose cartesiana
5* @param array exAxisPos Posições dos eixos externos
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 x: "100",
20 z: "100",
21 rx: "90",
22 ry: "90",
23 rz: "90",
24 },
25 exAxisPos: [0,0,0,0]
26}
8.3. Instrução get
Todas as instruções get abaixo usam POST, com a URL /action/get.
8.3.1. Obter Pontos de Ensino
Nome da instrução: get_points().
Parâmetros da instrução: Nenhum.
Exemplo da instrução:
1{
2 cmd: "get_points"
3}
Retorno da instrução:
1/**
2* @return status:200 "success"
3* @param ${point_name}: object Informações relacionadas ao ponto de ensino
4* @return status:404 "fail"
5*/
Exemplo de retorno da instrução:
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. Obter Configuração do Sistema
Nome da instrução: get_syscfg().
Parâmetros da instrução: Nenhum.
Exemplo da instrução:
1{
2 cmd: "get_syscfg"
3}
Retorno da instrução:
1/**
2* @return status:200 "success"
3* @param string log_count Número máximo de dias de log
4* @param string language Pacote de idioma atualmente em uso
5* @param string lifespan Tempo limite de inatividade
6* * @return status:404 "fail"
7*/
Exemplo de retorno da instrução:
1{
2 log_count:"10",
3 language:"zh",
4 lifespan:"1800"
5}
8.4. Instrução set
Todas as instruções set abaixo usam POST, com a URL /action/set.
8.4.1. Instrução para Enviar Variável de Sistema
Nome da instrução: 511.
Parâmetros da instrução:
1/**
2* @param int index Número de sequência da variável de sistema: 1-20
3* @param int value Valor da variável de sistema
4*/
Exemplo da instrução:
1{
2 cmd: 511,
3 data:{
4 content:"SetSysVarValue(2,1)"
5 }
6}
Retorno da instrução:
1/**
2* @return status:200 1: sucesso, 0: falha
3* @return status:404 "fail"
4*/
Exemplo de retorno da instrução:
11
8.4.2. Instrução para Obter Variável de Sistema
Nome da instrução: 512.
Parâmetros da instrução:
1/**
2* @param int index Número de sequência da variável de sistema: 1-20
3* /
Exemplo da instrução:
1{
2 cmd: 512,
3 data:{
4 content:"GetSysVarValue(2)"
5 }
6}
Retorno da instrução:
1/**
2* @return status:200
3* @param int value Valor da variável de sistema
4* @return status:404 "fail"
5* /
Exemplo de retorno da instrução:
11
8.5. Instrução better-sqlite3
8.5.1. Consultar o Primeiro Registro no Banco de Dados
Parâmetros da instrução:
1/**
2* @param string db_name Nome do banco de dados (inclui caminho absoluto)
3* @param string sql Comando SQL
4* @return string result Primeiro registro encontrado
5*/
Conteúdo da instrução:
1queryget(string db_name, string sql);
8.5.2. Consultar Todos os Registros no Banco de Dados
Parâmetros da instrução:
1/**
2* @param string db_name Nome do banco de dados (inclui caminho absoluto)
3* @param string sql Comando SQL
4* @return string result Todos os registros encontrados
5*/
Conteúdo da instrução:
1queryall(string db_name, string sql);
8.5.3. Executar Comando SQL
1/**
2* @param string db_name Nome do banco de dados (inclui caminho absoluto)
3* @param string sql Comando SQL
4* @param object obj Parâmetros necessários para a execução do comando SQL
5* @return \
6*/
Parâmetros da instrução:
1exec(string db_name, string sql, object obj);
Conteúdo da instrução:
8.6. Instrução socket
8.6.1. Envio via socket (socket send)
Parâmetros da instrução:
1/**
2* @param string send_content Conteúdo a ser enviado pelo comando de comunicação socket
3* @return \
4*/
Conteúdo da instrução:
1socket_cmd.send(string send_content);//8065
2socket_file.send(string send_content);//8067
8.6.2. Recepção via socket (socket recv)
Parâmetros da instrução:
1/**
2* @return string recv_content Conteúdo de resposta do comando de comunicação socket
3*/
Conteúdo da instrução:
1socket_cmd.recv();//8065
2socket_file.recv();//8067
8.7. Instruções de Operação de Arquivo
8.7.1. Escrever Conteúdo em um Arquivo
1/**
2* @param String filename Caminho do arquivo
3* @param string content Conteúdo a ser escrito
4* @return true/false
5*/
6
7write(filename, content);
8.7.2. Ler Conteúdo de um Arquivo
1/**
2* @param String filename Caminho do arquivo
3* @param string content Conteúdo a ser escrito
4* @return String Conteúdo do arquivo
5*/
6
7read(filename);
8.7.3. Modificar Permissões de um Arquivo
1/**
2* @param String filename Caminho do arquivo
3* @param Number mode Modo de permissão (ex: 0644)
4* @return true/false
5*/
6
7chmod(filename, mode);
8.7.4. Ler Conteúdo de um Diretório, Incluindo Subdiretórios
1/**
2* @param String path Caminho do diretório
3* @return Array Array de nomes de arquivos
4*/
5
6readdir(path);
8.8. Instruções de Compactação e Descompactação
Nota
Diferenciar entre versões LA e QX:
Importação do módulo LA: var execSync = require(“child_process”).execSync;
Importação do módulo QX: var tar_utils = require(“/usr/local/etc/node/sys/tools/tar_utils”);
8.8.1. Criar Arquivo Compactado tar.gz
Exemplo de criação de arquivo tar.gz (LA):
1var cmd = 'cd / && tar -zcvf ' + FILENAME + '-C ' + DIR;
2execSync(cmd);
Descrição da instrução para criar arquivo tar.gz (QX):
1/**
2* @param {Array|String} sourcePaths Array ou caminho único dos arquivos/diretórios de origem
3* @param String targetFile Caminho do arquivo compactado de destino
4* @param Function callback Função de retorno, parâmetro (error)
5* @param String basePath Caminho base, padrão é '/'
6* @return \
7*/
8
9createTarGz(sourcePaths, targetFile, callback, basePath);
8.8.2. Descompactar Arquivo tar.gz
Exemplo de descompactação de arquivo tar.gz (LA):
1var cmd = 'cd / && tar -zxvf ' + FILENAME;
2execSync(cmd);
Descrição da instrução para descompactar arquivo tar.gz (QX):
1/**
2* @param String sourceFile Caminho do arquivo compactado de origem
3* @param String targetDir Diretório de destino para descompactação
4* @param Function callback Função de retorno, parâmetro (error)
5* @return \
6*/
7extractTarGz(sourceFile, targetDir, callback);