Skip to main content

Whitepaper: modularizzazione dal punto di vista dell'utente

iniziazione

In CODESYS 3.5 SP17 abbiamo effettuato un'importante conversione architettonica. In precedenza, la maggior parte delle funzionalità del sistema di programmazione era raggruppata in un'unica configurazione coesa. Solo CODESYS SoftMotion così come i componenti aggiuntivi a pagamento del CODESYS Professional Developer Edition erano separati. Nel corso della conversione, ora abbiamo continuato questa modularizzazione fino alla funzionalità principale. La maggior parte degli editor di linguaggi di programmazione, configuratori bus di campo e generatori di codice sono ora affidati in outsourcing ai propri add-on. Lo stesso vale per le grandi funzionalità come la visualizzazione o la configurazione delle icone, per citare due esempi. Al centro rimangono importanti caratteristiche dell'infrastruttura come la struttura dell'interfaccia utente (sistema di menu, navigatore, finestra di segnalazione, ecc.), il front-end del compilatore e i componenti per la gestione del progetto e la comunicazione con i controllori. Va notato che più parti del core potrebbero essere spostate in componenti aggiuntivi separati in futuro.

Utilizzeremo principalmente questa modularizzazione per equalizzare i cicli di versione dei singoli componenti. In passato era necessario CODESYS-Convergere lo sviluppo di nuove funzionalità e miglioramenti a un'unica data all'anno, ovvero la data di rilascio di un service pack. Le funzionalità che non erano state completate in genere portavano al rinvio del service pack. Le funzionalità che erano chiaramente fuori programma sono state rimandate di un anno intero. Vogliamo questo incastro sia nel nostro stesso interesse che nell'interesse di tutti CODESYS-Risolvi utenti e versioni indipendenti e rilascia ogni componente aggiuntivo in futuro.

per CODESYSutenti, ci sono una serie di vantaggi evidenti e importanti.

  • Le funzionalità vengono rilasciate immediatamente dopo il completamento e sono disponibili il prima possibile.

  • Le versioni beta dei componenti aggiuntivi possono essere fornite agli utenti interessati per avere un'opportunità tempestiva di feedback. Tale versione beta può essere utilizzata in un ambiente altrimenti stabile.

  • È possibile rimuovere componenti aggiuntivi non necessari, a vantaggio sia dei requisiti di spazio che delle prestazioni complessive.

Naturalmente, questa flessibilità è compensata da una maggiore complessità. In questo white paper vorremmo descrivere

  • quali restrizioni esistono

  • quali misure abbiamo adottato per rendere gestibile la complessità

  • quale procedura consigliamo per le applicazioni tipiche

Il set up

L'installazione, che è ancora dal CODESYS Store International può essere scaricato è completo. Tutti i componenti che ne fanno già parte CODESYS 3.5 SP16 e versioni precedenti sono incluse anche nella configurazione corrente, ovvero dopo l'installazione, gli utenti ricevono un sistema generale familiare senza compromessi funzionali.

Pensiamo che gli utenti dovrebbero elaborare la compilazione individuale del sistema principale e delle versioni aggiuntive nel proprio tempo e non doverne occuparsi dall'inizio. Siamo anche consapevoli del fatto che molti utenti non sono scontenti del pacchetto complessivo e potrebbero non voler mai creare una build personalizzata, un approccio perfettamente legittimo a cui lo strumento non intende intralciare.

L'installatore

L'installazione installerà automaticamente un nuovo strumento globale chiamato CODESYS Installer nomi. Con quello tutti possono CODESYS- Vengono gestite le installazioni e gli add-on associati. È il fulcro per gli utenti che vogliono beneficiare attivamente dei vantaggi della modularizzazione.

Con il CODESYS Installer è possibile gestire un numero qualsiasi di installazioni indipendenti. All'interno di ogni singola installazione, è possibile specificare esattamente quali componenti aggiuntivi dovrebbero farne parte. Per maggiore chiarezza, a ciascuna installazione può essere assegnato un nome descrittivo. Ad ogni installazione è possibile impostare quali aggiornamenti devono essere segnalati; per impostazione predefinita, è impostato su "solo versioni rilasciate", ma può anche essere passato a versioni preliminari o disattivato per bloccare lo stato di un'installazione.

Ulteriori informazioni sulle funzioni utili del CODESYS Installer può essere trovato nelle raccomandazioni di seguito.

Entro CODESYS abbiamo il centro notifiche al CODESYS Installer collegato. I messaggi sugli aggiornamenti adeguati vengono visualizzati qui. Quindi non è sempre necessario CODESYS Installer corri per essere informato degli aggiornamenti.

Compatibilità

La parola chiave compatibilità nasconde il maggiore aumento di complessità che deriva dalla modularizzazione. Sebbene tradizionalmente ci sia stato un avanzamento lineare e il problema di compatibilità è stato quindi semplice ("new CODESYS può leggere il vecchio progetto"), la questione è molto più difficile in un ambiente altamente modulare.

