CoDeSys è un ambiente di sviluppo per la programmazione di PLC e controllori conforme allo standard industriale IEC 61131-3.
CoDeSys è sviluppato e commercializzato dall’aziende tedesca 3S-Smart Software Solutions, situata nella cittadina bavarese Kempten. La versione 1.0 è stata rilasciata nel 1994. Il termine CoDeSys è un acronimo per Controller Development System. L'ambiente di sviluppo CoDeSys è gratuito e può essere installato su diverse postazioni. Il software è un tool che copre in un'unica interfaccia diversi aspetti della tecnologia d'automazione: controllo, SCADA ed HMI.
Nell’ambiente di sviluppo CoDeSys sono disponibili tutti i cinque linguaggi di programmazione per lo sviluppo di applicazioni definiti nello standard IEC 61131-3.
In CoDeSys sono inoltre disponibili editor grafici addizionali non definiti dallo standard IEC:
CFC (Continuos Function Chart) è una sorta di editor FBD a mano libera. Mentre gli editor FBD operano orientati ad una rete e i blocchi vengono allineati automaticamente, con CFC è possibile posizionare liberamente tutti i blocchi e realizzare quindi i collegamenti senza variabili intermedie.
L'ambiente di sviluppo offre anche la possibilità di creare una interfaccia uomo macchina (HMI) visualizzabile oltre che su appositi target hardware anche mediante browser web (tecnologia applet java). Questa funzionalità denominata VISU si presta anche per la redazione di progetti SCADA rudimentali.
Compilatori integrati trasformano il codice creato da CoDeSys in codice nativo per i macchinari (codice binario) che viene poi scaricato nel controllore. Sono supportate le più importanti famiglie di CPU a 16 e 32 bit, come ad esempio C166,TriCore, 80×86, ARM/Cortex, Power Architecture, SH, MIPS, BlackFin e altre.
Una volta online, CoDeSys offre funzionalità di debugging come monitoraggio/scrittura/forzatura di variabili impostando singoli passaggi di breakpoints/performing o registrando valori di variabili online nel controllore in un ring buffer (Sampling Trace).
CoDeSys V3.x è basato sulla cosiddetta CoDeSys Automation Platfrom, una piattaforma di sviluppo per l'estensione nel sistema di programmazione CoDeSys. CoDeSys Professional Developer Edition offre la possibilità di aggiungere componenti che sono soggetti a licenza, come ad esempio il supporto integrato UML, la connessione al sistema di controllo della versione di Apache Subversion.
Il CoDeSys Application Composer, gratuito, consente agli utilizzatori di creare complete applicazioni d'automazione in IEC 61131-3. Macchinari o impianti possono essere configurati basandosi su moduli, per esempio definendo costruzioni meccatroniche. Un configuratore integrato genera codice IEC 61131-3 visibile al di fuori dalla configurazione.
(Da Wikipedia, l'enciclopedia libera.)
Fermo restando che gli applicativi creati con CoDeSys possono di fatto emulare un PLC su architetture PC (SofPLC) e su uno svariato numero di altre CPU, alcune aziende di grosso calibro lo hanno adottato come ambiente di sviluppo per il loro dispositivi PLC.