Grundlæggende kobotprogrammering til fabriksautomation

Kobotprogrammering består i at definere robotbevægelser og logik for at automatisere produktionsopgaver. Den bygger på visuelle grænseflader og håndføring frem for kompleks scripting, så operatører nemt opbygger rutiner.

Indholdsfortegnelse

Kobotprogrammering består i at definere robotbevægelser og logik ved hjælp af visuelle grænseflader, håndføring eller traditionelle scriptsprog for at automatisere produktionsopgaver. Modsat ældre robotter, der kræver specialiseret kode, lader kollaborative robotter operatørerne bygge fungerende rutiner gennem drag-and-drop-handlinger. I vores arbejde med at designe automationsceller i Odense ser vi ofte virksomheder antage, at de behøver softwareudviklere for at sætte en robot i drift. Virkeligheden er, at moderne kobotter flytter den krævede kompetence fra at skrive syntaks til at forstå procesflow.

Hvis din operatør forstår, hvordan et produkt bevæger sig fra transportbånd til palle, kan vedkommende oversætte den logik til et fungerende program. Håndføring giver brugeren mulighed for fysisk at flytte armen til bestemte punkter i rummet og gemme koordinaterne med det samme. Softwaren forbinder derefter punkterne med flydende bevægelser.

Sådan står visuelle grænseflader over for scripting

Programmering af en kollaborativ enhed foregår typisk på et teach pendant - en tablet, der er forbundet direkte til styreenheden. I daglig drift anvender operatørerne visuel software snarere end rene tekstfiler. Vi læner os kraftigt op ad disse visuelle miljøer, når vi integrerer systemer fra Universal Robots, fordi de markant reducerer implementeringstiden.

Visuelle noder repræsenterer specifikke kommandoer. Du trækker en "Move"-node ind på skærmen, vælger slutpunktet og indstiller hastigheden. Derefter tilføjer du en "Wait"-node for at pause handlingen og en "I/O"-node for at aktivere en griber. Styreenheden håndterer matematikken i baggrunden.

Hver tilføjet handling vises som en ny gren i et sekvenstræ, så processen er let at læse i rækkefølge. Hvis en bevægelse forårsager et sammenstød, kan du trykke på grenen, deaktivere den og køre resten af sekvensen. Den fremgangsmåde slår at scanne hundredvis af linjer tekstsyntaks. Vi træner jævnligt fabriksmedarbejdere uden nogen kodeerfaring, og de fanger typisk logikken i løbet af den første formiddag.

Scripting er fortsat nødvendig, når man bygger komplekse integrationer. Hvis produktionslinjen kræver data fra et visionssystem, skriver du custom scripts til at parse de indkommende data. Visuel programmering dækker dog størstedelen af automationsbehovene.

ProgrammeringsmetodePrimær brugerTypisk anvendelseIndlæringskurve
HåndføringMaskinoperatørSimple bevægelsespunkterMeget lav
Visuelle noderProduktionsingeniørMaskinbetjeningLav
TekstscriptingSoftwareudviklerKomplekse integrationerHøj
MønstersoftwarePakkeansvarligMix-palleteringMellem

Styring af mønstergenerering til pakning

At lære en robot at flytte én enkelt kasse er ligetil. At lære en robot at stable 500 kasser i et bestemt mønster er en helt anden udfordring.

Programmerer du en palleteringsrutine manuelt, skal du beregne koordinatforskydningen for hver eneste kasse i stablen. Det tager timer og giver plads til regnefejl. Når vi sætter pakkeceller op, undgår vi manuel punktlæring til gitterlayouts. I stedet bruger vi software, der beregner forskydningerne automatisk.

En standard europalle kan rumme 60 kartoner per lag stablet i fem lag. Det giver 300 unikke afsætningspositioner. Du indtaster kartonens mål, pallestørrelsen og lagmønstret. Styreenheden genererer alle nødvendige bevægelsespunkter. Den tilgang er kernen i vores SmartPack-Nordic-software, som lader produktionsanlæg køre mix-palletering uden at skrive hundrede separate positionsvariabler.

Erfaringerne fra vores end-of-line-systemer siden begyndelsen af 2021 viser, at skiftet til parameterkonfiguration giver den hurtigste tilbagebetalingstid. Det betyder, at linjeoperatørerne kan introducere en ny kassestørrelse i systemet på minutter i stedet for at kalde integratoren tilbage til anlægget. Linjen stopper aldrig for omprogrammering.

Integration af værktøj på armens ende

En robotarm udretter ikke meget uden et værktøj monteret på håndleddet. Uanset om du monterer en vakuumgriber, en svejsebrænder eller en pudseskive, skal styreenheden vide, hvordan den kommunikerer med udstyret.

Historisk set betød integration af et værktøj, at man trak digitale signaler og skrev logik til at overvåge elektriske tilstande. Siden marts 2024 understøtter de fleste kobotproducenter certificerede plugins, der lægger sig direkte ind i grænsefladen.

Når du integrerer et værktøj, følger du typisk en fast rækkefølge:

  1. Montér hardwaren på værktøjsflangen.
  2. Installér plugin'et på robottens styreenhed.
  3. Konfigurér værktøjets vægt i sikkerhedsindstillingerne.
  4. Indsæt de nye noder i dit visuelle program.