Le decisioni che abbiamo preso e che sono spiegate più dettagliatamente nelle sezioni seguenti sono state prese deliberatamente non sulla base di ciò che è tecnicamente fattibile, ma su ciò che è ragionevolmente gestibile.

Compatibilità del progetto

La domanda qui è fino a che punto a CODESYS-L'installazione può aprire un progetto o una libreria con un altro CODESYS-L'installazione è stata creata.

Non abbiamo cambiato questo meccanismo. Il comportamento è identico a quello del CODESYS-Versioni prima della modularizzazione. Se nel progetto sono presenti dati che non possono essere letti o interpretati con la versione corrente perché creata da un ambiente più recente, gli oggetti interessati vengono contrassegnati con una croce rossa nel navigatore e con [incompleto] (→ È ancora possibile aprire l'editor) o [sconosciuto] (→ L'editor non può più essere aperto). In entrambi i casi, il progetto non può essere caricato sul controller (perché potrebbe verificarsi un comportamento indefinito del programma) e resta fermo Salva come disponibile (per evitare la sovrascrittura accidentale del progetto originale e quindi la perdita di dati).

Questo comportamento si è dimostrato valido per anni.

Compatibilità del codice

Si tratta della questione se uno con a CODESYS-L'installazione per un progetto può generare sempre lo stesso codice di controllo binario di un altro CODESYS-Installazione. Per dirla semplicemente: puoi iniziare qualsiasi progetto con a CODESYS-Aprire l'installazione e accedere al controller senza modifiche o download online?

A questo scopo c'erano fino a e compreso CODESYS 3.5 SP17 il concetto di versione del compilatore. Inizieremo la versione del compilatore CODESYS 3.5 Rimuovere SP18. Se dipendi dalla possibilità di accedere a un controllore con un progetto senza modifiche o download online, devi avviare il progetto con un CODESYS-Installazione aperta.

Ci sono una serie di argomenti importanti per la decisione di abbandonare il concetto di versione del compilatore:

  • Non solo il compilatore, ma anche gli editor del linguaggio di programmazione e i configuratori di bus di campo coinvolti sono responsabili del codice generato. Dal momento che questi sono stati ora esternalizzati a componenti aggiuntivi con versione indipendente, in linea di principio non può più esserci una versione del compilatore onnicomprensiva uniforme. Dal punto di vista dell'utente, troviamo il tentativo di combinare una combinazione di diverse versioni del compilatore specifiche per componenti aggiuntivi in una sorta di profilo della versione del compilatore eccessivamente complesso. in CODESYS UML (Parte di CODESYS Professional Developer Edition) da anni esiste una versione separata per la generazione del modello linguistico, ma anche con questo componente aggiuntivo questo concetto non si è dimostrato valido nella pratica, per non parlare dell'attuale moltitudine di componenti aggiuntivi.

  • Anche nella sua forma semplice, la versione del compilatore richiedeva una conoscenza dettagliata da parte dell'utente. Al più tardi, la correzione di una versione che era stata accidentalmente impostata in modo errato era spesso problematica. Gli utenti che hanno avuto brutte esperienze con esso, o che non erano fondamentalmente convinti da questo concetto, hanno eseguito in passato diverse installazioni di manutenzione per poter accedere in modo sicuro ai controller in esecuzione in caso di manutenzione. Come vedremo di seguito, ora offriamo un solido supporto interattivo per questo caso.

  • Ogni nuova versione del compilatore gonfia la nostra base di codice interna. Da un lato, ciò ha un effetto negativo sulle prestazioni e sulle dimensioni dell'impianto. D'altra parte, non possiamo testare tutte le combinazioni in questa base di codice. Poiché anche la manutenzione delle versioni del compilatore è in una certa misura soggetta a errori, ciò è in diretta contraddizione con i nostri standard di qualità in costante aumento. In altre parole, non possiamo garantire che il concetto di versione precedente del compilatore funzioni in modo affidabile in tutti i casi, e certamente non potremmo se dovessimo rendere questo concetto ancora più complesso a causa della modularizzazione.

  • I due argomenti precedenti possono essere riassunti come segue: Dal punto di vista dell'utente, è interessante poter produrre una versione adatta con il nostro strumento di supporto per il caso di manutenzione senza doversi occupare affatto di una versione del compilatore.

Compatibilità del sistema di runtime

La domanda qui è fino a che punto a CODESYS-L'installazione è compatibile con una versione del sistema runtime. In altre parole: puoi inventarne uno nuovo CODESYS-Accedere a un vecchio controller e utilizzare le funzioni online disponibili?

