Misch-SKUs auf dem Roboter stapeln, den Sie schon haben.
SKU-Liste einfügen. Der Planer liefert Lagen, Stabilität, Dichte und Taktzeit, danach einen Export für die Steuerung.
- Alle SKUs gesetzt. Statische Stabilität innerhalb der Grenzen.
URScript-Stub (Vorschau)
# Palletizer stack plan — URScript STUB (Grimaldi Engineering, Frankfurt)
# Not commissioned. Verify pallet_frame, approach heights, gripper IO and safety config on the cell before RUN.
# pallet 1200 x 800 mm, 5 layers, 1230 mm, 249.8 kg, stability 0.97, state RUN
def palletizer_stack():
# --- cell inputs (teach on the pendant) ---
pallet_frame = p[0.0, 0.0, 0.0, 0.0, 0.0, 0.0] # pallet deck corner, x along length, y along width, z up
pick_pose = p[0.0, 0.0, 0.0, 0.0, 0.0, 0.0] # infeed pick, tool centre at box top face
approach_z = 0.150 # m above place pose
acc = 1.2
vel = 0.8
def grip():
set_standard_digital_out(0, True) # gripper class: vacuum, adapt to cell
sleep(0.3)
end
def release():
set_standard_digital_out(0, False)
sleep(0.2)
end
def place(box_pose, yaw):
target = pose_trans(pallet_frame, box_pose)
target = pose_trans(target, p[0, 0, 0, 0, 0, yaw])
above = pose_add(target, p[0, 0, approach_z, 0, 0, 0])
movel(pick_pose, acc, vel)
grip()
movel(above, acc, vel)
movel(target, acc, vel * 0.5)
release()
movel(above, acc, vel)
end
# --- placements: tool centre over box centre, z = box top face ---
place(p[0.3000, 0.2000, 0.3000, 0, 0, 0], 0.0) # 1 SKU-02 L1 15 kg
place(p[0.9000, 0.2000, 0.3000, 0, 0, 0], 0.0) # 2 SKU-02 L1 15 kg
place(p[0.3000, 0.6000, 0.3000, 0, 0, 0], 0.0) # 3 SKU-02 L1 15 kg
place(p[0.9000, 0.6000, 0.3000, 0, 0, 0], 0.0) # 4 SKU-02 L1 15 kg
place(p[0.2000, 0.2000, 0.5800, 0, 0, 0], 0.0) # 5 SKU-04 L2 11 kg
place(p[0.6000, 0.2000, 0.5800, 0, 0, 0], 0.0) # 6 SKU-04 L2 11 kg
place(p[1.0000, 0.2000, 0.5800, 0, 0, 0], 0.0) # 7 SKU-04 L2 11 kg
place(p[0.2000, 0.6000, 0.5800, 0, 0, 0], 0.0) # 8 SKU-04 L2 11 kg
place(p[0.6000, 0.6000, 0.5800, 0, 0, 0], 0.0) # 9 SKU-04 L2 11 kg
place(p[1.0000, 0.6000, 0.5800, 0, 0, 0], 0.0) # 10 SKU-04 L2 11 kg
place(p[0.2000, 0.1500, 0.8300, 0, 0, 0], 0.0) # 11 SKU-01 L3 8.5 kg
place(p[0.6000, 0.1500, 0.8300, 0, 0, 0], 0.0) # 12 SKU-01 L3 8.5 kg
place(p[1.0000, 0.1500, 0.8300, 0, 0, 0], 0.0) # 13 SKU-01 L3 8.5 kg
place(p[0.2000, 0.4500, 0.8300, 0, 0, 0], 0.0) # 14 SKU-01 L3 8.5 kg
place(p[0.6000, 0.4500, 0.8300, 0, 0, 0], 0.0) # 15 SKU-01 L3 8.5 kg
place(p[1.0000, 0.4500, 0.8300, 0, 0, 0], 0.0) # 16 SKU-01 L3 8.5 kg
place(p[0.2000, 0.7000, 0.8300, 0, 0, 0], 0.0) # 17 SKU-06 L3 2.4 kg
place(p[0.6000, 0.7000, 0.8300, 0, 0, 0], 0.0) # 18 SKU-06 L3 2.4 kg
place(p[1.0000, 0.7000, 0.8300, 0, 0, 0], 0.0) # 19 SKU-06 L3 2.4 kg
place(p[0.1250, 0.1250, 1.0300, 0, 0, 0], 0.0) # 20 SKU-05 L4 3.2 kg
place(p[0.3750, 0.1250, 1.0300, 0, 0, 0], 0.0) # 21 SKU-05 L4 3.2 kg
place(p[0.6250, 0.1250, 1.0300, 0, 0, 0], 0.0) # 22 SKU-05 L4 3.2 kg
place(p[0.8750, 0.1250, 1.0300, 0, 0, 0], 0.0) # 23 SKU-05 L4 3.2 kg
place(p[0.1250, 0.3750, 1.0300, 0, 0, 0], 0.0) # 24 SKU-05 L4 3.2 kg
place(p[0.3750, 0.3750, 1.0300, 0, 0, 0], 0.0) # 25 SKU-05 L4 3.2 kg
place(p[0.6250, 0.3750, 1.0300, 0, 0, 0], 0.0) # 26 SKU-05 L4 3.2 kg
place(p[0.8750, 0.3750, 1.0300, 0, 0, 0], 0.0) # 27 SKU-05 L4 3.2 kg
place(p[0.1500, 0.6000, 1.0300, 0, 0, 0], 0.0) # 28 SKU-03 L4 4 kg
place(p[0.4500, 0.6000, 1.0300, 0, 0, 0], 0.0) # 29 SKU-03 L4 4 kg
place(p[0.7500, 0.6000, 1.0300, 0, 0, 0], 0.0) # 30 SKU-03 L4 4 kg
place(p[1.0500, 0.6000, 1.0300, 0, 0, 0], 0.0) # 31 SKU-03 L4 4 kg
place(p[0.1500, 0.1000, 1.2300, 0, 0, 0], 0.0) # 32 SKU-03 L5 4 kg
place(p[0.4500, 0.1000, 1.2300, 0, 0, 0], 0.0) # 33 SKU-03 L5 4 kg
place(p[0.7500, 0.1000, 1.2300, 0, 0, 0], 0.0) # 34 SKU-03 L5 4 kg
place(p[1.0500, 0.1000, 1.2300, 0, 0, 0], 0.0) # 35 SKU-03 L5 4 kg
place(p[0.1500, 0.3000, 1.2300, 0, 0, 0], 0.0) # 36 SKU-03 L5 4 kg
place(p[0.4500, 0.3000, 1.2300, 0, 0, 0], 0.0) # 37 SKU-03 L5 4 kg
end
palletizer_stack()Statische Geometrie: Auflage und Schwerpunkt. Keine Transport- oder Wickelzertifizierung.Taktzeit bei 6 s pro Griff, Planungsannahme.
Was ausgeliefert wird
Planer
Höhengruppierte Lagen, Shelf-Packing mit Rotation, Auflage pro Karton, Schwerpunkt-Score, Stapellast-Prüfung. Läuft hier im Browser und in der Python-Engine im Repository.
Zustandsautomat
IDLE · RUN · HOLD · FAULT mit benannten Übergängen und den Fehlercodes des Planers. Dokumentiert unter /docs, lesbar für SPS und Mensch.
Adapter
Heute ein URScript-Stub. FANUC-, KUKA- und ABB-Adapter sind geplant und unten genau so gelistet — nicht behauptet.
Roboter-Adapter
| Roboter | Schnittstelle | Status | Hinweis |
|---|---|---|---|
| Universal Robots | URScript-Stub (movel, IO) | verfügbar | Export aus dem Planer auf dieser Seite. |
| FANUC | KAREL / TP über Socket | geplant | Kein Datum. Gelistet, sobald vorhanden. |
| KUKA | KRL über EthernetKRL | geplant | Kein Datum. Gelistet, sobald vorhanden. |
| ABB | RAPID über PC SDK | geplant | Kein Datum. Gelistet, sobald vorhanden. |
Status
Software ausgeliefert|Zelle nicht in Betrieb genommen
Software ausgeliefert: Repository öffentlich, Planer live auf dieser Seite. Zelle nicht in Betrieb genommen: noch keine Kundenzelle läuft mit dieser Software — deshalb hier kein Zellenvideo, keine Durchsatzangabe und keine Referenz, bis es eine gibt.