Programma logico
| Descrizione |
Le applicazioni di PolyScope X possono includere un programma logico che viene eseguito in modo continuo in background, indipendentemente dal programma principale del robot. Ciò è utile per le attività che devono continuare a funzionare quando il braccio è spento, il programma principale è in pausa o arrestato, oppure quando l'operatore è entrato in un'area di sicurezza. Gli utilizzi tipici includono il mantenimento della comunicazione fieldbus (Modbus, Ethernet/IP, PROFINET, Socket, XmlRPC), la risposta agli input dei sensori esterni, la segnalazione dello stato del robot a un PLC di produzione e il controllo delle apparecchiature esterne quando il programma principale si arresta. Il programma logico non può utilizzare funzioni che muovono direttamente il braccio del robot, modificano il carico utile o modificano i parametri TCP. |
|
Esempi di applicazioni con Logic Program |
|
|
Licenza |
Logic Program richiede una licenza, che può essere acquistata tramite il portale clienti.
|
|
Controllo del programma logico |
Nella pagina Programma, selezionare Programma logico nella barra laterale. La barra laterale espansa mostra i comandi per la navigazione tra le diverse parti del programma logico. Consente inoltre di avviare, mettere in pausa, arrestare e ripristinare il programma.
|
||||||
|
|
Il pulsante "Esegui programma" assume l'etichetta " Esegui programma " o " Interrompi programma", a seconda dello stato del programma logico. Funge da scorciatoia per le azioni di controllo del programma disponibili nel menu contestuale del programma logico.
I quattro indicatori del Programma Logic mostrano lo stato attuale del programma. Indicano inoltre se il programma è configurato per avviarsi automaticamente all'avvio di un'applicazione.
|
|
Struttura di programma logico |
Un programma logico presenta le stesse sezioni strutturali di un programma principale:
Il programma del robot e il programma logico dispongono ciascuno di un proprio insieme di variabili globali, di un pool di thread indipendente e di un ciclo di vita di esecuzione indipendente. L'avvio, l'arresto o il malfunzionamento di un programma non interrompe l'esecuzione dell'altro. Un
|
|
|
Nella sezione Prima di iniziare è possibile eseguire il programma una sola volta.
Nella sezione Moduli è possibile visualizzare l'elenco delle funzioni e dei thread disponibili per il programma.
|
|
Scambio di dati con il programma del robot |
Il principale metodo di comunicazione tra il programma del robot e il programma logico avviene tramite le variabili dell'applicazione . Le variabili possono essere sia impostate che lette dal robot e dal programma logico. Questo esempio conta gli elementi che entrano nel buffer di ingresso della cella robotica e visualizza il conteggio nel programma del robot. Il contatore continua ad aumentare anche quando il braccio del robot è spento.
|
|
Lettura dello stato del robot |
Lo stato del robot è accessibile tramite le variabili RTDE integrate. Queste variabili possono essere lette utilizzando la funzione di script L'esempio seguente mostra come verificare se la funzione "Safeguard Stop" è attiva:
L'esempio seguente verifica se il programma del robot è in pausa:
Anche l'API di controllo URScript integra questa funzionalità.
|
|
Avvio automatico del programma logico |
È possibile selezionare un programma da avviare automaticamente all'avvio di un'applicazione. Quando si seleziona l'opzione Avvio automatico , il programma logico si avvia immediatamente dopo il caricamento dell'applicazione.
È inoltre possibile avviare automaticamente il programma logico all'accensione del controller del robot e al caricamento dell'ultima applicazione. La funzione Autostart funziona indipendentemente dalla modalità operativa o dallo stato del braccio del robot. Quando l'avvio automatico viene attivato al caricamento, una notifica a barra di avviso conferma che il programma logico è stato avviato.
|
|
|
Il badge nella barra laterale sull'icona del programma Logic indica sempre lo stato attuale del programma, ovvero se è in esecuzione o in pausa.
È responsabilità dell’utente garantire che il programma logico sia sicuro quando il robot è acceso e quando vengono caricate diverse applicazioni.
I programmi logici possono attivare e disattivare apparecchiature esterne tramite connessioni cablate o PLC (Modbus, PROFINET, Ethernet/IP, Socket, uscite dirette o altre interfacce).
|
|
Moduli e thread |
Le funzionalità del programma logico possono essere organizzate in funzioni. Funziona allo stesso modo del programma del robot. Ogni funzione può essere contrassegnata come thread. Per impostazione predefinita, i thread vengono eseguiti una sola volta. Selezionare la casella di controllo Loop nella funzione thread per eseguire il thread in modo continuo.
|
|
Condivisione delle risorse |
Sebbene il programma del robot e il programma logico vengano eseguiti in modo indipendente, ciascuno con il proprio pool di thread e variabili, entrambi condividono le stesse risorse hardware. Ciò comporta alcune limitazioni di cui il programmatore dovrebbe essere a conoscenza:
|
|
Limiti |
|