Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Detalles
Categoría de nivel principal o raíz: AUTÓMATAS
Visto: 38335
1.- Introducción
Este articulo es la primera parte de una serie de dos.
En el control industrial se utiliza la norma estándar internacional IEC 61131-3 que define los lenguajes
de programación de los Controladores Lógicos Programables (PLC). Uno de ellos es el Texto
Estructurado (Structured Text - ST) que es un lenguaje textual de alto nivel similar a PASCAL.
Un programa en ST se compone de declaraciones. Hay dos tipos de declaraciones: de asignación,
para asignar un valor a una variable y de control, como sentencias de selección y sentencias de
repetición.
Las declaraciones se componen de los siguientes elementos:
Variables, Constantes, Operadores y Funciones.
2.- Composición del Texto Estructurado
Operador de asignación:
El operador de asignación es := y asigna el valor de la expresión de la derecha a la variable de la
izquierda. Se utiliza para establecer valores iniciales, almacenar resultados de cálculo e incrementar las
variables.
Ejemplos:
A := 4 Asignamos a A el valor 4.
B := 2 * C Asignamos a B el doble del valor de C.
D := E Asignamos a D el valor de E.
F := TRUE Asignamos a F el valor “cierto” (1 lógico)(on).
G := FALSE Asignamos a G el valor “falso” (0 lógico)(off).
Operador de comparación:
El operador de comparación es = no confundir el operador de asignación, con el de comparación.
Ejemplos:
A = 4 comparamos el valor de A con 4.
B = 2 * C comparamos el valor de B con el doble del valor de C.
Colores usados en el código
El CX-Programmer muestra automáticamente texto en los colores siguientes:
Palabras reservadas: Azul
Comentarios: Verde
Errores: Rojo
Resto de cosas: Negro
Los colores NO los podemos personalizar.
(* Ejemplo *)
a := a AND NOT b;
(* Selección *)
IF a = TRUE THEN
a := a AND B;
valor := (a+b) *15 +16#FF;
d := ABS (valor);
https://www.portalelectrozona.com/menuseccionplcomron/8-categoriacursoautomata/160-articulocableadodelautomata-3?tmpl=component&print=1&la… 1/8
27/6/2021 PRIMEROS PASOS CON TEXTO ESTRUCTURADO – (ST) STRUCTURED TEXT (Parte 1)
END_IF;
Delimitador de instrucciones:
Las declaraciones de asignación y control deben acabar siempre con un delimitador de punto y coma (
; ), no se pueden completar simplemente usando un retorno de carro.
Ejemplos:
(* Ejemplo 1 *)
A := A + B;
(* Ejemplo 2 *)
IF C = TRUE THEN
C := C AND B;
END_IF;
No se puede usar un delimitador dentro de una sentencia ya que se producirá un error de sintaxis.
Ejemplo:
(* Ejemplo *) MAL
IF C = TRUE ; THEN
C := C AND B;
END_IF;
Comentarios:
Los comentarios se encierran entre paréntesis y asteriscos (* y *). Se puede usar cualquier carácter
dentro del comentario excepto paréntesis y asteriscos. Los comentarios pueden comprender varias
líneas. No se admite anidamiento dentro de los comentarios.
Ejemplos:
(*Este es un ejemplo de comentario válido*)
(*(*Este es un ejemplo de comentario no válido*)*)
Espacios, Retornos de Carro y Tabulaciones:
Se pueden utilizar cualquier número de espacios, retornos de carro y tabulaciones en cualquier lugar
dentro de las sentencias. Se recomienda usarlos entre palabras reservadas y ecuaciones para facilitar
su mejor comprensión.
No podemos utilizar espacios, retornos de carro y tabulaciones dentro de palabras reservadas,
nombres de variables, caracteres especiales y constantes (valores numéricos).
Ejemplos:
(* Ejemplo 1 *) → (* Ejemplo 1 *)
A:=A+B; A := A + B;
(* Ejemplo 2 *) → (* Ejemplo 2 *)
IFC=TRUE THEN IF C = TRUE THEN
C:=C ANDB; C := C AND B;
END_IF; END_IF;
Mayúsculas y Minúsculas:
Es indistinto el uso de mayúsculas y minúsculas en cualquier sentencia o nombre de variable.
Ejemplos:
(* Ejemplo 1 *)
IF A = TRUE THEN
https://www.portalelectrozona.com/menuseccionplcomron/8-categoriacursoautomata/160-articulocableadodelautomata-3?tmpl=component&print=1&la… 2/8
27/6/2021 PRIMEROS PASOS CON TEXTO ESTRUCTURADO – (ST) STRUCTURED TEXT (Parte 1)
A := A AND B;
END_IF;
(* Ejemplo 2 *)
if a = true then
a := a and b;
end_if;
Nombres de variables:
Los caracteres siguientes no se pueden utilizar en nombres de variables:
! " # \( % & ` ( ) - = ^ ~ \ / | @ [ ] { } ; : + * , < > . ¿ ?
Las variables no pueden comenzar por un número (0 a 9).
No se pueden utilizar espacios en nombres de variables.
Prioridad entre operadores:
Las operaciones que requieran prioridad las pondremos entre paréntesis.
Ejemplo:
AND tiene prioridad sobre OR.
En “A OR B AND C”, se dará prioridad a B AND C.
En “(A OR B) AND C”, se dará prioridad a (A OR B).
Cadenas de Texto:
El número máximo de caracteres alfanuméricos en una cadena de texto (tipo STRING) es de 255.
Las cadenas de texto no distinguen entre mayúsculas y minúsculas.
Una cadena de texto se tiene que poner entre comillas → 'AAA'.
Sintaxis:
IF < Condición_1 > THEN
IF < Condición_2 > THEN
< Expresión_1 >;
ELSE
< Expresión_2 >;
END_IF;
END_IF;
Diagrama de flujo:
https://www.portalelectrozona.com/menuseccionplcomron/8-categoriacursoautomata/160-articulocableadodelautomata-3?tmpl=component&print=1&la… 5/8
27/6/2021 PRIMEROS PASOS CON TEXTO ESTRUCTURADO – (ST) STRUCTURED TEXT (Parte 1)
IF - Condición Múltiple:
Sintaxis:
IF < Condición_1 > THEN < Expresión_1 >;
ELSIF < Condición_2> THEN < Expresión_2 >;
ELSIF < Condición_3> THEN < Expresión_3 >;
etc…..
ELSIF < Condición _n > THEN < Expresión _n >;
ELSE
< Expresión _m >;
Diagrama de flujo:
https://www.portalelectrozona.com/menuseccionplcomron/8-categoriacursoautomata/160-articulocableadodelautomata-3?tmpl=component&print=1&la… 6/8
27/6/2021 PRIMEROS PASOS CON TEXTO ESTRUCTURADO – (ST) STRUCTURED TEXT (Parte 1)
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;
https://www.portalelectrozona.com/menuseccionplcomron/8-categoriacursoautomata/160-articulocableadodelautomata-3?tmpl=component&print=1&la… 7/8
27/6/2021 PRIMEROS PASOS CON TEXTO ESTRUCTURADO – (ST) STRUCTURED TEXT (Parte 1)
HASTA AQUÍ LA PRIMERA PARTE
https://www.portalelectrozona.com/menuseccionplcomron/8-categoriacursoautomata/160-articulocableadodelautomata-3?tmpl=component&print=1&la… 8/8