Skip to main content

Apertura di un progetto V2.3

Suggerimento

UN CoDeSys V2.3 Il progetto può essere convertito solo con una versione a 32 bit di CODESYS V3. Per fare questo, il CODESYS V2.3 Converter il pacchetto deve essere installato in CODESYS V3. Il pacchetto è disponibile in CODESYS Store International.

Se stai lavorando con una versione a 64 bit di CODESYSV3, allora dovrai installare anche la versione a 32 bit per la conversione. Dopo la conversione, puoi aprire il progetto in CODESYS 64 bit.

Requisito: hai installato e avviato CODESYS V3. IL CODESYS V2.3 Converter il componente aggiuntivo è installato.

  1. Clic File → Apri progetto.

  2. Nel Progetto aperto finestra di dialogo, fare clic su qualsiasi CoDeSys V2.3 progetto o archivio di progetto nel file system. Per la ricerca, puoi impostare il filtro file nell'angolo in basso a destra della finestra di dialogo.

    Se un altro progetto è ancora aperto, CODESYS ti dice di chiuderlo di conseguenza. Dopo di che il CoDeSys V2.3 il convertitore si avvia automaticamente.

  3. Il convertitore V2.3 verifica che il progetto possa essere compilato senza errori. In tal caso, elabora il progetto automaticamente.

  4. NOTA:

    Se il progetto contiene oggetti di visualizzazione con variabili segnaposto che il convertitore non è in grado di risolvere, le rispettive visualizzazioni vengono visualizzate come un gruppo al posto dei riferimenti di visualizzazione.

  5. Conversione del dispositivo: quando si fa riferimento a un dispositivo (sistema di destinazione) nel progetto da aprire e non sono definite regole di conversione per il dispositivo, il Conversione del dispositivo si apre la finestra di dialogo. Specificare qui se e come il convertitore deve sostituire il riferimento del dispositivo precedente con uno attuale.

    Per la sostituzione, il convertitore ha aggiunto il nuovo dispositivo al posto del vecchio nell'albero dei dispositivi del progetto convertito.

  6. Conversione libreria: se nel progetto da aprire si fa riferimento ad una libreria, per la quale non è stata definita finora alcuna regola di conversione, allora il Conversione di Riferimento Biblioteca si apre la finestra di dialogo. Specificare qui se e come il convertitore deve sostituire il riferimento alla libreria esistente con uno corrente.

    Se si seleziona una libreria per la quale mancano le informazioni sul progetto, il file Inserisci le informazioni sul progetto si apre la finestra di dialogo per specificare queste informazioni.

    Il convertitore carica il progetto adattato. Nota: i riferimenti alla libreria definiti di recente possono essere trovati nel Global Library Manager che si trova nella vista POU.

Restrizioni durante il riutilizzo a CoDeSys V2.3 progetto dentro CODESYS

Compilazione

Il progetto deve essere compilabile senza errori in CoDeSys V2.3. Nota: CODESYS stills emette avvisi in V3 durante la compilazione. Questi sono causati da conversioni implicite, che possono portare a una perdita di informazioni (ad esempio a causa di cambiamenti di segno).

CODESYS V3 controlla le istruzioni "case" rispetto alla variabile switch: CASE USINT OF INT non è registrato CoDeSys V2.3, ma emette un messaggio di errore quando viene importato in V3.

Configurazione del controllore

Il Configurazione del controller di una CoDeSys V2.3 non è possibile importare il progetto V3. È necessario ricreare la configurazione del dispositivo e dichiarare nuovamente le variabili utilizzate nella configurazione del controller.

Variabili di rete

Per le variabili di rete, CODESYS crea V3 GVL oggetti e importa le dichiarazioni delle variabili. Tuttavia, le proprietà di rete non vengono importate. Vedere la descrizione dello scambio di variabili di rete per questo.

Biblioteche

Anche tutte le variabili e le costanti utilizzate in una libreria devono essere dichiarate nella libreria. Deve essere possibile compilare la libreria in CoDeSys V2.3 senza errori.

Restrizioni sintattiche e semantiche da allora CoDeSys V2.3

  • FUNCTIONBLOCK non è una parola chiave valida invece di FUNCTION_BLOCK.

  • TYPE (dichiarazione di struttura) deve essere seguito da un ":".

  • ARRAY l'inizializzazione** deve contenere parentesi.

  • INI non è più supportato (devi sostituirlo nel codice con il metodo Init).

  • Nelle chiamate di funzione non è più possibile combinare parametri espliciti con parametri impliciti. Pertanto è possibile modificare l'ordine delle assegnazioni degli ingressi dei parametri:

    fun(formal1 := actual1, actual2); // -> error message

    fun(formal2 := actual2, formal1 := actual1); // same semantics as the following line:

    fun(formal1 := actual1, formal2 := actual2);

  • CoDeSys V2.3 i pragma non vengono convertiti. Producono un avviso in V3.

  • Il TRUNC operatore ora converte nel tipo di dati DINT invece di INT. CODESYS aggiunge automaticamente una conversione di tipo corrispondente per a CoDeSys V2.3 importare.

