Logicaprogramma
| Beschrijving |
PolyScope X-toepassingen kunnen een logisch programma bevatten dat continu op de achtergrond draait, onafhankelijk van het hoofdprogramma van de robot. Dit is handig voor taken die moeten blijven draaien wanneer de robotarm is uitgeschakeld, het hoofdprogramma is gepauzeerd of gestopt, of de operator een veiligheidszone is binnengegaan. Typische toepassingen zijn onder meer het onderhouden van veldbuscommunicatie (Modbus, Ethernet/IP, PROFINET, Socket, XmlRPC), het reageren op externe sensoringangen, het rapporteren van de robotstatus aan een productie-PLC en het aansturen van externe apparatuur wanneer het hoofdprogramma stopt. In het logische programma kunnen geen functies worden gebruikt die de robotarm rechtstreeks verplaatsen, de belasting wijzigen of de TCP-parameters aanpassen. |
|
Voorbeelden van toepassingen met een logisch programma |
|
|
Licentie |
Voor Logic Program is een licentie vereist, die via het klantenportaal kan worden aangeschaft.
|
|
Het logica-programma aansturen |
Selecteer op de pagina Programma in de zijbalk de optie Logisch programma . De uitgevouwen zijbalk toont de bedieningselementen voor het navigeren door de verschillende onderdelen van het logische programma. Hiermee kunt u het programma ook starten, pauzeren, stoppen en resetten.
|
||||||
|
|
De knop ‘Programma uitvoeren’ verandert in ‘Programma uitvoeren ’ of ‘Programma stoppen’, afhankelijk van de status van het logische programma. Dit fungeert als een snelkoppeling voor acties voor programmabesturing die beschikbaar zijn in het contextmenu van het logische programma.
De vier Logic Program-indicatoren geven de huidige status van het programma weer. Ze geven ook aan of het programma zo is geconfigureerd dat het automatisch wordt gestart wanneer een toepassing wordt geladen.
|
|
Structuur van het logische programma |
Een logisch programma heeft dezelfde structurele onderdelen als een hoofdprogramma:
Het robotprogramma en het logische programma hebben elk hun eigen set globale variabelen, een onafhankelijke threadpool en een onafhankelijke uitvoeringscyclus. Het starten, stoppen of een storing in het ene programma heeft geen invloed op het andere programma. Een
|
|
|
In het gedeelte Voordat u begint kunt u het programma slechts één keer uitvoeren.
In het gedeelte Modules kunt u de lijst met functies en threads bekijken die beschikbaar zijn voor het programma.
|
|
Gegevens uitwisselen met het robotprogramma |
De belangrijkste manier waarop het robotprogramma en het logische programma met elkaar communiceren, is via toepassingsvariabelen . Variabelen kunnen zowel worden ingesteld als uitgelezen vanuit de robot en het logische programma. In dit voorbeeld worden de items geteld die de invoerbuffer van de robotcel binnenkomen en wordt het aantal weergegeven in het robotprogramma. De teller blijft oplopen, zelfs als de robotarm is uitgeschakeld.
|
|
De status van de robot aflezen |
De status van de robot is beschikbaar via ingebouwde RTDE-variabelen . Deze variabelen kunnen worden uitgelezen met behulp van de scriptfunctie Het volgende voorbeeld laat zien hoe u kunt controleren of 'Safeguard Stop' actief is:
Het volgende voorbeeld controleert of het robotprogramma is gepauzeerd:
De URScript Control API biedt ook toegang tot deze functionaliteit.
|
|
Logisch programma automatisch starten |
U kunt een programma selecteren dat automatisch wordt gestart wanneer een toepassing wordt geladen. Wanneer u de optie Autostart selecteert, wordt het Logic-programma onmiddellijk gestart nadat de toepassing is geladen.
U kunt het Logic-programma ook automatisch starten wanneer de robotcontroller wordt ingeschakeld en de laatste toepassing is geladen. De Autostart-functie werkt ongeacht de bedrijfsmodus of de status van de robotarm. Wanneer Autostart bij het laden wordt geactiveerd, bevestigt een snackbar-melding dat het Logic-programma is gestart.
|
|
|
Het pictogram in de zijbalk bij het icoontje 'Logic Program' geeft altijd de huidige status van het programma aan, of het nu actief is of gestopt.
Het is uw verantwoordelijkheid om ervoor te zorgen dat het logische programma veilig is wanneer de robot is ingeschakeld en wanneer verschillende toepassingen worden geladen.
Logische programma's kunnen externe apparatuur in- en uitschakelen via bekabelde of PLC-verbindingen (Modbus, PROFINET, Ethernet/IP, Socket, directe uitgangen of andere interfaces).
|
|
Modules en threads |
De functionaliteit van het logische programma kan in functies worden georganiseerd. Dit werkt op dezelfde manier als in het robotprogramma. Elke functie kan worden gemarkeerd als een Thread . Standaard worden de threads slechts één keer uitgevoerd. Schakel het selectievakje Loop bij de thread-functie in om de thread continu uit te voeren.
|
|
Hulpbronnen delen |
Hoewel het robotprogramma en het Logic-programma onafhankelijk van elkaar worden uitgevoerd, elk met hun eigen pool van threads en variabelen, delen ze allemaal dezelfde hardwarebronnen. Dit brengt enkele beperkingen met zich mee waar programmeurs rekening mee moeten houden:
|
|
Beperkingen |
|