Suggerimenti su come iniziare la programmazione
Home › Forum › Controllori SlimLine e Netsyst (LogicLab) › Suggerimenti su come iniziare la programmazione
- Questo topic ha 10 risposte, 5 partecipanti ed è stato aggiornato l'ultima volta 9 anni, 9 mesi fa da Luciano.
-
AutorePost
-
Ottobre 11, 2011 alle 8:03 pm #35120MarioPartecipante
Mi sto avvicinando ora al mondo di SlimLine vorrei sapere come scrivere un programma analogico di ingressi e uscite.
Ottobre 12, 2011 alle 7:43 am #37011Sergio BertanaAmministratore del forumSlimLine è un PLC modulare che si programma con LogicLab, un tool di programmazione che supporta tutti i 5 linguaggi standard della IEC 611131. Il modo più semplice per iniziare è dare una occhiata ai nostri videocorsi dove si insegna come creare un progetto, realizzare un semplice programma ladder, eseguirlo e debuggarlo sul simulatore PC.
Acquisita la dimestichezza con l’ambiente LogicLab, puoi trovare sul Manuale programmazione IEC61131-3 su sistema SlimLine (Download), il riferimento a tutte le funzioni e blocchi funzioni disponibili. Per ognuna di esse vi è un semplice esempio di utilizzo scritto in linguaggio ladder.
Alcuni esempi del manuale sono disponibili anche in codice sorgente, in tal caso noterai accanto alla dicitura Esempio … anche il codice del programma dimostrativo racchiuso tra parentesi (Ptp…) che contiene l’esempio. Se tu crei un progetto LogicLab vuoto, dal menù Project -> Import object from library, potrai aprire il programma di esempio indicato ed importare l’esempio.
In merito alla tua domanda sulla gestione degli ingressi analogici, basta realizzare un programma in FBD che utilizzando i blocchi funzioni SysGetAnInp e SysSetAnOut, acquisisca l’ingresso e gestisca le uscite analogiche.Ottobre 15, 2011 alle 6:47 am #37025MarioPartecipanteDevo attivare un ingresso analogico che mi abilita una uscita analogica che varia in base al variare dell’ingresso, è possibilile avere informazioni è magari anche un esempio ?
Ottobre 15, 2011 alle 6:49 am #37026Sergio BertanaAmministratore del forumLa tua domanda è molto vaga, ed in parte ti ho già risposto nel post precedente. La lettura di un ingresso analogico si effettua con il blocco funzione SysGetAnInp e l’uscita analogica si gestisce con il blocco funzione SysSetAnOut. Se tu leggi il manuale di programmazione vedrai che sulla spiegazione dei blocchi funzione vi è anche un esempio di utilizzo.
Per aiutarti ti allego un semplice programma in linguaggio ladder che acquisisce un ingresso analogico e lo copia su una uscita analogica (Stampa programma) (Download programma).
Luglio 2, 2014 alle 3:34 pm #38298FabioPartecipanteSto utilizzando una CPU Slimline versione B e non riesco ad impostare breakpoints ne per la simulazione ne quando ho già scaricato il porogramma sul target ed è già in esecuzione ed in debug mode. Mi sto riferendo più che altro al linguaggio ST per cui se tento di aggiungere un breakpoint da menu Debug mi viene visualizzato un errore.
Non capisco perchè anche se nel manuale è prevista questa funzione non ci sia nessuno che l’abbia usata nel forum.
Luglio 3, 2014 alle 6:46 am #38299MassimoModeratoreDate le modeste dimensioni di memoria disponibile, sui prodotti SlimLine ARM7 sia Compact che non, sia sui prodotti NetlogIII, non è possibile l’utilizzo dei breakpoints.
E’ invece possibile utilizzare i breakpoints in modo simulazione (tasto “Simulation mode”) cioè quando si fa girare il proprio programma sul simulatore presente nel PC senza quindi collegarsi al target reale. I breakpoints sono utilizzabili dopo aver impostato il “Debug mode”.
Luglio 3, 2014 alle 1:08 pm #38303FabioPartecipanteIn simulation mode target X11 riesco a vedere tutte le variabili dei programmi aperti ma non delle FB o Function chiamate. Se tento di aggiungere un breakpoint in un qualsiasi programma mi appare l’errore “Debugging information is not valid (listing file does not match with the application currently executing on the target device).
Luglio 4, 2014 alle 6:57 am #38304MassimoModeratoreNon riesco a riprodurre il problema che lamenti. Con Simulab riesco tranquillamente ad inserire i breakpoints sia in program che in function block che in function. Per vedere le variabili in watch, normalmente non vi sono problemi per i program e i function block, mentre possono esserci per le function.
Luglio 8, 2014 alle 4:36 pm #38318FabioPartecipanteE’ possibile in qualche modo chiamare programmi da un programma Main ? non ho trovato nulla nel manuale LogicLab. Se no la soluzione potrebbe essere di crearmi una funzione ?
Luglio 10, 2014 alle 6:51 am #38320Sergio BertanaAmministratore del forumI programmi possono solo essere eseguiti inserendoli nella relativa task di esecuzione. Non è possibile da un programma eseguire “chiamare” un altro programma.
Come dici giustamente tu puoi creare funzioni o blocchi funzioni che poi sono eseguibili dai programmi. Naturalmente le funzioni non possono avere variabili statiche al loro interno e non possono fare riferimenti a variabili esterne, inoltre hanno una unica variabile di ritorno.
I blocchi funzioni invece possono avere variabili statiche al loro interno, possono avere infinite variabili di uscita e possono fare riferimento a variabili esterne (Direttiva EXTERNAL). Naturalmente i blocchi funzioni devono essere istanziati tutte le volte che sono utilizzati.
Aprile 18, 2015 alle 3:18 pm #38892LucianoPartecipanteApprofitto per fare i complimenti per il libro “Plc in pratica” che e’ fatto molto bene e anche il CD allegato rappresenta un’ottima raccolta di esempi e soprattuto di documentazione pdf.
-
AutorePost
- Devi essere connesso per rispondere a questo topic.