# Tipi di blocchi

I blocchi sono classificati come: Blocco trigger, Blocco operazione, Blocco valore, Blocco logico e Espressione. È possibile aggiungere questi blocchi trascinandoli dalla Libreria per creare uno script.

Blocco usato in uno Script/Script globale.

Categoria | Script | Script globale
Trigger |  |
Operazioni |  |
Valori |  |
Logiche |  |
Espressione |  |

#### Limiti

- Massimo 1000 azioni per schermo, contenuto e script globale.

- Massimo 1000 operazioni per azione o sezione di script.

## Blocco Trigger

Un trigger è un evento che esegue un'operazione. Si possono impostare anche più operazioni da eseguire per un singolo trigger.

Per maggiori dettagli, vedere Elenco dei trigger.

Nota: Ogni script può utilizzare solo un trigger.

Blocchi | Descrizione
| [When] - Imposta la condizione di trigger. [Do] - Aggiunge il blocco operazioni da eseguire. Nota: I blocchi sono diversi per ogni trigger. A seconda del blocco trigger, impostare il contenuto del blocco valori sulla condizione.

(Esempio 1)

Esegue l’operazione ogni 5 secondi.

(Esempio 2)

Esegue l’operazione alla modifica del valore Var1.

## Blocco Operazione

L’operazione è un blocco che esegue la funzione definita.

Per maggiori dettagli, vedere Elenco delle operazioni.

Blocchi | Descrizione
| Impostare l’operazione da eseguire. Nota: I blocchi sono diversi per ogni operazione. In base al blocco operazione, si possono combinare ed eseguire blocchi valore e blocchi logici.

(Esempio 1)

Durante l’esecuzione dell’operazione, il cicalino suona.

(Esempio 2)

Durante l’esecuzione dell’operazione, alla Var1 viene assegnato 1.

Nota:

- Nel blocco di operazioni, se si usa il blocco di valori o il blocco logico che include variabili di cattiva qualità, l'operazione funziona nel modo seguente:
  - Se la variabile è usata come target dell'operazione di scrittura, l'operazione viene eseguita e il risultato operazione è Vero.

  - Se il valore della variabile è usato nell'operazione di lettura, l'operazione viene saltata e il risultato operazione è Falso.

- Le operazioni script vengono eseguite in sequenza, una alla volta. Tuttavia, poiché le seguenti operazioni potrebbero richiedere del tempo per essere completate, possono essere interrotte da un'altra operazione di trigger in modo che le operazioni vengano eseguite simultaneamente.
  - [Esporta dati di allarme]

  - [Esporta dati di registro]

  - [Esporta registro operazioni]

  - [Registrazione dati] - [ClearLogging]

  - [Ricetta]

  - [Protezione] - [Export]

  - [Protezione] - [Import]

  - [Array]*

  - [Azbil]

  - [Autotrasferimento]

  - [Gestione file]

  - [File Management remoto]

  - [Ritardo]

  - [Blocco tendenza] - [Clear And Draw]*

  - [Blocco tendenza] - [Draw]*

  - [Apparecchiatura]

  - [Visualizzatore PDF]

*Quando si utilizzano solo variabili locali, l'operazione viene completata senza essere interrotta da un'altra operazione di trigger.

- In generale, le seguenti operazioni non possono essere interrotte. Tuttavia, quando una di queste operazioni è usata con un elemento della matrice che è specificato indirettamente, l'operazione può essere interrotta da un'altra operazione di trigger in modo che le operazioni vengano eseguite simultaneamente.

  - [Cambio valore]

  - [Cambio valore stringa]

  - [Converti da numerico a stringa]

  - [Converti da flottante a stringa]

  - [Converti da stringa a numerico/flottante]

  - [Ottieni la lunghezza della stringa]

  - [Estrai la stringa sinistra/destra]

  - [Estrai la stringa di mezzo]

  - [Ricerca stringa]

  - [Cambio schermata]

  - [Modifica contenuto]

  - [Registro messaggi personalizzati]

  - [Cambiamento lingua]

  - [Gestione file]

  - [Visualizza debug]

Quando ci sono più trigger che eseguono la stessa operazione, l'operazione interrotta da un'altra operazione di trigger potrebbe cambiare l'ordine dell'operazione, dando luogo a un'uscita diversa.

Ad esempio, nello schema seguente, Operation 2 in Trigger 2 viene eseguito prima di Operation 2 in Trigger 1. Operation 2 nel Trigger 1 viene eseguita solo dopo il completamento dell'Export Log.

## Blocco valori

Il blocco valori fa riferimento al valore della variabile o alla proprietà specificata. Si possono leggere o sovrascrivere i valori che sono stati salvati con il blocco valori.

Per maggiori dettagli, vedere Espressioni.

Nota: Per specificare una proprietà in un blocco valori, usare il punto (.). Per esempio, per specificare il colore testo in NumericDisplay1, impostare "NumericDisplay1.TextColor".

## Blocco logico

Il blocco “If/If Else” esegue un'operazione in funzione della condizione specificata.

Il blocco logico seguente esegue il calcolo o il confronto logico definito, ed emette il risultato.

- Math
- Condizioni di confronto
- Condizione di logica
- Not

Per maggiori dettagli, vedere Logica.

## Espressione

Il blocco espressione restituisce il risultato dell'espressione. Per maggiori dettagli sui blocchi di espressione, vedere Espressione.

Per maggiori dettagli sul convertitore di espressioni, vedere Espressione.