Logikkprogram
| Beskrivelse |
PolyScope X-applikasjoner kan inneholde et logikkprogram som kjører kontinuerlig i bakgrunnen, uavhengig av robotens hovedprogram. Dette er nyttig for oppgaver som må fortsette å kjøre når armen er slått av, hovedprogrammet er satt på pause eller stoppet, eller operatøren har gått inn i et sikkerhetsområde. Typiske bruksområder inkluderer opprettholdelse av feltbusskommunikasjon (Modbus, Ethernet/IP, PROFINET, Socket, XmlRPC), reaksjon på eksterne sensorinnganger, rapportering av robotens tilstand til en produksjons-PLC og styring av eksternt utstyr når hovedprogrammet stopper. Logikkprogrammet kan ikke bruke funksjoner som direkte beveger robotarmen, endrer nyttelast eller endrer TCP-parametrene. |
|
Eksempler på anvendelser med logikkprogram |
|
|
Lisens |
Logic Program krever en lisens, som kan kjøpes via kundeportalen.
|
|
Styring av logikkprogrammet |
På Program-siden velger du Logikkprogram i sidepanelet. Den utvidede sidepanelen viser kontrollene for å navigere mellom de ulike delene av logikkprogrammet. Det lar deg også starte, pause, stoppe og tilbakestille programmet.
|
||||||
|
|
Knappen for å kjøre programmet endres til enten Kjør program eller Stopp program, avhengig av statusen til logikkprogrammet. Dette fungerer som en snarvei til programstyringshandlinger som er tilgjengelige i hurtigmenyen for logikkprogrammet.
De fire indikatorene for logikkprogrammet viser programmets nåværende tilstand. De angir også om programmet er konfigurert til å starte automatisk når et program lastes inn.
|
|
Logisk programstruktur |
Et logikkprogram har de samme strukturelle delene som et hovedprogram:
Robotprogrammet og logikkprogrammet har hver sitt sett med globale variabler, uavhengig trådpool og uavhengig utførelseslivssyklus. Å starte, stoppe eller avbryte ett program påvirker ikke det andre. En
|
|
|
I delen Før start kan du kun kjøre programmet én gang.
I delen Moduler kan du se listen over funksjoner og tråder som er tilgjengelige for programmet.
|
|
Datautveksling med robotprogrammet |
Den viktigste måten å kommunisere mellom robotprogrammet og logikkprogrammet på er gjennom applikasjonsvariabler . Variabler kan både settes og leses fra roboten og logikkprogrammet. Dette eksemplet teller elementer som kommer inn i robotcellens inngangsbuffer og viser antallet til robotprogrammet. Telleren fortsetter å øke selv når robotarmen er slått av.
|
|
Avlesning av robotens status |
Robotens tilstand er tilgjengelig via innebygde RTDE-variabler . Disse variablene kan leses ved hjelp av skriptfunksjonen Følgende eksempel viser hvordan du sjekker om Safeguard Stop er aktivt:
Følgende eksempel sjekker om robotprogrammet er satt på pause:
URScript Control API omslutter også denne funksjonaliteten.
|
|
Automatisk start av logikkprogram |
Du kan velge et program som skal startes automatisk når et program lastes inn. Når du velger alternativet Autostart , starter logikkprogrammet umiddelbart etter at applikasjonen er lastet inn.
Du kan også starte logikkprogrammet automatisk når robotkontrolleren slås på og den siste applikasjonen er lastet inn. Autostart-funksjonen fungerer uavhengig av driftsmodus eller robotarmens status. Når Autostart utløses ved oppstart, bekrefter en snackbar-melding at logikkprogrammet har startet.
|
|
|
Ikonet i sidepanelet på Logic Program-ikonet viser alltid programmets nåværende tilstand, enten det kjører eller er stoppet.
Det er ditt ansvar å sikre at logikkprogrammet er sikkert når roboten er slått på og når ulike applikasjoner lastes inn.
Logikkprogrammer kan aktivere og deaktivere eksternt utstyr ved hjelp av kablet tilkobling eller PLC-tilkoblinger (Modbus, PROFINET, Ethernet/IP, Socket, direkte utganger eller andre grensesnitt).
|
|
Moduler og tråder |
Funksjonaliteten i Logic Program kan organiseres i funksjoner. Dette fungerer på samme måte som i robotprogrammet. Hver funksjon kan merkes som en tråd . Som standard kjøres trådene bare én gang. Merk av for Loop i trådfunksjonen for å kjøre tråden kontinuerlig.
|
|
Deling av ressurser |
Selv om robotprogrammet og logikkprogrammet kjøres uavhengig av hverandre, med hver sin egen pool av tråder og variabler, deler de alle de samme maskinvareressursene. Dette medfører noen få begrensninger som programmerere bør være oppmerksomme på:
|
|
Begrensninger |
|