Вы находитесь на странице: 1из 32

11/02/2009

IEC 61131-3

Programacin en ST
(Structured Text) Structured Text

11 de febrero de 2009 Antonio Cambronero , Product Engineer OMRON Electronics Iberia S.A.U.

IEC 61131-3 ( Programacin en ST )

Introduccin

11/02/2009

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.

Elementos de un programa en ST
Parte declarativa

Parte ejecutiva

11/02/2009

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: NOTA: Tener siempre en
Una constante El valor de una variable. El resultado de una funcin.
Ejemplos: 2.0 * 3.1415 * radio ABS( temp ) / presion Valvula1 AND NOT Valvula2
6

cuenta la precedencia de los operadores

11/02/2009

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)

:=
R=5, PI=3,14159

(comparacin)

Ej. Clculo longitud

Valor actual de la variable...

longitud := 2 * pi * r

longitud := 2 * pi * r

longitud := 31.4159
Se asigna a la variable

Se escribe la expresin

Se evala el resultado

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

No usar un delimitador dentro de una sentencia

(*------ Seleccin Simple ------*) IF a = TRUE ; THEN a := a AND b; END_IF;

11/02/2009

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;

Espacios, Retornos de Carro y Tabulaciones


Se puede usar cualquier nmero de estos caracteres dentro del cdigo ST. Excepciones: Palabras reservadas, nombres de variables, caracteres especiales, constantes. Siempre usarlos entre palabras reservadas y variables.
10

(* ------ Asignacin ------*) a := a AND NOT b; (*------ Seleccin Simple ------*) IF a = TRUE THEN a := a AND b; END_IF;

11/02/2009

Maysculas y Minsculas
Uso indistinto de maysculas / minsculas en cualquier sentencia o nombre de variable

(*------ Seleccin Simple ------*) IF A = TRUE THEN A := A AND B; END_IF;

(*------ Selecccin Simple ------*) if a = true then a := a and b; 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

11/02/2009

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

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)

11/02/2009

Tipos de datos (I)


Smbolo
BOOL INT DINT LINT UINT UINT BCD UDINT UDINT BCD ULINT ULINT BDC Entero Entero Doble Entero Largo Entero sin signo Entero sin signo BCD Entero doble sin signo Entero doble sin signo BCD Entero largo sin signo Entero largo sin signo BCD

Contenido
Datos de bit 1

Tamao
16 32 64 16 WORD 32 DWORD 64 LWORD

