# Variáveis em scripts

### Usando Variáveis no Script

Você pode usar variáveis para executar a operação desejada.

Observação:

- OR/AND/XOR/NOT sempre retorna um valor inteiro de 32 bits não identificada.
- Quando o valor de entrada é negativo, as expressões de deslocamento de bit retornam um valor inteiro de 32 bit.
- Quando o valor de entrada é positivo, as expressões de deslocamento de bit retornam um valor inteiro de 32 bit não identificada.

### Usando Variáveis externas no Script

Ao utilizar variáveis externas em um script, o valor do endereço do dispositivo atribuído ao dispositivo externo pode mudar durante o processamento do script.

Usar um endereço de dispositivo em uma operação de atribuição pode causar um atraso de gravação, pois a unidade do display deve ler os dados de endereço do dispositivo conectado.

Observação: Ao alterar o valor de uma variável externa várias vezes em um script com um único disparo, o valor da variável externa não será atualizado imediatamente.

Para usar o valor da variável externa atualizada no script acionado, armazene o valor em uma variável interna e use-o no script. Ou atualize o valor da variável externa com um disparo diferente antes de usar o valor da variável externa.

(Exemplo)

Adicionar as seguintes variáveis.

[Nome] | [Tipo de dados] | [Origem] | [Endereço do dispositivo] | [Número de bytes/palavras]
Var1 | [INT] | 'Schneider Modbus Serial Equipment' | 400020 | -
Var2 | [INT] | 400021 | -
Var3 | [INT] | 400022 | -

Desenhe os seguintes objetos na tela.

#### Objeto de interruptor (Nome: Switch1)

Nenhuma configuração especial.

#### Script

Legenda | Bloquear
1 | [Triggers] ➞ [Toque] ➞ [Toque]
2 | [Operações] ➞ [Alterar valor] ➞ [Alterar valor]
3 | [Valores] ➞ [Objeto de tela]
4 | [Lógico] ➞ [Math]
5 | [Valores] ➞ [Variável]
6 | [Valores] ➞ [Constante]

Quando Switch1 é pressionado, o valor de Var1+1 é atribuído a Var2. Entretanto, o valor da Var2 não foi atribuído à Var3 devido à comunicação demorada com o dispositivo.

Nesses casos, você pode programar um script de forma que o resultado da Var1 seja armazenado primeiro na variável interna Var4 antes de ser executado, conforme mostrado no exemplo a seguir.

Adicionar as seguintes variáveis.

[Nome] | [Tipo de dados] | [Origem] | [Endereço do dispositivo] | [Número de bytes/palavras]
Var1 | [INT] | 'Schneider Modbus Serial Equipment' | 400020 | -
Var2 | [INT] | 400021 | -
Var3 | [INT] | 400022 | -
Var4 | [INT] | [Internal] | - | -

#### Script