Creazione di un blocco personalizzato in C++.
In questo articolo vediamo come creare un blocco personalizzato in C++. Apriamo l'editor e iniziamo con i parametri principali, creando ingressi, uscite e parametri. Tenendo conto dei nomi e delle impostazioni predefinite che abbiamo deciso di utilizzare dal codice dell'articolo precedente. Nelle impostazioni di input creeremo l'input En per autorizzare della funzione di blocco, in modo da gestire al meglio nello schema principale in progetti di grandi dimensioni. Come creare tutto questo lo abbiamo visto nella pagina "Editor di blocchi personalizzati in C++" nella parte delle impostazioni. Ora resta da trasferire parti del codice nelle rispettive sezioni dell'editor.
Nota: non selezionare qui la casella "Allowed to use only once in project" per poter utilizzare il blocco più di una volta nel progetto. Farà parte dei cosiddetti blocchi multiuso.
Sezione Declare.

Figura 1
Sezione Loop.

Figura 2
Salva il blocco.
Prova del blocco creato.

Figura 3
Creiamo anche le output per collegare i LED, dove diamo il nome, il tipo e il pin a cui sarà collegato. Dobbiamo anche scegliere lo stato iniziale del pin, in questo caso "off". In questo modo creiamo altri output, e li trasciniamo nell'area di lavoro (Figura 4).

Figura 4
Configurazione degli ingressi del blocco.
Premendo con il tasto destro del mouse l'ingresso dell'input En del blocco, scegliamo la voce "Insert constant" e sceglieremo la costante predefinita true per attivare il blocco (puoi anche invertire l'input otterremo lo stesso risultato) (Figura5).

Figura5
Abbiamo scelto la resistenza di pull-up per l'ingresso del pulsante, dobbiamo invertire l'ingresso dell'input del blocco. L'ingresso verrà portato in alto, ovvero al positivo dell'alimentazione. Premere sulla ingresso dell'input con tasto destro del mouse e scelere la voce "Invert" e inverti l'ingresso (Figura 6).

Figura 6
Quando si utilizza un blocco personalizzato, è possibile modificare i valori dei parametri nella scheda "Parameters of the block" delle proprietà del blocco. Per sostituire il parametro premere il tasto destro del mouse sul blocco
e selezionare la voce "To change the settings" oppure fare doppio click sul blocco con il tasto sinistro
del mouse. Si apre una finestra in cui si trovano i parametri. Selezionare il parametro da modificare, premere su di esso e impostare il nuovo valore del parametro in basso, premendo il segno di spunta (OK) per confermare. Qui troverai anche informazioni sul valore numerico minimo e massimo del parametro (Figura 7).

Compilazione del progetto.
Dopo aver configurato gli input del blocco nell'area di lavoro, colleghiamo gli elementi e avviamo la compilazione del progetto (Figura 8).

Figura 8
Dopo la compilazione, carichiamo il codice compilato nel controller e testiamo come funziona il codice. Premendo il pulsante una volta si accende il LED collegato all'uscita "One", premendo due volte nell'intervallo di tempo preimpostato si accende il LED collegato all'output "Double". Tenendolo premuto per il tempo preimpostato si accende il LED collegato all'uscita "Long".