Program logic
| Descriere |
Aplicațiile PolyScope X pot include un program logic care rulează continuu în fundal, independent de programul principal al robotului. Această funcție este utilă pentru sarcinile care trebuie să continue să ruleze atunci când brațul este oprit, programul principal este pus în pauză sau oprit, sau când operatorul a intrat într-o zonă de siguranță. Utilizările tipice includ menținerea comunicării prin bus de câmp (Modbus, Ethernet/IP, PROFINET, Socket, XmlRPC), reacția la intrările senzorilor externi, raportarea stării robotului către un PLC de producție și controlul echipamentelor externe atunci când programul principal se oprește. Programul logic nu poate utiliza funcții care mișcă direct brațul robotului, modifică sarcina utilă sau modifică parametrii TCP. |
|
Exemple de aplicații cu program logic |
|
|
Licență |
Programul Logic necesită o licență, care poate fi achiziționată prin intermediul portalului pentru clienți.
|
|
Controlul programului logic |
În pagina „Program”, selectați „Program logic ” din bara laterală. Bara laterală extinsă afișează comenzile pentru navigarea între diferitele părți ale programului logic. De asemenea, vă permite să porniți, să puneți în pauză, să opriți și să resetați programul.
|
||||||
|
|
Butonul de executare a programului se transformă fie în „Executare program”, fie în „Oprire program”, în funcție de starea programului logic. Acesta funcționează ca o comandă rapidă pentru acțiunile de control al programului disponibile în meniul contextual al Programului logic.
Cei patru indicatori ai programului Logic prezintă starea actuală a programului. De asemenea, acestea indică dacă programul este configurat să pornească automat la încărcarea unei aplicații.
|
|
Structura programului logic |
Un program logic are aceleași secțiuni structurale ca și un program principal:
Programul robotului și programul logic au fiecare propriul set de variabile globale, un pool de thread-uri independent și un ciclu de viață de execuție independent. Pornirea, oprirea sau apariția unei erori într-un program nu oprește celălalt program. O
|
|
|
În secțiunea Înainte de pornire , puteți rula programul o singură dată.
În secțiunea Module puteți vedea lista funcțiilor și a thread-urilor disponibile pentru program.
|
|
Schimbul de date cu programul robotului |
Principala modalitate de comunicare între programul robotului și programul logic este prin intermediul variabilelor de aplicație . Variabilele pot fi atât setate, cât și citite din robot și din programul logic. Acest exemplu numără elementele care intră în bufferul de intrare al celulei robotului și afișează numărul acestora în programul robotului. Contorul continuă să crească chiar și atunci când brațul robotului este oprit.
|
|
Citirea stării robotului |
Starea robotului poate fi accesată prin intermediul variabilelor RTDE încorporate. Aceste variabile pot fi citite folosind funcția de script Următorul exemplu arată cum se verifică dacă funcția „Safeguard Stop” este activă:
Următorul exemplu verifică dacă programul robotului este pus în pauză:
API-ul URScript Control integrează, de asemenea, această funcționalitate.
|
|
Pornirea automată a programului logic |
Puteți selecta un program care să fie pornit automat la încărcarea unei aplicații. Când selectați opțiunea Autostart , programul logic pornește imediat după încărcarea aplicației.
De asemenea, puteți porni automat programul logic atunci când controlerul robotului este pornit și ultima aplicație este încărcată. Funcția Autostart funcționează indiferent de modul de funcționare sau de starea brațului robotului. Când funcția Autostart este declanșată la încărcare, o notificare de tip snackbar confirmă că programul logic a pornit.
|
|
|
Insigna din bara laterală de pe pictograma programului Logic indică întotdeauna starea curentă a programului, indiferent dacă acesta rulează sau este oprit.
Este responsabilitatea dumneavoastră să vă asigurați că programul logic este sigur atunci când robotul este pornit și când sunt încărcate diferite aplicații.
Programele logice pot activa și dezactiva echipamente externe utilizând conexiuni prin cablu sau PLC (Modbus, PROFINET, Ethernet/IP, Socket, ieșiri directe sau alte interfețe).
|
|
Module și fire de execuție |
Funcționalitatea programului logic poate fi organizată în funcții. Aceasta funcționează în același mod ca în programul robotului. Fiecare funcție poate fi marcată ca un Thread . În mod implicit, procesele sunt executate o singură dată. Bifați caseta de selectare Loop din funcția de thread pentru a executa thread-ul în mod continuu.
|
|
Partajarea resurselor |
Deși programul robotului și programul logic sunt executate independent, fiecare având propriul set de fire de execuție și variabile, toate partajează aceleași resurse hardware. Acest lucru impune câteva limitări de care programatorul trebuie să fie conștient:
|
|
Limitări |
|