Rango de valores
0 (falso), 1 (verdadero) -32.768 a +32.767 2,147,483,648 a +2,147,483,647 9,223,372,036,854,775,808 a +9,223,372,036,854,775,807 &0 a 65,535 ( #0000 a #FFFF ) ( &0 a 65,535 ) &0 a 4,294,967,295 #00000000 a #FFFFFFFF &0 a 4,294,967,295 &0 a 18,446,744,073,709,551,615 #0000000000000000 a #FFFFFFFFFFFFFFFF &0 a 18,446,744,073,709,551,615

15

Tipos de datos (II)


Smbolo
REAL LREAL

Contenido
Numero real Numero real largo

Tamao
32 64

Rango de valores
3.402823 10 38 a 1.175494 1038, 0, +1.175494 1038 a +3.402823 10 38 1.79769313486232 10308 a 2.22507385850720 10308 , 0, 2.22507385850720 10308 a 1.79769313486232 10308 ( #0000 a #FFFF ) ( &0 a 65,535 ) #00000000 a #FFFFFFFF &0 a 4,294,967,295 #0000000000000000 a #FFFFFFFFFFFFFFFF &0 a 18,446,744,073,709,551,615 De 0 a 255 bytes. ---

WORD DWORD LWORD STRING FUNCTION BLOCK CHANNEL NUMBER


16

Dato de 16-bits Dato de 32-bits Dato de 64-bits Cadena de texto Instancia de bloque de funcin Word Constante numero

16 32 64 Variable --WORD --

No soportado en ST

11/02/2009

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

11/02/2009

Operadores
Smbolo Tipo de operacin Tipos de datos soportados por los operadores. Prioridad 1: alta, 11:baja
1 Dependiendo de la funcin. REAL, LREAL BOOL, WORD, DWORD, LWORD INT, DINT, UINT, UDINT, ULINT, REAL, LREAL INT, DINT, LINT, UINT, UDINT, ULINT, REAL, LREAL INT, DINT, LINT, UINT, UDINT, ULINT, REAL, LREAL BOOL, INT, DINT, LINT, UINT, UDINT, ULINT, WORD, DWORD, LWORD, REAL, LREAL BOOL, INT, DINT, LINT, UINT, UDINT, ULINT, WORD, DWORD, LWORD, REAL, LREAL BOOL, WORD, DWORD, LWORD BOOL, WORD, DWORD, LWORD BOOL, WORD, DWORD, LWORD 6 7 8 9 10 11 2 3 4 5 []() Funcin () ** NOT * / + < > <= >= = AND XOR OR
19

Expresin / Tablas [ ndices ] Evaluacin de una funcin Exponenciacin Complemento Multiplicacin Divisin Suma / Resta Comparaciones Igualdad / Desigualdad Operacin Booleana AND Operacin Booleana XOR Operacin Booleana OR

<> &

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

10

11/02/2009

Tipos de Datos
Smbolo BOOL INT UINT DINT UDINT LINT ULINT WORD DWORD LWORD REAL LREAL STRING
21

Tipo de dato Booleano Entero (Integer) Entero sin Signo (Unsigned Integer) Entero Doble (Doble Integer) Entero Doble sin Signo (Unsigend Doble Integer) Entero Largo (Long Integer) Entero Largo sin Signo (Unsigned Long Integer) Secuencia de bit de 16 bits Secuencia de bit de 32 bits Secuencia de bit de 64 bits Numero real. Nmero real largo Cadena de texto

N de bits 1 16 16 32 32 64 64 16 32 64 32 64 Max. 255 car.

Sentencias 1/2
Sentencia
; (* *) := IF, THEN, ELSE, ELSEIF, END_IF CASE OF, ELSE, END_CASE

Funcin
Final de sentencia Comentario Asignacin Condicional simple Condicional compuesta END_IF ;

Ejemplo
(* Comentario *) A := B IF a < b THEN c := a END_IF; CASE a OF 1: b := 1; 2: b := 2; ELSE b := 3; END_CASE;

22

11

11/02/2009

Sentencias 2/2
Sentencia
FOR, TO, BY, DO, END_FOR

Funcin
Bucle con n repeticiones.

Ejemplo
FOR d := 1 TO 5 b := d * 2; END_FOR; WHILE a < 15 DO b := b + 3; END_WHILE; REPEAT d := d + 1; UNTIL d < 15 END_REPEAT; WHILE true a := a + 1; IF a > 4 THEN EXIT END_IF; END_WHILE; RETURN;

WHILE, DO, END_WHILE

Bucle con condicin inicial.

REPEAT, UNTIL, END_REPEAT

Bucle con condicin final.

EXIT

Sale del proceso de un bucle.

RETURN

Sale del bloque de funcin

23

Colores usados en el cdigo.


Palabras reservadas: Comentarios: Errores: Resto de cosas: Azul Verde Rojo Negro

Los colores NO pueden ser personalizados.

24

12

11/02/2009

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

13

11/02/2009

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; END_IF

28

14

11/02/2009

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

15

11/02/2009

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

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

IF A>0 THEN X:=10; ELSIF B=1 THEN X:=1; ELSIF B=2 THEN X:=2; ELSE X:=0; 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

16

11/02/2009

Sentencia CASE

33

Sentencia CASE (Ejemplos)


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

X:=1; X:=2; X:=3; X:=4;

34

17

11/02/2009

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

18

11/02/2009

Sentencia FOR (Ejemplos)


FOR i:=0 TO 100 DO array[i]:=0; END_FOR; IF i=101 THEN a:=TRUE; ELSE a:=FALSE; END_IF; FOR n:=0 TO 50 BY 5 DO SP[n]:=100; END_FOR;

37

Sentencia WHILE
Ejecuta una serie de instrucciones siempre que una condicin dada sea True. Sintaxis:
WHILE <expression> DO <statement-list>; END_WHILE;

38

19

11/02/2009

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

20

11/02/2009

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

21

11/02/2009

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

22

11/02/2009

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. Fuerza el final de la accin que esta siendo ejecutada y ejecuta la siguiente programa de accin o programa de transicin. 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.

ST usado en SFC:

ST usado en FB:

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

23

11/02/2009

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. 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

24

11/02/2009

IEC 61131-3 ( Programacin en ST )

Librera de Funciones

Funciones
Tipo de funcin
Funciones numricas Funciones para manejo de strings Funciones de expansin OMRON Conversiones de tipos de datos

Utilidad
Valor absoluto, funciones trigonomtricas, etc Manejo de cadenas de caracteres. Funciones de expansin al lenguaje estndar. Conversiones entre tipos de datos.

50

25

11/02/2009

Funciones numricas (I)


Funcin Tipo de datos de argumentos
INT, DINT, LINT, UINT, UDINT, ULINT, REAL, LREAL REAL, LREAL REAL, LREAL REAL, LREAL REAL, LREAL Base Exponente REAL, LREAL INT, DINT, LINT, UINT, UDINT, ULINT

Tipo de datos devueltos


INT, DINT, LINT, UINT, UDINT, ULINT, REAL, LREAL REAL, LREAL REAL, LREAL REAL, LREAL REAL, LREAL REAL, LREAL

Descripcin Valor absoluto

ABS (arg) SQRT (arg) LN (arg) LOG (arg) EXP (arg) EXPT (arg)

Raz cuadrada Logaritmo natural: LOGe Logaritmo: LOG10 Exponencial natural: earg Exponencial: baseexpo

51

Funciones numricas (II)


Funcin Tipo de datos de argumentos
REAL, LREAL REAL, LREAL REAL, LREAL REAL, LREAL REAL, LREAL REAL, LREAL

Tipo de datos devueltos


REAL, LREAL REAL, LREAL REAL, LREAL REAL, LREAL REAL, LREAL REAL, LREAL

Descripcin Sino Coseno Tangente Arco Seno Arco Coseno Arco Tangente

SIN (arg) COS (arg) TAN (arg) ASIN (arg) ACOS (arg) ATAN (arg)

52

26

11/02/2009

Funciones para cadenas de texto (I)


Funcin Tipo de datos de argumentos
String Texto fuente Numero de caracteres STRING STRING INT, UINT STRING INT, UINT STRING INT, UINT INT, UINT STRING STRING

Tipo de datos devueltos


INT STRING

Descripcin Devuelve la longitud de un texto. Extrae caracteres de un texto comenzando por la izquierda. Extrae caracteres de un texto comenzando por la derecha. Extrae caracteres de un texto.

LEN (string) LEFT (<texto fuente>,


<numero de caracteres>)

RIGHT (<texto fuente>,


<numero de caracteres>)

Texto fuente Numero de caracteres

MID (<texto fuente>,


<numero de caracteres>, <posicin>)

Texto fuente Numero de caracteres Posicin

53

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

Funciones para cadenas de texto (II)


Funcin Tipo de datos de argumentos
Texto fuente STRING

Tipo de datos devueltos


STRING

Descripcin Une cadenas de texto.

CONCAT(<texto
fuente1>, <texto fuente2>, ..) Hasta 32 argumentos

INSERT (<texto fuente>,


<texto a insertar>, <posicin>)

Texto fuente Texto a insertar Posicin

STRING STRING INT, UINT STRING INT, UINT INT, UINT

STRING

Inserta un cadena de texto dentro de otra.

DELETE (<texto fuente>,


<numero de caracteres>, <posicin>)

Texto fuente Numero de caracteres Posicin

STRING

Borra caracteres de un cadenas de texto.

54

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

27

11/02/2009

Funciones para cadenas de texto (III)


Funcin Tipo de datos de argumentos
Texto fuente Texto a insertar Numero de caracteres Posicin STRING STRING INT, UINT INT, UINT STRING STRING INT

Tipo de datos devueltos


STRING

Descripcin Reemplaza caracteres dentro de un cadena de texto.

REPLACE (<texto
fuente>, <texto a insertar>, <numero de caracteres>, <posicin>)

FIND (<texto fuente>, <texto a buscar>)

Texto fuente Texto a insertar

Busca una cadena dentro de otra cadena de texto.

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


55

Funciones de expansin OMRON (I)


Funcin Tipo de datos de argumentos
Texto a escribir Nombre del directorio y el fichero Delimitador Parmetros STRING STRING

Tipo de datos devueltos


---

Descripcin Escribe una cadena de texto en la tarjeta de memoria.

WRITE_TEXT (<texto a
escribir>, <Nombre del directorio y el fichero>, <Delimitador>, <Parmetros>)

STRING INT, UINT, WORD

56

28

11/02/2009

Funciones de expansin OMRON (II)


Funcin Tipo de datos de argumentos
Texto STRING

Datos devueltos
---

Descripcin Transmite una cadena de texto por el puerto RS-232 de la CPU. Transmite una cadena de texto por un puerto serie de la SCB. Transmite una cadena de texto por un puerto serie de la SCU.

TXD_CPU ( <texto> )

TXD_SCB ( <texto>, <puerto serie> ) TXD_SCU ( <texto>,


<Numero Unidad SCU>, <Puerto serie>, <Puerto lgico interno> )

Texto Puerto serie Texto Numero Unidad SCU Puerto serie Puerto lgico interno

STRING INT, UINT, WORD STRING INT, UINT, WORD INT, UINT, WORD INT, UINT, WORD

---

---

57

Funciones de expansin OMRON (III)


Funcin Tipo de datos de argumentos
Carga Numero caracteres Carga Numero caracteres Puerto serie STRING INT, UINT, WORD STRING INT, UINT, WORD INT, UINT, WORD STRING INT, UINT, WORD INT, UINT, WORD INT, UINT, WORD INT, UINT, WORD -----

Datos devueltos
---

Descripcin Recibe una cadena de texto por el puerto RS232 de la CPU. Recibe una cadena de texto por un puerto serie de la SCB.

RXD_CPU ( <carga>, <numero caracteres> ) RXD_SCB ( <carga>,


<numero caracteres>, <puerto serie> )

RXD_SCU ( <carga>,
<numero caracteres>, <numero Unidad SCU>, <puerto serie>, <puerto lgico interno> )

Carga Numero caracteres Numero Unidad SCU Puerto serie Puerto lgico interno

Recibe una cadena de texto por un puerto serie de la SCU.

58

29

11/02/2009

Funciones de expansin OMRON (IV)


Funcin Tipo de datos de argumentos
REAL, LREAL REAL, LREAL

Tipo de datos devueltos


REAL, LREAL REAL, LREAL

Descripcin Convierte de grados a radianes. Convierte de radianes a grados.

DEG_TO_RAD (arg) RAD_TO_DEG


( arg)

59

Conversin entre tipo de datos


Funciones de conversin de tipos de datos.
B := from_TO_to( valor ); B := REAL_TO_INT(valor);
NOTA: NOTA: Los tipos reales son redondeados

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

30

11/02/2009

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.

31

11/02/2009

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.

32

Вам также может понравиться