Skip to main content

CODESYS 4

CODESYS 4 è uno strumento di sviluppo per l'automazione industriale, indipendente dalla piattaforma e a basso consumo di risorse, conforme alla norma IEC 61131-3. L'interfaccia utente viene eseguita interamente nel browser ed è quindi disponibile su un'ampia gamma di sistemi operativi, tra cui Windows, Linux, macOS, iPadOS e Android. Il backend, ovvero il nucleo funzionale vero e proprio, è separato dall'interfaccia utente. Può essere eseguito in diversi ambienti (desktop, server, cloud e on-premise) su Windows o Linux, e su piattaforme CPU x86/x64 e ARM.

Durante lo sviluppo di CODESYS 4, l'attenzione si è sempre concentrata sulla qualità del software e su una solida base di piattaforma. L'ambito funzionale della versione 1.0.0.0 è specificamente adattato a due scenari applicativi e crescerà continuamente in cicli di rilascio brevi (vedere la sezione Uno sguardo ai futuri sviluppi).

. Le caratteristiche di CODESYS 4 si basano essenzialmente su tre decisioni architettoniche:
  • Separazione tra backend e frontend: L'interfaccia utente grafica non è necessaria per le funzioni principali. Ciò significa che CODESYS 4 Può essere utilizzato sia in modo interattivo nel browser, sia in modo completamente automatico tramite riga di comando (headless).

  • Archiviazione di dati aperti basata su testo Un progetto è una directory di file di testo leggibili anziché un file di progetto binario.

  • Runtime condiviso con CODESYS 3 Il codice macchina generato è identico e le librerie compilate sono intercambiabili tra i due strumenti.

Gruppo target e scenari di applicazione

CODESYS 4 È pensato per gli utenti che sviluppano applicazioni per controllori IEC 61131-3 e desiderano utilizzare metodi IT consolidati nell'automazione, come il lavoro indipendente dalla piattaforma, il controllo di versione, CI/CD e lo sviluppo in team. Lo standard IEC 61131-3 rimane il fondamento: i linguaggi di programmazione e i metodi di lavoro continuano ad essere applicati senza modifiche.

. La prima versione è pensata per due scenari applicativi:
  • Sviluppo di librerie con CI/CD: CODESYS 4 È adatto allo sviluppo di librerie integrate in processi automatizzati di compilazione e rilascio. L'integrazione del compilatore tramite riga di comando, l'archiviazione del progetto basata su file e la risoluzione deterministica delle dipendenze sono parte integrante dell'architettura. Ciò consente di compilare le librerie in modo riproducibile e senza interfaccia grafica, su qualsiasi sistema operativo supportato e in qualsiasi pipeline CI/CD comune.

  • Applicazioni semplici: La prima versione di CODESYS 4 è adatto per applicazioni di controllo semplici su un singolo controller. Ciò include, ad esempio, piccole macchine, banchi di prova o applicazioni integrate in dispositivi con un numero limitato di punti I/O digitali e analogici. Si utilizza l'editor del dispositivo Modbus (Modbus TCP) per assegnare le variabili I/O e scaricare l'applicazione sul controller. In modalità online, si monitorano le variabili in tempo reale e si regolano i parametri. In questo modo, si copre completamente il flusso di lavoro di messa in servizio essenziale. CODESYS 4.

Per i progetti che vanno oltre questo, CODESYS 3 è ancora lo strumento di scelta (vedi sezione Classificazione nel CODESYS portfolio).

Vantaggi di CODESYS 4

indipendenza dalla piattaforma: L'interfaccia utente di CODESYS 4 Funziona in qualsiasi browser convenzionale ed è quindi indipendente dal sistema operativo dell'ambiente di lavoro. Il backend è compatibile con Windows e Linux, incluse le piattaforme x86/x64 e ARM. Non è necessaria alcuna macchina virtuale per lo sviluppo su Linux e macOS.

La separazione del frontend e del backend rende possibile CODESYS 4 per operare in ambienti diversi:

  • Applicazione desktop

  • Istanza della workstation locale aperta nel browser

  • Server multiutente amministrato centralmente

  • Direttamente sull'hardware del controller

  • Su un controllore virtuale (vPLC)

Archiviazione di dati testuali e aperti: Una caratteristica chiave di CODESYS 4 è l'archiviazione di dati basata su testo e codificata in UTF-8. CODESYS 4 Opera direttamente a livello di file. Un progetto è una directory di file leggibili. Il codice sorgente IEC è fornito come file di testo UTF-8, i dati strutturati come JSON, le descrizioni dei dispositivi come XML e le immagini nel loro formato naturale (JPEG, PNG o SVG). Ogni elemento è memorizzato in un file separato all'interno di una struttura di cartelle comprensibile.

L'accesso esterno rappresenta un caso d'uso specifico. I file possono essere visualizzati, confrontati e uniti direttamente all'interno di strumenti standard esterni, tra cui editor di testo, strumenti di confronto, client Git o nella vista di confronto di GitLab e GitHub. CODESYS 4 I file vengono formattati in modo stabile e deterministico. Ciò include interruzioni di riga coerenti, un ordine fisso nei file JSON, una rientranza uniforme e l'omissione di metadati non necessari. Di conseguenza, i confronti mostrano le effettive modifiche al contenuto senza inutili complicazioni di formattazione. Il controllo di versione è gestito da strumenti consolidati come Git, SVN o Mercurial. CODESYS 4 è quindi solo uno dei tanti strumenti nel processo di sviluppo e non più l'unico "strumento principale".

Poiché i cambiamenti esterni sono possibili in qualsiasi momento, CODESYS 4 è progettato per gestire le incongruenze in modo controllato. Ad esempio, dopo un'unione o un checkout, CODESYS 4 Il sistema rileva i file modificati tramite il monitoraggio del file system e segnala eventuali errori nell'archivio del progetto.