Tænk på en maskinbetjeningsopgave, hvor robotten lægger et metalemne ind i en drejebænk. Med et certificeret plugin dukker de specifikke kommandoer for netop den gribermodel op direkte i kobottens egen menu. Du sender ikke bare en elektrisk impuls; du vælger "Luk til 45 mm ved 20% kraft" direkte fra en rullemenu.

Integrationen håndterer også fejlretning. Hvis en vakuumgriber taber en kasse, registrerer plugin'et fejltilstanden og udløser en alternativ logikvej, eksempelvis et nyt forsøg på greb. Vi anvender ofte denne samlede tilgang, når vi implementerer Dobot-modeller til monteringsopgaver, fordi den holder grænsefladen ren for brugeren. Du behøver ikke skifte mellem flere programmer for at køre én enkelt cyklus.

Konfiguration af sikkerhedsplaner og grænser

Kollaborative robotter adskiller sig fra ældre arme primært gennem deres sikkerhedsfunktioner. Fordi de arbejder tæt på mennesker uden fysisk indhegning, skal softwaren udstikke skarpe grænser.

Programmering af sikkerhedsparametre sker, før du underviser det første bevægelsespunkt. Du fastlægger maksimale ledhastigheder, momentumgrænser og standsningstider på baggrund af din risikovurdering.

"En kollaborativ robot er en robot designet til direkte interaktion med et menneske inden for et defineret kollaborativt arbejdsområde." - ISO 10218-1, 2011

Moderne kollaborative arme har kraft- og momentsensorer indbygget i ledene. Sensorerne overvåger konstant den fysiske modstand, armen møder. Hvis armen rammer en forhindring, opfanger sensorerne det pludselige spring i modstanden og standser motoren øjeblikkeligt. Programmeringen af disse grænser kræver balance. Sætter du følsomheden for højt, vil driftsvibrationer udløse stop og standse produktionen unødigt.

Du kan også programmere virtuelle sikkerhedsplaner inden for arbejdsområdet. Hvis en operatør isætter dele i venstre side af bordet, mens kobotten arbejder i højre side, kan du tegne en virtuel væg i softwaren. Krydser armen den matematiske plan, udløses et nødstop. Alternativt kan du konfigurere zoner med reduceret hastighed, hvor en scanner registrerer et menneske, der træder ind i et bestemt område, og automatisk bremser robotten ned.

Vedligehold af koden på lang sigt

At skrive et program er kun det første skridt. At vedligeholde logikken gennem fem års produktionsændringer kræver disciplin. Produktionslinjer udvikler sig, produktmål forskydes, og forskellige operatører bruger pendant'en.

Hvis et program bygger på custom scripting, bliver diagnosticering af et pludseligt stop en hovedpine for vedligeholdelsesteamet. Hold koden enkel. Brug mapper til at gruppere handlinger. Tilføj kommentarer til hver logikblok. Sporer en variabel afviste emner, så navngiv den tydeligt i stedet for at læne dig op ad standardetiketter. Når en operatør skal justere en afsætningsposition, skal vedkommende kunne finde et klart referencepunkt med det samme.

Et andet kritisk aspekt af kodevedligehold er styring af softwareopdateringer. Kobotproducenter udgiver firmwareopdateringer, der lukker sårbarheder og forbedrer bevægelsesalgoritmer. Før du kører en opdatering på en maskine, skal du altid sikkerhedskopiere programfilerne til et drev.


Standardisér navngivningskonventionerne på tværs af anlægget. Bruger jeres Odense-fabrik "PickPos1" og jeres sekundære anlæg "Point12", bliver det umuligt at dele kode mellem lokationerne. Etablér en håndbog for fabrikken, der definerer hvordan variabler navngives, hvor basisrammer placeres, og hvordan genoprettelsessekvenser opbygges.

Ofte stillede spørgsmål

Hvor lang tid tager det at programmere en pick-and-place-opgave?

En standard pick-and-place-opgave tager cirka 30 minutter at programmere ved hjælp af visuelle noder. Tidsrammen dækker fastsættelse af den indledende grebsposition, tilføjelse af mellemliggende bevægelsespunkter for at undgå forhindringer og definition af åbne- og lukkekommandoer til griberen.

Kan jeg ændre et kobotprogram, mens maskinen kører?

Nej, du skal standse den aktuelle produktionscyklus for at ændre bevægelseskoordinater eller logiknoder. Nogle avancerede systemer giver dog mulighed for at justere specifikke variabler, fx grebkraft, gennem eksterne dashboards uden at stoppe hovedprogrammet.

Skal jeg kunne Python eller C++ for at bruge en kollaborativ robot?

Du behøver ikke at kende traditionelle scriptsprog til standardopgaver. De fleste moderne kobotter bruger visuel software til hverdagsopgaver, selv om Python og lignende sprog lejlighedsvis indgår i dybe systemintegrationer.

Hvad sker der, hvis en kobot mister strøm under en programmeret cyklus?

Robotten standser straks og aktiverer mekaniske bremser for at holde sin position. Når strømmen vender tilbage, skal du manuelt nulstille sikkerhedsstyringen og genstarte programmet fra dens oprindelige udgangsposition.

Når du konfigurerer din første robotcelle, så begræns det indledende program til en enkelt cyklus, før du tilføjer fejlhåndteringslogik. Etablér den centrale bevægelsessekvens først, verificér den fysiske rækkevidde, og indfør først sensorgrene, når den grundlæggende sti viser sig fuldstændig stabil.