Suggerimenti per iniziare la programmazione
Home › Forum › Programmazione IEC 61131 (LogicLab) › Suggerimenti per iniziare la programmazione
- Questo topic ha 9 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 10 anni, 7 mesi fa da
Sergio Bertana.
-
AutorePost
-
Maggio 26, 2014 alle 4:36 pm #35570
Andrea
PartecipanteSalve a tutti, ho intenzione di acquistare un PLC, per precisione uno sSlimLine, prima di acquistarlo ho scaricato LogicLab per vedere un pò se mi adattavo a questa nuova interfaccia, da qualche giorno faccio delle prove, ma senza risultato.
Ho deciso di creare il programma in FBD, poichè con gli altri PLC che ho usato, mi trovavo meglio con questo tipo di programmazione. Per iniziare ho semplicemente preso un entrata digitale, l’ho connessa ad un not, e ho connesso un uscita su di una uscita digitale, con lo scopo di vedere, quando vado nella modalità di simulazione, i led dell’interfaccia grafica di sumulazione, accendersi, per avere un idea di come funziona, ma non ho avuto esito positivo.
Quando tento di compilare mi spuntano già due errori riportanti rispettivamente il nome dell’input e dell’output e poi l’errore Missing index(es), cosa ho sbagliato ?
Maggio 27, 2014 alle 1:27 pm #38245Sergio Bertana
Amministratore del forumUna ottima idea quella di scaricare LogicLab e testarne il funzionamento in simulazione su PC il simulatore permette di testare il programma senza disporre dell’hardware fisico (SlimLine), in questo topic si parla di come simulare il programma Marcia/Arresto fornito come esempio con LogicLab. Ulteriori informazioni sulla programmazione in LogicLab le trovi sul forum con centinaia di esempi in codice sorgente, in questo topic ecco un semplice programma da cui iniziare.
Ma veniamo al tuo problema, ho realizzato un programma come il tuo (Ecco lo screenshot). Come vedi occorre definire gli I/O assegnando loro un nome mnemonico ed abbinandoli agli I/O fisici del modulo CPU (Data block 255, Index relativo all’I/O desiderato). Si realizza il programma in uno dei 5 linguaggi della normativa (Esempio FBD) e lo si assegna ad una task di esecuzione.
Poi si avvia il simulatore definendo un workspace, per quanto riguarda gli I/O del modulo CPU è già predisposto un pannello dedicato, altri pannelli possono essere realizzati a piacere. Si esegue il download del programma nel simulatore ed ecco che il programma verrà eseguito.
Trascinando gli operandi nella finestra di watch è possibile eseguirne il debug in tempo reale. Allego il progetto per il download.
Maggio 27, 2014 alle 2:14 pm #38246Andrea
PartecipanteGrazie per la risposta, mi metto subito a lavoro e vediamo cosa esce…. grazie ancora.
Maggio 27, 2014 alle 2:31 pm #38249Andrea
PartecipanteCome immaginavo sbagliavo nella definizione delle variabili, cioè non le definivo proprio, prendevo direttamente l’input e l’output. Butto giù qualche programma e acquisto subito il modulo, un ultimo dubbio posso simulare in qualche modo l’encoder in modo da usare il blocco di gestione encoder ?
Maggio 27, 2014 alle 2:55 pm #38250Sergio Bertana
Amministratore del forumIl blocco funzione SysGetEncoder, get encoder input funziona solo sull’hardware reale in quanto viene gestito direttamente dalla PLD presente sul modulo di estensione I/O.
Ma se vuoi puoi utilizzare il blocco funzione IOEncoder, incremental encoder over I/O che permette di gestire la quadratura dei fronti dei segnali A e B di un encoder direttamente connesso agli I/O. In questo modo puoi simularne il funzionamento anche sul simulatore. Ma è un pò scomodo muovere i due ingressi del simulatore come se fossero i due segnali dell’encoder.
Ti consiglio di utilizzare una variabile UDINT che puoi gestire tutta da debug come se fosse in realtà la tua quota encoder in uscita dal blocco funzione di gestione.
Maggio 27, 2014 alle 3:04 pm #38253Andrea
PartecipanteEsiste un manuale da dove vedere il funzionamento dei blocchi funzione e dei tipi di variabili ?
Maggio 27, 2014 alle 4:00 pm #38254Andrea
PartecipanteL’ho già trovato… questi prodotti sembrano davvero perfetti… a questo punto W il made in Italy…
Maggio 27, 2014 alle 4:02 pm #38255Sergio Bertana
Amministratore del forumRiporto comunque indicazioni sull’help contestuale e sul manuale di programmazione. Installando LogicLab si dispone di un help contestuale, basta evidenziare l’oggetto desiderato ed agendo con il tasto F1 si aprirà un documento pdf posizionato contestualmente sull’oggetto (Screenshot).
Il documento di help contestuale è il Manuale programmazione IEC61131-3 che è scaricabile anche dal nostro sito.
Agosto 28, 2014 alle 5:58 pm #38393Damiano
PartecipanteSalve stavo dando uno sguardo hai vostri PLC SlimLine, CPU Compact Ethernet e stò studiando un po il prodotto. Ho scaricato i vari manuali e software di programmazione.
Dando uno sguardo al software e manuali non riesco a capire una cosa che molto probabilmente sarà banalissima. correggetemi se sbaglio, gli indirizzi fisici degli ingressi e uscite che sono a bordo del modulo CPU sono nel blocco memoria 255. Quindi per gli ingressi rispettivamente dallo 0 al 5 vanno indirizzati in nel modo IX255.00 – IX255.05, mentre per le uscite QX255.00 – QX255.03. E gli ingressi/uscite analogiche ?
Agosto 29, 2014 alle 6:02 am #38394Sergio Bertana
Amministratore del forumPer quanto riguarda gli I/O logici ha capito perfettamente. Come tutti i PLC e come richiesto dalla normativa gli I/O logici oprerano in immagine di processo, cioè sono acquisiti gli ingressi prima della esecuzione del loop di programma e sono gestite le uscite al termine (In questo modo gli I/O rimangono stabili per tutta l’esecuzione del loop di programma). Quindi il sistema operativo provvede a mapparli in DB di memoria, è stato scelto il DB 0 per il modulo di estensione 0, il DB 1 per il modulo 1 e così via. Così gli I/O del modulo CPU si è deciso di mapparli nella DB 255.
Per quanto riguarda gli I/O analogici occorre fare riferimento ai blocchi funzione SysGetAnInp per la lettura degli ingressi (Trovi un esempio qui) e SysSetAnOut per la scrittura delle uscite (Trovi un esempio qui). Occorrerà indicare alla FB l’indirizzo del modulo (255 per il modulo CPU), il numero di canale, ed il tipo di acquisizione o di uscita.
-
AutorePost
- Devi essere connesso per rispondere a questo topic.