7. Casos de FRCap

7.1. FAIRINO Palletizer (Empilhador)

Após fazer o upload, registrar e ativar o arquivo «Palletizer.plugin» (Empilhador) localizado na pasta build do projeto no WebApp, ele estará pronto para uso.

../_images/0111.png

Figura 7.1 Uso do FRCap de Empilhamento

7.1.1. Configuração da Peça para Empilhamento

Nome da instrução: palletizing_config_box.

Parâmetros da instrução:

1/**
2* @param  int length Comprimento da peça
3* @param  int width Largura da peça
4* @param  int height Altura da peça
5* @param  int payload Carga da peça
6* @param  string grip_point Ponto de agarramento da peça
7* /

Exemplo da instrução:

 1{
 2   cmd: "palletizing_config_box",
 3   data: {
 4      length: 800,
 5      width: 615,
 6      height: 312,
 7      payload: 2.34,
 8      grip_point: "grippoint"
 9   }
10}

Retorno da instrução:

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

7.1.2. Configuração do Palete para Empilhamento

Nome da instrução: palletizing_config_pallet.

Parâmetros da instrução:

1/**
2* @param  int front Frente do palete
3* @param  int side Lateral do palete
4* @param  int height Altura do palete
5* @param  int left_pallet Habilitar palete esquerdo
6* @param  int right_pallet Habilitar palete direito
7*/

Exemplo da instrução:

 1{
 2   cmd: "palletizing_config_pallet",
 3   data: {
 4         front: 1200,
 5         side: 1000,
 6         height: 110,
 7         left_pallet: 0,
 8         right_pallet: 1
 9      }
10}

Retorno da instrução:

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

7.1.3. Configuração Avançada para Empilhamento

Nome da instrução: palletizing_advanced_cfg.

Parâmetros da instrução:

 1/**
 2* @param  string height Altura de elevação do ponto de agarramento do empilhamento
 3* @param  string x1 Ponto de aproximação 1 do empilhamento: deslocamento na direção x, unidade mm
 4* @param  string y1 Ponto de aproximação 1 do empilhamento: deslocamento na direção y, unidade mm
 5* @param  string z1 Ponto de aproximação 1 do empilhamento: deslocamento na direção z, unidade mm
 6* @param  string x2 Ponto de aproximação 2 do empilhamento: deslocamento na direção x, unidade mm
 7* @param  string y2 Ponto de aproximação 2 do empilhamento: deslocamento na direção y, unidade mm
 8* @param  string z2 Ponto de aproximação 2 do empilhamento: deslocamento na direção z, unidade mm
 9* @param  string time Tempo de espera para sucção, unidade ms
10*/

Exemplo da instrução:

 1{
 2   cmd: "palletizing_advanced_cfg",
 3   data: {
 4   height: "1000",
 5         x1: "100",
 6         y1: "100",
 7         z1: "100",
 8         x2: "10",
 9         y2: "10",
10         z2: "10",
11         time: "1"
12      }
13}

Retorno da instrução:

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

7.1.4. Configuração das Dimensões do Equipamento de Empilhamento

Nome da instrução: palletizing_config_device.

Parâmetros da instrução:

1/**
2* @param  int x Valor absoluto na direção x do ponto do canto superior direito do palete esquerdo em relação ao sistema de coordenadas base do robô
3* @param  int y Valor absoluto na direção y do ponto do canto superior direito do palete esquerdo em relação ao sistema de coordenadas base do robô
4* @param  int z Valor absoluto na direção z do ponto do canto superior direito do palete esquerdo em relação ao sistema de coordenadas base do robô
5* @param  int angle Ângulo de rotação durante a instalação do robô
6*/

Exemplo da instrução:

1{
2   cmd: "palletizing_config_device",
3   data: {
4      x: 2400,
5      y: 1800,
6      z: 120,
7      angle: 0
8   }
9}

Retorno da instrução:

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

7.1.5. Configuração do Padrão de Empilhamento

Nome da instrução: palletizing_config_pattern.

Parâmetros da instrução:

 1/**
 2* @param  int layers Número de camadas do empilhamento
 3* @param  int box_gap Espaçamento entre os pontos da peça, unidade: mm
 4* @param  string sequence Sequência do modo de trabalho do empilhamento
 5* @param  int pattern_b_enable Se o padrão b está ativado, 1: ativado, 0: desativado
 6* @param  string left_pattern_a Coordenadas cartesianas do padrão a para o posto esquerdo
 7* @param  string left_pattern_b Coordenadas cartesianas do padrão b para o posto esquerdo
 8* @param  string right_pattern_a Coordenadas cartesianas do padrão a para o posto direito
 9* @param  string right_pattern_b Coordenadas cartesianas do padrão b para o posto direito
10* @param  string origin_pattern_a Coordenadas cartesianas do padrão a inicial
11* @param  string origin_pattern_b Coordenadas cartesianas do padrão b inicial
12*/

