Skip to main content

Programmazione nell'editor CFC

Nota

Si conferma il linguaggio di implementazione durante la creazione del POU. Successivamente, non è possibile passare da un'applicazione all'altra. Diagramma funzionale continuo (CFC) E Diagramma funzionale continuo (CFC) - orientato alla pagina linguaggi di implementazione.

Inserimento di elementi e cablaggio con linee di collegamento

  1. Trascina un Modulo elemento e un Uscita elemento nell'editor.

  2. Fare clic uscita del Modulo elemento.

    L' uscita è contrassegnato da una modulo rossa.

  3. Trascinare una linea di collegamento dal pin uscita del Modulo elemento al pin ingresso del Uscita elemento.

    Il simbolo del cursore cambia quando raggiunge il pin ingresso .

  4. Rilasciare il tasto sinistro del mouse.

    Il pin uscita della modulo è cablato al pin ingresso uscita.

    _cds_img_prg_simple.png

Puoi anche tenere premuto il tasto Ctrl tasto, seleziona ogni pin e quindi fai clic con il pulsante destro del mouse Pin selezionati collegati.

Chiamata di istanze

  1. Crea un nuovo progetto utilizzando il modello standard e specifica il nome First Per esempio.

    Il progetto First.project è stato creato.

  2. Estendi l'applicazione con il blocco funzione FB_DoIt nel ST linguaggio di implementazione con input e output.

    Esempio:

    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. Seleziona l'applicazione e clicca Aggiungi oggetto → POU Selezionare il Diagramma funzionale continuo (CFC) linguaggio di implementazione e il tipo Program Specificare il nome PrgFirst Per esempio.

    Clic OK per confermare il dialogo.

    IL PrgFirst Il programma viene creato e si apre nell'editor. È ancora vuoto.

  4. Creare blocchi funzione e dichiarare variabili.

    PROGRAM PrgFirst
    VAR
        iCounter: INT;
        fbDoIt_1 : FB_DoIt;
        fbDoIt_2 : FB_DoIt;
        iOut : INT;
        sOut: STRING;
        xOut: BOOL;
    END_VAR
  5. Trascina un Modulo elemento dal Cassetta degli attrezzi visualizza l'editor.

  6. Fare clic su ??? campo e digita ADD come il nome modulo .

    Il tipo di modulo è ADD La modulo funziona come una sommatrice.

  7. Fare clic sulla riga 3 nell'editor delle dichiarazioni.

    La linea di dichiarazione di iCounter è selezionato.

  8. Fare clic sulla selezione e trascinare la variabile selezionata nell'implementazione. Concentrarsi su un ingresso del ADD modulo.

    Un ingresso è stato creato, dichiarato e connesso alla modulo.

  9. Fare nuovamente clic sulla selezione e trascinare la variabile uscita del ADD modulo.

    uscita è stata creata, dichiarata e connessa alla modulo.

  10. Trascina un Ingresso elemento dal Cassetta degli attrezzi vista all'implementazione. Fai clic su ??? campo e digita 1.

  11. Collegare il 1 ingresso a un ingresso del ADD modulo.

    Una rete è programmata. Durante l'esecuzione, la rete conta i cicli del bus e memorizza il risultato in iCounter.

    cfc_img_first_network_add.png
  12. Fare clic sulla riga 5 nell'editor delle dichiarazioni.

    La linea è selezionata.

  13. Fare clic sulla selezione e trascinare l'istanza selezionata nell'implementazione.

    L'istanza appare come un modulo nell'editor. Il tipo, il nome e i pin modulo vengono visualizzati di conseguenza.

    cfc_img_first_network_doit.png
  14. Trascina il fbDoIt_2 istanza all'editor. Interconnettere le istanze tra loro e con gli input e gli output.

    Esempio:

    cfc_img_first_network_add_doit1_doit2.png

    Un programma in ST con la stessa funzionalità potrebbe apparire così:

    PROGRAM PrgFirstInSt
    VAR
        iCounter: INT;
    
        fbDoIt_1 : FB_DoIt;
        fbDoIt_2 : FB_DoIt;
    
        iOut : INT;
        sOut: STRING;
        xOut: BOOL;
    END_VAR
    iCounter := iCounter + 1;
    fbDoIt_1(iAlfa := 16, iBravo := 32, sCharlie := 'First', xItem := TRUE, iDelta := 2, iResult => fbDoIt_2.iAlfa, xResult => fbDoIt_2.xItem);
    fbDoIt_2(iBravo := fbDoIt_1.iResult, sCharlie := 'Second', iDelta := 2, iResult => iOut , sResult=> sOut, xResult => xOut);

