verticale128 Inserito: 11 ore fa Segnala Inserito: 11 ore fa Apro qui questo topic in quanto non saprei in quale altra sezione del forum inserirlo. Parto dal presupposto, credo ormai assodato per tutti, che la programmazione PLC, o comunque di automazione in generale, sia da sempre considerata di "serie B" rispetto alla programmazione standard, soprattutto rispetto a quella di alto livello (linguaggi strutturati come C++, C#, Python, etc.). E non è un caso che, quasi ovunque, chi abbia un buon background da programmatore, si orienti quasi sistematicamente proprio sulla programmazione ad alto livello, lasciando l'automazione ai "mestieranti" di qualche tipo (generalmente con grado di istruzione e skill ben più limitati). Questo ha, secondo me, da sempre azzoppato piuttosto pesantemente le ambizioni e i desideri di miglioramento dei programmatori PLC, che generalmente, dopo un periodo di crescita e miglioramento giovanile, quasi immancabilmente si "assestano" su un plateau che rimane tale per il resto della carriera. I motivi per cui questo accade sono abbastanza facilmente individuabili: 1- La programmazione di alto livello è intrinsecamente più complessa, e quindi per i giovani programmatori molto più stimolante. 2- Le piattaforme PLC sono generalmente ambienti "chiusi", in cui le piattaforme sono piuttosto diverse tra loro in quanto molto customizzate, ed in cui i produttori tendono a fidelizzare a vita i propri programmatori al proprio ambiente ed ad ai propri prodotti. 3- Viceversa, le piattaforme di programmazione ad alto livello, soprattutto da quando si è diffuso capillarmente il mondo Linux ed il concetto di open-source, sono ambienti apertissimi, multipiattaforma, e con una enorme condivisione di risorse tra utenti via web; ne deriva che le piattaforme ed i forum di condivisione (ovviamente in primis in lingua inglese) sono moltissime, e rendono possibile anche ad un autodidatta volenteroso arrivare in tempi brevi ad un buon/ottimo livello di competenza. 4- I sistemi di intelligenza artificiale (che siano ChatGpt, Gemini o Copilot o altri ancora) sono chiaramente stati tutti istruiti sui linguaggi di alto livello, e rendono estremamente efficace il supporto a questo tipo di programmatori; un simile livello di apporto/supporto è chiaramente impensabile, almeno a breve, per il mondo dell'automazione. 5- L'unico ambiente di automazione multi-piattaforma che sarebbe papabile per un progetto di condivisione e di (parziale) open-source a lungo termine è chiaramente Codesys, che è notoriamente basato anche su concetti di programmazione di alto livello, ma che però non ha assolutamente ancora un livello di penetrazione/condivisione/apporto da parte degli utenti, a livello mondiale, paragonabile ai linguaggi ad alto livello; il sito stesso ufficiale di Codesys non ha minimamente una quantità di materiale informativo/esplicativo all'altezza di un progetto di ampio respiro, quale potrebbe essere. Inoltre, i produttori stessi di PLC che adottano quella piattaforma, pur cominciando ad essere numerosi, spesso customizzano pesantemente il nucleo Codesys originale del loro progetto, di fatto producendo degli ambienti tra i quali la riusabilità del codice e l'interoperabilità diventano minime (mi vengono in mente ad esempio gli ambienti Codesys di Schneider e Beckhoff). A livello di piattaforme web, è chiaro che per poter pensare ad un progetto di condivisione internazionale, una eventuale piattaforma dovrebbe essere necessariamente in lingua inglese. E attualmente non mi sembra che ne esistano di interessanti e molto frequentate (a parte la ben nota piattaforma di mera condivisione di software craccato). Spero che questo topic possa avere un buon riscontro di interesse, perchè la questione, in prospettiva futura, non mi sembra assolutamente di secondo piano, riguardando in primis l'attrattiva che il settore dell'automazione può esercitare sulle nuove leve. Saluti.
Ctec Inserita: 11 ore fa Segnala Inserita: 11 ore fa Non sono molto d'accordo. Innanzi tutto gli ambienti sono parecchio diversi e con esigenze diverse. I programmi per PLC hanno una struttura diversa per il sistema operativo che implementano, basato sul concetto di scansione. Questo è assolutamente inesistente per sistemi PC. Principalmente perché i PLC devono rispondere a ben precisi e rigorosi principi di sicurezza di funzionamento. Si deve per esempio dover garantire un arresto sicuro del sistema in caso di crash, per esempio generato da loop infiniti o troppo lunghi. Il Codesys NON è assolutamente un open source, ma sviluppato da un'azienda che ne vende licenza (versioni base gratuite che però per svolgere funzioni un po' più complesse necessitano di licenze aggiuntive). Del resto io una macchina per quanto semplice ma basata su software su PC "diretto" sinceramente non la comprerei mai. Ti immagini al riavvio del sistema operativo avere tutti inchiodato... I sistemi operativi da PC (tutti, open source o meno) sono tutti troppo general purpose, mentre quelli (proprietari) dei PLC sono altamente specializzati e performanti per il mestiere che andranno a fare. Anche quando sviluppavo schede embedded a microprocessore (programmate in C o assembly) per macchinari, lo facevo per compiti estremamente specifici e si faceva poi fare delle prove dedicate a certificatori esterni (anche se non c'erano operazioni di sicurezza implementate), proprio per garantire e certificare l'affidabilità del sistema nelle varie circostanze. Ma erano schede estremamente dedicate e non riconducibili a un vero PLC (svolgevano quella sola automazione). Per il discorso di non bloccarsi su sistemi troppo chiusi, a mio parere è stato fatto un gran passo in avanti con lo IEC 61131, che salvo funzioni particolari (riconducibili a funzioni di libreria particolari di altri linguaggi) sono sostanzialmente intercambiabili, salvo pochi aggiustamenti, da una marca all'altra. Poi basta orientarsi su piattaforme gratuite e performanti (e ce ne sono, soprattutto orientali) ed il gioco è fatto.
drn5 Inserita: 5 ore fa Segnala Inserita: 5 ore fa Non ho capito di cosa stiamo parlando. La programmazione plc è una parte, i database Sql o NoSql un'altra, la programmazione di apparecchiature custom un'altra, le interfaccie operatore Android un'altra, ambienti di studio usano framework specializzati come Labview , il web un'altra ancora. E millemila altri ancora... Poi c'è tutta quanta la AI basata su modelli diversi ognuno guarda caso specializzato e diversificato ad hoc per usi specifici, un pò come i linguaggi di programmazione. Non puoi dire che i giovani si appassionano di più al C# piuttosto che al Go o al Pyton. Dipende dai percorsi universitari, dai politecnici, dai docenti e perchè no anche dalle passioni dei padri. Per ritornare ai plc, dipende da cosa deve fare il plc, se è garantire affidabilità e tempi ciclo con hardware "modesti" non ti serve più di quello che hai già (SCL/Ladder/FUP...). Se vuoi integrarci il web e la AI non è lavoro da plc.
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora