Compatibilità
Compatibilità di CODESYS progetti
Formato di archiviazione
Caso d'uso | Supporto |
---|---|
Caricamento progetti in nuovo CODESYS versione senza perdita di dati | ✓ |
Salvataggio di progetti per i più anziani CODESYS versioni | ✓ |
Apertura di nuovi progetti nel vecchio CODESYS versioni |
|
Progetti esistenti che vengono aperti con uno più recente CODESYS vengono mantenute in "modalità compatibilità" il più a lungo possibile. Finché si apportano al progetto solo modifiche che non richiedono nuove funzionalità, il formato di archiviazione rimane lo stesso. Ecco perché l'originale CODESYS la versione può continuare ad aprire e modificare il progetto senza perdita di dati. Se apporti modifiche che richiedono il salvataggio di nuovi dati nel progetto, verrai avvisato in modo interattivo di questa situazione. Hai la possibilità di annullare le ultime modifiche se una violazione di compatibilità fosse inaccettabile.
Spesso puoi aprire progetti con versioni di memoria più recenti in versioni precedenti CODESYS versioni, ma questo è fortemente sconsigliato. La possibilità o meno di aprire progetti dipende dalla disponibilità dei tipi di plug-in nella vecchia versione. Un messaggio corrispondente viene visualizzato quando si carica un progetto di questo tipo.
Hai anche la possibilità di salvare un progetto per una versione precedente di CODESYS eseguendo il File → Salva come comando. In questo caso, le informazioni su quali oggetti sono interessati dalla perdita di dati vengono visualizzate nel file Messaggi visualizzazione. Tuttavia, il salvataggio di progetti per una versione precedente influisce esclusivamente sul formato di archiviazione. Non esiste una conversione completa del progetto in cui la versione del compilatore o impostazioni simili vengono adattate alla versione precedente.
Comportamento in linea
Caso d'uso | Supporto |
---|---|
Compilazione di un progetto creato con un file old CODESYS versione, in una nuova CODESYS versione | ✓ |
Accedi senza modifiche online in una nuova versione. | -- |
Nuovo CODESYS le versioni non possono generare per progetti esistenti lo stesso codice della versione precedente con cui è stato creato il progetto. Se è necessario accedere a un'applicazione in esecuzione senza modifica o download online, è necessario aprire il progetto con l'ultima versione caricata sul controller. IL CODESYS Installer e l'analisi del progetto ti aiutano a ripristinare la versione originale se non esiste già.
Di conseguenza, ciò significa che l'apertura del progetto con una versione più recente o diversa richiede l'aggiornamento del progetto. Molto probabilmente ciò richiederà un nuovo download dell'ambiente runtime. È inoltre necessario testare l'applicazione per possibili cambiamenti nel comportamento che risultano da nuove funzioni o correzioni di bug nel compilatore o negli editor grafici. In generale, si cerca di ridurre al minimo i nuovi errori del compilatore o le modifiche comportamentali per i progetti esistenti al fine di mantenere il più basso possibile lo sforzo per l'aggiornamento alle nuove versioni.
Per garantire la compatibilità con i runtime esistenti è necessario osservare i seguenti punti:
Nuove funzioni in CODESYS sono generalmente abilitati nella descrizione del dispositivo. Di conseguenza, sono disabilitati per i sistemi runtime più vecchi o per le descrizioni dei dispositivi meno recenti.
Le versioni di tutte le librerie esterne vengono risolte tramite la descrizione del dispositivo. Di conseguenza vengono adattati al corrispondente sistema runtime.
Le librerie interne vengono risolte da CODESYS versione, indipendentemente dalla versione del sistema runtime.
I servizi di comunicazione sono strutturati secondo un formato condiviso con tag. I tag sconosciuti vengono ignorati dal sistema runtime. Di conseguenza, è possibile modificare il servizio di comunicazione, ma il sistema di programmazione non si aspetterà che il sistema runtime interpreti le nuove informazioni.
Compatibilità di CODESYS biblioteche
Caso d'uso | Supporto |
---|---|
Utilizzando una libreria compilata, creata in un file precedente CODESYSversione, in una nuova CODESYS versione. | ✓ |
Utilizzando una libreria compilata, che è stata creata in un nuovo file CODESYS versione, in una versione precedente CODESYS versione. | -- |
Le librerie compilate dovrebbero sempre essere create con il valore più basso CODESYSversione con cui devono essere compatibili. Vecchio CODESYS le versioni riconoscono le librerie create con versioni più recenti e ne rifiutano l'utilizzo in un progetto. Il controllo si basa sulla versione del compilatore impostata nella libreria. A seconda del contenuto della biblioteca, anche il formato di archiviazione può svolgere un ruolo.
Le stesse regole per CODESYS i progetti si applicano anche alle librerie di sorgenti.
Compatibilità del CODESYS sistema di esecuzione
Tuttavia, non è consigliabile utilizzare una versione precedente di CODESYS e una versione più recente del sistema runtime. Questa compatibilità non è stata testata esplicitamente. A causa delle correzioni di sicurezza nei sistemi runtime più recenti, potrebbero esserci incompatibilità con quelli precedenti CODESYS versioni.
Per garantire la compatibilità con la versione runtime esistente è necessario osservare i seguenti punti:
Nuove funzioni in CODESYS sono generalmente abilitati nella descrizione del dispositivo. Di conseguenza, queste versioni sono disabilitate per i sistemi runtime precedenti o per le descrizioni dei dispositivi precedenti.
Le versioni di tutte le librerie esterne vengono risolte tramite la descrizione del dispositivo. Di conseguenza vengono adattati al corrispondente sistema runtime.
Le librerie interne vengono risolte da CODESYS versione, indipendentemente dalla versione del sistema runtime.
I servizi di comunicazione sono strutturati secondo un formato condiviso con tag. I tag sconosciuti vengono ignorati dal sistema runtime. Di conseguenza, è possibile modificare il servizio di comunicazione, ma il sistema di programmazione non si aspetterà che il sistema runtime interpreti le nuove informazioni.
Compatibilità delle descrizioni dei dispositivi – Sistema runtime
Caso d'uso | Supporto |
---|---|
Durante il login vengono accettati una versione precedente della descrizione del dispositivo e un sistema runtime più recente. | ✓ |
Una versione più recente della descrizione del dispositivo e un sistema runtime più vecchio non vengono accettati, per cui il login viene rifiutato. | -- |
I progetti esistenti devono essere eseguiti su sistemi runtime esistenti, anche con quelli più recenti CODESYS versioni. Ciò può essere soddisfatto non modificando la descrizione del dispositivo nel progetto e avendo la versione esistente che corrisponde alla versione del sistema runtime. È anche possibile accedere al sistema runtime se la versione della descrizione del dispositivo e il sistema runtime non sono troppo diversi o incompatibili:
La descrizione del dispositivo contiene un elenco di librerie esterne le cui funzioni esterne sono implementate nel sistema runtime. La versione corrispondente della libreria è specificata nell'elenco dei segnaposto della libreria. Questo elenco è definito dal produttore del dispositivo.
Suggerimento
L'elenco dei segnaposto dovrebbe contenere solo le librerie i cui componenti runtime corrispondenti sono disponibili nel sistema runtime.
È possibile configurare l'intervallo di compatibilità tra la descrizione del dispositivo e il sistema runtime. Ciò significa che non è possibile accedere al controller se le versioni non corrispondono. Questo intervallo può essere selezionato dal produttore del dispositivo con le seguenti impostazioni nel sistema runtime (vedi
SysTargetItf.h
del sistema runtime):SYSTARGETKEY_INT_TARGET_VERSION_MASK
"TargetVersionMask": impostazione per specificare una maschera per verificare la compatibilità della versione di destinazione con la descrizione del dispositivo. Nella maschera vengono controllate solo le cifre significative.SYSTARGETKEY_INT_TARGET_VERSION_COMPATIBILITY_MASK
"TargetVersionCompatibilityMask": impostazione per specificare una maschera di compatibilità per verificare la compatibilità della versione di destinazione con la descrizione del dispositivo. Viene accettata una descrizione del dispositivo inferiore o uguale alla versione di destinazione. Una versione superiore della descrizione del dispositivo viene rifiutata.
CODESYS Versione | CODESYS Versione di controllo | Dispositivo Descrizione Versione | Consigliato | Restrizioni | Commento |
---|---|---|---|---|---|
3.5.19.0 | 3.5.19.0 | 3.5.19.0 | Sì, ottimale | -- | Questa è la combinazione ottimale. |
3.5.19.0 | 3.5.12.0 | 3.5.12.0 | SÌ | -- | Questo è un tipico caso di compatibilità. |
3.5.19.0 | 3.5.12.0 | 3.5.10.0 | No, ma possibile | Avviso quando si accede al controller che DevDesc non corrisponde | Ciò è possibile perché il |
3.5.19.0 | 3.5.12.0 | 3.5.19.0 | NO | Nessun accesso al controller | Per impostazione predefinita, questo viene rifiutato perché |
3.5.19.0 | 3.5.10.0 | 3.5.10.30 | NO | Nessun accesso al controller | Ciò è possibile perché il |
CODESYS Versione | CODESYS Versione di controllo | Dispositivo Descrizione Versione | Consigliato | Restrizioni | Commento |
---|---|---|---|---|---|
3.5.17.0 | 3.5.19.0 | 3.5.19.0 | NO | Sono possibili incompatibilità a causa di correzioni di sicurezza nel sistema runtime. | L'insieme di tutte le librerie esterne deve essere disponibile in CODESYS. È possibile che nelle librerie esterne siano utilizzate risorse del linguaggio IEC più recenti che portano ad errori di compilazione. |
3.5.17.0 | 3.5.19.0 | 3.5.17.0 | No, ma possibile | Sono possibili incompatibilità a causa di correzioni di sicurezza nel sistema runtime. |
Compatibilità del progetto di avvio + Retains - Sistema runtime
Caso d'uso | Supporto |
---|---|
Un sistema runtime più recente carica i progetti di avvio più vecchi. | ✓ |
Un sistema runtime precedente carica progetti di avvio più recenti. |
|
All'interno di una versione principale deve essere possibile caricare progetti boot esistenti dal sistema runtime. Un progetto di boot esistente viene confrontato con la designazione del tipo di una destinazione (VendorID
, DeviceID
, e il DeviceVersion
dalla V3.5.8.0) prima del caricamento.
Variabili di conservazione da un file di conservazione salvato (<application>.ret
) o dalla SRAM devono essere sempre compatibili. Un checksum viene salvato in un file separato per ciascuna area di conservazione. Lo stesso checksum viene salvato nel progetto di boot. Questa somma di controllo viene generata dal compilatore dai dati Retain e identifica tutte le variabili nell'area Retain con i rispettivi tipi. Se la checksum dei dati Retain e la checksum del progetto boot non coincidono, nel sistema runtime esistono diverse possibilità per selezionare il comportamento. È possibile specificare queste opzioni nel file [CmpApp]
sezione del cfg
file:
Bootproject.RetainMismatch.Init = 1
: il progetto di avvio viene caricato e le ritenzioni vengono inizializzate.Bootproject.RetainMismatch.Exception = 1
: il progetto di avvio viene caricato, ma l'applicazione rimane nello stato di arresto ed è impostata su uno stato di eccezione. Questa condizione può essere corretta con un ripristino manuale.Nessuna impostazione
[DEFAULT]
: Il progetto di avvio non viene caricato e viene aggiunto un messaggio di errore al logger.
Nella versione del sistema runtime 3.5.7.0 e precedenti la checksum veniva calcolata da tutti i dati dell'applicazione. Nelle versioni più recenti, il checksum viene calcolato solo dai dati nell'area di conservazione. Ciò significa che i dati Retain possono essere caricati in un progetto Boot con versioni più recenti anche se il progetto è stato modificato, purché queste modifiche non comportino alcuna modifica dei dati Retain.