Elementi di codice.
Questo ramo viene utilizzato per creare un elemento di codice. A questo ramo viene inoltre attribuito il nome dell'elemento di codice e, se necessario, la condizione per il suo inserimento nel codice del progetto. Sono disponibili tre opzioni per la selezione di una condizione di inserimento. Selezionando l'opzione "No condition", il codice viene inserito nello sketch senza alcuna condizione. Negli altri due casi è necessario selezionare la condizione per l'inserimento del codice nello sketch (Figura 1).

Figura 1
Questo viene fatto utilizzando il pulsante "Select condition" (2). questo apre una finestra con un elenco di condizioni disponibili per questo elemento di codice (Figura 2).

Figura 2
Con la condizione selezionata, usa il pulsante "Go to condition" (1), puoi andare direttamente al ramo delle impostazioni della condizione selezionata. Se si seleziona l'opzione "The condition is true", il codice verrà inserito nello sketch solo se l'espressione booleana della condizione restituisce true. Di conseguenza, se l'opzione "The condition is false" è selezionata, il codice verrà inserito nello sketch solo se l'espressione booleana della condizione restituisce false.
La barra degli strumenti dell'editor di codice dipende dalla posizione di questo elemento di codice.
Codice generale - la sezione Declare.

Figura 3
Quando fai clic sul pulsante "Insert UIID
" (1), si apre la finestra di selezione dell'ID (Figura 4).

Figura 4
- "Unique number" - ogni volta che viene selezionato questo ID, verrà generato un numero univoco e inserito nel codice nella posizione del cursore.
- "Multiblock ID" - quando questo identificatore è selezionato, il tag viene inserito nel codice. In fase di compilazione del progetto verrà inserito al suo posto l'ID del multiblocco, che sarà uguale in tutto il codice contenuto in questo multiblocco.
Facendo clic sul pulsante "Insert parameter tag"
(2) si apre la finestra di selezione del tag (Figura 5).

Figura 5
Dopo che un tag è stato selezionato, viene inserito nella posizione del cursore nell'editor (Figura 6).

Figura 6
Seleziona la casella "Prevent the compiler from seeing #Include"(3) presente nella barra degli strumenti dell'editor dell'elemento di codice solo quando questo elemento si trova nella sezione Declare. È progettato per controllare il compilatore del progetto. Se non è contrassegnato, il il compilatore raccoglierà tutte le righe #Include dalla sezione Declare di tutte le istanze dei blocchi e le inserirà nel codice dello sketch nel punto che ritiene necessario, obbedendo alla propria logica. L'installazione di questa casella di controllo indica al compilatore che non è possibile toccare la riga #Include in questo elemento di codice ed è necessario inserirla nello sketch nel punto in cui lo sviluppatore del blocco l'ha scritta. In alcuni casi, questo è necessario. Ad esempio, dove l'inclusione di una libreria dovrebbe essere effettuata solo dopo il inclusione di un altro, da cui dipende il primo, ma in questo caso è possibile duplicare la connessione delle librerie.
Codice generale - altre sezioni.

Figura 7
Facendo clic sul pulsante "Insert temporary variable tag" (3) si apre una finestra per la selezione del tipo di variabile temporanea. Dopo aver selezionato un tag, viene inserito nell'editor nella posizione del cursore (Figura 8).

Figura 8
Consideriamo ora cos'è una variabile temporanea. Questa è una variabile che può essere utilizzata dal blocco per calcoli intermedi. Durante la compilazione di un progetto, il compilatore chiede a tutti i blocchi (sia standard che personalizzati) di quale tipo di variabile temporanea hanno bisogno. Successivamente, se necessario, crea una variabile di ogni tipo richiesto. Questo è solo il nome di questa variabile e verrà inserito nello sketch durante la compilazione al posto di questo tag.
Si noti che il lavoro con questa variabile deve iniziare (scrivere su di essa) e terminare all'interno di una sezione del codice. Perché un blocco compilato dopo questo blocco può scrivere altri valori in questa variabile.
Esempio di utilizzo di una variabile temporanea.
Se la variabile è una stringa (Figura 9).

Figura 9
Risultato della compilazione, con la variabile String, otteniamo il seguente codice.
Se la variabile è numerica (Figura 10).

Figura 10
Risultato della compilazione, con la variabile numerica, otteniamo il seguente codice.
Se la variabile è booleana (Figura 11).

Figura 11
Risultato della compilazione, con la variabile booleana, otteniamo il seguente codice.
{
Codice output (Figura 12).

Figura 12
Schema in FLProg (Figura 13).

Figura 13
Il codice di ogni istanza è la sezione Declare.

Figura 18
Facendo clic sul pulsante "Inserisci UIID"(1) con questa posizione dell'elemento di codice, si apre una finestra di selezione dell'ID estesa (Figura 19). In questa finestra è apparso un nuovo elemento: "Instance ID". Quando questa opzione è selezionata, il tag viene inserito nella posizione del cursore nell'editor di codice. Quando si compila un blocco nel progetto, viene invece inserito l'ID di una determinata istanza del blocco.

Figura 19
Esempio.

Figura 20
E nella sezione Loop di ogni istanza, dove è inserito il blocco, diamogli il valore (Figura 21).

Figura 21
Inseriamo due istanze di questo blocco nel progetto (Figura 22).

Figura 22
Come risultato della compilazione, otteniamo il codice:
Pulsanti input, output.

Figura 23
Dopo aver selezionato il tag desiderato, viene inserito nella posizione del cursore nell'editor di codice.
Nota: A differenza del editor base
di blocchi personalizzati, questo editor non crea variabili per gli input. Questo viene fatto per salvare la memoria del microcontrollore. Al posto del tag input, nel codice viene inserita un'espressione booleana ottenuta dall'input, racchiusa tra parentesi. Nella maggior parte dei casi, questo è il nome della variabile di uscita del blocco collegato a questo ingresso.
Ad esempio, considera questo codice (Figura 24).

Figura 24
Quando colleghi una costante all'input, otteniamo il seguente risultato.
Schema in FLProg (Figura 25).

Figura 25
Con questo uso del blocco input, questo non è critico. Ma è possibile che l'input venga utilizzato come parametro di qualche funzione nella libreria. Non a tutte le librerie "piace" quando viene assegnata un'espressione come parametro. Pertanto , quando non sei sicuro che l'uso dell'input sarà corretto per tutti i dati che arrivano all'input, ti consiglio di usare questa costruzione (Figura 26).

Figura 26
Risultato della compilazione.
Il codice di ogni blocco è le restanti sezioni.

Figura 27