Skip to main content

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.

  1. Crea un nuovo progetto utilizzando Progetto standard modello e specificare il nome Minimal Per esempio.

  2. 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
  3. 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.

    cfc_img_fb_executecfc.png
  4. Clic CFC → Ordine di esecuzione → Visualizza ordine di esecuzione.

    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.

    cfc_img_displaying_execution_order.png

Determinazione ordine di esecuzione nelle reti di feedback

  1. Creare un programma CFC con feedback.

    Il POU PrgPositiveFeedback conteggi.

    PROGRAM PrgPositiveFeedback
    VAR
        iResult: INT;
    END_VAR
    cfc_img_prg_positive_feedback.png
  2. Seleziona un elemento all'interno del feedback.

    L'elemento selezionato è evidenziato in rosso.

  3. Clic CFC → Ordine di esecuzione → Imposta inizio del feedback.

    cfc_img_prg_positive_feedback_with_start.png

    In fase di esecuzione, questo POU viene elaborato per primo. Il POU di avvio del feedback viene definito e decorato con cfc_icon_start_of_feedback.png Simbolo. L' ordine di esecuzione viene riordinato e l'elemento selezionato ottiene il numero 0. (Questo è il numero più basso del feedback.)

  4. Selezionare nuovamente il POU di avvio.

  5. Clic CFC → Ordine di esecuzione → Imposta inizio del feedback.

    La modulo non è selezionata come modulo di partenza.

    cfc_img_prg_positive_feedback.png

    L' ordine di esecuzione è definito internamente.

  6. Clic CFC → Ordine di esecuzione → Visualizza ordine di esecuzione.

    cfc_img_positive_feedback_numbered.png

    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.

  1. 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.

  2. 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.

  3. Aprire un oggetto CFC.

  4. 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.