InfoPLC Net Omron Programacion ST

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 63

www.infoPLC.

net

IEC 61131-3
Programacin en ST
(Structured Text)

24 de marzo de 2013
Antonio Cambronero , Product Engineer
OMRON Electronics Iberia S.A.U.
IEC 61131-3 ( Programacin en ST )

Introduccin
qu es y para que sirve
Structured Text (ST)?
Lenguaje de alto nivel (similar a
PASCAL).
Utilizado en control industrial.
Definido por IEC 61131-3.
Incluye sentencias de control y
asignacin.

3
Elementos de un programa en ST

Parte declarativa

Parte ejecutiva

4
IEC 61131-3 ( Programacin en ST )

Reglas de sintaxis
Expresiones
Son reglas para calcular un valor.
Los tipos pueden ser: booleano, real, entero, etc.
Los operadores pueden ser: NOTA: Tener siempre en
cuenta la precedencia de
Una constante los operadores
El valor de una variable.
El resultado de una funcin.

Ejemplos:
2.0 * 3.1415 * radio
ABS( temp ) / presion
Valvula1 AND NOT Valvula2
6
La instruccin de asignacin
Asigna el valor de la expresin de la derecha a la variable de la
izquierda.
El operador de asignacin es :=
No confundir el operador de asignacin, con el de comparacin
(Asignacin) := (comparacin) =

Valor actual de la
Ej. Clculo longitud R=5, PI=3,14159
variable...
longitud := 2 * pi * r longitud := 2 * pi * r
longitud := 31.4159

Se escribe la expresin Se evala el resultado Se asigna a la variable

7
Delimitadores
Cualquier sentencia debe acabar (* ------ Asignacin ------*)
a := a AND NOT b;
siempre con un delimitador ( ; )
(*------ Selecccin Simple ------*)
IF a = TRUE THEN
a := a AND b;
END_IF;

No usar un delimitador dentro de (*------ Seleccin Simple ------*)


IF a = TRUE ; THEN
una sentencia a := a AND b;
END_IF;

8
Aadir Comentarios
Los comentarios se encierran entre parntesis y asteriscos (* y *)
Se puede usar cualquier carcter dentro del comentario.
Los comentarios pueden comprender varias lneas.

(* ------ Asignacin ------*)


a := a AND NOT b;

(*------ Seleccin Simple ------*)


IF a = TRUE THEN
a := a AND b;
END_IF;

9
Espacios, Retornos de Carro y
Tabulaciones
Se puede usar cualquier nmero de
estos caracteres dentro del cdigo ST. (* ------ Asignacin ------*)
a := a AND NOT b;

Excepciones: (*------ Seleccin Simple ------*)


IF a = TRUE THEN
a := a AND b;
Palabras reservadas, nombres de END_IF;
variables, caracteres especiales,
constantes.

Siempre usarlos entre palabras


reservadas y variables.
10
Maysculas y Minsculas
Uso indistinto de maysculas / minsculas en cualquier
sentencia o nombre de variable

(*------ Seleccin Simple ------*) (*------ Selecccin Simple ------*)


IF A = TRUE THEN if a = true then
A := A AND B; = a := a and b;
END_IF; endif;

11
Nombres de variable
Los siguientes caracteres no se pueden utilizar en nombres de
variables:
! # $ % & ( ) - = ^ \ | @ [ ] { } ; : + * , < >
. / ?

Los nombre de variables pueden ser de hasta 30,000 caracteres


de longitud.

Las variables no pueden comenzar con un numero (0 a 9)

12
Constantes Numricas
Los valores numricos se pueden expresar en...
(*------ Selecccin Simple ------*)
if chico_a = true then
- Decimal (sin prefijo) : 128 a := 10;
- Hexadecimal : 16#4D2 b := 16#A;
c := 8#12;
- Octal : 8#1355 d := 2#1010;
endif;
- Binario : 2#10010010

En constantes enteras o reales, se puede usar ( _ ) para formatear el


literal, esto mejora lectura del cdigo.

Real: 12_345.0, 1.2_345


Enteros: -1_23, 1_234_567, 2#1100_0100, 16#FF_0F