Exemplo da instrução:

 1{
 2   cmd: "palletizing_config_pattern",
 3   data: {
 4      layers: 8,
 5      box_gap: 0,
 6      sequence: "a,b,a,b,a,b,a,b",
 7      pattern_b_enable: 1,
 8      left_pattern_a: "{\"1\": [[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3]]}",
 9      "left_pattern_b": "{\"1\": [[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3]]}",
10      "right_pattern_a": "{\"1\": [[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3]]}",
11      "right_pattern_b": "{\"1\": [[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3]]}",
12      "origin_pattern_a": "[]",
13      "origin_pattern_b": "[]"
14   }
15}

Retorno da instrução:

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

7.1.6. Geração do Programa de Empilhamento

Nome da instrução: generate_palletizing_program.

Parâmetros da instrução:

1/**
2* @param  string palletizing_name Nome do empilhamento
3* @param  string depalletizing_name Nome do desempilhamento
4* @param  string flag Se o programa de empilhamento ou desempilhamento será gerado, 0-não gerar, 1-gerar
5*/

Exemplo da instrução:

1{
2   cmd: "generate_palletizing_program",
3   data: {
4      palletizing_name: "palletizing_1",
5      depalletizing_name:"depalletizing_1",
6      flag:"[0,1]"
7   }
8}

Retorno da instrução:

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

7.1.7. Obter Receita de Empilhamento

Nome da instrução: get_palletizing_formula.

Parâmetros da instrução:

1/**
2* @param  string name Nome da receita de empilhamento
3*/

Exemplo da instrução:

1{
2   cmd: "get_palletizing_formula",
3   data: {
4      name: "palletizing_1"
5   }
6}

Retorno da instrução:

 1/**
 2* @return status:200
 3* @param  object box_config Configuração da peça
 4* @param  object pallet_config Configuração do palete
 5* @param  object device_config Posição do equipamento instalado
 6* @param  object pattern_config Configuração do padrão
 7* @param  object program_config Configuração da geração do programa
 8* @param  object lefttransitionpoint Coordenadas cartesianas do ponto de transição esquerdo
 9* @param  object righttransitionpoint Coordenadas cartesianas do ponto de transição direito
10* @param  object advanced_config Configuração avançada
11* @return status:404 "fail"
12*/

Exemplo de retorno da instrução:

 1{
 2   "box_config": {
 3     "flag": 1,
 4     "length": 200,
 5     "width": 400,
 6     "height": 300,
 7     "payload": 2.34,
 8     "grip_point": "grippoint"
 9   },
10   "pallet_config": {
11     "flag": 1,
12     "front": 1000,
13     "side": 1200,
14     "height": 110,
15      "left_pallet": 0,
16      "right_pallet": 1
17   },
18   "device_config": {
19   "flag": 1,
20   "x": 2400,
21   "y": 1800,
22   "z": 120,
23   "angle": 0
24   },
25   "pattern_config": {
26   "flag": 1,
27   "layers": 8,
28   "box_gap": 0,
29   "sequence": "a,b,a,b,a,b,a,b",
30   "pattern_b_enable": 1,
31   "left_pattern_a": "{\"1\": [[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3]]}",
32   "left_pattern_b": "{\"1\": [[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3]]}",
33   "right_pattern_a": "{\"1\": [[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3]]}",
34   "right_pattern_b": "{\"1\": [[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3]]}",
35   "origin_pattern_a": "[]",
36   "origin_pattern_b": "[]"
37   },
38   "program_config": {
39   "palletizing_name": "palletizing_1",
40   "depalletizing_name":"depalletizing_1",
41   "flag":"[0,1]"
42   },
43   "lefttransitionpoint":{
44   "j1":"120",
45   "j2":"120",
46   "j3":"120",
47   "j4":"120",
48   "j5":"120",
49   "j6":"120"
50   },
51   "righttransitionpoint":{
52   "j1":"120",
53   "j2":"120",
54   "j3":"120",
55   "j4":"120",
56   "j5":"120",
57   "j6":"120"
58   },
59   "advanced_config":{
60   "height": "1000",
61   "x1": "100",
62   "y1": "100",
63   "z1": "100",
64   "x2": "10",
65   "y2": "10",
66   "z2": "10",
67   "time": "1"
68   }
69}

7.1.8. Obter Lista de Nomes de Receitas de Empilhamento Existentes

Nome da instrução: get_palletizing_formula_list.

Parâmetros da instrução: Nenhum.

Exemplo da instrução:

1{
2   cmd: "get_palletizing_formula_list"
3}

Retorno da instrução:

1/**
2* @return status:200
3* @param  Array ${name} Lista de nomes de empilhamentos
4* @return status:404 "fail"
5*/

Exemplo de retorno da instrução:

1["palletizing1"]