Anda di halaman 1dari 478

PL7 Pro 1

Programacin de autmatas modulares - Nivel 1


(Norma IEC 1131-3)

Manual de Curso
Centro de Formacin Tcnica
Schneider Electric Argentina
PL7 Pro 1

Manual
del
Curso
Descripcin del software A

Descripcin detallada de las instrucciones y funciones B

Funcin especial en Modicon TSX Premium

Funcin especfica TON G

Funciones especiales en Modicon TSX Micro I

Analgica I

Regulacin J

P
Descripcin del software PL7
A

PL7 Pro 1 Descripcin detallada de las instrucciones y funciones


B
A

Descripcin del sofware Tabla de materias


PL7 Seccin A
___________________________________________________________________________

Captulo Pgina
1 Generalidades A1/1

1.1 Presentacin del programa PL7 A1/1


1.1-1 Presentacin A1/1
1.1-2 Estructura monotarea A1/3
1.1-3 Estructura multitarea A1/3
1.1-4 Programacin estructurada y modular A1/4
1.1-5 Estructuracin en mdulos funcionales A1/5
1.1-6 Programacin simblica A1/6
1.1-7 Instrucciones del PL7 A1/8
1.1-8 Bloques de funcin del usuario A1/9

1.2 Objetos direccionables A1/10


1.2-1 Definicin de los principales objetos booleanos A1/10
1.2-2 Direccionamiento de objetos de mdulos
entradas/salidas del TSX 37 A1/11
1.2-3 Direccionamiento de objetos de mdulos E/S del
TSX/PMX/PCX 57 A1/13
1.2-4 Direccionamiento de palabras A1/16
1.2-5 Objetos de bloques de funcin A1/20
1.2-6 Objetos estructurados A1/21
1.2-7 Objetos Grafcet A1/23
1.2-8 Objetos de bloques de funcin DFB A1/23
1.2-9 Simbolizacin A1/24

1.3 Memoria de usuario A1/26


1.3-1 Generalidades A1/26
1.3-2 Guardado / restauracin de palabras internas %MWi A1/28
1.3-3 Memoria de bits A1/29
1.3-4 Memoria de palabras A1/31
1.3-5 Autmatas TSX 37 05/08/10/21/22 A1/32
1.3-6 Autmatas TSX/PCX/PMX 57-10/20/25 A1/33
1.3-7 Autmatas TSX/PCX 57-30/35 A1/34
1.3-8 Autmatas PMX57-35/45 y TSX 57-40/45 A1/35

___________________________________________________________________________
A/1
A

Descripcin del sofware Tabla de materias


PL7 Seccin A
___________________________________________________________________________

Captulo Pgina
1.4 Modos de marcha A1/36
1.4-1 Corte de corriente y reanudacin de la alimentacin A1/36
1.4-2 Rearranque en caliente A1/37
1.4-3 Arranque en fro A1/38

1.5 Estructura software monotarea A1/39


1.5-1 Presentacin de la tarea maestra A1/39
1.5-2 Ejecucin cclica A1/41
1.5-3 Ejecucin peridica A1/42
1.5-4 Control del tiempo de ciclo A1/44

1.6 Estructura multitarea A1/45


1.6-1 Descripcin A1/45
1.6-2 Tarea maestra A1/47
1.6-3 Tarea rpida A1/48
1.6-4 Asignacin de vas de E/S a las tareas maestra y rpida A1/49
1.6-5 Tareas de suceso A1/50

2 Lenguaje de contactos A2/1

2.1 Presentacin del lenguaje de contactos A2/1


2.1-1 Principio A2/1
2.1-2 Elementos grficos A2/2

2.2 Estructura de una red de contactos A2/5


2.2-1 Generalidades A2/5
2.2-2 Etiqueta A2/6
2.2-3 Comentario A2/6
2.2-4 Red de contactos A2/7
2.2-5 Red de contactos con bloques de funcin y de operacinA2/10

2.3 Reglas de ejecucin de una red de contactos A2/13


2.3-1 Principio de ejecucin de una red A2/13

___________________________________________________________________________
A/2
A

Descripcin del sofware Tabla de materias


PL7 Seccin A
___________________________________________________________________________

Captulo Pgina

3 Lenguaje Lista de instrucciones A3/1

3.1 Presentacin del lenguaje Lista de instrucciones A3/1


3.1-1 Principio A3/1
3.1-2 Instrucciones A3/2

3.2 Estructura de un programa A3/4


3.2-1 Generalidades A3/4
3.2-2 Comentario A3/4
3.2-3 Etiqueta A3/4
3.2-4 Utilizacin de los parntesis A3/5
3.2-5 Instrucciones MPS, MRD, MPP A3/7
3.2-6 Principios de programacin: bloques de funcin
predefinidos A3/8

3.3 Reglas de ejecucin de un programa en Lista de instrucciones A3/9

4 Lenguaje Literal estructurado A4/1

4.1 Presentacin del lenguaje Literal estructurado A4/1


4.1-1 Principio A4/1
4.1-2 Instrucciones A4/2

4.2 Estructura de un programa A4/7


4.2-1 Generalidades A4/7
4.2-2 Comentario A4/7
4.2-3 Etiqueta A4/8
4.2-4 Instrucciones A4/8
4.2-5 Estructuras de control A4/9

4.3 Reglas de ejecucin de un programa literal A4/15

___________________________________________________________________________
A/3
A

Descripcin del sofware Tabla de materias


PL7 Seccin A
___________________________________________________________________________

Captulo Pgina

5 Lenguaje Grafcet A5/1

5.1 Presentacin del lenguaje Grafcet A5/1


5.1-1 Nota sobre los principios del Grafcet A5/1
5.1-2 Anlisis progresivo: las macrorrepresentaciones A5/2

5.2 Smbolos grficos relativos al lenguaje Grafcet A5/4

5.3 Objetos relativos al Grafcet A5/6

5.4 Posibilidades del lenguaje Grafcet A5/7

5.5 Representacin del Grafcet A5/9

5.6 Macroetapas A5/15


5.6-1 Principio A5/15
5.6-2 Caractersticas A5/16
5.6-3 Etapas iniciales A5/16

5.7 Acciones asociadas a etapas A5/17

5.8 Receptividades asociadas a transiciones A5/20

5.9 Organizacin de la seccin Grafcet A5/23


5.9-1 Descripcin de la seccin Grafcet A5/23
5.9-2 Tratamiento preliminar A5/24
5.9-3 Utilizacin de los bits sistema en el tratamiento
preliminar A5/25
5.9-4 Tratamiento secuencial A5/28
5.9-5 Tratamiento posterior A5/30

___________________________________________________________________________
A/4
A

Descripcin del sofware Tabla de materias


PL7 Seccin A
___________________________________________________________________________

Captulo Pgina

6 Bloques de funcin DFB A6/1

6.1 Presentacin de los bloques de funcin DFB A6/1


6.1-1 Generalidades A6/1
6.1-2 Creacin de un bloque de funcin DFB A6/2

6.2 Concepcin de un bloque de funcin Tipo DFB A6/3


6.2-1 Creacin de un Tipo DFB A6/3
6.2-2 Descripcin de los parmetros y variables A6/3
6.2-3 Cdigo de un tipo DFB A6/5
6.2-4 Validacin del Tipo DFB A6/6
6.2-5 Propiedades de un Tipo DFB A6/6
6.2-6 Ficha descriptiva A6/7
6.2-7 Propiedades del tipo DFB A6/7
6.2-8 Importacin/exportacin tipo DFB A6/7

6.3 Creacin de una instancia de bloques de funcin Tipo DFB A6/8


6.3-1 Principios A6/8

6.4 Utilizacin de los bloques de funcin DFB A6/9


6.4-1 Reglas generales de programacin A6/9
6.4-2 Programacin en lenguaje de contactos A6/10
6.4-3 Programacin en lenguaje literal o lista de instrucciones A6/11
6.4-4 Acceso a las variables A6/12
6.4-5 Guardado y restitucin de las variables pblicas A6/12
6.4-6 Ejecucin de los bloques de funcin DFB A6/12

6.5 Ejemplo A6/13

___________________________________________________________________________
A/5
A

Descripcin del sofware Tabla de materias


PL7 Seccin A
___________________________________________________________________________

Captulo Pgina

7 Mdulos funcionales A7/1

7.1 Presentacin de los mdulos funcionales A7/1


7.1-1 Definicin del mdulo funcional A7/1
7.1-2 Representacin de un mdulo funcional en PL7 PRO A7/2
7.1-3 Nocin de submdulo funcional A7/3
7.1-4 Tributos de un mdulo funcional A7/3

7.2 Instalacin de los mdulos funcionales A7/4


7.2-1 Crear un mdulo funcional A7/4
7.2-2 Modificacin de la arquitectura de los mdulos
funcionales A7/4

7.3 Programacin de un mdulo funcional A7/6


7.3-1 Agregar/crear una seccin, un suceso o una
macroetapa en un mdulo funcional A7/6
7.3-2 Eliminar una seccin, macroetapa o un suceso
en mdulo A7/8
7.3-3 Agregar/crear una tabla de animacin en un
mdulo funcional A7/9
7.3-4 Introducir/modificar la ficha descriptiva A7/9

7.4 Ejecucin del programa A7/10

7.5 Depuracin de la aplicacin A7/10

7.6 Carpeta de aplicacin A7/10

7.7 Importacin y exportacin del origen del mdulo funcional A7/11


7.7-1 Exportar A7/11
7.7-2 Importar A7/11

___________________________________________________________________________
A/6
A
Captulo
Generalidades PL7 11
1 Generalidades
1.1 Presentacin del programa PL7
1.1-1 Presentacin
El programa PL7 Junior es un software de programacin, diseado para los
autmatas TSX 37 y TSX/PMX/PCX 57, que funcionan en Windows. El PL7 Micro
permite programar nicamente los autmatas TSX 37.
El software PL7 Pro ofrece, adems de las funcionalidades PL7 Junior, la posibilidad
de crear bloques de funcin de usuario DFB (Derived Function block), pantallas de
explotacin y mdulos funcionales.
EL software PL7 Prodyn es una herramienta de explotacin (conduccin, diagnstico,
mantenimiento) para los autmatas TSX 37 y TSX/PMX/PCX 57. No permite crear o
modificar aplicaciones.
El programa PL7 (1) propone:
un lenguaje grfico, el lenguaje de contactos con transcripcin de esquemas de
rels, que est adaptado al tratamiento combinatorio. Ofrece dos smbolos grficos
de base: contactos y bobinas. La escritura de clculos numricos puede efectuarse
en de los bloques de operacin.

un lenguaje booleano, el lenguaje de lista de instrucciones, que es un lenguaje


"mquina" con escritura de tratamientos lgicos y numricos.

(1) En la siguiente documentacin se utilizar PL7 para designar indistintamente


PL7 Junior, PL7 Micro, PL7 Pro o PL7 ProDyn.
___________________________________________________________________________
1/1
A

un lenguaje literal estructurado, que es un lenguaje de tipo "informtica" con una


escritura estructurada de tratamientos lgicos y numricos.

un lenguaje Grafcet que permite representar grficamente y de forma estructurada


el funcionamiento de un automatismo secuencial.

Estos lenguajes formulan bloques de funcin predefinidos (temporizadores,


contadores,...) que las funciones especficas (analgica, comunicacin, contaje ...)
y las funciones particulares (gestin de tiempo, cadena de caracteres ...).

Los objetos del lenguaje se pueden simbolizar mediante el editor de variables o en


lnea en los editores de programa.

El software PL7 est conforme a la norma IEC 1131-3. Los Anexos contienen las
tablas de conformidad: vase la seccin B, captulo 6.

___________________________________________________________________________
1/2
A
Generalidades PL7 1

1.1-2 Estructura monotarea


Es la estructura predeterminada del programa. Contiene una sola tarea: la tarea
maestra.
Tarea maestra
Esta tarea puede ejecutarse de forma cclica (funcionamiento predeterminado) o
peridica.
En funcionamiento cclico, las ejecuciones de la tarea se encadenan una tras otra,
sin tiempo de espera.
En funcionamiento peridico, las ejecuciones de la tarea se encadenan en un
perodo determinado por el usuario.

1.1-3 Estructura multitarea


La estructura multitarea de los autmatas programables TSX 37 y TSX 57 ofrece un
uso adaptado a las altas prestaciones de las aplicaciones en tiempo real, puesto que
asocia un programa especfico a cada funcin; una tarea controla un programa.
Las tareas son independientes y se ejecutan en "paralelo" en el procesador principal
que administra sus prioridades y su ejecucin.
Este tipo de estructura propone:
optimizar el uso de la potencia del tratamiento,
simplificar el diseo y la depuracin; cada tarea se escribe y se depura
independientemente,
estructurar la aplicacin; cada tarea tiene su propia funcin,
optimizar la disponibilidad.
El sistema multitarea propone la tarea maestra, la tarea rpida y de 8 a 64 tareas de
sucesos, segn el procesador.
Tarea Tarea Tareas
maestra rpida de suceso

Prioridad +
-

Tarea rpida
La tarea rpida (opcional), de ejecucin peridica, permite efectuar tratamientos
cortos con una prioridad ms elevada que en la tarea maestra. Cuando est
programada, el sistema la activa automticamente al arrancarse. La tarea puede
detenerse y activarse de nuevo mediante una accin en un bit sistema.

Tareas de sucesos
Estas tareas no estn vinculadas a un perodo como las previamente descritas. Una
llamada procedente de determinados mdulos activa su ejecucin. Son las tareas
ms prioritarias. Debe ser forzosamente corto su tratamiento para asegurar que no
perturbe la ejecucin de las dems tareas.
___________________________________________________________________________
1/3
A

1.1-4 Programacin estructurada y modular


Las tareas de un programa PL7 se componen en varias partes denominadas
secciones y subprogramas.

Cada una de estas secciones puede programarse en el lenguaje apropiado al


tratamiento que se desea realizar.

MAST FAST

Sas (LD) Alarma_Sas(LD) EVT0

Horno_1(Grafcet) Vig_Sec(LD)

PRL (LD)
Alarma_Horno(ST)
CHART

POST(LD) Alarma_Limpieza(ST) SR0

Secado (LD)
SR0

Limpieza (ST)

Esta divisin en secciones permite crear un programa estructurado y generar o


incorporar fcilmente los mdulos de programa.

Se puede hacer una llamada a los subprogramas desde cualquier seccin de la tarea
a la cual pertenecen o desde otros subprogramas de la misma tarea.

___________________________________________________________________________
1/4
A
Generalidades PL7 1

1.1-5 Estructuracin en mdulos funcionales


Un mdulo funcional es una agrupacin de elementos de programa (secciones,
sucesos, macroetapas, tablas de animacin...) destinadas a realizar una funcin de
automatismo.
Un mdulo funcional est definido por un determinado nmero de atributos (nombre,
comentario, programacin, tablas de animacin asociadas...).

Un mdulo funcional comprende un directorio de programa (compuesto de uno o


varios mdulos de cdigo) y de un directorio de tabla de animacin.

Un mdulo funcional
comprende un programa
y tablas de animacin

Un mdulo funcional puede a su vez dividirse en mdulos funcionales de nivel


inferior. Estos mdulos asumen, en relacin a la funcin principal, una o varias

El mdulo Prod1 posee un submdulo Mdm1

subfunciones del automatismo.

Slo el producto PL7 PRO permite la instalacin de mdulos funcionales en los


autmatas TSX/PMX/PCX57.

___________________________________________________________________________
1/5
A

1.1-6 Programacin simblica


El usuario puede introducir y visualizar los objetos:
bien mediante su variable (por ejemplo: %Q2.5),
o bien mediante una cadena de caracteres (mximo 32 caracteres) denominada
smbolo (por ejemplo Fc_puerta).
Nota
Los objetos asociados al bloque de funcin de usuario DFB son objetos puramente
simblicos.

Ejemplo: visualizacin simblica de los objetos de lenguajes de contactos.

Entrada_1Fc_puerta

Duracin=ABS(Diferencia_de_tiempo)

Entrada_4 Vlvula_D

El lenguaje de contactos puede mostrar simultneamente variables y smbolos.

Los objetos del lenguaje pueden simbolizarse usando el editor de variables o en


lnea en los editores de programa.

Esta base de smbolos, controlada por el editor de VARIABLES del programa, es


general a la estacin autmata.

Nota
Determinados mdulos de funciones especficas permiten la simbolizacin automtica de los
objetos que les estn asociados.
___________________________________________________________________________
1/6
A
Generalidades PL7 1

Smbolos y comentarios integrados en el autmata TSX Premium

Funcionalidad
Los smbolos y comentarios pueden ser memorizados en el autmata TSX Premium
(TSX/PMX/PCX 57202, 57302, 57402, 57452 V3.3) equipado de un tipo de tarjeta
memoria siguiente:
tarjeta memoria de 128 kpalabras: TSXMRP 2128P
tarjeta memoria de 256 kpalabras: TSXMRP 3256P
Cuando se registra una aplicacin en el PC, se crea un archivo *.STX.
La imagen de la aplicacin en forma de archivo *.STX comprende entre otros los
smbolos y comentarios.

La funcin "Smbolos y comentarios integrados en el autmata TSX Premium"


suministra al usuario de PL7 la misma facilidad de programacin y explotacin desde
el punto de vista de smbolos y comentarios, posea o no la imagen en forma STX de
su aplicacin presente en el autmata.

Observaciones
1. En modo conectado, las modificaciones de los smbolos y comentarios que se
efectan en el Editor de Variables no se comunican a medida que suceden a la
tarjeta de memoria. Una actualizacin de la base en el autmata se propone en
el momento de la peticin de desconexin si existe divergencia entre la base local
y la base del autmata.
2. La liberacin del lugar a nivel de smbolos y comentarios no aumenta el rea de
programa, ya que el almacenamiento de los smbolos y comentarios se efecta
en un espacio distinto al de la parte programa de la aplicacin.
3. Los diferentes editores de PL7 (datos, programa, herramienta de depuracin)
utilizan en modo conectado la base de smbolos y comentarios presentes en
el PC.
4. La funcin Comparacin permite comparar los smbolos PC/Autmata.

___________________________________________________________________________
1/7
A

1.1-7 Instrucciones del PL7


Todos los lenguajes PL7 utilizan el mismo juego de instrucciones.
La seccin B de este documento detalla estas instrucciones. Para mayor claridad,
stas se encuentran clasificadas en dos conjuntos: las instrucciones de base y las
instrucciones avanzadas.

Instrucciones de base
Comprenden las instrucciones booleanas de base, los bloques de funcin predefinidos
y las instrucciones aritmticas y lgicas para enteros.
Instrucciones avanzadas
Comprenden las instrucciones que satisfacen las necesidades de programacin
avanzada.
Son de dos tipos:
lenguaje PL7. Aumentan las posibilidades de tratamiento del lenguaje mediante
las funciones particulares (manipulacin de cadenas de caracteres, gestin de
tiempo...),
especficas. Ofrecen funciones especficas de tratamiento, por ejemplo las funciones
de comunicacin:
- PRINT para enviar un mensaje de tipo cadena de caracteres a un terminal o una
impresora,
- SEND para enviar un mensaje a una aplicacin,
- PID para la funcin PID de regulacin.

Introduccin asistida de funciones


Al introducir datos, una pantalla de ayuda permite acceder a todas las funciones del
lenguaje. Esta pantalla permanece accesible en todo momento, incluso durante la
programacin.

___________________________________________________________________________
1/8
A
Generalidades PL7 1

1.1-8 Bloques de funcin del usuario


El software PL7 Pro permite crear bloques de funcin del usuario DFB para el
autmata Premium. Estos bloques de funcin DFB se conciben en lenguaje literal
estructurado y pueden luego utilizarse en una seccin o en un subprograma
cualquiera sea el lenguaje empleado (tambin pueden utilizarse con el software PL7
Junior).

Ejemplo de bloques de funcin DFB que se utilizan con el lenguaje de contactos.

Un bloque de funcin DFB se compone Nombre Tipo DFB


principalmente de:
un nombre,
parmetros de entradas y salidas Entradas Salidas
variables pblicas y privadas
cdigo en lenguaje literal estructurado.
Un bloque de funcin DFB puede tener
un mximo de 15 entradas y/o entradas/
salidas y 15 salidas y/o entradas/salidas. Entradas/
salidas
Una vez que se crea, cada bloque de
funcin DFB se puede utilizar varias Variables pblicas
veces en una aplicacin. El programador Variables privadas
programa el bloque de funcin DFB Cdigo literal
modelo (denominado: Tipo DFB) y para
cada utilizacin, el usuario define un
nombre de instancia mediante el editor
de variables o valindose de la pantalla
de ayuda para la introduccin
correspondiente al lenguaje elegido.
___________________________________________________________________________
1/9
A

1.2 Objetos direccionables


1.2-1 Definicin de los principales objetos booleanos
Bits de entradas/salidas
Son las "imgenes lgicas" de los estados elctricos de las entradas/salidas. Se
almacenan en la memoria de datos y se actualizan en cada exploracin de la tarea
en la que estn configurados.
Bits internos
Los bits internos %Mi permiten almacenar estados intermediarios durante la ejecucin
del programa.
Nota: los bits de entradas/salidas no utilizados no pueden emplearse como bits internos.
Bits sistema
Los bits sistema de %S0 a %S127 supervisan el buen funcionamiento del autmata
as como la ejecucin del programa de aplicacin. El propsito y el uso de estos bits
se describen en el apartado 3.1 de la seccin B.
Bits de bloques de funcin
Los bits de bloques de funcin corresponden a las salidas de los bloques de funcin
estndar o instancia DFB. Estas salidas pueden cablearse directamente o utilizarse
como objeto.
Bits extrados de palabras
El programa PL7 ofrece la posibilidad de extraer uno de los 16 bits de un objeto
palabra.
Bits de estado de las etapas y macroetapas Grafcet
Los bits Grafcet de estado de las etapas %Xi , de las macroetapas %XMj y de las etapas
de macroetapas %Xj.i (Xj.IN y Xj.OUT para las etapas de entradas y salidas de
macroetapas) permiten de conocer el estado de la etapa i, de la macroetapa o de la
etapa i de la macroetapa j del Grafcet.
Lista de operandos de bits
La tabla siguiente contiene la lista de todos los tipos de operandos booleanos.

Tipo Direccin Acceso en Vase


(o valor) escritura (1) Cap. Secc
Valor inmediato 0 1 (False o True) 1.2-4 A
Bits de entradas %Ix.i o %IXx.i no 1.2-2 A
de salidas %Qx.i o %QXx.i s 1.2-3
Bits internos %Mi o %MXi s
Bits de sistema %Si segn i 3.1 B
Bits de bloques ej.: %TMi.Q no 1.2-5 A
de funcin %DRi.F.....
Bits Grafcet %Xi , %XMj, %Xj.i... s 5.2 A
Bits extrados de pals. ej.: %MW10:X5 segn tipo de palabra 1.2-4 A

(1) escritura desde el programa o en modo de ajuste desde el terminal.

___________________________________________________________________________
1/10
A
Generalidades PL7 1

1.2-2 Direccionamiento de objetos de mdulos entradas/salidas del TSX 37


Los caracteres siguientes definen el direccionamiento de los principales objetos bits
y palabras de mdulos de entradas/salidas:

% IoQ X, W o D x . i
Smbolo Tipo de objeto Formato Posicin N va
I = entrada X = booleano x= Nmero de i= 0 a 127
Q = salida W = palabra posicin en o MOD
D = doble palabra el rack

Tipo de objeto
I y Q: para las entradas y salidas fsicas de mdulos. Esta informacin se
intercambia implcitamente en cada ciclo de la tarea asociada.
Observacin: tambin pueden intercambiarse a peticin de la aplicacin otro tipo
de informacin (palabras de estado, de comando ...).

Formato (tamao)
Para los objetos de formato booleano, se puede omitir la X. Los dems tipos de
formato (byte, palabra, doble palabra) se definen en el apartado1.2-4.
Posicin y nmero de va
La modularidad de base del TSX 37 es de semiformato. Las esquemas siguientes
indican las posiciones de cada tipo de autmata TSX 37 (base y extensin).
TSX 37-10 TSX 37-21/22

1 3 1 3 5 7 9
5 7 0
2 4 10
6 8 2 4 6 8

Base Extensin Base Extensin

Los mdulos de formato estndar se direccionan como 2 mdulos de semiformato


superpuestos (vase la tabla siguiente).
Por ejemplo, un mdulo de 64 E/S se ve como 2 mdulos de semiformato:
un mdulo de semiformato de 32 entradas situado en la posicin 5 y un mdulo
de semiformato de 32 salidas situado en el alojamiento 6.

___________________________________________________________________________
1/11
A

Mdulo Semiformato Formato estndar


4S 8S 12 E 28 E/S 32 E 32 S 64 E/S
Nmero de va: i 0 a 3 0a7 0 a 11 0 a 15 0 a 15 0 a 15 0 a 31

0 a 11 0 a 15 0 a 15 0 a 31
Posicin y N va x.0 x.0 x.0 x.0 x.0 x.0 x.0
(x = posicin) a a a a a a a
x.3 x.7 x.11 x.15 x.15 x.15 x.31
(x+1).0 (x+1).0 (x+1).0 (x+1).0
a a a a
(x+1).11 (x+1).15 (x+1).15 (x+1).31

Nota
Es posible reemplazar el nmero de va por "MOD" para acceder a la informacin general sobre
el mdulo.

Rango: este sufijo opcional puede agregarse al nmero de va. Permite marcar
distintos objetos del mismo tipo asociados a una misma va.
ERR: indica un fallo de mdulo o de va.
Ejemplos: %I4.MOD.ERR: informacin de fallo del mdulo 4,
%I4.3.ERR: informacin de fallo de la va 3, mdulo 4.
Nota
En el direccionamiento a travs de la red o de entradas/salidas remotas, se agrega al nmero
de posicin en el rack la ruta completa de acceso a la estacin.

Ejemplos %I1.5 %I3.8 %I5.MOD.ERR


%I1.5 va de entrada n 5 del mdulo
%IW8.0
situado en la posicin n 1. TSX 37-10
%I3.8 va de entrada n 8 del mdulo de
formato estndar situado en las 1 3 5 7
posiciones n 3 y 4.
%Q4.5 va de salida n 5 del mdulo de
formato estndar situado en las 2 4 6 8
posiciones n 3 y 4.
%I5.MOD.ERR informacin sobre el fallo
Base Extensin
del mdulo situado en la posicin
n 5. %Q4.5
%IW8.0 va de entrada n 0 del mdulo de
semiformato situado en la
posicin n 8.

___________________________________________________________________________
1/12
A
Generalidades PL7 1

1.2-3 Direccionamiento de objetos de mdulos E/S del TSX/PMX/PCX 57


El direccionamiento de los principales objetos bits y palabras de los mdulos de E/
S se definen de la manera siguiente:'

% IoQ X, W o D x y I

Smbolo Tipo objeto Formato Direccin Posicin N va


I = entrada X = booleano Rack mdulo I= a 127
Q = salida W = palabra x=0 a 7 y=00 a 10 o MOD
D = doble palabra

Tipo de objeto
I y Q: para las entradas y salidas fsicas de los mdulos. Estas informaciones se
intercambian implcitamente en cada ciclo de la tarea a la que se asocian.
Observacin: otros tipos de informacin (palabras de estado, de comando...)
pueden tambin intercambiarse a solicitud de la aplicacin.
Formato (tamao)
Para los objetos de formato booleano, se puede omitir la X. Los dems tipos de
formato (byte, palabra, doble palabra) se definen en el apartado 1.2-4.
Direccionamiento de las vas
El direccionamiento de las vas depende de la direccin del rack, de la posicin
fsica del mdulo en el rack y del nmero de va.

PS 00 01 02 03 04 05 06 07 08 09 10

00

PS 00 01 02 03 04 05 06 07 08 09 10

01

Notas:
para conocer la lista de los objetos asociados a un mdulo, vase el manual de funcin
especfica correspondiente,
el direccionamiento de las entradas/salidas distantes se describe en el manual de funcin
especfica, seccin Comn a las funciones especficas.
___________________________________________________________________________
1/13
A

Direcciones de racks (x) y posiciones de mdulos (y)

Racks TSX RKY 6 RKY 8 RKY 12 RKY 4EX RKY 6EX RKY 8EX RKY 12EX
Direccin rack : x 0 0 0 0a7 0a7 0a7 0a7
Posicin mdulo: y 00 a 04 00 a 06 00 a 10 00 a 02 00 a 04 00 a 06 00 a 10

Nota
El rack que soporta el procesador siempre tiene la direccin 0.

Nmero de vas (i)

Mdulos TSX DEY ..../DSY .... 64 E/S 32 E/S 16 E/S 8 E/S


Nmero de va : i 0 a 63 0 a 31 0 a 15 0a7

Nota
El nmero de va puede reemplazarse por "MOD" para acceder a la informacin general sobre
el mdulo.

Rango: este sufijo opcional puede agregarse al nmero de va. Permite localizar
distintos objetos de mismo tipo asociados a una misma va.

ERR: indica un fallo de mdulo o de va.

Ejemplos:
- %I104.MOD.ERR: informacin de fallo del mdulo en la posicin 4 del rack de
direccin 1.
- %I104.3.ERR: informacin de fallo de la va 3 del mdulo en la posicin 4 del
rack de direccin 1.

Nota
Para un direccionamiento a travs de la red o de las entradas/salidas remotas, la ruta de acceso
completa se agrega al direccionamiento de la va.

Ejemplos:

%I102.5 : va de entrada n 5 del mdulo situado en la posicin n 2 del


rack de direccin 1.
%Q307.2 : va de salida n 2 del mdulo situado en la posicin n 7 del
rack de direccin 3.
%I102.MOD.ERR: informacin de fallo del mdulo situado en la posicin n 2 del
rack de direccin 1.

___________________________________________________________________________
1/14
A
Generalidades PL7 1

Caso de los racks de extensin

Funcionalidades
Les racks de extensin permiten configurar un mayor nmero de mdulos a travs
de un mayor nmero de racks. Esta funcin slo est disponible con los procesadores
de nivel superior o igual a 3.3.
Estos racks de extensin tienen las mismas funciones para la configuracin de sus
mdulos o de sus alimentaciones que los dems racks.
Estos racks de extensin aparecen despus del rack de base si este ltimo es
extensible y si comprende 8 emplazamientos por lo menos.
Se marcan a nivel de la referencia por las letras EX.
La primera direccin del primer mdulo configurable (fuera de alimentacin) es
siempre 8.

Nmero de emplazamientos disponibles


Los racks de extensin tampoco pueden tener ms de 8 emplazamientos.

Rack de Nmero
Rack de base extensin total de
(tipo E o EX) (tipo EX) emplazamientos
4 4 8
4 6 10
4 8 12
6 4 10
6 6 12
6 8 14
8 4 12
8 6 14
8 8 16
12 0 12

Ejemplo: rack de base de 6 emplazamientos y rack de extensin de 6 emplace-


ments
Mdulo DEY 16A2 va 6
%I18,6 con nrack = 1, posicin = 8, va = 6.

___________________________________________________________________________
1/15
A

1.2-4 Direccionamiento de palabras


El direccionamiento de las palabras de mdulos E/S se define en el apartado1.2-2
o 1.2-3. Las dems palabras utilizadas (salvo las palabras de redes y de bloques de
funcin) en el lenguaje PL7 se direccionan del modo siguiente:

% M, K o S B, W , D o F i
Smbolo Tipo de objeto Formato Nmero
M = interno B = byte
K = constante W = palabra
S = sistema D = doble palabra
F = flotante

Tipo de objeto
M palabras internas destinadas a almacenar valores en curso del programa. Se
ubican dentro del espacio de datos en una misma rea de memoria.

K palabras constantes que memorizan valores constantes o mensajes alfanumricos.


Su contenido puede ser escrito o modificado desde el terminal nicamente. Se
almacenan en el mismo lugar que el programa. Por consiguiente, pueden tener
como soporte la memoria FLASH EPROM.

S palabras sistema que realizan varias funciones:


- ciertas informan sobre el estado del sistema mediante la lectura de las palabras
%SWi (tiempo de funcionamiento sistema y aplicacin, etc...).
- otras permiten actuar sobre la aplicacin (modo de marcha, etc.)
Las palabras sistema se describen en el captulo 3, seccin B.

Formato
El programa PL7 puede direccionar los objetos segn cuatro formatos:
B byte; este formato se utiliza exclusivamente en las operaciones de cadena de
caracteres.
W simple longitud; estas palabras de 16 bits pueden contener un valor algebraico
comprendido entre -32 768 y 32 767.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Rango del bit


Formato de 16 bits 0 1 1 1 0 1 1 1 0 0 1 1 0 1 0 0

Bits ms Bits menos


significativos significativos

___________________________________________________________________________
1/16
A
Generalidades PL7 1

D doble longitud: estas palabras de 32 bits pueden contener un valor algebraico


comprendido entre -2 147 483 648 y 2 147 483 647. Estas palabras se colocan
en la memoria en dos palabras consecutivas de simple longitud.
Bits menos
significativos
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 0 1 0 0 1 1 1 1 1 1 0 1 1 1 Rango n
Formato de 32
bits 0 0 1 1 0 1 1 0 01 0 1 0 0 1 0 Rango n+1

Bits ms
significativos

F flotante: el formato flotante utilizado es el de la norma IEEE Std 754-1985


(equivalente de IEC 559). La longitud de las palabras es de 32 bits. Corresponde
a nmeros flotantes de simple precisin.
Ejemplos de valores flotantes:
1285.28
12.8528E2

Posibilidades de solapamiento entre


objetos
Bytes, palabras de simple y doble longitud y %MW0 %MB1 %MB0
flotantes se almacenan en el espacio de %MD0
%MW1 %MB3 %MB2
datos en una misma rea de memoria. %MD1
As, hay solapamiento: %MW2 %MB5 %MB4
%MD2
entre la palabra de doble longitud %MDi %MW3 %MB7 %MB6
%MD3
y las palabras de simple longitud %MWi y
%MWi+1 (la palabra %MWi contiene los %MWi
%MDi
bits menos significativos y la palabra %MWi+1
%MWi+1 los ms significativos de la
palabra %MDi).
%MWk
entre la palabra de simple longitud %MWi %MFk
y los bytes %MBj y %MBj+1 (con j=2.i) %MWk+1
entre el flotante %mFk y las palabras de
simple longitud %MWk y MWk+1.

Ejemplos:
%MD0 corresponde a %MW0 y %MW1,
%MW3 corresponde a %MB7 y %MB6,
%KD543 corresponde a %KW543 y
%KW544,
%MF10 corresponde a %MW10 y %MW11.

___________________________________________________________________________
1/17
A

Valores inmediatos
Son valores algebraicos, cuyo formato es homogneo con el de las palabras de
simple y doble longitud (16 o 32 bits), que asignan valores a estas palabras. Se
almacenan en la memoria de programa. La tabla siguiente contiene su sintaxis.

Tipo Sintaxis Lmite inf. Lmite sup.


Booleano 0 o 1 (FALSE o TRUE)
Entero base 10simple longitud 1506 -32768 +32767
doble longitud 578963 -2 147 483 648 2 147 483 647
Entero base 2 simple longitud 2#1000111011111011011 2#10...0 2#01...1
(binario) doble longitud 2#1000111011111011011 2#10...0 2#01...1
1111111011111011111
Entero base 16simple longitud 16#AB20 16#0000 16#FFFF
(hexadecimal) doble longitud 16#5AC10 16#000000000 16#FFFFFFFF
Flotante -1.32e12 -3.402824E+38-1.175494E-38
1.175494E-38 3.402824E+38
Cadena de caracteres 'aAbBcC'
(1) excluyendo lmites

Direccionamiento de palabras en la red


El direccionamiento de las palabras en red se describe en el manual Comunicaciones.

Por otra parte, la s redes utilizan objetos especficos: las palabras comunes. Son
objetos palabras de simple longitud (16 bits) comunes a todas las estaciones
conectadas a la red de comunicacin.

Direccionamiento: %NW{i.j}k
donde: i = 0 a 127 n de red,j = 0 a 31 n de estacin y k= 0 a 3 n de palabra

Bits extrados de palabras


El programa PL7 permite extraer uno de los 16 bits de palabras de simple longitud.
El rango del bit extrado completa la variable de la palabra segn la sintaxis siguiente:

PAL. :X j
Posicin
j = 0 a 15
Rango del bit
en la palabra

Ejemplos:
%MW10:X4 = bit n 4 de la palabra interna %MW10
%QW5.1:X10 = bit n 10 de la palabra de salida %QW5.1

Nota: La extraccin de bits de palabras tambin se puede efectuar en palabras indexadas.


___________________________________________________________________________
1/18
A
Generalidades PL7 1

Lista recapitulativa de los principales objetos palabras y bits asociados


Las anotaciones utilizadas son: R para la lectura y W para la escritura.

Palabras y bits Naturaleza Direccionamiento Lmites Posibilidades


asociados
Palabras internas simple longitud %MWi (1) R/W
doble longitud %MDi (1) R/W
flotante %MFi (1) R/W
byte (2) %MBi (1) R/W
Palabras simple longitud %KWi (1) R/W (3)
constantes doble longitud %KDi (1) R/W (3)
flotante %KFi (1) R/W (3)
byte (2) %KBi (1) R/W (3)
Palabras de E simple longitud %IWxy.i 0i127 R
mdulo E doble longitud %IDxy.i 0i126 R
de E/S S simple longitud %QWxy.i 0i127 R/W
S doble longitud %QDxy.i 0i126 R/W
Palabras Grafcet simple longitud %Xi.T 0i249 R
simple longitud %Xj.i.T 0j63 0i249 R
Pal. comunes en la red %NW{j}k 0j31 0k3 R/W
Palabras sistema simple longitud %SWi 0i255 R/W (4)
doble longitud %SDi 0i254 R/W (4)
Bits extrados bit j de palabra interna %MWi:Xj 0j15 R/W
de palabras bit j de palabra constante %KWi:Xj 0j15 R/W (3)
bit j de palabra de entrada %IWi:Xj 0j15 R
bit j de palabra de salida %QWi:Xj 0j15 R/W
bit j de palabra sistema %SWi:Xj 0j15 R/W (4)
bit j de palabra comn %NW{j}k:Xm 0m15 R/W
red 0

(1) el lmite mximo depende del tamao de memoria disponible y del nmero de palabras
declaradas en la configuracin del programa.
(2) este objeto existe nicamente como direccin inicial de una cadena de caracteres %MBi:L
o %KBi:L (vase el apartado 2.8-1, seccin B).
(3) escritura slo desde el terminal.
(4) escritura segn i.

___________________________________________________________________________
1/19
A

1.2-5 Objetos de bloques de funcin


Los bloques de funcin implantan objetos bits y palabras especficos.
Objetos bits
Corresponden a salidas de bloques. Las %Ci
instrucciones booleanas de comprobacin R E
permiten acceder a estos bits.
S
Objetos palabras C.P : 9999 D
CU
Corresponden: MODIF : Y
- a parmetros de configuracin del bloque. CD F
El programa permite acceder a ellos (ej.:
parmetro de preseleccin) o no
(ej.: base de tiempo). Bloque contador/descontador
- a valores actuales (ej.: %Ci.V valor de contaje
en curso).

Lista de objetos bits y palabras de bloques de funcin accesibles desde el


programa

Bloques funcin Palabras y bits asociados Direccin Acceso en Vase


predefinidos (2) escritura secc. B
Temporizador Palabra Valor actual %TMi.V No 1.3-2
%TMi (i=0 a 63) (1) Valor de preseleccin %TMi.P S
Bit Salida temporizador %TMi.Q No
Contador/ Palabra Valor actual %Ci.V No 1.3-3
descontador Valor de preseleccin %Ci.P S
%Ci (i=0 a 31) Bit Salida desbord. (vaco) %Ci.E No
Salida preseleccin alcanz. %Ci.D No
Salida desbord. (lleno) %Ci.F No
Monoestable Palabra Valor actual %MNi.V No 2.2-1
%MNi (i=0 a 7) Valor de preseleccin %MNi.P S
Bit Salida monoestable en curso %MNi.Q No
Registro palabra Palabra Acceso al registro %Ri.I S 2.2-2
%Ri (i= 0 a 3) Salida del registro %Ri.O S
Bit Salida registro lleno %Ri.F No
Salida registro vaco %Ri.E No
Programador Palabra Nmero de paso en curso %DRi.S S 2.2-3
cclico Estados del paso j %DRi.Wj No
%DRi (i=0 a 7) Tiempo de actividad del paso %DRi.V No
Bit Ult. paso definido en curso %DRi.F No
Temporizador Palabra Valor actual %Ti.V No 2.2-4
serie 7 Valor de preseleccin %Ti.P S
%T (i=0 a 63) (1) Bit Salida en curso %Ti.R No
Salida temporizador transc. %Ti.D No
(1) El nmero total de temporizadores %TMi y %Ti se limita a 64 para un TSX 37 y a 255 para un TSX/PMX/
PCX 57.
(2) Nmero mximo para el TSX 37; para el TSX/PMX/PCX 57, i=0 a 254 para todos los bloques de funcin.
___________________________________________________________________________
1/20
A
Generalidades PL7 1

1.2-6 Objetos estructurados


Tablas de bits
Las tablas de bits son series de objetos bits adyacentes del mismo tipo y de longitud
definida: L. %M10 %M11 %M12 %M13 %M14 %M15
Ejemplo de tabla de bits: %M10:6 nc par
Tipo Direccin Tamao mximo Acceso en escritura
Bits de entradas TON %Ix.i:L 1 < L < m (1) No
Bits de salidas TON %Qx.i:L 1 < L < m (1) S
Bits internos %Mi:L i + L < n (2) S
Bits Grafcet %Xi:L, %Xj.i:L i+L <n (2) No

(1) m=modularidad del mdulo (ej.: 8 para un mdulo de 8 entradas u 8 salidas).


(2) n depende del tamao definido en la configuracin.

%KW10 16 bits
Tablas de palabras
Las tablas de palabras son series de
palabras adyacentes del mismo tipo y de
%KW14
longitud definida: L.
Ejemplo de tablas de palabras: %KW10:5
Tipo Formato Direccin Tamao Acceso
mximo escritura
Palabras internas Simple longitud %MWi:L i+L < Nmx (2) S
Doble longitud %MDi:L i+L < Nmx-1 (2) S
Flotante %MFi:L i+L < Nmx-1 (2) S
Palabras constantes Simple longitud %KWi:L i+L < Nmx (2) No
Doble longitud %KDi:L i+L < Nmx-1 (2) No
Flotante %KFi:L i+L < Nmx-1 (2) No
Palabras Grafcet Simple longitud %Xi.T:L, %Xj.i.T:L i+L < Nmax-1 (2) Non
Palabras sistema Simple longitud %SW50:4 (3) S
%MB10 8 bits
Cadenas de caracteres
Las cadenas de caracteres son series de
bytes adyacentes del mismo tipo y de
%MB14
longitud definida: L.
Ejemplo de cadena de caracteres: %MB10:5
Tipo Direccin Tamao Acceso en
mximo escritura
Palabras internas %MBi:L (5) 1<i+L<Nmx (4) S
Palabras constantes %KBi:L (5) 1<i+L< Nmx (4) S
(3) Nmx = nmero mximo definido en la configuracin del programa.
(4) slo las palabras %SW50 a %SW53 pueden ser direccionadas en forma de tabla.
(5) i debe ser par.
___________________________________________________________________________
1/21
A

Objetos indexados
Direccionamiento directo
Se dice directo el direccionamiento de objetos cuando la direccin de estos objetos
es fija y se ha definido en la escritura del programa.
Ejemplo: %MW26 (palabra interna con la direccin 26)
Direccionamiento indexado
En el direccionamiento indexado, un ndice completa la direccin directa del objeto:
a la direccin del objeto se agrega el contenido del ndice. Una palabra interna %MWi
una palabra constante %KWi, o un valor inmediato define el ndice. No se limita el
nmero de palabras indexadas.
Ejemplo: %MW108[%MW2]: palabra de direccin directa 108 + contenido de la
palabra %MW2.
Si el contenido de la palabra %MW2 es el valor 12, escribir
%MW108[%MW2] equivale a escribir %MW120.
Tipo Formato Direccin Tamao Acceso
mximo Escritur.

Bit de entrada Booleano %Ii[ndice] 0<i+ndice<m (1) No


Bit de salida Booleano %Qi[ndice] 0<i+ndice<m (1) S
Bit interno Booleano %Mi[ndice] 0<i+ndice<Nmx (2) S
Bit Grafcet Booleano %Xi[ndice] 0<i+ndice<Nmx (2) No
%Xj.i[ndice] 0<i+ndice<Nmx (2) No
Palabras internas Simple longitud ndice[ndice] 0<i+ndice<Nmx (2) S
Doble longitud %MDi[ndice] 0<i+ndice<Nmx-1 (2) S
Flotante %MFi[ndice] 0<i+ndice<Nmx-1 (2) S
Palabras constantes Simple longitud %KWi[ndice] 0<i+ndice<Nmx (2) No
Doble longitud %KDi[ndice] 0<i+ndice<Nmx-1 (2) No
Flotante %KFi[ndice] 0<i+ndice<Nmx-1 (2) No
Palabras Grafcet Simple longitud %Xi .T[ndice] 0<i+ndice<Nmx (2) No
%Xj.i.T[ndice] 0<i+ndice<Nmx (2) No
Tabla de palabras <Objeto> [ndice]:L ndice[ndice]:L 0<i +ndice+L<Nmx (2) S
%MDi[ndice]:L 0<i +ndice+L<Nmx (2) S
%KWi[ndice]:L 0<i+ndice+L<Nmx (2) No
%KDi[ndice]:L 0<i+ndice+L<Nmx (2) No
(1) m = modularidad del mdulo E/S (ej.: 8 para un mdulo de 8 entradas u 8 salidas). La
indexacin es posible nicamente para los mdulos E/S TON.
(2) Nmx = nmero mximo definido en la configuracin del programa.
Este tipo de direccionamiento permite recorrer sucesivamente una serie de objetos de la misma
naturaleza (palabras internas, palabras constantes...); a la direccin del objeto se agrega el
contenido del ndice.
Nota
Indexacin de palabras dobles (o flotantes)
Ejemplo: %MD6[%MW100] doble palabra de direccin directa 6 + 2 veces el contenido de la
palabra %MW100. Si %MW100=10, la palabra direccionada ser 6 + 2 x 10 -->%MD26.
___________________________________________________________________________
1/22
A
Generalidades PL7 1

Desbordamiento de ndice, bit sistema %S20


Se produce un desbordamiento de ndice cuando la direccin de un objeto indexado
excede los lmites del rea que incluye este mismo tipo de objeto; es decir cuando:
direccin de objeto + contenido del ndice inferior al valor cero,
direccin de objeto + contenido del ndice superior al lmite mximo configurado
(vase la tabla en la pgina previa).
En caso de desbordamiento de ndice, el sistema pone al estado 1 el bit sistema
%S20 y asigna al objeto un valor de ndice igual a 0.
El usuario esta encargado de la supervisin del desbordamiento: el bit %S20 debe
ser ledo por el programa de usuario para un tratamiento posible y puesto a cero por
el usuario.
%S20 (estado inicial = 0):
desbordamiento de ndice: puesta a 1 por el sistema,
confirmacin de desbordamiento: puesta a 0 por el usuario despus de la
modificacin del ndice.

1.2-7 Objetos Grafcet


Objetos bits
El usuario dispone de objetos bits del Grafcet.
%Xi asociados a etapas que le permiten conocer el estado de la etapa i del grfico
principal (Chart).
%XMj asociados a las macroetapas que le permiten conocer el estado de la
macroetapa j del Grafcet.
%Xj.i asociados a la etapa i de' la macroetapa j que le permiten conocer el estado
de la etapa i de la macroetapa j del Grafcet.
%Xj.IN o %Xj.OUT asociados a la etapa de entrada o de salida de la macroetapa.
Este bit est a 1 cuando la etapa o la macroetapa est activa, a 0 cuando est inactiva.

Objetos palabras
Una palabra se asocia a cada etapa: %Xi.T,%Xj.i.T,%Xj.IN.T o %Xj.OUT.T. Permite
conocer el tiempo de actividad de la etapa i del Gracet. Se incrementa cada 100 ms
y asume un valor entre 0 y 9999.

1.2-8 Objetos de bloques de funcin DFB


Los parmetros de entradas y las variables pblicas de bloque de funcin DFB son
accesibles por programa, estos objetos son de tipo boleano, numrico o tabla (vase
captulo 6).
Estos objetos son nicamente simblicos y se definen con la sintaxis siguiente:
Nombre_DFB.Nombre_parmetro, donde Nombre_DFB es el nombre proporcionado
al bloque de funcin DFB utilizado (32 caracteres mximo) y Nombre_parmetro es
el nombre proporcionado al parmetro de salidas o a la variable pblica (8
caracteres mximo).
___________________________________________________________________________
1/23
A

1.2-9 Simbolizacin
Smbolos
Un smbolo es una cadena que consta de un mximo de 32 caracteres alfanumricos
y cuyo primer carcter es alfabtico. El primer elemento del smbolo es una letra
mayscula; las dems son minsculas (por ejemplo: el smbolo Horno_1). El smbolo
puede ser introducido en letras maysculas o en minsculas (por ejemplo: HORNO_1):
el programa le da automticamente la forma correcta.
Pueden utilizarse los caracteres siguientes:
letras maysculas:
"A a Z" y las letras acentuadas "DUY"
o letras minsculas:
" a a z" y las letras acentuadas: yp
caracteres numricos: dgitos de 0 a 9 (no pueden colocarse en el principio del
smbolo).
el carcter "_" (no puede colocarse en el principio ni al final del smbolo).

Se reserva un cierto nmero de palabras para los lenguajes; stas no pueden


utilizarse como smbolos. Vase la lista completa en la seccin B, captulo 5.

El editor de variables define y asocia los smbolos a objetos de lenguaje (vase el


captulo 5, seccin D). Se puede asociar un comentario de 508 caracteres a cada
smbolo. Los smbolos y sus comentarios se guardan en un disco en vez del autmata.

Objetos simbolizables
Se pueden simbolizar todos los objetos PL7, salvo los objetos estructurados de tipo
tabla y los objetos indexados. Sin embargo, si el objeto de base o el ndice est
simbolizado, el smbolo se utiliza en el objeto estructurado.
Ejemplos:
si la palabra %MW0 tiene como smbolo "temperatura", "temperatura: 12" simboliza
la tabla de palabras %MW0:12.
si la palabra %MW10 tiene como smbolo "horno_1", "temperatura[horno_1]"
simboliza la palabra indexada %MW0[%MW10].

Los objetos bits extrados de palabras, los bits o las palabras de bloques de funcin
son simbolizables. Si no estn simbolizados, pueden heredar el smbolo del objeto
de base.
Ejemplos:
si la palabra %MW0 tiene como smbolo "estado_bomba" y si el bit extrado de
palabra %MW0:X1 no est simbolizado, ste hereda el smbolo de la palabra.
%MW0:X1 tiene como smbolo: "estado_bomba: X1".
si el bloque de funcin %TM0 tiene como smbolo " Tempo_horno1" y si la salida
%TM0.D no est simbolizada, sta hereda el smbolo del bloque. %TM0.D tiene
como smbolo: "Tempo_horno.D".
___________________________________________________________________________
1/24
A
Generalidades PL7 1

Objetos nicamente simblicos


Los parmetros de bloques funcin DFB son accesibles nicamente en forma de
smbolos. Estos objetos se definen con la siguiente sintaxis:
Nombre_DFB.Nombre_parmetro,
donde Nombre_DFB es el nombre proporcionado al bloque de funcin DFB utilizado
(32 caracteres mximo) y Nombre_parmetro es el nombre proporcionado al
parmetro de salidas o a la variable pblica (8 caracteres mximo).

Objetos presimbolizados
Los mdulos especficos permiten una simbolizacin automtica de los objetos que
les estn asociados. El usuario proporciona el smbolo genrico de la va %CHxy.i
del mdulo, y todos los smbolos de los objetos asociados a esta va pueden ser
entonces a pedido generados automticamente.
Estos objetos son simbolizados con la sintaxis siguiente:
Prefijo_usuario_Sufijo_constructor
donde
El Prefijo_usuario es el smbolo genrico proporcionado a la va %CHxy.i (12
caracteres mximo) para el usuario,
El Sufijo_constructor es la parte del smbolo correspondiente al sujeto bit o palabra
de la va (20 caracteres mximo) proporcionado por el sistema.
Adems del smbolo, un comentario constructor se genera automticamente. Este
comentario recuerda sucintamente la funcin del objeto.

Ejemplo : Rec_piezas_capt , donde "Rec_piezas" es el prefijo usuario y "_capt" es


el sufijo constructor predefinido.

___________________________________________________________________________
1/25
A

1.3 Memoria de usuario


1.3-1 Generalidades
El espacio de memoria de los autmatas TSX 37, accesible al usuario, se compone
de dos partes distintas:
la memoria de bits
RAM integrada en el mdulo procesador que contiene la imagen de 1280 objetos
bits.
la memoria de palabras
palabras de 16 bits (programa, datos y constantes) soportadas por una memoria
RAM interna del mdulo procesador. Esta memoria puede ampliarse con una
tarjeta de memoria de usuario RAM o FLASH EPROM de 32 64 K palabras (en
el TSX 37-21/22). Para guardar la aplicacin (15 Kpalabras) y 1000 palabras
internas %MWi (1Kpalabras), se puede utilizar una memoria de 16 K palabras
FLASH EPROM integrada en el mdulo procesador (Vase el apartado 1.3-2).
Tambin es posible utilizar una tarjeta backup FLAH EPROM de 32 K palabras para
actualizar una aplicacin en la RAM interna del procesador. Esta tarjeta contiene
la parte programa y las constantes pero no los datos.
Si se utiliza una tarjeta de memoria (PCMCIA), 2 tipos de organizacin de la
memoria de palabras son posibles:
TSX 37-05/08/10 o
TSX 37-21/22 (sin tarjeta PCMCIA) TSX 37-21/22 (con tarjeta PCMCIA)
RAM Datos RAM Datos rea
interna Flash
interna inutilizable
EPROM
Programa interna

Constantes Guardado
%MW
Flash Guardado Tarjeta
EPROM Programa y memoria Programa
interna (1) Constantes RAM o
Flash
Guardado EPROM
%MW externa

Constantes

Datos : datos dinmicos de aplicacin y sistema,


Programa : descriptores y cdigo ejecutable de tareas,
Constantes: palabras constantes, valores iniciales y configuracin de las E/S.
Observacin
Las memorias RAM utilizan como respaldo bateras de niquel-cadmio soportadas
por el mdulo procesador en cuanto a la memoria bit y RAM interna.

(1) La transferencia de la aplicacin desde la memoria FLASH EPROM hacia la memoria RAM
se efecta automticamente cuando la aplicacin se pierde en la RAM (fallo al guardar o
ausencia de batera). Tambin se puede solicitar una transferencia manual desde un
terminal de programacin.
___________________________________________________________________________
1/26
A
Generalidades PL7 1

El espacio de memoria de los autmatas TSX/PMX/PCX 57 se compone de una sola


parte. La memoria de bits, separada en el TSX 37, est integrada en la memoria de
palabras (en el rea de datos) y se limita a 4096 bits.
La memoria de palabras
Palabras de 16 bits (programa, datos y constantes) soportadas por una memoria
RAM interna del mdulo procesador, esta memoria puede ampliarse con una
tarjeta de memoria de usuario RAM o FLASH EPROM de 32, 64, 128 256 K
palabras (en el TSX 57-10) y de 32, 64 128 K palabras (1).
Tambin es posible utilizar una tarjeta de seguridad FLASH EPROM de 32 K
palabras para actualizar una aplicacin en la RAM interna del procesador. Esta
tarjeta contiene la parte programa y las constantes pero no los datos.
Dos tipos de organizacin de la memoria son posibles en funcin de la presencia
o del modo de utilizacin de la tarjeta de memoria PCMCIA:
TSX/PMX/PCX 57 TSX/PMX/PCX
(sin tarjeta de memoria) (con tarjeta de memoria)
Datos RAM Datos
RAM
interna
interna
Programa

Constantes
Tarjeta
memoria Programa
RAM o
FLASH
EPROM Constantes

Datos : datos dinmicos de aplicacin y datos del sistema (el sistema


reserva un rea de memoria RAM de un mnimo de 5 Kpalabras),
Programa : descriptores y cdigo ejecutable de tareas,
Constantes : palabras constantes, valores iniciales y configuracin de E/S.
Smbolos : Las tarjetas TSX MRP 2128P y TSX MRP 3256 P contienen un
rea de 128 Kpalabras y 256 Kpalabras para almacenar los
smbolos de la aplicacin.
Area de archivado: Las tarjetas TSX MRP 232P/264P/2128P/3256 P contienen un
rea de archivado de los datos accesibles mediante las
instrucciones de lectura/escritura (vase Captulo 2.13,
seccin B).
No hay posibilidad de desbordamiento de datos en la tarjeta de memoria. Tambin
es imposible tener programa tanto en la RAM interna como en el cartucho.
Observacin
Las memorias RAM utilizan como respaldo bateras de niquel-cadmio.
(1)Las tarjetas de memoria 256 Kpalabras son tarjetas paginadas. Una pgina de 128
Kpalabras que recibe el cdigo ejecutable, la otra pgina de 128 Kpalabras que recibe la
informacin grfica. Para obtener ms informacin, vase captulo 8 , seccin B.
___________________________________________________________________________
1/27
A

1.3-2 Guardado / restauracin de palabras internas %MWi


Guardado de palabras internas %MWi
Para guardar los datos de ajuste al producirse un corte de alimentacin, cuando la
pila del procesador presenta un fallo o est ausente, los autmatas TSX 37 pueden
volver a copiar un mximo de 1000 palabras internas (%MW) en la memoria Flash
EPROM interna. Este rea de guardado se puede utilizar siempre, incluso cuando
el autmata dispone de una tarjeta PCMCIA (TSX 37-21/22).
El guardado de palabras internas en la Flash EPROM requiere que la aplicacin est
en STOP. Dicha aplicacin podr activarse de nuevo en funcin de la seleccin
realizada en configuracin:
mediante la puesta a 1 de la entrada TON %I1.9,
desde una consola de ajuste, poniendo a 1 el bit 0 de %SW96.
El valor de la palabra de sistema %SW97 determina el nmero de %MWi que se va
a guardar (mximo 1000).
Al trmino del guardado, el bloque de visualizacin muestra OK o NOK en funcin
del resultado de la operacin.
El guardado de palabras internas %MWi se asocia siempre al guardado del
programa de aplicacin.
Si la palabra de sistema %SW97 se inicializa a 0, nicamente el programa de la
aplicacin contenido en la RAM interna ser transferido a la Flash EPROM (equivalente
a una copia de seguridad del programa). Atencin: sin embargo un eventual
guardado de %MWi se borrar.

Restauracin de palabras internas %MWi


La transferencia de las %MWi guardadas, de la memoria interna Flash EPROM hacia
la memoria RAM, se realiza durante un rearranque en fro provocado por:
la prdida del contenido de la RAM interna. En ese caso, si el guardado del
programa de la aplicacin es vlida, ste tambin ser transferido a la memoria
RAM interna (TSX 37-10 o TSX 37-20 sin cartucho aplicacin PCMCIA),
el botn RESET, situado en la parte delantera del autmata,
la puesta a 1 del bit %S0, en ajuste,
el clic en el botn "Arranque en fro" de la pantalla de depuracin del procesador
de PL7,
una transferencia de programa en el autmata (a travs de la toma terminal,
FIPWAY, etc),
la insercin de un cartucho de aplicacin PCMCIA.
Para restaurar en la RAM interna las %MW guardadas, se deber comprobar en la
pantalla de configuracin del procesador que la casilla "Puesta a 0 de las %MWi por
rearranque en fro" no est seleccionada.
Para obtener ms informacin, vase la seccin A del manual de instalacin
TSX Micro.

___________________________________________________________________________
1/28
A
Generalidades PL7 1

1.3-3 Memoria de bits


Composicin
Esta memoria contiene 1280 objetos bits sin distincin del tipo de autmata TSX 37.
Para el TSX/PMX/PCX 57, esta memoria de bits no existe; su contenido se encuentra
en la memoria de palabras en el rea de datos de la aplicacin.
TSX TSX TSX/PMX TSX/PMX TSX/PMX
37-05/08/10 37-21/22 PCX 57-1 57-2 PCX 57-3
Bits sistema %SI 128 128 128 128 128
Bits de E/S %I/Qx (1) (1) (1) (1) (1)
Bits internos %Mi 256 256 3962 (2) 8056 (2) 12152 (2)
Bits de etapas %Xi (3) 96 128 1024 1024 1024
(1) Depende la configuracin hardware declarada (mdulos de entradas/salidas, esquipos en
bus AS-i y en bus FIPIO).
(2) Los parmetros del nmero de bits internos pueden definirse en la configuracin. El valor
predeterminado (de 256 a 2048) depende del procesador y de la presencia de un cartucho
de memoria. La memoria restante est disponible para las funciones especficas.
(3) Total de los bits de etapas y de macroetapas para los autmatas TSX/PMX/PCX 57.
Estructura
Cada objeto bit contenido en la memoria de bits se memoriza con tres bits asignados
del modo siguiente:
F A C

Estado actual (nico bit accesible


desde el programa)
Estado anterior
Estado de forzado
Al actualizar la memoria de bits, el sistema asegura
la transferencia de la imagen del estado actual al estado anterior,
la reactualizacin del estado actual por el programa, el sistema o el terminal
(forzado de un bit).
Flanco ascendente o descendente
Esta estructura de la memoria de bits permite detectar el flanco ascendente o
descendente en:
los bits de entradas/salidas,
los bits internos.
Consejos de utilizacin de flancos ascendentes o descendentes
Las instrucciones de contacto en el flanco ascendente o descendente funcionan
correctamente en las condiciones descritas a continuacin.
De todas formas, se deben tratar para un mismo objeto:
- el bit de entrada: el contacto de flanco en la tarea en la que se intercambia el
mdulo,
- el bit de salida o interno: la lectura y la escritura dentro de una misma tarea.
___________________________________________________________________________
1/29
A

Se escribe una sola vez la bobina de un objeto cuando se utiliza en un programa


un contacto de flanco de este objeto.
No se debe efectuar el SET o RESET de un objeto cuyo flanco se est probando,
puesto que aun cuando el resultado de la ecuacin que condiciona el SET/RESET
vale 0, la accin SET/RESET no se realiza, pero el historial del objeto se actualiza
(prdida del flanco).
No se debe probar el flanco de entradas/salidas actualizado en una tarea de
suceso, una tarea maestra o una tarea rpida.
Para los bits internos: la deteccin de un flanco es independiente del ciclo de la
tarea. Se detecta un flanco en un bit interno %Mi, cuando su estado cambia entre
dos lecturas. Este flanco permanece detectado mientras no se explore el bit
interno en el rea de accin.
Por consiguiente, en el ejemplo siguiente,
%M0
si el bit %M0 se fuerza a 1 en una tabla de P INC%MW0
animacin, el flanco queda permanente.

Para que el flanco se detecte una sola vez, se debe utilizar un bit interno intermedio.

En este caso, el historial de %M1 se


actualiza. Por consiguiente, el flanco est %M0 %M1
presente una sola vez.

%M1
P INC%MW0
Estados de forzado
A peticin de forzado desde el terminal:
el estado de forzado F se pone a 1.
el estado actual C se pone a:
- 1 si se solicita el forzado a 1,
- 0 si se solicita el forzado a 0.
Estos estados no evolucionan, a menos que:
se suprima el forzado y se actualice el bit implicado,
se solicite el forzado inverso; slo se modifica el estado actual.

___________________________________________________________________________
1/30
A
Generalidades PL7 1

1.3-4 Memoria de palabras


La estructura de esta memoria de palabras de 16 bits consta de tres espacios lgicos:

datos, Datos de aplicacin


programa, Programa de aplicacin
constantes, Constantes de aplicacin

cuyo tamao se define en la configuracin.

Memoria de datos de aplicacin


La memoria de datos comprende las cinco reas descritas a continuacin.

Palabras sistema: nmero fijo.

Bloques de funcin: corresponde a las palabras y entradas/salidas de estos


bloques (valor actual, de ajuste...).
El nmero de cada tipo de bloque de funcin se determina en la configuracin.

Palabras internas: tamao definido por el nmero declarado en la configuracin.

Entradas/salidas: corresponde a las palabras asociadas a cada mdulo. Su


nmero depende de los mdulos configurados.
Palabras comunes de red: 4 palabras comunes por estacin de autmata
(disponible nicamente si el mdulo de comunicacin est presente y se ha
configurado el intercambio de palabras comunes).

En el caso del TSX/PMX/PCX 57, la memoria de datos comprende tambin las


informaciones de bits detalladas en el prrafo previo.

Memoria de programa de aplicacin


Este rea comprende el cdigo del programa ejecutable, las informaciones grficas
(redes de contactos) y los comentarios.

Memoria de constante de aplicacin


Este rea comprende los parmetros de los bloques de funcin y de los mdulos de
entradas/salidas definidos en la configuracin, as como las palabras constantes
%KW.

Nota
Los smbolos y los comentarios asociados a objetos no se guardan en la memoria del autmata.
Se almacenan en la aplicacin local (disco duro del terminal).
___________________________________________________________________________
1/31
A

1.3-5 Autmatas TSX 37 05/08/10/21/22


Tamao de la memoria bits

Procesador 37 05/08/10 37 21/22


Tamao disponible en procesador 1280 1280
Tipo de bits sistema %Si 128 128
objetos bits entradas/salidas %I/Qx.i (1) (1)
bits internos %Mi 256 256
bits de etapas %Xi 96 128
(1) depende de la configuracin hardware declarada (mdulos de entradas/salidas, equipos
en bus AS-i)

Tamao de la memoria palabras

Processeur 3705/08 3710 3721 37 22


Tarjetamem. - - 32Kpals 64Kpals - 32Kpals 64Kpals
Tamaototal 9Kpals 14Kpals 20Kpals 52Kpals 84Kpals 20Kpals 52Kpals 84Kpals
Datos(%MWi) 0,5Kpals(1) 0,5Kpals(1) 0,5Kpals(1) 17,5Kpals 17,5Kpals 0,5Kpals(1) 17,5Kpals 17,5Kpals
Programa
100%boleano
LenguajeLD 1,6Kinst 3,8Kinst 6,6Kinst 13,7Kinst 28,5Kinst 6,3Kinst 13,6Kinst 28,4Kinst
LangageIL 2Kinst 4,9Kinst 8,4Kinst 17,5Kinst 36,3Kinst 8,1Kinst 17,3Kinst 36,1Kinst
LangageST 1,3Kinst 3,3Kinst 5,6Kinst 11,7Kinst 24,2Kinst 5,4Kinst 11,5Kinst 24,1Kinst
Programa
90%boleano
LangageLD 1,1Kinst 3,1Kinst 5,4Kinst 11,8Kinst 24,7Kinst 5,2Kinst 11,6Kinst 24,5Kinst
LangageIL 1,4Kinst 3,8Kinst 6,6Kinst 14,3Kinst 30,0Kinst 6,3Kinst 14,2Kinst 29,8Kinst
LangageST 1,1Kinst 2,9Kinst 5,1Kinst 11,1Kinst 23,3Kinst 4,9Kinst 11,0Kinst 23,2Kinst
Programa
65%boleano
LangageLD 0,9Kinst 2,2Kinst 4,0Kinst 9,1Kinst 18,9Kinst 3,9Kinst 8,9Kinst 18,8Kinst
LangageIL 1,0Kinst 2,5Kinst 4,6Kinst 10,3Kinst 21,3Kinst 4,4Kinst 10,1Kinst 21,2Kinst
LangageST 1,0Kinst 2,5Kinst 4,6Kinst 10,3Kinst 21,3Kinst 4,4Kinst 10,1Kinst 21,2Kinst
Constantes(1) 128pals 128pals 128pals 256pals 512pals 128pals 256pals 512pals

Ki = Kinstrucciones.
(1) Tamao predeterminado, se puede ampliar en detrimento del tamao del programa de
aplicacin.

Nota: el comando Autmata/Asignacin de memoria del software PL7 permite conocer la


reparticin de memoria de la aplicacin en la memoria autmata.
___________________________________________________________________________
1/32
A
Generalidades PL7 1

1.3-6 Autmatas TSX/PCX/PMX 57-10/20/25


Estas tablas se refieren a los autmatas TSX 57-10, PCX 57-10, PMX 57-10, TSX 57
-20, PMX 57-20 y TSX 57-25.
Tamao de la memoria en bits

Procesador 57 10 57 20/25
Tipo de bits sistema %Si 128 128
objetos bits entradas/salidas %I/Qx.i (1) (1)
bits internos %Mi 3962 8056
bits de etapas %Xi 1024 1024
(1) depende de la configuracin hardware declarada (mdulos de entradas/salidas, equipos
en bus AS-i y en bus FIPIO)
Tamao de la memoria palabras
Procesador TSX-PCX57 10 / PMX 57 10 TSX-PMX 5720 / TSX 57 25
Tarj. de memoria - 32K 64K - 32K 64K 128K
Memoriainterna 32K/48K 32K/48K 32K/48K 48K/64K 48K/64K 48K/64K 48K/64K

Datos(%MWi) 1K(1) 26K 26K 1K(1) 30,5K 30,5K 30,5K


Programa
100%boleano
LenguajeLD 8,8/16,1Ki 12,4/12,4Ki 27,2/27,2Ki 16,1/23,5Ki 12,4/12,4Ki 27,2/27,0Ki 56,8/56,8Ki
LenguajeIL 11,2/20,6Ki 15,8/15,8Ki 34,7/34,7Ki 20,5/29,9Ki 15,8/15,8Ki 34,7/34,4Ki 72,4/72,4Ki
LenguajeST 13,7/13,7Ki 10,6/10,6Ki 23,1/23,1Ki 13,7/19,9Ki 10,5/10,5Ki 23,1/23,0Ki 48,2/48,2Ki
Programa
90%boleano
LenguajeLD 5,3/11,6Ki 8,8/8,8Ki 21,6/21,6Ki 11,6/17,6Ki 8,7/8,7Ki 21,6/21,6Ki 47,7/47,5Ki
LenguajeIL 6,3/14,2Ki 10,5/10,7Ki 25,9/26,3Ki 13,9/21,1Ki 10,4/10,4Ki 25,8/25,8Ki 56,6/56,7Ki
LenguajeST 5,0/11,0Ki 8,4/8,3Ki 20,7/20,4Ki 11,1/16,9Ki 8,4/8,4Ki 20,7/20,7Ki 45,4/45,4Ki
Programa
65%boleano
LenguajeLD 3,7/8,5Ki 6,8/6,6Ki 16,9/16,5Ki 8,7/13,7Ki 6,8/6,8Ki 16,8/16,8Ki 37,0/37,0Ki
LenguajeIL 3,8/9,7Ki 6,9/7,5Ki 17,3/18,7Ki 8,9/14,1Ki 6,9/6,9Ki 17,2/17,2Ki 37,9/37,9Ki
LenguajeST 4,4/9,7Ki 8,0/7,5Ki 20,0/18,7Ki 10,3/16,3Ki 8,0/8,0Ki 19,9/19,9Ki 43,8/43,8Ki
Constantes (1) 128 pals. 128 pals. 256 pals. 512 pals. 128 pals. 256 pals. 512 pals.
K = Kpalabras Ki = Kinstrucciones
(1) Tamao predeterminado, que puede ampliarse en detrimento del tamao de la aplicacin.
Notas :
cuando la tabla menciona para una caracterstica 2 valores separados por una "/", stas
estn asociadas respectivamente a cada tipo de procesador (separados por una "/" en el
encabezado de la tabla).
el comando Autmata/Asignacin de memoria del software PL7 permite conocer la
asignacin de memoria de la aplicacin en la memoria del autmata.
___________________________________________________________________________
1/33
A

1.3-7 Autmatas TSX/PCX 57-30/35


Estas tablas se refieren a los autmatas TSX 57-30, TSX 57-35, PCX 57-35.
Tamao de la memoria en bits

Procesador 57 30/35
Tipo de bits sistema %Si 128
objetos bits entradas/salidas %I/Qx.i (1)
bits internos %Mi 12152
bits de etapas %Xi 1024
(1) depende de la configuracin hardware declarada (mdulos de entradas/salidas, equipos
en bus AS-i y en bus FIPIO)
Tamao de la memoria palabras

Procesador TSX 5730 / TSX y PCX 57 35


Tarj. de memoria - 32K 64K 128K 256K
Memoria interna 64K / 80K 64K / 80K 64K / 80K 64K / 80K 64K / 80K
Datos(%MWi) 1K(1) 30,5K 30,5K 30,5K 30,5K
Programa
100% boleano
Lenguaje LD 23,5/30,8 Ki 12,4 K/12,4 Ki 27,2 K/27,2 Ki 56,8 K/56,8 Ki 90,5 K/90,5 Ki
Lenguaje IL 29,9/39,3 Ki 15,8 K/15,8 Ki 34,7K/34,7Ki 72,4 K/72,4 Ki 83,6 K/83,6 Ki
Lenguaje ST 19,9 /26,2 Ki 10,5 K/10,5 Ki 23,1 K/23,1 Ki 48,2 K/48,2 Ki 74,6 K/74,6 Ki
Programa
90% boleano
Lenguaje LD 18,0/24,4 Ki 8,7 K/8,7 Ki 21,6 K/21,6 Ki 47,5 K/47,5 Ki 76,8 K/76,8 Ki
Lenguaje IL 21,5/29,2 Ki 10,4 K/10,4 Ki 25,8 K/25,8 Ki 56,7 K/56,7 Ki 73,9 K/73,9 Ki
Lenguaje ST 17,2 /23,4Ki 8,4 K/8,4 Ki 20,7 K/20,7 Ki 45,49K/45,49Ki 76,0 K/76,0 Ki
Programa
65% boleano
Lenguaje LD 13,7/18,8 Ki 6,8 K/6,8 Ki 16,8 K/16,8 Ki 37,0 K/37,0 Ki 63,1 K/63,1 Ki
Lenguaje IL 14,1/19,2 Ki 6,9 K/6,9 Ki 17,2 K/17,2 Ki 37,9 K/37,9 Ki 61,4 K/61,4 Ki
Lenguaje ST 16,3 /22,2Ki 8,0 K/8,0 Ki 19,9 K/19,9 Ki 43,8 K/43,8 Ki 63,8 K/63,8 Ki
Constantes (1) 256 pals. 256 pals. 256 pals. 1024 pals. 1024 pals.
K = Kpalabras Ki = Kinstrucciones
(1) Tamao predeterminado, que puede ampliarse en detrimento del tamao de la aplicacin.
Notas :
cuando la tabla menciona para cada caracterstica 2 valores separados por una "/", stos
estn asociados respectivamente a cada tipo de procesador (separados por una "/" en el
encabezado de la tabla).
el comando Autmata/Asignacin de memoria del software PL7 permite conocer la
asignacin de la memoria de la aplicacin en la memoria !del autmata.
___________________________________________________________________________
1/34
A
Generalidades PL7 1

1.3-8 Autmatas PMX57-35/45 y TSX 57-40/45


Estas tablas se refieren a los autmatas PMX 57-35, PMX 57-45, TSX 57-40 y TSX
57-45.

Tamao de la memoria en bits

Procesador PMX 57 35/45 y TSX 57 40/45


Tipo bits sistema %Si 128
de objetos bits entradas/salidas %I/Qx.i (1)
bits internos %Mi 12152
bits de etapas %Xi 1024
(1) depende de la configuracin hardware declarada (mdulos de entradas/salidas, equipos
en bus AS-i y en bus FIPIO)
Tamao de la memoria palabras

Procesador PMX 57 35 / PMX 45 / TSX 57 40 y45


Tarj. de memoria - 32K 64K 128K 256K
Memoria interna 80K/96K/96K 80K/96K/96K 80K/96K/96K 80K/96K/96K 80K/96K/96K
Datos (%MWi) 1K(1) 30,5K 30,5K 30,5K 30,5K
Programa
100% boleano
Lenguaje LD 28,8/36,1/37,5Ki 12,4Ki 27,2Ki 56,8Ki 90,5Ki
Lenguaje IL 36,7/46,1/47,8Ki 15,8Ki 34,7Ki 72,4Ki 83,6Ki
Lenguaje ST 24,5/30,7/31,9Ki 10,5Ki 23,1Ki 48,2Ki 74,6Ki
Programa
90% boleano
Lenguaje LD 22,6/29,0/30,3Ki 8,7Ki 21,6Ki 47,5Ki 76,8Ki
Lenguaje IL 27,1/34,7/36,1Ki 10,4Ki 25,8Ki 56,7Ki 73,9Ki
Lenguaje ST 21,7 /27,8/29,0Ki 8,4Ki 20,7Ki 45,49Ki 76,0Ki
Programa
65% boleano
Lenguaje LD 17,4/22,4/23,3Ki 6,8Ki 16,8Ki 37,0Ki 63,1Ki
Lenguaje IL 17,8/22,9/23,9Ki 6,9Ki 17,2Ki 37,9Ki 61,4Ki
Lenguaje ST 20,5 /26,5/27,6Ki 8,0Ki 19,9Ki 43,8Ki 63,8Ki
Constantes (1) 256 palabras 256 palabras 256 palabras 1024 palabras 1024 pal.
K = Kpalabras Ki = Kinstrucciones
(1) Tamao predeterminado, que puede ampliarse en detrimento del tamao de la aplicacin.
Notas :
cuando la tabla menciona para cada caracterstica 2 valores separados por una "/", stos
estn asociados respectivamente a cada tipo de procesador (separados por una "/" en el
encabezado de la tabla).
el comando Autmata/Asignacin de memoria del software PL7 permite conocer la
asignacin de memoria de la aplicacin en la memoria del autmata.
___________________________________________________________________________
1/35
A

1.4 Modos de marcha


1.4-1 Corte de corriente y reanudacin de la alimentacin
Si se produce un corte de corriente, el sistema memoriza el contexto de la aplicacin
y la hora del corte. Luego, posiciona todas las salidas al estado de retorno (definido
en la configuracin). Cuando se reanuda la alimentacin, el contexto guardado se
compara con el actual. El resultado define el tipo de arranque ejecutado.
Si el contexto de aplicacin ha cambiado (prdida del contexto sistema o nueva
aplicacin), el autmata inicializa la aplicacin: arranque en fro.
Si el contexto de aplicacin es idntico, el autmata reanuda sin inicializar los
datos: rearranque en caliente.
Si el corte es inferior al tiempo de filtrado (10 ms para las alimentaciones alternas y
1 ms para las continuas), el programa lo ignora y sigue ejecutando normalmente.
RUN
Aplicacin

Corte de corriente

Espera
Reanud. aliment.

Corte S Contexto No
detectado guardado

S
No
Tarjeta de
No
memoria idntica

S
Ejecucin normal Rearranque Arranque
del programa en caliente en fro
Nota
Un arranque en fro puede realizarse de los modos siguientes:
reanudacin de la alimentacin con prdida de contexto (ejemplo: batera de respaldo del
procesador fuera de servicio),
ejecutando una aplicacin por primera vez,
presionando el botn RESET del procesador,
poniendo a 1 el bit sistema %S0 desde el programa,
efectuando una inicializacin en PL7 desde el terminal,
con la tarjeta de memoria PCMCIA insertada en su emplazamiento o manipulando el prensil
(excepto para el autmata PCX 57, donde la insercin de carta memoria PCMCIA est
prohibida en encendido).
Un rearranque en caliente puede realizarse de los modos siguientes:
reanudacin de la alimentacin sin prdida de contexto,
poniendo a 1 el bit sistema %S1 desde el programa.
___________________________________________________________________________
desde PL7 mediante el terminal.

1/36
A
Generalidades PL7 1

1.4-2 Rearranque en caliente

Adquisicin
de entradas Parada procesador
Contexto aplicacin
guardado
Ejecucin del programa
TOP
Reanud. alimentacin

Si %S1 = 1,
tratamiento relativo al
rearranque en caliente Autopruebas
de la configuracin
S
Corte de corriente
> microcorte Puesta a 1 del
No bit %S1
BOT

Puesta a 0 del bit


%S1

Actualizacin
de salidas

Reanudacin de la ejecucin del programa


Se reanuda la ejecucin del programa a partir del elemento en el que se produjo
el corte de corriente sin que se actualicen las salidas. Luego, el sistema efecta un
ciclo de reanudacin en el que acepta de nuevo todos los mdulos de entrada,
vuelve a activar la tarea maestra con el bit %S1 posicionado a 1 durante un ciclo
de tarea y actualiza las salidas. El sistema desactiva las tareas rpida y de suceso
hasta el fin del primer ciclo de la tarea maestra.
Tratamiento del rearranque en caliente
En caso de rearranque en caliente, el usuario que desea un tratamiento particular
respecto a la aplicacin debe escribir en el principio del programa de la tarea
maestra el programa correspondiente sobre prueba de %S1 a 1.
Evolucin de las salidas
Al detectarse el corte de corriente, las salidas se ponen en posicin de retorno:
al valor de retorno o conservacin del valor actual, segn la configuracin.
Al reanudar la alimentacin, las salidas estn en el estado cero hasta que la tarea
las actualice.

___________________________________________________________________________
1/37
A

1.4-3 Arranque en fro

Adquisicin
de entradas Parada procesador
Contexto aplicacin
guardado
Ejecucin del programa
TOP
Reanud. alimentacin

Si %S0 = 1,
tratamiento eventual
del arranque en fro Autopruebas
de la configuracin

Corte de corriente S
> microcorte Inicializacin de
la aplicacin
No BOT

Puesta a 0 del bit Puesta a 1 del bit


%S0 %S0

Actualizacin
de salidas

Inicializacin de los datos y del sistema lo que corresponde a:


puesta a 0 de los bit, de la imagen de E/S y de las palabras internas (si se ha
seleccionado, en la pantalla de configuracin del procesador, la opcin RAZ de
las %MW al arrancar en fro, consltese la seccin D - apartado 1.3). Si la opcin
RAZ de las %MW no est activa y si las %MWi est salvadas en la memoria interna
Flash EPROM (TSX 37), stas se restaurarn al arrancar en fro.
inicializacin de los bits y palabras sistema,
inicializacin de los bloques de funcin a partir de los datos de configuracin,
las tareas, excepto la tarea maestra, se desactivan hasta el fin del primer ciclo de
la tarea maestra.
posicionamiento del Grafcet en las etapas iniciales.
Tratamiento del arranque en fro
Despus de un arranque en fro, si el usuario que desea efectuar un tratamiento
aplicativo, tiene la posibilidad de probar por programa el bit %SW10:X0 (si
%SW10:X0=0, se ha producido un arranque en fro). Al arrancar en fro, el autmata
reanuda o no la ejecucin, segn la configuracin definida por el usuario (parmetro
RUN AUTO).
Evolucin de las salidas
Al detectarse el corte de corriente, las salidas se ponen en posicin de retorno: a
0 o conservacin del valor actual, segn la configuracin.
Al reanudar la alimentacin, las salidas estn a cero hasta que la tarea las
actualice.
___________________________________________________________________________
1/38
A
Generalidades PL7 1

1.5 Estructura software monotarea


1.5-1 Presentacin de la tarea maestra
El programa de una aplicacin monotarea est asociado a una tarea usuario: la tarea
MAST.
El programa asociado a la tarea maestra est estructurado en un tratamiento
principal constituido por varias secciones y de subprogramas.

tratamiento principal (MAIN) dividido MAST


en secciones, que se programan como
entidades separadas en el lenguaje Sas(LD)
adecuado (LD, IL, ST o Grafcet).
subprograma SRi (i=0 a 253) Horno_1(Grafcet)
Los mdulos subprograma se
programan tambin como entidades PRL(LD)
separadas en LD, IL o ST, mientras las
CHART
llamadas a los subprogramas se
efectan en las secciones del POST(IL)
tratamiento principal o desde otros
subprogramas (8 imbricaciones como
mximo). Secado(LD)
SR0
La ejecucin de la tarea maestra puede
Limpieza(ST)
elegirse (en configuracin) cclica o
peridica.

Mdulos funcionales: vase captulo 7


Presentacin de una seccin
Una seccin se caracteriza por:
un nombre de 24 caracteres mximo,
el lenguaje en el cual est programada,
la tarea a la cual pertenece,
una condicin de ejecucin (opcional),
la seccin est activa si la condicin
vale 1 e inhibida si vale 0.
Objetos autorizados como condicin:
%M,%S,%X,bit indexado,bits extrado,%I , %Q. Todos estos objetos se pueden
forzar desde el terminal excepto los %S, bitsbit indexado, bits extrado,%I xy.i.ERR,y
%I xy.MOD.ERR.
un comentario de 250 caracteres mximo.
una proteccin: proteccin contra escritura, proteccin contra lectura/escritura. La
proteccin puede ser general o parcial.
Nota: en el arranque en fro las condiciones de ejecucin estn a 0, y todas las secciones a
las cuales se asocia una condicin estn inhibidas.
___________________________________________________________________________
1/39
A

Una seccin es una entidad autnoma,


las etiquetas de marcacin de las lneas Mast
de instrucciones o de las redes de
Sections
contactos son propias a la seccin (no
Sas
hay salto de programa posible hacia otra
seccin). Four_1

Prl

Las secciones se ejecutan en el orden de Chart

programacin en la ventana del


Post
navegador.
Secado

La tarea maestra del ejemplo de la pgina Limpieza


anterior est constituida por:
una seccin en lenguaje de contactos
SR
LD,
una seccin en Grafcet, SR0

una seccin en lenguaje literal ST, SR1

una seccin en lenguaje lista de SR2


instrucciones.

Seccin Grafcet :
Una seccin Grafcet comprende:
el tratamiento preliminar (PRL) pro-
gramado en LD, ST o IL. Se ejecuta Tratamiento
Traitement
antes de Grafcet, Subprograma
Sous-programme
preliminar
prliminaire
PRL SRi
SRi
el Grafcet (CHART): en las pginas PRL
Grafcet, se programan las
receptividades asociadas a las
transiciones y acciones asociadas a Pg. Grafcet
Page Grafcet Receptividades
Rceptivits
las etapas y o a las etapas de CHARt
CHART
macroetapas (vase cp....), (8
(8 pages)
pgs) Acciones
Actions
el tratamiento posterior (POST) pro- Subprograma
Sous-programme
gramado en LD, ST o IL. Se ejecuta SRi
despus de Grafcet, Tratamiento
Traitement
los subprogramas SRi (i = 0 a 253). Los Subprograma
Sous-programme
postrieur
posterior SRi
SRi
mdulos de subprograma, se POST
POST
programan como entidades separadas
y las llamadas a los subprogramas se
efectan en el tratamiento preliminar,
posterior, en las acciones asociadas a
las etapas o desde otros subprogramas
(8 imbricaciones mximo).
___________________________________________________________________________
1/40
A
Generalidades PL7 1

1.5-2 Ejecucin cclica


Este tipo de funcionamiento corresponde a la ejecucin normal del ciclo de autmata
(funcionamiento predeterminado). Consiste en encadenar uno tras otro los ciclos de
la tarea maestra (MAST). Despus de actualizar las salidas, el sistema realiza sus
tratamientos propios y luego activa otro ciclo de la tarea.

Tratamiento del Tratamiento


programa del programa

%I %Q %I %Q
T.I. T.I.

Ciclo n Ciclo n+1

T.I. Tratamiento interno: el sistema supervisa implcitamente el autmata (gestin


de los bits y palabras sistema, actualizacin de los valores actuales del reloj-
calendario y de los indicadores de estado, deteccin de los RUN/STOP) y
tratamiento de las peticiones provenientes del terminal (modificaciones y
animacin).
%I Adquisicin de entradas: escritura en memoria del estado de las informaciones
presentes en las entradas de los mdulos TON y de funciones especficas.
Tratamiento de programa: ejecucin de la aplicacin escrita por el usuario.
%Q Actualizacin de las salidas: escritura de los bits o palabras de salidas
asociados a los mdulos TON y de funciones especficas, segn el estado
definido por el programa de aplicacin.
Ciclo de funcionamiento y control del ciclo
Autmata en RUN: el procesador
efecta el tratamiento interno, la
adquisicin de las entradas, el
(1) tratamiento del programa de aplicacin y
Tratamiento interno
la actualizacin de las salidas, en este
orden.
Autmata en STOP: el procesador
efecta
Adquisicin de entradas
el tratamiento interno,
RUN STOP la adquisicin de las entradas,
y segn la configuracin elegida,
Tratamiento del programa - modo de retorno: las salidas se ponen
en posicin de "retorno" ,
- modo de conservacin: las salidas
conservan los valores actuales o se
Actualizacin de salidas modifican desde el terminal.
Control del ciclo: el watchdog efecta el
control del ciclo; vase el captulo 1.5-4.
(1) En el caso del TSX/PMX/PCX 57, el tratamiento interno se realiza en paralelo con los
tratamientos de las entradas y salidas.
___________________________________________________________________________
1/41
A

1.5-3 Ejecucin peridica


En este modo de funcionamiento, la adquisicin de las entradas, el tratamiento del
programa de aplicacin y la actualizacin de las salidas se efectan de manera
peridica segn el tiempo definido en la configuracin (de 1 a 255 ms).

En el inicio del ciclo de autmata, un temporizador, cuyo valor actual se inicializa en


el perodo definido en la configuracin, comienza a descontar. El ciclo de autmata
debe terminarse antes de la expiracin de este temporizador que activa un nuevo
ciclo.

Tratamiento Tratamiento del


del programa programa

%I %Q %I %Q
T.I. T.I. T.I. T.I.
Perodo Perodo

T.I. Tratamiento interno: el sistema supervisa implcitamente el autmata (gestin


de los bits y palabras sistema, actualizacin de los valores actuales del reloj-
calendario y de los indicadores de estado, deteccin de los RUN/STOP) y el
tratamiento de las peticiones provenientes del terminal (modificaciones y
animacin).
%I Adquisicin de entradas: escritura en memoria del estado de las informaciones
presentes en las entradas de los mdulos TON y de funciones especficas.
Tratamiento del programa: ejecucin del programa de aplicacin escrito por
el usuario.
%Q Actualizacin de las salidas: escritura de los bits y palabras de salidas
asociados a mdulos TON y de funciones especficas segn el estado definido
por el programa de aplicacin.
(1) En el caso del TSX/PMX/PCX 57, el tratamiento interno se realiza en paralelo con los
tratamientos de las entradas y salidas

___________________________________________________________________________
1/42
A
Generalidades PL7 1

Ciclo de funcionamiento y control del ciclo

Autmata en RUN: el procesador


efecta el tratamiento interno, la
adquisicin de las entradas, el
Activacin del tratamiento del programa de aplicacin y
perodo la actualizacin de las salidas, en este
orden. Si todava no se ha terminado el
perodo, el procesador completa su ciclo
Tratamiento interno (1)
de funcionamiento hasta el fin del perodo
con tratamiento interno.
Si el tiempo de funcionamiento excede el
Adquisicin de entradas tiempo asignado al perodo, el autmata
seala un desbordamiento de perodo
RUN STOP mediante la puesta a 1 del bit sistema
%S19 de la tarea. El tratamiento contina
Tratamiento del programa y se ejecuta en su totalidad (no debe
exceder el tiempo lmite del watchdog).
El ciclo siguiente se activa despus de la
escritura implcita de las salidas del ciclo
Actualizacin de salidas en curso.
Autmata en STOP: el procesador
efecta
(1) el tratamiento interno,
Tratamiento interno la adquisicin de las entradas,
y segn la configuracin elegida,
- modo de retorno: las salidas se
ponen en la posicin de "retorno",
Fin de perodo
- modo de conservacin: las salidas
conservan los valores actuales o se
modifican desde el terminal.
Control del ciclo
Se efectan 2 controles:
desbordamiento del perodo,
mediante el watchdog,
(vase el captulo 1.5-4).
(1) En el caso del TSX/PMX/PCX 57, el tratamiento interno se realiza en paralelo con los
tratamientos de las entradas y salidas

___________________________________________________________________________
1/43
A

1.5-4 Control del tiempo de ciclo


Watchdog (funcionamiento peridico o cclico)
El autmata (el watchdog) controla el tiempo de ejecucin de la tarea maestra tanto
en el funcionamiento peridico como en el cclico. El tiempo no debe exceder el valor
definido en la configuracin Tmx (valor predeterminado: 250ms, valor mximo:
500ms).

En caso de desbordamiento, se declara una falla de aplicacin y el autmata se


detiene inmediatamente (si est configurada, la salida de alarma %Q2.0 se pone
a 0 en el TSX 37; en el TSX/PMX/PCX 57, el rel de alarma se pone a 0 al conectar
la alimentacin).

El bit %S11 permite controlar la ejecucin de esta tarea.

Seala un desbordamiento del watchdog. El sistema lo pone a 1, cuando el tiempo


de ciclo excede el watchdog.

En el TSX/PMX/PCX 57, el valor del watchdog debe ser superior al perodo.


En el funcionamiento peridico, un control adicional permite detectar un rebasamiento
de perodo:
%S19: seala un desbordamiento de perodo. El sistema lo pone a 1, cuando el
tiempo de ciclo excede el perodo de la tarea.
%SW0: esta palabra contiene el valor del perodo (en ms). En el arranque en fro,
se inicializa con el valor definido en la configuracin. Puede ser modificada por el
usuario.

Uso de los tiempos de ejecucin de la tarea maestra


Las palabras sistema siguientes permiten obtener informaciones sobre el tiempo de
ciclo:
%SW30 contiene el tiempo de ejecucin del ltimo ciclo,
%SW31 contiene el tiempo de ejecucin del ciclo ms largo,
%SW32 contiene el tiempo de ejecucin del ciclo ms corto.

Nota
Tambin es posible acceder a estas informaciones de forma explcita desde el editor de
configuracin.

___________________________________________________________________________
1/44
A
Generalidades PL7 1

1.6 Estructura multitarea


1.6-1 Descripcin
La estructura de las tareas en este tipo de aplicacin es la siguiente:
la tarea maestra MAST, siempre presente, cclica o peridica,
la tarea rpida FAST, opcional, siempre peridica,
tratamientos de suceso EVTi, llamados por el sistema al aparecer un suceso en un
acoplador de E/S. Estos tratamientos son opcionales y utilizados por las aplicaciones
que necesitan tiempos de respuesta cortos para actuar sobre las entradas/salidas..

Tarea Tarea Tareas


maestra rpida de suceso

- Prioridad +

Las tareas maestra y rpida son estructuradas en secciones (vase descripcin de


una seccin en el captulo 1.5).

Slo la tarea maestra puede comprender una seccin Grafcet.


Las tareas de suceso slo comprenden una sola seccin cuyo nombre no puede
modificarse.

MAST FAST

Sas(LD) Alarma_Sas(LD) EVT0

Horno_1(Grafcet) Vig_Sec(LD)

PRL(LD)
Alarma_Horno(ST)
CHART

POST(IL) Alarma_Limpieza(ST) SR0

Secado(LD) SR0

Limpieza(ST)

Mdulos funcionales: vase captulo 7.


___________________________________________________________________________
1/45
A

Ejemplo de estructura de programa multitarea

___________________________________________________________________________
1/46
A
Generalidades PL7 1

Gestin de las tareas


La tarea maestra permanece siempre activa; la tarea rpida est activa si est
programada. La tarea de suceso se activa al aparecer el suceso asociado.
Al aparecer un suceso o comenzar un ciclo de tarea rpida, la ejecucin de las tareas
menos prioritarias se detiene. Se reanuda la ejecucin de la tarea interrumpida,
cuando se terminan los tratamientos de la tarea prioritaria.
El programa controla la ejecucin de las tareas rpidas y de suceso con de los bits
sistema siguientes:
%S31 permite activar o no la tarea maestra MAST,
%S31 permite activar o no la tarea rpida FAST,
%S38 permite activar o no las tareas de suceso EVTi.

Ejemplo de tratamiento multitarea


tarea maestra cclica,
tarea rpida de 20 ms,
tarea de suceso.

ETS
Suceso
ETS ETS ETS E TS ETS
Rpida

Maestra E T T S E T T S E T

Sistema
20 ms 20 ms 20 ms 20 ms

1.6-2 Tarea maestra


Esta tarea, que es la menos prioritaria, efecta la gestin de la mayor parte del
programa de aplicacin. La tarea MAST est organizada segn el modelo descrito
en el subcaptulo previo: lectura implcita de las entradas, ejecucin del programa
de aplicacin y escritura implcita de las salidas.
En ambos modos de funcionamiento (peridico o cclico), el watchdog que controla
la tarea permite detectar una duracin anormal del programa de aplicacin. En caso
de desbordamiento, el bit sistema %S11 se pone a 1 y se declara una falla con
bloqueo de la aplicacin.
El bit sistema %S30 permite validar o inhibir la tarea maestra.

___________________________________________________________________________
1/47
A

1.6-3 Tarea rpida


Esta tarea de mayor prioridad que la tarea maestra MAST es peridica para permitir
la ejecucin de la tarea menos prioritaria.
Adems, los tratamientos asociados a ella deben ser de corta duracin para no
retardar la tarea maestra. Como en la tarea maestra, el programa asociado se
compone de secciones y de subprogramas.
El perodo de la tarea rpida FAST se determina en la configuracin (de 1 a 255 ms).
Este puede definirse superior al perodo de la tarea maestra MAST para que se adapte
a tratamientos peridicos lentos pero prioritarios. Sin embargo, el programa ejecutado
debe ser de corta duracin.
Un watchdog que controla la tarea rpida permite detectar una duracin anormal del
programa de aplicacin. En caso de desbordamiento, el bit sistema %S11 se pone
a 1 y se declara una falla con bloqueo del autmata.
Control de la tarea rpida
La palabra sistema %SW1 contiene el valor del perodo. Se inicializa en el arranque
en fro con el valor definido en la configuracin. El usuario puede modificarla desde
el programa o el terminal.
Los bits y palabras sistema siguientes permiten controlar la ejecucin de esta tarea:
%S19: seala un desbordamiento de perodo. El sistema lo pone a 1, cuando el
tiempo de ciclo excede el perodo de la tarea.
%S31: permite validar o inhibir la tarea rpida. El sistema lo pone a 0 al final del
primer ciclo de la tarea maestra, cuando la aplicacin se arranca en fro. Se pone
a 1 o 0 para validar o inhibir la tarea rpida.
Visualizacin de los tiempos de ejecucin de la tarea rpida
Estas palabras sistema permiten obtener informaciones sobre el tiempo de ciclo:
%SW33 contiene el tiempo de ejecucin del ltimo ciclo,
%SW34 contiene el tiempo de ejecucin del ciclo ms largo,
%SW35 contiene el tiempo de ejecucin del ciclo ms corto.

___________________________________________________________________________
1/48
A
Generalidades PL7 1

1.6-4 Asignacin de vas de E/S a las tareas maestra y rpida


Adems del programa de aplicacin, las tareas MAST y FAST ejecutan funciones
sistema relacionadas con la gestin de las entradas/salidas implcitas asociadas.
La asociacin de una va o un grupo de vas a una tarea se define en la pantalla de
configuracin del acoplador correspondiente. De forma predeterminada, la tarea
asociada es la tarea MAST.
Puesto que la modularidad de los mdulos TON es de 8 vas sucesivas (vas 0 a 7,
vas 8 a 15, ...), las entradas/salidas pueden asignarse por grupos de 8 vas, sin
distincin, a la tarea MAST o FAST. Por ejemplo, es posible asignar las vas de un
mdulo de 28 entradas/salidas del modo siguiente:
entradas 0 a 7 asignadas a la tarea MAST,
entradas 8 a 15 asignadas a la tarea FAST,
salidas 0 a 7 asignadas a la tarea MAST,
salidas 8 a 11 asignadas a la tarea FAST.

Cada va de un mdulo de contaje puede asignarse sin distincin a la tarea MAST


o FAST. Por ejemplo, es posible asignar a un mdulo de contaje de 2 vas:
la va 0 a la tarea MAST y
la va 1 a la tarea FAST.
Las vas de los mdulos de entradas analgicas TSX 37 se asignan obligatoriamente
a la tarea MAST. En cambio, es posible asignar las vas de las salidas analgicas
sin distincin a la tarea MAST o FAST, con una modularidad de 2 vas. Por ejemplo,
se pueden asignar a un mdulo de 4 salidas analgicas:
las vas 0 y 1 a la tarea MAST y
las vas 2 y 3 a la tarea FAST.
Las vas de los mdulos E/S analgicas TSX 57 pueden asignarse a la tarea MAST
o FAST. Esta asignacin es individual para cada va de los mdulos E/S analgicas
aisladas (4 vas aisladas) y con una modularidad de vas para los dems mdulos.

___________________________________________________________________________
1/49
A

1.6-5 Tareas de suceso


Los tratamientos de sucesos permiten reducir el tiempo de reaccin del programa
sobre los sucesos de control.
Sucesos de control
Son sucesos externos vinculados a las funciones especficas. La aparicin de un
suceso desva el programa de aplicacin hacia el tratamiento asociado a la va de
entradas/salidas que activ el suceso. Antes de llamar al tratamiento de suceso, el
sistema actualiza las entradas (%I, %IW, %ID) asociadas a la va de E/S que activ
el suceso. Es posible configurar:
8 sucesos en un autmata TSX 37-05/08/10 (EVT1 a EVT8),
16 sucesos en un autmata TSX 37-21/22 (EVT0 a EVT15),
32 sucesos en un autmata TSX/PMX/PCX 57-10 (EVT0 a EVT31),
64 sucesos en un autmata TSX/PMX/PCX 57-20/30 (EVT0 a EVT63).
Una va se asocia a un nmero de suceso en la pantalla de configuracin de vas.
En el TSX 37, los tratamientos de suceso pueden ser activados por:
las entradas 0 a 3 del mdulo en la posicin1, en el flanco ascendente o
descendente,
la o las vas de contaje de los mdulos de contaje,
las vas de contaje del mdulo 1 (si ste est configurado como contador),
la recepcin de telegramas en un TSX 37-21/22 dotado de un mdulo TSX FPP20.
En el TSX/PMX/PCX 57, los tratamientos de suceso pueden ser activados por:
las entradas de los mdulos DEY 16 FK, DMY 28 FK, DMY 28 RFK
las vas de los contadores,
las vas de los mdulos de comando de eje CAY,
las vas de los mdulos de comando paso a paso CFY,
las vas de comunicacin "FPP20".
Gestin de las tareas de suceso
Los tratamientos de sucesos pueden ser globalmente validados o inhibidos por el
programa de aplicacin a travs del bit sistema %S38. Si uno o varios sucesos
intervienen durante su inhibicin, se pierden los tratamientos asociados.
Dos instrucciones del lenguaje PL7, MASKEVT() y UNMASKEVT(), utilizadas en el
programa de aplicacin, permiten enmascarar o desenmascarar los tratamientos de
sucesos. Si uno o varios sucesos intervienen durante su enmascaramiento, el
sistema los memoriza y los tratamientos asociados se efectuarn slo despus del
desenmascaramiento.
Los 8 sucesos de control posibles en un autmata TSX 37-05/08/10 tienen todos el
mismo nivel de prioridad; por consiguiente, un tratamiento de suceso no puede ser
interrumpido por otro. En un autmata TSX 37-21/22 o en un autmata TSX/PMX/PCX
57, hay 2 niveles de prioridad de sucesos de control: el suceso 0 (EVT0) es ms
prioritario que los dems sucesos.
___________________________________________________________________________
1/50
A
Generalidades PL7 1

Intercambios de entradas/salidas en las tareas de suceso


Es posible asociar a cada tarea de suceso otras vas de entradas/salidas que la
relativa al suceso. El sistema realiza los intercambios implcitamente antes (%I) y
despus (%Q) del tratamiento aplicativo. Estos intercambios pueden ser relativos
a una va (ejemplo: mdulo de contaje) o a un grupo de vas (mdulo TON). En el
segundo caso, si el tratamiento modifica por ejemplo las salidas 2 y 3 de un mdulo
TON, es la imagen de las salidas 0 a 7 la que se transferir al mdulo.

Recapitulacin de los intercambios y tratamientos

IT
La aparicin de un suceso desva el
programa de aplicacin hacia el
r

Tratamiento
de suceso tratamiento asociado a la va de entrada/
(tarea EVTi) salida que activ el suceso:

se adquieren automticamente todas


Adquisicin
las entradas asociadas a la va que
implcita de
entradas asociadas activ el suceso.
a la va origen
del suceso
se adquieren todas las entradas
Adquisicin declaradas por el usuario en la tarea
implcita de
entradas
EVTi.
declaradas en la
tarea EVTi

Tratamiento del el tratamiento debe ser el ms corto


suceso posible.

se actualizan todas las salidas


Actualizacin
implcita de
declaradas por el usuario en la tarea
salidas declaradas EVTi. Para que puedan actualizarse,
en la tarea tambin deben declararse las salidas
EVTi asociadas a la va que activ el suceso.

Nota:
En el caso de los mdulos TOR TSX DEY16FK, TSX DMY28FK o TSX DMY28RFK, la entrada
que ha generado el suceso no debe ser controlada en el tratamiento de sucesos (el valor no
es actualizado). La prueba del flanco que ha iniciado el suceso debe ser efectuada en la palabra
de estado:
%IWxy.i:X0 = 1 --> flanco ascendente
%IWxy.i:X1 = 1 --> flanco descendente
___________________________________________________________________________
1/51
A

Observaciones
En el TSX 37, no deben intercambiarse en un tratamiento de suceso los mdulos
de entradas analgicas que slo pueden utilizarse en la tarea MAST.
Los intercambios de las entradas/salidas asociadas a la tarea EVTi y utilizadas
por el programa se realizan mediante va (para los mdulos de contaje) o
mediante grupo de vas (para los mdulos TON). Por esta razn, si el tratamiento
modifica por ejemplo las salidas 2 y 3 de un mdulo TON, es la imagen de las
salidas 0 a 7 la que se transferir al mdulo.
En el TSX 37, para cada tratamiento de suceso, es posible declarar como mximo
los intercambios de 2 mdulos en entrada (antes del tratamiento del suceso) y
2 mdulos en salida (despus del tratamiento del suceso).

Las entradas intercambiadas (y el grupo de vas asociadas) durante la ejecucin


de la tarea de sucesos se actualizan (prdida de valores histricos, pues de los
flancos). Por consiguiente, se debe evitar comprobar los flancos en estas
entradas en las tareas maestra (MAST) y rpida (FAST).

En el TSX 57, segn el procesador utilizado, el nmero de intercambios utilizados


se limita.

N de intercambios utilizables P57-1 (32 EVTs) P57-2/3 (64 EVTs)


en los EVT por el procesador
N mx. de intercambios TON 32 intercambios 128 intercambios
N mx. de intercambios ANA 8 intercambios 16 intercambios
N mx. de intercambios fun. esp. 4 intercambios 16 intercambios

Para las E/S TON, un intercambio implica un grupo de 8 vas. Se genera al utilizar
las entradas de un grupo de 8 vas (otro que el grupo de vas que genera el suceso)
y al escribir las salidas de un grupo de 8 vas.
Para las E/S ANA o las E/S de otra funcin especfica, un intercambio se genera al
utilizar las entradas de una va (otra que la va que genera el suceso al escribir las
salidas de una va).

Visualizacin del nmero de sucesos tratados


La palabra %SW48 indica el nmero de sucesos tratados. El sistema inicializa esta
palabra a 0 al arrancarse en fro 0 y la incrementa al activar un suceso. El usuario
puede modificar esta palabra.
%S39 indica la prdida de suceso.
Nota
Una recapitulacin de las operaciones que se deben efectuar para programar los sucesos se
proporciona en la seccin A, captulo 5.3 de los manuales de funciones especficas.
___________________________________________________________________________
1/52
A
Captulo 22
Lenguaje de contactos
2 Lenguaje de contactos
2.1 Presentacin del lenguaje de contactos
2.1-1 Principio
Un programa escrito en lenguaje de contactos se compone de una serie de redes
ejecutadas secuencialmente por el autmata.
Trazada entre dos barras de potencial, una red es un conjunto de elementos grficos
que representan:
las entradas/salidas del autmata (botones pulsadores, detectores, rels,
indicadores...),
funciones de automatismos (temporizadores, contadores...),
operaciones aritmticas, lgicas y especficas,
las variables internas del autmata.
Estos elementos grficos estn vinculados entre s mediante conexiones horizontales
y verticales.
Cada red as constituida Formulario de programacin EVT FAST MAST AUX

contiene un mximo de Esquema de contactos MAIN SR PRE POST CHART

Espera de secado
16 lneas y 11 columnas %L
(para los autmatas TSX/ %I1.0 %M12 %I3.7 %Q2.5
PMX/PCX 57) 7 lneas y
%TM4.Q %M17
11 columnas (para los
autmatas TSX 37).
%MW4<50
Se divide en 2 reas: %I3.10 %Q4.3 %M27 %TM0 %M25 %MW0:X5
IN Q %MW15 : = %MW18+500
el rea de prueba, en la
TYP : TP
que figuran las TB : 100ms
TM.P : 200
condiciones necesarias MODIF : Y
para una accin, %I1.2 %I1.4 SR1
C
el rea de accin, que
presenta el resultado de
un encadenamiento de
pruebas.

___________________________________________________________________________
2/1
A

2.1-2 Elementos grficos


Elementos de base
Cada uno ocupa una sola celda (1 lnea de alto, 1 columna de ancho).
Designacin Grfico Funciones

Elementos de Contacto de Contacto establecido cuando el objeto bit que


prueba cierre lo controla est en el estado 1.
Contacto de Contacto establecido cuando el objeto bit que
apertura lo controla est en el estado 0.
Contacto de P Flanco ascendente: deteccin del paso de 0 a
deteccin de 1 del objeto bit que lo controla.
cambio de
estado N Flanco descendente: deteccin del paso de 1
a 0 del objeto bit que lo controla.

Elementos de Conexin Permite vincular en serie entre las dos barras


enlace horizontal de potencial elementos grficos de prueba
y de accin.
Conexin Permite vincular en paralelo los elementos
vertical grficos de prueba y de accin.
de potencial
Derivacin de Permite unir 2 objetos a travs de
corto circuito varias conexiones.

Elementos Bobina El objeto bit asociado toma el valor del


de accin directa resultado del rea de prueba.
Bobina El objeto bit asociado toma el valor inverso del
inversa resultado del rea de prueba.
Bobina El objeto bit asociado se pone a 1 cuando el
S
de conexin resultado del rea de prueba es 1.
Bobina de R El objeto bit asociado se pone a 0 cuando el
desconexin resultado del rea de prueba es 1.
Salto condi- Permite una desviacin a una red etiquetada
cional a ->> %Li que se encuentra arriba o abajo.
otra red Slo son vlidos los saltos dentro de una
(JUMP) misma entidad de programacin (programa
principal, subprograma,...)
La ejecucin de un salto provoca:
la parada de la exploracin de red en curso,
la ejecucin de la red con la etiqueta
solicitada,
la no exploracin de la parte del programa
situada entre la accin de salto y la red
designada.
Bobina de signo # Propuesta en lenguaje Grafcet, utilizada al
de nmero programar receptividades asociadas a
transiciones; hace pasar a la etapa siguiente.
___________________________________________________________________________
2/2
A
Lenguaje de contactos 2

Designacin Grfico Funciones

Elementos Bobina de Permite una desviacin en el inicio del subpro-


C
de accin llamada a un grama cuando el resultado del rea de prueba
(cont.) subprograma es 1.
(CALL) La ejecucin de una llamada a un sub-
programa tiene como consecuencia:
la parada de la exploracin de red en curso,
la ejecucin del subprograma,
la reanudacinde laexploracininterrumpida.

Regreso del <RETURN> Reservada para el subprograma SR. Permite re-


subprograma gresar al mdulo que llama cuando el resultado
del rea de prueba es 1.
Parada de <HALT> Detiene la ejecucin del programa
programa cuando el resultado del rea de prueba es 1.

Bloques de funcin estndar

Designacin Grfico Funciones

Elementos Bloques: Cada bloque de funcin estndar utiliza


de prueba Temporizador entradas y salidas que permiten vincularlos
Contador a otros elementos grficos. Las funciones de
Monoestable los bloques se describen en la seccin B.
Registro Dimensin: vase el captulo 2.2-5.
Programador
cclico Drum

Bloques de funcin DFB

Designacin Grfico Funciones

Elementos Bloques Cada uno de los bloques de funcin DFB


utiliza entradas, salidas y entradas/salidas
que permiten vincularlos a los otros
elementos grficos para los objetos de
tipo bits o que puedan asignarse a objetos
numricos o tablas.
Las funciones del bloque DFB se describen
en el captulo 6.
Dimensiones: vase apartado 2.2-5

Los bloques de funcin DFB no pueden utilizarse en los autmatas TSX37.

___________________________________________________________________________
2/3
A

Bloques de operacin

Designacin Grfico Funciones

Elementos Bloque de Permite comparar 2 operandos; segn el


de prueba comparacin resultado, la salida correspondiente pasa a 1.
vertical
Dimensin: 2 columnas/4 lneas
Bloque de Permite comparar 2 operandos; la salida pasa
comparacin a 1 cuando se ha verificado el resultado. (Un
horizontal bloque puede contener hasta 4096 caracte-
res). Dimensin: 2 columnas/1 lnea

Elemento Bloque de Realizan las operaciones aritmticas, lgicas


de accin operacin utilizando la sintaxis del lenguaje literal. (Un
bloque puede contener hasta 4096 caracteres.)
Dimensin: 4 columnas/1 lnea

___________________________________________________________________________
2/4
A
Lenguaje de contactos 2

2.2 Estructura de una red de contactos


2.2-1 Generalidades
Una red se inscribe entre dos barras de potencial y se compone de un conjunto de
elementos grficos vinculados entre s por enlaces horizontales o verticales.
Las dimensiones mximas de una red son 16 lneas y 11 columnas (para los
autmatas TSX/PMX/PCX 57) 7 lneas y 11 columnas (para los autmatas TSX 37)
repartidas en dos reas: el rea de prueba y el rea de accin.

Columnas 1 2 3 4 5 6 7 8 9 10 11
Formulario de programacin EVT FAST MAST AUX

esquema de contactos MAIN SR PRE POST CHART

%L
Lneas
1

6
7
Barras de
8 potencial
9

10

11

12

13

14

15

16

Area de prueba
Area de accin
___________________________________________________________________________
2/5
A

2.2-2 Etiqueta
La etiqueta (opcional) permite marcar una red en una entidad de programa (programa
principal, subprograma, ...).
La sintaxis de la etiqueta es la siguiente: %Li, con i comprendida entre 0 y 999. Se
coloca en la parte superior izquierda en frente de la barra de potencial.
Se puede asignar una
etiqueta a una sola red %M20 %L245
dentro de una misma
entidad de programa.
En cambio, es necesario
poner etiqueta a una red
% L2 4 5
para permitir una
%M3 %I1.6 %MW1:X2 %Q2.1
desviacin despus de un
salto de programa. %TM4.D

El orden de las etiquetas no tiene importancia (es el orden de introduccin de las redes
que el sistema tiene en cuenta durante la exploracin).

2.2-3 Comentario
El comentario (opcional) se integra en la red y comprende un mximo de 222
caracteres alfanumricos, con los caracteres '(*' y '*)' en cada extremo. Facilita la
interpretacin de la red a la que est asignado.

Los comentarios se Area de comentario


muestran en el rea
reservada en la parte %L
superior de la red de %Q2.3 %I1.4 %MW2:X9 %I1.3 %Q4.7
contactos.
%M16 %M12 %TM3.Q SR4
C
%C8.E
Cuando se elimina una
%Q2.0 %MW3:X0 %M3 %I5.2 %M155
red, se elimina tambin el S
comentario asociado. %I1.3 %I3.1 %M13 %Q4.7

Los comentarios se almacenan en el autmata, donde quedan a la disposicin del


usuario en todo momento. Por consiguiente, consumen memoria de programa.

___________________________________________________________________________
2/6
A
Lenguaje de contactos 2

2.2-4 Red de contactos


Su representacin se parece a un esquema elctrico de rels.
Los elementos grficos simples de prueba y de accin ocupan cada uno una lnea y
una columna en una red.
Todas las lneas de
%L
contactos comienzan en la
%Q2.3 %I1.4 %MW2:X9 %I1.3 %Q4.7
lnea de potencial
izquierda y se terminan en %M16 %M12 %TM3.Q SR4
C
la lnea de potencial
%C8.E
derecha.
%Q2.0 %MW3:X0 %M3 %I5.2 %M155
Las pruebas se sitan S
%I1.3 %I3.1 %M13 %Q4.7
siempre en las columnas
de 1 a 10.
Las acciones se sitan
siempre en la columna 11.
El sentido de circulacin %L
del corriente es el %M16 %T3.D
siguiente:
%I5.4
para los enlaces horizon-
tales, de la izquierda a la %C13.E

derecha,
para los enlaces vertica-
les, en ambos sentidos.

%L
Area de prueba %M9 %MN0 %I6.8 %C2.D
S R
Contiene: TB : 100ms %MW8:X4

los contactos, a los que MN.P : 80

se pueden asignar todos


los objetos bits definidos
previamente,
los bloques de funcin,
los bloques de
comparacin.
%Q2.6 %M85

Los flancos pueden %S6


asociarse slo a objetos
bits E/S y a bits internos.

___________________________________________________________________________
2/7
A

Area de accin
%L
Contiene:
%M52
las bobinas directas, in-
versas, de conexin y %MW8:X1 %MW8:X10
/
desconexin, que %M8 %Q6.5
pueden asignarse a S
%M12
todos los objetos bits que R
el usuario puede escribir,
%MW2 := %MW0+1
los bloques de
operacin,
las dems "bobinas":
Call, Jump, Halt, Return.

Red simple %I1.3 %Q4.12


Control de una bobina
condicionada por un
contacto.
Se utiliza un mximo de 10
%M1 %I3.2 %MW18:X4 %Q4.2 %M15 %TM2.Q %I3.4 %MW1:X5 %M5 %C0.D %Q6.3
contactos en serie en una /
lnea.
Es posible probar 16
%L
contactos (7 contactos
%M5 %Q6.2
para TSX37) mximo en
paralelo en una columna y %I6.9 %M25

colocar 16 bobinas (7 bo- %MW15:X5 %MW8:X0


binas para TSX37) en /
%C6.E
paralelo. SR9
C
%Q5.2 %L20

%I3.7 %M12
R
%S4 %Q2.6
S
%M8 %M30

%M9 %M31

%M10 %M32
/
%M11 %M33
C
%M12 %M34

%M13 %M35
R
%M14 %M36
S
%M15 %M37

%M16 %M38

___________________________________________________________________________
2/8
A
Lenguaje de contactos 2

Red que utiliza varias cadenas de contactos

Una red puede dividirse


%L
en varias cadenas de
contactos independientes %I3.2 %MW6:X10 %M88 %L12

que controlan bobinas %C2.E SR


independientes. C
%S4 %Q3.2

%I6.5 %Q3.3
P /
16 lneas (7 lneas para %M53 %MW3:X6
TSX37) de contactos
%MW8:X4 %M27
independientes.
%M12 %M68
S
%M8 %M30
C
%M9 %M31

%M10 %M32
P /
%M11 %M33

%M12 %M34

%M13 %M35
S
%M14 %M36
C
%M15 %M37

%M16 %M38
P /

Redes que utilizan los %L

diferentes principios
enunciados. A C F

Estn rodeados los B D


elementos que se
E G
encuentran en el estado
lgico 1. La corriente
puede pasar de los
elementos A y C hacia la
bobina F, pero no puede
pasar del elemento C hacia
los elementos D y E. Por
consiguiente, no se activa
la bobina G.
___________________________________________________________________________
2/9
A

2.2-5 Red de contactos con bloques de funcin y de operacin

Los bloques de funcin se posicionan en el rea de prueba y se insertan en una red


de contactos.
Existen cuatro dimensiones de grafismo que representan todos los bloques de
funcin del lenguaje PL7.

%C4

Contador/Descontador 2 columnas
Comparador "vertical" 4 lneas

%TM10
Temporizadores 2 columnas
Monoestable 3 lneas
Registro
Programador cclico

Comparador "horizontal" 2 columnas COMPARE


1 lnea

Observacin:

Las entradas no cableadas de los bloques de funcin estndar se ponen a 0.

___________________________________________________________________________
2/10
A
Lenguaje de contactos 2

Los bloques de operacin se posicionan siempre en el rea de accin. Utilizan 1


lnea y 4 columnas y el lenguaje literal. Se conectan siempre directamente a la barra
de potencial derecha.

%MW10:X5
%MW22 : = %MW1+%MW9

Los bloques de funcin DFB se posicionan en el rea de prueba y se insertan en


una red de contactos.
Las dimensiones del grafismo dependen del nmero de entradas, salidas y de
entradas/salidas utilizadas:

EL ancho es fijo y es igual a 3 columnas. DFB

La altura es igual al ms mayor de los 2 nmeros


siguientes ms 1:

nmero de entradas y de entradas/salidas


o
nmero de salidas y de entradas/salidas

Ejemplo:
El nmero de entradas y de entradas/salidas es de 4,
el nmero de salidas y de entradas/salidas es de 3, la
altura del bloque es 4+1=5 columnas.

La altura mxima de un bloque de funcin DFB es de


16 lneas.

Observaciones:
Un bloque de funcin DFB debe tener por lo menos
una entrada booleana cableada.
Las entradas, salidas o entradas/salidas
numricas del bloque no estn cableadas. En
estos puntos se asocian objetos mencionados en
la celda colocada frente al punto.
Las entradas no cableadas de los bloques de
funcin DFB conservan el valor anterior a la llamada
o el valor de inicializacin si el bloque jams ha
sido llamado con esta entrada introducida o
cableada.
___________________________________________________________________________
2/11
A

Bloques de funcin en cascada


Igual que para los elementos grficos del tipo contacto, es posible realizar combinaciones
de bloques de funcin.
Serielizacin de bloques de funcin:

%L

%I3.6 %MN1 %TM12 %Q6.3


S R IN Q
TB : 100ms TYP : TP
TB : 100ms
MN.P : 80 TM.P : 200
MODIF : Y

Combinaciones de bloques de funcin y de operacin

%L

%I1.5 %TM10 %M28


%MW1>100 IN Q
%I1.2 TYP : TP
%MW2>500 TB : 1s %TM2.P := 3450
TM.P : 50
MODIF : Y

Otras posibilidades de bloques de funcin


Todos los tipos de bloques de funcin deben conectarse obligatoriamente en entrada
a la barra de potencial izquierda, o directamente o a travs de otros elementos grficos.
Salidas "sueltas": no es necesario conectar las salidas de bloques de funcin a otros
elementos grficos.
Salidas que se pueden probar: el usuario accede a las salidas de los bloques
funcin bajo forma de objetos bits.

%TM12.Q %C5.E %Q4.12

Las variables internas de bloques y las salidas grficas son objetos que pueden ser
explotados a distancia desde otra parte del programa.

___________________________________________________________________________
2/12
A
Lenguaje de contactos 2

2.3 Reglas de ejecucin de una red de contactos


2.3-1 Principio de ejecucin de una red
Una red se ejecuta red conexa por red conexa, y luego, dentro de la red conexa, de
la izquierda a la derecha.
Una red conexa contiene elementos grficos vinculados entre s por elementos de
enlace (fuera de la barra de potencial), pero independientes de los dems elementos
grficos de la red (en el lmite de la red conexa, sin enlaces verticales hacia arriba
o abajo).

%M0 %M8 %Q2.5


Red
%I2.5 %TM1
conexa 1
IN Q

Red
conexa 2

%M %Q2.6

INIT %M

Red
conexa 3

La primera red conexa evaluada es la cuya esquina izquierda se encuentra lo ms


arriba a la izquierda.

Una red conexa se evala en el sentido de la ecuacin: de arriba abajo, lnea por lnea
y cada lnea de la izquierda a la derecha.
Si se encuentra un enlace vertical de convergencia, se evala la subred asociada
(segn la misma lgica) antes de continuar la evaluacin de la red que la engloba.
Respetando este orden de ejecucin, el sistema:
evala el estado lgico de cada contacto, segn el valor actual de los objetos
internos de la aplicacin o del estado de las entradas de los mdulos E/S adquiridas
en el inicio del ciclo,
ejecuta los tratamientos asociados a funciones, a bloques de funcin y a
subprogramas,
actualiza los objetos bits asociados a bobinas (las salidas de los mdulos E/S se
actualizan al final del ciclo),
desva hacia otra red etiquetada del mismo mdulo de programa (salto a otra red
->>%Li), regresa al mdulo que llama <RETURN> o detiene el programa <HALT>.
Nota
Una red de contactos no debe contener redes conexas imbricadas.

___________________________________________________________________________
2/13
A

El orden de ejecucin de los elementos de esta red es el siguiente:

evaluacin de la red
%L
hasta que se encuentre
el primer enlace vertical A B C E H

de convergencia: con- D
tactos A, B, C,
F G
evaluacin de la primera
subred: contacto D,
continuacin de la
evaluacin de la red
hasta que se encuentre
el segundo enlace verti-
cal de convergencia:
contacto E,
evaluacin de la
segunda subred:
contactos F y G,
evaluacin de la
bobina H.
%L

INIT %M7 %Q2.1


Ejemplo de red
"booleana" %M5 %M4 UP_1
Orden de evaluacin:
%MW2:X1 INIT DOWN_1
bobina 1: INIT, %M5,
AUTO
%M7, %Q2.1,
bobina 2: %M4,
%MW2:X1, AUTO,
UP_1,
bobina 3: INIT,
DOWN_1.
%L

%M %M8 %Q2.9
Ejemplo de red que
contiene bloques %M2 %T1
Orden de evaluacin: E D
%M9
bobina 1: %M0, %M8, C R
%M2, %T1, %Q2.9,
bobina 2: %T1.R, %T2, %T1.D %T2
%M9, E D

bloque de operacin. C R %MW10 := %MW1+50

___________________________________________________________________________
2/14
A
Captulo 33
Lenguaje Lista de instrucciones
3 Lenguaje Lista de instrucciones
3.1 Presentacin del lenguaje Lista de instrucciones
3.1-1 Principio
Un programa escrito en lenguaje Lista de instrucciones se compone de una serie de
instrucciones ejecutadas secuencialmente por el autmata.

Ejemplo de instruccin: LD %I1.0

Cdigo de instruccin Operando


Cada instruccin se compone de un cdigo de instruccin y de un operando.
Estas instrucciones actan sobre:
las entradas/salidas del autmata (botones pulsadores, detectores, rels,
indicadores...),
funciones de automatismos (temporizadores, contadores...),
operaciones aritmticas y lgicas as como operaciones de transferencia,
las variables internas del autmata.
Hay dos tipos de instrucciones:
instruccin de prueba, en la que figuran las condiciones necesarias para una accin,
ej.: LD, AND, OR...
instruccin de accin, que da el resultado de un encadenamiento de prueba,
ej.: ST, STN, R...

___________________________________________________________________________
3/1
A

3.1-2 Instrucciones
Instrucciones de base
(para ms amplia informacin sobre las instrucciones, vase el apartado B)
Designacin Instrucciones Funciones equivalentes

Instrucciones LD, LDN, LDR, LDF P N


de prueba

AND, ANDN,
ANDR, ANDF
P N

OR, ORN, ORR, ORF


P N

AND(, OR(
(8 niveles de parntesis)

XOR, XORN, XORR, XORF O exclusiva

MPS
MRD
MPP

N Negacin

Instrucciones ST, STN, S, R S R


de accin
JMP, JMPC, JMPCN Permite una desviacin (incondicional, condicio-
nada a un resultado booleano a 1, condicionada a
un resultado booleano a 0) a una instruccin eti-
quetada, arriba o abajo.
SRn Desviacin en el inicio del subprograma.
RET, RETC, RETCN Regreso del subprograma (incondicional, condi-
cionado a un resultado booleano a 1, condicionado
a un resultado booleano a 0).
END, ENDC, ENDCN Fin de programa, (incondicional, condicionado a
un resultado booleano a 1, condicionado a un
resultado booleano a 0).
HALT Parada de la ejecucin del programa.

___________________________________________________________________________
3/2
A
Lenguaje Lista de instrucciones 3

Instrucciones para bloques de funcin (vase la seccin B, captulo 1.3)


Designacin Instrucciones Funciones
Elementos Bloques: Para cada bloque de funcin estndar
de prueba Temporizador existen instrucciones que permiten
Contador controlarlo.
Monoestable Una forma estructurada permite "cablear"
Registro directamente las entradas/salidas de bloques.
Programador

Instrucciones numricas (vase la seccin B)

Designacin Instrucciones Funciones


Elementos LD[.....] Permite comparar 2 operandos (vase la seccin
de prueba AND[.....] B, captulo 1.4-2), la salida pasa a 1 cuando se
OR[.....] verifica el resultado.

Ejemplo:
LD[%MW10<1000] El resultado es 1 cuando %MW10<1000.
Elementos [.......] Realizan operaciones aritmticas, lgicas...
de accin Utilizan la sintaxis del lenguaje literal estructurado
(vase la seccin B).
Ejemplo:
[%MW10:=%MW0+100] El resultado de la operacin %MW0+100 se coloca
en la palabra interna %MW10.

___________________________________________________________________________
3/3
A

3.2 Estructura de un programa


3.2-1 Generalidades
Igual que en el lenguaje de contactos, las instrucciones se organizan en secuencias
(equivalentes a una red de contactos) llamadas sentencia. Cada sentencia se
compone de una o varias instrucciones de prueba. El resultado de estas instrucciones
se aplica a una o varias instrucciones de accin.
Una instruccin ocupa al mximo una lnea.
Cada sentencia empieza con un signo de admiracin (generado automticamente).
Puede contener un comentario y estar marcada de una etiqueta.
! (*Espera de secado*)
%L2:
LD %I0.1
AND %M10
ST %Q2.5

3.2-2 Comentario
El comentario puede integrarse en el principio de una sentencia y ocupar un mximo
de 3 lneas (es decir, 222 caracteres alfanumricos), con los caracteres '(*' y '*)' en los
extremos. Facilita la interpretacin de la sentencia relacionada, pero no es obligatorio.
Los comentarios se muestran nicamente a partir de la primera lnea de la sentencia.
Cuando se elimina una sentencia, se elimina tambin el comentario asociado.
Los comentarios se almacenan en el autmata, donde quedan a la disposicin del
usuario en todo momento. Por consiguiente, consumen memoria de programa.

3.2-3 Etiqueta
La etiqueta (opcional) permite marcar una sentencia en una entidad de programa
(programa principal, subprograma, ...).
La etiqueta tiene la sintaxis siguiente: %Li, con i comprendida entre 0 y 999 y se coloca
en el principio de una sentencia.
Una etiqueta puede asignarse a una sola sentencia dentro de una misma entidad de
programa.
En cambio, es necesario poner etiqueta a una sentencia para permitir una desviacin
despus de un salto de programa.
El orden de las etiquetas no tiene importancia; es el orden de introduccin de las
sentencias que el sistema tiene en cuenta durante la exploracin.

___________________________________________________________________________
3/4
A
Lenguaje Lista de instrucciones 3

3.2-4 Utilizacin de los parntesis


Las instrucciones AND y OR pueden utilizar parntesis, lo que permite realizar de
modo sencillo esquemas de contactos. La apertura de parntesis se asocia a la
instruccin AND u OR. El cierre de parntesis es una instruccin obligatoria para cada
parntesis abierto.
Ejemplo: AND(

LD %I1.0
AND %I1.1
OR %I1.2
ST %Q2.0

LD %l1.0
AND( %I1.1
OR %l1.2
)
ST %Q2.0

Ejemplo: OR(
%I1.0 %I1.1 %Q2.0
LD %I1.0
AND %I1.1
%I1.2 %I1.3 OR( %I1.2
AND %I1.3
)
ST %Q2.0

A los parntesis se pueden asociar los modificadores siguientes:


N negacin, ej.: AND(N u OR(N
F flanco ascendente (Rising edge), ej.: AND(F u OR(F
R flanco descendente (Falling edge), ej.: AND(R u OR(R
[ comparacin

%I1.0 %I1.1 %Q2.0 LD %I1.0


AND %I1.1
%I1.3 OR( [%MW0>100]
%MW0>100 AND %I1.3
)
ST %Q2.0

___________________________________________________________________________
3/5
A

Imbricacin de parntesis
Es posible imbricar hasta 8 niveles de parntesis.
Ejemplo

%I1.0 %I1.1 %Q2.0 LD %I1.0


AND( %I1.1
%I1.2 %M3 OR(N %I1.2
AND %M3
)
)
ST %Q2.0

Ejemplo

%I1.1 %I1.2 %I1.3 %I1.4 %Q2.0 LD %I1.1


AND( %I1.2
AND %I1.3
%I1.5 %I1.6
OR(N %I1.5
AND %I1.6
%I1.7 %I1.8 )
AND %I1.4
OR(N %I1.7
AND %I1.8
)
)
ST %Q2.0

Nota
Cada parntesis abierto debe cerrarse imperativamente.
No deben colocarse en expresiones entre parntesis las etiquetas %Li:, ni las instrucciones
de salto JMP o las instrucciones de llamada al subprograma SRi.
No deben programarse entre parntesis las instrucciones de asignacin ST, STN, S y R.

___________________________________________________________________________
3/6
A
Lenguaje Lista de instrucciones 3

3.2-5 Instrucciones MPS, MRD, MPP


Estas tres instrucciones permiten tratar los encaminamientos hacia las bobinas.
Utilizan una memoria intermedia llamada pila que puede almacenar hasta 8
informaciones booleanas.
La instruccin MPS (Memory PuSh) almacena el resultado de la ltima instruccin de
prueba en lo alto de la pila y desplaza los dems valores hacia el fondo de la pila.
La instruccin MRD (Memory ReaD) lee la parte alta de la pila.
La instruccin MPP (Memory PoP) lee la parte alta de la pila, la desalmacena y
desplaza los dems valores hacia lo alto de la pila.
Ejemplos:

%I1.0 %M0 %I1.1 %Q2.0 LD %I1.0


AND %M0
MPS %I1.2 %Q2.1 MPS
AND %I1.1
ST %Q2.0
MRD %I1.3 %Q2.2 MRD
AND %I1.2
ST %Q2.1
MPP %I1.4 %Q2.3 MRD
AND %I1.3
ST %Q2.2
MPP
AND %I1.4
ST %Q2.3

%I1.0 %I1.1 %I1.3 %Q2.0


LD %I1.0

MPS

%M0 AND %I1.1


MPS
AND( %I1.3
%M1 %Q2.1 OR %M0
)

ST %Q2.0
%I1.4 %Q2.2 MPP

AND %M1
ST %Q2.1
%M10 %Q2.3
MRD

AND %I1.4

ST %Q2.2
MPP

AND %M10
ST %Q2.3

Nota
Estas instrucciones no pueden utilizarse en una expresin entre parntesis.
___________________________________________________________________________
3/7
A

3.2-6 Principios de programacin: bloques de funcin predefinidos


Los bloques de funcin de los %CI
automatismos pueden programarse de 2 R E
modos distintos:
con instrucciones especficas para cada S
bloque de funcin (ej.: CU %Ci); es el C.P : 9999 D
CU
modo ms sencillo y directo, MODIF : Y
con instrucciones de estructuracin de CD F
bloque BLK ,OUT_BLK, END_BLK.
Bloque contador/descontador

Principio de programacin directa

%I1.1 %C8 LD %I1.1


R E R %C8
%Q2.0 LDN %I1.2
S
%I1.2 %M0 C.P : 9999 D ANDN %M0
CU CU %C8
MODIF : Y LD %C8.D
CD F
ST %Q2.0

Las instrucciones controlan las entradas de los bloques (ej.: CU).


Se accede a las salidas bajo forma de bit (ej.: %C8.D).
Principio de programacin estructurada
Este tipo de programacin utiliza una serie de instrucciones acompaadas de:
la instruccin BLK, que indica el inicio del bloque,
la instruccin OUT_BL, que permite cablear directamente las salidas del bloque,
la instruccin END_BLK, que indica el fin del bloque.

%C8 BLK %C8


%I1.1
R E
LD %I1.1
R Tratamiento de
S %Q2.0 LDN %I1.2 entradas
%I1.2 %M0 C.P : 9999 D ANDN %M0
CU
MODIF : Y CU
CD F OUT_BLK
LD D Tratamiento de
ST %Q2.0 salidas
END_BLK

Puesto que este principio de programacin estructurada necesita las instrucciones


adicionales BLK, OUT_BLK y END_BLK, se necesitan volmenes de memoria
superiores a los requeridos en la programacin directa.
Sin embargo, este principio debe utilizarse si se desea conservar una similitud con los
programas reversibles para nanoautmatas TSX 07.
___________________________________________________________________________
3/8
A
Lenguaje Lista de instrucciones 3

3.3 Reglas de ejecucin de un programa en Lista de instrucciones


Un programa en Lista de instrucciones se ejecuta secuencialmente instruccin por
instruccin. La primera instruccin de una secuencia de instrucciones debe siempre ser
una instruccin LD o una instruccin incondicional (ej.: JMP).
Cada instruccin (salvo la LD y las instrucciones incondicionales) utiliza el resultado
booleano de la instruccin previa.
Ejemplo:
LD %I1.1 resultado booleano = estado del bit %I1.1
AND %M0 resultado booleano = Y del resultado booleano previo y del estado del
bit %M0
OR %M10 resultado booleano = O del resultado booleano previo y del estado del
bit %M10
ST %Q2.0 %Q2.0 toma el estado del resultado booleano previo.
Los parntesis permiten modificar el orden de aceptacin de los resultados booleanos:
Ejemplo:
LD %I1.1 resultado booleano = estado del bit %I1.1
AND %M0 resultado booleano = Y del resultado booleano previo y del estado del
bit %M0
OR( %M10 resultado booleano = estado del bit %M10
AND %I1.2 resultado booleano = Y del resultado booleano previo y del estado del
bit %I1.2
) resultado booleano = O del resultado booleano previo y del resultado
booleano de la instruccin situada antes de la instruccin con parntesis.
ST %Q2.0 %Q2.0 toma el estado del resultado booleano previo.
Las instrucciones JMP y llamada a subprograma pueden modificar la secuencia de las
instrucciones.
Ejemplo:
! LD %M0
JMPC %L10
! LD %I1.1
AND %M10 Salto a la etiqueta %L10 si %M0=1
ST %Q2.0
! %L10 :
LD %I1.3
AND %M20
.........

___________________________________________________________________________
3/9
NOTAS:

S
A
Captulo 44
Lenguaje Literal estructurado
4 Lenguaje Literal estructurado
4.1 Presentacin del lenguaje Literal estructurado
4.1-1 Principio
El lenguaje Literal estructurado permite realizar programas mediante la escritura de
lneas de programacin que constan de caracteres alfanumricos.
Este lenguaje se utiliza nicamente con el software PL7 Junior y PL7 Pro en los
autmatas TSX/PMX/PCX 57. En la versin PL7 Pro, este lenguaje permite la creacin
de los bloques de funcin del usuario DFB.
La sentencia literal constituye la entidad de base del lenguaje Literal. El conjunto de
sentencias permite definir un programa.
Las principales instrucciones del lenguaje Literal son:
instrucciones para bits,
instrucciones aritmticas y lgicas para palabras y dobles palabras,
instrucciones aritmticas para flotantes,
comparaciones numricas para palabras, dobles palabras y flotantes,
conversiones numricas,
instrucciones para tablas de bits, de palabras, de dobles palabras y de flotantes,
instrucciones para cadenas de caracteres,
comparaciones alfanumricas,
instrucciones de gestin de tiempo,
instrucciones para el programa,
instrucciones de control,
instrucciones para los bloques de funcin estndar,
instrucciones para los intercambios explcitos,
instrucciones de tipo funciones especficas (comunicacin, regulacin, etc ...).
Ejemplo:

___________________________________________________________________________
4/1
A

4.1-2 Instrucciones
Instrucciones para bits

Designacin Funcin
:= Asignacin de un bit
OR O booleana
AND Y booleana
XOR O exclusiva booleana
NOT Inversin
RE Flanco ascendente
FE Flanco descendente
SET Puesta a 1
RESET Puesta a 0

Comparaciones numricas de palabras, dobles palabras y flotantes

Designacin Funcin
< Estrictamente inferior a
> Estrictamente superior a
<= Inferior o igual a
>= Superior o igual a
= Igual a
<> Diferente de

Tablas de bits

Designacin Funcin

Tabla:= Tabla Asignacin entre dos tablas


Tabla:= Palabra Asignacin de una palabra a una tabla
Palabra:= Tabla Asignacin de una tabla a una palabra
Palabra:= Doble palabra Asignacin de una doble palabra a una tabla
Doble palabra := Tabla Asignacin de una tabla a una doble palabra
COPY_BIT Copia de una tabla de bits en una tabla de bits
AND_ARX Y entre dos tablas
OR_ARX O entre dos tablas
XOR_ARX O exclusiva entre dos tablas
NOT_ARX Negacin en una tabla
BIT_W Copia de una tabla de bits en una tabla de palabras
BIT_D Copia de una tabla de bits en una tabla de dobles palabras
W_BIT Copia de una tabla de palabras en una tabla de bits
D_BIT Copia de una tabla de dobles palabras en una tabla de bits
LENGHT_ARX Calcula la longitud de una tabla en nmero de elementos

___________________________________________________________________________
4/2
A
Lenguaje Literal estructurado 4

Aritmtica entera para palabras y dobles palabras


Designacin Funcin
+,-,*,/ Suma, Resta, Multiplicacin, Divisin entera
REM Resto de la divisin entera
SQRT Raz cuadrada entera
ABS Valor absoluto
INC Incremento
DEC Decremento
Aritmtica para flotantes
Designacin Funcin
+,-,*,/ Suma, Resta, Multiplicacin, Divisin entera
SQRT Raz cuadrada
ABS Valor absoluto
TRUNC Parte entera
LOG Logaritmo base 10
LN Logaritmo neperiano
EXP Exponenciacin natural
EXPT Exponenciacin de un real por un entero
COS Coseno de un valor en radianes
SIN Seno de un valor en radianes
TAN Tangente de un valor en radianes
ACOS Arco coseno (resultado ante 0 y 2)
ASIN Arco seno (resultado entre -/2) y +/2)
ATAN Arco tangente (resultado entre -/2 y +/2)
DEG_TO_RAD Conversin de grados en radianes
RAD_TO_DEG Conversin radianes en grados

Instrucciones lgicas para palabras y dobles palabras

Designacin Funcin

AND Y lgica
OR O lgica
XOR O lgica exclusiva
NOT Complemento lgico
SHL Desplazamiento lgico a la izquierda
SHR Desplazamiento lgico a la derecha
ROL Desplazamiento lgico circular a la izquierda
ROR Desplazamiento lgico circular a la derecha

Instrucciones sobre el programa


Designacin Funcin

HALT Parada de ejecucin del programa


JUMP Salto a una etiqueta
SRi Llamada de subprograma
RETURN Regreso de subprograma
MASKEVT Enmascaramiento de los sucesos en el autmata
UNMASKEVT Desenmascaramiento de los sucesos en el autmata
___________________________________________________________________________
4/3
A

Instrucciones de conversiones numricas


Designacin Funcin
BCD_TO_INT Conversin BCDBinaria
INT_TO_BCD Conversin BinariaBCD
GRAY_TO_INT ConversinGrayBinaria
INT_TO_REAL Conversin de un entero simple en formato flotante
DINT_TO_REAL Conversin de un entero doble en formato flotante
REAL_TO_INT Conversin de un flotante en formato entero simple
REAL_TO_DINT Conversin de un flotante en formato entero doble
DBCD_TO_DINT Conversin de un nmero BCD 32 bits en entero 32 bits
DINT_TO_DBCD Conversin de un entero 32 bits en nmero BCD 32 bits
DBCD_TO_INT Conversin de un nmero BCD 32 bits en entero 16 bits
INT_TO_DBCD Conversin de un entero 16 bits en nmero BCD 32 bits
LW Extraccin de la palabra menos significativa de 1 doble palabra
HW Extraccin de la palabra de ms significativa de 1 doble palabra
CONCATW Concatenacin de 2 palabras simples

Instrucciones para las tablas de palabras y dobles palabras

Designacin Funcin
Tabla := Tabla Asignacin entre dos tablas
Tabla := Palabra Inicializacin de una tabla
+, -, *, /, REM Operaciones aritmticas entre tablas
+, -, *, /, REM Operaciones aritmticas entre expresiones y tablas
SUM Suma de los elementos de una tabla
EQUAL Comparacin de dos tablas
NOT Complemento lgico de una tabla
AND, OR, XOR Operaciones lgicas entre dos tablas
AND, OR, XOR Operaciones lgicas entre expresiones y tablas
FIND_EQW, FIND_EQD Bsqueda del primer elemento igual a un valor
FIND_GTW, FIND_GTD Bsqueda del primer elemento superior a un valor
FIND_LTW, FIND_LTD Bsqueda del primer elemento inferior a un valor
MAX_ARW, MAX_ARD Bsqueda del valor mximo en una tabla
MIN_ARW, MIN_ARD Bsqueda del valor mnimo en una tabla
OCCUR_ARW, OCCUR_ARD Nmero de ocurrencias de un valor en una tabla
SORT_ARW, SORT_ARD Orden por orden ascendente o descendente de una tabla
ROL_ARW, ROL_ARD Desplazamiento circular a derecha de una tabla
ROR_ARW, ROR_ARD Desplazamiento circular a izquierda de una tabla
FIND_EQWP,FIND_EQDP Bsqueda del primer elemento igual a un valor desde un rango
LENGTH_ARW, LENGTH_ARD Clculo de la longitud de una tabla

___________________________________________________________________________
4/4
A
Lenguaje Literal estructurado 4

Instrucciones para tablas de flotantes

Designacin Funcin
Tabla := Tabla Asignacin entre dos tablas
Tabla := Flotante Inicializacin de una tabla
SUM_ARR Suma de los elementos de una tabla
EQUAL_ARR Comparacin de dos tablas
FIND_EQR Bsqueda del primer elemento igual a un valor
FIND_GTR Bsqueda del primer elemento superior a un valor
FIND_LTR Bsqueda del primer elemento inferior a un valor
MAX_ARR Bsqueda del valor mximo en una tabla
MIN_ARR Bsqueda del valor mnimo en una tabla
OCCUR_ARR Nmero de ocurrencias de un valor en una tabla
SORT_ARR Orden por orden ascendente o descendente
ROL_ARR Desplazamiento circular a la izquierda de una tabla
ROR_ARR Desplazamiento circular a la derecha de una tabla
LENGTH_ARR Clculo de longitud de una tabla

Instrucciones para cadenas de caracteres

Designacin Funcin
STRING_TO_INT Conversin ASCIIBinario (palabra simple formato)
STRING_TO_DINT Conversin ASCIIBinario (palabra doble formato)
INT_TO_STRING Conversin Binario(palabra simple formato) ASCII
DINT_TO_STRING Conversin Binario(palabra doble formato) ASCII
STRING_TO_REAL Conversin ASCIIFlotante
REAL_TO_STRING Conversin FlotanteASCII
<, >, <=, >=, =, <> Comparacin alfanumrica
FIND Posicin de una subcadena
EQUAL_STR Posicin del primer carcter diferente
LEN Longitud de una cadena de caracteres
MID Extraccin de una subcadena
INSERT Insercin de una subcadena
DELETE Supresin de una subcadena
CONCAT Concatenacin de dos cadenas
REPLACE Reemplazo de una cadena
LEFT Inicio de cadena
RIGHT Fin de cadena

___________________________________________________________________________
4/5
A

Instrucciones de gestin del tiempo


Designacin Funcin
SCHEDULE Funcin reloj calendario
RRTC Lectura fecha sistema
WRTC Actualizacin de la fecha sistema
PTC Lectura de fecha y cdigo de parada
ADD_TOD Agregado de una duracin a una hora del da
ADD_DT Agregado de una duracin a una fecha y hora
DELTA_TOD Medida de desviacin entre horas del da
DELTA_D Medida de desviacin entre fechas (sin hora)
DELTA_DT Medida de desviacin entre fechas (con hora)
SUB_TOD Envo del tiempo hacia la hora
SUB_DT Envo del tiempo hacia la hora y fecha
DAY_OF_WEEK Lectura del da actual de la semana
TRANS_TIME Conversin de la duracin en fecha
DATE_TO_STRING Conversin de una fecha en cadena de caracteres
TOD_TO_STRING Conversin de una hora en cadena de caracteres
DT_TO_STRING Conversin de una fecha completa en cadena de
caracteres
TIME_TO_STRING Conversin de una duracin en cadena de caracteres

Instrucciones "Orphe"
Designacin Funcin
WSHL_RBIT, DSHL_RBIT Desplazamiento a la izquierda en una palabra con
recuperacin de bits desplazados
WSHR_RBIT, DSHR_RBIT Desplazamiento a la derecha en una palabra con
extensin de sighno y recuperacin de bits desplazados
WSHRZ_C, DSHRZ_C Desplazamiento a la derecha en una palabra con rellenado con
0 y recuperacin de bits desplazados
SCOUNT Contaje/descontaje con sealizacin y rebasamiento
ROLW,ROLD Desplazamiento circular izquierdo
RORW,RORD Desplazamiento circular derecho

Instrucciones de temporizacin
Designacin Funcin
FTON Temporizacin en la conexin
FTOF Temporizacin en la desconexin
FTP Temporizacin de impulsin
FPULSOR Generador de seales rectangulares

Todas estas funciones e instrucciones, as como las instrucciones para los bloques
de funcin estndar, se detallan en la seccin B de este manual de referencia.
Las instrucciones y funciones para los intercambios explcitos y para las funciones
especficas se detallan en el "Manual de instalacin de funciones especficas".
Las estructuras de control se detallan en el prrafo 4.2-5 de esta seccin.

___________________________________________________________________________
4/6
A
Lenguaje Literal estructurado 4

4.2 Estructura de un programa


4.2-1 Generalidades
Un programa literal est organizada en sentencias. Cada sentencia literal se compone
de los elementos siguientes:
etiqueta,
comentarios,
instrucciones.
Cada uno de estos elementos es opcional; en otras palabras, es posible tener una
sentencia vaca, una sentencia constituida nicamente de comentarios o nicamente
de una etiqueta. El primer elemento de cada sentencia es un signo de admiracin
(automticamente generado).
Ejemplo:
! %L2 : (* He aqu una sentencia con una etiqueta, comentarios *)
SET %M0; %MW4 := %MW2 + %MW9;
(* y varias instrucciones *)
%MF12 := SQRT (%MF14);

4.2-2 Comentario

Un comentario tiene como elemento inicial y final los caracteres (* y *). Puede colocarse
en cualquier sitio en la sentencia. No se limita el nmero de comentarios por sentencia.
El comentario (opcional) facilita la interpretacin de la sentencia a la que est
asignado.
Todos los caracteres estn autorizados en un comentario.
El nmero de caracteres se limita a 256 por comentario.
Se prohiben los comentarios imbricados.
Un comentario puede constar de varias lneas.
Los comentarios se almacenan en el autmata para que el usuario pueda acceder a
ellos en todo momento. A este ttulo, consumen memoria de programa.

___________________________________________________________________________
4/7
A

4.2-3 Etiqueta
La etiqueta permite marcar una sentencia en una entidad de programa (programa
principal, subprograma, ...). Es opcional.
La etiqueta tiene la sintaxis siguiente : %Li con i comprendido entre 0 y 999. Se
posiciona en el inicio de sentencia. Una etiqueta puede asignarse a una sola sentencia
dentro de una misma entidad de programa (SR, Main, Mdulo de programa).
En cambio, es necesario etiquetar una sentencia para permitir una desviacin
despus de un salto de programa.
El orden de las etiquetas no tiene importancia; es el orden de introduccin de
sentencias que el sistema tiene en cuenta durante la exploracin.

4.2-4 Instrucciones
El programa se realiza a partir de instrucciones. Una sentencia literal puede contener
varias instrucciones. El carcter ';' debe ser obligatoriamente el ltimo elemento de
cada instruccin.

___________________________________________________________________________
4/8
A
Lenguaje Literal estructurado 4

4.2-5 Estructuras de control


Existen cuatro estructuras de control:
la accin condicional IF,
las acciones iterativas condicionales WHILE y REPEAT,
la accin repetitiva FOR.
Cada estructura de control tiene como primer y ltimo elemento una palabra clave en
la misma sentencia. Una estructura de control puede imbricarse en otra sin que sean
del mismo tipo. Las estructuras de control pueden venir precedidos o seguidos de
cualquier instruccin del lenguaje.
La accin condicional IF ... END_IF;
Forma simple (la instruccin realiza una accin si una condicin es verdadera).

Sintaxis Funcionamiento
Inicio de IF

IF condicin THEN
no verificada
CONDICION
acciones; verificada

ACCIONES
END_IF;
fin de IF

Ejemplo:

___________________________________________________________________________
4/9
A

Forma general

Sintaxis Funcionamiento
Inicio de IF
IF condicin 1 THEN
verificada
CONDICION 1
accin 1; no verificada
ACCION 1
ELSIF condicin 2 THEN
verificada
CONDICION 2
accin 2; no verificada

ACCION 2 ACCION 3
ELSE
fin de IF
accin 3;

END_IF;

Ejemplo:

Las condiciones pueden ser mltiples.


Cada accin representa una lista de instrucciones.
Es posible imbricar varias estructuras de control "IF".
El nmero de instrucciones ELSIF es ilimitado.
Hay al mximo una parte ELSE.

___________________________________________________________________________
4/10
A
Lenguaje Literal estructurado 4

La accin iterativa condicional WHILE ... END_WHILE;


La instruccin realiza una accin repetitiva mientras una condicin est verificada.

Sintaxis Inicio de IF Funcionamiento


inicio de WHILE
WHILE condicin DO no verificada
CONDICION
accin; verificada

ACCION
END_WHILE; fin de WHILE

Ejemplo:

La condicin puede ser mltiple.


La accin representa una lista de instrucciones.
La prueba de condicin se efecta antes de ejecutar la accin. Si al evaluar la
condicin por primera vez su valor es falso, la accin no se ejecuta.
`
Es posible imbricar varias estructuras de control WHILE.

___________________________________________________________________________
4/11
A

La accin iterativa condicional REPEAT ... END_REPEAT;


La instruccin realiza una accin repetitiva hasta que se verifique una condicin.

Sintaxis Funcionamiento
inicio de REPEAT

REPEAT
ACCION

accin;
CONDICION
no verificada
UNTIL condicin END_REPEAT; verificada
fin de REPEAT

Ejemplo:

La condicin puede ser mltiple.


La accin representa una lista de instrucciones.
La prueba de condicin se efecta despus de ejecutar la accin. Si al evaluar la
condicin por primera vez su valor es falso, la accin se ejecuta una vez.
Es posible imbricar varias estructuras de control REPEAT.

___________________________________________________________________________
4/12
A
Lenguaje Literal estructurado 4

La accin repetitiva FOR ... END_FOR;


La instruccin realiza un tratamiento un cierto nmero de veces incrementando un
ndice en 1 a cada bucle.

Sintaxis Funcionamiento
inicio de FOR
FOR ndice := valor inicial TO valor final DO
VALOR INICIAL INDICE
accin;
verdadero
INDICE >
END_FOR; VALOR FINAL fin
de FOR
falso
ACCION Continuacion

INDICE + 1 INDICE

Ejemplo:

Cuando el ndice es estrictamente superior al valor final, la ejecucin contina en la


instruccin que viene despus de la palabra clave END_FOR.
El incremento del ndice se efecta automticamente; por consiguiente, el usuario no
tiene que hacerlo.
La accin representa una lista de instrucciones.
El valor inicial y el valor final son expresiones numricas de tipo palabra.
El ndice es un objeto de tipo palabra accesible en escritura.
Es posible imbricar varias estructuras de control FOR.

___________________________________________________________________________
4/13
A

La instruccin de salida de bucle EXIT


La palabra clave EXIT permite detener la ejecucin del bucle y continuar en la
instruccin que viene despus de la palabra clave de fin de bucle.
Slo se utiliza en las acciones de uno de los tres bucles WHILE, REPEAT o FOR.
Est vinculada al bucle que engloba ms cercano; en otras palabras, no detiene la
ejecucin de todos los bucles que la engloban.

Ejemplo:

En este ejemplo, la palabra clave EXIT permite detener el bucle REPEAT pero no el
bucle WHILE.

___________________________________________________________________________
4/14
A
Lenguaje Literal estructurado 4

4.3 Reglas de ejecucin de un programa literal


Un programa literal se ejecuta secuencialmente, instruccin por instruccin, y teniendo
en cuenta las estructuras de control.
En el caso de expresiones aritmticas o booleanas compuestas de varios operadores,
las reglas de prioridad se definen entre los distintos operadores.

Reglas de prioridad de los operadores


La tabla siguiente indica en la evaluacin la prioridad de una expresin desde la ms
prioritaria hasta la menos prioritaria.

Operador Smbolo Prioridad


Parntesis (expresin) Ms fuerte
Complemento lgico NOT
Inversin NOT
- en un operando -
+ en un operando +
Multiplicacin *
Divisin /
Mdulo REM
Suma +
Resta -
Comparaciones <, >, <=, >=
Comparacin de igualdad =
Comparacin de desigualdad <>
Y lgica AND
Y booleana AND
O exclusiva lgica XOR
O exclusiva booleana XOR
O lgica OR Menos fuerte
O booleana OR

Ejemplo:
NOT %MW3 * 25 AND %MW10 + %MW12

En este ejemplo, NOT se efecta en %MW3 y el resultado se multiplica por 25. Luego,
se calcula la suma de %MW10 yt %MW12 y se efecta una Y lgica entre el resultado
de la multiplicacin y la adicin.

___________________________________________________________________________
4/15
A

Cuando hay un conflicto entre dos operadores de mismo nivel de prioridad, es el primer
operador que lleva ventaja (la evaluacin se efecta de la izquierda a la derecha).
Ejemplo:
%MW34 * 2 REM 6
En este ejemplo, %MW34 se multiplica primero por 2, y luego el resultado se
utiliza para realizar el mdulo.

Uso de los parntesis


Los parntesis se utilizan para modificar el orden de evaluacin de los operadores para
dar prioridad a una suma respecto a una multiplicacin.
Ejemplo:
(%MW10 + %MW11) * %MW12
En este ejemplo, la suma se efecta antes de la multiplicacin.

Es posible imbricar los parntesis. No se limita el nivel de imbricacin.


Tambin es posible utilizar los parntesis para evitar una mala interpretacin del
programa.
Ejemplo:
NOT %MW2 <> %MW4 + %MW6
Al utilizar las reglas de prioridad de los operadores, se obtiene la interpretacin
siguiente:

((NOT %MW2) <> (%MW4 + %MW6))

Es posible que el usuario piense que est efectuando la operacin:

NOT (%MW2 <> (%MW4 + %MW6))

Este ejemplo demuestra que el uso de los parntesis permite clarificar el


programa.

___________________________________________________________________________
4/16
A
Lenguaje Literal estructurado 4

Conversiones implcitas
Las conversiones implcitas implican las palabras y las dobles palabras. Los operadores,
que se utilizan en las expresiones aritmticas y en las comparaciones, y el operador de
asignacin efectan estas conversiones implcitas (que, por consiguiente, el usuario no
tiene que efectuar).
Para una instruccin en la forma: <operando 1> <operador> <operando 2>, las
conversiones posibles son:

Operando 1 Operando 2 Conversin Conversin Operacin


de tipo de tipo operando 1 operando 2 en el tipo
Palabra Palabra No No Palabra
Palabra Doble palabra Doble palabra No Doble palabra
Doble palabra Palabra No Doble palabra Doble palabra
Doble palabra Doble palabra No No Doble palabra

Para una asignacin en la forma <operando izquierdo> := <operando derecho>, es el


operando izquierdo que impone el tipo esperado para efectuar la operacin. Esto
significa que el operando derecho debe convertirse, si es necesario, segn esta tabla:

Tipo de operando Tipo de operando Conversin


izquierdo derecho operando derecho
Palabra Palabra No
Palabra Doble palabra Palabra
Doble palabra Palabra Doble palabra
Doble palabra Doble palabra No

Nota
Todas las operaciones entre dos valores inmediatos se efectan en doble longitud.

___________________________________________________________________________
4/17
NOTAS:

S
A
Captulo
Lenguaje Grafcet 5
5
5 Lenguaje Grafcet
5.1 Presentacin del lenguaje Grafcet
5.1-1 Nota sobre los principios del Grafcet
El lenguaje Grafcet es conforme al lenguaje "Diagrama funcional en secuencia" (SFC)
de la norma IEC 1131-3.
El Grafcet permite representar grficamente y de forma estructurada el funcionamiento
de un automatismo secuencial.
Esta descripcin grfica del comportamiento secuencial del automatismo y de las
situaciones que son su consecuencia se efecta mediante smbolos grficos sencillos:

Etapa inicial: define la situacin inicial


1 del autmata.
Transicin: las receptividades aso-
ciadas indican las condiciones lgicas
necesarias para el alcance de esta
2 transicin.
Activacin simultnea de las etapas
3 y 7 (Divergencia en Y). Los
subconjuntos formados por las etapas
3 Acciones 7 Acciones 3, 4, 5, 6 y 7, 8, 9 constituyen dos
secuencias llamadas simultneas.
Encaminamiento (Divergencia en O)
desde la eta pa 3 hacia la etapa 4 o
4 Acciones 5 8 Acciones
hacia la etapa 5.
Fin de encaminamiento (convergen-
cia en O) desde la etapa 4 o la etapa
5 hacia la etapa 6.
6 9 Etapa de fin de secuencia: permite
sincronizar secuencias simultneas.
Desactivacin simultnea de las
etapas 6 y 9 (convergencia en Y).
10 Acciones
Etapa: las acciones asociadas se
ejecutan slo cuando la etapa est
activa.
Las transiciones y los enlaces orientados simbolizan las posibilidades de evolucin
de las etapas activas.
Las acciones asociadas a etapas traducen de manera general "lo que se debe
hacer", cuando stas estn activas. Describen especialmente los comandos que se
deben transmitir a la parte operacional (proceso por automatizar) o a otros sistemas
automatizados. El conjunto de etapas activas en un momento dado define la situacin
del Grafcet.
___________________________________________________________________________
5/1
A

5.1-2 Anlisis progresivo: las macrorrepresentaciones


Pliego de especificaciones
Un automatismo permite garantizar
la mezcla de tres productos A, B, C. A B C

Los productos A y B son dosificados 0 0


por pesaje acumulado en una tolva
A
de pesaje B1. El producto C se pesa
y dosifica en la tolva B2. B C
La homogeneidad del producto final Tolva
Tremie Tolva
Tremie
se obtiene por malaxeo de tres peseuse
pesadora pesadora
peseuse
B1 B2B2
componentes en un mezclador B1 Mezclador
Mlangeur
durante un tiempo fijado por el
operador.
Cuando este tiempo expira, la
Evacuation
Evacuacin
mezcla final se puede evacuar tras
autorizacin externa.
Anlisis funcional
Esta aplicacin se divide en 4 Inicio
Dbut 1
secuencias principales:
- dosificacin de 3 componentes, ciclo par
cycle por ciclo
cycle
- llenado del mezclador,
Dosificacin
Dosage 10 Secuencia Dosif.
Squence Dosage
- mezcla de 3 productos,
- evacuacin de una mezcla final. fin
finde
dedosage
dosificacin
El Grafcet de la derecha permite
Llenado
Remplissage 20 Secuencia
Squence Llenado
Remplissage
representar el encadenamiento
global de las secuencias fin
finde remplissage
llenado
(representacin macroscpica de
un anlisis de primer nivel). Mezcla
Mlange 30 Secuencia Mezcla
Squence Mlange
El anlisis detallado de cada fin
fin de
demlange
mezcla
secuencia permite establecer
Grafcet de segundo nivel, incluso Evacuacin
Evacuation 40 Secuencia
Squence Evacuacin
Evacuation
de tercer nivel, hasta el nivel ms fin
find'vacuation
de evacuacin
elemental que permite la
descripcin completa de la
aplicacin.
Macrorrepresentaciones
El Grafcet de primer nivel que describe el encadenamiento de las secuencias
permite explicar mejor la estructuracin de la parte controlada. Cada secuencia se
asocia a una simbolizacin particular de la etapa: la macroetapa.
Esta nocin de "macrorrepresentacin" permite jerarquizar el anlisis. Cada nivel
se puede completar, modificar sin cuestionar los dems niveles.
Las macroetapas estn disponibles para los autnomas TSX57.
___________________________________________________________________________
5/2
A
Lenguaje Grafcet 5

Representacin grfica
Macroetapas

Secuencia dosificacin

Secuencia llenado

Grfico principal

Secuencia mezcla

Secuencia evacuacin

___________________________________________________________________________
5/3
A

5.2 Smbolos grficos relativos al lenguaje Grafcet

Designacin Smbolo Funciones

Etapas iniciales o Simbolizan las etapas iniciales activas en


i i
principio de ciclo despus de una
inicializacin o un arranque en fro.
Etapas simples Simbolizan un estado estable del automatismo.
i ou i
El nmero mximo de etapas es configurable:
- de 1 a 96 para un TSX 37-10,
- de 1 a 128 para un TSX 37-20
- de 1 a 250 para un TSX 57.
El nmero m ximo de etapas
simultneamente activas es configurable.
.
Macroetapas i Simboliza una macroetapa: conjunto nico
de etapas y transiciones. El nmero de
macroetapas mximo se puede
configurar de 0 a 63 para TSX 57
nicamente.
i ou i
Etapas de macroetapas (1) Simbolizan las etapas de una
macroetapa.
El nmero mximo de etapas para cada
IN ou OUT
macroetapa puede configurarse: de 0 a 250
para TSX 57.
Una etapa IN y OUT por macroetapa.
Transiciones Permiten pasar de una etapa a otra. Una
receptividad asociada a esta transicin
permite definir las condiciones lgicas
necesarias para el alcance de esta transicin.
El nmero de transiciones mximo es de
1024, y no es configurable.
El nmero m ximo de transiciones
simultneamente vlidas es configurable.

Divergencias en Y Transicin de una etapa hacia varias


etapas: permite activar simultneamente
mximo 11 etapas.
Convergencias en Y Transicin de varias etapas hacia una sola
etapa: permite desactivar simultneamente
mximo 11 etapas.

(1) E l nmero mximo de etapas (etapas del grfico principal + etapas de macroetapas)
en la seccin Grafcet no debe sobrepasar 1024 en TSX 57.

___________________________________________________________________________
5/4
A
Lenguaje Grafcet 5

Designacin Smbolo Funciones

Divergencias en O Transicin de una etapa hacia varias etapas:


permite realizar un encaminamiento hacia
mximo 11 etapas.

Convergencias en O Transicin de varias etapas hacia una sola


etapa: permite realizar un fin de
encaminamiento desde mximo 11 etapas
Remisiones de origen n n' es el nmero de la etapa de donde se viene
(etapa de origen).

Remisiones de destino 'n' es el nmero de la etapa de adonde se va


(etapa de destino).
n
Enlaces orientados: Estos enlaces permiten realizar un
hacia arriba encaminamiento, un salto de etapas, una
reanudacin de etapas (secuencia).
hacia abajo

hacia la derecha o la izquierda

___________________________________________________________________________
5/5
A

5.3 Objetos relativos al Grafcet


El usuario dispone de objetos bits asociados a etapas, de bits sistema especiales del
lenguaje Grafcet, de objetos palabras que indican el tiempo de actividad de las etapas
y palabras sistema especiales del lenguaje Grafcet.
Designacin Direccin Descripciones
Bits asociados a etapas %Xi Estado de la etapa i del Grafcet principal
(i de 0 a n) (n depende del procesador).
%XMj Estado de la macroetapa j
(j de 0 a 63 para TSX /PMX/PCX 57)
%Xj.i Estado de la etapa i de la macroetapa j
%Xj.IN Estado de la etapa de entrada de la macroetapa j
%Xj.OUT Estado de la etapa de salida de la macroetapa j
%S21 Inicializa el Grafcet.
%S22 Efecta la puesta a cero general
Bits sistema asociados del Grafcet.
al Grafcet (1)
%S23 Inmoviliza el Grafcet.
%S24 Provoca la puesta a 0 de macroetapas en funcin
de las palabras sistema %SW22 %SW25
%S26 Puesta a 1 cuando hay:
- rebasamiento de tablas (etapas/transicin),
- ejecucin de un grfico incorrecto (remisin de
destino a una etapa que no pertenece al grfico).
Palabras asociadas a etapas %Xi.T Tiempo de actividad de la etapa i del Grafcet
principal.
%Xj.i.T Tiempo de actividad de la etapa i de la
macroetapa j
%Xj.IN.T Tiempo de actividad de la etapa de entrada de la
macroetapa j
%Xj.OUT.T Tiempo de actividad de la etapa de salida de la
macroetapa j
Palabras sistema asociadas %SW20 Palabra que permite conocer para el ciclo
al Grafcet actual el nmero de etapas activas, por activar
y desactivar.
%SW21 Palabra que permite conocer para el ciclo actual el
nmero de transiciones vlidas, por validar o
invalidar.
%SW22 a Serie de 4 palabras que permite designar
%SW25 las macroetapas a poner a 0 cuando se ponen a 1
el bit %S24.
(1) El uso de los bits sistema se detalla en el subcaptulo 5.2-3 de esta seccin.

___________________________________________________________________________
5/6
A
Lenguaje Grafcet 5

Bits asociados a las etapas %Xi, a las macroetapas %XMi, y a las etapas de
macroetapas %Xj.I , %Xj.IN y %Xj.OUT
Estn en 1 cuando las etapas estn activas.
Estos bits pueden ser probados en todas las tareas, pero slo pueden escribirse en
el tratamiento preliminar de la tarea maestra (preposicionamiento de los grficos).
Estas pruebas y acciones se programan ya sea en lenguaje de contactos, en
lenguaje lista de instrucciones o en lenguaje literal.
Estos bits son indexables.

Palabras de tiempo de actividad de las etapas %Xi.T y de las etapas de macroetapas


%Xj.I , %Xj.IN y %Xj.OUT
Son incrementados cada 100 ms y toman un valor de 0 a 9999.
Incrementacin de la palabra: durante la actividad de la etapa asociada.
Al desactivar la etapa, el contenido queda inmovilizado.
Al activar la etapa, el contenido se pone en cero y luego se incrementa.
El nmero de palabras tiempo de actividad no puede configurarse y una palabra
est reservada para cada etapa.
Estas palabras son indexables.

5.4 Posibilidades del lenguaje Grafcet


Dependen del procesador a programar, y se recapitulan en la tabla que sigue:

Nmero TSX 37-10 TSX 37-20 TSX 57


Predet. Mx. Predet. Mx. Predet. Mx.
Etapas del grfico principal 96 96 128 128 128 250
Macroetapas 0 0 0 0 8 64
Etapas de macroetapas 0 0 0 0 64 250
Total de etapas 96 96 128 128 640 1024
Etapas activas 16 96 20 128 40 250
simultneamente

Transiciones vlidas 20 192 24 256 48 400


simultneamente

El nmero de transiciones sncronas (o nmero de convergencias en ET) no debe


sobrepasar 64. El nmero total de transiciones permanece en 1024.

___________________________________________________________________________
5/7
A

Ejemplo de TSX 57 :
El tratamiento secuencial est estructurado en:
1 subconjunto: Grfico principal,
64 subconjuntos: Macroetapas
Estos subconjuntos se subdividen a su vez en pginas (vase esquema que sigue).

Grfico principal Macroetapa 0


8 pginas
Pg. 8 8 pginas Pg. 8 250 etapas
250 etapas mximo
mximo
+ Etapa IN
Pg.3 + Macroetapas Pg. 3
+ Etapa OUT
Pg. 2 Pg. 2
+ Macroetapas
Pg. 1 Pg. 1

Macroetapa12

Pg. 8
Posibilidades mximas
ofrecidas por el
8 pginas
tratamiento secuencial:
Pg. 3 250 etapas
1024 etapas (etapas del
mximo
grfico principal + etapas
de macroetapas) Pg. 2
+ Etapa IN
64 Macroetapas
Pg. 1
+ Etapa OUT

+ Macroetapas
Macroetapa 63

Pg. 8

8 pginas
Pg. 3
250 etapas
Pg. 2 mximo

Pg. 1 + Etapa IN

+ Etapa OUT

+ Macroetapas

___________________________________________________________________________
5/8
A
Lenguaje Grafcet 5

5.5 Representacin del Grafcet


El grfico principal se programa en 8 pginas (de 0 a 7). Cada pgina Grafcet consta
de 14 lneas y 11 columnas que definen 154 celdas. Es posible introducir un elemento
grfico en cada celda.

Reglas de escritura
La primera lnea permite introducir remisiones de origen.
La ltima lnea permite introducir remisiones de destino.
Las lneas pares (de 2 a 12) son lneas de etapa (para las etapas y las remisiones
de destino).
Las lneas impares (de 3 a 13) son lneas de transicin (para las transiciones y las
remisiones de origen).
Un nmero diferente (de 0 a 127) marca cada etapa (el orden no tiene importancia).
Es posible representar varios grficos en una misma pgina.

___________________________________________________________________________
5/9
A

Encaminamiento y fin de encaminamiento

El nmero de transiciones encima de un fin de encaminamiento (convergencia


en O) o debajo de un encaminamiento (divergencia en O) no debe exceder 11.
Un encaminamiento puede trazarse hacia la izquierda o la derecha.
El ltimo elemento de un encaminamiento suele ser un fin de encaminamiento.
Para evitar alcanzar simultneamente varias transiciones, las receptividades
asociadas deben ser exclusivas.

Activacin y desactivacin simultneas de etapas

El nmero de etapas debajo de une activacin simultnea (divergencia en Y) o


encima de una desactivacin simultnea (convergencia en Y) no debe exceder 11.
El ltimo elemento de una activacin simultnea de etapas suele ser una
desactivacin simultnea de etapas.
La activacin simultnea se representa siempre de la izquierda a la derecha.
La desactivacin simultnea se representa siempre de la derecha a la izquierda.

___________________________________________________________________________
5/10
A
Lenguaje Grafcet 5

Utilizacin de las remisiones


Las remisiones aseguran la continuidad de un Grafcet cuando no es posible trazar
directamente un enlace orientado o en una pgina o entre dos pginas consecutivas
o no. Una remisin de destino, a la que corresponde sistemticamente una remisin
de origen, asegura esta continuidad.

El cierre de un grfico puede efectuarse mediante remisiones (por ejemplo, cierre


de la etapa 18 hacia la etapa 0).
Una reanudacin de secuencia puede efectuarse mediante remisiones (por ejemplo,
la etapa10 hacia la etapa 1 o la etapa 8 hacia la etapa 2).
Uso de las remisiones cuando una rama de grfico es ms larga que la pgina (por
ejemplo, la etapa 9 hacia la etapa 10).

___________________________________________________________________________
5/11
A

Remisiones durante un encaminamiento y un fin de encaminamiento


Para un encaminamiento, las
transiciones y las remisiones de destino
de un encaminamiento deben
introducirse en la misma pgina.
Pg. 1

Pg. 2
Las remisiones de origen de un
encaminamiento deben introducirse en
la misma pgina que la etapa de destino.

A un fin de encaminamiento seguido de Pg. 1


una remisin de destino deben
corresponder tantas remisiones de
origen como hay etapas antes del fin de
encaminamiento. Pg. 2

___________________________________________________________________________
5/12
A
Lenguaje Grafcet 5

Remisiones durante una activacin y desactivacin simultneas de etapas


Para una activacin simultnea de
etapas, las remisiones de destino deben
encontrarse en la misma pgina que la
etapa y la transicin de divergencia.
Pg. 2

Pg. 3

Para una desactivacin simultnea, las


etapas y la transicin de convergencia
deben encontrarse en la misma pgina
que la remisin de destino.
Cuando varias etapas convergen hacia Pg. 4
una sola transicin, la remisin de
origen tiene el nmero de la etapa Pg. 5
superior ms a la izquierda.

Enlaces orientados
Los enlaces orientados vinculan
una etapa a una transicin o una
transicin a una etapa. Pueden
ser verticales o horizontales.
Los enlaces orientados pueden:
- cruzarse : son entonces de
naturaleza diferente,
- encontrarse : son entonces de
misma naturaleza.
Es imposible que un enlace cruce
una activacin o una
desactivacin simultnea de
etapas.

___________________________________________________________________________
5/13
A

Comentarios
En una pgina Grafcet, un
comentario puede introducirse en
cualquier celda. El texto del
comentario se encuentra entre (*
a la izquierda y *) a la derecha. Su
tamao mximo es de 64
caracteres.
Un comentario ocupa dos celdas
contiguas en dos lneas
mximas. Si el rea de
visualizacin es demasiado
pequea, el comentario se trunca
en la pantalla, pero al imprimir la
documentacin, el comentario se
presenta por completo.
El comentario introducido en una
pgina Grafcet se almacena en
las informaciones grficas
transferidas al autmata.

___________________________________________________________________________
5/14
A
Lenguaje Grafcet 5

5.6 Macroetapas
Una macroetapa es una representacin de un conjunto de etapas y de transiciones
denominado expansin de la macroetapa. Esta se caracteriza por una etapa de
entrada y una etapa de salida.

5.6-1 Principio
IN
Una macroetapa es la simbolizacin grfica de
una secuencia.
Se distingue por una etapa que tiene dos rayas 1 1 11
horizontales.
La etapa de entrada responde a las mismas reglas M1 2 12
que las otras etapas.
La etapa de salida no puede tener acciones 2 13
asociadas.

3 OUT

Cuando la macroetapa est activa, la evolucin


1
Grafcet respeta las reglas enunciadas en los
captulos anteriores.
La macroetapa M1 se activa cuando la etapa 1 IN
est activa y su receptividad siguiente es
verdadera. 1 11
Se desactiva cuando la etapa de salida est activa
y la receptividad M1>2 es verdadera. M1
2 12
La etapa 2 se activa entonces.

13

OUT

___________________________________________________________________________
5/15
A

5.6-2 Caractersticas
El lenguaje Grafcet PL7 autoriza la programacin de 64 macroetapas M0 a M63.
La expansin de una macroetapa constituida por una o varias secuencias, es
programable como mximo en 8 pginas y comprende un mximo de 250 etapas ms
la etapa IN y la etapa OUT.
Una macroetapa puede contener una o varias macroetapas.
Esta jerarqua es posible hasta 64 niveles.
El anlisis de una aplicacin puede ser estructurado de manera que proporcione un
enfoque global y luego detallado de las diferentes operaciones que se van a realizar.

0 IN IN

M0 M1 1 M4

1 1 M2 12

2 2

OUT OUT
Hacia un anlisis detallado
Vers une analyse dtaille

5.6-3 Etapas iniciales


La expansin de una macroetapa 1 2 3 4 5 6 7

puede contener una o varias etapas


iniciales.
Initialisacion
Estas etapas iniciales se activan al
encender o efectuar una inicializacin 1 IN 22
por programa. La macroetapa se
visualiza entonces en el estado activo.
M3 11

12

13 21

___________________________________________________________________________
5/16
A
Lenguaje Grafcet 5

5.7 Acciones asociadas a etapas


A cada etapa se asocian acciones que pueden programarse en el lenguaje de
contactos, en el lenguaje Lista de instrucciones o en el lenguaje Literal estructurado.
Estas acciones se exploran nicamente si la etapa a la que se asocian est activa. El
software PL7 autoriza tres tipos de accin:
las acciones al activar: acciones ejecutadas una vez cuando la etapa a la que estn
asociadas pasa del estado inactivo al estado activo.
las acciones al desactivar: acciones ejecutadas una vez cuando la etapa a la que
estn asociadas pasa del estado activo al estado inactivo.
las acciones continuas: estas acciones se ejecutan mientras la etapa a la que estn
asociadas est activa.
Estos tres tipos de accin son vlidos para cada etapa.
Una misma accin puede comprender varios elementos de programacin (sentencias
o redes de contactos).

Marcar acciones
Estas acciones se marcan de la manera siguiente:
MAST - <nombre seccin Grafcet> - CHART (o MACROk)- PAGE n %Xi x
con: x = P1 Activacin
= N1 Continua
= P0 Desactivacin
n = Nmero de la pgina
i = Nmero de la etapa
Ejemplo: MAST - Pintura - CHART - PAGE 0 %X1 P1
Accin al activar la etapa 1 de la pgina 0 de la seccin Pintura

Reglas de utilizacin
Todas las acciones se consideran como acciones memorizadas; por consiguiente:
- una accin servocontrolada la duracin de la etapa Xn debe ponerse a cero cuando
la etapa Xn se desactiva o cuando la etapa Xn+1se activa.
- una accin con efecto mantenido en varias etapas se posiciona a 1 cuando la etapa
Xn se activa y se pone a 0 cuando la etapa Xn+m se desactiva.
Todas las acciones pueden servocontrolarse por condiciones lgicas, por
consiguiente, ser condicionales.
Las acciones sercontroladas a seguridades indirectas deben programarse en el
tratamiento posterior (tratamiento ejecutado en cada exploracin: vase el captulo
5.2 "Organizacin de la tarea maestra").

___________________________________________________________________________
5/17
A

Acciones al activar o al desactivar


Estas acciones son impulsivas y se ejecutan en un solo ciclo de exploracin. Permiten
llamar a un subprograma, incrementar un contador, etc...
Ejemplos:
Llamada a un subprograma

Incremento de la palabra %MW10 y puesta a cero de %MW0 y %MW25

Acciones continuas
Accin condicional
Ejemplo
El bit %M10 est servocontrolada a la entrada %I2.5 o al bit interno %M9 y a la entrada
%I1.2.
Mientras la etapa 2 est activa y estas condiciones estn presentes, %M10 est
posicionada a 1. El ltimo estado ledo al desactivar se almacena puesto que las
acciones asociadas ya no se exploran.
Es pues necesario poner a 0 el bit %M10 en la accin al desactivar la etapa, por
ejemplo.

___________________________________________________________________________
5/18
A
Lenguaje Grafcet 5

Accin condicional temporizada


Se trata de un caso particular, ya que el tiempo interviene como condicin lgica.
Este servocontrol puede realizarse simplemente probando el tiempo de actividad
asociado a la etapa.
Ejemplo
El bit %M12 se controla mientras el tiempo de actividad de la etapa 3 es inferior a
10 segundos (base de tiempo: 100 ms).

Estas acciones pueden tambin ser incondicionales.


Orden de ejecucin de las acciones
En el ejemplo siguiente, en un ciclo completo, el orden de ejecucin de las acciones
es la siguiente.
Cuando la etapa 51 se activa, las acciones se ejecutan en el orden siguiente:
1. acciones al desactivarse la etapa 50,
2. acciones al activarse la etapa 51,
3. acciones continuas de la etapa 51.

50 Activacion %X50 Continua %X50 Desactivacion %X50

51 Activacion %X51 Continua %X51 Desactivacion %X51

Cuando la etapa 51 se desactiva, las acciones continuas asociadas ya no se exploran.

___________________________________________________________________________
5/19
A

5.8 Receptividades asociadas a transiciones


A cada transicin se asocia una receptividad que puede programarse en el lenguaje
de contactos, en el lenguaje Lista de instrucciones o en el lenguaje Literal estructurado.
Una receptividad se explora slo si la transicin a la que est asociada es vlida.
Una receptividad corresponde a una red de contactos, a una lista de instrucciones
o a una expresin literal, que comprende una serie de pruebas de bit y/o de palabra.
Una receptividad no programada es una receptividad siempre falsa.
Marcar la receptividad
Las receptividades se marcan de la manera siguiente:
MAST - <nombre seccin Grafcet> - CHART(o MACROk) - PAGE n %X(i) --> % X(j)
con: n = Nmero de la pgina
i = Nmero de etapa arriba
j = Nmero de etapa abajo
Ejemplo: MAST - Pintura -CHART - PAGE 0 %X(0) %X(1)
Receptividad asociada a la transicin entre la etapa 0 y la etapa 1 de la
pgina 0 del grfico de la seccin Pintura
En una activacin o desactivacin simultnea de etapas, la marca indicada es la de
la etapa situada en la columna ms a la izquierda.

Reglas de programacin en lenguaje de contactos


La receptividad asociada a la transicin se programa en la forma de una red que
comprende un rea de prueba y un rea de accin.
La estructura de la red es idntica a la de una red programada en un mdulo de
programa.
Slo se pueden utilizar los elementos siguientes:
elementos grficos de prueba: contactos (%Mi, %I, %Q, %TMi.D ...), bloques de
comparacin,
elementos grficos de accin: bobina "#" nicamente (las dems bobinas no son
significativas en este caso).

___________________________________________________________________________
5/20
A
Lenguaje Grafcet 5

Reglas de programacin en el lenguaje Lista de instrucciones


La receptividad asociada a la transicin se programa en la forma de una lista de
instrucciones que contiene nicamente instrucciones de prueba.
La lista de instrucciones admitida para la escritura de una receptividad difiere de una
lista de instrucciones clsica en:
la estructura general:
- sin etiquetas (%L).
la lista de instrucciones:
- sin instrucciones de accin (objetos bits, palabras o bloques de funcin),
- sin saltos, ni llamadas de subprograma.

Reglas de programacin en el lenguaje Literal estructurado


La receptividad asociada a la transicin se programa en la forma de una expresin
booleana o aritmtica o de una asociacin de ambas.
La expresin admitida para la escritura de una receptividad difiere de una lnea de
programacin en el lenguaje literal en:

la estructura general:
- sin etiqueta (%L),
- sin sentencias de accin, ni sentencias condicionales o sentencias iterativas.

la lista de instrucciones:
- sin accin sobre el objeto bit,
- sin saltos, ni llamadas de subprograma,
- sin transferencias, ni instrucciones de accin para bloques.

___________________________________________________________________________
5/21
A

Receptividad que utiliza el tiempo de actividad


En ciertas aplicaciones, hay acciones que se regulan sin control de informacin
devuelta (fin de recorrido, detector, ...). Un tiempo condiciona la duracin de la etapa;
el lenguaje PL7 permite utilizar el tiempo de actividad asociado a cada etapa.

Ejemplo
Si se desea permanecer en la etapa 3 durante 15 segundos, la receptividad asociada
a la transicin entre la etapa 3 y la etapa 4 ser la de la pantalla siguiente (por ejemplo,
en lenguaje Literal estructurado).

___________________________________________________________________________
5/22
A
Lenguaje Grafcet 5

5.9 Organizacin de la seccin Grafcet


5.9-1 Descripcin de la seccin Grafcet
Una seccin de programa escrito en
lenguaje Grafcet comprende tres
tratamientos consecutivos:
el tratamiento preliminar Prl,
el tratamiento secuencial Chart,
el tratamiento posterior Post.
Las macroetapas se ejecutan en su orden
de escrutinio en el tratamiento secuencial.

La seccin Grafcet se programa en la


tarea MAST.

El escrutinio de la seccin se efecta segn el orden siguiente:

Seccin Grafcet
Tratamiento preliminar:
Permite tratar:
las inicializaciones al reanudar tras
corte de corriente o falla, Tratamiento Preliminar
preposicionar el grfico, Lenguaje de contactos,
lgica de entrada. lista de instrucciones
o literal

Tratamiento secuencial:
Tratamiento Secuencial
Permite tratar el esquema secuencial de
Grafcet
la aplicacin y da acceso al tratamiento de
las receptividades y acciones
directamente asociadas a las etapas.
Tratamiento Posterior
Lenguaje de contactos,
lista de instrucciones
Tratamiento posterior: o literal
Permite tratar:
la lgica de salida,
la supervisin de las seguridades
indirectas especficas a las salidas.

___________________________________________________________________________
5/23
A

5.9-2 Tratamiento preliminar


Introducido en el lenguaje de contactos, en el lenguaje Lista de instrucciones o en el
lenguaje Literal, el tratamiento preliminar se explora en su totalidad desde arriba hacia
abajo.
Ejecutado antes de los tratamientos secuencial y posterior, permite tratar todos los
sucesos que tienen una influencia sobre stos:
gestin de las reanudaciones de alimentacin y de las reinicializaciones,
puesta a cero o preposicionamiento de los grficos.
Es pues nicamente en el tratamiento preliminar que actuar sobre los bits asociados
a las etapas (puesta a 0 o a 1 de los bits etapas %Xi por las instrucciones Set y Reset).

Preposicionamiento del Grafcet


Puede ser necesario preposicionar un Grafcet cuando el funcionamiento pasa de la
marcha normal a una marcha especial o cuando aparece un incidente (ejemplo: falla
que causa una marcha deteriorada).
Esta operacin interviene en el desarrollo normal del ciclo de la aplicacin; debe pues
efectuarse con precaucin. El posicionamiento puede comprender la totalidad o una
parte del tratamiento secuencial:
utilizando las instrucciones SET, RESET,
mediante la puesta a cero general (%S22) y luego, en el ciclo siguiente,
posicionamiento a 1 de las etapas.

Nota
Si se trata de la puesta a cero de una etapa cuando sta se desactiva, las acciones no se ejecutan.

___________________________________________________________________________
5/24
A
Lenguaje Grafcet 5

5.9-3 Utilizacin de los bits sistema en el tratamiento preliminar


Ya que los bits sistema asociados al Grafcet se clasifican numricamente en orden de
prioridad (%S21 a %S23), cuando varios de ellos se ponen simultneamente a 1 en
el tratamiento preliminar, stos se tratan uno a uno en el orden creciente (uno solo es
vlido por ciclo de exploracin). Estos bits se validan al inicio del tratamiento
secuencial.

Inicializacin del Grafcet: %S21


Normalmente en el estado 0, la puesta al estado 1 de %S21 tiene como consecuencia:
la desactivacin de las etapas activas,
la activacin de las etapas iniciales.

Puesta al estado 1 Puesta al estado 0


Mediante la puesta al estado 1 de %S0 Mediante el sistema al inicio del
Mediante el programa de usuario tratamiento secuencial
Mediante el terminal (1) Mediante el programa de usuario
Mediante el terminal

Utilizacin
Cuando el programa de usuario efecta la gestin, %S21 debe ponerse a 0 o a 1
en el tratamiento preliminar.

Puesta a cero del Grafcet: %S22


Normalmente en el estado 0, la puesta a 1 de %S22 desactiva las etapas activas de
todo el tratamiento secuencial.
Puesta al estado 1 Puesta al estado 0
Mediante el programa de usuario Mediante el sistema al final del
Mediante el terminal (1) tratamiento posterior

Utilizacin
- Este bit debe tener el valor 1 en el tratamiento preliminar.
- El sistema pone %S22 a cero; por consiguiente, es intil ponerlo a 0 desde el
programa o el terminal.
Para rearrancar el tratamiento secuencial en una situacin dada, el usuario debe
prever segn su aplicacin un procedimiento de inicializacin o de preposicionamiento
del Grafcet.

(1) En la pantalla de depuracin UC (parte Grafcet) o en la tabla de animacin.

___________________________________________________________________________
5/25
A

Inmovilizacin del Grafcet: %S23


Normalmente en el estado 0, la puesta al estado 1 de %S23 provoca el mantenimiento
en el estado de los Grafcet. Cual que sea el valor de las receptividades debajo de las
etapas activas, los Grafcet no evolucionan. La inmovilizacin se conserva mientras el
bit %S23 est a 1.
Puesta al estado 1 Puesta al estado 0
Mediante el programa de usuario Mediante el programa de usuario
Mediante el terminal (1) Mediante el terminal (1)

(1) En la pantalla de depuracin UC (parte Grafcet) o en la tabla de animacin.

Utilizacin
- El programa de usuario efecta la gestin de este bit que debe ponerse a 1 o a 0
en el tratamiento preliminar.
- El bit %S23 asociado a los bits %S21 y %S22 permite inmovilizar el tratamiento
secuencial al estado inicial o al estado 0. Asimismo, el Grafcet puede preposicionarse
y luego inmovilizarse mediante %S23.

En una nueva aplicacin, o si se pierde el contexto sistema, el sistema efecta un


arranque en fro. El sistema pone el bit %S21 a 1 antes de la llamada del tratamiento
preliminar y el Grafcet se posiciona en las etapas iniciales. Si el usuario desea un
tratamiento particular respecto a la aplicacin en caso del arranque en fro, tiene la
posibilidad de probar %S0 que permanece a 1 durante el primer ciclo de la tarea
maestra (MAST).
Despus de un corte de corriente sin cambio de aplicacin, el sistema efecta un
rearranque en caliente. Reanuda el funcionamiento en el estado anterior al corte de
corriente. Si el usuario desea un tratamiento particular respecto a la aplicacin en caso
de rearranque en caliente, tiene la posibilidad de probar %S1 en el tratamiento
preliminar y acceder al programa correspondiente.

___________________________________________________________________________
5/26
A
Lenguaje Grafcet 5

Puesta a cero de las macroetapas: %S24


Normalmente en el estado 0, la puesta a 1 de %S24 provoca la puesta a cero de las
macroetapas seleccionadas de una tabla de 4 palabras sistema (%SW22 a %SW25).

Puesta a estado 1 Puesta a estado 0


Por el programa de usuario Por el sistema al inicio del tratamiento
secuencial

Utilizacin
- este bit debe escribirse en 1 nicamente en el tratamiento preliminar,
- la puesta en 0 de %S24 es manejada por el sistema, est prohibido entonces
volver a ponerlo a por programa o por el terminal.

Tabla de palabras %SW22 a %SW25


A cada bit de esta tabla corresponde una macroetapa.
Su utilizacin es la siguiente:
carga de la tabla de palabras %SW22 a %SW25 (bit a puesta a 1 cuando la
macroetapa correspondiente no debe ser puesta en cero),
validacin por %S24.
F %SW22 0

XM15 . . . . . . . . . . . . . . XM0
%SW23
%SW24
F %SW25 0

XM63 . . . . . . . . . . . . . . XM48

Ejemplo: ! IF %I4.2 AND %T3.D THEN


%SW22:=16#AF8F;
%SW23:=16#F3FF;
%SW24:=16#FFEF;
%SW25:=16#FFFF;
SET %S24

Estas cuatro palabras se inicializan en 6#FFFF si %S21 = 1.

___________________________________________________________________________
5/27
A

5.9-4 Tratamiento secuencial


Este tratamiento permite programar el esqueleto secuencial de la aplicacin. El
tratamiento secuencial comprende:
el grfico principal organizado en 8 pginas.
En el grfico principal, varios Grafcet no conexos pueden programarse y desarrollarse
simultneamente.

Principio de evolucin
La gestin de la evolucin del Grafcet se efecta de la manera descrita a continuacin.

Fase 1
1. Evaluacin de las receptividades de las transiciones validadas.
2. Peticin de desactivacin de las etapas superiores asociadas.
3. Peticin de activacin de las etapas inferiores implicadas.

Fase 2
Evolucin de la situacin del Grafcet en funcin de las transiciones alcanzadas:
1. Desactivacin de las etapas encima de las transiciones alcanzadas.
2. Activacin de las etapas debajo de las transiciones alcanzadas.
3. Invalidacin de las transiciones alcanzadas.
4. Validacin de las transiciones debajo de las nuevas etapas activadas.
El sistema actualiza dos tablas dedicadas respectivamente a la actividad de las etapas
y a la validez de las transiciones:
la tabla de actividad de las etapas memoriza, para el ciclo actual, las etapas activas,
las etapas que se deben activar y desactivar,
la tabla de validez de las transiciones memoriza, para el ciclo actual, las transiciones
situadas debajo de las etapas relativas a la tabla previa.

Fase 3
Las acciones asociadas a las etapas activas se ejecutan en el orden siguiente:
1. Acciones al desactivar las etapas que se deben desactivar.
2. Acciones al activar las etapas que se deben activar.
3. Acciones continuas de las etapas activas.

___________________________________________________________________________
5/28
A
Lenguaje Grafcet 5

Rebasamiento de las posibilidades


El nmero de elementos de la tabla de actividad de etapas y de la tabla de validez de
transiciones es configurable. El rebasamiento de capacidad de la una o de la otra tiene
como consecuencia:
el paso a STOP del autmata (parada de la ejecucin de la aplicacin),
el paso a 1 del bit sistema %S26 (rebasamiento de capacidad de una de las dos
tablas),
el parpadeo del indicador ERR del autmata.
El sistema pone a la disposicin del usuario dos palabras sistema:
%SW20 : palabra que permite conocer para el ciclo actual el nmero de etapas
activas, que se deben activar y desactivar.
%SW21 : palabra que permite conocer para el ciclo actual el nmero de transiciones
vlidas, que se deben validar o invalidar.
En caso de una falla con bloqueo, las palabras sistema %SW125 a %SW127 permiten
determinar la naturaleza de la falla.
%SW125 = DEF7 (hex) Rebasamiento de las tablas (etapas/transiciones).
%SW125 = DEFE (hex) Ejecucin incorrecto del grfico
(problema de transicin con remisin de destino non
resuelta).

%SW125 %SW126 %SW127


DEF7 0 =0 Rebasamiento de la tabla de etapas
DEF7 =0 0 Rebasamiento de la tabla de
transiciones
DEFE N de etapa N macroetapa (1) Ejecucin incorrecta del grfico

(1) 64 para el grfico principal.

___________________________________________________________________________
5/29
A

5.9-5 Tratamiento posterior


Introducido en el lenguaje de contactos, en el lenguaje Lista de instrucciones o en el
lenguaje Literal estructurado, el tratamiento posterior se explora desde arriba hacia
abajo. Este tratamiento es el ltimo ejecutado antes de la activacin de las salidas:
permite programar la lgica de salida.

Acciones asociadas al Grafcet


El tratamiento posterior permite completar los valores de consigna emitidos por el
tratamiento secuencial integrando en la ecuacin de una salida los modos de marcha
y de parada y las seguridades indirectas relativas a la accin. Permite tambin tratar
una salida activada varias veces en el tratamiento secuencial.
De forma general, se aconseja programar las acciones que actan directamente
sobre el proceso en el tratamiento posterior.
Ejemplo
%I2.4 : seguridad indirecta relativa al control de la salida %Q4.1.
%M26 : bit interno resultado de la lgica de entrada que trata los modos de marcha
y de parada.
%I1.0 : botn pulsador.
Las etapas 5, 8 y 59 del tratamiento secuencial activan la salida %Q4.1.

___________________________________________________________________________
5/30
A
Lenguaje Grafcet 5

Acciones independientes del Grafcet


El tratamiento posterior permite tambin programar las salidas independientes del
tratamiento secuencial.

Control de la ejecucin del Grafcet


Es posible que sea necesario controlar el buen funcionamiento del Grafcet probando
el tiempo de actividad de ciertas etapas.
Este tiempo se prueba comparndolo o a un valor mnimo o a un valor mximo
determinado por el usuario. Se le incumbe al usuario la explotacin de la falla
(sealizacin, procedimiento particular de funcionamiento, edicin de mensaje).
Ejemplo: ! IF (%X2.T > 100 AND %X2) THEN
SET %Q4.0 ;
END_IF ;

___________________________________________________________________________
5/31
NOTAS:

S
A
Captulo
Bloques de funcin DFB 6
6
6 Bloques de funcin DFB
6.1 Presentacin de los bloques de funcin DFB
6.1-1 Generalidades
El software PL7-Pro ofrece al usuario la posibilidad de crear sus propios bloques de
funcin para responder a las especificidades de sus aplicaciones.

Estos bloques de funcin de usuario permiten estructurar una aplicacin. Se utilizarn


cuando una secuencia de programa est repetida varias veces en la aplicacin o para
inmovilizar una programacin estndar (ejemplo: algoritmo de comando de un motor
que incluye las seguridades locales).

Los DFB se pueden transmitir al conjunto de los programadores y utilizarse en la misma


aplicacin o en las otras aplicaciones (funcin exportacin/importacin).

La utilizacin de un bloque de funcin DFB en una aplicacin permite:


simplificar la concepcin y la introduccin del programa,
aumentar la legibilidad del programa,
facilitar su depuracin (todas las variables manipuladas por el bloque de funcin
DFB estn identificadas en su interface).
disminuir el volumen de cdigo generado (el cdigo correspondiente al DFB slo
se carga una vez, cualquiera sea el nmero de llamadas al DFB en el programa),

En relacin al subprograma, permiten:


parametrar ms fcilmente el tratamiento,
utilizar variables internas propias al DFB, por lo tanto independientes de la aplicacin,
probarse independientemente de la aplicacin.
Ofrecen en lenguaje de contactos una visualizacin grfica del bloque que facilita la
programacin y la depuracin.
Adems, los bloques de funcin DFB utilizan los datos remanentes.

La creacin de un bloque de funcin DFB se efecta con el software PL7 Pro, y la


utilizacin del bloque puede efectuarse con un PL7 Pro o un PL7 Junior en los
autmatasTSX/PCX/PMX57.

Los bloques de funcin DFB (Derived Function Block) pueden programarse en


lenguaje literal y de contacto por el programador y se pueden utilizar en lenguaje
de contactos, en literal y en el lenguaje lista de instrucciones.

___________________________________________________________________________
6/1
A

6.1-2 Creacin de un bloque de funcin DFB

La creacin de un bloque de funcin DFB se efecta en 3 fases:


1 concepcin del DFB modelo (denominado: Tipo DFB),
2 creacin de una imagen de este bloque denominada instancia para cada utilizacin
en la aplicacin,
3 utilizacin de la instancia en el programa PL7.

Concepcin del Tipo DFB Nombre Tipo DFB


Un bloque de funcin Tipo DFB se compone:
de un nombre,
de parmetros: Entradas Salidas
- entradas,
- salidas,
- entradas/salidas,
de variables,
- variables pblicas,
- variables privadas, Entradas/
salidas
del cdigo literal estructurado,
de un comentario,
Variables pblicas
de una ficha descriptiva. Variables privadas

Estas informaciones se deben definir Cdigo en literal


durante la fase de concepcin del DFB. La
creacin se efecta con ayuda del editor
de DFB.

Creacin de una instancia DFB


Una vez concebido el Tipo DFB, el usuario
define una instancia del DFB con ayuda
del editor de variables o en la llamada de
la funcin en el editor de programa.

Utilizacin de los DFB


Esta instancia del bloque se utiliza luego
como un bloque de funcin estndar en
lenguaje de contactos, o como una funcin
elemental en lenguaje literal estructurado
o en lista de instrucciones. Se puede
programar en las diferentes tareas
(excepto en las tareas de sucesos) y
secciones de la aplicacin.
Ejemplo de DFB: Vlvula_C1, Volumen_C1, Crono_C1
___________________________________________________________________________
6/2
A
Bloques de funcin DFB 6

6.2 Concepcin de un bloque de funcin Tipo DFB


6.2-1 Creacin de un Tipo DFB
Los bloques de funcin Tipo DFB se crean
a nivel del directorio Tipo DFB del
navegador de la aplicacin.

Cada Tipo DFB se identifica con un


nombre de 16 caracteres mximo (1).

6.2-2 Descripcin de los parmetros y variables

Caractersticas generales
Estos objetos son datos internos al DFB, y son puramente simblicos (sin
direccionamiento en forma de variable). Para cada parmetro o variable utilizada, el
programador del bloque de funcin Tipo DFB define:
un nombre de 8 caracteres mximo (1),
un tipo de objeto (vase tabla que sigue),
un comentario opcional de 80 caracteres mximo,
un valor opcional (excepto para los parmetros Entradas/Salidas),

Tipos de objetos autorizados


BOOL Booleano AR_X Tabla de bits
EBOOL Booleano ampliado (gestin de flancos) AR_R Tabla de reales
REAL Real AR_W Tabla de entero 16 bits
WORD Entero 16 bits AR_D Tabla de entero 32 bits
DWORD Entero 32 bits STRING Cadena de caracteres
Notas:
el tipo EBOOL maneja los flancos, y es posible entonces ejecutar en ese tipo de parmetro
o de variable instrucciones sobre el flanco de tipo RE y FE (ejemplo de objeto de tipo EBOOL
del lenguaje PL7: %Mi,%Ixy.i,%Qxy.i). Si la gestin de flanco no es til en el tratamiento, es
preferible utilizar el tipo BOOL (ejemplo de objeto de tipo BOOL del lenguaje PL7: %MWi:Xj)
que no maneja los flancos pero consume menos tamao de memoria.
si se desea asociar un tipo EBOOL a un parmetro de entradas/salidas durante la utilizacin,
debe ser de tipo EBOOL en el DFB.
caso de tablas: la longitud de la tabla debe ser obligatoriamente mencionada para los
parmetros de salida y las variables pblicas y privadas, por el contrario, no es necesario
definirlas en los parmetros de entradas y los parmetros de entradas/salidas.
los valores iniciales pueden ser definidos para las entradas (si no son del tipo tabla), para las
salidas y para las variables pblicas y privadas.

(1) se autorizan las letras no acentuadas, los dgitos, el carcter "_"; el primer carcter
debe ser una letra; las palabras clave y los smbolos estn prohibidos.
___________________________________________________________________________
6/3
A

Descripcin de los parmetros Controle


Entradas: (mx.: 15 (1)) son los datos DWORD WORD
que suministrar el programa de Ecart Accel
aplicacin al DFB. Estos parmetros en WORD BOOL
slo lectura no pueden ser modificados Vitesse Erreur
en el cdigo DFB. BOOL
Enable
Salidas: (mx.: 15 (2)) son datos
elaborados en el DFB con destino al WORD
Accins
programa de aplicacin.
Ejemplo de bloque
Entradas/Salidas: (mx.: 15 (1)y (2)) de:
son parmetros de entradas 3 entradas, 2
salidas, 1 entrada/
modificables en el cdigo del DFB.
salida

(1) donde Nmero de entradas + Nmero de entradas/salidas < 15


(2) donde Nmero de salidas + Nmero de entradas/salidas < 15

Nota: todo bloque DFB debe tener por lo menos una entrada booleana.

Descripcin de las variables


Variables pblicas: (mx.: 100) variables internas utilizadas en el tratamiento y
accesibles por el usuario en ajuste o por el programa de aplicacin fuera del cdigo
DFB (en tanto que variable pblica de instancia DFB, vase apartado 6.4-4).
Adems de las caractersticas generales, es posible especificar un derecho de slo
lectura o de lectura/escritura, y una autorizacin de proteccin de transferencia de
los valores actuales en lugar de los valores iniciales (vase apartado 6.4-5),

Variables privadas: (mx.: 100) variables internas al cdigo de bloque de funcin.


Estas variables se calculan y utilizan dentro de un mismo DFB pero no tienen ningn
vnculo con el exterior del DFB. Estas variables son tiles para la programacin del
bloque pero no tienen ningn inters para el usuario del bloque (por ejemplo:
variable intermedia de remisin de una expresin combinatoria a otra, resultado de
un clculo intermedio...).

Nota: La modificacin de la interface de un DFB (variables pblicas o parmetros) es posible


nicamente si no contiene instancias y se utiliza en la aplicacin.

___________________________________________________________________________
6/4
A
Bloques de funcin DFB 6

6.2-3 Cdigo de un tipo DFB

El cdigo define el tratamiento que debe


efectuar el bloque DFB en funcin de los
parmetros declarados.
CHR_200:=CHR_100;
CHR_114:=CHR_104;
El cdigo del bloque de funcin DFB se CHR_116:=CHR_106;
RESET DEMARRE;
programa en lenguaje literal o en lenguaje (*Se incrementa 80 veces
de contacto. CHR_100*)
FOR CHR_102:=1 TO 80 DO
INC CHR_100;
WHILE((CHR_104-
En el caso del lenguaje literal, el DFB est CHR_114)<100)DO
constituido de una sola fase literal de IF(CHR_104>400) THEN
EXIT;
longitud no limitada. END_IF;
INC CHR_104;
REPEAT
Todas las instrucciones y funciones IF(CHR_106>300) THEN
EXIT;
avanzadas del lenguaje estn permitidas END_IF;
excepto: INC CHR_106;
UNTIL ((CHR_100-
la llamada a los bloques de funcin CHR_116)>100)
END_REPEAT;
estndares, END_WHILE;
la llamada a los dems bloques de (* Se imbrica mientras
que CHR_106)
funcin DFB, IF (CHR_106=CHR_116)
bifurcacin a una etiqueta (JUMP), THEN EXIT;
ELSE
la llamada a un subprograma, CHR_114:=CHR_104;
CHR_116:=CHR_106;
la instruccin HALT, END_IF;
las instrucciones que utilizan variables INC CHR_200;
END_FOR;
de mdulos de entradas/salidas (ej:
READ_STS, SMOVE...).

El cdigo explota los parmetros y las


variables del DFB definidas por el usuario.

El cdigo del bloque de funcin DFB no puede utilizar ni los objetos de entradas/
salidas (%I,%Q...), ni los objetos globales de la aplicacin (%MW,%KW...) excepto los
bits y palabras sistema %S y %SW.

Se ha desarrollado un determinado nmero de funciones especficamente para


utilizarse en los bloques de funcin del usuario:
las funciones de temporizacin FTON, FTOF, FTP, FPULSOR que pueden utilizarse
en lugar de bloques de funcin de temporizacin,
las instrucciones LW, HW, COCATW que permiten manipular palabras de dobles
palabras,
las instrucciones LENGTH_ARW, LENGTH_ARD, LENGTH_ARR, que permiten
calcular las longitudes de tabla.
Nota: no se puede utilizar las etiquetas.

___________________________________________________________________________
6/5
A

6.2-4 Validacin del Tipo DFB

En la validacin, el editor DFB verifica la sintaxis del cdigo y la adecuacin con las
variables introducidas en la interface. En caso de error, el primer error se muestra en
vdeo inverso.
Nota: si se desea salir sin validar el cdigo, hay que exportar el DFB para guardarlo:
borrar el conjunto del cdigo antes de salir.

6.2-5 Propiedades de un Tipo DFB


Las siguientes propiedades de un Tipo DFB son accesibles desde un cuadro de
dilogo del editor de DFB.

Area de "Informacin", que maneja:


- el tamao de los datos,
- el nmero de instancias creadas,
- la firma (garanta de unicidad del DFB)
- el nmero de elementos: parmetros y variables.

Area "General", que indica:


- la versin: aumenta automticamente con cada modificacin del cdigo, de los
parmetros o de las variables del tipo DFB,
- la fecha de la ltima modificacin,
- el lenguaje: ST o LD (que se puede modificar si el cdigo est vaco),
- 2 tipos de proteccin: la proteccin contraescritura que limita el acceso al DFB en
slo lectura , la proteccin de "informacin" que prohibe el acceso al cdigo del tipo
DFB y a sus variables privadas. La proteccin es manejada por una contrasea.
- un comentario de 128 caracteres mximo; de forma predeterminada el comentario
menciona la fecha de creacin y el autor del tipo DFB.

___________________________________________________________________________
6/6
A
Bloques de funcin DFB 6

6.2-6 Ficha descriptiva

La ficha descriptiva es un rea de introduccin libre de longitud mxima de 32 000


caracteres que permite describir el tipo DFB.

6.2-7 Propiedades del tipo DFB


El acceso a las propiedades del tipo DFB:
Visualizacin del nmero de DFB en ST y en LD existentes en la aplicacin.
Inhibicin de la funcin "Save/Restore" para todos los DFB".
Este servicio permite inhibir todos los flags Save/Restore seleccionados para las
Variables pblicas de todos los tipos de DFB.
Esta inhibicin acta como una "proteccin" sobre el conjunto de DFB en la medida
en que, cuando est desactivada, se conservan las selecciones para cada variable
pblica de cada tipo de DFB.

6.2-8 Importacin/exportacin tipo DFB


Los tipos DFB creados en una aplicacin se pueden volver a utilizar en cualquier otra
aplicacin mediante las funciones importar/exportar.

Se proponen 2 tipos de formato:


origen: este formato es editable,

binario: este formato no es editable; el DFB importado con ese formato se puede leer
o modificar segn el grado de proteccin asignado.
A partir de los archivos de origen o binario, el usuario podr crear su propia biblioteca.

Nota:
Durante la importacin de una seccin en una aplicacin, es necesario importar los tipos DFB
que se utilizan en esta seccin.

___________________________________________________________________________
6/7
A

6.3 Creacin de una instancia de bloques de funcin Tipo DFB


6.3-1 Principios
Una vez que el bloque de funcin Tipo DFB ha sido creado (o importado), para utilizar
el DFB es necesario generar una instancia de este bloque.
Cada instancia DFB se identifica por un nmero de 32 caracteres mximo(1) definido
por el usuario.

Es posible crear tantas instancias como se desee (limitado nicamente por el tamao
de la memoria del autmata) a partir de un mismo tipo de DFB.
Los valores iniciales de las variables pblicas definidas para los bloques de funcin
Tipo DFB pueden ser modificados para cada instancia.

Estas operaciones se efectan en el editor de variables (Instancias DFB) o en el editor


del programa en la llamada de la funcin. Todas las instancias de DFB son accesibles
con la funcin biblioteca.

Vigilancia_horno
Una instancia DFB es una copia del Tipo
DFB: DFB Controle
utiliza el cdigo del Tipo DFB, (no hay DWORD WORD
Ecart Accel
duplicacin del cdigo),
crea una rea de datos especfica a WORD BOOL
cada instancia, que es la copia de los Vitesse Erreur
parmetros y de variables del Tipo DFB. BOOL
Enable
Esta rea est situada en el espacio de
datos de la aplicacin. WORD
Accins

Ejemplo de la instancia
"Vigilancia_horno" del
Tipo DFB Control

(1) Los caracteres permitidos son idnticos a los autorizados en los smbolos (vase
apartado1.2-9)
___________________________________________________________________________
6/8
A
Bloques de funcin DFB 6

6.4 Utilizacin de los bloques de funcin DFB

6.4-1 Reglas generales de programacin


Las instancias de DFB se utilizan en todos los idiomas (idiomas de contactos, literal
y lista de instrucciones) y en todas las partes de la aplicacin: secciones, subprograma,
mdulo Grafcet, (excepto en las tareas de sucesos).

Las reglas siguientes se deben respetar cualquiera sea el lenguaje que se utilice:
todos los parmetros de entradas de tipo tabla as como los parmetros de entradas/
salidas se deben completar.
los parmetros de entradas no cableados conservan el valor de la llamada o el valor
de inicializacin si el bloque jams ha sido llamado con esta entrada introducida o
cableada.
todos los objetos asignados a los parmetros de entradas, de salidas y de entradas/
salidas deben ser obligatoriamente del mismo tipo que los definidos durante la
creacin del Tipo DFB (por ejemplo: si el tipo WORD es definido para el parmetro
de entrada "velocidad", no se autoriza a asignarle dobles palabras %MDi, %KDi).
La nica excepcin son los tipos BOOL y EBOOL que se pueden mezclar para los
parmetros de entradas o de salidas (no para los parmetros de entradas/salidas:
por ejemplo, el parmetro de entrada "Validacin" puede definirse como BOOL y
tambin puede asociarse a un bit interno %Mi que es de tipo EBOOL, por el contrario,
en el cdigo del tipo DFB el parmetro de entrada tendr realmente la propiedad
de un tipo BOOL, y no podr manejar los flancos.

La tabla que sigue resume las diferentes posibilidades:

Parmetro Tipo Asignacin de parmetro Asignacin


Entradas Booleana Cableado (1) opcional (2)
Numrica Objeto u expresin opcional
Tabla Objeto obligatoria
Entradas/ Booleana Objeto obligatoria
Salidas Numrica Objeto obligatoria
Tabla Objeto obligatoria
Salidas Booleana Cableado (1) opcional
Numrica Objeto opcional
Tabla Objeto opcional

(1) cableada en lenguaje de contactos, u objeto en lenguaje booleano o literal.


(2) en lenguaje de contactos todo bloque DFB debe tener por lo menos una entrada booleana
(binaria) cableada.

___________________________________________________________________________
6/9
A

6.4-2 Programacin en lenguaje de contactos

Hay dos posibilidades para llamar un bloque de funcin DFB:


una llamada textual en un bloque de operacin, la sintaxis y las restricciones en los
parmetros son idnticas a la del lenguaje literal (vase captulo que sigue).
una llamada grfica, vase ejemplo presentado a continuacin.
Los bloques de funcin DFB grficos tienen entradas /salidas que son asignadas
directamente por objetos u expresiones; estos objetos u expresiones ocupan una
celda de la red grfica.

2 bloques de funcin DFB conectados en serie deben ser separados por lo menos
por 2 columnas.

Controle_port_1 1

3 Controle 2
ABS(%MD0 ) DWO RD WO RD %MW8
Ecart 4 5 Acce l
%Q2.1
10000 WO RD BOOL
Vite sse Erreur

%Q2.5
BOOL
Enable

WO RD
6 Operation
%MW100 %MW100 Depassement_tps(Tps_ref_
Actions

1 nombre del DFB


2 nombre del Tipo DFB
3 parmetro efectivo de la primera entrada
4 parmetros de entradas (nombre y tipo)
5 parmetros de salidas (nombre y tipo)
6 parmetros de entradas/salidas (nombre y tipo)

Observaciones:
Un bloque de funcin DFB debe tener por lo menos una entrada booleana cableada.
Las entradas, salidas o entradas/salidas numricas del bloque no son cableadas.
A estos puntos se asocian objetos mencionados en la celda que est al lado del
punto.

___________________________________________________________________________
6/10
A
Bloques de funcin DFB 6

6.4-3 Programacin en lenguaje literal o lista de instrucciones

La llamada del bloque de funcin DFB constituye una accin, que puede ser colocada
en una fase como para cualquier otra accin del lenguaje.

Sintaxis en lenguaje literal:


Nombre_DFB (E1,...,En,ES1,...,ESn,S1,...,Sn)

Ejemplo: Cont_pernos(%I2.0,%MD10,%I2.1,%Q1.0);

Sintaxis en lenguaje lista de instrucciones:


[Nombre_DFB (E1,...,En,ES1,...,ESn,S1,...,Sn)]

Ejemplo: Cont_pernos(%I2.0,%MD10,%I2.1,%Q1.0)]

donde:
E1, ..., En: expresiones (1), objetos o valores inmediatos que sirven de parmetros
efectivos para los parmetros de entradas.
ES1, ..., ESn: parmetros efectivos que corresponden a las entradas/salidas; siempre
son objetos de lenguajes en lectura/escritura.
S1, ..., Sn: parmetros efectivos que corresponden a las salidas; siempre son objetos
de lenguajes en lectura/escritura.

En los lenguajes literal y lista de instrucciones, se propone una introduccin asistida.

(1) excepto para los objetos de tipo BOOL/EBOOL.

___________________________________________________________________________
6/11
A

6.4-4 Acceso a las variables


Slo los parmetros de salidas y las variables pblicas son accesibles en tanto que
objetos en el programa de aplicacin fuera del cuerpo del bloque de funcin. Su
sintaxis es la siguiente:
Nombre_DFB.Nombre_parmetro

Donde Nombre_DFB es el nombre que se da a la instancia del DFB utilizado (32


caracteres mximo) y Nombre_parmetro es el nombre dado al parmetro de salidas
o a la variable pblica (8 caracteres mximo).

Ejemplo: Control.Desviacin para la salida Desviacin de la instancia DFB


denominada Control.

6.4-5 Guardado y restitucin de las variables pblicas


Las variables pblicas, modificadas por el programa o por ajuste, se pueden guardar
en lugar de los valores de inicializacin (definidos en las instancias DFB) mediante
la puesta a 1 del bit sistema %S94. El reemplazo slo se realiza si se ha dado
autorizacin a nivel de cada variable del tipo DFB.
Estos valores guardados son aplicados nuevamente mediante una puesta a 1 del bit
sistema %S95 o al reinicializar el autmata.
Inhibicin de la funcin "Save/Restore" para todos los DFBs
vase el captulo 6.2-7.

6.4-6 Ejecucin de los bloques de funcin DFB

La ejecucin de una instancia DFB se efecta en el siguiente orden:


carga de los parmetros de entradas y de entradas/salidas valindose de los
parmetros efectivos. Toda entrada dejada libre toma durante la inicializacin o
reanudacin en fro el valor de la inicializacin definido en el tipo DFB. A continuacin
toma el valor actual del parmetro.
Los parmetros de entradas (salvo para el tipo de tabla) se transfieren por valor,
Los parmetros entradas/salidas se transfieren por direccin,
ejecucin del cdigo literal,
escritura de los parmetros de salidas
El software PL7 ofrece varias herramientas de depuracin del programa PL7 y de los
DFB:
tabla de animacin: todos los parmetros y variables pblicas se visualizan y animan
en tiempo real; es posible modificar y forzar los objetos que se desea,
punto de parada, paso a paso y diagnstico de programa,
___________________________________________________________________________
pantallas de explotacin: para la depuracin unitaria.
6/12
A
Bloques de funcin DFB 6

6.5 Ejemplo

Este ejemplo se proporciona a ttulo


didctico, el DFB programado es un
contador. Cont_piezas

Caractersticas del Tipo DFB EBOOL BOOL


Raz Done
Nombre: Cont._piezas
DWORD
Entradas: Presel
Raz: puesta a cero del contador EBOOL
Presel: valor de preseleccin del Count
contador
Count: entrada de contaje DWORD
V_actual
Salidas:
Done: salida de valor de preseleccin
alcanzada
Variable pblica:
V_actual: Valor actual incrementado por
la entrada Count.

Funcionamiento del contador: este bloque cuenta los flancos ascendentes en la


entrada Count, y el resultado lo coloca en la variable V_actual. Esta valor se pone a
cero mediante un flanco ascendente en la entrada Raz. El contaje se efecta hasta
el valor de preseleccin, cuando este valor alcanza la salida Done se pone a 1, y s se
vuelve a poner a 0 en flanco ascendente en la entrada Raz.

Cdigo

!(*Programacin del DFB Cont_piezas*)


IF RE Raz THEN
V_actual:=0;
END_IF;
IF RE Count THEN
V_actual:=V_cour+1;
END_IF;
IF(V_actual>=Presel) THEN
SET Done;
ELSE
RESET Done;
END_IF;

___________________________________________________________________________
6/13
A

Ejemplo de utilizacin
En este ejemplo el Tipo DFB creado, se utiliza 3 veces (3 instancias DFB) para el
contaje de 3 tipos de piezas. Cuando se alcanza el nmero de piezas programado (en
las palabras %MD10, %MD12, y %MD14), la salida del contador controla la parada
del sistema de abastecimiento de piezas correspondiente.

Programa del usuario


Nombres de utilizacin del DFB a partir del Tipo DFB Cont_piezas:
Cont_pernos
Cont_tuercas
Cont_tornillos

Cont_pernos
Cpt_boulons

%I1.0
Cont_piezas
Cpt_pices
%Q2.1
BOOL BOOL
Ra z Done

%M D10 DWORD
Preset
Presel
% I1.1
BOOL
Co unt

Cont_tuercas
Cpt_crous

Cpt_pices
Cont_piezas
%I1.2 %Q2.2
BOOL BOOL
Ra z Done

%M D12 DWORD
Presel
Preset
% I1.3
BOOL
Cou nt

Cont_tornillos
Cpt_v is

Cpt_pi ces
% I1.4 Cont_piezas % Q2.3
BOOL BOOL
Raz Done

%MD14 DWORD
Presel
Preset
% I1.5
BOOL
Count

___________________________________________________________________________
6/14
A
Captulo 7
Los mdulos funcionales 7
7 Mdulos funcionales
7.1 Presentacin de los mdulos funcionales
7.1-1 Definicin del mdulo funcional
Un mdulo funcional es una reagrupacin de elementos de programa (secciones,
sucesos, macroetapas, tablas de animacin, etc.) destinadas a realizar una funcin
de automatismo.

Un mdulo funcional est definido por un determinado nmero de atributos (nombre,


comentario, programacin, tablas de animacin asociadas, etc.).

Un mdulo funcional comprende un directorio de programa (compuesta de uno o


varios mdulos de cdigo) y un directorio de tabla de animacin.

Un mdulo funcional
comprende programa y
tablas de animacin

Slo el producto PL7 PRO permite la instalacin de los mdulos funcionales en los
autmatas TSX/PMX/PCX57.
Los mdulos funcionales permiten estructura la aplicacin en funciones y subfunciones
de automatismo.
___________________________________________________________________________
7/1
A

7.1-2 Representacin de un mdulo funcional en PL7 PRO


El software permite mostrar:
la vista estructural de la aplicacin: es la vista tradicional del navegador de
aplicacin que corresponde al orden de ejecucin del autmata.

la vista funcional de la aplicacin: es la vista de la aplicacin en mdulos


funcionales correspondiente a las funciones del automatismo.

El Navegador de aplicacin propone 4 visualizaciones posibles:


la vista tradicional y
funcional en paralelo,

la vista tradicional y funcional en serie,


la vista tradicional sola,
la vista funcional sola.

___________________________________________________________________________
7/2
A
Los mdulos funcionales 7

7.1-3 Nocin de submdulo funcional


Un mdulo funcional puede dividirse a su vez en mdulos funcionales de nivel inferior.
Estos mdulos asumen, en relacin a la funcin principal, una o varias subfunciones
de automatismo.

Ejemplo

El mdulo Prod1 posee un submdulo Mdm1

7.1-4 Tributos de un mdulo funcional


Un mdulo funcional est compuesto de :
un nombre corto: 8
caracteres (por ejemplo:
TR371), este nombre
debe ser nico en la
aplicacin.

un nombre largo: 16
caracteres (por ejemplo:
Avanzar/Retroceder
para BT371),

submdulos funcionales: se trata de


mdulos funcionales de nivel inferior,

mdulos de cdigo asociados:


secciones, sucesos, mdulo grafcet (Prl,
Chart, macroetapas Xm, Post),

una ficha descriptiva (sin lmite de


nmeros de caracteres), que no se
memorizan en el autmata sino en el
archivo .STX de la aplicacin,

tablas de animacin asociadas.

___________________________________________________________________________
7/3
A

7.2 Instalacin de los mdulos funcionales


7.2-1 Crear un mdulo funcional
Principio de creacin
Un mdulo funcional se puede crear en local, con el
autmata en Stop o en Run .
Un mdulo funcional se puede crear a nivel de la Estacin
o a nivel de cada mdulo funcional existante.
Se puede cambiar el nombre de un mdulo funcional.

Importar un mdulo funcional


Un mdulo funcional se puede importar en local, con el
autmata en Stop.

7.2-2 Modificacin de la arquitectura de los mdulos funcionales


Desplazar un mdulo funcional
Un mdulo funcional se puede desplazar en local, con el autmata en stop o en run
(ningn impacto sobre la ejecucin de la aplicacin).
Es desplazamiento corresponde nicamente a una modificacin de la arquitectura
funcional de la aplicacin (un mdulo se vincula directamente a nivel de la Estacin
o a otro mdulo funcional).
Para desplazar un mdulo, basta seleccionarlo y desplazarlo (funcin Arrastrar y
Colocar).

Ejemplo

___________________________________________________________________________
7/4
A
Los mdulos funcionales 7

Desvincular un mdulo funcional


La desvinculacin de un mdulo funcional consiste en cortar los vnculos entre un
mdulo funcional y los objetos asociados (mdulos de cdigo y tablas de animacin)
- Las secciones que contienen un mdulo no se eliminan sino que se desvinculan.
- Las tablas de animacin asociadas a los mdulos no se eliminan sino que slo se
desvinculan del mdulo.
Eliminar uno o varios mdulos funcionales sin eliminar los mdulos de cdigo y
las tablas de animacin
Para eliminar un mdulo funcional sin eliminar los mdulos de cdigo y tablas de
animacin, hay que:
1. Efectuar la desvinculacin del mdulo y de los submdulos.
2. Eliminar el o los mdulos segn el procedimiento presentado a continuacin.
Eliminar un mdulo funcional (con eliminacin de los mdulos de cdigo y tablas
de animacin)
La eliminacin del mdulo genera la eliminacin de los submdulos
- Las secciones que contiene el mdulo no se eliminan.
- Las tablas de animacin asociadas a los mdulos se suprimen.
Eliminar todos los mdulos funcionales (con eliminacin de los mdulos de cdigo
y tablas de animacin)
La eliminacin del mdulo genera la eliminacin de todos los submdulos
Eliminar una seccin, una macroetapa o un suceso en un mdulo funcional
Vase 7.3-2.

___________________________________________________________________________
7/5
A

7.3 Programacin de un mdulo funcional


7.3-1 Agregar/crear una seccin, un suceso o una macroetapa en un mdulo
funcional
1er caso: la seccin, el suceso o el grfico ya existen en la vista estructural
La seccin ya ha sido creada en la vista estructural
Basta arrastrar y colocar (arrastrar desplazando) y posicionarse en la seccin deseada
en el mdulo funcional.

Ejemplo

Hay que seleccionar la seccin y


desplazarse en el mdulo
funcional correspondant.

El nombre del mdulo funcional se indica al


nivel de la vista estructural

___________________________________________________________________________
7/6
A
Los mdulos funcionales 7

2do caso: crear seccin, suceso o grfico a partir de la vista funcional


Hay que precisar al crear
la tarea asociada en el caso
de las secciones.
Se puede crear una
seccin, un suceso o una
macroetapa

3er caso: seccin, suceso o grfico a crear a partir de la vista estructural


Se trata del caso en que el
usuario crea la arquitectura
funcional y crea las
seciones a partir de la vista
estructural.
En este caso, hay que
precisar adems el mdulo
funcional a asociar

Reglas
1. Una seccin Grafcet slo se puede crear en local y en la tarea Mast nicamente.
2. Una macroetapa o un suceso slo se pueden crear en local.
3. Las otras acciones se autorizan en local con el autmata en Stop o en Run.
4. La proteccin de un mdulo se aplica a todas las secciones vinculadas al mdulo
funcional.

___________________________________________________________________________
7/7
A

7.3-2 Eliminar una seccin, macroetapa o un suceso en mdulo


Se puede eliminar una seccin o una macroetapa en un mdulo funcional. Se eliminan
entonces en el mdulo y en la tarea asociada.
La eliminacin de un suceso slo genera su desvinculacin del mdulo funcional
ya que no es posible eliminar un suceso en la aplicacin.

Ejemplo: eliminar la seccin Preparacin 1

La seccin desaparece en ambas vistas

Reglas
1. La eliminacin est autorizada en local con el autmata en Stop, pero est prohibida
en Run.
2. Slo se puede eliminar en modo local una seccin Grafcet o una macroetapa.
3. No se puede eliminar un mdulo PRL, Chart o POST sino nicamente desvincularlo.

___________________________________________________________________________
7/8
A
Los mdulos funcionales 7

7.3-3 Agregar/crear una tabla de animacin en un mdulo funcional


1er caso: la tabla ya existe
La tabla de animacin ya ha sido creada en la vista estructural
Basta arrastrar y colocar y posicionar la seccin en el mdulo funcional al nivel de la
Tabla de animacin.

2do caso: la tabla se debe crear


El principio es idntico al de la creacin en la vista estructural.

Reglas
1. Una tabla de animacin se puede crear en local con el autmata en Stop y en Run.
2. Una tabla de animacin se puede eliminar en local con el autmata en Stop y en
Run.

7.3-4 Introducir/modificar la ficha descriptiva


La ficha descriptiva es un rea de introduccin libre que permite describir el mdulo
funcional.
Siempre es posible modificarla y memorizarla en la aplicacin pero no se memoriza
en el autmata.

___________________________________________________________________________
7/9
A

7.4 Ejecucin del programa

La organizacin de un mdulo funcional, la reparticin de las secciones, sucesos y


mdulos Grafcet en los diferentes mdulos no tienen ninguna repercusin sobre la
ejecucin del programa.
La ejecucin del programa se realiza segn el orden presentado en la vista estructural.

7.5 Depuracin de la aplicacin

El usuario dispone de funciones que permiten la depuracin incremental de la


aplicacin, mdulo funcional por mdulo funcional.

Desactivar todas las secciones vinculadas a un mdulo funcional


Esta accin consiste en forzar a 0 todas las condiciones de activacin de las secciones
del mdulo.

Activar todas las secciones vinculadas a un mdulo funcional


Esta accin consiste en forzar a 1 todas las condiciones de activacin de las secciones
del mdulo.

Cancelar el forzado de todas las secciones vinculadas a un mdulo funcional


Esta accin consiste en cancelar el forzado de todas las condiciones de activacin de
los sectores del mdulo.

7.6 Carpeta de aplicacin

PL7 Pro permite realizar la carpeta funcional de la aplicacin que comprende:


la pgina de ttulo,
el sumario
la configuracin,
la arquitectura arborescente de los mdulos funcionales (nicamente con referencia
a las secciones, sucesos y mdulos Grafcet vinculados)
el programa,
las referencias cruzadas con referencias a los mdulos funcionales de los usuarios
de las variables,
las variables,
el pie de pgina.

___________________________________________________________________________
7/10
A
Los mdulos funcionales 7

7.7 Importacin y exportacin del origen del mdulo funcional

7.7-1 Exportar
La exportacin de un mdulo funcional realiza:
la exportacin de las secciones, sucesos y mdulos Grafcet que componen el
mdulo,
la exportacin de los submdulos funcionales que componen el mdulo funcional.
El nombre corto y el nombre de funcin se exportan y por lo tanto se restituyen en el
momento de la importacin.
La funcin Exportacin de un mdulo funcional es accesible en modo local y/o en modo
conectado con el autmata en Stop.

Observacin
Las tablas de animacin no se procesan en el origen PL7: por lo tanto no son ni
exportadas ni importadas sino vinculadas a un mdulo funcional.

7.7-2 Importar
La importacin de un mdulo funcional funciona como una creacin con:
la importacin de secciones, sucesos y mdulos Grafcet que componen el mdulo,
la importacin de los submdulos funcionales que componen el mdulo funcional.
El nombre corto y el nombre de funcin se exportan y por lo tanto se restituyen en el
momento de la importacin.
Si una seccin, un suceso, un mdulo Grafcet, un submdulo funcional que componen
el mdulo funcional importado, ya existe con el mismo nombre, el software permite
introducir uno nuevo.
La importacin de un mdulo funcional permite la correccin de errores en el cdigo
de las secciones, sucesos y mdulos Grafcet asociados al mdulo.
La funcin es accesible en modo local y/o en modo conectado con el autmata en Stop.
Dos procedimientos de importacin estn disponibles:
la importacin sin reasignacin
la importacin con reasignacin.
La importacin con reasignacin permite modificar diferentes elementos:
- Nombre de los mdulos, Seccin, Tarea, Grafcet y macroetapas Evti,
- Nombre de los Smbolos (y comentarios asociados) y Variables,
- Direcciones de los mdulos de E/S,
- DFB: campo comentario y nombre de destino de toda instancia,
- SR y Macroetapas de destino.

___________________________________________________________________________
7/11
NOTAS:

S
Descripcin detallada de las instrucciones Tabla de materias B
y funciones Seccin B
___________________________________________________________________________

Captulo Pgina
1 Descripcin de las instrucciones de base B1/1

1.1 Presentacin de las instrucciones de base B1/1


1.1-1 Generalidades B1/1

1.2 Instrucciones booleanas B1/2


1.2-1 Presentacin de las instrucciones booleanas B1/2
1.2-2 Descripcin de las instrucciones B1/3
1.2-3 Instrucciones de carga B1/4
1.2-4 Instrucciones de asignacin B1/5
1.2-5 Instrucciones Y lgica B1/6
1.2-6 Instrucciones O lgica B1/7
1.2-7 Instrucciones O exclusiva B1/8

1.3 Bloques de funcin predefinidos B1/9


1.3-1 Principio de programacin de bloques de funcin
predefinidos B1/9
1.3-2 Bloque de funcin temporizador %TMi (Timer) B1/10
1.3-3 Bloque de funcin contaje/descontaje %Ci B1/14

1.4 Tratamientos numricos para enteros B1/17


1.4-1 Generalidades B1/17
1.4-2 Instrucciones de comparacin B1/19
1.4-3 Instrucciones de asignacin B1/20
1.4-4 Instrucciones aritmticas con enteros B1/23
1.4-5 Instrucciones lgicas B1/25
1.4-6 Expresiones numricas B1/27

1.5 Instrucciones de programa B1/28


1.5-1 Llamada a un subprograma B1/28
1.5-2 Regreso de subprograma B1/29
1.5-3 Salto de programa B1/30
1.5-4 Instrucciones de fin de programa B1/32
1.5-5 Parada de programa B1/33
1.5-6 Instrucciones de enmascaramiento/
desenmascaramiento de sucesos B1/34
1.5-7 Instruccin NOP B1/34
___________________________________________________________________________
B/1
B Descripcin detallada de las instrucciones Tabla de materias
y funciones Seccin B
___________________________________________________________________________

Captulo Pgina

2 Descripcin de las instrucciones avanzadas B2/1

2.1 Presentacin de las instrucciones avanzadas B2/1


2.1-1 Generalidades B2/1

2.2 Bloques de funcin predefinidos avanzados B2/2


2.2-1 Bloque de funcin monoestable %MNi B2/2
2.2-2 Bloque de funcin registro %Ri B2/5
2.2-3 Bloque de funcin programador cclico (Drum) %DRi B2/9
2.2-4 Bloque de funcin temporizador (Timer) %Ti (serie 7) B2/13

2.3 Bloque de operacin de comparacin vertical B2/17

2.4 Instrucciones de desplazamiento B2/19

2.5 Instrucciones para flotantes B2/20


2.5-1 Generalidades B2/20
2.5-2 Instrucciones de comparacin para flotantes B2/22
2.5-3 Instrucciones de asignacin para flotantes B2/23
2.5-4 Instrucciones aritmticas para flotantes B2/24
2.5-5 Instrucciones logartmicas y exponenciales B2/25
2.5-6 Instrucciones trigonomtricas B2/26
2.5-7 Instrucciones de conversin B2/28
2.5-8 Redondeo de un valor flotante en formato ASCII B2/29

2.6 Instrucciones de conversin numrica B2/31


2.6-1 Instrucciones de conversin BCD <--> Binario B2/31
2.6-2 Instrucciones de conversin Entero <--> Flotante B2/33
2.6-3 Instrucciones de conversin Gray --> Entero B2/35
2.6-4 Instrucciones de conversin Palabra <--> Doble palabra B2/36

2.7 Instrucciones para tablas de palabras B2/37


2.7-1 Generalidades B2/37
2.7-2 Asignacin de tablas de palabras B2/38
2.7-3 Instrucciones aritmticas para tablas B2/40

___________________________________________________________________________
B/2
Descripcin detallada de las instrucciones Tabla de materias B
y funciones Seccin B
___________________________________________________________________________

Captulo Pgina
2.7-4 Instrucciones lgicas para tablas B2/41
2.7-5 Funcin de suma para tablas B2/42
2.7-6Funciones de comparacin de tablas B2/43
2.7-7 Funciones de bsqueda para tablas B2/45
2.7-8 Funciones de bsqueda de valores mx. y mn.
para tablas B2/47
2.7-9 Nmero de ocurrencias de un valor en una tabla B2/48
2.7-10 Funciones de desplazamiento circular para tablas B2/49
2.7-11 Funciones de ordenacin para tablas B2/51
2.7-12 Funcin de clculo de longitud de tablas B2/52

2.8 Instrucciones para cadenas de caracteres B2/53


2.8-1 Formato de una cadena o tabla de caracteres B2/53
2.8-2 Asignacin para cadenas de caracteres B2/54
2.8-3 Comparacin alfanumrica B2/55
2.8-4 Conversin Numrico <---> ASCII B2/56
2.8-5 Conversin Binario --->ASCII B2/56
2.8-6 Conversin ASCII ---> Binario B2/58
2.8-7 Conversin Flotante ---> ASCII B2/59
2.8-8 Conversin ASCII --> Flotante B2/60
2.8-9 Concatenacin de dos cadenas B2/61
2.8-10 Eliminacin de una subcadena de caracteres B2/62
2.8-11 Insercin una subcadena de caracteres B2/63
2.8-12 Reemplazo una subcadena de caracteres B2/65
2.8-13 Extraccin de una subcadena de caracteres B2/67
2.8-14 Extraccin de caracteres B2/69
2.8-15 Comparacin de dos cadenas de caracteres B2/71
2.8-16 Bsqueda de una subcadena de caracteres B2/72
2.8-17 Longitud de una cadena de caracteres B2/73

2.9 Instrucciones de gestin de tiempo: fechas, horas, duraciones B2/74


2.9-1 Formato de los parmetros B2/74
2.9-2 Utilizacin de bits y palabras sistema - Generalidades B2/76
2.9-3 Funcin reloj-calendario B2/77
2.9-4 Lectura de la fecha sistema B2/79
2.9-5 Actualizacin de la fecha sistema B2/79
2.9-6 Lectura de la fecha y del cdigo de parada B2/80

___________________________________________________________________________
B/3
B Descripcin detallada de las instrucciones Tabla de materias
y funciones Seccin B
___________________________________________________________________________

Captulo Pgina
2.9-7 Lectura del da de la semana B2/81
2.9-8 Agregar/quitar una duracin en una fecha B2/82
2.9-9 Agregar/quitar una duracin en una hora del da B2/83
2.9-10 Desviacin entre dos fechas (sin hora) B2/85
2.9-11 Desviacin entre dos fechas (con hora) B2/86
2.9-12 Desviacin entre dos horas B2/87
2.9-13 Conversin de una fecha (sin hora) en cadena
de caracteres B2/88
2.9-14 Conversin de una fecha completa en cadena
de caracteres B2/89
2.9-15 Conversin de una duracin en cadena de caracteres B2/90
2.9-16 Conversin de una hora del da en cadena de caracteresB2/91
2.9-17 Conversin de una duracin en HHHH:MM:SS B2/93

2.10 Instrucciones para tablas de bits B2/94


2.10-1 Copia de una tabla de bits en una tabla de bits B2/94
2.10-2 Instrucciones lgicas para tablas de bits B2/95
2.10-3 Copia de una tabla de bits en una tabla de palabras B2/96
2.10-4 Copia de una tabla de palabras en una tabla de bits B2/98

2.11 Funciones "Orphe": desplazamientos, contador B2/100


2.11-1 Desplazamientos en palabras con recuperacin
de bits desplazados B2/100
2.11-2 Contaje/descontaje con indicacin de rebasamiento B2/103
2.11-3 Desplazamientos circulares B2/105

2.12 Funciones de temporizacin B2/107


2.12-1 Generalidades B2/107
2.12-2 Funcin de temporizacin de conexin FTON B2/107
2.12-3 Funcin de temporizacin de desconexin FTOF B2/109
2.12-4 Funcin de temporizacin de impulsin FTP B2/110
2.12-5 Funcin generador de seal rectangular FPULSOR B2/111

2.13 Funciones de archivado de datos B2/113


2.13-1 Generalidades B2/113
2.13-2 Inicializacin del rea de archivado B2/114
2.13-3 Escritura de los datos en el rea de archivado B2/116
2.13-4 Lectura de los datos en el rea de archivado B2/118
___________________________________________________________________________
B/4
Descripcin detallada de las instrucciones Tabla de materias B
y funciones Seccin B
___________________________________________________________________________

Captulo Pgina

3 Bits y palabras del sistema B3/1

3.1 Bits del sistema B3/1


3.1-1 Lista de bits del sistema B3/1
3.1-2 Descripcin detallada de bits del sistema B3/3

3.2 Palabras del sistema B3/9


3.2-1 Lista de palabras del sistema B3/9
3.2-2 Descripcin detallada de las palabras del sistema B3/11

___________________________________________________________________________
B/5
Captulo
Descripcin de las instrucciones de base 11
1 Descripcin de las instrucciones de base B
1.1 Presentacin de las instrucciones de base
1.1-1 Generalidades
Las instrucciones descritas en este captulo son conformes a las instrucciones de base
principales definidas en la norma IEC 1131.3.
El lenguaje utilizado no tiene importancia: estas instrucciones tienen siempre el mismo
efecto. Slo cambia su presentacin en el programa.
Ejemplo de ecuacin booleana:
en Lista de instrucciones: LD %I1.0
ST %Q2.0

%I1.0 %Q2.O
en lenguaje de contactos:

en lenguaje Literal estructurado: %Q2.0 := %I1.0 ;

Estas tres ecuaciones booleanas son equivalentes. El objeto bit %Q2.0 asume el valor
(instruccin de asignacin) del objeto bit %I1.0 (instruccin de carga).

Las instrucciones de base comprenden:


las instrucciones booleanas (tratamientos en bits),
los bloques de funcin predefinidos de automatismo temporizador y contador,
las instrucciones numricas para enteros (tratamientos en palabras y dobles
palabras),
las instrucciones de programa.
Las dems instrucciones se detallan en el captulo 2 "Descripcin de las instrucciones
avanzadas".

___________________________________________________________________________
1/1
B
1.2 Instrucciones booleanas
1.2-1 Presentacin de las instrucciones booleanas
Las instrucciones booleanas actan sobre todas las informaciones del tipo bit (bits de
entradas/salidas, bits internos...).
Elementos de prueba, ejemplo: contacto de cierre
Contacto establecido cuando el objeto bique lo controla est en el estado 1.
%I1.0
LD %I1.0 %I1.0

Elementos de accin, ejemplo: bobina directa.


El objeto bit asociado toma el valor lgico del resultado del elemento de prueba.
%Q2.0
ST %Q2.0 %Q2.0 :=
Ecuacin booleana:
El resultado booleano de los elementos de prueba se aplica al elemento de accin.
%I1.0 %I1.1 %Q2.0
LD %I1.0
AND %I1.1 %Q2.0 := %I1.0 AND %I1.1 ;
ST %Q2.0
Flancos ascendente y descendente
Las instrucciones de prueba permiten detectar el flanco ascendente o descendente
en los bits de entradas y salidas de autmatas o en los bits internos.
Contacto de deteccin de flanco asc.: Contacto de deteccin de flanco desc.:
%I1.0 %I1.0
LDR %I1.0 P RE %I1.0 LDF %I1.0 N FE %I1.0

Para todas las entradas (TON, contaje, ...): un flanco se detecta cuando el estado
del bit ha cambiado entre el ciclo n-1 y el ciclo n en curso; permanece detectado
durante el ciclo en curso (vase la seccin A, captulo 1.3-2).
Flanco ascendente: deteccin del paso Flanco descendente: deteccin del paso
de 0 a 1 de la entrada que lo controla. de 1 a 0 de la entrada que lo controla.

tiempo tiempo
%I1.0 %I1.0

Result. 1 ciclo de tarea Resultado 1 ciclo de tarea


booleano booleano
tiempo tiempo

Para las salidas o los bits internos: la deteccin de un flanco es independiente


del ciclo de tarea; se detecta uno en el bit interno %Mi cuando su estado ha cambiado
entre 2 lecturas. El flanco permanece detectado mientras no se explore %Mi en el
rea de accin.
El usuario no debe efectuar un SET o RESET de un objeto cuyo flanco est probando
(en lenguaje de contactos y Lista de instrucciones).
___________________________________________________________________________
1/2
Descripcin de las instrucciones de base 1

B
1.2-2 Descripcin de las instrucciones
Las instrucciones booleanas se describen del modo siguiente.

La instruccin descrita se presenta en negrita.


Cada ecuacin se ilustra en todos los
lenguajes.

Instrucciones de carga
Estas instrucciones corresponden a:
contactos de cierre: contacto cuando el objeto bit que lo controla est en el estado 1,
...
Lenguaje de contactos Lenguaje Lista de instrucciones

%I1.1 %Q2.3
LD %I1.1
ST %Q2.3
%M0 %Q2.2
LDN %M0
ST %Q2.2

Lenguaje Literal estructurado

%Q2.3 := %I1.1 ;
%Q2.2 := NOT %M0 ;

Operandos autorizados Cronograma

Cdigo Operando
LD %I,%Q,%M,%S,%BLK,%:Xk, %Xi LD LDN

LDN %I,%Q,%M,%S,%BLK,%:Xk, %Xi


%I1.1 %M0

%Q2.3 %Q2.2

Lista de operandos Cronograma


0/1 valor inmediato 0 (false) o 1 (true) Los 4 cronogramas estn agrupados.
%I entrada autmata %Ix.i
%Q salida autmata %Qx.i Cronograma de
LD
%M bit interno %Mi la instruccin LD
%S bit sistema %Si
Estado de la entrada
%BLK bit bloque funcin (ej.: %TMi.Q) %I1.1
o de instancia DFB
%:Xk bit extr. de pal., ej.: %MWi:Xk Estado de la
%Xi bit de etapa, macroetapa (%XMi) salida
%Q2.3
o etapa de macroatapa (%Xj.i)
___________________________________________________________________________
1/3
B
1.2-3 Instrucciones de carga
Estas instrucciones corresponden a:
contactos de cierre: se establecen cuando el objeto bit que los controla = estado 1,
contactos de apertura: se establecen cuando el objeto bit que los controla = estado
0,
contactos de flanco ascendente: deteccin del paso de 0 a 1 del objeto bit que los
controla,
contactos de flanco descendente: deteccin del paso de 1 a 0 del objeto bit que los
controla.
Lenguaje de contactos Lenguaje Lista de instrucciones

%I1.1 %Q2.3
LD %I1.1
ST %Q2.3
%M0 %Q2.2 LDN %M0
ST %Q2.2
LDR %I1.2
%I1.2 %Q2.4
ST %Q2.4
P LDF %I1.3
%I1.3 %Q2.5 ST %Q2.5
N

Lenguaje Literal estructurado

%Q2.3 := %I1.1 ;
%Q2.2 := NOT %M0 ;
%Q2.4 := RE %I1.2 ;
%Q2.5 := FE %I1.3 ;

Operandos autorizados Cronograma

Cdigo Operando P N

LD %I,%Q,%M,%S,%BLK,%:Xk, %Xi (1) LD LDN LDR LDF


LDN %I,%Q,%M,%S,%BLK,%:Xk, %Xi (1)
P LDR %I,%Q,%M %I1.1 %M0 %I1.2 %I1.3
N LDF %I,%Q,%M

(1) True (1) / False (0) en lenguaje Lista %Q2.3 %Q2.2 %Q2.4 (2) %Q2.5 (2)
de instrucciones o Literal estructurado

(2) Puesto a 1 durante1 ciclo


___________________________________________________________________________
1/4
Descripcin de las instrucciones de base 1

B
1.2-4 Instrucciones de asignacin
Estas instrucciones corresponden a:
bobinas directas: el objeto bit asociado toma el valor del resultado de la ecuacin,
bobinas inversas: el objeto bit asociado toma el valor de inverso del resultado de
la ecuacin,
bobinas de conexin: el objeto bit asociado se pone a 1 cuando el resultado de la
ecuacin = 1,
bobinas de desconexin: el objeto bit asociado se pone a 0 cuando el resultado de
la ecuacin = 1.

Lenguaje de contactos Lenguaje Lista de instrucciones

%I1.1 %Q2.3
LD %I1.1
ST %Q2.3
%Q2.2
STN %Q2.2
%Q2.4
S %Q2.4
S
%I1.2 %Q2.4 LD %I1.2
R %Q2.4
R

Lenguaje Literal estructurado

%Q2.3 := %I1.1 ;
%Q2.2 := NOT %I1.1 ;
IF %I1.1 THEN
SET %Q2.4 ;
END_IF ;
IF %I1.2 THEN
RESET %Q2.4 ;
END_IF ;

Operandos autorizados Cronograma

Cdigo Operando S R
ST %I,%Q,%M,%S,%:Xk ST STN S R
STN %I,%Q,%M,%S,%:Xk
S S %I,%Q,%M,%S,%:Xk, %Xi (1)
%I1.1 %I1.1 %I1.1 %I1.2
R R %I,%Q,%M,%S,%:Xk, %Xi (1)

(1) Unicamente en el tratamiento preliminar.


%Q2.3 %Q2.2 %Q2.4
___________________________________________________________________________
1/5
B
1.2-5 Instrucciones Y lgica
Estas instrucciones efectan:
una Y lgica entre el operando y el resultado booleano de la instruccin previa,
una Y lgica entre el inverso del operando y el resultado booleano de instruccin
previa,
una Y lgica entre el flanco ascendente del operando y el resultado booleano de
instruccin previa,
una Y lgica entre el flanco descendente del operando y el resultado booleano de
instruccin previa.

Lenguaje de contactos Lenguaje Lista de instrucciones

%I1.1 %M1 %Q2.3 LD %I1.1


AND %M1
ST %Q2.3
%M2 %I1.2 %Q2.2 LD %M2
ANDN %I1.2
ST %Q2.2
%I1.3 %I1.4 %Q2.4 LD %I1.3
P ANDR %I1.4
%M3 %I1.5 %Q2.5 ST %Q2.4
LD %M3
N ANDF %I1.5
ST %Q2.5

Lenguaje Literal estructurado

%Q2.3 := %I1.1 AND %M1 ;


%Q2.2 := %M2 AND (NOT %I1.2) ;
%Q2.4 := %I1.3 AND (RE %I1.4) ;
%Q2.5 := %M3 AND (FE %I1.5) ;

Nota: los parntesis son opcionales, pero facilitan la legibilidad del programa.

Operandos autorizados Cronograma

Cdigo Operando P N

AND %I,%Q,%M,%S,%BLK,%:Xk,%Xi(1) AND ANDN ANDR ANDF


ANDN %I,%Q,%M,%S,%BLK,%:Xk,%Xi(1)
%I1.1 %M2 %I1 .3 %M3
P ANDR %I,%Q,%M
N ANDF %I,%Q,%M
%M1 %I1.2 %I1.4 %I1.5

(1) True (1) / False (0) en lenguaje Lista


de instrucciones o Literal estructurado %Q2.3 %Q2.2 %Q2.4 (2) %Q2.5 (2)

(2) Puesto a 1 durante 1 ciclo


___________________________________________________________________________
1/6
Descripcin de las instrucciones de base 1

B
1.2-6 Instrucciones O lgica
Estas instrucciones efectan:
una O lgica entre el operando y el resultado booleano de la instruccin previa,
una O lgica entre el inverso del operando y el resultado booleano de la instruccin
previa,
una O lgica entre el flanco ascendente del operando y el resultado booleano de
la instruccin previa,
una O lgica entre el flanco descendente del operando y el resultado booleano de
la instruccin previa.
Lenguaje de contactos Lenguaje Lista de instrucciones

%I1.1 %Q2.3
LD %I1.1
%M1 OR %M1
ST %Q2.3
%M2 %Q2.2
LD %M2
%I1.2
ORN %I1.2
ST %Q2.2
%I1.3 %Q2.4
LD %I1.3
ORR %I1.4
%I1.4
P ST %Q2.4
%M3 %Q2.5
LD %M3
ORF %I1.5
%I1.5
N ST %Q2.5

Lenguaje Literal estructurado


%Q2.3 := %I1.1 OR %M1 ;
%Q2.2 := %M2 OR (NOT %I1.2) ;
%Q2.4 := %I1.3 OR (RE %I1.4) ;
%Q2.5 := %M3 OR (FE %I1.5) ;
Nota: los parntesis son opcionales, pero facilitan la legibilidad del programa.

Operandos autorizados Cronograma


Cdigo Operando
OR %I,%Q,%M,%S,%BLK,%:Xk, P N
%Xi (1)
OR ORN ORR ORF
O R N %I,%Q,%M,%S,%BLK,%:Xk,
%Xi (1)
%I1.1 %M2 %I1.3 %M3
O R R %I,%Q,%M
P
%M1 %I1.2 %I1.4 %I1.5
O R F %I,%Q,%M
N
%Q2.3 %Q2.2 %Q2.4 %Q2.5
(1) True (1) / False (0) en lenguaje Lista de instrucciones o Literal estructurado
___________________________________________________________________________
1/7
B
1.2-7 Instrucciones O exclusiva
Estas instrucciones efectan:
una O exclusiva entre el operando y el resultado booleano de la instruccin previa,
una O exclusiva entre el inverso del operando y el resultado booleano de la
instruccin previa,
una O exclusiva entre el flanco ascendente del operando y el resultado booleano
de la instruccin previa,
una O exclusiva entre el flanco descendente del operando y el resultado booleano
de la instruccin previa.

Nota
En el lenguaje de contactos, no hay elementos grficos especficos para la O exclusiva. Sin
embargo, la O exclusiva puede ser programada utilizando una combinacin de contactos de
apertura y cierre (vase el ejemplo siguiente).

Lenguaje de contactos Lenguaje Lista de instrucciones

%I1.1 %M 1 %Q2.3 LD %I1.1


XOR %M1
%M1 %I1.1 ST %Q2.3

%M2 %I1.2 %Q2.2 LD %M2


XORN %I1.2
%I1.2 %M2 ST %Q2.2

LD %I1.3
XORR %I1.4
Lenguaje Literal estructurado ST %Q2.4

LD %M3
%Q2.3 := %I1.1 XOR %M1 ;
XORF %I1.5
%Q2.2 := %M2 XOR (NOT %I1.2) ;
ST %Q2.5
%Q2.4 := %I1.3 XOR (RE %I1.4) ;
%Q2.5 := %M3 XOR (FE %I1.5) ;

Nota: los parntesis son opcionales, pero facilitan la legibilidad del programa.

Operandos autorizados Cronograma

Cdigo Operando
XOR XORN XORR XORF
XOR %I,%Q,%M,%S,%BLK,%:Xk, %Xi
XORN %I,%Q,%M,%S,%BLK,%:Xk, %Xi %I1.1 %M2 %I1.3 %M3

XORR %I,%Q,%M
%M1 %I1.2 %I1.4 %I1.5
XORF %I,%Q,%M

%Q2.3 %Q2.2 %Q2.4 %Q2.5

___________________________________________________________________________
1/8
Descripcin de las instrucciones de base 1

B
1.3 Bloques de funcin predefinidos
1.3-1 Principio de programacin de bloques de funcin predefinidos
Los bloques de funcin implantan objetos bits y palabras especficas.
Los bloques de funcin se preprograman %Ci
en el autmata y ocupan pues un rea
R E
particular en la memoria de usuario.
A fin de optimizar el espacio de memoria S
ocupado, es necesario definir C.P : 9999 D
CU
previamente el tipo y el nmero de los MODIF : Y
bloques de funcin utilizados, dentro de CD F
los lmites impuestos por el sistema
(mediante los editores de configuracin y Bloque contaje/descontaje
de datos).

Existen 6 tipos de bloques de funcin:

Tipo de bloque Mx. TSX 37 Mx. TSX 57 Vase cap.


Temporizador (Timer) %TMi 64 (1) 255 (1) 1.3-2
Contaje/descontaje %Ci 32 255 1.3-3
Monoestable %MNi 8 255 2.2-1
Registro %Ri 4 255 2.2-2
Programador cclico (Drum) %DRi 8 255 2.2-3
Temporizador (Timer srie 7) %Ti 64 (1) 255 (1) 2.2-4
(1) el nmero total de temporizadores %TMi + %Ti debe ser inferior o igual a 64 en el TSX 37 e
inferior o igual a 255 en el TSX 57.

Cada bloque contiene:


entradas (ej.: IN) que permiten
controlarlo, %TM1
%I1.1 %Q2.3
salidas (Ej.: Q) que indican su estado. A IN Q
cada salida se asocia un bit de salida
(ej.: %TM1.Q) que puede ser probado SR2
por el programa de usuario. Adems, c
cada salida puede controlar una
o varias bobinas (ej.: %Q2.3 y SR2),
parmetros que permiten adaptarlo a la
aplicacin (preseleccin, base de
tiempo...).
Los parmetros de los bloques de funcin (preseleccin, valor actual...) se visualizan
dentro del bloque. En el lenguaje Lista de instrucciones, las instrucciones programan
los bloques predefinidos (vase la seccin A, captulo 3.2-6).

___________________________________________________________________________
1/9
B
1.3-2 Bloque de funcin temporizador %TMi (Timer)
El temporizador tiene 3 modos de
funcionamiento:
%TMi
TON: permite administrar retardos a la
IN Q
MODE:TON conexin. El retardo es programable y
TB: 1mn puede ser modificado o no desde el
terminal.
TM.P:9999
MODIF:Y
TOF: permite administrar retardos a la
desconexin. El retardo es programable
y puede ser modificado o no desde el
Bloque temporizador terminal.
TP: permite elaborar un impulso de una
duracin precisa. La duracin es
programable y puede ser modificada o
no desde el terminal.

Caractersticas
Nmero de temporizador %TMi 0 a 63 para un TSX 37, 0 a 254 para un TSX 57
Modo TON retardo a la conexin(predeterminado)
TOF retardo a la desconexin
TP monoestable
Basedetiempo TB 1 min (valor predeterminado), 1 s, 100 ms, 10
ms.Cuantomspequealabasedetiempo,
tanto mayor ser la precisin del temporizador.
Valoractual %TMi.V Palabra que aumenta de 0 a %TMi.P al transcurre
el temporizador. Puede ser leda y
probada, pero no escrita por el programa (1).
Valordepreseleccin %TMi.P 0-%TMi.P-9999.Palabraquepuedeserleda,
probada y escrita por el programa. De forma
predeterminada,seponea9999.Laduracin
o el retardo elaborado es igual a %TMi.P x TB.
Ajustedesde Y/N Y: posibilidad de modificar el valor de pre-
elterminal seleccin%TMi.Penmodoajuste.
(MODIF) N: sin acceso en modo ajuste.
Entrada(instruccin) IN En el flanco ascendente (modo TON o TP) o
"Activacin" descendente(modoTOF),activaeltemporizador.
Salida"Temporizador" Q Bit asociado %TMi.Q. Su puesta a 1 depende
de la funcin realizada TON, TOF o TP.

(1) %TMi.V puede ser modificado desde el terminal.

___________________________________________________________________________
1/10
Descripcin de las instrucciones de base 1

B
Temporizacin con retardo en la conexin: modo TON
El temporizador se activa en un flanco
ascendente de la entrada IN: su valor
actual %TMi.V toma el valor 0. Luego, el
IN
valor actual aumenta hacia %TMi.P en
una unidad a cada impulso de la base de
tiempo TB. El bit de salida %TMi.Q pasa a Q
1 cuando el valor actual alcanza %TMi.P
y permanece a 1mientras la entrada est %TMi.P

en el estado 1. %TMi.V
Cuando la entrada IN pasa al estado 0, el
temporizador se detiene aun cuando
estaba en curso de evolucin: %TMi.V
toma el valor 0.

Temporizacin con retardo en la desconexin: modo TOF


El valor actual %TMi.V toma el valor 0 en
un flanco ascendente de la entrada IN
(aun cuando el temporizador est en curso
IN
de evolucin). El temporizador se activa
en un flanco descendente de la entrada
IN. Q
Luego, el valor actual aumenta hacia
%TMi.P en una unidad a cada impulso de %TMi.P

la base de tiempo TB. El bit de salida %TMi.V


%TMi.Q pasa a 1 cuando se detecta un
flanco ascendente en la entrada IN y el
temporizador se pone a 0 cuando el valor
actual alcanza %TMi.P.

Monoestable: modo TP
El temporizador se activa en un flanco
ascendente de la entrada IN: su valor
actual %TMi.V toma el valor 0 (si el
IN
temporizador no est en curso de
evolucin). Luego el valor actual aumenta
hacia %TMi.P en una unidad a cada Q
impulso de la base de tiempo TB. El bit de
salida %TMi.Q pasa a 1 cuando el %TMi.P
temporizador se activa y se pone a 0 %TMi.V
cuando el valor actual alcanza %TMi.P.
Cuando la entrada IN y la salida %TM.iQ
estn a 0, TMi.V toma el valor 0.
Este monoestable no puede reactivarse.
___________________________________________________________________________
1/11
B
Programacin y configuracin
La programacin de los bloques de funcin temporizador es idntica en todos los
modos de utilizacin. La eleccin del funcionamiento TON, TOF o TP se efecta en el
editor de variables.

Configuracin
Se introducen los parmetros siguientes en el editor de variables:
- Modo: TON, TOF o TP.
- TB: 1 min, 1 s, 100 ms o 10 ms.
- %TMi.P: 0 a 9999.
- MODIF : Y o N.

Programacin
Lenguaje de contactos Lenguaje Lista de instrucciones

%I1.1 %TM1 %Q2.3


LD %I1.1
IN %TM1
IN Q
LD %TM1.Q
TON ST %Q2.3

Lenguaje Literal estructurado

IF RE %I1.1 THEN
START %TM1 ;
ELSIF FE %I1.1 THEN
DOWN %TM1 ;
END_IF ;
%Q2.3 := %TM1.Q ;

La instruccin START %TMi genera un flanco ascendente en la entrada IN del bloque


temporizador.
La instruccin DOWN %TMi genera un flanco descendente en la entrada IN del bloque
temporizador.

___________________________________________________________________________
1/12
Descripcin de las instrucciones de base 1

B
Casos especficos
Incidencia de un arranque en fro: (%S0=1) tiene como consecuencia la puesta a
0 del valor actual y la puesta a 0 de la salida %TMi.Q. El valor de preseleccin se
reinicializa al valor definido en la configuracin.
Incidencia de un rearranque en caliente: (%S1=1) no tiene incidencia en el valor
actual del temporizador, ni en el valor de preseleccin. El valor actual no evoluciona
durante el corte de corriente.
Incidencia de un paso a STOP, una desactivacin de tarea o una ejecucin de
punto de parada: no inmoviliza el valor actual.
Incidencia de un salto de programa: el hecho de no explorar las instrucciones
donde se programa el bloque temporizador no inmoviliza el valor actual %TMi.V que
sigue aumentando hacia %TMi.P. Asimismo, el bit %TMi.Q asociado a la salida Q
del bloque temporizador conserva su funcionamiento normal y, por consiguiente,
puede ser probado por otra instruccin. En cambio, no se activa la salida cableada
directamente a la salida del bloque, puesto que no la explora el autmata.
Prueba del bit %TMi.Q: se aconseja probar el bit %TMi.Q una sola vez en el
programa.
Incidencia de la modificacin de la preseleccin %TMi.P: la modificacin del valor
de preseleccin, mediante una instruccin o en modo de ajuste, se acepta slo
cuando se activa el temporizador por prxima vez; la modificacin del valor de
preseleccin en el editor de variables se acepta slo despus de un arranque en
fro (%S0=1).

___________________________________________________________________________
1/13
B
1.3-3 Bloque de funcin contaje/descontaje %Ci
El bloque de funcin contaje/descontaje
%Ci
permite contar o descontar sucesos. Es-
tas dos operaciones pueden ser R E
simultneas. S
C.P : 9999 D
CU
MODIF : Y
CD F

Bloque contaje/descontaje

Caracteristicas
Nmero de contador %Ci 0 a 31 para un TSX 37, 0 a 254 para un TSX 57
Valor actual %Ci.V Palabra aumentada o disminuida en funcin de las
entradas CU y CD.
Puede ser leda y probada, pero no escrita por
el programa (1).
Valor de preseleccin %Ci.P 0-%Ci.P-9999. Palabra que puede ser leda,
probada y escrita (valor predeterminado: 9999).
Ajustedesde Y/N S: posibilidad de modificar el valor de pre-
elterminal seleccinenmododeajuste.
(MODIF) N: sin acceso en modo de ajuste.
Entrada (instruccin) R En el estado 1 : %Ci.V = 0.
puesta a cero
Entrada (instruccin) S En el estado1: %Ci.V = %Ci.P.
preseleccin
Entrada (instruccin) CU Aumenta %Ci.V en el flanco ascendente.
contaje
Entrada (instruccin) CD Disminuye %Ci.V en el flanco ascendente.
descontaje
Salida rebasamiento E (Empty) El bit asociado %Ci.E=1, cuando el descontaje
%Ci.V pasa de 0 a 9999 (se pone a 1 cuando
%Ci.V alcanza 9999; se pone a 0 si el contador
sigue descontado).(2)
Salida preseleccin D (Done) El bit asociado %Ci.D=1, cuando %Ci.V=%Ci.P.
alcanzada
Salida rebasamiento F (Full) El bit asociado %Ci.F =1 cuando %Ci.V pasa de
9999 a 0 (se pone a 1 cuando %Ci.V alcanza 0;
se pone a 0 si el contador sigue contando).

(1) %Ci.V puede ser modificado desde el terminal.


(2) cuando se produce un rebasamiento en el contaje o descontaje, el bit %S18 pasa a 1.

___________________________________________________________________________
1/14
Descripcin de las instrucciones de base 1

B
Funcionamiento
Contaje: al aparecer un flanco ascendente en la entrada de contaje CU, el valor
actual se aumenta en una unidad. Cuando este valor alcanza el de preseleccin
%Ci.P, el bit de salida %Ci.D "preseleccin alcanzada" asociado a la salida D pasa
al estado 1. El bit de salida %Ci.F (rebasamiento de contaje) pasa al estado 1 cuando
%Ci.V pasa de 9999 a 0; se pone a 0 si el contador sigue contando.
Descontaje: al aparecer un flanco ascendente en la entrada de descontaje CD, el
valor actual %Ci.V se disminuye en una unidad. El bit de salida %Ci.E (rebasamiento
de descontaje) pasa al estado 1 cuando %Ci.V pasa de 0 a 9999; se pone a 0 si el
contador sigue descontando.
Contaje/Descontaje: para utilizar simultneamente las funciones contaje y
descontaje, es necesario controlar las dos entradas correspondientes (CU y CD),
que se exploran sucesivamente. Si ambas entradas estn simultneamente en el
estado 1, el valor actual permanece sin cambiar.
Puesta a cero: cuando la entrada R se pone 1, el valor actual %Ci.V se fuerza a 0.
Las salidas %Ci.E, %Ci.D y %Ci.F estn en el estado 0. La entrada "puesta a cero"
es prioritaria.
Preseleccin: si la entrada S "preseleccin" est en el estado 1 y la entrada R
"puesta a cero" en el estado 0, el valor actual %Ci.V toma el valor %Ci.P y la salida
%Ci.D el valor 1.

Observacin

Al poner a cero (entrada R o instruccin R):


en el lenguaje de contactos, los historiales de las entradas CU y CD se actualizan
con los valores cableados,
en el lenguaje Lista de instrucciones y en el Literal estructurado, los historiales
de las entradas CU y CD no se actualizan; cada uno conserva el valor anterior
a la llamada.

Casos especficos
Incidencia de un arranque en fro: (%S0=1)
- puesta a 0 del valor actual %Ci.V.
- puesta a 0 de los bits de salida %Ci.E, %Ci.D y %Ci.F.
- inicializacin del valor de preseleccin por el definido en la configuracin.
Incidencia de un rearranque en caliente (%S1=1), un paso a STOP, una
desactivacin de tarea o una ejecucin de punto de parada: no tiene incidencia
en el valor actual del contador (%Ci.V).
Incidencia de la modificacin de la preseleccin %Ci.P: la modificacin del valor
de preseleccin, mediante una instruccin o en modo de ajuste, se acepta durante
la gestin del bloque por la aplicacin (activacin de una de las entradas).

___________________________________________________________________________
1/15
B
Configuracin y programacin

Contaje de un nmero de piezas = 5000. Cada impulso en la entrada %I1.2 (cuando el


bit interno %M0 = 1) incrementa el contador %C8 hasta el valor de preseleccin final
del contador %C8 (bit %C8.D=1). La entrada %I1.1 pone el contador a cero.

Configuracin
Se deben introducir los parmetros siguientes mediante el editor de variables:
- %Ci.P, definido como 5000 en este ejemplo,
- MODIF : Y.

Programacin
Lenguaje de contactos Lenguaje Lista de instrucciones

%C8 LD %I1.1
%I1.1
R E R %C8
LD %I1.2
S AND %M0
%I1.2 %M0 C.P : 5000 D CU %C8
CU
LD %C8.D
MODIF : Y
ST %Q2.0
CD F

%C8.D %Q2.0

Lenguaje Literal estructurado

IF %I1.1 THEN
RESET %C8 ;
END_IF ;
%M1 := %I1.2 AND %M0 ;
IF RE %M1 THEN
UP %C8 ;
END_IF ;
%Q2.0 := %C8.D;

En el lenguaje Literal estructurado, 4 instrucciones permiten programar los bloques


de funcin contaje/descontaje:
RESET %Ci : puesta a cero del valor actual,
PRESET %Ci : carga del valor de preseleccin en el valor actual,
UP %Ci : aumenta el valor actual,
DOWN %Ci : disminuye el valor actual.
En el caso del lenguaje Literal estructurado, el historial de las entradas CU y CD se
pone a cero al utilizar las instrucciones UP y DOWN. Es pues el usuario que debe
efectuar la gestin de los flancos ascendentes para estas dos instrucciones.
___________________________________________________________________________
1/16
Descripcin de las instrucciones de base 1

B
1.4 Tratamientos numricos para enteros
1.4-1 Generalidades
Las instrucciones numricas descritas en este captulo se aplican a objetos de tipo:
tabla de bits,
palabra,
doble palabra.
Las instrucciones para los otros tipos de objetos se describen en el captulo "Descripcin
de las instrucciones y funciones avanzadas".

En el lenguaje de contactos
Las instrucciones numricas se introducen
en los bloques:
ubicados en el rea de prueba (bloques
de comparacin), %Q2.2
ubicados en el rea de accin (bloques %MW50>10
de operacin).
%I1.0
Estos bloques pueden contener: %MW10:=%KW0+10
una expresin simple,
%I1.2
ej.: OP3:=OP1+OP2, N INC%MW100
una expresin compleja,
ej.: OP5:=(OP1+OP2)*OP3-OP4.

En el lenguaje Lista de instrucciones


Las instrucciones se colocan entre
LD [%MW50>10]
corchetes. ST %Q2.2
Se ejecutan, si el resultado booleano de la LD %I1.0
instruccin de prueba que precede a la [%MW10:=%KW0+10]
instruccin numrica es 1. LDF %I1.2
[INC %MW100]

En el lenguaje Literal estructurado %Q2.2 := %MW50 > 10 ;


Las instrucciones numricas se introducen IF %I1.0 THEN
directamente. %MW10 := %KW0 + 10 ;
END_IF ;
La instruccin condicional IF permite
IF FE %I1.2 THEN
condicionar estas instrucciones numricas INC %MW100 ;
con una expresin booleana. END_IF ;

___________________________________________________________________________
1/17
B Lista de operandos
Lista de tablas de bits
Abreviaciones Direccionamiento Tipo de palabra Acceso
%M:L %Mi:L tabla de bits internos R/W
%I:L %Ixy.i:L tabla de bits de entrada R/W
%Q:L %Qxy.i:L tabla de bits de salida R/W
%Xi:L %Xi:L o %Xj.i:L tabla de bits de etapas R

Lista de palabras de formato simple


Abreviaciones Direccionamiento Tipo de palabra Acceso Forma index.
Val. inm. - valores inmediatos R -
%MW %MWi palabra interna R/W %MWi[ndice]
%KW %KWi constante interna R %KWi[ndice]
%SW %SWi palabra sistema R/W (1) -
%IW %IWxy.i(.r) palabra de entrada R -
%QW %QWxy.i(.r) palabra de salida R/W -
%NW %NW{j}k palabra comn R/W -
%BLK ej : %TMi.P pal. extr. de bloque funcin
estndar o de DFB R/W (2) -
%Xi.T %Xi.T o %Xj.i.T tiempo de actividad etapa R %Xi.T [ndice]
(1) escritura segn i. (2) escritura segn el tipo de palabra, por ejemplo: los valores de preseleccin
(%Ci.P pueden ser escritos, mientras los valores actuales %Ci.V slo pueden ser ledos).
Lista de dobles palabras
Abreviaciones Direccionamiento Tipo de doble palabra Acceso Forma index.
Val. inm. - valores inmediatos R -
%MD %MDi doble palabra interna R/W %MD[ndice]
%KD %KDi doble constante interna R %KDi[ndice]
%SD %SDi doble palabra sistema R/W (1) -
%ID %IDxy.i(.r) doble palabra de entrada R -
%QD %QDxy.i(.r) doble palabra de salida R/W -
(1) slo la doble palabra %SD18
Observaciones
Existen otros tipos de palabras y dobles palabras, tales como %MWxy.i %KWxy.i y %MDxy.i
%KDxy.i asociadas a funciones especficas. Estas dobles palabras se comportan
respectivamente como las palabras y dobles palabras %MWi %KWi y %MDi %KDi.
Conversin implcita palabras <--> dobles palabras
El programa PL7 autoriza la combinacin de operaciones con palabras y dobles palabras.
La conversin se efecta implcitamente. Una operacin que implica una doble palabra o
varios valores inmediatos se ejecuta en doble formato interna y automticamente.
___________________________________________________________________________
1/18
Descripcin de las instrucciones de base 1

B
1.4-2 Instrucciones de comparacin
Estas instrucciones permiten comparar dos operandos.
> : prueba si el operando 1 es superior al operando 2.
>= : prueba si el operando 1 es superior o igual al operando 2.
< : prueba si el operando 1 es inferior al operando 2.
<= : prueba si el operando 1 es inferior o igual al operando 2.
= : prueba si el operando 1 es igual al operando 2.
<> : prueba si el operando 1 es diferente del operando 2.
El resultado es 1 cuando la comparacin solicitada es verdadera.
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones
%Q2.3
%MW10>100 LD [%MW10 > 100]
ST %Q2.3
%M0 %Q2.2 LD %M0
AND [%MW20 < %KW35]
%MW20<%KW35 ST %Q2.2
LD %I1.2
%I1.2 %Q2.4 OR [%MW30 >= %MW40]
ST %Q2.4

%MW30>=%MW40

Los bloques de comparacin se La comparacin se realiza dentro de


programan en el rea de prueba. corchetes despus de las instrucciones
LD, AND y OR.
Lenguaje Literal estructurado

%Q2.3 := %MW10 > 100 ;


%Q2.2 := %M0 AND (%MW20 < %KW35) ;
%Q2.4 := %I1.2 OR (%MW30 >= %MW40) ;

Nota: los parntesis son opcionales pero facilitan la legibilidad del programa.

Sintaxis
Operadores: >,>=,<,<=,=,<> Op1 Operador Op2

___________________________________________________________________________
1/19
B
Operandos
Tipo Operandos 1 y 2 (Op1 y 2)
Palabras indexables %MW,%KW
Palabras no indexables Val.inm.,%IW,%QW,%SW,%NW,%BLK, %Xi.T
Expr. numrica
Dobles palabras indexables %MD,%KD
Dobles palabras no indexables Val.inm.,%ID,%QD,%SD,Expr. numrica

Observaciones
En el lenguaje de contactos, tambin es posible efectuar la comparacin con el
bloque de comparacin vertical (vase la seccin B, captulo 2.3),
En el lenguaje Lista de instrucciones, las instrucciones de comparacin pueden
utilizarse entre parntesis.

1.4-3 Instrucciones de asignacin


Efectan la carga de un operando Op2 en un operando Op1.
Sintaxis: Op1:=Op2 <=> Op2->Op1
Las operaciones de asignacin pueden realizarse:
en tablas de bits,
en palabras o dobles palabras .
Es posible encadenar varias instrucciones de asignacin en un mismo bloque:
Op1:=Op2:=Op3:=Op4:=...
Asignacin de tablas de bits (vase el objeto tabla de bits, cap. 1.2-6, seccin A)
Se pueden realizar en las tablas de bits las operaciones siguientes:
tabla de bits -> tabla de bits ej. 1
tabla de bits -> palabra o doble palabra (indexada) ej. 2
palabra o doble palabra (indexada) -> tabla de bits ej. 3
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

LD TRUE
%Q2.0:8:=%M10:8
[%Q2.0:8:= %M10:8] ej 1

%I3.2 LD %I3.2
%MW100:=%I1.0:16 [%MW100:= %I1.0:16 ] ej 2

%I3.3 LDR %I3.3


P %M100:16:=%KW0 [%M100:16:=%KW0] ej 3

___________________________________________________________________________
1/20
Descripcin de las instrucciones de base 1

B
Lenguaje Literal estructurado

%Q2.0:8 := %M10:8 ; ex 1
IF %I3.2 THEN
%MW100 := %I1.0:16 ; ex 2
END_IF ;
IF RE %I3.3 THEN
%M100:16 := %KW0 ; ex 3
END_IF ;

Sintaxis
Operador:= Op1:=Op2

Operandos

Tipo Operando 1 (Op1) Operando 2 (Op2)


Tabla de bits %M:L,%Q:L,%I:L %M:L,%Q:L,%I:L, %Xi:L
Palabras indexables %MW %MW,%KW
Palabras no indexables %QW,%SW,%NW Val.inm.,%IW,%QW,%SW
%BLK %NW,%BLK, %Xi.T, Expr. num.
Dobles palabras indexables %MD %MD,%KD
Dobles palabras no indexables %QD,%SD, Val.inm.,%ID,%QD,%SD
Expr. numrica

Reglas de utilizacin
No es forzosamente idntica la longitud de las tablas de bits origen y destino. Cuando
la tabla origen es ms larga que la destino, slo se transfieren los bits menos
significativos. En el caso contrario, la tabla de destino se completa con ceros.
Cuando se trata de una asignacin tabla de bits -> palabra (o doble palabra ), los bits
de la tabla se transfieren a la palabra (los menos significativos para una doble palabra)
desde la derecha (primer bit de la tabla en el bit 0 de la palabra ). Los bits de palabra
no implicados en la transferencia (longitud<16 o 32) se ponen a 0.
Cuando se trata de una asignacin palabra -> tabla de bits, los bits de la palabra se
transfieren desde la derecha (el bit 0 de la palabra en el primer bit de la tabla).

___________________________________________________________________________
1/21
B
Asignacin de palabras
Se pueden realizar en las palabras las operaciones de asignacin siguientes:
palabra (indexada) -> palabra (indexada) o doble palabra (indexada) ej. 1
doble palabra (indexada) -> doble palabra (indexada) o palabra (indexada) ej. 2
valor inmediato -> palabra (indexada) o doble palabra (indexada) ej. 3
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

LD TRUE
%SW112:=%MW100 [%SW112 := %MW100] ex 1
LD %I3.2
[%MD0:= %KD0[%MW20] ] ex 2
%I3.2
%MD0:=%KD0[%MW20]
Lenguaje Literal estructurado
%I3.3
P %MW10:=100
IF RE %I3.3 THEN
%MW10 := 100 ; ex 3
END_IF ;

Sintaxis
Operador := Op1:=Op2
Operandos

Tipo Operando 1 (Op1) Operando 2 (Op2)


Palabras indexables %MW %MW,%KW
Palabras no indexables %QW,%SW,%NW, Val.inm.,%IW,%QW,%SW
%BLK %NW,%BLK, %Xi.T, Expr. num.
Dobles palabras indexables %MD %MD,%KD
Dobles palabras no indexables %QD,%SD, Val.inm.,%ID,%QD,%SD
Expr. numrica

Observacin
Las conversiones palabra <--> doble palabra se efectan implcitamente durante
la asignacin doble palabra --> palabra. Si la palabra no puede contener el valor de
la doble palabra , el bit %S18 se pone a 1.
Se pueden realizar asignaciones mltiples.
Ejemplo: %MW0 := %MW2 := %MW4
Atencin, en el ejemplo %MD14 := %MW10 := %MD12, el resultado no es
necesariamente %MD14 := %MD12, ya que en la asignacin a %MW10, se pierden
bits ms significativos de la doble palabra por causa de la conversin doble palabra
- simple palabra.

___________________________________________________________________________
1/22
Descripcin de las instrucciones de base 1

B
1.4-4 Instrucciones aritmticas con enteros
Estas instrucciones permiten realizar una operacin aritmtica entre dos operandos
o en un operando.
+ : suma de dos operandos, SQRT : raz cuadrada de un operando,
- : resta de dos operandos, INC : aumento de un operando,
* : multiplicacin de dos operandos, DEC : %Tmi disminucin de un
operando,
/ : divisin de dos operandos, ABS : valor absoluto de un operando.
REM : resto de la divisin de 2 operandos.
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones
%M0
%MW0:=%MW10+100 LD %M0
[%MW0 := %MW10 + 100]
%I3.2
%MW0:=SQRT(%MW10) LD %I3.2
%I3.3 [%MW0 := SQRT(%MW10)]
P INC %MW100
LDR %I3.3
[INC %MW100]

Lenguaje Literal estructurado

IF %M0 THEN
%MW0 := %MW10 + 100 ;
END_IF ;
IF %I3.2 THEN
%MW0 := SQRT (%MW10) ;
END_IF ;
IF RE %I3.3 THEN
INC %MW100 ;
END_IF ;

Sintaxis
Operadores
+,-,*,/,REM Op1:=Op2 Operador Op3

SQRT, ABS Op1:= Operador (Op2)

INC, DEC Operador Op1

___________________________________________________________________________
1/23
B
Operandos
Tipo Operando 1 (Op1) Operandos 2 y 3 (Op2 y 3)
Palabras indexables %MW %MW,%KW
Palabras no indexables %QW,%SW,%NW, Val.inm.,%IW,%QW,%SW
%BLK %NW,%BLK,%Xi.T,Expr. num.
Dobles palabras indexables %MD %MD,%KD
Dobles palabras no indexables %QD,%SD, Val.inm.,%ID,%QD,%SD
Expr. numrica

Nota
No es posible utilizar las operaciones INC y DEC en expresiones numricas.

Reglas de utilizacin
Suma: rebasamiento de capacidad durante la operacin
Si el resultado excede los lmites:
- -32768 o +32767 para un operando de simple longitud,
- -2 147 483 648 o +2 147 483 647 para un operando de doble longitud,
el bit %S18 (overflow) se pone a 1. El resultado es pues no significativo. La gestin
del bit %S18 se efecta en el programa de usuario.
Ejemplo:
Lenguaje de contactos Lenguaje Lista de instrucciones
%M0
LD %M0
%MW0:=%MW1+%MW2
[%MW0 := %MW1+ %MW2]
%S18 LDN %S18
%MW10:=%MW0 [%MW10 := %MW0 ]
%S18 LD %S18
%MW10:=32767
[%MW10 := 32767 ]
R %S18
%S18
R

Lenguaje Literal estructurado

IF %M0 THEN
%MW0 := %MW1 + %MW2 ;
END_IF ;
IF %S18 THEN
%MW10 := 32767 ; RESET %S18 ;
ELSE
%MW10 := %MW0 ;
END_IF ;

Si %MW1 =23241 y %MW2=21853, el resultado real (45094) no puede expresarse


en una palabra de 16 bits. El bit %S18 se pone a 1 y el resultado obtenido (-20442)
es errneo. En este ejemplo, cuando el resultado es superior a 32767, su valor se
fija a 32767.
___________________________________________________________________________
1/24
Descripcin de las instrucciones de base 1

B
Multiplicacin:
Rebasamiento de capacidad durante la operacin.
Si el resultado excede la capacidad de la palabra de almacenamiento, el bit %S18
(overflow) se pone a 1 y el resultado es no significativo.
Divisin/resto de la divisin:
Divisin por 0.
Si el divisor es igual a 0, la divisin es imposible y el bit sistema %S18 se pone a 1.
El resultado es pues errneo.
Rebasamiento de capacidad durante la operacin.
Extraccin de la raz cuadrada:
La extraccin de la raz cuadrada se efecta slo en valores positivos. El resultado
es pues siempre positivo. Si el operando de la raz cuadrada es negativo, el bit
sistema %S18 se pone a 1 y el resultado es errneo.
Nota
Cuando el resultado de una operacin no es un entero (caso de una divisin o de una raz
cuadrada), el resultado se trunca (se redondea al prximo entero inferior).
El signo del resto de la divisin (REM) es el del numerador.
El programa de usuario se encarga de la gestin del bit sistema %S18. El autmata lo pone a
1; el programa debe ponerlo a cero para que pueda ser reutilizado (vase el ejemplo en la pgina
previa).

1.4-5 Instrucciones lgicas


Las instrucciones asociadas permiten realizar una operacin lgica entre dos
operandos o en un operando.
AND : Y (bit a bit) entre dos operandos,
OR : O lgica (bit a bit) entre dos operandos,
XOR : O exclusiva (bit a bit) entre dos operandos,
NOT : complemento lgico (bit a bit) de un operando.

Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

%M0 LD %M0
[%MW0 := %MW10 AND 16#FF00]
%MW0:=%MW10 AND 16#FF00

LD TRUE
[%MW0 := %KW5 OR %MW10]
%MW0:=%KW5 OR %MW10
LD %I1.3
%I1.3 [%MW102:= NOT %MW100]
%MW102:=NOT %MW100

___________________________________________________________________________
1/25
B
Lenguaje Literal estructurado

IF %M0 THEN
%MW0 := %MW10 AND 16#FF00 ;
END_IF ;
%MW0 := %KW5 OR %MW10 ;
IF %I1.3 THEN
%MW102 := NOT %MW100 ;
END_IF ;

Sintaxis
Operadores

AND,OR,XOR, Op1:=Op2 Operador Op3

NOT, Op1:=NOT Op2

Operandos

Tipo Operando 1 (Op1) Operandos 2 y 3 (Op2 y 3)


Palabras indexables %MW %MW,%KW
Palabras no indexables %QW,%SW,%NW, Val.inm.,%IW,%QW,%SW
%BLK %NW,%BLK,%Xi.T,Expr. num.
Dobles palabras indexables %MD %MD,%KD
Dobles palabras no indexables %QD,%SD Val.inm.,%ID,%QD,%SD
Expr. numrica

___________________________________________________________________________
1/26
Descripcin de las instrucciones de base 1

B
1.4-6 Expresiones numricas
La expresin numrica se compone de varios operandos numricos y de operadores
aritmticos y lgicos descritos previamente.
Ejemplo: %MW25 * 3 - SQRT(%MW10) + %KW8* (%MW15 + %MW18) AND 16#FF
No se limita el nmero de operadores y operandos de una expresin aritmtica.
Expresin numrica para objetos enteros
Los operandos de una misma expresin numrica pueden ser sin distincin de simple
o doble longitud:
Ejemplo: %MW6 * %MW15 + SQRT(%DW6) / (%MW149[%MW8]) + %KD29)
AND 16#FF
Un operando o una operacin de un solo operando puede venir precedido del signo
+ o - (signo predeterminado: +).
Ejemplo: SQRT (%MW5) * - %MW9
Todos los objetos palabras pueden utilizarse dentro de una expresin aritmtica. Es
posible la indexacin de ciertas palabras.
Prioridad de ejecucin de las instrucciones
En la expresin numrica, se respeta la prioridad de las instrucciones. La ejecucin
se efecta en esta orden:

1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8


Instruccin * + <,> = AND XOR OR
con un / - <=,>= <>
operando REM

En el ejemplo siguiente, la ejecucin se realiza en el orden de la numeracin:


SQRT (%MW3) + %MW5 * 7 AND %MW8 OR %MW5 XOR %MW10

1 2
3
4 5

Parntesis
Los parntesis permiten modificar el orden de evolucin de las prioridades. Se
aconseja su uso para estructurar las expresiones numricas.
((%MW5 AND %MW6) + %MW7) * %MW8

1
2
3
___________________________________________________________________________
1/27
B
1.5 Instrucciones de programa
1.5-1 Llamada a un subprograma
La instruccin de llamada a un subprograma permite llamar a un mdulo de subprograma
situado en la misma tarea.

Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

%M8 SR10 LD %M8


C SR10

Lenguaje Literal estructurado

IF %M8 THEN
SR10 ;
END_IF ;

SRi representa el mdulo de subprograma llamado: i (variable de 0 a 253).

Reglas
Para efectuar una llamada a un subprograma, es necesario crear previamente el
mdulo de subprograma.
Se regresa del subprograma con la accin que viene inmediatamente despus de
la instruccin de llamada al subprograma.
Un subprograma puede llamar a otro subprograma; el nmero de llamadas en
cascada se limita a 8.
Los subprogramas se asignan a una tarea; slo pueden llamarse desde una misma
tarea.

Principio
Mdulo de subprograma Mdulo de subprograma
SR 10 SR 12
Call SR 10

Call SR 12

Call SR 10

___________________________________________________________________________
1/28
Descripcin de las instrucciones de base 1

B
1.5-2 Regreso de subprograma
La instruccin de regreso de subprograma se reserva para los mdulos de subprograma.
Permite regresar hacia el mdulo que llama, si el resultado booleano de la instruccin
de prueba previa es 1.
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

%M8
LD %M8
<RETURN> RETC

Lenguaje Literal estructurado

IF %M8 THEN
RETURN ;
END_IF ;

Regla de utilizacin
La instruccin de regreso del subprograma se realiza implcitamente al final de cada
subprograma, pero puede ser utilizada para regresar al mdulo que llama antes del
fin de subprograma.
Ejemplo
Lenguaje de contactos Lenguaje Lista de instrucciones

LD [%MW5>3]
RETC
%MW5>3 <RETURN> LD %M8
[%MD26:=%MW4*%KD6]
%M8
%MD26:=%MW4*%KD6

Lenguaje Literal estructurado

IF (%M5 > 3) THEN


RETURN ;
END_IF ;
IF %M8 THEN
%MD26 := %MW4 * %KD6 ;
END_IF ;

El lenguaje Lista de instrucciones contiene las instrucciones adicionales siguientes:


RETCN: regreso del subprograma, si el resultado booleano de la instruccin de
prueba previa es 0.
RET: regreso incondicional.
___________________________________________________________________________
1/29
B
1.5-3 Salto de programa
Las instrucciones de salto permiten desviar a una lnea de programacin marcada de
una etiqueta %Li.
JMP: salto incondicional.
JMPC: salto si el resultado booleano de la instruccin de prueba previa es 1.
JMPCN: salto si el resultado booleano de la instruccin de prueba previa es 0.
%Li representa la etiqueta de la lnea en la que se efecta la desviacin (i = una
variable de 1 a 999 con un mximo de 256 etiquetas).

Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones
%M8 %L10
LD %M8
>> JMPC %L10
%I1.0 %Q2.5 LD %I1.0 Salto a la
ST %Q2.5 etiqueta %L10,
.............. si %M8 = 1.
%L10 :
%L10 LD %M20
%M20 %M5 ST %M5
LD %I1.0
AND %I1.2
%I1.0 %I1.2 %Q2.1 ST %Q2.1

Lenguaje Literal estructurado


IF %M8 THEN
JUMP %L10 ;
END_IF ;
Salto a la etiqueta %L10,
%Q2.5 := %I1.0 ;
si %M8 = 1.
%L10 :
%M5 := %M20 ;
%Q2.1 := %I1.0 AND %I1.2 ;

___________________________________________________________________________
1/30
Descripcin de las instrucciones de base 1

B
Lenguaje de contactos Lenguaje Lista de instrucciones
%M2 %L20
LD %M2
>>
JMPCN %L20
%I2.0 %Q3.5 Salto a la
LDN %I2.0
ST %Q3.5 etiqueta %L20,
.............. si %M2 = 0.
%L20 :
%L20 LD %M30
%M30 %M6 ST %M6

Lenguaje Literal estructurado


IF NOT %M2 THEN
JUMP %L20 ;
END_IF ; Salto a la etiqueta %L20,
%Q3.5 := NOT %I2.0 ;
si %M2 = 0.
%L20 :
%M6 := %M30 ;

Lenguaje de contactos Lenguaje Lista de instrucciones

%L40
JMP %L40
>> %L20 : S a l t o
LD %I2.1 incondicional a
%L20 ST %Q3.5 la etiqueta
%I2.1 %Q3.5 ..............
%L40 :
%L40.
LD %M20
ST %M5
%L40
%M20 %M5

Lenguaje Literal estructurado


JUMP %L40 ;

%L20 : Salto incondicional


%Q3.5 := %I2.1 ; a la etiqueta %L40,
%L40 :
%M5 := %M20 ;

___________________________________________________________________________
1/31
B
Reglas
Un salto de programa se efecta dentro de una misma entidad de programacin
(mdulo principal de una tarea maestra MAIN, subprograma %SRi, ...).
Un salto de programa se efecta hacia una lnea de programacin situada arriba o
abajo.
Si se trata de un salto hacia arriba, el tiempo de ejecucin del programa se extiende
y puede tener como consecuencia el rebasamiento del perodo de la tarea que
incluye el salto.

1.5-4 Instrucciones de fin de programa


Las instrucciones END, ENDC y ENDCN permiten definir el fin de ejecucin del ciclo
de programa.
END: fin de programa incondicional.
ENDC: fin si el resultado booleano de la instruccin de prueba previa es 1.
ENDCN: fin si el resultado booleano de la instruccin de prueba previa es 0.
De forma predeterminada (modo normal), cuando se activa el fin de programa, se
actualizan las salidas y se pasa al ciclo siguiente.
Si la exploracin es peridica, se espera el fin de perodo, se actualizan las salidas
y se pasa al ciclo siguiente.
Nota
Estas instrucciones pueden utilizarse nicamente en el lenguaje Lista de instrucciones en la tarea
maestra.
Ejemplo
Lenguaje Lista de instrucciones
LD %M1 LD %M1
ST %Q2.1 ST %Q2.1
LD %M2 LD %M2
ST %Q2.2 ST %Q2.2
..................... .....................
END LD %I1.2
ENDC Si %I1.2 =1, fin de
LD %M2 exploracin de programa.
ST %Q2.2 Si %I1.2 =0, sigue
.................... explorando el programa
END hasta la nueva instruccin
END.

___________________________________________________________________________
1/32
Descripcin de las instrucciones de base 1

B
1.5-5 Parada de programa
La instruccin HALT en un programa de aplicacin permite detener la ejecucin del
programa (parada de todas las tareas), lo que tiene como efecto la inmovilizacin de
los objetos variables del programa.
Para que se ejecute de nuevo el programa parado, es necesario inicializarlo (mediante
el comando INIT de PL7). No se ejecutarn las instrucciones que vienen despus de
la instruccin HALT.

Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

LD %M10
%M10
HALT
<HALT>

Lenguaje Literal estructurado

IF %M10 THEN
HALT ;
END_IF ;

___________________________________________________________________________
1/33
B
1.5-6 Instrucciones de enmascaramiento/desenmascaramiento de sucesos
Estas instrucciones permiten enmascarar o desenmascarar todos los sucesos que
aseguran la activacin de las tareas de suceso.
MASKEVT: enmascaramiento global de sucesos. El autmata almacena los sucesos.
En cambio, las tareas de suceso asociadas permanecen inactivas durante la validez
de la operacin de enmascaramiento (hasta la prxima instruccin UNMASKEVT).
UNMASKEVT: desenmascaramiento global de sucesos. Se tratan los sucesos
almacenados durante el perodo de enmascaramiento. El mecanismo de tratamiento
de sucesos permanece operacional hasta la prxima instruccin MASKEVT.
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

%M0
MASKEVT ( )
LD %M0
[MASKEVT()]
%M8
UNMASKEVT ( ) LD %M8
[UNMASKEVT()]

Lenguaje Literal estructurado

IF %M0 THEN
MASKEVT ( ) ;
END_IF ;
IF %M8 THEN
UNMASKEVT ( ) ;
END_IF ;

1.5-7 Instruccin NOP


La instruccin NOP no efecta ninguna accin. Permite "reservar" lneas en un
programa y as escribir instrucciones sin modificar los nmeros de lnea.

___________________________________________________________________________
1/34
Descripcin de las instruccionesCaptulo
avanzadas 22
2 Descripcin de las instrucciones avanzadas B
2.1 Presentacin de las instrucciones avanzadas
2.1-1 Generalidades
Las instrucciones descritas en este captulo satisfacen las necesidades de programacin
avanzada.
Tienen los mismos efectos en todos los lenguajes. Slo difiere la sintaxis.
Son:
instrucciones de base del software, o
funciones consideradas como extensiones de software.
Las instrucciones de tipo Funciones ampliadas permiten completar el software de
base con instrucciones especficas de programacin.
Operaciones en cadenas de caracteres, tablas de palabras, etc...
Funciones especficas: Comunicacin, Regulacin, Dilogo de operador, etc...
Comprenden las familias siguientes:
cadenas de caracteres,
tablas de enteros,
gestin de fechas, horas, duraciones,
conversiones,
tablas de bits,
funciones "Orphe",

Comunicacin,
Regulacin, ==> vase la funcin respectiva
Dilogo de operador,
Control de movimiento

Observaciones sobre la programacin

Las instrucciones de tipo Funcin implican una ocupacin de memoria de aplicacin


adicional (pero slo cuando se utilizan realmente en el programa).
El programador debe tener en cuenta el espacio de memoria de cada funcin
independientemente del nmero de veces que se utilizan y en conformidad con el
tamao mximo de memoria del autmata utilizado.

___________________________________________________________________________
2/1
B
2.2 Bloques de funcin predefinidos avanzados
2.2-1 Bloque de funcin monoestable %MNi

El bloque de funcin monoestable permite %MNi


elaborar un impulso de duracin precisa.
S R

Esta duracin es programable y puede TB: 1mn


ser modificada o no desde el terminal.
MN.P:9999
MODIF:Y

Bloque monoestable

Caractersticas

Nmero %MNi 0 a 7 para un TSX 37, 0 a 254 para un TSX 57


Base de tiempo TB 1min, 1s, 100ms, 10ms (valor predet.: 1min).
Valor actual %MNi.V Palabra que disminuye de %MNi.P hacia 0 en el
transcurso del temporizador. Puede ser leda y
probada, pero no escrita.
Valor de preseleccin %MNi.P 0 < %MNi.P < 9999. Palabra que puede ser leda,
probada y escrita. La duracin del impulso
(PRESET) es igual a %MNi.P x TB.
Modificacin MODIF Y/N Y: posibilidad de modificar el valor de preseleccin
en modo de ajuste.
N: sin acceso en modo de ajuste.
Entrada "Inicio" S (Start) En el flanco ascendente %MNi.V = %MNi.P, luego
(o instruccin) %MNi.V disminuye hacia 0.
Salida "Monoestable" R (Running) El bit asociado %MNi.R est en el estado 1 si
%MNi.V > 0 (transcurso monoestable)
%MNi.R = 0 si %MNi.V = 0.

Funcionamiento
Cuando aparece un estado 1 (flanco ascendente) en la entrada S del monoestable, el
valor actual %MNi.V toma el valor de preseleccin %MNi.P y disminuye hacia 0 en una
unidad a cada impulso de la base de tiempo TB. El bit de salida %MNi.R (Running)
asociado a la salida R se pone a 1 cuando el valor actual %MNi.V es distinto de 0.
Cuando el valor actual %MNi.V = 0, el bit de salida %MNi.R se pone a 0.

Entrada "inicio" S:
S

Valor actual %MNi.V: %MNi.P


%MNi.V

Salida "en curso" R: R

PRESET PRESET PRESET


___________________________________________________________________________
2/2
Descripcin de las instrucciones avanzadas 2

B
Programacin y configuracin

Ejemplo de utilizacin: intermitente con


perodos cclicos variables, el valor de
preseleccin del monoestable define la %Q3.0
5s 5s
duracin del impulso. 2s 2s

Configuracin
Los parmetros siguientes se introducen en el editor de variables:
- TB: 1 min, 1 s, 100 ms, 10 ms o 1 ms (en este ejemplo, 100 ms )
- %MNi.P: 0 a 9999 (en este ejemplo, %MN0.P=50 y %MN1.P=20)
- MODI: Y o N

Programacin
Lenguaje de contactos Lenguaje Lista de instrucciones

%MN1.R %MN0 %Q3.0


LDN %MN1.R
S %MN0
S R
LD %MN0.R
ST %Q3.0
LDN %MN0.R
S %MN1

Lenguaje Literal estructurado


%MN0.R %MN1
%M0:=NOT %MN1.R ;
S R
IF RE %M0 THEN
START %MN0 ;
END_IF ;
%Q3.0:= %MN0.R ;
%M1:= NOT %MN0.R ;
IF RE %M1 THEN
START %MN1 ;
END_IF ;

En este ejemplo, la salida %Q3.0 se pone a 1 durante 5 s (%MN0.P) y luego se pone


a 0 durante 2 s (%MN1.P).
En el Literal estructurado, la instruccin START %Mni permite activar la ejecucin del
bloque monoestable. Esta instruccin fuerza un flanco ascendente en la entrada S del
bloque, lo que tiene como consecuencia la reinicializacin del bloque de funcin. Por
consiguiente, el uso de esta instruccin debe ser impulsivo.

___________________________________________________________________________
2/3
B
Observacin
La funcin monoestable puede tambin ser realizada por el bloque de funcin
%TMi en modo TP (vase la seccin B, captulo 1.3-2).

Casos especficos
Incidencia de un arranque en fro: (%S0 = 1) tiene como consecuencia la carga del
valor de preseleccin %MNi.P en el valor actual %MNi.V. Puesto que se pierde el
valor de preseleccin eventualmente modificado por el terminal, la salida %MNi.R
se pone a 0.
Incidencia de un rearranque en caliente: (%S1) no tiene incidencia en el valor
actual del monoestable (%MNi.V).
Incidencia de un paso en STOP, una desactivacin de tarea y un punto de parada:
el paso en STOP del autmata no inmoviliza el valor actual. Ocurre lo mismo, cuando
se desactiva la tarea en curso o se ejecuta un punto de parada.
Incidencia de un salto de programa: el hecho de no explorar la red donde se
programa el bloque monoestable no inmoviliza el valor actual %MNi.V que sigue
disminuyendo hacia 0.
Asimismo, el bit %MNi.R asociado a la salida del bloque monoestable conserva su
funcionamiento normal y puede ser probado en otra red. En cambio, las bobinas
directamente "conectadas" a la salida del bloque (ej. %Q3.0) no se activan, ya que
el autmata no las explora.
Prueba del bit %MNi.R: este bit puede cambiar de estado en curso del ciclo.

___________________________________________________________________________
2/4
Descripcin de las instrucciones avanzadas 2

B
2.2-2 Bloque de funcin registro %Ri
Un registro es un bloque de memoria que
%Ri
permite almacenar hasta 255 palabras de
16 bits de dos maneras distintas: R E
MODE:LIFO
LEN:16
cola de espera (primero en entrar, I F
primero en salir) llamada pila FIFO (First
In, First Out), O
pila (ltimo en entrar, primero en salir)
Bloque registro
llamada pila LIFO (Last In, First Out).

Caractersticas

Nmero de registro %Ri 0 a 3 para un TSX 37, 0 a 254 para un TSX 57


Modo FIFO Cola de espera (seleccin predeterminada).
LIFO Pila.
Longitud LEN Nmero de palabras de 16 bits (1< LEN< 255)
que componen el bloque de memoria registro.
Palabra de entrada %Ri.I Palabra de acceso al registro. Puede ser leda,
probada y escrita.
Palabra de salida %Ri.O Palabra de salida del registro. Puede ser leda,
probada y escrita.
Entrada (o instruccin) I (In) En el flanco ascendente, almacena el contenido
"Almacenamiento" de la palabra %Ri.I en el registro.
Entrada (o instruccin) O (Out) En el flanco ascendente, almacena una palabra
"Desalmacenamiento" de informacin en la palabra %Ri.O.
Entrada (o instruccin) R (Reset) En el estado 1, inicializa el registro.
"Puesta a cero"
Salida "Vaco" E (Empty) El bit %Ri.E asociado indica que el registro est
vaco. Puede ser probado.
Salida "Lleno" F (Full) El bit %Ri.F asociado indica que el registro est
lleno. Puede ser probado.

Nota
Cuando las dos entradas I y O se activan simultneamente, el almacenamiento se realiza antes
del desalmacenamiento.

___________________________________________________________________________
2/5
B
Funcionamiento
FIFO (First In, First Out)
La primera informacin introducida es la pri- Ejemplo
mera en salir. Cuando se tiene en cuenta una Almacenamiento del contenido de
peticin de entrada (flanco ascendente en la %Ri.I en lo alto de la cola.
entrada I o activacin de la instruccin I), el
contenido de la palabra de entrada %Ri.I 20
previamente cargada se almacena en lo alto de %Ri.I 20
la cola (Fig. a). Si la cola est llena (salida F=1), (a) 80
es imposible almacenar y el bit sistema %S18
pasa a1. 50
Cuando se tiene en cuenta una peticin de Desalmacenamiento de la primera
salida (flanco ascendente en la entrada O o informacin y almacenamiento de sta
activacin de la instruccin O), la palabra de en %Ri.O.
informacin que se encuentra en el fondo de la
cola se almacena en la palabra de salida %Ri.O 20 (b)
y el contenido del registro se desplaza un paso 80 %Ri.0
hacia abajo (Fig. b). Si el registro est vaco 50 50
(salida E=1), es imposible desalmacenar; la
palabra de salida %Ri.O ya no evoluciona y
conserva su valor. La cola puede reinicializarse 20
en todo momento (estado 1 en la entrada R o 80
activacin de la instruccin R).
LIFO (Last In, First Out)
La ltima informacin introducida es la primera Ejemplo
en salir. Cuando se tiene en cuenta una peticin
Almacenamiento del contenido de
de entrada (flanco ascendente en la entrada I %Ri.I en lo alto de la pila.
o activacin de la instruccin I), el contenido de
la palabra de entrada %Ri.I previamente 20
cargada se almacena en lo alto de la pila (Fig. %Ri.I 20
c). Si la pila est llena (salida F=1), es imposible (c)
almacenar y el bit sistema %S18 pasa a1. 80
Cuando se tiene en cuenta una peticin de 50
salida (flanco ascendente en la entrada O o
activacin de la instruccin O), la palabra de Desalmacenamiento de la palabra de
informacin que se encuentra en lo alto de la informacin del alto de la pila.
pila (ltima informacin introducida) se
%Ri.0
almacena en la palabra %Ri.O (Fig. d). Si el
registro est vaco (salida E=1), es imposible 20 20
desalmacenar; la palabra de salida %Ri.O ya 80 (b)
no evoluciona y conserva su ltimo valor. La 50
pila puede reinicializarse en todo momento
(estado 1 en la entrada R o activacin de la
80
instruccin R). El elemento indicado est en lo
alto de la pila.
50

___________________________________________________________________________
2/6
Descripcin de las instrucciones avanzadas 2

B
Programacin y configuracin
Configuracin
Los parmetros siguientes se introducen en el editor de configuracin:
- nmero : 1 a 4 para un TSX 37, 1 a 255 para un TSX 57,
- longitud : 1 a 255.
El modo de funcionamiento (FIFO o LIFO) se introduce en el editor de variables.
Programacin
Lenguaje de contactos Lenguaje Lista de instrucciones
%R2 LD %M1
I %R2
R E LD %I1.3
%M1 O %R2
MOD : LD %I1.3
I LEN : F
ANDN %R2.E
%I1.3 [%MW20:=%R2.O]
O LD %I1.2
ANDN %R2.F
%I1.3 %R2.E [%R2.I:=%MW34]
ST %M1
%MW20:=%R2.O
%I1.2 %R2.F
%R2.I:=%MW34
%M1

Lenguaje Literal estructurado


IF RE %M1 THEN
PUT %R2 ;
END_IF ;
IF RE %I1.3 THEN
GET %R2 ;
END_IF ;
IF (%I1.3 AND NOT %R2.E) THEN
%MW20:= %R2.O ;
END_IF ;
%M1:= %I1.2 AND NOT %R2.F ;
IF %M1 THEN
%R2.I:= %MW34 ;
END_IF ;

El ejemplo de programa muestra la carga de %R2.I por la palabra %MW34 a peticin


de la entrada %I1.2, si el registro R2 no est lleno (%R2.F=0). %M1 asegura la peticin
de entrada en el registro. La peticin de salida se efecta por la entrada %I1.3. El
almacenamiento de %R2.O en %MW20 se realiza si el registro no est vaco
(%R2.E=0).
___________________________________________________________________________
2/7
B
En el lenguaje Literal estructurado, 3 instrucciones permiten programar los bloques de
funcin registro:
RESET %Ri : inicializa el registro,
PUT %Ri : almacena el contenido de la palabra %Ri.I en el registro,
GET %Ri : almacena una palabra de informacin en la palabra %Ri.O.
Las instrucciones PUT y GET realizan un flanco ascendente respectivamente en las
entradas I y O del bloque de funcin. Por consiguiente, el uso de estas instrucciones
debe ser impulsivo.

Casos especficos
Incidencia de un arranque en fro: (%S0=1) tiene como consecuencia la inicializacin
del contenido del registro. El bit de salida %Ri.E asociado a la salida E se pone a 1.
Incidencia de un rearranque en caliente: (%S1=1) no tiene incidencia en el
contenido del registro ni en el estado de los bits de salida.
Al poner a 0 (entrada R o instruccin R):
- en el lenguaje de contactos, los historiales de las entradas I y O se actualizan con
los valores cableados.
- en el lenguaje Lista de instrucciones, los historiales de las entradas I y O no se
actualizan; cada uno conserva el valor anterior a la llamada.
- en el lenguaje Literal estructurado, los historiales de las entradas I y O se actualizan
con 0.

___________________________________________________________________________
2/8
Descripcin de las instrucciones avanzadas 2

B
2.2-3 Bloque de funcin programador cclico (Drum) %DRi
Segn un principio de funcionamiento
parecido al programador de levas, el %DRi
programador cclico cambia de paso en
R F
funcin de sucesos exteriores. A cada
%TB:1mn
paso, el punto alto de una leva da un
U
comando que el automatismo ejecuta. En
LEN:16
el caso del programador cclico, un estado
1 simbolizar al nivel de cada paso los
puntos altos, que se asignan a bits de
salida %Qi.j o internos %Mi llamados bits Bloque programador cclico
de comando.

Caractersticas

Nmero %DRi 0 a 7 para un TSX 37, 0 a 254 para un TSX 57


Nmero de pasos LEN De 1 a 16 (valor predeterminado: 16).
Base de tiempo TB 1 min, 1 s, 100 ms, 10 ms (valor predet.: 1min).
Tiempo transcurrido %DRi.V 0<%DRi.V<9999. Palabra puesta a 0 cada vez
o duracin del paso que se cambia de paso. Puede ser leda y
en curso probada, pero no escrita. La duracin es igual a
%DRi.V x TB.
Nmero del paso %DRi.S 0<%DRi.S<15. Palabra que puede ser leda y
en curso probada.. Slo puede ser escrita a partir de un
valor inmediato.
Entrada R (RESET) En el estado 1, inicializa el programador al
"regreso al paso 0" paso 0.
Entrada U (UP) En el flanco ascendente, avanza de un paso
"avance" el programador y actualiza los bits de comando.
Salida F (FULL) Indica que el ltimo paso definido est en curso.
El bit %DRi.F asociado puede ser probado
(%DRi.F=1 si %DRi.S=nmero de pasos
configurados - 1).
Estado de un paso %DRi.Wj Palabra de 16 bits que define los estados del
paso j del programador i. Puede ser leda y
probada, pero no escrita.
Bits de comando Salidas o bits internos asociados al paso (16 bits
de comando).

Observacin: el bit %S18 pasa a 1, si se escribe un paso no configurado.

___________________________________________________________________________
2/9
B
Funcionamiento
El programador cclico se compone de:
una matriz de datos constantes (las levas) organizada en columnas: en pasos de
0 a N-1 (con N el nmero de pasos configurados). Cada columna indica los estados
del paso bajo forma de 16 informaciones binarias marcadas de 0 a F.
una lista de bits de comando (1 por lnea) que corresponden a salidas %Qxy.i o a
bits internos %Mi. Durante el paso en curso, los bits de comando toman los estados
binarios definidos para el paso.
La tabla siguiente resume las caractersticas principales del programador cclico
(programador configurado con 16 pasos).
Paso

Bits de
Bit comando

En este ejemplo, para el paso 1, los bits de comando %Q2.1;%Q3.5; %Q2.8;%Q3.6;%M5


y %M6 se ponen a 1, los dems bits de comando se ponen a 0. El nmero del paso
en curso se aumenta en cada flanco ascendente en la entrada U (o activacin de la
instruccin U). Este nmero puede ser modificado desde el programa.
Diagrama de funcionamiento

Entrada U:

Entrada R:

Npaso %DRi.S 0 1 2 3 N-1 0 1 2 0 1

Salida %DRi.F

Tiempo %DRi.V
transcurrido

___________________________________________________________________________
2/10
Descripcin de las instrucciones avanzadas 2

B
Programacin y configuracin
En este ejemplo, las 5 primeras salidas %Q2.0 a %Q2.4 se activan una tras otra cada
vez que la entrada %I1.1 se pone a 1.
La entrada I1.0 reinicializa las salidas al paso 0.
Configuracin
Las informaciones siguientes se definen en el editor de variables:
- nmero de pasos: 5 (LEN:5),
- los estados de las salidas (bits de comando) para cada paso del programador.
Paso Asignacin de bits de comando
01234
0: 10000 %Q2.0
1: 01000 %Q2.1
Bit 2: 00100 %Q2.2
3: 00010 %Q2.3
4: 00001 %Q2.4
- base de tiempo (TB:1 min).

Programacin
Lenguaje de contactos Lenguaje Lista de instrucciones

LD %I1.0
R %DR1
%I1.0 %DR1 %Q2.8
LD %I1.1
R F U %DR1
%I1.1 %TB:1 mn LD %DR1.F
ST %Q2.8
U
LEN:5

Lenguaje Literal estructurado

IF %I1.0 THEN
RESET %DR1 ;
END_IF ;
IF RE %I1.1 THEN
UP %DR1 ;
END_IF ;
%Q2.8:= %DR1.F ;

En el lenguaje Literal estructurado, 2 instrucciones permiten programar los bloques


de funcin del programador cclico:
RESET %DRi : inicializa el programador al paso 0,
UP %DRi : avanza de un paso del programador actualiza los bits de comando.
Esta instruccin realiza un flanco ascendente en la entrada U del bloque de funcin;
por consiguiente, su uso debe ser impulsivo.

___________________________________________________________________________
2/11
B
Observacin
En la puesta a 0 (entrada R, instruccin R o instruccin RESET):
en el lenguaje de contactos, el historial de la entrada U se actualiza con los
valores cableados.
en el lenguaje Lista de instrucciones, el historial de la entrada U no se actualiza;
conserva el valor anterior a la llamada.
en el lenguaje Literal estructurado, el historial de U se actualiza con 0.

Casos especficos
Incidencia de un arranque en fro: (%S0=1) tiene como consecuencia la
reinicializacin del programador al paso 0 (con la actualizacin de los bits de
comando).
Incidencia de un rearranque en caliente: (%S1=1) tiene como consecuencia la
actualizacin de los bits de comando segn el paso en curso.
Incidencia de un salto de programa, una desactivacin de tarea y un punto de
parada: el hecho de no explorar el programador cclico no pone los bits de comando
a 0.
Actualizacin de bits de comando: se efecta slo al cambiar de paso o al arrancar
en fro o en caliente.

___________________________________________________________________________
2/12
Descripcin de las instrucciones avanzadas 2

B
2.2-4 Bloque de funcin temporizador (Timer) %Ti (serie 7)
Este bloque de funcin temporizador com-
patible con los bloques serie 7 PL7-2/3 %Ti
permite controlar acciones especficas. E D
El valor de este retardo es programable y TB:1mn
puede ser modificado o no desde el termi- C R
nal. T.P:9999
MODIF:Y

Bloque temporizador

Caractersticas

Nmero %Ti 0 a 63 para un TSX 37, 0 a 254 para un TSX 57


Base de tiempo TB 1 min, 1 s, 100 ms, 10 ms (valor predet.: 1min)).
Valor actual %Ti.V Palabra que disminuye en %Ti.P hacia 0 en el
transcurso del temporizador. Puede ser leda y
probada, pero no escrita.
Valor de preseleccin %Ti.P 0 < %Ti.P < 9999. Palabra que puede ser leda,
probada y escrita. De forma predeterminada, se
pone al valor 9999. La duracin es igual a %Ti.P*TB.
Modificacin MODIF Y/N Y: posibilidad de modificar el valor de preseleccin
en modo de ajuste.
N: sin acceso en modo de ajuste.
Entrada "Activacin" E(Enable) En el estado 0, reinicializa el temporizador %Ti.V =
%Ti.P.
Entrada "Control" C(Control) En el estado 0, inmoviliza el valor actual %Ti.V.
Salida "Temporizador D(Done) El bit asociado %Ti.D = 1, si el temporizador
transcurrido" transcurrido %Ti.V = 0.
Salida "Temporizador R(Running) El bit asociado %Ti.R = 1, si el temporizador
en curso" %Ti.P > %Ti.V > 0 y si la entrada C = 1.

Nota
Los bloques de funcin %Ti no son programables en Lista de instrucciones. En cambio, es posible
acceder a los objetos de bloques %Ti (%Ti.V, %Ti.P, %Ti.D y %Ti.R).

El nmero total %TMi + %Ti debe ser inferior a 64 en el TSX 37 y 255 en el TSX 57.

___________________________________________________________________________
2/13
B
Funcionamiento
El temporizador evoluciona cuando sus 2
E
entradas (E y C) estn en el estado 1.
Funciona como un descontador. C
El valor actual %Ti.V disminuye desde %Ti.P
la preseleccin %Ti.P hacia 0 en una %Ti.V
unidad a cada impulso de la base de %Ti.D
tiempo TB.
%Ti.R
El bit de salida %Ti.R (temporizador en
curso) asociado a la salida R est en el E 0 0 1 1
estado 1; el bit de salida %Ti.D C 0 1 0 1
(temporizador transcurrido) asociado a
%Ti.P %Ti.V %Ti.V %Ti.V %Ti.V
la salida D est en el estado 0.
= = inmov. disminuye de
Cuando el valor actual %Ti.V= 0, %Ti.D %Ti.V %Ti.P %Ti.P %Ti.P -> 0
se pone a 1 y %Ti.R se pone a 0.
%Ti.D 0 0 0 1 si tempo.
transcurrido
Casos tpicos
Segn su programacin, el bloque de %Ti.R 0 0 0 1 si Tempo
en curso
funcin "temporizador" puede realizar las
funciones siguientes:

Retardo a la conexin
Lenguaje de contactos

%I1.0 = E,C
%I1.0 %T0 %Q2.0
E D R

TB =1mn PRESET PRESET


C R D = %Q2.0
%Ti.P = 3
MOD:N

Lenguaje Literal estructurado

IF %I1.0 THEN
START %T0 ;
ELSE
PRESET %T0 ;
END_IF ;
%Q2.0:= %T0.D ;

___________________________________________________________________________
2/14
Descripcin de las instrucciones avanzadas 2

B
Retardo a la desconexin
Lenguaje de contactos

% I1.1
%I1.1 %T7 %Q2.1
E D E,C

R
TB =1s
C R PRESET
%Ti.P = 120 D
MOD:N
%Q2.1

Lenguaje Literal estructurado

IF %1.1 THEN
PRESET %T7 ;
ELSE
START %T7 ;
END_IF ;
%Q2.1:= NOT %T7.D ;

Retardo acumulado a la conexin


Lenguaje de contactos

% I1.2 = E

%I1.2 %T5 %Q2.4


%I1.3 = C
E D

%I1.3 %Q2.5 %Q2.5 = R


TB =1mn D1 D2 D3
C R
%Q2.4 =D
%Ti.P = 3
MOD:N PRESET = D1 + D2 + D3

Lenguaje Literal estructurado

IF %I1.2 THEN
IF %I1.3 THEN
START %T5 ;
ELSE
STOP %T5 ;
END_IF ;
ELSE
PRESET %T5 ;
END_IF ;
%Q2.4:= %T5.D ;
%Q2.5:= %T5.R ;
___________________________________________________________________________
2/15
B
Retardo acumulado a la desconexin
Lenguaje de contactos

% I1.0
%I1.0 %T12 %Q2.4
E
E D
%I1.1
%I1.1 TB =10mn
C R C
%Ti.P = 40
MOD:Y
R
D1 D2 D3
D
Lenguaje Literal estructurado
%Q2.1
IF %I1.0 THEN
PRESET = D1 + D2 + D3
PRESET %T12 ;
ELSE
IF %I1.1 THEN
STOP %T12 ;
ELSE
START %T12 ;
END_IF ;
END_IF ;
%Q2.4:= NOT %T12.D ;
En el lenguaje Literal estructurado, 3 instrucciones permiten programar los bloques
de funcin temporizador %Ti:
PRESET %Ti : reinicializa el temporizador,
START %Ti : provoca el transcurrido del temporizador,
STOP %Ti : inmoviliza el valor actual del temporizador.
Casos especficos
Incidencia de un arranque en fro: (%S0 = 1) tiene como consecuencia la carga del
valor de preseleccin (definido por el editor de variables) en el valor actual y la puesta
a 0 de la salida %Ti.D. Se pierde el valor de preseleccin eventualmente modificado
en el terminal.
Incidencia de un rearranque en caliente: (%S1) no tiene incidencia en el valor
actual del temporizador.
Incidencia de un paso en STOP: no inmoviliza el valor actual. Ocurre lo mismo,
cuando la tarea en curso se desactiva o un punto de parada se ejecuta.
Incidencia de un salto de programa: el hecho de no explorar la red donde se
programa el bloque temporizador no inmoviliza el valor actual %Ti.V que sigue
disminuyendo hacia 0. Asimismo, los bits %Ti.D y %Ti.R asociados a las salidas D
y R del bloque temporizador conservan su funcionamiento normal y pueden
probarse en otra red. En cambio, no se activarn las bobinas directamente
"conectadas" a las salidas del bloque ya que el autmata no las explora.
Prueba de los bits %Ti.D y %Ti.R: estos bits pueden cambiar de estado en curso
del ciclo.
___________________________________________________________________________
2/16
Descripcin de las instrucciones avanzadas 2

B
2.3 Bloque de operacin de comparacin vertical
El bloque de comparacin vertical permite
efectuar la comparacin entre 2 COMPARE
operandos (OP). EN >

Estos operandos son de tipo palabra de OP1 =


16 bits (indexada o no) o de tipo valor OP2 <
inmediato.
<>

Los bloques de comparacin vertical no se limitan en nmero, ni se numeran.

Caractersticas

Entrada de control EN En el estado 1, compara dos operandos.

Salida "Superior" > En el estado 1, si el contenido de OP1 es superior al


contenido de OP2.
Salida "Igual" = En el estado 1, si el contenido de OP1 es igual al
contenido de OP2.
Salida "Inferior" < En el estado 1, si el contenido de OP1 es inferior al
contenido de OP2.
Salida "Diferente" <> En el estado 1, si el contenido de OP1 es diferente
del contenido de OP2.
Operando n1 OP1 Este operando es un objeto palabra de simple
longitud (puede ser indexado).
Operando n2 OP2 Este operando es un objeto palabra de simple
longitud (puede ser indexado).

___________________________________________________________________________
2/17
B
Funcionamiento
La puesta a 1 de la entrada de comando permite comparar dos operandos. Las cuatro
salidas se activan en funcin del resultado de la comparacin. La puesta a 0 de la
entrada de comando tiene como consecuencia la puesta a 0 de las salidas activas.
Ejemplo de utilizacin
El programa siguiente muestra la comparacin de la palabra %MW2 indexada por la
palabra %MW40 y del valor inmediato 150.
Si el contenido de %MW2[%MW40] es superior a 150 y si %I1.3 = 1, se controla la
bobina %Q2.7.
Si el contenido es igual a 150, se controla la bobina %MW10:X4. La bobina %M5 se
controla slo si el contenido es distinto de 150 (< o >).
Lenguaje de contactos

%I1.3 %Q2.7
EN >
Este bloque de funcin no existe en el
%MW10:X4 lenguaje Lista de instrucciones. Se
%MW2 = utilizan las operaciones de comparacin
[%MW40] >, <, =.
<
150 %M5
<>

Casos especficos
Incidencia de un arranque en fro: (%S0) tiene como consecuencia la puesta a cero
del operando OP1 y posiblemente la del OP2 (si OP2 es una palabra interna).
Dependiendo de la comparacin, las salidas se activan con los nuevos valores.
Incidencia de un rearranque en caliente: (%S1) no tiene incidencia en el bloque de
comparacin.

___________________________________________________________________________
2/18
Descripcin de las instrucciones avanzadas 2

B
2.4 Instrucciones de desplazamiento
Estas instrucciones desplazan los bits de un operando palabra o doble palabra un
cierto nmero de posiciones a la derecha o a la izquierda.
Desplazamiento lgico:
- SHL(op2,i) desplazamiento lgico i 15 (or 31) 0
posiciones a la izquierda.
- SHR(op2,i) desplazamiento lgico i
posiciones a la derecha. %S17 0

Desplazamiento circular:
- ROL(op2,i) desplazamiento circular i %S17
posiciones a la izquierda.
- ROR(op2,i) desplazamiento circular i
posiciones a la derecha.
0
Si el operando que se va a desplazar es
uno de simple longitud, la variable i estar
comprendido entre 1 y 16.
%S17
Si el operando que se va a desplazar es
uno de doble longitud, la variable i estar 15 (or 31) 0
comprendido entre 1 y 32.
El estado del ltimo bit salido se almacena
%S17
en el bit %S17.
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones
%I1.1 LDR %I1.1
P %MW0:=SHL(%MW10,5) [%MW0:= SHL(%MW10,5)]

%I1.2 Lenguaje Literal estructurado


P %MW10:=ROR(%KW9,8)
IF RE %I1.2 THEN
%MW10:= ROR (%KW9,8) ;
END_IF ;
Sintaxis
Operadores SHL,SHR,ROL,ROR Op1:=Operador (Op2,i)
Operandos
Tipo Operando 1 (Op1) Operando 2 (Op2)
Palabras indexables %MW %MW,%KW
Palabras no indexables %QW,%SW,%NW, Val.inm.,%IW,%QW,%SW
%BLK %NW,%BLK, Expr. num.
Dobles palabras indexables %MD %MD,%KD
Dobles palabras no indexables %QD,%SD, Val.inm.,%ID,%QD,%SD
Expr. numrica
___________________________________________________________________________
2/19
B
2.5 Instrucciones para flotantes
2.5-1 Generalidades
El programa PL7 permite efectuar operaciones en objetos flotantes.
Se utiliza el formato flotante de la norma IEEE STD 734-1985 (equivalencia IEC 559).
La longitud de las palabras es de 32 bits; corresponde a nmeros flotantes de simple
precisin.
Los valores flotantes se pueden representar con o sin exponentes, y siempre deben
contener un punto (coma flotante).
Ejemplos de valores flotantes
sin exponente: 1285.28
con exponente: 1.28528e3
Los valores flotantes estn comprendidos entre -3.402824e+38 y -1.175494e-38, y
1.175494e-38 y 3.402824e+38 (valores en gris en el esquema) y comprenden
tambin el valor 0 con la notacin 0.0.
-1.#DN 1.#DN
-1.#INF 1.#INF

-3.402824e+38 -1.175494e-38 0 +1.175494e-38 +3.402824e+38

Cuando el resultado de un clculo est comprendido entre -1.175494e-38 y 1.175494e-


38, se redondea a 0. Un valor comprendido entre estos lmites no se puede introducir
como flotante; si se introduce en otro formato, en flotante se visualizar el smbolo
1.#DN o - 1.#DN.
Cuando el resultado de un clculo es:
inferior a -3.402824e+38, se visualiza el smbolo -1.#INF (para -infinito)
superior a +3.402824e+38, se visualiza 1.#INF (para + infinito).
Cuando se define el resultado de una operacin (ejemplo: raz cuadrada de un nmero
negativo) se visualiza el smbolo 1.#NAN o -1.#NAN.

El bit sistema %S18 se pone a 1 cuando el resultado no est comprendido entre los
lmites vlidos. Los bits de la palabra de estado %SW17 indican la causa de una falla
en una operacin flotante:
%SW17:X0 = operacin invlida, el resultado no es un nmero (1.#NAN o -1.#NAN)
%SW17:X1 = operando no normalizado (comprendido entre -1.175494e-38 y
1.175494e-38), el resultado se redondea a 0.
%SW17:X2 = divisin entre 0, el resultado es infinito (-1.#INF o 1.#INF)
%SW17:X3 = resultado superior en valor absoluto a +3.402824e+38, el resultado es
infinito (-1.#INF o 1.#INF)
%SW17:X4 = resultado inferior a 1.175494e-38, el resultado es 0.
%SW17:X5 = imprecisin sobre el resultado
El sistema pone a 0 esta palabra en el arranque en fro o esta puesta a 0 la realiza el
programa con miras a su reutilizacin.
___________________________________________________________________________
2/20
Descripcin de las instrucciones avanzadas 2

B
La precisin de representacin es de 2-24. En la visualizacin de nmeros flotantes,
es intil mostrar ms de 6 dgitos despus de la coma.
Observaciones
El valor "1285" se interpreta como valor entero. Para que se acepte como valor
flotante, debe escribirse: "1285.0".
Las instrucciones de conversin Entero <--> Flotante permiten pasar de un formato
a otro.

Direccionamiento de objetos flotantes

Abreviaciones Direccionamiento Tipo de flotante Acceso Forma indexada


completo
Val. inm. - valores inmediatos R -
%MF %MFi flotante interno R/W %MFi[%MWj]
%KF %KFi constante flotante R %KFi[%MWj]

Posibilidad de solapamiento entre


objetos
Las palabras de simple, doble longitud y
flotantes se almacenan en el espacio de %MW0
datos de una misma rea de memoria. %MF0
%MW1
As, la palabra flotante %MFi corresponde %MF1
%MW2
a las palabras de simple longitud %MWi %MF2
y %MWi+1 (la palabra %MWi contiene los %MW3
%MF3
caracteres menos significativos y la pala-
bra %MWi+1 los ms significativos de la %MWi
palabra %MFi). %MFi
%MWi+1
Ejemplos:
%MF0 corresponde a %MW0 y %MW1
%KF543 a %KW543 y %KW544.

___________________________________________________________________________
2/21
B
2.5-2 Instrucciones de comparacin para flotantes
Estas instrucciones permiten comparar dos operandos.
> : prueba si el operando 1 es superior al operando 2.
>= : prueba si el operando 1 es superior o igual al operando 2.
< : prueba si el operando 1 es inferior al operando 2.
<= : prueba si el operando 1 es inferior o igual al operando 2.
= : prueba si el operando 1 es igual al operando 2.
<> : prueba si el operando 1 es diferente del operando 2.
El resultado es 1 cuando la comparacin solicitada es verdadera.
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

%Q2.3 LD [%MF10 > 129.7]


%MF10>129.7 ST %Q2.3
LD %M0
AND [%MF20 < %KF35]
%M0 %Q2.2 ST %Q2.2
%MF20<%KF35 LD %I1.2
OR [%MF30 >= %MF40]
%I1.2 %Q2.4
ST %Q2.4

La comparacin se realiza entre corchetes


%MF30>=%MF40
despus de las instrucciones LD, AND y
OR.

Los bloques de comparacin se Lenguaje Literal estructurado


programan en el rea de prueba.
%Q2.3:= %MF10 > 129.7 ;
%Q2.2:= (%MF20 < %KF35) AND %M0 ;
%Q2.4:= (%MF30 >= %MF40) OR %I1.2 ;
Sintaxis
Operadores >,>=,<,<=,=,<> Op1 Operador Op2

Operandos

Tipo Operandos 1 y 2 (Op1 y 2)


Flotantes indexables %MF,%KF
Flotantes no indexables Valor inmediato flotante
Expresin numrica flotante

Observacin
En el lenguaje Lista de instrucciones, las instrucciones de comparacin pueden
utilizarse entre parntesis.

___________________________________________________________________________
2/22
Descripcin de las instrucciones avanzadas 2

B
2.5-3 Instrucciones de asignacin para flotantes
Se pueden realizar las siguientes operaciones de asignacin para flotantes:
flotante (indexado) -> flotante (indexado) ej. 1
valor flotante inmediato -> flotante (indexado) ej. 2
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

LD TRUE
%MF10:=%KF100 [%MF10:= %KF100] ej. 1

LD %I3.2
%I3.2
[%MF5:= %KF0[%MW20] ] ej. 1
%MF5:=%KF0[%MW20]
LDR %I3.3
%I3.3 [%MF100:=150.25] ej. 2
P %MF100:=150.25

Lenguaje Literal estructurado


%MF10:= %KF100 ; ej. 1
IF %I3.2 THEN
%MF5:= %KF0 [%MW20] ; ej. 1
END_IF ;
IF RE %I3.3 THEN
%MF100:= 150.25 ; ej. 2
END_IF ;

Sintaxis
Operador:= Op1:=Op2
Operandos

Tipo Operando 1 (Op1) Operando 2 (Op2)


Flotantes indexables %MF %MF,%KF
Flotantes no indexables Val. inmediato flotante
Expr. numrica flotante
Es posible realizar asignaciones mltiples.
Ejemplo: %MF0:= %MF2:= %MF4

___________________________________________________________________________
2/23
B
2.5-4 Instrucciones aritmticas para flotantes
Estas instrucciones permiten realizar una operacin aritmtica entre dos operandos
o en un operando.
+ : suma de dos operandos, SQRT : raz cuadrada de un operando,
- : resta de dos operandos, ABS : valor absoluto de un operando,
* : multiplicacin de dos operandos, TRUNC : parte entera de un valor flotante,
/ : divisin de dos operandos.
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

%M0 LD %M0
%MF0:=%MF10+129.7 [%MF0:= %MF10 + 129.7]

%I3.2 LD %I3.2
%MF1:=SQRT(%MF10) [%MF1:= SQRT(%MF10)]

%I3.3 LDR %I3.3


P
P %MF2:=ABS(%MF20) [%MF2:= ABS(%MF20)]

%I3.5 LDR %I3.5


P %MD8:=TRUNC(%MF2) [%MD8:= TRUNC(%MF2)]

Lenguaje Literal estructurado


IF %M0 THEN
%MF0:= %MF10 + 129.7 ;
END_IF ;
IF %I3.2 THEN
%MF1:= SQRT (%MF10) ;
END_IF ;
IF RE %I3.3 THEN
%MF2:= ABS (%MF20) ;
END_IF ;
IF RE %I3.5 THEN
%MD8:= TRUNC (%MF2) ;
END_IF ;

Sintaxis
Operadores
+,-,*,/ Op1:=Op2 Operador Op3

SQRT, ABS, TRUNC Op1:=Operador (Op2)

___________________________________________________________________________
2/24
Descripcin de las instrucciones avanzadas 2

B
Operandos
Tipo Operando 1 (Op1) Operandos 2 y 3 (Op2 y 3)
Palabras indexables %MF %MF,%KF
Palabras no indexables Valor inmediato flotante
Expr. numrica flotante

(1) %MDF en el caso de la instruccin TRUNC

Reglas de utilizacin
No es posible combinar directamente operaciones en flotantes y enteros.
Las operaciones de conversin realizan la conversin en uno de los dos formatos
(vase el captulo 2.6, seccin B).
la gestin del bit sistema %S18 se efecta de modo idntico a las operaciones en
enteros (seccin B, vase captulo 1.4-4),la palabra %SW17 indica la causa de la
falla (seccin B, vase captulo 2.5-1).

2.5-5 Instrucciones logartmicas y exponenciales


Esta instrucciones permiten realizar operaciones logartmicas y exponenciales.
LOG: logaritmo de base 10, EXP: exponencial natural,
LN:logaritmo neperiano, EXPT: exponenciacin de un real por un entero,

Estructura
Lenguaje de contactos Lenguaje lista de instrucciones
LD %M0
%M0 [%MF0:= LOG(%MF10)]
%MF0:=LOG(%MF10)
LD %I3.2
%I3.2
[%MF2:= LN(%MF20)]
%MF2:=LN(%MF20)

%I3.3
LDR %I3.3
[%MF4:= EXP(%MF40)]
P %MF4:=EXP(%MF40)

%I3.4 LDR %I3.4


[%MF6:= EXPT(%MF50,5)]
P %MF6:=EXPT(%MF50,5)

Lenguaje Literal estructurado


IF %M0 THEN
%MF0:= LOG(%MF10) ;
END_IF ;
IF %I3.2 THEN
%MF2:= LN(%MF20) ;
END_IF ;
IF RE %I3.3 THEN
%MF4:= EXP(%MF40) ;
END_IF ;
IF RE %I3.4 THEN
%MF6:= EXPT(%MF50,5) ;
END_IF ;
___________________________________________________________________________
2/25
B
Sintaxis
Operadores
LOG, EXP, LN Op1:=Operador(Op2)

EXPT Op1:=Operador(Op2,Op3)
Operandos
Tipo Operando 1 (Op1) Operando 2 (Op2) Operandos 3 (Op3)
Palabras indexables %MF %MF,%KF %MW, %KW
Palabras no indexables Valor inm. flotante, Valor inmediato entero
Expr. num. flotante. Expr. num. entera

Reglas de utilizacin
cuando el operando de la funcin es un valor invlido (ejemplo: logaritmo de un
nmero negativo), produce un resultado indeterminado o infinito y hace pasar el bit
%S18 a 1; la palabra %SW17 indica la causa de la falla (seccin B, vase captulo
2.5-1).
en el caso de las funciones logartmicas, para los valores prximos de 1.0
(comprendidos entre 0,99 y 1,0 1,0 y 1,01), el resultado ser igual a 0, los bits %S18
y %SW17:X5 estn posicionados a 1.

2.5-6 Instrucciones trigonomtricas


Estas instrucciones permiten realizar operaciones trigonomtricas.
SIN: seno de un ngulo exp. en radianes, ASIN: arco seno (resultado entre -/2 y /2)
COS: coseno de un ngulo expr. en radianes, ACOS: arco coseno (resultado entre 0 y )
TAN: tangente de un ngulo expr. en radianes. ATAN: arco tangente (res. entre -/2 y /2)

Estructura
Lenguaje de contactos Lenguaje lista de instrucciones
%M0 LD %M0
%MF0:=SIN(%MF10) [%MF0:= SIN(%MF10)]
%I3.2 LD %I3.2
%MF2:=TAN(%MF10) [%MF2:= TAN(%MF10)]
%I3.3
LDR %I3.3
P %MF4:=ATAN(%MF20) [%MF4:= ATAN(%MF20)]

___________________________________________________________________________
2/26
Descripcin de las instrucciones avanzadas 2

B
Lenguaje Literal estructurado

IF %M0 THEN
%MF0:= SIN(%MF10) ;
END_IF ;
IF %I3.2 THEN
%MF2:= TAN(%MF10) ;
END_IF ;
IF RE %I3.3 THEN
%MF4:= ATAN(%MF20) ;
END_IF ;

Sintaxis
Operadores
SIN, COS, TAN Op1:=Operador (Op2)
ASIN, ACOS, ATAN
Operandos
Tipo Operando 1 (Op1) Operando 2 (Op2)
Palabras indexables %MF %MF,%KF
Palabras no indexables Valor inm. flotante,
Expr. num. flotante.

Reglas de utilizacin
cuando el operando de la funcin es un valor invlido (ejemplo: arco coseno de un
nmero superior a 1), produce un resultado indeterminado o infinito y hace pasar
el bit %S18 a 1; la palabra %SW17 indica la causa de la falla (seccin B, vase
captulo 2.5-1).
las funciones SIN/COS/TAN admiten como parmetro un ngulo entre -4096 y
4096 pero su precisin disminuye progresivamente para los ngulos no
comprendidos en el intervalo -2 y +2 debido a la precisin que aporta el mdulo
2 cuando se aplica al parmetro antes de cualquier otra operacin.

___________________________________________________________________________
2/27
B
2.5-7 Instrucciones de conversin
Estas instrucciones permiten realizar operaciones de conversin:
DEG_TO_RAD: conversin de grados en radianes, el resultado es el valor del ngulo
comprendido entre 0 y 2
RAD_TO_DEG: conversin de radianes en grados, el resultado es el valor del ngulo
comprendido entre 0 y 360 grados

Estructura
Lenguaje de contactos Lenguaje lista de instrucciones

LD %M0
[%MF0:= DEG_TO_RAD(%MF10)]

LD %M2
[%MF2:= RAD_TO_DEG(%MF20)]

Lenguaje Literal estructurado

IF %M0 THEN
%MF0:= DEG_TO_RAD(%MF10) ;
END_IF ;
IF %I3.2 THEN
%MF2:= RAD_TO_DEG(%MF20) ;
END_IF ;

Sintaxis
Operadores
DEG_TO_RAD Op1:=Operador(Op2)
RAD_TO_DEG

Operandos
Tipo Operando 1 (Op1) Operando 2 (Op2)
Palabras indexables %MF %MF,%KF
Palabras no indexables Valor inm. flotante,
Expr. num. flotante.

Reglas de utilizacin
el ngulo que se desea convertir debe estar comprendido entre -737280.0 y
+737280.0 (para las conversiones DEG_TO_RAD) o entre -4096 y 4096 (para
las conversiones RAD_TO_DEG).
Para los valores que no estn comprendidos entre estos lmites, el resultado que se
muestra ser + 1.#NAN, con los bits %S18 y %SW17:X0 posicionados a 1.
___________________________________________________________________________
2/28
Descripcin de las instrucciones avanzadas 2

B
2.5-8 Redondeo de un valor flotante en formato ASCII
La funcin ROUND proporciona el valor aproximado de un nmero flotante representado
por una cadena de caracteres.

Esta funcin utiliza 3 parmetros:

ROUND(cadena 1, Long, cadena 2)

Cadena 1: Tablas de bytes que constituyen la cadena de caracteres de origen

Long: Palabra que da la posicin, en la cadena de caracteres, a partir de cual se


efecta el redondeo (la posicin se calcula contando el nmero de caracteres a partir
de la coma, incluyendo la coma)
Cadena 2: Tablas de bytes que constituyen la cadena de caracteres de resultado
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

LD TRUE
OPERATE [ROUND(%MB10:15,%MW100,%MB50:15)]

Lenguaje Literal estructurado

ROUND(%MB10:15,%MW100,%MB50:15) ;

Ejemplos:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
%MB10:15 '-' '1' '.' '2' '3' '4' '5' '6' '7' '0' 'e' '+' '2' '6' $00

%MW100 = 4
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
%MB50:15 '-' '1' '.' '2' '3' '5' '0' '0' '0' '0' 'e' '+' '2' '6' $00

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
%MB10:15 '+' '1' '.' '1' '3' '5' '4' '9' '4' '2' 'e' '-' '3' '0' $00

%MW100 = 2
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
%MB50:15 '+' '1' '.' '1' '0' '0' '0' '0' '0' '0' 'e' '-' '3' '0' $00

___________________________________________________________________________
2/29
B
Sintaxis

Operador ROUND(cadena1, Long, cadena 2)

Operandos

Tipo Cadena 1 y Cadena 2 Long


Tablas de bytes %MB:15
Palabras indexables %MW

Reglas:

1 La longitud de las cadenas de caracteres de origen y resultado debe estar


comprendida entre 15 y 255 bytes. En caso contrario, le bit %S15 se posiciona a
1.
2 El parmetro de longitud Long debe estar comprendido entre 0 y 8.
En caso contrario, le bit %S20 (rebasamiento de ndice) se posiciona a 1.
Caso particular: para L=0 o L=8, el redondeo no se efecta (cadena de origen =
cadena de resultado)
3 Cuando el ltimo carcter diferente de 0 es > a 5, el carcter anterior se incrementa.

___________________________________________________________________________
2/30
Descripcin de las instrucciones avanzadas 2

B
2.6 Instrucciones de conversin numrica
2.6-1 Instrucciones de conversin BCD <--> Binario
Se proponen seis instrucciones de conversin:
BCD_TO_INT : conversin de un nmero BCD 16 bits en entero 16 bits,
INT_TO_BCD : conversin de un entero 16 bits en nmero BCD 16 bits,
DBCD_TO_DINT : conversin de un nmero BCD 32 bits en entero 32 bits,
DINT_TO_DBCD : conversin de un entero 32 bits en nmero BCD 32 bits,
DBCD_TO_INT : conversin de un nmero BCD 32 bits en entero 16 bits,
INT_TO_DBCD : conversin de un entero 16 bits en nmero BCD 32 bits.

Nota sobre el cdigo BCD


El cdigo BCD (Binary Coded Decimal), que significa Decimal codificado binariamente,
permite de representar un nmero decimal de 0 a 9 por un conjunto de 4 bits. As, un
objeto palabra de 16 bits puede contener un nmero expresado en 4 dgitos (0< N <
9999).

Decimal 0 1 2 3 4 5 6 7 8 9
BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

Ejemplo:
la palabra %MW5 expresa el valor BCD "2450" que corresponde al valor binario
0010 0100 0101 0000,
la palabra %MW12 expresa el valor decimal "2450" que corresponde al valor binario
0000 1001 1001 0010.
La palabra %MW5 pasa a la palabra %MW12 mediante la instruccin BCD_TO_INT.
La palabra %MW12 pasa a la palabra %MW5 mediante la instruccin INT_TO_BCD.
Estructura
Las operaciones de conversin se realizan de la manera descrita a continuacin:
Lenguaje de contactos Lenguaje Lista de instrucciones

%MW0:=BCD_TO_INT(%MW10) LD TRUE
[%MW0:= BCD_TO_INT(%MW10)]
%I1.2
LD %I1.2
%MW10:=INT_TO_BCD(%KW9) [%MW10:= INT_TO_BCD(%KW9)]

Lenguaje Literal estructurado

%MW0:= BCD_TO_INT (%MW10) ;


IF %I1.2 THEN
%MW10:= INT_TO_BCD (%KW9) ;
END_IF ;
___________________________________________________________________________
2/31
B
Sintaxis
Operadores (conversin de un nmero 16 bits)
BCD_TO_INT Op1:= Operador (Op2)
INT_TO_BCD
INT_TO_DBCD

Operandos

Tipo Operando 1 (Op1) Operando 2 (Op2)


Palabras indexables %MW %MW,%KW,%Xi.T
Palabras no indexables %QW,%SW,%NW,%BLK Val.inm.,%IW,%QW,%SW
%NW,%BLK,Expr. num.
Dobles palabras indexables %MD
Dobles palabras no indexables %QD, %SD

Sintaxis
Operadores (conversin de un nmero de 32 bits)
DBCD_TO_DINT Op1:= Operador (Op2)
DINT_TO_DBCD
DBCD_TO_INT

Operandos

Tipo Operando 1 (Op1) Operando 2 (Op2)


Palabras indexables %MW
Palabras no indexables %QW,%SW,%NW,%BLK

Dobles palabras indexables %MD %MD, %KD


Doblespalabras no indexables %QD, %SD Val.inm.,%ID,%QD,%SD
Expr. numrica

Ejemplos de aplicacin
La instruccin BCD_TO_INT trata un valor de consigna presente en la entrada del
autmata en codificadores rotativos con la codificacin BCD.
La instruccin INT_TO_BCD muestra valores numricos (ej.: resultado de clculo,
valor actual de bloque de funcin) en los indicadores con la codificacin BCD.

___________________________________________________________________________
2/32
Descripcin de las instrucciones avanzadas 2

B
Reglas de utilizacin
Conversin BCD --> Binario
La instruccin BCD_TO_INT verifica que el operador de conversin acta sobre un
valor codificado en BCD. Si el valor no es un valor BCD, el bit sistema %S18 se pone
a 1 y el resultado devuelve el valor del primer cuarto que falta.
Ej.: BCD_TO_INT(%MW2) con %MW2=4660 da como resultado 1234;
en cambio, %MW2=242 (16#00F2) pone %S18 a 1 y el resultado
es 15.
Para la instruccin DBCD_TO_INT, si el nmero BCD es superior a 32767, el bit
sistema %S18 se pone a 1 y el valor -1 se almacena en el resultado.
Conversin Binario --> BCD
La instruccin INT_TO_BCD verifica que el operador de conversin acta sobre un
valor comprendido entre 0 y 9999 (o 0 y 9999 9999). Si no, el bit sistema %S18 se
pone a 1 y el resultado devuelve el valor del parmetro de entrada.
Ej.: INT_TO_BCD(%MW2) con %MW2=2478 da como resultado 9336.
En cambio, %MW2=10004 pone %S18 a 1 y el resultado es 10004.

Para la instruccin INT_TO_DBCD, si el parmetro de entrada es negativa, el bit


sistema %S18 se pone a 1 y el resultado devuelve el valor del parmetro de entrada.

2.6-2 Instrucciones de conversin Entero <--> Flotante


Se proponen 4 instrucciones de conversin:
INT_TO_REAL: conversin palabra entero --> flotante,
DINT_TO_REAL: conversin doble palabra entero --> flotante,
REAL_TO_INT: conversin flotante --> palabra entero (el resultado es el prximo
valor algebraico),
REAL_TO_DINT: conversin flotante --> doble palabra entero (el resultado es el
prximo valor algebraico).
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

%MFO:=INT_TO_REAL(%MW10) LD TRUE
[%MF0:= INT_TO_REAL(%MW10)]
%I1.8 LD %I1.8
%MD4:=REAL_TO_DINT(%MF9) [%MD4:= REAL_TO_DINT(%MF9)]

Lenguaje Literal estructurado


%MF0:= INT_TO_REAL (%MW10) ;
IF %I1.8 THEN
%MD4:= REAL_TO_DINT (%MF9) ;
END_IF ;
___________________________________________________________________________
2/33
B
Sintaxis
Operador Op1:=INT_TO_REAL (Op2)
Operandos
Tipo Operando 1 (Op1) Operando 2 (Op2)
Palabras indexables %MW,%KW,%Xi.T
Palabrasno indexables Val. inm.,%IW,%QW,%SW
%NW,%BLK,Expr. num.
Palabras flotantes indexables %MF
Ejemplo: conversin palabra entero --> flotante 147 --> 1.47e+02

Operador Op1:=DINT_TO_REAL (Op2)

Operandos
Tipo Operando 1 (Op1) Operando 2 (Op2)
Palabras indexables %MD,%KD
Palabrasno indexables Val. inm.,%ID,%QD,%SD
Expr. numrica
Palabras flotantes indexables %MF
Ejemplo: conversin doble palabra entero --> flotante 68905 000 --> 6.8905e+07

Operador Op1:=REAL_TO_INT(Op2)
Op1:=REAL_TO_DINT(Op2)

Operandos
Tipo Operando 1 (Op1) Operando 2 (Op2)
Palabras indexables %MW
Palabrasno indexables %QW,%NW,%BLK
Dobles palabras indexables %MD
Dobles palabras no indexables %QD
Palabras flotantesindexables %MF,%KF
Palabras flotantesno indexables Val. inm. flotante
Ejemplo: conversin flotante --> palabra entero 5978.6 --> 5979
conversin flotante--> doble pal. entero -1235978.6 --> -1235979
Nota
Si en una conversin real --> entero (o real --> entero doble palabra) el valor flotante est fuera
de los lmites de la palabra (o de la doble palabra), el bit %S18 se pone a 1.

___________________________________________________________________________
2/34
Descripcin de las instrucciones avanzadas 2

B
2.6-3 Instrucciones de conversin Gray --> Entero
La instruccin GRAY_TO_INT convierte una palabra en cdigo Gray en un entero
(cdigo binario puro).
Nota sobre el cdigo Gray: el cdigo Gray o "binario reflejado" permite codificar un
valor numrico en curso de evolucin en una serie de configuraciones binarias que
se diferencian en el cambio de estado de un solo bit. Este cdigo permite, por ejemplo,
evitar el riesgo siguiente: en binario puro, el paso de 0111 a 1000 puede generar
valores aleatorios comprendidos entre 0 y 1000, puesto que los bits no cambian de
valor de modo perfectamente simultneo.
Decimal
Decimal 0 1 2 3 4 5 6 7 8 9

Binary 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

Gray 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101

Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

LD TRUE
%MW0:=GRAY_TO_INT(%MW10) [%MW0:= GRAY_TO_INT(%MW10)]

Lenguaje Literal estructurado

%MW0:= GRAY_TO_INT (%MW10) ;

Sintaxis
Operador Op1:=GRAY_TO_INT(Op2)
Operandos

Tipo Operando 1 (Op1) Operando 2 (Op2)


Palabras indexables %MW %MW,%KW,%Xi.T
Palabras no indexables %QW,%SW,%NW,%BLK Val.inm.,%IW,%QW,%SW
%NW,%BLK, Expr. num.

___________________________________________________________________________
2/35
B
2.6-4 Instrucciones de conversin Palabra <--> Doble palabra
Las instrucciones que se describen a continuacin son tiles en el caso de objetos
puramente simblicos (caso de los bloques de funcin DFB). En el caso de los objetos
direcccionables, los mecanismos de solapamiento (ejemplo: la doble palabra %MD0
est constituida por las palabras %MW0 y %MW1) hace intil el uso de estas
instrucciones.

Instrucciones de extraccin de la palabra menos significativa de una doble


palabra
La instruccin LW extrae el valor menos significativo de una doble palabra y lo
transfiere a una palabra simple.
Sintaxis Op1:=LW(Op2)

Op1 = palabra simple longitud (tipo WORD)


Op2 = palabra doble longitud (tipo DWORD)

Ejemplo: Presin_cuba:=LW(Parmetro_1)
si Parmetro_1 = 16#FFFF1234, Presin_cuba = 16#1234

Instrucciones de extraccin de la palabra ms significativa de una doble palabra


La instruccin HW extrae el valor ms significativo de una doble palabra y lo
transfiere a una palabra simple.
Sintaxis Op1:=HW(Op2)

Op1 = palabra simple longitud (tipo WORD)


Op2 = palabra doble longitud (tipo DWORD)

Ejemplo: Presin_cuba:=LW(Parmetro_1)
si Parmetro_1 = 16#FFFF1234, Presin_cuba = 16#FFFF

Instrucciones de concatenacin de 2 palabras


La instruccin CONCATW concatena 2 palabras simples y transfiere el resultado
a una doble palabra.
Sintaxis Op1:=CONCATW(Op2,Op3)

Op1 = palabra doble longitud (tipo DWORD)


Op2 = palabra simple longitud (tipo WORD)
Op3 = palabra simple longitud (tipo WORD)

Ejemplo: Presin_cuba:=LW(Parmetro_1,Parmetro_2)
si Parmetro_1 = 16#1234, Parmetro_1 = 16#FFFF,
Presin_cuba = 16#FFFF1234

___________________________________________________________________________
2/36
Descripcin de las instrucciones avanzadas 2

B
2.7 Instrucciones para tablas de palabras
2.7-1 Generalidades
El programa PL7 permite efectuar operaciones en tablas:
de palabras,
de dobles palabras,
de palabras flotantes.
Las tablas de palabras son series de pa- %KW10 16 bits
labras adyacentes del mismo tipo y de
longitud definida: L.
%KW14
Ejemplo de tabla de palabras: %KW10:5

Tipo Formato Direccin Tamao Acceso


mxima escritura
Palabras internas Simple longitud %MWi:L i+L< Nmx (1) S
Doble longitud %MDi:L i+L< Nmx-1 (1) S
Flotante %MFi:L i+L< Nmx-1 (1) S
Palabras constantes Simple longitud %KWi:L i+L< Nmx (1) No
Doble longitud %KDi:L i+L< Nmx-1 (1) No
Flotante %KFi:L i+L< Nmx-1 (1) No
Palabras sistema Simple longitud %SW50:4 (2) - S

(1) Nmx = nmero mximo de palabras definido en la configuracin del programa,


(2) slo las palabras de %SW50 a %SW53 pueden direccionarse bajo forma de tabla.

Reglas generales para las operaciones en las tablas


Las operaciones se efectan nicamente en tablas que contienen objetos del mismo
tipo.
Las operaciones se efectan en un mximo de 2 tablas.
Si en una operacin las tablas son de tamao diferente, la tabla resultante
corresponder a un mnimo de 2 tablas de operandos.
El usuario debe evitar operaciones en tablas con solapamiento (por ejemplo:
%MW100[20]:=%MW90[20]+%KW100[20]).
Una operacin en 2 tablas se efecta en cada elemento del mismo rango de ambas
tablas. El resultado se transfiere al elemento del mismo rango de la tabla resultante.
Si durante una operacin entre 2 elementos el bit sistema %S18 se pone a 1, esta
operacin resulta errnea, pero la operacin en los elementos siguientes se efecta
correctamente.
Cuando uno de los operandos es una expresin numrica, sta debe colocarse entre
parntesis.
El rango de una palabra en una tabla corresponde a la posicin de la palabra en la
tabla. La primera posicin corresponde al rango 0.

___________________________________________________________________________
2/37
B
2.7-2 Asignacin de tablas de palabras
Se pueden realizar las siguientes operaciones de asignacin de tablas de palabras:
valor inmediato -> tabla de palabras (indexada) ej. 1
valor inmediato doble formato -> tabla de dobles palabras (indexada)
valor inmediato flotante -> tabla de palabras flotantes (indexada)
Ej. 1: %MW0:5:= 100

100 %MW0
100
100 100
100
100 %MW4

palabra (indexada) -> tabla de palabras (indexada) ej. 2


doble palabra (indexada) -> tabla de dobles palabras (indexada)
flotante (indexado) -> tabla de flotantes (indexada)
Ej. 2: %MW0:5:= %MW11

100 %MW0
%MW11 100
100 100
100
100 %MW4

tabla de palabras (indexada) -> tabla de palabras (indexada) ej. 3


tabla de dobles palabras (indexada) -> tabla de dobles palabras (indexada)
tabla de flotantes (indexada) -> tabla de flotantes (indexada)
Ej. 3: %MW0:5:= %KW0:5

%KW0 100 100 %MW0


200 200
0 0
10 10
%KW4 100 100 %MW4

Nota
Las asignaciones mltiples se autorizan en los ejemplos 1 y 2
(%MW0:4:= %MW10:6:= %MW100) pero no en el ejemplo 3.

___________________________________________________________________________
2/38
Descripcin de las instrucciones avanzadas 2

B
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

LD TRUE
%MW0:5:=100 [%MW0:5:= 100] ej 1
LD %I3.2
%I3.2 [%MW0:5:= %MW11] ej 2
%MW0:5:=%MW11
Lenguaje Literal estructurado
%I3.3
IF RE %I3.3 THEN
P %MW0:5:=%KW0:5 %MW0:5:= %KW0:5 ; ej 3
END_IF ;

Sintaxis
Operador:= Op1:= Op2
Tablas de palabras

Tipo Operando 1 (Op1) Operando 2 (Op2)


Tablas de palabras indexables %MW:L %MW:L,%KW:L,%Xi.T:L
Palabras indexables %MW,%KW,%Xi.T
Palabras no indexables Val.inm.,%IW,%QW,%SW
%NW,%BLK,Expr. num.

Tablas de dobles palabras

Tipo Operando 1 (Op1) Operando 2 (Op2)


Tablas de palabras indexables %MD:L %MD:L,%KD:L
Dobles palabras indexables %MD,%KD
Dobles palabras no indexables Val.inm.,%ID,%QD,
Expr. numrica

Tablas de flotantes

Tipo Operando 1 (Op1) Operando 2 (Op2)


Tablas de palabras flotantes %MF:L %MF:L,%KF:L
Palabras flotantes indexables %MF,%KF
Palabras flotantes no indexables Val.inm.flotante,
Expr. numrica flotante

Nota
Se prohiben las asignaciones mltiples en las tablas.

___________________________________________________________________________
2/39
B
2.7-3 Instrucciones aritmticas para tablas
Estas instrucciones permiten realizar una operacin aritmtica entre dos operandos
de tipo tabla de palabras (o palabra y tabla de palabras).
+ : suma, * : multiplicacin,
- : resta, / : divisin,
REM : resto de la divisin.
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones
%M0 LD %M0
%MW0:10:=%MW20:10+100 [%MW0:10:=%MW20:10+100]
%I3.2 LD %I3.2
%MD50:5:=%KD0:5+%MD0:5 [%MD50:5:=%KD0:5 + %MD0:5]

%I3.3 Lenguaje Literal estructurado


P %MW0:10:=%KW0:10*%MW20
IF RE %I3.3 THEN
%MW0:10:= %KW0:10 * %MW20 ;
END_IF ;

Sintaxis

Operadores

+,-,*,/,REM Op1:=Op2 Operador Op3

Operandos

Tablas de palabras

Tipo Operando 1 (Op1) Operandos 2 y 3 (Op2 y 3


Tablas de palabras indexables %MW:L %MW:L,%KW:L,%Xi.T:L
Palabras indexables %MW,%KW,%Xi.T
Palabras no indexables Val.inm.,%IW,%QW,%SW
%NW,%BLK,%Xi.T,Expr. num.

Tablas de dobles palabras

Tipo Operando 1 (Op1) Operandos 2 y 3 (Op2 y 3


Tablas de palabras indexables %MD:L %MD:L,%KD:L
Dobles palabras indexables %MD,%KD
Dobles palabras no indexables Val.inm.,%ID,%QD,
Expr. numrica

___________________________________________________________________________
2/40
Descripcin de las instrucciones avanzadas 2

B
2.7-4 Instrucciones lgicas para tablas
Las instrucciones asociadas permiten realizar una operacin lgica entre dos
operandos de tipo tabla de palabras (o palabra y tabla de palabras).
AND : Y (bit a bit),
OR : O lgica (bit a bit),
XOR : O exclusiva (bit a bit),
NOT : complemento lgico (bit a bit) de una tabla (1 solo operando).
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

%M0 LD %M0
%MW0:5:=%KW0:5AND16#FF00 [%MW0:5:=%KW0: 5 AND 16#FF00]

%I3.2 Lenguaje Literal estructurado


%MD0:10:=%KD5:10OR%MD50:10

%I3.3 IF %I3.2 THEN


%MD0:10:= %KD5:10 OR %MD50:10
P %MW100:50:=NOT%MW0:50
;
END_IF ;
IF RE%I3.3 THEN
%MW100:50:= NOT %MW0:50 ;
END_IF ;
Sintaxis
Operadores

AND, OR, XOR Op1:=Op2 Operador Op3

NOT Op1:=NOT Op2

Operandos
Tablas de palabras

Tipo Operando 1 (Op1) Operandos 2 y 3 (Op2 y 3)


Tablas de palabras indexables %MW:L %MW:L,%KW:L,%Xi.T:L
Palabras indexables %MW,%KW,%Xi.T
Palabras no indexables Val.inm.,%IW,%QW,%SW
%NW,%BLK,Expr. num.

Tablas de dobles palabras

Tipo Operando 1 (Op1) Operandos 2 y 3 (Op2 y 3)


Tablas de palabras indexables %MD:L %MD:L,%KD:L
Dobles palabras indexables %MD,%KD,%SD
Dobles palabras no indexables Val.inm.,%ID,%QD,
Expr. numrica
___________________________________________________________________________
2/41
B
2.7-5 Funcin de suma para tablas
Las funciones SUM y SUM-ARR adiciona todos los elementos de una tabla de
palabras.
Si la tabla consta de palabras de simple formato, el resultado aparece en forma de
una palabra de simple formato (funcin SUM).
Si la tabla consta de dobles palabras, el resultado aparece en forma de una doble
palabra (funcin SUM).
Si la tabla consta de palabras flotantes, el resultado se proporciona en forma de una
palabra flotante (funcin SUM_ARR).

Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones
%I3.2
LD %I3.2
%MW5:=SUM(%MW32:12)
[%MW5:=SUM(%MW32:12)]

Lenguaje Literal estructurado


%MD50:=SUM(%KD50:20)
%MD50:= SUM (%KD50:20) ;

%MF0:=SUM_ARR(%KF8:5) %MF0:= SUM_ARR (%KF8:5) ;

Sintaxis
Funcin Res:=SUM(Tab) Res:=SUM_ARR(Tab)
Parmetros

Tipo Resultado (Res) Tabla (Tab)


Tablas de palabras indexables %MW:L,%KW:L,%Xi.T:L
Palabras indexables %MW
Palabras no indexables %QW,%SW,%NW
Tablas de dobles palabras indexables %MD:L,%KD:L
Dobles palabras indexables %MD
Dobles palabras no indexables %QD,%SD
Tablas de flotantes indexables %MF:L,%KF:L
Palabras flotantes indexables %MF
Nota: El bit %S18 se pone a 1 cuando el resultado no se encuentra dentro de los lmites del formato
palabra o doble palabra, segn el operando de tabla.

Ejemplo %MW5:=SUM(%MW30:4), donde %MW30= 10, %MW31= 20, %MW32=


30, %MW33= 40 %MW5=10+20+30+40=100

___________________________________________________________________________
2/42
Descripcin de las instrucciones avanzadas 2

B
2.7-6 Funciones de comparacin de tablas
Las funciones EQUAL (sobre entero) y EQUAL _ARR (sobre flotante) comparan 3
tablas elemento por elemento.

Si aparece una diferencia, se devuelve el rango de los primeros elementos no


parecidos bajo forma de una palabra; si no el valor devuelto es igual a -1.

El tercer parmetro proporciona el rango a partir del cual comienza la comparacin


(ejemplo: 0 para comenzar desde el principio). Este tercer parmetro es opcional (no
est autorizado con la funcin EQUAL_ARR); cuando se omite, la comparacin se
efecta sobre la totalidad de la tabla.

Estructura
Lenguaje de contactos Lenguaje lista de instrucciones
%I3.2 LD %I3.2
%MW5:=EQUAL(%MW20:7,%KW0:7,3) [%MW5:=EQUAL(%MW20:7,%KW0:7,3)]

%MW0:=EQUAL(%MD20:7,%KD0:7) Lenguaje Literal estructurado

%MW0:= EQUAL (%MD20:7,%KD0:7)


%MF1:=EQUAL_ARR(%MF0:5,%KF0:5)
%MW1:= EQUAL_ARR(%MF0:5,%KF0:5)

Sintaxis

Funcin Res:=EQUAL(Tab1,Tab2,rango)

Res:=EQUAL_ARR(Tab1,Tab2)

___________________________________________________________________________
2/43
B
Parmetros
Tipo Resultado (Res) Tabla(Tab) Rango
Tablas de palabras %MW:L,%KW:L,%Xi.T:L
Palabras indexables %MW %MW,%KW, %Xi.T
Palabras no indexables %QW,%SW, Val. inm.%QW,
%NW %IW,%SW,%NW
Expr. num.
Tablas de dobles palabras %MD:L,%KD:L
Dobles palabras indexables %MD %MD,%KD
Dobles palabras no indexables %QD,%SD Val. inm.%QD,
%ID,%SD
Expr. num.
Tablas de flotantes %MF:L,%KF:L
Palabras flotantes %MF

Notas
Las tablas deben tener obligatoriamente la misma longitud.
Si el parmetro de rango es superior al tamao de las tablas, el resultado es igual al rango.

Ejemplo %MW5:=EQUAL(%MW30:4,%KW0:4,1)

0 %MW30= 10 %KW0= 20
1 %MW31= 20 %KW1= 20
2 %MW32= 30 %KW2= 30
3 %MW33= 40 %KW3= 60 ==> %MW33 %KW3==> %MW5= 3

___________________________________________________________________________
2/44
Descripcin de las instrucciones avanzadas 2

B
2.7-7 Funciones de bsqueda para tablas
Se proponen 11 funciones de bsqueda:
FIND_EQW: en una tabla de palabras, busca la posicin del primer elemento igual
a un valor dado.
FIND_GTW: en una tabla de palabras, busca la posicin del primer elemento
superior a un valor dado.
FIND_LTW: en una tabla de palabras, busca la posicin del primer elemento inferior
a un valor dado.
FIND_EQD: en una tabla de dobles palabras, busca la posicin del primer elemento
igual a un valor dado.
FIND_GTD: en una tabla de dobles palabras, busca la posicin del primer elemento
superior a un valor dado.
FIND_LTD: en una tabla de dobles palabras, busca la posicin del primer elemento
inferior a un valor dado.
FIND_EQR: en una tabla de flotantes, busca la posicin del primer elemento igual
a un valor dado,
FIND_GTR: en una tabla de flotantes, busca la posicin del primer elemento superior
a un valor dado,
FIND_LTR: en una tabla de flotantes, busca la posicin del primer elemento inferior
a un valor dado,
FIND_EQWP: en una tabla de palabras, busca la posicin del primer elemento igual
a un valor dado desde un rango,
FIND_EQDP: en una tabla de dobles palabras, busca la posicin del primer
elemento igual a un valor dado desde un rango.
El resultado de estas instrucciones es igual al rango del primer elemento encontrado
o a -1 si la bsqueda no tiene xito

Estructura
Lenguaje de contactos Lenguaje lista de instrucciones
%I3.2 LD %I3.2
%MW5:=FIND_EQW(%MW20:7,%KW0) [%MW5:=FIND_EQW(%MW20:7,%KW0)]

%I1.2 Lenguaje Literal estructurado


%MW0:=FIND_GTD(%MD20:7,%KD0)
IF %I1.2 THEN
%MW0:=FIND_GTD(%MD20:7,%KD0) ;
END_IF ;
%MW1:=FIND_LTR(%MF40:5,%KF5)
%MW1:=FIND_LTR(%MF40:5,%KF5) ;

%MW9:=FIND_EQWP(%MW30:8,%KF5,%MW4);

___________________________________________________________________________
2/45
B
Sintaxis
Funcin
FIND_EQW,FIND_GTW,FIND_LTW Res:=Funcin(Tab,Val)
FIND_EQD,FIND_GTD,FIND_LTD
FIND_EQR,FIND_GTR,FIND_LTR

FIND_EQWP,FIND_EQDP Res:=Funcin(Tab,Val,rango)

Parmetros
Tablas de palabras (FIND_EQW,FIND_GTW,FIND_LTW,FIND_EQWP )
Tipo Resultado (Res) Tabla (Tab) Valor (Val), rango
Tablas de palabras indexables %MW:L,%KW:L%Xi.T:L
Palabras indexables %MW %MW,%KW, %Xi.T
Palabras no indexables %QW,%SW Val. inm.%QW,
%NW %IW,%SW,%NW,
Expr. num.

Tablas de dobles palabras (FIND_EQD,FIND_GTD,FIND_LTD,FIND_EQDP)

Tipo Resultado (Res) Tabla (Tab) Valor (Val)


Tablas de palabras indexables %MD:L,%KD:L
Palabras (dobles) indexables %MW %MD,%KD
Palabras (dobles) no indexables %QW,%SW Val. inm.%QD,
%NW %ID,%SD
Expr. num.
Nota: para el rango vase la tabla de palabras (idem FIND_EQWP)

Tablas de flotantes (FIND_EQR,FIND_GTR,FIND_LTR)

Tipo Resultado (Res) Tabla (Tab) Valor (Val)


Tablas de flotantes %MF:L,%KF:L
Palabras flotantes indexables %MW %MF,%KF
Palabras flotantes no indexables %QW,%SW Valores inm.
%NW Expr. num.

Ejemplo %MW5:=FIND_EQW(%MW30:4,%KW0)
Rango
0 %MW30= 10
1 %MW31= 20
2 %MW32= 30 ==> %KW0= 30 ==> %MW5= 2
3 %MW33= 40
___________________________________________________________________________
2/46
Descripcin de las instrucciones avanzadas 2

B
2.7-8 Funciones de bsqueda de valores mx. y mn. para tablas
Se proponen 6 funciones de bsqueda:
MAX_ARW: en una tabla de palabras, busca el valor mximo.
MIN_ARW: en una tabla de palabras, busca el valor mnimo.
MAX_ARD: en una tabla de dobles palabras, busca el valor mximo.
MIN_ARD: en una tabla de dobles palabras, busca el valor mnimo.
MAX_ARR: en una tabla de flotantes, busca el valor mximo
MIN_ARR: en una tabla de flotantes, busca el valor mnimo.
El resultado de estas instrucciones es igual al valor mximo (o mnimo) encontrado
en la tabla.
Estructura
Lenguaje de contactos Lenguaje lista de instrucciones
%I3.2 LD %I3.2
%MW5:=MAX_ARW(%MW20:7) [%MW5:=MAX_ARW(%MW20:7)]

%I1.2 Lenguaje Literal estructurado


%MD0:=MIN_ARD(%MD20:7)
IF %I1.2 THEN
%MD0:= MIN_ARD (%MD20:7) ;
END_IF ;
%MF8:=MIN_ARR(%MF40:5) %MF8:= MIN_ARR (%MF40:5) ;

Sintaxis
Funcin
MAX_ARW,MIN_ARW Res:=Funcin(Tab)
MAX_ARD,MIN_ARD
MAX_ARR,MIN_ARR
Parmetros

Tipo Resultado (Res) Tabla (Tab)


Tablas de palabras indexables %MW:L,%KW:L,%Xi.T:L
Palabras indexables %MW
Palabras no indexables %QW,%SW,%NW
Tablas de dobles palabras indexables %MD:L,%KD:L
Dobles palabras indexables %MD
Dobles palabras no indexables %QD,%SD
Tablas de flotantes %MF:L,%KF:L
Dobles palabras indexables %MF

___________________________________________________________________________
2/47
B
2.7-9 Nmero de ocurrencias de un valor en una tabla
Se proponen 3 funciones de bsqueda:
OCCUR_ARW: en una tabla de palabras, busca el nmero de elementos iguales
a un valor dado.
OCCUR_ARD: en una tabla de dobles palabras, busca el nmero de elementos
iguales a un valor dado.
OCCUR_ARR: en una tabla de flotantes, busca el nmero de elementos iguales a
un valor dado.
Estructura
Lenguaje de contactos Lenguaje lista de instrucciones

%I3.2 LD %I3.2
%MW5:=OCCUR_ARW(%MW20:7,%KW0)
[%MW5:=OCCUR_ARW(%MW20:7,%KW0)]

Lenguaje Literal estructurado


%I1.2
%MW0:=OCCUR_ARD(%MD20:7,200) IF %I1.2 THEN
%MW0:=OCCUR_ARD(%MD20:7,200) ;
END_IF ;

Sintaxis
Funcin Res:= Funcin (Tab,Val)
OCCUR_ARW
OCCUR_ARD
OCCUR_ARR

Parmetros

Tipo Resultado (Res) Tabla (Tab) Valor (Val)


Tablas de palabras indexables %MW:L,%KW:L,%Xi.T:L
Palabras indexables %MW %MW,%KW,%Xi.T
Palabras no indexables %QW,%SW,%NW Val. inm.%QW,
%IW,%SW,%NW
Expr. num.
Tablas de palabras indexables %MD:L,%KD:L
Palabras (dobles) indexables %MW %MD,%KD
Palabras (dobles) no indexables %QW,%SW,%NW Val. inm.%QD,
%ID,%SD
Expr. num.
Tablas de flotantes %MF:L,%KF:L
Palabras (flotantes) indexables %MW %MF,%KF
Palabras (flotantes) no indexables %QW,%SW,%NW Val. inm.
Expr. num.
___________________________________________________________________________
2/48
Descripcin de las instrucciones avanzadas 2

B
2.7-10 Funciones de desplazamiento circular para tablas
Se proponen 6 funciones de desplazamiento:
ROL_ARW: desplaza de modo circular 0
elementos de la tabla de palabras n 1
posiciones de arriba hacia abajo. 2
ROL_ARD: desplaza de modo circular 4
elementos de la tabla de dobles 5
palabras n posiciones de arriba hacia
abajo.
ROL_ARR: desplaza de modo circular
elementos de la tabla de flotantes n
posiciones de arriba hacia abajo,
0
ROR_ARW: desplaza de modo circular
1
elementos de la tabla de palabras n
2
posiciones de abajo hacia arriba.
4
ROR_ARD: desplaza de modo circular
5
elementos de la tabla de dobles
palabras n posiciones de abajo hacia
arriba.
ROR_ARR: desplaza de modo circular
elementos de la tabla de flotantes n
posiciones de abajo hacia arriba.

Estructura
Lenguaje de contactos Lenguaje lista de instrucciones

LDR %I3.2
[ROL_ARW(%KW0,%MW20:7)]
%I3.2
P ROL_ARW(%KW0,%MW20:7)
Lenguaje Literal estructurado
%I1.2
P ROR_ARD(2,%MD20:7) IF RE%I1.2 THEN
ROR_ARD (2,%MD20:7) ;
END_IF ;
%I1.3
IF RE%I1.3 THEN
P ROR_ARR(2,%MF40:5) ROR_ARR (2,%MF40:5) ;
END_IF ;

___________________________________________________________________________
2/49
B
Sintaxis

Funciones ROL_ARW,ROR_ARW Funcin(n,Tab)


Parmetros
Tablas de palabras
Tipo Nmero de posiciones (n) Tabla (Tab)
Tablas de palabras indexables %MW:L
Palabras indexables %MW,%KW,%Xi.T
Palabras no indexables Val. inm.%QW,%IW,%SW
%NW,Expr. num.

Funciones ROL_ARD,ROR_ARD Funcin(n,Tab)


Parmetros
Tablas de dobles palabras
Tipo Nmero de posiciones (n) Tabla (Tab)
Tablas de palabras indexables %MD:L
Palabras indexables %MW,%KW,%Xi.T
Palabras no indexables Val. inm.%QW,%IW,%SW
%NW,Expr. num.

Funciones ROL_ARR,ROR_ARR Funcin(n,Tab)


Parmetros
Tablas de dobles palabras
Tipo Nmero de posiciones (n) Tabla (Tab)
Tablas de flotantes indexables %MF:L
Palabras indexables %MW,%KW,%Xi.T
Palabras no indexables Val. inm.%QW,%IW,%SW
%NW,Expr. num.

Nota: si el valor de n es negativo o nulo, no se efecta ningn desplazamiento.

___________________________________________________________________________
2/50
Descripcin de las instrucciones avanzadas 2

B
2.7-11 Funciones de ordenacin para tablas
Se proponen 3 funciones de ordenacin:
SORT_ARW: ordena los elementos de la tabla de palabras por orden creciente o
decreciente y almacena el resultado en esta misma tabla.
SORT_ARD: ordena los elementos de la tabla de dobles palabras por orden
creciente o decreciente y almacena el resultado en esta misma tabla.
SORT_ARR: ordena los elementos de la tabla de flotantes por orden creciente o
decreciente y almacena el resultado en esta misma tabla.

Estructura
Lenguaje de contactos Lenguaje lista de instrucciones
%I3.2
LD %I3.2
SORT_ARW(%MW20,%MW0:6) [SORT_ARW(%MW20,%MW0:6)]

%I1.2
Lenguaje Literal estructurado
SORT_ARD(-1,%MD20:6)
IF %I1.2 THEN
%I1.3 SORT_ARD (-1,%MD20:6) ;
SORT_ARD(0,%MD40:8) END_IF ;
IF %I1.3 THEN
SORT_ARR (0,%MF40:8) ;
END_IF ;

Sintaxis
Funcin Funcin (sentido,Tab)
SORT_ARW
SORT_ARD
SORT_ARR
El parmetro "sentido" indica el orden: sentido > 0 significa el orden creciente,
sentido < 0 el orden decreciente.
El resultado (tabla ordenada) se devuelve en el parmetro Tab (tabla por ordenar).
Parmetros
Tablas de palabras

Tipo Sentido de ordenacin Tabla (Tab)


Tablas de palabras (SORT_ARW) %MW:L
Tablas de dobles (SORT_ARD) %MD:L
Tablas de flotantes (SORT_ARF) %MF:L
Palabras indexables %MW,%KW
Palabras no indexables Val. inm.%QW,%IW,%SW
%NW,Expr. num.

___________________________________________________________________________
2/51
B
2.7-12 Funcin de clculo de longitud de tablas
Se ofrecen 4 funciones de clculo de longitud de tablas. Estas funciones son tiles
especialmente para la programacin de los bloques de funcin DFB, cuando las
longitudes de las tablas no se han definido explcitamente:
LENGTH_ARW: calcula la longitud de una tabla de palabras en nmero de
elementos,
LENGTH_ARD: calcula la longitud de una tabla de dobles palabras en nmero de
elementos,
LENGTH_ARR: calcula la longitud de una tabla de flotantes en nmero de elementos,
LENGTH_ARX: calcula la longitud de una tabla de bits en nmero de elementos,
Estructura
Lenguaje de contactos Lenguaje lista de instrucciones

LD %I3.2
%I3.2 [LENGTH_ARW(tab_mot)]
LENGTH_ARW(tab_mot)

Lenguaje Literal estructurado


%I1.2
LENGTH_ARD(tab_dmot) IF %I1.2 THEN
LENGTH_ARD(tab_dmot)]
%I1.3 END_IF ;
LENGTH_ARX(tab_bit) IF %I1.2 THEN
LENGTH_ARX(tab_bit)]
END_IF ;

Sintaxis
Funcin Result = Funcin (Tab)
LENGTH_ARW
LENGTH_ARD
LENGTH_ARR
LENGTH_ARX
Parmetros
Tablas de palabras

Tipo Tabla (Tab) Resultado (Result)


Tablas (LENGTH_ARW) palabra
Tablas (LENGTH_ARD) doble palabra
Tablas (LENGTH_ARR) flotante
Tablas (LENGTH_ARX) bit
Palabras indexables %MW
Palabras no indexables %QW,%SW,%NW
Nota: los parmetros de tabla son objetos puramente simblicos.
___________________________________________________________________________
2/52
Descripcin de las instrucciones avanzadas 2

B
2.8 Instrucciones para cadenas de caracteres
2.8-1 Formato de una cadena o tabla de caracteres
Una tabla de caracteres consta de una serie de bytes en la que se puede almacenar
una cadena de caracteres. El tamao de la tabla permite especificar la longitud mxima
de la cadena de caracteres (255 car. mximos).
Ejemplo: %MB4:6 representa una tabla de 6 bytes que
contiene una cadena de 6 caracteres mximos.
El primer byte del inicio de una tabla debe ser par (no es posible introducir una tabla
cuyo byte inicial es impar, ej.: %MB5:6).
Las tablas de bytes utilizan el mismo rea de memoria que las palabras %MW y %MD;
por consiguiente, existe el riesgo de solapamiento: vase el captulo 1.2-4, seccin
A.
El trmino cadena de caracteres representa todos los caracteres comprendidos entre
el inicio de la tabla y el primer terminador de cadena encontrado.
Se llama "terminador de cadena" el carcter NULO (cdigo hex 00). El signo lo
simboliza en este captulo.

Ejemplos:
la tabla siguiente (de 12 elementos) contiene la cadena de caracteres 'ABCDE' (de
longitud 5)
'A' 'B' 'C' 'D' 'E' 'J' 'K' 'L' 'M' 'N' 'O'

la tabla siguiente (de 10 elementos) contiene la cadena de caracteres 'ABCDEJKLMN'


(de longitud 10)
'A' 'B' 'C' 'D' 'E' 'J' 'K' 'L' 'M' 'N'

El nmero de caracteres antes del terminador de cadena o, si no se detecta ningn


terminador, el tamao de la tabla indica pues la longitud de una cadena de caracteres.
Notas
El bit sistema %S15 se pone a 1 en los casos siguientes:
al escribir una cadena en una tabla cuando sta es ms larga que el tamao de la tabla
(imposible escribir el terminador de cadena ).
al intentar acceder a un carcter que no se encuentra en la cadena implicada.
cuando hay incoherencia de parmetros,
longitud por eliminar nula (funcin DELETE), longitud por extraer nula (funcin MID), longitud
por reemplazar nula (funcin REPLACE), bsqueda de una subcadena mslarga que la cadena
(funcin FIND).

___________________________________________________________________________
2/53
B
2.8-2 Asignacin para cadenas de caracteres
Permite transferir una cadena de caracteres a una tabla de bytes de longitud L.
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

OPERATE LD TRUE
%MB30:12:= 'mise_en_run' [ %MB30:12:= 'mise_en_run']

Lenguaje Literal estructurado

%MB30:12:='mise_en_run' ;

Ejemplo Transferencia de la cadena de caracteres 'puesta_en_run' a la tabla de


bytes de longitud 12.
%MB 30 31 32 33 34 35 36 37 38 39 40 41
'm' 'i' 's' 'e' '_' 'e' 'n' '_' 'r' 'u' 'n'

Sintaxis

Operador Op1:=Op2

Operandos

Tipo Operando 1 (Op1) Operando 2 (Op2)


Tablas de bytes %MB:L %MB:L,%KB:L
Valor inmediato

___________________________________________________________________________
2/54
Descripcin de las instrucciones avanzadas 2

B
2.8-3 Comparacin alfanumrica
Estos operadores permiten comparar dos cadenas de caracteres contenidas en las
tablas de bytes definidas con parmetros. La comparacin se efecta carcter por
carcter.
El resultado es un bit que vale 1 si ambas cadenas satisfacen carcter por carcter la
condicin proporcionada por el operador; si no, el bit vale 0.
La tabla de cdigos ASCII (ISO 646) indica el orden de los caracteres. Por ejemplo,
la cadena 'Z' es mayor que la cadena 'AZ' que es mayor que la cadena 'ABC'.

Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

%M10 LD [ %MB20:12 < %MB40:12]


COMPARE
%MB20:12< %MB40:12 ST %M10

Los bloques de comparacin se La comparacin se realiza entre corchetes


programan en el rea de prueba. despus de las instrucciones LD, AND y
OR.
Lenguaje Literal estructurado

%M10:= %MB20:12 < %MB40:12 ;

Ejemplo: %MB20:12 < %MB40:12 ==> SI El resultado es 1


con
%MB 20 21 22 23 24 25 26 27 28 29 30 31
'a' 'b' 'c' 'd' 'e' 'f' 'g' 'l' 'k' 'w' 'z'

%MB 40 41 42 43 44 45 46 47 48 49 50 51
'a' 'b' 'c' 'd' 'e' 'f' 'h' 'l' 'k' 'w' 'z'

No se tienen en cuenta los elementos posteriores al terminador.


Sintaxis
Operador
<, >, <=, >=, =, < > Op1 Operador Op2

Operandos
Tipo Operando 1 (Op1) y Operando 2 (Op2)
Tablas de bytes %MB:L,%KB:L, valor inmediato

___________________________________________________________________________
2/55
B
2.8-4 Conversin Numrico <---> ASCII
Estas funciones permiten convertir un valor numrico (o flotante) en cadena de
caracteres codificada en ASCII, o a la inversa.
El resultado de la conversin debe transferirse a un objeto PL7 mediante una
operacin de asignacin: tabla de bytes, palabra de simple o doble longitud o flotante.

Las conversiones posibles son:


INT_TO_STRING Conversin Binario --> ASCII
DINT_TO_STRING Conversin Binario --> ASCII
STRING_TO_INT Conversin ASCII --> Binario
STRING_TO_DINT Conversin ASCII --> Binario
REAL_TO_STRING Conversin Flotante --> ASCII
STRING_TO_REAL Conversin ASCII --> Flotante
Formato flotante: ==> vase el captulo 2.5, seccin B

Nota sobre el cdigo ASCII


El conjunto de 256 caracteres alfanumricos y de control puede codificarse en 8 bits.
Este cdigo llamado ASCII (American Standard Code for Information Interchange) es
compatible con la nocin de bytes. Por consiguiente, cada tabla de n bytes puede
constar de n cdigos ASCII que definen n caracteres.

2.8-5 Conversin Binario --->ASCII


Estas funciones permiten convertir un valor numrico (palabra de simple o doble
longitud) en cadena de caracteres codificada en ASCII.
Cada nmero, as como el signo del valor definido con un parmetro se codifica en
ASCII en un elemento de la tabla de bytes resultante.
Funcin INT_TO_STRING: el contenido de una palabra de simple longitud puede
estar comprendido entre -32768 y +32767, o sea 5 dgitos ms el signo. El resultado
ser una tabla de 6 caracteres ms el terminador. El signo '+' o '-' se almacena en
el primer carcter, las unidades en el sexto, los dcimos en el quinto, etc.
Funcin DINT_TO_STRING: el contenido de una palabra de doble longitud puede
estar comprendido entre -2147483648 y +2147483647, o sea 10 dgitos ms el
signo. El resultado ser una tabla de 12 caracteres ms el terminador. El signo '+'
o '-' se almacena en el primer carcter, la unidad en el duodcimo, los dcimos en
el undcimo, etc. El segundo carcter es siempre '0'.

___________________________________________________________________________
2/56
Descripcin de las instrucciones avanzadas 2

B
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

LD TRUE
OPERATE
%MB10:7:= INT_TO_STRING(%MW20) [ %MB10:7:=INT_TO_STRING(%MW20)]

OPERATE
Lenguaje Literal estructurado
%MB2:13:= DINT_TO_STRING(%MD30)
%MB2:13:=DINT_TO_STRING (%MD30) ;

Ejemplo: conversin Binario ---> ASCII


%MB10:7:= INT_TO_STRING (%MW20) con %MW20 = - 3782 en decimal
==> El resultado se almacena en la tabla de 7 bytes despus de %MB10:7
%MB 10 11 12 13 14 15 16
'_' '0' '3' '7' '8' '2'

Ejemplo: %MB2:13:= DINT_TO_STRING (%MD30) con %MD30 = - 234701084

%MB 2 3 4 5 6 7 8 9 10 11 12 13 14
'-' '0' '0' '2' '3' '4' '7' '1' '1' '0' '8' '4'

Sintaxis
Operador Res:= INT_TO_STRING (valor)
Operandos
Tipo Resultado (Res) Valor
Tablas de 6 bytes %MB:7
+ terminador
Palabras indexables %MW, %KW, %Xi.T
Palabras no indexables %IW,%QW,%SW,%NW
Val inm., Expr num.

Operador Res:= DINT_TO_STRING (valor)


Operandos

Tipo Resultado (Res) Valor


Tablas de 12 bytes %MB:13
+ terminador
Dobles palabras indexables %MD, %KD
Dobles palabras no indexables %ID,%QD,%SD,
Val. inm., Expr numrica

___________________________________________________________________________
2/57
B
2.8-6 Conversin ASCII ---> Binario
Estas funciones permiten convertir en binario una cadena de caracteres que representa
un valor numrico (resultado transferido a una palabra de simple o doble longitud).
Cada elemento de la tabla definida con un parmetro representa el cdigo ASCII de
un carcter. Los caracteres autorizados son los nmeros y los caracteres '+' y '-'.
Funcin STRING_TO_INT: convierte una cadena de 6 caracteres que representa
un valor numrico comprendido entre -32768 y +32767. El signo se almacena en
el primer carcter, los diez miles en el segundo, ..., las unidades en el sexto. El valor
debe alinearse a la derecha en la cadena.
Funcin STRING_TO_DINT: convierte una cadena de 12 caracteres que representa
un valor numrico comprendido entre -2147483648 y +2147483647. El signo se
almacena en el primer carcter, el '0' en el segundo, los millares en el tercero, ..., las
unidades en el duodcimo. El valor debe alinearse a la derecha en la cadena.

Estructura
LD TRUE
OPERATE [%MW13:= STRING_TO_INT(%MB20:7)]
%MW13:= STRING_TO_INT(%MB20:7)

Ejemplo: %MW13:= STRING_TO_INT (%MB20:7) con


%MB 20 21 22 23 24 25 26
'_' '0' '2' '3' '4' '7' ==> resultado %MW13 = -2347 en decimal
Sintaxis
Operador Res:= STRING_TO_INT (cadena)
Operandos
Tipo Resultado (Res) Cadena
Palabras indexables %MW
Palabras no indexables %QW,%SW,%NW
Tablas de 6 bytes %MB:7,%KB:7, Val. inm.
+ terminador
El bit %S18 se pone a 1 si el valor descrito por la cadena no est comprendido entre -32768 y
+32767 o si uno de los 6 caracteres es errneo.

Operador Res:= STRING_TO_DINT (cadena)


Operandos
Tipo Resultado (Res) Cadena
Dobles palabras indexables %MD
Dobles palabras no indexables %QD,%SD
Tablas de 12 bytes %MB:13,%KB:13, Val. inm.
+ terminador
El bit %S18 se pone a 1 si el valor descrito por la cadena no est comprendido entre -2147483648
y +2147483647 o si uno de los 12 caracteres es errneo.
___________________________________________________________________________
2/58
Descripcin de las instrucciones avanzadas 2

B
2.8-7 Conversin Flotante ---> ASCII
Esta funcin permite convertir un valor numrico real contenido en una palabra de tipo
flotante en cadena de caracteres codificada en ASCII. El resultado se transfiere a una
tabla de 13 bytes + el terminador.
Cada dgito del valor as como los caracteres '+', '-', '.', 'e' y 'E' se codifican en ASCII
en un elemento de la tabla resultante.
El signo del valor se encuentra en el primer carcter, la coma (.) en el tercero, el
exponente 'e' en el dcimo, el signo del exponente en el undcimo.
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

LD TRUE
[ %MB20:14:= REAL_TO_STRING (%MF30)]

Lenguaje Literal estructurado

%MB20:14:= REAL_TO_STRING (%MF30) ;

Ejemplo: %MB20:14:= REAL_TO_STRING (%MF30) con %MF30 = - 3.234718e+26


==> resultado

Sintaxis

Operador Res:= REAL_TO_STRING (valor)

Operandos

Tipo Resultado (Res) Valor


Tablas de 13 bytes %MB:14
+ terminador
Palabras indexables %MF, %KF
Palabras no indexables Val. inm., Expr. numrica

El bit %S18 se pone a 1 si el valor flotante definido en la configuracin no est


comprendido entre -3.402824e+38 y -1.175494e-38 o +1.175494e-38 y
+3.402824e+38. En este caso el valor del resultado es errneo.

___________________________________________________________________________
2/59
B
2.8-8 Conversin ASCII --> Flotante
Esta funcin permite convertir en flotante una cadena de caracteres que representa
un valor numrico real (resultado transferido a una palabra de tipo flotante).
Cada elemento de la tabla definida con un parmetro representa el cdigo ASCII de
un carcter. Los caracteres autorizados son los dgitos y los caracteres '+', '-', '.', 'e'
y 'E'. No se utiliza el terminador de cadena para determinar el fin de cadena. Esto
significa que cada uno de los 13 caracteres de la tabla debe ser correcto.
El signo del valor debe encontrarse en el primer carcter, la coma (.) en el tercero, la
'e' en el dcimo, el signo del exponente en el undcimo.
Por ejemplo, el valor 3.12 debe indicarse bajo la forma '+3.120000e+00'.
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

LD TRUE
[ %MF18:= STRING_TO_REAL (%MB20:13)]

Lenguaje Literal estructurado

%MF18:= STRING_TO_REAL (%MB20:13) ;

Ejemplo: %MF18:= STRING_TO_REAL (%MB20:13)


con

==> resultado %MF18 = - 3.234718e+26

Sintaxis

Operador Res:= STRING_TO_REAL (cadena)

Operandos

Tipo Resultado (Res) Cadena


Palabras indexables %MF
Tablas de 13 bytes %MB:13, %KB:13
valor inmediato

El bit %S18 se pone a 1 si el valor descrito por la cadena no est comprendido entre
-3.402824e+38 y -1.175494e-38 o +1.175494e-38 y +3.402824e+38 o si uno de los
13 caracteres es errneo.
___________________________________________________________________________
2/60
Descripcin de las instrucciones avanzadas 2

B
2.8-9 Concatenacin de dos cadenas
Concatenacin de dos cadenas de caracteres definidas con parmetros. El resultado
es una tabla de bytes que contiene una cadena de caracteres.
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

LD TRUE
OPERATE
%MB30:14:=CONCAT(%MB4:6,% MB14:9) [ %MB30:14:= CONCAT (%MB4:6, %MB14:9)]

Lenguaje Literal estructurado

%MB30:14:= CONCAT (%MB4:6, %MB14:9) ;

Ejemplo: %MB30:14:= CONCAT (%MB4:6, %MB14:9)


%MB 4 5 6 7 8 9
'i' 'n' 'c' 'o' 'n'

%MB 14 15 16 17 18 19 20 21 22
't' 'e' 's' 't' 'a' 'b' 'l' 'e'

%MB 30 31 32 33 34 35 36 37 38 39 40 41 42 43
'i' 'n' 'c' 'o' 'n' 't' 'e' 's' 't' 'a' 'b' 'l' 'e'

Sintaxis
Operador Res:=CONCAT (cadena1, cadena2)
Operandos

Tipo Resultado (Res) Cadenas 1 y 2


Tablas de bytes %MB:L %MB:L,%KB:L, Val. inm.

Si la tabla resultante es demasiado corta, se efecta un truncamiento y el bit sistema


%S15 se pone a 1. %MB30:10:= CONCAT (%MB4:6, %MB14:9)
%MB 30 31 32 33 34 35 36 37 38 39
'i' 'n' 'c' 'o' 'n' 't' 'e' 's' 't' 'a' ==> %S15 1

Si la tabla resultante es demasiado larga, la cadena se completa con caracteres de


tipo terminador . %MB30:15:= CONCAT (%MB4:6, %MB14:9)
%MB 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
'i' 'n' 'c' 'o' 'n' 't' 'e' 's' 't' 'a' 'b' 'l' 'e'
___________________________________________________________________________
2/61
B
2.8-10 Eliminacin de una subcadena de caracteres
Eliminacin de un cierto nmero de caracteres (rea de longitud L) desde una posicin
dada (primer carcter que se debe borrar) en la cadena definida con un parmetro. El
resultado es una tabla de bytes que contiene una cadena de caracteres.
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

LD TRUE
OPERATE
%MB14:9:=DELETE(%MB30:14,% MW2,%MW4) [%MB14: 9:= DELETE (%MB30:14, %MW2,
%MW4)]

Lenguaje Literal estructurado

%MB14:9:= DELETE (%MB30:14, %MW2, %MW4) ;

Ejemplo: %MB14: 9:= DELETE (%MB30:14, %MW2, %MW4)


con %MW2 = 5 (5 caracteres por borrar) %MW4 = 3 (posicin =3)
%MB 30 31 32 33 34 35 36 37 38 39 40 41 42 43
'i' 'n' 'c' 'o' 'n' 't' 'e' 's' 't' 'a' 'b' 'l' 'e'

%MB 14 15 16 17 18 19 20 21 22
'i' 'n' 's' 't' 'a' 'b' 'l' 'e'

Sintaxis
Operador Res:=DELETE (cadena, long, pos)
Operandos

Tipo Resultado (Res) Cadena Longitud (long)


Posicin (pos)
Tablas de bytes %MB:L %MB:L,%KB:L
Val. inmediato
Palabras indexables %MW, %KW
Palabras no indexables %IW,%QW,%SW,%NW
Valor inmediato
Expr. numrica
Notas
Posibilidad de solapamiento entre los parmetros despus de los ndices de los objetos PL7:
tabla que contiene la cadena origen,
tabla que contiene la cadena resultado,
palabra que contiene la longitud que se va a eliminar,
palabra que contiene la posicin del primer carcter que se va a eliminar.
Una longitud o una posicin negativa se interpreta como igual a 0. El parmetro posicin tiene el valor
inicial 1 que corresponde a la primera posicin en la cadena de caracteres.
___________________________________________________________________________
2/62
Descripcin de las instrucciones avanzadas 2

B
Si la tabla resultante es demasiado larga, la cadena se completa con caracteres de tipo
terminador .
El bit sistema %S15 se pone a 1 en los casos siguientes:
la longitud que se va a eliminar es nula; la tabla de salida es una copia de la tabla de
origen.
la posicin es superior a la longitud de la cadena, o la posicin del primer terminador
encontrado es inferior o igual a la posicin del primer carcter que se va a eliminar;
el resultado es pues una cadena vaca.
la posicin es igual a 0; la tabla resultante contiene una cadena vaca.
la tabla resultante es demasiado corta: se efecta un truncamiento.

2.8-11 Insercin una subcadena de caracteres


Insercin de la subcadena de caracteres definida por el segundo parmetro (cadena 2)
en la cadena de caracteres definida por el primer parmetro (cadena 1).
La insercin se efecta en la primera cadena despus del carcter situado en la
posicin indicada por el parmetro posicin (Pos).
El resultado de la insercin es una nueva cadena de caracteres transferida a una tabla
de bytes.
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

LD TRUE
OPERATE [%MB2:14:= INSERT (%MB20:9, %MB30:6,
%MB2:14:=INSERT(%MB20:9,%MB30:6,%MW40) %MW40)]

Lenguaje Literal estructurado

%MB2:14:= INSERT (%MB20:9, %MB30:6, %MW40) ;

Ejemplo:%MB2:14:= INSERT (%MB20:9, %MB30:6, %MW40)


con %MW40:= posicin 2
%MB 20 21 22 23 24 25 26 27 28
'i' 'n' 's' 't' 'a' 'b' 'l' 'e'

%MB 30 31 32 33 34 35
'c' 'o' 'n' 't' 'e'

%MB 2 3 4 5 6 7 8 9 10 11 12 13 14 15
'i' 'n' 'c' 'o' 'n' 't' 'e' 's' 't' 'a' 'b' 'l' 'e'

___________________________________________________________________________
2/63
B
Sintaxis
Operador Res:=INSERT (cadena1, cadena2, pos)

Operandos

Tipo Resultado (Res) Cadenas 1 y 2 Posicin (Pos)


Tablas de bytes %MB:L %MB:L,%KB:L
Valor inm.
Palabras indexables %MW, %KW, %Xi.T
Palabras no indexables %IW,%QW,%SW,%NW
Valor inmediato,
Expr. numrica

Notas
El parmetro posicin tiene el valor inicial 1 que corresponde a la primera posicin en la cadena
de caracteres.

Es imposible efectuar una insercin en el principio de la cadena. En este caso, se utiliza la funcin
CONCAT.

Si la tabla es demasiado larga, la cadena se completa con caracteres de tipo terminador.

El bit sistema %S15 se pone a 1 en los casos descritos a continuacin.

El valor del parmetro posicin es negativo o igual a 0. En este caso, se interpreta como igual
a 0 y la tabla resultante contiene una cadena vaca (compuesta de terminadores).

La posicin determinada con el parmetro es superior a la longitud de la cadena origen; la tabla


resultante contiene pues una cadena vaca (compuesta de terminadores).
Si la tabla resultante es demasiado corta, se efecta un truncamiento.

___________________________________________________________________________
2/64
Descripcin de las instrucciones avanzadas 2

B
2.8-12 Reemplazo una subcadena de caracteres
Reemplaza un fragmento de una cadena de caracteres definida en la tabla de origen
(cadena1) por una subcadena de caracteres definida en la tabla de reemplazo
(cadena2). Los parmetros de posicin (pos.) y de longitud (long.) definen el
reemplazo que se va a efectuar.Esta longitud corresponde a la longitud de la cadena
que va a desaparecer, no a la longitud de la subcadena que la reemplaza.

Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

OPERATE LD TRUE
%MB2: 13:=REPLACE(%MB20:12,% MB30:9, [ %MB2:13:= REPLACE (%MB20:12,
%MW40, %MW41) %MB30:9, %MW40, %MW41)]

Lenguaje Literal estructurado

%MB2:13:= REPLACE (%MB20:12, %MB30:9, %MW40, %MW41) ;

Ejemplo: %MB2:13:= REPLACE (%MB20:12, %MB30:9, %MW40, %MW41)


con %MW40 = 3 (longitud=3) y %MW41 = 9 (posicin =9)

%MB 20 21 22 23 24 25 26 27 28 29 30 31
Cadena 1 'm' 'i' 's' 'e' '_' 'e' 'n' '_' 'r' 'u' 'n'

%MB 30 31 32 33 34 35 36 37 38
Cadena 2 's' 't' 'o' 'p' 'r' 'u' 'n'

%MB 2 3 4 5 6 7 8 9 10 11 12 13 14
'm' 'i' 's' 'e' '_' 'e' 'n' '_' 's' 't' 'o' 'p'

Sintaxis
Operador Res:=REPLACE(cadena1, cadena2, long., pos.)

Operandos

Tipo Resultado (Res) Cadenas 1 y 2 Longitud (long)


Posicin (pos)
Tablas de bytes %MB:L %MB:L,%KB:L
Valor inm.
Palabras indexables %MW, %KW, %Xi.T
Palabras no indexables %IW,%QW,%SW,%NW
Valor inmediato,
Expr. numrica
___________________________________________________________________________
2/65
B
Notas
El parmetro posicin tiene el valor inicial 1 que corresponde a la primera posicin en la cadena
de caracteres.

Si la tabla de salida es demasiado larga, la cadena se completa con caracteres de tipo terminador.

El bit sistema %S15 se pone a 1 en los casos descritos a continuacin.


Si el valor del parmetro posicin es negativo o igual a 0. En este caso, se interpreta como igual
a 0; la tabla resultante contiene pues una cadena vaca (compuesta de terminadores).
Si la posicin definida por el parmetro es superior o igual a la longitud de la cadena de origen,
la tabla resultante contiene pues una cadena vaca (compuesta de terminadores).
Si la tabla resultante es demasiado corta, se efecta un truncamiento.
Si la posicin del primer terminador de cadena es inferior o igual a la posicin del primer carcter
que se va a reemplazar, la tabla de salida es una copia de la tabla de origen hasta el terminador
y se completa con caracteres de tipo terminador.

___________________________________________________________________________
2/66
Descripcin de las instrucciones avanzadas 2

B
2.8-13 Extraccin de una subcadena de caracteres
Extraccin de un cierto nmero de caracteres en una cadena de origen definida por
parmetro (cadena).
El parmetro posicin (pos) indica el rango del primer carcter que se va a extraer; el
parmetro longitud (long) indica el nmero de caracteres que se van a extraer.
La cadena extrada se almacena en una tabla de bytes (Res.).
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

LD TRUE
OPERATE
[%MB14: 7:= MID (%MB30:13, %MW2, %MW4)]
%MB14:7:=MID(%MB30:13,% MW2,%MW4)

Lenguaje Literal estructurado

%MB14:7:= MID (%MB30:13, %MW2, %MW4) ;

Ejemplo: %MB14: 7:= MID (%MB30:13, %MW2, %MW4)


con %MW2 = 4 (longitud) , %MW4 = 9 (posicin)
%MB 30 31 32 33 34 35 36 37 38 39 40 41 42
'm' 'i' 's' 'e' '_' 'e' 'n' '_' 's' 't' 'o' 'p'

==> resultado
%MB 14 15 16 17 18 19 20
's' 't' 'o' 'p'

Sintaxis

Operador Res:=MID (cadena, long, pos)

Operandos

Tipo Resultado (Res) Cadena Longitud (long)


Posicin (pos)
Tablas de bytes %MB:L %MB:L,%KB:L
Valor inm.
Palabras indexables %MW,%KW,%Xi.T
Palabras no indexables %IW,%QW,%SW,%NW
Valor inmediato,
Expr. numrica

___________________________________________________________________________
2/67
B
Notas
El parmetro posicin tiene el valor inicial 1 que corresponde a la primera posicin en la cadena
de caracteres.
Si la tabla de salida es demasiado larga, la cadena se completa con caracteres de tipo terminador.
Si la longitud definida por el parmetro es superior al tamao de la cadena de origen, la tabla
resultante contiene pues la cadena de origen.
Si se alcanza el ltimo elemento de la tabla o el terminador de cadena antes de extraer el nmero
de caracteres definido por el parmetro longitud, la extraccin se detiene.
El bit sistema %S15 se pone a 1 en los casos descritos a continuacin.
Si el valor del parmetro longitud que se va a extraer es negativo o nulo. En este caso, se
interpreta como igual a 0; la tabla resultante contiene pues una cadena vaca (compuesta de
terminadores).
Si el valor del parmetro posicin de inicio de extraccin es nulo o superior a la longitud de la
tabla o superior o igual a la posicin del primer terminador. En este caso, la tabla resultante
contiene una cadena vaca (compuesta de terminadores).
Si la tabla resultante es demasiado corta, se efecta un truncamiento.

___________________________________________________________________________
2/68
Descripcin de las instrucciones avanzadas 2

B
2.8-14 Extraccin de caracteres
Extraccin de un cierto nmero de caracteres ms a la izquierda (LEFT) o a la derecha
(RIGHT) en una cadena de origen definida por el parmetro (cadena).
El parmetro longitud (long) define el nmero de caracteres que se va a extraer.
La cadena extrada se almacena en una tabla de bytes (Res.).
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

OPERATE LD TRUE
%MB10:10:=LEFT(%MB30:13,% MW2) [%MB10: 10:=LEFT (%MB30:13,%MW2)]

Lenguaje Literal estructurado

%MB10:10:= LEFT (%MB30:13, MW2) ;

Ejemplo: %MB10: 10:= LEFT (%MB30:13, %MW2)


con %MW2 = 8 (longitud)

%MB 30 31 32 33 34 35 36 37 38 39 40 41 42
'm' 'i' 's' 'e' '_' 'e' 'n' '_' 's' 't' 'o' 'p'

==> resultado
%MB 10 11 12 13 14 15 16 17 18 19
'm' 'i' 's' 'e' '_' 'e' 'n' '_'

Sintaxis
Operador Res:=LEFT (cadena, long)

Res:=RIGHT (cadena, long)

Operandos

Tipo Resultado (Res) Cadena Longitud (long)


Tablas de bytes %MB:L %MB:L,%KB:L
Valor inm.
Palabras indexables %MW,%KW, %Xi.T
Palabras no indexables %IW,%QW,%SW,%NW
Valor inmediato,
Expr. numrica
___________________________________________________________________________
2/69
B
Notas
Si la tabla de salida es demasiado larga, la cadena se completa con caracteres de tipo terminador.

Si la longitud definida por el parmetro es superior al tamao de la cadena de origen, la tabla


resultante contiene pues la cadena de origen.

El bit sistema %S15 se pone a 1 en los casos descritos a continuacin.


Si el valor del parmetro longitud que se va a extraer es negativo o nulo. En este caso, la tabla
resultante contiene una cadena vaca (compuesta de terminadores).
Si la tabla resultante es demasiado corta, se efecta un truncamiento.

___________________________________________________________________________
2/70
Descripcin de las instrucciones avanzadas 2

B
2.8-15 Comparacin de dos cadenas de caracteres
Comparacin de dos cadenas de caracteres. El resultado es una palabra que contiene
la posicin del primer carcter diferente.
En caso de igualdad perfecta entre ambas cadenas de caracteres, el resultado
es -1.
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

OPERATE LD TRUE
%MW2:=EQUAL_STR(%MB18:14,%MB50:14) [%MW2:= EQUAL_STR (%MB18:14,
%MB50:14)]

Lenguaje Literal estructurado

%MW2:= EQUAL_STR (%MB18:14, %MB50:14) ;

Ejemplo: %MW2:= EQUAL_STR (%MB18:14, %MB50:14) con

%MB 18 19 20 21 22 23 24 25 26 27 28 29 30 31
'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'p' 'w' 'x' 'y' 'z'

%MB 50 51 52 53 54 55 56 57 58 59 60 61 62 63
'a' 'b' 'c' 'd' '?' 'f' 'g' 'h' 'v' 'w' 'x' 'y' 'z'

==> MW2:= 5

Sintaxis
Operador Res:=EQUAL_STR (cadena1, cadena2)

Operandos

Tipo Resultado (Res) Cadenas 1 y 2


Palabras indexables %MW
Palabras no indexables %QW,%SW,%NW.
Tablas de bytes %MB:L,%KB:L
Valor inmediato

Nota
Una longitud o una posicin negativa se interpreta como igual a 0.

Las letras maysculas se diferencian de las letras minsculas.


___________________________________________________________________________
2/71
B
2.8-16 Bsqueda de una subcadena de caracteres
Bsqueda de la subcadena de caracteres definida por el segundo parmetro en la
cadena de caracteres definida por el primer parmetro.
El resultado es una palabra que contiene en la primera cadena la posicin de inicio
de la subcadena buscada.
Si la bsqueda sale sin xito, el resultado es -1.
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

LD TRUE
OPERATE [ %MW2:= FIND (%MB18:14, %MB50:4)]
%MW2:= FIND(%MB18:14, %MB 50:4)

Lenguaje Literal estructurado

%MW2:= FIND (%MB18:14, %MB50:4) ;

Ejemplo: %MW2:= FIND (%MB18:14, %MB50:4) con

%MB 18 19 20 21 22 23 24 25 26 27 28 29 30 31
'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'w' 'x' 'y' 'z'

%MB 50 51 52 53
'f' 'g' 'h'

==> MW2:= 6 Indica que el inicio de la cadena buscada se sita a partir del
sexto carcter.

Sintaxis
Operador Res:=FIND (cadena1, cadena2)

Operandos

Tipo Resultado (Res) Cadenas 1 y 2


Palabras indexables %MW
Palabras no indexables %QW,%SW,%NW.
Tablas de bytes %MB:L,%KB:L
Valor inmediato

Nota
Una longitud o una posicin negativa se interpreta como igual a 0.
___________________________________________________________________________
2/72
Descripcin de las instrucciones avanzadas 2

B
2.8-17 Longitud de una cadena de caracteres
Esta funcin devuelve la longitud de la cadena de caracteres definida por parmetros,
es decir el nmero de caracteres que se encuentran antes del terminador.
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

LD TRUE
OPERATE
[%MW2:= LEN (%MB20:14)]
%MW2:= LEN (%MB20:14)

Lenguaje Literal estructurado

%MW2:= LEN (%MB20:14) ;

Ejemplo: %MW2:= LEN (%MB20:14) con

%MB 20 21 22 23 24 25 26 27 28 29 30 31
'a' 'b' 'c' 'd' 'e' 'f' 'g' 'n' 'o' 'p' 'r'

==> %MW2 = 7

Sintaxis

Operador Res:= LEN (cadena)

Operandos

Tipo Resultado (Res) Cadena


Palabras indexables %MW
Palabras no indexables %QW,%SW,%NW.
Tablas de bytes %MB:L, %KB:L,
Valor inmediato

Nota
Si no se encuentra ningn terminador, esta funcin devuelve el tamao de la tabla (vase el
captulo 2.8-1).

___________________________________________________________________________
2/73
B
2.9 Instrucciones de gestin de tiempo: fechas, horas, duraciones
2.9-1 Formato de los parmetros
Los parmetros Fecha, Hora, Duracin utilizados por estas instrucciones corresponden
a los formatos estndar definidos por la norma IEC1131-3.

Formato Duracin (tipo TIME)


Este formato permite codificar duraciones expresadas en dcimos de segundo.
Corresponde al formato TIME de la norma.
El valor se muestra bajo la forma siguiente: sssssssss.d
Por ejemplo: 3674.3
para 1 hora, 1 minuto, 14 segundos y 3 dcimos.
El valor se codifica en 32 bits (una doble palabra) cuyos lmites se fijan
a [0, 4294967295] dcimos de segundos. El lmite superior representa
aproximadamente 13 aos y 7 meses.

Formato Fecha (tipo DATE)


Este formato permite codificar el ao, el mes y el da. Corresponde al formato
DATE de la norma.
El valor se muestra bajo la forma siguiente: yyyy-mm-dd
Por ejemplo: 1984-06-25
El valor se codifica en BCD en 32 bits (una doble palabra) con 3 campos:
31 16 8 0 Ao : 4 dgitos
Ao Mes Da Mes : 2 dgitos
Da : 2 dgitos
Ejemplo:
expresado en hexadecimal

19h 84h 06h 25h = 1984-06-25

Slo se autorizan los valores comprendidos en el intervalo [1990-01-01, 2099-12-


31].

___________________________________________________________________________
2/74
Descripcin de las instrucciones avanzadas 2

B
Formato Hora del da (tipo TOD)
Esta formato permite codificar la hora, los minutos y los segundos. Corresponde al
formato TIME_OF_DAY de la norma.
El valor se muestra bajo la forma siguiente: hh:mm:ss
Por ejemplo: 23:12:34
El valor se codifica en BCD en 32 bits (una doble palabra) con 3 campos:
31 24 16 8 0 Horas: 2 dgitos (pal. ms sign.)
Hor Min Seg Minutos: 2 dgitos (pal. ms sign.)
Segundos: 2 dgitos (pal. menos sign.)
Ejemplo:
expresado en hexadecimal
23h 12h 34h = 23:12:34

Slo se autorizan los valores comprendidos en el intervalo [00:00:00, 23:59:59] .

Formato Fecha y hora (tipo DT)


Este formato permite codificar el ao, el mes, el da, la hora, los minutos y los
segundos. Corresponde al formato DATE_AND_TIME de la norma.
El valor se muestra bajo la forma siguiente: yyyy-mm-dd-hh:mm:ss
Por ejemplo: 1984-06-25-23:12:34
El valor se codifica en BCD en 64 bits (una tabla de palabras de longitud 4):

64 48 40 32 24 16 8 0
Ao Mes Da Ho Min Seg

Ejemplo:
expresado en hexadecimal
1984h 06h 25h 23h 12h 34h

Slo se autorizan los valores comprendidos en el intervalo [1990-01-01-00:00:00,


2099-12-31-23:59:59].

___________________________________________________________________________
2/75
B
Formato Hora, Minuto, Segundo (HMS)
Este formato, utilizado exclusivamente por la funcin TRANS_TIME, permite
codificar la hora, los minutos y los segundos.

El valor se muestra bajo la forma siguiente: hh:mm:ss


Por ejemplo: 23:12:34

El valor se codifica en BCD en 32 bits (una doble palabra) con 3 campos:


31 16 8 0 Horas: 4 dgitos (pal. ms sign.)
Ho Min Seg Minutos: 2 dgitos (pal. menos sign.)
Segundos: 2 dgitos (pal. menos sign.)
Ejemplo:
expresado en hexadecimal
23h 12h 34h = 23:12:34

2.9-2 Utilizacin de bits y palabras sistema - Generalidades


El bit sistema %S17 se pone a 0 en los casos siguientes:
resultado de una operacin fuera del intervalo de valores autorizados,
un parmetro de entrada no interpretable ni coherente en el formato deseado (DATE,
DT o TOD),
operacin en un formato Hora del da (TOD) que tiene como consecuencia un
cambio de da,
conflicto de acceso al reloj-calendario.
El bit sistema %S15 se pone a 1 al escribir una cadena en una tabla cuando sta es
ms larga que el tamao de la tabla.
Las palabras sistema
%SD18: contador de tiempo absoluto; permite tambin efectuar clculos de duracin
(aumentado por el sistema cada 1/10 de segundo),
%SW49 a %SW53 pueden utilizarse tambin para mostrar fechas (vase el
captulo 3.2-2, seccin B).

___________________________________________________________________________
2/76
Descripcin de las instrucciones avanzadas 2

B
2.9-3 Funcin reloj-calendario
Esta funcin permite controlar acciones en horarios y fechas predefinidos o calculados.
Posiciona a 1 el parmetro de salida OUT si la fecha suministrada por el reloj del
autmata en el momento de la llamada de la funcin est comprendida en el perodo
programado en los parmetros de entradas.

Sintaxis
Operador SCHEDULE (DBEG, DEND, WEEK, HBEG, HEND, OUT)

Caractersticas de los parmetros

Salida OUT Bit que contiene el resultado de las comparaciones


efectuadas por la funcin reloj-calendario: a 1
durante los perodos definidos por los parmetros.
Fecha de inicio DBEG Palabra que codifica la fecha de inicio del perodo
(mes-da) en BCD (valores lmites: 01-01 a 12-31)
Fecha de fin DEND Palabra que codifica la fecha de fin del perodo
(mes-da) en BCD (valores lmites: 01-01 a 12-31)
Da de la semana WEEK Palabra que codifica el o los das de la semana
incluidos en el perodo definido por los parmetros
DBEG y DEND.
Los 7 bits menos significativos representan los 7
das de la semana: bit 6 = lunes, bit 5 = martes,..., bit
0 = domingo.
Hora de inicio HBEG Doble palabra que codifica la hora de inicio del
perodo en el da (horas-minutos-segundos) en
BCD formato hora del da (tipo: TOD). Valores
lmites: 00:00:00, 23:59:59
Hora de fin HEND Doble palabra que codifica la hora de fin del perodo
en el da (horas-minutos-segundos) en BCD formato
hora del da (tipo: TOD). Valores lmites: 00:00:00,
23:59:59

Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

LD TRUE
[SCHEDULE (%KW0,%KW1,%KW2,%KD3,
OPERATE
%KD5,%M0)]
SCHEDULE (%KW0,%KW1,%KW2,%KD3,%KD5,%M0)

___________________________________________________________________________
2/77
B
Lenguaje Literal estructurado
Ejemplo: programacin de 2 franjas horarias no contnuas
SCHEDULE ( 16#0501, (* fecha de inicio: 1 mai*)
16#1031, (* fecha de trmino: 31 octobre*)
2#0000000001111100, (* lunes a viernes*)
16#08300000, (* hora de incio: 8h30*)
16#12000000, (* hora de trmino: 18h*)
%M0 (* resultado en: %M0*)
);
SCHEDULE ( 16#0501, (* fecha de inicio: 1 mai*)
16#1031, (* fecha de trmino: 31 octobre*)
2#0000000001111100, (* lunes a viernes*)
16#14000000, (* hora de inicio: 14h*)
16#18000000, (* hora de trmino: 18h*)
%M1 (* resultado en: %M1*)
);
%Q0.0:=%M0 OR %M1;

Operandos
SCHEDULE (DBEG, DEND, WEEK, HBEG, HEND, OUT)

Tipo DBEG,DEND,WEEK HBEG,HEND OUT


Palabras indexables %MW,%KW,%Xi.T
Palabras no indexables %IW,%QW,%SW,%NW
Valor inmediato
Expr. numrica
Dobles palabras indexables %MD,%KD
Dobles palabras %ID,%QD
no indexables Valor inmediato
Expr. numrica
Bits %I,%Q, %M, %S,
%BLK ,%:Xk, %X

Notas:
los 2 parmetros DBEG y DEND definen una franja de das en el ao. esta franja puede estar
solapada entre 2 aos civiles. Ejemplo: del 10 de octubre al 7 de abril. El 29 de febrero se puede
utilizar en este perodo, pero se ignorar en los aos no bisiestos.
los 2 parmetros HBEG y HEND definen una franja horaria en el da. esta franja puede estar
solapada entre 2 das. Ejemplo: de las 22h a las 6h 10min 20s.
si una de la fechas DBEG y DEND o una de las horas HBEG y HEND es errnea, es decir
que no corresponde a una fecha u hora real, la salida OUT estar a 0 y el bit %S17 se pondr
a 1.
si el autmata de destino no posee un reloj interno (caso del TSX37-10), la salida estar a 0
y el bit sistema %S17 se pondr a 1.
Cuando la precisin no es importante, es posible disminuir la carga del procesador del autmata
cadenciando la llamada de la funcin SCHEDULE mediante el bit sistema %S6 o %S7.
___________________________________________________________________________
2/78
Descripcin de las instrucciones avanzadas 2

B
2.9-4 Lectura de la fecha sistema
Lectura de la fecha sistema (Real Time Clock) y transferencia al objeto definido por
el parmetro en el formato Fecha y hora (DT).
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones
LD %M6
%M6 OPERATE [RRTC (%MW2:4)]
RRTC (%MW2:4)

Lenguaje Literal estructurado


IF %M6 THEN
RRTC (%MW2:4) ;
END_IF ;

Ejemplo: RRTC (%MW2:4)


El resultado se transfiere a la tabla de palabras internas de longitud 4: %MW2 a %MW5.

Sintaxis
Operador RRTC (fecha)
Operando

Tipo Fecha
Tablas de 4 palabras %MW:4
en formato fecha y hora

2.9-5 Actualizacin de la fecha sistema


Actualizacin de la fecha sistema (Real Time Clock) y transferencia al objeto definido
por el parmetro en el formato Fecha y hora (DT).
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

%M7 LDR %M7


OPERATE
P %MW2:=16#4300 [%MW2:= 16#4300]
[%MW3:= 16#1732]
OPERATE
%MW3:=16#1732 [%MW4:= 16#1124]
OPERATE
[%MW5:= 16#1995]
%MW4:=16#1124 [WRTC (%MW2:4)]
OPERATE
%MW5:=16#1995
OPERATE
WRTC (%MW2:4)

___________________________________________________________________________
2/79
B
Lenguaje Literal estructurado
IF RE %M7 THEN
%MW2:= 16#4300 ;
%MW3:= 16#1732 ;
%MW4:= 16#1124 ;
%MW5:= 16#1995 ;
WRTC (%MW2:4) ;
END_IF ;

Ejemplo: la nueva fecha se carga en una tabla de palabras internas de longitud 4:


%MW2:4 y luego se enva al sistema mediante las funciones WRTC
Sintaxis
Operador WRTC (fecha)
Operando
Tipo Fecha
Tablas de 4 palabras %MW:4, %KW:4
en formato fecha y hora

2.9-6 Lectura de la fecha y del cdigo de parada


Lectura de la fecha de la ltima palabra del autmata y del cdigo que especifica la
causa de esta parada (en la 5a palabra, equivalente a %SW58, vase el captulo 3.2-
2, seccin B).
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones
%M7 LD %M7
OPERATE
PTC (%MW4:5)
[PTC (%MW4:5)]

Lenguaje Literal estructurado


IF %M7 THEN
PTC (%MW4:5) ;
END_IF ;

Ejemplo: PTC (%MW4:5)


El resultado se transfiere a la tabla de palabras internas de longitud 5: %MW4 a %MW8
Sintaxis
Operador PTC (fecha)
Operando
Tipo Fecha
Tablas de 5 palabras %MW:5
en formato fecha y hora
___________________________________________________________________________
2/80
Descripcin de las instrucciones avanzadas 2

B
2.9-7 Lectura del da de la semana
Esta funcin proporciona como resultado el da actual de la semana bajo forma de
un nmero de 1 a 7 transferido a una palabra (1 = lunes, 2 = martes, 3 = mircoles,
4 = jueves, 5 = viernes, 6 = sbado, 7 = domingo).
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones
%M7 LD %M7
OPERATE
%MW5:=DAY_OF_WEEK() [%MW5:= DAY_OF_WEEK()]

Lenguaje Literal estructurado

IF %M7 THEN
%MW5:= DAY_OF_WEEK () ;
END_IF ;

Ejemplo: %MW5:= DAY_OF_WEEK() %MW5:= 4 corresponde a jueves

Sintaxis

Operador Res:=DAY_OF_WEEK()

Operando

Tipo Resultado (Res)


Palabras indexables %MW
Palabras no indexables %QW, %SW, %NW

Observacin
Si la funcin no pudo actualizar el resultado por causa de un error de acceso al
reloj-calendario, el resultado devuelto es 0 y el bit sistema %S17 se pone a 1.

___________________________________________________________________________
2/81
B
2.9-8 Agregar/quitar una duracin en una fecha
Agregar o quitar una duracin (en dcimos de segundo) (In2) en una fecha de
origen(In1). El resultado es una nueva fecha transferida a una tabla de 4 palabras.
ADD_DT () = agrega una duracin SUB_DT () = quita una duracin

Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

%M7 LD %M7
OPERATE
RRTC (%MW2:4) [RRTC (%MW2:4)]
[%MD8:= 906]
OPERATE [%MW2:4:= ADD_DT(%MW2:4,
%MD8:=906
%MD8)]
OPERATE [WRTC (%MW2:4)]
%MW2:4:=ADD_DT(%MW2:4,%MD8)
OPERATE
WRTC (%MW2:4)

Lenguaje Literal estructurado

IF %M7 THEN
RRTC (%MW2:4) ;
%MD8:= 906 ;
%MW2:4:= ADD_DT (%MW2:4, %MD8) ;
WRTC (%MW2:4) ;
END_IF ;

Ejemplo: %MW2:4:= ADD_DT(%MW2:4, %MD8 )


%MW2:4:= fecha de origen
%MD8:= 906 (906 dcimos de segundo redondeados a 1 min. 31 s)
%MW2:4:= nueva fecha

Sintaxis
Operadores Res:=ADD_DT (In1, In2)

Res:=SUB_DT (In1, In2)

___________________________________________________________________________
2/82
Descripcin de las instrucciones avanzadas 2

B
Operandos
Tipo Resultado (Res) In1 (fecha origen) In2 (duracin)
Tablas de 4 palabras %MW:4 %MW4:4, %KW:4
en formato fecha y hora
Dobles palabras indexables %MD,%KD
Dobles palabras %ID,%QD
no indexables Valor inmediato
Expr. numrica

Notas
El principio del redondeo se aplicar al parmetro "duracin" (expresado en 1/10 de
segundo) para permitir agregar a o quitar de la fecha (precisin de un segundo):
- sssssssss.0 a sssssssss.4 redondeado a sssssssss.0
- sssssssss.5 a sssssssss.9 redondeado a sssssssss.0 + 1.0

El usuario debe prever en la aplicacin la gestin de los aos bisiestos.

Si el resultado de la operacin est fuera del intervalo de valores autorizados, el bit sistema
%S17 se pone a 1 y el valor del resultado equivale al lmite mnimo (para SUB_DT) o queda
bloqueado en el mximo (para ADD_DT).

Si el parmetro de entrada "fecha de origen" es ininterpretable e incoherente en el formato


DT (DATE_AND_TIME), el bit sistema %S17 se pone a 1 y el valor del resultado es igual a
0001-01-01-00:00:00.

2.9-9 Agregar/quitar una duracin en una hora del da


Agrega o quita una duracin en una hora del da. El resultado es una nueva hora del
da que se transfiere a una doble palabra.
ADD_TOD () = agrega una duracin SUB_TOD () = quita una duracin
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

%M7 LD %M7
OPERATE
%MD8:= 906 [%MD8:= 906]
[%MD2:= ADD_TOD (%MD2, %MD8)]
OPERATE
%MD2:=ADD_TOD(%MD2,%MD8)

___________________________________________________________________________
2/83
B
Lenguaje Literal estructurado

IF %M7 THEN
%MD8:= 906 ;
%MD2:= ADD_TOD (%MD2, %MD8) ;
END_IF ;

Ejemplo: %MD2:= ADD_TOD (%MD2, %MD8 )


%MD2:= Hora de origen (ej.: 12:30:00)
%MD8:= 906 (906 dcimos de segundo redondeados a 1 min. 31 s)
%MD2:= Nueva hora (ej.: 12:31:31)

Sintaxis

Operadores Res:=ADD_TOD (In1, In2)

Res:=SUB_TOD (In1, In2)

Operandos

Tipo Resultado (Res) In1(hora de origen) y In2 (duracin)


Dobles palabras indexables %MD %MD,%KD
Dobles palabras %QD %ID,%QD
no indexables Valor inmediato, Expr. numrica

Res e In1 utilizan el formato TOD, In2 el formato duracin.


Notas
El principio del redondeo se aplicar al parmetro "duracin" (expresado en 1/10 de
segundo) para permitir agregar a o quitar de la fecha (precisin de un segundo):
- sssssssss.0 a sssssssss.4 redondeado a sssssssss.0
- sssssssss.5 a sssssssss.9 redondeado a sssssssss.0 + 1.0
Se cambia de da, si el resultado de la operacin se encuentra fuera del intervalo de valores
autorizados. En este caso, el bit sistema %S17 se pone a 1 y el valor del resultado se interpreta
con un mdulo 24:00:00.

Si el parmetro de entrada "hora del da" no puede interpretarse en el formato TOD, el bit
sistema %S17 se pone a 1 y el resultado es igual a 00:00:00 .

___________________________________________________________________________
2/84
Descripcin de las instrucciones avanzadas 2

B
2.9-10 Desviacin entre dos fechas (sin hora)
Calcula la desviacin de tiempo entre dos fechas. El resultado, indicado como valor
absoluto, se transfiere a una doble palabra.
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

%M7 LD %M7
OPERATE
%MD10:=DELTA_D(%MD2,%MD4) [%MD10:= DELTA_D (%MD2, %MD4)]

Lenguaje Literal estructurado

IF %M7 THEN
%MD10:= DELTA_D (%MD2, %MD4) ;
END_IF ;

Ejemplo: %MD10:= DELTA_D (%MD2, %MD4 )


%MD2:= Fecha nmero1 (ej.: 1994-05-01)
%MD4:= Fecha nmero2 (ej.: 1994-04-05)
==> %MD10 = 22464000 (==> desviacin = 26 das)

Sintaxis
Operador Res:=DELTA_D(Fecha1,Fecha2)

Operandos

Tipo Resultado (Res) Fechas 1 y 2


Dobles palabras indexables %MD %MD,%KD
Dobles palabras %QD %ID,%QD
no indexables Valor inmediato, Expr. numrica

Res utiliza el formato TIME, Fechas 1 y 2 el formato DATE.


El formato TIME se define con una precisin de un dcimo de segundo. El formato
DATE se define con una precisin de un da. La desviacin de tiempo calculada ser
un mltiplo de 864000 (= 1 da = 24 h x 60 mn x 60 s x 10 dcimos).

Atencin
Hay rebasamiento, si el resultado excede el valor mximo admitido para una
duracin (TIME). En este caso, el resultado es igual a 0 y el bit sistema %S18
se pone a 1.
Si uno de los parmetros de entrada es ininterpretable e incoherente en el
formato DATE, el bit sistema %S17 se pone a 1 y el resultado es igual a 0.
___________________________________________________________________________
2/85
B
2.9-11 Desviacin entre dos fechas (con hora)
Calcula la desviacin de tiempo entre dos fechas. El resultado, indicado como valor
absoluto, se transfiere a una doble palabra.
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

OPERATE LD TRUE
%MD10:= DELTA_D T(%MW2:4,%MW6:4) [%MD10:= DELTA_DT (%MW2:4, %MW6:4)]

Lenguaje Literal estructurado

%MD10:= DELTA_DT (%MW2:4, %MW6:4) ;

Ejemplo: %MD10:= DELTA_DT (%MW2:4, %MW6:4)


%MW2:4:= Fecha nmero1(ej.: 1994-05-01-12:00:00)
%MW6:4:= Fecha nmero2 (ej.: 1994-05-01-12:01:30)
==> %MD10 = 900 (==> desviacin = 1 minuto y 30 segundos)
Sintaxis
Operador Res:=DELTA_DT(Fecha1,Fecha2)

Operandos

Tipo Resultado (Res) Fechas 1 y 2


Dobles palabras indexables %MD
Dobles palabras %QD
noindexables
Tablas de 4 palabras %MW:4, %KW:4
en formato DT

Res utiliza el formato TIME, Fechas 1 y 2 el formato DT.


El formato TIME se define con una precisin de un dcimo de segundo. El formato DT
se define con una precisin de un segundo. La desviacin de tiempo calculada ser
un mltiplo de 10.

Atencin
Hay rebasamiento si el resultado excede el valor mximo admitido para una
duracin (TIME). En este caso, el resultado es igual a 0 y el bit sistema %S18
se pone a 1.
Si uno de los parmetros de entrada es ininterpretable e incoherente en el
formato DT, el bit sistema %S17 se pone a 1 y el resultado es igual a 0.
___________________________________________________________________________
2/86
Descripcin de las instrucciones avanzadas 2

B
2.9-12 Desviacin entre dos horas
Calcula la desviacin de tiempo entre dos horas del da. El resultado, indicado como
valor absoluto, se transfiere a una doble palabra de duracin.
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

OPERATE
LD TRUE
%MD10:= DELTA_TOD (%MD2,%MD4 ) [%MD10:= DELTA_TOD (%MD2,
%MD4)]

Lenguaje Literal estructurado

%MD10:= DELTA_TOD (%MD2, %MD4) ;

Ejemplo: %MD10:= DELTA_TOD (%MD2, %MD4 )


%MD2:=Hora1 (ej.: 02:30:00 )
%MD4:= Hora2 (ej.: 02:41:00)
==> %MD10 = 6600 (==> desviacin = 11 minutos)
Sintaxis
Operador Res:=DELTA_TOD(Hora1,Hora2)

Operandos

Tipo Resultado (Res) Horas 1 y 2


Dobles palabras indexables %MD %MD,%KD
Dobles palabras %QD %ID,%QD
no indexables Valor inmediato, Expr. numrica

Res utiliza el formato TIME, Horas 1 y 2 el formato TOD.


El formato TIME se define con una precisin de un dcimo de segundo. El formato TOD
se define con una precisin de un segundo. La desviacin de tiempo calculada ser
un mltiplo de 10.

Atencin
Si uno de los parmetros de entrada es ininterpretable e incoherente en el formato
TOD, el bit sistema %S17 se pone a 1 y el resultado es igual a 0.

___________________________________________________________________________
2/87
B
2.9-13 Conversin de una fecha (sin hora) en cadena de caracteres
Esta instruccin convierte una fecha en cadena de caracteres (sin hora) en el formato:
YYYY-MM-DD (10 caracteres). El ltimo elemento de esta cadena es el carcter
terminador . Cada carcter Y,M,D simboliza un dgito.
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones
LD TRUE
OPERATE [%MB2:11:= DATE_TO_STRING
%MB2:11:= DATE_TO_STRING(%MD40 )
(%MD40)]

Lenguaje Literal estructurado


%MB2:11:= DATE_TO_STRING (%MD40) ;

Ejemplo: %MB2:11:= DATE_TO_STRING (%MD40)


%MD40:= DATE (ej.:1998-12-27 )
==> %MB 2 3 4 5 6 7 8 9 10 11 12
'1' '9' '9' '8' '-' '1' '2' '-' '2' '7'

Sintaxis
Operador Res:=DATE_TO_STRING(Fecha)
Operandos

Tipo Resultado (Res) Fecha


Tablas de 11 bytes %MB:11
Dobles palabras indexables %MD,%KD
Dobles palabras %ID,%QD
no indexables Valor inmediato, Expr. numrica

Notas: si el parmetro de entrada (fecha) es ininterpretable e incoherente en el formato DATE,


el bit sistema %S17 se pone a 1 y la funcin devuelve la cadena ' **** - ** - ** ' . Si la cadena de
salida es demasiado corta, se efecta un truncamiento y el bit sistema %S15 se pone a 1.

%MB2:8:= DATE_TO_STRING (%MD40)

%MB 2 3 4 5 6 7 8 9
==>
'1' '9' '9' '8' '-' '1' '2' '-' ==> %S15 = 1

Si la cadena de salida es demasiado larga, la cadena se completa con caracteres de tipo


terminador .
%MB2:12:= DATE_TO_STRING (%MD40)
%MB 2 3 4 5 6 7 8 9 10 11 12 13
==>
'1' '9' '9' '8' '-' '1' '2' '-' '2' '7'

___________________________________________________________________________
2/88
Descripcin de las instrucciones avanzadas 2

B
2.9-14 Conversin de una fecha completa en cadena de caracteres
Esta instruccin convierte una fecha completa (con hora) en cadena de caracteres en
el formato: YYYY-MM-DD-HH:MM:SS (19 caracteres). El ltimo elemento de esta
cadena es el carcter terminador . Cada carcter Y,M,D,H,M,S simboliza un dgito.
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones
LD TRUE
OPERATE [%MB2:20:= DT_TO_STRING (%MW50:4)]
%MB2:20:= DT_TO_STRING(%MW50:4 )

Lenguaje Literal estructurado


%MB2:20:= DT_TO_STRING (%MW50:4) ;

Ejemplo: %MB2:20:= DT_TO_STRING (%MW50:4)


%MW50:4:= Fecha y hora (tipo DT) (ej.:1998-12-27-23:14:37)
%MB 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
'1' '9' '9' '8' '-' '1' '2' '-' '2' '7' '-' '2' '3' ':' '1' '4' ':' '3 ' '7'

Sintaxis
Operador Res:=DT_TO_STRING(Fecha)

Operandos
Tipo Resultado (Res) Fecha
Tablas de 20 bytes %MB:20
Tablas de 4 palabras %MW:4, %KW:4
en formato DT

Notas: si el parmetro de entrada (fecha) es ininterpretable e incoherente en el formato DT


(DATE_AND_TIME), el bit sistema %S17 se pone a 1 y la funcin devuelve
la cadena ' **** - ** - ** - **: **: ** '. Si la cadena de salida es demasiado corta, se efecta un
truncamiento y el bit sistema %S15 se pone a 1.

%MB2:8:= DT_TO_STRING (%MW50:4)


%MB 2 3 4 5 6 7 8 9
==> '1' '9' '9' '8' '-' '1' '2' '-' ==> %S15 = 1

Si la cadena de salida es demasiado larga, la cadena se completa con caracteres de


tipo terminador .
%MB2:21:= DT_TO_STRING (%MW50:4)
%MB 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
==> '1' '9' '9' '8' '-' '1' '2' '-' '2' '7' '-' '2' '3' ':' '1' '4' ':' '3 ' '7'

___________________________________________________________________________
2/89
B
2.9-15 Conversin de una duracin en cadena de caracteres
Esta instruccin convierte una duracin (en el formato TIME) en cadena
de 15 caracteres. El resultado se descompone en horas, minutos, segundos y dcimos:
HHHHHH:MM:SS.D. El ltimo elemento de esta cadena es el carcter terminador .
Cada carcter H,M,S,D simboliza un dgito.
La duracin mx. corresponde a 119304 horas, 38 minutos, 49 segundos y 5 dcimos.
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

LD TRUE
OPERATE
%MB2:15:=TIME_TO_STRING(%MD40) [%MB2:15:=TIME_TO_STRING (%MD40)]

Lenguaje Literal estructurado

%MB2:15:= TIME_TO_STRING (%MD40) ;

Ejemplo: %MB2:15:= TIME_TO_STRING (%MD40)


con %MD40:= 27556330.3 (formato TIME)
%MB 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
'0' '0' '7' '6' '5' '4' ':' '3' '2' ':' '1' '0' '.' '3'

Sintaxis
Operador Res:=TIME_TO_STRING(Duracin)

Operandos

Tipo Resultado (Res) Duracin


Tablas de 15 bytes %MB:15
Dobles palabras indexables %MD,%KD
Dobles palabras %ID,%QD
no indexables Valor inmediato, Expr. numrica

Duracin: utiliza el formato TIME.


Nota
Si la cadena de salida es demasiado corta, se efecta un truncamiento y el bit sistema %S15 se
pone a 1.
%MB2:8:= TIME_TO_STRING (%MD40)
==> %MB 2 3 4 5 6 7 8 9
'0' '0' '7' '6' '5' '4' ':' '3' ==> %S15 = 1

___________________________________________________________________________
2/90
Descripcin de las instrucciones avanzadas 2

B
Si la cadena de salida es demasiado larga, la cadena se completa con caracteres de tipo
terminador .
%MB2:16:= TIME_TO_STRING (%MD40)
==>
%MB 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
'0' '0' '7' '6' '5' '4' ':' '3' '2' ':' '1' '0' '.' '3'

2.9-16 Conversin de una hora del da en cadena de caracteres


Esta instruccin convierte una hora del da (formato TOD - TIME_OF_DAY) en cadena
de 8 caracteres en el formato HH:MM:SS ms un carcter de tipo terminador . Cada
carcter H,M,S simboliza un dgito.

Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

LD TRUE
OPERATE
%MB2:9:=TOD_TO_STRING(%MD40) [%MB2:9:= TOD_TO_STRING (%MD40)]

Lenguaje Literal estructurado

%MB2:9:= TOD_TO_STRING (%MD40) ;

Ejemplo: %MB2:9:= TOD_TO_STRING (%MD40)


con %MD40:= 23:12:27 (formato TOD)
==>
%MB 2 3 4 5 6 7 8 9 10
'2' '3' ':' '1' '2' ':' '2' '7'

Sintaxis
Operador Res:=TOD_TO_STRING(hora)

Operandos

Tipo Resultado (Res) Hora


Tablas de 9 bytes %MB:9
Dobles palabras indexables %MD,%KD
Dobles palabras %ID,%QD
no indexables Valor inmediato, Expr. numrica

Hora: utiliza el formato TOD.


___________________________________________________________________________
2/91
B
Nota
Si la cadena de salida es demasiado corta, se efecta un truncamiento y el bit sistema %S15 se
pone a 1.
%MB2:8:= TOD_TO_STRING (%MD40) (con %MD40:= 23:12:27)
==> %MB 2 3 4 5 6 7 8 9
'2' '3' ':' '1' '2' ':' '2' '7' ==> %S15 = 1

Si la cadena de salida es demasiado larga, la cadena se completa con caracteres de tipo


terminador .
%MB2:10:= TOD_TO_STRING (%MD40) (con %MD40:= 23:12:27)
==> %MB 2 3 4 5 6 7 8 9 10 11
'2' '3' ':' '1' '2' ':' '2' '7'

___________________________________________________________________________
2/92
Descripcin de las instrucciones avanzadas 2

B
2.9-17 Conversin de una duracin en HHHH:MM:SS
Esta instruccin convierte una duracin (en el formato TIME) en nmero de horas-
minutos-segundos, HHHH:MM:SS. Valores lmites: [0000:00:00 , 9999:59:59].

Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

OPERATE LD TRUE
%MD100:=TRANS_TIME(%MD2) [%MD100:= TRANS_TIME (%MD2)]

Lenguaje Literal estructurado

%MD100:= TRANS_TIME (%MD2) ;

Ejemplo: %MD100:= TRANS_TIME (%MD2)


con %MD2:= 86324873 dcimos de segundo
31 16 8 0
==> MD2
2397 54 47
valores expresados en hexadecimal

Sintaxis
Operador Res:=TRANS_TIME(duracin)

Operandos

Tipo Resultado (Res) Duracin


Dobles palabras indexables %MD %MD,%KD
Dobles palabras %QD %ID,%QD
no indexables Valor inmediato, Expr. numrica

Res: utiliza el formato HMS.


Duracin: utiliza el formato TIME.

Notas
El principio del redondeo se aplicar al parmetro "duracin" (expresado en 1/10 de segundo)
para permitir la conversin (precisin de un segundo):
- sssssssss.0 a sssssssss.4 redondeado a sssssssss.0
- sssssssss.5 a sssssssss.9 redondeado a sssssssss.0 + 1.0

La duracin mxima convertida puede alcanzar 10000 horas. Esto significa que si el valor de
la duracin (TIME) definido por el parmetro es superior o igual a 360000000, sta no puede
convertirse. El bit sistema %S15 se pone a 1 y el resultado es igual a 0000:00:00.
___________________________________________________________________________
2/93
B
2.10 Instrucciones para tablas de bits
2.10-1 Copia de una tabla de bits en una tabla de bits
Esta funcin copia bit a bit una tabla de bits en otra tabla de bits.

Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

OPERATE
LD TRUE
%M10:5:=COPY_BIT(%M20:5) [%M10:5:= COPY_BIT (%M20:5)]

Lenguaje Literal estructurado

%M10:5:= COPY_BIT (%M20:5) ;

Sintaxis
Operador Res:=COPY_BIT (Tab)

Operandos

Tipo Resultado (Res) Tab (tabla)


Tabla de bits %M:L, %Q:L, %I:L %M:L, %Q:L, %I:L, %Xi:L

Notas
Las tablas pueden ser de tamao diferente. En este caso, la tabla resultante contiene el
resultado de la funcin ejecutada con una longitud que equivale al ms pequeo de los tamaos
de tabla. El resto de la tabla resultante no se modifica.
Se debe prestar atencin a solapamientos entre la tabla de entrada y la tabla resultante.

___________________________________________________________________________
2/94
Descripcin de las instrucciones avanzadas 2

B
2.10-2 Instrucciones lgicas para tablas de bits
Las funciones asociadas permiten realizar una operacin lgica bit a bit entre dos
tablas de bits y almacenar el resultado en otra tabla de bits.
AND_ARX : Y lgica (bit a bit).
OR_ARX : O lgica (bit a bit).
XOR_ARX : O exclusiva (bit a bit).
NOT_ARX : complemento lgico (bit a bit) de una tabla.

Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

LD TRUE
OPERATE
%M10:7:= AND_ARX(%M20:7, %M30:7) [%M10:7:= AND_ARX (%M20:7,
%M30:7)]
OPERATE
%M50:10:=NOT_ARX(%M60:10) LD TRUE
[%M50:10:= NOT_ARX (%M60:10)]

Lenguaje Literal estructurado

%M10:7:= AND_ARX (%M20:7, %M30:7) ;


%M50:10:= NOT_ARX (%M60:10) ;

Sintaxis
Operador Res:= AND_ARX (Tab 1, Tab 2)
Res:= OR_ARX (Tab 1, Tab 2)
Res:= XOR_ARX (Tab 1, Tab 2)
Res:= NOT_ARX (Tab 1)

Operandos

Tipo Resultado (Res) Tablas 1 y 2 (Tab)


Tabla de bits %M:L, %Q:L, %I:L %M:L, %Q:L, %I:L, %Xi:L

Notas
Las tablas pueden ser de tamao diferente. En este caso, la tabla resultante contiene el
resultado de la funcin ejecutada con una longitud que equivale al ms pequeo de los tamaos
de tabla. El resto de la tabla resultante no se modifica.
Se debe prestar atencin a solapamientos entre la tabla de entrada y la tabla resultante.

___________________________________________________________________________
2/95
B
2.10-3 Copia de una tabla de bits en una tabla de palabras
La funcin copia los bits de una tabla o de una parte de tabla de bits en una tabla de
palabras (o dobles palabras).
En la tabla de bits, un nmero de bits (nbit) se copia a partir de una cierta fila (brow).
En la tabla de palabras (o dobles palabras), la copia se efecta a partir de una fila (wrow
o drow), comenzando en el bit menos significativo de cada palabra.
BIT_W : copia de una tabla de bits en una tabla de palabras.
BIT_D : copia de una tabla de bits en una tabla de dobles palabras.

Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

LD TRUE
OPERATE
[%MW10:7:= BIT_W (%M20:29, 3, 22, 2)]
%MW10:7:= BIT_W(%M20:29, 3, 22, 2)
LD TRUE
OPERATE
[%MD10:4:= BIT_D (%M20:29, 3, 22, 1)]
%MD10:4:=BIT_D(%M20:29, 3, 22, 1)

Lenguaje Literal estructurado

%MW10:7:= BIT_W (%M20:29, 3, 22, 2) ;


%MD10:4:= BIT_D (%M20:29, 3, 22, 1) ;

Ejemplo: %MW10:7:= BIT_W (%M20:29, 3, 22, 2) ;

%M20:29
fila 0
%MW10:7
fila 3 (brow)
bit 15 bit 0
fila 0

fila 2

Nmero de bits (nbit):


16 + 6

___________________________________________________________________________
2/96
Descripcin de las instrucciones avanzadas 2

B
Sintaxis
Operador Res:= BIT_W (Tab, brow, nbit, wrow)
Res:= BIT_D (Tab, brow, nbit, drow)

Operandos

Tipo Resultado (Res) Tabla (Tab) brow - nbit


wrow o drow
Tablas de palabras %MW:L
Tablas de dobles palabras %MD:L
Tablas de bits %M:L, %Q:L, %I:L,
%Xi.L
Palabras indexables %MW, %KW, %Xi.T
Palabras no indexables %IW, %QW,
%SW, %NW,
Valor inmediato
Expr. numrica

Notas
Si el nmero de bits que se van a tratar es superior al nmero de bits restantes desde la fila
(brow) en la tabla, la funcin ejecuta la copia hasta el ltimo elemento de la tabla.
Si el nmero de bits que se van copiar es superior al nmero de bits que constituyen las palabras
restantes de la tabla resultante, la funcin detiene la copia en el ltimo elemento de la tabla de
palabras (o dobles palabras).
Un valor negativo en los parmetros brow, nbit, wrow o drow se interpretar como nulo.

___________________________________________________________________________
2/97
B
2.10-4 Copia de una tabla de palabras en una tabla de bits
La funcin copia los bits que constituyen una tabla o una parte de tabla de palabras
(o dobles palabras) en una tabla de bits.
En la tabla de palabras (o dobles palabras), un nmero de palabras (nwd) se copia
a partir de la palabra de fila (wrow o drow).
En la tabla de bits, la copia se efecta a partir de la fila (brow), comenzando en el bit
menos significativo de cada palabra.
W_BIT : copia de una tabla de palabras en una tabla de bits.
D_BIT : copia de una tabla de dobles palabras en una tabla de bits.

Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

LD TRUE
OPERATE [%M20:36:= W_BIT (%MW10:7, 2, 2, 3)]
%M20:36:=W_BIT(%MW10:7,2,2,3)
LD TRUE
OPERATE [%M20:36:= D_BIT (%MD10:4, 1, 1, 3)]
%M20:36:=D_BIT(%MD10:4,1,1,3)

Lenguaje Literal estructurado

%M20:36:= W_BIT (%MW10:7, 2, 2, 3) ;


%M20:36:= D_BIT (%MD10:4, 1, 1, 3) ;

Ejemplo: %M20:36:= W_BIT (%MW10:7, 2, 2, 3) ;

%M20:36
fila 0
%MW10:7 fila 3 (brow)
fila 19
bit 15 bit 0
fila 0

(wrow) fila 2

___________________________________________________________________________
2/98
Descripcin de las instrucciones avanzadas 2

B
Sintaxis
Operador Res:= W_BIT (Tab, wrow, nwd, brow)
Res:= D_BIT (Tab, drow, nwd, brow)

Operandos

Tipo Resultado (Res) Tabla (Tab) wrow o drow


nwd - brow
Tablas de bits %M:L,%Q:L,%I:L
Tablas de palabras %MW:L,%KW:L
Tablas de dobles palabras %MD:L,%KD:L
Palabras indexables %MW, %KW, %Xi.T
Palabras no indexables %IW, %QW,
%SW, %NW,
Valor inmediato
Expr. numrica

Notas
Si el nmero de bits que se van a tratar es superior al nmero de bits restantes desde la fila
(Wrow) en la tabla, la funcin ejecuta la copia hasta el ltimo elemento de la tabla.
Si el nmero de bits que se van copiar es superior al nmero de bits que constituyen las palabras
restantes de la tabla resultante, la funcin detiene la copia en el ltimo elemento de la tabla.
Un valor negativo en los parmetros brow, nbit, wrow o drow se interpretar como nulo.

___________________________________________________________________________
2/99
B
2.11 Funciones "Orphe": desplazamientos, contador
2.11-1 Desplazamientos en palabras con recuperacin de bits desplazados
Las funciones efectan desplazamientos aritmticos a la izquierda o a la derecha en
una palabra o doble palabra (a) segn el nmero de desplazamientos indicado (nbit).

Despus del desplazamiento, el valor se almacena en (res) y los bits desplazados en


(rest).
WSHL_RBIT : desplazamiento a la izquierda en la palabra con recuperacin de
bits desplazados.
DSHL_RBIT : desplazamiento a la izquierda en la doble palabra con recuperacin
de bits desplazados.
WSHRZ_C : desplazamiento a la derecha en la palabra con relleno de ceros y
recuperacin de bits desplazados.
DSHRZ_C : desplazamiento a la derecha en la doble palabra con relleno de
ceros y recuperacin de bits desplazados.
WSHR_RBIT : desplazamiento a la derecha en la palabra con extensin de signo
y recuperacin de bits desplazados.
DSHR_RBIT : desplazamiento a la derecha en la doble palabra con extensin de
signo y recuperacin de bits desplazados.
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

OPERATE
LD TRUE
WSHL_RBIT(%MW20,%MW30,%MW21,%MW10) [WSHL_RBIT(%MW20,%MW30,%MW21,%MW10)]

OPERATE
LD TRUE
WSHRZ_C(%MW20,%MW30,%MW21,%MW10) [WSHRZ_C(%MW20,%MW30,%MW21,%MW10)]

OPERATE
LD TRUE
DSHR_RBIT(%MD30,%MW40,%MD20,%MD10) [DSHR_RBIT(%MD30,%MW40,%MD20,%MD10)]

Lenguaje Literal estructurado

WSHL_RBIT (%MW20,%MW30,%MW21,%MW10) ;

WSHRZ_C (%MW20,%MW30,%MW21,%MW10) ;

DSHR_RBIT (%MD30,%MW40,%MD20,%MD10) ;

___________________________________________________________________________
2/100
Descripcin de las instrucciones avanzadas 2

B
Ejemplo:
WSHL_RBIT(%MW20,%MW30,%MW21,%MW10) con %MW30 = 4
rest = %MW10 A = %MW20
0000 0000 0000 0001 0001 1111 0110 1000

Copia de bits desplazados


res = %MW21
1111 0110 1000 0000

Relleno de bits con ceros

WSHRZ_C(%MW20,%MW30,%MW21,%MW10) con %MW30 = 4


a = %MW20 rest = %MW10
1000 0000 1111 0001 0001 0000 0000 0000

Copia de bits desplazados


res = %MW21
0000 1000 0000 1111

Relleno de bits con ceros

DSHR_RBIT(%MD30,%MW40,%MD20,%MD10) con %MW40 = 6


a = %MD30 rest = %MD10
PF 1000 0000 1111 0001 0000 0000 0000 0000 PF

Pf 0000 0000 11 00 1111 0000 0000 00 00 1111 Pf

Copia de bits desplazados

res = %MD20
Conservacin del signo 1 111 11 10 0000 0011 PF

1100 0100 0000 0011 Pf


Propagacin del bit de signo en los
bits
liberados por el desplazamiento
Sintaxis
Operador WSHL_RBIT (a, nbit, res, rest)
WSHRZ_C (a, nbit, res, rest)
WSHR_RBIT (a, nbit, res, rest)
Operandos
Tipo a nbit res
rest
Palabras indexables %MW,%KW %MW,%KW, %Xi.T %MW
Palabras no indexables %IW, %QW, %IW, %QW, %QW,%SW,%NW
%SW, %NW %SW, %NW,
Valor inmediato Valor inmediato
Expr. numrica Expr. numrica
___________________________________________________________________________
2/101
B
Sintaxis
Operador DSHL_RBIT (a, nbit, res, rest)
DSHRZ_C (a, nbit, res, rest)
DSHR_RBIT (a, nbit, res, rest)

Operandos

Tipo a nbit res


rest
Dobles palabras indexables %MD,%KD %MD
Dobles palabras %ID,%QD,%SD %QD,%SD
no indexables Valor inmediato
Expr. numrica
Palabras indexables %MW, %KW, %Xi.T
Palabras no indexables %IW, %QW,
%SW, %NW,
Valor inmediato
Expr. numrica

Notas
Si el valor del parmetro (nbit) no se encuentra entre 1 y 16 para los desplazamientos en la
palabra, o entre 1 y 32 para los desplazamientos en la doble palabra, las salidas (res) y (rest)
no son significativas y el bit sistema %S18 se pone a 1.

___________________________________________________________________________
2/102
Descripcin de las instrucciones avanzadas 2

B
2.11-2 Contaje/descontaje con indicacin de rebasamiento
La funcin efecta un contaje/descontaje con indicacin de rebasamiento. Esta funcin
se ejecuta nicamente si la entrada de validacin (en) est en el estado 1.
Dos entradas separadas (cu y cd) permiten contar y descontar sucesos. La salida
(Qmn) se pone a 1 cuando se alcanza el umbral mnimo (mn). La salida (Qmx) se
pone a 1 cuando se alcanza el umbral mximo (mx).
El parmetro (pv) determina el valor inicial del contaje. El parmetro (cv) determina el
valor actual del contaje.
Una palabra de 16 bits (mwd) permite almacenar el estado de las entradas cu y cd (bit
0 para el almacenamiento de cu y bit 1 para el almacenamiento de cd).

Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

OPERATE LD TRUE
SCOUNT (%M9,%MW10,%M11,%M12,%MW11, [SCOUNT(%M9,%MW10,%M11,%M12,%MW11,
%MW12,%M16,%M10,%MW15,%MW20) %MW12,%M16,%M10,%MW15,%MW20)]

Lenguaje Literal estructurado

SCOUNT(%M9,%MW10,%M11,%M12,%MW11,%MW12,%M16,%M10,%MW15,%MW20) ;

Ejemplo:
SCOUNT (%M9,%MW10,%M11,%M12,%MW11,%MW12,%M16,%M10,%MW15,%MW20)
con %MW10 (pv) = 5, %MW11 (mn) = 0, %MW12 (mx) = 7

en : %M9

cd : %M12

mcd : %MW20:X1

cu : %M11

mcu : %MW20:X0

Qmax : %M10

Qmin : %M16

cv = %MW15 5 4 5 65 6 7 5
___________________________________________________________________________
2/103
B
Sintaxis
Operador SCOUNT (en, pv, cu, cd, mn, mx, Qmn, Qmx, cv, mwd)

Operandos
Tipo en, cu, cd Qmn, Qmx pv, mn, mx cv, mwd
Bits %I,%Q,%M,%S, %I,%Q,%M
%BLK,%.:Xk
Palabras indexables %MW,%KW, %Xi.T %MW
Palabras no %IW, %QW, %QW,%SW
indexables %SW, %NW, %NW
Valor inm.
Expr. numrica

Notas
Si (en) = 0, la funcin ya no es valida y en cada llamada hay:
Qmn = Qmx = 0
mcu = mcd = 0
cv = pv
Si mx > mn:
cv > mx ---> Qmx = 1 y Qmn = 0
mn < cv < mx ---> Qmx = Qmn = 0
cv < min ---> Qmx = 0 y Qmn = 1
Si mx < mn:
mx < cv < mn ---> Qmx = 1 y Qmn = 0
cv < mx ---> Qmx = 0 y Qmn = 1
cv > mn ---> Qmx = 1 y Qmn = 0
Si mx = mn:
cv < mn y mx ---> Qmx = 0 y Qmn = 1
cv > mn y mx ---> Qmx = 1 y Qmn = 0
Una modificacin del parmetro (pv) con (en) en el estado 1 no tiene ninguna incidencia en
el funcionamiento
Un valor negativo en los parmetros (pv) y (mn) se interpreta como un valor nulo.
Un valor inferior a 1 en el parmetro (mx) se interpreta como igual a 1.

___________________________________________________________________________
2/104
Descripcin de las instrucciones avanzadas 2

B
2.11-3 Desplazamientos circulares
Las funciones efectan desplazamientos circulares a la izquierda o a la derecha en
una palabra o una doble palabra.
ROLW: desplazamiento circular hacia la izquierda en una palabra con clculo de
nmero de desplazamientos
RORW: desplazamiento circular hacia la derecha en una palabra con clculo de
nmero de desplazamientos
ROLD: desplazamiento circular hacia la izquierda en una doble palabra con clculo
de nmero de desplazamientos
RORD: desplazamiento circular hacia la derecha en una doble palabra con clculo
de nmero de desplazamientos

Estructura

Lenguaje de contactos Lenguaje Lista de instrucciones

LD %M0
%M0
[%MW0:= ROLW(%MW10,%MW5)]
%MW0:=ROLW(%MF10,%MW5)

%I3.2 LD %I3.2
[%MD10:= RORD(%MD100,%MW5)]
%MD8:=RORD(%MD50,%MW5)

Lenguaje Literal estructurado

IF %M0 THEN
%MW0:= ROLW(%MW10,%MW5) ;
END_IF ;
IF %I3.2 THEN
%MD10:= RORD(%MD100,%MW5) ;
END_IF ;

___________________________________________________________________________
2/105
B
Sintaxis
Operadores
ROLW, RORW, ROLD, RORD Op1:=Operador(Op2,n)

Operandos ROLW, RORW,

Tipo Operando 1 (Op1) Operando 2 (Op2) Nmero de posicin(n)


Palabras indexables %MW %MW,%KW,%Xi.T %MW,%KW,%Xi.T
Palabras no indexables Val.inm.,%IW,%QW, Val.inm.,%IW,%QW,
%SW,%NW,%BLK %SW,%NW,%BLK
Expr. num. Expr. num.

Operandos ROLD, RORD

Tipo Operando 1 (Op1) Operando 2 (Op2) Nmero de posicin(n)


Palabras doble indexables %MD %MD,%KD %MW,%KW,%Xi.T
Palabras non indexables %QD,%SD, Val.inm.,%ID,%QD, Val.inm.,%IW,%QW,
%SD,Expr. num. %SW,%NW,%BLK
Expr. num.

Observacin
De preferencia, se utilizar las instrucciones de base ROL y ROR (cuando el nmero
de desplazamiento es esttico, ya que estas instrucciones son ms eficaces.

___________________________________________________________________________
2/106
Descripcin de las instrucciones avanzadas 2

B
2.12 Funciones de temporizacin

2.12-1 Generalidades

Estas funciones de temporizacin contrariamente a los bloques de funcin no estn


limitadas en nmero y se pueden utilizar en el cdigo de los bloques de funcin DFB.
Se proporcionan 4 funciones de temporizacin.
FTON: temporizacin de conexin
FTOF: temporizacin de desconexin
FTP: temporizacin de impulsin
FPULSOR: seal rectangular

2.12-2 Funcin de temporizacin de conexin FTON

Esta funcin permite manejar los retrasos de conexin. Este retraso puede programarse.

Sintaxis
Operador FTON (EN, PT, Q, ET, PRIV)

Caractersticas
Entrada EN En flanco ascendente inicia la temporizacin
"Activacin"
Valor de preseleccin PT Palabra de entrada que determina la duracin (en
centsimas de segundo) de la temporizacin. Permite
definir una duracin mxima de 5 min y 27 s con una
precisin de 10 ms. (1)
Salida "Temporizador" Q Salida puesta a 1 al final de la temporizacin.
Valoractual ET Palabra de salida que se incrementa de 0 a PT cuando
transcurrelatemporizacin.
Variabledeclculo PRIV Doble palabra para memorizacin de los estados
internos. Asociar a esta doble palabra una variable de la
aplicacinexclusivamentereservadaparaesteefecto.
(1) la modificacin de esta palabra surte efecto durante la temporizacin.

___________________________________________________________________________
2/107
B
En un flanco ascendente en la entrada
EN, el temporizador se activa: su valor
actual ET se incrementa de 0 a PT EN
(centsimo de segundo). El bit de salida
Q pasa a 1 cuando el valor actual alcanza
Q
PT, y luego permanece en 1 mientras la
entrada EN est en 1. PT
Cuando la entrada EN est en 0, el ET
temporizador se detiene, aunque est en
curso de evolucin : ET toma el valor 0.

Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones
%I1,2
OPERATE LD %I1.2
FTON (%I3.0,1000,%Q4.0,%MW2,%MD8)
[FTON(%I3.0,1000,%Q4.0,%MW2,%MD8)]

Lenguaje Literal estructurado

IF %I1.2 THEN
FTON (%I3.0,1000,%Q4.0,%MW2,%MD8) ;
END_IF ;

Operandos
FTON (EN, PT, Q, ET, PRIV)

Tipo EN PT Q ET PRIV
Palabras %MW,%KW,%Xi.T %MW
indexables
Palabras no %IW,%QW,%SW %IW,%QW
indexables Val. inm.,
Expr. num.,%NW
Dobles palabras %MD
indexables
Bits %I,%Q, %M, %S %I,%Q, %M,
%BLK,%:Xk,%X %S,%:Xk,%X

___________________________________________________________________________
2/108
Descripcin de las instrucciones avanzadas 2

B
2.12-3 Funcin de temporizacin de desconexin FTOF
Esta funcin permite manejar los retrasos en la desconexin. Este retraso puede
programarse.

Sintaxis
Operador FTOF (EN, PT, Q, ET, PRIV)

Caractersticas
Entrada EN En flanco ascendente inicia la temporizacin
"Activacin"
Valor de preseleccin PT Palabra de entrada que determina la duracin (en
centsimas de segundo) de la temporizacin. Permite
definir una duracin mxima de 5 min y 27 s con una
precisin de 10 ms. (1)
Salida "Temporizador" Q Salida puesta a 1 en flanco ascendente de EN y
puesta a cero al final de la temporizacin.
Valor actual ET Palabra de salida que se incrementa de 0 a PT
cuando transcurre la temporizacin.
Variabledeclculo PRIV Doble palabra para memorizacin de los estados
internos. Asociar a esta doble palabra una variable de la
aplicacinexclusivamentereservadaparaesteefecto.
(1) la modificacin de esta palabra surte efecto durante la temporizacin.

El valor actual ET toma el valor 0, en un


flanco ascendente de la entrada EN
(aunque el temporizador est en curso de EN
evolucin). El temporizador se activa en
flanco descendente en la entrada EN.
Luego, el valor actual se incrementa de 0 Q
a PT (centsimo de segundo). El bit de
PT
salida Q pasa a 1 cuando se detecta un
ET
flanco ascendente en la entrada EN y
vuelve a caer a 0 cuando el valor actual
alcanza PT.
Estructura
Lenguaje de contactos Lenguaje Literal estructurado
IF %I1.2 THEN
%I1,2 FTOF (%I3.0,1000,%Q4.0,%MW2,%MD8)
OPERATE
; FTOF (%I3.0,1000,%Q4.0,%MW2,%MD8)
END_IF ;

Operandos vase funcin FTON (captulo anterior).


___________________________________________________________________________
2/109
B
2.12-4 Funcin de temporizacin de impulsin FTP

Esta funcin permite elaborar una impulsin de duracin precisa. Esta duracin es
programable.

Sintaxis
Operador FTP (EN, PT, Q, ET, PRIV)

Caractersticas
Entrada EN En flanco ascendente inicia la temporizacin
"Activacin"
Valor de preseleccin PT Palabra de entrada que determina la duracin (en
centsimas de segundo) de la temporizacin. Permite
definir una duracin mxima de 5 min y 27 s con una
precisin de 10 ms. (1)
Salida "Temporizador" Q Salida puesta a 1 al final de la temporizacin.
Valor actual ET Palabra de salida que se incrementa de 0 a PT
cuando transcurre la temporizacin.
Variabledeclculo PRIV Doble palabra para memorizacin de los estados
internos. Asociar a esta doble palabra una variable de la
aplicacinexclusivamentereservadaparaesteefecto.
(1) la modificacin de esta palabra surte efecto durante la temporizacin.

En un flanco ascendente en la entrada


EN, el temporizador se activa: (si el
temporizador todava no est en curso de
evolucin) su valor actual ET se EN
incrementa de 0 a PT (centsima de
segundo). El bit de salida Q pasa a 1 Q
apenas se activa el temporizador y cae a
0 cuando el valor actual alcanza PT. PT
Cuando la entrada EN y la salida Q estn ET
a 0, PT toma el valor 0.
Este monostable no puede reactivarse.

Estructura
Lenguaje de contactos Lenguaje Literal estructurado
IF %I1.2 THEN
%I1,2 FTP (%I3.0,1000,%Q4.0,%MW2,%MD8) ;
OPERATE
FTP (%I3.0,1000,%Q4.0,%MW2,%MD8) END_IF ;

Operandos vase funcin FTON (captulo anterior).


___________________________________________________________________________
2/110
Descripcin de las instrucciones avanzadas 2

B
2.12-5 Funcin generador de seal rectangular FPULSOR
Esta funcin permite generar una seal rectangular peridica cuyo ancho de intervalo
a 1 y de intervalo a 0 se puede hacer variar con el programa mediante 2 temporizadores:
TON: temporizacin a la subida (para el intervalo a 1).
TOFF: temporizacin a la bajada (para el intervalo a 0).

Sintaxis
Operador FPULSOR (EN, TON, TOFF, Q, ET, PRIV)

Caractersticas

Entrada EN En flanco rectangular, inicia la generacin de


"Activacin" la seal rectangular.
Valor de preseleccin TON Palabra de entrada que determina la duracin
(intervalo a 1) en centsimas de segundo) del intervalo a 1. Permite
definir una duracin mxima de 5 min y 27 s con una
precisin de 10 ms. (1)
Valor de preseleccin TOFF Palabra de entrada que determina la duracin
(intervalo a 0) en centsimas de segundo) del intervalo a 0. Permite
definir una duracin mxima de 5 min y 27 s con una
precisin de 10 ms. (1)
Salida seal rectangular Q Salida intervalo a 0 en la duracin TOFF, a 1 en la
duracin TON.
Valor actual ET Palabra de salida que se incrementa de 0 a TON+TOFF
cuando transcurre el temporizador.
Variabledeclculo PRIV Doblepalabraparamemorizacindelosestadosinternos.
Asociar a esta doble palabra una variable de la aplicacin
exclusivamente reservada para este efecto.
(1) la modificacin de estas palabras surte efecto durante la temporizacin. La suma TOFF+TON
tiene una duracin mxima de 5 min y 27 s.

En un flanco montante en la entrada EN,


se inicia la generacin de la seal
rectangular: (si la seal todava no est en
curso de evolucin) su valor actual ET se
TOFF TOFF TOFF
incrementa de 0 hacia TON+TOFF
(centsimas de segundo). El bit de la TON TON
TON+TOFF
salida Q permanece en 0 mientras no
haya transcurrido la temporizacin TOFF;
pasa a 1 y permanece en 1 durante la
temporizacin TON, y vuelve a pasar a 0
mientras la temporizacin TOFF no haya
transcurrido, etc , y ello hasta que la entrada
EN vuelva a pasar a 0.

___________________________________________________________________________
2/111
B
Estructura
Lenguaje de contactos Lenguaje Lista de instrucciones

LD True
OPERATE
PULSOR (%I3.0,500,200,%Q4.0,%MW2,%MD8)
[FPULSOR %I3.0,500,200,%Q4.0,%MW2,
%MD8)]

Lenguaje Literal estructurado

IF %I1.2 THEN
FPULSOR (%I3.0,500,200,%Q4.0,%MW2,%MD8) ;
END_IF ;

Operandos
FPULSOR (EN, TON, TOFF, Q, ET, PRIV)

Tipo EN TON,TOFF Q ET PRIV


Palabras indexables %MW,%KW,%Xi.T %MW
Palabras no %IW,%QW,%SW %IW,%QW
indexables Val. inm.
Expr. num.,%NW
Dobles palabras %MD
indexables
Bits %I,%Q, %M, %S %I,%Q, %M,
%BLK,%:Xk,%X %S,%:Xk,%X

___________________________________________________________________________
2/112
Descripcin de las instrucciones avanzadas 2

B
2.13 Funciones de archivado de datos

2.13-1 Generalidades
Estas funciones permiten archivar datos por programa en un rea dedicada de la
tarjeta de memoria del usuario.

Ejemplos de aplicacin:
almacenamiento automtico, datos (consignaciones de estado, registros, ...) de la
aplicacin en la tarjeta de memoria de usuario del autmata y envo de los datos a
travs de teletransmisin (va mdem) hacia el sitio central.
copia de seguridad de las validaciones de produccin en la tarjeta de memoria
usuario del autmata.

Referencia de las tarjetas de memoria que garantizan la funcin adicional de


archivado delos datos:
Referencias Tipo/Capacidad Compatibilidad de procesadores

Area de Area TSX P57 102 TSX P57 2i2 TSX P57 3i2
programa de TPMX P57 102 TPMX P57 202 TSX P57 4i2
de aplicacin archivado TPCX 57 1012 TPMX P57 352
(tipo RAM) TSX 37 21/22 TPMX P57 452
TPCX 57 3512
TSX MRP 232P RAM/32 K16 128K16 S S S

TSX MRP 264P RAM/64 K16 128K16 S S S

TSX MRP 2128P RAM/128 K16 128K16 No S S

TSX MRP 3256P RAM/256 K16 640K16 No S S

TSX MFP 232P Flash Eprom/ 128K16 S S S


32 K16

TSX MFP 264P Flash Eprom/ 128K16 S S S


64K16
Nota: 10 palabras del rea dedicada de archivado son reservadas por el sistema.
Tres funciones permiten el archivado y la restitucin de los datos:
SET_PCMCIA para inicializar a un valor todo o parte del rea de archivado de la
tarjeta de memoria
WRITE_PCMCIA para escribir los datos en el rea de archivado de la tarjeta de
memoria
REDIR_PCMCIA para leer los datos en el rea de archivado de la tarjeta de memoria
Nota: el acceso a los datos almacenados en el rea de archivado de la tarjeta de memoria
slo es posible desde la aplicacin residente en el autmata a travs de estas 3 funciones
de base. En ningn caso una estacin remota puede acceder a ella directamente a travs
de la red o de un bus de comunicacin.
___________________________________________________________________________
2/113
B
2.13-2 Inicializacin del rea de archivado
La funcin SET_PCMCIA permite inicializar en el valor deseado toda o parte del rea
de archivado de la tarjeta de memoria del usuario.

Esta funcin utiliza 4 parmetros:


direccin: direccin del rea de archivado a partir de la cual se efecta la
inicializacin
n_palabras: nmero de las palabras a inicializar
valor: valor de inicializacin
estado: cdigo que proporciona el resultado de la ejecucin del comando de
inicializacin.
Tarjeta de memoria del usuario

1500
100
100

SET_PCMCIA
100
100 1529

En el ejemplo anterior:
direccin = %MD0 , %MD0 que contiene el valor 1500
n_palabras = %MW5, %MW5 que contiene el valor 30
origen= %MW10, %MW10 que contiene el valor 100

Estructura
Lenguaje de contactos Lenguaje lista de instrucciones

%I1,3 LDR %I1.3


OPERATE [SET_PCMCIA (%MD0, %MW5,
P SET_PCMCIA(%MD0, %MW5, %MW10,%MW2)
%MW10,%MW2)]

Lenguaje literal

IF RE %I1.3 THEN
SET_PCMCIA (%MD0, %MW5,
%MW10,%MW2);
END_IF;

___________________________________________________________________________
2/114
Descripcin de las instrucciones avanzadas 2

Sintaxis
Funcin SET_PCMCIA (direccin,n_palabras,valor, estado)

Parmetros
Tipo direccin n_palabras valor estado
Palabras indexables %MW %MW %MW
Val. inmed. Val. inmed.
Palabras no indexables %QW,%SW,%NW
Palabras dobles indexables %MD,
Val. inmed.

Palabras dobles no indexables %QD,%SD

Codificacin del parmetro estado devuelto despus de la ejecucin del comando de


inicializacin
Valor (en hexadecimal) Significado
0000 inicializacin correctamente efectuada
0201 sin rea de archivo en la tarjeta de memoria
0202 falla en la tarjeta de memoria
0204 tarjeta de memoria protegida contra escritura
0241 direccin negativa
0242 direccin + N_palabras-1 > a la direccin ms alta de la
tarjeta de memoria
0401 N_palabras= 0 o negativo

___________________________________________________________________________
2/115
B
2.13-3 Escritura de los datos en el rea de archivado
La funcin WRITE_PCMCIA permite transferir datos de la memoria RAM del autmata
(palabras %MW) en la rea de archivado de la tarjeta de memoria del usuario.
Esta funcin utiliza 4 parmetros:

WRITE_PCMCIA (dir_des, n_palabras, origen, estado)

dir_des: direccin del rea de archivado a partir de la cual se almacenarn los datos
n_palabras: nmero de palabras a almacenar
origen: palabra que contiene la direccin de inicio del rea a transferir en la tarjeta
de memoria
estado: cdigo que proporciona el resultado del comando de escritura.

Memoria RAM del autmata Tarjeta de memoria del usuario

%MW40
WRITE_PCMCIA

%MW69
1500

1529

En el ejemplo anterior:
dir_des = %MD0 , %MD0 contiene el valor 1500
n_palabras = %MW5, %MW5 contiene el valor 30
origen = %MW20 contiene el valor 40

Estructura
Lenguaje de contactos Lenguaje lista de instrucciones
%I1,3
OPERATE LDR %I1.3
P WRITE_PCMCIA(%MD0, %MW5, %MW20,%MW2) [WRITE_PCMCIA (%MD0, %MW5,
%MW20,%MW2)]

Lenguaje literal

IF RE %I1.3 THEN
WRITE_PCMCIA (%MD0, %MW5,
%MW20,%MW2);
END_IF;

___________________________________________________________________________
2/116
Descripcin de las instrucciones avanzadas 2

Sintaxis
Funcin WRITE_PCMCIA (dir_des, n_palabras, origen, estado)

Parmetros
Tipo dir_des n_palabras origen estado
Palabras indexables %MW %MW %MW
Val. inmed. Val. inmed.
Palabras no indexables %QW,%SW,%NW
Palabras dobles indexables %MD,
Val. inmed.

Palabras dobles no indexables %QD,%SD

Codificacin del parmetro estado devuelto despus de la ejecucin del comando de


escritura:
Valor (en hexadecimal) Significado
0000 escritura correctamente efectuada
0102 origen + N_palabras-1 > nmero mximo de %MW
dclarado en el autmata
0104 ninguna aplicacin vlida o ningn %MW en el autmata
0201 sin rea de archivo en la tarjeta de memoria
0202 falla de tarjeta de memoria
0204 tarjeta de memoria protegida contra escritura
0241 dir_des < 0
0242 dir_des + N_palabras-1 > la direccin ms alta de la tarjeta
de memoria
0401 N_palabras= 0

___________________________________________________________________________
2/117
B
2.13-4 Lectura de los datos en el rea de archivado
La funcin REDIR_PCMCIA permite transferir datos del rea de archivado de la tarjeta
de memoria del usuario en la memoria RAM del autmata (palabras %MW).
Esta funcin utiliza 4 parmetros:

REDIR_PCMCIA (dir_origen, n_palabras, dest, estado)

dir_origen: direccin de la rea de archivado en la cual se almacenan los datos a


leer
n_palabras: nmero de palabras a leer
dest: palabra que contiene la direccin de inicio del rea transferida por la tarjeta
de memoria
estado: cdigo que proporciona el resultado de la ejecucin del comando de lectura.

Memoria RAM del autmata Tarjeta de memoria del usuario

%MW40
REDIR_PCMCIA

%MW69
1500

1529

En el ejemplo anterior:
dir_origen = %MD0 , %MD0 que contiene el valor 1500
n_palabras = %MW5, %MW5 que contiene el valor 30
dest = %MW20 que contiene el valor 40

Estructura
Lenguaje de contactos Lenguaje lista de instrucciones
%I1,4
OPERATE LDR %I1.4
P READ_PCMCIA(%MD0, %MW5, %MW20,%MW2) [REDIR_PCMCIA (%MD0, %MW5,
%MW20,%MW2)]

Lenguaje literal

IF RE %I1.4 THEN
REDIR_PCMCIA (%MD0, %MW5,
%MW20,%MW2);
END_IF;

___________________________________________________________________________
2/118
Descripcin de las instrucciones avanzadas 2

B
Sintaxis
Funcin REDIR_PCMCIA (dir_origen, n_palabras,dest, estado)

Parmetros
Tipo dir_origen n_palabras dest estado
Palabras indexables %MW %MW %MW
Val. immd. Val. immd.
Palabras no indexables %QW,%SW,%NW
Palabras dobles indexables %MD,
Val. immd.

Palabras dobles no indexables %QD,%SD

Codificacin del parmetro estado devuelto despus de la ejecucin del comando de


escritura:
Valor (en hexadecimal) Significado
0000 lectura correctamente efectuada
0102 dest + N_palabras-1 > nmero mximo de %MW declarado
en el autmata
0104 ninguna aplicacin vlida o ningn %MW en el autmata
0201 sin rea de archivo en la tarjeta de memoria
0202 falla de tarjeta de memoria
0204 tarjeta de memoria protegida contra escritura
0241 dir_origen < 0
0242 dir_origen + N_palabras-1 > la direccin ms alta de la
tarjeta de memoria
0401 N_palabras= 0

___________________________________________________________________________
2/119
NOTAS:

S
Captulo
Bits y palabras del sistema 33
3 Bits y palabras del sistema
B
3.1 Bits del sistema
3.1-1 Lista de bits del sistema
Bit Funcin Est. inicial Gestin(1)

%S0 1 = arranque en fro (reanudacin de la 0 S o U->S


alimentacin con prdida de datos) B
%S1 1 = rearranque en caliente (reanudacin de 0 S o U->S
la alimentacin sin prdida de datos)
%S4,%S5,
%S6,%S7 Base de tiempo 10 ms, 100 ms, 1 s, 1 min - S

%S8 (2) Prueba del cableado 1 U


(utilizable en un autmata TSX 37 no configurado)

%S9 1 = forzado al retorno de las salidas autmata 0 U


%S10 0 = falla entradas/salidas 1 S

%S11 1 = rebasamiento watchdog 0 S

%S13 1 = primer ciclo despus de la puesta a RUN - S

%S15 1 = falla cadena de caracteres 0 S->U


%S16 0 = falla E/S tarea 1 S->U

%S17 1 = rebasamiento de capacidad 0 S->U

%S18 1 = rebasamiento o error aritmtico 0 S->U


%S19 1 = rebasamiento de perodo tarea 0 S->U

%S20 1 = rebasamiento de ndice 0 S->U

%S21 1 = inicializacin del Grafcet 0 S o U->S

%S22 1 = puesta a cero del Grafcet 0 U->S


%S23 1 = preposicionamiento e inmovilizacin del Grafcet 0 U

%S24 (3) 1 = puesta a 0 de macroetapas en funcin de 0 U->S


%SW22 a25

%S26 1 = rebasamiento de tablas (etapas/transiciones) 0 S

%S30 1 = activacin de la tarea maestra 1 U


%S31 1 = activacin de la tarea rpida 1 U

%S38 1 = validacin de sucesos 1 U

%S39 1 = saturacin en el tratamiento de sucesos 0 S->U

%S40 a %S47 0 = Falla E/S de un rack TSX 57 1 S

%S49 1 =reactivacin salidas estticas disyuntadas 0 U

%S50 1 = Actualizacin de la fecha y hora 0 U


(1) (2) y (3) vase pgina siguiente.
___________________________________________________________________________
3/1
B
Bit Funcin Est. inic. Gestin(1)

%S51 1 = puesta en hora del reloj-calendario 0 S


%S59 1 = validacin del ajuste de la fecha actual 0 U
%S60 Comando de la arquitectura redundante 0 U o U->S
%S66 (2) 1 = indicador visual de la batera siempre apagado 0 U
%S67 0 = pila de la tarjeta de memoria en servicio - S
%S68 0 = pila de guardado (procesador) en servicio - S
%S69 (2) 1 = validacin del modo de visualizacin 0 U
memoria "WORD" en los visualizadores
%S70 1 = actualizacin de los datos en el bus As-i o 0 S->U
enlace TSX Nano
%S73 (2) 1 = paso al modo protegido en el bus AS-i 0 U->S
%S74 (2) 1 = guardado configuracin presente en el bus AS-i 0 U->S
%S80 1 = reinicializacin de los contadores de mensajes 0 U->S
%S90 1 = actualizacin de las palabras comunes 0 S->U
%S92 1 = paso a modo de medicin de rendimiento
de las funciones de comunicacin 0 U
%S94 (3) 1 = guardado de los valores de ajuste de bloques 0 U->S
DFB
%S95 (3) 1 = restitucin de los valores de ajuste de bloques 0 U->S
DFB
%S96 (2) 0 = guardado del programa de aplicacin no vlido - S
1 = guardado del programa de aplicacin vlido
%S97 (2) 0 = guardado de los %MW no vlido - S
1 = guardado de los %MW vlido
%S98 (2) 1 = sustitucin del botn del acoplador 0 U
TSX SAZ 10 por una entrada TON
%S99 (2) 1 = sustitucin del botn del bloque de visualizacin 0 U
centralizada por una entrada TON
%S100 1 = restitucin de los valores de ajuste de los - S
bloques DFB
%S101 1 = buffer de diagnstico configurado - S
%S102 1 = buffer de diagnstico lleno - S
%S118 0 = falla de E/S FIPIO 1 S
%S119 0 = falla de E/S en rack 1 S

(1) S = administrado por el sistema, U = administrado por el usuario, U->S = puesto a 1 por el
usuario, puesto a 0 por el sistema, S->U = puesto a 1 por el sistema, puesto a 0 por el usuario.
(2) nicamente en el TSX 37.
(3) nicamente en los TSX/PMX/PCX 57.
___________________________________________________________________________
3/2
Bits y palabras del sistema 3

B
3.1-2 Descripcin detallada de bits del sistema
Los autmatas TSX 37 y TSX 57 disponen de bits sistema %Si que indican los estados
del autmata o le permiten actuar sobre el funcionamiento del mismo.
Estos bits pueden probarse en el programa de usuario con el fin de detectar todos los
eventos de funcionamiento antes de realizar un procedimiento determinado de B
tratamiento. Algunos de ellos deben ser inicializados a su estado inicial o normal por
el programa. Por tanto, los bits sistema que son reiniciados con su valor inicia o normal
por el sistema no deben ser reiniciados por el programa o el terminal.

Bits Funcin Designacin


sistema
%S0 Rearranque Normalmente a estado 0, es puesto a estado 1 por:
en fro reinicio de sector con parte de datos (batera por defecto),
programa usuario,
terminal,
cambio de tarjeta de memoria,
pulsar el botn RESET.
Este bit es puesto a 1 durante el primer ciclo completo. Se pone
a 0 de nuevo antes del ciclo siguiente.
Funcionamiento : vase seccin A, captulo 1.4.
%S1 Rearranque Normalmente a estado 0, es puesto a estado 1 por:
en caliente reinicio de sector con guardado de datos,
programa usuario,
terminal.
Se pone de nuevo a 0 por el sistema al final del primer ciclo
completo y antes del ajuste de las salidas.
Funcionamiento : vase seccin A, captulo 1.4.
Bases Bits cuyo cambio de estado es regulado por un reloj interno.
de tiempo Son asncronos respecto al ciclo del autmata.
%S4 10 ms
%S5 100 ms
%S6 1s Ejemplo: %S4
%S7 1 min
5ms 5ms
%S8 Prueba del Normalmente en el estado 1, este bit se utiliza para comprobar
cableado el cableado cuando el autmata TSX 37 est "no configurado"
estado 1: las salidas se fuerzan a 0,
estado 0: las salidas pueden modificarse desde un terminal
de ajuste.

%S9 Puesta a la Normalmente en el estado 0. Puede ponerse a 1 desde el


posicin de programa o el terminal:
retorno de las estado 1: fuerza a la posicin de retorno de salidas del
salidas en autmata, (bus X, FIPIO, AS-i)
todos los bus estado 0: las salidas se actualizan normalmente.

%S10 Falla Normalmente en el estado 1. Puede ponerse a 0 cuando se


detecta una falla de 'E/S de un mdulo en rack o de un mdulo
distante (FIPIO) (configuracin no conforme, falla de inter-
cambio, falla hardware). El bit %S10 se pone a 1 apenas
desaparece la falla.
___________________________________________________________________________
3/3
B
Bits Funcin Designacin
sistema

%S11 Rebasa- Normalmente en el estado 0. El sistema lo pone a 1 cuando el


miento del tiempo de ejecucin de una tarea es superior al tiempo
watchdog de ejecucin mximo (watchdog) declarado en la configuracin.
El rebasamiento del watchdog tiene como consecuencia el
paso a STOP del autmata; la aplicacin se detiene
(indicador ERR intermitente).

%S13 Primer Normalmente en el estado 0. El sistema lo pone a 1 durante el


ciclo primer ciclo despus de la puesta a RUN del autmata.

%S15 Falla Normalmente en el estado 0. Se pone a 1 cuando el rea


cadena de destino de una transferencia de cadena de caracteres no tiene
caracteres el tamao suficiente para recibir la cadena. El usuario debe
poner este bit a 0.

%S16 Falla de E/S Normalmente en estado 1. El sistema lo pone a 0 cuando


tarea ocurre una falla de un mdulo de E/S en rack o remoto en
FIPIO configurado en la tarea. El usuario debe poner
este bit a 1. Cada tarea maneja su propio bit %S16.

%S17 Bit salido en Normalmente en el estado 0. El sistema lo pone a 1:


desplazamiento durante un desplazamiento que contiene el estado del ltimo
o informe bit,
aritmtico rebasamiento en aritmtica sin signo (fechas).
El usuario debe poner este bit a 0.
%S18 Rebasamiento Normalmente en el estado 0. Se pone a 1 en caso de rebasa-
o error miento de capacidad durante una operacin en 16 bits, es decir
aritmtico resultado superior a + 32767 o inferior a - 32768, en simple
longitud,
resultado superior a + 2 147 483 647
o inferior a - 2 147 483 648, en doble longitud,
resultado superior a +3.402824E+38 o inferior a
-3.402824E+38, en flotante (versin software > 1.0),
divisin por 0,
raz de un nmero negativo,
forzado a un paso inexistente en un programador cclico,
apilamiento de un registro lleno, desapilamiento de un registro
vaco,
Debe ser probado por el programa de usuario despus de cada
operacin que presenta un riesgo de rebasamiento. Si ste
ocurre, el usuario debe poner el bit a 0.

%S19 Rebasamiento Normalmente en el estado 0. El sistema pone este bit a 1 en


perodo caso de rebasamiento del perodo de ejecucin (tiempo de
de tarea ejecucin de la tarea superior al perodo definido por el usuario
(exploracin en la configuracin o programado en la palabra %SW asociada
peridica) a la tarea). El usuario repone este bit a 0.
Cada tarea efecta la gestin de su propio bit %S19.

___________________________________________________________________________
3/4
Bits y palabras del sistema 3

B
Bits Funcin Designacin
sistema
%S20 Rebasamiento Normalmente en el estado 0. Se pone a 1 cuando la direccin del
de ndice objeto indexado es inferior a 0 o excede el nmero de
objetos declarados en la configuracin. Debe ser probado por el
programa de usuario despus de cada operacin que presenta B
un riesgo de rebasamiento; si ste ocurre, el bit se pone a 0.
%S21 Inicializacin El usuario efecta la gestin de este bit para inicializar el
Grafcet (puesta a 1, de preferencia en el tratamiento
preliminar). El sistema lo pone a 0 despus de inicializar
Grafcet (al fin del tratamiento preliminar, al evaluar el nuevo
estado del Grafcet). La inicializacin del Grafcet consiste en
desactivar todas las etapas activas y activar etapas iniciales.
Al arrancar en fro, el sistema pone este bit a 1 durante el
tratamiento preliminar.
%S22 Puesta a Normalmente en el estado 0. El programa puede poner este bit a
cero del 1 nicamente en el tratamiento preliminar. En el estado 1, desac-
Grafcet tiva todas las etapas del Grafcet. El Sistema lo pone a 0 des-
pus de la toma en cuenta al final del tratamiento preliminar.
%S23 Inmovilizacin Normalmente en el estado 0. La puesta a 1 de %S23 tiene
del Grafcet como consecuencia la conservacin del estado de los Grafcet.
Cualquier que sea el valor de las receptividades debajo de las
etapas activas, los Grafcet no evolucionan. La inmovilizacin se
mantiene mientras el bit %S23 est a 1. El programa de usuario
efecta la gestin de este bit; se pone a 1 o a 0 nicamente en
el tratamiento preliminar.
%S24 Puesta a cero Normalmente en el estado 0. La puesta a 1 de %S24 tiene
de las como consecuencia la puesta a cero de las macroetapas
etapas elegidas en la tabla de 4 palabras sistema %SW22 a %SW25. El
sistema lo vuelve a poner a 0 despus de tomar en cuenta el fin
del tratamiento preliminar.
%S26 Rebasamiento Normalmente en el estado 0. El sistema pone este bit a 1 cuando
de tablas las posibilidades de activacin (etapas o transiciones) se
(etapas/ excedeno cuando se ejecuta un grfico incorrecto (remisin de
transiciones) destino en una etapa que no pertenece al grfico). Un
rebasamiento tiene como consecuencia el paso a STOP del
autmata. Este bit se pone a 0 al inicializar el terminal.
%S30 Activacin/ Normalmente en el estado 1. Cuando el usuario lo pone a 0, la
desactivacin tarea maestra se desactiva.
tarea maestra
%S31 Activacin Normalmente en el estado 1. Cuando el usuario lo pone a 0, la
tarea rpida tarea rpida se desactiva.
%S38 Validacin/ Normalmente en el estado 1. Cuando el usuario lo pone a 0, los
inhibicin sucesos se inhiben.
sucesos
%S39 Saturacin El sistema pone este bit a 1 para indicar que es imposible tratar
en el trata- uno o varios sucesos por causa de saturacin de las colas de
miento de espera.
sucesos El usuario vuelve a situar este bit a 0.
___________________________________________________________________________
3/5
B
Bits Funcin Designacin
sistema
% S40 Falla E/S Los bits %S40 a %S47 se asignan respectivamente a los racks
a (racks) (1) 0 a 7. Normalmente en el estado 1, cada bit pasa a 0 al produ-
%S47 estticas cirse una falla de E/S del rack correspondiente.
desconectadas El bit se pone a 1 al desaparecer la falla.
%S49 Reactivacin Normalmente en el estado 0. El usuario puede ponerlo a 1 para
de salidas (2) solicitar la reactivacin cada 10 s desde la aparicin de la falla
de las salidas estticas desconectadas por causa de sobrein-
tensidad o de cortocircuito.
%S50 Actualizacin Normalmente en el estado 0. Puede ponerse a 1 o a 0 va
de la fecha y programa o va terminal:
hora mediante en el estado 0: acceso a la fecha y hora mediante la lectura
las palabras de las palabras sistema %SW50 a 53,
%SW50 a 53 en el estado 1: actualizacin de la fecha y la hora mediante la
escritura de las palabras sistema %SW50 a 53.
%S51 Prdida de Este bit, de cuya gestin se encarga el sistema, indica el estado
la hora del 1 cuando el reloj-calendario est ausente o cuando las palabras
reloj-calendario sistema relativas al reloj-calendario no son significativas; en
este caso es necesario ajustar la hora, con lo que el bit pasa
a 0 automticamente.
%S59 Actualizacin Normalmente en el estado 0. Puede ponerse a 1 o a 0 desde el
de la fecha y programa o el terminal:
hora mediante en el estado 0: el sist. no efecta la gestin de la pal. sist.
la palabra SW59,
%SW59 en el estado 1: el sistema efecta la gestin de los flancos en
la palabra %SW59 para ajustar la fecha y hora
(por incrementos).
%S60 Comando de bit del sistema utilizado en el caso de una instalacin de una
la arquitectura arquitectura redundante (vase designacin y utilizacin en el
redundante manual de "arquitectura Premium redundante").
%S66 Gestin del Normalmente en el estado 0. Puede ponerse a 1 o a 0 va
(1) indicador de programa o va terminal. Sirve para que se encienda o no el
la batera indicador luminoso de la batera, en caso de falle la pila de salv.:
en el estado 0: se enciende el indicador de la batera cuando
falta la pila de guardado o est en falla
en el estado 1: el indicador de la batera est siempre
apagado.Al producirse un rearranque en fro, el sistema pone
%S66 a 0.
%S67 Estado Permite controlar el estado de funcionamiento de la pila de
pila respaldo de la tarjeta de memoria RAM:
tarjeta memoria en el estado 0: batera presente y en servicio,
en el estado 1: batera ausente o fuera de servicio.
%S68 Estado Permite controlar el estado de funcionamiento de la batera de
pila respaldo de datos y del programa en la memoria RAM:
procesador en el estado 0: batera presente y en servicio,
en el estado 1: batera ausente o fuera de servicio.
(1) Slo en los autmatas TSX/PMX/PCX 57.
___________________________________________________________________________
(2) Slo en el autmata TSX 37.
3/6
Bits y palabras del sistema 3

B
Bits Sist. Funcin Designacin
%S69 Visualizacin Normalmente en el estado 0. Puede ponerse a 1 o a 0 desde el
datos de programa o el terminal:
usuario en en el estado 0: visualizacin de los estados de E/S en los
indicadores indicadores del autmata (indicador WRD apagado),
de autmata en el estado 1: visualizacin de los datos de usuario (indica- B
dor WRD encendido). (Vase las palabras %SW67,68 y 69.)
%S70 Actualizacin El sistema pone este bit a 1 en cada fin de ciclo del enlace
de los datos TSX Nano o de exploracin del bus AS-i. Al conectar la potencia,
en el bus AS-i indica que se han actualizado todos los datos al menos una vez
o enlace TSX y que, por consiguiente, son significativos. El usuario vuelve a
Nano situar este bit a 0.
%S73 Paso al modo Normalmente en el estado 0. El usuario pone en 1 este bit para
protegido pasar al modo protegido en el bus AS-i. Previamente, el bit
en el bus AS-i %S74 deber encontrarse en el estado 1. Este bit slo se utiliza
durante las comprobaciones de cableado, carece de aplicacin
en el autmata.
%S74 Guardado Normalmente en el estado 0. El usuario pone en 1 este bit para
configuracinactivar la guardado de la configuracin presente en el bus
presente AS-i. Este bit slo se utiliza durante las comprobaciones de
en el bus AS-i
cableado, carece de aplicacin en el autmata.
%S80 Puesta a 0 Normalmente en el estado 0. El usuario puede ponerlo a 1 para
contadores poner a cero los contadores de mensajes %SW80 a
de mensajes %SW86.
%S90 ActualizacinNormalmente en el estado 0. Se pone a 1 al recibir palabras
de palabras comunes provenientes de otra estacin en la red.
comunes Puede ponerse a 0 desde el programa o el terminal para
verificar el ciclo de intercambio de palabras comunes.
%S92 Paso en modo Normalmente en el estado 0, este bit puede ser puesto a 1 por el
medida de usuario para posicionar las funciones de comunicacin en modo
funcin de medicin de rendimiento. El parmetro Time-out de las
comunicacin funciones de comunicacin muestra entonces el tiempo de
intercambio ida y vuelta en decena de ms si ese tiempo <10s,
sino no significativo).
%S94 Guardado de Normalmente en el estado 0. El usuario puede ponerlo a 1 para
los ajustes DFB guardar los valores de ajuste de los bloques de funcin usuario.
%S95 Restitucin de Normalmente en el estado 0. El usuario puede ponerlo a 1 para
los ajustes DFB restituir los valores de ajuste de los bloques de funcin del
usuario.
%S96 Validez de la 0 -> guardado del programa de aplicacin no vlido,
guardado 1 -> guardado del programa de aplicacin vlido.
del programa Este bit es accesible en lectura en todo momento (va programa
de aplicacin o en ajuste) y, concretamente, despus de un rearranque en fro
o en caliente. Resulta significativo respecto a una aplicacin de
memoria de seguridad realizada mediante PL7 en la Flash
EPROM interna.
%S97 Validez de la 0 -> guardado de los %MW no vlido,
guardado 1 -> guardado de los %MW vlido.
de los %MW Este bit es accesible en lectura en todo momento (va programa
o en ajuste) y, concretamente, despus de un rearranque en fro
o en caliente.
%S98 Desplazamiento Normalmente en el estado 0. Este bit lo administra el usuario:
del botn del 0 -> botn del acoplador TSX SAZ 10 activo,
acoplador 1 -> botn, del acoplador TSX SAZ 10, sustituido por una
TSX SAZ 10 entrada TON (vase %SW98).
___________________________________________________________________________
3/7
B
Bits Funcin Designacin
sistema
%S99 Desplazamiento Normalmente en el estado 0. Este bit lo administra el usuario:
del botn del 0 -> botn del bloque de visualizacin centralizada activo,
bloque de 1 -> botn pulsador, del bloque de visualizacin centralizada,
visualizacin sustituido por una entrada TON (vase la palabra %SW99).
%S100 Protocolo El sistema lo pone a 0 o a 1 segn el estado del shunt INL/DPT
toma en la toma de consola:
terminal si el shunt est ausente (%S100=0), se utiliza el protocolo
UNITELWAY maestro,
si el shunt est presente (%S100=1), se utiliza el protocolo
indicado por la configuracin de la aplicacin.
%S101 Buffer de Este bit es puesto a 1 por el sistema cuando la opcin de diagnstico
diagnstico est configurada, un buffer de diagnstico destinado al
configurado almacenamiento de los errores, procedentes de los DFB de
diagnstico, se reserva entonces.
%S102 Buffer de Este bit es puesto a 1 por el sistema cuando el buffer
diagnstico que recibe los errores de los bloques de funcin de diagnstico est
lleno lleno.
%S118 Falla general Normalmente a 1, el sistema pone estos bits a 0 cuando
de E/S FIPIO aparece una falla en un equipo conectado en el bus FIPIO.
Cuando la falla desaparece, el sistema vuelve a poner este bit 1.
%S119 Falla general Normalmente a 1, el sistema pone a 0 estos bits de E/S en rack
de entradas/ cuando ocurre una falla en mdulo de E/S implantado en uno de
salidas en los racks.
Rack Cuando la falla desaparece, el sistema vuelve a poner este bit a 1.

___________________________________________________________________________
3/8
Bits y palabras del sistema 3

B
3.2 Palabras del sistema
3.2-1 Lista de palabras del sistema
Palabra Funcin Gestin(1)
%SW0 Valor del perodo de la tarea maestra (en func. peridico) U
%SW1 Valor del perodo de la tarea rpida (en func. peridico) U B
%SW8 Control de la adquisicin de las entradas de cada tarea U
%SW9 Control de la actualizacin de las salidas de cada tarea U
%SW10 Primer ciclo despus del arranque en fro S
%SW11 Duracin del watchdog S
%SW12 Direccin UNI_TELWAY conector terminal S
%SW13 Direccin principal de la estacin S
%SW17 Estado de falla en la operacin flotante SyU
%SD18 Contador de tiempo absoluto SyU
%SW20 Nmero de etapas activas, por activar y desactivar S
%SW21 Nmero de transiciones vlidas, por validar e invalidar S
%SW22 a Tabla de 4 palabras que permite designar las macroetapas U
%SW25 (2) que se deben poner a 1 del bit %S24.
%SW30 Tiempo de ejecucin del ltimo ciclo de la tarea maestra S
%SW31 Tiempo de ciclo mximo de la tarea maestra S
%SW32 Tiempo de ciclo mnimo de la tarea maestra S
%SW33 Tiempo de ejecucin del ltimo ciclo de la tarea rpida S
%SW34 Tiempo de ciclo mximo de la tarea rpida S
%SW35 Tiempo de ciclo mnimo de la tarea rpida S
%SW48 Nmero de sucesos tratados SyU
%SW49 (3) Funcin reloj-calendario: palabras que contienen los valores SyU
%SW50 (3) actuales de la fecha y hora (en BCD)
%SW51 (3) %SW49 = da de la semana (tipo de da)
%SW52 (3) %SW50 = segundos %SW51 = horas y minutos
%SW53 (3) %SW52 = mes y da %SW53= siglo y ao
%SW54 ((3) Funcin reloj-calendario: palabras que contienen la fecha y hora del S
%SW55 (3) ltimo corte de corriente o ltima parada de autmata (en BCD)
%SW56 (3) %SW54 = segs y cdigo falla %SW55 = horas y minutos
%SW57 (3) %SW56 = mes y da %SW57= siglo y ao
%SW58 Cdigo de identif. de la ltima parada y da de semana (tipo de da) S
%SW59 Ajuste en incrementos de la fecha y hora actuales U
%SW60 a Diagnstico del autmata redundante S
%SW66
%SW67 Gestin del modo de visualizacin "Display" SyU
%SW68 %SW67: lectura de los botones pulsadores
%SW69 %SW68: ndices actual y mximo de los "objetos visualizados"
%SW69: nmero del primer objeto en el rea visualizada
%SW80 No de mensajes emitidos por el sistema hacia la toma de terminal SyU
%SW81 No de mensajes recibidos por el sistema desde la toma de terminal
%SW82 No de mensajes emitidos por el sist. hacia el acoplador PCMCIA
%SW83 No de mensajes recibidos por el sist. desde el acoplador PCMCIA
%SW84 No de telegramas emitidos por el sistema
%SW85 No de telegramas recibidos por el sistema
%SW86 No de mensajes rehusados por el sistema
(1) S = administrado por el sistema, U = administrado por el usuario,
(2) Slo en TSX 57.
(3) Slo en TSX 37-21/22 y TSX 57.
___________________________________________________________________________
3/9
B
Palabra Funcin Gestin(1)
%SW87 Nmero de peticiones tratadas por el servidor sncrono por ciclo S
de la tarea maestra (MAST).
%SW88 Nmero de peticiones tratadas por el servidor asncrono por ciclo S
de la tarea maestra (MAST).
%SW89 Nmero de peticiones tratadas por funciones del servidor S
(inmediato) por ciclo de la tarea maestra (MAST).
%SW96 (2) Comando / diagnstico de la funcin de guardado / restitucin del S y U
programa de aplicacin y de los %MW.
%SW97 (2) Nmero de los %MW que hay que guardar U
%SW98 (2) Direccin geogrfica mdulo/va de la entrada TON que reemplaza
el botn del acoplador TSX SAZ 10 U
%SW99 (2) Direccin geogrfica mdulo/va de la entrada TON que reemplazaU
el botn del bloque de visualizacin centralizada
%SW108 Nmero de bits forzados S
%SW109 Contador de vas analgicas forzadas a 0 S
%SW116 Falla E/S distantes en FIPIO S
%SW124 Tipo de la ltima falla UC encontrada S
%SW125 Tipo de falla bloqueante S
%SW126 Direccin de la instruccin de la falla de bloqueo S
%SW127
%SW128a Punto de conexin FIPIO defectuoso S
%SW143
%SW144 Modo de funcionamiento de la funcin rbitro de bus, productor/ U
consumidor de variable y supervisin bus FIPIO
%SW145 Modificacin de los parmetros del rbitro de bus UyS
%SW146 Visualizacin de la funcin rbitro de bus y productor/ S
consumidor en el bus FIPIO
%SW147 Valor del tiempo de ciclo bus de la tarea en modo LIBRE S
%SW148 Valor del tiempo de ciclo bus de la tarea en modo
SERVOCOMANDADOS
%SW149 Reservado a 0 S
%SW150 Nmero de tramas FIPIO emitidas S
%SW151 Nmero de tramas FIPIO recibidas S
%SW152 Nmero de tramas FIPIO recuperadas S
%SW155 Nmero de intercambios explcitos en curso de tratamiento S
%SW160 Resultado del ltimo registro S
%SW161 Resultado de la ltima cancelacin de registro S
%SW162 Nmero de errores en el buffer de diagnstico S
(1) S = administrado por el sistema, U = administrado por el usuario,
(2) Slo en TSX 57.

___________________________________________________________________________
3/10
Bits y palabras del sistema 3

B
3.2-2 Descripcin detallada de las palabras del sistema
Palabras Funcin Designacin
sistema
%SW0 Perodo de Permite modificar desde el programa de usuario o el
exploracin terminal el perodo de la tarea maestra definido en la B
de la tarea configuracin. El perodo se expresa en ms (1...255 ms).
maestra %SW0=0 en funcionamiento cclico. Al arrancar en fro:
toma el valor definido en la onfiguracin.
%SW1 Perodo de Permite modificar desde el programa de usuario o el
exploracin terminal el perodo de la tarea rpida definido en la
de la tarea configuracin. El perodo se expresa en ms (1...255 ms).
rpida Al arrancar en fro: toma el valor definido en la
configuracin.
%SW8 Control de la Normalmente en estado 0, el programa o el PC puede
adquisicin de poner este bit a 1 o a 0.
las entradas Permite inhibir la fase de adquisicin de las entradas de
de tareas cada tarea.
%SW8:X0 1= inhibicin en la tarea maestra
%SW8:X1 1= inhibicin en la tarea rpida
%SW9 Control de la Normalmente en estado 0, el programa o el PC puede
actualizacin de poner este bit a 1 o a 0.
las salidas Permite inhibir la fase de actualizacin de las salidas de
de tareas cada tarea.
%SW9:X0 1= inhibicin en la tarea maestra
%SW9:X1 1= inhibicin en la tarea rpida
%SW10 Primer El valor 0 del bit de la tarea en curso significa que sta
ciclo despus del ejecuta su primer ciclo despus de un arranque en fro.
arranque en fro %SW10:X0: asignada a la tarea maestra MAST
%SW10:X1: asignada a la tarea rpida FAST
%SW11 Duracin del Permite leer la duracin del watchdog definida en la
watchdog configuracin. Se expresa en ms (10...500 ms).
%SW12 Direccin Direccin UNI_TELWAY de la toma de terminal (en modo
UNI_TELWAY esclavo) definida en la configuracin y cargada en este
conector terminal palabra al arrancar en fro.
%SW13 Direccin Indicado por la red principal :
principal el nmero de estacin (byte menos significativo)
de la de 0 a 127
estacin el nmero de red (byte menos significativo) de 0 a 63
(valor de interruptor sobre la tarjeta PCMCIA)

___________________________________________________________________________
3/11
B
Palabras Funcin Designacin
sistema
%SW17 Estado de falla Al detectar una falla en una operacin en aritmtica
en operacin flotante, el bit %S18 se pone a 1 y el estado de falla
flotante %SW17 se actualiza segn la codificacin siguiente:
%SW17:X0 = operacin invlida/el resultado no es un
nmero
%SW17:X1 = operando no normalizado/resultado
correcto
%SW17:X2 = divisin por 0/el resultado es
%SW17:X3 =Overflow/el resultado es
%SW17:X4 = Underflow/el resultado es 0
%SW17:X5 = Imprecisin en el resultado.
El sistema pone esta palabra a 0 al arrancar en fro, as
como el programa para la reutilizacin de la palabra.
%SD18 Contador Doble palabra que permite efectuar clculos de duracin.
de tiempo El sistema lo aumenta cada dcimo de segundo (incluso
absoluto con el autmata en STOP). Puede ser leda y escrita por
el programa de usuario o el terminal.
%SW20 Nivel Palabra que contiene el nmero de etapas activas, por
de actividad activar y desactivar para el ciclo actual. El sistema la
del Grafcet actualiza cada vez que el grfico evoluciona.
%SW21 Tabla de validez Palabra que contiene el nmero de transiciones vlidas,
de las transiciones por validar e invalidar para el ciclo actual. El sistema la
Grafcet actualiza cada vez que el grfico evoluciona.
%SD18 Contador Esta doble palabra permite efectuar clculos de duracin.
de tiempo Es incrementada cada 1/10ma de segundos por el
absoluto sistema (incluso con el autmata en STOP). El programa
usuario o el PC pueden leerlo o escribirlo.
%SW20 Nivel Esta palabra contiene el nmero de etapas activas, que
actividad se deben activar o desactivar para el ciclo actual. Es
del Grafcet actualizado por el sistema cada vez que evoluciona el
grfico.
%SW21 Tabla de validez Este palabra contiene el nmero de transiciones
de transiciones vlidas, que se deben validar o invalidar para el ciclo
Grafcet actual. El sistema la actualiza cada vez que evoluciona el
grfico.
%SW22 Tabla de A cada bit de esta tabla corresponde una macroetapa
a puesta a 0 con %SW22:X0 para XM0 ....%SW25:X16 para XM63.
%SW25 macroetapa Las macroetapas cuyo bit asociado en esta tabla est
a 0, se volvern a poner a 0 cuando se ponga a 1 el bit
%S24.
%SW30 Tiempo de Indica el tiempo de ejecucin ms largo de la tarea
ejecucin de la maestra (en ms).
tarea maestra (1)
(1) este tiempo corresponde al tiempo transcurrido entre el inicio (adquisicin de las entradas)
y el fin (actualizacin de las salidas) de un ciclo de exploracin. Este tiempo incluye el tratamiento
de las tareas rpida y de suceso, as como el tratamiento de las peticiones del dispositivo de
programacin.
___________________________________________________________________________
3/12
Bits y palabras del sistema 3

Palabras Funcin Designacin


B
sistema
%SW31 Tiempo de Indica el tiempo de ejecucin ms largo de la tarea
ejecucin mx. maestra despus del ltimo arranque en fro (en ms).
de la tarea
maestra (1) B
%SW32 Tiempo de Indica el tiempo de ejecucin ms corto de la tarea
ejecucin mn. maestra despus del ltimo arranque en fro (en ms).
de la tarea
maestra (1)
%SW33 Tiempo de Indica el tiempo de ejecucin del ltimo ciclo de
ejecucin de la de la tarea rpida (en ms).
tarea rpida (1)
%SW34 Tiempo de Indica el tiempo de ejecucin ms largo de la tarea
ejecucin mx. rpida despus del ltimo arranque en fro (en ms).
de la tarea
rpida (1)
%SW35 Tiempo de Indica el tiempo de ejecucin ms corto de la tarea
ejecucin mn. rpida despus del ltimo arranque en fro (en ms).
de la tarea
rpida (1)
%SW48 Nmero de Indica el nmero de sucesos tratados
sucesos despus del ltimo arranque en fro (en ms). Palabra
que puede ser escrita por el programa o el terminal.
%SW49 Funcin reloj- Palabras sistema que contienen la fecha y hora actuales
%SW50 calendario (en BCD) :
%SW51 (2) %SW49: da de la semana (desde 1 para el lunes hasta
%SW52 7 para el domingo).
%SW53 %SW50: Segundos (SS00)
%SW51: Horas y Minutos (HHMM)
%SW52: Mes y Da (MMJJ)
%SW53: Ao (AAAA)
El sistema efecta la gestin de estas palabras cuando
el bit %S50 est en el estado 0.
Estas palabras pueden ser escritas por el programa de
usuario o el terminal cuando el bit %S50 se pone a 1.
%SW54 Funcin reloj- Palabras sistema que contienen la fecha y hora del
%SW55 calendario ltimo corte de corriente o la ltima parada del autmata
%SW56 (2) (en BCD):
%SW57 %SW54: Segundos (SS00),
%SW58 %SW55: Horas y Minutos (HHMM),
%SW56: Mes y Da (MMJJ),
%SW57: Ao (AAAA),
%SW58: el byte ms significativo indica el da de la
semana (de 1 para lunes a 7 para domingo).
(1) este tiempo corresponde al tiempo transcurrido entre el inicio (adquisicin de las entradas)
y el fin (actualizacin de las salidas) de un ciclo de exploracin. Este tiempo incluye el tratamiento
de las tareas rpida y de suceso, as como el tratamiento de las peticiones de consola.
(2) slo en los autmatas TSX 37-21/22 y TSX 57.
___________________________________________________________________________
3/13
B
Palabras Funcin Designacin
sistema
%SW58 Cdigo de El byte menos significativo indica el cdigo de la ltima
la ltima parada:
parada 1= paso de RUN a STOP por terminal
2= parada por falla de programa (rebasamiento de la
tarea del autmata)
4= corte de corriente
5= parada por falla de hardware
6= parada por instruccin HALT
%SW59 Ajuste Contiene dos series de 8 bits para ajustar la fecha actual.
de la fecha La accin se realiza siempre en el flanco ascendente del bit.
actual El bit %S59 valida esta palabra.
Aumento Disminucin Parmetro
bit 0 bit 8 da de la semana
bit 1 bit 9 segundos
bit 2 bit 10 minutos
bit 3 bit 11 horas
bit 4 bit 12 das
bit 5 bit 13 meses
bit 6 bit 14 aos
bit 7 bit 15 siglos
%SW60 Diagnstico Palabras del sistema utilizadas en caso de instalacin de
a autmata arquitectura redundante (vase designacin y utilizacin en el
%SW69 redundante manual "Arquitectura Premium de autmata redundante).
%SW66 Gestin del Contiene el valor Hexa/BCD que el usuario desea visualizar en
visualizador de el indicador de 7 segmentos opcionales.
7 segmentos Esta visualizacin se efecta cuando el bit %S66 est a 1.
%SW67 Gestin Cuando %S69=1, estas palabras permiten utilizar el bloque
%SW68 del modo de visualizacin (parte delantera del autmata) en modo
%SW69 "WORD" WORD:
%SW67: control y estado del modo WORD,
%SW68: ndices actual y mximo,
%SW69: nmero del primer objeto en el rea visualizada.
Para ms informacin sobre estas palabras sistema, vase
el captulo 1.5, apartado F (manual de instalacin).
%SW80 Gestin de No de mensajes emitidos por el sistema hacia el conector
mensajes y terminal S y U.
%SW81 telegramas No de mensajes recibidos por el sistema desde el conector
terminal.
%SW82 No de mensajes emitidos por el sistema hacia el acoplador
PCMCIA.
%SW83 No de mensajes recibidos por el sistema desde el acoplador
PCMCIA.
%SW84 No de telegramas emitidos por el sistema.
%SW85 No de telegramas recibidos por el sistema.
%SW86 No de mensajes rehusados por el sistema.
%SW87 Gestin de Nmero de peticiones tratadas por el servidor sncrono por
los flujos de ciclo de la tarea maestra (MAST).
%SW88 comunicacin Nmero de peticiones tratadas por el servidor asncrono por
(1) ciclo de la tarea maestra (MAST).
%SW89 Nmero de peticiones tratadas por funcin del servidor
(inmediato) por ciclo de la tarea maestra (MAST).
(1) palabras disponibles nicamente en TSX/PCX/PMX 57, versin V3.3 o superior.
___________________________________________________________________________
3/14
Bits y palabras del sistema 3

B
Palabras Funcin Designacin
sistema
%SW96 Control/ Control y/o diagnstico de la funcin de guardado/restitucin
diagnstico del programa de aplicacin y de los %MW:
de la funcin bit 0: peticin de transferencia hacia el rea guardado. Se
guarda/ activa con flanco ascendente. El sistema vuelve a ponerlo a0 B
restitucin tan pronto se registra el flanco ascendente.
bit 1: cuando este bit tiene valor 1, significa que ha terminado
la funcin de guardado. Vuelve a situarse en 0 tan pronto se
registra el flanco ascendente en el bit 0.
bit 2: informe de guardado:
0 -> guardado realizado sin error,
1 -> error durante el guardado.
bits 3 a 5: reservados.
bit 6: validez del guardado del programa de aplicacin (idem
%S96).
bit 7: validez del guardado de los %MW (idem %S97).
bits 8 a 15: este byte slo es significativo si el bit de informe
est a 1 (bit 2 = 1, error durante el guardado).
1 -> el nmero de %MW que requiere guardar es superior al
nmero de %MW configurado,
2 -> el nmero de %MW que requiere guardar es superior a
1000 o inferior a 0,
3 -> el nmero de %MW que hay que restituir es superior al
nmero de %MW configurado,
4 -> el tamao de la aplicacin en RAM interna es superior a
15 Kpalabras
(recordamos que el guardado de los %MW va siempre
asociada a un guardado del programa de aplicacin en la
Flash EPROM interna),
5 -> servicio no autorizado en RUN,
6 -> presencia de una tarjeta de memoria Backup en el
autmata,
7 -> falla de escritura en la Flash EPROM.
%SW97 Nmero de Permite definir el nmero de %MW que requieren guardar.
%MW que Cuando esta palabra est comprendida entre 1 y 1000, se
requieren transferirn los primeros %MW (del 1 al 1000) a la Flash
guardado EPROM interna. Cuando esta palabra valga 0, nicamente se
transferir a la Flash EPROM interna el programa de
aplicacin contenido en la RAM interna.
Se borra entonces una posible guardado de %MW.
Al producirse un rearranque en fro, se inicializa esta palabra
a -1, si la Flash EPROM interna no contiene ningn guardado
de %MW.
En caso contrario, se inicializa con el valor del nmero de
palabras guardadas.
%SW98 Direccin de Cuando el bit %S98 = 1, esta palabra indica la direccin
la entrada geogrfica (mdulo / va) de la entrada TON, en sustitucin
TON del botn del acoplador TSX SAZ 10:
Byte ms significativo Byte menos significativo
Nmero del mdulo Nmero de la va
___________________________________________________________________________
3/15
B
Palabras Funcin Designacin
sistema

%SW99 Direccin de Cuando el bit %S99 = 1, esta palabra indica la direccin


la entrada geogrfica (mdulo / va) de la entrada TON, remplazando
TON el botn del bloque de visualizacin centralizada:
Byte ms significativo Byte menos significativo
Nmero del mdulo Nmero de la va

%SW108 Nmero de Indica el nmero de bits forzados en la aplicacin.


bits forzados Normalmente a 0. El sistema de forzado y de cancelacin de
forzado de bits lo actualiza en la memoria de aplicacin.
%SW109 Contador de Indica el nmero de vas analgicas forzadas.
vas analgicas
forzadas
%SW116 Falla FIPIO Normalmente a 0, cada bit de esta palabra es significativo
en la tarea de un estado de intercambio FIPIO en la tarea en la que
se prueba.
El usuario vuelve a poner a 0 este esta palabra.
%SW 116 :
x0 = 1 error de intercambio explcito (la variable no se intercambia
en el bus),
x1 = 1 time-out en un intercambio explcito (no hay respuesta al
trmino del time-out),
x2 = 1 nmero mximo de intercambios explcito simultneo
alcanzado,
x3 = 1 estado MPS no correcto (el contenido de la variable no es
vlido),
x4 = 1 longitud de una variable recibida superior a la longitud
declarada,
x5 = reservado a 0
x6 =1 cdigo PDU invlido (la variable debe ser ignorada por el
administrador de la va), el agente se inicializa,
x7 = 1 time-out de rapidez asincrnica: el tiempo de produccin
de la variable por el agente no ha sido respetado, caracteriza una
ausencia del equipo configurado en el bus FIPIO,
x8 = 1 falla de va,
x9 = reservado a 0,
x10 a x14 = reservado a 0,
x15 =1 falla global (O de los bits 3, 4, 6, 7, 8).
%SW124 Tipo de El sistema escribe en esta palabra el ltimo tipo de falla UC
falla encontrada (estos cdigos no cambian al arrancar el fro):
UC 16#30 : falla del cdigo sistema
16#60 a 64 : rebasamiento de pila
16#90 : falla del sistema de interrupcin: IT no previsto
16#53 : falla del tiempo de espera al intercambiar E/S

___________________________________________________________________________
3/16
Bits y palabras del sistema 3

B
Palabras Funcin Designacin
sistema
%SW125 Tipo de El sistema escribe en esta palabra el ltimo tipo de falla de
falla de bloqueo encontrado:
bloqueo 16#DEB0 : rebasamiento del watchdog B
16#2258 : ejecucin de la instruccin HALT
16#DEF8 : ejecucin de una instruccin JMP a una
etiqueta no definida
16#2XXX : ejecucin de una instruccin CALL a un subpro
grama no definido
16#0XXX : ejecucin de una funcin desconocida
16#DEFE : el programa grafcet comprende dos remisiones
a las entradas no delineadas.
16#DEFF : flotante no implantado
16#DEF0 : divisin por 0, (1-->%S18)
16#DEF1 : error de transferencia de cadena de caracteres
(1-->%S15)
16#DEF2 : rebasamiento de capacidad (overflow),
(1-->%S18)
16#DEF3 : rebasamiento de ndice (1-->%S20)
%SW126 Direccin de Direccin de la instruccin que gener la falla de bloqueo de
%SW127 la instruccin la aplicacin.
de la falla de %SW126 contiene el desplazamiento de esta direccin
bloqueo %SW127 contiene la base de esta direccin
%SW128 Punto de Cada bit de este grupo de palabras es significativo de
a conexin de un equipo conectado en el bus FIPIO.
%SW143 Falla en Normalmente a 1, la presencia a 0 de uno de estos bits
FIPIO en indica la aparicin de una falla de punto de conexin.
%SW128 representa las direcciones 0 a 15
%SW128:X0 --> @0, %SW128:X1-->@1,.....,
%SW128:X15-->@15,
%SW129 representa las direcciones 16 a 31
%SW129:X0 --> @16, %SW129:X1-->@17,.....,
%SW129:X15-->@31,
........
%SW143 representa las direcciones 240 a 255
%SW143:X0 --> @240, %SW143:X1-->@241,.....,
%SW143:X15-->@255,
Cuando la falla desaparece, el sistema vuelve a poner
a 1 este bit
Nota: @ = punto de conexin

%SW144 Modo de Atencin: la modificacin de esta palabra del sistema


marcha puede producir la parada de la estacin.
funcin Esta palabra del sistema permite la detencin y el arranque
rbitro de de la funcin rbitro de bus y de la funcin productor/
bus FIPIO consumidor. Permite modificar el modo de arranque,
automtico y manual del bus en caso de parada.
Para ms informacin, vase el manual de comunicacin.
___________________________________________________________________________
3/17
B
Palabras Funcin Designacin
sistema
%SW145 Modificacin de Atencin: la modificacin de esta palabra puede
los parmetros generar la parada de la estacin.
del rbitro del Esta palabra sistema permite modificar parmetros
bus FIPIO del rbitro de bus FIPIO.
Para ms informacin, vase manual de comunicacin.

%SW146 Visualizacin Esta palabra visualiza la funcin rbitro de bus y


de la funcin productor/consumidor en el bus FIPIO.
rbitro de Para ms informacin, vase manual de comunicacin.
bus FIPIO
%SW147 Tiempo de Valor del tiempo de ciclo red de la tarea MAST.
ciclo red Un valor no nulo indica en ms, el valor del tiempo
MAST de ciclo red (TCR-MAST) de la tarea MAST.

%SW148 Tiempo de Valor del tiempo de ciclo red de la tarea FAST.


ciclo red Un valor no nulo indica en ms, el valor del tiempo
FAST de ciclo red (TCR-FAST) de la tarea FAST.

%SW149 Reservado a 0.

%SW150 Nmero de Esta palabra indica el nmero de tramas emitidas por el


tramas emitidas administrador de la va FIPIO.
%SW151 Nmero de Esta palabra indica el nmero de tramas recibidas por el
tramas recibidas administrador de la va FIPIO.

%SW151 Nombre de Esta palabra indica el nmero de recuperaciones de mensajes


messages efectuadas por el administrador de la va FIPIO.
repris
%SW155 Nmero Nmero de intercambios explcitos en curso de tratamiento
de intercambios
explcitos
%SW160 Resultado del ltimo registro (funcin diagnstico).
%SW161 Resultado de la ltima cancelacin de registro (funcin de
diagnstico).
%SW162 Nmero de errores en curso en el buffer de diagnstico1.

___________________________________________________________________________
3/18
A

Funcin especfica TON Modicon TSX Premium G

M
Funcin especfica TON ndice general
Seccin G

Captulo Pgina
G
2 Configuration de las vas de un mdulo TON 2/1

2.1 Presentacin 2/1

2.2 Visualizacin de los parmetros de las vas 2/2

2.3 Mdulos de entradas estndar 2/3


2.3-1 Parmetros de las entradas estndar 2/3
2.3-2 Modificacin de parmetros de las entradas estndar 2/4

2.4 Mdulo de entradas rpidas 2/5


2.4-1 Parmetros de las entradas rpidas 2/5
2.4-2 Modificacin de parmetros de las entradas rpidas 2/6

2.5 Mdulos de salidas 2/8


2.5-1 Parmetros de las salidas con reanudacin 2/8
2.5-2 Parmetros de las salidas sin reanudacin 2/9

2.6 Modificacin de los parmetros de las salidas 2/11


2.6-1 Modificacin del modo de retorno 2/11
2.6-2 Modificacin del modo de reanudacin de las salidas 2/12

G/1
Funcin especfica TON ndice general
Seccin G

Captulo Pgina
2.7 Anulacin de parmetros y reconfiguracin de grupos de vas 2/13

2.8 Configuracion de la entrada RUN/STOP (funcionamiento/


parada) 2/14

2.9 Validacin de la configuracin 2/15


2.9-1 Validacin tras la modificacin 2/15
2.9-2 Reconfiguracin global 2/15
G
3 Comprobacin de los mdulos TON 3/1

3.1 Presentacin 3/1

3.2 Descripcin de la pantalla de comprobacin 3/2


3.2-1 Zona de mdulo 3/2
3.2-2 Zona de parmetros de las vas 3/3

3.3 Mdulos de entradas estndar 3/4


3.3-1 Estado de la va 3/4
3.3-2 Forzamiento o liberacin de las vas 3/5

3.4 Mdulos de entradas rpidas 3/5


3.4-1 Estado de la va 3/6
3.4-2 Forzamiento o liberacin de las vas 3/6
3.4-3 Enmascaramiento o desenmascaramiento de las vas 3/6

3.5 Mdulos de salidas con reanudacin 3/7


3.5-1 Comando de reanudacin 3/7
3.5-2 Estado de retorno 3/7
3.5-3 Estado de la va 3/8
3.5-4 Forzamiento o liberacin de las vas 3/8
3.5-5 Comandos de escritura 3/8

G/2
Funcin especfica TON Indice general
Seccin G

Captulo Pgina
3.6 Mdulos de salidas sin reanudacin 3/9
3.6-1 Estado de retorno 3/9
3.6-2 Estado de la va 3/10
3.6-3 Forzamiento o liberacin 3/10
3.6-4 Comandos de escritura 3/10

4 Bits y palabras asociadas a la funcin especfica TON 4/1

4.1 Direccionamiento de los objetos 4/1


G
4.2 Objetos de lenguaje asociados a las entradas/salidas TON 4/2
4.2-1 Objetos de intercambio implcito 4/2
4.2-2 Objetos de intercambio explcito 4/3

4.3 Lectura de la palabra de estado y escritura de la palabra de


control 4/7
4.3-1 Lectura de la palabra de estado 4/7
4.3-2 Escritura de la palabra de control de la va 4/7

G/3
Captulo 2
1

2 Configuracin de las vas de un mdulo TON


2.1 Presentacin
Las vas de entrada y salida de un mdulo incluyen parmetros de configuracin
que se pueden visualizar y modificar en la pantalla configuracin. Estos
parmetros ofrecen las siguientes funciones:
asignacin de las vas a una tarea,
tiempo de filtrado para entradas rpidas,
modo de retorno de las salidas en fallo,
tipo de reanudacin de las salidas tras una disyuncin,
...
Para acceder a la pantalla de configuracin de las vas de un mdulo, haga clic en
el mdulo del bastidor que va a configurar (nombre del mdulo encuadrado con
puntos).
Si no se realiza una modificacin de los parmetros, las vas se configuran segn
una serie de parmetros predeterminados por defecto.
G

2/1
2.2 Visualizacin de los parmetros de las vas
La pantalla de configuracin del mdulo seleccionado en el bastidor visualiza los
parmetros asociados a las vas de entradas o de salidas.
Esta pantalla da acceso a la visualizacin y modificacin de parmetros en
modo local, as como a la Comprobacin en modo conectado.

Descripcin
La barra de ttulo indica la referencia del mdulo seleccionado y su posicin
fsica as como el nmero del bastidor.
Instrucciones: Configuracin en curso; en modo conectado la ventana da
tambin la opcin de acceso a la Comprobacin (diagnstico).
Designacin del mdulo seleccionado:
Ejemplo:
nmero y tipo de vas:
- 64 ENT: designa el nmero de entradas del mdulo seleccionado; en el
ejemplo se trata de un mdulo de 64 entradas,
caractersticas de la alimentacin del mdulo:
- 24 VCC Sink: tensin continua 24V en lgica positiva,
tipo de conexin:
- CON: conector de tipo HE10.
La visualizacin de la zona de mdulo es opcional. El acceso se realiza mediante
la orden Ver/Area mdulo).

Cajas de seleccin de las vas:


Conjunto de vas y de smbolos asociados. El nombre (smbolo) viene definido
por el usuario desde el editor de variables. La barra de desplazamiento situada en
la parte derecha permite visualizar el conjunto de vas del mdulo, hacia arriba y
hacia abajo en la lista.

2/2
Configuracin de las vas de un mdulo TON 2

2.3 Mdulos de entradas estndar


2.3-1 Parmetros de las entradas estndar
Los mdulos de entradas de tipo estndar incluyen parmetros por grupos de 8
vas consecutivas.
Estos parmetros se pueden configurar segn las opciones que se proponen en la
siguiente tabla:

Referencias Parmetros

Mdulos N de vas por defecto opciones

TSX DEY 08D2 8 entradas Mast Mast / Fast

TSX DEY 16A2 16 entradas Mast Mast / Fast / Ninguna

TSX DEY 16A3 16 entradas Mast Mast / Fast / Ninguna G

TSX DEY 16A4 16 entradas Mast Mast / Fast / Ninguna

TSX DEY 16A5 16 entradas Mast Mast / Fast / Ninguna

TSX DEY 16D2 16 entradas Mast Mast / Fast / Ninguna

TSX DEY 16D3 16 entradas Mast Mast / Fast / Ninguna

TSX DEY 32D2K 32 entradas Mast Mast / Fast / Ninguna

TSX DEY 64D2K 64 entradas Mast Mast / Fast / Ninguna

Advertencia:

La columna resaltada corresponde a los parmetros configurados por defecto.

Nota:
El primer grupo de vas de los mdulos (direcciones de 0 a 7) est siempre destinado a una
tarea Mast o Fast. Los siguientes grupos disponen, adems, de la opcin: Ninguna (ninguna
tarea asociada al grupo de vas inutilizadas).

2/3
2.3-2 Modificacin de parmetros de las entradas estndar
Esta modificacin se realiza desde la
pantalla de configuracin, seleccionando
los tipos de tarea a las cuales se van a
asociar los grupos de 8.
Se puede acceder a los parmetros
desde dos cuadros que agrupan en 8, las
vas. Clic
Para acceder al resto de grupos (en el
caso de los mdulos cuyo nmero de
vas es superior a 16), haga clic en la
barra de desplazamiento para bajar por
la lista de las vas (ejemplo al margen)

Cada cuadro define, para 8 vas


consecutivas, la tarea al principio de la
G cual se adquirirn las entradas:
- tarea Fast
- o tarea Mast
- o Ninguna si est inutilizado en grupo
de vas.

Nota:
La modificacin de las tareas es accesible nicamente en modo local.

2/4
Configuracin de las vas de un mdulo TON 2

2.4 Mdulo de entradas rpidas


2.4-1 Parmetros de las entradas rpidas
Las entradas rpidas del mdulo TSX DEY 16 FK son de suceso. Estas vas de
entradas incluyen varios parmetros de configuracin:
asignacin de una tarea por grupo de 8 vas,
valor de filtrado va por va (de 0,1 a 7,5 ms con intervalos de 0,5).
Las vas de este mdulo disponen igualmente de parmetros que funcionan en
modo exclusivo:
normal (sin suceso asociado a la va),
almacenamiento en memoria del estado va por va (estado a 0 o estado a 1),
tratamiento de sucesos va por va:
- suceso desencadenado en flanco ascendente (FA),
- suceso desencadenado en el flanco descendente (FD),
- suceso desencadenado en el flanco ascendente y en el flanco descendente. G
Las entradas de sucesos estn asociadas a un nmero de tratamiento (Evti).
Estos nmeros se escalonan de:
- 0 a 31 para un procesador TSX 5710,
- 0 a 63 para un procesador TSX 5720.
En caso de que los 2 tipos de flanco estn seleccionados en una va, slo habr
un nmero de suceso asociado a la va.
El tratamiento de sucesos (Evti) ms prioritario es el nmero 0, que slo puede
estar asignado a la va 0.
La siguiente tabla organiza los parmetros asociados a las vas del mdulo:

Referencia Grupo de 8 vas Va por va Va por va

TSX DEY 16FK Tarea asociada Normal o Memorizacin o Filtrado


EVT

16 entradas fallo opcin fallo opcin fallo opcin

Mast Mast Normal Normal o 0 , 1 4 ms 0,1 a 7,5 ms


o
Fast FA, FD o FA y FD

Ninguna*

(*) para las vas de 8 a 15.


Advertencia:

Las columnas resaltadas corresponden a los parmetros configurados por


defecto. El resto de columnas indican posibles opciones.

2/5
2.4-2 Modificacin de parmetros de las entradas rpidas
Despus de hacer doble clic en la posicin del mdulo TSX DEY 16 FK, aparece
la ventana de configuracin:

Descripcin
Parmetros
Los parmetros asociados a una va se pueden visualizar en el momento que
se selecciona la casilla "Parmetros". Los parmetros que se visualizan
corresponden a la va seleccionada.
Vas 0..7 / Vas 8..15
El ttulo indica los nmeros de las vas afectadas. Estos dos cuadros de
opciones permiten modificar el parmetro asignado a la tarea del grupo de
vas seleccionado (Mast, Fast o ninguna para las vas 8 a 15).
Tabla de las vas
La configuracin de cada va se visualiza en la tabla, junto con las siguientes
caractersticas:
nmero de la va,
smbolo (si se ha definido),
duracin del filtrado,
funcin de configuracin Normal, Almacenamiento Estado, Suceso
Nota:
Al hacer doble clic con el ratn o seleccionar con la tecla Intro una va de la tabla, se activa
o desactiva la casilla Parmetros"; y por consiguiente se visualizan o borran los parmetros
de la va seleccionada.

2/6
Configuracin de las vas de un mdulo TON 2

Parmetros de la va n
Esta parte de la pantalla se visualiza si la casilla "Parmetros" est
seleccionada. Cuatro botones de opcin determinan la funcin soportada
exclusivamente por la va:
Normal,
Almacenamiento Estado 0
Almacenamiento Estado 1
Tratamiento de suceso en el flanco Ascendente o Descendente o ambos
con el nmero asociado.

Nota:

El nmero de suceso propuesto es el primero disponible en la lista. Si se selecciona un


nmero manualmente, al margen de la tolerancia, ste no se acepta durante la validacin.

Filtrado de va n
Mediante este cuadro se puede configurar la duracin del filtrado de la va
seleccionada, con incrementos o decrementos de 0,5 ms. ("Parmetros" se ha
activado previamente).

Parmetros modificables en modo conectado:


- Valor de filtrado,
- Almacenamiento Estado/Normal (si no existe suceso EVT),
- Flanco Ascendente o Descendente (si se ha configurado el suceso EVT).
Parmetros no modificables en modo conectado:
- Tratamiento de sucesos,
- Nmero de suceso (EVT),
- Asignacin de tarea.

2/7
2.5 Mdulos de salidas
2.5-1 Parmetros de las salidas con reanudacin
Los mdulos de salidas con reanudacin incluyen varios parmetros de
configuracin:
asignacin de un grupo de 8 vas a una tarea,
configuracin del modo de retorno por grupo de 8 vas (valor de retorno o
conservacin en el estado),
configuracin de la reanudacin por grupo de 8 vas (automtico o programado),
valor de retorno va por va.

La siguiente tabla clasifica los parmetros asociados a los mdulos de 8 vas:

Referencia Grupo de 8 vas Va por


va
G
Tarea Reanudaci Modo de retorno Valor de
n retorno

TSX DOY 08R4D Mast Mast Prog. Prog. Retorno Retorno 0 0

8 salidas Fast Auto. Conservacin 1

TSX DSY 08R5A Mast Mast Prog. Prog. Retorno Retorno 0 0

8 salidas Fast Auto. Conservacin 1

TSX DSY 08S5 Mast Mast Prog. Prog. Retorno Retorno 0 0

8 salidas Fast Auto. Conservacin 1

TSX DSY 08T2 Mast Mast Prog. Prog. Retorno Retorno 0 0

8 salidas Fast Auto. Conservacin 1

TSX DSY 08T22 Mast Mast Prog. Prog. Retorno Retorno 0 0

8 salidas Fast Auto. Conservacin 1

TSX DSY 08T31 Mast Mast Prog. Prog. Retorno Retorno 0 0

8 salidas Fast Auto. Conservacin 1

2/8
Configuracin de las vas de un mdulo TON 2

La siguiente tabla clasifica los parmetros asociados a los mdulos de ms de 8


vas:

Referencia Grupo de 8 vas Va por


va

otros mdulos Tarea Reanudacin Modo de retorno Valor de


retorno

TSX DSY 16T2 Mast Mast Prog. Prog. Retorno Retorno 0 0

16 salidas Fast Auto. Conservacin 1

TSX DSY 16T3 Mast Mast Prog. Prog. Retorno Retorno 0 0

16 salidas Fast Auto. Conservacin 1


G
TSX DSY Mast Mast Prog. Prog. Retorno Retorno 0 0
32T2K
Fast Auto. Conservacin 1
32 salidas

TSX DSY Mast Mast Prog. Prog. Retorno Retorno 0 0


64T2K
Fast Auto. Conservacin 1
64 salidas

Nota
La opcin Ninguna se propone para los grupos de vas con direcciones superiores a 7.

Advertencia:

Las columnas resaltadas corresponden a los parmetros configurados por


defecto. El resto de columnas refleja posibles opciones.

2.5-2 Parmetros de las salidas sin reanudacin


Los mdulos de salidas sin reanudacin incluyen varios parmetros de
configuracin:
asignacin de un grupo de 8 vas a una tarea,
configuracin del modo de retorno por grupo de 8 vas (valor de retorno o
conservacin en el estado),
valor de retorno va por va.

2/9
La siguiente tabla agrupa los parmetros asociados a las vas de los mdulos:

Referencia Grupo de 8 vas Va por va

Tarea Modo de retorno Valor de


retorno

TSX DSY 08R5 Mast Mast Retorno Retorno 0 0

8 salidas Fast Conservacin 1

TSX DSY 16R5* Mast Mast Retorno Retorno 0 0

16 salidas Fast Conservacin 1

TSX DSY 16S4* Mast Mast Retorno Retorno 0 0


G
16 salidas Fast Conservacin 1

(*) La opcin Ninguna se propone para los grupos de vas con direcciones
superiores a 7.
Advertencia:

Las columnas resaltadas corresponden a los parmetros configurados por


defecto. El resto de columnas refleja posibles opciones.

2/10
Configuracin de las vas de un mdulo TON 2

2.6 Modificacin de los parmetros de las salidas


2.6-1 Modificacin del modo de retorno
Se realiza desde la pantalla de configuracin, seleccionando previamente la
casilla "Parmetros". Mediante los cuadros de opcin se puede definir el modo
de retorno que adquieren las salidas durante una parada del autmata (STOP), o
un fallo del procesador, o un fallo en el bastidor o en el cable de conexin entre
bastidores:
Retorno: las vas se ponen al estado 0 o 1 segn el valor de retorno
configurado, para el grupo de las 8 vas correspondientes, (0 por defecto),
Conservacin: las salidas conservan el estado en el que se encuentran antes
de pasar al modo STOP.

Una vez seleccionado el modo de retorno, el usuario puede configurar el valor de


cada una de las vas de cada grupo; para ello tiene que seleccionar la va y
validar con el botn "Retorno a 1" o "Retorno a 0"; el valor seleccionado se
visualiza en la columna " Valor de retorno " de la tabla de vas.

Notas:
Al hacer doble clic en una de las vas visualizadas en la tabla se muestra o se borra el
cuadro de configuracin de los valores de retorno, el botn Retorno, tendr, sin embargo,
que estar activado.
La opcin del retorno es exclusiva.
La modificacin del modo de retorno es posible en modo conectado.

2/11
2.6-2 Modificacin del modo de reanudacin de las salidas
Esta operacin se realiza por medio de los cuadros de "reanudacin" situados
en la pantalla de configuracin de las vas de salidas con reanudacin.
El editor de configuracin propone un cuadro de reanudacin por cada grupo de 8
salidas.
Los modos de reanudacin son:
"Prog." indica el modo programado: configuracin, tomada por las salidas, de
forma predeterminada. La reanudacin se ejecutar mediante una orden de la
aplicacin del autmata o con ayuda de la pantalla de comprobacin. Para evitar
continuas reanudaciones muy seguidas, el mdulo asegura automticamente
una temporizacin de 10 segundos entre dos reanudaciones.
"Auto." designa el modo automtico: la reanudacin se realiza automticamente
cada 10 segundos, hasta que desaparezca el fallo.

La reanudacin no se efecta en una va inactiva o sin fallos.


Los cuadros de reanudacin aparecen exclusivamente en las pantallas de
configuracin de los siguientes mdulos:
Salidas de rel: TSX DSY 08R4D/08R5A,
Salidas estticas: TSX DSY 08T2/08T22/08T31/16T2/16T3/32T2K/64T2K,
Salidas de triacs: TSX DSY 08S5.

2/12
Configuracin de las vas de un mdulo TON 2

2.7 Anulacin de parmetros y reconfiguracin de grupos de vas

La anulacin de parmetros se realiza desde la pantalla de configuracin en todos


los grupos de vas que no sean el grupo de 0 a 7, asignando el tipo de "Tarea" a
"Ninguna".
Una vez confirmada la modificacin, la operacin de anulacin de parmetros
afecta al grupo y a las siguientes.

Para volver a configurar, se asigna (en la misma pantalla de configuracin) la


Tarea a Mast o a Fast.
Una vez confirmada la modificacin, al volver a configurar un grupo, se vuelven a
configurar tambin los grupos anteriores, encontrndose entonces el mismo
estado de los parmetros programados con anterioridad.
Advertencia:

No es aconsejable configurar los grupos de vas que no se utilizan en la


aplicacin; porque, aunque no haya conectores enlazados, el mdulo no sealar
fallo alguno.

Nota:
La anulacin de parmetros o la reconfiguracin no es posible en modo conectado.

2/13
2.8 Configuracin de la entrada RUN/STOP (funcionamiento/parada)
La funcin RUN/STOP (funcionamiento/parada) puede estar asignada a una
entrada de un mdulo TON, lo que permite activar (RUN) o detener (STOP) la
ejecucin del programa de aplicacin.

Nota:
La activacin de la parada (STOP) por la entrada fsica asignada a la entrada RUN/STOP es
prioritaria en relacin a una orden de parada (RUN) procedente de un terminal o de una red.

Es necesario configurar dicha entrada, para asegurarse de que cumple su


funcin.

Procedimiento:
Haga doble clic en la posicin 0 (ubicacin del procesador), desde la pantalla
de configuracin,
Seleccione la casilla Entrada Run/Stop,
Identifique la ventana de seleccin con uno de los bits de entradas.
Dos iconos Run/Stop (funcionamiento /
parada) indican, en la configuracin del
mdulo, la va Run/Stop y su nmero.

2/14
Configuracin de las vas de un mdulo TON 2

2.9 Validacin de la configuracin

2.9-1 Validacin tras la modificacin


Una vez modificados los parmetros de configuracin de las vas de un mdulo, y
al dejar la funcin, es necesario validar la nueva configuracin. Para ello, se
pueden utilizar varias posibilidades:

1. Validar desde la barra de


herramientas, haciendo clic en el
icono correspondiente.
2. Salir de la funcin sin validar los
parmetros, con lo que se visualiza
un cuadro de dilogo que permite
validar la nueva configuracin.

3. Desplegar el men Edicin) de PL7-


Junior y seleccionar la opcin
G
Validar.

2.9-2 Reconfiguracin global

Una vez modificados el conjunto de parmetros de configuracin de las vas de


cada mdulo, la salida del editor de configuracin necesita una nueva
configuracin global. Al cerrar el editor, se visualiza un cuadro de dilogo que
permite confirmar la nueva configuracin global.

2/15
La reconfiguracin global en necesaria en modo local, para que las
modificaciones validadas para cada mdulo se tengan en cuenta en la aplicacin.
Esta reconfiguracin se efecta:
o mediante el icono " Validacin " o mediante la opcin Edicin/Validar,
o cerrando el editor de configuracin, sin haber realizado una validacin global,
confirmando la reconfiguracin global.

2/16
Captulo 3
1

3 Comprobacin de los mdulos TON


3.1 Presentacin
La funcin de Comprobacin es accesible para cada mdulo, desde la pantalla de
visualizacin de parmetros de las vas, con el autmata en modo conectado. La
visualizacin de la pantalla de comprobacin se efecta.

o desde el cuadro de dilogo


desplegable que permite acceder
de forma alternativa, bien a la
funcin Comprobacin bien a la
Configuracin de los parm-
etros.
o bien desde el men Ver del
programa PL7-Junior seleccio-
nando la opcin Debug.

La funcin de comprobacin permite la visualizacin, en modo conectado de los


parmetros de cada una de las vas del mdulo (smbolo, estado,...) y el acceso al
diagnstico del mdulo, as como de la va seleccionada, en caso de que se
produzca un fallo.

3/1
3.2 Descripcin de la pantalla de comprobacin
En la pantalla de comprobacin se distinguen dos zonas:
zona de mdulo,
zona de parmetros de las vas.

3.2-1 Zona de mdulo

La zona de mdulo muestra el mdulo seleccionado y el estado de los indicadores


visuales RUN, I/O y ERR del mdulo. Tambin tiene un botn de Cancelacin
G global forzado, con el que se pueden liberar todas las entradas o salidas del
mdulo que se encuentran an forzadas. Facilita informacin sobre el estado del
o (de los) fallo(s) del mdulo, por medio de un botn de diagnstico, DIAG. Este
botn permanece en gris mientras que el mdulo no est en fallo. En caso
contrario, el botn aparece en rojo y se puede seleccionar. Cuando el botn est
pulsado, el cuadro de dilogo siguiente se visualiza:

Formas de recordar informacin:


El estado de los indicadores visuales RUN, I/O y ERR se actualiza de manera
cclica.
El estado del botn DIAG tambin se actualiza de manera cclica.
Los fallos visualizados por el cuadro de dilogo de diagnstico se recuerdan al
usuario.

3/2
Comprobacin de los mdulos TON 3

3.2-2 Zona de parmetros de las vas


La zona de parmetros de las vas incluye la lista de las vas y su estado, as
como indicadores visuales y botones especficos a los mdulos. El significado y
utilizacin de los elementos especficos se facilitan en los apartados 3.3 y 3.6.
La seleccin mltiple de las vas es posible, mediante la siguiente convencin:
Mays+clic: seleccin continua de las vas,
Ctrl+ clic: seleccin discontinua de las vas,
clic en el encabezado: seleccin de todas las vas.

El botn DIAG de diagnstico indica el estado de la va seleccionada en la lista. Si


se seleccionan varias vas, el botn aparece en gris.
Se actualiza cclicamente como el botn DIAG de la zona de mdulo.
Haga clic en el botn DIAG, para que se visualice la siguiente pantalla:

3/3
3.3 Mdulos de entradas estndar
Los parmetros de la pantalla de comprobacin de los mdulos de entradas
estndar son los siguientes:
estado de la va,
forzamiento o liberacin.

3.3-1 Estado de la va
El estado de la va se visualiza con:
el nmero,
el smbolo, si existe,
el valor: 0 o 1 o forzado a 0 (F0) o forzado a 1 (F1),
la indicacin de fallo (ERR).

Al seleccionar la va cuando sta se encuentra en fallo, se invalida el botn DIAG.


El estado de las vas se actualiza cclicamente.

3/4
Comprobacin de los mdulos TON 3

3.3-2 Forzamiento o liberacin de las vas


Para realizar estas operaciones, existen tres botones disponibles:
Forzar a 0 con la tecla de acceso directo F4,
Forzar a 1 con la tecla de acceso directo F5,
Liberar con la tecla de acceso directo F6.

Nota:
El forzamiento se puede realizar por seleccin mltiple.
La orden de Cancelacin es accesible si la va seleccionada est forzada.
La orden de Cancelacin global forzado (zona mdulo) es accesible en el momento en que
una va del mdulo est forzada.

3.4 Mdulos de entradas rpidas


Los parmetros de la pantalla de comprobacin de los mdulos de entradas G
rpidas son los que siguen:
estado de la va,
forzamiento y liberacin,
enmascaramiento o desenmascaramiento de la va.

3/5
3.4-1 Estado de la va
El estado de la va se visualiza con:
el nmero,
el smbolo, si existe,
el valor,
la indicacin de fallo (ERR),
la indicacin de Enmascarar o de Desenmascarar.
Los valores posibles y sus significados son:
0 : Valor nulo
1 : Valor 1
F0 : Forzado a 0
F1 : Forzado a 1
0- Enmascarar : estado 0 - va enmasc
0-Desenmascar : estado 0 - va desenmasc
1-Enmascarar : estado 1 - va enmasc
G 1-Desenmascarar : estado 1 - va desenmasc
Cuando se selecciona la va, al encontrarse sta en fallo, el botn DIAG deja de
estar en gris.
El estado de las vas se actualiza cclicamente.

3.4-2 Forzamiento o liberacin de las vas


Para realizar estas operaciones, existen tres botones disponibles:
Forzar a 0 con la tecla de acceso directo F4,
Forzar a 1 con la tecla de acceso directo F5,
Cancelar forzado con la tecla de acceso directo F6.

Nota:
El forzamiento se puede realizar en una seccin mltiple.
La orden de Cancelacin es accesible si la va seleccionada est forzada.
La orden de Cancelacin global forzado (zona de mdulo) es accesible en el momento en
que una va est forzada.

3.4-3 Enmascaramiento o desenmascaramiento de las vas


Para realizar estas operaciones, existen dos botones disponibles:
Enmascarar con la tecla de acceso directo F7,
Desenmascarar con la tecla de acceso directo F8.

Nota:
El enmascaramiento o desenmascaramiento se pueden efectuar con una seleccin mltiple.

3/6
Comprobacin de los mdulos TON 3

3.5 Mdulos de salidas con reanudacin


Los parmetros de la pantalla de comprobacin de los mdulos de salidas con
reanudacin son los siguientes:
comando de reanudacin,
estado de retorno,
estado de la va,
forzamiento o liberacin,
comando de escritura en 1 (Set) o de escritura en 0 (Reset) de la va,

3.5-1 Comando de reanudacin


El comando de reanudacin se realiza por grupos de 8 vas. Hay un botn
dedicado a cada grupo visualizado. Las teclas de acceso directo para los dos
grupos de vas son F2 y F3.

3.5-2 Estado de retorno


El estado de retorno se visualiza por grupos de 8 vas y mediante un botn
esttico STOP.
El botn se anula en el momento en que una va del grupo est en posicin de
retorno.

3/7
3.5-3 Estado de la va
El estado de la va se visualiza con:
el nmero,
el smbolo, si existe,
el valor: 0 o 1 o forzado a 0 (F0) o forzado a 1 (F1),
la indicacin de fallo (ERR).
Cuando la va se selecciona al encontrarse sta en fallo, el botn DIAG deja de
aparecer en gris.
El estado de las vas se actualiza cclicamente.

3.5-4 Forzamiento o Cancelacin de las vas


Para realizar estas operaciones, existen tres botones disponibles:
Forzar a 0 con la tecla de acceso directo F4,
G Forzar a 1 con la tecla de acceso directo F5,
Cancelar forzado con la tecla de acceso directo F6.

Nota:
El forzamiento se puede realizar en una seccin mltiple.
La orden de Cancelacin es accesible si la va seleccionada est forzada.
La orden de Cancelacin global forzado (zona de mdulo) es accesible en el momento en
que una va est forzada.

3.5-5 Comandos de escritura


Para realizar estas operaciones, existen dos botones disponibles:
Set para escribir el valor 1 con la tecla de acceso directo F7,
Reset para escribir el valor 0 con la tecla de acceso directo F8.
La escritura de una salida (Set o Reset) slo es efectiva durante el tiempo de un
ciclo; si la salida est actualizada en el programa (tarea en Ejecucin), se vuelve
permanente, si la salida no se utiliza o si la tarea est en "Ejecutar desactivado".

Nota:
La escritura en 1 o en 0 se puede efectuar en una seccin mltiple.

3/8
Comprobacin de los mdulos TON 3

3.6 Mdulos de salidas sin reanudacin


Los parmetros de la pantalla de comprobacin de los mdulos de salidas sin
reanudacin son los siguientes:
estado de retorno,
estado de la va,
forzamiento o liberacin,
control de escritura en 1 (Set) o de escritura en 0 (Reset) de la va,

3.6-1 Estado de retorno


El estado de retorno se visualiza por grupos de 8 vas y mediante un botn
esttico STOP.
El botn se anula cuando una va del grupo est en posicin de retorno.

3/9
3.6-2 Estado de la va
El estado de la va se visualiza con:
el nmero,
el smbolo, si existe,
el valor: 0 o 1 o forzada a (F0) o forzada a 1 (F1),
la indicacin de fallo (ERR).
Cuando se selecciona la va, encontrndose sta en fallo, el botn DIAG deja de
aparecer en gris.
El estado de las vas se actualiza cclicamente.

3.6-3 Forzamiento o liberacin


Para realizar estas operaciones, existen tres botones disponibles:
Forzar a 0 con la tecla de acceso directo F4,
G Forzar a 1 con la tecla de acceso directo F5,
Cancelar forzado con la tecla de acceso directo F6.

Nota:
El forzamiento se puede realizar en una seccin mltiple.
La orden de Cancelacin es accesible si la va seleccionada est forzada.
La orden de Cancelacin global forzado (zona de mdulo) es accesible en el momento en
que una va est forzada.

3.6-4 Comandos de escritura


Para realizar estas operaciones, existen dos botones disponibles:
Set para escribir el valor 1 con la tecla de acceso directo F7,
Reset para escribir el valor 0 con la tecla de acceso directo F8.

Nota:
La escritura en 1 o en 0 se puede efectuar en una seccin mltiple.

3/10
Captulo 4
1

4 Bits y palabras asociadas a la funcin especfica TON


4.1 Direccionamiento de los objetos
Principios del direccionamiento de los bits imgenes de entradas y salidas de los
mdulos TON de los autmatas TSX Premium.
El direccionamiento de las vas es geogrfico, es decir, que depende;
del nmero (direccin) del bastidor,
de la posicin fsica del mdulo en el bastidor,
del nmero de la va del mdulo.

Posiciones de los mdulos y: 00 a 10

G
Direcciones
de los
bastidores
x: 0 a 7

Sintaxis de la direccin de entradas y salidas TON:


% IoQ direccin posicin . N va i
bastidor x mdulo y
Smbolo Tipo de objeto x=0 a 7 y =00 a 10 Punto i= 0 a 63
I= entrada
Q= salida

Ejemplo:
%I101.5 significa: bit imagen de la entrada 5 del mdulo situado en posicin 1 en
el bastidor de direccin 1.
%Q10.3 designa el bit imagen de la salida 3 del mdulo situado en posicin 10 en
el bastidor 0.

4/1
4.2 Objetos de lenguaje asociados a las entradas/salidas TON

Un mdulo de entradas/salidas TON configurado en una determinada posicin


genera automticamente un conjunto de objetos de lenguaje que permiten la
programacin y el diagnstico de dicho mdulo de entradas y salidas.
Nota:
Constantes de configuracin de los mdulos de E/S TON
Estn organizadas en grupos de ocho vas en la direccin de la primera va de cada grupo,
bien:
%KW@mdulo.0.x: con x para las vas de 0 a 7
%KW@mdulo.8.x : con x para las vas de 8 a 15 y as sucesivamente.
Estos objetos slo son accesibles en modo de lectura.

4.2-1 Objetos de intercambio implcito:


G
Se trata de objetos cuyos intercambios se realizan automticamente en cada ciclo
de la tarea en la que se han configurado las vas del mdulo:
Bits:
%Ixy.i: bit: vas de entradas. En el estado 1, indica para la va de entrada i del
mdulo en posicin y, que la salida del sensor que dirige la entrada est
activada.
%Qxy.i : bit: vas de salidas. En el estado 1, indica para la va de salida i del
mdulo en posicin y, que sta est activada.
%Ixy.i.ERR : bit: de fallo va. En el estado 1, indica para la va de entrada i del
mdulo en posicin y, que ste se encuentra en fallo.
%Ixy.MOD.ERR : bit: de fallo en el mdulo. En el estado 1, indica para el
mdulo en posicin y, que ste se encuentra en fallo.
Caso del mdulo de sucesos:
Slo el mdulo TSX DEY16FK dispone de intercambios implcitos de palabras:
Estado del suceso asociado a la va: (1)

Direccin Significado

%IWxy.i:X0 Flanco ascendente

%IWxy.i:X1 Flanco descendente

%Qwxy.i:X0 Mask/Unmask - Enmascara el suceso asociado a la va

(1) El estado del suceso (EVT) se actualiza cuando el suceso (Evt) interviene.
El par xy corresponde al bastidor y a la posicin del mdulo en el bastidor.

4/2
Bit y palabras asociadas a la funcin especfica TON 4

4.2-2 Objetos de intercambio explcito


Los objetos de intercambio explcito se actualizan por peticin.
Palabras:
%MWxy.i.2:Xj: estado Va, con j: de 0 a 15.

Direccin Significado

%MWxy.i.2:X0 Fallo externo: disyuncin

%MWxy.i.2:X 1 Fallo externo: fusible

%MWxy.i.2:X2 Fallo en el bloque de terminales

%MWxy.i.2:x3 Fallo de alimentacin externa

%MWxy.i.2:X4 Fallo interno: Mdulo H.S.


G

%MWxy.i.2:X5 Fallo de configuracin material o de programa

%MWx.yi.2:X6 Fallo de comunicacin

%MWxy.i.2:X7 Reservado

%MWxy.i.2:X8 Fallo externo: cortocircuito

%MWxy.i.2:X9 Fallo externo: fallo de lnea

%MWxy.i.2:X10 Reservado

a Reservado

%MWxy.i.2:X15 Reservado

4/3
%MWxy.MOD:Xj: Estado de los mdulos.

Direccin Significado

%MWxy.MOD:X0 Fallo interno: mdulo H.S.

%MWxy.MOD:X1 Fallo funcional (ext. o com.)

%MWxy.MOD:X2 Fallo en el bloque de terminal

%MWxy.MOD:X3 Autoprueba en curso

%MWxy.MOD:X4 Reservado

%MWxy.MOD:X5 Fallo de configuracin material o de programa

G
%MWxy.MOD:X6 Mdulo ausente

%MWxy.MOD:X7 Down-Fallo

%MWxy.MOD:X8 Fallo externo: disyuncin

%MWxy.MOD:X9 Fallo en la alimentacin externa

%MWxy.MOD:X10 Reservado

a Reservado

%MWxy.MOD:X15 Reservado

%MWx.i.3:X0: control Va con i = primera va del grupo de vas (0, 8, 16, ...)
Direccionamiento especfico a los mdulos de salidas con reanudacin.

Direccin Significado

%MWxy.3:X0 Reanudacin de las salidas en disyuncin (salidas


protegidas)

%MWxy.3:X1 Reservado

a Reservado

%MWxy.3:X15 Reservado

4/4
Bit y palabras asociadas a la funcin especfica TON 4

4.3 Lectura de la palabra de estado y de escritura de la palabra


de control
4.3-1 Lectura de la palabra de estado
El comando READ_STS %CHx.i asociado a la va permite la lectura explcita, en
el mdulo de entradas/salida, de la palabra de estado asociada al mdulo. Esta
lectura sirve para actualizar la Palabra de estado %MWx.MOD.2.
La palabra de estado incluye datos sobre el estado de funcionamiento del mdulo
y se puede utilizar para hacer un diagnstico de programa.

Sintaxis:
READ_STS%CH posicin mdulo.va

4.3-2 Escritura de la palabra de control de la va G


El comando WRITE_CMD %CHx.i permite la escritura explcita en el mdulo de
entradas o de salidas de la palabra de Control de la va asociada a la va.

Sintaxis:
WRITE_CMD%CH posicin mdulo.1 va del grupo

Nota:
Los comandos READ_STS y WRITE_CMD se realizan por grupos de vas. Para actualizar el
estado de todas las vas de un grupo de 8 vas, slo se necesita un comando (escribir la
direccin de la primera va del grupo).

Vanse ejemplos de la seccin F.

4/5
NOTAS:

S
A

Analgica I

Regulacin J

L
Funcin analgica ndice general
Seccin I
___________________________________________________________________________

Captulo Pgina
1 Configuracin de la funcin analgica 1/1

1.1 Introduccin 1/1

1.2 Notas sobre el editor de configuracin 1/1


1.2-1 Acceso al editor de configuracin 1/1
1.2-2 Seleccin del procesador 1/2
1.2-3 Seleccin de los mdulos 1/3

1.3 Acceso a la definicin de parmetros de la funcin analgica 1/4


1.3-1 Acceso a los parmetros de la interfaz analgica integrada 1/4
1.3-2 Acceso a los parmetros de un mdulo analgico 1/4

2 Funcin de configuracin de vas 2/1


I
2.1 Presentacin de la funcin de configuracin de vas 2/1
2.1-1 Configuracin de las vas por defecto 2/1

2.2 Visualizacin de los parmetros de vas 2/2

2.3 Modificacin de los parmetros de una va de entrada 2/5


2.3-1 Modificacin del ciclo de exploracin 2/6
2.3-2 Modificacin de la gama de entrada 2/7
2.3-3 Modificacin del formato de visualizacin 2/7
2.3-4 Modificacin del valor de filtrado 2/8
2.3-5 Modificacin de la tarea asignada a las entradas del mdulo 2/9

2.4 Modificacin de los parmetros de una va de salida 2/10


2.4-1 Modificacin del modo de retorno 2/11
2.4-2 Modificacin de la tarea asociada a la salida 2/11
2.4-3 Modificacin de la gama de salida (TSX ASZ 200) 2/12

___________________________________________________________________________
I/1
Funcin analgica ndice general
Seccin I
___________________________________________________________________________

Captulo Pgina
3 Funcin de Puesta a punto 3/1

3.1 Presentacin de la funcin de Puesta a p unto 3/1

3.2 Visualizacin de los parmetros de vas 3/1

3.3 Visualizacin del diagnstico del mdulo 3/3

3.4 Eliminacin del forzado de las vas de un mdulo 3/4

3.5 Ajuste de una va 3/5


3.5-1 Visualizacin del diagnstico detallado de la va 3/6
3.5-2 Modificacin del valor de filtrado 3/7
3.5-3 Forzado/cancelacin del forzado de una va 3/8
I
4 Bits y palabras asociados a la funcin analgica 4/1

4.1 Direccionamiento de objetos 4/1

4.2 Objetos lenguaje asociados a entradas/salidas analgicas 4/2

4.3 Objetos lenguaje %CH 4/5

4.4 Parmetros de configuracin 4/6

5 ndice 5/1

___________________________________________________________________________
I/2
Captulo 11
Configuracin de la funcin analgica
1 Configuracin de la funcin analgica
1.1 Introduccin
Antes de crear un programa de aplicacin, es necesario definir el contexto de
funcionamiento fsico en el cual se ejecutar, es decir, el tipo de procesador y los
mdulos de entradas/salidas utilizados.
El uso de las entradas/salidas analgicas (interfaz analgica integrada en la base
TSX 3722 o mdulos analgicos) requiere adems que se definan los parmetros de
las vas analgicas utilizadas (gama de entrada, nivel de filtrado, ...).
Por consiguiente, el programa PL7 Micro propone el editor de configuracin que
permite realizar fcilmente estas operaciones.
En el funcionamiento conectado de la aplicacin, este editor ofrece tambin una funcin
de puesta a punto que permite ajustar ciertos parmetros (por ejemplo, el filtrado) a fin
de adaptarlos de modo ptimo a la aplicacin.

1.2 Notas sobre el editor de configuracin


1.2-1 Acceso al editor de configuracin
Se puede acceder al editor de configuracin de dos maneras:
1 Desplegando el men Aplicacin y activando el comando Configuracin,
I

2 Haciendo clic sobre el icono de configuracin siguiente:

___________________________________________________________________________
1/1
1.2-2 Seleccin del procesador
El tipo de procesador-autmata utilizado y su versin se indica en una ventana situada
en la parte superior izquierda de la pantalla de configuracin. Para seleccionar un nuevo
automata, se utiliza el cuadro de dilogo desplegable:

Al seleccionar un nuevo procesador, aparece un cuadro de dilogo que permite validar


el cambio del autmata y visualizar la representacin grfica correspondiente.

___________________________________________________________________________
1/2
Configuracin de la funcin analgica 1

1.2-3 Seleccin de los mdulos


El mdulo se selecciona haciendo clic dos veces sobre la posicin deseada (por
ejemplo 5). Aparece el cuadro de dilogo siguiente:

Seleccionar en el campo Familia el tipo de mdulo (por ejemplo, Analgico), y luego en


el campo Mdulo la referencia del mdulo que se est configurando (por ejemplo,
TSX AEZ 801). Despus de validar con Aceptar, el mdulo se declara en su posicin
(sta aparece realzada y contiene la referencia del mdulo).
Atencin: el nmero mximo de mdulos analgicos que se pueden implantar en una
configuracin es 2 para un autmata TSX 3710 y 4 para un autmata TSX 3721/22.
Pueden instalarse sin distincin en el autmata o en la extensin. Adems, hay otro
lmite: el autmata de base no puede alojar ms de 2 mdulos TSX ASZ 200.

Nota :
Para eliminar un mdulo de su posicin, se hace clic sobre ste para seleccionarlo. Luego se
presiona la tecla <Supr>. Aparece un cuadro de dilogo. Se confirma la eliminacin del mdulo.

___________________________________________________________________________
1/3
1.3 Acceso a los parmetros de la funcin analgica
1.3-1 Acceso a la definicin de los parmetros de la interfaz analgica
integrada
Slo est accesible si el autmata es un TSX 37-22. El acceso se efecta haciendo
doble-clic sobre la representacin de la interfaz analgica.

1.3-2 Acceso a los parmetros de un mdulo analgico


El acceso se efecta haciendo doble-clic sobre la representacin del mdulo que se
desea configurar (por ejemplo, el mdulo TSX AEZ 801, situado en la posicin 5). El
acceso a la definicin de los parmetros del mdulo seleccionado (haciendo clic sobre
ste) puede efectuarse tambin mediante el comando Abrir el mdulo del men
desplegable Edicin.

___________________________________________________________________________
1/4
Captulo
Funcin de configuracin de vas 22
2 Funcin de configuracin de vas
2.1 Presentacin de la funcin de configuracin de vas
Se puede acceder a esta funcin desde cada mdulo, incluso desde la interfaz
integrada en la base TSX 37-22. La funcin permite visualizar y modificar los parmetros
de cada un de las vas del mdulo (gama elctrica, filtrado de las medidas, visualizacin
de las medidas, ...). Si no se modifican los parmetros de las vas, stas se configuran
con sus valores por defecto.

2.1-1 Configuracin de las vas por defecto


Los parmetros por defecto de cada uno de los mdulos analgicos son los siguientes
(sealados en la tabla) :

Mdulo Nmero Formato Visualizacin Asignacin Filtrado


de vas de visualizacin tarea
de la medida
Interfaz 8 entradas 0..10 V Def (1) MAST 0..6
(3)
integrada 0..20 mA FAST (2)
4..20 mA
1 salida 0..10 V (1) Def (1) MAST /
FAST I
TSX AEZ 801 8 entradas 10 V Def (%..) MAST 0..6
(3)
0..10 V User FAST (2)
TSX AEZ 802 8 entradas 0..20 mA Def (%..) MAST 0..6
(3)
4..20 mA User FAST (2)
TSX AEZ 414 4 entradas 10 V, 0..10 V Def (%..) MAST (1) 0..6
0..5 V (0..20 mA), User
1..5 V (4..20 mA)
Pt100, Ni1000 Def (1/10 C)
Termopar 1/10 F
tipo B, E, J, K, %..
L, N, R, S, T, U
TSX ASZ 401 4 salidas 10 V Def (1) MAST /
FAST
TSX ASZ 200 2 salidas 10 V Def (1) MAST /
0..20 mA FAST
4..20 mA

(1) Este parmetro no se puede modificar.


(2) En ciclo rpido nicamente.
(3) Todas las vas utilizadas.
Def : visualizacin por defecto (vanse los formatos de visualizacin de las medidas , descritos
en la seccin I del manual de instalacin).
___________________________________________________________________________
2/1
2.2 Visualizacin de los parmetros de vas
Esta pantalla muestra el mdulo seleccionado y sus parmetros configurados. Tambin
permite acceder a la funcin de modificacin de los parmetros (vase apartado
2.3) o a la funcin de Puesta a punto (vase el captulo 3).

1
2

I 1 Esta banda contiene la referencia de catlogo y la posicin del mdulo en el


autmata. En el caso de la interfaz integrada, las informaciones mostradas son la
referencia del autmata (TSX 3722) y la direccin de las vas: de 0.2 a 0.10.
2 Este rea de comandos indica la funcin en curso (funcin Configuracin) y
permite seleccionar en un cuadro de lista desplegable la funcin Puesta a punto.
Seleccionando la casilla Parmetros se accede a la modificacin de los parmetros
de la va seleccionada.
3 Este rea de nivel "mdulo" contiene la designacin corta del mdulo (por ejemplo,
4 salidas analgicas 10 V) y, en ciertos casos, informaciones complementarias
como:
para los mdulos de entradas TSX AEZ 801 / 802 y para la interfaz integrada en
las bases TSX 37-22, el ciclo de exploracin de las entradas:
Normal (por defecto): las entradas son muestreadas cada 32 ms, o
Rpida: slo se muestrean las entradas utilizadas.
Dos botones de control permiten modificar el modo seleccionado.

___________________________________________________________________________
2/2
Funcin de configuracin de vas 2

para el mdulo TSX AEZ 414 y si se selecciona una gama termopar, se realiza la
compensacin de soldadura fra: Interna (por defecto) o Externa.
Dos botones de control permiten modificar la soldadura fra seleccionada.
Si se trata de una soldadura fra externa, la va 0 se fuerza despus de la
confirmacin, a gama Pt100.

para los mdulos de salida o para la interfaz integrada en las bases TSX 37-22,
el modo de retorno de las salidas durante un fallo : Retorno a 0 (por defecto) o
Conservacin del valor.
Dos botones de control permiten modificar el modo seleccionado.

___________________________________________________________________________
2/3
4 Este rea de nivel "va" contiene los parmetros configurados para cada una de las
vas utilizadas del mdulo. Para las vas no utilizadas, slo se visualizan el nmero
de va y el smbolo:
Va: nmero de la va de entrada o de salida,
Smbolo: smbolo definido por el usuario y asociado al objeto lenguaje de la va.
Si la va no tiene ningn smbolo asociado, este campo est vaco,
Gama: gama actual de la va de entrada o de salida. Segn el tipo de mdulo, sta
puede ser elctrica ( 10 V, 0..10 V, 0..5 V, 1..5 V, 0..20 mA 4..20 mA), termopar
(de tipo B, E, J, K, L, N, R, S, T y U) o termosonda (Pt100 o Ni1000),
Filtro: valor del filtro segn la medida: 0 (sin filtrado), 1 y 2 (filtrado dbil), 3 y 4
(filtrado medio), 5 y 6 (filtrado fuerte).
Escala: formato de visualizacin de la medida. Puede ser normalizada 0..10000
10000 (%..) o Usuario (User),
Para los mdulos de entradas TSX AEZ 801 / 802 y para la interfaz integrada en las
bases TSX 37-22, esta zona indica tambin la tarea a la que se han asignado las
entradas: tarea MAST o tarea FAST (en ciclo de exploracin rpida solamente).
Mientras ocurre esto (en ciclo de exploracin rpida), un cuadro de lista desplegable
permite modificar dicha tarea.
Las entradas del mdulo TSX AEZ 414 se asignan siempre a la tarea MAST.

Para los mdulos de salidas, indica tambin la tarea al final de la cual se actualizan
las salidas: MAST o FAST. Un cuadro de lista desplegable permite modificar dicha
tarea.

Nota
Si no se dispone de un ratn, se puede pasar de la zona 3 a la zona 4 pulsando las teclas
<Shift> <F2>.

___________________________________________________________________________
2/4
Funcin de configuracin de vas 2

2.3 Modificacin de los parmetros de una va de entrada


El acceso a esta funcin requiere que se seleccione la casilla Parmetros (1). Aparece
un cuadro de dilogo (2) que permite modificar los parmetros de la va indicada por el
cursor en el rea de visualizacin (3).

(1)

(2)

(3)

I
Al seleccionar una nueva va en el rea de visualizacin (3) se accede a la modificacin
de parmetros en el cuadro de dilogo (2) que indica el nmero de la va seleccionada
de modo dinmico (por ejemplo, Parmetros va 3).
El acceso a la modificacin de los parmetros de una va puede efectuarse tambin
haciendo doble-clic sobre los parmetros en el rea de visualizacin (3), con lo que la
casilla Parmetros se activa automticamente.
Despus de modificar los parmetros, es necesario validar la nueva configuracin al
salir de la funcin. Se debe desplegar el men Edicin de PL7 Micro y seleccionar la
opcin Validar.
Tambin es posible salir de la funcin sin validar los parmetros.

___________________________________________________________________________
2/5
2.3-1 Modificacin del ciclo de exploracin
Se realiza mediante dos botones de control que permiten definir, para los mdulos
TSX AEZ 801 / 802 y la interfaz integrada en las bases TSX 37-22, el ciclo de exploracin
de las entradas:
ciclo Normal : las vas se muestrean cada 32 ms. Para las vas no utilizadas la medida
es igual a 0 y no hay ninguna informacin de estado disponible. El tiempo del ciclo del
mdulo es siempre 32 ms, sea cual sea el nmero de vas utilizadas.
La actualizacin de los registros de entrada se realiza al comienzo del ciclo de la tarea
MAST.
ciclo Rpido : slo se exploran las vas declaradas utilizadas (casilla correspondiente
marcada en el rea de dilogo). El perodo de muestreo depende, por tanto, del
nmero de vas utilizadas:
Nmero de vas utilizadas 1 2 3 4 5 6 7 8
Tiempo de ciclo del mdulo (ms) 4 8 12 16 20 24 28 32

La actualizacin de los registros de entradas se realiza al comienzo del ciclo de la


tarea a la cual se ha asignado el mdulo (MAST o FAST).

Observacin
Los parmetros de los ciclos Normal/Rpido y de la va Utilizada no se pueden
modificar en modo conectado,si la aplicacin se ha transferido en el autmata con
los valores por defecto de dichos parmetros (ciclo normal y todas las vas
utilizadas).

___________________________________________________________________________
2/6
Funcin de configuracin de vas 2

2.3-2 Modificacin de la gama de entrada


Se efecta en un cuadro de lista desplegable que permite seleccionar la nueva gama
de entrada de la va: 10V, 0..10 V, 4..20 mA, ... Una vez efectuada la seleccin, sta
aparece en el rea de visualizacin de los parmetros de la va.

2.3-3 Modificacin del formato de visualizacin


Se efecta modificando los valores de las ventanas Escala. Si se seleccionan los valores
por defecto (presentacin normalizada), el rea de visualizacin de los parmetros de la va I
indica %... En caso contrario (presentacin de usuario), indica User.

En el caso de un mdulo TSX AEZ 414 y si el usuario selecciona una gama termopar
o termosonda, se proponen dos botones de control para definir la unidad en la que las
medidas de la va se muestran: C (Celsius) o F (Fahrenheit).
La escala de temperatura puede ser por defecto la del termopar o la del termosonda
elegido, definida en dcimo grado (por ejemplo, -600 a +1100 dcimos C para una
sonda Ni1000). En este caso el rea de visualizacin de los parmetros de la va
muestra 1/10C 1/10F dependiendo de la unidad de temperatura elegida.

___________________________________________________________________________
2/7
Si est activada la casilla Normalizada, la visualizacin es en este caso normalizada
0..100 %, con los lmetes inferiores y superiores por defecto (por ejemplo, -2000 a
8500 dcimos de C para una sonda Pt100). Si se modifica al menos uno de los lmites,
la visualizacin se vuelve normalizada por el usuario (por ejemplo, -1000 a
+5000 dcimos de C para una sonda Pt100). Cuando la escala de temperatura es
normalizada (con los lmites por defecto o usuario), el rea de visualizacin de los
parmetros de la va muestra %.. independientemente de la unidad de temperatura
empleada.

I
2.3-4 Modificacin del valor de filtrado
Se realiza mediante un cuadro de lista desplegable que permite elegir el nuevo valor de
filtrado de la va: 0 (sin filtrado), 1 y 2 (filtrado dbil), 3 y 4 (filtrado medio), 5 y 6 (filtrado
fuerte). El valor del coeficiente alfa del filtro elegido y el tiempo de respuesta asociado
aparecen en la barra de estado en la parte inferior de la pantalla. Una vez hecha la seleccin,
el resultado aparece en el rea de visualizacin de los parmetros de la va.
En ciclo de exploracin rpida (TSX AEZ 801 / 802 e interfaz intgrada en las bases
TSX 37-22), el filtrado no es programable.

___________________________________________________________________________
2/8
Funcin de configuracin de vas 2

2.3-5 Modificacin de la tarea asignada a las entradas del mdulo


Se realiza a travs de un cuadro de lista desplegable que permite definir la tarea al
comienzo de la cual las entradas se tendrn en cuenta: tarea MAST o tarea FAST. Slo
se puede acceder a esta funcin en el modo de ciclo de exploracin rpida para los
mdulos TSX AEZ 80/802 y la interfaz integrada en las bases TSX 37-22.

Observacin
Se recomienda no asignar a la tarea FAST, ms de 2 mdulos analgicos de 4 vas I
utilizadas cada uno. Fuera de estas recomendaciones el sistema "overhead"
necesario se vuelve prohibitivo para una tarea FAST.

___________________________________________________________________________
2/9
2.4 Modificacin de los parmetros de una va de salida
Slo la modificacin de la gama de salida (TSX ASZ 200) requiere que se seleccione
la casilla Parmetros (1). Aparece un cuadro de dilogo (2).
A los dems parmetros de salida modificables se accede directamente desde el rea
de visualizacin de los parmetros (vase apartado 2.2).

(1)

(2)

I
Tambin es posible acceder a la modificacin de los parmetros haciendo doble-clic
sobre una va, lo que activa automticamente la casilla Parmetros.
Despus de modificar los parmetros y antes de salir de la funcin, es necesario validar
la nueva configuracin. Se debe desplegar el men Edicin de PL7 Micro y seleccionar
la opcin Validar. Tambin es posible salir de la funcin sin validar los parmetros.

___________________________________________________________________________
2/10
Funcin de configuracin de vas 2

2.4-1 Modificacin del modo de retorno


Se efecta mediante dos botones de control que permiten definir el funcionamiento de
las salidas al detectarse un fallo o cuando el autmata pasa a STOP: Retorno de las
salidas a 0 (modo por defecto) o conservacin del valor de las salidas (ltimo valor
calculado o valor de forzado, si la salida estaba forzada).

2.4-2 Modificacin de la tarea asociada a la salida


Se efecta en un cuadro de lista desplegable que permite definir para dos vas
consecutivas (vas 0 y 1 o vas 2 y 3) la tarea al final de la que se actualizan las salidas:
tarea MAST o tarea FAST.

___________________________________________________________________________
2/11
2.4-3 Modificacin de la gama de salida (TSX ASZ 200)
Se efecta en un cuadro de lista desplegable que permite seleccionar la nueva gama
de salida de la va: 10 V, 0..20 mA, 4..20 mA. Una vez efectuada la seleccin, sta
aparece en el rea de visualizacin de los parmetros de la va.

___________________________________________________________________________
2/12
Funcin de PuestaCaptulo
a punto 33
3 Funcin de Puesta a punto
3.1 Presentacin de la funcin de Puesta a punto
Slo es posible acceder a esta funcin en modo conectado (men Autmata, comando
Conectar). En cada mdulo analgico de la aplicacin, incluso en la interfaz integrada
en el autmata TSX 3722, esta funcin permite visualizar los parmetros de cada una
de sus vas (valor de la medida, valor del filtrado, ...) y acceder al diagnstico y al ajuste
de la va seleccionada (modificacin del filtrado, forzado de la va, ...). La funcin permite
tambin el acceso al diagnstico de un mdulo en caso de detectarse algn fallo.
El acceso a la funcin de Puesta a punto se efecta mediante el cuadro de dilogo
desplegable del rea de comandos que permite tambin regresar a la funcin
Configuracin.

3.2 Visualizacin de los parmetros de las vas


Esta pantalla identifica el mdulo seleccionado y muestra en tiempo real el valor y el I
estado de cada va. Tambin permite acceder al ajuste de ciertos parmetros de las vas
(forzado del valor de entrada o de salida, ajuste del valor de filtrado, ...).

___________________________________________________________________________
3/1
1
2

1 Esta banda contiene la referencia de catlogo y la posicin del mdulo en el


autmata. En el caso de la interfaz integrada, las informaciones mostradas son la
referencia del autmata (TSX 3722) y la direccin de las vas de 0.2 a 0.10,
2 Este rea de comandos contiene la funcin en curso (funcin Puesta a punto) y
permite seleccionar en un cuadro de lista desplegable la funcin Configuracin. La
activacin de la casilla Parmetros da acceso al ajuste de ciertos parmetros de la
va seleccionada,
3 Este rea de nivel "mdulo" contiene una designacin corta del mdulo (por
ejemplo, 8 entradas analgicas 10 V). Propone tambin dos botones de control
I que permiten respectivamente:
acceder al diagnstico del mdulo en caso de fallo. Un indicador rojo integrado en
el botn de acceso al diagnstico seala el fallo.
eliminar globalmente todos los forzados eventuales de las vas,
4 Este rea de nivel "va" muestra en tiempo real el valor y el estado de cada va del
mdulo:
Va: nmero de la va de entrada o de salida,
Smbolo: smbolo definido por el usuario y asociado al objeto lenguaje de la va.
Si la va no tiene ningn smbolo asociado, este campo est vaco,
F: estado de forzado de la va: F para una va forzada, ninguna indicacin para una
va no forzada,
Err: estado de la va. ERR indica un fallo de va,
Valor: valor de la va,
Filtro: valor del filtro segn la medida: 0 (sin filtrado), 1 y 2 (filtrado dbil), (3 y 4)
filtrado medio, 5 y 6 (filtrado fuerte).

___________________________________________________________________________
3/2
Funcin de Puesta a punto 3

3.3 Visualizacin del diagnstico del mdulo


Cuando se detecta un fallo en un mdulo, un determinado nmero de indicadores en las
pantallas del editor de configuracin se vuelven rojos:
indicador de posicin de mdulo en la pantalla que lo representa (primera pantalla del
editor de configuracin),
indicador integrado en el botn de control DIAG en el rea de nivel "mdulo".
indicador integrado en el botn de control DIAG en el rea de nivel "mdulo".

indicador de fallo
de color rojo

Lista de fallos del mdulo


Mdulo defectuoso
Fallo de va(s)
Fallo de configuracin
Mdulo ausente o desconectado
Nota
Si se trata de un fallo de configuracin o de un mdulo ausente, no es posible acceder a la pantalla
de diagnstico de mdulo. En la pantalla aparece el mensaje siguiente:"El mdulo est ausente
o es distinto al configurado en esta posicin".

___________________________________________________________________________
3/3
3.4 Eliminacin del forzado de las vas de un mdulo
Se efecta mediante el botn de control Cancelar forzados globalmente que permite
eliminar el forzado de todas las vas del mdulo.

___________________________________________________________________________
3/4
Funcin de Puesta a punto 3

3.5 Ajuste de una va


El acceso al ajuste de una va requiere que se seleccione la casilla Parmetros (1).
Aparece un cuadro de dilogo (2) que permite ajustar ciertos parmetros de la va
indicada por el cursor en el rea de visualizacin (3).

(1)

(3) (2)

La seleccin de una nueva va en el rea de visualizacin (3) da acceso al ajuste de sus


parmetros en el rea de dilogo (2) que indica de modo dinmico el nmero de la va
seleccionada (por ejemplo, Ajustes Va 0).

___________________________________________________________________________
3/5
3.5-1 Visualizacin del diagnstico detallado de la va
Cuando se detecta un fallo en una va, su valor aparece precedido de ERR. El botn de
control DIAG, situado en el rea de Ajuste, permite acceder a una pantalla de diagnstico
de "va" (idntica a la de diagnstico de "mdulo") que indica los fallos de la va, ordenados
por categora: fallos internos, fallos externos u otros fallos.

Lista de fallos de la va
I Fallo conexin sensor
Fallo desbordamiento gama
Fallo de configuracin
Fallo de la aplicacin
Va forzada
Fallo de alimentacin 24 V (para salidas y entradas TSX AEZ 414)

___________________________________________________________________________
3/6
Funcin de Puesta a punto 3

3.5-2 Modificacin del valor de filtrado


Se efecta en un cuadro de lista desplegable que permite seleccionar el nuevo valor del
filtro en la va seleccionada: 0 (sin filtrado), 1 y 2 (filtrado dbil), 3 y 4 (filtrado medio),
5 y 6 (filtrado fuerte). Una vez efectuada y validada la seleccin, sta aparece en el rea
de visualizacin de los parmetros.

Sea cual fuere el perodo de exploracin (normal o rpido), no se puede modificar el


filtrado de una va no utilizada (TSX AEZ 801/802 e interfaz integrada en las bases
TSX 37-22).
Tampoco se puede modificar el filtrado de las vas utilizadas en ciclo rpido.
I

___________________________________________________________________________
3/7
3.5-3 Forzado/cancelacin del forzado de una va
El forzado de la va seleccionada se efecta mediante el botn de control Forzar; el
valor del forzado se define en el campo de introduccin Forzado. Cuando una va se
fuerza, la informacin F aparece en el rea de visualizacin.
Para cancelar el forzado de una va, se selecciona sta y luego se presiona el botn de
control Cancelar forzado.

Forzado de una entrada


Cuando se fuerza una entrada analgica, el valor presente en la entrada del mdulo no
I est disponible. El valor forzado se indica en la pantalla en los campos Valor y
Forzado de la pantalla.
El forzado de las entradas est activo tanto si el autmata est en RUN como en STOP.
Cualquiera que sea el ciclo de exploracin (normal o rpido), no es posible realizar el
forzado de las entradas de una va no utilizada (TSX AEZ 801/802 e interfaz integrada
en las bases TSX 37-22).
Forzado de una salida
Cuando se fuerza una salida analgica, el valor presente en la salida del mdulo se
indica en la pantalla en el campo Forzado. El valor calculado por el programa de
aplicacin se indica en el campo Valor.
El forzado de las salidas est activo nicamente si el autmata est en RUN.

___________________________________________________________________________
3/8
Bits y palabras asociados a la funcin Captulo
analgica 4
4

4 Bits y palabras asociados a la funcin analgica


4.1 Direccionamiento de objetos
El direccionamiento de los principales objetos bits y palabras asociados a mdulos se
define en la seccin A, apartado 1.2-2.
Nota
% I, Q, M, K X, W, D x i r

Signo Tipo de objeto Formato Posicin N va Rango


IEC 1131 I = entrada X = booleano x = nmero de i = 0 a 127 r = 0 a 255
Q = salida W = palabra posicin en o MOD o ERR
M = pal. interna D = doble pal. los racks
K = pal. constante

Complementos
Tipo de objetos:
M: datos intercambiados en lectura o escritura a solicitud de la aplicacin.
K: informaciones de configuracin disponibles en slo lectura.
Ejemplo: %MW2.0.2 representa la palabra de estado de la va 0 del mdulo 2.
N va:
MOD: va reservada a la gestin del mdulo y de los parmetros comunes a las vas
que el mdulo soporta.
Ejemplo: %I4.MOD.ERR representa la informacin de fallo del mdulo 4. I
Rango:
Permite localizar los distintos objetos del mismo tipo asociados a una misma va.
Ejemplo: %MW2.0.2 representa la palabra de rango 2 de la va 0 del mdulo 2.
ERR indica un fallo en el mdulo o en la va.
Ejemplos: %I4.MOD.ERR representa la informacin de fallo del mdulo 4.
%I4.3.ERR representa la informacin de fallo de la va 3 del mdulo 4.
1 2
El editor de variables permite acceder a
todos los objetos asociados a un mdulo.
Se selecciona E/S en la lista desplegable
(1) y se introduce la posicin del mdulo
en el campo Direccin de mdulo (2).
Todas las variables asociadas a la funcin
analgica pueden simbolizarse.

___________________________________________________________________________
4/1
4.2 Objetos lenguaje asociados a entradas/salidas analgicas
La configuracin de un mdulo de entradas/salidas analgicas, en una posicin dada,
genera automticamente un conjunto de objetos lenguaje necesarios para la
programacin y el diagnstico de este mdulo. La interfaz integrada en el autmata
SX 37-22 se considera como el mdulo en la posicin 0 y sus objetos lenguaje
asociados se generan durante la seleccin del procesador.
Hay varios tipos de objetos lenguaje asociados a la funcin analgica:
los objetos de intercambio implcito que se intercambiasn automticamente en cada
ciclo de la tarea en la que se configuran las vas del mdulo o de la interfaz integrada.
Bits:
%Ix. MOD.ERR: bit de fallo del mdulo. En el estado 1, este bit seala un fallo del
mdulo situado en la posicin x,
%Ix.i.ERR: bit de fallo de la va. En el estado 1, este bit seala un fallo de la va i del
mdulo situado en la posicin x.
Palabras:
%IWx.i: va de entrada i del mdulo situado en la posicin x (nota: para las entradas
integradas en la base TSX 37-22, x = 0 e i comprendido entre 2 y 9),
%QWx.i : va de salida i del mdulo situado en la posicin x (nota: para la salida
integrada en la base TSX 37-22, x = 0 e i = 10).
Por ejemplo, la palabra %IW5.3 contiene el valor de la entrada 3 del mdulo situado
en la posicin 5.
I los objetos de intercambio explcito que se intercambian mediante instrucciones.Estos
objetos slo son tiles para una programacin avanzada de la funcin especfica (para
ms informacin sobre los intercambios explcitos, vase el apartado 4.3).
Palabras internas:

Tipo de palabra Direccin Analgica Mdulo Mdulo


integrada de entradas de salidas

No utilizado %MWx.MOD
No utilizado %MWx.MOD.1
Estado mdulo %MWx.MOD.2 x x x
No utilizado %MWx.MOD.3

Intercambio en curso %MWx.i x x x


Confirmacin interc. %MWx.i.1 x x x
Estado va %MWx.i.2 x x x
No utilizado %MWx.i.3
%MWx.i.6
Ajuste %MWx.i.7 x x

___________________________________________________________________________
4/2
Bits y palabras asociados a la funcin analgica 4

%MWx.MOD.2: palabra de estado del mdulo, actualizacin slo a peticin.

Direccin Rango bit Significado


%MWx.MOD.2:X0 0 Mdulo defectuoso
%MWx.MOD.2:X1 1 Fallo de va(s)
%MWx.MOD.2:X2 2 Reservado
%MWx.MOD.2:X3 3 Autocomprobacin en curso
%MWx.MOD.2:X4 4 Reservado
%MWx.MOD.2:X5 5 Fallo de configuracin
%MWx.MOD.2:X6 6 Mdulo ausente o desconectado
%MWx.MOD.2:X7 15 7 a 15 Reservado

%MWx.i.2: palabra de estado de la va i, actualizacin slo a peticin.

Direccin Rango bit Significado


%MWx.i.2:X0 0 Fallo conexin sensor
%MWx.i.2:X1 1 Fallo de desbordamiento de gama
%MWx.i.2:X2 2 Reservado
%MWx.i.2:X3 3 Fallo alimentacin 24 V (mdulos de salida)
I
%MWx.i.2:X4 4 Mdulo defectuoso
%MWx.i.2:X5 5 Fallo de configuracin
%MWx.i.2:X6 6 Fallo de comunicacin
%MWx.i.2:X7 7 Valor parmetro de ajuste fuera de lmites
%MWx.i.2:X8 8 Va no lista (*)
%MWx.i.2:X9 12 9 a 12 Reservado
%MWx.i.2:X13 13 Va forzada
%MWx.i.2:X14 15 14 a 15 Reservado

(*) va no lista: inicializacin en curso de un mdulo.

%MWx.i.7: palabra de comando que contiene los coeficientes de filtrado.

___________________________________________________________________________
4/3
los objetos de configuracin accesibles en slo lectura y que contienen los
parmetros de configuracin.
Palabras constantes:

Tipo de palabra Direccin Analgica Mdulo Mdulo


integrada de entradas de salidas

Configuracin %KWx.i x x x
Configuracin %KWx.i.1 x
Configuracin %KWx.i.2 x

%KWx.i: palabra de configuracin que contiene los parmetros de las vas definidas
en el editor de configuracin (vase apartado 4.4 - Anexos).
%KWx.i.1: palabra de configuracin que contiene los valores mnimos de escala.
%KWx.i.2: palabra de configuracin que contiene los valores mximos de escala.

___________________________________________________________________________
4/4
Bits y palabras asociados a la funcin analgica 4

4.3 Objetos lenguaje %CH


El objeto lenguaje %CH se utiliza en las lecturas y escrituras explcitas. Permite:
leer las palabras de estado del mdulo y de las vas,
escribir los parmetros de ajuste asociados a las vas,
leer los parmetros de ajuste asociados a las vas,
guardar los parmetros de ajuste,
restaurar los parmetros de ajuste.
Lectura de la palabra de estado
Para leer la palabra de estado del mdulo, se utiliza la sintaxis siguiente:
READ_STS %CHx.MOD x = posicin del mdulo
Por ejemplo, READ_STS%CH3.MOD actualiza el contenido de la palabra %MW3.MOD.2
Para leer las palabras de estado de las vas, se utiliza la sintaxis siguiente:
READ_STS %CHx.i x = posicin del mdulo
i = vase la tabla
Mdulo Interfaz integrada TSX TSX TSX TSX TSX
Entradas Salida AEZ 801 AEZ 802 AEZ 414 ASZ 401 ASZ 200
Valor de i 2 10 0 0 0 0 (vas 0, 1) 0
2 (vas 2, 3)

Por ejemplo, READ_STS%CH3.0 en un mdulo TSX AEZ 414, actualiza el contenido I


de las palabras %MW3.0.2, %MW3.1.2, %MW3.2.2 y %MW3.3.2.
Escritura de los parmetros de ajuste
Para leer los parmetros de ajuste de vas, se utiliza la sintaxis siguiente:
WRITE_PARAM %CHx.i x = posicin del mdulo
i = dem READ_STS
Lectura de los parmetros de ajuste
Para leer los parmetros de ajuste de vas, se utiliza la sintaxis siguiente:
READ_PARAM %CHx.i x = posicin del mdulo
i = dem READ_STS
Guardar parmetros de ajuste
Para guardar los parmetros de ajuste de las vas, se utiliza la sintaxis siguiente:
SAVE_PARAM %CHx.i x = posicin del mdulo
i = dem READ_STS
Restaurar parmetros de ajuste
Para restaurar los parmetros de ajuste de las vas, se utiliza la sintaxis siguiente:
RESTORE_PARAM %CHx.i x = posicin del mdulo
i = dem READ_STS
___________________________________________________________________________
4/5
4.4 Parmetros de configuracin
%KWx.i.0: palabra de comando que contiene los parmetros de configuracin del
nivel va. Los bits menos significativos (bits de 0 a 7) codifican la gama de utilizacin
(10 V, 4-20 mA, Pt100, ...); los bits ms significativos (bits de 8 a 15) codifican los
tratamientos efectuados (presentacin de usuario, retorno de salidas a 0, ...).
Vas de entrada

Direccin Rango bit Significado


%KWx.i.0:X0 0 Gama de utilizacin codificada en 6 bits:
%KWx.i.0:X1 1 00 0000 = reservado
%KWx.i.0:X2 2 00 0001 = 4 - 20 mA o Termopar B
%KWx.i.0:X3 3 00 0010 = 0 - 20 mA o Termopar E
%KWx.i.0:X4 4 00 0011 = Termopar J
%KWx.i.0:X5 5 00 0100 = Termopar K
00 0101 =Termopar N
00 0110 = Termopar R
00 0111 = 1 - 5 V o Termopar S
00 1000 = Termopar T
00 1001 = 5 V o Termopar U
00 1010 = 10 V o Termopar L
00 1011 a 01 1111 = reservado
10 0000 = Pt100
I 10 0001 = reservado
10 0010 = Ni1000
10 0011 a 111101 = reservado
11 1110 = gama TON
11 1111 = reservado
%KWx.i.0:X6 6 Polaridad:
si gama elctrica
0 -> unipolar, 1 -> bipolar
si gama en temperatura
0 -> C, 1 -> F
%KWx.i.0:X7 7 Tipo de gama:
0 -> elctrica, 1 -> temperatura
%KWx.i.0:X8 8 Ciclo de exploracin
0 -> normal, 1 -> rpido
%KWx.i.0:X9 9 Va utilizada
0 -> s, 1 -> no
%KWx.i.0:X10 10 No utilizada
%KWx.i.0:X11 11 No utilizada

___________________________________________________________________________
4/6
Bits y palabras asociados a la funcin analgica 4

Vas de entrada (continuacin)

Direccin Rango bit Significado


%KWx.0.0:X12 (*) 12 Compensacin de soldadura fra:
0 -> interna, 1 -> externa
%KWx.i.0:X13 13 Escala:
0 -> Diseador, 1 -> Usuario (User)
%KWx.i.0:X14 14 No utiliada
%KWx.i.0:X15 15

(*) La compensacin de soldadura fra es un parmetro de nivel mdulo, codificado nicamente


en la va 0. Slo afecta al mdulo TSX AEZ 414.

___________________________________________________________________________
4/7
Vas de salida

Direccin Rango bit Significado


%KWx.i.0:X0 0 Gama de salida codificada en 6 bits :
%KWx.i.0:X1 1 00 0000 = reservado
%KWx.i.0:X2 2 00 0001 = 4 - 20 mA
%KWx.i.0:X3 3 00 0010 = 0 - 20 mA
%KWx.i.0:X4 4 00 0011 a 00 1001 = reservado
%KWx.i.0:X5 5 00 1010 = 10 V
00 1011 a 11 1111 = reservado
%KWx.i.0:X6 6 Polaridad:
0 -> unipolar, 1 -> bipolar
%KWx.i.0:X7 7 Reservado
%KWx.i.0:X8 8 Modo de retorno :
0 -> retorno, 1 -> conservacin
%KWx.i.0:X9 9 Reservado
%KWx.i.0:X10 10
%KWx.i.0:X11 11 Reservado
%KWx.i.0:X12 12 a Reservado
%KWx.i.0:X15 15
I

___________________________________________________________________________
4/8
Funcin de regulacin Sumario
Apartado J
___________________________________________________________________________

Captulo Pgina
1 Presentacin 1/1

1.1 Generalidades 1/1

1.2 Componentes 1/2

1.3 Principio del bucle de regulacin 1/3

1.4 Proposicin de metodologa 1/4

2 Descripcin de las funciones de regulacin 2/1

2.1 Generalidades acerca de las funciones 2/1


2.1-1 Definicin 2/1
2.1-2 Modos de funcionamiento 2/1
2.1-3 Programacin 2/3

2.2 La funcin PID 2/4 J


2.2-1 Funcionalidad 2/4
2.2-3 Programacin del PID 2/8

2.3 La funcin PWM 2/11


2.3-1 Funcionalidad 2/11
2.3-2 Descripcin 2/11
2.3-3 Programacin de la funcin PWM 2/13

2.4 La funcin SERVO 2/15


2.4-1 Funcionalidad 2/15
2.4-2 Descripcin 2/15
2.4-3 Programacin de la funcin SERVO 2/18

2.5 Las funciones segn los modos de marcha del autmata 2/20
2.5-1 Arranque en fro 2/20
2.5-2 Arranque en caliente 2/20
2.5-3 Agregar una nueva llamada de funcin en modo conectado 2/20
___________________________________________________________________________
J/1
Funcin de regulacin Sumario
Apartado J
___________________________________________________________________________

Captulo Pgina
3 Dilogo de operador en el CCX 17 3/1

3.1 Dilogo de operador en el CCX 17 3/1

3.2 Descripcin de las pantallas predefinidas 3/2


3.2-1 Seleccin de un bucle 3/2
3.2-2 Control de un bucle 3/3
3.2-3 Ajuste de un bucle 3/4

3.3 La funcin PID_MMI 3/5


3.3-1 Propsito de la funcin PID_MMI 3/5
3.3-2 Descripcin de la funcin PID_MMI 3/5
3.3-3 Programacin de la funcin PID_MMI 3/6
3.3-4 La funcin PID_MMI segn los modos de marcha
del autmata y del CCX 17 3/9

4 Instalacin de una aplicacin de regulacin 4/1

J
4.1 Ajuste de los bucles/depuracin de la aplicacin 4/1
4.1-1 Con el CCX 17 4/1
4.1-2 Sin el CCX 17 4/2

4.2 Diagnstico / Mantenimiento 4/3

4.3 Complemento de programacin 4/4


4.3-1 Agregar una desviacin a la salida 4/4
4.3-2 PID en cascada 4/5

5 Ejemplo de aplicacin 5/1

5.1 Regulacin de temperatura 5/1


5.1-1 Descripcin de la aplicacin 5/1
5.1-2 Configuracin del hardware 5/3
5.1-3 Sinptica del bucle de regulacin 5/4
5.1-4 Programacin 5/4
___________________________________________________________________________
J/2
Funcin de regulacin Sumario
Apartado J
___________________________________________________________________________

Captulo Pgina
6 Anexos 6/1

6.1 Notas sobre la regulacin 6/1


6.1-1 Mtodo de ajuste de los parmetros PID 6/1
6.1-2 Propsito e influencia de los parmetros de un PID 6/3

6.2 Caractersticas de las funciones 6/7


6.2-1 Espacio memoria 6/7
6.2-2 Tiempos de ejecucin de las funciones 6/7

___________________________________________________________________________
J/3
aptre 1 Captulo 11
Presentacin
Presentacin
1.1 Generalidades
Las funciones de regulacin son elementos de base del lenguaje PL7 Micro que
permiten programar bucles de regulacin en los autmatas
Estas funciones satisfacen especialmente las necesidades siguientes:
el proceso secuencial que requiere funciones de regulacin auxiliares (ejemplos:
mquinas de embalaje en pelcula de plstico, mquinas de tratamiento de superficie,
prensas...),
el proceso de regulacin simple (ejemplos: hornos para tratamiento de metales,
hornos para cermica, pequeos grupos frigorficos...),
las particularidades de regulacin y control mecnico cuyo tiempo de muestreo es
crtico (ejemplos: regulacin de pares, regulacin de velocidad).
Las interfaces preconfiguradas con la gama de CCX 17 permiten controlar y ajustar
bucles de regulacin. En este contexto, CCX 17 puede acceder a hasta 9 bucles de
regulacin.

Observacin
No se limita el nmero de funciones PID en una aplicacin.
Prcticamente, es el nmero mximo de mdulos de entrada y salida aceptado por
el autmata que limita el nmero de bucles.

Importante

El dilogo operador (PID_MMI) funciona con la versin 2 de las consolas CCX 17. J

___________________________________________________________________________
1/1
1.2 Componentes
Los elementos de software que contienen las funciones esenciales para realizar
aplicaciones de regulacin constan por una parte de una familia de funciones y por otra
de pantallas predefinidas para los terminales CCX 17. La familia de funciones comprende
3 funciones algortmicas y una funcin de dilogo de operador.

Las funciones de regulacin bsicas son:


PID: para realizar una correccin de tipo PID mixto (serie - paralelo),
PWM: para realizar las adaptaciones de modulacin de duracin en las salidas TON,
SERVO: para realizar las adaptaciones de control de motor.
La funcin de dilogo de operador PID-MMI integra un programa de aplicacin de
control y ajuste de los PID para la aplicacin en el terminal CCX 17. A esta funcin se
asocian tres tipos de pantallas preconfiguradas:
J la primera contiene la lista de bucles implantados (mx. 9) y permite seleccionar el
bucle deseado,
la segunda controla el bucle seleccionado,
la tercera permite ajustar y modificar los parmetros del corrector seleccionado.

___________________________________________________________________________
1/2
Presentacin 1

1.3 Principio del bucle de regulacin


El funcionamiento de un bucle de regulacin comprende tres fases:
la adquisicin de la(s) medida(s) (que proviene(n) de los captadores de proceso) y del
(los) valor(es) de consigna (que proviene(n) generalmente de las variables internas
del autmata o de los datos del terminal CCX 17).
la ejecucin del algoritmo de regulacin PID,
el envo de los controles adaptados a las caractersticas de los accionadores que se
controlan mediante las salidas TON o analgicas.
Los autmatas TSX 37-10, TSX 37-21 y TSX 37-22 disponen de interfaces:
analgicas: para medidas de corriente (4-20 mA,...), tensin ( 10V,..), PT100,
NI1000, Termopares ...
de contaje: para medidas que provienen del codificador de impulsos o de incrementos.
El algoritmo PID elabora la seal de control desde:
la medida muestreada por el mdulo de entrada,
el valor de consigna definido por el operador o el programa,
los valores de los parmetros del corrector.
La seal que emite el corrector es tratada o directamente por una tarjeta de salida
analgica del autmata conectado al accionador, o por las adaptaciones PWM o
SERVO en funcin de los tipos de accionadores que se controlan en una tarjeta de
salida TON del autmata.
Dilogo de operador

J
CCX17

E
N S
T A
R L
A Corrector Adaptador I
D D C
M A A O
E S TSX Micro S N
D T
I R
A
D C
C O
A
A P
C L
I
T O
A Proceso controlado N
D A
O D
R O
R
E
E
S S

___________________________________________________________________________
1/3
1.4 Proposicin de metodologa
El esquema siguiente describe el encadenamiento de las tareas que se realizan al crear
y depurar una aplicacin de regulacin.

Aplicacin / Configuracin
Configuracin de las interfaces
TON, analgicas y contajes

Aplicacin / Datos Programacin: Ladder, List


Introduccin de datos, FAST, MAST, SR
constantes, mnemnicos, Captulo 2
Funciones de regulacin,
valores numricos Dilogo de operador

Autmata / Conectar
Transferencia de la aplicacin
en el autmata

Captulo 3.2
Tabla de animacin
Captulo 4.1 Depuratin
Tabla de variables
Depuracin del por el CCX 17
programa y ajuste

Archivo / Guardar Utilizacin Utilizacin


Guardar de los bucles Captulo 5 del proceso por
la aplicacin de regulacin el CCX 17

Documentacin
Dosier de
aplicacin

___________________________________________________________________________
1/4
Captulo 22
Descripcin de las funciones de regulacin
2 Descripcin de las funciones de regulacin
2.1 Generalidades acerca de las funciones
2.1-1 Definicin
El acceso a las funciones se efecta desde el men Llamada de funcin durante la
programacin o con las teclas Mays-F8 o directamente desde el
icono.

El acceso a las funciones de regulacin se efecta desde la familia "Regulacin".

2.1-2 Modos de funcionamiento


En LADDER:
Se presionan simultneamente las teclas Mays-F8 o se selecciona el
icono que se coloca en el escaln. Aparece la ventana Llamada de
funcin.

1. Seleccione la familia deseada.

___________________________________________________________________________
2/1
2. Seleccione la funcin.

3. Introduzca los parmetros de la funcin en el rea de introduccin. Cuando se han


introducido todos los parmetros, valide con la tecla Aceptar o INTRO del teclado.

4. La funcin aparece. Para que se


incluya en el programa, valide con las
teclas Mays-INTRO del teclado.

En LIST:
Si se trata de una introduccin en lenguaje
IL, se aconseja cargar el acumulador a 1
J para efectuar una llamada no condicionada
de la funcin, y luego abrir el corchete
para la llamada.

Para acceder a la lista de funciones, se selecciona en el men 'Servicios' el submen


'Introducir la llamada de una funcin', o se presionan simultneamente las teclas Mays
y F8. Se procede luego del mismo modo que en Ladder.

Una vez introducida la funcin, se cierra el corchete y se valida con Mays-INTRO.

Nota
Para ms amplia informacin acerca de estas funciones, vase el apartado C.

___________________________________________________________________________
2/2
Descripcin de las funciones de regulacin 2

2.1-3 Programacin
Importante

Las funciones de regulacin deben programarse en una tarea peridica (MAST


peridica o FAST). Estas no deben condicionarse.

Todos los parmetros de las funciones de regulacin deben definirse.


Las funciones utilizan tres tipos de parmetros:
parmetros en slo lectura, includos en el inicio de la ejecucin de la funcin,
parmetros en slo escritura, posicionados al final de la ejecucin de la funcin,
parmetros en lectura y escritura, cuyo contenido se incluye en el inicio de la
ejecucin de la funcin y que luego se actualiza con los resultados de la funcin.
Los parmetros de entrada de tipo palabra son valores analgicos expresados en la
escala |0, +10000]; pueden conectarse directamente a captadores de medida mediante
las %IWxxx de las entradas analgicas.
Los parmetros de salida de tipo bit permiten controlar accionadores de tipo TON;
pueden conectarse directamente a variables de tipo %Qx.y.
Del mismo modo, los parmetros de salida de tipo palabra permiten controlar
accionadores de tipo analgico en la escala [0, +10000]; pueden asignarse directamente
a variables de tipo %QWxx.
Los parmetros de tipo tabla de palabras %MWxx:yy agrupan parmetros de usuario
y los datos necesarios para el funcionamiento interno de la funcin. Si la longitud de una
tabla es insuficiente, no se ejecuta la funcin. J
Importante

Para conservar los parmetros de ajuste de las OF de regulacin al arrancar en fro,


es necesario eliminar la opcin de puesta a cero de las %wi (en la pantalla de
configuracin del procesador).

Observacin

Como estos parmetros son de lectura y escritura, no se puede utilizar una tabla
de constantes (%KW xx : yy).

Los parmetros de tipo cadena de caracteres, utilizados por el dilogo de operador, se


introducen entre "comillas".

___________________________________________________________________________
2/3
2.2 La funcin PID
2.2-1 Funcionalidad
La funcin PID realiza una correccin PID a partir de una medida y de un valor de
consigna analgico en el formato [0 - 10000] y proporciona un control analgico en el
formato [0 - 10000].
La OF PID consta de las funciones siguientes:
algoritmo PID serie - paralelo,
accin directa / inversa (segn el signo de la ganancia KP),
accin derivada sobre medida o desviacin,
lmite alto y bajo del valor de consigna de 0 a 10000,
lmite alto y bajo de la salida en modo automtico,
antisaturacin de la accin integral,
modos de marcha Manual/Automtico con cambio instantneo,
control del acceso PID por el dilogo de operador,
funcionamiento en integrador puro (KP = TD = 0).
Los parmetros de visualizacin utilizados por el CCX 17 se expresan en unidades
fsicas.

___________________________________________________________________________
2/4
TS
CORRECTOR P.I.D.
Parte Valor de consigna
TI
Los modos de marcha del PID
Sinptica general

VALOR DE CONSIGNA 10000 Integral + OUT_MAX AUTO


+ DESVIACION
INTERNO +
LIMITADOR KP LIMITADOR OUTP
Accion derivada
PUNTO DE ORIGEN 0 VALOR DE CONSIGNA sobre la desviacion + OUT_MIN
SP UTILIZADO TD d

dt
OUT_MAN
Derivada
MEDIDA Accion derivada
UTILIZADA sobre la medida PV_DEV

MEDIDA CAMBIO INSTANTANEO


EXTERNA
LA ACCION PID AL PASAR DE AUTO A MANU

VALOR DE PROCESO Parte Medida


PV

CCX17
Descripcin de las funciones de regulacin
2

2/5
___________________________________________________________________________
J
La tabla siguiente describe los parmetros de usuario de la funcin PID. La estructuracin
de los datos se describe en el captulo de programacin.
El valor predeterminado de los parmetros es el valor ledo en la primera ejecucin de
la funcin despus de un arranque en fro, si todos los parmetros tienen el valor 0 (no
se efectu ninguna inicializacin previa desde la consola o el programa).

Parmetro Tipo Naturaleza Valor Descripcin


predeterm.
TAG Caracteres(8) Entrada - Nombre del PID utilizado por el
CCX
UNIT Caracteres(6) Entrada - Unidad de medida utilizada por
el CCX
PV Palabra Entrada - Medida en el formato 0/10000
OUT Palabra Salida 0 Salida analgica del PID
AUTO Bit E/S 0 Modo de marcha del PID
0 : manual, 1 : automtico
SP Palabra E/S 0 Valor de consigna interno en el
formato 0/10000
OUT_MAN Palabra E/S 0 Valor de la salida manual del
PID (0; 10000)
KP Palabra E/S 100 Ganancia proporcional del PID
(x100), con signo, sin unidades.
El signo de KP determina el
sentido de accin del PID (<0:
J sentido directo, >0 sentido
inverso) (-10000 KP +10000).
TI Palabra E/S 0 Tiempo de la accin integral del
PID (entre 0 y 20000), (en 1/10
de segundo).
TD Palabra E/S 0 Tiempo de la accin derivada
del PID (entre 0 y 10000), (en
1/10 de segundo).
TS Palabra E/S Perodo de Perodo de muestreo del PID
la tarea en la (en 1/100 de segundo) entre
que se halla 10 ms y 5 mn 20 s. El perodo
de el PID muestreo real ser el mltiplo
del perodo de la tarea en la
que se halla el PID ms
prximo de TS.
OUT_MAX Palabra E/S 10000 Lmite superior de la salida del
PID en modo automtico (entre
0 y 10000).

___________________________________________________________________________
2/6
Descripcin de las funciones de regulacin 2

Parmetro Tipo Naturaleza Valor Descripcin


predeterm.
OUT_MIN Palabra Entrada/Salida 0 Lmite inferior de la salida del
PID en modo automtico
(entre 0 y 10000)
PV_DEV Bit de palabra Entrada/Salida 0 Seleccin accin derivada so-
bre medida (0) o desviacin (1)
DEVAL_MMI Bit de palabra Entrada/Salida 0 Valor 1 para inhibir el uso de
este PID por el dilogo de
operador. Valor 0 para permitir
el uso de este PID por el dilogo
de operador. Este bit permite
inhibir las conversiones de
escala en los PID no utilizados
por el CCX 17 y seleccionar los
PID utilizados, sobre todo en el
caso de ms de 9 en la
aplicacin PL7.
PV_SUP Doble palabra Entrada/Salida 10000 Lmite superior del alcance de
la escala de medida, en
unidades fsicas (x100) (entre
- 9.9999.999 y + 9.999.999)
PV_INF Doble palabra Entrada/Salida 0 Lmite inferior del alcance de la
escala de medida, en unidades
fsicas (x100) (entre
- 9.9999.999 y + 9.999.999)
PV_MMI Doble palabra Entrada/Salida 0 Imagen de la medida en J
unidades fsicas (x100)
SP_MMI Doble palabra Entrada/Salida 0 Valor de consigna operador e
imagen del valor de consigna,
en unidades fsicas (x100)

Nota
Los valores de las variables utilizadas por el CCX 17 se multiplican por 100 para permitir una
visualizacin con dos dgitos despus de la coma en el CCX 17. (El CCX 17 utiliza un formato con
coma fija en vez del formato flotante.)

___________________________________________________________________________
2/7
Observaciones
El valor de consigna interno no se ajusta a la medida en el modo manual.
Las graduaciones se efectan nicamente cuando se modifica uno de los valores
de consigna (SP o DOP_SP).
El algoritmo sin accin integral (TI = 0) efecta la operacin siguiente:
para t = SP - PV ,
la salida OUT = KP [ t + Dt] /100 + 5000
donde Dt = accin derivada,
El algoritmo con accin integral (TI 0) efecta la operacin siguiente:
para t = SP - PV ,
la salida OUT = KP [ t + (TS/10.TI).t +Dt] /100
OUT = OUT + OUT
donde Dt = accin derivada.
Al arrancar en fro, el PID contina en modo manual, con la salida a 0. Para imponer
el modo automtico o una salida manual no nula despus de un arranque en fro,
ser necesario programar la secuencia de inicializacin despus de la llamada del
PID.

2.2-3 Programacin de la funcin PID


Se puede introducir una funcin PID en cualquier tarea peridica (MAST o FAST). La
funcin no debe condicionarse.
En la versin 1.0, slo es posible introducir una funcin PID en modo conectado con el
autmata en RUN si ya existe al menos una funcin PID en la aplicacin.
J
Durante la introduccin, el operador dispone de la ventana siguiente que permite
seleccionar la funcin deseada. Se proporciona para cada funcin una descripcin
breve de los parmetros. El rea derecha es el rea de introduccin de los parmetros
de funcin.

___________________________________________________________________________
2/8
Descripcin de las funciones de regulacin 2

La sintaxis de la llamada de la funcin PID es:

PID (TAG, UNIT, PV, OUT, AUTO, PARA)


con:
TAG Char[8] es una entrada cadena de caracteres (8 caracteres
mx.) que compone el nombre del PID utilizado
por el CCX 17.
UNIT Char[6] es una entrada cadena de caracteres(6 caracteres
mx.) que compone la unidad de medida utilizada
por el CCX 17.
PV Palabra entera es la entrada que representa la medida para la
funcin.
OUT Palabra entera es la salida control de la funcin.
AUTO Bit %Mi o %Qi.j es una entrada/salida utilizada tanto por el CCX 17
como por la funcin PID para el modo de marcha
MANU/AUTO.
PARA Tabla de palabras enteras es una tabla de palabras que consta de 43 pala-
bras consecutivas de tipo entrada/salida y que se
organiza de la forma siguiente:

Detalles de los parmetros del PID: tabla PARA


Rango Parmetro Funcin
%MWi SP Entrada valor de consigna
%MW(i+1) OUT_MAN Control manual
%MW(i+2) KP Ganancia serie (valor predeterminado: 100) J
%MW(i+3) TI Tiempo acc. integral en 1/10 seg (val. predet. 0)
%MW(i+4) TD Tiempo acc. derivada en 1/10 seg (val. predet. 0)
%MW(i+5) TS Perodo de muestreo en 1/100 seg
%MW(i+6) OUT_MAX Lmite superior del control
%MW(i+7) OUT_MIN Lmite inferior del control
%MW(i+8):X0 & PV_DEV/DEVAL_MMI Seleccin de la accin derivada (bit 0) / bit de
%MW(i+8):X8 (bit 20 y 28 de %MW) de inhibicin del PID-MMI (bit 8)
%MD(i+9) PV_SUP Lmite superior de la medida
(1 pal. doble: %MD)
%MD(i+11) PV_INF Lmite inferior de la medida
(1 pal. doble: %MD)
%MD(i+13) PV_MMI Imagen de la medida para el operador
(1 pal. doble: %MD)
%MD(i+15) SP_MMI Valor de consigna operador
(1 pal. doble: %MD)

___________________________________________________________________________
2/9
Importante
Los dems parmetros se utilizan para la gestin interna del PID. Nunca deben ser
modificados en la aplicacin.

Ejemplos de llamada:
Programacin en Ladder
Cuando se utiliza el dilogo de operador de regulacin (DEVAL_MMI = 0)

con PID(TEMP, GRADOS, %MW10, %MW11, %M10, %MW20:43).

Programacin en List
Cuando no se utiliza el dilogo de operador DEVAL_MMI = 1, ni se piensa agregar
uno. Obsrvese las cadenas de caracteres vacas.

! (*Correccin PID en el bucle de regulacin sin DOP integrado*)


LD TRUE
J [PID(, , %IW3.1, %QW4.0, LOOP1_MA, LOOP1_REG:43)]

Es importante tener en cuenta la posibilidad de pasar al PID variables de entrada


%IWx.y y de salida %QWx.y (en el ejemplo previo: %IW3.1, %QW4.0).

___________________________________________________________________________
2/10
Descripcin de las funciones de regulacin 2

2.3 La funcin PWM


2.3-1 Funcionalidad
La funcin PWM permite realizar una regulacin de amplitud de impulsos en una salida
TON. Es una funcin que formatea la salida del PID.
La amplitud de los impulsos depende de la salida del PID (entrada INP de la funcin
PWM) y del perodo de modulacin.
Utilizacin: regulacin TON - modulacin de amplitud de impulsos
PW_O

PV T_MOD
OUTP INP
PID PWM PW_O
SP
t

T_MOD

Amplitud de
impulsos

2.3-2 Descripcin
La tabla siguiente describe los parmetros de usuario de la funcin PWM; la sintaxis de J
llamada de la funcin se describe en el prrafo de programacin.

Parmetro Tipo Naturaleza Descripcin


INP Palabra Entrada Valor analgico cuya amplitud se va a modular
(formato 0 ; 10000)
PW_O Bit Salida Salida lgica cuya relacin de forma es la imagen
de la entrada INP
T_MOD Palabra Entrada/Salida Perodo de modulacin expresado en 1/100 de
segundo (entre 0 y 32767).
T_MOD debe ser superior o igual al perodo de
la tarea actual y ser ajustado por el sistema para
ser un mltiplo entero de sta.

En cada TOP del perodo de modulacin T_MOD, se calcula en milisegundos la


duracin de la activacin de la salida PW_O, segn la frmula:
Estado 1 = INP * T_MOD / 1000 (milisegundos)

___________________________________________________________________________
2/11
En cada TOP del perodo de modulacin T_MOD, se calcula en milisegundos la
duracin de la activacin de la salida PW_O, segn la frmula:
Estado 1 = INP * T_MOD / 1000 (milisegundos)

PWO

Modulacin de amplitud de %

Tiempo

Perodo de modulacin

Reglas prcticas
T_MOD = TS (con TS el perodo de muestreo del PID en posicin superior).
El perodo de la tarea actual (ms) (resolucin deseada). 10 . T_MOD.

Ejemplo
J El PID se encuentra en la tarea MAST, el perodo de la MAST es de 50 ms, TS = 10 (es
decir 100 ms) y la resolucin deseada es de 1/20 (una duracin de T_MOD debe
contener por lo menos 20 perodos de la tarea actual).
Supongamos que T_MOD = TS = 10.
Por consiguiente, el perodo de la tarea donde se encuentra PWM debe ser inferior a
10 * 10 / 20 = 5.
La funcin PWM se programa en FAST con un perodo de 5 ms.

___________________________________________________________________________
2/12
Descripcin de las funciones de regulacin 2

2.3-3 Programacin de la funcin PWM


Se puede introducir una funcin PWM en cualquier tarea peridica (MAST o FAST). La
funcin no debe condicionarse.
En la versin 1.0, slo es posible introducir una funcin PWM en modo conectado con
el autmata en RUN si ya existe al menos una funcin PWM en la aplicacin.
Durante la introduccin, el operador dispone de la ventana siguiente que permite
seleccionar la funcin deseada. Para cada funcin figura una descripcin breve de los
parmetros. El rea derecha es el rea de introduccin de los parmetros de funcin.

La sintaxis de llamada de la funcin PWM es:

PWM (INP, PW_0, PARA) J

INP Palabra Valor que se va a modular


PW_0 Bit de tipo %Q o %M Salida TON modulada
PARA Palabra [5] Tabla de 5 palabras en la que la primera palabra corres-
ponde al parmetro T_MOD.
Las siguientes se utilizan de forma interna por la funcin:
nunca deben modificarse desde la aplicacin.

___________________________________________________________________________
2/13
Ejemplos de utilizacin

Programacin en Ladder:

Con PWM(%MW11,%Q6.3,%MW90:5)

Programacin en List:

!
(* PID de regulacin del horno*)
J LD TRUE
[PID('TC_HORNO','GRADOS',%IW4.0,%MW11,%M10,%MW100:43)]
!
(* Ajuste de T_MOD de la PWM al TS del PID *)
LD TRUE
[%MW90:=%MW105]
!
(* Control de la salida TON en modulacin de duracin*)
LD TRUE
[PWM(%MW11,%Q6.3,%MW90:5)]

___________________________________________________________________________
2/14
Descripcin de las funciones de regulacin 2

2.4 La funcin SERVO


2.4-1 Funcionalidad
La funcin SERVO permite realizar una regulacin con un accionador de tipo motor
controlado en 2 acciones TON (UP y DOWN). Es un condicionamiento de salida que se
conecta en cascada a la salida analgica de un PID.
Cuando existe una copia de posicin, se efecta un control de la posicin de la vlvula
a partir de las entradas INP (valor de consigna) y POT (medida de posicin).
Cuando la copia no existe fsicamente, el algoritmo utiliza la variacin de salida en vez
de la salida absoluta del PID. La salida UP (o DOWN, segn el signo de la variacin)
se pone a 1 durante un tiempo proporcional al tiempo de apertura del accionador y al
valor de la variacin. Adems, se introduce la nocin de tiempo mnimo del impulso.

2.4-2 Descripcin
La tabla siguiente describe los parmetros de usuario de la funcin SERVO; la sintaxis
de llamada de la funcin se describe en el prrafo de programacin.

Parmetro Tipo Naturaleza Descripcin


INP Palabra Entrada Valor de consigna de posicin (formato 0/+10000) que
se conecta obligatoriamente a la salida del PID.
POT Palabra Entrada Copia de posicin (formato: 0/+10000) (0: vlvula
cerrada; 10000: vlvula abierta) J
Si la copia no existe, POT debe inicializarse a -10000.
Este valor particular significa "sin copia".
UP Bit Salida Seal de salida para el sentido de marcha UP del motor.
DOWN Bit Salida Seal de salida para el sentido de marcha DOWN del
motor.
PID Tabla de Entrada/Salida Tabla de parmetros del PID arriba, utilizada si no
palabras hay copia para la sincronizacin con este PID.
T_MOTOR Palabra Entrada/Salida Tiempo de apertura de la vlvula. Expresado en 1/10 de
segundo. Utilizado si la copia no existe (entre 0 y
32767).
T_MINI Palabra Entrada/Salida Tiempo mnimo de un impulso. Expresado en 1/10 de
segundo. Utilizado si la copia no existe (entre 0 y
32767).
HYST Palabra Entrada/Salida Valor de la histresis que se aplica a las salidas TON.
Formato 0/+10000. Utilizado si existe la copia.

___________________________________________________________________________
2/15
Funcionamiento SERVO con copia de posicin
La funcin SERVO efecta un control de la posicin del motor en funcin de un valor
de consigna de posicin INP que proviene de la salida de un PID en el formato 0/
10000 y de una medida de posicin POT. El algoritmo de control es un rel con
histresis.

SERVO

PV UP
OUT INP +
PID
SP DOWN

HYST
POT

En este caso, no se utilizan los parmetros PID, T_MOTOR y T_MINI.

Observacin

Es posible programar la llamada de la funcin SERVO en la tarea FAST para


aumentar la resolucin del control del motor.
J

Funcionamiento SERVO sin copia de posicin (POT = -10000)


En este caso, la funcin SERVO se sincroniza con el PID arriba mediante la tabla de
parmetros del PID, definida como parmetro de la funcin SERVO.
El algoritmo recibe en entrada la variacin de salida del PID y la convierte en duracin
de impulso, segn la frmula:
T_IMP = OUT x T_MOTOR / 1000 (en ms)
La duracin obtenida se agrega a la duracin restante de los ciclos previos; en efecto,
lo que no se "consume" durante un ciclo se memoriza para los ciclos siguientes.
Esto garantiza el buen funcionamiento, especialmente en el modo manual y cuando
se trata de una variacin repente del control (ej. : escaln de valor de consigna del
PID).

___________________________________________________________________________
2/16
Descripcin de las funciones de regulacin 2

Ejemplo
+2% +2%

+20% +24% +22%


OUT

1 2 3 45

UP
5 s. 1 s.
DOWN
1 s.
T_MOTOR = 25 s.
T_MINI = 1 s.

1. La variacin de la salida del PID es de +20% (el impulso T_MOTOR = 25 s. para una
variacin de 100%). En este caso, el impulso afecta la salida UP para una duracin
de 5 s.
2. La variacin del PID es de +2%. Correspondera a un impulso de 0,5 s, que es
inferior a T_MINI (=1 s.) y no afecta las salidas.
3. Aparece una segunda variacin de +2%. La funcin agrega sta a la previa (que
corresponda a una variacin inferior al valor mnimo). Esto corresponde a una
variacin positiva global de +4% y, por consiguiente, a un impulso de 1 s en la salida
UP.
4. Aparece una variacin de -24%. Por consiguiente, el impulso activado es de 6 s en
la salida DOWN.
5. Antes del transcurso del segundo siguiente, otra variacin de +22% lleva el sistema J
de una variacin global de 2% < a la variacin de T_MINI (4%). La funcin deja de
de efectuar el impulso mnimo de 1 s.

Notas
La funcin SERVO no efecta la gestin de los topes de posicin, pero es fcil hacerlo
de forma aplicativa: si se detecta un tope, se debe forzar la salida correspondiente a
0 (UP para el tope alto, DOWN para el tope bajo).

___________________________________________________________________________
2/17
Es posible pasar de un funcionamiento a otro (por ej. : al ocurrir una falla de copia,
se pasa del modo con copia al modo sin copia).

2.4-3 Programacin de la funcin SERVO


La funcin SERVO se introduce en cualquier tarea peridica (MAST o FAST). La
funcin no debe condicionarse.
En la versin 1.0, slo es posible introducir una funcin SERVO en modo conectado con
el autmata en RUN si ya existe al menos una funcin SERVO en la aplicacin.
J Durante la introduccin, el operador dispone de la ventana siguiente que permite
seleccionar la funcin deseada. Se proporciona para cada funcin una descripcin
breve de los parmetros. El rea derecha es el rea de introduccin de los parmetros
de funcin.

___________________________________________________________________________
2/18
Descripcin de las funciones de regulacin 2

La sintaxis de llamada de la funcin SERVO es:

SERVO (INP, POT, UP, DOWN, PID, PARA)

INP Palabra Corresponde a la entrada INP que designa el valor de consigna de


posicin
POT Palabra Corresponde a la entrada POT de copia de posicin
UP Bit %Q o %M Corresponde a la salida UP
DOWN Bit %Q o %M Corresponde a la salida DOWN
PID Palabra [43] Tabla que corresponde a la tabla interna del PID arriba
PARA Palabra [10] Tabla de 10 palabras cuyas 3 primeras corresponden a los parmetros
T_MOTOR, T_MINI y HYST; la funcin utiliza las siguientes de forma
interna. Nunca deben modificarse desde la aplicacin.

Todos los parmetros son obligatorios, independientemente del modo de


funcionamiento utilizado.

Ejemplos de utilizacin
con copia de posicin: programacin en Ladder

OPERATE
PID('PID1', 'm/s', OUTP, MAN>

OPERATE J
SERVO(OUTP, %IW3.1, %Q2.1>

PID('PID1', 'm/s', PV, OUTP, MAN_AUTO, %MW100:43)


SERVO(OUTP, %IW3.1, %Q2.1, %Q2.2, %MW100:43, %MW180:10)

sin copia de posicin: programacin en List


! LD TRUE
[PID('PID1', 'm/s', PV, OUTP, MAN_AUTO, %MW100:43)]
! LD TRUE
[SERVO(OUTP, -10000, %Q2.1, %Q2.2, %MW100:43, %MW180:10)]

___________________________________________________________________________
2/19
2.5 Las funciones segn los modos de marcha del autmata
Este prrafo describe el comportamiento de las funciones en los distintos casos de
arranque:
arranque en fro (nueva aplicacin, cambio de cartucho),
arranque en caliente (reanudacin de la alimentacin, sin cambio de contexto de
aplicacin),
primera ejecucin despus de agregar una funcin mediante la modificacin en
modo conectado.

2.5-1 Arranque en fro


En el arranque en fro, el autmata puede arrancarse automticamente en RUN (segn
la configuracin de la aplicacin). Las funciones de correccin garantizan la seguridad:
modo manual, salidas a 0. Adems, es posible pasar el autmata a RUN sin ajustar el
PID, y luego depurarlo con el CCX 17 (slo se puede ajustar en RUN).

2.5-2 Arranque en caliente


Al reanudarse la alimentacin despus de un corte de corriente (sin tener en cuenta la
duracin) y si no se ha perdido o modificado el contexto de aplicacin, las funciones
continan en el estado anterior al corte. Si el usuario desea otro comportamiento, le
J incumbe a l probar el bit sistema %S1 y asociar el tratamiento apropiado (forzado en
modo manual).
Nota
En TSX 37-21, TSX 37-22, el reloj-calendario del autmata indica la duracin del ltimo corte.

2.5-3 Agregar una nueva llamada de funcin en modo conectado


Preliminar (para la versin 1.0 de PL7 Micro): en RUN, slo es posible agregar en modo
conectado si la aplicacin ha utilizado la funcin al menos una vez.
Despus de agregar una nueva llamada de funcin de regulacin en modo conectado,
se efecta una inicializacin idntica al arranque en fro.

Nota
Para que la funcin se considere como nueva, sta debe utilizar una nueva tabla de parmetros.
Por consiguiente, el hecho de retirar un PID y agregar otro utilizando la misma tabla de parmetros
no se considera como un aadido de un nuevo PID. En este caso, el PID se ejecuta en el estado
y con los parmetros del PID previo.

___________________________________________________________________________
2/20
Dilogo de operador en elCaptulo
CCX 17 33
3 Dilogo de operador en el CCX 17
3.1 Dilogo de operador en el CCX 17
El CCX 17 permite visualizar y controlar todos los parmetros modificables de un
corrector PID sin que sea necesario programar una aplicacin especial para el
autmata.
El dilogo de operador (llamado: w) integra un programa de control y ajuste para los PID
de la aplicacin en el CCX 17. Efecta la gestin de 3 tipos de pantallas que permiten
seleccionar, visualizar y controlar un PID, as como ajustar sus parmetros. El programa
se inserta fcilemente en cualquier aplicacin de dilogo de operador del CCX 17.
Nota
Atencin, la funcin es efectiva nicamente si el autmata est en RUN.

No se limita el nmero de los PID en la aplicacin. En cambio, esta funcin puede


acceder a un mximo de 9 PID en el CCX 17-20 o el CCX 17-30.
Los botones de control del CCX permiten pasar de una pantalla a otra. La navegacin
dentro de las pantallas se efecta mediante las teclas con flecha hacia arriba y abajo.
La navegacin propuesta es "vertical". Siempre se debe regresar a la pantalla de
seleccin de bucles para acceder a los valores de otros correctores.
La visualizacin se efecta en 4 lneas (8 lneas en el CCX 17-30) con mensajes de
40 caracteres.
Modo operacional
La tecla MOD permite pasar del modo de visualizacin al modo de introduccin (el valor
seleccionado empieza a parpadear).
En una misma pantalla, el modo de introduccin permanece activo para todos los
campos. El presionar MOD otra vez permite salir de este modo (fin del parpadeo).
En el modo de introduccin, la tecla INTRO valida la modificacin de un parmetro. J
La implantacin del dilogo de operador es muy sencilla: la (o las) funciones PID_MMI
se activan en cada ciclo (llamada no condicionada). Hay una sola llamada de la funcin
PID_MMI para efectuar la gestin de todos los PID de la aplicacin. En cambio, hay una
llamada de la funcin PID_MMI por CCX 17 conectado al autmata.
La deteccin de los PID de la aplicacin por la funcin PID_MMI es automtica, incluso
cuando se agrega o se retira un PID en RUN. No se necesita ninguna declaracin.
El parmetro "TAG" de la funcin PID localiza el corrector deseado. Su seleccin
depende del valor del parmetro "DEVAL_MMI" de la funcin.
(La funcin PID_MMI incluye nicamente los PID cuyo parmetro DEVAL_MMI es = 0).
Nota
El nmero mximo de los PID utilizados por los CCX es de 9, sin distincin del nmero de CCX
conectados.
La introduccin de un nmero negativo se efecta del modo siguiente:
1. introduzca el nmero, ejemplo: 123,
2. presione la tecla , ejemplo: -123.

___________________________________________________________________________
3/1
3.2 Descripcin de las pantallas predefinidas
3.2-1 Seleccin de un bucle

Ex 1: TEMPERA 2: DEBIT1 3: DEBIT2


4: FOUR 5: NIVEAU 6: BOILER
7: CUVE 8: TREMIE 9: MIXER
Rf LOOP SELECT : 0

MOD
E
N
T
E
R

La pantalla de seleccin de bucles permite seleccionar hasta 9 bucles.


En esta pantalla se visualizan todas las designaciones de los bucles implantados bajo
PL7 Micro.
A cada designacin se asocia un nmero (de 1 a 9 mx.).
Para controlar uno de los bucles, el operador debe introducir el nmero correspondiente.
Una vez introducido el nmero, aparece la pantalla de control.
El botn Exit (Ex) permite salir de las pantallas de regulacin.
J
El botn Refresh (Rf) permite actualizar la pantalla. Esta operacin es necesaria
despus de eliminar o agregar bucles con PL7 en modo conectado.
Nota
Si la aplicacin no contiene ningn PID accesible por el CCX 17 (no existe ningn PID en la
aplicacin o los DEVAL_MMI de los PID existentes estn todos a 1), aparece el mensaje "NO PID".
Los botones Exit y Refresh conservan sus funciones.

___________________________________________________________________________
3/2
Dilogo de operador en el CCX 17 3

3.2-2 Control de un bucle

Up FOUR AUTO

PV : 66,00 units SUP : 100,00


SP : 51,50
Dn OUT : 45,00 INF : -100,00

MOD
E
N
T
E
R

Esta pantalla permite controlar valores de consigna, de control y el modo Manu/Auto.


Tambin se pueden visualizar y controlar en esta pantalla los valores PV_INF y
PV_SUP.
El campo Manu/Auto aparece en video inverso. El botn de control asociado permite
pasar de un modo a otro.
El control de la salida no se autoriza en modo automtico.
Se pasa de un campo de introduccin a otro mediante las flechas verticales. El modo
operacional es el siguiente: al aparecer la pantalla, el valor SP est seleccionado (video
inverso). Luego, al presionar la flecha hacia abajo, se seleccionan OUT (si manual), INF J
y SUP, en este orden. La tecla MOD permite pasar al modo de introduccin (para salir,
presionarla otra vez).
El botn Dn da acceso a la pantalla de ajuste y el botn Up permite regresar a la pantalla
de seleccin de bucles. (Los valores PV, SP, OUT, INF y SUP son reales con 2 dgitos
significativos despus de la coma).
PV, SP, INF y SUP se expresan en unidades fsicas. OUT es un porcentaje (para el
signifcado de los mnemnicos, vase el prrafo 2.2.2).

Nota
Cuando un campo es intermitente (modo de introduccin), el valor no se actualiza si se lo modifica
desde la aplicacin o PL7.

___________________________________________________________________________
3/3
3.2-3 Ajuste de un bucle

Up FOUR KP : 1,00
TI(s) : 0,0 TD(s) : 0,0
Ts(s) : 1,00 PV_DEV : 0
OUT_MIN : -20,00 OUT_MAX : 20,00
0

MOD
E
N
T
E
R

La navegacin y la introduccin se efectan de la misma manera que en la pantalla


previa (navegacin con las flechas verticales).
Al aparecer la pantalla, el valor de KP est seleccionado (video inverso).
El parmetro KP es sin unidad. TI, TD y TS se expresan en segundos. OUT_MIN y
OUT_MAX son porcentajes (para el significado de los mnemnicos, vase el prrafo
2.2.2).
El botn Up permite regresar a la pantalla de control.
J

___________________________________________________________________________
3/4
Dilogo de operador en el CCX 17 3

3.3 La funcin PID_MMI


3.3-1 Propsito de la funcin PID_MMI
La funcin PID_MMI permite establecer el dilogo con el TSX 37 conectado al CCX 17.
El CCX necesita la funcin PID_MMI para controlar, visualizar y ajustar los PID de la
aplicacin.

3.3-2 Descripcin de la funcin PID_MMI


La sintaxis de llamada de la funcin PID_MMI es:

PID_MMI (ADDR, EN, BUTT, PARA)

El propsito de los parmetros de la funcin PID_MMI es el siguiente:

Parmetro Tipo Naturaleza Descripcin


ADDR Tabla Entrada Direccin del CCX 17.
de 6 palabras
EN Bit E/S Activacin del dilogo de operador de regulacin.
La aplicacin pone este bit a 1, la funcin PID_MMI
lo pone a 0 cuando se sale del dilogo de operador J
de regulacin (botn EX).
BUTT Tabla E/S Bits asociados a los botones del CCX 17.
de 5 bits Estos bits permiten controlar las pantallas
as como los modos Manu/Auto.
PARA Tabla E/S Parmetros de PID_MMI.
de 62 palabras Los 4 primeros son las palabras de
confirmacin de la comunicacin.

Nota
Las 4 palabras de confirmacin son comunes a todas las funciones de comunicacin asncronas
(OF de comunicacin, OF DOP integrado y OF PID_MMI).
Sin embargo, la OF PID_MMI efecta automticamente la gestin de estas palabras, que la
aplicacin nunca debe modificar. Se proporcionan a ttulo de consulta.
Para ms amplia informacin, vase el apartado K, subcaptulo 3.5, Funcin Dilogo de operador.

___________________________________________________________________________
3/5
Ejemplo de direccin CCX 17
La conexin directa del CCX 17 mediante la parte delantera del TSX Micro
(UNI-TELWAY) determina las direcciones de esclavo UNI-TELWAY 4-5.
La codificacin puede efectuarse:
con el valor inmediato:
- PID_MMI(ADR#{0.254}0.0.4, ....)
o simplemente
- PID_MMI(ADR#0.0.4, ....)
con una tabla de 6 palabras:
%MW10:6 := ADR#0.0.4
PID_MMI(%MW10:6, ...)

Para ms amplia informacin, vase el apartado K, subcaptulo 3.5, Funcin Dilogo


de operador.

3.3-3 Programacin de la funcin PID_MMI


No se debe condicionar la llamada a la funcin PID_MMI.
Puede ubicarse en cualquier sitio en la tarea peridica ms lenta que contiene PID.

Ejemplo
FAST a 10 ms y MAST a 50 ms contienen ambas PID.
En este caso, la funcin PID_MMI debe programarse imperativemente en la tarea
MAST.

Nota
Puede ser la tarea FAST o MAST.

___________________________________________________________________________
3/6
Dilogo de operador en el CCX 17 3

Sincronizacin con un programa de aplicacin de dilogo de operador bsico


Es posible utilizar el CCX 17 para visualizar otras pantallas que las de regulacin. El bit
EN sirve para activar/desactivar el dilogo de operador de regulacin. La puesta a 1 de
EN activa este dilogo y presenta la pantalla de seleccin de PID.
Ejemplo
%M1 se asocia al bit EN (Switch de visualizacin en el dilogo de operador)
Obsrvese que tanto la gestin de alarmas como el dilogo de operador de regulacin
estn siempre activos.
Programacin en Ladder

%MW45:X MSG_en_curso
(*clculo del bit indicador del intercambio en curso*)

%MW200:X
J
falla ala_900

R
(*emisin alarma al aparecer una falla*)
falla MSG_en_curso ala_900
OPERATE
SEND_ALARM(ADR#0.0.4, %KW140.29, %MW200:4)

ala_900

S
rz_ala_900

R
(*cancelacin de la alarma si generada*)
ala_900
OPERATE
PANEL_CMD(ADR#0.0.4, %KW170:3, %MW200.4
puesta0_ala_900
rz_ala_900

___________________________________________________________________________
3/7
Nota
La PID_MMI activa (EN a 1) asigna los botones de control del CCX 17. Si el programa de aplicacin
utiliza estos botones para otros propsitos que la regulacin, se debe reasignarlos en el flanco
descendente de EN (uso de la funcin ASSIGN_KEYS; vase el apartado K).
En cambio, si el CCX 17 sirve nicamente para la regulacin, se aconseja efectuar un SET no
condicionado del bit EN en la aplicacin PL7.

Seleccin de los PID gestionados por la funcin PID_MMI


Nota: cada PID posee un parmetro DEVAL_MMI del tipo bit. Si el valor de este bit es
1, PID_MMI no efecta la gestin del PID. Es el nico nivel de proteccin disponible.
Por otra parte, cuando la aplicacin contiene ms de 9 PID, esto permite controlar los
PID tratados por PID_MMI.
Gestin de alarmas
Le incumbe al usuario crear en el programa su propia gestin de alarmas.
Esta puede colocarse sobre las pantallas de regulacin.

___________________________________________________________________________
3/8
Dilogo de operador en el CCX 17 3

Implantacin de varias funciones PID_MMI


Se pueden conectar varios terminales CCX 17 al mismo autmata. Por consiguiente,
puede ser til tener varias PID_MMI en la misma aplicacin.
En este caso, las PID_MMI deben ejecutarse consecutivamente (sin llamada de PID
intercalada) desde la misma tarea PL7.

3.3-4 La funcin PID_MMI segn los modos de marcha del autmata y del
CCX 17
La funcin PID_MMI tiene en cuenta los modos de marcha del autmata y del CCX 17.

Rearranque en caliente
Si al enviar un mensaje ocurre un problema tal como un microcorte, el control no se
repite. Para actualizar la pantalla, slo es necesario cambiar de pantalla y regresar o
activar la actualizacin desde la pantalla de seleccin de bucles, si sta est presente.
STOP/RUN y RUN/STOP
En STOP, la funcin PID_MMI no est activa. Sin embargo, permanece la posibilidad
de introducir parmetros en la pantalla visualizada.
En STOP/RUN, la funcin sigue ejecutando en su estado actual antes de pasar a STOP.
Corte de alimentacin o desconexin/reconexin del CCX 17
Cuando se reanuda la alimentacin del CCX 17 o cuando se lo reconecta, ste J
reinicializa la comunicacin con el autmata. La PID_MMI reasigna peridicamente los
botones de control del CCX 17. Para visualizar una de las pantallas de regulacin, se
presiona al cabo de 20 segundos a lo sumo uno de los 3 primeros botones (de
preferencia el botn Ref o Dn, es decir el a la izquierda en la segunda hilera).
Nota
Tambin es posible detectar la presencia o ausencia del CCX 17 mediante palabras lenguaje
asociadas a vas de comunicacin (vase el apartado K, captulo 4.1).

Observacin
Si una alarma (que proviene del programa de aplicacin de dilogo de operador)
se activa durante la visualizacin de una de las 3 pantallas de regulacin, la pantalla
del CCX 17 se dedica entonces a la gestin de los mensajes de alarma.
Al regresar al dilogo de operador de regulacin, la pantalla aparece incompleta.
Up/Dn o Refresh permite actualizarla.

Arranque en fro
Slo el arranque en fro permite reinicializar las pantallas de regulacin.
___________________________________________________________________________
3/9
NOTAS:

S
Captulo 44
Instalacin de una aplicacin de regulacin
4 Instalacin de una aplicacin de regulacin
4.1 Ajuste de los bucles/depuracin de la aplicacin
4.1-1 Con el CCX 17
La tabla siguiente lista los parmetros PID accesibles mediante el dilogo de operador.

Nombre Tipo Acceso por el CCX 17


(en regulacin)
TAG Cadena de Lectura,
caracteres(8) en todas las pantallas
UNIT Cadena de Lectura,
caracteres(6) pantalla de control
PV Palabra simple Lectura,
(medida) pantalla de control
OUT Palabra simple Lectura,
(control) pantalla de control
AUTO Bit Lectura/escritura,
(modo de marcha) pantalla de control
PARA Tabla de 43 palabras

Detalles de PARA
Nombre Tipo Acceso por el CCX 17
(en regulacin)
SP Palabra Lectura/escritura,
(valor de consigna) pantalla de control
OUT MAN Palabra Lectura/escritura,
(control manual) pantalla de control
KP Palabra Lectura/escritura,
(ganancia) pantalla de ajuste
TI Palabra Lectura/escritura,
(accin integral) pantalla de ajuste
J
TD Palabra Lectura/escritura,
(accin derivada) pantalla de ajuste
TS Palabra Lectura/escritura,
(perodo de muestreo) pantalla de ajuste
OUT_MAX Palabra Lectura/escritura,
(valor superior del control) pantalla de ajuste
OUT_MIN Palabra Lectura/escritura,
(valor inferior del control) pantalla de ajuste
PV_DEV Octeto Lectura/escritura,
(derivada sobre medida (0) o desviacin (1)) pantalla de ajuste
DEVAL_MMI Octeto
PV_SUP Doble palabra Lectura/escritura,
(lmite superior de la medida) pantalla de control
PV_INF Doble palabra Lectura/escritura,
(lmite inferior de la medida) pantalla de control
PV_MMI Doble palabra Lectura/escritura,
(imagen de la medida en escala fsica) pantalla de control
SP_MMI Doble palabra Lectura/escritura,
(imagen del valor de consigna en escala fsica) pantalla de control
Variables privadas 26 palabras
___________________________________________________________________________
4/1
Al arrancar, el operador accede a la pantalla de control del bucle que va a ajustar. Luego,
verifica que el corrector est en modo manual y asigna a los parmetros los valores
deseados.
Actuando sobre el control, lleva el proceso al valor de consigna deseado mientras
supervisa la evolucin de la medida en la pantalla. Luego, procede al ajuste del bucle
seleccionando uno de los mtodos descritos en el anexo de este documento. El
operador accede a la pantalla de ajuste del bucle. La tecla MANU/AUTO le permite
pasar de AUTO a MANU y a la inversa. El acceso a los parmetros se efecta con las
flechas horizontales y el acceso a la modificacin de su contenido con la tecla MOD.

4.1-2 Sin el CCX 17


El mtodo es idntico, pero el acceso a los parmetros se efecta a travs de una tabla
de animacin en la que el operador puede visualizar y modificar los parmetros del
corrector.
Atencin
En PL7 Micro, la escala de los parmetros es diferente. Todos tienen el formato
entero (vase el captulo 2.2-1).
En este caso, se aconseja simbolizar los parmetros del PID en el editor de variables.
Tambin se aconseja poner DEVAL_MMI a 1 para mejorar las prestaciones del PID
(vase el prrafo sobre las caractersticas de las funciones).
J Nota
No se modifican los parmetros MMI.

___________________________________________________________________________
4/2
Instalacin de una aplicacin de regulacin 4

4.2 Diagnstico / Mantenimiento


Restricciones
La rapidez de un bucle de regulacin depende de las interfaces utilizadas:
las tarjetas de entradas analgicas tienen un tiempo de ciclo de 32 ms o 510 ms
segn la referencia,
una tarjeta de contaje utilizada en una tarea FAST permite ciclos de 5 a 10 ms.

Diagnstico
Funciones de regulacin (PID, SERVO, PWM)
Estas funciones no necesitan ninguna informacin de diagnstico.
Los casos de error posibles son:

Comportamiento Diagnstico
Todos los parmetros de la funcin estn a 0. - No se llama la funcin.
- La longitud de la tabla PARA es insuficiente.
La salida permanece a 0 aun en el modo - No se llama la funcin.
manual. - La longitud de la tabla PARA es insuficiente.
La accin integral no funciona. - La tarea se ha configurado en cclico en vez
(TI del PID se ignora) de peridico.
TS no es modificable. - La tarea se ha configurado en cclico en vez
(TS del PID permanece a 0) de peridico.
En modo auto, la salida del PID permanece - Verificar los lmites de salida
a 0. (OUT_MIN y OUT_MAX)

Funcin PID_MMI
J
Comportamiento Diagnstico
Despus de una desconexin o un corte de - Normal, presionar un botn (B1, B2 o B3)
corriente del CCX 17, la ltima pantalla de para hacer reaparecer la pantalla de
regulacin no reaparece. regulacin (esperar algunos segundos).
Ciertos PID se ignoran. - Estos PID no se ejecutan.
- Los bit DEVAL_MMI de estos PID estn a 1.
- Estos PID se encuentran en una tarea ms
lenta que PID_MMI.

___________________________________________________________________________
4/3
4.3 Complemento de programacin
4.3-1 Agregar una desviacin a la salida
Cuando el PID se utiliza en modo P o PDE, esta funcin permite cancelar el error
esttico en un punto de funcionamiento dado.
El esquema de principio es el siguiente:
PID

OUT Salida
+
+

Programacin: Desviacin
PID('nivel' , 'mm' , PV , OUT , AUTO , PARA:43)
Salida := OUT + Desviacin
OUT_MAX := 10000 - DESVIACION (Desviacin > 0)
OUT_MIN := -DESVIACION (Desviacin < 0)

Nota
Al ejecutar el PID, OUT_MAX y OUT_MIN se cogen en el alcance 0 -10000. Estas dos
instrucciones permiten efectuar apropiadamente la gestin de la desaturacin en la accin integral
del PID.

___________________________________________________________________________
4/4
Instalacin de una aplicacin de regulacin 4

4.3-2 PID en cascada


Esquemticamente 2 PID en cascada se representan as:

PID1 PID2
MEDIDA 1 MEDIDA 2

CONTROL

VALOR DE VALOR DE
CONSIGNA CONSIGNA CONTROL

M/A
CONTROL MANUAL

Por lo general, el PID abajo debe ser el ms rpido. Por consiguiente, el tiempo de
muestreo TS del PID1 ser inferior al tiempo del PID2.

Programacin
La salida control del PID1 entra en el valor de consigna del PID2. Los 2 PID deben pasar
simultneamente al modo manual. Entonces, el operador debe actuar sobre el control
manual del PID esclavo (abajo).

Vase el ejemplo en la pgina siguiente.

___________________________________________________________________________
4/5
MAST-MAIN
(*en auto manu del esclavo, memorizar el modo de marcha del maestro*)
Auto_e Auto_m Mem_auto_m
N S

Auto_m Mem_auto_m
R

(*si esclavo en manu, pasar el maestro a manu y ajustar la salida a la medida del esclavo*)

Auto_e OPERATE
Out_man_m:=Pv_e

Auto_m
R

(*en manu auto del esclavo, restaurar el modo de marcha memorizado del maestro*)

Auto_e Mem_auto_m Auto_m


P S

Mem_auto_m Auto_m
R

(*PID maestro*)

OPERATE
PID('Maestro',",Pv_m,Out_m,Auto_m,Sp_m:43
J
(*si maestro en auto, la salida se cablea en el valor de consigna del esclavo*)
Auto_m OPERATE
Sp_e:=Out_m

OPERATE
PID('Esclavo',",Pv_e,Out_e,Auto_e,Sp_e:43

___________________________________________________________________________
4/6
Captulo 55
Ejemplo de aplicacin
5 Ejemplo de aplicacin
5.1 Regulacin de temperatura
5.1-1 Descripcin de la aplicacin
Se trata de mantener la temperatura del agua de una piscina al aire libre igual a un valor
deseado. Este valor se determina en funcin de la temperatura del aire ambiental.

Temp. aire
TT

Temp. agua

Calentador
Bomba
Medida Salida
Regul

Clculo del
valor de c
consigna Valor de
consigna

Por lo general, se utiliza una regulacin todo o nadaen este tipo de instalacin. En este J
ejemplo, se propone sustituirle una regulacin proporcional con salida modulada, lo que
debera reducir la amplitud de las oscilaciones de temperatura alrededor del valor
deseado.

Temperatura
deseada Regulacin todo o nada Regulacin proporcional

Salida T_CYCL

___________________________________________________________________________
5/1
La medida de la temperatura del agua as como la de la temperatura ambiental se
efecta con sondas de resistencia de tipo Pt 100.

El valor de consigna de temperatura del Temperatura


agua depende de la temperatura externa, del agua
segn las reglas siguientes: 30

Una alarma TEMPERATURA ALTA se


generar si la temperatura del agua
excede 32C.
Una alarma TEMPERATURA BAJA se 24
generar si la temperatura del agua cae
debajo de 22C.
Una alarma FALLA REGULACION se 5 35 Temperatura
externa
generar si la desviacin VALOR DE
CONSIGNA/ MEDIDA excede 2C en
un sentido u otro.
La regulacin se pone fuera de servicio (salida a 0) si la bomba se para.

___________________________________________________________________________
5/2
Ejemplo de aplicacin 5

5.1-2 Configuracin del hardware


La realizacin de esta aplicacin requiere:
un autmata TSX 37-10,
un mdulo de entradas analgicas TSX AEZ 414,
un mdulo de salida TON TSX DSZ 08R5,
un mdulo de entrada TON TSX DMZ 64DTK.

La salida TON %Q4.0 se asigna al control del calentador.


La salida TON %Q4.1 se asigna al control de la bomba.
Las salidas TON %Q4.2, %Q4.3 y %Q4.4 se asignan a las alarmas.
El bit %M0 se utiliza para seleccionar el modo de marcha AUTO/MANU del regulador.
Las entradas TON %I1.1 y %I1.2 permiten modificar el valor de consigna en modo
AUTO y el valor de la salida en modo MANU, segn el algoritmo siguiente:
%I1.1 = 1 aumento de 0,1 % por ciclo,
%I1.2 = 1 disminucin de 0,1 % por ciclo.
La entrada %I1.3 proporciona el estado de la bomba.
%IW3.0 y %IW3.1: valor de las entradas analgicas.

___________________________________________________________________________
5/3
5.1-3 Sinptica del bucle de regulacin

PID1
PWM
TSX AEZ 414 + AUTO
Temp. Sonda Med
agua PID
Pt100
%IW3.0 _
SALIDA
Temp. Sonda %IW3.1 MANU
aire Pt100
%IW3.2
Supervisin Th J %IW3.3 Cons
recalentam.
motor
Hacia resistencia
Clculo valor de calentamiento %Q4.0
Supervisin Th K de consigna
recalentam.
calentador

El sentido de accin del regulador PID es el sentido INVERSO (a un aumento de la


medida debe corresponder una disminucin de la salida).

5.1-4 Programacin
Tratamiento propuesto
El bloque PID1 se asigna a la regulacin de temperatura. La graduacin se asigna al
J clculo del valor de consigna de la temperatura del agua a partir de la temperatura del
aire.
Al reanudar la alimentacin, se selecciona el funcionamiento de regulacin: la bomba
se activa. El estado de marcha de la bomba condiciona el estado del regulador. Si la
bomba es defectuosa, el PID pasa a MANU y la salida se fuerza a 0.
Los bits de la palabra de estado (umbral alto de medida, umbral bajo de medida, umbral
alto de desviacin y umbral bajo de desviacin) se utilizan para generar las alarmas.
Los coeficientes del bucle PID se inicializarn a:

Kp = 60 Kp = 6
Escala Visualizacin
Ti = 300 datos Ti = 30 CCX
Td = 50 TD = 5

Por supuesto, estos valores pueden afinarse en una fase de ajuste ulterior.

___________________________________________________________________________
5/4
Captulo
Anexos 66
6 Anexos
6.1 Notas sobre la regulacin
6.1-1 Mtodo de ajuste de los parmetros PID
Existen numerosos mtodos de ajuste de los parmetros de un PID. El mtodo
propuesto aqu es el de Ziegler y Nichols que tiene dos variantes:
un ajuste en bucle cerrado,
un ajuste en bucle abierto.
Antes de utilizar una de estas variantes, es necesario determinar el sentido de accin
del PID:
si un aumento de la salida OUT provoca un aumento de la medida PV, se elige el
sentido indirecto (KP > 0),
de lo contrario, si provoca una disminucin, se elige el sentido directo (KP < 0).

Ajuste en bucle cerrado


El principio consiste en utilizar el control proporcional (TI = 0, TD = 0) para excitar el
proceso aumentando la ganancia hasta entrarlo en oscilacin despus de haber
aplicado un escaln al valor de consigna del corrector PID.
Luego basta para leer el valor de ganancia crtica (Kpc) que ha provocado la oscilacin
no amortiguada, as como el perodo de oscilacin (Tc), para obtener los valores de
ajuste ptimos para el regulador.

Medida

Tc t

Segn el tipo de regulador (PID o PI), el ajuste de los coeficientes se efecta con los
valores siguientes:

Kp Ti Td
Kpc Tc Tc
PID
1,7 2 8
Kpc
PI 0,83 * Tc
2,22

con Kp = ganancia proporcional, Ti = tiempo de integracin y Td = tiempo de derivacin.


___________________________________________________________________________
6/1
Este mtodo de ajuste proporciona un control muy dinmico que puede tener como
consecuencia rebasamientos no deseados al cambiar los valores de consigna. En este
caso, se debe reducir el valor de ganancia hasta que se obtenga el funcionamiento
deseado.
Ajuste en bucle abierto
Con el regulador en modo manual, se aplica un escaln a su salida y se asimila el inicio
de la respuesta del proceso a un integrador con retardo puro.
Salida

t
Medida t
Integrador Respuesta del proceso

M = S

J Tu tg
tg
t t

El punto de interseccin de la recta que representa el integrador y del eje de tiempos


determina el tiempo Tu.
Luego se define el tiempo Tg como tiempo requerido para que la variable controlada
(medida) vare con la misma amplitud (en % de escala) que la salida del regulador.
Segn el tipo de regulador (PID o PI), el
ajuste de los coeficientes se efecta con Kp Ti Td
los valores indicados enfrente.
PID 1,2 Tg/Tu 2 * Tu 0,5 * Tu

Nota
Atencin a las unidades. Si el ajuste se efecta PI 0,9 Tg/Tu 3,3 * Tu
en PL7, se debe multiplicar por 100 el valor
obtenido para KP.

___________________________________________________________________________
6/2
Anexos 6

Este mtodo de ajuste proporciona tambin un control muy dinmico que puede tener
como consecuencia rebasamientos no deseados al cambiar los valores de consigna.
En este caso, se debe reducir el valor de ganancia hasta que se obtenga el funcionamiento
deseado.
El inters de este mtodo reside en el hecho que no requiere ninguna hiptesis acerca
de la naturaleza y del orden del proceso. El mtodo se aplica tanto a procesos estables
como a procesos realmente integradores. Es especialmente interesante en el caso de
procesos lentos (fabricacin de cristales, ...), puesto que el usuario slo necesita el
inicio de la respuesta para ajustar los coeficientes Kp, Ti y Td.

6.1-2 Propsito e influencia de los parmetros de un PID


Accin proporcional
La accin proporcional permite probar diferentes velocidades de respuesta del proceso.
Mientras ms elevada es la ganancia, ms la respuesta se acelera y ms el error
esttico se disminuye (en proporcional pura), pero ms la estabilidad se degrada.
Es necesario encontrar un buen compromiso entre la velocidad y la estabilidad.

Influencia de la accin proporcional sobre la respuesta del proceso en un escaln

J
Kp demasiado grande

Kp correcto

Error esttico
Kp demasiado pequeo

___________________________________________________________________________
6/3
Accin integral
La accin integral permite cancelar el error esttico (desviacin entre la medida y el
valor de consigna). Mientras ms elevada es la accin integral (Ti pequeo), ms la
respuesta se acelera y ms la estabilidad se degrada.
Tambin es necesario encontrar un buen compromiso entre la velocidad y la estabilidad.
Influencia de la accin integral sobre la respuesta del proceso en un escaln

%
Ti demasiado grande

Ti correcto

Ti demasiado pequeo

Nota
Ti pequeo significa una accin integral elevada.
J

___________________________________________________________________________
6/4
Anexos 6

Accin derivada
La accin derivada tiene una caracterstica de anticipacin. En efecto, agrega un
elemento que tiene en cuenta la velocidad de variacin de la desviacin, lo que permite
anticipar acelerando la respuesta del proceso cuando la desviacin aumenta y
decelerando cuando la desviacin disminuye. Mientras ms elevada es la accin
derivada (Td grande), ms la respuesta se acelera.
Otra vez, es necesario encontrar un buen compromiso entre la velocidad y la estabilidad.
Influencia de la accin derivada sobre la respuesta del proceso en un escaln
%

Td demasiado grande

Td demasiado pequeo

Td correcto

___________________________________________________________________________
6/5
Lmites de la regulacin PID

Si se asimila el proceso a un primer orden de retardo puro de funcin de transferencia:

Ke - p
H (p) =
1+p

con:
= retardo del modelo,
= constante de tiempo del modelo,
las prestaciones de la regulacin dependen de la relacin / .

La regulacin PID conviene al dominio siguiente:


2 20

Para / < 2, es decir bucles rpidos ( pequeo) o procesos con retardo importante
(t grande), la regulacin PID no conviene. Se deben utilizar algoritmos ms evolucionados.
Para / > 20, una regulacin con umbral ms histresis es suficiente.

___________________________________________________________________________
6/6
Anexos 6

6.2 Caractersticas de las funciones


6.2-1 Espacio memoria

Funcin Volumen de cdigo generado


PID 2,2 K palabras
PWM 0,6 K palabras
SERVO 1,2 K palabras
PID_MMI 4,4 K palabras

6.2-2 Tiempos de ejecucin de las funciones

Funcin Tiempos de ejecucin Comentario

PID 1,2 ms (1 ms sin PID_MMI) TI0 y TD0


PWM 0,6 ms
SERVO 0,6 ms
PID_MMI 1,3 ms si EN=1

___________________________________________________________________________
6/7
NOTAS:

S
2001 Schneider Electric Argentina S.A. Todos los derechos reservados

Schneider Electric Argentina S.A. http://www.schneider-electric.com.ar

Sede Central y Agencia Buenos Aires


Viamonte 2850 (B1678DWF) - Caseros, Pcia. de Bs. As.
Tel. (54-11) 4716-8888 - Fax (54-11) 4716-8866

Sede Central y Agencia Bs. As. Planta Industrial Plasnavi Agencia Mendoza Delegacin Tucumn Delegacin Neuqen
Viamonte 2850 (B1678DWF) Hroes de Malvinas 2071/73 San Martn 198 2 P (M5501ACO) Av. 2 de Abril 375 3 of. A (T4000IGA) Pinar 379
Caseros, Pcia. de Bs. As. (B1824CCE) Lans, Pcia. de Bs. As. Godoy Cruz, Pcia. de Mendoza S. M. de Tucumn, Pcia. de Tucumn (Q8300JUG) Neuqun,
Tel: (54-11) 4716-8888 Tel: (54-11) 4246-7545 Tel: (54-261) 422-1110 Tel: (54-381) 421-8774 Pcia. de Neuqun
Fax: (54-11) 4716-8866 Fax: (54-11) 4246-5200 Tel: (54-261) 422-1119 Fax: (54-381) 421-1686 Telefax (54-299) 448-8087

Planta Industrial San Martn Agencia Crdoba Agencia Rosario Delegacin Posadas Delegacin Cdro. Rivadavia
Av. 101 (Ricardo Balbn) 3102/34 Av. Sabattini 2984 (X5014AUX) Entre Rios 2136 (S2000FXJ) Av. Trincheras de San Jos 313 Rivadavia 985 6 C
(B1650NBN) San Martn, Pcia. de Bs. As. Crdoba, Pcia. de Crdoba Rosario, Pcia. de Santa Fe (N3300CRU) Posadas, (U9000AKL) Cdro. Rivadavia,
Tel: (54-11) 4724-4444 Tel: (54-351) 456-8888 Tel: (54-341) 482-3999 Pcia. de Misiones Pcia. de Chubut
Fax: (54-11) 4724-4411 Fax: (54-351) 457-0404 Fax: (54-341) 482-3993 Telefax: (54-3752) 43-8220 Telefax (54-297) 447-6654

03/2001

Anda mungkin juga menyukai