Ordina in base al flusso di dati
L' ordine di esecuzione nei POU è determinato in modo univoco negli editor testuali e di rete. Nell'editor CFC, tuttavia, è possibile posizionare gli elementi liberamente, quindi l' ordine di esecuzione inizialmente non è univoco. Per questo motivo, CODESYS Utilizza il flusso di dati per determinare l' ordine di esecuzione e, nel caso di più reti, la posizione topologica degli elementi. Gli elementi e le reti in cima vengono ordinati dall'alto verso il basso e da sinistra a destra. In questo modo, l' ordine di esecuzione è univoco e garantisce che il POU venga elaborato ottimizzato in termini di tempo e ciclo.
È possibile visualizzare temporaneamente l' ordine di esecuzione corrente nel grafico. Quando si programmano reti con feedback, è possibile definire un elemento come punto di partenza del ciclo di feedback.
È anche possibile modificare esplicitamente l'ordine di elaborazione in un oggetto CFC. Per farlo, cambiare il Modalità flusso dati automatico proprietà dell'oggetto CFC a Modalità di ordine di esecuzione esplicita In questa modalità hai la possibilità di modificare l' ordine di esecuzione tramite comandi di menu.
Prima CODESYS Nella versione V3.5 SP15, era necessario definire l' ordine di esecuzione in modo esplicito per ogni POU. Non era possibile cambiare modalità.
Flusso di dati
Il flusso di dati descrive in ordine cronologico quali dati devono essere scritti o letti, come e quando devono essere scritti e in quali oggetti di programmazione. Una POU può elaborare un numero qualsiasi di flussi di dati, che possono anche essere eseguiti indipendentemente l'uno dall'altro.
Visualizzazione ordine di esecuzione
Per impostazione predefinita, l' ordine di esecuzione di un oggetto CFC viene determinato automaticamente. Modalità flusso dati automatico Per questo è selezionata la proprietà. È possibile visualizzare temporaneamente l' ordine di esecuzione determinato automaticamente nell'editor CFC.
Crea un nuovo progetto utilizzando Progetto standard modello e specificare il nome
Minimal
Per esempio.Estendi l'applicazione con il blocco funzione
FB_DOIt
nel ST linguaggio di implementazione con input e output come segue.FUNCTION_BLOCK FB_DoIt VAR_INPUT iAlfa : INT; iBravo: INT; sCharlie : STRING := 'Charlie'; xItem : BOOL; END_VAR VAR_OUTPUT iResult : INT; sResult : STRING; xResult : BOOL; END_VAR VAR END_VAR iResult := iAlfa + iBravo; IF xItem = TRUE THEN xResult := TRUE; END_IF
Creare il blocco funzione
ExecuteCFC
nel CFC linguaggio di implementazione come segue.PROGRAM ExecuteCFC VAR fb_DoIt_0: FB_DoIt; fb_DoIt_1: FB_DoIt; iFinal_1: INT; iFinal_0: INT; xFinal: BOOL; END_VAR
Gli oggetti di programmazione creati di recente in CFC hanno la modalità di flusso dati automatico selezionata. L' ordine di esecuzione dell'oggetto di programmazione è definito internamente in modo ottimale.
Clic
.Viene visualizzato l' ordine di esecuzione dell'oggetto. Le caselle e gli input sono numerati di conseguenza e riflettono la sequenza cronologica di elaborazione. La numerazione scompare non appena si fa nuovamente clic nell'editor CFC.
Determinazione ordine di esecuzione nelle reti di feedback
Creare un programma CFC con feedback.
Il POU
PrgPositiveFeedback
conteggi.PROGRAM PrgPositiveFeedback VAR iResult: INT; END_VAR
Seleziona un elemento all'interno del feedback.
L'elemento selezionato è evidenziato in rosso.
Clic CFC → Ordine di esecuzione → Imposta inizio del feedback.
In fase di esecuzione, questo POU viene elaborato per primo. Il POU di avvio del feedback viene definito e decorato con
Simbolo. L' ordine di esecuzione viene riordinato e l'elemento selezionato ottiene il numero 0. (Questo è il numero più basso del feedback.)
Selezionare nuovamente il POU di avvio.
Clic CFC → Ordine di esecuzione → Imposta inizio del feedback.
La modulo non è selezionata come modulo di partenza.
L' ordine di esecuzione è definito internamente.
Clic CFC → Ordine di esecuzione → Visualizza ordine di esecuzione.
Viene visualizzato l' ordine di esecuzione in base al flusso di dati.
Definire esplicitamente l' ordine di esecuzione
È possibile modificare in modo esplicito l' ordine di esecuzione definito automaticamente di un oggetto CFC quando si seleziona Modalità di ordine di esecuzione esplicita opzione per l'oggetto.
Nel Dispositivi O POU visualizza, apri il menu contestuale di un oggetto CFC e fai clic Proprietà Nel Proprietà finestra di dialogo, selezionare Ordine di esecuzione CFC scheda.
IL Ordine di esecuzione La modulo di riepilogo visualizza la modalità attualmente selezionata.
Nel Ordine di esecuzione modulo di riepilogo, seleziona Modalità di ordine di esecuzione esplicita e clicca OK per confermare il dialogo.
È selezionata la "Modalità ordine di esecuzione esplicito". Le reti sono numerate nell'editor CFC e i seguenti comandi sono forniti nell'editor. CFC → Ordine di esecuzione menu per modificare l' ordine di esecuzione.
Aprire un oggetto CFC.
Seleziona un elemento numerato e fai clic CFC → Ordine di esecuzione → All’inizio.
L' ordine di esecuzione viene riordinato e l'elemento selezionato ha il numero 0.
Suggerimento
L' ordine di esecuzione definito automaticamente dal flusso di dati si traduce in un'esecuzione del POU ottimizzata in termini di tempo e ciclo. Non sono necessarie informazioni sull'ordine ordine di esecuzione gestito internamente durante il processo di sviluppo.
In Modalità di ordine di esecuzione esplicita, è tua responsabilità adattare l' ordine di esecuzione e valutarne le conseguenze e gli impatti. Questo è un altro motivo per cui l' ordine di esecuzione viene sempre visualizzato.