Concetto di spazio di lavoro: Progetti in CODESYS 4 Sono organizzati in aree di lavoro. Un'area di lavoro combina più progetti di dispositivi e librerie, caricati insieme e modificati fianco a fianco su un piano di parità, in modo simile a una soluzione in un moderno ambiente di sviluppo. Non esiste un progetto principale: tutti i progetti all'interno dell'area di lavoro possono essere modificati allo stesso livello.

In pratica, ciò significa che si sviluppa un progetto Modbus composto da un server, un client e una libreria condivisa, lavorando fianco a fianco in un unico spazio di lavoro. Se si modifica una struttura nella libreria, è possibile continuare immediatamente a lavorare sulle applicazioni server e client. Il codice condiviso viene esternalizzato a una libreria a cui fanno riferimento tutte le applicazioni. Poiché i progetti di libreria vengono aperti e modificati nello stesso spazio di lavoro, lo sviluppo della libreria e dell'applicazione avviene in un unico processo.

Automazione e CI/CD da zero: Fin dall'inizio, CODESYS 4 È progettato per l'integrazione continua e la distribuzione continua (CI/CD). L'utilizzo tramite riga di comando (CLI) è una variante altrettanto valida, al pari delle applicazioni desktop e dei server multiutente, e non uno strumento aggiuntivo. Poiché il compilatore viene eseguito senza interfaccia grafica e genera codice macchina identico indipendentemente dallo strumento utilizzato, la pipeline si compila in modo riproducibile ad ogni commit.

Le dipendenze vengono gestite secondo uno schema ben noto nello sviluppo software moderno (paragonabile a npm o NuGet): un file manifest (Libraries.json ) descrive i riferimenti alla libreria desiderati e un file di blocco (Libraries.lock.json Il file .semver (semver) registra la risoluzione specifica di tutte le dipendenze dirette e indirette, con la versione e un checksum SHA384. Insieme al versionamento semantico, è possibile creare versioni identiche del codice sorgente in modo riproducibile.

Sistema di runtime condiviso con CODESYS 3: CODESYS 4 condivide lo stesso sistema di runtime con CODESYS 3 Il compilatore genera codice macchina identico in entrambi gli strumenti e le librerie compilate sono intercambiabili in entrambe le direzioni. Il codice che è stato compilato in CODESYS 4 funziona su qualsiasi controller dove CODESYS 3 Il codice è attualmente in esecuzione, senza nuovo hardware di destinazione e senza ricertificazione runtime. Il requisito è un sistema runtime CODESYS Versione 3.5 SP16 o superiore.

La sicurezza come parte integrante dell'architettura: Sicurezza in CODESYS 4 La sicurezza è integrata fin dalle fondamenta (Security by Design). Ciò include metodi di autenticazione convenzionali, limitazione della velocità di accesso e isolamento dei processi, particolarmente rilevanti per il funzionamento come server multiutente.

Operazioni e strumenti

Nella versione 1.0.0.0, sono disponibili per la programmazione l'editor ST e l'editor ladder (LD). L'editor ladder è stato completamente riprogettato ed è basato su un'architettura web.

Non è prevista un'interfaccia di scripting dedicata poiché i file di progetto sono direttamente accessibili e modificabili. Per le attività di automazione e integrazione, è invece disponibile un'interfaccia a riga di comando completa.

Classificazione nel CODESYS portfolio

IL CODESYS 4 l'applicazione è uno sviluppo completamente nuovo, destinato a integrare CODESYS 3 Non la sostituiranno. Entrambe le generazioni coesisteranno per il prossimo futuro e condivideranno lo stesso sistema di runtime e le stesse librerie.

. CODESYS 4 è lo strumento adatto per:
  • Sviluppo di librerie in processi di compilazione e rilascio automatizzati

  • Applicazioni di controllo semplici su un singolo controller

  • Sviluppo su Linux o macOS, nonché gestione multiutente centralizzata.

. CODESYS 3 è lo strumento adatto per:
  • Progetti complessi con funzionalità complete, ad esempio con visualizzazione, animazione o bus di campo aggiuntivi.

  • Progetti che richiedono il CODESYS Test Manager o il debugger

Suggerimento

Se hai già familiarità con CODESYS 3, quindi vedi il capitolo Passando da CODESYS 3 per le differenze concettuali e una mappatura delle funzioni usuali.

Uno sguardo ai futuri sviluppi

CODESYS 4 Segue un ciclo di rilascio breve, pensato per fornire una nuova versione principale all'incirca ogni due mesi, reso possibile da una moderna infrastruttura tecnologica e da una copertura completa di test automatizzati. Invece di singole patch, verranno forniti aggiornamenti completi.

. L'ambito funzionale si amplierà con ogni nuova versione.
  • Le versioni successive includeranno funzionalità quali modifiche online, comandi aggiuntivi della libreria CLI, la possibilità di escludere elementi dalla compilazione, estensioni installabili dall'utente e correzioni di bug permanenti.

  • Editor grafici aggiuntivi: l'implementazione di CFC è iniziata e l'editor ladder è in fase di ampliamento per includere funzioni utili. Queste includono il supporto per il codice intelligente, funzioni avanzate di modifica e refactoring, trascinamento e rilascio, monitoraggio ladder e sottolineatura degli errori.

  • Più bus di campo, come EtherCAT e PROFINET

Un obiettivo strategico per l'ulteriore sviluppo è la Piattaforma di Estensione. Essa consentirà un'estensione modulare di CODESYS 4 con funzioni aggiuntive fornite e installate come estensioni.