7. FRCap-Beispiele
7.1. FAIRINO Palettierer
Nachdem Sie die Datei „Palettierer.plugin“ aus dem Build-Ordner des Projekts in der WebApp hochgeladen, registriert und aktiviert haben, kann sie verwendet werden.
Abbildung 7.1 Verwendung des Palettier-FRCap
7.1.1. Palettier-Werkstückkonfiguration
Befehlsname: palletizing_config_box.
Befehlsparameter:
1/**
2* @param int length Werkstücklänge
3* @param int width Werkstückbreite
4* @param int height Werkstückhöhe
5* @param int payload Werkstücklast
6* @param string grip_point Werkstückgreifpunkt
7* /
Befehlsbeispiel:
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}
Befehlsrückmeldung:
1/**
2* @return status:200 "success"
3* @return status:404 "fail"
4*/
7.1.2. Palettier-Palettenkonfiguration
Befehlsname: palletizing_config_pallet.
Befehlsparameter:
1/**
2* @param int front Palettenvorderseite (Länge)
3* @param int side Palettenseite (Breite)
4* @param int height Palettenhöhe
5* @param int left_pallet Linke Palette aktivieren (1) / deaktivieren (0)
6* @param int right_pallet Rechte Palette aktivieren (1) / deaktivieren (0)
7*/
Befehlsbeispiel:
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}
Befehlsrückmeldung:
1/**
2* @return status:200 "success"
3* @return status:404 "fail"
4*/
7.1.3. Palettier-Erweiterte Konfiguration
Befehlsname: palletizing_advanced_cfg.
Befehlsparameter:
1/**
2* @param string height Anhebehöhe am Greifpunkt
3* @param string x1 Annäherungspunkt 1: x-Offset (mm)
4* @param string y1 Annäherungspunkt 1: y-Offset (mm)
5* @param string z1 Annäherungspunkt 1: z-Offset (mm)
6* @param string x2 Annäherungspunkt 2: x-Offset (mm)
7* @param string y2 Annäherungspunkt 2: y-Offset (mm)
8* @param string z2 Annäherungspunkt 2: z-Offset (mm)
9* @param string time Wartezeit für Materialaufnahme (ms)
10*/
Befehlsbeispiel:
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}
Befehlsrückmeldung:
1/**
2* @return status:200 "success"
3* @return status:404 "fail"
4*/
7.1.4. Palettier-Geräteabmessungskonfiguration
Befehlsname: palletizing_config_device.
Befehlsparameter:
1/**
2* @param int x Absolutwert der x-Koordinate des oberen rechten Eckpunkts der linken Palette relativ zum Roboter-Basiskoordinatensystem
3* @param int y Absolutwert der y-Koordinate des oberen rechten Eckpunkts der linken Palette relativ zum Roboter-Basiskoordinatensystem
4* @param int z Absolutwert der z-Koordinate des oberen rechten Eckpunkts der linken Palette relativ zum Roboter-Basiskoordinatensystem
5* @param int angle Rotationswinkel bei der Roboterinstallation
6*/
Befehlsbeispiel:
1{
2 cmd: "palletizing_config_device",
3 data: {
4 x: 2400,
5 y: 1800,
6 z: 120,
7 angle: 0
8 }
9}
Befehlsrückmeldung:
1/**
2* @return status:200 "success"
3* @return status:404 "fail"
4*/
7.1.5. Palettier-Musterkonfiguration
Befehlsname: palletizing_config_pattern.
Befehlsparameter:
1/**
2* @param int layers Anzahl der Palettierlagen
3* @param int box_gap Abstand zwischen Werkstück-Pixeln (mm)
4* @param string sequence Palettier-Arbeitsmuster-Sequenz (z.B. "a,b,a,b")
5* @param int pattern_b_enable Muster b aktivieren (1) / deaktivieren (0)
6* @param string left_pattern_a Kartesische Koordinaten für Muster a am linken Arbeitsplatz
7* @param string left_pattern_b Kartesische Koordinaten für Muster b am linken Arbeitsplatz
8* @param string right_pattern_a Kartesische Koordinaten für Muster a am rechten Arbeitsplatz
9* @param string right_pattern_b Kartesische Koordinaten für Muster b am rechten Arbeitsplatz
10* @param string origin_pattern_a Kartesische Koordinaten für Startmuster a
11* @param string origin_pattern_b Kartesische Koordinaten für Startmuster b
12*/
Befehlsbeispiel:
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}
Befehlsrückmeldung:
1/**
2* @return status:200 "success"
3* @return status:404 "fail"
4*/
7.1.6. Palettier-Programmgenerierung
Befehlsname: generate_palletizing_program.
Befehlsparameter:
1/**
2* @param string palletizing_name Name des Palettier-Programms
3* @param string depalletizing_name Name des Entpalettier-Programms
4* @param string flag Bestimmt, ob Palettier- (Index 0) und/oder Entpalettier-Programm (Index 1) generiert werden sollen. 0 = nicht generieren, 1 = generieren. Format: z.B. "[0,1]"
5*/
Befehlsbeispiel:
1{
2 cmd: "generate_palletizing_program",
3 data: {
4 palletizing_name: "palletizing_1",
5 depalletizing_name:"depalletizing_1",
6 flag:"[0,1]"
7 }
8}
Befehlsrückmeldung:
1/**
2* @return status:200 "success"
3* @return status:404 "fail"
4*/
7.1.7. Palettierrezept abrufen
Befehlsname: get_palletizing_formula.
Befehlsparameter:
1/**
2* @param string name Name des Palettierrezepts
3*/
Befehlsbeispiel:
1{
2 cmd: "get_palletizing_formula",
3 data: {
4 name: "palletizing_1"
5 }
6}
Befehlsrückmeldung:
1/**
2* @return status:200
3* @param object box_config Werkstückkonfiguration
4* @param object pallet_config Palettenkonfiguration
5* @param object device_config Installationsgeräteposition
6* @param object pattern_config Musterkonfiguration
7* @param object program_config Programmgenerierungskonfiguration
8* @param object lefttransitionpoint Kartesische Koordinaten des linken Übergangspunkts
9* @param object righttransitionpoint Kartesische Koordinaten des rechten Übergangspunkts
10* @param object advanced_config Erweiterte Konfiguration
11* @return status:404 "fail"
12*/
Beispiel für Befehlsrückmeldung:
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. Liste der vorhandenen Palettierrezeptnamen abrufen
Befehlsname: get_palletizing_formula_list.
Befehlsparameter: Keine.
Befehlsbeispiel:
1{
2 cmd: "get_palletizing_formula_list"
3}
Befehlsrückmeldung:
1/**
2* @return status:200
3* @param Array ${name} Liste der Palettiernamen
4* @return status:404 "fail"
5*/
Beispiel für Befehlsrückmeldung:
1["palletizing1"]