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