Visualizzazione

Segnaposto e loro sostituzione

  • Segnaposto: PLC_PRG.$LocalVar$.aArr[0]

    VAR_INPUT: localVar: MyStruct;

    Utilizzo: localVar.aArr[0]

    Sostituzione: localVar := PLC_PRG.myStructVar

  • Segnaposto: $Var$.aArr[0]

    VAR_INPUT: Var : MyStruct;

    Utilizzo: Var.aArr[0]

    Sostituzione: Var := PLC_PRG.myStructVar

  • Segnaposto: PLC_PRG.myStructVar.aArr[$Index$]

    VAR_INPUT: Index : INT;

    Utilizzo: PLC_PRG.myStructVar.aArr[Index]

    Sostituzione: Index := 0

Segnaposto problematici

  • Segnaposto all'interno di un testo

    Testo: $axle$-Axis

    Correzione:

    localVar : STRING;

    Testo: %s-Axis

    Variabile di testo: localVar

  • Il segnaposto descrive solo una parte del nome di una variabile

    axis$axis$spur$spur$.fActPosition

    Correzione:

    Definisci un solo segnaposto per il axis$axis$spur$spur$ segnaposto.

    axis_spur : MyFunctionBlock;

    Quindi trasferire direttamente l'istanza corrispondente del blocco funzione.

    axis_spur := PLC_PRG.axis1spur2;

  • Il segnaposto viene sostituito da un'espressione

    $Expression$ -> PLC_PRG.var1 + PLC_PRG.var2

    Correzione:

    Devi trasferire l'espressione in una variabile ausiliaria e quindi trasferire questa variabile ausiliaria come istanza.

  • Il segnaposto descrive il nome di un programma: $Program$.bToggle - PLC_PRG.bToggle D

    Il convertitore non può trasferire questa forma di impostazione dei segnaposto V3. Tuttavia, lo userai raramente in pratica.

  • Il segnaposto è sostituito da diversi tipi:

    $Var$

    -> Sostituzione 1 : PLC_PRG.n (INT)

    -> Sostituzione 2 : PLC_PRG.st (CORDA)

    Correzione:

    Definire due diversi segnaposto nell'interfaccia per questo.

  • La visualizzazione si trova in una libreria. Sostituisci il segnaposto in un secondo momento da qualsiasi progetto desiderato quando utilizzi la visualizzazione lì.

    Correzione:

    Qui devi sostituire il TYPE_NONE tipi di dati manualmente. Tuttavia, esiste anche la possibilità di integrare la libreria in un progetto e il segnaposto viene sostituito correttamente. Se ora si importa questo progetto, anche il tipo di dati viene determinato correttamente nella libreria.

Elementi non importabili

Trend, ActiveX: l'importazione non è possibile perché l'implementazione differisce notevolmente. In V3, viene emessa una corrispondente avvertenza ed è necessaria una corrispondente riproduzione manuale.

Linguaggi di programmazione: ST, IL, FBD

Senza restrizioni

Linguaggio di programmazione: LD

CODESYS importa i blocchi funzione con rami paralleli in modo tale che la parte prima del ramo venga ripetuta per ogni ramo. Ciò corrisponde al codice generato che CoDeSys V2.3 crea per rami paralleli.

_cds_img_v23import_ld_example.png

Linguaggio di programmazione: SFC

  • Le variabili di passo dichiarate esplicitamente dall'utente devono essere dichiarate localmente nell'editor SFC. Non puoi dichiararli come VAR_INPUT, VAR_OUTPUT o VAR_INOUT, perché CODESYS non può adattare automaticamente le chiamate. Spiegazione: I passaggi non utilizzano più le variabili booleane per la gestione degli stati interni in V3, ma anche strutture del tipo SFCStepType.

  • Identificatore: i seguenti identificatori potrebbero non iniziare con un carattere di sottolineatura:

    • Nomi delle azioni IEC nell'albero

    • Variabili richiamate in un elenco di associazioni IEC

    • Nomi delle transizioni che sono state programmate

Spiegazione: In V3, le variabili implicite che CODESYS crea per le azioni viene assegnato un carattere di sottolineatura come prefisso. Risulterebbe un identificatore non valido con un doppio carattere di sottolineatura.

Linguaggio di programmazione: CFC

  • Scatole grandi: il layout di scatole grandi può perdere qualità a causa di un'importazione. Le scatole potrebbero sovrapporsi troppo. (Correzione pianificata.)

  • Macro: le macro non possono essere importate. (Correzione pianificata.)