Variáveis, Constantes e Tipos

Previous  Top  Next


 
No SimuPLC 4.1.0 a tipagem ou tipificação é bastante fraca, até mais que na linguagem C, por exemplo, ou seja, o Simulador não faz consistência de tipo de variáveis para fins de detecção de erros de compilação (a única consistência feita é verificar se determinado identificador ou parâmetro é obrigatório ser variável ou pode ser constante). A variedade implícita de tipos das variáveis lembra o tipo Variant da linguagem Pascal, que, tipificando alguma variável, faz com que esta possa conter valores de quase todos os outros tipos permitidos pela linguagem, os quais são utilizados de forma sensível ao contexto. P. ex., se a seguinte instrução de atribuição for executada no SimuPLC:  
 
            V0 R:= 100000.125; (Obs.: o sinal de decimal é o ponto e não a vírgula)  
 
e, a seguir, for executado:  
 
            V1 R:= V0;      V1 receberá 100000.125  
            V1 := V0;      V1 receberá 100000 (o default é D)
            V1
D:= V0;      V1 receberá 100000
            
V1 W:= V0;      V1 receberá 34464
             
V1 B:= V0;      V1 receberá 160

ou seja, uma mesma variável mantém valores dos tipos R - real float - 32 bits, D - inteiro doubleword - 32 bits, W - inteiro word - 16 bits e B - inteiro byte - 8 bits. E também bit - ligado/desligado ou falso/verdadeiro - 1 bit, pois, depois de tudo isso, ainda podemos ter, referenciando esta variável, alguma instrução lógica de bit:

         
aciona V0; ou
         
liga
V0; ou
         
desliga
V0;
         
se
(V0) { ... }

e agora
V0 está representando a respectiva variável bit (ligada/desligada - falso/verdadeiro).

Obs.
: na formação de expressões, podem ser usados os seguintes operadores aritméticos e lógicos (+, -, *, /, & (and), | (ou) e ^ (ou exclusivo)). Antes dos operadores que formam a expressão também podem ser colocados qualificadores de tipo da operação: B, W, D e R, que definem o tamanho e tipo dos valores dos operadores e do resultado da operação. D é o padrão, assumido por default se não colocado nenhum. Exemplo:

V0 R:= AIW0 R+ (AIW1 R/ 8); // Sempre mantenha espaço entre operador e operando e nunca entre tipo da operação e operador

Obs.: o tipo R
não pode ser utilizado com operadores lógicos.

Constantes Numéricas no SimuPLC 4.1.0:

·Os valores numéricos constantes podem ser representados no sistema decimal tradicional, como mostrado nos exemplos dados acima.  

·Ou podem, ainda, ser representados nos formatos binário (base 2) ou hexadecimal (base 16), desde que precedidos de 2# (p. ex., 2#1000 = 8), ou 16# (p. ex., 16#1C = 28). Notem que não são permitidos números negativos quando utilizados tais formatos.  

Obs.
: as variáveis no SimuPLC são sensíveis ao caso (case sensitive), ou seja, são consideradas diferentes as formas minúscula e maiúscula da mesma letra.