Usare le ricette per impostare i valori
Utilizzare le ricette per modificare o leggere contemporaneamente i valori delle ricette per un insieme specifico di variabili (definizione della ricetta) sul controller.
Definisci le impostazioni di base per le ricette, come posizione e formato, nel file Responsabile ricette oggetto. Inserisci qualsiasi numero di definizioni di ricette sotto questo oggetto.
È possibile salvare una ricetta in un file o scrivere direttamente dai file nel PLC.
Le ricette possono essere richiamate tramite il CODESYS l'interfaccia di sviluppo, l'elemento di visualizzazione o il programma applicativo.
Utilizzo di ricette su dispositivi remoti
Se sono coinvolte variabili di origine dati ed è configurato uno scambio di origine dati, i valori delle variabili dalle ricette vengono automaticamente trasferiti a/da un altro controllore. La lettura e la scrittura avvengono in modo sincrono. Ciò significa che tutte le variabili progettate in una definizione di ricetta vengono aggiornate contemporaneamente.
Dopo aver letto o scritto, puoi usare la chiamata g_RecipeManager.LastError
per verificare se il trasferimento è andato a buon fine (g_RecipeManager.LastError = 0
).
Richiamare i comandi della ricetta nel file CODESYS interfaccia utente
L'interfaccia di sviluppo di CODESYS fornisce comandi per la generazione di ricette e per la lettura/scrittura in modalità online.
Richiamo di comandi ricetta a livello di codice o in una visualizzazione
Durante il runtime, la definizione della ricetta e i comandi della ricetta possono essere richiamati nel programma applicativo. Per fare ciò, si implementa il processo per la scrittura, la lettura o il monitoraggio delle definizioni delle ricette nel codice utilizzando i metodi di RecipeManCommands
blocco funzione dal RecipeManagement
biblioteca.
Per ulteriori informazioni, vedere: RecipeManCommands (FB)
Nella visualizzazione, il richiamo dei comandi della ricetta viene implementato utilizzando il configurazione input (esegui comando) per un elemento di visualizzazione. In questo modo, un utente della visualizzazione può controllare l'esecuzione dei comandi della ricetta.
Suggerimento
Durante il processo di inizializzazione, la gestione della ricetta legge i valori delle variabili definite nella definizione della ricetta. Questa operazione avviene al termine della fase di inizializzazione dell'applicazione. A questo punto vengono impostati tutti i valori iniziali delle variabili dell'applicazione. Questo viene fatto per inizializzare correttamente i valori mancanti dai file delle ricette.
Funzionalità speciale per i numeri in virgola mobile
Per variabili di tipo REAL
O LREAL
, viene fatta una distinzione se il valore è esattamente convertibile o meno.
Se è possibile convertire esattamente il valore, nel file della ricetta viene salvato solo il valore numerico.
Se la conversione esatta non è possibile, una stringa con codifica esadecimale viene scritta nel file della ricetta accanto al valore numerico. Questo dovrebbe avere l'effetto che anche un numero in virgola mobile non convertibile restituisca lo stesso valore.
Questa funzione può essere disabilitata con il RECIPE_GENERATE_SIMPLE_STRINGREAL
definizione del compilatore.
Suggerimento
Nelle proprietà dell'oggetto dell'applicazione padre sotto Costruire, puoi inserire questo RECIPE_GENERATE_SIMPLE_STRINGREAL
compilatore definire nel Il compilatore definisce opzione. Di conseguenza, non viene memorizzata alcuna stringa con codifica esadecimale.
Per ulteriori informazioni, vedere: Finestra di dialogo: Proprietà: Crea
Creazione di una ricetta
Nella struttura dei dispositivi selezionare il Applicazione oggetto.
Clic Progetto → Aggiungi oggetto → Gestore ricette.
Il Recipe Manager viene aggiunto all'albero dei dispositivi.
Nella struttura dei dispositivi, fare clic su Responsabile ricette oggetto.
Clic Progetto → Aggiungi oggetto → Definizione ricetta.
Il definizione della ricetta viene aggiunto sotto il Gestore ricette.
Aprire l'editor della definizione della ricetta facendo doppio clic sull'oggetto.
Fare doppio clic sul campo vuoto sottostante Variabile. Specificare il nome di una variabile per cui definire una ricetta. È possibile utilizzare l'Assistente immissione (
pulsante) per questo.
Clic
e specificare un nome per la nuova ricetta.Nell'editor viene visualizzata una colonna con il nuovo nome della ricetta.
Immettere il valore della variabile per questa ricetta in questo campo.
Inserisci campi aggiuntivi secondo necessità.
Selezionare un valore variabile per la ricetta e fare clic
. Seleziona una posizione e un nome file.La ricetta viene salvata nel formato definito nel Gestore ricette.
Caricamento di una ricetta da un file
Requisito: nell'applicazione è disponibile un gestore di ricette. In una definizione di ricetta, c'è a miaRec ricetta con valori variabili. UN myRec.txt
Il file ricetta si trova nel file system e contiene le voci per questa ricetta.
Esempio del file della ricetta:
PLC_PRG.bVar:=0 PLC_PRG.iVar:=2 PLC_PRG.dwVar:=35232 PLC_PRG.stVar:='first' PLC_PRG.wstVar:='123443245'
Fare doppio clic su Definizione della ricetta oggetto nell'albero dei dispositivi per aprire l'editor tabellare per la definizione delle singole ricette.
Vedi il
myRec
colonna con i valori correnti per questa ricetta.Modifica il
myRec.txt
file in un editor di testo esterno e sostituire i valori delle variabili con altri valori che si desidera caricare nella definizione della ricetta CODESYS. Salva il file.Nella definizione della ricetta, fare clic su myRec colonna e nel menu contestuale fare clic su Carica ricetta.
Una finestra di dialogo avvisa l'utente della possibile necessità di eseguire una modifica online quando si effettua nuovamente l'accesso. Una modifica online è necessaria quando si modificano i valori correnti delle variabili della ricetta caricando la ricetta.
Clic sì per chiudere la finestra di dialogo e continuare. Seleziona il
myRec.txt
file da Esplora file per il caricamento.I valori della ricetta nella definizione della ricetta vengono aggiornati in base ai valori letti nel file.
Suggerimento
Se si desidera sovrascrivere solo singole variabili della ricetta con nuovi valori, rimuovere i valori per le altre variabili prima di caricarle nel file della ricetta. Le voci senza definizioni di valore non vengono lette e quindi l'aggiornamento lascia invariate queste variabili nel controllore e nel progetto.
Per i valori del tipo di dati REAL
/LREAL
, in alcuni casi il valore esadecimale viene scritto anche nel file della ricetta. Ciò è necessario affinché il valore esattamente identico venga ripristinato durante la riconversione. In questo caso, modificare il valore decimale ed eliminare il valore esadecimale.
Gestione ricette sul controllore; utilizzo della memoria
Quando cancelli il Gestione ricette nel PLC opzione, il Recipe Manager e le definizioni delle ricette non utilizzeranno alcuna memoria sul PLC.
Se si seleziona questa opzione, il codice viene generato per il Recipe Manager e tutte le definizioni delle ricette e questo codice viene memorizzato nel PLC. La dimensione della memoria utilizzata dipende principalmente dal numero di ricette e dalle loro variabili, nonché dal tipo di dati delle variabili. Influisce anche sul riempimento o meno dei campi della definizione della ricetta. Non è possibile calcolare l'utilizzo della memoria delle ricette. Deve essere determinato dalla sperimentazione nel momento in cui è necessario. La tabella seguente fornisce solo alcuni principi guida.
Dimensione codice (byte) | Dimensione dati (byte) | Totale (byte) | |
---|---|---|---|
Definizione ricetta con 100 variabili INT | 194406 | 79400 | 267352 |
Definizione ricetta con 200 variabili INT | 238318 | 121284 | 459344 |
Definizione ricetta con 300 variabili INT | 282230 | 163084 | 543856 |
Definizione ricetta con 100 variabili BOOL | 192742 | 69884 | 343168 |
Definizione ricetta con 200 variabili BOOL | 235446 | 101568 | 436872 |
Definizione ricetta con 300 variabili BOOL | 278146 | 133284 | 510072 |
Definizione ricetta con 100 variabili stringa | 203278 | 870084 | 1154000 |
Definizione ricetta con 200 variabili stringa | 255570 | 1709784 | 2973296 |
Definizione ricetta con 300 variabili stringa | 307886 | 2549484 | 2964112 |
Caricamento dei valori della ricetta dal controller
È possibile applicare i valori delle ricette sul controller alle definizioni delle ricette nel progetto, anche se queste definizioni sono state modificate nel progetto.
Requisito: il Gestione ricette nel PLC Questa opzione è selezionata in Recipe Manager.
Crea una definizione di ricetta
RecDef1
nel progetto, contenente le variabiliPLC_PRG.ivar
ePLC_PRG.bvar
. Inserisci una ricetta R1: valore perPLC_PRG.ivar
:33
; valore perPLC_PRG.bvar
:TRUE
.Accedi al controller e scarica l'applicazione.
Il file della ricetta
R1.RecDef1.txtrecipe
viene salvato nella directory predefinita del controllore ($PlcLogic$).Esci e aggiungi un'altra variabile
PLC_PRG.dwvar
alla definizione della ricetta nel progetto.Modifica il file di definizione della ricetta
R1.RecDef1.txtrecipe
sul dispositivo modificando il valore perPLC_PRG.ivar
a partire dal33
a34
.Inoltre, aggiungi un'altra ricetta R2 sul dispositivo. Per fare ciò, copia il
R1.RecDef1.txtrecipe
e rinominalo inR2.RecDef1.txtrecipe
. Quindi modifica questo file e cambia i valori della ricetta:PLC_PRG.ivar
:1
,PLC_PRG.bvar
:FALSE
.Ora due ricette R1 e R2 sono disponibili sul dispositivo. Nel progetto c'è solo R1, e contiene anche altri valori di R1 sul dispositivo.
Accedere al controller tramite una modifica online.
Clic Carica ricette dal dispositivo dal menu contestuale.
Una finestra di dialogo informa che l'esecuzione del comando al successivo login può attivare una modifica online e che le ricette nel sistema runtime sovrascriveranno le ricette della definizione ricetta corrente.
Conferma di voler continuare.
Una finestra di dialogo informa che la ricetta per
PLC_PRG.dwvar
caricato sul dispositivo non può restituire un valore dal controller.Conferma di voler continuare.
Il valore di
PLC_PRG.ivar
nella ricetta R1 della definizione della ricetta nel progetto cambia in34
. La ricetta R2 con i valori1
eFALSE
ora è anche elencato nella definizione della ricetta.PLC_PRG.dwvar
rimane nella definizione della ricetta.