Logikprogram
| Beskrivning |
PolyScope X-applikationer kan innehålla ett logikprogram som körs kontinuerligt i bakgrunden, oberoende av robotens huvudprogram. Detta är användbart för uppgifter som måste fortsätta köras när armen är avstängd, huvudprogrammet är pausat eller stoppat, eller när operatören har gått in i ett säkerhetsområde. Typiska användningsområden är bland annat att upprätthålla fältbusskommunikation (Modbus, Ethernet/IP, PROFINET, Socket, XmlRPC), reagera på externa sensoringångar, rapportera robotens status till en produktions-PLC samt styra extern utrustning när huvudprogrammet avbryts. Logikprogrammet kan inte använda funktioner som direkt rör robotarmen, ändrar nyttolasten eller modifierar TCP-parametrarna. |
|
Exempel på tillämpningar med logikprogram |
|
|
Licens |
Logic Program kräver en licens, som kan köpas via kundportalen.
|
|
Styra logikprogrammet |
På programsidan väljer du Logikprogram i sidomenyn. I den utvidgade sidofältet visas kontrollerna för att navigera mellan de olika delarna av logikprogrammet. Det gör det också möjligt att starta, pausa, stoppa och återställa programmet.
|
||||||
|
|
Knappen för att köra programmet ändras till antingen Kör program eller Stoppa program, beroende på logikprogrammets status. Fungerar som en genväg till programstyrningsåtgärder som finns tillgängliga i snabbmenyn för logikprogrammet.
De fyra indikatorerna för logikprogrammet visar programmets aktuella status. De anger också om programmet är konfigurerat att starta automatiskt när ett program laddas.
|
|
Logik Programmets struktur |
Ett logikprogram har samma strukturella avsnitt som ett huvudprogram:
Robotprogrammet och logikprogrammet har vardera sin egen uppsättning globala variabler, en oberoende trådpool och en oberoende exekveringscykel. Att starta, stoppa eller avbryta ett program påverkar inte det andra. En
|
|
|
I avsnittet Innan du börjar kan du endast köra programmet en gång.
I avsnittet Moduler kan du se listan över funktioner och trådar som är tillgängliga för programmet.
|
|
Datautbyte med robotprogrammet |
Det främsta sättet att kommunicera mellan robotprogrammet och logikprogrammet är via applikationsvariabler . Variabler kan både ställas in och läsas ut från roboten och logikprogrammet. I det här exemplet räknas objekten som matas in i robotcellens inmatningsbuffert och antalet visas i robotprogrammet. Räknaren fortsätter att öka även när robotarmen är avstängd.
|
|
Avläsa robotens status |
Robotens status kan avläsas via inbyggda RTDE-variabler . Dessa variabler kan läsas ut med hjälp av skriptfunktionen Följande exempel visar hur man kontrollerar om Safeguard Stop är aktivt:
I följande exempel kontrolleras om robotprogrammet är pausat:
URScript Control API omsluter också denna funktionalitet.
|
|
Automatisk start av logikprogram |
Du kan välja ett program som ska startas automatiskt när en applikation laddas. När du väljer alternativet Autostart startar logikprogrammet omedelbart efter att applikationen har laddats.
Du kan också starta logikprogrammet automatiskt när robotstyrenheten slås på och den senaste applikationen har laddats. Funktionen Autostart fungerar oavsett driftsläge eller robotarmens status. När Autostart aktiveras vid start bekräftar ett snackbar-meddelande att logikprogrammet har startat.
|
|
|
Märket i sidofältet på ikonen för Logic Program visar alltid programmets aktuella status, oavsett om det körs eller är stoppat.
Det är ditt ansvar att säkerställa att logikprogrammet är säkert när roboten är påslagen och när olika applikationer laddas.
Logikprogram kan aktivera och inaktivera extern utrustning via kabelanslutningar eller PLC-anslutningar (Modbus, PROFINET, Ethernet/IP, Socket, direkta utgångar eller andra gränssnitt).
|
|
Moduler och trådar |
Logikprogrammets funktionalitet kan organiseras i funktioner. Detta fungerar på samma sätt som i robotprogrammet. Varje funktion kan markeras som en tråd . Som standard körs trådarna endast en gång. Markera kryssrutan Loop i trådfunktionen för att köra tråden kontinuerligt.
|
|
Delning av resurser |
Även om robotprogrammet och logikprogrammet körs oberoende av varandra, vart och ett med sin egen pool av trådar och variabler, delar de alla samma hårdvaruresurser. Detta medför några begränsningar som programmeraren bör vara medveten om:
|
|
Begränsningar |
|