Non abbiamo modificato i meccanismi associati. In linea di principio, le versioni del sistema di programmazione e del sistema runtime possono essere combinate a piacere, con le seguenti limitazioni:

  • Una nuova versione del sistema di programmazione può offrire funzioni che una versione precedente del sistema di runtime non supporta ancora. In questo caso la funzione non è disponibile.

  • Una versione precedente del sistema di programmazione potrebbe non essere in grado di funzionare con una versione più recente del sistema di runtime se le estensioni di sicurezza lo vietano (ad es. amministrazione utente forzata o un nuovo tipo di algoritmo di crittografia).

Raccomandazioni per gli utenti

Naturalmente, gli scenari descritti in questa sezione possono essere utilizzati anche in combinazione. Riteniamo che questo copra la stragrande maggioranza dei casi rilevanti per la pratica e vorremmo supportarli nel miglior modo possibile con i nostri strumenti. Vogliamo continuare a ottimizzare il nostro software insieme a questi casi d'uso in futuro.

scenario

raccomandazione

supporto dello strumento

Sviluppo quotidiano su un progetto in corso

il CODESYSversione e i relativi componenti aggiuntivi devono essere sempre aggiornati. Lavoriamo costantemente a piccoli e grandi miglioramenti, correzioni di bug e aggiornamenti di sicurezza, quindi l'ultima versione è sempre la migliore di sempre. Ci sono poche ragioni per restare con le vecchie versioni.

il CODESYS Installer Visualizza tutti gli aggiornamenti disponibili associati a un'installazione. Questi aggiornamenti possono essere scaricati e installati con pochi clic del mouse.

Inoltre, tramite il Centro Notifiche, che si trova in CODESYS è integrato come finestra agganciabile, vengono visualizzati anche gli aggiornamenti disponibili (che corrispondono esattamente all'installazione corrente). Da qui si può andare direttamente al CODESYS Installer essere saltato, in modo che non debba essere costantemente attivo.

Tutte le configurazioni e i componenti aggiuntivi che forniamo sono firmati, quindi scaricarli su Internet è sicuro. Abbiamo esteso PackageManager con metodi di test corrispondenti (parzialmente interattivi).

Sviluppo quotidiano di un progetto in corso a condizione che più persone in una squadra debbano utilizzare un'installazione uniforme

Come sopra.

Una persona del team installa gli aggiornamenti disponibili e li testa. Se il rilascio ha esito positivo, la nuova installazione di riferimento viene distribuita nel team.

nel CODESYS Installer le installazioni esistenti possono essere esportate come file di descrizione. Questo file può essere utilizzato per creare un'installazione identica su un'altra macchina. Questo meccanismo è disponibile anche tramite riga di comando, quindi è particolarmente adatto per ambienti automatizzati.

Prova le ultime funzionalità aggiuntive in un ambiente protetto

Un esistente utilizzato in modo produttivo CODESYS-L'installazione è duplicata. In questo, tutte le versioni beta dei componenti aggiuntivi vengono installate e aggiornate secondo necessità.

Quelli usati in modo produttivo CODESYS-Le installazioni rimangono completamente inalterate. Il normale lavoro sui progetti non è interessato.

il CODESYS Installer semplifica la creazione di una copia di un'installazione esistente. Per ogni installazione è possibile scegliere se offrire e installare solo gli aggiornamenti rilasciati o anche gli aggiornamenti beta sperimentali.

In precedenza, un service pack o una patch specifici potevano essere installati solo una volta per computer. Dall'introduzione dell'installatore, questa restrizione è stata revocata.

Manutenzione su un controller esistente senza modificare il progetto di inventario associato. È necessario garantire che sia possibile accedere al controller senza modifiche o download online,

Sarà uno che si adatta esattamente al progetto CODESYS-Installazione creata. Senza avere a che fare con le versioni del compilatore, è garantita la generazione di un codice di controllo uguale a binario.

Quando si carica un progetto, differenze tra la corrente CODESYSinstallazione e la versione di creazione, hai l'opportunità di scaricare e installare un'installazione che si adatta esattamente al progetto. Il progetto viene quindi aperto automaticamente in questa versione appena creata.

Inoltre, durante il caricamento è ovviamente possibile selezionare anche le installazioni idonee già esistenti sulla macchina.

Ottieni installazioni CODESYS Installer un nome personalizzato. In questo modo non perdi la panoramica se devi gestire un numero maggiore di installazioni.

Per non ricevere costantemente suggerimenti di aggiornamento per un'installazione di compatibilità così speciale, questi sono separati dal canale di aggiornamento per impostazione predefinita.

Ulteriore sviluppo di un vecchio progetto esistente

Il progetto è in una corrente CODESYS-Installazione ulteriormente sviluppata. Poiché le modifiche al codice vengono comunque apportate, la modifica online o il download dovuto sono irrilevanti.

CODESYS può ancora caricare i vecchi progetti senza perdite. Se manca un componente aggiuntivo necessario, è possibile scaricarlo e installarlo direttamente dal processo di caricamento del progetto. In caso contrario, sia il progetto stesso che il controller sono protetti dalla protezione in scrittura e download.