WALTERmwp ha scritto:Forse l'avrai già notato ma ti suggerisco comunque di sbirciare tra alcuni interventi di dimaios: danno un'idea dello spessore che si può raggiungere ......
WALTERmwp, in effetti in termini di spessore espresso in
kg .... abbondo.
A parte gli scherzi.
Gost91, ho seguito alcuni tuoi interventi e dal punto di vista teorico non ho dubbio alcuno che tu possa affrontare i temi di controllo in generale.
Il problema è comunque di tipo diverso.
Il PLC viene impiegato più o meno nel seguente modo :
1. Controllo automatico in
loop chiuso (
PID e varianti per capirci ) ( 2% )
2. Automazione generale ( 98 % )
L'automazione generale è più rivolta alle sequenze ed alla comunicazione con i livelli inferiori ( tipicamente
inverter e sensori su
bus di campo ) e quelli superiori (
HMI e livelli 2 )
Il
software del
PLC si divide fondamentalmente in tre macro-blocchi.
A) Software per il funzionamento della macchina in modalità automatica
B) Software per il funzionamento della macchina in modalità manuale
C) Sezione
safety ( se i moduli di emergenza
hardware sono montati sul
PLC altrimenti questa funzione viene delegata ad un altro dispositivo )
Una questione deve essere chiara da subito :
Il PLC è uno strumento per implementare la logica che governa la macchina. Senza una conoscenza del processo non si ottiene nulla di fruibile. Per imparare a programmare il PLC si deve necessariamente affrontare un problema reale.Al contrario della programmazione con linguaggi evoluti, come il
C++ per esempio, i paradigmi e le istruzioni dei linguaggi
PLC sono molto semplici.
La difficoltà non è imparare il linguaggio ma far funzionare i dispositivi in campo ovvero avere un conoscenza approfondita degli stessi e soprattutto di ciò che stà a monte e a valle ( sincronizzazione di linea ).
Se riesci ad individuare le sequenze da implementare e soprattutto le condizioni di funzionamento che possono verificarsi ( soprattutto in caso di
fault! ) allora la scrittura del codice risulta "quasi banale".
Il problema del pendolo inverso che hai pubblicato in un altro thread potrebbe essere un punto di partenza.
PASSO 1 : Compilare la
motor & sensor list ovvero la lista di tutti gli attuatori e sensori per governare il processo.
A questo punto prova a pensare a tutte le condizioni che possono verificarsi durante il funzionamento.
finché il pendolo è sotto controllo tutto funziona ma se per esempio manca l'alimentazione ad un motore oppure si rompe un fine corsa cosa succede ?
Questo è il vero problema, descrivere i possibili scenari e prendere le contromisure.
In questa ottica comprenderai facilmente che il funzionamento automatico della macchina è un frammento di codice molto piccolo rispetto al funzionamento manuale perché ciò che si può "combinare" avendo la massima libertà di azione è molto complicato da descrivere e gestire.

Per quanto riguarda l'
hardware non ci sono consigli generali da dare perché la
vendor list del cliente molte volte ti obbliga ad utilizzare ciò che impone il committente.
Questo non è un grosso problema perché i vari sistemi si sviluppo hanno in comune i linguaggi di programmazione per cui devi affrontare il solito periodo di adattamento all'
IDE.
Se vuoi affrontare un problema limitato e spendere poco per fare dei
test allora posso anche suggerirti qualcosa di
low cost ma prima sarebbe meglio che tu mettessi sul tavolo un problema reale da risolvere così iniziamo a parlare di qualcosa di concreto.