Creazione di segni di connessione

Requisito: una POU CFC ha elementi connessi.

  1. Seleziona una linea di collegamento tra due elementi.

    La linea di collegamento viene visualizzata come selezionata. Le estremità della linea di collegamento sono contrassegnate con cfc_icon_selected_input.png scatole rosse.

  2. Clic CFC → Segno di collegamento.

    La connessione è separata in un Segno di collegamento – Fonte e un Segno di collegamento – Lavandino Il nome del marchio viene generato automaticamente.

    cfc_img_prg_simple_with_connection_mark.png
  3. Fare clic sui segni di connessione sorgente .

    Puoi modificare il nome.

  4. Specificare il nome SimpleMark per il segno di collegamento sorgente .

    Il segno di collegamento sorgente e il segno di collegamento destinazione hanno lo stesso nome.

    cfc_img_prg_simple_with_named_connection_mark.png

Risoluzione delle collisioni e fissaggio delle linee di collegamento mediante punti di controllo

L'esempio seguente mostra come utilizzare il Instrada tutti i collegamenti comando con punti di controllo.

  1. Posizionare il Ingresso E Uscita elementi. Collega gli elementi.

    cfc_img_prg_simple2_control_point.png
  2. Posizione due Modulo elementi sulla linea.

    La linea di collegamento e le caselle sono contrassegnate in rosso a causa della collisione.

    cfc_img_prg_simple2_red_linie.png
  3. Clic CFC → Routing → Instrada tutti i collegamenti.

    La collisione è risolta.

    cfc_img_prg_simple2_routed_line.png
  4. Cambiare gradualmente le linee di collegamento.

    cfc_img_prg_simple2_manual_routed_line.png

    La linea di collegamento è stata modificata manualmente e ora è bloccata per l'instradamento automatico. Ciò è indicato dal simbolo di un lucchetto alla fine della connessione.

    _cds_img_prg_simple2_locked_routed_line.png
  5. Selezionare la linea di collegamento e fare clic CFC → Routing → Crea punto di controllo.

    Viene creato un punto di controllo sulla linea di collegamento. La linea di collegamento viene fissata al punto di controllo.

    cfc_img_prg_simple2_locked_routed_line_with_control.png

    Puoi anche trascinare un punto di controllo da Cassetta degli attrezzi vista su una linea.

  6. Modificare la linea di collegamento come mostrato nell'esempio seguente.

    cfc_img_prg_simple2_changed_line_with_control.png

    Utilizza il punto di controllo per modificare la linea di collegamento in base alle tue esigenze. Puoi impostare un numero qualsiasi di punti di controllo.

  7. Nel menu contestuale, fare clic su CFC → Routing → Rimuovi il punto di controllo per rimuovere il punto di controllo.

  8. Clic Disassocia connessione oppure fare clic sul simbolo del lucchetto per sbloccare la connessione.

  9. Selezionare la linea di collegamento e fare clic Instrada tutti i collegamenti.

    La linea di collegamento viene instradata automaticamente come mostrato nel passaggio 3.

    _cds_img_prg_simple2_locked_routed_line.png

Importante

Le connessioni in un gruppo non vengono instradate automaticamente.

Riduzione della visualizzazione di una modulo

Requisito: è aperta una POU CFC. Nell'editor vengono visualizzate le caselle con tutti i pin dichiarati.

  1. Selezionare una modulo i cui pin sono parzialmente scollegati.

    Esempio: fb_DoIt_1

    cfc_img_box_with_unconnected_pins.png

    La modulo ha bisogno di spazio per tutti i pin.

  2. Clic CFC → Pin → Rimuovi i collegamenti non connessi.

    Ora la modulo occupa meno spazio e viene visualizzata solo con i pin funzionalmente rilevanti.

    cfc_img_box_without_unconnected_pins.png