# Tipos de blocos

Os blocos são categorizados como: Bloco de triggers, Bloco de operações, Bloco de valor, Bloco lógico e Expressão. Você pode arrastar e soltar esse blocos da Biblioteca para criar um script.

O bloco é usado em um Script/Script global.

Categoria | Script | Script global
Triggers |  |
Operações |  |
Valores |  |
Lógicos |  |
Expressão |  |

#### Limites

- Máximo de 1000 ações por tela, conteúdo e script global.

- Máximo de 1000 operações por ação ou seção de script.

## Bloco de triggers

Um trigger é um evento que executa uma operação. Você também pode definir várias operações a serem executadas para um trigger.

Para obter mais detalhes, consulte Lista de triggers.

Observação: Cada script pode usar apenas um trigger.

Blocos | Descrição
| [When] - Defina a condição do trigger. [Do] - Adicione o bloco de operações a ser executado. Observação: Os blocos são diferentes para cada trigger. Dependendo do bloco de trigger, configure o conteúdo do bloco de valor para condição.

(Exemplo 1)

Execute a operação a cada 5 segundos.

(Exemplo 2)

Execute a operação em uma alteração no valor Var1.

## Bloco de operações

O bloco de operação é para executar a função definida.

Para obter mais detalhes, consulte Lista de operações.

Blocos | Descrição
| Defina a operação a ser executada. Observação: Os blocos são diferentes para cada operação. Dependendo do bloco de operação, você pode combinar e executar blocos de valores e blocos lógicos.

(Exemplo 1)

Quando a operação é executada, um buzz emite um som de bipe.

(Exemplo 2)

Quando a operação é executada, 1 é atribuído à Var1.

Observação:

- Em um bloco de Operação, se você usar um bloco de valor ou bloco lógico que inclui uma variável com qualidade ruim, a operação funciona da seguinte forma:

- Se a variável for usada como alvo de uma operação de gravação, a operação será executada e o Resultado da operação será Verdadeiro.

- Se o valor da variável for usada como uma operação de leitura, a operação será ignorada e o Resultado da operação será Falso.

- As operações de script executam, em ordem, uma de cada vez. Entretanto, como as seguintes operações podem levar algum tempo para serem concluídas, elas podem ser interrompidas por outra operação de disparo para que as operações sejam executadas simultaneamente.

- [Exportar dados de alarme]

- [Exportar dados do log]

- [Exportar registro de operação]

- [Registro de dados]-[ClearLogging]

- [Receita]

- [Segurança] - [Export]

- [Segurança] - [Import]

- [Matriz]*

- [Azbil]

- [Gerenciamento de arquivos]

- [Gerenciamento de arquivos remoto]

- [Atraso]

- [Tendência de bloco] - [Clear And Draw]*

- [Tendência de bloco] - [Draw]*

- [Equipamento]

*Ao usar apenas variáveis locais, a operação é concluída sem ser interrompida por outra operação de disparo.

- Em geral, as seguintes operações não podem ser interrompidas. Entretanto, quando uma destas operações é utilizada com um elemento de matriz que é especificado indiretamente, a operação pode ser interrompida por outra operação de disparo para que as operações sejam executadas simultaneamente.

- [Alterar valor]

- [Alterar valor de string]

- [Converter Numérico em string]

- [Converter Flutuação em string]

- [Converter string em Numérico/Flutuação]

- [Obter tamanho da string]

- [Extrair string Esquerda/Direita]

- [Extrair string do meio]

- [Cadeia de pesquisa]

- [Alteração de tela]

- [Alteração de conteúdo]

- [Mensagem personalizada do registro]

- [Alteração de idioma]

- [Gerenciamento de arquivos]

- [Exibição de depuração]

Quando existem vários triggers que executam a mesma operação, uma operação interrompida por outra operação de disparo pode alterar a ordem de operação, resultando em saída diferente.

Por exemplo, no diagrama abaixo, a Operation 2 em Trigger 2 é executada antes da Operation 2 em Trigger 1. Operation 2 no Trigger 1 é executada somente após o Export Log está completo.

## Bloco de valor

O bloco de valor refere-se ao valor de uma variável ou propriedade especificada. Você pode ler ou substituir os valores armazenados usando um bloco de valor.

Para obter mais detalhes, consulte Valores.

Observação: Para especificar uma propriedade em um bloco de valor, use um período (.). Por exemplo, para especificar a cor do texto no NumericDisplay1, defina "NumericDisplay1.TextColor".

## Bloco lógicos

O bloco If / If Else executa uma operação dependendo da condição especificada.

O seguinte bloco lógico executa o cálculo definido ou comparação lógica e produz o resultado.

- Math
- Condição de comparação
- Condição lógica
- Not

Para obter mais detalhes, consulte Lógico.

## Expressão

O bloco de expressão retorna resultado da expressão. Para obter mais detalhes sobre blocos de expressão, consulte Expressão.

Para obter mais detalhes sobre conversor de expressão, consulte Expressão.