13
Constantes de Texto
El numero de caracteres en una variable de tipo STRING es de 1 a 255.
Una constante de texto se pone entre comillas 'AAA'.
Las maysculas y minsculas son discriminadas.
Un carcter $ seguido de dos dgitos numricos son interpretados como un
hexadecimal.
$02 #02 hexadecimal
Un carcter $ seguido de una letra es interpretado como:
$$: carcter $ (Cdigo ASCII: #24)
$': comilla simple (Cdigo ASCII: #27)
$L $l: final de lnea (LF) (Cdigo ASCII: #0A)
$N $n: nueva lnea (CR + LF) (Cdigo ASCII: #0D0A)
$P $p: final de pagina (FF) (Cdigo ASCII: #0C)
$R $r: Retorno de carro (CR) (Cdigo ASCII: #0D)
$T $t: Tabulacin horizontal (Tab) (Cdigo ASCII: #09)
Tipos de datos (I)
Smbolo Contenido Tamao Rango de valores
BOOL Datos de bit 1 0 (falso), 1 (verdadero)
INT Entero 16 -32.768 a +32.767
DINT Entero Doble 32 2,147,483,648 a +2,147,483,647
LINT Entero Largo 64 9,223,372,036,854,775,808 a
+9,223,372,036,854,775,807
UINT Entero sin signo 16 &0 a 65,535
UINT BCD Entero sin signo BCD WORD ( #0000 a #FFFF ) ( &0 a 65,535 )
UDINT Entero doble sin signo 32 &0 a 4,294,967,295
UDINT BCD Entero doble sin signo DWORD #00000000 a #FFFFFFFF
BCD &0 a 4,294,967,295
ULINT Entero largo sin signo 64 &0 a 18,446,744,073,709,551,615
ULINT BDC Entero largo sin signo LWORD #0000000000000000 a #FFFFFFFFFFFFFFFF
BCD &0 a 18,446,744,073,709,551,615

15
Tipos de datos (II)
Smbolo Contenido Tamao Rango de valores
REAL Numero real 32 3.402823 10 38 a 1.175494 1038, 0,
+1.175494 1038 a +3.402823 10 38
LREAL Numero real largo 64 1.79769313486232 10308 a
2.22507385850720 10308 , 0,
2.22507385850720 10308 a
1.79769313486232 10308
WORD Dato de 16-bits 16 ( #0000 a #FFFF ) ( &0 a 65,535 )
DWORD Dato de 32-bits 32 #00000000 a #FFFFFFFF
&0 a 4,294,967,295
LWORD Dato de 64-bits 64 #0000000000000000 a #FFFFFFFFFFFFFFFF
&0 a 18,446,744,073,709,551,615
STRING Cadena de texto Variable De 0 a 255 bytes.
FUNCTION Instancia de bloque de --- ---
BLOCK funcin
CHANNEL Word WORD
NUMBER Constante numero -- No soportado en ST

16
Texto estructurado.
Funciones matemticas soportadas:
Suma (+)
Resta (-)
Multiplicacin (*)
Divisin (/)
Funciones de bit soportadas:
Bitwise AND (AND o &)
Bitwise OR (OR)
OR Exclusiva OR (XOR)
NOT (NOT)

17
Operadores.
Operadores soportados:
Parntesis ( brackets () )
ndice de Matriz ( square brackets [ ] )
Operador de Asignacin (:=)
Operador de Comparacin Menor Que (<)
Operador de Comparacin Menor o Igual Que (<=)
Operador de Comparacin Mayor Que (>)
Operador de Comparacin Mayor o Igual Que (>=)
Operador de Comparacin Igual (=)
Operador de Comparacin Distinto Que (<>)

18
Operadores
Smbolo Tipo de operacin Tipos de datos soportados por los operadores. Prioridad
1: alta,
11:baja
[]() Expresin / Tablas [ ndices ] 1
Funcin () Evaluacin de una funcin Dependiendo de la funcin. 2
** Exponenciacin REAL, LREAL 3
NOT Complemento BOOL, WORD, DWORD, LWORD 4
* Multiplicacin INT, DINT, UINT, UDINT, ULINT, REAL, LREAL 5
/ Divisin INT, DINT, LINT, UINT, UDINT, ULINT, REAL,
LREAL
+ - Suma / Resta INT, DINT, LINT, UINT, UDINT, ULINT, REAL, 6
LREAL
< > <= Comparaciones BOOL, INT, DINT, LINT, UINT, UDINT, ULINT, 7
>= WORD, DWORD, LWORD, REAL, LREAL
= <> Igualdad / Desigualdad BOOL, INT, DINT, LINT, UINT, UDINT, ULINT, 8
WORD, DWORD, LWORD, REAL, LREAL
AND & Operacin Booleana AND BOOL, WORD, DWORD, LWORD 9
XOR Operacin Booleana XOR BOOL, WORD, DWORD, LWORD 10
OR Operacin Booleana OR BOOL, WORD, DWORD, LWORD 11
19
Palabras reservadas.

TRUE, FALSE
IF, THEN, ELSE, ELSEIF, END_IF
DO, WHILE, END_WHILE
REPEAT, UNTIL, END_REPEAT
FOR, TO, BY, END_FOR
CASE, OF, ELSE, END_CASE

20
Sentencias 1/2
Sentencia Funcin Ejemplo
; Final de sentencia END_IF ;

(* *) Comentario (* Comentario *)

:= Asignacin A := B

IF, THEN, ELSE, ELSEIF, Condicional simple IF a < b THEN c := a END_IF;


END_IF
CASE OF, ELSE, END_CASE Condicional compuesta CASE a OF
1: b := 1;
2: b := 2;
ELSE
b := 3;
END_CASE;

22
Sentencias 2/2
Sentencia Funcin Ejemplo
FOR, TO, BY, DO, END_FOR Bucle con n repeticiones. FOR d := 1 TO 5
b := d * 2;
END_FOR;
WHILE, DO, END_WHILE Bucle con condicin inicial. WHILE a < 15 DO
b := b + 3;
END_WHILE;
REPEAT, UNTIL, END_REPEAT Bucle con condicin final. REPEAT
d := d + 1;
UNTIL d < 15
END_REPEAT;
EXIT Sale del proceso de un bucle. WHILE true
a := a + 1;
IF a > 4 THEN EXIT END_IF;
END_WHILE;
RETURN Sale del bloque de funcin RETURN;

23
Colores usados en el cdigo.

Palabras reservadas: Azul


Comentarios: Verde
Errores: Rojo
Resto de cosas: Negro

Los colores NO pueden ser


personalizados.

24
IEC 61131-3 ( Programacin en ST )

Sentencias de control
Sentencia IF
Ejecuta de forma condicional un grupo de instrucciones,
dependiendo del valor de una expresin.

Sintaxis:

IF expression1 THEN statement-list1

[ ELSIF expression2 THEN statement-list2 ]

[ ELSE statement-list3 ]

END_IF;

26
Sentencia IF (condicin simple)
Sintaxis de la declaracin:

IF <condition> THEN
<expression_1>;
ELSE
<expression_2>;
END_IF;

27
Sentencia IF (condicin simple)
Sintaxis de la declaracin:

IF <condition_1> THEN
IF <condition_2> THEN
<expression_1>;
ELSE
<expression_2>:
END_IF;
END_IF;

28
Sentencia IF (mltiple condiciones)
Sintaxis de la declaracin:

IF <condition_1> THEN <expression_1>;


ELSIF <condition_2> THEN <expression_2>;
ELSIF <condition_3> THEN <expression_3>;

...
ELSIF <condition_n> THEN <expression_n>;
ELSE
<expression_m>;
END_IF;

29
Sentencia IF (mltiple condiciones)

30
Sentencia IF (Ejemplos)
IF A>0 THEN IF A THEN X:=10;
X:=10; ELSE X:=0;
ELSE END_IF;
X:=0;
END_IF;

IF A>0 THEN X:=10;


IF A>0 AND B>1 THEN ELSIF B=1 THEN X:=1;
X:=10; Y:=20; ELSIF B=2 THEN X:=2;
ELSE ELSE
X:=0; Y:=0; X:=0;
END_IF; END_IF;

31
Sentencia CASE
Ejecuta uno de varios grupos de instrucciones segn el valor de
una expresin.
Sintaxis:

CASE <ecuacin_entera> OF
<ecuacin_entera_valor_1>: <expresin_1>;
<ecuacin_entera_valor_2>: <expresin_2>;
...
<ecuacin_entera_valor_n>: <expresin_n>;
ELSE
<expresin_m>;
END_CASE;

<ecuacin_entera> -> INT, DINT, LINT, UINT, UDINT, ULINT


32
Sentencia CASE

33
Sentencia CASE (Ejemplos)

CASE A OF CASE A OF
1: X:=1; 1: X:=1;
2: X:=2; 2,5: X:=2;
3: X:=3; 6..10: X:=3;
ELSE 11,12,15..20: X:=4;
Y:=0; ELSE
END_CASE; Y:=0;
END_CASE;

34
Sentencia FOR
Repite un grupo de instrucciones un nmero de veces
especificado.
Sintaxis:
FOR control variable := <integer_expression1>
TO <integer_expression2> [ BY <integer_expression3> ]
DO
<statement-list>;
END_FOR;

<integer_expression1> : valor inicial de la variable de control .


<integer_expression2> : valor final de la variable de control.
<integer_expression3> : incrementos de la variable de control.

<integer_expressionX> : (INT, DINT, LINT, UINT, UDINT, ULINT).

35
Sentencia FOR

36
Sentencia FOR (Ejemplos)

FOR i:=0 TO 100 DO FOR n:=0 TO 50 BY 5 DO


array[i]:=0; SP[n]:=100;
END_FOR; END_FOR;

IF i=101 THEN
a:=TRUE;
ELSE
a:=FALSE;
END_IF;

37
Sentencia WHILE
Ejecuta una serie de instrucciones siempre que una condicin
dada sea True.

Sintaxis:

WHILE <expression> DO
<statement-list>;
END_WHILE;

38
Sentencia WHILE

39
Sentencia WHILE (Ejemplos)
A:=0;
WHILE A<=1000 DO
A:=A+7;
END_WHILE;

n:=1;
WHILE X<3000 DO
X:=X*2;
DATA[n]:=X;
n:=n+1;
END_WHIE;

40
Sentencia REPEAT
Ejecuta una serie de instrucciones hasta que una condicin sea
True.

Sintaxis:

REPEAT
<statement-list>;
UNTIL <expression> END_REPEAT;

41
Sentencia REPEAT

42
Sentencia REPEAT (Ejemplos)

A:=1;
TOTAL:=0;
REPEAT
TOTAL:=TOTAL+A;
A:=A+1;
UNTIL A>10 END_REPEAT;

43
Sentencia EXIT
Fuerza la salida de un bucle ( FOR, WHILE, REPEAT )

Sintaxis:

FOR (WHILE, REPEAT) expression


...

IF <condition> THEN EXIT;


END_IF;
...

END_FOR (WHILE, REPEAT);

A := 10;

44
Sentencia RETURN
La operativa de RETURN depende de donde se use el programa.
Programa ST:
Fuerza el final de la tarea ST que esta siendo ejecutada y ejecuta la siguiente
tarea.
ST usado en SFC:
Fuerza el final de la accin que esta siendo ejecutada y ejecuta la siguiente
programa de accin o programa de transicin.
ST usado en FB:
Fuerza el final de bloque de funcin ST que contiene el RETURN, retorna a
el sitio donde fue llamada la FB y ejecuta la siguiente instruccin.

Sintaxis:
RETURN;
45
Llamadas a Bloques de Funcin
Mtodo 1:
Usando este mtodo se pasan los valores a los argumentos especficos.
Los argumentos de las variables de entrada deben de estar al principio de
la lista, o justo despus de la variable EN, si esta en la lista.
Las variables de salida pueden ser omitidas, si los datos no son usados.
Las especificaciones del mtodo 2, no pueden ser usadas junto a las
especificaciones de este mtodo, en una misma llamada a una FB.

A( B:=C, , D=>E )

46
Llamadas a Bloques de Funcin
Mtodo 2:
Usando este mtodo se pasan y reciben los valores justo en el orden en el
que se han declarado en el bloque de funcin.
Los argumentos de las variables de entrada deben de estar al principio de
la lista, o justo despus de la variable EN, si esta en la lista.
Las variables de salida pueden ser omitidas si los datos no son usados,
pero deben de ser omitidas de derecha a izquierda.
Las especificaciones del mtodo 1, no pueden ser usadas junto a las
especificaciones de este mtodo, en una misma llamada a una FB.

A( C, , E )

47
Llamadas a Bloques de Funcin
(Ejemplos)
Mtodo 1:
Instance_FB(EN:=A, FB_IN1:=IN1, FB_IN2:=IN2, FB_IN3:=IN3,
FB_OUT1=>OUT1, FB_OUT2=>OUT2, FB_OUT3=>OUT3, ENO=>B)
Instance_FB( FB_IN1:=IN1, FB_IN2:=IN2, FB_IN3:=IN3,
FB_OUT1=>OUT1, FB_OUT2=>OUT2, FB_OUT3=>OUT3 )
Instance_FB(EN:=A, FB_IN1:=IN1, FB_OUT1=>OUT1, FB_IN2:=IN2,
FB_OUT2=>OUT2, FB_IN3:=IN3, FB_OUT3=>OUT3, ENO=>B)

Mtodo 2:
Instance_FB( IN1, IN2, IN3, OUT1, OUT2, OUT3 )
Instance_FB( IN1, IN2, IN3, OUT1 )
Instance_FB( IN1, IN2, IN3, OUT1, OUT3 )

48
IEC 61131-3 ( Programacin en ST )

Librera de Funciones
Funciones

Tipo de funcin Utilidad


Funciones numricas Valor absoluto, funciones trigonomtricas, etc
Funciones para manejo de strings Manejo de cadenas de caracteres.
Funciones de expansin OMRON Funciones de expansin al lenguaje estndar.
Conversiones de tipos de datos Conversiones entre tipos de datos.

50
Funciones numricas (I)
Funcin Tipo de datos de Tipo de datos Descripcin
argumentos devueltos
ABS (arg) INT, DINT, LINT, UINT, UDINT, INT, DINT, LINT, UINT, Valor absoluto
ULINT, REAL, LREAL UDINT, ULINT, REAL,
LREAL
SQRT (arg) REAL, LREAL REAL, LREAL Raz cuadrada
LN (arg) REAL, LREAL REAL, LREAL Logaritmo natural: LOGe
LOG (arg) REAL, LREAL REAL, LREAL Logaritmo: LOG10
EXP (arg) REAL, LREAL REAL, LREAL Exponencial natural: earg
EXPT (arg) Base REAL, LREAL REAL, LREAL Exponencial: baseexpo
Exponente INT, DINT,
LINT, UINT,
UDINT, ULINT

51
Funciones numricas (II)
Funcin Tipo de datos de Tipo de datos Descripcin
argumentos devueltos
SIN (arg) REAL, LREAL REAL, LREAL Sino
COS (arg) REAL, LREAL REAL, LREAL Coseno
TAN (arg) REAL, LREAL REAL, LREAL Tangente
ASIN (arg) REAL, LREAL REAL, LREAL Arco Seno
ACOS (arg) REAL, LREAL REAL, LREAL Arco Coseno
ATAN (arg) REAL, LREAL REAL, LREAL Arco Tangente

52
Funciones para cadenas de texto (I)
Funcin Tipo de datos de Tipo de datos Descripcin
argumentos devueltos
LEN (string) String STRING INT Devuelve la longitud
de un texto.
LEFT (<texto fuente>, Texto STRING STRING Extrae caracteres de
<numero de caracteres>) fuente un texto comenzando
Numero de INT, UINT por la izquierda.
caracteres

RIGHT (<texto fuente>, Texto STRING STRING Extrae caracteres de


<numero de caracteres>) fuente un texto comenzando
Numero de INT, UINT por la derecha.
caracteres

MID (<texto fuente>, Texto STRING STRING Extrae caracteres de


<numero de caracteres>, fuente un texto.
<posicin>) Numero de INT, UINT
caracteres
Posicin INT, UINT

La posicin del primer carcter en las cadenas de texto es 1


53
Funciones para cadenas de texto (II)
Funcin Tipo de datos de Tipo de datos Descripcin
argumentos devueltos
CONCAT(<texto Texto STRING STRING Une cadenas de texto.
fuente1>, <texto fuente
fuente2>, ..)
Hasta 32 argumentos
INSERT (<texto fuente>, Texto STRING STRING Inserta un cadena de
<texto a insertar>, fuente texto dentro de otra.
<posicin>) Texto a STRING
insertar
Posicin INT, UINT

DELETE (<texto fuente>, Texto STRING STRING Borra caracteres de un


<numero de caracteres>, fuente cadenas de texto.
<posicin>) Numero de INT, UINT
caracteres
Posicin INT, UINT

La posicin del primer carcter en las cadenas de texto es 1


54
Funciones para cadenas de texto (III)
Funcin Tipo de datos de Tipo de datos Descripcin
argumentos devueltos
REPLACE (<texto Texto STRING STRING Reemplaza caracteres
fuente>, <texto a insertar>, fuente dentro de un cadena
<numero de caracteres>, Texto a STRING de texto.
<posicin>) insertar
Numero de INT, UINT
caracteres
Posicin INT, UINT

FIND (<texto fuente>, Texto STRING INT Busca una cadena


fuente dentro de otra cadena
<texto a buscar>)
Texto a STRING de texto.
insertar

La posicin del primer carcter en las cadenas de texto es 1


55
Funciones de expansin OMRON (I)
Funcin Tipo de datos de Tipo de datos Descripcin
argumentos devueltos
WRITE_TEXT (<texto a Texto a STRING --- Escribe una cadena de
escribir>, <Nombre del escribir texto en la tarjeta de
directorio y el fichero>, Nombre del STRING memoria.
<Delimitador>, directorio y
<Parmetros>) el fichero
Delimitador STRING

Parmetros INT, UINT,


WORD

56
Funciones de expansin OMRON (II)
Funcin Tipo de datos de Datos Descripcin
argumentos devueltos
TXD_CPU ( <texto> ) Texto STRING --- Transmite una cadena
de texto por el puerto
RS-232 de la CPU.
TXD_SCB ( <texto>, Texto STRING --- Transmite una cadena
<puerto serie> ) de texto por un puerto
Puerto serie INT, UINT,
WORD serie de la SCB.

TXD_SCU ( <texto>, Texto STRING --- Transmite una cadena


<Numero Unidad SCU>, de texto por un puerto
Numero INT, UINT,
<Puerto serie>, <Puerto serie de la SCU.
Unidad SCU WORD
lgico interno> )
Puerto serie INT, UINT,
WORD
Puerto lgico INT, UINT,
interno WORD

57
Funciones de expansin OMRON (III)
Funcin Tipo de datos de Datos Descripcin
argumentos devueltos
RXD_CPU ( <carga>, Carga STRING --- Recibe una cadena de
<numero caracteres> ) texto por el puerto RS-
Numero INT, UINT,
caracteres WORD 232 de la CPU.

RXD_SCB ( <carga>, Carga STRING --- Recibe una cadena de


<numero caracteres>, <puerto texto por un puerto
Numero INT, UINT,
serie> ) caracteres WORD serie de la SCB.
Puerto serie INT, UINT,
WORD

RXD_SCU ( <carga>, Carga STRING --- Recibe una cadena de


<numero caracteres>, texto por un puerto
Numero INT, UINT,
<numero Unidad SCU>, serie de la SCU.
caracteres WORD
<puerto serie>, <puerto lgico
interno> ) Numero INT, UINT,
Unidad SCU WORD
Puerto serie INT, UINT,
WORD
Puerto lgico INT, UINT,
58 interno WORD
Funciones de expansin OMRON (IV)
Funcin Tipo de datos Tipo de datos Descripcin
de argumentos devueltos
DEG_TO_RAD (arg) REAL, LREAL REAL, LREAL Devuelve la longitud de
un texto.
RAD_TO_DEG ( arg) REAL, LREAL REAL, LREAL Extrae caracteres de un
texto comenzando por la
izquierda.

59
Conversin entre tipo de datos
Funciones de conversin de tipos de datos.
B := from_TO_to( valor ); NOTA: Los tipos reales
son redondeados

B := REAL_TO_INT(valor);
Funciones de conversin de texto a nmeros.
B := tipo_dato_origen_TO_STRING( valor );
B := STRING_TO _tipo_dato_destino( valor );

B := REAL_TO_STRING(valor);
B := STRING_TO _UINT(valor);

60
IEC 61131-3 ( Programacin en ST )

Restricciones
Restricciones
No hay limite en el anidamiento de las
instrucciones IF, CASE, FOR, WHILE
REPEAT.
No es posible llamar a instrucciones Ladder
desde el ST.
Desde un programa ST es posible llamar a FBs.
Hasta 8 niveles de anidamiento, en las llamadas a
FBs.
Restricciones
Los entero solamente pueden ser asignados a
variables de tipo WORD, DWORD, INT,
DINT, UINT, UDINT ULINT.
Los nmeros reales solamente se pueden
asignar a variables de tipo REAL LREAL.
Los bits (TRUE, FALSE) pueden solamente ser
asignados a variables de tipo BOOL.
Los tipos de datos deben de estar en
concordancia con el ST.
Gracias por la atencin !!!
Antonio Cambronero Berlanga
Product Engineer

Omron Electronics Iberia, S.A.

También podría gustarte