Sunteți pe pagina 1din 534

TwinCAT PLC Control: Introduccin

Introduccin

Qu es TwinCAT PLC Control?

TwinCAT PLC Control es un completo entorno de desarrollo para funciones de PLC. Permite al programador
una entrada sencilla mediante los eficaces recursos del lenguaje basado en IEC. El uso de los editores y de
las funciones de Debugging tiene como modelo los entornos de desarrollo perfeccionados de lenguajes de
programacin superiores..

Introduccin general del funcionamiento de TwinCAT PLC Control

Cmo se estructura un proyecto?

Un proyecto se guarda en un archivo que lleva el nombre del proyecto. El primer mdulo (POU) que se crea
en un nuevo proyecto se llamar automticamente MAIN y recibir otro nombre mediante la Tarea estndar
(Task Standard) especificada. TwinCAT PLC Control distingue varios tipos de objetos en un proyecto:
mdulos, tipos de datos y recursos. En el "Object Organizer" se encuentra la lista de todos los objetos de su
proyecto.

Cmo se crea un proyecto?

Primero debera seleccionar un sistema de destino y especificar una Tarea (Task). A continuacin puede crear
los mdulos (POUs) necesarios para su aplicacin. Ya puede pasar a programar los mdulos (POUs)
necesarios en los lenguajes deseados. Tras finalizar la programacin, puede controlar el proyecto y corregir
los eventuales errores que se indiquen.

Cmo se verifica un proyecto?

Una vez que todos los errores estn corregidos, conctese al PLC y cargue su proyecto en l. Ahora,
TwinCAT PLC Control se encuentra en el modo On-line.

Compruebe que su proyecto haga la maniobra correcta. Para este fin, introduzca manualmente las entradas y
observe si las salidas se activan de la forma deseada. Asimismo puede observar en los mdulos (POUs) los
diferentes valores de las variables locales. En el Visor de Variables o de Frmulas puede configurar los datos
cuyos valores quiere visualizar.

En caso de un error de programacin puede fijar Breakpoints. Si la ejecucin se detiene en uno de estos
Breakpoints, puede consultar los valores de todas las variables del proyecto en este instante. Mediante la
ejecucin Paso a Paso puede comprobar la correccin lgica de su programa.
Funcin de Debugging adicional de TwinCAT PLC Control: puede prefijar variables de programa y
entradas/salidas a determinados valores. Con el control de procesos puede comprobar qu lneas de
programa se han ejecutado. El Sampling Trace le ofrece la posibilidad de registrar y visualizar el seguimiento
cclico de las variables durante un tiempo prolongado. Un Registro procesos / los paseos de usuario y los
procesos internos durante el en lnea - modo cronolgicamente sobre.

El proyecto se puede documentar en todo momento o exportar a un archivo de texto.

Sumario

TwinCAT PLC Control es una completa herramienta de desarrollo para la programacin de su PLC que le
aporta un considerable ahorro de tiempo en la creacin de sus aplicaciones.

Componentes de un proyecto

Un proyecto contiene todos los objetos de un programa PLC. El proyecto se guarda en un archivo con el
mismo nombre. Un proyecto incluye los siguientes objetos:

Mdulos (POUs), Declaracin de datos (Data Types), Recursos (Resources) y Libreras (Libraries).

Mdulo (POUs)

Funciones, Bloques de Funciones y programas son Mdulos, ellos pueden ser completados por la va de
paseos.

Cada Mdulo se compone de una parte de declaracin y una parte de programa. La parte de programa est
escrita en uno de los lenguajes de programacin permitidos por la norma IEC (IL, ST, SFC, FBD, LD o CFC).
TwinCAT PLC Control soporta todos los Mdulos compatibles con la norma IEC. Si quiere incorporar estos
mdulos en su proyecto, tiene que cargar la librera standard.lib en su proyecto.

Los Mdulos (POUs) pueden llamar a otros mdulos, pero no se permite recursividad.

Funcin

Una Funcin es un mdulo que, cuando se ejecuta, suministra exactamente un dato (que puede ser de varios
elementos, como por ejemplo, campos o estructuras) y cuya llamada puede realizarse en lenguajes de texto
como operador en expresiones.

En la declaracin de una Funcin se le ha de asignar un tipo de dato. Es decir que, despus del nombre de la
Funcin, se tienen que introducir dos puntos, seguido por un tipo de dato.
Un ejemplo de declaracin de funcin, sera:

FUNCTION Fct: INT

Adems, se tiene que asignar un resultado a la Funcin. El nombre de la Funcin se utiliza como una variable
de salida.

Ejemplo en IL para una Funcin que tiene tres variables de entrada y devuelve como resultado el producto de
las dos primeras, dividido por la ltima:

La llamada a una Funcin puede aparecer en lenguaje ST como operando en expresiones.


Las Funciones no tienen estados internos. Es decir, las llamadas de una funcin con los mismos argumentos
(parmetros de entrada) devuelven siempre el mismo valor (salida).

Ejemplos de la llamada de la funcin antes descrita


en lenguaje IL:
LD 7
Fct 2,4
ST Ergebnis

en lenguaje ST:
Ergebnis := Fct(7, 2, 4);

en lenguaje FBD:
En lenguaje FBD, una llamada a Funcin slo puede tener lugar dentro de un paso o una transicin.

Nota: si define en su proyecto una Funcin con el nombre CheckBounds, puede comprobar automticamente
la superacin de mrgenes en su proyecto. El nombre de la Funcin est especificado y debe poseer
nicamente esta denominacin.

El siguiente ejemplo de programa para la comprobacin de la Funcin CheckBounds interviene fuera de los
lmites de un Array definido. La Funcin CheckBounds garantiza que el valor TRUE no se asigne a la posicin
A[10], sino al lmite superior an vlido del rea A[7]. La Funcin CheckBounds permite, por lo tanto, corregir
intervenciones fuera de los lmites del Array.

Nota:

Si en su proyecto define funciones con los nombres CheckDivByte, CheckDivWord, CheckDivDWord y


CheckDivReal, con la utilizacin del operador DIV puede comprobar el valor del divisor, por ejemplo para
evitar una divisin entre 0. El nombre de la funcin est especificado y debe mostrar nicamente esta
denominacin.

Si define las funciones CheckRangeSigned y CheckRangeUnsigned, en el modo online puede interceptar


automticamente la superacin de mrgenes en las variables declaradas con tipos de subrea.

Los nombres de funciones mencionados se reservan a causa de la posibilidad de utilizacin descrita aqu.

Bloque de Funciones

Un Bloque de Funciones es un Mdulo que, al ejecutarse, suministra uno o varios valores. A diferencia de una
Funcin, un Bloque de Funciones no proporciona ningn valor de devolucin.
Se pueden crear reproducciones, denominadas instancias (copias), de un Bloque de Funciones.

Ejemplo en IL de un Bloque de Funciones con dos variables de entrada y dos variables de salida. Una salida
es el producto de las dos entradas ; la otra es una comparacin de igualdad.

Instancias de Bloques de Funciones

Se pueden crear reproducciones, denominadas instancias (copias), de un Bloque de Funciones. Cada


instancia posee su propio identificador (nombre de instancia) y una estructura de datos que contiene sus
entradas, salidas y variables internas. Al igual que las variables, las instancias se declaran como locales o
globales, indicando como tipo de un identificador el nombre del Bloque de Funciones.

Ejemplo de una instancia con el nombre INSTANZ del Bloque de Funciones FUB:

INSTANZ: FUB;

Las llamadas a Bloques de Funciones se realizan siempre a travs de las instancias arriba descritas.
Slo se puede acceder a los parmetros de entrada y salida desde fuera de una instancia de un bloque de
funciones, pero no se puede acceder a sus variables internas.

Ejemplo del acceso a una variable de entrada:


El Bloque de Funciones fb tiene una variable de entrada in1 del tipo int.

PROGRAM prog
VAR
inst1:fb;
END_VAR
LD 17
ST inst1.in1
CAL inst1
END_PROGRAM

Las partes de declaracin de los Bloques de Funciones y Programas no pueden contener declaraciones de
instancia. Las declaraciones de instancia no se admiten en las Funciones.

El acceso a la instancia de un Bloque de Funciones est limitado al Mdulo en el cual se ha creado la


instancia, a no ser que haya sido declarada como global.

El nombre de una instancia de un Bloque de Funciones se puede utilizar como entrada de una Funcin o un
Bloque de Funciones.

Nota:

se conservan todos los valores despus de cada ejecucin del Bloque de Funciones. Por esta razn, las
llamadas a un Bloque de Funciones con los mismos argumentos no suministran siempre los mismos valores
de salida.

Llamada a un Bloque de Funciones

Se puede acceder a las variables de entrada y salida de un bloque de funciones desde otro mdulo, creando
una instancia del bloque de funciones e indicando la variable deseada mediante la siguiente sintaxis:

<nombre de instancia>.<nombre de variable>

Si se desean fijar los parmetros de entradas, es decir, valores de variables de entrada, en una llamada, esto
se realiza en los lenguajes de texto IL y ST, asignando entre parntesis valores a los parmetros despus del
nombre de instancia del bloque de funciones (la asignacin se realiza con ":=", como en la inicializacin de
variables en el punto de declaracin).

Tenga en cuenta que las variables de entrada / salida (VAR_IN_OUT) de un bloque de funciones se entregan
como Pointer (puntero). Por ello, no se les puede asignar ninguna constante durante la llamada y no se puede
acceder a ellas desde fuera para lectura o escritura. Ejemplo para la llamada de una VAR_IN_OUT variable
inout1 del bloque de funciones en un mdulo ST:

VAR
inst:fubo;
var1:int;
END_VAR

var1:=2;
inst(inout1:=var1);

No se permite: inst(inout1:=2); o inst.inout1:=2;

Ejemplos de la llamada al Bloque de Funciones FUB arriba descrito. El resultado de la multiplicacin se


guarda en la variable ERG y el resultado de la comparacin, en QUAD. Se declarara una instancia de FUB
con el nombre INSTANZ. En IL, el Bloque de Funciones se implementa como sigue:

En el ejemplo siguiente, la llamada se reproduce en el lenguaje ST. La parte de declaracin es igual que en IL:
En lenguaje FBD se presentara como sigue (parte de declaracin tambin como en IL):

En SFC, las llamadas a bloques slo se pueden realizar en pasos.

Programa

Un programa es un Mdulo que, al ejecutarse, suministra uno o varios valores. Los programas estn incluidos
en todo el proyecto de forma global. Despus de cada ejecucin del programa, se conservan todos los
valores.

Los programas pueden recibir llamadas de otros programas y Bloques de Funciones. Una funcin no admite
llamadas a programas. Tampoco existen instancias de programas.

Si un Mdulo llama a un programa y en el proceso se modifican valores del programa, estas modificaciones
se conservan en la prxima llamada al programa, aunque sta se realice desde un Mdulo distinto.
No ocurre igual con la llamada a un Bloque de Funciones. En ese caso, slo se modifican los valores de la
correspondiente instancia de un Bloque de Funciones. Por lo tanto, estas modificaciones nicamente son
relevantes si se llama la misma instancia.

Ejemplos de llamadas del programa arriba descrito:

En lenguaje IL:
CAL PRGbeispiel
LD PRGbeispiel.PAR
ST ERG

En lenguaje ST:
PRGbeispiel;
Erg := PRGbeispiel.PAR;

En lenguaje FBD:

Si la variable PAR del programa RPGbeispiel se inicializa en primer lugar con 0 desde un programa principal y,
a continuacin, se realizan llamadas a los sucesivos programas mediante las citadas llamadas a programas,
el resultado Erg de los programas incluir los valores 1, 2 y 3. Si se cambia el orden de las llamadas, tambin
se modificarn, en consecuencia, los valores de los correspondientes parmetros de resultado.

Accin

Se pueden definir acciones para bloques de funciones y programas. La accin representa otra
implementacin que se puede crear en otro lenguaje distinto al de la implementacin 'normal'. Cada accin
contiene un nombre.
Una accin funciona con los datos del bloque de funciones o el programa al cual pertenece. La accin utiliza
las mismas variables de entrada / salida y las variables locales, como la implementacin 'normal'.
En este ejemplo se aumentan o se reducen las variables de salida out durante la llamada del bloque de
funciones Counter, dependiendo de las variables de entrada in. Durante la llamada de la accin Reset del
bloque de funciones la variable de salida out se fija en cero. En ambos casos se describe la misma variable
out.

Una accin se llama con <Programmname>.<Aktionsname> o <Instanzname>.<Aktionsname> (<nombre de


programa>.<nombre de accin> o <nombre de instancia>.<nombre de accin>). Si la accin se llama desde
dentro del mdulo propio, en los editores de texto slo se utilizan los nombres de accin y en los grficos la
llamada del bloque de funciones sin datos de instancia.

Ejemplos para llamadas de la accin anterior:

Declaracin para todos los ejemplos:

PROGRAM PLC_PRG
VAR
Inst : Counter;
END_VAR

En LI:
CAL Inst.Reset(In := FALSE)
LD Inst.out
ST ERG

En ST:
Inst.Reset(In := FALSE);
Erg := Inst.out;

En FBD:

Nota:

En los mdulos en el diagrama secuencial de funciones (SFC) las acciones juegan un papel especial.
Consulte el captulo Diagrama secuencial de funciones.

Nota:

La norma IEC no reconoce ninguna accin aparte del diagrama secuencial de funciones.

Recursos

Los recursos se necesitan para la configuracin y organizacin del proyecto y para el seguimiento de valores
de variables:

Variables globales que se pueden utilizar en todo el proyecto

Configuraciones del PLC para configurar su hardware

Configuracin de tareas para controlar su programa a travs de tareas

Sampling Trace para el registro grfico de valores de variables

Visor de Variables y de Frmulas para la visualizacin e introduccin por defecto de valores de


variables.

Vase al respecto el captulo 'Los recursos'.

Libreras

Puede incorporar en su proyecto una serie de libreras cuyos Mdulos, tipos de datos y variables globales
podr utilizar como si fuesen de creacin propia. La librera 'standard.lib' est disponible a nivel estndar.
Vase al respecto el captulo 'Administrador de librera'.

Tipos de datos

Aparte de los tipos de datos estndar, el usuario puede definir sus propios tipos de datos. Se pueden crear
estructuras, tipos de enumeraciones y referencias.

Vase al respecto 'Tipos de datos estndar' y 'Tipos de datos definidos' en el Apndice

Lenguajes de programacin

TwinCAT PLC Control admite todos los lenguajes descritos en IEC 61131-3. Existen dos lenguajes para texto y
tres lenguajes para grficos.

Lenguajes para texto

Lista de instrucciones (IL)

Texto estructurado (ST)

Lenguajes para grficos

Diagrama de bloques funcionales (FBD)

Plano de contactos (LD)

El editor grfico de planos de funciones (CFC)

Diagrama secuencial de funciones (SFC)

TwinCAT PLC Control: Lenguajes

Lista de instrucciones (IL)

Una lista de instrucciones (IL) se compone de una serie de instrucciones. Cada instruccin empieza en una
nueva lnea, contiene un operador y, segn sea el tipo de operacin, incluye uno o varios operandos
separados por comas.
Delante de una instruccin se puede encontrar una marca de identificacin seguida por dos puntos (:).
Un comentario ha de ser el ltimo elemento de una lnea. Se pueden insertar lneas vacas entre las
instrucciones.

Ejemplo:

LD 17
ST lint (* Comentario *)
GE 5
JMPC next
LD idword
EQ istruct.sdword
STN test
next:

Modificadores y operadores en lenguaje IL

En el lenguaje IL se pueden utilizar los siguientes operadores y modificadores.


Modificadores:

C en JMP, CAL, RET: la instruccin slo se ejecuta si el resultado de la expresin anterior es TRUE.

N en JMPC, CALC, RETC: la instruccin slo se ejecuta si el resultado de la expresin anterior es


FALSE.

N en el resto: negacin del operando (no del acumulador)

A continuacin aparece una tabla de todos los operadores en lenguaje IL con sus posibles modificadores y su
correspondiente significado:

Mtodos en el orden Vtable

Operador Modificadores Significado

LD N Establecer resultado actual igual al


operando

TE N Guardar resultado actual en la


posicin del operando

S Ajustar el operando de Bool en


TRUE cuando el resultado actual es
TRUE

AND N, ( AND por bits

OR N, ( OR por bits

XOR ( OR exclusivo por bits

ADD ( Suma

SUB ( Resta

MUL ( Multiplicacin

DIV ( Divisin

GT ( >

EQ ( =

NE ( <>

LE ( <=

LT ( <
JMP CN Saltar a la marca

CAL CN Llamar a Bloque de Funciones

RET CN Volver de la llamada a un Bloque de


Funciones

) Evaluar operacin de repuesta

En el Apndice figura una lista de todos los operadores IEC.

Ejemplo de un programa en lenguaje IL con uso de algunos modificadores:

LD TRUE (*Cargar TRUE en el acumulador*)


ANDN BOOL1 (*ejecutar AND con el valor negado de la variable BOOL1*)
JMPC marke (*si el resultado ha sido TRUE, saltar a la marca "marke"*)
LDN BOOL2 (*Guardar el valor negado de *)
ST ERG (*BOOL2 en ERG*)
marke:

LD BOOL2 (*Guardar el valor de *)


ST ERG (*BOOL2 en ERG*)

En el lenguaje IL, tambin es posible incluir parntesis despus de una operacin. De este modo, el valor del
parntesis se considera como operando.

Ejemplo:

LD 2
MUL 2
ADD 3
ST Erg

En este caso, el valor de Erg es 7. En cambio, si se introducen parntesis:


LD 2
MUL( 2
ADD 3
) ST Erg

Se obtiene 10 como valor para Erg, porque la operacin MUL slo se evala cuando se encuentra ")"; de esta
forma, como operando para MUL, se calcula el valor 5.

Texto estructurado (ST)

El texto estructurado se compone de una serie de instrucciones que se pueden ejecutar, como sucede con los
lenguajes superiores, de forma condicionada ("IF..THEN..ELSE") o en bucles secuenciales (WHILE..DO).
Ejemplo:

IF value < 7 THEN


WHILE value < 8 DO
value := value + 1;
END_WHILE;
END_IF;

Expresiones

Una expresin es una construccin que devuelve un valor despus de su evaluacin. Las expresiones se
componen de operadores y operandos. Un operando puede ser una constante, una variable, una llamada a
funciones u otra expresin.

Evaluacin de expresiones

La evaluacin de una expresin se realiza mediante la ejecucin de los operadores segn determinadas
reglas de enlace. El operador con el enlace ms fuerte se ejecuta primero, despus el operador que le sigue
en intensidad de enlace, etc., hasta que se hayan ejecutado todos los operadores. Los operadores con la
misma fuerza de enlace comienzan a ejecutarse desde la izquierda hacia la derecha.

A continuacin se muestra una tabla con los operadores ST por orden de fuerza de
enlace.

Operacin Smbolo Fuerza de enlace


Entre parntesis (expresin) Enlace ms fuerte

Llamada a funciones Nombre de funcin (lista de


parmetros)

Potenciar EXPT

Negar -
Formacin de NOT
complemento

Multiplicar *
Dividir /
Mdulo MOD

Sumar +
Restar -

Comparar <,>,<=,>=

Igualdad =
Desigualdad <>

Bool AND AND

Bool XOR XOR

Bool OR OR Enlace ms dbil

A continuacin se indican las siguientes instrucciones en ST ordenadas en forma de tabla y con un ejemplo:
Tipo de
instrucci
n Ejemplo

Asignacin A:=B; CV := CV + 1; C:=SIN(X);

Llamada a CMD_TMR(IN := %IX5, PT := 300);A:=CMD_TMR.Q;


un Bloque
de
Funciones
y uso de la
salida FB

RETURN RETURN;

IF IF D:=B*B;IF D<0.0 THEN C:=A;ELSIF D=0.0 THEN C:=B;ELSE C:=D;END_IF;

CASE CASE INT1 OF1: BOOL1 := TRUE;2: BOOL2 := TRUE;ELSE BOOL1 := FALSE;
BOOL2 := FALSE;END_CASE;

FOR FOR J:=101;FOR I:=1 TO 100 BY 2 DO IF ARR[I] = 70 THEN J:=I; EXIT;


END_IF;END_FOR;

WHILE WHILE J<= 100 AND ARR[J] <> 70 DO J:=J+2;END_WHILE;

REPEAT REPEAT J:=J+2;UNTIL J= 101 OR ARR[J] = 70END_REPEAT;

EXIT EXIT;

Instruccin ;
vaca

Instrucciones en el lenguaje de texto estructurado


Tal como el nombre lo indica, el texto estructurado est concebido para la programacin estructurada; es
decir, que para determinadas construcciones de uso frecuente, tales como bucles secuenciales, el lenguaje
ST ofrece estructuras establecidas para la programacin. Esto proporciona la ventaja de reducir la
probabilidad de errores y conferir mayor claridad al programa. Comparemos, por ejemplo, dos secuencias de
programa con idntico significado en los lenguajes IL y ST:

Un bucle secuencial para el clculo de segundas potencias en lenguaje IL:

bucle secuencial:

LD Zaehler
EQ 0
JMPC ende
LD Var1
MUL 2
ST Var1
LD Zaehler
SUB 1
ST Zaehler
JMP schleife
ende:
LD Var1
ST Erg

El mismo bucle secuencial programado en lenguaje ST se presentara como sigue:

WHILE Zaehler<>0 DO
Var1:=Var1*2;
Zaehler:=Zaehler-1;
END_WHILE

Erg:=Var1;

Como se puede observar, la programacin en el lenguaje ST del bucle secuencial no slo es ms breve, sino
tambin considerablemente ms fcil de leer, sobre todo si nos imaginamos bucles secuenciales entrelazados
en construcciones de mayor envergadura.

Las distintas estructuras en lenguaje ST tienen el siguiente significado:

Operador de asignacin
En el lado izquierdo de una asignacin se encuentra un operando (variable, direccin) al cual se asigna el
valor de la expresin del lado derecho junto con el operador de asignacin :=
Ejemplo:
Var1 := Var2 * 10;
Despus de la ejecucin de esta lnea, Var1 tiene un valor diez veces superior a Var2.

Llamada a Bloques de Funciones en el lenguaje ST

Una llamada a un Bloque de Funciones en lenguaje ST se realiza escribiendo el nombre de la instancia del
Bloque de Funciones y asignando a continuacin, y entre parntesis, los valores que desee de los
parmetros. En el siguiente ejemplo se llama a un temporizador con asignaciones para los parmetros IN y
PT. A continuacin, se asigna la variable de resultado Q a la variable A.

La variable de resultado se activa, como en el lenguaje IL, con el nombre del Bloque de Funciones seguido de
un punto y del nombre de la variable:

CMD_TMR(IN := %IX5, PT := 300);


A:=CMD_TMR.Q

Bucle secuencial FOR

Con el bucle secuencial FOR se pueden programar procesos repetidos.

Sintaxis:

INT_Var :INT;

FOR <INT_Var> := <INIT_WERT> TO <END_WERT> {BY <Schrittgre>} DO


<Anweisungen>
END_FOR;

La parte entre llaves {} es opcional.

<Anweisungen> se ejecutar mientras el contador <INT_Var> no sea superior a <END_WERT>. Esto se


comprueba antes de la ejecucin de <Anweisungen>, de modo que <Anweisungen> no se ejecuta nunca si
<INIT_WERT> es superior a <END_WERT>.

Siempre que se haya ejecutado <Anweisungen>, <INT_Var> aumenta en <Schrittgre>. El tamao de paso
puede tener cualquier valor entero. Si falta ste, se ajusta a 1. Por lo tanto, el bucle secuencial se tiene que
terminar, ya que <INT_Var> slo se hace ms grande.
Ejemplo:

FOR Zaehler:=1 TO 5 BY 1 DO
Var1:=Var1*2;
END_FOR;
Erg:=Var1;

Supongamos que la variable Var1 se haya establecido por defecto con el valor 1; en este caso, despus del
bucle secuencial FOR, tendr el valor 32.

Bucle secuencial REPEAT

El bucle secuencial REPEAT se distingue de los bucles secuenciales WHILE por el hecho de que la condicin
de cancelacin se comprueba solamente despus de la ejecucin del bucle secuencial, de modo que el bucle
secuencial se ejecuta por lo menos una vez, independientemente de la condicin de cancelacin.
Sintaxis:

REPEAT
<Anweisungen>
UNTIL <Boolscher Ausdruck>
END_REPEAT;

<Anweisungen> se ejecuta hasta que <Boolscher Ausdruck> es TRUE.

Si <Boolscher Ausdruck> es TRUE desde la primera evaluacin, <Anweisungen> se ejecuta exactamente una
vez. Si a <Boolscher Ausdruck> no se le asigna nunca el valor TRUE, <Anweisungen> se repite de forma
infinita, con lo cual se produce un error de tiempo de funcionamiento.

Nota: el programador ha de asegurarse de que no se produzca ningn bucle secuencial infinito y, para ello,
tendr que modificar la condicin en la parte de instruccin del bucle secuencial, por ejemplo, aumentando o
reduciendo el conteo de un contador.

Ejemplo:

REPEAT
Var1 := Var1*2;
Zaehler := Zaehler-1;
UNTIL
Zaehler=0
END_REPEAT

Bucle secuencial WHILE


El bucle secuencial WHILE se puede utilizar igual que el bucle secuencial FOR, con la diferencia de que la
condicin de cancelacin puede ser cualquier expresin de Bool. Esto significa que se indica una condicin
que, en caso de cumplirse, produce la ejecucin del bucle secuencial.

Sintaxis:

WHILE <Boolscher Ausdruck> DO


<Anweisungen>
END_WHILE;

La ejecucin de <Anweisungen> se repite mientras <Boolscher Ausdruck> sea TRUE. Si <Boolscher


Ausdruck> tiene el valor FALSE desde la primera evaluacin, <Anweisungen> no se ejecuta nunca. Si
<Boolscher Ausdruck> no tiene nunca el valor FALSE, <Anweisungen> se repite de forma infinita, con lo cual
se produce un error de tiempo de funcionamiento.

Nota: el programador ha de asegurarse de que no se produzca ningn bucle secuencial infinito y, para ello,
tendr que modificar la condicin en la parte de instruccin del bucle secuencial, por ejemplo, aumentando o
reduciendo el conteo de un contador.

Ejemplo:

WHILE Zaehler<>0 DO
Var1 := Var1*2;
Zaehler := Zaehler-1;
END_WHILE

Los bucles secuenciales WHILE y REPEAT son, en cierto sentido, ms potentes que el bucle secuencial FOR,
ya que no es necesario saber antes de la ejecucin el nmero de pasos del bucle secuencial. En ciertos
casos, slo podr trabajar con estos dos tipos de bucles secuenciales. No obstante, si el nmero de pasos de
bucle secuencial est claro, se dar preferencia a un bucle secuencial FOR, ya que no se permiten los bucles
secuenciales infinitos.

Instruccin IF

Con la instruccin IF se puede comprobar una condicin y ejecutar instrucciones en funcin de esta condicin.
Sintaxis:

IF <Boolscher_Ausdruck1> THEN
<IF_Anweisungen>
{ELSIF <Boolscher_Ausdruck2> THEN
<ELSIF_Anweisungen1>
.
.
ELSIF <Boolscher_Ausdruck n> THEN
<ELSIF_Anweisungen n-1>
ELSE
<ELSE_Anweisungen>}
END_IF;

La parte entre llaves {} es opcional.

Si el valor de < Boolscher_Ausdruck1> es TRUE, slo se ejecuta <IF_Anweisungen>, ninguna de las dems
instrucciones.

De lo contrario, las expresiones de Bool, empezando por < Boolscher_Ausdruck2>, se evalan sucesivamente
hasta que una de las expresiones tenga el valor TRUE. De ese modo, slo se evalan las instrucciones que
se encuentran detrs de esta expresin de Bool y delante del siguiente ELSE o ELSIF. Si ninguna de las
expresiones de Bool tiene el valor TRUE, se evala nicamente <ELSE_Anweisungen>.

Ejemplo:

IF temp<17
THEN heizung_an := TRUE;
ELSE heizung_an := FALSE;
END_IF;

En este caso, la calefaccin se enciende cuando la temperatura baja de los 17 grados; de lo contrario
permanece apagada.

Instruccin CASE

Con la instruccin CASE se pueden reunir varias instrucciones condicionadas con la misma variable de
condicin en una sola construccin.

Sintaxis:

CASE <Var1> OF
<Wert 1>: <Anweisung 1>
<Wert 2>: <Anweisung 2>
...
<Wert n>: <Anweisung n>
ELSE <ELSE-Anweisung>
END_CASE;

Una instruccin CASE se ejecuta segn el siguiente esquema:


Si la variable en <Var1> tiene el valor <Wert i>, se ejecuta la instruccin <Anweisung i>.

Si <Var 1> no tiene ninguno de los valores indicados, se ejecuta <ELSE-Anweisung>.

Si ha de ejecutarse la misma instruccin para varios valores de la misma variable, estos valores se
pueden escribir uno tras otro, separados por comas, condicionando as la instruccin comn.

Ejemplo:

CASE INT1 OF
1, 5: BOOL1 := TRUE;
BOOL3 := FALSE;
2: BOOL2 := FALSE;
BOOL3 := TRUE;
ELSE
BOOL1 := NOT BOOL1;
BOOL2 := BOOL1 OR BOOL2;
END_CASE;

Instruccin RETURN

La instruccin RETURN se puede utilizar para terminar una funcin que, por ejemplo, es dependiente de una
condicin.

Instruccin EXIT

Si la instruccin EXIT se encuentra en un bucle secuencial FOR, WHILE o REPEAT, el bucle secuencial
interior se termina, independientemente de la condicin de cancelacin.

Diagrama secuencial de funciones (SFC)

El diagrama secuencial de funciones es un lenguaje orientado a grficos que permite describir el desarrollo en
el tiempo de distintas acciones dentro de un programa.

Ejemplo de una red en el diagrama secuencial de funciones:


Paso

Un mdulo escrito en el diagrama secuencial de funciones se compone de una secuencia de pasos


conectados a travs de conexiones direccionadas (transiciones).

Existen dos clases de pasos:

La forma simplificada se compone de una accin, as como de un flag que indica si el paso est
activo. Si la accin de un paso est implementada, aparece un pequeo tringulo en el ngulo
superior derecho del paso.

Un paso IEC se compone de un flag y de una o varias acciones asignadas. Las acciones asociadas
aparecen a la derecha del paso.

Accin

Una accin puede contener una secuencia de instrucciones en lenguaje IL o ST, una cantidad de redes en
lenguaje FBD o LD, o una estructura de secuencias (SFC). En los pasos simplificados, una accin est
conectada siempre con su paso. Para editar una accin, haga doble clic con el ratn en el paso al cual
pertenece la accin, o marque el paso y ejecute el comando de men 'Herramientas''Zoom accin/transicin'.
Tambin es posible una accin de entrada y/o salida por paso. Las acciones de pasos IEC se encuentran en
el Object Organizer, directamente debajo del mdulo de SFC, y se cargan en el editor haciendo doble clic o
pulsando <Intro>. Es posible generar nuevas acciones con 'Proyecto''Aadir accin'.

Accin de entrada / salida

A un paso se le puede aadir una accin de paso, una accin de entrada y una accin de salida. Una accin
de entrada slo se ejecuta una vez inmediatamente despus de que el paso se haya activado. Una accin de
salida slo se ejecuta una vez antes de que se desactive el paso. Un paso con accin de entrada se marca
con una 'E' en el ngulo inferior izquierdo y la accin de salida, con una 'X' en el ngulo inferior derecho. La
accin de entrada y de salida se puede implementar en cualquier lenguaje. Para editar una accin de entrada
o de salida, haga doble clic con el ratn en el correspondiente ngulo del paso. Una accin de entrada y de
salida slo se puede definir para un paso simplificado, pero no para un paso IEC.

Ejemplo de un paso con accin de entrada y de salida:

Transiciones

Entre los pasos se encuentran las condiciones denominadas transiciones.

Una condicin de transicin debe tener el valor TRUE o FALSE. De este modo, puede estar formada por una
variable booleana, una direccin booleana o una constante booleana.

Tambin puede obtener una sucesin de instrucciones con un resultado booleano en sintaxis ST (por ejemplo,
(i <= 100) AND b) o puede contener cualquier lenguaje (ver 'Extras' '>Zoom accin / transicin').

Pero una transicin no puede contener ningn programa, bloque de funciones o asignaciones.

Nota: Aparte de transiciones tambin se puede utilizar el modo de impulso para avanzar al siguiente salto.
Consulte SFCtip y SFCtipmode.

El paso activo

Despus de la llamada al Mdulo de SFC, se ejecuta primero la accin perteneciente al paso inicial
(doblemente enmarcada). Un paso cuya accin se ejecuta se denomina paso activo. Cuando el paso est
activo, la correspondiente accin se ejecuta una vez por ciclo. En el modo Online, los pasos activos se
representan de color azul. Cada paso tiene asignado un flag que contiene el estado del paso. El flag de paso
(estado activo o inactivo del paso) se representa a travs del valor lgico de un elemento de estructura de
Bool <StepName>.x. Esta variable de Bool tiene el valor TRUE cuando el correspondiente paso est activo, y
FALSE, cuando est inactivo. Esta variable se declara de forma implcita y se puede utilizar en cualquier
accin y transicin del Mdulo de SFC. En un ciclo de PLC se ejecutan todas las acciones que pertenecen a
pasos activos. A continuacin, los pasos posteriores a los pasos activos se activan si las condiciones de
transicin de los siguientes pasos son TRUE. De este modo, Los pasos que estn activos se ejecutan tan slo
en el siguiente ciclo.

Nota: Si el paso activo contiene una accin de salida, esta accin no se ejecuta hasta el siguiente ciclo,
siempre y cuando la transicin siguiente sea TRUE.

Pasos IEC

Aparte de los pasos simplificados, SFC ofrece los pasos IEC conformes a la norma. Para poder utilizar pasos
IEC, es preciso integrar en su proyecto la librera SFC especial lecsfc.lib. A cada paso IEC se puede asignar
un nmero ilimitado de acciones. Las acciones de pasos IEC estn separadas de los pasos y se pueden
utilizar varias veces dentro de su mdulo. Para este fin, se tienen que asociar con los distintos pasos
mediante el comando 'Herramientas''Asociar accin'. Aparte de acciones, tambin se pueden asignar variables
de Bool a los pasos. A travs de los denominados caracteres de determinacin (calificadores), las acciones y
las variables de Bool se activan y desactivan con retardos parciales. Dado que una accin puede permanecer
activa aunque ya se est ejecutando el siguiente paso debido, por ejemplo, al carcter de determinacin S
(Set), se pueden conseguir efectos colaterales. Las acciones asociadas a un paso IEC se representan a la
derecha del paso en una casilla dividida en dos. El campo izquierdo contiene el calificador, en este caso, con
constantes de tiempo, y el derecho, el nombre de la accin.

Ejemplo de un paso IEC con dos acciones:

Para facilitar el seguimiento de los procesos, todas las acciones activas en el modo Online, al igual que los
pasos activos, se representan de color azul. Despus de cada ciclo se comprueba qu acciones estn activas.

Tenga en cuenta tambin la limitacin en la utilizacin de calificadores de tiempo en acciones utilizadas varias
veces en el mismo ciclo.

Nota: Si se desactiva una accin, sta se vuelve a ejecutar una vez. Esto significa que cada accin se ejecuta
como mnimo dos veces (tambin una accin con el calificador P). Al realizar una llamada primero se ejecutan
las acciones desactivadas en orden alfabtico y a continuacin todas las acciones activas en orden alfabtico.

Un nuevo paso insertado ser un paso IEC si est seleccionado el comando de men 'Herramientas''Utilizar
pasos IEC'. En el Object Organizer, las acciones se encuentran directamente debajo de su correspondiente
Mdulo de SFC. Con 'Proyecto''Aadir accin' se pueden generar nuevas acciones.
Para asociar las acciones a pasos IEC, estn disponibles los siguientes calificadores
(caracteres de determinacin).

N Non-stored la accin permanece activa mientras el paso est activo

R overriding Reset la accin se desactiva

S Set (Stored) la accin se activa y permanece as hasta un Reset

L time Limited la accin se activa durante un determinado tiempo

D time Delayed la accin se activa al cabo de un determinado tiempo si el paso


sigue estando activo

P Pulse la accin se ejecuta exactamente una vez cuando se activa el


paso

SD Stored and time la accin se activa al cabo de un determinado tiempo y


Delayed permanece activa hasta un Reset

DS Delayed and la accin se activa al cabo de un determinado tiempo si el paso


Stored sigue estando activo y permanece activa hasta un Reset

SL Stored and time la accin se desactiva durante un determinado tiempo


Limited

Nota: Si la misma accin se utiliza en dos pasos consecutivos con calificadores que afectan el desarrollo
temporal, puede ser que en la segunda utilizacin de la accin el calificador temporal ya no tenga efecto. Para
evitar esto se debe aadir un paso intermedio, de forma que el estado de la accin se pueda volver a
inicializar en el ciclo a ejecutar adicionalmente.

Variables implcitas en SFC

En el SFC hay variables declaradas implcitas que se pueden utilizar. Cada paso tiene asignado un flag que
contiene el estado del paso. El flag del paso (estado activo o inactivo del paso) se llama <StepName>.x en los
pasos IEC o slo <StepName> en los pasos simplificados. Esta variable booleana tiene el valor TRUE cuando
el correspondiente paso est activo, y FALSE, cuando est inactivo. Se puede utilizar en cada accin y
transicin del mdulo SFC.

Se puede saber si una accin IEC est activa o no con la variable <AktionsName>.x.

En los pasos IEC se puede consultar la duracin activa de los pasos con la variable implcita <StepName>.t.
Tambin se puede acceder a las variables implcitas desde otros programas. Ejemplo: boolvar1:=sfc.step1.x;
step1.x es la variable booleana implcita que representa el estado del paso IEC step1 en el mdulo sfc1.

Ramo alternativo

Dos o ms ramos en lenguaje SFC se pueden definir como divergencias de seleccin de secuencia
alternativas. Cada ramo alternativo tiene que empezar y terminar con una transicin. Las divergencias de
seleccin de secuencia alternativas pueden contener divergencias de seleccin de secuencia paralelas y otras
divergencias de seleccin de secuencia alternativas. Una divergencias de seleccin de secuencia alternativa
empieza en una lnea horizontal (inicio de alternativa) y termina en una lnea horizontal (fin de alternativa) o
con un salto. Si el paso previo a la lnea de inicio de alternativa est activo, se evala la primera transicin de
cada divergencia de seleccin de secuencia alternativa desde la izquierda hacia la derecha. Se abre la
primera transicin desde la izquierda cuya condicin de transicin tenga el valor TRUE y se activan los
siguientes pasos (ver Paso activo).

Ramo paralelo

Dos o ms divergencias de seleccin de secuencia en lenguaje SFC se pueden definir como divergencias de
seleccin de secuencia paralelas. Cada ramo paralelo tiene que empezar y terminar con un paso. Las
divergencias de seleccin de secuencia paralelas pueden contener divergencias de seleccin de secuencia
alternativas u otras divergencias de seleccin de secuencia paralelas. Una divergencia de seleccin de
secuencia paralela empieza en una lnea doble (inicio de paralelo) y termina en una lnea doble (fin de
paralelo) o con un salto. Si el paso previo a la lnea de inicio de paralelo est activo y la condicin de
transicin que hay despus de este paso tiene el valor TRUE, se activan los primeros pasos de todas las
divergencias de seleccin de secuencia paralelas (ver Paso activo). Entonces, todos estos ramos se ejecutan
paralelamente. El paso despus de la lnea de fin de paralelo se activa si todos los pasos previos estn
activos y la condicin de transicin anterior a este paso suministra el valor TRUE.

Salto
Un salto es una conexin hacia el paso cuyo nombre se indica debajo del smbolo de salto. Los saltos son
necesarios porque no est permitido crear conexiones hacia arriba o entrecruzadas.

Diagrama de bloques funcionales (FBD)

El diagrama de bloques funcionales es un lenguaje de programacin orientado a grficos. Trabaja con una
lista de redes, cada una de las cuales contiene una estructura que representa una expresin lgica o
aritmtica, la llamada a un Bloque de Funciones, un salto o una instruccin Return. A continuacin, se indica
un ejemplo de una red en el diagrama de bloques funcionales como se presentara habitualmente en TwinCAT
PLC Control:

El editor grfico de planos de funciones (CFC)

El editor grfico de planos de funciones no trabaja como el plano de funciones FBD con redes, sino con
elementos que se pueden colocar donde se desee. Esto permite, por ejemplo, retroacoplamientos.
Un ejemplo para una red en un editor grfico de planos de funciones podra tener el siguiente aspecto:

Plano de contactos (LD)

El plano de contactos es, asimismo, un lenguaje de programacin orientado a grficos, cuyo fundamento se
asemeja al principio sobre el que se basa un circuito elctrico. Por un lado, el plano de contactos es apto para
construir circuitos secuenciales lgicos; por otro lado, tambin permite construir redes como en lenguaje FBD.
Por esta razn, el lenguaje LD resulta muy til para controlar la llamada a otros Mdulos. El plano de
contactos se compone de una secuencia de redes. Una red se limita en los lados izquierdo y derecho con una
lnea de corriente vertical izquierda y derecha. Entre ellas se encuentra un esquema de conexiones
compuesto de contactos, bobinas y lneas de conexin. El lado izquierdo de cada red est formado por una
secuencia de contactos que transmiten de izquierda a derecha el estado "ON" u "OFF"; estos estados
corresponden a los valores de Bool TRUE y FALSE. A cada contacto le corresponde una variable de Bool. Si
esta variable es TRUE, el estado se transmite a travs de la lnea de conexin de izquierda a derecha; de lo
contrario, la conexin derecha recibe el valor OFF.

Ejemplo de una red en el plano de contactos como se presentara habitualmente en TwinCAT PLC Control:

Contacto

El lado izquierdo de cada red en lenguaje LD est compuesto por una red de contactos (los contactos se
representan con dos lneas paralelas: | |) que transmiten de izquierda a derecha el estado "ON" u "OFF".
Estos estados corresponden a los valores de Bool TRUE y FALSE. A cada contacto le corresponde una
variable de Bool. Si esta variable es TRUE, el estado se transmite a travs de la lnea de conexin de
izquierda a derecha; de lo contrario, la conexin derecha recibe el valor "OFF". Los contactos pueden estar
conectados en paralelo, de modo que uno de los ramos paralelos ha de proporcionar el valor "ON" para que la
divergencia de seleccin de secuencia paralela tenga el valor "ON"; los contactos tambin pueden estar
conectados en serie, de forma que han de tener el valor "ON" para que el ltimo contacto proporcione el
estado "ON". Por lo tanto, esto se corresponde con una conexin elctrica paralela o en serie. Un contacto
puede estar negado, lo cual se reconoce por la barra en el smbolo de contacto: |/|. En este caso, el valor de la
lnea se transmite si la variable es FALSE.

Bobina

En el lado derecho de una red en lenguaje LD se encuentra un nmero cualquiera de bobinas representadas
por parntesis:( ). stas slo se pueden conectar en paralelo. Una bobina transmite el valor de las conexiones
de izquierda a derecha y lo copia en la variable de Bool correspondiente. En la lnea de entrada puede existir
el valor ON (corresponde a la variable de Bool TRUE) o el valor OFF (corresponde, en consecuencia, a
FALSE). Los contactos y las bobinas tambin se pueden negar (en el ejemplo, el contacto SCHALT1 y la
bobina %QX3.0 estn negados). Si una bobina est negada (se reconoce por la barra situada en el smbolo
de la bobina: (/)), copia el valor negado en la correspondiente variable de Bool. Si un contacto est negado,
slo realiza la conexin cuando la correspondiente variable de Bool es FALSE.
Bloques de Funciones en el plano de contactos

Aparte de contactos y bobinas, tambin puede introducir Bloques de Funciones y programas; stos deben
tener en la red una entrada y una salida con valores de Bool y se pueden utilizar en las mismas posiciones
que los contactos, es decir, en el lado izquierdo de la red LD.

Bobinas Set/Reset

Las bobinas se pueden definir tambin como bobinas Set o Reset. Una bobina set (se reconoce por la 'S' del
smbolo de bobina: (S)) no sobrescribe nunca el valor TRUE en la correspondiente variable de Bool; es decir,
una vez que la variable se haya ajustado en TRUE, permanece invariable. Una bobina Reset (se reconoce por
la 'R' del smbolo de bobina: (R)) no sobrescribe nunca el valor FALSE en la correspondiente variable de Bool:
una vez que la variable se haya ajustado en FALSE, permanece sin alterar.

LD como FBD

Al trabajar con el lenguaje LD, es posible que desee utilizar el resultado del circuito de contactos para el
control de otros Mdulos. En este caso, con la ayuda de bobinas, puede guardar el resultado en una variable
global que se volver a utilizar en otro punto. Asimismo, puede incorporar la eventual llamada directamente en
su red de lenguaje LD. Para este fin, introduzca un mdulo con entrada EN. Estos mdulos son operandos,
Funciones, Programas o Bloques de Funciones totalmente normales que tienen una entrada EN adicional. La
entrada EN es siempre del tipo BOOL e implica que el Mdulo con entrada EN slo se evala si EN tiene el
valor TRUE. Para que un Mdulo EN se conecte en paralelo con las bobinas, la entrada EN se conecta con la
lnea de conexin entre los contactos y la bobinas. Si a travs de esta lnea se transporta la informacin ON,
este Mdulo se evala de forma totalmente normal. Partiendo de este tipo de Mdulo EN, se pueden crear
redes como en FBD.

Parte de una red de lenguaje LD con un mdulo EN

Debug

Sampling Trace
El Sampling Trace ofrece la posibilidad de registrar el desarrollo de valores de variables en funcin del
denominado suceso de trigger. ste es el flanco ascendente o descendente de una variable de Bool definida
previamente (de la variable de trigger). TwinCAT PLC Control permite el registro de hasta 20 variables. Est
disponible una memoria anular de 64 kB.

Debugging

Las funciones de Debug de TwinCAT PLC Control le facilitan la localizacin de errores.


Breakpoint Un breakpoint es un punto en el programa donde se detiene la ejecucin. De esta forma es posible
examinar los valores de variables en un determinado punto del programa. Los breakpoints se pueden
establecer en todos los editores. En los editores de texto, los breakpoints se colocan en nmeros de lnea, en
FBD y LD en nmeros de red y en SFC en pasos.

Paso nico

Paso nico significa:

en lenguaje IL: Ejecucin del programa hasta el siguiente comando CAL, LD o JMP.

en lenguaje ST: Ejecucin de la siguiente instruccin.

en los lenguajes FBD, LD: Ejecucin de la siguiente red

en lenguaje SFC: Ejecucin de la accin para el siguiente paso.

La ejecucin paso a paso le permite comprobar la correccin lgica de su programa.

Ciclo individual

Si est seleccionado Ciclo individual, la ejecucin se detiene despus de cada ciclo.

Modificar valores en lnea

En el funcionamiento continuo, las variables se pueden establecer una vez en un determinado valor (escribir
valor) o volver a escribir despus de cada ciclo con un determinado valor (forzar).

Monitorizacin

Para las declaraciones de variables visibles en pantalla se leen y se representan en permanencia los valores
actuales del PLC. TwinCAT PLC Control monitoriza en el modo en lnea todas las variables visibles en
pantalla. Adems, se pueden combinar en el visor de variables y de frmulas unas variables cuyos datos se
desean ver en un solo vistazo.

Simulacin

En la simulacin, el programa de PLC creado no se ejecuta en el PLC, sino en el ordenador en el cual


funciona tambin TwinCAT PLC Control. Estn disponibles todas las funciones en lnea. De este modo, tiene
la posibilidad de comprobar la correccin lgica de su programa sin hardware de PLC. La simulacin slo est
disponible si ha seleccionado en la configuracin PLC el PLC de bornes BCxx00 (generacin de cdigos
80C165). Con el PLC en el PC (generacin de cdigos i386), la simulacin se realiza directamente en el
sistema de tiempo de funcionamiento, sin necesidad de E/A.

IEC 61131-3

La norma IEC 61131-3 es un estndar internacional para lenguajes de programacin para PLC. Los lenguajes
de programacin realizados en TwinCAT PLC Control cumplen los requisitos de la norma. De acuerdo con
este estndar, un programa se compone de los siguientes elementos:

Estructuras

Mdulos

Variables globales

Literature related to IEC 61131-3:

Flavio Bonifatti et al.: IEC 1131-3 Programming Methology, Seyssins: CJ International, 1997. ISBN 2-
9511585-0-5

Karl-Heinz John, Michael Tiegelkamp: Iec 61131-3 Programming Industrial Automation Systems,
Berlin: Springer-Verlag, 2001. ISBN 3-540677526

R. W. Lewis: Programming industrial control systems using IEC 1131-3, London: IEC Publishing,
1998. ISBN 0 85296 950 3

Ejemplo

El ejemplo de programa servir para el control de un mini-sistema de semforos con dos semforos de trfico
en un cruce. Los dos semforos alternarn sus fases de rojo/verde, y para evitar accidentes, entre dichas
fases se debern prever tambin, unas fases de amarillo o de conmutacin amarillo/rojo. stas ltimas
tendrn una duracin ms corta que las primeras. En este ejemplo ver cmo se pueden representar
programas dependientes del tiempo con los medios de lenguaje de IEC61131-3, cmo se editan con la ayuda
de TwinCAT PLC Control los distintos lenguajes de la norma y cmo se pueden combinar sin problemas.

Crear Mdulos

Inicie primero TwinCAT PLC Control y seleccione 'Archivo' 'Nuevo'. Como nombre de tarea se propone
'Estndar'. El primer Mdulo deber llamarse PLC_PRG. Para nuestro caso elegimos como lenguaje de este
Mdulo el Diagrama secuencial de funciones (SFC). Cree ahora dos objetos ms con el comando 'Proyecto'
'Objeto' 'Insertar' de la barra de men o del men de contexto (pulsar con el botn derecho del ratn en el
Object Organizer): un Bloque de Funciones en el lenguaje Diagrama de bloques funcionales (FBD) llamado
AMPE y un Mdulo WARTEN, igualmente del tipo Bloque de Funciones, que programaremos como lista de
instrucciones (IL).
En el Mdulo AMPEL, asignaremos las distintas fases del semforo a sus luces, de modo que la lmpara roja
se encienda en la fase roja y en la fase amarilla/roja, la lmpara amarilla en la fase amarilla y amarilla/roja,
etc.
En WARTEN programaremos un sencillo temporizador que recibir como entrada la duracin de la fase en
milisegundos y suministrar como salida TRUE cuando haya finalizado el tiempo.
Finalmente, PLC_PRG lo conectar todo, de modo que la luz correcta del semforo se encienda en el
momento adecuado durante el intervalo de tiempo correcto.

En el editor de declaraciones se declara como variable de entrada (entre las palabras clave VAR_INPUT y
END_VAR) una variable llamada STATUS del tipo INT. STATUS dispondr de cinco estados posibles,
concretamente uno para cada fase de semforo: verde, amarilla, amarillo-roja, roja y apagado. En
consecuencia, nuestro semforo tiene cuatro salidas: ROT, GELB, GRUEN y AUS (en las variables no se
aceptan vocales con diresis). Declare estas cuatro variables y observe que la parte de declaracin de
nuestro Bloque de Funciones AMPEL se presenta como sigue:
Parte de declaracin del Bloque de Funciones AMPEL

Ahora se trata de determinar, a partir de la entrada STATUS del Mdulo, los valores de las variables de salida.
Para este fin, acceda a la parte de programa del Mdulo. Haga clic en el campo de la izquierda de la primera
red (el campo gris con el nmero 1). Acaba de seleccionar la primera red. A continuacin, seleccione el
comando de men 'Insertar' 'Operador'. En la primera red se inserta una caja con el operador AND y dos
entradas:

Haga clic en el texto AND con el puntero del ratn y reemplace el texto por EQ. Seleccione los tres
interrogantes de la entrada superior e introduzca la variable STATUS. A continuacin, seleccione los tres
interrogantes inferiores y sobrescrbalos con un 1. Se obtiene la siguiente red:

Seguidamente, haga clic en un punto detrs de la caja EQ. De este modo, se selecciona la salida de la
operacin EQ. Seleccione 'Insertar' 'Asignacin'. Cambie los tres interrogantes ??? por GRUEN. Ahora ha
creado una red con el siguiente aspecto:

STATUS se compara con 1 y el resultado se asigna a GRUEN. Por lo tanto, esta red conmuta a GRUEN
cuando el valor de estado especificado es 1. Para los dems colores del semforo y para OFF necesitamos
tres redes ms, que se generarn con el comando 'Insertar' 'Red (posterior)'. Estas redes debern crearse
como en el ejemplo. El Mdulo terminado se presenta como sigue:
Para insertar un operador delante de otro operador, tiene que seleccionar el punto donde la entrada a la que
desea anexar el operador desemboca en la caja. A continuacin, ejecute el comando 'Insertar' 'Operador'. Por
lo dems, puede seguir creando estas redes de la misma manera que se utiliz para la primera red. Una vez
terminado el primer Mdulo, AMPEL controla el color de semforo deseado para cada caso segn la entrada
del valor STATUS.

Para el temporizador del Mdulo WARTEN necesitamos un Mdulo de la librera estndar. A este fin, abra el
administrador de libreras con 'Ventana' 'Administrador de libreras'. Seleccione 'Insertar' 'Librera adicional'
para que aparezca el dilogo de apertura de archivos. Seleccione standard.lib en la lista de libreras.

Pasemos ahora al Mdulo WARTEN. ste se convertir en un temporizador con el cual podemos indicar la
duracin de cada fase de semforo. Nuestro Mdulo recibe como variable de entrada una variable ZEIT del
tipo TIME y suministra como salida un valor de Bool que denominaremos OK y que deber ser TRUE cuando
haya finalizado el tiempo deseado. Este valor por defecto cambiar a FALSE si se inserta al final de la
declaracin (pero antes del punto y coma)" := FALSE ". Para nuestros fines necesitamos el Mdulo TP: un
transmisor de impulsos que tiene dos entradas (IN, PT) y dos salidas (Q, ET). TP hace lo siguiente: mientras
IN sea FALSE, ET ser 0 y Q, FALSE. Cuando IN suministra el valor TRUE, en la salida ET el tiempo se
cuenta en milisegundos. Cuando ET alcanza el valor PT, no se sigue contando. Mientras ET sea menor que
PT, Q seguir teniendo el valor TRUE. Una vez alcanzado el valor PT, Q vuelve a ser FALSE. Si desea
obtener ms informacin, en el Apndice encontrar una descripcin resumida de todos los Mdulos de la
librera estndar. Para poder utilizar el Mdulo TP en el Mdulo WARTEN, tenemos que crear una instancia
local de TP. Para este fin, declaramos una variable local ZAB (para Tiempo terminado) del tipo TP (entre las
palabras clave VAR, END_VAR). De este modo, la parte de declaracin de WARTEN se presenta como sigue:

Parte de declaracin del Bloque de Funciones WARTEN

Para realizar el temporizador que desea, la parte de programa del Mdulo se tiene que programar como
sigue:
Parte de instrucciones del Bloque de Funciones WARTEN

Primero se pregunta si Q ya est ajustado en TRUE (es decir, si ya se est contando). En este caso no
cambiamos nada en la ubicacin de ZAB, sino que llamamos al Bloque de Funciones ZAB sin entrada (para
comprobar si el tiempo ya ha finalizado). De lo contrario ajustamos la variable IN de ZAB en FALSE y, con ello,
ET en 0 y Q, en FALSE. De este modo, todas las variables estn ajustadas segn el estado inicial deseado.
Ahora guardamos el tiempo necesario de la variable ZEIT en la variable PT y llamamos a ZAB con IN:=TRUE.
En el Bloque de Funciones ZAB se cuenta la variable ET hasta que alcance el valor ZEIT y, a continuacin, Q
cambia a FALSE. El valor negado de Q se guarda despus de cada pasada de WARTEN con el valor OK. Por
lo tanto, en cuanto Q sea FALSE, OK suministra TRUE. Con esto, el temporizador est terminado.

Ahora se trata de reunir los dos Bloques de Funciones WARTEN y AMPEL en el programa principal
PLC_PRG. Primero declaramos las variables que necesitamos. Se trata de dos instancias del Bloque de
Funciones AMPEL (AMPEL1, AMPEL2) y una del tipo WARTEN (VERZ como "Verzgerung" = retardo).
Entonces, PLC_PRG se presenta como sigue:

Primer nivel de ampliacin de la parte de declaracin del programa PLC_PRG

El diagrama inicial de un Mdulo en SFC se compone siempre de una accin "Init", una transicin "Trans0"
posterior y un salto de vuelta a Init, pero ser preciso ampliarlo un poco. Establecemos primero la estructura
del diagrama antes de programar las distintas acciones y transiciones. Para comenzar, necesitaremos un
paso para cada fase de semforo. Insrtelo marcando Trans0 y seleccionando 'Insertar' 'Paso de transicin
(posterior)'. Repita este proceso tres veces ms. Si hace clic directamente en el nombre de una transicin o
un paso, ste se marca y es posible modificarlo. Nombre a la primera transicin despus de Init "TRUE" y a
todas las dems transiciones "VERZ.OK". De este modo, la primera transicin siempre realiza la conexin y
las dems lo hacen cuando VERZ ajustado en OK emite TRUE, es decir, cuando ha transcurrido el tiempo
introducido. Los pasos reciben (de arriba a abajo) los nombres Schalt1, Gruen2, Schalt2, Gruen1 y,
naturalmente, Init conserva su nombre. "Schalt" corresponde cada vez a una fase de amarillo; con Gruen1,
AMPEL1 ser verde y con Gruen2, lo ser AMPEL2. Finalmente, modifique la direccin de salto de Init a
Schalt01. Si ha hecho todo correctamente, deber aparecer el siguiente diagrama:

Primer nivel de ampliacin de la parte de instrucciones del programa PLC_PRG

Es preciso programar los distintos pasos. Si hace doble clic en el campo de un paso, se abre un dilogo para
realizar una nueva accin. En nuestro caso, siempre utilizaremos el lenguaje IL (Lista de instrucciones).
Acciones y condiciones de transicin

Las variables se inicializan en la accin para el paso Init; STATUS de AMPEL1 debera ser 1 (verde). El
estado de AMPEL2 debera ser 3 (rojo). La accin Init aparecera de la siguiente forma:

Accin Init

Con Schalt1, el STATUS de AMPEL1 cambia a 2 (amarillo) y el de AMPEL2, a 4 (amarillo-rojo). Adems, se


establece un retardo de 2000 milisegundos. Ahora, la accin se presenta como sigue:

Accin Schalt1

Con Gruen2, AMPEL1 est rojo (STATUS:=3), AMPEL2 est verde (STATUS:=1) y el retardo se encuentra en
5000.

Accin Gruen2

Con Schalt2, el STATUS de AMPEL1 cambia a 4 (amarillo-rojo) y el de AMPEL2, a 2 (amarillo). En este caso,
se fija un retardo de 2000 milisegundos.
Accin Schalt2

Con Gruen1, AMPEL1 est verde (STATUS:=1), AMPEL2 est rojo (STATUS:=3) y el retardo se ajusta en
5000.

Accin Gruen1

Con esto se termina la primera fase de ampliacin de nuestro programa. Seguidamente, lo puede compilar y
verificar en la simulacin.

Para que nuestro diagrama tenga por lo menos una divergencia de seleccin de secuencia alternativa y para
que podamos desconectar nuestro sistema de semforos durante la noche, incorporaremos en nuestro
programa un contador que desconecte el sistema transcurrido un determinado nmero de ciclos de semforo.
Para ello, primero necesitamos una nueva variable ZAEHLER del tipo INT. Declrela como en la parte de
declaracin de PLC_PRG e inicialcela en Init con 0.

Segunda versin de la accin Init

Marque ahora la transicin hacia Conmut1 e inserte un paso y una transicin despus. Marque la nueva
transicin creada e inserte una divergencia de seleccin de secuencia alternativa a su izquierda y, tras sta,
un paso y una transicin. Despus de la nueva transicin creada, inserte un salto hacia Schalt1. Asigne los
siguientes nombres a las nuevas partes creadas: "Zhlen" para el paso superior y "Aus" para el inferior. Las
transiciones se llaman (de arriba a abajo y de izquierda a derecha) BEENDEN, TRUE y VERZ.OK. La nueva
parte creada deber aparecer como la parte incluida en el recuadro negro:

Sistema de semforos

Existen dos nuevas acciones y una nueva condicin de transicin para implementar. En el paso de conteo
slo se produce el aumento en uno de ZAEHLER
La transicin BEENDEN comprueba si el contador es mayor que un determinado nmero, como por ejemplo,
7:

Con "Aus", el estado de ambos semforos se ajusta en 5 (AUS), ZAEHLER se pone a 0 y se establece un
retardo de 10 segundos:

En la ciudad donde se encuentra el semforo se hace de noche transcurridos siete ciclos de semforo, el
semforo se desconecta durante diez segundos, vuelve a amanecer, el sistema de semforos se vuelve a
conectar y todo empieza de nuevo desde el principio.

Compruebe ahora su programa. Para ello, deber compilarlo ('Proyecto' 'Compilar todo') y cargarlo ('En lnea'
'Iniciar sesin' y, a continuacin, 'En lnea' 'Cargar'). Si ejecuta 'En lnea' 'Inicio', puede realizar un seguimiento
del desarrollo en el tiempo de los distintos pasos de su programa principal. La ventana del Mdulo PLC_PRG
se ha convertido en ventana de monitor. Si hace doble clic en el signo Ms del editor de declaraciones, se
despliega la representacin de variables y se pueden observar los valores de las distintas variables.

Ventana principal
Los siguientes elementos se encuentran en la ventana principal de TwinCAT PLC Control (de arriba a abajo):

la barra de mens

la barra de funciones (opcional) con botones para ejecutar con mayor rapidez los comandos de men

el Object Organizer con fichas para mdulos, tipos de datos y recursos

una divisin de pantalla vertical entre el Object Organizer y el rea de trabajo de TwinCAT PLC
Control

el rea de trabajo donde se encuentran las ventanas del editor

la ventana de mensajes (opcional)

la barra de estado (opcional) con informacin sobre el estado actual del proyecto

Barra de mens
La barra de mens se encuentra en el borde superior de la ventana principal y contiene todos los comandos
de men.

Barra de funciones

Haciendo clic con el ratn en un smbolo, la barra de funciones permite seleccionar con mayor rapidez un
comando de men. La seleccin de los smbolos disponibles se adapta automticamente a la ventana activa.
El comando slo se ejecuta si el botn del ratn se pulsa y se vuelve a soltar encima del smbolo. Si mantiene
el puntero del ratn durante un breve intervalo de tiempo sobre un smbolo de la barra de funciones, el
nombre del smbolo se muestra en el recuadro de ayuda emergente (Tooltip). La visualizacin de la barra de
funciones es opcional (ver 'Proyecto' 'Opciones' Categora rea de trabajo).

Object Organizer

El Object Organizer se encuentra siempre en el lado izquierdo de TwinCAT PLC Control y debajo hallar tres
fichas con smbolos para los tres tipos de objetos: Mdulos, declaraciones de datos y recursos. Para pasar de
un tipo de objeto a otro, haga clic con el ratn en la correspondiente ficha o utilice la flecha de direccin
izquierda o derecha. La forma de trabajar con los objetos en el Object Organizer se explica en el captulo
objetos.

Object Organizer

Divisin de pantalla

La divisin de pantalla es el lmite entre dos ventanas no solapadas. En TwinCAT PLC Control existe una
divisin de pantalla entre el Object Organizer y el rea de trabajo de la ventana principal, entre la interfaz
(parte de declaracin) y la implementacin (parte de instruccin) de mdulos y entre el rea de trabajo y la
ventana de mensajes. Si coloca el puntero del ratn en la divisin de pantalla, podr desplazarla moviendo el
ratn con el botn izquierdo pulsado. Tenga en cuenta que la divisin de pantalla permanece siempre en su
posicin absoluta aunque se modifique el tamao de la ventana. Si la divisin de pantalla parece haber
desaparecido, basta con ampliar la ventana para recuperarla.

rea de trabajo

El rea de trabajo se encuentra en el lado derecho en la ventana principal de TwinCAT PLC Control. Todos los
editores para objetos y la administracin de libreras se abren en este rea. La descripcin de los editores se
encuentra en el captulo 'Los editores' en TwinCAT PLC Control. Bajo 'Ventana' se encuentran todos los
comandos para la administracin de ventanas.

Ventana de mensajes

La ventana de mensajes, separada por una divisin de pantalla, se encuentra debajo del rea de trabajo de la
ventana principal. Contiene todos los mensajes del ltimo proceso de compilacin, comprobacin o
comparacin. Si hace doble clic con el ratn en un mensaje de la ventana de mensajes o pulsa <Intro>, el
editor se abre con el objeto y la lnea afectada del objeto aparece marcada. Con los comandos 'Edicin'
'Siguiente error' y 'Edicin' 'Error anterior' se puede conmutar rpidamente entre los mensajes de error. La
visualizacin de la ventana de mensajes es opcional (ver 'Ventana' 'Mensajes').

Barra de estado

La barra de estado, situada debajo del marco de la ventana principal de TwinCAT PLC Control, muestra
informacin sobre el proyecto actual y sobre los comandos de men. Si una indicacin es cierta, el concepto
aparece en negro a la derecha de la barra de estado; de lo contrario, se muestra en gris. Si trabaja en el modo
Online, el concepto tambin aparece Online en negro; si, en cambio, trabaja en el modo Offline, ste se
muestra en gris. Cuando est activado el modo Online, en la barra de estado puede ver si se encuentra en la
simulacin (SIM), si se est ejecutando el programa (LUFT), si se ha establecido un breakpoint (BP) y si se
fuerzan variables (FORCE). En los editores de texto se indica el nmero de lnea y de columna de la posicin
actual del cursor (por ejemplo, Ln.:5, Col.:11). Si ha seleccionado un comando de men, pero todava no lo ha
confirmado, aparece una breve descripcin en la barra de estado. La visualizacin de la barra de estado es
opcional (ver 'Proyecto' 'Opciones' categora rea de trabajo).

Men de contexto. Acceso directo: <Mays>+<F10>

En lugar de utilizar la barra de mens para ejecutar un comando, puede utilizar el botn derecho del ratn. El
men que se muestra contiene los comandos ms frecuentes para un objeto marcado o para el editor activo.
La seleccin de los comandos disponibles se adapta automticamente a la ventana activa.
Proyectos

Los comandos que se refieren a un proyecto entero se encuentran bajo los mens 'Archivo' y 'Proyecto'.
Algunos de los comandos bajo 'Proyecto' funcionan con objetos, y se describen en el captulo de Objetos.

Entradas bajo el punto de men Archivo:

'Archivo''Nuevo'

Mediante este comando se crea un proyecto vaco con el nombre 'Desconocido'. Este nombre se tiene que
modificar a fin de guardar el proyecto.

'Archivo' 'Abrir'

Con este comando se abre un proyecto existente. Si ya existe un proyecto abierto que se ha modificado,
TwinCAT PLC Control solicita confirmacin para guardarlo.

A continuacin, se muestra el dilogo de apertura de archivos donde deber seleccionar un archivo de


proyecto con la extensin "*.pro" o un archivo de biblioteca con la extensin "*.lib". Para abrir un archivo, es
preciso que dicho archivo ya est creado, ya que el comando 'Abrir' no permite la creacin de proyectos.

Para cargar un archivo de proyecto de un mando, pulse el botn PLC en Abrir proyecto de mando. Si no
existe ninguna conexin con el mando, se abrir el dilogo Configuracin de PLC para seleccionar el tiempo
de ejecucin. Si se ha creado una conexin online, se comprueba si existen archivos de proyecto del mismo
nombre en el directorio de su ordenador. Si esto es as, se abrir el dilogo Cargar proyecto del mando, en
el cual puede decidir si los archivos locales se deben sustituir por los utilizados en el mando. (Esta operacin
corresponde inversamente a la operacin 'Online' 'Cargar cdigo fuente', con la cual el archivo fuente del
proyecto se guarda en el mando. No confundir con 'Crear proyecto de arranque' !)

Nota:

Tenga en cuenta que tras cargar un proyecto ste todava no tiene nombre. Deber guardarlo con un nuevo
nombre.
Si todava no hay ningn proyecto cargado en el mando, aparecer el correspondiente mensaje de error.
Dilogo estndar para abrir un archivo en TwinCAT PLC Control

Debajo del comando 'Archivo' 'Salir' est listados los ltimos proyectos abiertos. Si selecciona uno de ellos, el
proyecto en cuestin se abre. Si se han definido contraseas o grupos de trabajo para el proyecto, aparece un
dilogo para la introduccin de la contrasea.

'Archivo' 'Cerrar'

Con este comando se cierra el proyecto actualmente abierto. Si el proyecto se ha modificado, TwinCAT PLC
Control solicita confirmacin para guardar los cambios. Si el nombre del proyecto es "Desconocido", habr
que definir otro nombre (ver 'Archivo''Guardar como').

'Archivo''Guardar' Forma abreviada: <Ctrl>+<S>

Con este comando se guarda el proyecto modificado. Si el nombre del proyecto es "Desconocido", habr que
definir otro nombre (ver 'Archivo''Guardar como').

'Archivo''Guardar como'

Con este comando, el proyecto actual se puede guardar en otro archivo, o como biblioteca. El archivo de
proyecto original permanece inalterado. Despus de seleccionar el comando, se muestra el dilogo de
almacenamiento. Seleccione un nombre de archivo existente o introduzca uno nuevo y seleccione el tipo de
archivo deseado.
Dilogo para 'Guardar como'

Asimismo, es posible guardar el proyecto actual como biblioteca para utilizarlo en otros proyectos. Seleccione
el tipo de archivo Biblioteca interna (*.lib) si ha programado los mdulos en TwinCAT PLC Control.

Seleccione el tipo de archivo Biblioteca Externa (*.lib) si ha implementado mdulos en otros lenguajes de
programacin (p.ej. C) y los desea incluir. De este modo, se guarda un segundo archivo con el nombre de
archivo de la biblioteca, pero con la extensin "*.h". Este archivo se ha estructurado como archivo C-Header y
contiene las declaraciones de todos los mdulos, tipos de datos y variables globales.

A continuacin, haga clic en Aceptar. El proyecto actual se guarda en el archivo indicado. Si el nuevo nombre
de archivo especificado ya existe, recibir confirmacin para sobrescribir el archivo.

Al 'Guardar como biblioteca' se compila todo el proyecto. Si aparece un error de compilacin el proyecto no se
guarda como biblioteca y aparece la nota correspondiente.

'Archivo' 'Guardar/enviar archivo...'

Con este comando se puede crear un archivo zip comprimido que contiene todos los archivos relevantes para
un proyecto. El archivo zip puede guardarse en el sistema de archivos o enviarse directamente en un correo
electrnico.
Tras ejecutar el comando se abre el dilogo 'Guardar archivo':
Aqu se define qu categoras de archivos se deben aadir al archivo de proyecto. Una categora se considera
seleccionada si la correspondiente casilla de control tiene un smbolo de correccin. Esto se consigue
haciendo clic con el ratn una sola vez sobre la casilla o haciendo doble clic sobre la descripcin de la
categora. Para cada categora seleccionada se copian todos los archivos relevantes en el archivo zip (ver
ms abajo, tabla). Sin embargo, para algunas categoras se puede especificar una seleccin parcial. Para ello
est disponible el dilogo 'Detalles', que se abre mediante el correspondiente botn de Detalles:

El dilogo Detalles muestra una lista de todos los archivos disponibles en esta categora. Active o desactive
los archivos deseados: con los botones Seleccionar todo o No seleccionar nada puede coger todos los
archivos de la lista, con un clic sobre la casilla de control se activa o desactiva un archivo individual, al igual
que haciendo doble clic sobre la entrada. Adems, pulsando la tecla <Entrar> se puede (des)activar una
entrada marcada.

Si el dilogo de Detalles se cierra con Aceptar, se transfiere la seleccin realizada. La configuracin se


guarda hasta la creacin definitiva del archivo zip.

En el dilogo principal Guardar archivo se reconocen las categoras para las cuales se ha realizado una
seleccin parcial, en el fondo gris de la casilla de control.

La siguiente tabla muestra qu categoras de archivo se han predefinido y a qu archivos se refieren


automticamente:

Categora Archivos correspondientes

Archivo de proyecto <Nombre de proyecto>.pro (el archivo de proyecto


TwinCAT PLC Control)

Bibliotecas referenciadas *.lib, *.obj, *.hex (bibliotecas y, en su caso, los archivos


correspondientes obj y hex)

Informacin de compilacin *.ci (informacin del ltimo proceso de compilacin), *.ri


(informacin del ltimo download)

Archivo INI TwinCAT PLC Ctrl.ini

Entradas de registro

Archivos de smbolos *.sdb, *.sym (Informacin de smbolos creada en el


proyecto)

Registro *.log (Registro de proyecto)

Archivos de mapa de bits *.bmp (mapas de bits que se utilizan en los mdulos del
proyecto)
Para aadir todos los archivos que se desee a un archivo zip, abra el dilogo del mismo nombre con el botn
Otros archivos....

Aqu se puede crear la lista de archivos definida por el usuario. Mediante el botn Agregar se abre el dilogo
estndar para abrir un archivo. Seleccione un archivo y confirme con Abrir. El archivo se aade en la lista en
el dilogo 'Otros archivos...'. Con el botn Quitar se puede borrar una entrada de la lista. Si la lista ya est
creada, el dilogo se cierra con Aceptar para guardar las entradas hasta la creacin del archivo zip.

Para agregar un archivo Readme al archivo zip, pulse el botn Comentario....Se abre un dilogo con el
mismo nombre que contiene un campo de edicin. Aqu se pueden introducir todos los tests que desee. Si el
dilogo se cierra con Aceptar, durante la creacin del archivo zip se crea un archivo Readme.txt. Este archivo
contiene el texto introducido por el usuario, al cual se aade automticamente la fecha (build) de creacin.

Generacin del archivo zip:

Si se han realizado todas las parametrizaciones deseadas, se puede crear el archivo zip en el dilogo
principal. Estn disponibles los siguientes botones:

Guardar... crea y guarda el archivo zip. El dilogo estndar para guardar un archivo se abre y se
puede indicar dnde se debe guardar el archivo. El nombre del archivo zip por defecto es <nombre
del proyecto>.zip. Si se confirma con Guardar, se inicia la generacin del archivo. El proceso va
acompaado de un dilogo de progresos y se protocoliza en la ventana del mensaje.

Enviar crea un archivo zip temporal y genera automticamente un correo electrnico vaco que
contiene el zip como documento adjunto. Esta funcin presupone una instalacin correcta del MAPI
(Messaging Application Programming Interface). Mientras se crea el correo electrnico aparece un
dilogo de progresos y el proceso se protocoliza en la ventana del mensaje. El archivo zip temporal
se borra en cuanto se aade al correo electrnico como documento adjunto.

Cancelar: El dilogo se cierra sin crear un archivo zip, y la configuracin realizada no se guarda.
'Archivo''Imprimir' Forma abreviada: <Ctrl>+<P>

Con este comando se imprime el contenido de la ventana activa. Despus de seleccionar el comando,
aparece el dilogo para imprimir. Seleccione la opcin que desee o configure la impresora y haga clic en
Aceptar. La ventana activa se imprime. Es posible imprimir en color en todos los editores.

Dilogo para imprimir

Es posible indicar el nmero de ejemplares, as como imprimir a un archivo. Con el botn Propiedades se
abre el dilogo para la configuracin de impresin. El diseo (Layout) de la impresin se puede establecer con
el comando 'Archivo''Configuracin documentacin'. Durante la impresin, se muestra un cuadro de
dilogo con el nmero de pginas impresas. Si cierra este cuadro de dilogo, el proceso de impresin se
detiene despus de la siguiente pgina. Para documentar todo el proyecto, utilice el comando
'Proyecto''Documentar'. Si desea crear una plantilla para el proyecto, abra una lista de variables global y
utilice el comando 'Herramientas' 'Crear plantilla'.

Si el enfoque est en la ventana del mensaje, se imprime todo su contenido lnea a lnea tal y como est
representado en la ventana.

Contenido posible:

Edicin de la compilacin,

Lista de referencias cruzadas,

Resultado de la bsqueda,
Resultado de la comparacin,

Protocolizacin en proceso por lotes.

'Archivo''Ajustes documentacin'

Con este comando se puede establecer el diseo de las pginas impresas. Se abre el siguiente dilogo:

Dilogo para el ajuste del layout de pgina de la documentacin

En el campo Archivo puede introducir el nombre del archivo con la extensin ".dfr" en el cual se guardar el
layout de pgina. Por defecto, la plantilla se guarda en el archivo DEFAULT.DFR.

Para modificar un diseo existente, busque el archivo que desee en el rbol de directorios con el botn
'Examinar'.

Tambin puede elegir si se empieza una nueva pgina para cada uno de los objetos y subobjetos. Con el
botn 'Configuracin' se abre la configuracin de impresin.

Haciendo clic en el botn Edicin, aparece la plantilla para el ajuste del layout de pgina. All puede colocar
nmeros de pgina, fecha, nombre del archivo y del mdulo, as como grficos en la pgina y especificar el
rea de texto en el cual se imprimir la documentacin.
Ventana para insertar los marcadores de lugar en el diseo de pgina

Si selecciona 'Insertar''Marcador de posicin' y, a continuacin, uno de los cinco marcadores de posicin


(pgina, nombre de mdulo, nombre de archivo, fecha, contenido) puede insertar un marcador de
posicin abriendo un rectngulo en el diseo. Al imprimirse, se mostrarn de la siguiente forma:

Marcador de
Comando posicin Descripcin

Pgina {Page} Se muestra el nmero de pgina actual en la


impresin.

Nombre del {POUName} Se muestra el nombre del mdulo actual.


mdulo

Nombre de {FileName} Se muestra el nombre del proyecto.


archivo

Fecha {Date} Se muestra la fecha actual.


Contenido {Content} Se muestra el contenido del mdulo.

Asimismo, con 'Insertar''Mapa de bits' puede insertar un grfico de mapa de bits (por ejemplo, un logotipo de
empresa) en la pgina. Para ello, tambin tendr que abrir un rectngulo en el diseo utilizando el ratn
despus de seleccionar el grfico.

Si la plantilla ha sido modificada, TwinCAT PLC Control pregunta al cerrar la ventana si las modificaciones se
tendrn que guardar o no.

'Archivo''Salir' Forma abreviada: <Alt>+<F4>

Este comando permite salir de TwinCAT PLC Control. Si hay un proyecto abierto, ste se cierra segn se
describe en 'Archivo''Guardar'.

A continuacin, se indica las distintas acciones incluidas en el men Proyecto:

'Proyecto''Traducir' Forma abreviada: <Ctrl>+<F8>

Con 'Proyecto' 'Compilar' se compila el proyecto. La operacin de compilacin es de principio incremental,


es decir, slo se vuelven a compilar los mdulos modificados. Con este comando tambin se puede ejecutar
una operacin de compilacin no incremental si anteriormente se ha ejecutado el comando 'Proyecto'
'Limpiar todo'.

Para el sistema de destino 'PC' que soporta el Online Change, todos los mdulos en el Object Manager se
identifican con una flecha azul tras el proceso de compilacin. Dichos mdulos se cargan en el mando en el
siguiente download.

El proceso de compilacin que se efectua con 'Proyecto' 'Compilar' se realiza automticamente si se inicia la
sesin en el mando mediante 'Online' 'Login'.

Al compilar se abre la ventana de mensaje en la que se indica el avance del proceso de compilacin y los
errores y advertencias aparecidos durante la compilacin. Los errores y las advertencias se identifican con
nmeros. Con F1 obtendr ms informacin sobre el error marcado.

Una lista de todos los mensajes de error figura en el apndice.


Si se ha seleccionado la opcin Guardar antes de compilar en el dilogo de opcin de la categora Cargar y
Guardar, el proyecto se guarda antes de compilar.

Nota:

Las referencias cruzadas se producen durante la compilacin y se guardan en la informacin de la


compilacin. Para poder utilizar los comandos Emitir rbol de llamada, Emitir lista de referencias cruzadas
y los comandos Variables no utilizadas, Acceso concurrente y Escribir varias veces en salida del men
'Proyecto' 'Comprobar', el proyecto se debe volver a compilar tras una modificacin.

'Proyecto''Compilar todo'

Con 'Proyecto' 'Compilar todo' se vuelve a compilar todo el proyecto, contrariamente a la compilacin por
incrementos ('Proyecto' 'Compilar' ). En este caso no se descarta la informacin de download,
contrariamente a lo que ocurre en el comando 'Limpiar todo'.

'Proyecto' 'Limpiar todo'

Con este comando se borra la informacin del ltimo download y de la ltima operacin de compilacin.
Tras seleccionar este comando aparece un cuadro de dilogo que indica que ya no es posible realizar un
Login sin volver a hacer un download. Aqu se puede cancelar o confirmar el comando.

Nota:

Slo es posible realizar un login despus de 'Limpiar todo' si anteriormente se ha guardado el archivo *.ri con
la informacin de proyecto del ltimo download de forma explcita fuera del directorio del proyecto (ver 'Cargar
informacin de download'), y se podr cargar de nuevo antes del login.

'Proyecto' 'Cargar informacin de download'

Con este comando se puede volver a cargar de forma selectiva la informacin de download correspondiente al
proyecto si se ha guardado en un directorio distinto al del proyecto. Tras pulsar el comando se abre el dilogo
estndar 'Abrir archivo'.

La informacin de download se guarda automticamente en cada download en un archivo que recibe el


nombre <Nombre de proyecto><Targetidentifier>.ri y se guarda en el directorio del proyecto. Se vuelve a
cargar automticamente cada vez que se abre el proyecto y al volver a hacer un login en el mando sirve para
especificar si el proyecto corresponde al que ya est abierto en el mando (ID-Check). Tambin se comprueba
en qu mdulos se ha modificado el cdigo generado. Slo estos mdulos se vuelven a cargar en el download
en sistemas, que soportan Online Change. Si el archivo *.ri, sin embargo, se borra mediante el comando
'Proyecto' 'Limpiar todo' del directorio del proyecto, la informacin de download se puede cargar
explcitamente de otro directorio con 'Proyecto' 'Cargar informacin de download', si el archivo *.ri se ha
almacenado all.

'Proyecto' 'Traducir en otros idiomas'

Este punto del men sirve para traducir el archivo de proyecto actual en otro idioma. Esto se realiza leyendo
un archivo de traduccin que se ha creado a partir del proyecto y se ha rellenado externamente con la ayuda
de un editor de texto con textos de traduccin en el idioma deseado.

Para ello hay dos puntos del submen:

Crear archivo de traduccin

Traducir proyecto

Crear archivo de traduccin

Este comando del men 'Proyecto' 'Traducir en otros lenguajes' le lleva al dilogo 'Crear archivo de
traduccin':
Introduzca una ruta en el campo Archivo de traduccin que indique dnde se debe guardar el archivo. La
extensin por defecto del archivo es *.tlt, se trata de un archivo de texto.

Si ya existe un archivo de traduccin que desee tratar, indique la ruta de este archivo o utilice el dilogo
estndar de Windows mediante el botn Examinar para seleccionar un archivo.

La siguiente informacin del proyecto se puede comunicar de forma opcional a los archivos de traduccin a
crear o a modificar, de forma que estn disponibles en ellos para la traduccin: Names (nombres, por ejemplo,
el ttulo 'Mdulos' del Object Organizer), Identifiers (identificadores), Cadenas, Comentarios. Tambin se
pueden transferir la informacin de posicin de estos elementos de proyecto.

Si las opciones correspondientes tienen un smbolo de correccin, la informacin se incluye como smbolo de
idioma del proyecto actual en un nuevo archivo de traduccin a crear o bien se rellena en uno ya existente. Si
la opcin correspondiente no se seleciona, se elimina la informacin general de las categoras en cuestin,
sea cual sea el proyecto del cual provienen, del archivo de traduccin.

Informacin de posicin: Describe la posicin del smbolo de idioma listo para la traduccincon las
indicaciones de ruta del archivo, mdulo y lnea. Tiene tres opciones de seleccin:

'Ninguna': No se genera ninguna informacin de posicin.

'Primera aparicin': Se toma la posicin del archivo de traduccin en la cual aparece el elemento a
traducir por primera vez.

'Todas': Se indican todas las posiciones en las cuales aparece el elemento en cuestin en el
proyecto.

Si se edita un archivo de traduccin creado anteriormente que contiene ms informacin de posicin que el
seleccionado aqu, esta informacin se abrevia o se borra, sea cual sea el proyecto en el que se gener.

Nota:

Por cada elemento (smbolo de idioma) se genera un mximo de 64 posiciones de informacin, aunque el
usuario haya seleccionado la opcin Todas en el dilogo Crear archivo de traduccin.

Sobrescribir existentes: Se sobrescribe toda la informacin de posicin existente en el archivo de traduccin


que se est tratando, sea cual sea el proyecto en el que se gener.

Idiomas de destino: Esta lista contiene identificadores para todos los idiomas contenidos en el archivo de
traduccin o que se deben tomar tras el final del dilogo 'Crear archivo de traduccin'.
El botn Excluir abre el dilogo 'Excluir bibliotecas':
Aqu se pueden seleccionar las bibliotecas del proyecto cuya informacin de identificador no se deba transferir
al archivo de traduccin. Para ello se selecciona la correspondiente entrada de la tabla izquierda de
Bibliotecas incluidas con el ratn y se traen a la tabla derecha de Bibliotecas excludas con el botn
Agregar. Con el botn Quitar tambin se puede borrar una entrada seleccionada. Con Aceptar se confirma
la configuracin y se cierra el dilogo.

El botn Agregar abre el dilogo 'Agregar idioma de destino':

En el campo de edicin se debe introducir un identificador de idioma que tanto al final como al inicio puede
contener un espacio en blanco o una diresis (, , ).

Con Aceptar se cierra el dilogo 'Agregar idioma de destino' y el nuevo idioma de destino aparece en la
lista de idiomas de destino.

El botn Quitar borra una entrada seleccinada en la lista.

Con Aceptar tambin se puede confirmar el dilogo 'Crear archivo de traduccin' para generar un archivo
de traduccin.

Si ya existe un archivo de traduccin con el mismo nombre, aparecer la siguiente pregunta a responder con
S o No:
"El archivo de traduccin indicado ya existe. Se est modificando, por lo que se crear una copia de seguridad
del archivo existente. Desea continuar?"

No cancela la accin y vuelve al dilogo 'Crear archivo de traduccin'. Si se selecciona S, se crea una
copia del archivo de traduccin existente con el nombre "Backup_of_<archivo de traduccin>.xlt" en el mismo
directorio, y el archivo de traduccin en cuestin se modifica segn las opciones parametrizadas.

Al crear un archivo de traduccin ocurre lo siguiente:

Para cada nuevo idioma de destino se genera un marcador de posicin ("##TODO") para cada
smbolo de idioma a emitir.

Si se trata un archivo de traduccin existente, se eliminan las entradas de archivo de los idiomas que
se encuentran en el archivo de traduccin pero no en la lista de idiomas de destino, sea cual sea el
proyecto en el que se hayan generado.

Tratar el archivo de traduccin

El archivo de traduccin se debe abrir y guardar como un archivo de texto. Los smbolos ## identifican
palabras clave. Los marcadores de posicin ##TODO del archivo se pueden sustituir por los textos de
traduccin vlidos. Por cada smbolo de idioma se crear una seccin limitada por ##NAME_ITEM y
##END_NAME_ITEM (para comentarios segn ##COMMENT_ITEM etc.).

A continuacin se presenta una seccin de ejemplo en el archivo de traduccin para el nombre de un mdulo
utilizado en el proyecto: ST_Visu. Se han previsto los idiomas de destino ingls (EEUU) y francs. En este
ejemplo tambin se ha dado la informacin de posicin par el elemento del proyecto a traducir:

antes de la traduccin:

##NAME_ITEM
[D:\projects\Bspdt_22.pro::ST_Visualisierung::0]
ST_Visualisierung
##English :: ##TODO
##French :: ##TODO
##END_NAME_ITEM

despus de la traduccin:

En lugar de ##TODO se ha introducido la expresin en ingls o francs para 'Visualisierung' (Visualizacin):

##NAME_ITEM
[D:\projects\Bspdt_22.pro::ST_Visualisierung::0]
ST_Visualisierung
##English :: ST_Visualization
##French :: ST_Visu
##END_NAME_ITEM

Se debe tener en cuenta que los identificadores y nombres traducidos siguen siendo vlidos segn la norma y
que los cadenas y comentarios se cierran con los correspondientes parntesis.

Nota:

Las siguientes partes del archivo de traduccin no se deben modificar sin los conocimientos adecuados:
bloque de idioma, bloque de indicador, informacin de posicin, texto original.

Traducir proyecto (en otros idiomas)

Este comando del men 'Proyecto' 'Traducir en otros idiomas' abre el dilogo 'Traducir proyecto en otros
idiomas'.

El proyecto actual se puede traducir en otro idioma utilizando un archivo de traduccin vlido.

Nota:

Si desea recibir la versin del idioma del proyecto en la que se ha creado guarde una copia del proyecto antes
de la traduccin con otro nombre. Un proceso de traduccin no se puede invertir.

En el campo Archivo de traduccin se introduce la ruta del archivo de traduccin a utilizar. Con Examinar se
abre el dilogo estndar de Windows para seleccionar un archivo.

En el campo Idioma de destino se abre una lista de los identificadores de idioma contenidos en el archivo de
traduccin para seleccionar el idioma de destino deseado.

Aceptar inicia la traduccin del proyecto actual con la ayuda del archivo de traduccin indicado en el idioma
de destino seleccionado. Durante la traduccin se visualiza un dilogo de progresos y, en su caso, los
mensajes de error. Tras la traduccin se cierra el cuadro de dilogo y todas las ventanas de edicin abiertas
del proyecto.

Cancelar cierra el cuadro de dilogo sin modificar el proyecto actual.


Si el archivo de traduccin contiene entradas errneas, se edita un mensaje de erro tras pulsar Aceptar, que
indica la ruta del archivo y las lneas errneas, por ejemplo: "[C:\Programme\projects\visu.tlt (78)]; Se espera
texto de traduccin ".

'Proyecto' 'Documentar'

Este comando le permite imprimir la documentacin de todo el proyecto. La documentacin completa se


compone de:

los mdulos,

el contenido de la documentacin,

los tipos de datos,

los recursos, las variables globales, el registro trace, la configuracin del mando, la configuracin de
tareas, el administrador de watch y de frmulas,

los rboles de llamada de mdulos y tipos de datos, as como

la lista de referencias cruzadas. En lo que a los dos ltimos puntos se refiere, es necesario que el
proyecto se haya compilado sin errores.

Dilogo para la documentacin del proyecto


Se imprimen las reas seleccionadas en el dilogo que aparecen sobre fondo azul. Si quiere seleccionar todo
el proyecto, seleccione el nombre del proyecto en la primera lnea. Si, en cambio, quiere seleccionar
nicamente un objeto individual, haga clic en el objeto en cuestin y coloque el rectngulo punteado sobre el
objeto deseado con las teclas de direccin. Los objetos que contienen un signo Ms delante de su smbolo
son objetos de organizacin que incluyen otros objetos. Al hacer clic en el signo Ms, se abre el objeto de
organizacin y, al hacer clic en el signo Menos, se vuelve a cerrar. Si selecciona un objeto de organizacin,
tambin se seleccionan todos los objetos pertenecientes a dicho objeto. Si pulsa la tecla <Mays>, podr
seleccionar un rea de objetos y, si pulsa <Ctrl>, varios objetos individuales. Una vez realizada la seleccin,
haga clic en Aceptar. Aparece el dilogo para imprimir. El diseo de las pginas que se van a imprimir se
puede especificar con 'Archivo''Configuracin documentacin'.

'Proyecto''Exportar'

TwinCAT PLC Control ofrece la posibilidad de exportar o importar proyectos. Con ello tiene la posibilidad de
intercambiar programas entre diferentes sistemas de programacin IEC.

Hasta ahora existe un formato de intercambio estandarizado para mdulos creados en los lenguajes IL, ST y
SFC (el formato Common Elements de IEC 61131-3). Para los mdulos en lenguaje LD y FBD y los dems
objetos, TwinCAT PLC Control dispone de su propio formato de archivo, ya que no existe ningn formato de
texto en IEC 61131-3.

Los objetos seleccionados se escriben en un archivo ASCII.

Se pueden exportar mdulos, tipos de datos y recursos. Adems se pueden exportar las entradas en el
administrador de bibliotecas, es decir, la informacin de vnculos a las bibliotecas se puede exportar (no las
bibliotecas!)

Advertencia:

La nueva importacin de un mdulo FBD o LD fallar si en el editor grfico un comentario contiene una
comilla simple ('), dado que esto se interpreta como inicio de una cadena!

Si ha realizado su seleccin en la ventana de dilogo (la seleccin se realiza segn lo descrito en 'Proyecto'
'Documentar'), puede decidir si desea exportar la seleccin a un archivo o generar un archivo de exportacin
propio para cada objeto. Desactive o active la opcin Un archivo por objeto y haga clic sobre Aceptar.
Aparece el dilogo para guardar archivos. Indique un nombre de archivo con la extensin ".exp" o un directorio
para los archivos de exportacin de objetos individuales, que a continuacin se crean all con el nombre
"Nombre de objeto.exp".
'Proyecto''Importar'

Seleccione el archivo de exportacin en el dilogo de apertura de archivos que se muestra.


Los datos se importan al proyecto actual. Si el proyecto ya contiene un objeto con el mismo nombre, aparece
un cuadro de dilogo con la pregunta "Reemplazar?": Si contesta con S, el objeto del proyecto se reemplaza
por el objeto del archivo de importacin; si responde con No, el nombre del nuevo objeto incluir un guin bajo
y un nmero correlativo ("_0", "_1", ..). Con S, todos, o No, todos, el proceso se realiza para todos los
objetos.

Si la informacin sobre los vnculos se importa con una biblioteca, se carga la biblioteca y se aade al final de
la lista en el administrador de bibliotecas. Si la biblioteca ya se haba cargado en el proyecto, no se vuelve a
cargar. Sin embargo, si en el archivo de exportacin que se importa se ha indicado otro momento de
almacenamiento para la biblioteca, el nombre de la biblioteca se identifica con un "*" en el administrador de
bibliotecas (p.ej. standard.lib*30.3.99 11:30:14), de forma anloga a la carga de un proyecto. Si la biblioteca
no existe, aparecer el siguiente dilgogo de informacin: "La biblioteca {<Ruta>\}<name> <date> <time>" no
existe", de forma anloga a la carga de un proyecto.

En la ventana de mensajes se muestra un protocolo sobre la importacin.

'Proyecto' 'Comparar'

Este comando se utiliza para comparar dos proyectos o la versin actual del proyecto abierto con la del ltimo
que se ha guardado.

Resumen:

A continuacin se utiliza la denominacin 'Proyecto actual' para el proyecto que se est tratando actualmente
y 'Proyecto de comparacin' para el que se llama para la comparacin. Tras seleccionar el comando el
proyecto se visualiza en el Modo de comparacin. Con 'Unidad' se identifica la unidad de compracin ms
pequea, que puede estar formada por una lnea (editor de declaraciones, ST, IL), una red (FBD, LD) o un
elemento/mdulo (CFC,SFC).

En el modo de comparacin se comparan el proyecto actual y el de comparacin en una ventana dividida en


dos y los mdulos diferentes se identifican en color. En los mdulos del editor tambin existe la contraposicin
directa de los contenidos. Antes de la comparacin se pueden activar filtros para la consideracin de espacios
en blanco y comentarios. Adems, se puede seleccionar si las modificaciones dentro de unidades
permanentes existentes en el modo de comparacin se deben representar como tales o si todas las unidades
diferentes se deben marcar como 'de nueva insercin' o 'ya no est disponible'. La versin del proyecto de
comparacin se puede transferir al proyecto actual para las unidades individuales diferentes o para un bloque
completo marcado del mismo modo.
Nota:

Si el modo de comparacin est activado (ver barra de estado: COMPARE), el proyecto no se podr editar!

Ejecucin de la comparacin de proyectos:

Tras seleccionar el comando se abre el dilogo 'Comparacin de proyectos':

Introduzca la ruta del Proyecto de comparacin. Mediante el botn llegar al dilogo estndar para abrir un
archivo que puede utilizar para seleccionar un proyecto. Si se introduce el nombre del proyecto actual, la
versin actual del proyecto se compara con el que se guard por ltima vez.

Se pueden activar/desactivar las siguientes Opciones referentes a la comparacin:

Ignorar espacios en blanco: No se indica ninguna diferencia si existe una diferencia de espacios en
blanco.

Ignorar comentarios: No se indica ninguna diferencia respecto a comentarios.

Comparar modificaciones: Si la opcin est activada: Para una unidad dentro de un mdulo que no
se ha borrado ni aadido sino que slo se ha modificado, se compara en la ventana dividida del
mdulo de comparacin la versin del proyecto de comparacin directamente con la del proyecto
actual (marcado en rojo, ver ms abajo). Si la opcin est desactivada: La unidad en cuestin se
representa en el proeycto de comparacin como 'ya no disponible' y en el proyecto actual como 'de
nueva insercin' (ver ms abajo), es decir, no se compara directamente.

Ejemplo:

La lnea 0005 se ha modificado en el proyecto actual (mitad izquierda de la ventana).


Si el dilogo de comparacin de proyectos se cierra con Aceptar, la comparacin de efecta segn la
configuracin.

Representacin del resultado de la comparacin:

Los resultados primero se representan en el rbol de estructura del proyecto (resumen del proyecto), desde el
cual se pueden abrir mdulos individuales, para ver las diferencias de contenido.

1. Resumen del proyecto en el modo de comparacin:

Tras la comparacin de proyectos efectuada se abre una ventana divida en dos que muestra el rbol de
estructura del proyecto en el Modo de comparacin. En la barra de ttulo aparece lo siguiente: "Comparacin
de proyectos<ruta del proyecto actual> - <ruta del proyecto de comparacin >". La mitad izquierda de la
ventana muestra el proyecto actual, la derecha el proyecto de comparacin. El resumen de proyectos muestra
en la posicin superior el nombre del proyecto y corresponde a la estructura del Object Organizers:
Los mdulos que presentan diferencias se graban en sombreado y se identifican mediante el color del texto o
una extensin de texto:

Rojo: La unidad se ha modificado, se representa en ambas mitades de la pantalla en color rojo.

Azul: La unidad slo est disponible en el proyecto de comparacin; en la posicin contrapuesta del
arbl de estructura del proyecto actual se ha aadido un espacio.

Verde: La unidad slo est disponible en el proyecto actual; en la posicin contrapuesta del rbol de
estructura del proyecto de comparacin se aade un espacio.

Negro: Unidad para la cual no se ha determinado ninguna diferencia.

"(Propiedades modificadas)": Este texto aparece detrs del nombre de mdulo en el rbol de
estructura del proyecto actual si se han encontrado diferencias en las propiedades del mdulo.

"(Derechos de acceso modificados)": Este texto aparece detrs del nombre de mdulo en el rbol de
estructura del proyecto actual si se han encontrado diferencias en los derechos de acceso.

2. Contenido del mdulo en el modo de comparacin:

Haciendo doble clic sobre una lnea en el resumen de proyectos se abre el mdulo correspondiente.

Si se trata de un mdulo de texto o de editor de grficos modificado (rojo), se abre en una ventana dividida en
dos. El contenido del mdulo del proyecto de comparacin (derecha) se compara con el proyecto actual
(izquierda) como en el resumen de proyectos. Para las unidades diferentes se utilizan las identificaciones de
colores descritas anteriormente.
Si no se trata de un mdulo editor, sino por ejemplo de una configuracin de tareas, configuracin del sistema
destino, etc., dependiendo de si hace doble clic en la mitad derecha o izquierda de la ventana, se abre el
mdulo del proyecto de comparacin o del proyecto actual en una ventana propia. Para estos mdulos de
proyecto no se realiza ninguna otra diferenciacin de contenido.

Trabajar en el modo de comparacin (Men 'Herramientas', Men de contexto):

Si en la ventana de comparacin dividida en dos el cursor se encuentra sobre una lnea que muestra una
unidad de diferencia, el men Herramientas o el Men de contexto (botn derecho del ratn) ofrece,
dependiendo de si se est en el resumen de proyectos o dentro de un mdulo, una seleccin de los siguientes
comandos:

Siguiente diferencia (<F7>): El cursor pasa a la siguiente posicin (lnea del resumen de
proyectos/lnea o red del mdulo) que tenga alguna diferencia.

Diferencia anterior (<Mays><F7>): El cursor pasa a la posicin anterior (lnea del resumen de
proyectos/lnea o red del mdulo) que tenga alguna diferencia.
Transferir modificacin (<Barra espaciadora>): Para todas las unidades relacionadas (por
ejemplo, lneas correlativas) que reciben la misma marca de modificacin, se transfiere la versin del
proyecto de comparacin al proyecto actual. Las unidades afectadas aparecen en el color
correspondiente en la mitad izquierda de la ventna. Si se trata de una unidad que se haba marcado
en rojo (modificacin interior), la transferencia se marca en color amarillo en el proyecto actual.

Transferir modificacin individual (<Ctrl> <Barra espaciadora>): Slo para la unidad de


comparacin sobre la cual se encuentra el cursor (p.ej. lnea en el resumen de proyectos o lnea o
red del mdulo), se transfiere la versin del proyecto de comparacin al proyecto actual. La unidad
afectada aparece en el color correspondiente en la mitad izquierda de la ventana. Si se trata de una
unidad que se haba marcado en rojo (modificacin interior), la transferencia se marca en color
amarillo en el proyecto actual.

Transferir propiedades (slo en el resumen de proyectos): Para el mdulo sobre el cual se


encuentra el cursor se transfieren las propiedades del mdulo del proyecto de comparacin al
proyecto actual.

Transferir derechos de acceso (slo en el resumen de proyectos): Para el mdulo sobre el cual se
encuentra el cursor se transfieren los derechos de acceso del proyecto de comparacin al proyecto
actual.

'Proyecto''Copiar'

Con este comando se pueden copiar objetos (mdulos, tipos de datos y recursos) as como vnculos a
bibliotecas de otros proyectos a su proyecto. Primero se abre el dilogo estndar para abrir archivos y, una
vez seleccionado un archivo, se abre un dilogo donde podr seleccionar los objetos que desee. La seleccin
se realiza de la forma descrita en 'Proyecto' 'Documentar'. Si ya existe un objeto con el ese nombre en el
proyecto, el nuevo nombre de objeto incluir un guin bajo y un nmero correlativo ("_1", "_2" ...) como
caracteres finales.

'Proyecto' 'Informacin de proyecto'

Aqu podr guardar informacin sobre su proyecto. Despus de dar el comando, se abre el siguiente dilogo:
Dilogo para la introduccin de la informacin del proyecto

Como informacin de proyecto se muestran los siguientes datos:

Nombre de archivo

Ruta de directorio

Momento de la ltima modificacin (modificado el)

Estos datos no se pueden modificar. No obstante, se pueden aadir los siguientes datos propios:

una denominacin de proyecto,

el nombre del autor,

el nmero de versin y

una descripcin del proyecto.

Estos datos son opcionales. Al pulsar el botn Estadstica, se obtiene informacin estadstica sobre el
proyecto. sta contiene los datos de la informacin del proyecto, as como el nmero de mdulos, tipos de
datos, variables locales y globales, tal como se registraron en la ltima compilacin.
Ejemplo de una estadstica de proyecto

Si selecciona la opcin Pedir informacin del proyecto incluida en la categora Cargar & Guardar del
dilogo de opciones, se accede automticamente a la informacin del proyecto al guardar un proyecto nuevo
o uno con otro nombre.

'Proyecto' 'Buscar global'

Con este comando puede buscar la aparicin de un texto en mdulos, en tipos de datos, en los objetos de las
variables globales, en la configuracin de mando, en la configuracin de tareas y en las partes de declaracin
de las bibliotecas. Si se ha introducido el comando se abre un dilogo en el que puede seleccionar los
mdulos y objetos a examinar. La seleccin se realiza de la forma descrita en 'Proyecto' 'Documentar'.

Si la seleccin se confirma con Aceptar, aparece el dilogo estndar para la bsqueda.

Este dilogo aparece directamente si el comando 'Buscar globalmente' se llama mediante el smbolo de la
barra de men; la bsqueda se referir automticamente a todas las partes del proyecto que se pueden
buscar. Las ltimas cadenas de bsqueda introducidas pueden seleccionarse mediante el combobox del
campo Buscar. Si se encuentra un texto en un objeto, el objeto se carga en el correspondiente editor o en el
administrador de bibliotecas y se visualiza el lugar donde se sita. La visualizacin del texto buscado, as
como las funciones de Buscar y Buscar siguiente se comportan de forma anloga al comando 'Edicin'
'Buscar'.
Si selecciona el botn En la ventana de mensajes, se listan todos los puntos de uso de la serie de caracteres
buscada en los objetos seleccionados lnea a lnea en forma de tabla en la ventana de mensajes. A
continuacin se indica la cantidad de puntos encontrados.

Si no se abre la ventana de mensajes, se visualiza. Por cada punto encontrado se visualiza lo siguiente:

Nombre de objeto

Lugar donde se sita de la parte de declaracin (Decl) o en la parte de implementacin (Impl) de un


mdulo

Nmeros de lnea o de red

Lnea completa en los editores textuales

Unidad de texto completa en los editores grficos

Si hace en la ventana de mensajes un doble clic con el ratn en una lnea o pulsa <Entrar>, el editor se abre
con el objeto. La lnea afectada del objeto queda marcada. Con las teclas de funcin <F4> y <Mays>+<F4>
se puede cambiar rpidamente de lnea de visualizacin.

'Proyecto' 'Reemplazar global'

Con este comando se puede buscar un texto en mdulos, tipos de datos u objetos de las variables globales y
sustituir este texto por otro. Por lo dems, el manejo y el desarrollo son idnticos a los de 'Proyecto' 'Buscar
global' y 'Edicin' 'Reemplazar', respectivamente. Sin embargo, las bibliotecas no se ofrecen para su seleccin
y no es posible realizar ninguna emisin en la ventana de mensajes.

'Proyecto' 'Comprobar'

Con este comando se abre un submen con los siguientes comandos para comprobar la correccin semntica
del proyecto:

Variables no utilizadas
reas de memoria solapadas

Acceso concurrente

Almacenamiento mltiple en salida

Los resultados se muestran en la ventana de mensajes.

Cada una de estas funciones comprueba el estado del ltimo proceso de compilacin. El proyecto como
mnimo debe haberse compilado una vez sin errores antes de poder efectuar la comprobacin. En caso
contrario los puntos de men se desactivan.

Variables no utilizadas

Esta funcin del men 'Proyecto' 'Comprobar' busca variables declaradas pero que no se utilizan en el
programa. Se muestran con el nombre y la lnea del mdulo, por ejemplo: PLC_PRG (4) - var1. Las variables
de las bibliotecas no se tienen en cuenta.

Los resultados se muestran en la ventana de mensajes.

reas de memoria solapadas

Esta funcin del men 'Proyecto' 'Comprobar' comprueba si en la asignacin de variables mediante la
declaracin "AT" existen solapamientos en determinadas reas de memoria. Por ejemplo, mediante la
asignacin de las variables "var1 AT %QB21: INT" y "var2 AT %QD5: DWORD" se produce un solaparamiento,
dado que las dos ocupan el byte 21. Se visualizar como sigue:

%QB21 est referenciado con las siguientes variables:


PLC_PRG (3): var1 AT %QB21
PLC_PRG (7): var2 AT %QD5

Los resultados se muestran en la ventana de mensajes.

Acceso concurrente

Esta funcin del men 'Proyecto' 'Comprobar' busca reas de memoria que estn referencias en ms de una
tarea. Entre el acceso de escritura y lectura no se distingue. La visualizacin es como sigue:

%MB28 est referenciado en las siguientes tareas:


Tarea1 - PLC_PRG (6): %MB28 [Acceso de slo lectura]
Tarea2 - POU1.ACTION (1) %MB28 [Acceso de escritura]
Los resultados se muestran en la ventana de mensajes.

Almacenamiento mltiple en salida

Esta funcin del men 'Proyecto' 'Comprobar' busca reas de memoria a las que se accede en un proyecto en
ms de una posicin para escritura. La visualizacin es como sigue:

%QB24 se escribe en las siguientes posiciones:


PLC_PRG (3): %QB24
PLC_PRG.POU1 (8): %QB24

Los resultados se muestran en la ventana de mensajes.

Grupos de trabajo

En TwinCAT PLC Control, se pueden establecer hasta ocho grupos con distintos derechos de acceso a
mdulos, tipos de datos y recursos. Es posible establecer derechos de acceso para objetos individuales o
para todos los objetos. Cada apertura de un proyecto se realiza como miembro de un determinado grupo de
trabajo. Como tal miembro es necesario legitimarse con una contrasea.

Los grupos de trabajo estn numerados correlativamente de 0 a 7. El grupo 0 posee los derechos de
administrador; es decir, slo los miembros del grupo 0 pueden establecer contraseas y derechos de acceso
para todos los grupos u objetos.

Al crear un proyecto nuevo, no hay definida ninguna contrasea. Mientras no se haya establecido ninguna
contrasea para el grupo 0, el acceso al proyecto se realiza automticamente como miembro del grupo 0.

Si, al cargar el proyecto, se detecta una contrasea para el grupo de trabajo 0, cuando se abre el proyecto, se
solicita la introduccin de una contrasea a todos los grupos. Para este fin, se abre el siguiente dilogo:

Ajuste en el combobox Grupo de trabajo en el lado izquierdo del dilogo el grupo al cual pertenece e
introduzca en el lado derecho la correspondiente contrasea. Pulse Aceptar. Si la contrasea no coincide
con la contrasea almacenada, aparece el mensaje:

"Contrasea incorrecta.

El proyecto slo se abre despus de introducir la contrasea correcta.


Advertencia:

No se adjudican contraseas para todos los grupos de trabajo, as que se puede abrir un proyecto mediante
un grupo de trabajo al cual no se ha adjudicado ninguna contrasea!

Con el comando 'Contraseas para grupos de trabajo' se pueden adjudicar contraseas, con el comando
'Objeto' 'Derechos de acceso' los derechos para un objeto individual o para todos.

'Proyecto' 'Contraseas para grupos de trabajo'

Con este comando se abre el dilogo que permite asignar contraseas para grupos de trabajo. Slo los
miembros del grupo 0 pueden ejecutar dicho comando. Despus de dar el comando, se abre el siguiente
dilogo:

Dilogo para la asignacin de contrasea

En el combobox izquierdo Grupo de trabajo puede seleccionar el grupo. A continuacin, ha de introducirse la


contrasea correspondiente a dicho grupo en el campo Contrasea. Por cada letra que se escriba en el
campo, aparecer un asterisco (*). Seguidamente, tendr que escribir la misma palabra en el campo
Confirmar contrasea. Despus de introducir ambas contraseas, cierre el dilogo con Aceptar. Si aparece el
mensaje:" La contrasea y su confirmacin no coinciden.", significa que se ha cometido un error al escribir
cualquiera de las dos entradas. Si esto ocurre, deber volver a introducir ambas entradas correctamente para
cerrar el dilogo sin que aparezca dicho mensaje. En su caso, asigne solamente despus una consigna para
el prximo grupo mediante una nueva llamada del comando.

Con el comando 'Objeto' 'Derechos de acceso' puede adjudicar los derechos para un objeto individual o para
todos.

TwinCAT PLC Control: Componentes


Objetos

A continuacin se describe la manera de trabajar con los objetos y se indica la ayuda disponible
para mantener la visin de conjunto de un proyecto (carpeta, rbol de llamada, lista de referencias
cruzadas, ...).

Objectos
Los Mdulos, los tipos de datos y los recursos (variables globales, el Sampling Trace, la
configuracin del PLC, la configuracin de tareas y el visor de variables y de frmulas) se
denominan "objetos". Las carpetas insertadas para la estructuracin del proyecto tambin se
consideran objetos de forma parcial. Todos los objetos de un proyecto se encuentran en el Object
Organizer. Si mantiene el puntero del ratn brevemente sobre un mdulo del Object Organizer, se
visualizar el tipo de mdulo (programa, funcin o bloque de funciones) en un recuadro de ayuda
emergente, y en las variables globales la palabra clave (VAR_GLOBAL, VAR_CONFIG).

Con Drag&Drop puede desplazar objetos (y tambin carpetas, ver 'Carpetas') dentro de su tipo de
objeto. Para este fin, seleccione el objeto y desplcelo a la posicin que desee mientras mantiene
pulsado el botn izquierdo del ratn. Si se produce una colisin de nombres al desplazar, el nuevo
elemento insertado se identifica de forma unvoca mediante un nmero correlativo (por ejemplo,
"Objeto_1").

Carpetas
Para conservar la visin de conjunto de proyectos de mayor envergadura, conviene agrupar los
Mdulos, tipos de datos y variables globales de forma racional en carpetas. Las carpetas pueden
contener un nmero indefinido de carpetas. Si existe un signo 'Ms' delante del smbolo de carpeta
cerrada, significa que la carpeta contiene objetos y/u otras carpetas. Al hacer clic en el signo Ms,
se abre la carpeta y se muestran los objetos subordinados. Si hace clic en el signo Menos que se
antepone ahora, puede volver a cerrar la carpeta. Para realizar estas acciones, tambin puede
utilizar los comandos 'Expandir' y 'Contraer' del men de contexto. Con Drag&Drop (arrastrar y
colocar) puede desplazar los objetos y las carpetas pertenecientes al tipo de objeto. Para este fin,
seleccione el objeto y desplcelo a la posicin que desee mientras mantiene pulsado el botn
izquierdo del ratn.
Ejemplo de carpetas en el Object Organizer

'Nueva carpeta'

Este comando permite insertar una carpeta nueva como objeto de ordenacin. Si se ha
seleccionado una carpeta, la nueva se crea debajo de sta; de lo contrario, se genera en el mismo
nivel. Si se ha seleccionado una accin, la nueva carpeta se inserta en el nivel del mdulo al cual
pertenece la accin. El men de contexto del Object Organizer que contiene este comando se
muestra cuando se selecciona un objeto o tipo de objeto y se pulsa el botn derecho del ratn o
<Mays>+<F10>.
La nueva carpeta insertada recibe la denominacin 'Carpeta nueva'. Tenga en cuenta las siguientes
convenciones de nombres para las carpetas:

Las carpetas que se encuentran en el mismo nivel de la jerarqua deben tener nombres
distintos. Las carpetas de distintos niveles pueden tener el mismo nombre.

Una carpeta no puede tener el mismo nombre que un objeto que se encuentre en el mismo
nivel.

Si ya existe una carpeta con el nombre 'Nueva carpeta' en el mismo nivel, cada carpeta adicional
con este nombre recibe un nmero correlativo (p.ej. "Nueva carpeta 1"). No es posible cambiar un
nombre ya utilizado.

'Expandir' 'Contraer'

Con el comando Expandir, se visualizan los objetos que se encuentran en un nivel inferior del
objeto seleccionado; con Contraer, los objetos subordinados se dejan de visualizar. Las carpetas
tambin pueden abrirse y cerrarse haciendo doble clic o pulsando <Intro>. El men de contexto del
Object Organizer que contiene este comando se muestra cuando se selecciona un objeto o tipo de
objeto y se pulsa el botn derecho del ratn o <Mays>+<F10>.
'Proyecto' 'Borrar objeto'. Acceso directo: <Supr>

Este comando permite eliminar del Object Organizer el objeto actualmente marcado (Mdulo, tipo
de datos o variables globales) o una carpeta con objetos subordinados, a fin de borrarlos del
proyecto. Si embargo, previamente, se recibe un mensaje de seguridad para confirmar la
eliminacin. Si la ventana del editor del objeto est abierta, se cierra automticamente. Si se utiliza
el comando 'Edicin''Cortar' para borrar, el objeto se desplaza adicionalmente al Portapapeles.

'Proyecto' 'Insertar objeto'. Acceso directo: <Insert>

Con este comando se crea un nuevo objeto. El tipo de objeto (Mdulo, tipo de datos o variables
globales) depender de la ficha que se seleccione en el Object Organizer. En el cuadro de dilogo
que aparece se introduce el nombre del nuevo objeto. Tenga en cuenta que el nombre del objeto
debe ser exclusivo. Si se trata de un Mdulo, tambin hay que seleccionar el tipo de Mdulo
(programa, Funcin o Bloque de Funciones) y el lenguaje de programacin que se utilizar.
Despus de confirmar la entrada, aparece la ventana de entrada correspondiente al objeto.
Tenga en cuenta las siguientes limitaciones:

El nombre del mdulo no puede tener ningn espacio en blanco

Un mdulo no puede tener el mismo nombre que otro modulo o que un tipo de datos

Un tipo de datos no puede tener el mismo nombre que otro tipo de datos o que un mdulo.

Una lista de variables global no puede tener el mismo nombre que otra lista de variables
global.

Una accin no puede tener el mismo nombre que otra accin del mismo mdulo.

En el resto de casos se permiten concordancias de nombres. Por ejemplo, las acciones de


diferentes mdulos pueden tener el mismo nombre y una visualizacin puede tener el mismo
nombre que un mdulo.

Si se trata de un mdulo tambin se debe seleccionar el tipo de mdulo (programa, funcin o


bloque de funciones) y el lenguaje en el que se debe programar. Como Tipo de mdulo es
preajustado 'Programa', como Lenguaje del mdulo el del ltimo mdulo creado. Si se debe crear
un mdulo del tipo Funcin, se debe introducir en el campo de entrada de texto Tipo de devolucin
el tipo de datos deseado. Se permiten todos los tipos de datos elementales y tipos de datos
definidos (arrays, estructuras, enumeraciones, alias). Se puede utilizar la ayuda de entrada (p.ej.
mediante <F2>).

Tras confirmar la entrada con Aceptar, que slo es posible si no se incumplen las convenciones de
nombres citadas anteriormente, se crea el objeto nuevo en el Object Organizer y aparece la
correspondiente ventana de entrada.

En caso de utilizar el comando 'Edicin' 'Insertar', se inserta el objeto del Portapapeles y no


aparece ningn dilogo. Si el nombre del objecto insertado viola con las convenciones de nombres
(ver ms arriba), se identifica con un nmero correlativo separado por un guin bajo (por ejemplo,
"Desviacin a la derecha_1").

'Proyecto' 'Renombrar objeto'. Acceso directo: <Espaciador>

Con este comando se asigna un nombre nuevo al objeto o a la carpeta seleccionada. Tenga en
cuenta que el nombre del objeto debe ser exclusivo. Si la ventana de edicin del objeto est
abierta, el ttulo de la misma se modifica automticamente al renombrar el objeto.

Dilogo para renombrar un Mdulo

'Proyecto' 'Convertir objeto'

Este comando slo se puede utilizar con Mdulos. Los Mdulos creados en los lenguajes ST, FBD,
LD y IL pueden convertirse a uno de los tres lenguajes IL, FBD y LD. Para este fin, el proyecto tiene
que estar compilado. Seleccione el lenguaje al cual desea realizar la conversin y asigne un nuevo
nombre al Mdulo. Tenga en cuenta que el nuevo nombre del Mdulo debe ser exclusivo. A
continuacin, podr pulsar Aceptar para que el nuevo Mdulo se aada a la lista de Mdulos.

Dilogo para convertir un Mdulo

'Proyecto' 'Copiar objeto'

Mediante este comando se copia un objeto seleccionado y se guarda con un nombre nuevo.
Aparecer un dilogo en que podr introducir el nombre del nuevo objeto. Tenga en cuenta que el
nombre del objeto debe ser exclusivo. En caso de utilizar el comando 'Edicin''Copiar', el objeto se
copia al Portapapeles y no aparece ningn dilogo.

Dilogo para copiar un Mdulo

'Proyecto' 'Editar objeto'. Acceso directo: <Intro>

Con este comando se carga en el correspondiente editor un objeto marcado en el Object


Organizer. Al abrirse la ventana con el objeto, sta se sita en un primer plano y se puede editar.
Existen dos posibilidades ms para editar un objeto:

hacer doble clic con el ratn en el objeto que desee editar, o

introducir en el Object Organizer las primeras letras del nombre del objeto. A continuacin,
se abre un dilogo que contiene todos los objetos del tipo de objeto seleccionado con estas
letras iniciales. Seleccione el objeto que prefiera y haga clic en el botn Abrir para cargar el
objeto en la ventana de edicin. En el tipo de objeto Recursos, esta posibilidad slo se
admite para variables globales.

La segunda posibilidad resulta particularmente til en proyectos con muchos objetos.

Dilogo para seleccionar el objeto que va a abrirse

'Proyecto' 'Derechos de acceso objeto'

Con este comando se abre el siguiente dilogo para asignar los derechos de acceso de los
distintos grupos de trabajo:

Dilogo para asignar derechos de acceso

Los miembros del grupo de trabajo 0 pueden asignar individualmente derechos de acceso para
cada grupo de trabajo. Son posibles tres ajustes:
Ningn acceso: Un miembro del grupo de trabajo no puede abrir el objeto.

Acceso de lectura: Un miembro del grupo de trabajo puede abrir el objeto para
visualizarlo, pero no podr modificarlo.

Acceso completo: Un miembro del grupo de trabajo tiene permiso para abrir y modificar el
objeto.

Los ajustes afectarn al objeto actualmente marcado en el Object Organizer o, si se selecciona la


opcin 'Adoptar para todos los objetos', a todos los Mdulos, tipos de datos y recursos del
proyecto. Al abrir el proyecto, la asignacin a un grupo de trabajo se realiza mediante una solicitud
de contrasea, en caso de que se haya asignado una contrasea para el grupo de trabajo 0.

'Proyecto' 'Propiedades objeto'

Este comando slo est disponible si se ha marcado una lista de variables global en el Objekt
Organizer. Abre el dilogo 'Lista de variables global', en el cual se han configurado los parmetros
para la actualizacin de la lista y en caso necesario para el intercambio de datos de variables
globales de red. Aqu se pueden modificar las entradas. Cuando se crea una lista de variables
global este dilogo se abre con el comando 'Insertar objeto' si en el Object Organizer se ha
marcado la carpeta 'Variables globales' o una de las entradas siguientes.

'Proyecto' 'Agregar accin'

Con este comando se crea una accin para el mdulo seleccionado en el Object Organizer. En el
dilogo que aparece, se selecciona el nombre de la accin y el lenguaje en el cual se implementar
la accin.
La nueva accin se agrega en el Object Organizer tras su mdulo. Antes del mdulo slo aparece
un signo Ms. Al hacer clic con el ratn en el signo "Ms", se mostrarn los objetos de accin y,
delante del mdulo, un signo "Menos". Si hace clic de nuevo en el signo "Menos", las acciones se
ocultan y vuelve a aparecer el signo "Ms". Estas operaciones tambin se realizan con los
comandos del men de contexto 'Expandir' y 'Contraer'.
Al hacer doble clic en la accin o pulsar <Entrar>, se carga una accin para editar en el editor.

'Proyecto' 'Abrir instancia'

Con este comando se pueden abrir y visualizar instancias individuales de Bloques de Funciones. El
Bloque de Funciones cuya instancia desee abrir ha de seleccionarse en el Object Organizer antes
de ejecutar este comando. En el dilogo que aparece a continuacin se puede seleccionar la
instancia que elija de este Bloque de Funciones. Las instancias slo se pueden abrir despus del
inicio de sesin. (El proyecto se ha compilado correctamente y se ha transferido al PLC con 'En
lnea''Inicio sesin').

Dilogo para abrir una instancia

'Proyecto' 'Emitir rbol de llamada'

Con este comando se abre una ventana en la que se representa el rbol de llamada del objeto
seleccionado en el Object Organizer. Para este fin, el objeto tiene que estar compilado. El rbol de
llamada contiene llamadas de Mdulos y a tipos de datos utilizados.

Ejemplo de un rbol de llamada

'Proyecto' 'Emitir lista de referencias cruzadas'


Con este comando se abre un dilogo que permite la salida de todos los puntos de uso de una
variable, una direccin o un Mdulo. Para este fin, el objeto tiene que estar compilado. Seleccione
primero la categora Variable, Direccin o Mdulo e introduzca el nombre del elemento que desee.
Al hacer clic en el botn Referencias cruzadas, se obtiene la lista de todos los puntos de uso. Al
lado del Mdulo y del nmero de lnea o de red se indica si se produce un acceso de lectura o de
escritura en este punto y si se trata de una variable local o global. Si marca una lnea de la lista de
referencias cruzadas y activa el botn 'Ir a' o hace doble clic en la lnea, se visualiza en el editor en
el punto correspondiente del Mdulo. De esta manera puede saltar sin dificultad a todos los puntos
de uso. Para facilitar el manejo, puede trasladar la lista de referencias cruzadas actual a la ventana
de mensajes con el botn 'A la ventana de mensajes' y, a continuacin, cambiar al Mdulo en
cuestin.

Dilogo y ejemplo de una lista de referencias cruzadas

TwinCAT PLC Control: Componentes


Funciones de edicin

Los siguientes comandos estn disponibles en el men 'Edicin' de todos los editores. El Object
Organizer tambin contiene algunos de dichos comandos.

'Edicin' 'Deshacer'. Acceso directo: <Ctrl>+<Z>

Este comando permite deshacer la ltima accin ejecutada en la ventana del editor actualmente
abierta o en el Object Organizer. Este comando puede ejecutarse varias veces para deshacer
todas las acciones realizadas desde que se abri la ventana. Esto es aplicable para todas las
acciones de los editores de Mdulos, tipos de datos y variables globales y del Object Organizer.

Con 'Edicin''Restablecer' se puede volver a ejecutar una accin deshecha.

'Edicin' 'Restablecer'. Acceso directo: <Ctrl>+<Y>

Con este comando puede restablecer una accin deshecha ('Edicin''Deshacer') en la ventana del
editor actualmente abierta o en el Object Organizer. 'Restablecer' se puede ejecutar tantas veces
como se ha ejecutado previamente 'Deshacer'.

Los comandos 'Deshacer' y 'Restablecer' se refieren siempre a la ventana actual. Cada ventana
contiene su propia lista de acciones. Para deshacer acciones de distintas ventanas, active
sucesivamente cada una de ellas. Para deshacer o restablecer acciones en el Object Organizer, es
preciso que est activado.

'Edicin' 'Cortar'. Acceso directo: <Ctrl>+<X> o <Mays>+<Supr>

Este comando desplaza la seleccin actual del editor al Portapapeles, de modo que la seleccin se
elimina del editor. En el Object Organizer, esta accin se realiza con los objetos seleccionados,
aunque no es posible borrarlos todos, como por ejemplo, la configuracin del PLC. Tenga en
cuenta que no todos los editores admiten la funcin Cortar y que sta puede estar limitada en
algunos editores.

La forma de seleccin depende del editor en cuestin:

En los editores de texto (IL, ST, declaraciones), la seleccin es una lista de caracteres.
En los editores de FBD y LD, la seleccin es una cantidad de redes marcadas siempre con
un rectngulo de puntos en el cuadro numrico de la red, o bien un cuadro que contiene
todas las lneas, cuadros y operandos anteriores.

En el editor de SFC, la seleccin es parte de una secuencia de pasos rodeada de un


rectngulo de puntos.

Para insertar el contenido del Portapapeles, utilice el comando 'Edicin''Insertar'. En el editor de


SFC, tambin puede utilizar los comandos 'Herramientas'' Insertar ramo paralelo (derecha)' o
'Herramientas''Insertar despus'. Para insertar una seleccin en el Portapapeles sin eliminarla,
utilice el comando 'Edicin''Copiar'. Para eliminar una zona seleccionada sin modificar el
Portapapeles, utilice el comando 'Edicin''Borrar'.

'Edicin' 'Copiar'. Acceso directo: <Ctrl>+<C>

Este comando permite copiar la seleccin actual del editor en el Portapapeles. El contenido de la
ventana del editor no se modifica en este proceso. En el Object Organizer, esta accin se realiza
con los objetos seleccionados, aunque no todos los objetos pueden copiarse, por ejemplo, la
configuracin del PLC. Tenga en cuenta que no todos los editores admiten la funcin Copiar y que
sta puede estar limitada en algunos editores. El procedimiento de seleccin que se emplea es el
mismo que para 'Edicin''Cortar'.

'Edicin' 'Insertar'. Acceso directo: <Ctrl>+<V>

Inserta el contenido del Portapapeles en la posicin actual de la ventana del editor. En los editores
para grficos, este comando slo se puede ejecutar si, al realizar la insercin, se vuelve a obtener
una estructura correcta. En el Object Organizer se inserta el objeto del Portapapeles. Tenga en
cuenta que no todos los editores admiten la funcin Insertar y que sta puede estar limitada en
algunos editores.

La posicin actual se define de distintas maneras, segn el tipo del editor:

En los editores de texto (IL, ST, declaraciones), la posicin actual coincide con la posicin
del cursor intermitente (una pequea lnea vertical que se puede situar haciendo clic con el
ratn).

En los editores de FBD y de LD, la posicin actual coincide con la primera red cuya rea
numrica est rodeada con un rectngulo de puntos. El contenido del Portapapeles se
inserta delante de esta red. Si se ha copiado una estructura parcial, sta se inserta delante
del elemento seleccionado.

En el editor de SFC, la posicin actual coincide con la seleccin incluida en un rectngulo


de puntos.

El contenido del Portapapeles se inserta, segn la marca y del contenido del portapapeles, delante
de esta marca o en un ramo nuevo (paralelo o alternativo) a la izquierda de la seleccin. En el SFC
tambin se pueden utilizar los comandos 'Herramientas''Insertar ramo paralelo (derecha)' o
'Herramientas''Insertar despus' para insertar el contenido del Portapapeles.

'Edicin' 'Borrar'. Acceso directo: <Supr>

Borra la zona seleccionada de la ventana del editor. El contenido del Portapapeles no se modifica
en este proceso. En el Object Organizer, esta accin se realiza con los objetos seleccionados,
aunque no se pueden recortar todos los objetos, como por ejemplo, la configuracin del PLC. El
procedimiento de seleccin empleado es el mismo que para 'Edicin''Cortar'. En el administrador
de libreras, la seleccin coincide con el nombre de librera actualmente seleccionado.

'Edicin' 'Buscar'

Con este comando se busca un determinado texto en la ventana actual del editor. Para ello, se
abre el dilogo de bsqueda, que permanecer abierto hasta que se pulse el botn 'Cancelar'. En
el campo 'Buscar' se puede introducir la secuencia de caracteres que desee hallar. Adems, es
posible determinar si el texto va a buscarse como palabra completa o como parte de una palabra,
si en la bsqueda ha de tenerse en cuenta el uso las maysculas y minsculas y si la bsqueda
tendr lugar desde la posicin actual del cursor hacia delante o hacia atrs. Con el botn 'Buscar
siguiente' se inicia la bsqueda, que comienza en la posicin seleccionada y en la direccin de
bsqueda elegida. Si se encuentra el texto buscado, ste aparece marcado. Si no se encuentra el
texto, se emite el correspondiente mensaje. La bsqueda se puede efectuar varias veces seguidas
hasta alcanzar el principio o el fin de la ventana del editor. Tenga en cuenta que el texto buscado
puede quedar tapado por el dilogo de bsqueda.
Dilogo de bsqueda

'Edicin' 'Buscar siguiente'. Acceso directo: <F3>

Mediante este comando, se ejecuta un comando de bsqueda que contiene los mismos
parmetros de la ltima ejecucin del comando 'Edicin''Buscar'.

'Edicin' 'Reemplazar'

Con este comando se busca un texto determinado exactamente igual que con el comando
'Edicin''Buscar' y se sustituye por otro. Despus de seleccionar el comando, se abre el dilogo
para Buscar y reemplazar. Este dilogo permanecer abierto hasta que se pulse el botn Cancelar
o Cerrar. El botn Reemplazar sustituye la seleccin actual por el texto del campo Reemplazar con.
El botn 'Reemplazar todo' sustituye todas las apariciones del texto del campo Buscar por el texto
que figura en el campo Reemplazar por.

Tenga en cuenta que en las posiciones de texto de slo lectura el texto no se puede sustituir
(partes de la configuracin de tareas y de mando, bibliotecas). Las secuencias de caracteres en
piezas editables de los configuradores (nombre de tarea y de programa, identificador para
entradas/salidas) se pueden sustituir.

Las ltimas cadenas de bsqueda y de substitucin introducidas pueden seleccionarse mediante el


correspondiente combobox de los campos.

Una vez finalizado el proceso de sustitucin, aparece un mensaje indicando el nmero de veces
que se ha reemplazado el texto.
Dilogo para Buscar y Reemplazar

'Edicin' 'Ayuda de entrada'. Acceso directo: <F2>

Este comando permite acceder a un dilogo para seleccionar posibles entradas en introducirlas en
la posicin actual del cursor de la ventana del editor. En la columna izquierda, seleccione la
categora de la entrada que desee y, en la columna derecha, marque la entrada; a continuacin,
confirme la seleccin con Aceptar. De este modo, la seleccin se inserta en dicha posicin. Las
categoras que se proporcionan en cada caso dependen de la posicin actual del cursor en la
ventana del editor, es decir, de lo que se puede introducir en dicho punto (por ejemplo, variables,
operadores, Mdulos, conversiones, ...)

Si la opcin Con argumentos est activada, al aadir el elemento seleccionado se obtienen los
argumentos transferidos con el ejemplo indicado: Seleccin de bloque de funciones fu1 que ha
definido la variable de entrada var_in: fu1(var_in:=);

Insertar funcin func1, que precisa como parmetro de transmisin var1 y var2: func1(var1,var2);

En principio es posible cambiar entre la representacin estructurada y no estructurada de los


elementos disponibles. Esto se consigue activando/desactivando la opcin Representacin
estructurada.

Representacin no estructurada
Los mdulos, variables o tipos de datos de cada categora se clasifican de forma alfabtica.

En ciertas posiciones (p.ej.en la lista de watch) se necesitan nombres de variables de varios


niveles. A continuacin el dilogo para la ayuda de entrada muestra una lista de todos los mdulos
as como un punto individual para las variables globales. Despus de cada nombre de mdulo,
aparece un punto. Si un mdulo se marca haciendo doble clic o pulsando <Entrar>, se abre la lista
de las variables correspondientes. Si hay instancias y tipos de datos, se puede seguir abriendo. Si
pulsa Aceptar se transfiere la ltima variable seleccionada.

Representacin estructurada

Si se selecciona la Representacin estructurada, los mdulos, variables o tipos de datos se


ordenan de forma jerrquica. Esto es posible para los programas estndar, las funciones estndar,
los bloques de funciones estndar, los programas definidos, las funciones definidas, los bloques de
funciones definidos, las variables globales, las variables locales, los tipos definidios, y las variables
watch. La representacin ptica y jerrquica corresponde a la del Object Organizer, si se ven
afectados elementos de las bibliotecas se aaden en orden alfabtico en la posicin superior y la
jerarqua correspondiente se representa igual que en el administrador de bibliotecas.

Las variables de entrada y de salida de los bloques de funciones, que se declaran como variables
locales o globales, se listan en la categora 'Variables locales' o 'Variables globales' debajo del
nombre de instancia (por ejemplo Inst_TP.ET, Inst_TP.IN, ...). Se llega a este punto seleccionando
el nombre de instancia (p.ej. Inst_TP) y confirmando con Aceptar.

Si aqu se ha marcado la instancia de un bloque de funcin, se puede seleccionar la opcin Con


argumentos. A continuacin se insertan en los lenguajes del texto ST y IL y en la configuracin de
tareas el nombre de la instancia y los parmetros de entrada del bloque de funcin.

Por ejemplo, seleccionando Inst (Instancia de declaracin: TON;) se inserta lo siguiente:

Inst(IN:= ,PT:=)

Si no se selecciona esta opcin, slo se inserta el nombre de la instancia. En los lenguajes grficos
o en la ventana watch en general slo se inserta el nombre de la instancia.

Los componentes de estructuras se representan de forma anloga a las instancias de bloques de


funciones.

Para las enumeraciones se listan los valores de enumeracin bajo el tipo de enumeracin. El
orden: Enums de bibliotecas, Enums de tipos de datos, Enums locales de mdulos.

En general las lneas que contienen subobjetos no se pueden seleccionar (excepto las instancias,
ver ms arriba), sino que slo se pueden abrir y cerrar de forma anloga a los nombres de
variables de varios niveles.

Si la ayuda de entrada se llama en el administrador watch y el administrador de frmulas o bien


durante la seleccin de las variables trace en el dilogo de configuracin trace, es posible realizar
una seleccin mltiple. Si se pulsa la tecla <Mays> se puede seleccionar un rea de variables, y
si se pulsa <Ctrl> varias variables individuales. Las variables seleccionadas se marcan. Si durante
el marcado del rea se seleccionan lneas que no contienen variables vlidas (por ejemplo,
nombres de mdulos), estas lneas no se transfieren a la seleccin. Con la seleccin individual
estas lneas no se pueden marcar.
En la ventana watch y en la configuracin trace es posible transferir estructuras, arrays o instancias
de la ayuda de entrada. Dado que si se hace doble clic con el ratn se abre o se cierra el elemento,
la seleccin en estos casos slo se puede confirmar con Aceptar.

Las variables seleccionadas se introducen lnea a lnea en la ventana watch, es decir, cada variable
seleccionada se escribe en una lnea. En las variables Trace cada variable se introduce en una
lnea de la lista de variables Trace.

Si al introducir las variables seleccionadas se supera la cantidad mxima de 20 variables trace,


aparece el mensaje de error "Se permiten 20 variables como mximo". El resto de variables
seleccionadas ya no se transferirn a la lista.

Nota: algunas entradas (por ejemplo, las variables globales) slo se actualizan en la ayuda de
entrada despus de un proceso de compilacin.

'Edicin' 'Siguiente error'. Acceso directo: <F4>

Si un proyecto se compila incorrectamente, con este comando podr visualizar el error siguiente.
Se activa la correspondiente ventana del editor, se marca el punto incorrecto y, simultneamente,
se resalta el mensaje de error correspondiente en la ventana de mensajes.

'Edicin' 'Error anterior'. Acceso directo: <Mays>+<F4>

Si un proyecto se compila incorrectamente, con este comando podr visualizar el error anterior. Se
activa la correspondiente ventana del editor, se marca el punto incorrecto y , simultneamente, se
resalta el mensaje de error correspondiente en la ventana de mensajes.

'Edicin' 'Macros'

Bajo este punto de men aparecen todas las marcros que se han definido para el proyecto actual.
(Para su creacin consulte 'Proyecto' 'Opciones' 'Macros' ). Si se selecciona la macro deseada y es
ejecutable, se abre el dilogo 'Ejecutar macro'. Aqu aparece el nombre de la macro y la lnea
actual del comando. Con el botn Cancelar se puede detener el procesamiento de la macro, pero
la lnea actual del comando se procesa hasta el final. Aparece el mensaje correspondiente en la
ventana de mensajes y en el modo online en el registro: "<Macro>: Ejecucin cancelada por el
usuario".

Las macros se pueden ejecutar tanto online como offline. Sin embargo, slo se ejecutan los
comandos disponibles en el modo correspondiente
TwinCAT PLC Control

Funciones online

Los comandos online disponibles se encuentran en el men 'Online'. La ejecucin de algunos


comandos depende del editor activo. Los comandos online slo estn disponibles despus del
inicio de sesin.

Mediante la funcionalidad 'Online Change' tiene la posibilidad de realizar modificaciones del


programa en el mando actual. Para ello consulte 'Online' 'Login'.

'Online''Login' Acceso directo: <F11>

Este comando conecta el sistema de programacin con el mando (o inicia el programa de


simulacin) y pasa al modo Online.

Si el proyecto actual no se ha compilado desde que se ha abierto o desde la ltima modificacin,


se compilar ahora (como en 'Proyecto' 'Compilar'). Si aparecen errores al compilar, el TwinCAT
PLC Control no pasar al modo online.

Si el proyecto actual se ha modificado desde el ltimo download en el mando, pero no se ha


cerrado, y si no se ha borrado la ltima informacin de download con el comando 'Proyecto'
'Limpiar todo', se abre un dilogo tras el comando 'Login' con la siguiente consulta: "El programa
ha sido modificado. Desea cargar las modificaciones? (Online Change)". Con S confirmar que
durante el Login la parte modificada del proyecto se debe cargar en el mando. Con No se realizar
el Login sin que se carguen las modificaciones realizadas en el mando desde el ltimo download.
Con Cancelar se cancela el comando. Con Cargar todo se vuelve a cargar todo el proyecto en el
mando.

Tras el Login correcto todas las funciones online estarn disponibles (siempre que las opciones
correspondientes se hayan introducido en la categora 'Opciones' de opciones de compilacin).

Para pasar del modo Online al modo Offline, utilice el comando 'Online' 'Cierre sesin'.

En caso de error:

Error: "No se ha podido iniciar la conexin con el mando"


Compruebe si ha iniciado TwinCAT (icono de TwinCAT en verde). Si el icono de TwinCAT situado
en la barra de tareas (abajo) estuviera en rojo, tendr que iniciar el sistema TwinCAT haciendo clic
con el botn derecho del ratn en el icono de TwinCAT y, despus, en 'Sistema' e 'Inicio'.

Error: "El programa ha sido modificado! Cargar el nuevo programa?"

El proyecto actual del editor no es compatible con el programa cargado actualmente en el mando
(ni con el programa de simulacin iniciado). Por esta razn, la monitorizacin y ma depuracin no
son posibles. Ahora puede seleccionar "No", finalizar la sesin y abrir el proyecto correcto o cargar
el proyecto actual del mando con "S".

Mensaje: "El programa ha sido modificado! Desea cargar las modificaciones? (ONLINE
CHANGE)"

El proyecto funciona en el mando. El sistema de destino soporta el 'Online Change' y el proyecto


ha sido modificado respecto al ltimo download o el ltimo Online Change en el mando. Ahora
puede decidir si estas modificaciones se deben cargar durante el programa de mando en ejecucin
o si el comando se debe cancelar. Tambin puede cargar el cdigo completo compilado
seleccionando el botn Cargar todo.

'Online''Logout' Acceso directo: <F12>

La conexin con el mando se interrumpe y se pasa al modo Offline. Para conmutar al modo Online,
utilice el comando 'Online''Login'.

'Online' 'Cargar'

Este comando carga el proyecto compilado en el mando (download, no confundir con 'Online'
'Cargar cdigo fuente'!).

La informacin de download se almacena en un archivo <nombre de proyecto>0000000ar.ri que se


utiliza en el Online Change para comparar el programa actual con el ltimo programa cargado en el
mando, de forma que slo las partes modificadas del programa se vuelven a cargar. Este archivo
se borra con el comando 'Proyecto' 'Limpiar todo'!

'En lnea''Inicio' Acceso directo: <F5>

Este comando inicia la ejecucin del programa de usuario en el mando o en la simulacin. El


comando se puede ejecutar inmediatamente despus del comando 'Online''Cargar' una vez que
se ha detenido el programa de usuario en el mando con el comando 'Online''Paro', si el programa
de usuario se encuentra en un Breakpoint o si se ha ejecutado un 'Online''Ciclo individual'.

'Online''Paro' Acceso directo <Mays>+<F8>

Detiene la ejecucin del programa de usuario en el mando o en la simulacin entre dos ciclos.
Utilice el comando 'Online''Inicio' para reanudar la ejecucin del programa.

'Online' 'Reiniciar '

Si ha inicializado las variables con un determinado valor, con este comando se restaura el valor
inicializado. Todas las dems variables se ajustan en funcin de una inicializacin estndar (por
ejemplo, los nmeros enteros, en 0).

TwinCAT PLC Control emite una consulta de seguridad antes de sobrescribir las variables. Utilice el
comando 'Online''Inicio' para reanudar la ejecucin del programa.

'Online' 'Reiniciar todos '

Este comando reinicializa todas las variables, incluso las persistentes (PERSISTANT) a su valor de
inicio y borra el programa del usuario del mando. El mando vuelve a su estado original.

'Online' 'Breakpoint ON/OFF' Acceso directo: <F9>

Este comando establece un breakpoint en la posicin actual de la ventana activa. Si ya hay


establecido un breakpoint en la posicin actual, ste se quita. La posicin donde se puede
establecer un breakpoint depende del lenguaje en el cual est escrito el mdulo en la ventana
activa. En los editores de texto (IL, ST), el breakpoint se coloca en la lnea donde se encuentra el
cursor, siempre que esta lnea sea una posicin de breakpoint (se reconoce por el color gris oscuro
del campo del nmero de lnea). Para establecer o quitar un breakpoint en los editores de texto
tambin se puede hacer clic en el campo del nmero de lnea. En los lenguajes FBD y LD, el
breakpoint se coloca en la red marcada manualmente. Para establecer y quitar un breakpoint en el
editor de FBD o de LD, tambin puede hacer clic en el campo del nmero de red. En el lenguaje
SFC, el breakpoint se coloca en el paso actualmente marcado. Para establecer o quitar un
breakpoint en SFC, se puede utilizar <Mays> haciendo doble clic. Cuando hay establecido un
breakpoint, el campo del nmero de lnea, el campo del nmero de red o el paso se representa
sobre fondo azul claro. Si, durante la ejecucin del programa, se alcanza un breakpoint, el
programa se detiene y el campo en cuestin se representa sobre fondo rojo. Para reanudar el
programa, utilice los comandos 'Online''Inicio', 'Online''Paso individual en' o 'Online''Paso
individual sobre'.
Para fijar o eliminar breakpoints tambin puede utilizar el dilogo Breakpoint.

'Online' 'Dilogo Breakpoint'

Este comando abre un dilogo para editar breakpoints en todo el proyecto. Adems, el dilogo
muestra todos los breakpoints actualmente establecidos.

Para fijar un breakpoint, seleccione un mdulo en el cuadro combinado Mdulo, la lnea o la red
donde quiere establecer el breakpoint, en el cuadro combinado Lugar, y pulse el botn 'Agregar'. El
breakpoint se introduce en la lista.

Para borrar un breakpoint, mrquelo en la lista de los breakpoints establecidos y pulse el botn
'Borrar'. Con el botn 'Borrar todos' se borran todos los breakpoints.

Para saltar al punto del editor donde se ha establecido un determinado breakpoint, mrquelo en la
lista de los breakpoints establecidos y pulse el botn 'Ir a'.

Para fijar o eliminar breakpoints tambin puede utilizar el comando 'Online' 'Breakpoint on/off'.

Dilogo para editar los breakpoints

'Online''Paso individual por' Acceso directo: <F10>

Con este comando se ejecuta un paso individual mediante el cual al llamar mdulos slo se detiene
tras su procesamiento. En el AS se ejecuta una accin completa.

Si la instruccin actual de la llamada es una funcin o un bloque de funcin, la funcin o bloque de


funcin se ejecutar completamente. Utilice el comando 'Online' 'Paso individual en', para ir a la
primera instruccin de una funcin llamada o un bloque de funcin llamado.
Cuando se llegue a la ltima instruccin, el programa ir a la siguiente instruccin del mdulo que
realiza la llamada.

'Online''Paso individual en' Acceso directo: <F8>

Se ejecuta un paso individual que se detiene en la llamada a mdulos antes de la ejecucin de la


primera instruccin del mdulo. En este caso, se cambia a un mdulo llamado. Si la posicin actual
es una llamada a una funcin o un bloque de funciones, el comando pasa a la primera instruccin
del mdulo al que se ha llamado. En todas las dems situaciones, el comando se comporta
exactamente igual que 'Online''Paso individual sobre'.

Online''Ciclo individual' Acceso directo: <Ctrl>+<F5>

Este comando ejecuta un ciclo de mando individual y se detiene despus de este ciclo. Este
comando se puede repetir continuamente para trabajar en ciclos individuales. El ciclo individual se
termina cuando se ejecuta el comando 'Online''Inicio'.

'Online' 'Escribir valores' Acceso directo: <Ctrl>+<F7>

Con este comando se fijan al inicio de un ciclo una vez! una o varias variables a un valor
definido por el usuario.

Se pueden modificar todas las variables de un elemento que son visibles en la monitorizacin.

Antes de poder ejecutar el comando 'Escribir valores', se debe preparar, es decir, definir un valor de
variable para escribir.

1. Definir los valores:

En el caso de variables no booleanas se ejecuta un doble clic sobre la lnea en la que se


ha declarado la variable o bien se marca la variable y se pulsa <Entrar>. Al hacerlo
aparece el cuadro de dilogo 'Escribir variable <x>', donde se puede introducir el valor que
se debe escribir en la variable.

Dilogo para escribir un nuevo valor de variable


En el caso de variables booleanas se conmuta el valor haciendo doble clic sobre la lnea
en la que se ha declarado la variable (cambio entre TRUE, FALSE y ningn valor nuevo)
sin que aparezca ningn dilogo.

El nuevo valor a escribir se visualiza en color turqu entre parntesis angulares detrs del valor de
declaracin existente hasta entonces, p.ej. a=0 <:=34>.

Nota:

Excepcin en la visualizacin de los valores a escribir: En el editor FBD y LD el valor en color turqu
sin parntesis angulares se encuentra junto al nombre de la variable.

La definicin de valores se puede realizar para todas las variables que se desee.

Los valores que se han introducido para variables a escribir se pueden corregir o volver a borrar del
mismo modo. Esto tambin es posible en 'Online' 'Escribir/Forzar dilogo' (ver ms abajo).

Los valores marcados para escribir se almacenan en una lista de escritura (Watchlist) donde
permanecen hasta que se escriben, se borran o se desplazan a una lista de Forzar con el comando
'Forzar valores'.

2. Escribir valores:

El comando para escribir los valores fijados en la lista de escritura se encuentra en dos posiciones:

Comando 'Escribir valores' en el men 'Online'.

Botn 'Escribir valores' en el dilogo 'Editar la lista de escritura y la lista de forzar'.

Si se ejecuta el comando 'Escribir valores', todos los valores contenidos en la lista de escritura se
escribirn una vez en el inicio del ciclo en las variables correspondientes en el mando y de este
modo se borrarn de la lista de escritura. (Si se ejecuta el comando 'Forzar valores', las variables
correspondientes se borran de la lista de escritura y se transfieren a la lista de forzar)

Nota:

En el diagrama secuencial de funciones no se pueden modificar los valores individuales de los que
se compone una expresin de transicin con 'Escribir valores'. Esto provoca que al monitorizar el
'valor total' de la expresin no se visualicen los valores de las variables individuales (p.ej. "a AND b"
slo se visualiza como TRUE si realmente las dos variables tienen el valor TRUE).
Contrariamente, en el FBD slo se monitoriza la primera variable de una expresin que por ejemplo
se utiliza como entrada de un bloque de funcin. De este modo, 'Escribir valores' slo es posible
para esta variable.

'Online''Forzar valores' Acceso directo: <F7> (Forzar valores)

Con este comando se fijan una o varias variables a valores definidos por el usuario. La fijacin se
realiza en el sistema de tiempo de ejecucin al inicio y al final del ciclo.

El proceso temporal en un ciclo: 1.Leer entradas, 2. Forzar valores 3. Ejecutar cdigo, 4. Forzar
valores 5. Escribir salidas.

La funcin sigue activa hasta que el usuario la suprime de forma explcita (Comando 'Online'
'Suprimir forzar') o hasta que se hace un Logout del sistema de programacin.

Para fijar los nuevos valores, segn lo descrito en 'Online' 'Escribir valores' (ver 1. Definir valores),
primero se crea una Lista de escritura. Las variables contenidas en la lista de escritura se
identifican en la forma correspondiente en la monitorizacin. La lista de escritura se transfiere a una
Lista de forzar en cuanto se ejecuta el comando 'Online' 'Forzar valores'. Posiblemente ya existe
una lista de forzar activa que entonces se actualiza como corresponda. La lista de escritura se
vaca y los nuevos valores se representan en rojo como 'forzados'. Las modificaciones de la lista de
forzar se transfieren al programa en la siguiente orden de 'Forzar valores'.

Nota:

La lista de forzar se forma en la primera accin de forzar de las variables contenidas en la lista de
escritura, mientras la lista de escritura ya existe antes de la primera escritura de la variable
contenida.

El comando para forzar una variable (y el registro en la lista de forzar) se encuentra en las
siguientes posiciones:

Comando 'Forzar valores' en el men 'Online'.

Botn 'Forzar valores' en el dilogo 'Editar la lista de escritura y la lista de forzar'.

Nota:

En el diagrama secuencial de funciones no se pueden modificar los valores individuales de los que
se compone una expresin de transicin con 'Forzar valores'. Esto provoca que durante la
monitorizacin del 'valor total' de la expresin no se visualicen los valores de las variables
individuales (p.ej."a AND b" slo se representa como TRUE, si realmente ambas variables tienen el
valor TRUE).

Contrariamente, en el FBD slo se monitoriza la primera variable de una expresin que por ejemplo
se utiliza como entrada de un bloque de funcin. De este modo, 'Forzar valores' slo es posible
para esta variable.

'Online''Suprimir forzar' Acceso directo: <Mayscula>+<F7>

El comando finaliza el forzado de los valores de variables en el mando. Las variables vuelven a
modificar su valor de forma normal.

Las variables forzadas deben reconocer sus valores en la representacin en rojo en la


monitorizacin. Existe la posibilidad de borrar toda la lista de forzar de forma global o marcar slo
variables individuales antes de ejecutar el comando de suprimir el forzado.

Para borrar toda la lista de forzar, es decir, para suprimir el forzado de todas las variables,
seleccione una de la siguientes posibilidades:

Comando 'Suprimir forzar' en el men 'Online'.

Botn 'Suprimir forzar' en el dilogo 'Editar la lista de escritura y la lista de forzar'.

Borrar toda la lista de forzar mediante el dilogo 'Borrar listas de escritura/forzar'. Se abre
con el comando 'Online'''Suprimir forzar'.

Para suprimir la accin de forzar slo para variables individuales de la lista de forzar, estas
variables primero se deben marcar. Para ello seleccione una de las siguientes posibilidades. Las
variables marcadas para forzar posteriormente se reconocen porque tienen la extensin en color
turqu <Suprimir forzar>.

Haciendo doble clic sobre la lnea en la que se ha declarado una variable forzada no
booleana, se abre el dilogo 'Variable <x> escribir'. Pulse el botn <Suprimir la accin de
forzar para esta variable>.

Haciendo clic repetidas veces sobre la lnea en la que se ha declarado una variable
forzada no booleana, puede conmutar hasta visualizar <Suprimir la accin de forzar>
detrs de la variable.
Borre el valor en el campo de edicin de la columna 'Valor forzado' en el dilogo de
escribir/forzar que puede abrir mediante el men 'Online'.

Si para todas las variables deseadas est visible la configuracin "<Suprimir accin de forzar>"
detrs del valor en la ventana de declaracin, ejecute el comando 'Forzar', que transfiere el nuevo
contenido de la lista de forzar al programa.

Si al ejecutar el comando 'Suprimir accin de forzar' la lista de escritura actual (ver 'Online' 'Escribir
valores') no est vaca, aparece el dilogo 'Borrar listas de escritura/forzar', en el que el usuario
debe decidir si slo desea rechazar la accin Suprimir accin de forzar o la Lista de escritura, o
bien ambas cosas.

'Online' 'Dilogo de escritura/forzado'

Este comando nos lleva hasta un dilogo que representa en dos registros la lista de escritura
(Watchlist) y la lista de forzar (Forcelist) actuales. En la tabla se representan el nombre de variable
y su valor preparado o forzado para escribir.
Las variables llegan a travs de los comandos 'Online' 'Escribir valores' a la Watchlist y se
desplazan a la lista de forzar mediante el comando 'Online' 'Forzar valores'. Los valores se
pueden editar en las columnas 'Valor preparado' o 'Valor forzado' abriendo un campo de edicin
haciendo clic sobre la entrada. En caso de una entrada con un tipo no consistente, se edita un
mensaje de error. Si se borra un valor, esto significa que la entrada se elimina de la lista de
escritura o que la variable se ha marcado para suprimir la accin de forzar, en cuanto el dilogo se
abandona con otro comando distinto al de Cancelar.

Los siguientes comandos, que corresponden al men Online, estn disponibles a travs de
botones:

Forzar valores: Todas las entradas de la lista de escritura actual se desplazan a la lista de forzar,
es decir, se fuerzan los valores de las variables en el mando. Todas las variables marcadas con '
Suprimir accin de forzar' ya no se fuerzan. A continuacin se cierra el dilogo.

Escribir valores: Todas las entradas de la lista de escritura actual se escriben una vez en las
variables correspondientes en el mando. A continuacin se cierra el dilogo.

Suprimir accin de forzar: Todas las entradas de la lista de escritura se borran, o bien, si hay una
lista de escritura, se abre el dilogo 'Borrar listas de escritura/forzar', en el que el usuario debe
decidir si slo desea Suprimir forzar o Rechazar lista de escritura, o ambas cosas. El dilogo se
cierra a continuacin o tras cerrar el dilogo de seleccin.

'Online''Jerarqua de llamada'

Este comando se puede iniciar cuando la simulacin se detiene en un breakpoint. Se emite un


dilogo con una lista de los mdulos que se encuentran actualmente en el stack de llamada.

Ejemplo de una jerarqua de llamada

El primer mdulo es siempre el programa al que se ha llamado con la tarea Debug ajustada
actualmente porque es all donde se inicia la ejecucin. El ltimo mdulo es siempre el mdulo en
el que se encuentra la ejecucin en este momento. Despus de seleccionar uno de los mdulos y
pulsar el botn 'Ir a', el mdulo seleccionado se carga en una ventana y se indica la lnea o la red
en la cual se encuentra la ejecucin.

'Online' 'Control de proceso'

Si est seleccionado el control de proceso, aparece un smbolo de correccin delante del punto
de men. A continuacin, se marca cada lnea o cada red que ha sido ejecutado durante el ltimo
ciclo de mando. El campo del nmero de lnea o del nmero de red de las lneas o redes que
pasan se representa de color verde. En el borde izquierdo de cada lnea del editor de lenguaje IL
se inserta un campo adicional en el cual se visualiza el contenido actual del acumulador. En los
editores grficos para el diagrama de bloques funcionales y el plano de contactos se inserta un
campo adicional en todas las lneas de conexin que no transporten valores booleanas. Una vez
completadas estas salidas y entradas, el valor que se transporta a travs de la lnea de conexin
se indica en este campo. Las lneas de conexin que transmiten nicamente valores booleanas
adquieren un color azul cuando transportan TRUE; esto permite el seguimiento permanente del
flujo de informacin.
'Online''Simulacin'

Este comando de men slo se puede seleccionar en un programa para BusController BC. En
TwinCAT para PC, se puede trabajar directamente en el sistema de tiempo de ejecucin que ser
asumido ms tarde por el mando, sin necesidad de conexin de entradas y salidas. Si est
seleccionada la funcin de simulacin, aparece un smbolo de correccin delante del comando de
men. En el modo de simulacin, el programa de usuario funciona en el mismo PC bajo Windows.
Este modo se utiliza para ensayar el proyecto. La comunicacin entre el PC y la simulacin utiliza
el mecanismo Windows Message. Cuando el programa no se encuentra en el modo de simulacin,
funciona en el mando. La comunicacin entre el PC y el mando se realiza habitualmente mediante
la interfaz de serie. El estado de este flag se guarda junto con el proyecto.

'Online' 'Parmetros de comunicacin'

Este dilogo slo puede seleccionarse para TwinCAT con el BusController (BC). En un dilogo se
pueden introducir los parmetros para la transferencia a travs de la interfaz de serie. Es
importante que estos parmetros coincidan con los ajustados en el mando.

Dilogo para el ajuste de los parmetros de comunicacin

Es posible ajustar la velocidad de transferencia, la paridad (par, impar, sin), el nmero de bits de
parada, as como la interfaz (COM1, COM2, etc.) a travs de la cual se realizar la transferencia.
Los parmetros seleccionados se guardan junto con el proyecto.
'Online' 'Seleccin del sistema de destino'

Slo TwinCAT PC:

Aqu existe la posibilidad de seleccionar el sistema de destino (es decir, el sistema de tiempo de
ejecucin del programa PLC). Se pueden ver todos los tiempos de ejecucin existentes a nivel
local (mximo cuatro) y remoto.

Tras guardar el proyecto PLC, la informacin del sistema de destino (nmero de puerto)
seleccionado se almacena en el proyecto, para que est disponible, por ejemplo, en el Import o
Rescan en el TwinCAT System Manager.

'Online' 'Cargar cdigo fuente'

Con este comando se carga el cdigo fuente del proyecto al mando. No se puede cambiar por el
cdigo que aparece durante la compilacin del proyecto! Para saber qu opciones son importantes
para el download (momento, alcance) consulte el dilogo 'Proyecto' 'Opciones'
'Sourcedownload'.

'Online' 'Crear proyecto de arranque'

Si este comando se ejecuta online, el proyecto compilado se almacena en el mando de forma que
el mando lo puede cargar al reiniciar. Segn el sistema de destino se produce el almacenamiento
del proyecto de arranque de forma diferente.

'Online' 'Crear proyecto de arranque (offline)'

Al ejecutar este comando, el proyecto compilado se guarda en el directorio del proyecto (*.pro).
Segn el sistema de destino se produce el almacenamiento del proyecto de arranque de forma
diferente. En un ordenador con Windows XP se crea un archivo TcPLC_P_x.wbp en la carpeta del
proyecto. La x representa el sistema de tiempo de ejecucin respectivo. Para que el proyecto de
arranque se cargue automticamente al reiniciar el sistema de destino es necesario copiar
manualmente el archivo creado en el directorio correspondiente TwinCAT Boot.

'Online' 'Escribir archivo en mando'

Este comando sirve para cargar el archivo que se desee en el mando. Abre el dilogo 'Escribir
archivo en mando', en el que puede marcar el archivo deseado. Tras cerrar el dilogo mediante el
botn 'Abrir' se carga el archivo en el mando y all se almacena con el mismo nombre. La carga va
acompaada de una visualizacin de progresos.

Con el comando 'Online' 'Cargar archivo de mando' puede volver a cargar un archivo
almacenado en el mando.

'En lnea' 'Cargar archivo desde PLC''Online' 'Cargar archivo desde mando'

Con este comando puede volver a cargar un archivo almacenado en el mando con el comando
'Online' 'Escribir archivo en mando'. Se abrir el dilogo 'Cargar archivo de mando'. Indique en
Nombre de archivo el nombre del archivo deseado y seleccione el directorio de destino en el que
se deba cargar (Guardar en), en cuanto el dilogo se cierra con el botn 'Guardar'.

Las siguientes entradas de men slo existen si la plataforma de mando (el sistema de
destino) es un BCxxxx:

'Online' 'Acoplador'

Aqu se ofrecen comandos especiales.

Reset bus de bornes: Se efecta un reset en el bus de bornes.

Reset acoplador: El acoplador se reinicia.

Configuracin fabricante: Se restablece el estado de entrega del acoplador (se borra el proyecto
de arranque); a continuacin, es necesario reiniciar el acoplador con un Reset acoplador.

Iniciar medicin de ciclo: Se inicia la medicin de ciclo en el acoplador.

Detener medicin de ciclo: La medicin de ciclo en el acoplador se detiene.


Leer medicin de ciclo: Se leen el tiempo de ciclo mnimo (desde el inicio de la medicin), el
tiempo de ciclo mximo, el tiempo de ciclo medio (medido en los ltimos 200 ciclos) y el tiempo de
ciclo actual, as como el nmero de ciclos PLC.

Fijar tiempo de ciclo: Aqu se ajustan el tiempo de ciclo nominal y el tiempo de procesamiento en
segundo plano. Si el tiempo de ciclo real es superior al tiempo de ciclo nominal, el siguiente ciclo
llega con el correspondiente retraso (entonces ya no existe un ciclo constante). Generalmente, el
tiempo de ciclo nominal se debera calcular como sigue: 1.25 * tiempo de ciclo medio (de la
medicin), tiempo de procesamiento en segundo plano: 0,25 * tiempo de ciclo medio. Los tiempos
se pueden ajustar tan slo con una precisin de 1 ms

TwinCAT PLC Control: Componentes

Ventana

En el men 'Ventana' se encuentran todos los comandos para la administracin de ventanas, que
sirven tanto para la organizacin automtica de las ventanas, como para abrir el administrador de
libreras y conmutar entre las distintas ventanas abiertas. Al final del men se encuentra una lista
de todas las ventanas abiertas por orden de apertura. Al hacer clic con el ratn en la
correspondiente entrada, se cambia a la ventana que desee. Delante de la ventana activa, aparece
un smbolo de correccin.

'Ventana' 'Mosaico vertical'

Con este comando, todas las ventanas del rea de trabajo se disponen en mosaico en posicin
vertical, de modo que no se solapan y abarcan todo el rea de trabajo.
'Ventana' 'Mosaico horizontal'

Con este comando, todas las ventanas del rea de trabajo se disponen en mosaico en posicin
horizontal, de modo que no se solapan y abarcan todo el rea de trabajo.

'Ventana' 'Cascada'

Con este comando, todas las ventanas del rea de trabajo se disponen en cascada.

'Ventana' 'Organizar iconos'

Con este comando, todas las ventanas del rea de trabajo minimizadas se disponen en fila en el
extremo inferior del rea de trabajo.

'Ventana' 'Cerrar todo'

Con este comando, se cierran todas las ventanas abiertas del rea de trabajo.

Ventana' 'Mensajes'. Acceso directo: <Mays>+<Esc>

Con este comando, se abre o se cierra la ventana de mensajes que contiene los mensajes del
ltimo proceso de compilacin, verificacin o comparacin. Si la ventana de mensajes est abierta,
aparece un smbolo de correccin delante del comando de men.

TwinCAT PLC Control: Componentes

Sistema de ayuda

En caso de que surja algn problema durante el uso de TwinCAT PLC Control, puede disponer de
la Ayuda en lnea, donde encontrar toda la informacin contenida en este manual. La ayuda
refiere directamente sobre el Beckhoff Information System. El Beckhoff Information System el
pedazo deber ser instale.

TwinCAT PLC Control


Registro

El registro guarda, en secuencia cronolgica, las acciones que se producen durante una sesin
online. Para ello se crea para cada proyecto un archivo de registro binario (*.log). El usuario puede
guardar las apariciones del correspondiente registro del proyecto en un registro externo.

La ventana del registro se puede abrir en modo online y offline, y de este modo puede servir
tambin como monitoreo directo.

'Ventana' 'Registro'

Para abrir seleccione el punto de men 'Ventana''Registro'.

Sobre la ventana de protocolo, detrs Registro: aparece el nombre de archivo del registro
visualizado en ese momento. Si se trata del registro del proyecto actual, se visualiza "(Interno)".

En la ventana de protocolo se visualizan las entradas protocolizadas. La entrada ms nueva se


aade abajo.

Slo se representan acciones de las categoras que se activan en el men 'Proyecto' 'Opciones'
'Registro' en el rea 'Filtro'!
Debajo de la ventana de protocolo se visualiza la informacin disponible en la entrada seleccionada
en la ventana:

Categora: La categora de la entrada individual de registro. Son posibles las cuatro categoras
siguientes:

Accin de usuario: El usuario ha ejecutado una accin online (normalmente del men
online).

Accin interna: Se ha ejecutado una accin interna en la capa online (p.ej. Delete Buffers
o Init Debugging)

Modificacin de status: El status del sistema de tiempo de ejecucin ha cambiado (p.ej.


de Running a Break, si se ha arrancado un Breakpoint)

Exception: Ha aparecido una excepcin, p.ej. un error de comunicacin

Descripcin: La clase de accin. Las acciones de usuario tienen el mismo nombre que sus
comandos de men, y el resto de acciones se indican en ingls y se denominan igual que la
correspondiente funcin OnlineXXX().

Informacin: Este campo contiene una descripcin de un error aparecido probablemente durante
la accin. El campo est vaco si no ha aparecido ningn error.

Hora del sistema: La hora actual del sistema en el inicio de la accin, con precisin de segundos.
Tiempo relativo: El tiempo relativo respecto al inicio de la sesin online; con precisin de
milisegundos.
Duracin: La duracin de la accin en milisegundos.

Carga...
Mediante el dilogo estndar para abrir una archivo se puede cargar y visualizar un archivo de
registro externo *.log. El comando no sobrescribe el registro existente en el proyecto. Si la ventana
del registro se cierra y se vuelve a abrir o se vuelve a iniciar una nueva sesin online, de forma que
se sustituye la versin cargada de nuevo mediante el registro del proyecto.

Guardar
Este punto de men slo se puede seleccionar si actualmente se est visualizando el registro del
proyecto. Permite guardar un extracto del registro del proyecto en un archivo externo. Para ello se
muestra el dilogo siguiente, en el que se pueden seleccionar las sesiones online a guardar.
Visualizar registro de proyecto
Este comando slo se puede seleccionar si acutalmente se est visualizando un registro externo.
Vuelve a conmutar la representacin al registro del proyecto.

Almacenamiento del registro de proyecto

Independientemente de un posible almacenamiento del registro en un archivo externo (ver ms


arriba) el registro del proyecto se guarda automticamente en un archivo binario <nombre de
proyecto>.log. Si en el dilogo 'Proyecto' 'Opciones' 'Registro' no se indica otra ruta de forma
explcita, el almacenamiento se realiza en el mismo directorio en el que se guarda el proyecto.

La cantidad mxima de sesiones online a guardar se puede configurar en el dilogo 'Proyecto'


'Opciones' 'Registro'. Si este nmero se supera durante la grabcin actual, la sesin ms antigua
se borra del bfer de la la grabcin en beneficio de la nueva.

TwinCAT PLC Control: Editores

Descripcin general

Todos los editores para mdulos se componen de una parte de declaracin y una parte de
programa. Se separan mediante una divisin de pantalla que se puede desplazar segn se
requiera haciendo clic con el ratn y manteniendo pulsada la tecla movindolo hacia arriba o hacia
abajo. El tronco puede estar formado por un editor de texto o de grfico, la parte de declaracin
siempre es un editor de texto.

Lmites de impresin
Los lmits verticales y horizontales de la pgina que son tiles al imprimir el contenido del editor son
visibles mediante lnas en rojo si se ha seleccionado la opcin 'Visualizar rea de impresin' en
las opciones del proyecto en el dilogo 'rea de trabajo'. Para ello son vlidas las
especificaciones de la impresora instalada as como el tamao del diseo de impresin
seleccionado en el men 'Archivo' 'Configuracin documentacin'. Si no se ha instalado
ninguna impresora o ningn diseo de impresin, se parte de una configuracin por defecto
(Default.DFR e impresora estndar). Los lmites de impresin horizontales se identifican como si se
hubiera seleccionado la opcin 'Nueva pgina por objeto' o 'Nueva pgina por subobjeto' en
'Configuracin documentacin'. El lmite inferior no se visualiza.

Nota:

Slo se garantiza una visualizacin exacta de los lmites del rea de impresin si se utiliza un zoom
del 100%.

Comentario

Los comentarios del usuario se tienen que incluir en las cadenas de caracteres especiales "(*" y
"*)". Ejemplo: (*Esto es un comentario.*)
Los comentarios se permiten en todos los editores de texto y en cualquier posicin, es decir, en
todas las declaraciones, los lenguajes IL y ST y en los tipos de datos de definicin propia. Si el
proyecto se imprime utilizando una plantilla, en las partes de programa basadas en texto aparece
el comentario introducido en la declaracin de variables detrs de la variable.

En los editores grficos FBD y LD se pueden introducir comentarios para cada red. Para este fin,
seleccione la red que en la que desee incluir comentarios y active 'Insertar' 'Comentario'. En CFC
hay mdulos de comentarios especiales que se pueden colocar donde se desee.

En SFC, puede introducir comentarios de paso en el dilogo para la edicin de atributos de paso.

Tambin se permiten comentarios dentro de otros, si se ha activado la opcin correspondiente


en el dilogo 'Proyecto' 'Opciones' 'Opciones de compilacin'. Si deja el puntero del ratn en el
modo online durante un momento sobre una variable, se muestra el tipo y en su caso la direccin y
el comentario de la variable en una informacin sobre herramientas.

TwinCAT PLC Control: Editores

Editor de declaraciones
Los editores de declaraciones se utilizan para la declaracin de variables de Mdulos y variables
globales, para la declaracin de tipos de datos, as como en el Visor de Variables y Frmulas.

Dispone de funcionalidades de Windows y tambin se puede utilizar el IntelliMouse si se ha


instalado el controlador correspondiente.

En el modo de sobrescritura en la barra de estado se visualiza 'SOB' en color negro, se puede


cambiar del modo de insercin al de sustitucin con la tecla <Insertar>.

Syntax Coloring admite la declaracin de variable. Los principales comandos se encuentran en el


men de contexto (botn derecho del ratn.

Parte de declaracin

En la parte de declaracin de un Mdulo, se declaran todas las variables que se utilizan


nicamente en ese Mdulo. Las variables pueden ser de entrada, de salida, de entrada y salida,
locales, remanentes y constantes. La sintaxis de declaracin est basada en la norma IEC61131-3.
Ejemplo de una declaracin de variable correcta en el editor de TwinCAT PLC Control:

Editor de declaraciones

Variables de entrada
Entre las palabras clave VAR_INPUT y END_VAR se declaran todas las variables que sirven como
variables de entrada de un Mdulo; es decir, en el punto de llamada, se puede indicar el valor de la
variable en el momento de la llamada.

Ejemplo:

VAR_INPUT
in1:INT; (* 1. variable de entrada*)
END_VAR

Variables de salida

Entre las palabras clave VAR_OUTPUT y END_VAR se declaran todas las variables que sirven
como variables de salida de un Mdulo; es decir, estos valores se devuelven al Mdulo que realiza
la llamada, donde podrn consultarse y reutilizarse.

Ejemplo:

VAR_OUTPUT
out1:INT; (* 1. variable de salida*)
END_VAR

Variables de entrada / salida

Entre las palabras clave VAR_IN_OUT y END_VAR se declaran todas las variables que sirven
como variables de entrada y de salida de un Mdulo.

Advertencia: En estas variables se modifica directamente el valor de la variable que se transmite


("transmisin como pointer"). Por esta razn, el valor de entrada para este tipo de variable no
puede ser una constante.
Por esta razn, el valor de entrada para este tipo de variable no puede ser una constante. Por ello
las variables VAR_IN_OUT de un bloque de funciones no se puede leer o escribir directamente
desde fuera mediante <instancia de bloqueo de funciones>.<variable de entrada/salida>

Ejemplo:

VAR_IN_OUT
inout1:INT; (* 1. variable de entrada / salida *)
END_VAR
Variables locales

Entre las palabras clave VAR y END_VAR se declaran todas las variables locales de un Mdulo.
Dichas variables no tienen ninguna conexin con el exterior, lo que significa que no se puede
acceder a ellas desde el exterior.

Ejemplo:

VAR
loc1:INT; (* 1. variable local*)
END_VAR

Variables remanentes

Las variables remanentes se marcan con la palabra clave RETAIN. Al detener TwinCAT, todas las
variables remanentes se guardan en un archivo en el disco duro. Al arrancar TwinCAT, se lee este
archivo y se preinicializan las variables remanentes con su valor antiguo. Un ejemplo de aplicacin
sera un contador de horas de servicio que tiene que seguir contando despus de un fallo del
suministro elctrico. Todas las variables no remanentes se reinicializan, bien sea con sus propios
valores inicializados, o con las inicializaciones estndar.

Ejemplo:

VAR RETAIN
rem1:INT; (* Variable remanente*)
END_VAR

Variables persistentes

Adems de las variables remanentes especificadas con RETAIN, existe otra clase de variables
remanentes. Estas variables se guardan con la ruta de instancia y el nombre de smbolo y, para
ello, la generacin de smbolos ha de estar seleccionada. Mientras que las variables guardadas
con RETAIN no siguen disponibles despus de ejecutar "Rebuild all" del programa de MPA y de
volver a arrancar sin salir, las variables persistentes se conservan. En caso de restablecer (Reset)
MPA, se reinicializan tambin las variables RETAIN; las variables persistentes, en cambio, slo se
pueden inicializar con un borrado completo. Al detener el sistema TwinCAT, las variables
persistentes se guardan en un archivo y se vuelven a preinicializar al arrancar de nuevo con los
valores almacenados.

Ejemplo:

VAR PERSISTENT
Rem2:INT; (* Variable persistente*)
END_VAR

Advertencia: Para la comprobacin de la correccin de las variables PERSISTENT y RETAIN, en


la estructura SYSTEMINFO de las variables del sistema existe un byte, bootDataFlags. Este byte
muestra el estado una vez cargados los datos de arranque. Los cuatro bits superiores indican el
estado de los datos persistentes; los cuatro bits inferiores muestran el estado de los datos retain.
Para poder utilizar esta informacin, se ha de utilizar la librera "TcSystem.lib".

Nmero
bit Descripcin

0 Variables RETAIN: LOADED (cargada sin error)

1 Variables RETAIN: INVALID (se carg la copia de seguridad, ya que no


estaba disponible ningn archivo vlido)

2 Variables RETAIN: REQUESTED (las variables RETAIN han de ser


cargadas, configuracin en TwinCAT System Control)

3 reservado

4 Variables PERSISTENT: LOADED (cargada sin error)

5 Variables PERSISTENT: INVALID (se carg la copia de seguridad, ya


que no estaba disponible ningn archivo vlido)

6 reservado
7 reservado

Al salir (Stop) de TwinCAT, los datos PERSISTENT y RETAIN se escriben sobre dos archivos en el
disco duro. La ruta se puede introducir en TwinCAT System Control a travs de Propiedades del
Sistema de TwinCAT (ficha PLC). La configuracin estndar es "<Unidad>:\TwinCAT\Boot". Todos
los archivos tienen un nombre fijo y una extensin fija:

Nombre de
archivo Descripcin

TCPLC_P_x.wbp Proyecto de arranque (x = nmero del sistema de tiempo de


ejecucin)

TCPLC_R_x.wbp Variables RETAIN (x = nmero del sistema de tiempo de


ejecucin)

TCPLC_T_x.wbp Variables PERSISTENT (x = nmero del sistema de tiempo de


ejecucin)

TCPLC_R_x.wb~ Copia de seguridad de las variables RETAIN (x = nmero del


sistema de tiempo de ejecucin)

TCPLC_T_x.wb~ Copia de seguridad de las variables PERSISTENT (x = nmero


del sistema de tiempo de ejecucin)

Si al salir de TwinCAT no se puede escribir el archivo de las variables persistentes o retain, como
opcin estndar se carga el archivo de seguridad. En el PLC, en bootDataFlags, se establece el bit
1 (para las variables RETAIN) o el bit 5 (para las variables PERSISTENT).

Si el archivo de seguridad no ha de ser utilizado en ningn caso, en el registro NT se ha de realizar


una configuracin. En este caso, con el editor del registro, en
[HKEY_LOCAL_MACHINE\SOFTWARE\Beckhoff\TwinCAT\Plc]
"ClearInvalidRetainData"=dword:00000000
"ClearInvalidPersistentData"=dword:00000000

se ha de estalecer el valor de "ClearInvalidRetainData" en 1 o de "ClearInvalidPersistentData" en 1.


La configuracin por defecto es 0.

Constantes, Typed Literals

Las constantes se marcan con la palabra clave CONSTANT y se pueden declarar como locales o
globales.

Sintaxis:

VAR CONSTANT
<Identifier>:<Type> := <initialization>;
END_VAR

Ejemplo:

VAR CONSTANT
con1:INT:=12; (* 1. constante*)
END_VAR

En el Apndice encontrar una lista de posibles constantes. Tambin puede consultar la posibilidad
de utilizar constantes tipadas (Typed Literals).

Variables externas

Con la palabra clave EXTERNAL se identifican variables globales que se deben importar en el
mdulo. Aparecen en el modo online, en la ventana watch de la parte de declaracin.

Si la declaracin VAR_EXTERNAL no coincide con la declaracin global, as que se edita el


siguiente mensaje de error: "La declaracin de '<var>' no coincide con la declaracin!"

Si no existe la variable global, se emite el siguiente mensaje de error: "Variable global desconocida:
'<var>'!"

Ejemplo:
VAR EXTERNAL
var_ext1:INT:=12; (* 1. externe Variable *)
END_VAR

Palabras clave

En todos los editores, las palabras clave se escriben en maysculas y deben utilizarse como
nombres de variable.

Declaracin de variables

Una declaracin de variable tiene la siguiente Sintaxis:

<Identifier> {AT <Address>}:<Type> {:= <initialization>};

Las partes entre llaves {} son opcionales. Respecto del identificador de variables, ha de tenerse en
cuenta que stas no deben contener espacios ni vocales modificadas, no se deben declarar
doblemente y no deben ser idnticas a las palabras clave. En las variables no se tienen en cuenta
las maysculas y minsculas; es decir que VAR1, Var1 y var1 no son variables distintas. Los
guiones bajos del identificador son significativos; por ejemplo, "A_BCD" y "AB_CD" se interpretan
como identificadores diferentes. No se admite el uso de varios guiones bajos seguidos al principio o
dentro de un identificador. Los primeros 32 caracteres son significativos. Todas las declaraciones
de variables y elementos de tipos de datos pueden contener inicializaciones, que se crean con el
operador de asignacin " := ". Para variables de tipos elementales, estas inicializaciones son
constantes. La inicializacin por defecto de todas las declaraciones es 0.

Ejemplo:

var1:INT:=12; (* Variable ntegra con valor inicial 12*)

Si quiere vincular una variable directamente con una determinada direccin, tiene que declararla
con la palabra clave AT. Para agilizar la introduccin de declaraciones, utilice el modo de acceso
directo. En los Bloques de Funciones, las variables se pueden especificar tambin con indicaciones
de direccin incompletas. Para utilizar este tipo de variables en una instancia local, se necesita
realizar una entrada en la configuracin de variables.

AT Declaracion
Si quiere vincular una variable directamente con una determinada direccin, tiene que declararla
con la palabra clave AT. La ventaja de este procedimiento radica en que se puede asignar un
nombre ms informativo a una direccin y en que una eventual modificacin de una seal de
entrada o de salida slo ha de realizarse en un punto (en la declaracin). Tenga en cuenta que no
es posible ningn acceso de escritura a variables aplicadas a una entrada. Como limitacin
adicional, se establece que las declaraciones AT slo pueden realizarse para variables locales y
globales, no para variables de entrada y de salida de mdulos.

Ejemplo:

counter_heat7 AT %QX0.0: BOOL;


lightcabinetimpulse AT %IX7.2: BOOL;
downoad AT %MX2.2: BOOL;

Con este comando, se abre una lista de todas las palabras clave que se pueden utilizar en la parte
de declaracin de un Mdulo. Una vez que se haya seleccionado una palabra clave y confirmado la
seleccin, la palabra se inserta en la posicin actual del cursor. La lista tambin se obtiene
llamando a la ayuda de entrada y seleccionando la categora Declaraciones.
Con este comando, se obtiene una seleccin de los posibles tipos para una declaracin de
variable. La lista tambin se obtiene llamando a la ayuda de entrada.

Los tipos se dividen en las categoras:

tipos estndar BOOL, BYTE, etc.

tipos definidos: estructuras, tipos de enumeracin, etc.

Bloques de Funciones estndar para declaraciones de instancias

Bloques de Funciones definidos para declaraciones de instancias

TwinCAT PLC Control admite todos los tipos estndar de la norma IEC1131-3. En el Apndice
encontrar ejemplos para el uso de los distintos tipos.
En los editores de texto y en el editor de declaraciones, dispone de soporte visual para la
implementacin y declaracin de variables. Los errores se evitan o se detectan con rapidez porque
el texto se representa en color. Un comentario sin cerrar que suprime instrucciones se detecta
inmediatamente, las palabras clave no pueden escribirse accidentalmente de forma incorrecta, etc.
Se aplica la siguiente asignacin de colores:

Azul Palabras clave

Verde Comentarios

Rosa Valores de Bool (TRUE/FALSE)

Rojo Entradas errneas (por ejemplo, constante de tiempo no


vlida, palabra clave en minsculas, etc.)

Negro Variables, constantes, operadores de asignacin, etc.

Modo de acceso directo

El editor de declaraciones de TwinCAT PLC Control ofrece la posibilidad del modo de acceso
directo. ste se activa terminando una lnea con <Ctrl><Intro>. Se admiten las siguientes formas
abreviadas: todos los identificadores, con excepcin del ltimo de una lnea, se convierten en
identificadores de variables de la declaracin. El tipo de declaracin queda determinado por el
ltimo identificador de la lnea; para este fin, se aplica lo siguiente:

B o BOOL produce BOOL

I o INT produce BOOL

R o REAL produce REAL

S o STRING produce STRING

Si con estas reglas no se ha podido establecer ningn tipo, el tipo es BOOL y el ltimo identificador
no se utiliza como tipo (ejemplo 1.). Cada constante se convierte, segn el tipo de la declaracin,
en inicializacin o longitud de cadena (ejemplos 2.y 3.). Una direccin (como en %MD12) se ampla
con el atributo AT ... (ejemplo 4.). Un texto despus de un punto y coma (;) se convierte en
comentario (ejemplo 4.). Todos los dems caracteres en la lnea se ignoran (como, por ejemplo, el
punto de exclamacin del ejemplo 5.).

Ejemplo:

Acceso directo Declaracin

A A: BOOL;

ABI2 A, B: INT := 2;

TE S 2; Una cadena TE: STRING(2); (* Una cadena *)

X %MD12 R 5; Nmero real X AT %MD12: REAL := 5.0;(* Nmero real *)

B! B: BOOL;

Declarar automticamente

Si se ha seleccionado la opcin 'Declarar automticamente', en todos los editores donde se ha


introducido una variable todava sin declarar, aparece un dilogo con cuya ayuda se puede declarar
la variable en cuestin.

Dilogo para la declaracin de variable

Con la ayuda del cuadro de combinacin Clase, establezca si se trata de una variable local (VAR),
una variable de entrada (VAR_INPUT), una variable de salida (VAR_OUTPUT), una variable de
entrada / salida (VAR_IN_OUT) o una variable global (VAR_GLOBAL). Con las opciones
CONSTANT y RETAIN puede definir si se trata de una constante o de una variable remanente. El
campo Nombre contiene, por defecto, el nombre de variable introducido en el editor, y el campo
Tipo contiene BOOL. Con el botn ...se accede al dilogo de la ayuda de entrada para la seleccin
de todos los tipos posibles. En el campo Valor inicial puede asignar un valor a la variable; de lo
contrario, se utiliza el valor inicial estndar. Mediante el campo Direccin, puede vincular una
variable a la direccin (declaracin AT). En este caso, introduzca un comentario. Si pulsa Aceptar,
la variable se introducir en el correspondiente editor de declaraciones.

Nmeros de lnea en el editor de declaraciones

Al hacer clic en un nmero de lnea en el modo Offline, se selecciona toda la lnea de texto. En el
modo Online, al hacer clic en un determinado nmero de lnea se abre o se cierra la variable de
dicha lnea, si se trata de una variable estructurada.

Declaraciones como tabla

Si la opcin Declaraciones est ajustada como tabla en el dilogo de opciones de la categora


Editor, el editor de declaraciones aparece en forma de tabla. Como si de un fichero se tratara,
puede seleccionar individualmente las fichas de cada clase de variable y editar las variables. A fin
de efectuar entradas, se ofrecen los siguientes campos para cada variable:

Nombre Introduzca el identificador de la variable.

Tipo En este caso, introduzca la direccin de la variable


(declaracin AT)

Inicial Introduzca el tipo de variable (al generar instancias de un


Bloque de Funciones, el Bloque de Funciones)

Comentario Introduzca aqu un comentario.

Es posible conmutar entre los dos tipos de representacin del editor de declaraciones. En el modo
Online no existen diferencias de representacin del editor de declaraciones.
Editor de declaraciones como tabla

'Insertar' 'Nueva declaracin'

Con este comando se introduce una nueva variable en la tabla de declaraciones del editor de
declaraciones. Si la posicin actual del cursor se encuentra en un campo de la tabla, la nueva
variable se inserta antes de esta lnea; de lo contrario, se aade al final de la tabla. Adems, puede
anexar una nueva declaracin al final de la tabla y, para ello, basta activar el ltimo campo de la
tabla con la flecha de direccin derecha o la tecla del tabulador . Se obtiene una variable que, por
defecto, muestra 'Nombre' en el campo Nombre y 'Bool' en el campo Tipo. Estos valores debern
sustituirse por los valores que desee. El nombre y el tipo son suficientes para una declaracin de
variable completa.

Pragmas for Controlling the Display of Library Declaration Parts

During creation of a library in TwinCAT PLC you can define via pragmas which parts of the
declaration window should be visible resp. not visible in the Library Manager later when the library
will be included in a project. The display of the implementation part of the library will not be affected
by that. Thus comments or any variables declarations can be concealed from the user. The
pragmas {library private} and {library public} each affect the rest of the same line resp. the
subsequent lines, as long as they are not overwritten by the each other one.

Syntax:

{library public} The subsequent test will be displayed in the Library Manager.
{library private} :The subsequent test will be not displayed.

Example: See below the declaration part of a library, which is created in TwinCAT PLC. The
comment "(* this is for all *)" should be displayed in the Library Manager after having included the
library in a project., the comment "(* but this is not for all ")" however should not be displayed. The
variables local and in3 also should not be displayed:

{library public}

(*this is for all*)

{library private}

(*this is not for all*)

{library public}

FUNCTION afun : BOOL

VAR_INPUT

in : BOOL;

END_VAR

{library private}

VAR

local : BOOL;

END_VAR

{library public}

VAR_INPUT

in2 : BOOL;

{library private}

in3 : BOOL;

{library public}

END_VAR
Editores de declaraciones en el modo Online

En el modo Online, el editor de declaraciones se convierte en ventana de monitor. Cada lnea


contiene una variable seguida de un signo de igualdad (=) y del valor de la variable. Si la variable
no est definida en este momento, aparecen tres interrogantes (???). Delante de cada variable de
varios elementos aparece un signo Ms. Al pulsar la tecla <Intro> o hacer doble clic en este tipo de
variable, sta se despliega; en el ejemplo se muestra la estructura Ampel1 desplegada.

Cuando se depliega una variable, sus componentes aparecen desplegados en una lista. Delante de
la variable aparece un signo Menos. Al hacer clic de nuevo o pulsar la tecla <Intro>, la variable se
cierra y vuelve a aparecer el signo Ms. Si se pulsa la tecla <Intro> o se hace doble clic en una
variable de un solo elemento, se abre el dilogo para escribir una variable, que permite modificar el
valor actual de la variable. Para las variables de Bool, no aparece ningn dilogo, sino que es
preciso teclearlas. El nuevo valor adquiere el color rojo y permanece inalterado. Si se ejecuta el
comando 'En lnea''Escribir valores', todas las variables se ajustan segn los valores seleccionados
y se vuelven a representar en color negro. Si se ejecuta el comando 'En lnea''Forzar valores',
todas las variables se ajustan segn los valores seleccionados hasta que se ejecute el comando
'Suprimir forzar'.

Comentario

Los comentarios del usuario se tienen que incluir en las secuencias de caracteres especiales "(*" y
"*)". Los comentarios se admiten en todos los editores de texto, que incluiran todas las
declaraciones, los lenguajes IL y ST y las declaraciones de datos de definicin propia, y en
cualquier punto de los mismos. En FBD y LD, se pueden introducir comentarios para cada red.
Para este fin, seleccione la red que en la que desee incluir comentarios y active 'Insertar'
'Comentario'. En SFC, puede introducir comentarios de paso en el dilogo para la edicin de
atributos de paso. No es posible incluir comentarios dentro de otros. Si mantiene el puntero del
ratn sobre una variable en el modo Online, el tipo y el comentario (si lo hubiera) se muestran en el
recuadro de ayuda emergente.

TwinCAT PLC Control: Editores


Editores de texto

Los editores de texto (el editor de listas de instrucciones y el editor para texto estructurado) de
TwinCAT PLC Control disponen de las funciones usuales de los editores de texto de Windows. La
implementacin en los editores de texto se realiza mediante Syntax Coloring.

Editores de texto para listas de instrucciones y texto estructurado

Los principales comandos se encuentran en el men de contexto (botn derecho del ratn o
<Ctrl>+<F10>. Los editores de texto utilizan de forma especial los siguientes comandos de men:

'Insertar' 'Operador'

Con este comando, todos los operadores disponibles se muestran en un dilogo en el lenguaje
actual. Si selecciona uno de los operadores y cierra la lista con Aceptar, el operador seleccionado
se insertar en la posicin actual del cursor.
'Insertar' 'Operando'

Con este comando, todas las variables se muestran en un dilogo. Puede elegir si desea ver una
lista de las variables globales, locales o del sistema. Si selecciona uno de los operandos y cierra el
dilogo con Aceptar, el operando seleccionado se insertar en la posicin actual del cursor.

'Insertar' 'Funcin'

Con este comando, todas las Funciones se muestran en un dilogo. Puede elegir si desea acceder
a una lista de las Funciones definidas por el usuario o de las Funciones estndar. Si selecciona una
de las Funciones y cierra el dilogo con Aceptar, la Funcin seleccionada se insertar en la
posicin actual del cursor. Si ha seleccionado la opcin Con argumentos en el dilogo, tambin se
insertarn las variables de entrada y de salida necesarias de la Funcin.

'Insertar' 'Bloque de Funciones'

Con este comando, todos los Bloques de Funciones se muestran en un dilogo. Puede elegir si
desea acceder a una lista de los Bloques de Funciones definidos por el usuario o de los Bloques de
Funciones estndar. Si selecciona uno de los Bloques de Funciones y cierra el dilogo con Aceptar,
el Bloque de Funciones seleccionado se insertar en la posicin actual del cursor. Si se ha
seleccionado la opcin Con argumentos en el dilogo, tambin se insertarn las variables de
entrada y de salida necesarias del Bloque de Funciones.

Llamada de mdulo con parmetros de salida

Los parmetros de salida de un mdulo llamado se pueden asignar directamente en la llamada en


los lenguajes textuales IL y ST.

Ejemplo: El parmetro de salida out1 de afbinst se asigna a la variable a.

AWL: CAL afbinst(in1:=1, out1=>a)


ST: afbinst(in1:=1, out1=>a);

Los editores de texto en el modo Online

Las funciones en lnea de los editores son: Establecer breakpoint y Procesamiento de pasos nicos
(paso a paso). Junto con la monitorizacin, el usuario dispondr de la funcionalidad de Debug de
un moderno Debugger de lenguaje superior de Windows. En el modo Online, la ventana del editor
de texto se divide verticalmente en dos. En el lado izquierdo de la ventana, se encuentra el texto de
programa normal y en el lado derecho, se representan las variables cuyos valores se modifican en
la correspondiente lnea. La representacin es la misma que en la parte de declaracin. Es decir
que, durante el funcionamiento del PLC , se representan los valores momentneos de la variable
en cuestin. Los valores estructurados (arrays, estructuras o instancias de Bloques de Funciones)
estn marcados con un signo Ms delante del identificador. Al hacer clic con el ratn en el signo
Ms o al pulsar la tecla <Entrar> se abre o se cierra la variable.

Al monitorizar expresiones o variables con adjucicacin de direcciones de bit se debe tener en


cuenta lo siguiente: En las expresiones siempre se visualiza el valor de la expresin total.

Ejemplo: a AND b se visualiza en azul o con ":=TRUE" si a y b son TRUE). En las variables con
adjudicacin de direcciones de bit siempre se monitoriza el valor de bit al que se accede (por
ejemplo, a.3 se muestra en azul o con :=TRUE, si a tiene el valor 4).

Si mantiene el puntero del ratn durante un breve espacio de tiempo sobre una variable, el tipo y el
comentario de la variable se muestran en un recuadro de ayuda emergente.

'Herramientas' 'Opciones monitorizacin'

Con este comando puede configurar su ventana de monitorizacin. En los editores de texto, dicha
ventana se divide en la mitad izquierda, donde se encuentra el programa, y en la mitad derecha,
donde se realiza la monitorizacin de todas las variables contenidas en la correspondiente lnea del
programa. Es posible ajustar el ancho que tendr el rea de monitorizacin en la ventana de texto y
la distancia entre dos variables de monitorizacin incluidas en una lnea. La indicacin de distancia
1 corresponde a una altura de lnea en la fuente elegida.

Dilogo de opciones de monitorizacin

Posiciones de breakpoint

Dado que en el nivel interno de TwinCAT PLC Control se renen varias lneas de lenguaje IL en
una lnea de cdigo C, no se pueden establecer breakpoints en cada lnea. Las posiciones de
breakpoint son todos los puntos del programa donde se pueden modificar valores de variable o en
los que se bifurca el flujo del programa (excepcin: llamadas a Funciones. En este caso, puede ser
necesario establecer un breakpoint en la Funcin). Tampoco conviene insertar breakpoints en las
posiciones intermedias, ya que los datos anteriores al breakpoint no se han podido modificar. De
este modo, se obtienen las siguientes posiciones de breakpoint en IL:

Al principio del Mdulo

En cada LD, LDN (o en cada marca situada directamente despus de LD)

En cada marca de JMP, JMPC, JMPCN

En cada CAL, CALC, CALCN

En cada RET, RETC, RETCN

Al final del Mdulo

Para texto estructurado se obtienen las siguientes posiciones de breakpoint:

En cada asignacin

En cada instruccin RETURN y EXIT

En las lneas donde de evalan condiciones (WHILE, IF, REPEAT)

Al final del Mdulo

Las posiciones de breakpoint se caracterizan porque el campo del nmero de lnea se representa
en un color gris ms oscuro.
Editor de lenguaje IL con posibles posiciones de breakpoint (campos de nmero ms oscuros)

Cmo se fija un breakpoint?

Para establecer un breakpoint, el usuario deber hacer clic con el ratn en el campo de nmero de
la lnea en la que desea establecer el breakpoint. Si el campo seleccionado es una posicin de
breakpoint, el color del campo del nmero de lnea cambia de gris oscuro a azul claro y el
breakpoint se activa en el PLC.

Borrar breakpoints

Por consiguiente, para borrar un breakpoint, ser preciso hacer clic en el campo de nmero de la
lnea que contiene el breakpoint que se va a borrar. El establecimiento y la eliminacin de
breakpoints tambin se pueden seleccionar con el men ('en lnea' 'Breakpoint ON/OFF'), la tecla
de funcin <F9> o el smbolo en la barra de funciones.

Qu ocurre en un breakpoint?

Cuando se alcanza un breakpoint en el PLC, aparece en pantalla el sector con la correspondiente


lnea. El campo de nmero de la lnea del PLC aparece de color rojo. En el PLC, la ejecucin del
programa de usuario est detenida. Cuando el programa se encuentra en un breakpoint, la
ejecucin se puede reanudar con 'En lnea' 'Inicio'. Asimismo, tanto 'En lnea' 'Paso nico sobre',
como 'Paso nico en' slo permiten avanzar hasta la prxima posicin de breakpoint. Si la
instruccin donde se sita el cursor es un comando CAL o si en las lneas hay incluida una llamada
a funciones antes de la siguiente posicin de breakpoint, sta se salta con 'Paso nico sobre'; Si se
utiliza 'Paso nico en', se bifurca al Mdulo llamado.

Nmeros de lnea del editor de texto

Los nmeros de lnea del editor de texto indican el nmero de cada lnea de texto de la
implementacin de un Mdulo. En el modo Offline, basta hacer clic en un nmero de lnea para
marcar toda la lnea de texto. En el modo Online, el color de fondo del nmero de lnea indica el
estado de breakpoint de cada lnea:

gris oscuro: esta lnea constituye una posible posicin de breakpoint.

azul claro: en esta lnea se ha establecido un breakpoint.

rojo: la ejecucin del programa se encuentra en este punto.

En el modo Online, basta hacer clic con el ratn para cambia el estado de breakpoint de dicha
lnea.

TwinCAT PLC Control: Editores

Editor de listas de instrucciones

A continuacin, se muestra un Mdulo escrito en lenguaje IL en el correspondiente editor de


TwinCAT PLC Control:
Editor de lenguaje IL

Todos los editores para Mdulos se componen de una parte de declaracin y una parte de
programa. Dichas partes estn separadas por una divisin de pantalla. El editor de listas de
instrucciones es un editor de texto que ofrece las funciones usuales de los editores de texto de
Windows. Los principales comandos se encuentran en el men de contexto (botn derecho del
ratn o <Ctrl>+<F10>.

Las llamadas multilnea de POU son tambin posibles.

Ejemplo:

CAL CTU_inst(
CU:=%IX10,
PV:=(
LD A
ADD 5
)
)

IL en el modo Online

Con el comando 'En lnea' 'Control secuencial', puede insertar en el lado izquierdo de cada lnea
del editor de lenguaje IL un campo adicional en el cual se representa el contenido del acumulador.
Para obtener informacin sobre el editor de IL en el modo Online, consulte Los editores de texto en
el modo Online.

TwinCAT PLC Control: Editores

Editor de texto estructurado

A continuacin, se muestra un Mdulo escrito en lenguaje ST en el correspondiente editor de


TwinCAT PLC Control:
Editor de texto estructurado

Todos los editores para Mdulos se componen de una parte de declaracin y una parte de
programa. Dichas partes estn separadas por una divisin de pantalla. El editor de texto
estructurado es un editor de texto que ofrece las funciones usuales de los editores de texto de
Windows. Los principales comandos se encuentran en el men de contexto (botn derecho del
ratn). Para obtener informacin sobre el lenguaje, consulte el captulo Texto estructurado (ST).

TwinCAT PLC Control: Editores

Editores de grficos

Los editores de los dos lenguajes para grficos SFC, LD y FBD y CFC tienen un gran nmero de
puntos en comn que se describen en los siguientes apartados.

Zoom

Los objetos tales como mdulos, acciones, transiciones, etc., en los lenguajes SFC, LD, FBD y
CFC se pueden aumentar y reducir con una funcin de zoom. Se abarcan todos los elementos del
contenido de la ventana de la parte de implementacin, y la parte de declaracin permanece sin
modificaciones.

En el sistema estndar se visualiza cada objeto con el nivel de zoom 100%. El nivel de zoom
configurado se guarda como propiedad del objeto en el proyecto.

La impresin de la documentacin del proyecto siempre se realiza con la representacin del 100%
!
El nivel del zoom se puede configurar mediante una lista de seleccin en la barra de herramientas.
Se pueden elegir valores entre 25% y 400%, se pueden introducir valores individuales entre 10% y
500% de forma manual.

La seleccin del zoom slo est disponible si el cursor se encuentra sobre un objeto creado en un
lenguaje grfico o en un objeto de visualizacin.

Las posiciones del cursor en los editores se pueden seleccionar tambin en el estado ampliado del
objeto y tambin con las teclas de direccin. El tamao del texto depende del factor de zoom y del
tamao de fuente seleccionado.
La ejecucin de todos los puntos de men para el manejo del editor (p.ej., insertar una casilla) de
acuerdo con la posicin del cursor se puede hacer con cualquier nivel de zoom.

En el modo online se visualiza cada objeto de acuerdo con el nivel de zoom configurado, las
funcionalidades en lnea estn completamente disponibles.
Utilizando el IntelliMouse se puede aumentar/reducir un objeto pulsando la tecla <CTRL> y girando
al mismo tiempo la rueda hacia delante/hacia atrs.

Red

En los editores LD y FBD el programa se ordena en una lista de redes. Cada red est identificada
en el lado izquierdo con un nmero de red correlativo y contiene una estructura que muestra una
expresin lgica o aritmtica, una llamada de programa, funcin o bloque de funcin, un salto o
una instruccin de Return.

Etiqueta

A cada red le corresponde una etiqueta que, si lo desea, puede estar vaca. Esta etiqueta se edita
haciendo clic en la primera lnea de la red junto al nmero de red. En este momento, se puede
introducir una etiqueta seguida de dos puntos.

Comentarios de red

A cada red se le puede asignar un comentario de varias lneas. Es posible introducir el nmero
mximo de lneas que estar disponible para un comentario de red en el campo Tamao mximo
del comentario (el valor por defecto es 4) de 'Herramientas' 'Opciones'. Tambin se puede
introducir el nmero de lneas que se dejarn libres de forma general para los comentarios (tamao
mnimo del comentario). Si se asigna el valor 2, por ejemplo, en cada principio de red despus de
la lnea de etiqueta habr dos lneas de comentario vacas. El valor por defecto en este caso es 0,
cuya ventaja radica en que el rea de pantalla podr contener un mayor nmero de redes. Para
introducir un comentario si el tamao mnimo del comentario es superior a 0, basta hacer clic en la
lnea de comentario e introducir el comentario. De lo contrario, tendr que seleccionar primero la
red para la que se introducir un comentario e insertar el comentario con 'Insertar' 'Comentario'. A
diferencia del texto de programa, los comentarios se representan de color gris.

'Insertar' 'Red (posterior)' o 'Insertar' 'Red (anterior)'. Acceso directo: <Mays>+<T> (Red
posterior)
Para insertar una nueva red en el editor de FBD o de LD, se selecciona el comando 'Insertar' 'Red
(posterior)' o 'Insertar' 'Red (anterior)', dependiendo de si la red nueva se insertar antes o despus
de la red actual. La red actual se modifica haciendo clic con el ratn en el nmero de red y dicha
accin se reconoce por el rectngulo de puntos que aparece debajo del nmero. Si pulsa la tecla
<Mays> y hace clic con el ratn, se selecciona todo el rea de redes existente entre la red actual
y la marcada con el ratn.

Los editores de red en el modo Online

En los editores de FBD y LD, los breakpoints slo se pueden colocar en redes. El campo del
nmero de red de una red donde se ha colocado un breakpoint se representa de color azul. De
este modo, el procesamiento se detiene antes de la red que contiene el breakpoint. En este caso,
el campo del nmero de red se representa de color rojo. En la ejecucin de pasos individuales
(paso a paso) se salta de una red a otra.

Al monitorizar expresiones o variables con adjucicacin de direcciones de bit se debe tener en


cuenta lo siguiente: En las expresiones, por ejemplo a AND b como condicin de transicin o
entrada de bloque de funciones, siempre se muestra el valor de toda la expresin (a AND b se
muestra en azul o con :=TRUE, si a y b son TRUE). En las variables con adjudicacin de
direcciones de bit siempre se monitoriza el valor de bit al que se accede (por ejemplo, a.3 se
muestra en azul o con :=TRUE, si a tiene el valor 4).

Todos los valores se monitorizan en las entradas y salidas de los mdulos de red.
El control del proceso se inicia con el comando de men 'En lnea' 'Control secuencial'. Con ste
puede consultar los valores actuales que se transportan en las redes por las lneas de conexin. Si
las lneas de conexin no suministran valores de Bool, el valor se indica en un cuadro
expresamente insertado para este fin.

Los campos de monitorizacin para las variables que no se utilizan (por ejemplo en la funcin SEL)
se muestran en gris.

Si las lneas transportan valores de Bool, adquirirn un color azul en caso de que transmitan TRUE.
De este modo, se puede seguir el flujo de informacin durante el ciclo de PLC.

Si mantiene el puntero del ratn sobre una variable durante un breve espacio tiempo, el tipo y el
comentario de la variable se muestran en un recuadro de ayuda emergente.

TwinCAT PLC Control: Editores


Editor de diagramas de bloques funcionales

A continuacin, se muestra un Mdulo escrito en lenguaje FBD en el correspondiente editor de


TwinCAT PLC Control:

Editor de diagramas de bloques funcionales

El editor de diagramas de bloques funcionales es un editor para grficos que trabaja con una lista
de redes, cada una de las cuales contiene una estructura que representa una expresin lgica o
aritmtica, la llamada a un Bloque de Funciones, una funcion, una programa un salto o una
instruccin Return. Los principales comandos se encuentran en el men de contexto (botn
derecho del ratn).
Posiciones del cursor en el lenguaje FBD

Cada texto constituye una posible posicin del cursor. El texto seleccionado aparece sobre fondo
azul y se puede modificar a continuacin. Por lo dems, la posicin actual del cursor est marcada
por un rectngulo de puntos. A continuacin, se enumeran todas las posiciones posibles del cursor
junto con un ejemplo:

1) Cada campo de texto (las posiciones del cursor posibles se incluyen en un recuadro de color
negro):

2) Cada entrada:

3) Cada operador, Funcin o Mdulo de Funciones:

4) Salidas, si van seguidas de una asignacin o un salto:

5) Cruce de lneas sobre una asignacin, un salto o una instruccin Return:

6) Detrs del ltimo objeto situado a la derecha de cada red ("ltima posicin del cursor"; sta es
tambin la posicin del cursor cuando se ha seleccionado una red):
7) Cruce de lneas inmediatamente anterior a una asignacin:

Posicionar el cursor

El cursor se puede colocar en una determinada posicin haciendo clic con el ratn o con la ayuda
del teclado. Con las flechas de direccin se salta a la posicin del cursor ms cercana en la
direccin elegida, de forma que es posible desplazarse a todas las posiciones del cursor,
incluyendo los campos de texto. Una vez seleccionada la ltima posicin del cursor, las teclas de
direccin <Arriba> o <Abajo> permiten seleccionar la ltima posicin del cursor de la red anterior o
posterior. Una red vaca contiene solamente tres signos de interrogacin "???". Al hacer clic detrs
de los mismos, se selecciona la ltima posicin del cursor.

'Insertar' 'Asignacin'. Acceso directo: <Ctrl>+<A>

Este comando permite insertar una asignacin. La insercin ser realizar, segn elija,
inmediatamente antes de la entrada seleccionada (posicin del cursor 2), directamente despus de
la salida seleccionada (posicin del cursor 4), inmediatamente antes del cruce de lneas
seleccionado (posicin del cursor 5) o al final de la red (posicin del cursor 6). A continuacin,
puede seleccionarse el texto introducido "???" para una asignacin insertada a fin de sustituirlo por
la variable a la que se asignar. Para ello, tambin puede utilizar la ayuda de entrada. Si desea
aadir una asignacin adicional a una asignacin existente, utilice el comando 'Insertar' 'Salida'.

'Insertar' 'Salto'. Acceso directo: <Ctrl>+<L>

Este comando permite insertar un salto. La insercin se realiza, segn elija, inmediatamente antes
de la entrada seleccionada (posicin del cursor 2), directamente despus de la salida seleccionada
(posicin del cursor 4), inmediatamente antes del cruce de lneas seleccionado (posicin del cursor
5) o al final de la red (posicin del cursor 6). A continuacin, puede seleccionarse el texto
introducido "???" para un salto insertado a fin de sustituirlo por la marca de salto a la que se
saltar.
'Insertar' 'Return'. Acceso directo: <Ctrl>+<R>

Este comando permite insertar una instruccin RETURN. La insercin se realiza, segn elija,
inmediatamente antes de la entrada seleccionada (posicin del cursor 2), directamente despus de
la salida seleccionada (posicin del cursor 4), inmediatamente antes del cruce de lneas
seleccionado (posicin del cursor 5) o al final de la red (posicin del cursor 6).

'Insertar' 'Mdulo' Acceso directo: <Ctrl>+<B>

Con esta comando se pueden insertar operadores, funciones, bloques de funcin y programas.
Primero siempre se inserta un operador "AND". Este operador se puede transformar seleccionando
y sobrescribiendo el texto de tipo ("AND") en cada operador, en cada funcin, en cada bloque de
funcin y en cada programa. Con la ayuda para entradas (<F2>) puede seleccionar el mdulo
deseado. Si el nuevo mdulo recin seleccionado tiene otra cantidad mnima de entradas, stas se
agregan. Si el nuevo mdulo tuviese una cantidad mxima de entradas muy pequea, las ltimas
entradas se borrarn.

En las funciones y bloques de funciones se muestran los nombres formales de las entradas y
salidas.

En los bloques de funciones existe un campo de instancia editable mediante la casilla. Si


modificando el texto de tipo se llama otro bloque de funciones que no es conocido, se muestra una
casilla de operador con dos entradas y el tipo indicado. Si se selecciona el campo de instancia, se
puede llamar mediante <F2> la ayuda para entradas con las categoras para la seleccin de
variables.

El nuevo mdulo se inserta dependiendo de la posicin seleccionada (ver posiciones del cursor):

Si se ha seleccionado una entrada (posicin del cursor 2), el mdolo se inserta antes de la
entrada. La primera entrada de este mdolo se conecta con el ramo situado a la izquierda
de la entrada seleccionada. La salida del nuevo mdolo se conecta con la entrada
seleccionada.

Si se ha seleccionado una salida (posicin del cursor 4), el mdolo se inserta despus de
la salida. La primera entrada del mdolo se conecta con la salida seleccionada. La salida
del nuevo mdolo se conecta con el ramo al cual estaba conectada la salida seleccionada.

Si se selecciona un mdulo, una funcin o un bloque de funciones (posicin de cursor 3), el


elemento antiguo se sustituye con el nuevo mdulo. Dentro de lo posible, los ramos se
conectan como antes de la sustitucin. Si el elemento antiguo tena ms entradas que el
nuevo, las ramas que no se pueden vincular se borran. Lo mismo se aplica para las
salidas.

Si se selecciona un salto o un Return, el mdulo se inserta antes de este salto o Return. La


primera entrada del mdulo se conecta con el ramo situado a la izquierda del elemento
seleccionado. La salida del mdulo se conecta con el ramo situado a la derecha del
elemento seleccionado.

Si se ha seleccionado la ltima posicin del cursor de una red (posicin del cursor 6), el
mdulo se inserta despus del ltimo elemento. La primera entrada del mdulo se conecta
con el ramo situado a la izquierda de la posicin seleccionada.

Todas las entradas del mdulo que no se han podido conectar reciben el texto "???". Este texto se
tiene que activar con el ratn y modificar a la constante o variable deseada.
Si a la derecha de un mdulo insertado hay un ramo, se asigna a la primera salida del mdulo. Por
lo dems, las salidas quedan vacas.

'Insertar' 'Entrada'. Acceso directo: <Ctrl>+<U>

Este comando permite inserta una entrada de operador. El nmero de entradas es variable en
muchos operadores (por ejemplo, ADD puede tener 2 o ms entradas). Para aumentar una entrada
en este tipo de operador, es preciso seleccionar la entrada delante de la que va a insertarse otra
(posicin del cursor 1) o el propio operador (posicin del cursor 3) si se va insertar una entrada
inferior. La entrada insertada contiene el texto "???", que ser necesario activar con el ratn y
sustituir por la constante o variable que desee. Para ello, tambin puede utilizar la ayuda de
entrada.

'Insertar' 'Salida'

Este comando permite aadir una asignacin adicional a una asignacin existente. Esta funcin
sirve para crear los llamados peines de asignacin, es decir, la asignacin a distintas variables del
valor que se encuentra actualmente en la lnea. Si el cruce de lneas est situado encima de una
asignacin (posicin del cursor 5) o est seleccionada la salida inmediatamente anterior (posicin
del cursor 4), se aade otra asignacin despus de las existentes. Si el cruce de lneas se
encuentra directamente delante de una asignacin (posicin del cursor 4), se inserta otra
asignacin delante de sta. La salida insertada contiene el texto "???", que ser necesario activar
haciendo clic sobre el mismo y reemplazar por la variable que desee. Para ello, tambin puede
utilizar la ayuda de entrada.

'Herramientas' 'Negacin'. Acceso directo: <Ctrl>+<N>

Con este comando puede negar entradas, salidas, saltos o instrucciones RETURN. El smbolo de
negacin se representa mediante un pequeo crculo en una conexin. Si se ha seleccionado una
entrada (posicin del cursor 2), sta se niega. Si se ha seleccionado una salida (posicin del cursor
4), tambin se negar. En caso de que se haya marcado un salto o un Return, se niega la entrada
de este salto o Return. Una negacin se puede borrar con una nueva negacin.

'Herramientas' 'Set/Reset' Smbolo:

Con este comando, las salidas se pueden definir como Set o Reset. Una compuerta con salida Set
se representa mediante [S] y una compuerta con salida Reset, mediante [R].

Salidas Set/Reset en lenguaje FBD

Una salida Set se ajusta con el valor TRUE cuando la correspondiente compuerta suministra
TRUE. La salida conserva este valor aunque la compuerta vuelva a tener el valor FALSE. Una
salida Reset se ajusta con el valor FALSE cuando la correspondiente compuerta suministra TRUE.
La salida conserva su valor aunque la compuerta vuelva a tener el valor FALSE. En caso de
ejecutar comando de forma repetida, la salida conmuta entre salida Set, Reset y normal.

'Herramientas' 'Zoom'. Acceso directo: <Alt>+<Intro>

Con este comando se carga un mdulo seleccionado en el editor (posicin del cursor 3). Si se trata
de un Mdulo de una librera, se activa el administrador de libreras para visualizarlo.

'Herramientas' 'Abrir instancia'


Este comando corresponde al comando 'Proyecto' 'Abrir instancia'.

Cortar, Copiar, Pegar y Borrar en FBD

Los comandos para 'Cortar', 'Copiar', 'Pegar' o 'Borrar' se encuentran en el men 'Edicin'. Si se ha
seleccionado un cruce de lneas (posicin del cursor 5), las asignaciones, los saltos o las
instrucciones RETURN situados debajo del mismo se cortan, se borran o se copian. Si se ha
seleccionado un operador, una Funcin o un Mdulo de Funciones (posicin del cursor 3), se
cortan, borran o copian el propio objeto seleccionado, as como todos los ramos existentes en las
entradas, con excepcin del primer ramo. De lo contrario, se corta, borra o copia todo el ramo
situado delante de la posicin del cursor. Una vez realizadas las acciones Copiar o Cortar, la parte
borrada o copiada se sita en el Portapapeles y podr insertarse un nmero ilimitado de veces.
Para ello, primer ha de seleccionarse la posicin de insercin. Las entradas y salidas son
posiciones de insercin vlidas. Si se ha cargado un operador, una Funcin o un Mdulo de
Funciones en el Portapapeles (recuerde: en este caso, todos los ramos existentes, con excepcin
del primero, tambin se sitan en el Portapapeles), la primera entrada se conecta con el ramo
anterior a la posicin de insercin. De lo contrario, todo el ramo situado delante de la posicin de
insercin se sustituye por el contenido del Portapapeles. En todo caso, el ltimo elemento insertado
se conecta con el ramo situado a la derecha de la posicin de insercin.

Nota: Cortar y Pegar permiten solucionar el siguiente problema: en el centro de una red se inserta
un nuevo operador. As pues, el ramo situado a la derecha del operador, que est conectado con la
primera entrada, tiene que conectarse con la segunda entrada. En este caso, se selecciona la
primera entrada y se realiza la accin 'Edicin' 'Cortar'. A continuacin, se selecciona la segunda
entrada y se ejecuta 'Edicin' 'Pegar'. De esta manera, el ramo se sita en la segunda entrada.

El plano de funciones en el modo Online

En el plano de funciones, los breakpoints slo se pueden colocar en redes. Si se ha colocado un


breakpoint en una red, el campo del nmero de red se representa de color azul. Entonces, el
procesamiento se detiene delante de la red en la que se encuentra el breakpoint. En este caso, el
campo del nmero de red adquiere el color rojo. En el funcionamiento paso a paso (Paso nico) se
salta de una red a otra. Se muestra el valor actual de cada variable que existe como entrada a un
elemento de red (Funcin, programa, instancia de Bloque de Funciones u operador).
Excepcin: Si la entrada de un bloque de funciones es una expresin, slo se monitoriza la
primera variable de la expresin

Al hacer doble clic en una variable se abre el dilogo para escribir una variable, donde es posible
modificar el valor actual de la variable. Para variables de Bool, no se muestra ningn dilogo, sino
que han de teclearse. El nuevo valor se visualiza en rojo y permanece inalterado. Si se ejecuta el
comando 'En lnea''Escribir valores', todas las variables se ajustan segn los valores seleccionados
y se vuelven a visualizar en negro. El control de proceso se inicia con el comando de men 'en
lnea' 'Control secuencial'. Con ste podr consultar los valores actuales que se transportan en las
redes por las lneas de conexin. Si las lneas de conexin no suministran valores de Bool, el valor
se indica en un cuadro expresamente insertado para ello. Si las lneas transportan valores de Bool,
adquieren el color azul en caso de que suministren en valor TRUE. De este modo, se puede seguir
el flujo de informacin durante el ciclo de PLC. Si mantiene el puntero del ratn de tiempo sobre
una variable durante un breve espacio, el tipo y el comentario de la variable se muestran en un
recuadro de ayuda emergente.

TwinCAT PLC Control: Editores

Editor de planos de contacto

A continuacin, se muestra un Mdulo escrito en lenguaje LD en el editor de TwinCAT PLC Control:


Mdulo en el plano de contactos

Todos los editores para Mdulos se componen de una parte de declaracin y una parte de
programa. dichas partes estn separadas por una divisin de pantalla. El editor de LD es un editor
para grficos. Los principales comandos se encuentran en el men de contexto (botn derecho del
ratn o <Ctrl>+<F10>. Para obtener informacin sobre los elementos, consulte Plano de contactos
(LD).

Posiciones del cursor en el editor de LD

Las siguientes posiciones pueden ser posiciones del cursor y las llamadas de Bloques de
Funciones y de programas pueden gestionarse como contactos. Los Mdulos con entradas EN y
otros Mdulos vinculados se gestionan igual que en el plano de funciones. Para obtener
informacin sobre la edicin de estas partes de red, consulte el Captulo 5.3.1 acerca del editor de
FBD.
1. Cada campo de texto (las posiciones del cursor posibles estn rodeadas por un crculo en color
negro)

2. Cada contacto o Bloque de Funciones

3. Cada bobina

4. La lnea de conexin entre los contactos y las bobinas.

Los siguientes comandos de men se utilizan en especial en el plano de contactos:

'Insertar' 'Contacto'. Acceso directo: <Ctrl>+<O>

Con este comando, en el editor de LD se inserta un contacto delante del punto marcado en la red.
Si el punto marcado es una bobina (posicin del cursor 3) o la lnea de conexin entre los
contactos y las bobinas (posicin del cursor 4), el nuevo contacto se conecta en serie con la
conexin de contactos existente. El contacto tendr el texto "???" por defecto. Para sustituir este
texto por la variable o constante que desee, puede hacer clic en el mismo o utilizar, asimismo, la
ayuda de entrada.
'Insertar' 'Contacto paralelo'. Acceso directo: <Ctrl>+<R>

Con este comando, en el editor de LD se inserta un contacto paralelo al punto marcado en la red.
Si el punto marcado es una bobina (posicin del cursor 3) o la conexin entre los contactos y las
bobinas (posicin del cursor 4), el nuevo contacto se conecta en paralelo a toda la conexin de
contactos existente. El contacto tendr el texto "???" por defecto. Para sustituir este texto por la
variable o constante que desee, puede hacer clic en el mismo o utilizar, asimismo, la ayuda de
entrada.

'Insertar' 'Bloque de funciones'. Acceso directo: <Ctrl>+<B>

Este comando se utiliza para insertar un bloque de funciones o un programa como mdulo. Para
ello debe estar marcada la conexin entre los contactos y las bobinas (posicin de cursor 4) o una
bobina (posicin de cursor 3). El dilogo de la ayuda de entrada se abre y en l se pueden
seleccionar mdulos estndar y de definicin propia de los que estn disponibles.

La primera entrada del nuevo mdulo insertado se coloca sobre la conexin de entrada la primera
salida de la conexin de salida. Para ello estas variables deben ser del tipo booleano.

Todas las dems entradas y salidas del Mdulo contienen el texto "???", que puede reemplazarse
por otras constantes, variables o direcciones. Para ello, tambin puede utilizar la ayuda de entrada.

'Insertar' 'Bobina'. Acceso directo: <Ctrl>+<L>

Con este comando, en el editor de LD se inserta una bobina paralela a las bobinas existentes. Si el
punto marcado es la conexin entre los contactos y las bobinas (posicin del cursor 4), la nueva
bobina se inserta en ltimo lugar. Si el punto marcado es una bobina (posicin del cursor 3), la
nueva bobina se inserta directamente sobre la misma. La bobina contiene el texto "???" por
defecto. Para sustituir este texto por la variable o constante que desee, puede hacer clic en el
mismo o utilizar, asimismo, la ayuda de entrada.

Mdulos con entradas EN

Si desea utilizar la red LD para el control de llamadas a otros Mdulos, tiene que insertar un
Mdulo con una entrada EN. Este tipo de Mdulo se conecta en paralelo con las bobinas.
Partiendo de este Mdulo, podr desarrollar la red como en el diagrama de bloques funcionales.
Los comandos de insercin en un Mdulo EN se encuentran en el men 'Insertar' 'Insertar en
mdulo'. Un operador, un Bloque de Funciones o una Funcin con entrada EN se comporta igual
que el correspondiente Mdulo en el plano de funciones, con la diferencia de que su ejecucin se
controla a travs de la entrada EN. Esta entrada se conecta entre las bobinas y los contactos de la
lnea de conexin. Si esta conexin transporta el dato "ON", el mdulo se evala. Una vez creado
un Mdulo con entrada EN, se puede crear una red como en el plano de funciones. Es decir, en un
Mdulo EN pueden fluir datos de operadores, funciones y Bloques de Funciones usuales, y un
Mdulo EN puede transportar datos a dichos Mdulos usuales. Por lo tanto, si desea programar
una red en el editor de LD de igual modo que en FBD, bastar con insertar primero un operador EN
en una red nueva; a continuacin, podr puede conformar la red a partir de este mdulo como en el
editor de FBD. Una red generada de esta manera se comporta igual que la red FBD.

'Insertar' 'Mdulos con EN'

Este comando permite insertar un bloque de funciones, un operador, una funcione y una
programma con entrada EN en una red LD. El punto marcado ha de ser la conexin entre los
contactos y las bobinas (posicin del cursor 4) o una bobina (posicin del cursor 3). El nuevo
mdulo se inserta paralelo a las bobinas por debajo de las mismas y, en un primer momento, se
identifica como AND. Esta identificacin puede cambiarse por otra que desee y, para ello, puede
utilizar la ayuda de entrada.

'Insertar' 'Insertar en Mdulo'

Este comando permite aadir nuevos elementos a un Mdulo ya insertado (tambin a un Mdulo
con entrada EN). Los comandos de este men se pueden ejecutar en las mismas posiciones del
cursor que los correspondientes comandos del plano de funciones. Entrada permite aadir una
nueva entrada al Mdulo y, Salida, una nueva salida al Mdulo.

Con Mdulo se inserta otro mdulo. El procedimiento corresponde al descrito en 'Insertar' 'Mdulo'.

Con Asignacin puede insertar una asignacin a una variable. Primero se visualiza con tres signos
de interrogacin "???", que puede editar y sustituir por la variable deseada. Puede utilizar la ayuda
de entrada.

'Insertar' 'Salto'
Este comando permite insertar en el editor de LD un salto paralelo al final de las bobinas
existentes. Si la lnea entrante suministra el valor "ON", se realiza el salto hacia la marca indicada.
El punto marcado tiene que ser la conexin entre los contactos y las bobinas (posicin del cursor 4)
o una bobina (posicin del cursor 3). El salto contiene el texto "???" por defecto, que puede
reemplazarse por la marca de salto que desee haciendo clic sobre el mismo.

'Insertar''Return'

Este comando permite inserta en el editor de LD una instruccin RETURN paralela al final de las
bobinas existentes. Cuando la lnea entrante suministra el valor "ON", se cancela la ejecucin del
mdulo en esta red . El punto marcado tiene que ser la conexin entre los contactos y las bobinas
(posicin del cursor 4) o una bobina (posicin del cursor 3).

'Herramientas' 'Insertar detrs'

Este comando permite insertar en el editor de LD el contenido del Portapapeles como contacto de
serie despus del punto de seleccin. Este comando slo puede ejecutare si el contenido del
Portapapeles y el punto seleccionado son redes de contactos.

'Herramientas' 'Insertar debajo'. Acceso directo: <Ctrl>+<U>

Este comando permite insertar en el editor de LD el contenido del Portapapeles como contacto
paralelo debajo del punto de seleccin. Este comando slo puede ejecutarse si el contenido del
Portapapeles y el punto seleccionado son redes de contactos.

'Herramientas' 'Insertar encima'

Este comando permite insertar en el editor de LD el contenido del Portapapeles como contacto
paralelo encima del punto de seleccin. Este comando slo puede ejecutarse si el contenido del
Portapapeles y el punto seleccionado son redes de contactos.

'Herramientas' 'Negacin'. Acceso directo: <Ctrl>+<N>

Con este comando se niega un contacto, una bobina, una instruccin de salto o RETURN o una
entrada o salida de mdulos EN en la posicin actual del cursor (posicin del cursor 2 y 3). Aparece
una barra ((/) o |/|) entre los parntesis de la bobina o entre las barras verticales del contacto.
Como en el editor de FBD, se muestra un pequeo crculo en la conexin de saltos, Returns, y
entradas o salidas de mdulos EN. De este modo, la bobina escribe el valor negado de la conexin
de entrada en la correspondiente variable de Bool. Un contacto negado conecta con precisin el
estado de la entrada a la salida cuando la correspondiente variable de Bool suministra el valor
FALSE. Si hay marcado un salto o un Return, se niega la entrada del mismo. Una negacin se
puede borrar con una nueva negacin.

'Herramientas' 'Set/Reset'

Si ejecuta este comando en una bobina, se obtiene una bobina Set. Este tipo de bobina no
sobrescribe nunca el valor TRUE en la correspondiente variable de Bool. Esto significa que, una
vez se ha ajustado en TRUE el valor de esta variable, permanece para siempre como TRUE. Una
bobina. El smbolo de bobina Set se identifica con una "S". Si vuelve a ejecutar este comando,
obtendr una bobina Reset. Este tipo de bobina no sobrescribe nunca el valor FALSE en la
correspondiente variable de Bool. Esto significa que, una vez se ha ajustado en FALSE el valor de
esta variable, permanece para siempre como FALSE. El smbolo de la bobina Reset se identifica
con una "R". Si ejecuta este comando ms veces, la bobina en cuestin cambia entre bobina Set,
Reset y normal.

'Herramientas' 'Abrir instancia'

Este comando corresponde al comando 'Proyecto' 'Abrir instancia'.

El plano de contactos en el modo Online

En el modo Online, todos los contactos y bobinas del plano de contacto que se encuentran en
estado "ON" aparecen de color azul; asimismo, todas las lneas donde se transmite "ON" (TRUE)
se vuelven azules. En las entradas y salidas de Bloques de Funciones se indican los valores de las
correspondientes variables. Los breakpoints slo se pueden situar en redes; en el modo paso a
paso, se salta de una red a otra. Si mantiene el puntero del ratn sobre una variable durante un
breve espacio tiempo, el tipo y el comentario de la variable se muestran en un recuadro de ayuda
emergente.

TwinCAT PLC Control: Editores

Editor grfico de planos de funciones

As se ve un mdulo que fue creado con el editor grfico de planos de funciones (CFC):
Editor grfico de planos de funciones

En el editor grfico de planos de funciones no se utilizan redes; lo elementos se pueden colocar


libremente. Entre los elementos de la lista de procesamiento se cuentan mdulo, entrada, salida,
salto, etiqueta (label), retorno (return) y comentario. Las entradas y salidas de estos elementos se
pueden vincular arrastrando la conexin con el ratn. La lnea de conexin se trazar
automticamente. Considerando las conexiones existentes se trazar la lnea de conexin ms
corta. Al mover los elementos las lneas de conexin se ajustarn automticamente. Si una lnea de
conexin no se puede trazar por razones de espacio, entonces se marcar una lnea roja entre la
entrada y su correspondiente salida. Tan pronto hay suficiente espacio, esta lnea se convertir en
una lnea de conexin.
Una ventaja de los editores grficos de planos de funciones frente a los editores convencionales
(FBD) es que las realimentaciones se pueden insertar directamente.
Las instrucciones ms importantes se encuentran en el men de contexto.

Posiciones del cursor en el editor grfico de planos de funciones

Cada texto es una posible posicin del cursor. El texto seleccionado es resaltado en azul y se
puede modificar.
Por lo dems, la posicin actual del cursor est marcada por un rectngulo punteado. A
continuacin una enumeracin con ejemplos de todas las posibles posiciones de cursor:
1. Tronco de los elementos Mdulo, Entrada, Salida, Salto, Etiqueta (Label), Retorno (Return) y
Comentario:

2. Campos de texto de los elementos Mdulo, Entrada, Salida, Salto, Etiqueta (Label) y
Comentario, ms alejados los campos de texto de las marcas de conexin:

3. Entradas de los elementos Mdulo, Salida, Salto y Retorno:

4. Salidas de los elementos Mdulo y Entrada:

'Insertar' 'Mdulo' Forma abreviada: <Ctrl>+<B>


Con esta instruccin se pueden insertar operadores, funciones, bloques de funcin y programas.
Se inserta por lo general un operador "AND". ste se puede convertir al seleccionar y sobreescribir
el texto en cualquier otro operador, en cualquier funcin, en cualquier bloque de funcin y en
cualquier programa. Con la ayuda de esta entrada se puede elegir el mdulo deseado de la lista de
los mdulos admitidos. Si el nuevo mdulo tiene otro nmero mnimo de entradas, stos se
agregan.Si el nuevo mdulo tuviese un nmero mximo de entradas muy pequeo, las ltimas
entradas se borrarn.

'Insertar' 'Entrada' Forma abreviada: <Ctrl>+<E>

Con esta instruccin se inserta una entrada. El texto introducido "???" se puede seleccionar y
reemplazar por una variable o una constante. Para este fin puede utilizar tambin la ayuda de
entrada.

'Insertar' 'Salida' Forma abreviada: <Ctrl>+<A>

Con esta instruccin se inserta una salida. El texto introducido "???" se puede seleccionar y
reemplazar por una variable. Para este fin puede utilizar tambin la ayuda de entrada. Al valor de la
entrada de la salida se asigna esta variable.

'Insertar' 'Salto' Forma abreviada: <Ctrl>+<J>

Con esta instruccin se inserta un salto. El texto introducido "???" se puede seleccionar y
reemplazar por una marca de salto en la cual se debe insertar un salto.
Il marcatore di salto si inserisce con listruzione 'Inserisci' 'Label'.

'Insertar' 'Label' Forma abreviada: <Ctrl>+<L>

Con esta instruccin se inserta una etiqueta (label). El texto introducido "???" se puede seleccionar
y reemplazar por una marca de salto. En el modo online se aade automticamente una etiqueta
RETURN para marcar el final del mdulo.
El salto se inserta con la instruccin 'Insertar' 'Salto'.

'Insertar''Return' Forma abreviada: <Ctrl>+<R>


Con esta instruccin se inserta una sentencia RETURN.
Tenga en cuenta que en el modo online aade automticamente una etiqueta con la denominacin
RETURN en la primera columna y tras el ltimo elemento en el editor al que se salta en el
funcionamiento paso a paso antes de salir del mdulo.

'Insertar' 'Comentario' Forma abreviada: <Ctrl>+<K>

Con esta instruccin se inserta un comentario.


Se inserta una nueva lnea dentro del comentario con <Ctrl> + <Enter>.

'Insertar' 'Entrada de mdulo' Forma abreviada: <Ctrl>+<U>

Esta instruccin inserta una entrada de mdulo. El nmero de entradas es variable en muchos
operadores (p.ej.ADD puede tener 2 o ms entradas).
Para expandir este operador en una entrada, se debe seleccionar el propio operador (posicin del
cursor 1).

'Insertar' 'In-Pin', 'Insertar' 'Out-Pin'

Estos comandos estn disponibles si se ha abierto una macro para su edicin. Sirven para insertar
In-Pins y Out-Pins y salidas de la macro. Se distinguen de las salidas y entradas normales de los
mdulos por la representacin y porque no contienen ningn ndice de posiciones.

'Herramientas' 'Negar' Forma abreviada: <Ctrl>+<N>

Con este comando puede negar entradas, salidas, saltos o instrucciones RETURN. El smbolo para
la negacin es un pequeo crculo en una conexin.
Cuando se selecciona una entrada de un mdulo, salida, salto o retorno (return) (posicin del
cursor 3), se est negando esa entrada.
Cuando se selecciona una salida de un mdulo o entrada (posicin del cursor 4), se est negando
esta salida.
Una negacin se puede borrar con una nueva negacin.

'Herramientas' 'Set/Reset'

Esta instruccin se puede ejecutar slo con entradas seleccionadas del elemento Salida (posicin
del cursor 3).
El smbolo de Set es S, el de Reset es R.
VarOut1 se configura en TRUE, en caso que VarIn1 devuelva TRUE. VarOut1 conserva este valor,
aun cuando VarIn1 siga devolviendo FALSE.
VarOut2 se configura en FALSE, en caso que VarIn2 devuelva TRUE. VarOut2 conserva este valor
aun cuando VarIn2 siga devolviendo FALSE.
Con la ejecucin repetida de las instrucciones la salida alterna entre Set-, Reset- y su estado
normal.

'Herramientas' 'EN/ENO' Forma abreviada: <Ctrl>+<O>

Con esta instruccin un mdulo seleccionado (posicin de cursor 3) recibe una entrada BOOL
adicional EN (Enable In) y una salida BOOL ENO (Enable Out).

En este ejemplo ADD slo se ejecuta cuando se cumple la condicin TRUE de la variable BOOL.
Despus de la ejecucin de ADD, VarOut tambin se configura en TRUE. En caso que la condicin
de la variable sea igualmente FALSE, no se procesar ADD y VarOut recibir el valor FALSE. El
siguiente ejemplo muestracmo se puede utilizar el calor de ENO para otros mdulos.
x se debe inicializar con 1 y con 0. Los nmeros de la esquina derecha del mdulo indican la
secuencia de procesamiento.
x se aumenta en uno, hasta que alcance el valor 10. Como entonces la salida del mdulo LT(0)
devuelve FALSE, se ejecutarn SUB(3) y ADD(5). x tambin se configura al valor 1 y se aumenta
en 1. Posteriormente se ejecutar otra vez LT(0), siempre que x sea inferior a 10. y se cuenta,
como x atraviesa los valores 1 a 10.

'Herramientas' 'Propiedades...'

En el editor grfico de planos de funciones no se indican directamente los parmetros de entrada


constantes (VAR_INPUT CONSTANT), de funciones y bloques de funciones. Estos se pueden
mostrar y su valor se puede modificar cuando se selecciona el tronco del mdulo correspondiente
(posicin de cursor 1) y se selecciona la instruccin 'Herramientas' 'Propiedades...' o simplemente
haciendo doble clic sobre el tronco. Se abre el siguiente cuadro de dilogo:
Los valores de los parmetros de entrada constantes (VAR_INPUT CONSTANT) se pueden
modificar, para lo cual se debe marcar el valor del parmetro en la columna Valor. ste se puede
editar al hacer clic otra vez o al presionar la tecla espacio. La alteracin de un valor se puede
confirmar presionando la tecla <Enter>; presionando la tecla <Escape> se perdern las
modificaciones. Al hacer clic en Aceptar se guardan todas las modificaciones.

Seleccionar elementos

Para seleccionar un elemento, debe hacer clic con el ratn en el tronco del elemento (posicin del
cursor 1).
Para marcar varios elementos, presione la tecla <Shift> y seleccione con el ratn los elementos
correspondientes o trace una ventana con el botn izquierdo del ratn presionado encerrando los
elementos que desea marcar.
Con la instruccin 'Herramientas' 'Marcar todo' se pueden seleccionar todos los elementos.

Mover elementos

Se pueden mover uno o varios elementos seleccionados con las teclas de flecha manteniendo
presionada la tecla <Shift>. Otra posibilidad es arrastrar los elementos con el botn izquierdo del
ratn presionado. Estos elementos se depositan al soltar el botn izquierdo del ratn en un espacio
en que no cubran a otros elementos o excedan los lmites definidos del editor. En este caso los
elementos marcados aparecen nuevamente en su posicin original y aparecer una advertencia.

Copiar elementos
Se copian uno o ms elementos seleccionados con la instruccin 'Edicin' 'Copiar', y se insertan
con 'Edicin' 'Insertar'.

Creacin de conexiones

Una entrada de un elemento se puede vincular con una salida de otro elemento. Una salida de un
elemento se puede vincular con varias entradas de elementos.
Hay varias posibilidades para vincular una entrada de un elemento E2 con la salida de un elemento
E1.

Con el botn izquierdo del ratn haga clic sobre la salida del elemento E1 (posicin del cursor 4),
mantenga presionado el botn, mueva el puntero del ratn a la entrada del elemento E2 (posicin
del cursor 3) y all suelte el botn izquierdo del ratn. Al mover los elementos con el ratn se crea
una conexin de la salida del elemento E1 al puntero del ratn.
Con el botn izquierdo del ratn haga clic sobre la entrada del elemento E2, sin soltar el botn,
mueva el puntero del ratn a la salida del elemento E1 y una vez all suelte el botn izquierdo del
ratn.
Uno de los elementos E1 o E2 se mueve (posicin del cursor 1) y al soltar el botn izquierdo del
ratn se dispone de tal forma que la salida del elemento E2 y la entrada del elemento E1 se tocan.
En caso que el elemento E2 sea un mdulo con una entrada libre, tambin se puede trazar con el
ratn una conexin desde la salida de E1 en el tronco de E2. Al soltar el botn del ratn se crear
automticamente una conexin con la entrada disponible de E2 que est ms arriba. Cuando el
mdulo E2 no tiene una entrada disponible, pero es un operador que se puede expandir en una
entrada; se crea una nueva entrada automticamente.
Con la ayuda de este mtodo se pueden vincular entre s la salida y la entrada de un mdulo
(realimentacin). Para crear una unin entre dos pins haga clic con el botn izquierdo del ratn
sobre un pin, mantenga el botn pulsado y cree la conexin con el pin deseado, volviendo a soltar
el botn. Si durante la creacin de la conexin se sale del rea de trabajo del editor,
automticamente se desplaza. Para los tipos de datos simples se realiza una comprobacin de tipo
a la conexin. Si los tipos de ambos pins no son compatibles, el cursor pasa a "Prohibido". Para los
tipos de datos complejos no se realiza ninguna comprobacin.

Borrar las conexiones


Hay varias posibilidades de borrar una conexin entre la salida de un elemento E1 y la entrada de
un elemento E2:
Seleccionar la salida de E1 (posicin del cursor 4) y presionar la tecla <Supr> o ejecutar la
instruccin 'Edicin' 'Borrar'. Si la salida de E1 est vinculada a varias entradas, entonces se
borrarn varias conexiones.
Seleccionar la entrada de E2 (posicin del cursor 4) y presionar la tecla <Supr> o ejecutar la
instruccin 'Edicin''Borrar'.
Seleccionar con el ratn la entrada de E2, mantener presionado el botn izquierdo del ratn sacar
la conexin de la entrada E2. Si se suelta el botn izquierdo del ratn en un espacio libre, la
conexin se borrar.

Cambiar conexiones

Una conexin entre la salida de un elemento E1 y la entrada de un elemento E2 no se puede


cambiar fcilmente a una conexin entre la salida de E1 y una entrada de un elemento E3. Para
ello se hace clic con el ratn sobre la entrada de E2 (posicin del cursor 3), se mantiene
presionado el botn izquierdo del ratn, se mueve el puntero del ratn sobre la entrada de E3 y una
vez all se suelte.

'Herramientas' 'Marcas de conexin'

Las conexiones tambin se pueden presentar en lugar de las lneas de conexin con la ayuda de
conectores (marcas de conexin). Para ello se debe proveer de un conector de nombre claro a la
salida y a su correspondiente entrada.
Si ya existe una conexin entre dos elementos que se deben indicar en la presentacin del
conector, se debe marcar posteriormente la salida de la lnea de conexin (posicin del cursor 3) y
el punto de men 'Herramientas' Marcas de conexin. La siguiente ilustracin muestra una
conexin antes y despus de la seleccin del ltimo punto de men.

Desde el programa se da en forma estndar un nombre inconfundible al conector que comienza


con M, el cual se puede modificar. El nombre del conector se puede editar tanto en la entrada como
en la salida.
1. Edicin del conector en la salida:
Si se reemplaza el texto del conector, se aplica el nombre nuevo de conector en todos los
conectores en las entradas que correspondan. No se puede elegir un nombre que pertenezca a
otra marca de conexin y que se pueda confundir con el nombre del conector.

2. Edicin del conector en la entrada:


Si se reemplaza el texto del conector, se borra la conexin con las marcas de conexin antiguas y
se crea una nueva conexin, es decir, slo se puede especificar el nombre de otra marca de
conexin existente.
Las conexiones en la ilustracin del conector se pueden convertir nuevamente en conexiones
ordinarias, cuando se marcan las salidas de las conexiones (posicin del cursor 4) y se selecciona
nuevamente el punto de men 'Herramientas' 'Marcas de conexin'.

Insertar entradas/salidas "On the fly"

Si se selecciona exactamente un Input-Pin o Output-Pin de un elemento, se puede insertar el


correspondiente elemento de entrada o salida introduciendo la cadena de caracteres
correspondiente mediante el teclado, y rellenar su campo de editor con esta cadena de caracteres.

Secuencia de procesamiento

En el editor grfico de planos de funciones los elementos mdulo, salida, salto, retorno (return) y
etiqueta (label) reciben un nmero de procesamiento. En este orden se calcula el tiempo de
ejecucin de los elementos individuales.
Al insertar un elemento se entrega automticamente el nmero en orden topolgico (de izquierda a
derecha y de arriba hacia abajo). Si se cambiara el orden, el nuevo elemento tendr el nmero de
su sucesor topolgico y todos los nmeros posteriores aumentarn en una unidad.
Al mover un elemento se conserva el nmero recibido.
El orden tiene influencia sobre el resultado y se debe cambiar en determinados casos.
Si se indica el orden, el nmero de procesamiento respectivo aparece junto a los elementos en la
esquina superior derecha.

'Herramientas' 'Orden' 'Mostrar'

Con esta instruccin la representacin del orden de procesamiento se puede activar y desactivar.
De manera estndar se presenta el orden de procesamiento (reconocible junto a (*) antes del punto
de men).
Junto a los elementos mdulo, salida, salto, retorno (return) y etiqueta (label) aparece en la esquina
superior derecha su respectivo nmero de procesamiento.

'Herramientas' 'Orden' 'Ordenar topolgicamente'

Los elementos estn ordenados topolgicamente, cuando se produce el procesamiento de


izquierda a derecha y de arriba a abajo, es decir en elementos ordenados topolgicamente el
nmero aumenta de izquierda a derecha y de arriba hacia abajo. Las conexiones no tienen
importancia, slo la posicin de los elementos.
Si se ejecuta la instruccin 'Herramientas' 'Orden' 'Ordenar topolgicamente', se ordenan
topolgicamente todos los elementos marcados. Todos los elementos de la seleccin se toman de
la lista de procesamiento. Posteriormente los elementos de la seleccin se insertan uno a uno
desde abajo a la derecha hacia arriba a la izquierda nuevamente en la lista de procesamiento
restante. Todos los elementos marcados se insertan en la lista de procesamiento antes de su
sucesor topolgico, es decir, antes del elemento que sera elaborado segn el orden topolgico, si
todos los elementos del editor fueran ordenados con dicho criterio. Esto se aclara en un ejemplo.

Se seleccionan los elementos con el nmero 1, 2 y 3. Si se selecciona la instruccin 'Ordenar


topolgicamente', los tres elementos seleccionados son tomados de la lista de procesamiento.
Luego se insertan nuevamente uno junto a otro la variable Var3, el salto y el operador AND. La
variable Var3 se ubica antes de la etiqueta y se convierte en la nmero 2. Luego se ubica el salto y
recibe entonces el nmero 4, despus de la insercin del operador AND, el 5. Se da entonces la
siguiente secuencia de procesamiento:
Al distribuir un nuevo mdulo se debe situar de manera estndar antes de su sucesor topolgico en
la lista de procesamiento.

'Herramientas' 'Orden' 'Uno adelante'

Con esta instruccin todos los elementos seleccionados, con la excepcin del elemento que
aparece al principio de la secuencia de procesamiento, pasan un lugar adelante dentro del orden
de procesamiento.

'Herramientas' 'Orden' 'Uno atrs'

Con esta instruccin todos los elementos seleccionados, con la excepcin del elemento que
aparece al final de la secuencia de procesamiento, pasan un lugar hacia atrs dentro del orden de
procesamiento.

'Herramientas' 'Orden' 'Al principio'

Con esta instruccin todos los elementos seleccionados son empujados al principio de la secuencia
de procesamiento, donde se conserva el orden dentro de los elementos seleccionados. De igual
manera se conserva el orden dentro de los elementos no seleccionados.

'Herramientas' 'Orden' 'Al final'


Con esta instruccin todos los elementos seleccionados son empujados al final de la secuencia de
procesamiento, donde se conserva el orden dentro de los elementos seleccionados. De igual
manera se conserva el orden dentro de los elementos no seleccionados.

'Herramientas' 'Orden' 'Ordenar todo por flujo de datos'

Esta instruccin se utiliza en todos los elementos. La secuencia de procesamiento es determinada


por el flujo de datos de los elementos y no por su posicin.
La siguiente ilustracin muestra los elementos ordenados topolgicamente.

Despus de la seleccin de la instruccin se obtiene la siguiente orden:


En la seleccin de la instruccin todos los elementos se ordenan topolgicamente. Posteriormente
se genera una nueva lista de procesamiento. A partir de los valores conocidos de las entradas, se
determinan cul de los elmentos que no todava est numerado es el prximo que se puede
procesar. En la "red" anterior, por ejemplo, se puede procesar de inmediato el mdulo ADD, pues
los valores de sus entradas (1 y 2) ya se conocen. Recin despus se puede procesar el mdulo
SUB, pues se debe conocer antes el resultado de ADD, etc.
Las realimentaciones se deben insertar en ltimo lugar.
La ventaja del orden basado en el flujo de datos es que una caja de salida que est vinculada a la
salida de un mdulo sigue inmediatamente a esta en el orden de flujo de datos, mientras que en el
orden topolgico no siempre es el caso. El orden topolgico devuelve en ciertas circunstancias un
resultado distinto al del orden segn el flujo de datos, como se demuestra en los ejemplos
anteriores.

'Herramientas' 'Crear macro'

Con este comando se pueden agrupar varios mdulos seleccionados al mismo tiempo en un
bloque que puede recibir un nombre como macro. Las macros slo se pueden duplicar con la
accin Copiar/Pegar, de forma que cada copia muestra su propia macro, cuyo nombre se puede
seleccionar de forma independiente. Las macros no tienen ninguna referencia. Todas las
conexiones que se cortan mediante la creacin de macros crean In-Pins y Out-Pins en la macro.
Las conexiones a las entradas crean un In-Pin. Como nombre junto al pin aparece un nombre por
defecto con el formato In<n>. Para las conexiones con salidas aparece Out<n>. Las conexiones
que tenan marcas de conexin antes de la creacin de la macro reciben la marca de conexin en
el PIN de la macro.

Una macro recibe primero el nombre por defecto "MACRO". Este nombre se puede modificar en el
campo del nombre de la utilizacin de macros. Si se edita la macro, el nombre de la macro se
visualiza en la barra de ttulos de la ventana del editor en el nombre del mdulo.

Ejemplo:
Seleccin

Macro

En el editor:

'Herramientas' 'Saltar a macro'

Con este comando o haciendo doble clic sobre el tronco de la macro se abre la macro en la
ventana del editor del correspondiente mdulo para su edicin. El nombre de la macro se adjunta al
nombre del mdulo en la barra de ttulo.

Los Pin-Box creados durante la creacin para las entradas y salidas de la macro se pueden tratar
como las entradas y salidas normales de los mdulos. As pues, se pueden desplazar, borrar,
agreagr, etc. Se distinguen nicamente en la representacin, y no poseen ningn ndice de
posiciones. Para agregar puede utilizar los botones (Entrada) o (Salida) que se ofrecen en la barra
de smbolos. Los Pin-Box tienen esquinas redondeadas. El texto del Pin-Box corresponde al
nombre del pin en la representacin de la macro.

La secuencia del pin en la casilla de la macro depende de la secuencia de ejecucin de los


elementos de la macro. ndice de secuencia menor hacia arriba, pin superior hacia abajo.

La secuencia de ejecucin dentro de la macro est cerrada, es decir, la macro se calcula como un
bloque y en la posicin de la macro en el mdulo superior. Los comandos para la manipulacin de
la secuencia slo son efectivos dentro de la macro.

'Herramientas' 'Expandir macro'

Con este comando se vuelve a expandir la macro seleccionada y se insertan en el mdulo los
elementos contenidos en la posicin de la macro. Las conexiones a los pins de la macro se vuelven
a visualizar como conexiones con las entradas o salidas de los elmentos. Si la expansin de la
macro no se puede realizar a causa de una falta de espacio en la posicin de la casilla de la macro,
la macro se desplaza hacia la derecha y hacia abajo hasta que hay el suficiente espacio disponible.

'Herramientas' 'Un nivel de macro atrs', 'Herramientas' 'Todos los niveles de macros atrs'

Estos comandos tambin estn disponibles en la barra de smbolos, siempre que se abre una
macro para su edicin. Si las macros se encuentran una dentro de la otra, se puede pasar del nivel
de representacin superior al ms alto.

Realimentaciones

En el editor grfico de planos de funciones se pueden presentar directamente las realimentaciones


a diferencia con los editores comunes de planos de funciones. Se debe tener en cuenta que para la
salida de un mdulo se crea generalmente una variable intermedia interna. En el caso de los
operadores, se obtiene el tipo de datos de la variable intermedia a partir del tipo de datos ms
grande de las entradas.
EL tipo de datos de una constante se determina a partir del tipo de datos ms pequeo posible, es
decir, para la constante '1' asumir el tipo de datos SINT. Se realiza ahora una suma con la
realimentacin y la constante '1', as la primera entrada devuelve el tipo de datos SINT y la
segunda no est definida debido a la realimentacin. Por consiguiente, la variable intermedia
tambin es de tipo SINT. El valor de la variable intermedia se asignar posteriormente a la variable
de salida.
La siguiente ilustracin muestra un ejemplo de suma con realimentacin y otro directamente con
una variable. Las variables x e y deben ser entonces del tipo INT.

Entre ambas adiciones existen diferencias:


La variable y se puede inicializar con un valor distinto de 0, mientras que la variable intermedia de
la suma de la izquierda no.
La variable intermedia de la suma de la izquierda tiene el tipo de datos SINT, la de la derecha tiene
el tipo INT. Las variables x e y tienen valores diferentes a partir de la llamada 129. La variable x, si
bien es del tipo Typ INT, recibe el valor 127, mientras que la variable intermedia presenta un
rebase. La variable y recibe en cambio el valor 129.

'Herramientas' 'Abrir instancia'

Este comando corresponde al comando 'Proyecto' 'Abrir instancia'.

CFC en modo online'

Monitorizacin:

Los valores para las entradas y salidas se representan dentro de las casillas de entrada y salida.
Las constantes no se monitorizan. Para las variables que no son de tipo booleano las casillas
aumentan su tamao de acuerdo con los valores mostrados. Para las conexiones booleanas se
muestra el nombre de la variable as como la conexin en color azul, si el valor es TRUE, y si no en
color negro.
Las conexiones booleanas internas se muestran en color azul en lnea si el estado es TRUE, y en
caso contrario en negro. El valor de las variables internas que no son de tipo booleano se muestra
en una pequea casilla con esquinas redondeadas en el pin de salida de la conexin.

Los PINs de las macros se monitorizan como en las casillas de entrada y salida.

Las conexiones que no son de tipo booleano con marcas de conexin muestran su valor dentro de
la marca de conexin. Para las conexiones booleanas las lneas y los nombres de las marcas se
representan en color azul si la lnea tiene el valor TRUE, en caso contrario en color negro.

Control secuencial:

Si el control secuencial est conectado, las conexiones se marcan con el color configurado en las
opciones del proyecto.

Breakpoints:

Los puntos de parada se pueden fijar en todos los elementos que tambin poseen un ndice de
secuencia de ejecucin. La ejecucin del programa se detiene antes de la ejecucin del
corrspondiente elemento, es decir, para los mdulos y salidas antes de la asignacin de las
entradas, para las etiquetas antes de la ejecucin del elemento con el siguiente ndice. Como
posicin de punto de parada en el dilogo de Breakpoint se utiliza el ndice de la secuencia de
ejecucin del elemento.

La fijacin de los puntos de parada se realiza con un elemento seleccionado con la tecla F9 o
mediante el punto de men 'Breakpoint on/off', en el men 'Online' o 'Herramientas' o en el men
de contexto del editor. Si se fija un punto de parada en un elemento, en la siguiente ejecucin del
comando 'Breakpoint on/off' este elemento se vuelve a borrar y vice versa. Adems, el punto de
parada se puede conmutar a un elemento haciendo doble clic sobre dicho elemento.

La representacin de Breakpoint se realiza con el color configurado en las opciones del proyecto.

Marca RETURN:

En el modo online crea automticamente una etiqueta con la denominacin "RETURN" en la


primera columna y tras el ltimo elemento en el editor. Esta marca marca el final del mdulo y en el
funcionamiento paso a paso se arranca antes de salir del mdulo. En las macros no se inserta
ninguna marca RETURN.

Funcionamiento paso a paso:

En el 'Paso individual sobre' siempre se pasa al elemento con el siguiente ndice de sencuencia. Si
el elemento actual es una macro o un mdulo, se bifurca hacia la implementacin mediante 'Paso
individual en'. Si desde all se efecta un 'Paso individual sobre', se pasa al elemento cuyo ndice
de secuencia es posterior al de la macro.

'Herramientas' 'Zoom' Forma abreviada: <Alt> + <Entrar>

Con este comando se puede abrir la implementacin de un mdulo si se ha seleccionado el


mdulo.

TwinCAT PLC Control: Editores

Editor de diagrama secuencial de funciones


A continuacin, se muestra un Mdulo escrito en SFC en el editor de TwinCAT PLC Control:

Todos los editores para Mdulos se componen de una parte de declaracin y una parte de
programa. Dichas partes estn separadas por una divisin de pantalla. El editor de diagrama
secuencial de funciones es un editor para grficos. Los principales comandos se encuentran en el
men de contexto (botn derecho del ratn). Las informaciones sobre herramientas muestran,
tanto en el modo online como offline, y con el zoom, los nombres y expresiones completos de
pasos, transiciones, saltos, etiquetas, cualificadores o acciones asociadas.
Para obtener informacin sobre el diagrama secuencial de funciones, consulte Diagrama
secuencial de funciones (SFC).

El editor de diagrama secuencial de funciones tiene que tener en cuenta las particularidades de
SFC y, para ello, se proporcionan las siguientes opciones de men:

Seleccionar bloques en SFC

Un bloque seleccionado contiene una cantidad de elementos SFC que estn incluidos en un
rectngulo de puntos. (En el ejemplo anterior, se ha marcado el paso Switch1.) Un elemento (un
paso, una transicin o un salto) puede seleccionarse colocando el puntero del ratn sobre este
elemento y pulsando el botn izquierdo del ratn o utilizando las teclas de direccin. Para
seleccionar una serie de elementos, adems del bloque ya marcado, mantenga pulsada la tecla
<Mays> y seleccione el elemento en el ngulo inferior izquierdo o derecho de la serie de
elementos. El resultado de la seleccin contiene cantidad inferior de elementos conectados que
ambos elementos incluyen. Tenga en cuenta que los comandos pueden ejecutarse slo si no
contradicen las convenciones de lenguaje.

'Insertar' 'Paso de transicin (antes)'. Acceso directo: <Ctrl>+<T>

Este comando inserta en el editor de SFC un paso seguido de una transicin delante del bloque
marcado.

'Insertar' 'Paso de transicin (despus)'. Acceso directo: <Ctrl>+<E>

Este comando inserta en el editor de SFC un paso seguido de una transicin detrs de la primera
transicin del bloque marcado.

'Insertar' 'Ramo alternativo (derecha)'. Acceso directo: <Ctrl>+<A>

Este comando inserta en el editor de SFC una divergencia de seleccin de secuencia alternativa
como divergencia de seleccin de secuencia derecha del bloque seleccionado. Para este fin, el
bloque tiene que empezar y terminar con una transicin. De este modo, el nuevo ramo estar
compuesto de una transicin.

'Insertar' 'Ramo alternativo (izquierda)'


Este comando inserta en el editor de SFC una divergencia de seleccin de secuencia negativa
como divergencia de seleccin de secuencia izquierda del bloque seleccionado. Para este fin, el
bloque tiene que empezar y terminar con una transicin. De este modo, el nuevo ramo estar
compuesto de una transicin.

'Insertar' 'Ramo paralelo (derecha)'. Acceso directo: <Ctrl>+<L>

Este comando inserta en el editor de SFC una divergencia de seleccin de secuencia paralela
como divergencia de seleccin de secuencia derecha del bloque seleccionado. Para este fin, el
bloque seleccionado tiene que empezar y terminar con un paso. De este modo, el nuevo ramo
estar compuesto de un paso. Para permitir saltos al ramo paralelo debe haber una etiqueta.

'Insertar' 'Ramo paralelo (izquierda)'

Este comando inserta en el editor de SFC una divergencia de seleccin de secuencia paralela
como divergencia de seleccin de secuencia izquierda del bloque seleccionado. Para este fin, el
bloque seleccionado tiene que empezar y terminar con un paso. De este modo, el nuevo ramo
estar compuesto de un paso. Para permitir realizar saltos al ramo paralelo, debe tener una
etiqueta (ver 'Herramientas' 'Agregar marca de ramo paralelo').

'Insertar' 'Salto'. Acceso directo: <Ctrl>+<U>

Este comando inserta en el editor de SFC un salto al final del ramo al que pertenece el bloque
seleccionado. Para este fin, la divergencia de seleccin de secuencia tiene que ser una divergencia
de seleccin de secuencia alternativa.

'Insertar' 'Salto de transicin'

Este comando inserta en el editor de SFC una transicin seguida de un salto al final de la
divergencia de seleccin de secuencia seleccionada. Para este fin, la divergencia de seleccin de
secuencia tiene que ser una divergencia de seleccin de secuencia paralela.

'Insertar' 'Agregar accin de entrada'

Con este comando se puede aadir una accin de entrada a un paso. Una accin de entrada slo
se ejecuta una vez, inmediatamente despus de que el paso se haya activado. La accin de
entrada se puede implementar en cualquier lenguaje. Un paso con accin de entrada se identifica
con una 'E' en el ngulo inferior izquierdo.

'Insertar' 'Agregar accin de salida'

Con este comando puede aadir una accin de salida a un paso. Una accin de salida slo se
ejecuta una vez antes de que se desactive el paso. La accin de salida se puede implementar en
cualquier lenguaje. Un paso con accin de salida se identifica con una 'X' en el ngulo inferior
derecho.

'Herramientas' 'Insertar ramo paralelo (derecha)'

Este comando inserta el contenido del Portapapeles como la divergencia de seleccin de


secuencia paralela derecha del bloque seleccionado. Para este fin, el bloque seleccionado tiene
que empezar y terminar con un paso. El contenido del Portapapeles tambin ha de ser un bloque
SFC que empiece y termine con un paso.

'Herramientas' 'Agregar marca de ramo paralelo'

Para proveer un ramo paralelo insertado con una etiqueta, se debe marcar la transicin que se
encuentra antes del ramo paralelo y se debe ejecutar el comando 'Agregar marca para el ramo
paralelo'. El ramo paralelo se equipa con un nombre estndar "paralelo" y un nmero correlativo
que se puede editar segn las reglas para nombres de identificadores. En el siguiente ejemplo se
ha sustituido "paralelo" por "Par_1_2" y el salto despus de la transicin "Fin" se ha conducido a
esta etiqueta.
Borrar etiqueta

Una etiqueta se borra borranto el texto de la etiqueta.

'Herramientas' 'Insertar despus'

Este comando inserta el bloque SFC en el Portapapeles detrs del primer paso o de la primera
transicin del bloque seleccionado (con una accin de copia normal, lo inserta delante del bloque
seleccionado). Esta accin slo se ejecuta si la estructura SFC que se obtiene es correcta segn
las normas de lenguaje.

'Herramientas' 'Zoom accin/transicin'. Acceso directo: <Alt>+<Intro>

La accin del primer paso del bloque seleccionado o el tronco de transicin de la primera transicin
del bloque seleccionado se carga en el editor con el lenguaje en el que escrito. Si la accin o el
tronco de transicin estn vacos, habr que seleccionar el lenguaje que vaya a utilizarse.

'Herramientas' 'Borrar accin/transicin'

Con este comando, se pueden borrar las acciones del primer paso del bloque seleccionado o el
tronco de transicin de la primera transicin del bloque seleccionado. Si, en un paso, slo se
implementa la accin, la accin de entrada o la accin de salida, sta se borrar con este
comando. De lo contrario, aparecer un dilogo en el que podr seleccionar la accin o acciones
que se borrarn. Si el cursor se encuentra en una accin de un paso IEC, slo se borrar esta
asociacin. Si se ha seleccionado un paso IEC con una accin asociada, se borrar esta
asociacin. Para seleccionar un paso IEC con varias acciones, se muestra un dilogo.

'Herramientas' 'Atributos paso'

Con este comando se abre un dilogo donde podr editar atributos del paso seleccionado.
Dilogo para editar atributos de paso

Puede realizar tres entradas distintas en el dilogo de atributos de paso. En Tiempo mnimo, se
introduce la duracin mnima de la ejecucin del paso y, en Tiempo mximo, se introduce la
duracin mxima de la ejecucin del paso. Tenga en cuenta que las entradas son del tipo TIME.
Por lo tanto, se aplica la sintaxis descrita en el Apndice C. En Comentario, puede introducir un
comentario para el paso. Con 'Herramientas' 'Opciones', puede determinar si en el editor de SFC
se reproducirn los comentarios o el ajuste de tiempo para los pasos. De este modo, a la derecha
del paso aparecer el comentario o los ajustes de tiempo. Si se supera el tiempo mximo, se
establecen flags de SFC que el usuario podr consultar.

En el ejemplo se representa un paso cuya ejecucin tiene que durar dos segundos como mnimo y
diez como mximo. En el modo Online, adems de estos dos tiempos, se indica cunto tiempo
lleva activo el paso.

Flags de SFC

Para el control de Mdulos SFC se implementan flags especiales. Si, por ejemplo, un paso del
Mdulo est activo ms tiempo de lo que se indica en sus atributos, se establecen algunos flags
especiales. Adems, existen otras variables que es posible definir para controlar el proceso del
diagrama secuencial de funciones. Para utilizar los flags, es preciso declararlos, bien sea de forma
global o local, o como variable de salida o de entrada.

SFCCurrentStep
Esta variable especial es del tipo STRING. El paso actual de un Mdulo de SFC activo se indica en
esta variable.

SFCEnableLimit

Esta variable especial es del tipo BOOL. Si es tiene el valor TRUE, los excesos de tiempo se
registran en los pasos de SFCError. De lo contrario, las superaciones de tiempo se ignoran.

SFCReset: Esta variable de tipo booleano se comporta igual que SFCInit, pero se vuelve a ejecutar
el paso Init tras la iniciacin. Esto se podra utilizar, por ejemplo, para volver a fijar en FALSE el
indicador SFCReset en el paso Init

SFCInit

Esta variable tambin es de tipo BOOL. Si tiene el valor TRUE, el diagrama secuencial de
funciones volver a establecerse en el paso Init. El paso Init permanece activo siempre la variable
sea TRUE. El mdulo volver a procesarse normalmente, slo cuando SFCInit tenga de nuevo el
valor FALSE.

SFCPause

Esta variable tambin es de tipo BOOL. Si tiene el valor TRUE, el diagrama secuencial de
funciones se detiene en el paso actual. Este paso permanece activo (aunque la accin no se
ejecuta) siempre que la variable sea TRUE. El mdulo volver a procesarse normalmente, slo
cuando SFCPause tenga de nuevo el valor FALSE.

SFCTrans: Esta variable booleana es TRUE, si conecta una transicin.

SFCError

Esta variable de Bool se establece cuando se ha producido un exceso de tiempo en un Mdulo de


SFC.

SFCErrorStep

Esta variable es de tipo String. En caso de que se produzca exceso de tiempo, en esta variable se
guarda el nombre del paso que ha causado el exceso de tiempo.

SFCErrorPOU

Esta variable de tipo String contiene, en caso de que se produzca un exceso de tiempo, el nombre
del Mdulo donde se ha producido el exceso.
SFCErrorAnalyzation: Esta variable de tipo STRING emite la expresin de transicin o cada
variable de una expresin compuesta que lleva a una FALSE de la transicin y con ello se supera
el tiempo del paso anterior. La condicin previa es la declaracin del flag SFCError, que registra el
exceso de tiempo. SFCErrorAnalyzation recurre a una funcin AppendErrorString de la biblioteca
analyzation.lib. La cadena de salida separa varios componentes con el carcter "|".

SFCQuitError

Se trata de una variable de tipo BOOL. Siempre que esta variable sea TRUE, la ejecucin del
diagrama SFC se detendr y, si se produce un eventual exceso del tiempo, la variable SFCError se
pondr a cero. Cuando la variable vuelve a tener el valor FALSE, se reponen todos los tiempos
anteriores de los pasos activos. Si en algn momento se ha producido un exceso del tiempo y la
variable SFCError no se ha puesto a cero, no se registrar ningn otro exceso de tiempo.

SFCTip, SFCTipMode: Estas variables booleanas permiten el modo de impulso del SFC. Si se
conecta mediante SFCTipMode=TRUE, se puede volver a conectar en el siguiente paso fijando
SFCTip en TRUE. En cuanto se fija SFCTipMode en FALSE, se puede volver a conectar mediante
las transiciones.

'Herramientas' 'Resumen de tiempos'

Con este comando se abre una ventana donde se pueden establecer los ajustes de tiempo de los
pasos de SFC:

Vista de conjunto de los lmites de tiempo para un Mdulo de SFC


En la vista de conjunto de los lmites de tiempo se representan todos los pasos del Mdulo de SFC.
Si ha indicado una limitacin de tiempo para un paso, sta se indica a la derecha del paso (primero
el lmite inferior y, despus, el lmite superior). Asimismo, puede editar las limitaciones de tiempo.
Para ello, haga clic en el paso que desee de la vista de conjunto. A continuacin, el nombre del
paso se indica en la parte inferior de la ventana; utilice el campo Tiempo mnimo o Tiempo mximo
para introducir la limitacin de tiempo que desee.

Tenga en cuenta que las entradas son del tipo TIME, es decir, utilice una constante TIME (p.ej.
T#3s) o una variable del tipo TIME. Si cierra la ventana con Aceptar, se guardarn todas las
modificaciones. Si cierra la ventana con Aceptar, se guardarn todas las modificaciones.

En el ejemplo, los pasos 2 y 6 tienen un lmite de tiempo. Conmut1 dura dos segundos como
mnimo y diez como mximo. Conmut2 dura siete segundos como mnimo y ocho como mximo.

'Herramientas' 'Opciones'

Con este comando se abre un dilogo donde podr ajustar distintas opciones para el Mdulo de
SFC.

En el dilogo de opciones de diagrama secuencial de funciones, puede realizar cinco entradas. En


Altura de paso, puede introducir la cantidad de lneas (altura) que tendr un paso de SFC en el
editor de SFC. En este caso, el ajuste por defecto es 4. En Ancho de paso, puede introducir la
cantidad de columnas (anchura) que tendr un paso. En este caso, el ajuste por defecto es 6. El
ancho del comentario define la cantidad de columnas que se visualizan si se visualiza el
comentario en el paso.
Adems, puede ajustar la indicacin que se realizar en el paso. Se ofrecen tres posibilidades:
puede determinar que no se muestre nada, o que aparezca el comentario o el control de tiempo.
Las dos ltimas opciones se muestran segn se han introducido en 'Herramientas' 'Atributos paso'.

'Herramientas' 'Asociar accin'

Con este comando se pueden asociar acciones y variables de Bool para pasos IEC. A la derecha
del paso IEC, se aade otra casilla dividida en dos para la asociacin de una accin. El valor por
defecto se sita en el campo izquierdo con el calificador 'N' y el nombre 'Action'. Es posible
modificar ambos valores por defecto y, para ello, puede utilizar la ayuda de entrada. Con el
comando 'Proyecto' 'Aadir accin' del Object Organizer de un Mdulo de SFC se crean nuevas
acciones para pasos IEC.

'Herramientas' 'Utilizar pasos IEC'

Si este comando est activo (se indica mediante el smbolo de correccin que aparece delante del
men y el smbolo presionado de la barra de funciones) se insertan pasos IEC en lugar de los
pasos simplificados cuando se incluyen transiciones de paso y ramos paralelos.

El diagrama secuencial de funciones en el modo Online

En el modo Online del editor de diagramas secuenciales de funciones, los pasos actualmente
activos se muestran en azul (en color negro en el ejemplo). Si ha ajustado los pasos en
'Herramientas' 'Opciones', junto a estos, aparecer el control de tiempo. Debajo de los lmites
inferiores y superiores introducidos por el usuario, se muestra una tercera indicacin de tiempo en
la que puede verse la cantidad de tiempo que el paso lleva activo. En la figura de arriba, el paso
representado est activo desde hace 8 segundos y 410 milisegundos.

No obstante, tiene que estar activo por lo menos 7 minutos hasta que se abandone el paso. Con
'En lnea' 'Breakpoint ON/OFF' se puede colocar un breakpoint en un paso. De este modo, el
procesamiento se detiene antes de la ejecucin de dicho paso. El paso que contiene el breakpoint
adquiere un color azul claro. Si en una divergencia de seleccin de secuencia paralela existen
varios pasos activos, el paso activo cuya accin se procesar en el siguiente lugar se representa
de color rojo. Si se han utilizado pasos IEC, todas las acciones activas en el modo Online se
representan de color azul. Tambin SFC admite la ejecucin paso a paso

Con 'En lnea' 'Paso nico sobre' se pasa siempre al siguiente paso cuya accin se ejecuta.

Si la posicin actual es

un paso en un flujo linear de un mdulo o un paso en la rama paralela ms a la derecha de


un mdulo, se sale del mdulo SFC y se vuelve al emisor. Si el mdulo es el programa
principal, empieza el siguiente ciclo.

un paso en una rama que no es la que est ms a la derecha de una divergencia paralela,
se pasa al paso activo del siguiente ramo paralelo.

la tlima posicin de Breakpoint dentro de un accin 3S, se pasa al emisor del SFC.

la ltima posicin de Breakpoint dentro de una accin IEC, se pasa al emisor del SFC.

la ltima posicin de Breakpoint dentro de una accin de entrada o accin de salida, se


pasa al primer paso activo.

Con 'En lnea' 'Paso nico en' es posible introducirse en acciones o transiciones. Si se pasa a un
accin de entrada, de salida o IEC se deber fijar un Breakpoint.

Dentro de las acciones, el usuario dispone de todas las funciones de Debug del correspondiente
editor. Si mantiene el puntero del ratn sobre una variable durante un breve espacio de tiempo, el
tipo y el comentario de la variable se mostrarn en un recuadro de ayuda emergente.
Diagrama secuencial de funciones en el modo Online con un paso activo (Conmut1) y un
breakpoint (Step10)

Nota:

Secuencia de ejecucin de los elementos de una cadena de pasos:

1. Primero se restablecen todos los indicadores de Action Control Block de las acciones IEC
que se utilizan en esta cadena de pasos. (Pero no los indicadores de acciones IEC que se
llaman dentro de las acciones).

2. Para todos los pasos se verifica, en la secuencia en la que aparecen en la secuencia de


pasos (de arriba a abajo y de izquierda a derecha), si se ha indicado y en su caso
ejecutado la condicin para la ejecucin de la accin de salida.
3. Para todos los pasos se verifica, en la secuencia en la que aparecen en la cadena de
pasos, si la condicin para la accin de entrada se cumple y en su caso ejecutado.

4. Para todos los pasos, en la secuencia en la que aparecen en la cadena de pasos, se


realizalo siguiente:
- En su caso se copia el tiempo transcurrido en la variable de paso correspondiente.
- En su caso se comprueba un exceso de tiempo y se utiliza el indicador de error SFC
segn corresponda.
- En el caso de pasos que no sean IEC se ejecuta la accin correspondiente.

5. Las acciones IEC que se utilizan en la cadena de pasos se ejecutan en orden alfabtico.
Para ello se pasa dos veces por la lista de acciones. En la primera ejecucin se ejecutan
todas las acciones IEC desactivadas en el ciclo actual. En la segunda ejecucin se
ejecutan todas las acciones IEC activas en el ciclo actual.

6. Las transiciones se evalan. Si el paso estaba activo en el ciclo actual y la siguiente


transicin devuelve el valor TRUE (y eventualmente ya ha transcurrido el tiempo mnimo
activo), se activa el siguiente paso.

Durante la implementacin de acciones se debe tener en cuenta lo siguiente:

Puede suceder que una accin se ejecute varias veces en un mismo ciclo porque est asociada a
varias cadenas de pasos. (Por ejemplo, un SFC podra contener dos acciones IEC, A y B, y si
ambas estn implementadas en el SFC, y ambas llaman la accin IEC C, las acciones IEC A y B
podran estar activas en el mismo ciclo y en las dos acciones IEC la accin IEC C puede estar
activa, de forma que C se llamara dos veces).

Si la misma accin IEC se utiliza al mismo tiempo en distintos niveles de un SFC, esto podra tener
efectos indeseados a causa de la secuencia de ejecucin descrita anteriormente. Por ello, en este
caso se emite un mensaje de error.

Esto puede suceder en la edicin de proyectos que se han creado con versiones anteriores de
TwinCAT PLC Control!

Nota:

En la monitorizacin de expresiones (p.ej. A AND B) en las transiciones slo se representa el "valor


total" de la transicin.

TwinCAT PLC Control: Recursos


Descripcin general

En la ficha Recursos del Object Organizer se encuentran objetos para la configuracin y


organizacin de su proyecto y para el seguimiento de valores de variables:

Variables globales que se pueden utilizar en todo el proyecto

Alarm Configuration for configuring of alarm classes and alarm groups which can be used
for example in the visualization.

Administracin de libreras for managing all libraries inculded in the project

Registro for storing in chronological order actions that occur during an Online session.

Configuraciones del PLC para configurar el hardware

Configuracin de tareas para controlar el programa a travs de tareas

Sampling Trace para el registro grfico de valores de variables

Visor de Variables o de Frmulas para la visualizacin e introduccin de valores de


variables.

rea de trabajo Overview of all settings of project options


Recursos

TwinCAT PLC Control: Recursos

Variables globales

En la carpeta Variables globales de la ficha Recursos del Object Organizer se encuentran tres
objetos (entre parntesis, los nombres por defecto de los objetos) de forma estndar:

Lista de variables globales

Configuracin de variables

Todas las variables definidas en estos objetos se comparten en todo el proyecto. Si la carpeta
Variables globales no est abierta (signo Ms delante de la carpeta), brala haciendo doble clic o
pulsando la tecla <Intro> en la lnea. Seleccione el correspondiente objeto. Con el comando 'Editar
objeto', se abrir una ventana que contiene las variables globales definidas hasta el momento.

Varias listas de variables

Si ha declarado un gran nmero de variables globales y quiere estructurar mejor su lista de


variables globales, puede crear otras listas. Las variables globales normales (VAR_GLOBAL) y las
configuraciones de variables (VAR_CONFIG) se tienen que definir en objetos separados. En el
Object Organizer, seleccione la carpeta Variables globales o uno de los objetos existentes que
incluya variables globales y ejecute el comando 'Proyecto' 'Insertar objeto'. Asigne al objeto un
nombre descriptivo en el cuadro de dilogo que aparece a continuacin. De este modo, se crea
otro objeto con la palabra clave VAR_GLOBAL. Si desea disponer de un objeto con
configuraciones de variables, modifique la palabra clave para obtener VAR_CONFIG.

Variables globales

Como variables globales se pueden declarar variables "normales", constantes o variables


remanentes que son conocidas en todo el proyecto.

Crear una lista de variables global


Para crear una lista de variables global nueva, marque en el Object Organizer, bajo Recursos, la
entrada 'Variables globales' o una lista de variables global ya creada. Si selecciona el comando
'Proyecto' 'Objeto' 'Insertar', se abrir el dilogo Lista de variables global.

Este dilogo se abre para visualizar una configuracin de la lista de variables global marcada en el
Object Organizer tambin con el comando 'Proyecto' 'Objeto' 'Propiedades'.

Editar las listas para Variables globales remanentes

Si est soportado por el sistema de tiempo de ejecucin, se podr trabajar con variables
remanentes.

Hay dos clases de variables globales remanentes:

Las variables Retain permanecen tras una finalizacin no controlada del sistema de tiempo de
ejecucin (On/Off) o tras un 'Online' 'Reset' en el sistema de tiempo de ejecucin.

Las variables persistentes permanecen en caso de una finalizacin controlada del sistema de
tiempo de ejecucin (Paro,Inicio) o bien se conserva para un 'Online' 'Reset fro' o un download.

Las variables persistentes no son automticamente variables Retain!

Las variables remanentes tambin conservan la palabra clave RETAIN o PERSISTENT...

Sintaxis:

VAR_GLOBAL RETAIN
(* Declaraciones de variables *)
END_VAR

VAR_GLOBAL PERSISTENT
(* Declaraciones de variables *)
END_VAR

Constantes globales

Las constantes globales reciben adicionalmente la palabra clave CONSTANT.

Sintaxis:
VAR_GLOBAL CONSTANT
(* Declaraciones de variables *)
END_VAR

Configuracin de variables

En Mdulos de Funciones, las direcciones para entradas y salidas que no estn totalmente
definidas se pueden indicar en variables definidas entre las palabras clave VAR y END_VAR. Las
direcciones que no estn completamente definidas se marcan con un asterisco.

Ejemplo:

FUNCTION_BLOCK locio
VAR
loci AT %I*: BOOL := TRUE;
loco AT %Q*: BOOL;
END_VAR

Aqu se definen dos variables de E/S locales: Local-In (%I*) y Local-Out (%Q*). Si quiere configurar
E/Ss locales, el objeto Variablen_Konfiguration est disponible de forma estndar para la
configuracin de variables en la ficha Recursos del Object Organizer. Es posible cambiar el nombre
del objeto y crear otros objetos para la configuracin de variables. El editor para la configuracin de
variables funciona como el editor de declaraciones. Las variables para la configuracin de E/S local
se tienen que situar entre las palabras clave VAR_CONFIG y END_VAR. El nombre de este tipo de
variable se compone de una ruta de instancia completa, donde los distintos nombres de los
mdulos e instancias se separan mediante puntos. La declaracin tiene que contener una direccin
cuya clase (entrada/salida) se corresponda con la de la direccin (%I*, %Q*) no especificada
completamente en el Mdulo de Funciones. Asimismo, el tipo de datos tiene que coincidir con la
declaracin del Mdulo de Funciones. Las variables de configuracin cuyas rutas de instancia no
sean vlida porque dicha instancia no exista, se marcan como errores. A la inversa, tambin se
genera un error si no existe ninguna configuracin para una variable de instancia. Para obtener una
lista completa de todas las variables de configuracin necesarias, se puede utilizar el comando de
men 'Todas las rutas de instancia' del men 'Insertar'.

Ejemplo:

En un programa existe la siguiente definicin de Mdulos de Funciones:

PROGRAM PLC_PRG
VAR
Hugo: locio;
Otto: locio;
END_VAR

De este modo, una configuracin de variables correcta sera:

VAR_CONFIG
PLC_PRG.Hugo.loci AT %IX1.0 : BOOL;
PLC_PRG.Hugo.loco AT %QX0.0 : BOOL;
PLC_PRG.Hugo.loci AT %IX1.0 : BOOL;
PLC_PRG.Otto.loco AT %QX0.3 : BOOL;
END_VAR

Aqu se definen dos variables de E/S locales: Local-In (%I*) y Local-Out (%Q*).

Nota:

Tenga en cuenta que una salida que se utiliza en la configuracin de variables no se describe en el
proyecto directamente o a travs de una variable (declaracin AT), dado que esto no se tiene en
cuenta.

'Insertar' 'Todas las rutas de instancia'

Con este comando se crea un bloque VAR_CONFIG - END_VAR que contiene todas las rutas de
instancia del proyecto. Las declaraciones disponible no se vuelven a insertar para conservar las
direcciones existentes. Este comando de men est disponible en la ventana de la configuracin
de variables si el proyecto est compilado ('Proyecto''Compilar todo').

Plantilla

Si tiene que documentar un proyecto varias veces, por ejemplo con comentarios en espaol y en
ingls, o si quiere documentar varios proyectos similares que utilizan los mismos nombres de
variables, puede evitar mucho esfuerzo creando una plantilla con el comando 'Herramientas' 'Crear
plantilla'. El archivo creado se puede cargar en cualquier editor de texto y editarse. El archivo
empieza por la lnea DOKUFILE seguida de una lista de variables de proyecto con tres lneas
especificadas para cada variable: una lnea VAR que indica cundo empieza una nueva variable,
una lnea con el nombre de la variable y, finalmente, una lnea vaca. Esta lnea se puede sustituir
por un comentario sobre la variable. Las variables que no desee documentar se pueden borrar
simplemente del texto. Puede crear un nmero ilimitado de plantillas para su proyecto.

Editor de Windows con plantilla

Para utilizar una plantilla, introduzca el comando 'Herramientas' 'Seleccionar plantilla'. Si


documenta todo el proyecto o imprime partes del mismo, el comentario creado en la plantilla se
inserta en el texto del programa para todas las variables. Este comentario aparece nicamente en
la impresin!

'Herramientas' 'Crear plantilla'

Con este comando se crea una plantilla. El comando est disponible cuando un objeto de las
variables globales est seleccionado. Se abrir el dilogo para guardar archivos con un nombre. El
campo de nombre de archivo ya contiene la extensin *.txt. Seleccione cualquier nombre. A
continuacin, se crear un archivo de texto con una lista de todas las variables del proyecto.

'Herramientas' 'Seleccionar plantilla'

Con este comando se selecciona una plantilla. Se abre el dilogo de apertura de archivos.
Seleccione la plantilla que desee y pulse Aceptar. Si documenta todo el proyecto o imprime partes
del mismo, el comentario creado en la plantilla se inserta en el texto del programa para todas las
variables. Este comentario aparece nicamente en la impresin! Para crear una plantilla, utilice el
comando 'Herramientas' 'Crear plantilla'.

TwinCAT PLC Control: Recursos

Resumen

Con ayuda del sistema de alarma integrado en TwinCAT PLC Control es posible determinar
estados crticos de procesos, registrarlos o ejemplificarlos al usuario a travs de una visualizacin.
Sin embargo, el tratamiento de las alarmas puede ser ejecutado tambin en TwinCAT PLC Control,
opcionalmente sobre el mando. Vea para ello las configuraciones de sistema de destino en el
dilogo 'Visualizacin'.
Para la configuracin se dispone de la 'Configuracin de alarmas' en el Object Organizer en el
registro Recursos.
Aqu se definen las clases y los grupos de alarmas. La clase de alarma sirve para la tipificacin de
la alarma, esto quiere decir, que le asigna determinados parmetros. El grupo de alarma sirve para
la configuracin concreta de una o varias alarmas (a los que le han sido asignados en cada caso
una determinada clase y otros parmetros) para empleo en el proyecto. Por lo tanto ofrece la
posibilidad de la estructuracin de alarmas disponibles. Los diferentes grupos de alarma se colocan
y definen por el usuario bajo el punto de estructuracin 'Sistema'.
Para la visualizacin de alarmas se dispone del elemento 'Tabla de alarmas' en la visualizacin. En
esta tabla el usuario puede supervisar y confirmar alarmas.
Para obtener un historial, esto es, los registros de eventos de alarma en un archivo Log, se debe
indicar una de ellas y definir para cada grupo el comportamiento de memorizacin.

Si selecciona el punto 'Configuracin de alarmas' en los recursos, se abre el dilogo 'Configuracin


de alarmas' con una ventada dividida en dos partes, cuyo modo de funcionamiento se corresponde
a la configuracin de mando o configuracin de tarea. A la izquierda se representa el rbol de
configuracin, a la derecha el dilogo de configuracin adecuado para el punto seleccionado en el
rbol.

Mediante un clic del ratn sobre el signo positivo delante del punto 'Configuracin de alarmas' abra
el rbol actualmente disponible. En caso de una nueva configuracin recibe slo los puntos 'Clases
de alarma' y 'Sistema'.
TwinCAT PLC Control: Recursos

Sistema de alarma, conceptos

El empleo de un sistema de alarmas en TwinCAT PLC Control sigue las siguientes descripciones y
definiciones sobre alarmas siguientes vlidas en general:

Alarma: Generalmente una alarma se ve como una condicin especial (valor de una
expresin).

Prioridad: La prioridad o tambin severidad Severity de una alarma, describe que


gravedad o tambin que importancia tiene la condicin de alarma. La mxima prioridad es
"0", la menor indicacin posible es "255".

Estado de alarma: Una expresin/variable configurada para la supervisin de las alarmas


puede asumir los siguientes estados: NORM (ningn estado de alarma), INTO (acaba de
presentarse una alarma, "Alarma entrante"), ACK (se ha presentado la alarma y ha sido
confirmada por el usuario), OUTOF (el estado de alarma fue nuevamente finalizado,
"Alarma saliente, pero an no confirmada!)

Subestado: Una condicin de alarma puede poseer lmites (Lo, Hi) y lmites "extremos"
(LoLo, HiHi). Ejemplo: El valor de una expresin se incrementa y sobrepasa primero el
lmite HI, a lo que se presenta la alarma HI. Si el valor continua subiendo y antes de la
confirmacin de la alarma HI sobrepasa el lmite HIHI, se confirma internamente de forma
automtica la alarma HI y existe an el estado de alarma HIHI en la lista de alarmas (lista
interna para administracin de las alarmas). El estado HI en este caso se denomina como
subestado.

Confirmacin de alarmas: Una aplicacin principal de alarmas es, comunicar una


situacin de alarma al usuario. En este caso frecuentemente es necesario asegurar, que
este tambin haya recibido la comunicacin (vase posibles acciones en la configuracin
de clases de alarmas). El usuario tiene que "confirmar" la alarma para que esta sea
borrada de la lista de alarmas.

Evento de alarma: Un evento de alarma no puede ser confundido con una condicin de
alarma. Mientras que una condicin de alarma puede mantenerse durante un periodo de
tiempo ms prolongado, el evento de alarma describe la presencia momentnea de una
modificacin, por ejemplo de un estado normal a un estado de alarma. Posibles eventos de
alarma: INTO, OUTOF, ACK,

En TwinCAT PLC Control se soportan las siguientes posibilidades.

Desactivacin de la generacin de alarma de alarmas individuales, as como grupos de


alarmas completos

Seleccin de las alarmas a ser representadas a travs de grupos de alarmas as como la


prioridad de cada una de ellas.

Memorizacin de todos los eventos de alarma presentados

Elemento de visualizacin de la tabla de alarmas en la visualizacin de TwinCAT PLC


Control

TwinCAT PLC Control: Recursos

Clases de alarma

Las clases de alarmas sirven para la descripcin general de determinados criterios de


alarma como p.ej. la filosofa de confirmacin (confirmacin de una alarma a travs del
usuario), la ejecucin de la accin (que es lo que debe suceder ante determinados estados
de alarma) y la visualizacin en la tabla de alarmas. Las clases de alarmas se definen
globalmente en la configuracin de alarmas y estn a disposicin entonces de cada grupo
de alarmas como "Configuracin bsica"
Configuracin de clases de alarmas:
Marque el punto 'Clases de alarmas' en el rbol de configuracin de alarmas. Aparece el
dilogo de configuracin 'Clases de alarmas':
Dilogo de configuracin 'Clases de alarmas'

Pulse el botn Agregar, para crear una clase de alarma. A consecuencia de ello se inserta
una lnea en la ventana superior, que de momento slo indica la configuracin "NOACK"
(no acknowledgement) (sin confirmacin) en la columna 'Confirmacin'. Asigna un nombre
nuevo para la clase de alarma, abriendo un marco de edicin con un clic del ratn sobre el
campo debajo de Nombre y seleccione en caso dado otro tipo de confirmacin de la lista
de seleccin debajo de Confirmacin.

Existen los siguientes tipos de confirmacin:


NO_ACK: Ninguna confirmacin de la alarma requerida por parte del usuario

ACK_INTO: Una "Condicin de alarma entrante" (Estado "INTO", se produce la alarma)


debe ser confirmada por el usuario.

ACK_OUTOF: Una "Alarma saliente" (Estado "OUTOF", alarma finalizada) debe ser
confirmada por el usuario.

ACK_ALL: Condiciones de alarmas entrantes y salientes deben ser confirmadas por el


usuario.

Adicionalmente puede introducir un Comentario.

Introducciones para otras clases de alarma se adjunta en cada caso abajo en la lista.
Con el botn Eliminar se borra la introduccin justamente seleccionada de la lista.

Acciones asignadas para clase <Nombre de clase>:

Cada clase de alarma puede ser asignada a una lista de acciones, que deben ser
activadas al presentarse eventos de alarma.
Marque en la lista Posibles acciones la deseada y llvela a travs del botn ">" al campo
Acciones seleccionadas. A travs del botn ">>" puede seleccionar simultneamente
todas las acciones. Asimismo a travs de "<" o bien "<<" elimina una o todas las acciones
nuevamente de la seleccin.
Cuando se ha marcado una accin seleccionada de la lista, se puede abrir a travs del
botn "..." un dilogo adecuado, en el que se pueden definir, la direccin de correo
electrnico, ajustes de impresora y en cada caso un texto de mensaje.

Se soportan los siguientes tipos de acciones:

Configuraciones que se realizan en el


Accin Descripcin dilogo correspondiente.

Guardar: El evento de alarma se Estos ajustes deben ser realizados en la


memoriza internamente, configuracin de la memorizacin de alarmas.
para por ejemplo ser
emitida en un archivo
Log. Tenga en cuenta lo
siguiente: Para ello este
archivo tiene que haber
sido definido en la
configuracin de grupo
de alarma!

Imprimir: Se emite un mensaje a Interfaz de la impresora: Seleccione una


una impresora impresora definida sobre el sistema local;
Presentacin de texto: Texto de mensaje
(v.b.), que debe ser impreso

Mensaje: Se abre un cuadro de Mensaje: Texto de mensaje (v.b.), que debe


mensaje con el texto a ser emitido a travs de una ventana de
ser definido. mensaje propia.

E-Mail: Se enva un correo De: Direccin E-Mail del remitente;


electrnico, que contiene Para: Direccin E-Mail del receptor;
el texto de mensaje a ser Asunto: Texto de referencia;
definido. Mensaje: Texto del mensaje (v.b.);
Servidor: Nombre del servidor de E-Mail

Variable: Una variable del actual Variable: Nombre de variable: Una variable
proyecto se le asigna al puede ser seleccionada a travs de la ayuda
estado de alarma o bien de entrada (<F2>): Se puede emplear una
al texto de mensaje. variable booleano, para indicar el estado de
alarma NORM=0 e INTO=1, una variable
entero muestra el estado de alarma NORM
=0, INTO =1, ACK =2, OUTOF =4; una
variable de cadena se le asigna al texto de
mensaje, que est definido en el campo
Mensaje (v.b.)

Ejecutar: Se inicia un programa en Archivo ejecutable: Nombre del archivo que


el momento que se debe ser ejecutado (p.ej. notepad.exe); a
presenta una alarma travs del botn "..." se puede solicitar la
(v.b.). ayuda de un dilogo estndar para seleccin
de un archivo;
Parmetro: Parmetro correspondiente al
archivo exe, que debe ser adjuntado al
realizar la llamada.

Definicin del texto de mensaje:

En la configuracin de las acciones 'Mensaje','E-Mail', 'Imprimir', 'Variable' y en caso dado


'Ejecutar' puede definir un texto de mensaje, que al presentarse un evento de alarma (v.b.)
debe ser emitido. Los saltos de lnea deben ser insertados con <Ctrl>+<Entrar>.
Se pueden utilizar los siguientes marcadores de posicin:

MESSAGE Se emite el texto de mensaje definido para la alarma en la


configuracin de grupo de alarmas (columna mensajes).

DATE La fecha del cambio al estado correspondiente (INTO)

TIME Se emite la hora actual de presentacin de la alarma

EXPRESSION La expresin (definida en el grupo de alarmas), que ha activado la


alarma

PRIORITY Prioridad de la alarma (definido en el grupo de alarmas).

VALUE Valor actual de la expresin

TYPE Tipo de alarma (definido en el grupo de alarma)

CLASS Clase de alarma (definido en el grupo de alarmas)

TARGETVALUE Valor de objetivo en tipos de alarmas DEV+ y DEV- (definido en el


grupo de alarmas)

DEADBAND Tolerancia de la alarma (definido en el grupo de alarmas)

ALLDEFAULT Se emiten todas las indicaciones sobre la alarma, como se


describe para la emisin en un archivo de memoria (historial)

Ejemplo:

Introduzca en la ventana de mensajes lo siguiente, para la definicin del cuadro de


mensaje (accin 'Mensaje' ):


Introduzca adems lo siguiente en la definicin de la alarma en el grupo de alarmas en el
campo de la tabla 'Mensaje': "Temperature critical !" (Temperatura crtica) El mensaje de
alarma se emite entonces de la siguiente manera:
Nota:

El texto del mensaje puede ser tenido en cuenta a travs de un archivo *.vis o asimismo un
archivo de traduccin *.tlt durante una conmutacin de idioma. Para ser asumido en un
archivo de traduccin *.tlt , las secuencia de caracteres no obstante - como en todos los
textos referidos a la visualizacin - debe ser provisto al inicio y al final con caracteres "#"
(p.ej. en el ejemplo arriba indicado: "#Temperature critical !#" y "TIME /EXPRESSION:
MESSAGE #current#: VALUE", para obtener las correspondientes partes de texto como
ALARMTEXT_ITEM en el archivo de traduccin.)

Un archivo de memoria para la accin 'Guardar' se define dentro de la configuracin de


grupo de alarmas.

Sucesos de eventos para acciones:

Para cada accin se determina ante que eventos de alarma se activa.


Active los eventos deseados:
INTO Se presenta la alarma.
ACK Se produce una confirmacin por parte del usuario.
OUTOF Finaliza el estado de alarma.

Colores/Mapa de bits para clase:

A cada clase de alarma se le pueden asignar diferentes colores y mapas de bits, los que
entonces ante una visualizacin de la tabla de alarmas, se emplean para la diferenciacin
de las mismas. Seleccione en cada caso color de primer plano y color de fondo para los
posibles eventos de alarma INTO, ACK y OUTOF (vase arriba). Para ello si hace clic
sobre el smbolo de flecha se abre el dilogo estndar para seleccin de color, o bien si
oprime sobre el cuadrado gris correspondiente, el dilogo para seleccin de un archivo de
mapa de bits.

TwinCAT PLC Control: Recursos

Grupos de alarmas

Los grupos de alarmas sirven para la estructuracin de diferentes alarmas. Cada alarma est
asignada exactamente a un grupo de alarmas y est gestionado por este. Todas las alarmas de un
grupo pueden recibir la asignacin de una variable de desactivacin comn y parmetros comunes
con relacin a la memorizacin de alarmas. El grupo puede entonces servir para la estructuracin
de las alarmas disponibles. Tambin una nica alarma debe ser configurada en un grupo de
alarmas.
Una estructuracin jerrquica de grupos de alarmas en la configuracin de alarmas, puede ser
realizada con ayuda de elementos de carpetas. Cuando se selecciona un grupo de alarmas en el
rbol de configuracin de alarmas, se visualiza automticamente el dilogo grupo de alarmas:

Dilogo de configuracin 'Grupo de alarmas'

En el campo descripcin puede introducir una denominacin para el grupo de alarmas.


Como variable de desactivacin se puede registrar una variable de proyecto booleano, que con el
flanco ascendente desactiva la emisin de alarmas para todas aquellas del grupo y con flanco
descendente las vuelve a activar.
A travs del botn Agregar pueden ser adicionadas alarmas individuales que se definen a travs
de los siguientes parmetros:
Expresin: La variable de proyecto, a la cual se refiere la alarma. Para la correcta introduccin
tome la ayuda de entrada <F2> o bien la funcin Intellisense. Tambin se puede registrar una
expresin (p.ej. "a + b")

Tipo: Se pueden emplear los siguientes tipos de alarmas: (Observe el comentario correspondiente
en cada caso, que se visualiza debajo de la tabla)

DIG=0: Se activa la alarma digital, cuando la expresin asume el valor falso FALSE.

DIG=1: Se activa la alarma digital, cuando la expresin asume el valor verdadero TRUE.

LOLO: Se activa la alarma analgica, cuando la expresin se encuentra por debajo del
valor indicado bajo 'Tipo de alarma LOLO'. Es posible una indicacin de tolerancias en
porcentaje del valor. Dentro del marco de tolerancias no se activa ninguna alarma, an
encontrndose por debajo del valor LOLO.

LO: Equivalente a LOLO

HI: Se activa la alarma analgica, cuando la expresin sobrepasa el valor indicado bajo
'Tipo de alarma HIHI'. Es posible una indicacin de tolerancias en porcentaje del valor.
Dentro del marco de tolerancias no se activa ninguna alarma, an sobrepasando el valor
HI.

HIHI: Equivalente a HI

DEV-: Desviacin (desviacin del valor de objetivo); se activa la alarma, cuando la


expresin se encuentra por debajo del valor de objetivo indicado bajo 'Tipo de alarma
DEV-'+desviacin procentual. Desviacin porcentual = valor de objetivo* (desviacin en
%) /100.

DEV+: Desviacin (desviacin del valor de objetivo); se activa la alarma, cuando la


expresin sobrepasa el valor de objetivo indicado bajo 'Tipo de alarma DEV-'+desviacin
procentual. Desviacin porcentual = valor de objetivo* (desviacin en %) /100.

ROC: Rate of Change (coeficiente de modificacin por unidad de tiempo);se activa la


alarma, cuando la expresin se ha modificado como demasiada intensidad con relacin al
valor anterior. El valor lmite para activacin de la alarma de la intensidad de modificacin
se define por la cantidad de unidades (modificacin de valor), que se modifican por
segundo, minuto u hora.
Clase: Seleccione la clase de alarma deseada. Recibir para eleccin las clases definidas en la
configuracin de alarmas antes de la ltima memorizacin del proyecto.

Prioridad: Aqu pueden ser asignadas prioridades de 0-255, donde 0 tiene la mayor prioridad. La
prioridad repercute sobre la clasificacin en la tabla de alarmas.

Mensaje: Defina aqu los textos para el mensaje, que puede ser indicado dentro de la tabla de
alarmas o a travs de la macro "MESSAGE" dentro de las correspondientes acciones. Este cuadro
debe ser confirmado por el usuario con Aceptar, lo que sin embargo no confirma automticamente
la alarma! Para la confirmacin de la alarma se debe acceder a la lista de alarmas, lo que es
posible a travs del elemento de visualizacin 'Tabla de alarmas', o bien a travs de la fecha de
registro de la alarma, que se debe extraer del archivo de memoria, el cual puede ser creado
opcionalmente.

Desactivacin: Aqu puede ser registrada una variable de proyecto, que ante un flanco
ascendente desactiva la emisin de la alarma. Observe sin embargo, que esta entrada se
sobrescribe a travs de un registro realizado a travs del campo 'Variable de desactivacin' (vase
arriba).

TwinCAT PLC Control: Recursos

Memorizacin de alarmas

Para cada grupo de alarmas se puede definir un archivo, en el que se guardan los eventos de
alarma, cuando se ha activado (!) un "Guardar" en la lista de acciones de la clase afectada.
Seleccione el grupo de alarmas en el rbol de configuracin de alarmas y seleccione la hoja de
registro de dilogo 'Memorizacin de alarmas':
Dilogo de configuracin 'Memorizacin de alarmas'

Son posibles las siguientes entradas:

Ruta del archivo: Ruta del directorio para el archivo indicado bajo nombre de archivo; a travs del
botn "..." obtendr un dilogo estndar para seleccin del directorio.

Nombre de archivo: Nombre del archivo, que deben guardar los eventos de alarma (p.ej.
"alarmlog"). Automticamente se crea el archivo con el nombre aqu definido, al que se le agrega
una cifra as como la extensin ".alm". La cifra indica la versin del archivo log. El primer archivo de
memoria se provee de un 0, los siguientes, que se crean en funcin de las condiciones definidas
bajo 'Evento de cambio de archivo', de forma creciente con 1, 2, etc. (Ejemplo -> "alarmlog0.alm",
"alarmlog1.alm). El formato del archivo de memoria puede ser definido a travs del dilogo
'Configuraciones del marco de documentacin'.

Evento de cambio de archivo: Introduzca aqu las condiciones, bajo las cuales se debe crear un
archivo nuevo. Posibles condiciones: Jams, tras una hora, tras un da, tras una semana, tras un
mes, tras un flanco ascendente de una variable indicada bajo 'Variable de impulso de disparo', tras
alcanzar una determinada cantidad de entradas definido bajo 'Cantidad mxima de entradas'.

Variable de impulso de disparo o bien Cantidad mxima de registros: vase Evento de cambio
de archivo:

Borrar datos antiguos tras .. horas: Cantidad de das tras la fecha de creacin, tras las cuales se
borran todos los archivos de memoria de alarma excepto el actual.

El archivo de memoria (historial) contiene los siguientes registros:


EJEMPLO:

TwinCAT PLC Control: Recursos

Men Herramientas: Configuracin

Categora fecha/hora:
Aqu define, en que formato deben ser reproducidas las indicaciones de fecha y hora para las
alarmas en el archivo de memoria. Introduzca los formatos de acuerdo a la siguiente sintaxis,
guiones y dos puntos se colocan entre comillas sencillas:

para fecha: dd'-'mm'-'aaaa -> p.ej. "12.Ene.1993"

para hora: hh':'mm':'ss -> p.ej. "11:10:34"


Idioma:

Seleccione aqu el archivo de idioma, que debe ser empleado para la conmutacin de idioma, o
sea tambin los textos que debe contiene la configuracin de alarmas. Vase para ello las
siguientes descripciones:

Visualizacin, configuracin de idioma

'Proyecto' 'Traducir en otros idiomas'

TwinCAT PLC Control: Recursos

Configuracin del PLC


Configuracin del PLC.

La configuracin del PLC depende del hardware que vaya a configurarse en cada caso. Con
TwinCAT PLC Control se pueden programar las siguientes plataformas de hardware.

PC (i386): programa de PLC que funciona en el PC (p.e. CX10x0)

PC (ARM): programa de PLC que funciona en el PC (p.e.CX9000)

BCxxxx: programa de PLC que funciona en un controlador de bus (MPA de bornes)

Si el programa de PLC va a utilizarse en el MPA de bornes BCxxxx, existen dos posibilidades


distintas de cargar el programa:

el programa se carga a travs de AMS (BC3100)

el programa se carga a travs de una interfaz de serie (BCxxxx)

TwinCAT PLC Control: Recursos

Configuracin de tareas

La configuracin de tareas se encuentra como objeto en la ficha Recursos del Object Organizer. En
el editor de tareas puede especificar un mximo de cuatro tareas. La declaracin de tarea se
compone del nombre de la tarea, una entrada para la prioridad de la tarea y una entrada para la
condicin de ejecucin de la tarea. Esta condicin es el intervalo de tiempo tras el cual se ejecutar
la tarea. Para cada tarea tiene que indicar un programa de arranque de la tarea. Si la tarea va a
ejecutarse en el ciclo actual, se ejecutan estos programas.

Nota:

No se deben utilizar las mismas funciones de cadena en varias tareas (ver anexo), dado que en
este caso durante la ejecucin de las tareas existe peligro de sobrescritura.

La configuracin de tareas se representa en la siguiente forma:

en la primera lnea se encuentra el texto Configuracin de tareas


por debajo y con sangra, se incluye una serie de entradas de tarea (con nombre, prioridad
e intervalo)

debajo de cada entrada de tarea, aparece de nuevo una llamada de programa.

Ejemplo de una configuracin de tareas

En este ejemplo de configuracin de tareas, la Tarea2 tiene una prioridad inferior que la Tarea1. No
obstante, la Tarea1 slo se ejecuta cada dos segundos. Por lo tanto, la Tarea1 se ejecuta cada dos
segundos en esta configuracin de tareas y entre tanto siempre se puede ejecutar la Tarea2.

Qu tarea se est ejecutando?

Para la ejecucin se aplican las siguientes reglas:

Se ejecuta la tarea cuya condicin es vlida, es decir, cuyo tiempo indicado ha finalizado.

Si varias tareas tienen una condicin vlida, se ejecuta la tarea con la prioridad ms alta.

Los principales comandos se encuentran en el men de contexto (botn derecho del ratn o
<Ctrl>+<F10>.

Trabajar en la configuracin de tareas

En el encabezamiento de la configuracin de tareas aparece la palabra "Configuracin de tareas";


si delante de la palabra se muestra un signo Ms, significa que la siguiente lista est cerrada. Si
hace doble clic en la lista o pulsa la tecla <Intro>, la lista se desplegar. A continuacin, se
mostrar un signo Menos y si vuelve a hacer doble clic, la lista se cerrar.

Con el comando 'Insertar' 'Insertar tarea' se inserta una tarea.


Con el comando 'Insertar' 'Insertar llamada de programa' se inserta una llamada de
programa para una tarea.

Con el comando 'Herramientas' 'Editar entrada' puede editar, segn el elemento


seleccionado, las caractersticas de la tarea o la llamada de programa.

Al hacer clic en el nombre de tarea o de programa o al pulsar <Barra espaciadora>, se


sita un marco de edicin alrededor del nombre. A continuacin, podr modificar la
identificacin directamente en el editor de tareas.

'Insertar' 'Insertar tarea' o 'Insertar' 'Agregar tarea'

Con este comando se aade una nueva tarea a la configuracin de tareas. Si se ha seleccionado
una tarea, estar disponible el comando 'Insertar tarea'. La nueva tarea se inserta delante del
cursor. Si la palabra Configuracin de tareas est seleccionada, estar disponible el comando
'Agregar tarea' y la nueva tarea se aadir al final de la lista existente. Se abre el dilogo para
determinar las caractersticas de tareas.

Dilogo para determinar las caractersticas de tareas

En el dilogo, podr introducir los atributos que desee: el nombre, la prioridad (un nmero entre 0 y
3, siendo 0 la prioridad ms alta y 3 la ms baja) y el intervalo de tiempo transcurrido el cual se
reiniciar la tarea.

'Insertar' 'Agregar llamada de programa' o 'Insertar' 'Insertar llamada de programa'

Con estos comandos se abre el dilogo que permite introducir una llamada de programa para una
tarea de la configuracin de tareas. Con 'Insertar llamada de programa', la nueva llamada de
programa se inserta delante del cursor y con 'Agregar llamada de programa', se aade al final de la
lista existente.
Dilogo para la introduccin de una llamada de programa

En el campo que aparece, introduzca un nombre de programa vlido del proyecto o abra la ayuda
de entrada para la seleccin de nombres de programa vlidos con el botn Seleccionar. Si el
programa seleccionado exige variables de entrada, introdzcalas en la forma habitual y del tipo
declarado (por ejemplo, prg(invar:=17)).

'Herramientas' caracterstica'

Con este comando se abre, segn el elemento seleccionado en la configuracin de tareas, el


dilogo para la determinacin de las caractersticas de tarea (ver 'Insertar tarea') o el dilogo para
la introduccin de la llamada de programa (ver 'Insertar llamada de programa'). Si el cursor se
encuentra en una entrada de tarea que todava no incluye ninguna lista de llamadas de programa,
puede abrir el dilogo para determinar las caractersticas de tarea, hacer doble clic en la entrada o
pulsar la tecla <Intro>. Si el cursor se encuentra en una entrada para una llamada de programa,
haciendo doble clic en la entrada podr abrir el dilogo de edicin de la entrada de programa. Al
hacer clic en el nombre de tarea o de programa o al pulsar <Barra espaciadora>, aparece un marco
de edicin alrededor del nombre. A continuacin, podr modificar la identificacin directamente en
el editor de tareas.

'Herramientas' 'Establecer tarea Debug'

En el modo Online de la configuracin de tareas, este comando permite determinar una tarea para
el Debug. De este modo, el texto [DEBUG] se muestra detrs de la tarea determinada . Las
funciones de Debug slo harn referencia a esta tarea, es decir que el programa nicamente se
detendr en un breakpoint si se est ejecutando el programa de la tarea ajustada.

TwinCAT PLC Control: Recursos


Sampling Trace

Sampling Trace implica el registro de la curva de valores de variables durante un determinado


tiempo. Estos valores se escriben en una memoria circular (Tracebuffer). Cuando la memoria est
llena, los valores ms "antiguos" se vuelven a sobrescribir desde el principio de la memoria. Se
puede registrar un mximo de 20 variables a la vez. Dado que el tamao del Trace Buffer en el
PLC posee un valor fijo, se pueden registrar menos valores si existen muchas variables o variables
muy extensas (DWORD). Para poder efectuar un Sampling Trace, abra el objeto Sampling Trace
en la ficha Recursos del Object Organizer. A continuacin, habr que introducir las variables de
Trace que van a registrarse (ver 'Herramientas' 'Configuracin Trace'). Despus de enviar la
configuracin con 'Definir Trace' al PLC e iniciar el registro en el PLC ('Iniciar Trace'), se inician los
valores de las variables. Con 'Leer Trace' se leen los ltimos valores registrados y se representan
en un grfico en forma de curvas.

'Herramientas' 'Configuracin Trace'

Con este comando se obtiene el dilogo para la introduccin de las variables que van a registrarse,
as como diversos parmetros de Trace para Sampling Trace.
Dilogo para la configuracin Trace

En un primer momento, la lista de las variables que van a registrarse est vaca. Para insertar una
variable, sta se tiene que introducir en el campo situado debajo de la lista para, a continuacin,
aadirla a la lista con el botn Insertar o con <Intro>. Tambin puede utilizar la ayuda de entrada.
Para borrar una variable de la lista, seleccinela y pulse el botn Borrar. En el campo Frecuencia
de exploracin, se puede indicar el tiempo entre dos registros en milisegundos. El valor por defecto
"0" implica la existencia de un proceso de exploracin por ciclo.

En el campo Variable de trigger se puede introducir una variable de Bool. Asimismo, se puede
utilizar la ayuda de entrada. La variable describe la condicin de cancelacin del Trace. Si en la
definicin del Trace se ha seleccionado un flanco ascendente (como en el ejemplo anterior), el
proceso de trigger se lleva a cabo despus de un flanco ascendente de la variable de trigger; de lo
contrario, despus de un flanco descendente. Despus del proceso de trigger, se registra un
determinado nmero de valores; a continuacin, el trigger se cancela. Esta cantidad se introduce
en el campo Nmero de valores en forma de porcentaje despus del proceso de trigger. Si el
campo Variable de trigger est vaco, el Sampling Trace tiene que cancelarse explcitamente
('Herramientas' 'Detener Trace').

Con el botn Guardar se guarda la configuracin trace creada en un archivo. Se abre la ventana
estndar Guardar archivo como'.

Con el botn Cargar se puede volver a cargar una configuracin trace guardada. Se abre la
ventana estndar Abrir archivo'.

Nota:

Tenga en cuenta que las opciones Guardar y Cargar del dilogo de configuracin slo afecta a la
configuracin, no a los valores de un grabacin Trace (contrariamente a los comandos de men
'Herramientas' 'Guardar trace' y 'Herramientas' 'Cargar trace').

Si el campo Variable de trigger est vaco, grabacin trace se ejecuta de forma infinita y se puede
interrumpir de forma implcita con 'Herramientas' 'Parar trace'.

'Herramientas' 'Iniciar Trace'

Con este comando se inicia el Sampling Trace en el PLC.


'Herramientas' 'Leer Trace'

Con este comando se lee el Trace Buffer actual del PLC y se representan los valores de las
variables seleccionadas.

'Herramientas' 'Lectura automtica Trace'

Con este comando, el Trace Buffer actual del PLC se lee automticamente y los valores se
representan de forma continua. Si el Trace Buffer se lee automticamente, aparece un smbolo de
correccin delante del comando de men.

'Herramientas' 'Detener Trace'

Este comando detiene el Sampling Trace en el PLC. Antes de realizar un nuevo registro, es
necesario cargar la definicin del Trace y reiniciar el Trace.

Seleccin de variables a representar

Los cuadros combinados situados a la derecha de la ventana para la representacin de las curvas
contienen todas las variables de Trace definidas en la configuracin Trace. Si se selecciona una
variable de la lista, sta se emite, tras la lectura del Trace Buffer, en el correspondiente color (Var 0
verde, etc.). Las variables tambin se pueden seleccionar si ya se han emitido curvas. Se pueden
visualizar un mximo de ocho variables a la vez en la ventana de Trace.
Representacin del Sampling Trace de ocho variables distintas sin trigger

Si se ha cargado un Trace Buffer, se leen y se representan los valores de todas las variables que
van a representarse. Si no hay ajustada ninguna frecuencia de exploracin, el eje X se marca con
el nmero correlativo del valor registrado. En la indicacin de estado de la ventana de Trace (1
lnea) se indica si el Trace Buffer todava no est lleno y cundo lo est. Si se ha indicado un valor
para la frecuencia de exploracin, el eje X indica el tiempo del valor. Al valor registrado ms
"antiguo" se asigna el tiempo 0. En el ejemplo, se indican los valores de los ltimos 25s. El eje Y se
rotula con valores enteros. La escala est configurada de modo que el valor ms bajo y el ms alto
estn incluidos en el rea de imagen. En el ejemplo, Var5 tiene el valor ms bajo 6 y como valor
mximo, se indica 11; de ah el ajuste de la escala en el borde izquierdo. Cuando se cumple la
condicin de trigger, la interfaz presenta una lnea vertical de puntos entre los valores anteriores y
posteriores al cumplimiento de la condicin de trigger . Se conserva una memoria de lectura hasta
que se cambie de proyecto o se abandone el sistema.

'Herramientas' 'Emitir cursor'


Con este comando aparece en el Sampling Trace una lnea vertical, que puede desplazarse con el
ratn o con las teclas de direccin a la derecha o la izquierda. Pulsando <Ctrl>+<izquierda> o
<Ctrl>+<derecha> aumenta la velocidad del movimiento. Por encima de la ventana de grficos
puede visualizarse la posicin X actual del cursor. Junto a Var0,.Var1, ...,VarN se representa el
valor de la variable en cuestin. Si se sita el puntero del ratn en la ventana de grficos y se pulsa
el botn izquierdo del ratn, tambin se muestra un cursor.

'Herramientas' 'Multicanal'

Con este comando se puede conmutar entre la representacin del Sampling Trace con uno o varios
canales. En la representacin de varios canales, aparece un signo de correccin delante del
comando de men. El ajuste por defecto es la representacin de varios canales. De este modo, la
ventana de representacin se divide entre un mximo de ocho curvas. El valor mximo y el valor
mnimo de cada curva se indica en el borde. En la representacin de un canal, todas las curvas se
representan con el mismo factor de escala y se sobreponen. Esto puede resultar til para
representar desviaciones de curvas.

'Herramientas' 'Escala Y'

Con este comando puede modificar la escala Y especificada de una curva en la representacin
Trace. Indique en el dilogo el nmero de la curva (canal), el nuevo valor mximo (valor Y mx.) y
el nuevo valor mnimo (valor Y mn.) que desee en el eje Y. Para acceder al dilogo tambin puede
hacer doble clic en una curva. El canal y los valores anteriores tienen valores por defecto.

Dilogo para el ajuste de la escala Y

'Herramientas' 'Expandir'

Con este comando se pueden expandir los valores emitidos del Sampling Trace (zoom). La
posicin inicial se ajusta con la barra de desplazamiento horizontal. En caso de que existan varios
tramos consecutivos, se muestra un sector Trace cada vez ms corto en la ventana. Este comando
es el opuesto a 'Herramientas''Comprimir'.

'Herramientas' 'Comprimir'

Con este comando se pueden comprimir los valores emitidos del Sampling Trace; es decir que,
despus de este comando se puede observar el desarrollo de las variables Trace en un intervalo
de tiempo ms largo. Es posible la ejecucin repetida del comando. Este comando es el opuesto a
'Herramientas''Expandir'.

'Herramientas' 'Guardar Trace'

Con este comando se puede guardar un Sampling Trace. De este modo, se abrir el dilogo para
guardar archivos. El nombre de archivo recibe la extensin "*.trc". El Sampling Trace guardado se
puede volver a cargar con 'Herramientas' 'Cargar Trace'.

'Herramientas' 'Cargar Trace'

Con este comando se puede volver a cargar un Sampling Trace guardado. De este modo, se abrir
el dilogo de apertura de archivos. Seleccione el archivo que desee con la extensin "*.trc". Con
'Herramientas' 'Guardar Trace', se puede guardar un Sampling Trace.

'Herramientas' 'Trace en fichero ASCII'

Con este comando se puede guardar un Sampling Trace en un archivo ASCII. De este modo, se
abrir el dilogo para guardar un archivo. El nombre de archivo recibe la extensin "*.txt". En el
archivo los valores se guardan segn el siguiente esquema:

TwinCAT PLC Control Trace

D:\TWINCAT PLC CONTROL\PROJECTS\AMPEL.PRO

Zyklus PLC_PRG.ZAEHLER PLC_PRG.LIGHT1

021

121
221

.....

Si en la configuracin Trace no se ha ajustado ninguna frecuencia de exploracin, permanece as


en la primera columna el ciclo; es decir, que se ha registrado un valor por ciclo. De lo contrario, es
introduce el momento en ms en el que se guardaron los valores de las variables a partir del inicio
del Sampling Trace. En las siguientes columnas se guardan los correspondientes valores de las
variables Trace. Los valores estn separados con un espacio. Los correspondientes nombres de
variable se representan ordenadamente uno tras otro en la tercera lnea (PLC_PRG.ZAEHLER,
PLC_PRG.LIGHT1).

TwinCAT PLC Control: Recursos

Visor de Variables o de Frmulas

Con la ayuda del Visor de Variables o de Frmulas se pueden visualizar los valores de variables
seleccionadas. Este Visor tambin permite asignar a las variables determinados valores y
transferirlos al PLC ('Escribir frmula') de una sola vez. Asimismo, los valores actuales del PLC
tambin se pueden cargar y guardar como valores por defecto en el Visor de Variables o de
Frmulas ('Leer frmula'). Estas funciones son tiles, por ejemplo, para el ajuste y el registro de
parmetros de regulacin. Todas las listas Watch generadas ('Insertar' 'Nueva lista Watch') se
muestran en la columna izquierda del Visor de Variables o de Frmulas y se pueden seleccionar
haciendo clic con el ratn o mediante las teclas de direccin. En el rea derecha del Visor de
Variables o de Frmulas, se muestran las correspondientes variables. Para trabajar con el Visor de
Variables y de Frmulas, abra el objeto del mismo nombre en la ficha Recursos del Object
Organizer.

En el modo Offline del Visor de Variables o de Frmulas, se pueden crear varias listas Watch con el
comando 'Insertar' 'Nueva lista Watch'. Para introducir las variables, se puede activar una lista de
todas las variables con la ayuda de entrada, o bien introducir las variables segn la siguiente
anotacin: <Nombre de mdulo>.<Nombre de variable> utilizando el teclado. En las variables
globales no se incluye el nombre del Mdulo, sino que empiezan por un punto. Por otro lado, el
nombre de variable puede tener varios niveles. Las direcciones se pueden introducir directamente.

Ejemplo de una variable de varios niveles:

PLC_PRG.Instanz1.Instanz2.Struktur.Komponentenname
Ejemplo de una variable global:

.global1.component1

Visor de Variables o de Frmulas en el modo Offline

Las variables de la lista Watch pueden contener por defecto valores constantes; es decir, en el
modo Online, estos valores se pueden escribir en las variables con el comando 'Herramientas'
'Escribir frmula'. Para este fin, el valor constante se tiene que asignar a la variable con:

Ejemplo:

PLC_PRG.TIMER:=50

En el ejemplo, la variable PLC_PRG.ZAEHLER tiene el valor 6.

'Insertar' 'Nueva lista Watch'

Con este comando se inserta una nueva lista Watch en el Visor de Variables o de Frmulas. En el
dilogo que aparece, introduzca el nombre que de la lista Watch que desee.

'Herramientas' 'Renombrar lista Watch'

Con este comando se puede modificar el nombre de una lista Watch en el Visor de Variables o de
Frmulas. En el dilogo que aparece, introduzca el nuevo nombre de la lista Watch.

'Herramientas' 'Guardar lista Watch'

Con este comando se puede guardar una lista Watch y, para ello, se abrir el dilogo de
almacenamiento de archivos. El nombre de archivo tiene asignado por defecto el nombre de la lista
Watch y recibe la extensin "*.wtc". La lista Watch guardada se puede volver a cargar con
'Herramientas' 'Cargar lista Watch'.

'Herramientas' 'Cargar lista Watch'

Con este comando se puede volver a cargar una lista Watch guardada. Se abrir el dilogo de
apertura de archivos. Seleccione el archivo que desee con la extensin "*.wtc". En el dilogo que
aparece a continuacin puede renombrar la lista Watch. El valor por defecto es el nombre de
archivo sin extensin. Con 'Herramientas' 'Guardar lista Watch' se puede guardar una lista Watch.

Visor de Variables o de Frmulas en el modo Online

En el modo Online se indican los valores de las variables introducidas. Los valores estructurados
(arrays, estructuras o instancias de Bloques de Funciones) estn marcados con un signo Ms
delante del identificador. Al hacer clic con el ratn en el signo Ms o al pulsar la tecla <Intro> se
abre o se cierra la variable. Para introducir nuevas variables, la indicacin se puede desactivar con
el comando 'Herramientas''Monitorizacin activa'. Tras la introduccin de las variables, el uso del
mismo comando permitir visualizar los valores.

Visor de Variables o de Frmulas en el modo Online

En el modo Offline, las variables pueden tener valores constantes por defecto (introduciendo :=
<Valor> despus de la variable). En el modo Online, estos valores se pueden escribir en las
variables con los comandos 'Herramientas' 'Escribir frmula'. Con el comando 'Herramientas' 'Leer
frmula', el valor por defecto de la variable se sustituye por el valor actual de la misma.
Nota: en el Visor de Variables o de Frmulas slo se cargan los valores de una lista Watch
seleccionada.

'Herramientas' 'Monitorizacin activa'

Con este comando se activa y desactiva la visualizacin del Visor de Variables o de Frmulas en el
modo Online. Cuando la visualizacin est activa, aparece un smbolo de correccin delante del
comando de men. Para introducir nuevas variables o asignar un valor defecto (consulte el modo
Offline), la visualizacin tiene que desconectarse con el comando. Despus de introducir las
variables, el uso del mismo comando permitir volver a activar la visualizacin de los valores.

'Herramientas' 'Escribir frmula'

Con este comando se pueden escribir los valores por defecto (ver modo Offline) en las variables en
el modo Online del Visor de Variables y de Frmulas.

'Herramientas' 'Leer frmula'

Con este comando, el valor por defecto de las variables (ver modo Offline) se sustituye por el valor
actual de las mismas en el modo Online del Visor de Variables o de Frmulas.

Ejemplo:

PLC_PRG.Zaehler [:= <aktueller Wert>] = <aktueller Wert>

Forzar valores: en el Visor de Variables o de Frmulas tambin se pueden 'Forzar valores' y


'Escribir valores'. Al hacer clic en el correspondiente valor de variable, se abre un dilogo para
introducir el nuevo valor de la variable. Las variables modificadas aparecen de color rojo en el Visor
de Variables o de Frmulas.

TwinCAT PLC Control: Library Manager

Administracin de libreras
El administrador de libreras muestra todas las libreras conectadas al proyecto actual. Los
Mdulos, los tipos de datos y las variables globales de las libreras se pueden utilizar como
Mdulos, tipos de datos y variables globales de definicin propia. El administrador de libreras se
abre con el comando 'Ventana''Administrador de libreras'.

Administrador de libreras

Uso del administrador de libreras

La ventana del administrador de libreras se divide en tres o cuatro reas mediante una divisin de
pantalla. En el rea superior izquierda se muestra una lista las libreras anexadas al proyecto. En la
parte inferior, aparece la lista de los Mdulos, los tipos de datos o las variables globales de la
librera seleccionada en el rea superior en funcin de la ficha seleccionada. Las carpetas se abren
y se cierren haciendo doble clic en la lnea o pulsando la tecla <Intro>. Delante de las carpetas
cerradas, aparece un signo Ms y, delante de las abiertas, un signo Menos. Si un Mdulo se
selecciona haciendo clic con el ratn o utilizando las teclas de direccin, en la parte superior del
rea derecha del administrador de libreras aparece la declaracin del Mdulo y, en la parte inferior,
la representacin grfica con entradas y salidas en forma de cuadro negro (Black Box). En lo que
respecta a tipos de datos y variables globales, la declaracin se muestra en el rea derecha del
administrador de libreras.
Librera estndar

La librera 'standard.lib' est disponible de forma estndar y contiene todas las Funciones y
Mdulos de Funciones exigidos por IEC61131-3 como Mdulos estndar para un sistema de
programacin IEC. La diferencia entre una Funcin estndar y un operador radica en que mientras
el operador es reconocido implcitamente por el sistema de programacin, los Mdulos estndar
tienen que vincularse con el proyecto como librera (standard.lib).

Libreras definidas por el usuario

Cuando un proyecto est terminado y compilado correctamente, se puede guardar en una librera
con el comando 'Guardar como' del men 'Archivo'. El proyecto propiamente dicho permanece
inalterado. A continuacin , al igual que la librera estndar, lo encontrar disponible con el nombre
introducido.

'Insertar' 'Librera adicional'

Con este comando puede vincular una librera adicional con el proyecto. En el dilogo de apertura
de archivos, seleccione la librera que desee con la extensin "*.lib". De este modo, la librera
aparecer incluida en el administrador de libreras y los objetos de la librera podrn utilizarse igual
que los de definicin propia.

Quitar librera

Con el comando 'Edicin' 'Borrar' puede eliminar una librera de un proyecto y del administrador de
libreras.

TwinCAT PLC Control: Engineering Interface (ENI)

Engineering Interface (ENI)

The ENI interface ('Engineering Interface') allows to connect the Programming system to an
external data base. There the data which are needed during creation of an automation project can
be stored. The usage of an external data base guarantees the consistency of the data, which then
can be shared by several users, projects and programs. Also it extends the functionality by making
possible the following items:

Revision control for projects and associated resources (shared objects): If a object has
been checked out from the data base, modified and checked in again, then in the data base
a new version of the object will be created, but the older versions will be kept also and can
be called again on demand. For each object and for a whole project the version history will
be logged. Two versions can be checked for differences. (This does not apply to the using
of a local data system as data base.)

Multi-User Operation: The latest version of a sample of objects, e.g. of POUs of a project,
can be made accessible for a group of users. Then the objects which are currently checked
out by one of the users will be marked as "in the works" and not editable by the other users.
Thus several users can work in parallel on the same project without risking to overwrite
versions mutually.

Access by external tools: Besides the TwinCAT PLC Control also other tools, which have
an ENI too, can access the common data base. These might be e.g. external visualizations,
ECAD systems etc., which need the data created in TwinCAT PLC Control or which also
produce data.

The ENI is composed of a client and a server part. So it is possible to hold the data base on a
remote computer, which is required for multi-user operation. The TwinCAT PLC Control is a client of
the independent ENI Server Process as well as another application, which needs access to the data
base (Please see the separate documentation on the ENI Server).

Currently the ENI supports the data base systems 'Visual SourceSafe 5.0' and 'Visual
SourceSafe 6.0' and a local file system. Objects can be stored there in different ' folders' (data
base categories with different access properties ). The objects can be checked out for editing and
thereby will get locked for other users. The latest version of an object can be called from the data
base. Furtheron in parallel you can store any objects just locally in the project as usual for projects
without source control. The *.pro file is the local working copy of an project managed by the data
base.

Preconditions for Working with an ENI project data base

If you want to use the ENI in TwinCAT PLC Control in order to manage the project objects in an
external data base, the below mentioned preconditions must be fulfilled:
Please regard: For a guide concerning installation and usage of the ENI Server please see
the separate server documentation resp. online help. There you will also find a quickstart guide.
Also consider the possibility of using the ENI Explorer which allows to perform data base actions
independently from the currently used data base system.

the communication between TwinCAT PLC Control and the ENI Server requires TCP/IP,
because the ENI Server uses the HTTP protocol.

an ENI Server (ENI Server Suite)) must be installed and started locally or on a remote
computer. A license is required to run it with the standard database drivers which are
installed with the server. Just the driver for a local file system can be used with a non-
licensed ENI Server version.

in the ENI Server administration tool (ENI Admin) the following must be configured:

the user must be registered and have access rights (User Management)

the access rights concerning the data base folders must be set correctly (Access
Rights)

Recommendation: the administrator password for the access to ENIAdmin.exe


and ENIControl.exe should be defined immediately after the installation

in the ENI Server service control tool (ENI Control) the connection to the desired data base
must be configured correctly (Data base). You will automatically be asked to do this during
installation, but you can modify the settings later in ENI Control.

a project data base for which an ENI-supported driver is available, must be installed. It is
reasonable to do this on the same computer, where the ENI Server is running. Alternatively
a local file system can be used, for which a driver will be provided by default.

in the data base administration possibly the user (Client) as well as the ENI Server must be
registered as valid users with access rights. Anyway this is required for the 'Visual
SourceSafe', if you use another data base system, please see the corresponding
documentation for information on the user configuration.

for the current project the ENI interface must be activated (to be done in the TwinCAT PLC
Control dialog 'Project' 'Options' 'Project data base').
for the current project the connection to the data base must be configured correctly; this is
to be done in the TwinCAT PLC Control dialogs 'Project' 'Options' 'Project data base'.

in the current project the user must log in to the ENI Server with user name and password;
this is to be done in the Login dialog, which can be opened explicitely by the command
'Project' 'Data Base Link' 'Login' resp. which will be opened automatically in case you try
to access the data base without having logged in before.

Working with the ENI project data base

The data base commands (Get Latest Version,Check Out, Check In, Version History, Label
Version etc.) which are used for managing the project objects in the ENI project data base, will be
available in the current project as soon as the connection to the data base has been activated and
configured correctly. See for this Preconditions for Working with an ENI project data base. The
commands then are disposable in the submenu 'Data Base Link' of the context menu or of the
'Project' menu and refer to the object which is currently marked in the Object Organizer. The current
assignment of an object to a data base category is shown in the Object Properties and can be
modified there. The properties of the data base categories (communication parameters, access
rights, check in/check out behaviour) can be modified in the option dialogs of the project data base
('Project' 'Options' 'Project Source Control').

Object categories concerning the project data base

There are four categories of objects of a TwinCAT PLC Control project concerning the project
source control:

The ENI distinguishes three categories ("ENI object categories") of objects which are
managed in the project data base: Project objects, Shared objects, Compile files.

If an object should not be stored in the data base, it will be assigned to category 'Local',
which means that it will be handled as it is known for projects without any source control.

Thus in the programming system an object can be assigned to one of the categories 'Project
objects', 'Shared objects' or 'Local'; the 'Compile files' do not yet exist as objects within the project.
Assigning an object to one of the categories is done automatically when the object is created,
because this is defined in the project options dialog 'Project source control', but it can be modified
anytime in the 'Object Properties' dialog.
Each ENI object category will be configured separately in the settings for the ' ENI settings'
('Project' 'Options', category project data base). That means that each category gets defined
own parameters for the communication with the data base (directory, port, access right, user access
data etc.) and concerning the behaviour at calling the latest version, checking out and checking in.
These settings then will be valid for all objects belonging to the category. As a result you will have to
log in (username, password) to each data base category separately; this will be done via the 'Login'
dialog ('Project' 'data base agssignment' 'Login').

It is advisable to create a separate folder for each object category in the data base, but it is also
possible to store all objects in the same folder. (The 'category' is a property of an object, not of a
folder.)

See in the following the three ENI object categories:

Description

Project Objects which contain project specific source information, e.g. POUs
which are shared in a multi-user operation. The command 'Get all
latest versions' automatically will call all objects of this category from
the data base to the local project; even those, which have not been
there so far.

Shared objects Objects which are not project specific, e.g. POU libraries which
normally are used in several projects.
Attention: The command 'Get all Latest Versions' only will copy
those objects of this category from the project folder to the local
project, which are already part of the project !

Compile files Compile information (e.g. symbol files) which is created by TwinCAT
PLC Control for the current project and which may be needed by
other programs too.
Example: An external visualization may need not only the project
variables, but also the assigned addresses. The latter will not be
known until the project is compiled.

Please note:
Alternatively any objects of the project can be excluded from the project source control and can be
assigned to category 'Local', which means that they are just stored with the project as usual for
projects without any source control.

Visualizacin TwinCAT PLC

Introduccin

Para visualizar los datos de un mando programable con TwinCAT PLC Control, o sea poder
observar y manejar, se requiere una herramienta adicional. El sistema de programacin contiene
un editor de visualizacin integrado, de manera que el usuario puede generar en una o la misma
superficie las mscaras de visualizacin en el contexto con los desarrollos de la aplicacin.

La integracin ofrece en estos casos muchas ventajas:

La visualizacin integrada en TwinCAT PLC Control no necesita de ninguna lista de etiquetas y


puede acceder directamente a las variables del mando. La capa OPC, frecuentemente difcil de
configurar, se omite, por que la comunicacin se realiza a travs del mismo mecanismo que se
emplea tambin para el sistema de programacin. De esta manera se reduce considerablemente el
esfuerzo de ingeniera para la realizacin de visualizaciones.

Variantes de desarrollo

1. Directamente en el sistema de programacin

Para comprobar las mscaras de visualizacin creadas, pero tambin para fines de diagnstico y
asistencia tcnica directamente en combinacin con el mando, no necesita ninguna otra
herramienta: en modo online obtiene inmediatamente la representacin real de la visualizacin
dentro del sistema de programacin.

2. Visualizacin de objetivo

Para mandos con display integrado, las informaciones de visualizacin pueden ser cargadas del
sistema de programacin con la aplicacin al sistema de destino. Estas se visualizan
automticamente. Esta solucin puede ser portada con reducido esfuerzo, a cualquier aparato
programable con TwinCAT PLC Control.
El alcance de las funciones en una visin:

Elementos
- Rectngulo, elipse, rectngulo redondeado
- Lnea, polgono, trazo lineal, trazo curvo
- Mapa de bits, archivo WMF
- Botn, tabla, histograma, indicacin por barra, instrumento de aguja
- Referencia a otras visualizaciones
Animaciones (dependiente del tipo de elemento):
- Indicacin de texto
- Cambio de color
- Visible/Invisible
- Desplazamiento
- Rotacin
- Escala
- Offset sobre cantos individuales de un objeto (para grficos de barra)
- Botn activo/inactivo
- Lnea actual (slo indicacin de texto)
Posibilidades de entrada:
- Valor booleano alternar/pulsar
- Entrada de texto
- Cambio de imagen
- Acciones especiales (abandonar visualizacin, leer/escribir frmula, conmutar idioma, llamar EXE
externo etc.)
- Seleccionar lnea (slo indicacin de texto)
Otras caractersticas
- Conmutacin de idioma
- Tooltips (informacin) para todos los elementos
- Importacin/Exportacin ASCII
- Mapa de bits de segundo plano
- Escala automtica
- Operaciones de delineado: alinear, disponer, agrupar
- Concepto de marcadores de posicin para generacin de mdulos de elementos grficos
complejos
- Expresiones de visualizacin programadas

Visualizacin TwinCAT PLC Control


Resumen

La visualizacin TwinCAT PLC Control sirve para la observacin y manejo de un programa de


control creado con la visualizacin TwinCAT PLC Control. El editor de visualizacin pone a
disposicin para este fin, elementos grficos, que pueden ser adecuadamente dispuestos y ser
enlazados con variables de proyecto.

En servicio online se modifica la representacin de los elementos dependiendo de los valores de


variables.

Ejemplo sencillo:

Se delinea una barra para representacin de un nivel de llenado que se evala en el programa, que
dependiendo de la variable de proyecto correspondiente, modifica su longitud o color, debajo una
indicacin de texto del valor de medicin actual y un botn para iniciar o detener el programa.
Ejemplo de una visualizacin

Las caractersticas de un elemento de visualizacin as como una visualizacin como objeto


completo, se determinan en dilogos de configuracin apropiados. Se pueden realizar tanto
determinadas configuraciones bsicas, como tambin proceder a la entrada de variables de
proyectos para una parametrizacin dinmica.

La capacidad de programacin abre especialmente posibilidades adicionales de las propiedades


de elementos a travs de variables de estructura.

La opcin, de emplear marcadores de posicin en la configuracin, ahorra tiempo y trabajo,


cuando un objeto de visualizacin debe ser empleado de forma mltiple. Esto vale especialmente
para el empleo de instancias de mdulos funcionales.

Observe tambin la posibilidad de definir diferentes ocupaciones de teclas para visualizaciones


individuales.
Visualizacin TwinCAT PLC Control

Crear objeto de visualizacin

Un objeto de visualizacin es un objeto TwinCAT PLC Control, que se administra en la hoja de


registro Visualizacin. Este contiene la disposicin de elementos de visualizacin y puede recibir
determinadas propiedades como objeto completo. Se pueden crear y enlazar entre si uno o varios
objetos de visualizacin en un proyecto TwinCAT PLC Control. Para crear un objeto de
visualizacin en el Object Organizer, seleccione la tarjeta de registro

Visualizacin
y la orden 'Proyecto' 'Insertar objeto'.

El dilogo 'Nueva visualizacin' se abre,

introduciendo el nombre de la nueva visualizacin. Tras una entrada vlida, esto es no fue
empleado ningn nombre ya adjudicado o caracteres especiales, puede cerrar el dilogo con
Aceptar. Se abre una ventana, en la que puede editar la nueva visualizacin.

Para la denominacin del objeto de visualizacin observe por favor lo siguiente:

Una visualizacin no debe llevar el mismo nombre que otro mdulo en el proyecto. Pueden
presentarse si no, problemas ante un cambio de visualizacin.

Visualizacin TwinCAT PLC Control

Insertar elementos de visualizacin


Un elemento de visualizacin es un elemento grfico, que se emplea al crear un objeto de
visualizacin. Los posibles elementos se ofrecen en la barra de men de TwinCAT PLC Control.
Cada elemento recibe una configuracin separada.

Puede insertar en su visualizacin, diferentes formas geomtricas as como mapas de bits,


metarchivos, botones y visualizaciones existentes.

Vaya al punto de men 'Insertar' y seleccione segn necesidad las rdenes 'Rectngulo',
'Rectngulo redondeado', 'Elipse', 'Polgono' 'Trazo de lnea', 'Curva', 'Sector circular', 'Mapa
de bits', 'Visualizacin', 'Botn', 'Tabla', 'Instrumento de aguja', 'Indicacin por barra',
'Histograma', 'Tabla de alarmas', 'Tendencia', 'Archivo WMF'.
Delante de la orden seleccionada aparece una marca de verificacin. Tambin puede emplear los

smbolos de la barra de herramientas. El elemento seleccionado aparece aqu oprimido (p.ej. ).


Si ahora se desplaza con el ratn sobre la ventana de edicin, ver que el puntero del ratn est

identificado con el smbolo correspondiente (p.ej. ). Haga clic sobre el punto inicial deseado
de su elemento y con la tecla izquierda del ratn oprimida desplace el puntero hasta que el
elemento tenga las dimensiones deseadas.

Si desea crear un polgono o una lnea, haga clic primero con el ratn en la posicin de la primera
vrtice del polgono o bien el punto inicial de la lnea y a continuacin los siguientes puntos de
vrtice. A travs de un doble-clic en el ltimo punto de vrtice, el polgono se cierra y se delinea
completamente o bien finaliza la lnea.

Quiere crear una curva (curva de Beziers), indique mediante clic del ratn el punto de inicio y dos
siguientes, que definen un rectngulo circunscrito. Tras el tercer clic del ratn se delinea el arco de
curva. A continuacin puede an modificar el punto final de curva mediante desplazamiento con el
ratn y cerrar con doble-clic o enlazar mediante clics de posicionamiento adicionales directamente
otro arco.

Observe tambin la barra de estado y el cambio de modo de seleccin a modo de insercin.

'Insertar' 'Rectngulo'

Smbolo:

Con la orden puede insertar un rectngulo como elemento en su visualizacin actual.


'Insertar' 'Rectngulo redondeado'

Smbolo:

Con la orden puede insertar un rectngulo con vrtices redondeadas como elemento de su
visualizacin actual.

'Insertar' 'Elipse'

Smbolo:

Con la orden puede insertar un crculo o una elipse como elemento en su visualizacin actual.

'Insertar' 'Polgono'

Smbolo:

Con la orden puede insertar un polgono como elemento en su visualizacin actual.

'Insertar' 'Trazo de lnea'

Smbolo:

Con la orden puede insertar una lnea como elemento en su visualizacin actual.

'Insertar' 'Curva'

Smbolo:

Con la orden puede insertar una curva de Beziers como elemento en su visualizacin actual.

'Insertar' 'Sector circular'

Smbolo:

Con la orden puede insertar un sector de crculo como elemento en su visualizacin actual. Con la
tecla izquierda del ratn oprimida abra un rea de la medida deseada. Se indica un valo con una
lnea de radio delineada, que mediante el movimiento del ratn cambia de forma y tamao. El
pequeo cuadrado fuera del elemento da el punto de vrtice de un rectngulo virtual, que rodea el
elemento. Para determinar el ngulo inicial y final del sector circular, haga clic tras insertar el
elemento sobre el punto final de la lnea de radio sobre el arco circular. Si mueve el puntero del
ratn con la tecla oprimida, aparecen dos pequeos cuadrados negros, que indican ambas
posiciones angulares. Estos a partir de ahora pueden ser seleccionados y desplazados tambin por
separado. Si los ngulos deben definirse de forma dinmica, abra el dilogo de configuracin de la
categora 'ngulos' para introducir las variables correspondientes. Para modificar nuevamente la
forma y tamao del elemento, haga clic sobre el punto de centro, de manera que el cursor indique
flechas cruzadas oblicuamente y mueva el ratn con la tecla derecha oprimida o con ayuda de las
teclas de flecha. O seleccione y desplace la posicin del vrtice del cuadrado fuera del elemento.
Para desplazar el elemento, haga clic en la superficie libre del elemento de manera que se
indiquen as flechas cruzadas verticales.

'Insertar' 'Mapa de bits'

Smbolo:

Con la orden puede insertar mapas de bits como elemento en su visualizacin actual. Con la tecla
izquierda del ratn oprimida abra un rea de la medida deseada. Se abrir el dilogo de apertura
de archivos. Despus de haber seleccionado el mapa de bits deseado, se inserta el la zona abierta.
Si debe ser guardado un enlace al archivo de mapa de bits, o el mapa de bits debe ser insertado
como elemento fijo, puede ser definido en el dilogo de configuracin de mapas de bits.

'Insertar' 'Visualizacin'

Smbolo:

Con la orden puede insertar una visualizacin existente en su visualizacin actual. Con la tecla
izquierda del ratn oprimida abra un rea de la medida deseada. Se abre una lista de seleccin de
visualizaciones existentes. Tras haber seleccionado la visualizacin deseada, esta se inserta en la
zona abierta. Una visualizacin insertada tambin se denomina como referencia.

'Insertar' 'Botn'

Smbolo:

Con la orden puede insertar un botn en su visualizacin actual. Abra el elemento con la tecla
izquierda del ratn oprimida hasta el tamao deseado. Si sobre el botn se configura una variable
alternada (Toggle), visualiza el estado de esta variable, representndola pticamente como
oprimida o bien no oprimida. A la inversa la variable naturalmente se alterna "oprimiendo" el botn.
'Insertar' 'Archivo WMF'

Smbolo:

Con la orden puede insertar un metarchivo Windows. Se abre el dilogo estndar para abrir
archivo, en el que se pueden buscar archivos con la extensin *.wmf. Tras la seleccin del archivo
y cierre del dilogo a travs de Aceptar el archivo se inserta como elemento en la visualizacin
actual. En este caso no se memoriza ningn enlace sobre un archivo, con en los mapas de bits,
sino los elementos contenidos del archivo wmf se insertan como grupo.

'Insertar' 'Tabla'

Smbolo:

Con la orden puede insertar una tabla en la visualizacin actual, que sirve como representacin de
los elementos de un matriz. Abra el elemento con la tecla izquierda del ratn oprimida hasta el
tamao deseado. An antes que el elemento se visualice con su apariencia definitiva, aparece el
dilogo de configuracin 'Configurar tabla'. Junto a las categoras disponibles en otros elementos
Tooltip (informacin) y derechos de acceso, se dispone aqu de las categoras 'Tabla', 'Columnas' y
'Tabla especial' para definir el contenido y el modo de representacin de la tabla.

'Insertar' 'Instrumento de aguja'

Smbolo:

Con la orden puede insertar un instrumento de aguja en su visualizacin actual


Visualisierungselementeeinf.gen2>Proc. Ofrece una escala, que se encuentra sobre una seccin
de arco circular, y una aguja, que tiene su origen en el centro del crculo virtual.
Abra el elemento con la tecla izquierda del ratn oprimida hasta el tamao deseado. An antes que
el elemento sea representado en su apariencia definitiva, aparece el dilogo de configuracin
Configurar instrumento de aguja. Aqu puede definir diferentes parmetros y observar el efecto
sobre la representacin en una vista previa, antes que el elemento sea insertado definitivamente
tras confirmar con Aceptar:

'Insertar' 'Indicacin por barra'

Smbolo:
Con la orden puede insertar indicacin por barra en su visualizacin actual. Esta sirve para la
representacin de un valor de variable en forma de una barra, que se mueve a lo largo de una
escala horizontal. Abra el elemento con la tecla izquierda del ratn oprimida hasta el tamao
deseado. An antes que el elemento sea representado en su apariencia definitiva, aparece el
dilogo de configuracin Configurar indicacin por barra. Aqu puede definir diferentes parmetros
y observar el efecto sobre la representacin en una vista previa, antes que el elemento sea
insertado definitivamente tras confirmar con Aceptar:

'Insertar' 'Histograma'

Smbolo:

Con la orden puede insertar un histograma en su visualizacin actual. Con este elemento puede
ser representada una matriz una junto a la otra como barras, que modifican la altura de acuerdo al
valor de la variable. Abra el elemento con la tecla izquierda del ratn oprimida hasta el tamao
deseado. An antes que el elemento sea representado en su apariencia definitiva, aparece el
dilogo de configuracin Configurar histograma. Aqu puede definir diferentes parmetros y
observar el efecto sobre la representacin en una vista previa, antes que el elemento sea insertado
definitivamente tras confirmar con Aceptar.

'Insertar' 'Tabla de alarmas'

Smbolo:

Con la orden puede insertar tabla de alarmas en su visualizacin actual. Abra el elemento con la
tecla izquierda del ratn oprimida hasta el tamao deseado. An antes que el elemento sea
representado en su apariencia definitiva, aparece el dilogo de configuracin 'Configurar tabla de
alarmas'. Junto a las categoras disponibles en otros elementos Tooltip (informacin) y derechos de
acceso, se dispone aqu de las categoras 'Tabla de alarmas', 'Propiedades de clasificacin',
'Columnas' y 'Propiedades de seleccin' para definir el contenido y el modo de representacin.
Puede emplear la tabla de alarmas para visualizar las alarmas configuradas en la configuracin de
alarmas del proyecto.

'Insertar' 'Tendencia'

Smbolo:

Con la orden puede insertar un elemento de tendencia en su visualizacin actual. Abra el elemento
con la tecla izquierda del ratn oprimida hasta el tamao deseado. La configuracin del modo de
representacin (ejes, variables, historial) se realiza en el dilogo de configuracin de la categora
'Tendencia'. La tendencia o tambin elemento de osciloscopio sirve para la representacin de
variables a travs de un determinado horizonte de tiempo. El elemento de tendencia memoriza los
datos sobre la pgina de cliente y los representa como grficos. En el momento que un valor se
modifica dentro del grfico, se realiza un nuevo registro en el archivo, el cual contiene fecha/hora
de los nuevos valores de la variable. El elemento de tendencia se delinea transparente. De este
modo es posible seleccionar cualquier fondo (color, mapa de bits).

Visualizacin TwinCAT PLC Control

Posicionamiento de elementos de visualizacin

Seleccin de elementos de visualizacin

El modo de seleccin est activado como estndar. Para seleccionar un elemento, haga clic con el
ratn sobre el elemento. Asimismo oprimiendo la tecla <Tabulador> puede seleccionar el primer
elemento de la lista de elementos y oprimiendo una vez ms seleccionar el siguiente
correspondiente. Si emplea el <Tabulador> oprimiendo simultneamente la tecla <Mays>, saltar
en la lista de elementos adecuadamente hacia atrs.

Para marcar elementos que se encuentran debajo de otro, marque primero con un clic de ratn el
elemento superior. Con la tecla <Ctrl> oprimida ejecute los siguientes clic de ratn, para alcanzar
los elementos que se encuentran por debajo.

Para marcar varios elementos, mantenga oprimida la tecla <Mays> y haga clic sucesivamente
sobre los elementos correspondientes o con la tecla izquierda del ratn oprimida abra una ventana
sobre los elementos a ser marcados.

Para seleccionar todos los elementos, emplee la orden 'Herramientas' 'Marcar todo'.

Si se encuentra en la lista de elementos, tambin puede desde all mediante seleccin de una
lnea, seleccionar el elemento afectado a la visualizacin.

Cambiar entre modo de seleccin e insercin

Tras insertar un elemento de visualizacin, se conmuta automticamente de nuevo al modo de


seleccin. Si ahora se desea insertar otro elemento del mismo tipo, se puede seleccionar
nuevamente la orden correspondiente en el men o el smbolo en la barra de herramientas. Entre
el modo de seleccin y de insercin adems de con la orden de men (Herramientas'

Seleccionar') o smbolo tambin se puede cambiar oprimiendo simultneamente la tecla - y le


tecla derecha del ratn. En el modo de insercin aparece el smbolo correspondiente en el puntero
del ratn y en la barra de estado el nombre se indica en negro.

'Herramientas' 'Seleccionar'

Con esta orden se conecta o bien desconecta el modo de seleccin. Esto asimismo es posible a

travs del smbolo o mediante la tecla derecha del ratn oprimiendo simultneamente la tecla
<Ctrl>.

Copia de elementos de visualizacin

Puede copiar uno o varios elementos seleccionados con la orden 'Edicin' 'Copiar', la
combinacin de teclas <Ctrl>+<C> o copiar con el smbolo correspondiente e insertar con
'Edicin' 'Pegar'. Otra posibilidad es, seleccionar los elementos y con la tecla <Ctrl> oprimida
hacer clic una vez ms en un elemento. Con la tecla izquierda del ratn oprimida, puede retirar
ahora los elementos copiados de los originales.

Modificacin de elementos de visualizacin

Puede seleccionar un elemento ya insertado mediante clic del ratn sobre el elemento o bien a
travs de un paso por <Tabulador> clic de teclas. En los vrtices de los elementos aparece en cada
caso un cuadrado negro (en elipses en los vrtices del rectngulo circunscrito). Excepto en
polgonos, lneas y curvas aparecen otros cuadrados en el centro de los cantos de elementos
dentro los puntos de vrtice.

Con el elemento seleccionado se indica simultneamente el punto de rotacin (centro de


gravedad). Alrededor de este punto rota entonces el elemento con movimiento/ngulo configurado.

El punto de rotacin se representa como un crculo pequeo negro con una cruz blanca ( ). Con
la tecla izquierda del ratn oprimida puede desplazar el punto de rotacin. Se puede modificar el
tamao del elemento, haciendo clic sobre uno de los cuadrados negros y con la tecla izquierda del
ratn oprimida controlar los nuevos contornos. En la seleccin de un polgono, una lnea o una
curva, de este modo se pueden desplazar cada vrtice individual. Si al mismo tiempo se oprime la
tecla <Ctrl>, se inserta en el punto de vrtice un punto de vrtice adicional, que puede ser movido
desplazando el ratn. Con las teclas <Mays>+<Ctrl> oprimidas, se puede quitar un punto de
vrtice.

Desplazamiento de elementos de visualizacin

Puede desplazar uno o varios elementos seleccionados con la tecla izquierda del ratn oprimida o
las teclas de flecha.

Agrupamiento de elementos

Los elementos se agrupan, seleccionando varios elementos y ejecuta el punto de men


'Herramientas' 'Agrupar'. El grupo creado se comporta como un elemento individual:

Los elementos a ser agrupados reciben un marco comn, con desplazar" en este marco todos
los elementos se estiran o bien contraen simultneamente, los movimientos slo son posibles
como grupo.

Los elementos agrupados reciben propiedades comunes: esto quiere decir las entradas actan
sobre el grupo y no sobre los elementos individuales. Por esta razn los elementos tambin tienen
un dilogo de configuracin comn. La caracterstica Cambio de color" no puede ser asignada
para un grupo.

Para configurar nuevamente un elemento individual, el agrupamiento debe ser levantado con la
orden 'Herramientas' 'Desagrupar', en este caso, la configuracin de agrupamiento se pierde.

'Herramientas' 'Traer al frente'

Con esta orden trae los elementos de visualizacin seleccionados al primer plano.

'Herramientas' 'Poner atrs'

Con esta orden pone los elementos de visualizacin seleccionados en segundo plano.

'Herramientas' 'Alinear'

Con esta orden puede alinear varios elementos de visualizacin seleccionados. Se dispone de las
siguientes posibilidades de alineacin:

Izquierda: Todos los elementos se alinean en cada caso con su canto izquierdo, con relacin al
elemento que ms a la izquierda se encuentra
Adecuadamente Derecha / Arriba / Abajo

Centro horizontal: Todos los elementos son alineados por su centro de gravedad, en cada caso
en el centro horizontal

Centro vertical: Todos los elementos son alineados por su centro de gravedad, en cada caso en
el centro vertical

'Herramientas' 'Lista de elementos'

Con esta orden se abre un dilogo, que realiza un listado de todos los elementos de visualizacin
por su Nmero, Tipo y Posicin. La posicin se refiere a la posicin X e Y del vrtice superior
izquierdo (x1, y1) y el derecho abajo (x2, y2) del elemento.
Cuando selecciona una o varias entradas, los elementos correspondientes en la visualizacin se
marcan para un control ptico y en caso dado la indicacin se despliega a la seccin en la que se
encuentran los elementos.
Con el botn Uno hacia delante se desplaza el elemento de visualizacin seleccionado un nivel en
direccin del primer plano. Uno hacia atrs desplaza el elemento un nivel en direccin del
segundo plano.
Con el botn Hacia delante coloca el elemento de visualizacin seleccionado en primer plano.
Con el botn Hacia atrs lo coloca en segundo plano.

Debajo de la lista de elementos obtiene dependiendo del elemento marcado una de las siguientes
posibilidades de entrada para modificacin de tamao y posicin del elemento:

Si se trata de un rectngulo, rectngulo redondeado, elipse, mapa de bits, una visualizacin,


botn o metarchivo, aparecen junto al texto Rectngulo (x1, y1, x2, y2) cuatro campos de entrada,
en los que estn indicadas las posiciones actuales x/y y pueden ser editadas.

En caso de un trazo lineal, polgonos o una curva, aparece una tabla, que indica para cada punto
de posicin (que se indican como pequeos cuadrados negros, en el momento que el elemento
est marcado) la posicin X y la posicin Y en sendas lneas. Tambin estas pueden ser aqu
editadas.
Para asumir en la lista de elementos y en la visualizacin los nuevos valores de posicin
colocados, oprima el botn Poner rectngulo (en 1.) o bien Poner polgono (en 2.).
Con el botn Borrar se eliminan todos los elementos de visualizacin seleccionados en la lista de
elementos.
Con Deshacer y Restaurar puede deshacer y restaurar las modificaciones realizadas como en
'Edicin' 'Deshacer' y 'Edicin' 'Restaurar'. Los procedimientos puede observarlos en el dilogo.
Para abandonar el dilogo confirme las modificaciones con Aceptar.
Dilogo Lista de elementos

Barra de estado en la visualizacin

Cuando la focalizacin se encuentra sobre una visualizacin, se indica en la barra de estado, la


posicin X e Y actual del puntero del ratn en pxeles relativamente al vrtice superior izquierdo
de la imagen. Si el puntero del ratn se encuentra sobre un elemento o se est editando un
elemento, se indica el nmero del mismo. En caso que haya seleccionado un elemento para
insertar, este aparece asimismo (p.ej. Rectngulo).

Visualizacin TwinCAT PLC

Resumen
Se pueden configurar tanto los elementos grficos individuales de una visualizacin como tambin
un objeto de visualizacin en su totalidad. Segn la unidad seleccionada se dispone de diferentes
dilogos de configuracin, que pueden ser llamados desde el men 'Herramientas' o bien del men
contextual a travs de la orden 'Configurar'.

All se ponen alternativamente configuraciones fijas o bien se indican variables de proyecto, cuyos
valores entonces determinan las caractersticas correspondientes dinmicamente en modo online.
Adems estas tambin pueden ser activadas a travs de componentes de variables de estructura,
que se ponen por elemento de visualizacin.

Nota:

Observe la secuencia de evaluacin, que ms tarde vale en modo online:


- Los valores dinmicos, o sea suministrados a travs de variables de proyecto normales o a travs
de variables de estructura, sobrescriben las configuraciones fijas de las configuraciones de
elemento.
- Cuando una propiedad de elemento se aborda tanto a travs de una variable de proyecto
registrada directamente en el dilogo de configuracin como tambin a travs de un componente
de una variable de estructura, en modo online se evala primero el valor de las variables de
proyecto.

Se debe observar tambin la posibilidad del empleo de marcadores de posicin as como las
posibilidades especiales de entrada con miras al empleo de una visualizacin con el TwinCAT PLC
Control, o sea como interfaz de manejo exclusiva para un programa de control.

Marcador de posicin

En cada punto de un dilogo de configuracin, en las que se introducen variables o texto, se puede
colocar en lugar de variables o del texto, tambin un marcador de posicin. Esto es conveniente,
cuando el objeto de visualizacin no debe ser empleado inmediatamente en el programa, sino se
crea para ser insertado como referencia en otros objetos de visualizacin. Al configurar una
referencia de este tipo, los marcadores de posicin pueden entonces ser reemplazados por
nombres de variables o textos.

Vase para ello el captulo sobre Concepto de marcadores de posicin.

Visualizacin TwinCAT PLC Control

Configurar elementos de visualizacin


'Herramientas' 'Configurar'

Con esta orden se abre el dilogo 'Configurar elemento' para configurar el elemento de
visualizacin seleccionado. El dilogo tambin lo obtiene mediante doble-clic sobre el elemento.
Seleccione una categora en el rea izquierda del dilogo y complete en el rea derecha las
indicaciones deseadas. Esto se realiza ya sea a travs de activacin de determinadas opciones o
mediante introduccin de variables vlidas, cuyos valores determinan la propiedad. Para los
diferentes tipos de elementos, se dispone de diversas categoras de configuracin.

Nota:

Tambin para un grupo de elementos se dispone de dilogos de configuracin. Las propiedades se


refieren entonces sin embargo slo al grupo "Elemento". Para poder configurar los elementos
individuales se debe disolver el grupo.

Nota:

En propiedades, que se determinan tanto sobre una configuracin fija, como tambin a travs de
una variable, vale ms tarde en el modo online, que el valor de la variable sobrescribe aquel de la
configuracin fija (Ejemplo: "Color de alarma interior" puede ser definido esttico en la categora
'Colores', y adicionalmente dinmico a travs de una variable en la categora 'Variables de color').
Si la configuracin se controla adicionalmente a travs de un variable estructural, su valor se
sobrescribe asimismo por la variable de proyecto registrada en el dilogo de configuracin.
Advertencia:

Instrumento de aguja, indicacin de barra e histograma deben ser agrupados nuevamente antes de
la configuracin.

En los puntos en los elementos de configuracin, en los que se tornan efectivas las variables, son
posibles las siguientes Entradas:

Nombre de variables, en donde se dispone de la ayuda de entrada (<F2>)

Expresiones, compuestos de accesos a componentes, accesos a campos con ndice constante,


variables y direcciones directas

Operadores y constantes, que junto con las expresiones existentes hasta el momento pueden ser
combinados a voluntad

Marcadores de posicin en lugar de nombres de variables o cadenas de texto

Ejemplos para expresiones admisibles:

x+y

100*PLC_PRG.a

TRUE

NOT PLC_PRG.b

9*sin(x + 100)+cos(y+100)

No son posibles llamadas de funciones. Expresiones inadmisibles conducen durante el login a un


mensaje de error ("Expresin Watch errnea ..").

Ejemplos de expresiones inadmisibles:

fun(88)

a := 9

RETURN.

Para Variables globales son posibles dos modos de escritura en estos dilogos de configuracin:
".globvar" y "globvar" tienen el mismo significado. El modo de escritura con punto (corresponde a
aquel que se emplea en el administrador Watch y de frmula) sin embargo no es posible dentro de
una expresin ensamblada.

ngulo

En el dilogo para 'Configurar sector circular' puede registrar en cada caso en la categora ngulo
un valor o una variable de proyecto y definir los ngulos iniciales y ngulos finales del elemento
de sector circular en grados angulares. Cuando est activada la opcin Mostrar slo arco de
crculo, se representa slo el arco del crculo.
Ejemplo: Entrada para ngulo inicial: "90", ngulo final: "180"

Dilogo para configurar sectores circulares

Forma

En el dilogo para configurar elementos de visualizacin, puede seleccionar en la categora Forma


entre rectngulo, rectngulo redondeado, elipse y lnea o bien polgono, trazo de lnea y curva. La
forma cambia al tamao ya determinado.

Dilogo para configurar elementos de visualizacin


Texto

Dilogo para configurar elementos de visualizacin (Categora Texto)

En el dilogo para configuracin de elementos de visualizacin puede determinar un texto para el


elemento en la categora Texto. Este se introduce directamente y/o se determina una variable que
lo suministra. En este caso es posible el empleo de marcadores de posicin. Se definen asimismo
las configuraciones bsicas de fuente y orientacin.
Nota:

Cuando se suministran parmetros de texto, que en el dilogo presente estn definidos como
estticos, adicionalmente dinmicos, esto es a travs de variable (v.b. Categora 'Variables de texto'
o bien 'Capacidad de programacin'), las definiciones estticas se sobrescriben. Observe por regla
general la secuencia de evaluacin en modo online de definiciones mltiples de una propiedad de
elemento

Introduzca el texto directamente en el campo Contenido. A travs de la combinacin de teclas


<Ctrl>+<Entrar> puede introducir los saltos de lnea, con <Ctrl>+<Tabulador> marcas de
tabulaciones. Adicionalmente a la pura entrada de texto tiene las siguientes posibilidades de
formateado:

Si en el texto introduce "%s", en el modo online se representa como cadena en este punto, el
valor de las variables del campo 'Emisin de texto' de la categora 'Variables'. Tambin puede
emplear una indicacin de formato, que se corresponda con la funcin sprintf de la biblioteca C
estndar:

Posibles formateados de caracteres:

Carcter Argumento / Emisin como

d,i Nmero decimal

o Nmero octal sin signo (sin ceros precedidos)

x Nmero hexadecimal sin signo (sin 0x precedido)

u Nmero decimal sin signo

c Carcter individual

s Cadena de caracteres

f Valor REAL [-]m.<dddddd>, donde se fija la exactitud de la


cantidad de d (valor predeterminado es 6). El signo positivo o
negativo define alineacin derecha (valor predeterminado) o
bien izquierda, m define la cantidad de lugares tras la coma.

El valor de la variable se representa adecuadamente en modo online. Como entrada estn


permitidos todos los formateados conformes a IEC, que se adaptan al tipo correspondiente de
variable.

Advertencia:

No se realiza ninguna comprobacin, si el tipo indicado en el formato se adapta a las variables


registradas en 'Presentacin de texto'.

Ejemplo:
Introduccin en el campo Contenido: Nivel de llenado %2.5f cm
Introduccin en el campo Presentacin de texto p.ej.: fvar1 (variable REAL)
-> Presentacin en modo online p.ej.: Nivel de llenado 32.48999 cm

Si introduce en el texto "%t", seguido de una determinada secuencia de marcadores especiales


de posicin, en modo online este punto se sustituye por la indicacin del sistema de tiempo: Los
marcadores de posicin definen el formato de la presentacin; vea la tabla indicada abajo.

Advertencia:

Delante de %t no se puede entrar ningn otro carcter ( a diferencia de p.ej. "%s", v.a.)

Marcador
de
posicin Formato

%a Nombre del da de la semana, abreviado, p.ej. "Mie"

%A Nombre del da de la semana, largo completo, p.ej. "Mircoles"

%b Nombre de mes, abreviado, p.ej. "Feb"


%B Nombre del mes, largo completo, p.ej. "Febrero"

%c Fecha y hora en el formato <Mes>/<Da>/<Ao>


<Horas>:<Minutos>:<Segundos>, p.ej. "08/28/02 16:58:45"

%d Da del mes como nmero (01-31), p.ej. "24"

%H Indicacin de horas, formato 24 horas (01-24), p.ej. "16"

%I Indicacin de horas, formato de 12 horas (01-12), p.ej. "05" para 17 h

%J Indicacin del da (001 - 366), p.ej. "241

%m Mes (01 - 12), p.ej. "3" para marzo

%M Minutos (00 - 59), p.ej. "13

%p Indicador actual AM (horas <12) o bien PM (>12) para indicacin en


formato de 12 horas, p.ej. "AM", si en ese momento son las 9 h de la
maana.

%S Segundos (00 - 59)

%U Indicacin de semanas como nmero, donde el domingo se cuenta como


el primer da de la semana) (00 - 53 para 53 posibles semanas de un
ao)

%w Da de la semana como nmero (0 - 6; domingo = 0)

%W Indicacin de semana en nmero, en donde lunes se considera el primer


da de la semana) (00 - 53 para 53 posibles semanas de un ao)
%x Fecha en formato <Mes>/<Da>/<Ao>, p.ej. "08/28/02"

%X Hora en formato <Horas>:<Minutos>:<Segundos>, p.ej. "16:58:45"

%y Indicacin del ao sin siglos (00 - 99), p.ej. "02"

%Y Indicacin del ao con siglos, p.ej. "2002"

%z, %Z Indicacin de la zona horaria (ninguna indicacin en caso que la zona


horaria no sea conocida), p.ej. "Hora de verano de Europa Occidental"

%% Signo de por ciento

Ejemplo:
%t%a %b %d.%m.%y %H:%M:%S
-> Emisin en modo online: Mie Ago 28.08.02 16:32:45

Entre los marcadores de posicin tambin se puede introducir un texto:

%tHoy es el %d.%m.%y
-> Emisin en modo online: Hoy es el 28.08.02

Nota:

Si una cadena de texto debe ser asumida en un archivo de traduccin, que despus en el modo
online posibilite una conmutacin al idioma de otro pas, debe ser limitada al inicio y al final con #.
Ejemplo: #Bomba 1#" o tambin #Bomba# 1" Este ltimo caso por ejemplo ahorra ante la
reiterada aparicin en la traduccin del texto Bomba (Bomba 1, Bomba 2, etc.).

Si en el texto introduce "%<PREFIJO>", puede introducir en lugar de "PREFIJO" una secuencia


de letras cualquiera, que sirve como identificador para el empleo de textos dinmicos. El prefijo se
emplea adems en combinacin con una ID, que a su vez se determina a travs de la entrada en
categora 'Variables' en el campo 'Emisin de texto'. La combinacin hace referencia a una
determinada versin de texto, disponible en un archivo XML, la cual define los posibles textos
dinmicos. De este modo durante la marcha se indica en cada caso en texto correspondiente a la
combinacin actual.
El texto configurado aparecer online segn la orientacin indicada horizontal izquierda,
centrado o derecha y vertical arriba, centrado o abajo en el elemento.
Con el botn Fuente aparece el dilogo para la seleccin del tipo de fuente. Seleccione el tipo de
fuente deseado y confirme el dilogo con Aceptar. Con el botn Fuente estndar se configura el
tipo de fuente que est seleccionado en las opciones de proyecto ('Proyecto' 'Opciones' 'Editor').
Si se modifica all, se indican en todos los elementos este tipo de fuente, con excepcin de
elementos, en los que explcitamente se haya seleccionado otra a travs del botn Fuente.

Variables de texto

Dilogo para configuracin de elementos de visualizacin (Categora Variables de texto)

En el dilogo para configurar elementos de visualizacin, puede definir en la categora Variables


de texto, para la secuencia de caracteres introducidas en la categora 'Texto', a travs de que
variables de proyecto deben ser determinadas dinmicamente el color y las propiedades de la
fuente. Para ello introduzca el nombre de la variable de preferencia a travs de la ayuda de entrada
<F2>. Las configuraciones aqu posibles, tambin son posibles a travs de componentes de la
estructura VisualObjectType. Vase para ello la descripcin en la categora "Capacidades de
programacin" de un elemento de visualizacin; all encontrar los valores vlidos y los efectos
correspondientes de cada uno de los componentes de la estructura.

Nota:

Cuando en la categora 'Texto' se dispone de definiciones fijas adecuadas para los parmetros de
texto, estas se sobrescriben a travs de los valores de variables corrientes.
Observe por regla general la secuencia de evaluacin en modo online de definiciones mltiples de
una propiedad de elemento

Los parmetros del dilogo:

Corresponde
al componente
Ejemplo de una de la
entrada de una Ejemplo-Empleo de estructura
Parmet Significad variable de las variables en el VisualObjectT
ro o: proyecto: programa: ype:

Color de Color de "plc_prg.var_textc var_textcolor=16#FF dwTextColor


texto: texto olor" 00FF -> color

Indicador Posicin "plc_prg.textpos" textpos:=2 -> Texto dwTextFlags


de texto: de texto alineado a la
(derecha, derecha
izquierda,
centrada...)

Altura de Altura de ".fonth" fonth:=16; -> Altura ntFontHeight


fuente: fuente en de fuente 16 pt
pxeles

Nombre Denominac "vis1.fontn" fontn:=arial; -> Se stFontName


de in de la emplea Arial
fuente: fuente

Indicador Estilo de "plc_prg.fontchar" fontchar:=2 -> El dwFontFlags


es de fuente texto se representa
fuente: (negrita, en negrita
subrayado,
cursiva...)
Ancho de lnea

En el dilogo para configurar los elementos de visualizacin, puede seleccionar en la categora


Ancho de lnea para un elemento. Como opciones estn predeterminados anchos de 1 a 5
pxeles, adicionalmente se puede introducir otro valor (Otros:), o una variable de proyecto
(Variable para ancho de lnea:) , esto ltimo tambin a travs de la ayuda de entrada (<F2>).

Nota:

Cuando el parmetro adicionalmente se define a travs de una variable de estructura (v.b.


Categora 'Capacidades de programacin'), en el servicio online se evala de momento la variable
de proyecto eventualmente indicada bajo 'Variable para ancho de lnea'!
Observe por regla general la secuencia de evaluacin en modo online de definiciones mltiples de
una propiedad de elemento

Dilogo para configuracin de elementos de visualizacin (Categora Ancho de lnea)


Colores

Dilogo para configuracin de elementos de visualizacin (Categora Colores)

En el dilogo para configuracin de elementos de visualizacin puede seleccionar en la categora


Colores, colores bsicos y colores de alarma para la superficie interior y el marco de un elemento.
Las opciones Sin color interior y Sin color de marco posibilitan la concepcin de un elemento
transparente.

Nota:

Cuando parmetros de colores deben ser suministrados tambin dinmicos, esto es, a travs de
una variable de sistema o bien variable de estructura (v.b. Categora 'Variables de colores' o bien
'Capacidad de programacin'), se sobrescriben las definiciones estticas aqu realizadas.
Observe por regla general la secuencia de evaluacin en modo online de definiciones mltiples de
una propiedad de elemento.

Si en la categora Variables en el campo Cambiar color ahora introduce una variable booleana, el
elemento se representa en el color configurado, mientras que la variable sea FALSE (falso). Si la
variable es TRUE (verdadero), el elemento se representa en su color de alarma.

Nota:

La funcin de cambiar color recin est activa, cuando el mando se encuentra en modo online! Si
desea modificar el color para el borde, oprima el botn Marco, por lo dems Interior. En cada caso
se abre el dilogo para seleccin de color.
Aqu puede seleccionar la tonalidad de color deseada, entre colores bsicos y colores de definicin
propia. Oprimiendo el botn Definir colores puede modificar los colores de definicin propia.

Variables de color

Dilogo para configuracin de elementos de visualizacin (Categora Variables de color)

Aqu puede entrar las variables de proyecto (p.ej. PLC_PRG.color_inside), cuyo valor determinan
despus en modo online la correspondiente propiedad: Las configuraciones aqu posibles, tambin
son posibles a travs de componentes de la estructura VisualObjectType. Por esta razn, vea la
descripcin para la categora "Capacidad de programacin" de un elemento de visualizacin; all
encontrar los valores vlidos y el efecto correspondiente de cada uno de los parmetros.

Nota:

Cuando en la categora 'Color' se dispone de definiciones fijas sobre parmetros de color, estas se
sobrescriben en modo online con los valores de las variables aqu definidas; asimismo los valores
adicionales suministrados eventualmente a travs de una variable de estructura. Observe por regla
general la secuencia de evaluacin en modo online de definiciones mltiples de una propiedad de
elemento

Los parmetros del dilogo:

Parmetr Significado: Ejemplo de una Ejemplo- Corresponde al


o entrada de una Empleo de componente de
las variables la estructura
variable de en el VisualObjectTyp
proyecto: programa: e:

Color Color de "plc_prg.var_fillcol" var_fillcol:= dwFillColor


interior: relleno 16#FF00FF
-> Color de
relleno rosa

Color de Color de "plc_prg.var_fillcol_ var_fillcol_a:= dwFillColorAlarm


alarma relleno en a" 16#FF00FF
interior: caso de -> Color de
alarma alarma rosa

Color Color de "plc_prg.var_frame var_framecol: dwFrameColor


marco: marco col" = 16#FF00FF
-> Color de
marco rosa

Color de Color del "plc_prg.var_frame var_framecol: dwFrameColorAla


alarma marco en col" = 16#FF00FF rm
marco: caso de -> Color de
alarma alarma rosa

Indicador La "plc_prg.var_col_off var_col_off:= dwFillFlags


es de configuracin " 1 -> Las
relleno: de color asignaciones
realizada de color para
para 'interior' el relleno del
puedes ser elemento no
activada se ejecutan,
(FALSE) o el marco
bien permanece
desactivada
(TRUE).

Indicador Representaci "plc_prg.var_linetyp var_linetype: dwFrameFlags


es de n del marco e" =2; -> El
marco: (continuo, de marco se
guiones, ....) representa en
guiones

Movimiento absoluto

En el dilogo para configuracin de elementos de visualizacin se pueden registrar variables en la


categora Movimiento absoluto en los campos Offset-X o bien Y, que desplazan el elemento en
direccin X o bien Y dependiendo del valor de variable correspondiente. Una variable en el campo
Escala modifica el tamao del elemento de forma lineal al valor de la variable. El valor actual de la
variable que sirve como factor de escala, se divide implcitamente por 1000, para que no deban ser
utilizadas por necesidad variables reales para alcanzar una reduccin del elemento. La
modificacin del tamao del elemento parte siempre del punto de rotacin de este. Una variable en
el campo ngulo provoca una rotacin del elemento sobre su punto de giro dependiendo del valor
de la variable (valor positivo = matemticamente positivo = sentido de las agujas del reloj). El valor
se evala en grados. En polgonos rota cada punto, esto quiere decir que el polgono gira. En todos
los dems elementos rota el objeto, en donde siempre el canto superior permanece arriba.
El punto de rotacin aparece tras hacer clic una vez sobre el elemento y se representa con un

pequeo crculo negro con una cruz blanca ( ). Con la tecla izquierda del ratn oprimida puede
desplazar el punto de rotacin.

Nota:

Cuando el parmetro se suministra adicionalmente a travs de una variable de estructura (v.b.


Categora 'Capacidad de programacin'), en servicio online se evala de momento la variable aqu
indicada.
Observe por regla general la secuencia de evaluacin en modo online de definiciones mltiples de
una propiedad de elemento
Dilogo para configuracin de elementos de visualizacin (Categora Movimiento absoluto)

Movimiento relativo

Dilogo para configuracin de elementos de visualizacin (Categora Movimiento relativo)

En el dilogo para configuracin de elementos de visualizacin puede asignar en la categora


Movimiento relativo a los cantos de elementos individuales. Los cantos se mueven entonces
dependiendo de los valores de variable. La posibilidad ms sencilla de entrar variables en los
campos es la ayuda de entrada (<F2>).
Las cuatro introducciones indican los cuatro lados de su elemento. La posicin bsica de los cantos
est siempre en cero, un nuevo valor de las variables en la columna correspondiente, desplaza los
lmites con este valor en pxeles. Las variables introducidas deben por lo tanto ser del tipo INT.

Nota:

Valores positivos desplazan los cantos horizontales hacia abajo o bien los cantos verticales hacia
la derecha!

Nota:

Cuando el parmetro se suministra adicionalmente a travs de una variable de estructura (v.b.


Categora 'Capacidad de programacin'), en servicio online se evala de momento la variable aqu
indicada. Observe por regla general la secuencia de evaluacin en modo online de definiciones
mltiples de una propiedad de elemento

Variables

Dilogo para configuracin de elementos de visualizacin (Categora Variables)

En el dilogo para configuracin de elementos de visualizacin pueden indicar variables en la


categora Variables (como en las categoras 'Variables de texto' 'Variables de color'), que describan
el estado del elemento de visualizacin. Utilice para ello de preferencia la ayuda de entrada (<F2>).

Nota:

Cuando un parmetro se suministra adicionalmente a travs de una variable de estructura (v.b.


Categora 'Capacidad de programacin'), en servicio online se evala primero las variables de
proyecto aqu indicada.
Observe por regla general la secuencia de evaluacin en modo online de definiciones mltiples de
una propiedad de elemento.

Las posibilidades de configuracin:

Invisible: Cuando la variable booleana aqu registrada tiene el valor FALSE (falso), el elemento de
visualizacin est visible. Si la variable posee el valor TRUE (verdadero), entonces el elemento es
invisible.

Desactivar entrada: Cuando la variable booleana aqu registrada tiene el valor TRUE (verdadero),
todas las configuraciones de la Categora 'Entrada' no son consideradas.

Cambiar color: Cuando la variable booleana aqu registrada tiene el valor FALSE (falso), el
elemento de visualizacin se representa en su color bsico. Si la variable es TRUE (verdadero), el
elemento se visualiza en su color de alarma.

Presentacin de texto:
Si en el campo Contenido de la categora Texto ha introducido adicional al texto o
exclusivamente "%s", en modo online se representa en la visualizacin el valor de la variable
entrada aqu en la emisin de texto. El "%s" se sustituye entonces por el valor.

Si en el campo Contenido de la categora Texto adicionalmente introduce "%<PREFIJO>" al


texto, en donde "PREFIJO" es una determinada secuencia de caracteres (vase ), entonces se
interpreta la variable entrada aqu para la emisin de texto o bien el valor numrico aqu registrado
como ID, que en combinacin con el prefijo, sirve como referencia sobre un texto, que est descrito
en un archivo XML. Este texto se indica entonces en modo online en lugar del "%<PREFIJO>". De
este modo es posible una modificacin dinmica del texto a ser indicado. Vase para ello tambin
la descripcin para el dilogo 'Herramientas' 'Configuraciones', Categora Idioma, as como
para la conmutacin de idioma en la visualizacin.

Si desea que el valor de las variables sea editado en modo online por teclado, active la opcin
'Entrada de texto de variable' 'Emisin de texto' en la Categora Entrada.

Emisin Tooltip: Aqu puede indicar una variable del tipo STRING (cadena), cuyo valor actual
aparece como Tooltip (informacin) del elemento en la visualizacin.
Entrada

Dilogo para configuracin de elementos de visualizacin (Categora Entrada)

Alternar variable: Cuando esta opcin est activada, alterna en modo online con cada clic de
ratn sobre el elemento, el valor de las variables que se encuentran indicadas detrs en el campo
de entrada. Para la entrada puede llamar la ayuda de entrada a travs de <F2>. El valor de la
variable booleana se modifica con el primer clic del ratn al valor TRUE (verdadero) o FALSE
(falso) seleccionado y al soltar retorna nuevamente al contravalor FALSE o TRUE correspondiente
en cada caso.

Pulsar variable: Cuando esta opcin est activada, puede hacer cambiar en modo online el valor
de variables booleanas, indicadas detrs en el campo de entrada entre TRUE (verdadero) y FALSE
(falso). Ubique el puntero del ratn sobre el elemento, oprima la tecla del ratn y mantngala
oprimida. Si est activada la opcin Pulsar FALSE, al oprimir el valor se pone en FALSE (falso), en
caso contrario sobre TRUE. En el momento que vuelve a soltar la tecla, el valor de la variable
retorna al valor de partida.

Zoom to vis...: Cuando esta opcin est activada, puede indicar en el campo siguiente, a que
visualizacin debe cambiarse en modo online, mientras que se hace clic con el ratn sobre el
elemento. En este caso recin se abre la ventana de la visualizacin de objetivo y a continuacin
se cierra la actual.

Tiene las siguientes posibilidades de entrada:


El nombre de un objeto de visualizacin del proyecto actual (vase Object Organizer)
Si se debe saltar a una visualizacin de referencia que contiene marcadores de posicin, estos
pueden ser sustituidos por nombres de variables o bien textos directamente a la llamada. Siga para
ello la siguiente sintaxis:
<Nombre Visu>(<Marcador1>:=<Texto1>, <Marcador2>:=<Texto2>,..., <Marcador n>:=<Texton>)
En este modo de escritura se omiten los smbolos $. Al traducir la visualizacin se comprueba, si
el texto entrado se corresponde con la cantidad de valor fijada, en caso negativo se emite una
advertencia adecuada.
Ejemplo:
Llamada de la visualizacin visu1, en donde los marcadores de posicin empleados en la visu1
$var_ref1$ y $var_ref2$ se sustituyen por las variables PLC_PRG.var1 o bien PROG.var1:
visu1(var_ref1:=PLC_PRG.var1, var_ref2:=PROG.var1)
Una variable de programa del tipo STRING (cadena) (p.ej. PLC_PRG.xxx), a travs de la cual se
puede especificar el nombre del objeto de visualizacin (p.ej. visu1'), al que debe cambiarse tras
hacer clic con el ratn (p.ej. xxx := visu1').
La orden ZOOMTOCALLER': En este caso mediante clic del ratn sobre el elemento en modo
online, se logra un retroceso en la visualizacin llamada, en caso que se haya configurado una
constelacin de este tipo.

Nota:

La variable implcita CurrentVisu (tipo STRING (cadena), vase tambin en el Apndice A sobre
variable implcitas (de sistema)), describe el nombre del objeto de visualizacin actualmente
abierto. Esta puede por ejemplo ser empleada en una aplicacin, para controlar que visualizacin
debe ser abierta, o bien para comprobar, cuales son las que estn abiertas en ese momento. No
obstante esto slo es posible, cuando el nombre de los objetos de visualizacin est definido en
maysculas. (vase "Crear un objeto de visualizacin"). Ejemplo: CurrentVisu:='TC_VISU';

Ejecutar programa: Cuando esta opcin est activada, puede entrar en el campo de entrada
detrs uno o varios programas ejecutables, ASSIGN u "rdenes INTERNAS" especiales, que
entonces haciendo clic en el ratn sobre el elemento se ejecutan en modo online. Para ello recibe a
travs del botn "..." un dilogo en los que las ordenes pueden ser seleccionadas (Agregar) y
ubicadas en la secuencia deseada (antes, despus). Por ejemplo existe una orden para la
Conmutacin de idioma en una visualizacin. Vase para aclaracin de las posibles rdenes:
'Posibilidades especiales de entrada para TwinCAT PLC HMI'.

Ejemplo: notepad C:/help.txt (se inicia el programa del bloc de notas notepad y se abre el archivo
de ayuda help.txt)
Nota:

Entrada de texto de la variable 'Emisin de texto': Cuando esta opcin est activada, obtendr
en esta visualizacin en modo online la posibilidad de entrar un valor, que se escribe en la variable
tras oprimir la <Entrar>, que se encuentra en el campo Emisin de texto de la categora Variables.
Seleccione de la lista de seleccin, de que modo entonces, esta entrada puede ser realizada en
modo online:

Texto: Se abre un marco de edicin, en el que se teclea el valor.

Numpad o bien Keypad: Se abre una ventana con la reproduccin del teclado numrico o bien
alfanumrico, sobre la cual mediante activacin de los correspondientes elementos de tecla, se
puede entrar un valor. Esto por ejemplo es conveniente para la visualizacin, que debe ser operada
a travs de pantallas tctiles.

Numpad para entrada del valor en modo online:

El rango de valor para la entrada de valores para variables no-STRING puede ser restringido
mediante indicacin del mnimo y mximo valor posible en los campos Min: y Max:.

Observe la secuencia de evaluacin en modo online ante definicin mltiple de una propiedad de
elemento

Tooltip

En el dilogo Texto para Tooltip (informacin) obtendr un campo de entrada para texto, que
aparece en una ventana de texto, en el momento que el cursor del ratn en modo online se
conduce sobre el elemento. El texto puede ser provisto con saltos de lnea mediante la
combinacin de teclas <Ctrl>+<Entrar>.
Observe la secuencia de evaluacin en modo online ante definicin mltiple de una propiedad de
elemento

Derechos de acceso

Las posibilidades de operacin y la vista de una visualizacin en modo online, pueden ser
concebidas de forma diferente para distintos grupos de usuarios, asignndoles por elemento
diferentes derechos de acceso. Se dispone de ocho grupos de trabajo previstos en la
administracin de usuarios del proyecto (vase tambin 'Proyecto' 'Objeto' 'Propiedades' o bien
'Proyecto' 'Contraseas para grupos de trabajo'). La asignacin de derechos se realiza a travs de
la activacin del derecho de acceso correspondiente en el siguiente dilogo en la categora
Derechos de acceso de la configuracin de un elemento de visualizacin:

Dilogo para configurar los derechos de acceso para un elemento de visualizacin (Categora
Derechos de acceso)

Los derechos de acceso para elementos de visualizacin tienen el siguiente significado:

Ningn acceso El elemento no es visible


Acceso de lectura El elemento es visible pero no operable (no es posible ninguna introduccin)
Acceso completo El elemento es visible y operable

Para los derechos de acceso asignados a un elemento de visualizacin se asumen


inmediatamente para todos los elementos restantes en todas las visualizaciones contenidas en el
proyecto, cuando se activa la opcin Asumir para todos los elementos de visualizacin.
Observe, que los derechos de acceso asignados a travs de 'Proyecto' 'Objeto' 'Propiedades' para
un mdulo de visualizacin completo (objeto de visualizacin) son independientes de aquellos de
los elementos de visualizacin individuales!

Capacidad de programacin de una visualizacin

Junto a la posibilidad de realizar configuraciones fijas para el aspecto de un elemento en los


dilogos de configuracin, tambin se puede realizar un control dinmico a travs de variables.
Para ello los elementos de visualizacin pueden ser enlazados con variables de proyecto normales,
no obstante se le puede asignar tambin al elemento una variable de estructura dirigida, que se
emplea exclusivamente para la programacin de las propiedades:

Observe la secuencia de evaluacin, que ms tarde vale en el modo online:


- Los valores dinmicos, o sea suministrados a travs de variables de proyecto normales o a travs
de variables de estructura, sobrescriben las configuraciones fijas de las configuraciones de
elemento.
- Cuando una propiedad de elemento se aborda tanto a travs de una variable de proyecto
registrada directamente en el dilogo de configuracin como tambin a travs de un componente
de una variable de estructura, en modo online se evala primero el valor de las variables de
proyecto.

Para la configuracin de las propiedades de elementos a travs de una variable de estructura,


proceda de la siguiente manera:

Entre en el dilogo de configuracin de la categora Capacidad de programacin en el campo


Nombre de objeto: un nombre de variable nuevo, inequvoco (!) en el proyecto. Para ello debe
activar la opcin a travs de un clic de ratn sobre el cuadro. La variable recibe automticamente el
tipo de la estructura VisualObjectType, que es parte integrante de una biblioteca. La declaracin
se realiza implcita y no es inmediatamente visible en el proyecto.

Tras la siguiente ejecucin de traduccin se pueden emplear en el proyecto las variables de


estructura asignadas al elemento de visualizacin. (Sugerencia para ello: Active la funcin
Intellisense 'Listar componentes' en las opciones de proyecto, categora Editor, para que tras la
entrada del nombre de variable, seguido de un punto, se obtengan los elementos de estructura en
una lista de seleccin). Si por ejemplo ha entrado un nombre de objeto "visu1_line" para un
elemento de visualizacin, puede determinar en el programa p.ej. con visu1_line.nLIneWidth:=4 el
ancho de lnea para este elemento.
Dilogo para configuracin de la capacidad de programacin de un elemento de visualizacin
(Categora Capacidad de programacin)

La estructura VisualObjectType:

La siguiente tabla muestra todos los elementos disponibles en la estructura VisualObjectType y la


posibilidad de configuracin correspondiente en los dilogos de las diferentes categoras:

Al inicio del nombre del componente est integrado el tipo de dato. En este caso significa:
n INT
dw DWORD
b BOOL
st STRING

Posibilidade
s adecuadas
Ejemplo
de ajuste en
(para el elemento fue el dilogo de
Componente definido el nombre de configuraci
(+tipo de dato) Significado objeto "vis1".) ) n:

nXOffset:INT; Desplazar el vis1.nXOffset:=val2; - Cat.


elemento en (El elemento se coloca en Movimiento
direccin X posicin X=val2) absoluto:
Offset X

nYOffset:INT; Desplazar el vis1.nYOffset:=22; - Cat.


elemento en (El elemento se coloca en Movimiento
direccin Y posicin Y=val2) absoluto:
Offset Y

nScale:INT; Modificacin vis1.nScale:=plc_prg.scale_v - Cat.


de tamao ar; Movimiento
(El tamao del elemento se absoluto:
modifica linealmente con la Escalonamien
modificacin de la variable to
plc_prg.scale_var)

nAngle:INT; Girar el vis1.anglevar:=15; - Cat.


elemento (El elemento rota15 grados Movimiento
alrededor de en el sentido de las agujas absoluto:
su punto de del reloj) ngulo
rotacin

Componente Significado Ejemplo Posibilidades


(+tipo de dato) adecuadas de
(para el elemento fue definido
ajuste en el
el nombre de objeto "vis1".) )
dilogo de
configuracin:

nLeft:INT; Desplazar el vis1.nLeft:=val2; - Cat.


canto del (El canto del elemento se Movimiento
elemento mueve a posicin X=val2) absoluto:
izquierdo en Offset X
direccin X

nTop:INT; Desplazar el vis1.nTop:=val2; - Cat.


canto superior (El canto del elemento se Movimiento
del elemento mueve a posicin Y=val2) absoluto:
en direccin Y Offset X
(pos.n.abaj
o)

nRight:INT; Desplazar el vis1.nRight:=val2; - Cat.


canto del (El canto del elemento se Movimiento
elemento mueve a posicin X=val2) absoluto:
derecho en Offset X
direccin X

nBottom:INT; Desplazar el vis1.nBottom:=val2; - Cat.


canto inferior (El elemento se mueve a Movimiento
del elemento posicin X=val2) absoluto:
en Offset X
direccin Y
(pos.

bInvisible:BOOL; Provoca vis1.visible:=TRUE; - Cat.


cambio entre (El elemento es invisible) Colores:
visible e ningn color
invisible por interior +
cambio de ningn
TRUE y color de
FALSE marco
- Cat.
Variables de
color:
Indicadores
de
relleno+Indica
dores de
marco
stTextDisplay: Texto, que vis1.TextDisplay:='ON / OFF'; - Cat. Texto:
STRING; aparece en el Entrada en
El elemento se rotura con
elemento 'Contenido'
este texto

bToggleColor: Provoca vis1.bToggleColor:=alarm_var - Cat.


BOOL; cambio de ; Entrada:
color por (Cuando el indicador de Alternar
cambio de alarma alarm_var se torna variable:
TRUE y TRUE, el elemento cambia al - Cat.
FALSE color que recibe a travs de Variables:
los componentes Cambio de
dwFillColorAlarm, color
dwFrameColorAlarm o bien
por configuracin en el
dialogo de config. cat.
Colores.

bInputDisabled: Entradas de vis1.bInputDisabled:=FALSE; - Cat.


BOOL; categora (ninguna posibilidad de Variables:
Entrada se entrada sobre este elemento) Desactivar
observan con entrada:
TRUE, con
FALSE no

stTooltipDisplay:S Texto del vis1.stTooltipDisplay:= - Cat. Texto


TRING; Tooltip 'Interruptor para .....'; para Tooltip:
(informacin) Entrada en
'Contenido'

Componente Significado Ejemplo Posibilidades


(+tipo de dato) adecuadas de
(para el elemento fue definido
ajuste en el
el nombre de objeto "vis1".) )
dilogo de
configuracin:

dwTextFlags: Posicin del vis1.dwTextFlags:=24; - Cat. Texto:


DWORD; texto: (El texto se ubica en el centro Opciones de
del elemento (4 + 20) horizontal y
1 alineado a
vertical
la izquierda
- Cat.
2 alineado a
Variables de
la derecha:
texto:
4 centrado
Indicadores
horizontal: 4
de texto
8 arriba
10 abajo
20 centrado
vertical

Advertencia:
Debe estar
siempre
puesto tanto
el
posicionamien
to horizontal
como el
vertical
(adicin de
los valores)!

dwTextColor : Color de texto vis1.dwTextColor := - Cat. Fuente


DWORD; (para entrada 16#00FF0000; de texto |
de los valores (El texto se representa en Color- Cat.
de color azul) Colores:
vase a - Cat.
continuacin Variables de
de la tabla) texto:
Color de texto
nFontHeight : INT; Altura de vis1.nFontHeight:=16; - Cat. Texto:
fuente en (Altura de texto es 16 pt) Fuente |
pxeles. Grado'
Debe estar en - Cat.
el rango de Variables de
10-96. texto:
Altura de
fuente

dwFontFlags : Representaci vis1.dwFontFlags:=10; - Cat. Texto:


DWORD; n de fuentes. (El texto se representa en Fuente |
Se pueden negrita y tachado) Estilo
poner los - Cat.
siguientes Variables de
indicadores: texto:
Indicadores
1 cursiva
de fuente
2 negrita
4 subrayado
8 tachado

+
Combinacione
s por adicin
de valores

stFontName : Nombre de vis1.stFontName:=Arial; - Cat. Texto:


STRING; fuente (Arial como tipo de fuente Fuente |
para el texto) Tipo de fuente
- Cat.
Variables de
texto:
Nombre de
fuente

nLineWidth : INT; Ancho de vis1.nLWidth:=3; - Cat. Ancho


lnea del (El marco es de 3 pxeles de de lnea
marco del ancho)
elemento
(Cantidad de
pxeles)

dwFillColor : Color de vis1.dwFillColor":= - Cat.


DWORD; relleno. 16#00FF0000; Colores:
(para entrada (El elemento en "estado Colores |
de los valores normal" es azul) Interior
de color - Cat.
vase a Variables de
continuacin color: Color
de la tabla) interior

Componente Significado Ejemplo Posibilidades


(+tipo de dato) adecuadas de
(para el elemento fue definido
ajuste en el
el nombre de objeto "vis1".) )
dilogo de
configuracin:

dwFillColorAlarm Color de vis1.dwFillColorAlarm:= - Cat.


: DWORD; relleno en 16#00808080; Colores:
caso de (cuando la variable togglevar Color de
alarma (por se pone en TRUE, elemento alarma |
TRUE de se pone en gris) Interior
componente - Cat.
bToggleColor, Variables de
vase arriba) color:
(para entrada Color de
de los valores alarma
de color interior
vase a
continuacin
de la tabla)
dwFrameColor: Color de vis1.dwFrameColor:= - Cat.
DWORD; marco 16#00FF0000; (El marco en Colores:
"estado normal" es azul) Color |
(para entrada
Marco
de los valores
- Cat.
de color
Variables de
vase a
color: Color
continuacin
para el marco
de la tabla)

dwFrameColorAla Color del vis1.dwFrameColorAlarm:=16 - Cat.


rm: DWORD; marco en #00808080; (cuando la Colores:
caso de variable vis1.bToggleColor se Color de
alarma (por pone en TRUE, el marco del alarma
TRUE de elemento se pone gris) Marco
componente - Cat.
bToggleColor, Variables de
vase arriba) color:
(para entrada Color de
de los valores alarma para
de color marco
vase a
continuacin
de la tabla)

dwFillFlags: Color, como vis1.dwFillFlags:=1; - Cat.


DWORD; definido por (el elemento se torna Colores:
variable de invisible) ningn color
color, puede interior +
ser conectado ningn
y color de
desconectado marco
. - Cat.
Variables de
0=
color:
conectado, >0
Indicadores
= de relleno
desconectado

dwFrameFlags: Representaci vis1.FrameFlags:=1; - Cat.


DWORD; n del marco (el marco se representa de Variables de
guiones) color:
0 lnea
Indicadores
continua
de marco
1 de guiones (
--- )
2 punteada ( )
3 de guin-
punto ( _._)
4 de guin-
punto-punto
(_.. )
8 desactivar
lnea

La introduccin de valores de colores:

Ejemplo: e1.dwFillColor := 16#00FF00FF ;

Un color se indica como nmero hexadecimal, que resulta de las proporciones de azul/verde/rojo
(RGB). Los primeros dos ceros tras "16#" deben ser puestos, para completar el tamao DWORD.
Para cada valor de color se dispone de 256 (0-255) colores

FF Proporcin azul
00 Proporcin verde
FF Proporcin rojo

Ejemplo para un elemento de visualizacin intermitente:

Para un elemento rectangular se crea una variable global "intermitente" del tipo "VisualObjectType".
En un programa o mdulo de funciones se puede modificar entonces el valor de un elemento
dentro de la estructura.

PROGRAM PLC_PRG
VAR

n:INT:=0;

bMod:BOOL:=TRUE;

END_VAR

(* Elemento intermitente *)

n:=n+1;

bMod:= (n MOD 20) > 10;

IF bMod THEN

blinker.nFillColor := 16#00808080; (* Gris *)

ELSE

blinker.nFillColor := 16#00808080; (* Azul *)

END_IF

Visualizacin TwinCAT PLC Control

Configurar tabla

En el momento que se inserta en la visualizacin una tabla para representacin de una matriz, se
abre el dilogo 'Configurar tabla'. Junto a las categoras conocidas para otros elementos para
configuracin de Tooltip (informacin) y derechos de acceso, se dispone de las siguientes
categoras para definir la apariencia y contenido de la tabla:
Categora Tabla:

Dilogo para configurar una tabla, categora Tabla

Indique aqu las siguientes configuraciones de tabla:

Matriz de datos: Entre un arreglo de su proyecto, cuyos campos deben ser representados en la
tabla. Utilice la ayuda de entrada (<F2>) o bien la funcin Intellisense.

Ttulo de columnas, Ttulo de filas: Active esta opcin, cuando en la tabla deban ser indicados
los ttulos de columnas o bien de filas. El ttulo de filas (en el borde izquierdo del campo de la tabla)
corresponde al ndice de la matriz, el ttulo de columnas puede ser definido en la categora
'Columnas'.
Categora Columnas:

Dilogo para configurar una tabla, categora Columnas

Aqu define los Ttulos de columnas para los elementos de la matriz. En la parte izquierda de la
ventana encontrar los elementos disponibles por ndice de la matriz. Por ejemplo para la matriz de
una estructura de todos los elementos de estructura.

A travs de las teclas de flecha (>, <) entre ambas ventanas, puede seleccionar los elementos
individuales y transferirlos a la ventana derecha. Con el botn >> se transfieren todos
simultneamente. Para modificar ahora la representacin predefinida en la columna de tabla para
uno de los elementos, seleccione la entrada y oprima el botn Propiedades de columnas.. Se
abre el dilogo Configurar columnas:

Dilogo para configurar una tabla, categora Columnas, Propiedades de columnas

En el campo de texto Ttulo de columna aparece primero el ttulo asignado automticamente (en
la matriz de una estructura p.ej. "PLC_PRG.arr1[INDEX].iNo" para la columna, que representar el
elemento de estructura "iNo"), que puede editar. Adems se puede definir el Ancho de columna
(cantidad de caracteres).

Editar la configuracin para todos los campos de una columna:

Como estndar se representan los campos de las tablas como sencillos rectngulos, las entradas
no son editables. Sin embargo si activa el botn Emplear plantilla, se puede seleccionar ellos
tambin como una representacin de mapa de bits o botones y se pueden modificar los parmetros
de la plantilla. Una plantilla significa un registro predefinido de configuraciones, p.ej. una
determinada definicin de ancho de lnea, posibilidad de entrada de texto, etc. Si desea modificar
estos, puede hacerlos a travs del conocido dilogo de configuracin para Rectngulo, Mapa de
bits, Botn, que obtendr a travs del botn Editar plantilla.

Como estndar se representan los campos de las tablas como sencillos rectngulos, las entradas
no son editables. Sin embargo si para la columna actualmente marcada marca el botn Editar
plantilla, se pueden modificar las propiedades de los campos de esta columna, p.ej. una
determinada definicin de ancho de lnea, posibilidad de entrada de texto etc. La plantilla
(Template) vale para todos los campos de la columna actualmente seleccionada y puede ser
editado a travs del conocido dilogo de configuracin para un elemento de visualizacin.
En caso que en la plantilla slo se deben poner propiedades o bien entradas para celdas
individuales, se pueden emplear los siguientes marcadores de posicin, que definen fila y columna:
$ROWCONST$, $COLCONST$, INDEX. (INDEX tiene el mismo efecto que $ROWCONST$).

Ejemplo para el empleo de marcadores de posicin en las plantillas de columnas


Puede visualizar una matriz "arr1 [0..2] of BOOL" (-> Tabla con 1 columna) con una tabla y en
servicio online al hacer clic con el ratn sobre un campo de la tabla este debe cambiar al color de
alarma rojo y ante el siguiente de vuelta al color bsico. A la vez el correspondiente parmetro de la
matriz tiene que ser alternado.
Para ello active 'Emplear plantilla' en el dilogo de configuracin para la columna de la tabla y
defina la plantilla de la siguiente manera:
Categora 'Entrada', accin 'Alternar variable': "PLC_PRG.arr1[INDEX].
Categora 'Colores': Color de alarma rojo.
Categora 'Variables', accin 'Cambiar color': "PLC_PRG.arr1[INDEX].

Categora lneas:

En el dilogo lneas puede definir la Altura de lneas en pxeles.


Dilogo para configurar una tabla, categora Lneas

Categora Seleccin:

Dilogo para configurar una tabla, categora Seleccin

En el dilogo Seleccin pueden realizarse las siguientes configuraciones para representacin y


comportamiento de seleccin en la tabla:

Tipo de seleccin:

Aqu determina por su parte, que seleccin se realiza, cuando en modo online hace clic sobre una
celda:

Seleccionar celdas individuales: Slo se selecciona la celda que se ha marcado con clic.
Slo seleccionar lnea: Se selecciona la lnea completa.
Slo seleccionar columna: Se selecciona la columna completa.
Seleccionar lnea y columna: Se selecciona la lnea y la columna completa.
Enmarcar celdas seleccionadas: Una celda seleccionada recibe un marco.
Variable Seleccin X, Variable Seleccin Y: Aqu puede registrar siempre una variable de
proyecto, que indique el ndice X o bien el Y del campo de la tabla seleccionado.

Ejemplo: Tabla para indicacin de la matriz de una estructura:

Cree en su proyecto la siguiente estructura:

TYPE strucTab :

STRUCT

iNo: INT;

bDigi : BOOL;

sText:STRING;

byDummy: BYTE;

END_STRUCT

END_TYPE

Defina en PLC_PRG la siguiente matriz:

arr1:ARRAY [1..5] OF strucTab;

y las siguientes variables:

selX:INT;

selY:INT;

Inserte en la visualizacin una tabla y configrela de la siguiente manera:

Cat. Tabla: Matriz de datos: PLC_PRG.arr1

Cat. Columnas: (Responsa la pregunta del dilogo que aparece con SI) - Transfiera los elementos
iNo, bDigi, sText a la ventana derecha - Seleccione en la ventana derecha la primera entrada
(PLC_PRG.arr1[INDEX].iNo), oprima el botn Propiedades de columnas y modifique el ttulo de la
columna a "Nmero". Confirme con Aceptar y defina tambin nuevos ttulos de columna para las
otras dos entradas (p.ej. "Valor" y "Texto"). En la categora 'Tabla espec.' entre en Variable
Seleccin X: "PLC_PRG.selX" y en Variable Seleccin Y: "PLC_PRG.selY". Active la opcin
'Enmarcar celdas seleccionadas'. Oprima el botn 'Color de seleccin' y elija un color. Cierre el
dilogo de configuracin con Aceptar. El elemento de tabla ahora debera presentar el siguiente
aspecto.

En el borde izquierdo la numeracin del ndice de la matriz, arriba el ttulo de la columna de los tres
elementos de estructura seleccionados para la indicacin. Puede modificar los anchos de columna,
llevando con el ratn las lneas separadoras hacia la izquierda o hacia la derecha, cuando el
puntero del ratn aparece como doble flecha horizontal.
En modo online aparecen en los campos de la tabla los valores actuales de elementos de matriz.
Cuando hace clic con el ratn sobre un campo de tabla, se rodea con un marco y en el color
seleccionado aparece. Por ejemplo:
Configurar instrumento de aguja

Dilogo para configurar un instrumento de aguja

Este dilogo abre automticamente, en el momento que se inserta un instrumento de aguja en la


visualizacin. Una vista previa muestra en cada caso inmediatamente la apariencia del elemento
de acuerdo a los parmetros configurados:

Tipo de aguja: Seleccione entre 'Flecha normal', 'Flecha estrecha', ''Flecha ancha' y 'Aguja fina',
que debe mostrar en cada caso el valor actual sobre la escala indicadora.

ngulo inicial, ngulo final: Introduzca aqu en grados (grados angulares) la posicin para el
inicio y el final de la escala indicadora sobre un arco circular (Por ejemplo defina un ngulo inicial
de 180 y un ngulo final de 0 que representa la escala indicadora en un semicrculo curvado
hacia arriba).

Color de la aguja: Este botn abre el dilogo estndar para seleccin de un color para la aguja.

Variable/Escala: Este botn abre el dilogo Configurar escala indicadora:


Dilogo para configurar la divisin de escala de un instrumento de aguja

Inicio de escala, Final de escala: Valor inferior y superior sobre la escala indicadora, p.ej. "-4" y
"4".

Divisin principal de la escala: Indicacin, en cuantos pasos deben ser plenamente indicados los
valores de escala desde el inicio de la escala hasta el final de ella (esto es, rotulacin + trazo de
escala). Por ejemplo con la introduccin de "2" se indica cada segundo nmero entero de la escala.

Divisin de la escala: Adicionalmente a la escala principal (rotulacin + trazos largos de escala)


se puede definir aqu la indicacin de una subescala, que consiste slo de trazos cortos adicionales
de escala sin rotulacin.

Unidad: Se puede introducir la unidad de la escala, p.ej. "cm" o "seg". La unidad se indica en el
origen de la aguja.

Formato de escala (Sintaxis C): De acuerdo a la sintaxis C se puede indicar aqu el formato de
representacin de indicacin de la rotulacin de la escala; vase para ello bajo categora 'Texto'.
Por ejemplo una entrada de %1.1f suministra una indicacin de valores de escala como nmero
decimal con un lugar delante y uno detrs de la coma (p.ej. "12.0")

Variable: La variable aqu entrada define la posicin de la aguja (p.ej. "PLC_PRG.posvar")

Eleccin de fuente: Este botn abre el dilogo estndar para determinacin de la representacin
de la fuente en el instrumento de aguja
reas de color: Este botn abre el dilogo Configuracin de reas de color: Aqu puede
determinar un color para cada rea de la escala indicadora:

Inicio de rea, Final de rea: Introduzca aqu el valor inicial y final del rea de la escala, que debe
contener el color a ser definido a continuacin:

Seleccin de color: Este botn conduce al dilogo estndar para seleccin de un color. Confirme
su seleccin con Aceptar, con lo que el dilogo se cierra nuevamente y oprima el botn Agregar,
con lo que el color y el rea de la escala seleccionados se visualizan en la ventana de las reas
activas. Para eliminar un rea de color, marque este en la ventana y oprima el botn Quitar.

Dilogo para configurar un rea de color

Cuando est activada la opcin reas de color permanente, las reas de color definidas se
visualizan siempre, en caso contrario en el modo online, slo se indica el color en el que se
encuentra el valor de la variable actual.
Rotulacin: Segn la opcin interior o exterior activada la rotulacin de la escala indicadora se
representa sobre el lado interior o exterior del arco de la escala.

Otras configuraciones:

Marco interior, Marco exterior: Cuando est activada la opcin, la escala indicadora recibe una
lnea delimitadora interior y/o exterior.
Flecha adicional: Adicionalmente a la aguja se representa una pequea flecha directamente sobre
la escala indicadora.

Configurar indicacin por barra

Dilogo para configurar una indicacin por barra

Este dilogo se abre automticamente, en el momento que se inserta un elemento de indicacin


por barra en la visualizacin, para representar un valor de variable a travs de la longitud de una
barra a lo largo de una escala horizontal o vertical. Una vista previa muestra en cada caso
inmediatamente la apariencia del elemento de acuerdo a los parmetros configurados:

Tipo de diagrama: Seleccione entre 'Escala junto a la barra', 'Escala en la barra' y 'Barra en la
escala'.

Alineacin: Seleccione, si la indicacin debe ser realizada a travs de una barra horizontal o
vertical.

Direccin de marcha: Seleccione, si los valores de la escala indicadora deben aumentar de


izquierda a derecha o de derecha a izquierda.

Color de la barra: Este botn abre el dilogo estndar para la seleccin de un color para la barra
fuera del estado de la alarma (vase color de alarma). Cuando est activada la opcin 'Emplear
reas de color' (vase abajo), no es posible aqu ninguna entrada, o bien estas estn desactivados.

Color de alarma: Este botn abre el dilogo Configurar alarma, en el que determina ante que valor
cambia la barra al color de alarma y cual es este. Para ello introduzca en el campo de entrada de
texto el valor lmite deseado y active una condicin mayor o menor para definir si el valor debe
activar un estado de alarma al sobrepasar o estar por debajo de ese valor. Oprima el botn Color
de alarma, para elegir el color de alarma en el dilogo estndar de seleccin de color. Cierre
ambos dilogos con Aceptar para confirmar las entradas y para retornar al dilogo principal de
configuracin para la indicacin por barra. Cuando est activada la opcin 'Emplear reas de color'
(vase abajo), no es posible aqu ninguna entrada, o bien estas estn desactivados.

Variable/Escala: Este botn abre el dilogo Configurar escala indicadora y variable, que se
corresponde con el de un elemento de instrumento de aguja.

Marco de elemento: Cuando esta opcin est activada, la indicacin por barra recibe un marco.

Fondo de la barra: Cuando esta opcin est activada, se representan el rea de indicacin
completa definida como barra negra detrs de la actualmente representada, en caso contrario se
indica slo la barra que muestra el valor actual.

Emplear reas de color: Cuando esta opcin est activada, no valen las configuraciones
realizadas bajo Color de barra y Color de alarma, sino las configuraciones de rea de color que han
sido definidas a travs del botn Definir reas de color. De forma anloga al procedimiento con el
elemento de instrumento de aguja, se abre para ello el dilogo 'Configuracin de reas de color'.

Configurar histograma

Un elemento de histograma puede ser empleado para visualizar una matriz. Los valores del
elemento de matriz pueden ser representados uno junto al otro como barra vertical o trazos.
Dilogo para configurar un histograma

El dilogo de configuracin se abre automticamente, en el momento que se inserta el elemento de


histograma en la visualizacin. Una vista previa muestra en cada caso inmediatamente la
apariencia del elemento de acuerdo a los parmetros configurados:

Representacin: Seleccione aqu una de las opciones Barra o Trazos.

Indicar trazos horizontales: Cuando esta opcin est activada, se ponen lneas horizontales de
acuerdo a la divisin de la escala entre las escalas dispuestas a la izquierda y a la derecha.

Color de la barra: Este botn abre el dilogo estndar para la seleccin de un color para la barra
fuera del estado de la alarma (vase color de alarma). Cuando est activada la opcin 'Emplear
reas de color' (vase abajo), no es posible aqu ninguna entrada, o bien estas estn
desactivados.

Color de alarma: Este botn abre el dilogo Configurar alarma, en el que determina ante que
valor cambia la barra al color de alarma y cual es este. Para ello introduzca en el campo de
entrada de texto el valor lmite deseado y active una condicin mayor o menor para definir si el
valor debe activar un estado de alarma al sobrepasar o estar por debajo de ese valor. Oprima el
botn Color de alarma, para elegir el color de alarma en el dilogo estndar de seleccin de color.
Cierre ambos dilogos con Aceptar para confirmar las entradas y para retornar al dilogo principal
de configuracin para la indicacin por barra. Cuando est activada la opcin 'Emplear reas de
color' (vase abajo), no es posible aqu ninguna entrada, o bien estas estn desactivados.

Divisin de la escala: Este botn abre el dilogo Configurar escala indicadora, que se
corresponde con la de un elemento de instrumento de aguja.

reas de color: Este botn abre el dilogo Configuracin de reas de color: Aqu puede
determinar de acuerdo al procedimiento con el elemento de instrumento de aguja, un color para
cada rea de la escala indicadora.

Cantidad de barras: Indique aqu la cantidad deseada de barras.

Ancho de barra: Introduzca aqu el ancho de la barra en porcentaje del ancho total disponible para
la barra.

Ejemplo
Vea en la siguiente ilustracin un ejemplo de la representacin online de un histograma en
representacin como 'Trazos' o bien 'Barra' para por ejemplo una matriz [0..4] of INT. Para ello
fueron configurados una cantidad de barras de "5", el inicio de la escala "-4", el final "24", la divisin
principal fue puesta en "2", la subdivisin en "1" y el rango de escala de 0 - 8 con fondo de color
diferente que el resto. Adems las barras deben asumir el color de alarma azul a partir de un valor
de variable 8.

Visualizacin TwinCAT PLC Control


Configurar la tabla de alarmas

El elemento tabla de alarmas sirve para la visualizacin de alarmas, que deben estar
adecuadamente configuradas en la configuracin de alarmas.
En el momento que se inserta un objeto de visualizacin, se abre el dilogo 'Configurar tabla de
alarmas'. Junto a las categoras para configuracin de Tooltip (informacin) y derechos de acceso
conocidas de otros elementos, se pueden realizar los siguientes ajustes para representacin y
comportamiento de seleccin en la tabla:

Categora Tabla de alarma:

Dilogo para configurar una tabla de alarmas, Categora Tabla de alarmas

Defina, que es lo que debe ser representado en la tabla:

Modificar el grupo de alarma: Seleccione del rbol de seleccin la configuracin de alarma que
se abre a travs de este botn, el grupo a ser indicado (que tambin puede contener una nica
alarma). Se ofrecen todos los grupos definidos en la configuracin de alarmas.

Prioridad: Defina, las alarma cuyas prioridades deben ser indicadas. El ancho de banda mximo
posible: de: 0 a: 255.
Clases de alarmas seleccionadas: Marque un clase deseada para la indicacin el la lista de
seleccin a la derecha del campo 'Clases de alarma seleccionadas' y oprima el botn Agregar, de
manera que la clase sea transferida al campo. Ejecute esto para todas las clases necesarias. A
travs de Quitar puede quitar nuevamente una entrada marcada en una ventana. Active las
opciones Ttulo de columna o bien Ttulo de lnea, cuando se deban indicar los ttulos de la tabla.

Categora Columnas:

Dilogo para configurar una tabla de alarmas, categora Columnas

Defina aqu, cuales de las siguientes columnas (parmetros de alarma) deben ser indicados: Los
parmetros con excepcin de fecha y hora (momento de presentarse la alarma) y el estado de la
alarma en la configuracin del grupo de alarmas se define en la configuracin del grupo de
alarmas: Mapa de bits, Fecha, Hora, Expresin, Valor, Aviso, Prioridad, Tipo, Clase de alarma,
Estado de alarma, Valor de objetivo (para los tipos de alarma DEV+ y DEV-), Tolerancia. A
travs de los botones ">", ">>", puede transferir parmetros individuales o todos de la ventana
izquierda (Columnas disponibles) a la ventana derecha (Columnas seleccionadas). La
seleccin all indicada se visualiza entonces en la tabla de alarmas. A travs de los botones "<" o
bien "<<" pueden volver a quitarse de la seleccin.

Categora Propiedades de clasificacin:


Dilogo para configurar una tabla de alarmas, categora Propiedades de clasificacin

Defina aqu, de acuerdo a que criterios debe ser clasificada la tabla de alarmas:

Columna de clasificacin: Clasificacin por prioridad, clase de alarma, fecha/hora o estado de


alarma

Secuencia de clasificacin: Ascendente o descendente; Ejemplo: Ascendente por prioridad


significa, que la tabla se inicia con alarmas de prioridad 0 (siempre que se dispongan), a
continuacin con las prioridades en conteo ascendente.

Categora Propiedades de seleccin:


Dilogo para configurar una tabla de alarmas, categora Propiedades de seleccin

Defina aqu, que es lo que vale para la representacin de campos de tablas seleccionados:

Color de seleccin: Este botn abre el dilogo estndar para seleccin de un color, que debe ser
indicado en los campos seleccionados.

Altura de lnea: Altura de los campos de tablas (Rows) en pxeles.

Altura de control deslizante: Altura de la barra de desplazamiento (en pxeles) en el borde inferior
de la tabla.

Marco alrededor de lneas seleccionadas: Cuando se encuentra activada esta opcin, la lnea de
la tabla seleccionada se visualiza en un marco.

Mostrar lnea de estado: Cuando se encuentra activada esta opcin, se representa debajo de la
tabla de alarmas una barra de estado, que contiene los siguientes botones para el manejo en modo
online:

Confirmar seleccin: Se confirman todos los registros seleccionados en la tabla de alarmas.


Confirmar todos: Se confirman todos los registros de la tabla de alarmas.
Historial: Cuando este botn est oprimido, se indican todos los eventos (transiciones entre
estados de alarmas) ya presentados de las alarmas en lugar del estado actual. En esta lista no es
posible ninguna confirmacin! Eventos nuevos arribados se agregan constantemente. Si ha
definido un archivo de memoria, puede encontrar all asimismo, este historial para todas las clases
de alarmas, a los que se ha asignado la accin 'Guardar'.
Inicio: anula Parada (vase abajo)
Parada: Se detiene la actualizacin constante de la lista con los nuevos eventos arribados, hasta
que con 'Inicio' se vuelve a arrancar.

Variables de confirmacin: Esta posibilidad de configuracin existe slo si no se encuentra


activada la opcin 'Visualizar lnea de estado' (vase arriba). Las funciones de los botones
descritos arriba para la lnea de estado pueden ser controladas con variables. Para determinar
esto, seleccione de la lista de seleccin una funcin e indique en el campo de entrada a un lado,
una variable de proyecto (<F2>). En el modo online se puede realizar por ejemplo la confirmacin
de todas las alarmas mediante el flanco ascendente de la variable asignada.

Tendencia

Dilogo para confirmar un elemento de tendencia

La funcin de tendencia sirve para el registro del desarrollo temporal de valores de variables en
modo online. Es comparable con la funcionalidad Trace (seguimiento). La representacin online se
realiza en un diagrama, durante la grabacin en un archivo de texto se escriben en lneas una
debajo de la otra, los valores de medicin individuales. En el dilogo para configuracin de los
elementos de visualizacin puede realizar en la categora 'Tendencia' las siguientes
configuraciones para la representacin:
Tipo de curva: X/t, eje horizontal = Eje de tiempo, eje vertical = Escala de valores

Alineacin: Izquierda-Derecha o Derecha-Izquierda: El valor ms reciente se representa a la


izquierda o a la derecha;

Ejes:
Eje horizontal:

Dilogo para configurar el eje horizontal en el elemento de tendencia

Lneas de divisin: Active la opcin visible, si se deben visualizar las lneas de divisin verticales
como prolongacin de los trazos de divisin de la escala. Para este caso puede definir la divisin:
la cantidad entrada, indica en que intervalos deben ser visualizadas las lneas de divisin sobre el
eje horizontal. Se definen, la apariencia (normal ___, dashed _ _ _, dotted ....., dashdotted _ . _ .) y
el color de as lneas, haciendo clic sobre el rectngulo con la representacin actual de la lnea o
bien por debajo con el color actualmente ajustado, para obtener el dilogo de seleccin
correspondiente.

Escala: El rango de valores representado en la escala, est determinado por las entradas en
Duracin. Si aqu se registra p.ej. T#20s0ms, la escala representa un rango de 20 segundos. Las
divisiones y subdivisiones a ser representadas con lneas de marcacin ms largas y ms
cortas, se determinan en la misma sintaxis.

Exactitud de indicacin: Indique aqu en formato estndar para indicaciones de tiempo (p.ej.
T#5ms), en que intervalos de tiempo deben ser registrados los valores actuales de las variables.

Rotulacin: Aqu se define la representacin de la rotulacin. A travs del botn Fuente se abre
para ello el dilogo estndar 'Tipo de fuente'. En la divisin indique con que intervalos debe ser
rotulado sobre la escala (p.ej. T#4ms, cuando las lneas de escala deben ser rotuladas en
intervalos de 4 milisegundos). La rotulacin puede contener la hora (tiempo) y/o la fecha, segn
que opciones estn activadas. El formato deseado puede ser introducido en cada caso en el
campo de texto en la sintaxis estndar para fecha y hora.

Variables: Aqu se pueden registrar variables de proyectos, que contienen los valores de zoom y
offset de la escala horizontal. Por ejemplo el offset del rango de indicacin del eje vertical se
colocar en "10", en el momento que la variable correspondiente asuma el valor "10".

Barra de herramientas: Cuando est activada la opcin de empleo, se visualiza en el borde


inferior del elemento una barra horizontal de herramientas, que contiene los botones para un
despliegue paso a paso en modo online hacia la izquierda o hacia la derecha as como la funcin
de zoom.

Con las flechas sencillas se desplaza el rea de visualizacin paso a paso, con las flechas dobles
lo propio al final o bien al inicio del espacio de tiempo de indicacin. Las teclas zoom permiten
realizar zoom paso a paso del rea de indicacin representado.

Eje vertical: ?
Dilogo para configurar el eje vertical en el elemento de tendencia

Lneas de divisin: De forma anloga al eje horizontal (vase arriba)

Escala: Seleccione, si la escala debe ser representada en el borde izquierdo (a la izquierda) o en


el borde derecho (a la derecha) del diagrama de tendencia. Seleccione el valor inicial (extremo
inferior) y el valor final (extremo superior) de la escala as como la divisin y subdivisin (aqu se
indican en intervalos indicados, los trazos de marcacin ms largos y ms cortos).

Rotulacin: Fuente y divisin de forma anloga al eje horizontal (vase arriba)

Variables: De forma anloga al eje horizontal (vase arriba)

Barra de herramientas: De forma anloga como en el eje horizontal (vase arriba),

adicionalmente est contenido aqu el smbolo , con el que la presentacin de la grabacin


siempre se puede retraer a las configuraciones estndar (0% zoom, rango de tiempo actual).

Grabacin: Seleccione aqu, si la grabacin de tendencia slo se debe grabar online, lo que
significa, que el desarrollo temporal de los valores de variables se indican en el rango de escala
seleccionado, o si la grabacin debe ser guardada en un historial, el cual puede configurar tras
oprimir el botn Historial. El dilogo se corresponde con aquel que se emplea en la configuracin
de la memorizacin de alarmas. En el archivo de grabacin se crea una lnea por momento de
medicin con el nombre y los valores de todas las variables grabadas. Cada lnea comienza con
una identificacin inequvoca en formato DWORD, formada por la fecha del momento de medicin.

Seleccin de variables: Tras oprimir este botn obtendr el dilogo 'Variables', en el que se
configura, para cuales se debe ejecutar la grabacin de tendencia y como debe ser representadas
all.

Dilogo para la seleccin de variables para el elemento de tendencia

Entre en la columna Variable (clic del ratn sobre el campo de apertura del marco de edicin) una
variable de proyecto (se recomienda ayuda de entrada <F2> o funcin Intellisense). Definir el color
y el tipo de lnea para la representacin de la variable en la grabacin mediante un clic de ratn
sobre el campo correspondiente de la columna Color (dilogo estndar de seleccin de color) o
bien mediante la seleccin de un tipo de lnea en el campo correspondiente de la columna Tipo de
lnea (normal ___, dashed _ _ _, dotted ....., dashdotted _ . _ .). En la columna Marcador se puede
definir una variable, que despus al utilizar la funcin del marcador en modo online, reproduce el
valor ledo en cada caso de la grabacin. Para ello se indica en modo online un pequeo tringulo
sombreado en gris en la esquina superior izquierda del diagrama de grabacin. Si selecciona este
con el cursor, puede mover con la tecla del ratn oprimida, una lnea vertical horizontalmente a los
diferentes momentos de la grabacin. La variable definida como 'Marcador' leer entonces el valor
adecuado de la curva de grabacin correspondiente.

Ejecute esto para todas las variables deseadas. A travs del botn Agregar se inserta al final de la
lista, en cada caso una siguiente lnea para una entrada de variable. Una lnea marcada en la lista
puede ser eliminada nuevamente a travs de Borrar.
Configuracin de curva: Este botn abre el dilogo 'Configurar curva'. Aqu se realizan las
configuraciones generales para la representacin de las curvas de tendencia:

Dilogo para la configuracin de curvas para el elemento de tendencia

Tipo de curva: Seleccione una de las opciones Recta, Escalera o Puntos. Para los primeros dos
tipos tambin puede en cada caso hacer indicar adicionalmente Puntos. Para la representacin de
un punto se puede definir un mapa de bits, en caso contrario se emplea como smbolo de punto, un
rectngulo relleno en el color de la curva. Para la seleccin haga clic sobre el rectngulo junto a
Mapa de bits para obtener el dilogo de seleccin de archivo estndar. A travs de Borrar se
puede eliminar nuevamente de la configuracin, el mapa de bits seleccionado.

Banda de tolerancia: Puede definir sobre la escala sendos valores lmite, como banda de
tolerancia superior y/o inferior. Para cada banda se determina un color (dilogo de seleccin tras
oprimir el botn Color). Cuando las bandas deben ser representadas en modo online, active la
opcin Banda de tolerancia como lnea. Si desea que la curva de grabacin, en el momento que
las bandas de tolerancia sean sobrepasadas, sean representadas en el color de la banda
correspondiente, active la opcin Color de curva fuera de tolerancia como banda de tolerancia.
Seleccione Ambos o Ninguno, para activar o bien desactivar ambas o ninguna de estas opciones
de indicacin mencionadas.
Programa de ejemplo para indicacin de un elemento de tendencia en modo online:

Declaracin en el programa PLC_PRG:

VAR

n: INT;

rSinus:REAL;

rValue:REAL;

rSlider1:REAL; (*para funcin de marcador*)

rSlider2:REAL; (*para funcin de marcador*)

END_VAR

Parte del programa de PLC_PRG:

n:=n+1;

rValue := rValue + 0.01;

rSinus:=SIN(rValue)*50 + 50;

IF n>100 THEN

n:=0;

END_IF

Configuracin de un elemento de tendencia en la visualizacin como sigue:

Alineacin izquierda-derecha, historial activado


Eje horizontal: Lneas de divisin: T#2s, Duracin T#10s, Divisin: T#1s, Subdivisin: T#500ms,
Exactitud de indicacin: T#200ms, Rotulacin Tiempo ('hh':'mm':'ss') con la divisin de T#2s. Barra
de herramientas activada.
Eje vertical: Lneas de divisin: 10, de guiones, gris; Escala izquierda, Inicio: 0, Final: 100,
Divisin:100: 10, Subdivisin: 5; Rotulacin Divisin: 10; Barra de herramientas activada.
Seleccin de variables:
1 variable PLC_PRG.rsinus, lnea azul, Marcador: PLC_PRG_TRD.rSlider1;
2 variable PLC_PRG.n, lnea roja, Marcador: PLC_PRG_TRD.rSlider2
Configuracin de curva: Recta, sin banda de tolerancia

Configuracin de dos campos de indicacin para los valores actuales de curva, que emite el
marcador:

Elemento rectangular 1: Categora Texto: entrar con contenido "%s", Categora variables: en
emisin de texto: PLC_PRG.rSlider1 Elemento rectangular 2: Categora Texto: entrar con contenido
"%s", Categora variables: en emisin de texto: PLC_PRG.rSlider2 (adicionalmente en cada caso
un elemento rectangular configurado puramente ptico delante de los campos de valores, que
representa el color de curva del valor indicado)

Resultado en modo online tras login e inicio del programa:

La grabacin marcha de izquierda a derecha, el valor nuevo en cada caso a la izquierda; cada 200
milisegundos se adiciona el valor actual de cada curva. Los botones identificados con los smbolos
de flecha, permiten un desplazamiento del rango de valores representado. Si por ejemplo se
desplaza con el botn de doble flecha totalmente al inicio del rango de valores grabado, recibir
una imagen detenida de los valores "de aquel entonces". Si ahora mueve el marcador (tringulo
gris arriba a la izquierda) sobre el eje de tiempo, puede leer exactamente el valor de cada una de
las variables para el momento correspondiente, en los rectngulos debajo del diagrama.

Mapa de bits

En el dilogo para configurar elementos de visualizacin puede indicar en la categora Mapa de


bits las opciones para un mapa de bits. En el campo Mapa de bits introduzca el archivo de mapa
de bits con su ruta. Con el botn ... se abre el dilogo estndar de Windows para la bsqueda y
puede seleccionar all el mapa de bits deseado.
Con la opcin Fondo transparente, se puede definir un color contenido en el mapa de bits como
transparente. A travs del botn Color transparente recibir para ello el dilogo para seleccin del
color, para determinar este ltimo. Si se define exacta, se puede por ejemplo en grficos con
contornos irregulares tornas invisible la superficie cuadrangular de la superficie de fondo del mapa
de bits.
Todas las indicaciones restantes se refieren al Marco del mapa de bits.

En la seleccin Anistropo, Isotrpico y Fijo indica, como se debe comportar el mapa de bits
ante modificaciones de tamao del marco. Anistropo significa, que el mapa de bits es tan grande
como su marco y as permite ser deformado a voluntad. Con Isotrpico permanecen siempre las
proporciones del mapa de bits tambin ante modificaciones en el tamao, esto es, la relacin de
largo y ancho se conserva. Si selecciona Fijo, el mapa de bits se representa en su tamao original
independientemente de su marco.

Si se ha seleccionado la opcin Cortar, con la configuracin Fijo slo se indica el recorte del mapa
de bits, que est envuelto por el marco.
Si elige la opcin Dibujar, se presenta el marco, en el color que con el botn Color y Color de
alarma ha sido seleccionado en los dilogos de color. El color de la alarma slo se indica, cuando
la variable es TRUE (verdadero), indicada en la categora Variables en el campo Cambiar color.
En la lista de seleccin en la parte inferior del dilogo puede determinar, si el mapa de bits debe ser
insertado fijo en el proyecto (Insertar), o si debe ser creado un enlace al archivo de mapa de bits
(Enlace al archivo), que se encuentra fuera del proyecto en el directorio arriba indicado. Es
conveniente, mantener el archivo de mapa de bits en el directorio del proyecto, debido a que
entonces la ruta se entra relativa y en caso de un eventual procesamiento posterior del proyecto en
otro entorno, no se genera ningn problema con la ruta por lo dems determinada como absoluta.
Dilogo para configuracin de elementos de visualizacin (Categora Mapa de bits)

Visualizacin

En el dilogo para configurar elementos de visualizacin, puede definir en la categora


Visualizacin, las propiedades de una visualizacin insertada. Tras la insercin esta se denomina
como 'Referencia' de la original.

En el campo Visualizacin se indica el nombre del objeto de la visualizacin a ser insertada. Con
el botn ... se abre un dilogo, que ofrece para su seleccin los mdulos de visualizacin del
proyecto actualmente disponibles junto al actual.
Dilogo para configuracin de elementos de visualizacin (Categora Visualizacin)

Las siguientes indicaciones se refieren al Marco de la visualizacin:

Si selecciona la opcin Dibujar, se presenta el marco en el color que ha sido seleccionado con
los botones Color y Color de alarma en los dilogos de color. El color de la alarma slo se indica,
cuando la variable es TRUE (verdadero), indicada en la categora Variables en el campo Cambiar
color.
Si selecciona Isotrpico, las proporciones de la visualizacin se mantiene siempre an ante una
modificacin de tamao, esto es, la relacin de largo y ancho entre s se conserva. En caso
contrario la visualizacin tambin puede ser deformada.
Si se ha seleccionado la opcin Cortar, en el modo online slo se indica el recorte original de la
visualizacin. En caso que p.ej. un objeto quede fuera de la indicacin original, este se corta y
desaparece posiblemente completo del campo visual de la visualizacin.

El botn Marcador de posicin conduce al dilogo 'Sustituir marcador de posicin'. Este realiza un
listado en la columna 'Marcadores de posicin' de todos los marcadores de posicin que han sido
entrados en la configuracin original de la visualizacin insertada ("Visualizacin madre") y ofrece
en la columna 'Sustitucin' la posibilidad de sustituir estos para la presente referencia visual por un
valor determinado. Que sustituciones son posibles, depende del hecho, si la "Visualizacin madre"
le ha sido predefinida una cantidad de valor en el dilogo 'Herramientas' 'Lista de marcadores de
posicin'. Si este es el caso, se ofrece en un cuadro combinado para su seleccin. Si no se ha
predefinido nada, se puede abrir un campo de edicin, mediante doble clic sobre el campo
correspondiente en la columna Sustitucin y ser completado a voluntad.
Otra posibilidad para sustituir marcadores de posicin en referencias, existe directamente al llamar
una visualizacin en el dilogo de configuracin de un elemento de visualizacin: Una llamada de
este tipo puede ser registrada en la categora 'Entrada' en el campo de opcin Zoom to Vis.

Nota:

No se puede tener influencia sobre la secuencia temporal de la sustitucin! Por esta razn no se
deben sustituir marcadores de posicin por textos, que a su vez contengan marcadores de
posicin!

Nota:

A travs del empleo de marcadores de posicin no es posible, ya al traducir el proyecto, comprobar


entradas invlidas en la configuracin de los elementos de visualizacin. Por esta razn se emiten
los mensajes de error recin en el modo online (... expresin Watch invlida..).

Advertencia:

Comportamiento online de una referencia: Si tras insertar una visualizacin marca y configura
este referencia, se considera como 1 objeto y reacciona en servicio online como tal a entradas, de
acuerdo a su configuracin. Si por el contrario para la referencia en el punto insertado no se realiza
ninguna entrada de configuracin, entonces sus elementos individuales reaccionan online como
aquellos de la visualizacin original.

Ejemplo para el empleo del concepto de marcadores de posicin:

Las instancias de un bloque de funciones pueden ser representadas de manera sencilla sobre la
misma visualizacin con ayuda de referencias: En la configuracin de la visualizacin 'visu', que
visualiza las variables de un bloque de funciones, se podra iniciar cada entrada de variable por
ejemplo con un marcador de posicin $FUB$ (p.ej.: $FUB$.farbwechsel). Ahora si una referencia
es empleada por 'visu' (mediante insercin de otra visualizacin o llamada a travs de 'Zoom to
Vis.'), se puede sustituir en la configuracin de esta referencia ahora el marcador de posicin
$FUB$ con el nombre de la instancia del bloque de funciones a ser visualizada. De esta manera se
emplean entonces las variables correspondientes de las instancias del bloque de funciones (p.ej.
inst1.farbwechsel etc.)

Esto podra tener la siguiente apariencia:

Defina en el proyecto un bloque de funciones con la siguiente declaracin de variables:

FUNCTION_BLOCK fu
VAR_INPUT

farbwechsel:BOOL; (* tiene que provocar el cambio de color en Visu *`)

END_VAR

Declare en el proyecto en PLC_PRG dos instancias de 'fu':

inst1_fu:fu;

inst2_fu:fu;

Cree un objeto de visualizacin 'visu'. Inserte un elemento e introduzca en el dilogo de


configuracin de la categora 'Variables' para 'Cambiar color' lo siguiente: "$FUB$.farbwechsel", en
la categora 'Entrada' para 'Pulsar variables' "$FUB$.farbwechsel", en la categora 'Texto' "$FUB$ -
Farbwechsel".

Crear otro objeto de visualizacin: 'visu1'.


Inserte la visualizacin 'visu' dos veces en 'visu1'.
Marque la primera referencia insertada de 'visu' y abra el dilogo de configuracin de la categora
visualizacin. Oprima el botn 'Marcadores de posicin', de manera que aparezca la lista de
marcadores de posicin. Sustituya all la entrada 'FUB' por 'PLC_PRG.inst_1'.
Marque ahora la segunda referencia insertada de 'visu' y sustituya 'FUB' adecuadamente con
'PLC_PRG.inst_2'. En modo online ahora se visualizan slo los valores de variable de ambas
instancias de 'fu' en sendas referencias de 'visu'.
El marcador $FUB$ puede naturalmente ser empleado en todos los puntos de configuracin de
'visu', donde se registran variables o cadenas de texto.

Visualizacin TwinCAT PLC Control

Posibilidades especiales de entrada para "Versiones de manejo"

La visualizacin TwinCAT puede ser empleada con un objetivo especfico a travs de la


visualizacin TwinCAT PLC o como visualizacin de objetivo de un panel puro de mandos. En este
caso el usuario tiene la posibilidad de editar el programa de control, mens y barras de
herramientas no estn a disposicin.

Estas funciones esenciales de mando y supervisin en un proyecto, deben ser entonces colocadas
sobre elementos de visualizacin al crear un proyecto previsto como una "Versin de manejo" y
con ello ser operada en modo online. Para ello existen las siguientes posibilidades especiales de
entrada en el dilogo de configuracin de un elemento de visualizacin:

Entre en el campo Ejecutar programa en la categora Entrada rdenes internas de acuerdo a la


siguiente sintaxis.

INTERN <ORDEN>[PARAMETRO]*

Si oprime el botn ... , aparece para ello el dilogo Configurar programas con una lista de
seleccin:

La siguiente tabla muestra las rdenes internas disponibles. Ella espera en parte varios
parmetros, que entonces se introducen separados por caracteres de espacio. Los parmetros
opcionales estn identificados aqu con corchetes. En las rdenes que requieren la indicacin de
una lista Watch, en lugar del nombre directo tambin se puede emplear un marcador de posicin.
Cuando para un elemento se registran varias ordenes, estas se separan mediante comas.

Corresponde
en TwinCAT
Orden INTERN PLC Control Aclaracin

ASSIGN Asignacin A una variable se le asigna el valor de


<Variable>:=<Expresin otra o bien una expresin.
> Ejemplo:
INTERN ASSIGN
PLC_PRG.ivar1:=PROG1.ivar+12;
INTERN ASSIGN
PLC_PRG.bvar:=FALSE;

PROGRAM <Ruta del Llamada de Se ejecuta el programa.


programa ejecutable> programa Ejemplo: INTERN PROGRAM
[Ruta del archivo a C:\programms\notepad.exe text.txt
llamar]

LANGUAGEDIALOG Ajustes de Se llama el dilogo de configuracin para


visualizacin una visualizacin que tambin contenga
la categora Idioma.

LANGUAGE Ajustes de Se configura el idioma deseado, sin que


<Indicacin de idioma visualizacin, se abra el dilogo de configuracin para
empleado como en el la visualizacin. Vase Conmutacin de
idioma
archivo de idioma idioma en la visualizacin!
configurado *.xml, *.vis,
*.tlt o *.txt>

LANGUAGE DEFAULT Ajustes de Para textos dinmicos se emplea el


visualizacin, idioma por omisin, definido en el archivo
xml actualmente utilizado.
idioma

CHANGEUSERLEVEL Aparece un dilogo para configuracin


del nivel de usuario (grupo de trabajo).
Estn disponibles los ocho grupos
previstos en TwinCAT PLC Control.

CHANGEPASSWORD ver 'Proyecto' Aparece un dilogo para modificar la


'Contraseas contrasea del grupo de trabajo.
para grupos
de trabajo'

TRACE1 Recursos, Se abre la ventana para la grabacin de


grabacin de Trace (vase recursos, Grabacin de
Trace Trace). Las ordenes de men
correspondientes de TwinCAT PLC
Control Trace Iniciar, Leer, Parar,
Guardar, Cargar estn disponibles en
esta ventana.

SAVEPROJECT1 'Archivo' Se guarda el proyecto.


'Guardar'

EXITPROGRAM1 'Archivo' Se cierra el programa.


'Cerrar'

PRINT1 'Archivo' La visualizacin actual se imprime online.


'Imprimir'

1
No est soportado por la visualizacin de objetivo.

Visualizacin TwinCAT PLC

Configurar objeto de visualizacin

Junto a la configuracin de los elementos grficos individuales de una visualizacin, esta puede
tambin ser provista con determinados parmetros como objeto completo. Esto se refiere a la
representacin de marco, idioma, cuadrcula, fondo etc. as como tambin la asignacin de
ocupaciones explcitas de teclas, que deben valer exactamente para un objeto de visualizacin.
'Herramientas' 'Configuraciones' / Representacin, Marco, Cuadrcula, Idioma

Tras esta orden puede influenciar en el dilogo 'Configuracin Visualizacin' la representacin


ptica e idiomtica de la visualizacin:

Nota:

Las categora Representacin, Marco e Idioma tambin pueden ser editadas en modo online.

1. Categora Representacin:

Indique en el campo Zoom un aumento entre 10 y 500 %, para aumentar o bien disminuir la
indicacin de la visualizacin.
Dilogo de configuracin de visualizaciones (Categora Representacin)

2. Categora Marco:

Con Auto-Scrolling (desplazamiento automtico) se logra, que al dibujar o desplazar un elemento


de visualizacin el rea visible de la ventana de visualizacin se desplace automticamente,
cuando se topa con el marco de la ventana. La visualizacin completa con todos los elementos se
representa en modo online en la ventana, indistintamente el tamao de esta ltima, cuando se ha
seleccionado Adaptar online automticamente. Si se ha seleccionado Incluir mapa de bits del
fondo, al adaptar se incluye el mapa de bits en el clculo, en caso contrario slo se contemplan los
elementos.

3. Categora Cuadrcula:

Aqu puede determinar, si los puntos de cuadrcula que sirven de ayuda para el dibujado, son
visible en modo offline, en donde la distancia de los puntos visibles como mnimo es de 10, an si
el tamao indicado es menor. En este caso aparecen slo los puntos de cuadrcula a distancia de
un mltiplo del tamao indicado. Si se ha seleccionado Punto Activo, los elementos al dibujar y
desplazar se colocan sobre los puntos de cuadrcula. En el campo Tamao se indica la distancia
de los puntos de cuadrcula.

4. Categora Idioma:

Aqu puede determinar, en que idioma debe ser visualizado el texto que ha asignado a un elemento
en el dilogo de configuracin en las opciones Texto y Texto para Tooltip (informacin).
Estticamente esto puede producirse a travs del empleo de un archivo de idioma. La funcin
'Textos dinmicos' ofrece alternativamente la posibilidad, de modificar el contenido de la
indicacin de texto dependiendo de una variable de proyecto. Vase captulo Conmutacin de
idioma

Nota:

La indicacin de texto slo cambia en modo online!

'Herramientas' 'Seleccionar mapa de bits de fondo'

Con esta orden abre el dilogo para la seleccin de archivos. Seleccione un archivo con la
extensin "*.bmp". El mapa de bits seleccionado aparece en el fondo de su visualizacin.
Con la orden 'Herramientas' 'Borrar mapa de bits de fondo' puede volver a borrar el mapa de
bits.
'Herramientas' 'Borrar mapa de bits de fondo'

Con esta orden borra el mapa de bits del fondo de su visualizacin actual.
Con la orden 'Herramientas' 'Seleccionar mapa de bits de fondo' puede seleccionar un mapa de
bits para su visualizacin actual.

'Herramientas' 'Manejo por teclado'

Es posible durante la configuracin, determinar (combinaciones de) teclas para una visualizacin
individual, que puede ser enlazada con funciones del mismo modo que elementos de visualizacin
individuales. Por ejemplo se puede configurar en una visualizacin, que la combinacin de teclas
<Ctrl><F2> en modo online, active la misma accin que el oprimir (por ratn o pantalla tctil) sobre
un elemento de visualizacin determinado.
Estas ocupaciones de teclas pueden optimizar el manejo puro por teclado.
Como estndar, las teclas <Tabulador>, <Espacio>, y <Entrar> ya estn implementadas de tal
manera, que a travs de ellas en modo online se puede alcanzar y activar cada elemento de una
visualizacin. El dilogo 'Manejo por teclado' se llama desde el men 'Herramientas' o del men
contextual:

Dilogo 'Manejo por teclado: determinar posibles combinaciones de teclas'

En la columna Tecla se ofrece una lista de seleccin de las siguientes teclas para ocupacin:

Mtodos Significado
abreviados

VK_TAB Tecla de tabulador

VK_RETURN Tecla Entrar

VK_SPACE Tecla de espacio

VK_ESCAPE Tecla Esc

VK_INSERT Tecla Insertar

VK_DELETE Tecla Supr

VK_HOME Tecla Inicio

VK_END Tecla Fin

VK_PRIOR Tecla de imagen ()

VK_NEXT Tecla de imagen ()

VK_LEFT Tecla de flecha ()

VK_RIGHT Tecla de flecha ()

VK_UP Tecla de flecha ()

VK_DOWN Tecla de flecha ()


VK_F1-VK_F12 Teclas de funciones F1 a F12

0-9 Teclas 0 a 9

A-Z Teclas A a Z

VK_NUMPAD0 Teclas 0 a 9 del teclado numrico


-
VK_NUMPAD9

VK_MULTIPLY Tecla del teclado numrico

VK_ADD Tecla + del teclado numrico

VK_SUBTRAC Tecla del teclado numrico


T

VK_DIVIDE Tecla del teclado numrico

En las columnas Mays y Ctrl haciendo clic sobre la casilla de verificacin se puede agregar la
tecla <Mays> y/o la tecla <Ctrl> para la combinacin de teclas con la tecla seleccionada.
En la columna Accin se registra, que es lo que debe activarse al oprimir la tecla (combinacin de
ellas). Son posibles las funciones mencionadas en la tabla que figura ms abajo, que se ofrecen a
travs de una lista de seleccin. Estas corresponden a aquellas, disponibles en el dilogo de
configuracin de la categora Entrada.
En la columna Expresin se debe entrar, dependiendo de la accin seleccionada, o un nombre de
variable, una orden INTERN, nombre de visualizacin o un nmero de elemento; del mismo modo
que se ha hecho en el dilogo de configuracin de la categora 'Entrada' para el elemento de
visualizacin. Vase a continuacin el significado de posibles acciones en las expresiones a ser
entradas en cada caso:

Accin Significado Expresin


Toggln Alternar variable Variable, p.ej. "plc_prg.tvar"

Tap Pulsar variable (poner en Variable de programa, p.ej. "plc_prg.svar"


true TRUE)

Tap Pulsar variable (poner en Variable de programa, p.ej. "plc_prg.xvar"


false FALSE)

Zoom Zoomen to vis. Nombre del mdulo de visualizacin, al


que debe ser accedido, p.ej. "Visu1"

Exec Ejecutar programa Nombre del archivo ejecutable, p.ej.


"notepad C:\help.txt" (Se inicia el bloc de
notas y se abre el archivo help.txt)

Texto Posibilidad de entrada de texto Nmero del elemento, para el que debe
para la variable, que est ser configurada la entrada de texto, p.ej.
indicada en la emisin de texto "#2"
de la categora 'Variable' (La indicacin de nmero de elemento
puede ser conectada en el dilogo
'Herramientas' 'Configuraciones', adems
vase Lista de elementos)

A travs del botn Agregar se adiciona otra lnea vaca al final de la tabla. A travs de Borrar se
borra la lnea en la que se encuentra el cursor. Con Aceptar o bien Cancelar se guardan las
entradas o bien se descartan y el dilogo se cierra.

El manejo por teclado puede ser configurado separadamente para cada visualizacin. De este
modo la misma (combinacin de) tecla puede activar diversas acciones en diferentes
visualizaciones.

Ejemplo: Las siguientes configuraciones de teclas fueron realizadas para la visualizacin VIS_1 o
bien VIS_2:
VIS_1:

Shift Ctrl Accin Tecla Expresin

si Alternar A PLC_PRG.automatic

si Zoom Z VIS_2

VIS_2:

Shift Ctrl Accin Tecla Expresin

Exec E IDIOMA INTERN ALEMN

si Zoom Z TC_VISU

Si ahora VIS_1 en el modo online tiene el foco de entrada, oprimir la combinacin de teclas
<Mays><A>, provoca que la variable PLC_PRG.automatic se alternada. <Ctrl><Z> provoca, que
se cambia de Visu1 a VIS_2.

Cuando VIS_2 es la ventana activa y se oprime la tecla <E>, se conmuta el idioma en la


visualizacin a Alemn. <Ctrl><Z> provoca aqu, que se cambie a la visualizacin TC_VISU.

Visualizacin TwinCAT PLC

Conmutacin de idioma en la visualizacin

La conmutacin de idioma para textos en la visualizacin puede ser realizada a travs de textos
estticos o dinmicos, que deben ser puestos a disposicin en archivos de idioma. El formato
Unicode slo es posible dentro de textos dinmicos!
Como se logra una conmutacin de idioma:

En el dilogo de configuracin Configuraciones de visualizacin

En la ventana de seleccin bajo Idioma puede seleccionar aquel idioma definido en el archivo de
idiomas configurado actualmente, que en servicio online debe ser empleado como idioma de
inicio, para el ejemplo abajo indicado el alemn y el ingls.
Una conmutacin de idioma en servicio online se realiza a travs de un elemento de
visualizacin. Para la configuracin adecuada de un elemento, dispone entre otras de las rdenes
internas "INTERN LANGUAGE <Idioma>" e "INTERN LANGUAGEDIALOG", que pueden ser
empleadas en el dilogo de configuracin en la categora Entrada (vase Posibilidades especiales
de entrada para "versiones de manejo" ).

Ejemplo:

Se inserta un elemento de botn, con el que el texto de visualizacin debe ser conmutado a
alemn. Rotule el elemento con 'German', en el dilogo de configuracin en 'Entrada' active la
opcin 'Ejecutar programa' y defina una orden "INTERN LANGUAGE <Idioma>". Introduzca el
idioma con la abreviatura empleada para el archivo de idioma, o sea en el caso del ejemplo
mostrado a seguir, el archivo vis: "INTERN LANGUAGE german". Cuando el botn ahora se opera
en modo online, los textos de visualizacin se representan de acuerdo a las entradas existentes en
el archivo de idioma para german en idioma alemn.

Visualizacin TwinCAT PLC

Conmutacin de idioma esttica

Para una conmutacin esttica entre diferentes idiomas se emplea un archivo de idioma *.vis, *.tlt o
*.txt (para su confeccin vase ms abajo). La diferencia con la conmutacin de idioma dinmica
es, que el idioma no se puede especificar durante el tiempo de marcha a travs de una variable de
proyecto.

Advertencia:

Para visualizaciones se recomienda en general el empleo de un archivo de idioma *.vis, debido a


que archivos de traduccin *.tlt o bien *.txt. slo funcionan para una visualizacin en TwinCAT PLC
Control y tampoco lo hacen all para los elementos de visualizacin Instrumento de agujas,
Indicacin por barra e Histograma.

En el dilogo Configuraciones de visualizacin, se configura, que archivo de idioma debe ser


empleado: Para seleccionar un archivo de traducciones (*.tlt, *.txt) o un archivo de idioma puro para
visualizacin(*.vis), que contenga los textos de los diferentes idiomas, active la opcin Archivo de
idioma e introduzca en el campo de entrada a un lado la correspondiente ruta del archivo. Tambin

puede solicitar ayuda a travs del botn del dilogo estndar para abrir un archivo.
Seleccin de archivo de idioma para una visualizacin (Categora Idioma)

Para confeccin de un archivo de traduccin *.tlt o *.txt vase ' Apartado 'Proyecto' 'Traducir a
otros idiomas'.

Para confeccin de un archivo de idioma *.vis especial proceda de la siguiente manera:

Abra asimismo el dilogo Configuraciones de visualizacin, categora Idioma. Seleccione la opcin


Archivo de idioma. En el campo de entrada correspondiente indique donde debe ser guardado el
archivo a ser creado. Esta recibe la extensin.vis'. Tambin puede solicitar para ello ayuda a travs

del botn del dilogo estndar el dilogo Abrir. En caso que ya exista un archivo de idioma
con la extensin .vis, aqu se le ofrecer.

En el campo de entrada bajo Idioma introduzca una clave para el idioma actual empleado en la
visualizacin, p.ej. german" (o D" o alemn"). Oprima entonces sobre Guardar. As crea un
archivo con la extensin .vis, que ahora puede procesar con un editor de texto normal. Abra para
ello por ejemplo el archivo con el bloc de notas:

Obtendr una lista de variables de texto para el idioma actual, que bajo el ttulo [Idiomas] contiene
con p.ej. 1=german" una referencia a su ttulo [german]. Puede ahora ampliar la lista a travs de
una copia de las lneas de variables, en donde sustituye los textos en alemn por textos en ingls y
coloca arriba un [english]". Bajo la lnea existente 1=german" complemente adecuadamente con
2=english".

Ejemplo de un archivo de idioma para una visualizacin (Categora Idioma)

Visualizacin TwinCAT PLC

Conmutacin dinmica de idioma

Los textos dinmicos permiten una conmutacin entre diferentes textos para un elemento de
visualizacin, asignados en cada caso a un idioma. La diferencia con los textos estticos es, que la
seleccin concreta de texto tambin se puede producir a travs de una variable de programa.

En la configuracin del elemento se introduce una combinacin de prefijo-ID, que en un archivo


XML est asignado a un texto. En este caso la ID es modificable a travs de una variable de
proyecto.

Ejemplo de aplicacin: La ID representa un nmero de error, como prefijo se emplea por ejemplo
Error. El archivo de idioma suministra a travs de la combinacin prefijo-ID correspondiente, un
mensaje de error apropiado, que - dependiendo del idioma configurado - se indica en la
visualizacin en este idioma.

A observar:

- Los archivos de idioma para textos dinmicos pueden ser creados en codificacin Unicode (UTF-
16) o ANSI (ISO-8859-1). Esto debe ser indicado a travs de la sintaxis encoding delante del
Header (cabecera) del archivo xml.
- Para la visualizacin de objetivo pueden estar definidos el idioma inicial, el directorio de las listas
de textos XML a ser utilizadas y una lista de listas de texto a travs del archivo de configuracin del
sistema de destino, lo que permite modificar estos parmetros con posterioridad, sin tener que
crear un nuevo proyecto de inicio. De esta manera las listas de texto existentes pueden ser
modificadas posteriormente de forma sencilla (idioma inicial, texto) o bien ser complementado con
nuevos idiomas. Cuando el sistema de destino pone a disposicin una configuracin de este tipo,
las listas de texto que estn definidas para la visualizacin en TwinCAT PLC Control, no son
consideradas en el servicio online! Si no existe ninguna configuracin especfica del sistema de
destino para la conmutacin de idioma, es necesaria, tras una modificacin en las listas de textos
definidas en TwinCAT PLC Control, una nueva descarga del proyecto.

isualizacin TwinCAT PLC Control

Configuracin

Que texto debe aparecer en modo online en un elemento de visualizacin, puede ser controlado
dinmicamente con ayuda de una combinacin Prefijo-ID, que est asignada a un texto en un
archivo XML (vase "Archivo XML para textos dinmicos). Prefijo e ID se definen en la
configuracin del elemento de visualizacin, en donde el ID se puede asignar dinmicamente a
travs de una variable de proyecto. Un idioma por omisin puede ser definido a travs de una
orden INTERN.
El archivo XML, que describe la asignacin de textos, se enlaza - asimismo en la configuracin del
elemento de visualizacin - con el proyecto. Un archivo XML de este tipo debe haber sido
confeccionada de acuerdo a un esquema predeterminado. En este archivo se marcan las versiones
de texto con abreviaturas de idiomas, de manera que no slo puede ser conmutado entre
diferentes contenidos para un texto de visualizacin, sino tambin es posible una conmutacin de
idioma. Esto se realiza como se describe arriba para el archivo de idioma a travs del dilogo de
seleccin en el dilogo 'Configuraciones' / Idioma.

Consecuentemente son necesarios los siguientes entradas en los dilogos de configuracin:


1. Registro de los archivos de texto XML: Dilogo 'Configuraciones' Categora Idioma:

Active la opcin Textos dinmicos y oprima el botn Agregar, para incluir en el proyecto uno o
varios archivos XML existente. Los archivos seleccionados se listan en la ventana debajo del botn.
A travs de Quitar puede volver a borrar el archivo actualmente marcado. Eventualmente si fuera
deseable, no slo indicar los elementos de visualizacin para los que se realiza una sustitucin de
texto, entonces active la opcin Ocultar elementos, en caso que no se haya producido ninguna
sustitucin de texto.
La seleccin de idioma en el campo de Idioma tiene el mismo efecto sobre los textos dinmicos
como al emplear un archivo de idioma, que han sido definidos con la correspondiente
denominacin de idioma en el archivo XML.

Dilogo de configuracin Configuraciones / Idioma para textos dinmicos

2. Definicin de ID (como se emplea en el archivo XML) en el dilogo de configuracin de la


categora 'Variables' en el campo 'Emisin de texto':

Entrada de un valor o bien una variable de proyecto.

3. Definicin del formato de texto en el dilogo de configuracin, categora Texto:

Introduzca el siguiente marcador de posicin en el campo 'Contenido' en el texto en el lugar en el


que desea la sustitucin por un texto dinmico: "%<PREFIJO>". En lugar de "PREFIJO" puede ser
registrada una secuencia de letras, que debe coincidir con una definicin de PREFIJO presente en
su archivo XML.

Para cada combinacin Prefijo-ID, que se encuentra en un archivo de texto XML entrado, se
representa entonces en modo online el texto correspondiente en el elemento de visualizacin. Si no
se encuentra ninguna entrada, no se produce ninguna sustitucin.

Visualizacin TwinCAT PLC Control

Archivo XML para textos dinmicos

Para el empleo de textos dinmicos vase la descripcin para el dilogo 'Configuraciones',


Categora Idioma. El archivo que se toma como base debe estar disponible en fomato XML
(<nombre del archivo>.xml). Este contiene una asignacin de textos para combinaciones de prefijo
ID, que pueden ser indicados en el elemento de visualizacin. Adems puede ser definida un
Header-Section (seccin de cabecera) un idioma por omisin y una fuente por omisin asignada a
un idioma. Las descripciones en el archivo XML estn encerrados por las etiquetas <dynamic_text>
y <\dynamic_text> al inicio y al final del archivo.

Los archivos de idioma para textos dinmicos pueden ser creados en codificacin Unicode (UTF-
16) o ANSI (ISO-8859-1). Esto debe ser indicado a travs de la sintaxis encoding antes del Header
(cabecera) del archivo XML (vase abajo, Ejemplo de archivo).

Tenga en cuenta lo siguiente:

- Formatos iniciales del archivo XML, que an no emplean ninguna etiqueta <dynamic_text> y
ninguna seccin Header (cabecera), continan siendo soportados.
- La visualizacin de objetivo ofrece una interfaz para consultas de entradas de listas dinmicas de
texto. De esta manera estos pueden ser utilizados entonces, directamente en el programa.

La Header-Section (seccin de cabecera) comienza con <header> y finaliza con <\header>. Si se


debe determinar un idioma por omisin, inserte aqu la entrada <default-language>. Una fuente
por omisin correspondiente al idioma se determina a travs de la entrada <default-font>. Las
entradas son opcionales, cuando falta, el texto dinmico se indica en la visualizacin en el idioma
local o bien la fuente configurados.
<header>

<default- Indicacin del idioma por omisin; esto quiere decir, cuando
language><Abreviatura para una entrada de texto (v.a.) no se dispone de texto en
de idioma> </default- el idioma configurado, se emplea el texto que en la misma
language> entrada de texto est definido bajo la abreviatura de idioma
por omisin. Si ahora tampoco uno as est presente, se
emite "<PREFIJO> <ID>. Cuando se emplean varios
archivos XML, que contiene cada uno una Header-Section
(seccin de cabecera), se tiene en cuenta aquel, que sea el
ltimo en ser ledo. Es conveniente emplear slo 1
Header-Section! La abreviatura de idioma debe
corresponder a una empleada en las entradas de textos
(v.a.).

Observacin: El idioma por omisin puede ser configurado


de forma dirigida durante el tiempo de marcha, con ayuda
de un elemento de visualizacin, que ha sido configurado
con la orden INTERN LANGUAGE DEFAULT (idioma
interno por omisin) en la categora Entrada, Ejecutar
programa (vase cap. 2.4.1, Posibilidades especiales de
entrada para versiones de manejo).

<default-font> Indicacin de una fuente por omisin para in idioma


indicado en <language>:

<language><Abreviatur La fuente
a de idioma>
</language> indicada con el nombre de fuente (p.ej. "Arial" se emplea
automticamente

<font-name><Nombre para todos los elementos, los cuales emiten textos


de fuente></font-name> dinmicos en este idioma. La abreviatura de idioma debe

corresponder a una empleada en las entradas de textos


<default-font>
(v.a.).
</default-font> Otras fuentes por omisin para otros idiomas

<language>...

...

<default-font>

...

</header>

La Lista de asignaciones entre el prefijo ID y los textos se abre con <text-list> y se cierra con
<\text-list>. Las asignaciones individuales se inician en cada caso con <text prefix> y finalizan con
<\text>.

Un registro de texto para una combinacin Prefijo-ID contiene las siguientes lneas:

<text prefix>= El "PREFIJO" aqu empleado corresponde al empleado en el


"<PREFIJO> elemento de visualizacin (categora de configuracin Texto) ;
id="<ID>" El "ID" corresponde a la entrada en la categora de
configuracin 'Variables', Emisin de texto

<Abreviatura de La abreviatura de idioma de libre eleccin se reproduce en el


idioma> <! dilogo 'Configuraciones', categora Idioma del elemento de
CDATA[<TEXTO>] visualizacin y luego en la lista de seleccin bajo 'Idioma'; el
</Abreviatura de "TEXTO" es aquel, que en modo online se indica en el
idioma> elemento de visualizacin en lugar de la combinacin
PREFIJO-ID arriba definida.

</text>
Se debe disponer como mnimo de una entrada de texto en 1 idioma por combinacin Prefijo-ID.
Vase p.ej. en el ejemplo de archivo abajo indicado: <deutsch> inicia el texto en idioma alemn,
</deutsch> lo finaliza.

Los textos dinmicos pueden servir por una parte para la representacin de un texto en diferentes
idiomas, pero naturalmente tambin, para indicar diferentes contenidos dinmicos.

Ejemplo:

Se emplean dos elementos de visualizacin, uno para la indicacin de una denominacin de


mquina, el otro para la indicacin de un texto de error para un determinado nmero de error:
(1) Defina en PLC_PRG las variables ivar del tipo INT, que determina la denominacin de la
mquina y errnum del tipo INT, que suministra el nmero de error.
(2) Configure un elemento de visualizacin para indicacin de la denominacin actual de la
mquina:
a. Introduzca en la categora Texto en el campo de texto: "%<Mquina>"
b. Introduzca en la categora Variables en la emisin de texto: PLC_PRG.ivar
(3) Configure otro elemento de visualizacin para emisin del texto de error actual:
a. Introduzca en la categora Texto en el campo de texto: "%<Error>"
b. Introduzca en la categora Variables en la emisin de texto: "PLC_PRG.errnum
(4) Confeccione un archivo XML, p.ej. con el nombre dynamictextsample.xml, de acuerdo a la
sintaxis arriba descrita, que para este ejemplo presenta la siguiente apariencia:

<?xml version="1.0" encoding="ISO-8859-1"?>

<dynamic-text>

<header>

<default-language>deutsch</default-language>

<default-font>

<language>deutsch</language>

<font-name> Arial </font-name>

<font-color>0,0,0</font-color>

<font-height>-13</font-height>
<font-weight>700</font-weight>

<font-italic>false</font-italic>

<font-underline>false</font-underline>

<font-strike-out>false</font-strike-out>

<font-char-set>0</font-char-set>

</default-font>

<default-font>

<language>english</language>

<font-name> Arial </font-name>

<font-color>0,0,0</font-color>

<font-height>-13</font-height>

<font-weight>700</font-weight>

<font-italic>false</font-italic>

<font-underline>false</font-underline>

<font-strike-out>false</font-strike-out>

<font-char-set>0</font-char-set>

</default-font>

</header>

<text-list>

<text prefix="ERROR" id="4711">

<deutsch> Fehler an Position 4711 </deutsch>

<english> Error at position 4711 </english>


</text>

<text prefix="ERROR" id="815">

<deutsch> Fehler an Position 815 </deutsch>

<english> Error at position 815 </english>

</text>

<text prefix="ERROR" id="2000">

<deutsch> <![CDATA[Das ist ein Fehlertext ber

mehrere Zeilen]]> </deutsch>

<english> <![CDATA[This is a error text over more than

one line]]> </english>

</text>

<text prefix="MASCHINE" id="1">

<deutsch> <![CDATA[Vorschub]]> </deutsch>

<english> <![CDATA[Feed rate]]> </english>

</text>

<text prefix="MASCHINE" id="2">

<deutsch> <![CDATA[Beschleunigung]]> </deutsch>

<english> <![CDATA[Acceleration]]> </english>

</text>

</text-list>

</dynamic-text>

(5) Abra en la visualizacin el dilogo Configuraciones, categora Idioma: Active la opcin Textos
dinmicos; Agregue la lista de archivos el archivo dynamictextsample.xml, que ahora est
disponible en su ordenador.
(6) Pase con el proyecto al modo online.
(7) Ponga en las configuraciones de la visualizacin el idioma a "deutsch" (alemn). Ponga
PLC_PRG.ivar en "1" y PLC_PRG.errnum en "4711". En los elementos de visualizacin deben
aparecer ahora los siguientes textos: "Vorschub" o bien "Fehler an Position 4711".
(8) Ponga PLC_PRG.ivar en 2 y PLC_PRG.errnum en "2000". Los textos cambian a
"Beschleunigung" y "Das ist ein Fehlertext ber mehrere Zeilen". El texto se representa en cada
caso en Arial 13.
(9) Ponga en las configuraciones de la visualizacin el idioma a "english" (ingls). Ahora se
visualizan los siguientes textos: "Acceleration" y "This is a error text over more than one line".

Visualizacin TwinCAT PLC

Llamada de ayuda online dependiente del idioma

Segn el idioma configurado para la visualizacin actual, se puede enlazar la llamada de un


archivo de ayuda especfico para un idioma con un elemento de visualizacin. Para ello debe estar
entrado para este elemento la orden INTERN HELP en el dilogo 'Configurar elemento' en 'Ejecutar
programa' y en el archivo PlcControl.ini debe estar disponible una seccin [Visu-Helpfiles]. Bajo
esta se tienen que asignar los archivos de ayuda correspondientes de los idiomas configurables en
la visualizacin: p.ej.:

[Visu-Helpfiles]

German=C:\PROGRAMME\HELP_D.HLP

English=C:\PROGRAMME\HELP_E.HLP

Visualizacin TwinCAT PLC

Resumen

En cada punto de un dilogo de configuracin, en las que se introducen variables o texto, se puede
colocar en lugar de variables o del texto, tambin un marcador de posicin. Esto es conveniente,
cuando el objeto de visualizacin no debe ser empleado inmediatamente en el programa, sino se
crea para ser insertado como referencia en otros objetos de visualizacin. Al configurar una
referencia de este tipo, los marcadores de posicin pueden entonces ser reemplazados por
nombres de variables o textos.

Como marcador de posicin vale cualquier secuencia de caracteres, encerrada entre dos signos de
dlar ($) (p.ej. $variable1$, variable$x$). Para cada marcador de posicin ya se puede predefinir en
el dilogo 'Lista de marcadores de posicin' (llamada a travs de 'Herramientas' 'Lista de
marcadores de posicin'), con que valores este puede ser reemplazado en la referencia. La
sustitucin de marcadores de posicin se realiza all asimismo a travs de una lista de marcadores
de posicin.

'Herramientas' 'Lista de marcadores de posicin'

La lista de marcadores de posicin se emplea en dos puntos diferentes, para administracin y


configuracin de los marcadores de posicin:

En principio en la configuracin de un elemento de visualizacin, de donde ms tarde se


deben crear referencias en otros mdulos de visualizacin y en el que por esta razn registra
marcadores de posicin en lugar de variables y cadenas. En este caso obtendr el dilogo a travs
de la orden 'Herramientas' 'Lista de marcadores' o el men contextual. Este contiene tres
columnas:

Lista de marcadores de posicin para entrada de posibles valores de sustitucin para marcadores
de posicin

En la columna Marcadores de posicin se listan todos los marcadores de posicin, que se


emplean en la configuracin de esta visualizacin. La columna Nmero de elemento indica, en
que elemento ha sido configurado un marcador de posicin. En la columna Sustituciones se
puede ahora para estos marcadores de posicin introducir una seleccin de cadenas (textos,
expresiones, nombres de variables), que ms tarde al configurar una referencia del mdulo Visu,
sea posible como introduccin en lugar del marcador de posicin. Los elementos de la seleccin
deben ser entrados separados por comas. Si aqu no se especifica una cadena de sustitucin o
una no vlida, el marcador de posicin, durante la configuracin de la referencia que lo contiene,
puede ser sustituido por cualquier secuencia de caracteres/nombre de variable.

Entonces al configurar una referencia del mdulo de visualizacin arriba mencionado, o sea
despus que este haya sido insertado en otra visualizacin con 'Insertar' 'Visualizacin'. Llame para
este fin el dilogo de la siguiente manera: Marque la visualizacin insertada, seleccione la orden
'Configurar' del men contextual o del men 'Herramientas' y oprima el botn Marcador de posicin
en la categora 'Visualizacin': El dilogo contiene en este caso slo dos columnas:

En la columna Marcadores de posicin aparecen nuevamente los marcadores de posicin


empleados en el mdulo, como fueron asignados en la visualizacin original. Cuando para ellos
(como se describe arriba) est predefinida una magnitud de valor de sustitucin, esta ahora se
ofrece en la columna Sustitucin en una lista de seleccin. Seleccione uno de los valores, que
ahora en la presente referencia debe ser empleado en lugar del marcador de posicin. Si no se ha
definido ninguna magnitud de valor, puede a travs de un clic de ratn abrir un campo de entrada
en el correspondiente campo de la columna 'Sustitucin' y teclear un valor de sustitucin deseado.

Visualizacin TwinCAT PLC

Resumen

Observe los siguientes puntos para la visualizacin en modo online:


Secuencia de evaluacin:

- Los valores dinmicos para definicin de elementos de visualizacin, o sea suministrados a travs
de variables de proyecto o variables de estructura, sobrescriben las configuraciones fijas (estticas)
de las configuraciones de elementos.
- Cuando una propiedad de elemento se activa tanto a travs de una variable de proyecto entrada
directamente en el dilogo de configuracin, como tambin a travs del componente de la variable
de estructura, se evala primero el valor de las variables de proyecto.

Tiene la posibilidad, de configurar un manejo por teclado puro para la visualizacin.

Las categoras de configuracin Representacin, Marco e Idioma tambin pueden ser editadas en
modo online.

Los elementos individuales de referencias de visualizacin se comportan en modo online de


forma idntica con las correspondientes a la visualizacin, que es referenciada.

Al conmutar el idioma empleado, este slo cambia en modo online.

La visualizacin puede ser impresa en modo online.

Nota:

Aclaraciones sobre el manejo online de determinados elementos de visualizacin como p.ej.


Tendencia y Tabla de alarmas, valas por favor en el captulo correspondiente sobre la
configuracin del elemento.

Manejo por teclado - en modo online

Para en el manejo online de una visualizacin ser independiente de ratn y pantalla tctil, se
recomienda configurar la visualizacin de tal manera, que sea posible un manejo puro de los
elementos por teclado:
Sin tener que configurarlo explcitamente, funcionan en modo online por omisin las siguientes
(combinaciones de) teclas:

Oprimiendo la tecla <Tabulador> se marca el primer elemento de la lista de elementos, para el


que est configurada una entrada. Con cada siguiente confirmacin de la tecla se cambia en cada
caso al siguiente elemento de la lista de elementos. Oprimiendo simultneamente <Mays>
cambia la marcacin para el elemento anterior.
Con las teclas de flecha puede cambiar desde un elemento seleccionado al inmediatamente
siguiente en cualquier direccin.

Con la <Espacio> puede ejecutar un accionamiento al siguiente elemento de visualizacin


seleccionado. Si se trata de un elemento con variables de emisin de texto, de este modo se abre
el campo de entrada de texto, que muestra el contenido de texto de estas variables. Oprimiendo
<Entrar> este valor se escribe.

(Combinaciones de)teclas adicionales para el manejo online pueden ser definidos en la


configuracin de la visualizacin en el dilogo 'Manejo por teclado...'. En este caso tambin las
teclas <Tabulador>, <Espacio> y <Entrar> pueden ser provistas con otra funcin que la descrita
arriba.

Los elementos individuales de referencias, se comportan en modo online de forma idntica como
las correspondientes de la visualizacin que es referenciada. O sea reaccionarn del mismo modo
que elementos individuales a entradas y manejo pro ratn y teclado, tambin la indicacin de
Tooltips (informacin) en referencias est referida a elementos. En un procesamiento de la lista de
elementos, como por ejemplo se produce al saltar de un elemento de entrada al siguiente mediante
el tabulador, el procesamiento de todos los elementos individuales de una referencia se produce a
partir del punto, en el que la referencia se encuentra en la lista de elementos, antes de saltar al
siguiente elemento de la lista.

Imprimir visualizacin en modo online

A travs de 'Archivo' 'Imprimir' puede imprimir el contenido de la ventana de visualizacin en modo


online. Visualizaciones que van ms all de los bordes laterales, pueden en este caso mostrar
inconsistencias, ante todo, cuando los elementos movidos se encuentran en la visualizacin.

Visualizacin TwinCAT PLC

Resumen

Las visualizaciones tambin pueden ser guardadas en bibliotecas y de ese modo estar disponibles
en proyectos como mdulos de biblioteca. Estas pueden, como las visualizaciones existentes en el
proyecto, ser insertadas como referencia o a travs de la orden "Zoom to vis." ser llamadas en la
configuracin de entrada de otra visualizacin.
Nota:

Las visualizaciones que se emplean en un proyecto, deben llevar nombres inequvocos. Puede
conducir a problemas, si por ejemplo se llama o referencia una visualizacin de la biblioteca que
tiene el mismo nombre que una existente en el proyecto. Debido a que durante el procesamiento
de referencias o llamadas de visualizaciones en el programa, primero se tienen en cuenta las
visualizaciones en el proyecto y slo despus las bibliotecas cargadas.

Visualizacin TwinCAT PLC

Resumen

La visualizacin de objetivo es una de las posibles aplicaciones de una visualizacin creada en


TwinCAT. El sistema de programacin de TwinCAT puede crear cdigos ST (texto estructurado)
para los objetos de visualizacin de un proyecto que se hayan cargado en el mando con los dems
mdulos del programa.

Si el sistema de tiempo de funcionamiento admite la funcionalidad y el equipamiento de monitor es


adecuado, la visualizacin se puede iniciar directamente en el mando. No es necesario que
funcione el sistema de programacin para poder utilizar la visualizacin, lo cual reduce
considerablemente la memoria principal necesaria.

Nota:

Las funciones de la biblioteca SysLibTargetVisu.lib permiten, entre otros, obtener informacin


sobre las ltimas entradas del usuario (botn izquierdo del ratn, nmero de clics existentes) en el
programa o consultar textos de listas dinmicas de texto para utilizar esos valores directamente en
el programa.

Visualizacin TwinCAT PLC

Requisitos

El sistema de destino debe admitir la funcionalidad, es decir, en las opciones del sistema de
destino (Proyecto->Opciones->TwinCAT), debe estar activada la opcin 'Enable CE Target-
Visualization' (Habilitar visualizacin de objetivo CE). Segn cmo est establecido en el archivo de
destino, el usuario tambin puede activar y desactivar esta opcin.
La biblioteca SysLibTargetVisu.lib se necesita para implementar las funciones de visualizacin
en el sistema de tiempo de funcionamiento. Se aade automticamente en el administrador de
libreras si est activada la opcin "Enable CE Target-Visualization'' (Habilitar visualizacin de
objetivo CE) en las opciones del sistema de destino. En el sistema de tiempo de funcionamiento
tambin debe estar implementada SysLibTargetVisu.lib. Tenga en cuenta que, adems, cuando se
activa la opcin 'Enable CE Target-Visualization' (Habilitar visualizacin de objetivo CE), se carga
automticamente en el proyecto la siguiente biblioteca, utilizada implcitamente:
SysLibAlarmTrend.lib.

Sistema operativo del ordenador de control: Windows CE

El ordenador de control precisa un equipamiento de monitor y manejo adecuados para poder


representar o utilizar la visualizacin.

Visualizacin TwinCAT PLC

Preparacin de una visualizacin de objetivo

1. Cree una visualizacin en TwinCAT PLC.

Para mejorar el rendimiento del tiempo de funcionamiento, enve hacia atrs todos los elementos
posibles que sean estticos en la representacin (que no contengan movimiento, modificacin del
texto o del color, etc.).
Consejo: Con ayuda de 'Herramientas' 'Lista de elementos" podr desplazar elementos "Hacia
delante y "Hacia atrs. La razn es la siguiente: los elementos estticos slo se designan una vez
en un mapa de bits de fondo. Por tanto, se reduce drsticamente la necesidad cclica de dibujar.
Esta opcin es especialmente til en el caso de mapa de bits o polgonos complejos.

Si existe un mdulo de visualizacin con el nombre TC_VISU, la visualizacin de objetivo se inicia


ms tarde en la llamada con ese mdulo. De lo contrario, se cargar el mdulo que se encuentre
en la primera posicin en la lista de objetos del registro 'Visualizaciones' de TwinCAT PLC Control.

Si en su proyecto las variables de visualizacin implcitas se tienen que tratar como variables
remanentes, efecte las correspondientes Declaraciones de variables globales.

Nota:

Los mapas de bit de la visualizacin se transfieren como archivos.

2. Desactive

la opcin 'Visualizacin' de cada mdulo de visualizacin que no desea que figure en la


visualizacin de objetivo, en las Propiedades objeto ('Proyecto' 'Objeto' 'Propiedades') de la hoja
de registro 'Visualizacin':

3. Configure

en las opciones del sistema de destino, en la categora "TwinCAT" (la disponibilidad de las
opciones depende del sistema de destino), la opcin de que el proyecto est previsto para la
visualizacin de objetivo: active la opcin "Enable CE Target Visualization" (Habilitar visualizacin
de objetivo CE).

Adems, tambin se puede elegir si las entradas del usuario y la nueva representacin de los
elementos de visualizacin objetivo...
... se deben controlar mediante tareas VISU creadas automticamente o a travs de programacin
individual: opcin Deshabilitar la creacin de tareas
... se deben procesar en un mdulo o tarea, o en dos:
Utilice la opcin VISU_INPUT_TASK. (el trmino "..._TASK" tiene su sentido, ya que la opcin
tambin es relevante cuando est desactivada la creacin automtica de tareas).

Por tanto, aparte de la opcin de desactivacin del manejo por teclado para tablas, tambin son
posibles las siguientes configuraciones:

Mando mediante tareas VISU creadas automticamente


que llaman los programas MAINTARGETVISU_PAINT _CODE y
MAINTTARGETVISU_INPUT_CODE:

Caso A:

Deshabilitar la creacin de tareas est desactivado:

Utilizar VISU_INPUT_TASK est activado:

Con cada llamada de programa se crean automticamente dos tareas:


- VISU_TASK llama el mdulo de programa disponible implcitamente
MAINTARGETVISU_PAINT_CODE, que toma el nuevo dibujo de los elementos de visualizacin.
- VISU_INPUT_TASK llama el mdulo de programa disponible implcitamente
MAINTARGETVISU_INPUT_CODE, que toma la ejecucin de entradas del usuario.

Configuracin predeterminada de las tareas:


VISU_INPUT_TASK: cclica, prioridad 2, intervalo t#50ms;
VISU_TASK: cclica, prioridad 3, intervalo t#200ms

Tenga en cuenta lo siguiente:


Obviamente, estos parmetros se pueden modificar, pero: VISU_INPUT_TASK siempre se debe
procesar con prioridad frente a VISU_TASK para garantizar la interaccin adecuada de las
entradas y la actualizacin de la representacin.
La tarea que llama el programa principal (p. ej., PLC_PRG) debera procesarse como mnimo con
la misma frecuencia que VISU_INPUT_TASK, idealmente con ms prioridad si fuera posible. Sin
embargo, no puede aadirse directamente a VISU_INPUT_TASK.

Caso B:

Deshabilitar la creacin de tareas est desactivado:

Utilizar VISU_INPUT_TASK est desactivado:

Slo se crea automticamente la tarea VISU_TASK, pero adems contiene la funcin de


VISU_INPUT_TASK.
En ese caso, el programa implcito MAINTARGETVISU_ PAINT_CODE contiene adicionalmente la
funcionalidad del programa MAINTTARGET VISU_ INPUT_CODE.

Esta configuracin es adecuada para aquellos sistemas que no admiten opciones de multitarea. La
desventaja es que no se pueden configurar tiempos de ejecucin diferenciados para procesar
entradas del usuario y el nuevo dibujo de elementos (vase arriba).

Mando sin tareas establecidas automticamente;


los mdulos de programa implcitos MAINTARGETVISU_PAINT_CODE y
MAINTTARGETVISU_INPUT_CODE se pueden llamar individualmente en el programa de
aplicacin o vincularse a tareas:

Caso C:

Desactivar la creacin de tareas est activado:

Utilizar VISU_INPUT_TASK est activado:


Los dos mdulos de programa implcitos estn disponibles y se pueden llamar por separado o
vincularse a una determinada tarea (tenga en cuenta los consejos del caso A).

Ejemplo del control de los mdulos de programa Visu de destino en el programa de aplicacin:

PROGRAM visu_control

VAR

n: INT;

END_VAR

n:=n+1;

IF (n MOD 4) =0 THEN

MAINTARGETVISU_PAINT_CODE();

END_IF;

MAINTARGETVISU_INPUT_CODE();

En el programa visu_control, el mdulo que procesa las entradas slo se puede llamar cada cuatro
llamadas del mdulo que se va a dibujar, con el fin de evitar el riesgo de que una entrada de
usuario interrumpa la nueva designacin.

Nota:

Asegrese de que evita el riesgo de indicaciones incorrectas al crear el programa.

Caso D:

Desactivar la creacin de tareas est activado:

Utilizar VISU_INPUT_TASK est desactivado:


Slo hay disponible un mdulo de programa implcito, MAINTARGET VISU_PAINT_CODE, pero
adems contiene la funcionalidad de MAINTARGETVISU_ INPUT_ CODE.
Se puede llamar en el programa de aplicacin o vincularse a una tarea determinada.

4. Cargue el proyecto

en el mando ("Online" "Loggin").

Visualizacin TwinCAT PLC

Llamada desde el sistema de destino

Inicie el proyecto cargado en el mando. La visualizacin comienza con el mdulo TC_VISU o, en


caso de que no exista, con el objeto de visualizacin que se encuentra en la primera posicin de la
lista de objetos de la hoja de registro "Visualizaciones" de TwinCAT PLC Control.

Visualizacin TwinCAT PLC

Interfaz para la consulta de acciones del usuario y textos dinmicos

La biblioteca que se carga automticamente al activar la configuracin del sistema de destino


Visualizacin de objetivo, SysLibTargetVisu.lib, ofrece las siguientes funciones para la consulta de
entradas de usuarios haciendo clic con el ratn o entradas en listas dinmicas de texto:

Funcin GetText : BOOL

Esta funcin suministra un texto dependiente del idioma de entre los que figuran en la lista
dinmica de texto actual.

Parmetros de transferencia:

stResult: Sirve como parmetro IN_OUT y se le asigna el texto que se


STRING(256); encontraba en la cadena de prefijo "stPrefix y la identificacin
"dwID.

nResultLength:INT; En este caso, se debera transferir la longitud mxima de la


cadena "stResult si contiene menos de 256 caracteres.

stPrefix: STRING; Prefijo de la entrada de texto en la lista dinmica de texto actual.

dwID: DWORD; ID de la entrada de texto en la lista dinmica de texto actual.

Valor de devolucin:
FALSE - No se ha encontrado ningn texto compatible con "stPrefix y "dwID.
TRUE - Se ha encontrado un texto compatible con "stPrefix y "dwID.

Funcin GetTextByStringId: BOOL

Esta funcin, al igual que la funcin GetText, puede ofrecer un texto dependiente del idioma de las
listas dinmicas de texto. La diferencia entre ellas estriba en el parmetro "stID, mediante el cual
la identificacin de la entrada de texto se puede transferir como cadena de texto en lugar de valor
numrico. Esto permite utilizar tambin identificaciones definidas como cadenas en el fichero de
texto xml como, por ejemplo, "Text123.

Parmetros de transferencia:

stResult: Sirve como parmetro IN_OUT y se le asigna el texto que se


STRING(256); encontraba en la cadena de prefijo "stPrefix y la identificacin
"dwID.

nResultLength:INT; En este caso, se debera transferir la longitud mxima de la


cadena "stResult si contiene menos de 256 caracteres.

stPrefix: STRING; Prefijo de la entrada de texto en la lista dinmica de texto actual.

stID: STRING; ID de la entrada de texto en la lista dinmica de texto actual.

Valor de devolucin:
FALSE No se ha encontrado ningn texto compatible con "stPrefix y "stID.
TRUE - Se ha encontrado un texto compatible con "stPrefix y "stID.

Funcin GetLastLeftMouseDownEvent : BOOL o funcin GetLastRightMouseDownEvent :


BOOL

Esta funcin ofrece informacin sobre el ltimo evento MouseDown que se ha activado, "Left" o
"Right". Contiene un indicador (pMouseEvent : POINTER TO MOUSEEVENT;) en la estructura
MouseEvent, que abarca los siguientes parmetros:

dwCounter : Nmero de eventos MouseDown desde el inicio del sistema. Con


DWORD; este parmetro se puede evaluar si se han activado un evento,
varios eventos o ninguno desde la ltima consulta.

nXPos : INT; ltima posicin del ratn en las coordenadas X/Y.

nYPos : INT;

Valor de devolucin:
No se devuelve ningn valor.

Funcin GetLastMouseMoveEvent : BOOL

Esta funcin ofrece informacin sobre el ltimo evento MouseMove que se ha activado. Contiene
un indicador (pMouseEvent : POINTER TO MOUSEEVENT;) en la estructura MouseEvent. Vase
arriba Funcin GetLastMouseDownEvent.

Valor de devolucin:
No se devuelve ningn valor.

Funcin GetLastLeftMouseUpEvent : BOOL o funcin GetLastRightMouseUpEvent: BOOL

Esta funcin ofrece informacin sobre el ltimo evento MouseUp que se ha activado, "Left" o
"Right". Contiene un indicador (pMouseEvent : POINTER TO MOUSEEVENT;) en la estructura
MouseEvent.

Vase arriba Funcin GetLastLeftMouseDownEvent o Funcin GetLastRightMouseDownEvent.


Valor de devolucin:
No se devuelve ningn valor.

Visualizacin TwinCAT PLC

Limitaciones

rdenes internas

PRINT
Esta orden de impresin de la visualizacin actual no se puede utilizar para la visualizacin de
objetivo.

EXITPROGRAM
Esta orden para finalizar el programa no se puede utilizar para la visualizacin de objetivo.

TRACE
Esta orden para abrir la ventana para el registro trace no se puede utilizar para la visualizacin de
objetivo.

SAVEPROJECT
Esta orden para guardar el proyecto no se puede utilizar para la visualizacin de objetivo.

Formatos de grficos

Actualmente, dentro de la visualizacin de objetivo slo se admiten mapas de bits sencillos. Los
formatos .jpg, .tif, .ico an no son compatibles. El formato .jpg ser compatible a partir de la versin
1.0.9 de TargetVisu DLL.

Otros

Control deslizante en la tabla


Actualmente no se puede visualizar el control deslizante de desplazamiento.

Textos
La funcin de recorte de textos que sobrepasan el lmite del elemento todava no est disponible.

Tratamiento de las alarmas


Por el momento, la alarma no es compatible con la visualizacin de objetivo.
Tendencia
La visualizacin de objetivo admite la tendencia online (sin historial) a partir de la versin 1.0.8.

Marcador de posicin
La visualizacin de objetivo no admite la transferencia de parmetros para sustituir marcadores de
posicin en la llamada.
Ejemplo:
<Nombre Visu>(<Marcador1>:=<Texto1>, <Marcador2>:=<Texto2>,..., <Marcador n>:=<Texton>)

VAR_IN_OUT
It is not possible to use VAR_IN_OUT variables in TwinCAT HMI CE.

Visualizacin TwinCAT PLC

Resumen

Las siguientes variables de sistema creadas implcitamente, estn a disposicin para la


programacin de visualizaciones:

Variable generada Tipo de


implcitamente datos Funcin

CurrentVisu String[40] Contiene el nombre de la visualizacin actual. Si


se modifica el nombre, se ejecuta un cambio de
visualizacin. Se debe observar, que la cadena
para el nombre de la visualizacin siempre tiene
que ser indicada en maysculas.

Dependiendo del sistema de destino, esta


variable puede ser activada/desactivada en las
configuraciones de sistema de destino, categora
Visualizacin.

CurrentCaller String[40] Contiene el nombre de la visualizacin anterior.


Se emplea para la funcionalidad de
ZOOMTOCALLER .
CurrentLanguage String[40] Contiene el idioma actualmente seleccionado,
que se encuentra a disposicin dentro del
archivo de idioma. Esta tiene que ser indicada en
maysculas.

CurrentUserLevel INT Contiene el nivel de usuario actualmente


seleccionado 0..7

CurrentPasswords[ ARRAY Contiene todas las contraseas las cuales han


0 .. 7] [0..7] OF sido registradas dentro de TwinCAT PLC Control
STRING[20 bajo Opciones Contraseas para grupo de
] trabajo.

TwinCAT PLC Control: Teclado

Operaciones con el teclado

Para manejar TwinCAT PLC Control nicamente con el teclado, han de utilizarse algunos
comandos que no se hallan en el men.

Con la tecla de funcin <F6> se conmuta entre la parte de declaracin y la parte de


instruccin de un Mdulo abierto.

Con <Alt>+<F6> se cambia de un objeto abierto al Object Organizer y, desde ah, a la


ventana de mensajes si est abierta. Si est abierto un dilogo de bsqueda, con
<Alt>+<F6> se pasa del Object Organizer al dilogo de bsqueda y, desde all, al objeto.

Con el <tabulador> se salta por los campos de entrada y los botones del dilogo.

Con las teclas de direccin, es posible desplazarse dentro del Object Organizer y del
administrador de libreras a travs de las fichas y los objetos. Todas las dems acciones se
pueden realizar con los comandos de men o con los accesos directos que aparecen junto
a los comandos de men.

Con <Mays<+<F10> se accede al men de contexto que contiene los comandos de uso
ms frecuente para un objeto marcado o para el editor activo.
Combinaciones de teclas

A continuacin, se muestra un listado general de todas las combinaciones de teclas y teclas de


funcin:

Manejo general

Conmutacin entre la parte de declaracin y la parte de instruccin <F6>


de un mdulo

Conmutacin entre Object Organizer, objeto y ventana de <Alt>+<F6>


mensajes

Men de contexto <Mays>+<F10


>

Modo abreviado para declaraciones <Ctrl>+<Intro>

Conmutacin entre un mensaje de la ventana de mensajes y la <Intro>


posicin en el editor

Abrir y cerrar variables de varios niveles <Intro>

Abrir y cerrar carpetas <Intro>

Cambio de fichas en el Object Organizer y administrador de <Teclas de


libreras direccin>

Salto hacia delante en dilogos <Tab>

Ayuda de contexto <F1>


Comandos generales

'Archivo''Guardar' <Ctrl>+<S>

'Archivo''Imprimir' <Ctrl>+<P>

'Archivo''Salir' <Alt>+<F4>

'Proyecto''Borrar objeto' <Supr>

'Proyecto''Insertar objeto' <Insert>

'Proyecto''Renombrar objeto' <Barra


espaciadora>

'Proyecto' 'Editar objeto' <Iintro>

'Edicin' 'Deshacer' <Ctrl>+<Z>

'Edicin' 'Restablecer' <Ctrl>+<Y>

'Edicin' 'Cortar' <Ctrl>+<X> o


<Mays>+<Supr
>

'Edicin''Copiar' <Ctrl>+<C>

'Edicin''Pegar' <Ctrl>+<V>

'Edicin''Borrar' <Supr>
'Edicin' 'Buscar siguiente' <F3>

'Edicin' 'Ayuda de entrada' <F2>

'Edicin''Siguiente error' <F4>

'Edicin' 'Error anterior' <Mays>+<F4>

'En lnea''Inicio' <F5>

'En lnea' 'Breakpoint ON/OFF' <F9>

'En lnea''Paso individual sobre' <F10>

'En lnea''Paso individual en' <F8>

'En lnea''Ciclo individual' <Ctrl>+<F5>

'En lnea''Escribir valores' <Ctrl>+<F7>

'En lnea''Forzar valores' <F7>

'En lnea''Suprimir forzar' <Mays>+<F7>

'Ventana''Mensajes' <Mays>+<Esc>

Comandos del editor de FBD


'Insertar''Red (despus)' <Mays>+<T
>

'Insertar' 'Asignacin' <Ctrl>+<A>

'Insertar' 'Salto' <Ctrl>+<L>

'Insertar''Return' <Ctrl>+<R>

'Insertar''Operador' <Ctrl>+<O>

'Insertar''Funcin' <Ctrl>+<F>

'Insertar' 'Bloque de Funciones' <Ctrl>+<B>

'Insertar' 'Entrada' <Ctrl>+<U>

'Herramientas' 'Negacin' <Ctrl>+<N>

'Herramientas' 'Zoom' <Alt>+<Intro>

Comandos del editor de CFC

'Insertar' ''Mdulo' <Ctrl>+<B>

'Insertar' 'Entrada' <Ctrl>+<E>

'Insertar' 'Salida' <Ctrl>+<A>

'Insertar' 'Salto' <Ctrl>+<G>


'Instertar' 'Label' <Ctrl>+<L>

'Insertar' 'Return' <Ctrl>+<R>

'Insertar''Comentario' <Ctrl>+<K>

'Insertar' 'Entrada de mdulo' <Ctrl<+<U>

'Herramientas' 'Negacin' <Ctrl>+<N>

'Herramientas' 'Set/Reset' <Ctrl>+<T>

'Herramientas' 'Conexin' <Ctrl>+<M>

'Herramientas' 'EN/ENO' <Ctrl>+<O>

'Herramientas' 'Zoom' <Alt>+<Intro>

Comandos del editor de LD

'Insertar''Red (despus)' <Mays>+<T


>

'Insertar''Contacto' <Ctrl>+<O>

'Insertar''Contacto paralelo' <Ctrl>+<R>

'Insertar' 'Bloque de Funciones' <Ctrl>+<B>

'Insertar''Bobina' <Ctrl>+<L>
'Herramientas''Insertar debajo' <Ctrl>+<U>

'Herramientas' 'Negacin' <Ctrl>+<N>

Comandos del editor de SFC

'Insertar''Paso de transicin (antes)' <Ctrl>+<T>

'Insertar''Paso de transicin (despus)' <Ctrl>+<E>

'Insertar' 'Ramo alternativo (derecha)' <Ctrl>+<A>

'Insertar' 'Ramo paralelo (derecha)' <Ctrl>+<L>

'Insertar''Salto' (LP) <Ctrl>+<U>

'Herramientas' 'Zoom accin/transicin' <Alt>+<Intro


>

Vuelta de Resumen LP al editor <Intro>

Manejo de la configuracin del PLC

Abrir y cerrar elementos de organizacin <Intro>

Marco de edicin para establecer el nombre <Barra


espaciadora
>

'Herramientas' 'Editar entrada' <Intro>


Manejo de la configuracin de tareas

Marco de edicin para establecer el nombre de la tarea o del <Barra


programa espaciadora
>

TwinCAT PLC Control: Errores de compilacin

Errores de compilacin

A continuacin, se indican los mensajes de error que el analizador (Parser) muestra (en cursiva) y
sus posibles causas:

1500, 3100, 3200, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500

Advertencias

Nmero Mensaje de error Posible causa

1100 no se conoce la Usted utiliza una biblioteca externa. Compruebe que


funcin '<nombre>' todas las funciones que se indican en el archivo .hex
de la biblioteca. tambin estn definidas en el archivo .lib

1101 Smbolo El generador de cdigos espera un mdulo con el


'<smbolo>' no nombre <smbolo>. Este mdulo no est definido en
resuelto el proyecto. Defina una funcin/un programa con el
nombre correspondiente.

1102 Interfaz no vlida El generador de cdigos espera una funcin con el


para el smbolo nombre <smbolo> y exactamente una entrada
'<Smbolo> escalar o un programa con el nombre <smbolo> y
ninguna entrada o salida.

1103 La constante '%s' Una constante de cadena se encuentra ms all del


en la direccin de lmite de pgina de 16K. El sistema no puede
cdigos <%04X manejarlo. Dependiendo del sistema de tiempo de
%04X> se funcionamiento eventualmente existe la posibilidad
encuentra ms all de evitar este problema mediante una entrada en el
de un lmite de archivo de destino. Pngase en contacto con el
pgina de 16K! fabricante de su mando.

1200 Tarea '%s', llamada Las variables que slo se utilizan en una llamada del
de '%s' Las mdulo de funciones en la configuracin de tareas
variables de no se introducen en la lista de referencias cruzadas.
acceso de la lista
de parmetros no
se actualizan

1300 El archivo El archivo al que se refiere el objeto de variable


'<nombre>' no global no existe. Verifique la ruta.
existe

1301 La biblioteca de El usuario utiliza la funcin de anlisis, pero la


anlisis no existe. biblioteca analyzation.lib no existe. Aada la
No se generar el biblioteca en el administrador de bibliotecas.
cdigo para el
anlisis.

1302 Se han aadido Desde el ltimo download el usuario ha incluido una


nuevas funciones biblioteca que contiene funciones que todava no
referenciadas estn referencias en el sistema de tiempo de
externamente. El funcionamiento. Es necesario hacer un download del
Online Change ya proyecto completo.
no es posible!

1400 Se ignora la El compilador no soporta este pragma. Consulte las


directiva de directivas soportadas en la seccin 'Pragma'.
compilacin
desconocida
'<nombre>'!

1401 La estructura La estructura no contiene ningn elemento, pero las


'<nombre>' no variables de este tipo ocupan 1 byte de la memoria.
contiene ningn
elemento.

1500 la expresin no El resultado de esta expresin no se utiliza. Por ello


incluye no se genera ningn cdigo para la expresin
asignaciones. No completa.
se gener cdigo.

1501 la constante de La constante no se puede describir en el tronco del


cadena pas como mdulo, porque no es posible realizar ninguna
VAR_IN_OUT: verificacin de tamaos.
'<nombre>' no se
puede sobrescribir!

1502 La variable Est utilizando una variable que tiene el mismo


'<nombre>' tiene el nombre que un mdulo.
mismo nombre que Ejemplo:
un mdulo. No se PROGRAM a
llama el mdulo! ...
VAR_GLOBAL
a: INT;
END_VAR
...

a; (* No se llama el mdulo a, sino que se carga la


variable a. *)

1503 El mdulo no tiene El usuario vincula el pin de salida de un mdulo sin


salidas, el vnculo salidas en FBD o LD. El vnculo recibe
contina con
TRUE. automticamente el varlor TRUE.

1504 Posiblemente no Bajo ciertas circunstancias no se ejecutan todas las


se ejecuta la ramas de la expresin lgica. Ejemplo:
orden, IF a AND funct(TRUE) THEN ....
dependiendo de la Si a es FALSE, ya no se llama funct.
expresin lgica.

1505 Efecto lateral en La primera entrada del mdulo es FALSE, por ello la
'<nombre'! rama lateral que desemboca en la segunda entrada
Posiblemente la ya no se calcula.
rama no se calcula

1506 La variable '%s' Cambie el nombre de la variable o de la accin para


tiene el mismo asegurarse de que no tienen el mismo nombre.
nombre que una
accin local. La
accin no se llama!

1600 La base de datos Del programa original de Siemens no se desprende


abierta no est qu mdulo de datos est abierto.
clara (el cdigo
generado podra
ser incorrecto).

1700 Entrada no Est utilizando una bandeja de entrada en el CFC


conectada. que no est conectada. Para ello no se crea ningn
cdigo.

1800 Nombre>(elemento El elemento de visualizacin no contiene ninguna


#<nmero de expresin que se pueda monitorizar. Verifique el
elemento>): nombre de la variable y las sustituciones de los
Expresin watch marcadores de posicin.
'<nombre>' no
vlida

1801 Entrada imposible En la configuracin del objeto de visualizacin est


en la expresin. utilizando una expresin combinada como destino de
una accin de entrada. Sustityala mediante una
variable individual.

1900 '<Nombre>' POU El mdulo de entrada (por ejemplo, PLC_PRG) no


(funcin de est disponible al utilizar la biblioteca.
entrada) no est
disponible en la
biblioteca

1901 las variables de Las variables de acceso y de configuracin no se


acceso y de guardan en la biblioteca.
configuracin no se
han guardado en
una biblioteca.

1902 '<Nombre>': El archivo .obj de la biblioteca se ha creado para


Biblioteca no otros tipos de mquinas.
apropiada para el
tipo de mquina
actual!

1903 <Nombre>: El archivo no corresponde al formato de archivo


Biblioteca no vlida necesario del sistema de destino.

Errores de compilacin

Nmero Mensaje de error Posible causa

3100 el cdigo es demasiado Se ha superado el tamao mximo del


extenso. Tamao mximo: programa. Reduzca el tamao del programa.
'<Cantidad>' Bytes
(<Cantidad> K)

3101 el volumen de datos es Se ha agotado la memoria de datos.


demasiado grande. Reduzca la necesidad de archivos de su
Tamao mximo: aplicacin.
'<Cantidad>' Bytes
(<Cantidad> K)

3110 Error en el archivo de El archivo .hex no corresponde al formato


biblioteca '<nombre>'. INTEL Hex.

3111 La biblioteca '<nombre>' es El archivo .hex supera el tamao mximo


demasiado grande. posible.
Tamao mximo: 64K

3112 No se puede reubicar la El archivo.hex contiene una instruccin no


instruccin en la biblioteca. reubicable. El cdigo de la biblioteca no se
puede enlazar.

3113 El cdigo de biblioteca Los mbitos para el cdigo y para las tablas
sobrescribe las tablas de de informacin se solapan.
funcin.

3114 La biblioteca utiliza ms de Las tablas y cdigos contenidos en el archivo


un segmento. .hex utilizan ms de un segmento.

3115 La constante no se puede El formato interno del indicador para


asignar a VAR_IN_OUT. constantes de cadenas no se puede
Tipos de datos convertir al formato interno del indicador de
incompatibles. VAR_IN_OUT, porque los datos se han
definido como "near" y las constantes de
cadenas como "huge" o "far". Si es posible,
modifique estas opciones del sistema de
destino.

3120 El segmento de cdigo El cdigo de sistema generado es superior a


actual sobrepasa los 64K. los 64K. Eventualmente se precisan
demasiados cdigos de inicializacin.

3121 El mdulo es demasiado Un mdulo no puede tener ms de 64K.


grande.

3122 Inicializacin demasiado El cdigo de inicializacin para un mdulo de


grande. Tamao mximo: funcin o una estructura no puede superar
64K los 64K.

3130 Stack de aplicacin La profundidad del juego de la llamada del


demasiado pequea: Se mdulo es demasiado grande. Ample el
necesitan '<cantidad>' tamao del stack en las opciones del sistema
DWORD, hay '<cantidad>' de destino o compile el programa sin la
DWORD disponibles. opcin de compilacin del proyecto 'Debug'.

3131 Stack de usuario Pngase en contacto con el fabricante de su


demasiado pequea: Se mando.
necesitan '<cantidad>'
WORD, hay '<cantidad>'
WORD disponibles.

3132 Stack de sistema Pngase en contacto con el fabricante de su


demasiado pequea: Se mando.
necesitan '<cantidad>'
WORD, hay '<cantidad>'
WORD disponibles.

3150 Parmetro %d de la Utilice una variable intermedia en la cual se


funcin '<nombre>' : El
resultado de una funcin deposite el resultado dela funcin IEC.
IEC no se puede transferir
como parmetro de
cadena de una funcin C.

3160 No se puede abrir el El archivo '<nombre>' necesario para la


archivo de biblioteca biblioteca no existe.
'<nombre>'.

3161 La biblioteca '<nombre>' Un archivo .obj de una biblioteca debe


no contiene ningn contener como mnimo una funcin C.
segmento de cdigo Inserte una funcin dummy en el archivo .obj
que no est definida en el archivo .lib.

3162 No se puede resolver la El archivo .obj contiene una referencia que


referencia en la biblioteca no se puede resolver en otro smbolo.
'<nombre>' (smbolo Compruebe las opciones del compilador C.
'<nombre>' , clase
'<nombre>' , tipo
'<nombre>' )

3163 Tipo de referencia El archivo .obj contiene un tipo de referencia


desconocido en la que no puede resolver el generador de
biblioteca '<nombre>' cdigos. Compruebe las opciones del
(smbolo '<nombre>' , compilador C.
clase '<nombre>' , tipo
'<nombre>' )

3200 <Nombre> (%d): expresin La memoria temporal del sistema de destino


lgica demasiado no es suficiente para el tamao de la
compleja. expresin. Divida la expresin en varias
expresiones parciales con asignaciones a
variables intermedias.
3201 <Nombre> (<red>): una Los saltos internos no se pueden resolver.
red no debe crear ms de Active la opcin "Utilizar offset de salto de 16
512 bytes de cdigo bits " en las opciones de destino de 68k.

3202 Desbordamiento de stack Utiliza una llamada de funcin entrelazada


con llamadas de funcin de de formato CONCAT(x, f(i)). Esto puede
cadena provocar la prdida de datos. Divida la
entrelazada/array/estructur llamada en dos expresiones.
a

3203 Expresin demasiado Divida la asignacin en varias asignaciones.


compleja (se han usado
demasiados registros de
direccin)

3204 Un salto excede los 32k Las distancias entre saltos no deben superar
bytes los 32767 bytes.

3205 Error interno: demasiadas En un mdulo se pueden utilizar como


constantes de cadenas mximo 3000 constantes de cadenas.

3206 Bloque de funcin Un bloque de funcin debe dar como


demasiado grande resultado un cdigo mximo de 32767 bytes.

3207 Optimizacin del array La optimizacin de los accesos de array ha


fallado porque se ha llamado una funcin
durante el clculo del ndice.

3208 No se ha implementado la Est utilizando una funcin de conversin


transformacin que no se ha implementado para el
generador de cdigos actual.

3209 Operador no implementado Utiliza un operador que no se ha


implementado para este tipo de datos en el
generador de cdigos actual:
MIN(string1,string2).

3210 La funcin '<nombre>' no Est llamando a una funcin que no est


existe disponible en el proyecto.

3211 La variable de cadenas se Una variable del tipo cadena slo se puede
utiliza demasiadas veces utilizar 10 veces en una expresin en el
generador de cdigos de 68K.

3250 Real no se soporta en el Actualmente el sistema de destino no est


controlador de 8 bits soportado.

3251 Los tipos 'date of day' no Actualmente el sistema de destino no est


se soportan en el soportado.
controlador de 8 bits

3252 El tamao del stack Actualmente el sistema de destino no est


sobrepasa los %ld bytes soportado.

3253 No se ha encontrado el Actualmente el sistema de destino no est


archivo hex: '<Nombre>' soportado.

3254 No se pudo resolver la Actualmente el sistema de destino no est


llamada a la funcin de soportado.
biblioteca externa.

3400 Se produjo un error al El archivo .exp contiene una seccin de


importar las variables de variables de acceso incorrecta.
acceso.

3401 Se produjo un error al El archivo .exp contiene una seccin de


importar la configuracin variables de configuracin incorrecta.
de variables

3402 Se produjo un error al El archivo .exp contiene una seccin


importar las variables incorrecta para las variables globales.
globales

3403 El <nombre> no se ha La seccin del archivo .exp para el objeto


podido importar indicado es incorrecta.

3404 Se produjo un error al La seccin en el archivo .exp para la


importar la configuracin configuracin de tareas es incorrecta.
de tareas

3405 Se produjo un error al La seccin en el archivo .exp para la


importar la configuracin configuracin de mando es incorrecta.
de mando

3406 Hay dos pasos con el La seccin incluida en el archivo .exp del
nombre '<nombre>' . No se mdulo SFC contiene dos pasos con el
import el segundo paso mismo nombre. Cambie el nombre de uno de
los pasos en el archivo de exportacin.

3407 El paso de entrada En el archivo .exp falta el paso mencionado.


'<nombre>' no existe

3408 El paso subsiguiente En el archivo .exp falta el paso mencionado.


'<nombre>' no existe

3409 No hay ninguna transicin En el archivo .exp falta una transicin que el
sucesiva para el paso paso mencionado necesita como paso de
'<nombre>' entrada.
3410 No hay ninguna transicin En el archivo .exp falta un paso que es
sucesiva para la transicin necesario para la transicin mencionada
'<nombre>'

3411 El paso '<nombre>' no es En el archivo .exp falta el vnculo entre el


alcanzable por el paso paso mencionado y el paso inicial.
inicial (Init)

3450 <Nombre> PDO: <Nombre Haga clic sobre el botn Propiedades en el


de mdulo> <Nombre de dilogo de configuracin <nombre del
dilogo de configuracin> dilogo de configuracin> del mdulo
-<Nombre PDO > Falta el <nombre de mdulo> e introduzca un ID de
ID de COB! COB para el PDO <nombre de PDO >.

3451 Error al cargar: El archivo El archivo de dispositivo necesario para la


EDS '<nombre>' no existe, configuracin CAN eventualmente no se
pero se utiliza en la encuentra en el directorio correcto.
configuracin! Comprubelo de acuerdo con la entrada de
directorio para los archivos de configuracin
en 'Proyecto' 'Opciones' 'Directorios'.

3452 El mdulo '<nombre>' no El archivo de dispositivo para el mdulo


se ha podido crear! <nombre> ya no coincide con la
configuracin existente. Eventualmente se
ha modificado desde la creacin de la
configuracin o bien est corrupto.

3453 El canal '<nombre>' no se El archivo de dispositivo para el canal


ha podido crear! <nombre> ya no coincide con la
configuracin existente. Eventualmente se
ha modificado desde la creacin de la
configuracin o bien est corrupto.

3454 La direccin '<nombre>' Ha activado la opcin 'Comprobar


se refiere a un rea de intersecciones de direccin en el dilogo de
memoria ocupada! Opciones de la configuracin de mando y se
ha detectado una interseccin. Tenga en
cuenta que la base de la comprobacin del
rea es el tamao que se obtiene segn el
tipo de datos del mdulo y no el valor de la
entrada 'size' en el archivo de configuracin!

3455 Error al cargar: El archivo El archivo de dispositivo necesario para la


GSD '<nombre>' no existe, configuracin del Profibus eventualmente no
pero se utiliza en la se encuentra en el directorio correcto.
configuracin! Consulte la entrada para los archivos de
configuracin en 'Proyecto' 'Opciones'
'Directorios'.

3456 El dispositivo Profibus El archivo de dispositivo para el dispositivo


'<nombre>' no se ha <nombre> ya no coincide con la
podido crear! configuracin existente. Eventualmente se
ha modificado desde la creacin de la
configuracin o bien est corrupto.

3457 Descripcin de mdulo Compruebe el archivo de dispositivo


errnea: '<nombre>'! perteneciente al mdulo.

3500 Ningn VAR_CONFIG para Inserte una declaracin para la variable


'<nombre>' mencionada en la lista de variables global
que contiene la 'configuracin de variables'.

3501 Ninguna direccin en Inserte una direccin para la variable


VAR_CONFIG para mencionada en la lista de variables global
'<nombre>' que contiene la 'configuracin de variables'.

3502 Tipo de datos de La variable mencionada est declarada en la


'<nombre>' errneo en lista de variables globales que contiene la
VAR_CONFIG configuracin de variables con un tipo de
datos distinto al del mdulo de funciones.

3503 Tipo de direccin errneo La variable mencionada est declarada en la


de '<nombre>' en lista de variables globales que contiene la
VAR_CONFIG configuracin de variables con un tipo de
direccin distinto al del mdulo de funciones.

3504 No se admiten valores Una variable de la configuracin de variables


iniciales para las variables se ha declarado con direccin y valor inicial.
VAR_CONFIG Sin embargo, los valores iniciales slo se
pueden definir en variables de entrada sin
asignacin de direccin.

3505 El <nombre> no es En la configuracin de variables se ha


ninguna ruta de instancia indicado una variable que no existe.
vlida

3506 Ruta de acceso esperada En la lista global de variables para las


variables de acceso falta una ruta de acceso
correcta para una variable:
<Denominador>:'<ruta de acceso>':<tipo>
<clase de acceso>

3507 Sin especificacin de En la lista global de variables para las


direccin para variables variables de acceso existe una asignacin de
VAR_ACCESS direccin para una variable.
Definicin vlida: <Denominador>:'<ruta de
acceso>':<tipo> <clase de acceso>

3550 El nombre de tarea Ha definido dos tareas con el mismo nombre.


'<nombre>' se ha utilizado Cambie el nombre de una de ellas.
dos veces
3551 La tarea '<nombre>' debe Inserte una llamada de programa o borre la
contener como mnimo una tarea.
llamada de programa

3552 Variable de evento En la configuracin de la tarea mencionada


'<nombre>' no definida en ha utilizado una variable de evento que no se
la tarea '<nombre>' ha declarado globalmente en el proyecto.
Utilice otra variable o defina la variable
introducida de forma global.

3553 La variable de evento Utilice una variable del tipo booleano como
'<nombre>' de la tarea variable de evento.
'<nombre>' debe ser del
tipo booleano

3554 La entrada de tarea En el campo llamada de programa ha


'<nombre>' debe ser un introducido una funcin o un mdulo no
programa o una instancia definido.
de bloque de funciones
global

3555 La entrada de tarea En el campo llamada de programa ha


'<nombre>' est mal indicado unos parmetros que no coinciden
parametrizada con la declaracin del mdulo.

3600 La variable implcita no Utilice primero el comando 'Compilar todo'.


existe. Si vuelve a aparecer el mensaje de error,
pngase en contacto con el fabricante de su
mando.

3601 <Nombre> es un nombre Ha declarado una variable en el proyecto


de variable reservado que ya est reservada para el generador de
cdigos. Cambie el nombre de esta variable.
3610 '<Nombre>' no se soporta La prestacin indicada no se soporta en esta
versin.

3611 El directorio de Ha introducido un directorio no vlido para


compilacin '<nombre>' no los archivos de compilacin en las opciones
es vlido de proyecto/directorios.

3612 Se ha superado la Est utilizando demasiados mdulos y tipos


cantidad mxima de de datos en el proyecto. Modifique la
mdulos (<cantidad>)! Se cantidad mxima de mdulos en las
cancela la compilacin. opciones del sistema de destino / distribucin
de memoria.

3613 Compilacin cancelada Compilacin cancelada por el usuario.

3614 El proyecto no contiene Un proyecto necesita una funcin de entrada


ningn mdulo '<nombre>' del tipo Programa (por ejemplo, PLC_PRG) o
(funcin de entrada) ni una configuracin de tareas.
configuracin de tareas

3615 <Nombre> (funcin de Est utilizando una funcin de entrada (p.ej.


entrada) debe ser del tipo PLC_PRG) que no es del tipo Programa.
Programa

3616 Los programas de las La biblioteca a guardar contiene un


bibliotecas externas no se programa. Este programa no est disponible
soportan cuando se utiliza la biblioteca.

3617 Memoria insuficiente Aumente la capacidad virtual de la memoria


de su ordenador.

3618 Los accesos de bits no El generador de cdigos del sistema de


estn soportados por el destino instalado actualmente no soporta
generador de cdigos ningn acceso de bits para las variables.
actual

3700 Ya hay un mdulo con el Est utilizando un nombre de mdulo que ya


nombre '<nombre>' en la est adjudicado para un mdulo de
biblioteca '< nombre >' biblioteca. Cambie el nombre del mdulo.

3701 El nombre de mdulo en el Renombre su Mdulo mediante el comando


nombre de declaracin no de men 'Proyecto' 'Renombrar objeto', o
coincide con el de la lista modifique el nombre de la parte de
de objetos declaracin del Mdulo. El nombre se tiene
que situar directamente despus de las
claves PROGRAM, FUNCTION o
FUNCTIONBLOCK.

3702 Demasiados Por cada declaracin de variable se pueden


identificadores indicar como mximo 100 identificadores.

3703 Hay varias declaraciones En la parte de declaracin del objeto existen


con el mismo identificador varios identificadores con el mismo nombre.
'< nombre >'

3704 Recursin de datos: Se ha utilizado una intancia de mdulo de


<Mdulo 0> -> <Mdulo 1> funciones que se necesita a s misma.
-> .. -> <Mdulo 0>

3720 Despus de 'AT' debe Inserte una direccin vlida despus de la


haber una direccin palabra clave AT o modifique la palabra clave
AT.

3721 Slo VAR y VAR_GLOBAL Copie la declaracin a un rea VAR o


pueden ubicarse en VAR_GLOBAL.
direcciones
3722 Slo se permiten variables Modifique la direccin o el tipo de variable
booleanas en direcciones indicado en la declaracin.
de bit

3729 Tipo '<nombre>' no El tipo de esta variable no se puede ubicar


permitido en la direccin: en la direccin indicada. Ejemplo: Para un
'<Nombre>' sistema de destino que trabaja con
Alignment 2, la siguiente declaracin no es
vlida: var1 AT %IB1:WORD;

3740 Tipo desconocido: Est utilizando un tipo no vlido para la


'<Nombre>' declaracin de variables.

3741 Denominador de tipo Est utilizando una clave o un operador en


esperado vez de un denominador de tipo vlido.

3742 Valor de enumeracin En la definicin del tipo de enumeracin falta


esperado un denominador tras el parntesis abierto o
tras una coma dentro del parntesis.

3743 Nmero entero esperado Los valores de enumeracin slo se pueden


iniciar con nmeros enteros del tipo INT.

3744 Constante Enum Compruebe si se han tenido en cuenta las


'<nombre>' ya definida siguientes reglas en la adjudicacin de
valores de enumeracin:
- Dentro de una definicin Enum todos los
valores deben ser unvocos.
- Dentro de todas las definiciones Enum
globales todos los valores deben ser
unvocos.
- Dentro de todas las definciones Enum
locales de un mdulo todos los valores
deben ser unvocos.

3745 Los lmites de rea slo se Slo se pueden definir tipos de subrea
permiten para los tipos de sobre la base de tipos de datos enteros.
datos enteros

3746 El lmite de rea Un lmite del rea indicada para los tipos de
'<nombre>' no es subrea se encuentra fuera de los lmites
compatible con el tipo de permitidos para los tipos bsicos.
datos '<nombre>'

3747 Longitud de cadena Est utilizando una constante desconocida


desconocida: '<Nombre>' para la definicin de la longitud de la cadena.

3748 No se permiten ms de 3 Est utilizando ms de las 3 dimensiones


dimensiones para un array permitidas para un array. Utilice en caso
necesario un ARRAY OF ARRAY.

3749 Lmite inferior '<nombre>' Est utilizando una constante no definida


desconocido como lmite inferior de un tipo de subrea o
de array.

3750 Lmite superior '<nombre>' Est utilizando una constante no definida


desconocido como lmite superior de un tipo de subrea o
de array.

3760 Valor inicial errneo Utilice un valor inicial que coincida con la
definicin de tipo. Puede utilizar el dilogo de
declaracin de variable (Mays/F2 o 'Edicin
'Declaracin de variables').

3761 Las variables Elimine la inicializacin en la declaracin de


VAR_IN_OUT no deben variables.
tener un valor inicial.

3780 VAR, VAR_INPUT, La primera lnea despus del nombre de un


VAR_OUTPUT o mdulo tiene que contener una de estas
VAR_IN_OUT esperado palabras clave.

3781 END_VAR o identificador Escriba un identificador vlido o END_VAR al


esperado principio de la lnea de declaracin.

3782 Fin inesperado En la parte de declaracin: inserte al final de


la parte de declaracin la palabra clave
END_VAR.
En el editor de texto: inserte instrucciones
que terminen la ltima secuencia de
instrucciones (por ejemplo, END_IF).

3783 END_STRUCT o Asegrese de que la declaracin del tipo


denominador esperado est bien cerrada.

3800 Las variables globales Aumente la cantidad de segmentos


necesitan demasiada configurada en las opciones del proyecto, en
memoria. Aumente la el mbito de las opciones de compilacin.
memoria disponible en las
opciones del proyecto

3801 La variable '<nombre>' es La variable utiliza un tipo que es mayor que 1


demasiado grande. segmento de datos. El tamao del segmento
(<Tamao> Bytes) se puede configurar, dependiendo del
sistema de destino, en las opciones del
sistema de destino / la distribucin de
memoria. Si no encuentra ninguna
posibilidad de entrada en estos puntos,
pngase en contacto con el fabricante de su
mando.

3802 Sin memoria para variable El espacio de memoria disponible para las
Retain. Variable variables Retain est agotado. Dependiendo
'<nombre>', %u Bytes. del sistema de destino, se puede configurar
en las opciones del sistema de destino / la
distribucin de la memoria. Si no encuentra
ninguna posibilidad de entrada en estos
puntos, pngase en contacto con el
fabricante de su mando. (Tenga en cuenta
que en las instancias de bloques de
funciones en las que se utiliza una variable
Retain toda la instancia se administra en la
memoria Retain!)

3803 Se ha agotado la memoria El espacio de memoria disponible para las


para las variables globales. variables globales se ha agotado.
Variable '<nombre>', Dependiendo del sistema de destino, se
'<cantidad>' bytes. puede configurar en las opciones del sistema
de destino / la distribucin de la memoria.

Si no encuentra ninguna posibilidad de


entrada en estos puntos, pngase en
contacto con el fabricante de su mando.

3820 No se permite No puede definir ningn parmetro de


VAR_OUTPUT ni referencia/de salida en una funcin.
VAR_IN_OUT en funciones

3821 Se requiere al menos una No puede definir ningn parmetro de


entrada para las funciones referencia/de salida en una funcin.

3840 Variable '<nombre>' global Est utilizando en el mdulo una variable


desconocida! VAR_EXTERNAL para la cual no hay
ninguna variabla global declarada.

3841 La declaracin de La indicacin del tipo de declaracin de la


'<nombre>' no coincide con variable VAR_EXTERNAL no coincide con la
la declaracin global de la declaracin global.

3900 Varios guiones bajos en el Elimine varios guiones del nombre del
identificador identificador.

3901 Se admiten mx. 4 campos Est utilizando una asignacin de direccin


de direccin directa para una direccin que tiene ms de
cuatro niveles (p.ej. %QB0.1.1.0.1).

3902 Las palabras clave se Escriba la palabra clave en maysculas o


tienen que escribir con active la opcin 'Formatear
mayscula automticamente'.

3903 Constante de tiempo no La constante no se ha indicado segn el


vlida formato IEC61131-3.

3904 Desbordamiento en Est utilizando un valor para la constante de


constante de duracin tiempo que ya no se puede representar en el
formato interno. El valor mximo
representable es t#49d17h2m47s295ms.

3905 Constante de fecha no La constante no se ha indicado segn el


vlida formato IEC61131-3.

3906 Constante de da no vlida La constante no se ha indicado segn el


formato IEC61131-3.

3907 Costante de fecha/tiempo La constante no se ha indicado segn el


no vlida formato IEC61131-3.

3908 Constante de cadena no La constante de cadena contiene un carcter


vlida no vlido.

4000 Identificador esperado Indique un identificador vlido en esta


posicin.

4001 Variable '<nombre>' no Declare la variable de forma local o global.


declarada

4010 Tipos incompatibles: El Compruebe los tipos necesarios del


'<nombre>' no se puede operador (busque el operador en su archivo
convertir en '<nombre>'. de ayuda) y modifique el tipo de variable que
ha producido el error a un tipo permitido, o
seleccione otra variable.

4011 Tipo no permitido en El tipo del parmetro actual no se puede


parmetro <parmetro> de transferir en el del parmetro formal. Utilice
'<nombre>' : El '<nombre>' una conversin de tipo o utilice el
no se puede convertir en correspondiente tipo de variable.
'<nombre>'.

4012 Tipo no permitido para la A la variable <Nombre> se le asigna un


entrada '< nombre >' de '< valor con el tipo no permitido <Tipo2>.
nombre >' : El '<nombre>' Modifique la variable o la constante de una
no se puede convertir en variable o constantes con el tipo <tipo1> o
'<nombre>'. utilice una conversin de tipo o una
constante con prefijo de tipo.

4013 Tipo no permitido para la A la variable <Nombre> se le asigna un


salida '< nombre >' de '< valor con el tipo no permitido <Tipo2>.
nombre >' : El '<nombre>' Modifique la variable o la constante de una
no se puede convertir en variable o constantes con el tipo <tipo1> o
'<nombre>'. utilice una conversin de tipo o una
constante con prefijo de tipo.

4014 La constante con prefijo de El tipo de las constantes no es compatible


tipo: '<nombre>' no se con el tipo del prefijo.
puede convertir en Ejemplo: SINT#255
'<nombre>'

4015 Tipo de datos no permitido La adjudicacin directa de direcciones de


'< nombre >' para un bits slo est permitida para tipos de datos
acceso de bit directo enteros y de cadenas de bits. Est utilizando
en el acceso de bits <var1>.<bit> una
variable var1 del tipo REAL/LREAL o una
constante.

4016 ndice de bits '<%d>' fuera Ha intentado acceder a un bit que no est
del mbito vlido para la definido para el tipo de datos de la variable.
variable del tipo
'<nombre>'

4017 MOD no est definido en El operador MOD slo puede utilizarse para
REAL tipos de datos enteros y de cadenas de bits.

4020 Los operandos de TE, Sustituya los primeros operandos con una
STN, S, R tienen que ser variable en la que se pueda escribir.
variables con acceso de
escritura

4021 Ningn acceso de escritura Sustituya la variable por una con acceso de
a '<nombre>' escritura.

4022 Operando esperado Complete un operando detrs del comando


existente.
4023 Despus de '+' o '-' se Introduzca un nmero.
espera un nmero

4024 <Operador 0> esperado o Introduzca un operador vlido en la posicin


<Operador 1> o ... antes indicada.
de '<nombre>'

4025 Esperado ':=' o '=>' antes Introduzca uno de los dos operadores en la
de '<nombre>' posicin indicada.

4026 BITADR espera una Utilice una direccin de bits vlida (p.ej.
direccin de bits o una %IX0.1).
variable de una direccin
de bits

4027 Nmero entero o constante Inserte un nmero entero o el identificador


simblica esperados de una constante vlida.

4028 El operador INI necesita Compruebe el tipo de la variable en la cual


una instancia de bloque de utiliza el operador INI.
funciones o una variable
de estructura

4029 No se admiten llamadas En los sistemas de destino no reentrantes y


entrelazadas de la misma en el modo de simulacin, una llamada de
funcin. funcin no puede contener ninguna llamada
a s misma como parmetro.
Ejemplo: fun1(a,fun1(b,c,d),e);
Utilice una variable intermedia.

4030 Como operandos de ADR Sustituya la constante o la expresin por una


no se permite ninguna variable o una direccin directa.
constante ni expresin
4031 El operador de direccin Utilice BITADR. Recuerde: BITADR no
no se permite en bits! En devuelve ninguna direccin de memoria
vez de ello, utilice BITADR fsica

4032 '<Cantidad>' operandos Compruebe cuntos operandos del operador


son demasiado pocos para '<nombre>' se necesitan, y agregue los que
'<nombre>'. Como mnimo falten.
se necesitan '<cantidad>'

4033 '<Cantidad>' operandos Compruebe cuntos operandos necesita el


son demasiados para operador '<nombre>', y elimine los que
'<nombre>'. Se necesitan sobren.
slo '<cantidad>'

4034 Divisin entre 0 Est utilizando una divisin entre 0 en una


expresin constante. Utilice en caso
necesario una variable con el valor 0 para
forzar un error de tiempo de ejecucin.

4035 ADR no se puede utilizar No es posible un acceso de direccin a


en 'VAR CONSTANT' si constantes para las cuales se utilizan valores
'Sustituir constantes' est directos. En caso necesario, desactive la
activado opcin 'Sustituir constantes' en las opciones
de proyecto, categora de opciones de
compilacin.

4040 La etiqueta <LabelName> Defina una marca con el nombre


no est definida <LabelName> o modifique <LabelName> de
una marca definida.

4041 Definicin mltiple de la La etiqueta '<nombre>' tiene una definicin


etiqueta '<nombre>' mltiple en el mdulo. Cambie el nombre de
una definicin o elimnela.
4042 Como mximo puede La cantidad de etiquetas por instruccin se
haber '<cantidad>' limita a '<cantidad>'. Inserte una instruccin
etiquetas en una secuencia dummy.

4043 Formato de etiqueta no El nombre utilizado para la etiqueta no es un


vlido. Una etiqueta debe identificador vlido o bien faltan dos puntos
ser un identificador que en la definicin.
puede ir seguido de dos
puntos.

4050 El mdulo '<nombre>' no Defina un mdulo con el nombre '<nombre>'


existe en el proyecto mediante el comando de men 'Proyecto'
'Agregar objeto' o modifique el '<nombre>' en
el nombre de un mdulo definido

4051 '<Nombre>' no es ninguna Utilice uno de los nombres de funcin


funcin definidos en el proyecto o en las bibliotecas
para '<nombre>'.

4052 '<Nombre de instancia>' Para <nombre de instancia> utilice una


debe ser una instancia instancia definida en el proyecto del tipo
declarada del bloque de '<nombre>' o modifique el tipo de <nombre
funciones '<nombre>' de instancia> a '<nombre>'.

4053 <Nombre> no es un Sustituya '<nombre>' por el nombre de un


mdulo u operador vlido mdulo u operador definido en el proyecto.

4054 Nombre de mdulo El parmetro indicado no es un nombre de


esperado como parmetro mdulo vlido.
de 'INDEXOF'

4060 El parmetro VAR_IN_OUT Se deben transferir variables con acceso de


'<nombre>' de '<nombre>' escritura al parmetro VAR_IN_OUT, dado
precisa una variable con que estas variables se pueden modificar
acceso de escritura como dentro del mdulo.
entrada.

4061 El parmetro VAR_IN_OUT Los parmetros VAR_IN_OUT deben


'<nombre>' de '<nombre>' ocuparse con variables con acceso de
debe estar ocupado. escritura, porque se pueden modificar dentro
del mdulo.

4062 Ningn acceso al Los parmetros VAR_IN_OUT slo pueden


parmetro VAR_IN_OUT escribirse o leerse desde dentro del mdulo,
'<nombre>' de '<nombre>' porque se trata de una transferencia de
desde fuera. referencias.

4063 El parmetro VAR_IN_OUT Una direccin de bits no es ninguna


'<nombre>' de '<nombre>' direccin fsica. Transfiera una variable o una
no se puede ocupar con direccin no de bits directa.
direcciones de bits.

4064 VAR_IN_OUT no se puede Borre la ocupacin de la variable


sobrescribir en la llamada VAR_IN_OUT para la llamada de accin
de accin local! local.

4070 Un mdulo contiene una Reduzca la profundidad del juego,


expresin demasiado redistribuyendo la expresin en varias
compleja. expresiones con la ayuda de asignaciones
de variables intermedias.

4071 La red es demasiado Divida la red en varias redes.


compleja

4100 '^' necesita un tipo de Ha intentado diferenciar una variable que no


puntero est declarada como POINTER TO.
4110 '[<ndice>]' slo se admite Est utilizando [<ndice>] para una variable
para variables de array que no est declarada como ARRAY OF.

4111 La expresin en el ndice Utilice una expresin del tipo


de un array tiene que tener correspondiente o una conversin de tipos.
un resultado del tipo INT

4112 Demasiados ndices de Compruebe el nmero de ndices (1, 2 3)


array para el que se ha declarado el array y quite
los que sobran.

4113 Demasiados pocos ndices Compruebe el nmero de ndices (1, 2 3)


de array para el que se ha declarado el array y
complete los que faltan.

4114 Uno de los ndices de Asegrese de que el ndice utilizado se


constantes no est dentro encuentra dentro de los lmites del array.
del rango de array

4120 Antes de '.' se tiene que El identificador a la izquierda del punto debe
encontrar una variable de ser una variable del tipo STRUCT o
estructura FUNCTION_BLOCK o debe ser un nombre
de FUNCTION o de PROGRAM.

4121 '<Nombre>' no es ningn El componente '<nombre>' no est contenido


componente de <nombre en la definicin del objeto <nombre de
de objeto> objeto>.

4122 <Nombre> no es un Compruebe las variables de entrada del


parmetro de entrada del bloque de funciones al que se ha llamado y
bloque de funciones modifique <Nombre> de una de estas
llamado variables
4200 LD esperado Inserte como mnimo una instruccin LD en
la ventana del editor del mdulo IL o tras la
etiqueta.

4201 Operador IL esperado Cada instruccin IL debe empezar con un


operador o una etiqueta.

4202 Fin inesperado de la Inserte el parntesis de cierre.


expresin entre parntesis

4203 <Nombre> entre parntesis El operador indicado no est permitido


no est permitido dentro de una expresin IL entre parntesis.
(no se permiten: 'JMP', 'RET', 'CAL', 'LDN',
'LD', 'TIME')

4204 Parntesis de cierre sin su Inserte el parntesis inicial o borre el final.


correspondiente parntesis
de apertura

4205 Despus de ')' no se Elimine la coma detrs del parntesis final.


admite ninguna coma

4206 No se permiten etiquetas Desplace la etiqueta de forma que quede


dentro de expresiones fuera de la expresin entre parntesis.
entre parntesis

4207 El modificador 'N' requiere El modificador N requiere un tipo de datos


un operando del tipo para el cual se pueda ejecutar una negacin
BOOL,BYTE,WORD o booleana.
DWORD

4208 La expresin delante de un Asegrese de que la expresin devuelve un


operador condicional tiene resultado booleano o utilice una conversin
que dar un resultado del de tipos.
tipo booleano

4209 En este punto no se admite Sustituya la llamada a funciones por una


ningn nombre de funcin variable o una constante.

4210 'CAL', 'CALC' y 'CALN' Declare una instancia del bloque de


precisan una instancia de funciones al que desea llamar.
bloques de funcin como
operando

4211 Comentario en IL slo se Desplace el comentario al final de la lnea o


admite al final de la lnea a una lnea propia.

4212 El acumulador no es vlido El contenido del acumulador no est


antes de una instruccin definido. Esto ocurre despus de
condicional instrucciones que no devuelven ningn
resultado (p.ej. 'CAL').

4213 'S' y 'R' amplan un Utilice una variable booleana en esta


operando del tipo BOOL posicin.

4250 Ningn inicio correcto para La lnea no empieza con una instruccin ST
una instruccin ST. vlida.

4251 La funcin '<nombre>' Se han indicado ms parmetros que los


tiene demasiados declarados en la definicin de la funcin.
parmetros

4252 La funcin '<nombre>' Se han indicado menos parmetros que los


tiene demasiado pocos declarados en la definicin de la funcin.
parmetros
4253 'IF' y 'ELSIF' precisan una Asegrese de que la condicin posterior a un
expresin booleana como 'IF' es una expresin booleana.
condicin

4254 'WHILE' precisa como Asegrese de que la condicin posterior a un


condicin una expresin 'WHILE' es una expresin booleana.
booleana

4255 'UNTIL' precisa como Asegrese de que la condicin posterior a un


condicin una expresin 'UNTIL' es una expresin booleana.
booleana

4256 NOT exige un operando Asegrese de que la condicin posterior a un


booleano 'NOT' es una expresin booleana.

4257 El contador de la Asegrese de que la variable de conteo es


instruccin 'FOR' debe ser un tipo de datos entero o de cadena de bits
del tipo INT (p.ej. DINT, DWORD).

4258 El contador en la Sustituya la variable de conteo por una


instruccin 'FOR' no es variable con acceso de escritura.
una variable con acceso de
escritura

4259 El valor inicial de la El valor inicial de la instruccin 'FOR' debe


instruccin 'FOR' debe ser ser compatible con el tipo de la variable de
del tipo INT conteo.

4260 El valor final de la El valor final de la instruccin 'FOR' debe ser


instruccin 'FOR' debe ser compatible con el tipo de la variable de
del tipo INT conteo.

4261 El valor de incremento de El valor de incremento de la instruccin


la instruccin 'FOR' debe 'FOR' debe ser compatible con el tipo de la
ser del tipo INT variable de conteo.

4262 'EXIT' slo se permite Utilice 'EXIT' slo dentro de instrucciones


dentro de un bucle 'FOR', 'WHILE' o 'UNTIL'.

4263 Nmero, 'ELSE' o Dentro de un 'CASE' slo se puede indicar


'END_CASE' esperado un numro o una instruccin 'ELSE' o la
instruccin final 'END_CASE'.

4264 El selector de la instruccin Asegrese de que el selector es un tipo de


CASE tiene que ser del datos entero o de cadena de bits (p.ej. DINT,
tipo INT DWORD).

4265 Despus de ',' se espera En la enumeracin de selectores CASE se


un nmero debe indicar otro selector despus de una
coma.

4266 Se necesita por lo menos Introduzca una instruccin, como mnimo un


una instruccin punto y coma.

4267 Una llamada de un mdulo El identificador de la llamada del mdulo de


de funciones tiene que funcin no es ninguna instancia. Declare una
empezar con el nombre de instancia del mdulo de funciones deseado o
una instancia utilice el nombre de una instancia ya
declarada.

4268 Se espera una expresin En esta posicin se debe introducir una


expresin.

4269 Tras la rama 'ELSE' se Cierre la instruccin 'CASE' tras la rama


espera 'END_CASE' 'ELSE' con 'END_CASE'.
4270 La constante 'CASE' '%ld' Un selector 'CASE' slo se puede utilizar una
ya se utiliza vez dentro de una instruccin 'CASE'.

4271 El margen inferior del Corrija los mrgenes de los selectores de


rango es mayor que el forma que el lmite inferior no sea mayor que
margen superior. el lmite superior.

4272 Se espera el parmetro Si utiliza el parmetro de funcin en la


'<nombre>' en la posicin llamada de funcin indicando los nombres de
<posicin> en la llamada parmetros, la posicin del parmetro
de '<nombre>' (secuencia) debe coincidir con la de la
definicin de la funcin.

4273 El rea CASE '<lmites de Asegrese de que los mbitos de selectores


rea>' se interfiere con el indicados en la instruccin CASE no se
rea ya utilizada '<lmites interfieran.
de rea>'

4274 Rama 'ELSE' mltiple en Una instruccin CASE no puede contener


instruccin CASE ms de una rama 'ELSE'.

4300 Salto o Return necesitan Asegrese de que la entrada para el salto o


una entrada booleana la instruccin de Return es una expresin
booleana.

4301 El mdulo '<nombre>' La cantidad de entradas no coincide con la


solicita exactamente cantidad de variables VAR_INPUT y
'<cantidad>' entradas VAR_IN_OUT indicadas en la definicin del
mdulo.

4302 El mdulo '<nombre>' La cantidad de entradas no coincide con la


solicita exactamente cantidad de variables VAR_OUTPUT
'<cantidad>' salidas indicadas en la definicin del mdulo.
4303 <Nombre> no es ningn Sustituya '<nombre>' por un operador vlido.
operador

4320 Expresin no booleana La seal de contacto para un contacto debe


'<nombre>' utilizada en el ser una expresin booleana.
contacto

4321 Expresin no booleana La variable de salida de una bobina debe ser


'<nombre>' utilizada en del tipo BOOL.
bobina

4330 Se espera una expresin Conecte la entrada EN del mdulo


en la entrada 'EN' del '<nombre>' con una entrada o una expresin.
mdulo '<nombre>'

4331 Se espera una expresin La entrada del mdulo del operador no se ha


en la entrada conectado.
'<cantidad>'%d del mdulo
'<nombre>'

4332 Se espera una expresin La entrada del mdulo es del tipo


en la entrada '<nombre>' VAR_IN_OUT y no est conectada.
del mdulo '<nombre>'

4333 Identificador en salto El destino del salto no es un identificador


esperado vlido.

4334 Se espera una expresin Conecte la entrada del salto con una
en la entrada del salto expresin booleana. Si es TRUE, se ejecuta
el salto.

4335 Se espera una expresin Conecte la entrada de la instruccin Return


en la entrada de Return con una expresin booleana. Si es TRUE, se
ejecuta el salto.

4336 Se espera una expresin Vincule la salida con la expresin que se


en la entrada de la salida pueda asignar a esta salida.

4337 Identificador para entrada Inserte una expresin o identificador vlidos


esperado en el box de entrada.

4338 El mdulo '<nombre>' no Ninguna de las entradas del mdulo del


tiene ninguna entrada real operador '<nombre>' est conectada con una
expresin vlida.

4339 Tipos incompatibles en la La expresin del box de salida no tiene un


salida: El '<nombre>' no se tipo compatible con la expresin que se le
puede convertir en debe asignar.
'<nombre>'.

4340 El salto requiere una Asegrese de que la entrada para el salto es


entrada booleana una expresin booleana.

4341 Return requiere una Asegrese de que la entrada para la


entrada booleana instruccin Return es una expresin
booleana.

4342 La entrada 'EN' del box Vincule la entrada EN del mdulo con una
requiere una entrada expresin booleana vlida.
booleana

4343 Valores de constantes: Ha declarado la entrada '<nombre>' del


Tipo no permitido para mdulo '<nombre>' como VAR_INPUT
parmetro '<nombre>' de CONSTANT. Pero le ha asignado una
'<nombre>': No se puede expresin en el dilogo 'Edicin parmetros'
convertir '<tipo>' en que tiene un tipo no compatible.
'<tipo>'.

4344 'S' y 'R' precisan Fije una expresin booleana vlida detrs de
operandos booleano la instruccin Set o Reset.

4345 Tipo no permitido para Ha asignado una instruccin a la entrada


parmetro '<nombre>' de '<nombre>' del mdulo '<nombre>' que tiene
'<nombre>': No se puede un tipo no compatible.
convertir '<tipo>' en
'<tipo>'.

4346 Una salida no puede ser El objetivo de una asignacin debe ser una
una constante variable o una direccin directa con acceso
de escritura.

4347 El parmetro VAR_IN_OUT Se deben transferir variables con acceso de


precisa una variable con escritura al parmetro VAR_IN_OUT, dado
acceso de escritura que estas variables se pueden modificar
dentro del mdulo.

4350 Una accin SFC no puede Las acciones SFC slo pueden llamarse
llamarse desde fuera dentro del mdulo SFC en las que estn
definidas.

4351 El nombre de paso no es Cambie el nombre del paso y seleccione un


un identificador admisible: identificador vlido para el nombre.
'<Nombre>'

4352 Caracteres no permitidos Borre los caracteres no permitidos en el


tras el nombre de paso nombre del paso.
permitido:'<nombre>'

4353 Nombres de paso dobles: Cambie el nombre de uno de los pasos.


'<Nombre>'

4354 Salto a paso no definido: Seleccione como destino del salto un


'<Nombre>' nombre de paso existente o inserte un paso
con el nombre todava no definido.

4355 Una transicin no debe Una transicin slo puede contener una
tener efectos secundarios expresin booleana.
(asignaciones, llamadas
FB, etc.)

4356 Salto sin nombre de paso Utilice un identificador vlido como destino
vlido: '<Nombre>' del salto.

4357 No se encontr la Compruebe si en el administrador de la


biblioteca IEC biblioteca se ha incluido la biblioteca
iecsfc.lib y si las rutas de las bibliotecas
introducidas en las opciones del proyecto
son correctas.

4358 Accin no declarada: Ocpese de que la accin del paso IEC se


'<Nombre>' haya insertado en el Object Organizer bajo el
mdulo SFC y el nombre de la accin se
introduce en la casilla a la derecha del
cualificador.

4359 Cualificador no vlido: Introduzca un cualificador para la accin IEC


'<Nombre>' en la casilla a la izquierda junto al nombre de
la accin.

4360 Constante de tiempo Introduzca una constante de tiempo para la


esperada despus de accin IEC en la casilla a la izquierda detrs
cualificador: '<Nombre>' del cualificador.
4361 El identificador '<nombre>' Introduzca el nombre de una accin definida
no define ninguna accin en el proyecto o una variable booleana para
la accin IEC en la casilla a la derecha del
cualificador.

4362 Expresin no booleana Introduzca una variable booleana o un


utilizada en la accin: nombre de accin vlido.
'<Nombre>'

4363 El nombre del paso IEC ya Cambie el nombre del paso o de la variable.
est en uso para la
variable: '<Nombre>'

4364 Una transicin debe ser El resultado de la expresin de la transicin


una expresin booleana debe ser del tipo BOOL.

4365 El paso '<nombre>' tiene Abra el dilogo de atributos de pasos para el


un valor de lmites de paso '<nombre>' e introduzca las variables o
tiempo incorrecto constantes de tiempo vlidas.

4366 La marca para el paso Introduzca un identificador permitido junto al


paralelo no es un tringulo que seala la etiqueta.
identificador permitido:
'<Nombre>'

4367 La marca '<nombre>' ya Ya ha identificado una etiqueta o un paso


existe con este nombre. Cambie el nombre.

4368 La accin '<nombre>' se Est utilizando la accin '<nombre>' tanto en


utiliza en varios niveles el mdulo como en una o varias acciones de
SFC superpuestos! este mdulo.

4369 Se necesita exactamente Ha utilizado varias redes FBD o LD para la


una red para una transicin transicin. Utilice slo una red.

4370 Se han encontrado lneas Borre las lneas no necesarias al final de la


adicionales despus de la transicin.
transicin IL correcta

4371 Caracteres adicionales tras Borre los caracteres no necesarios al final de


una expresin vlida: la transicin.
'<Nombre>'

4400 Mdulo '<nombre>' El mdulo no se puede convertir


incompleto / importado o completamente segn IEC 61131-3.
convertido con errores.

4401 Constante de tiempo S5 En el acumulador no hay ningn tiempo


'<cantidad>' segundos codificado BCD vlido.
demasiado grande (mx.
9990s).

4402 Las direcciones directas no Asegrese de que slo accede a una


son vlidas para E/S. variable definida como entrada o salida.

4403 Commando STEP5/7 no No todos los comandos STEP5/7 son


vlido o no convertible en convertibles segn IEC 61131-3, por ejemplo
IEC 61131-3. comandos CPU como MAS.

4404 Operando STEP5/7 no No todos los operandos STEP5/7 son


vlida o no convertible convertibles segn IEC 61131-3 o falta un
segn IEC 61131-3. operando.

4405 Reset de un temporizador Los correspondientes temporizadores IEC no


STEP5/7-no se puede tienen ninguna entrada de Reset.
convertir segn IEC 61131-
3.

4406 Constante de contador En el acumulador no hay ninguna constante


STEP5/7 fuera de rango de contador codificada BCD vlido.
(mx. 999).

4407 Instruccin STEP5/7 no No todas las instrucciones STEP5/7 son


convertible segn IEC convertibles segn IEC 61131-3, por ejemplo
61131-3. DUF.

4408 Acceso de bit de WORD Los comandos de temporizador/contador


de temporizador o especiales no son convertibles segn IEC
contador no convertible en 61131-3.
IEC 61131-3.

4409 Contenido de ACCU1 o Un comando que vincula los dos


ACCU2 no definido, no acumuladores no se puede convertir porque
convertible segn IEC los contenidos del acumulador son
61131-3. desconocidos.

4410 El mdulo llamado no Importe primero el mdulo llamado.


existe en el proyecto.

4411 Error en lista de variables Compruebe el archivo SEQ.


globales.

4412 Error interno No 11 Pngase en contacto con el fabricante de su


mando.

4413 Formato de lnea El cdigo a importar contiene una fecha


incorrecto en mdulo de incorrecta.
datos
4414 Falta nombre FB/FX En el archivo S5D de salida falta el nombre
simblico de un mdulo de funcin
(ampliado).

4415 Instruccin despus de fin No se puede importar un mdulo protegido.


de mdulo no permitida

4416 No es una instruccin El comando S5/S7 no se puede desmontar.


vlida

4417 Comentario no cerrado Cierre el comentario con "*)".

4418 Nombre FB/FX demasiado El nombre simblico de un mdulo de


largo (mx. 8 caracteres) funciones (ampliado) es demasiado largo.

4419 Formato de lnea esperado Corrija la lnea.


""(* Nombre: <Nombre
FB/FX > *)""

4420 Falta nombre de parmetro Compruebe los mdulos de funciones.


FB/FX

4421 Nombre de tipo de Compruebe los mdulos de funciones.


parmetro FB/FX no vlido

4422 Falta tipo de parmetro Compruebe los mdulos de funciones.


FB/FX

4423 Operando actual no valido Compruebe la interfaz del mdulo de


funcin.

4424 Advertencia: falta FB/FX El mdulo de funcin llamado no se ha


para llamada o los importado, es incorrecto o no tiene ningn
parmetros no son vlidos parmetro (en el ltimo caso puede ignorar
o tiene 0 parmetros el mensaje).

4425 Falta definicin de etiqueta No se ha indicado el destino de un salto.

4426 El mdulo no dispone de Modifique el nombre del mdulo.


un nombre de mdulo
STEP5 vlido, p.ej. PB10

4427 Tipo de temporizador no Inserte una declaracin del temporizador en


declarado la lista de variables global.

4428 Se ha sobrepasado el No se pueden tener ms de siete parntesis


nmero mximo de abiertos.
parntesis abiertos
STEP5/7

4429 Error en el nombre del El nombre de parmetro no puede ser mayor


parmetro formal de cuatro caracteres.

4430 Tipo de parmetro formal El temporizador, el contador y los mdulos


no convertible en IEC no se pueden convertir como parmetros
formales en IEC 61131-3.

4431 Demasiados parmetros Un mdulo no puede tener ms de diecisis


VAR_OUTPUT para una parmetros formales como salidas.
llamada en STEP5/7-IL

4432 No se permiten etiquetas En IEC 61131-3 las etiquetas no pueden


dentro de una expresin estar en cualquier posicin.

4434 Demasiadas etiquetas Un mdulo no puede contener ms de 100


etiquetas.

4435 Despus de salto/llamada, Despus de un salto o llamada debe haber


debe iniciarse una un comando de carga.
expresin nueva

4436 Resultado de bit no Un comando que utiliza el VKE no se puede


definido, no convertible en convertir porque el valor de VKE es
IEC 61131-3. desconocido.

4437 Tipo de comando y Se ha utilizado un comando de bits en un


operando no compatibles operando Word o viceversa.

4438 No hay mdulo de datos Inserte una instruccin A DB.


abierto (introduzca antes
una instruccin A DB)

4500 Variable o direccin Esta variable Watch no est declarada en el


desconocida proyecto. Pulsando <F2> obtendr la ayuda
de entrada para las variables declaradas.

4501 Una expresin Watch Elimine los caracteres sobrantes.


vlida es seguida por
caracteres no autorizados

4520 Error en la directiva de La entrada del pragma no es correcta.


compilacin: Se espera un Compruebe que '<nombre>' sea un indicador
flag antes de '<nombre>'! correcto.

4521 Error en la directiva de Compruebe que pragma est compuesto


compilacin: Elemento correctamente.
'<nombre>' inesperado!
4522 Directiva 'flag off' Ha fallado la desconexin del pragma,
esperada! inserte una instruccin 'flag off'.

4550 ndice en rea no Asegrese de que el ndice se encuentra en


permitida: Variables OD el rea especificada en las opciones del
<nmero>, lnea <nmero sistema de destino / funciones de red.
de lnea>.

4551 Subndice en rea no Asegrese de que el subndice se encuentra


permitida: Variables OD en el rea especificada en las opciones del
<nmero>, lnea <nmero sistema de destino / funciones de red.
de lnea>.

4552 ndice fuera del rango Asegrese de que el ndice se encuentra en


definido: Parmetro OD el rea especificada en las opciones del
<nmero>, lnea <nmero sistema de destino / funciones de red.
de lnea>.

4553 Subndice fuera del rango Asegrese de que el subndice se encuentra


definido: Parmetro OD en el rea especificada en las opciones del
<nmero>, lnea <nmero sistema de destino / funciones de red.
de lnea>.

4554 Nombre de variable no Introduzca una variable de proyecto en el


vlido: Variables OD campo variable. Utilice la escritura <nombre
<nmero>, lnea <nmero de mdulo> ..<nombre de variable> o para
de lnea>. variables globales.<nombre de variable>

4555 El campo de tabla est Se debe realizar una entrada para este
vaco, la entrada no es campo.
opcional: parmetro OD
%d, lnea %d

4556 El campo de tabla est Se debe realizar una entrada para este
vaco, la entrada no es campo.
opcional: variable OD %d,
lnea %d

TwinCAT PLC Control: Instrucciones de lneas de comandos

Instrucciones de lneas de comandos / archivos de comandos

Instrucciones de lneas de comandos

Durante el inicio el usuario tiene la posibilidad de introducir en el control TwinCAT PLC


determinados comandos que entran en operacin durante la ejecucin. Estas instrucciones de
lneas de comandos comienzan con "/". No hay diferenciacin entre maysculas y minsculas. La
ejecucin se verifica en forma secuencial de izquierda a derecha.

Comando Descripcin

/debug

/online

/run

/show ... Se puede ajustar la representacin de Frame-Windows del


control del TwinCAT PLC.

/show hide La ventana no se mostrar ni tampoco aparece en la lista de


tareas.

/show icon La ventana se mostrar minimizada.


/show max La ventana se mostrar maximizada.

/show normal La ventana se mostrar en el estado que estaba la ltima vez


que se cerr.

/out <outfile> Adems en la ventana de mensajes, todos los mensajes


aparecern tambin en el archivo <outfile>.

/cmd <cmdfile> Despus del inicio se ejecutarn las instrucciones del archivo
de comandos <cmdfile>.

La entrada de una lnea de comando se realiza de la siguiente forma:


"<Ruta del archivo exe TwinCAT PLC Control >" "<Ruta del proyecto >" /<Comando1>
/<Comando2> .

Ejemplo de una lnea de comandos:


"D:\dir1 TwinCAT PLC Control" "C:\projects\ampel.pro" /show hide /cmd command.cmd

Se abre el archivo ampel.pro, la ventana no se muestra. Se elabora el contenido del archivo de


comandos (cmdfile) command.cmd.

Instrucciones del archivo de comandos

A continuacin encontrar un listado de las instrucciones que se pueden usar en un archivo de


comandos (<cmdfile>), que puede llamar individualmente mediante las lneas de comandos (vea
arriba). No hay diferenciacin entre maysculas y minsculas. La lnea de comando se entrega
como mensaje en la ventana de mensajes y en ocasiones en el archivo de mensajes (vea abajo),
fuera de la instruccin se antepone una "@". Todos los caracteres despus del punto y coma (;)
sern ignorados (comentario).

Instrucciones de los mens en lnea:

Instrucciones Descripcin

online login Conexin con el proyecto cargado ('En lnea' 'Inicio de sesin')
online logout Desconexin ('En lnea' 'Fin sesin')

online run Inicio del programa de aplicacin ('En lnea' 'Iniciar')

online sim Activacin de la simulacin ((*) 'En lnea' 'Simulacin')

online sim off Desactivacin de la simulacin. ('En lnea' 'Simulacin')

Instrucciones del men archivo:

Instrucciones Descripcin

file new Crea un nuevo proyecto ('Archivo' 'Nuevo').

file open Carga el proyecto indicado ('Archivo' 'Abrir').


<projectfile>

file close Cierra el proyecto cargado ('Archivo' 'Cerrar').

file save Guarda el proyecto cargado ('Archivo' 'Guardar').

file saveas El proyecto cargado se guarda con el nombre especificado


<projectfile> ('Archivo' 'Guardar como').

file quit Sale del Control TwinCAT PLC ('Archivo' 'Salir').

Instrucciones del men Proyecto:

Instrucciones : Descripcin

project compile El proyecto cargado se compila con "Compilar todo" ('Proyecto'


'Compilar todo').

project check El proyecto cargado se verifica ('Proyecto' 'Verificar todo').

project build El proyecto cargado se compila ('Proyecto' 'Compilar').

project import Los archivos especificados <file1> ... <fileN> se importan en el


<file1> ... proyecto cargado ('Proyecto' 'Importar').
<fileN>

project export El proyecto cargado se exporta al archivo especificado


<expfile> <expfile> ('Proyecto' 'Exportar').

project expmul Los objetos del proyecto cargado son exportados a un archivo
<expfile> separado que lleva el respectivo nombre del objeto.

Instrucciones para el manejo de archivos de mensajes

Instrucciones Descripcin

out open <msgfile> Abre el archivo especificado como salida de mensajes. Los
mensajes nuevos se anexan.

out close Cierra el archivo de mensajes abierto en ese momento.

out clear Borra todos los mensajes de los archivos de mensajes abiertos
en ese momento.

Instrucciones para el manejo de las salidas de mensajes

Instrucciones Descripcin
echo on Las lneas de instrucciones se entregan tambin como mensaje.

echo off Las lneas de comandos no se entregan como mensaje.

echo <text> <text> se entrega como mensaje.

Instrucciones para el manejo del reemplazo de objetos o archivos en la importacin,


exportacin, reemplazo:

Instrucciones Descripcin

replace ok Reemplazar

replace yes

replace no No reemplazar.

replace noall No reemplazar nada

replace yesall Reemplazar todo.

Instrucciones para el manejo del funcionamiento predeterminado de los cuadros de dilogo:

Instrucciones Descripcin

query on Se muestra el cuadro de dilogo y se espera el ingreso de


datos del usuario.

query off ok Todos los cuadros de dilogo funcionan como cuando el usuario
ha hecho clic en Aceptar.

query off no Todos los cuadros de dilogo funcionan como cuando el usuario
ha hecho clic en No.

query off cancel Todos los cuadros de dilogo funcionan como cuando el usuario
ha hecho clic en Cancelar.

Instruccin debug:

Instruccin Descripcin

debug corresponde a /debug en la lnea de comandos.

Instruccin para llamar a archivos de comandos como subrutinas:

Instruccin Descripcin

call Los archivos de comando se llaman como subrutinas. Se


<parameter1> ... pueden pasar hasta 10 parmetros. En los archivos invocados
<parameter10> se puede acceder a los parmetros con $0 - $9.

Instrucciones para definir los directorios utilizados:

Instrucciones Descripcin

dir lib <libdir> Defina <libdir> como directorio de librera.

dir compile Defina <compiledir> como directorio para los archivos de


<compiledir> compilacin.

Instruccin para el retardo de la procesamiento de CMDFILE:

Instruccin Descripcin
delay 5000 Espera 5 segundos.

Instrucciones para el manejo del administrador Watch y de frmulas:

Instrucciones Descripcin

watchlist load <file> Carga la lista Watch guardada en <file> y abre la ventana
correspondiente ('Herramientas' 'Cargar lista de watch').

watchlist save Guarda la lista Watch en <file> ('Herramientas' 'Guardar lista de


<file> watch').

watchlist set <text> Da a una lista Watch cargada con anterioridad el nombre <text>
('Herramientas' 'Renombrar lista de watch').

watchlist read Actualiza el valor de las variables Watch ('Herramientas' 'Leer


frmula').

watchlist write Usa las variables Watch con los valores que se encuentran en
la lista Watch > ('Herramientas' 'Escribir frmula').

Comandos para incorporar bibliotecas:

Instrucciones Descripcin

library add Agrega los archivos de biblioteca indicados a la lista de bibliotecas


<Archico de del proyecto abierto actualmente. Si la ruta del archivo es una ruta
biblioteca1> relativa, el directorio de biblioteca configurado en el proyecto se
<Archico de utiliza para raz de la ruta.
biblioteca2> ..
<Archico de
bibliotecaN>
library delete Borra las bibliotecas indicadas de la lista de bibliotecas del proyecto
<Biblioteca1> actual abierto, o todas las bibliotecas si no se indica ningn nombre
<Biblioteca2> . de biblioteca
.
<BibliotecaN>]

Comandos para copiar objetos:

Instrucciones Descripcin

object copy Copia objetos de la ruta indicada del archivo del proyecto de origen
<archivo del en la ruta de destino del proyecto abierto actualmente.
proyecto de
Si la ruta de origen es el nombre de un objeto, se copia. Si se trata
origen> <ruta
de una carpeta, se copian todos los objetos debajo de esta carpeta.
fuente> <ruta
En este caso se toma la estructura de carpeta de la carpeta de
destino>
origen. Si la ruta de destino todava no existe, se crear.

Comandos para la llamada del sistema:

Instrucciones Descripcin

system Ejecuta el comando del sistema operativo indicado.


<comando>

Comandos para el accionamiento En lnea:

Instrucciones Descripcin

Reset Ejecuta un Reset del mando.

ResetAll Ejecuta un Reset All del mando. Tambin se borran los datos
permanentes.

CreateBootprojec Se crea un proyecto de arranque.


t

ChooseRuntime Se puede seleccionar un sistema de tiempo de funcionamiento


<texto> determinado. Como <texto> se debe indicar el ID de red y el
nmero de puerto separado con ':':

Ejemplo: ChooseRuntime 172.16.77.23.1.1:811 o ChooseRuntime


5.2.122.255.1.1:801

Ejemplo de archivo cmdfile:

El siguiente archivo de comando abre el archivo de proyecto ampel.pro, carga una lista Watch
cargada en w.wtc, inicia el programa de aplicacin, escribe despus de un segundo los valores de
variable en la lista Watch watch.wtc, que se guardar y cierra el proyecto.

file open C:\work\projects\ampel.pro


query off ok
watchlist load c:\work\w.wtc
online login
online run
delay 1000
watchlist read
watchlist save c:\work\watch.wtc
online logout
file close

TwinCAT PLC Control: Data Types

Descripcin general

El usuario puede utilizar tipos de datos estndar o de definicin propia para la programacin. A
cada identificador se le asigna un tipo de datos de datos que establece la cantidad de memoria que
se reserva y los valores que corresponden al contenido de la memoria.
Tipos de datos estndar Tipos de datos definidos

BOOL ARRAY (campos)

BYTE POINTER

WORD ENUM (tipo de enumeracin)

DWORD STRUCT (estructuras)

SINT ALIAS (tipo de referencias)

USINT Sub-range data types

INT

UINT

DINT

UDINT

REAL

LREAL

STRING

TIME
TIME_OF_DAY (TOD)

DATE

DATE_AND_TIME (DT)

TwinCAT PLC Control: Standard Data Types

BOOL

Las variables del tipo BOOL pueden tomar los valores lgicos TRUE y FALSE.

Type Memory use

BOOL 8 Bit

Note:

A BOOL type variable is true, if the least significant bit in the memory is set (e.g. 2#00000001 ). If no
bit is set in the memory, the variable is FALSE (2#00000000). All other values cant be interpeted
accurately and be displayed (***INVALID: 16#xy *** in the Online View). Such problems may
appear, if for example overlapped memory ranges are used in the PLC program.

Example:

The boolean variable is in the same memory range as the byte variable.

PROGRAM MAIN

VAR

bBool AT%MB0 : BOOL;

nByte AT%MB0 : BYTE := 3;

bIsTRUE : BOOL;
END_VAR

IF bBool THEN

bIsTRUE := TRUE;

ELSE

bIsTRUE := FALSE;

END_IF

Online display after program start

TwinCAT PLC Control: Standard Data Types

BYTE

Integer data type.

Type Lower bound Upper bound Memory use

BYTE 0 255 8 Bit

TwinCAT PLC Control: Standard Data Types

WORD
Integer data type.

Type Lower bound Upper bound Memory use

WORD 0 65535 16 Bit

TwinCAT PLC Control: Standard Data Types

DWORD

Integer data type.

Type Lower bound Upper bound Memory use

DWORD 0 4294967295 32 Bit

TwinCAT PLC Control: Standard Data Types

SINT

(Short) signed integer data type.

Type Lower bound Upper bound Memory use

SINT -128 127 8 Bit

TwinCAT PLC Control: Standard Data Types

USINT

Unsigned (short) integer data type.


Type Lower bound Upper bound Memory use

USINT 0 255 8 Bit

TwinCAT PLC Control: Standard Data Types

INT

Signed integer data type.

Type Lower bound Upper bound Memory use

INT -32768 32767 16 Bit

TwinCAT PLC Control: Standard Data Types

UINT

Unsigned integer data type.

Type Lower bound Upper bound Memory use

UINT 0 65535 16 Bit

TwinCAT PLC Control: Standard Data Types

DINT

Signed integer data type.

Type Lower bound Upper bound Memory use


DINT -2147483648 2147483647 32 Bit

TwinCAT PLC Control: Standard Data Types

UDINT

Unsigned integer data type.

Type Lower bound Upper bound Memory use

UDINT 0 4294967295 32 Bit

TwinCAT PLC Control: Standard Data Types

REAL

32 Bit floating point data type. It is required to represent rational numbers.

Type Lower bound Upper bound Memory use

REAL ~ -3.402823 x 1038 ~ 3.402823 x 1038 32 Bit

TwinCAT PLC Control: Standard Data Types

LREAL

64 Bit floating point data type. It is required to represent rational numbers.

Type Lower bound Upper bound Memory use


LREAL ~ ~ 64 Bit
-1.79769313486231E3 1.79769313486232E30
08 8

TwinCAT PLC Control: Standard Data Types

STRING

Una variable del tipo STRING puede contener cualquier cadena de caracteres. La indicacin de
tamao para la capacidad de memoria reservada en la declaracin hace referencia a la cantidad de
caracteres y se puede incluir entre parntesis o corchetes. Si no se indica ningn tamao (1..255),
el valor estndar es de 80 caracteres. Todas las variables String terminan en cero.

Ejemplo de una declaracin String:

str:STRING(35):='Esto es una declaracin String';

Type Memory use

STRING If no size specification is given,


the default size of 80 characters
will be used: Memory use
[Bytes] = 80 + 1 Byte for string
terminated Null character;

If string size specification is given:


Memory use [Bytes] = String
Size + 1 Byte for string
terminated Null character);

TwinCAT PLC Control: Standard Data Types

TIME

Time is given in milliseconds and handled internally like DWORD.


Type Lower bound Upper bound Memory use

TIME T#0ms T#71582m47s295m 32 Bit


s

TwinCAT PLC Control: Standard Data Types

TIME_OF_DAY

TOD

Time of day is given in seconds and handled internally like DWORD.

Type Lower bound Upper bound Memory use

TIME_OF_DAY TOD#00:00 TOD#1193:02:47.29 32 Bit


5
TOD

TwinCAT PLC Control: Standard Data Types

DATE

Date is handled internally like DWORD. The most significant digit is one second.

Type Lower bound Upper bound Memory use

DATE D#1970-01-01 D#2106-02-06 32 Bit

TwinCAT PLC Control: Standard Data Types


DATE_AND_TIME

DT

Date and time. The most siginificant digit is one second. The data type is handled internally lika
DWORD.

Type Lower bound Upper bound Memory use

DATE_AND_TIME DT#1970-01-01- DT#2106-02-06- 32 Bit


00:00 06:28:15
DT

TwinCAT PLC Control: User Data Types

Arrays

Se admiten campos de una, dos y tres dimensiones (arrays) de tipos de datos elementales. Los
arrays se pueden definir en la parte de declaracin de un Mdulo o en las listas globales de
variables.

Sintaxis:

<Field_Name>:ARRAY [<LowLim1>..<UpLim1>,<LowLim2>..<UpLim2>] OF <elem. Typ>

LowLim1, LowLim2 indican el lmite inferior de la gama del campo y UpLim1, UpLim2 el lmite
superior. Los valores lmite se tienen que expresar en nmeros enteros.

Ejemplo:

Card_game : ARRAY [1..13, 1..4] OF INT;

Inicializacin de arrays

Siempre se inicializan todos los elementos de los arrays o ninguno de ellos.

Ejemplos para la inicializacin de arrays:


arr1 : ARRAY [1..5] OF INT := 1,2,3,4,5;
arr2 : ARRAY [1..2,3..4] OF INT := 1,3(7); (* abreviado para 1,7,7,7 *)
arr3 : ARRAY [1..2,2..3,3..4] OF INT := 2(0),4(4),2,3; (* abreviado para 0,0,4,4,4,4,2,3 *)

Ejemplo para la inicializacin de un array de una estructura:

TYPE STRUCT1
STRUCT
p1:int;
p2:int;
p3:dword;
END_STRUCT

arr1 : ARRAY[1..3] OF STRUCT1:= (p1:=1,p2:=10,p3:=4723), (p1:=2,p2:=0,p3:=299),


(p1:=14,p2:=5,p3:=112);

Ejemplo para la inicializacin parcial de un array:

arr1 : ARRAY [1..10] OF INT := 1,2;

Los elementos para los cuales no se indica ningn valor se inicializan con el valor inicial del tipo
bsico por defecto. En el ejemplo anterior se inicializan los elementos arr1[3] hasta arr1[10] con 0.

Para acceder a los componentes de arrays en un campo bidimensional, se utiliza la siguiente


sintaxis:

<Field_name>[Index1,Index2]

Ejemplo:

Card_game[9,2]

Nota:

Si en su proyecto define una funcin con el nombre CheckBounds puede comprobar


automticamente interferencias de rea en el array! El nombre de la funcin est especificado y
debe mostrar nicamente esta denominacin

TwinCAT PLC Control: User Data Types


Puntero (POINTER)

En los punteros se guardan las direcciones de variables o bloques de funciones para el tiempo de
ejecucin de un programa.
Las declaraciones de puntero tienen la siguiente sintaxis:

<Identificador>: POINTER TO <tipo de datos/bloque de funcin>;

Un puntero puede indicar cualquier tipo de datos y bloque de funciones, incluso de definicin
propia.

Con el operador de direccin ADR se asigna al puntero una direccin de una variable o bloque de
funcin.

La desreferenciacin de un puntero se produce mediante el operador de contenidos "^" tras el


identificador del puntero.

Tenga en cuenta lo siguiente: Los punteros se incrementan en un byte. Mediante la instruccin


p=p+SIZEOF(p^) puede conseguirse un contador positivo como en el compilador de C.

Advertencia:

Si se utiliza Online Change, es posible que se desplace el contenido de las direcciones. Tngalo
en cuenta cuanto utilice punteros a direcciones.

Ejemplo:

pt:POINTER TO INT;
var_int1:INT := 5;
var_int2:INT;
pt := ADR(var_int1);
var_int2:= pt^; (* var_int2 es ahora 5 *)

Ejemplo 2 (Puntero incrementar):

ptByCurrDataOffs : POINTER TO BYTE;


udiAddress : UDINT;

(*--- pointer increment ---*)


udiAddress := ptByCurrDataOffs;
udiAddress := udiAddress + SIZEOF(ptByCurrDataOffs^);
ptByCurrDataOffs := udiAddress;
(* -- end of pointer increment ---*)

TwinCAT PLC Control: User Data Types

ENUM (Tipo de enumeracin)

Un tipo de enumeracin es un tipo de datos de definicin propia compuesto de una serie de


constantes de string. A estas constantes se les denomina valores de enumeracin. Los valores de
enumeracin siempre estn accesibles en todo el proyecto. Conviene crear tipos de enumeracin
propios como objetos en la ficha Tipos de datos del Object Organizer. Empiece con la palabra clave
TYPE y termine con END_TYPE.

Sintaxis:

TYPE <Identificador>:(<Enum_0> ,<Enum_1>, ...,<Enum_n>);


END_TYPE

<Identificador> puede tomar uno de los valores de enumeracin y se inicializa con el primero. Los
valores son compatibles con nmeros enteros, es decir, se pueden efectuar con ellos operaciones
como con INT. Es posible asignar un nmero x a <Bezeichner>. Si los valores de enumeracin no
estn inicializados, el conteo empieza con 0. Al inicializar, cercirese de que los valores iniciales
sean ascendentes. La validez del nmero se comprueba en funcin del tiempo de funcionamiento.

Ejemplo:

SEMAFORO: (rojo, amarillo, verde:=10); (*Rojo tiene el valor inicial 0, amarillo 1, verde 10 *)

SEMAFORO_1 : SEMAFORO;

SEMAFORO_1:=0; (* el semforo muestra el valor Rojo*)

FOR i:= Rojo TO Verde DO

i := i + 1;

END_FOR;

El mismo valor de enumeracin no se debe utilizar dos veces.


Ejemplo:

SEMAFORO: (rojo, amarillo, verde);


COLOR: (azul, blanco, rojo);

Error: rojo no se debe utilizar para AMPEL y FARBE.

TwinCAT PLC Control: User Data Types

Estructuras (STRUCT)

Las estructuras se guardan como objetos en la ficha Tipos de datos del Object Organizer. Empiece
con la palabra clave TYPE y termine con END_TYPE. Las declaraciones de estructura tienen la
siguiente sintaxis:

TYPE <Nombre de estructura>:

STRUCT <Declaracin de variable 1> . . <Declaracin de variable n>

END_STRUCT

END_TYPE

<Nombre de estructura> es ahora un tipo accesible en todo el proyecto que se puede utilizar como
un tipo de datos estndar. Se admiten estructuras intercaladas. La nica limitacin es que las
variables no pueden incluirse en direcciones (no se admite la declaracin AT!).

Ejemplo para una definicin de estructura con el nombre Polygon:

TYPE Polygon:

STRUCT

Start :ARRAY [1..2] OF INT;

Point1 :ARRAY [1..2] OF INT;

Point2 :ARRAY [1..2] OF INT;

Point3 :ARRAY [1..2] OF INT;

Point4 :ARRAY [1..2] OF INT;


Ende :ARRAY [1..2] OF INT;

END_STRUCT

END_TYPE

A los componentes de estructuras se accede con la siguiente sintaxis:

<Estructura_Nombre>.<Nombre del componente>

Si tenemos, por ejemplo, una estructura con el nombre "Semana" que contiene un componente con
el nombre "Lunes", podemos acceder a ella de la siguiente manera: Semana.Lunes

Nota:

Estructuras y Arrays pueden ser diferentes sobre distintas plataformas de hardware (por ejemplo
CX1000 y CX90xx) en funcin de diferentes alineamientos en la estructura y tamao.

En el intercambio de datos se debe observar el tamao idntico y las estructuras de similar


orientacin!

Ejemplo para una definicin de estructura con nombre ST_ALIGN_SAMPLE:

TYPE ST_ALIGN_SAMPLE:
STRUCT
_diField1 : DINT;
_byField1 : BYTE;
_iField : INT;
_byField2 : BYTE;
_diField2 : DINT;
_pField : POINTER TO BYTE;
END_STRUCT
END_TYPE

De este modo resultan para los componentes del miembro de la estructura ST_ALIGN_SAMPLE
sobre CX90xx (RISC) los siguientes tamaos y Offsets:

_diField1 (DINT), Offset = 0 (16#0), Size = 4


_byField1 (BYTE), Offset = 4 (16#4), Size = 1
_iField (INT), Offset = 6 (16#6), Size = 2
_byField2 (BYTE), Offset = 8 (16#8), Size = 1
_diField2 (DINT), Offset = 12 (16#C), Size = 4
_pField (POINTER TO BYTE), Offset = 16 (16#10), Size = 4

Tamao total por alineamiento natural con Pack(4) y con los as llamados Paddingbytes: 20

De este modo resultan para los componentes del miembro de la estructura ST_ALIGN_SAMPLE
sobre CX10xx los siguientes tamaos y Offsets:

_diField1 (DINT), Offset = 0 (16#0), Size = 4


_byField1 (BYTE), Offset = 4 (16#4), Size = 1
_iField (INT), Offset = 5 (16#5), Size = 2
_byField2 (BYTE), Offset = 7 (16#7), Size = 1
_diField2 (DINT), Offset = 8 (16#8), Size = 4
_pField (POINTER TO BYTE), Offset = 12 (16#C), Size = 4

Tamao total: 16

Vista de la estructura ST_ALIGN_SAMPLE con plataformas CX90xx (RISC) con representacin


de los Paddingbytes:

TYPE ST_ALIGN_SAMPLE:
STRUCT
_diField1 : DINT;
_byField1 : BYTE;
_byPadding : BYTE;
_iField : INT;
_byField2 : BYTE;
_a_byPadding : ARRAY[0..2] OF BYTE;
_diField2 : DINT;
_pField : POINTER TO BYTE;
END_STRUCT
END_TYPE

TwinCAT PLC Control: User Data Types

Referencias (tipos de alias)

El tipo de datos de definicin propia Referencia sirve para crear un nombre alternativo para una
variable, una constante o un Bloque de Funciones. Cree sus referencias como objetos en la ficha
Tipos de datos del Object Organize . Empiece con la palabra clave TYPE y termine con
END_TYPE.

Sintaxis:

TYPE <Identificador>: <Expresin de asignacin>;


END_TYPE

Ejemplo:

TYPE message:STRING[50];
END_TYPE;

TwinCAT PLC Control: User Data Types

Tipos de subreas

Un tipo de subrea es un tipo cuya rea de valores slo abarca una subcantidad de un tipo bsico.
La declaracin se puede realizar en el registro de tipos de datos, pero una variable tambin puede
ser declarada directamente con un tipo de subrea:
Sintaxis para la declaracin en el registro 'tipos de datos':

TYPE <Nombre> : <Inttype> (<ug>..<og>) END_TYPE;

Tipo Descripcin

<Nombre> Debe ser un identificador IEC vlido.

<Inttype> Es uno de los tipos de datos SINT, USINT, INT, UINT, DINT, UDINT,
BYTE, WORD, DWORD.

<ug> Es una constante que debe ser compatible con los tipos bsicos y que
especifica el lmite inferior del tipo de rea. El lmite inferior pertenece a
esta rea

<og> Es una constante que debe ser compatible con los tipos bsicos y que
especifica el lmite superior del tipo de rea. El lmite superior pertenece
a este tipo bsico.

Ejemplo:

TYPE
SubInt : INT (-4095..4095);
END_TYPE

Declaracin directa de una variable con un tipo de subrea (tenga en cuenta la introduccin
correcta de un valor inicial si la subrea no contiene el '0'):

VAR
i1 : INT (-4095..4095);
i2: INT (5..10):=5;
ui : UINT (0..10000);
END_VAR

Si se asigna una constante a un tipo de subrea (en la declaracin o en la implementacin) que no


se encuentra en este rea (p.ej. i:=5000), se edita un mensaje de error.

Para comprobar el cumplimiento de los lmites de rea en el tiempo de ejecucin, se deben aadir
las funciones CheckRangeSignedo CheckRangeUnsigned. En ellas se pueden capturar las
violaciones de rea en la forma adecuada (por ejemplo, el valor se puede recortar o se puede fijar
un indicador de error). Se llaman de forma implcita en cuanto se escribe sobre una variable que es
de un tipo de subrea que se ha creado de un tipo con signo o sin signo.

TwinCAT PLC Control: IEC Operators

Descripcin general

TwinCAT PLC Control admite todos los operadores IEC. A diferencia de las funciones estndar,
estn accesibles implcitamente en todo el proyecto. En la implementacin de Mdulos, los
operadores se utilizan como Funciones.

TwinCAT PLC Control: IEC Operators


Resumen de los operadores IEC

La siguiente tabla muestra los operadores en ST y IL con los modificadores disponibles en IL.

La columna 'dnde?' indica en qu biblioteca est contenido el operador o bien si est integrado
como operador IEC en el sistema de programacin.

Tenga en cuenta lo siguiente para la columna 'Operador IL': Slo se representa la lnea en la que
se utiliza el operador. Como condicin previa se requiere una carga correcta del (primer) operando
necesario en la lnea anterior (p.ej. LD in).

La columna 'Mod.IL' muestra los modificadores posibles en IL:

C la instruccin slo se ejecuta si el resultado de la expresin anterior es


TRUE.

N en JMPC, CALC, RETC: la instruccin slo se ejecuta si el resultado de la


expresin anterior es FALSE

N en caso contrario: negacin del operando (no del acumulador)

( El operador est entre parntesis; tras llegar al parntesis final se ejecuta la


operacin indicada delante del parntesis

La descripcin detallada de la aplicacin puede consultarse en los correspondientes anexos de los


operadores IEC integrados o de las bibliotecas.

Mod.
Operador ST Operador IL IL Significado

' Limitacin de cadena (p.ej.


'cadena')

[..] Array: Representacin del


rea de array (p.ej.
Array[0..3] OF INT)

: Signo de divisin entre


operando y tipo en la
declaracin (p.ej. var1 : INT;)

; Instruccin de cierre (p.ej.


a:=var1;)

^ Desreferencia puntero (p.ej.


pointer1^)

LD var1 N Carga de valor de var1 en


acumulador

:= TE var1 N Guardar resultado actual en


posicin de operando var1

S boolvar Ajustar el operando


booleano boolvar
exactamente en TRUE
cuando el resultado actual
es TRUE

R boolvar Ajustar el operando


booleano exactamente en
FALSE cuando el resultado
actual es TRUE

JMP marke CN Saltar a la marca


<Nombre del CAL prog1 CN Llama al programa prog1
programa>

<Nombre de instancia> CAL inst1 CN Llama el mdulo de funcin


de la instancia inst1

<Nombre de <Nombre de CN Llama la funcin y transfiere


funcin>(vx,vy,..) funcin>vx,vy,.. los parmetros vx, vy

RETURN RET CN Sale del mdulo y vuelve al


emisor en caso necesario

( El valor posterior a los


parntesis se ve como
operando, la operacin
anterior se reinicia hasta que
se cierra el parntesis

) Evaluar operacin de
repuesta

AND AND N, ( AND por bits

OR OR N, ( OR por bits

XOR XOR N, ( OR exclusivo por bits

NOT NOT NOT por bits

+ ADD ( Suma

- SUB ( Resta
* MUL ( Multiplicacin

/ DIV ( Divisin

> GT ( Mayor

>= GE ( Mayor/igual

= EQ ( Igual

< LT ( Menor

<> NE ( No igual

<= LE ( Menor/igual

in1 MOD in2 MOD Modulo Division

INDEXOF(in) INDEXOF ndice interno de un mdulo


in1; [INT]

SIZEOF(in) SIZEOF Cantidad necesaria de bytes


para tipo de datos de in

SHL(in,K) SHL Desplazamiento por bits


hacia la izquierda de un
operando en K
SHR(in,K) SHR Desplazamiento por bits
hacia la derecha de un
operando en K

ROL(in,K) ROL Rotacin por bits hacia la


izquierda de un operando en
K

ROR(in,K) ROR Rotacin por bits hacia la


derecha de un operando en
K

SEL(G,in0,in1) SEL Seleccin binaria entre 2


operandos en 0 (G es
FALSE) y in1 (G es TRUE)

MAX(in0,in1) MAX Devuelve el mayor de dos


valores

MIN(in0,in1) MIN Devuelve el ms pequeo


de dos valores

LIMIT(Min,in,Max) LIMIT Limitacin del rea de


valores (in se reinicializa en
caso de exceso en Min o
Max)

MUX(K, in0,.. in_n) MUX Seleccin del valor Ko entre


una cantidad de valores (in0
hasta In_n)

ADR(in) ADR Direccin del operando en


[DWORD]
BOOL_TO_<type>(in) BOOL_TO_<type> Conversin de tipo del
operando booleano en otro
tipo elemental

<type>_TO_BOOL(in) <type>_TO_BOOL Conversin de tipo del


operando tras BOOL

INT_TO_<type>(in) INT_TO_<type> Conversin de tipo del


operando INT en otro tipo
elemental

REAL_TO_<type>(in) REAL_TO_<type> Conversin de tipo del


operando REAL en otro tipo
elemental

LREAL_TO_<type>(in) LREAL_TO_<type> Conversin de tipo del


operando LREAL en otro
tipo elemental

TIME_TO_<type>(in) TIME_TO_<type> Conversin de tipo del


operando TIME en otro tipo
elemental

TOD_TO_<type>(in) TOD_TO_<type> Conversin de tipo del


operando TOD en otro tipo
elemental

DATE_TO_<type>(in) DATE_TO_<type> Conversin de tipo del


operando DATE en otro tipo
elemental

DT_TO_<type>(in) DT_TO_<type> Conversin de tipo del


operando DT en otro tipo
elemental

STRING_TO_<type>(in STRING_TO_<type Conversin de tipo del


) > operando STRING en otro
tipo elemental

TRUNC(in) TRUNC Conversin de REAL tras


INT

ABS(in) ABS Valor absoluto del operando

SQRT(in) SQRT Raz cuadrada del operando

LN(in) LN Logaritmo natural del


operando

LOG(in) LOG Logaritmo del operando para


la base 10

EXP(in) EXP Funcin exponencial del


operando

SIN(in) SIN Seno del operando

COS(IN) COS Coseno del operando

TAN(in) TAN Tangente del operando

ASIN(in) ASIN Arco de seno del operando

ACOS(in) ACOS Arco de coseno del


operando

ATAN(in) ATAN Arco de tangente del


operando

EXPT(in,expt) EXPT expt Potenciacin del operando


en expt

LEN(in) LEN Longitud de string del


operando

LEFT(str, size) LEFT Cadena de inicio izquierda


(tamao size) de cadena str

RIGHT(str, size) RIGHT Cadena de inicio derecha


(tamao size) de cadena str

MID(str, len, pos) MID Cadena parcial del tamao


len de cadena str

CONCAT(str1, str2) CONCAT Unir dos cadenas

INSERT(str1, str2, pos) INSERT Insertar cadena str1 en


cadena str2 en posicin pos

DELETE(str1, len, pos) DELETE Borrar cadena parcial con


longitud len, empezando en
la posicin pos de str1

REPLACE(str1, str2, REPLACE Sustituye cadena parcial de


len, pos) longitud len, empezando en
la posicin pos de str1
mediante str2

FIND(str1, str2) FIND Buscar una cadena parcial


str2 en str1

SR SR El mdulo de funcin de
doble estabilidad se fija de
forma dominante

RS RS El mdulo de funcin de
doble estabilidad se
reinicializa

SEMA SEMA Mdulo de funcin: Software


semforo

R_TRIG R_TRIG Mdulo de funcin: se


reconoce el flanco
ascendente

F_TRIG F_TRIG Mdulo de funcin: se


reconoce el flanco
descendente

CTU CTU Mdulo de funcin: contador


ascendente

CTD CTD Mdulo de funcin: contador


descendente

CTUD CTUD Mdulo de funcin: contador


ascendente y descendente
TP TP Mdulo de funcin:
transmisor de impulsos

TON TON Mdulo de funcin: retardo


de conexin

TOF TOF Mdulo de funcin: retardo


de desconexin

TwinCAT PLC Control: IEC Operators

ABS

Suministra el valor absoluto de un nmero. ABS(-2) da como resultado 2.

Las combinaciones las de siguientes tipo para IN y OUT son posibles:

IN OUT

INT INT, REAL, WORD, DWORD, DINT

REAL REAL

BYTE INT, REAL, BYTE, WORD, DWORD, DINT

WORD INT, REAL, WORD, DWORD, DINT

DWORD REAL, DWORD, DINT

SINT REAL
USINT REAL

UINT INT, REAL, WORD, DWORD, DINT, UDINT, UINT

DINT REAL, DWORD, DINT

UDINT REAL, DWORD, DINT, UDINT

TwinCAT PLC Control: IEC Operators

ACOS

Suministra el arcocoseno (funcin inversa del coseno) de un nmero.


IN poder estar desde el tipo BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT.
OUT est siempre del tipo REAL.

TwinCAT PLC Control: IEC Operators

ASIN

Suministra el arcoseno (funcin inversa del seno) de un nmero.


IN poder estar desde el tipo BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT.
OUT est siempre del tipo REAL.

TwinCAT PLC Control: IEC Operators


ATAN

Suministra el arcotangente (funcin inversa de la tangente) de un nmero.


IN poder estar desde el tipo BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT.
OUT est siempre del tipo REAL

TwinCAT PLC Control: IEC Operators

COS

Suministra el coseno de un nmero.


IN poder estar desde el tipo BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT.
OUT est siempre del tipo REAL.

TwinCAT PLC Control: IEC Operators

EXP

Suministra la funcin exponencial.


IN poder estar desde el tipo BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT.
OUT est siempre del tipo REAL.

TwinCAT PLC Control: IEC Operators


EXPT

Elevar una variable a la potencia con otra: OUT = IN1 IN2.

IN1 y IN2 pueden ser del tipo BYTE, WORD, DWORD, INT, DINT, REAL. OUT est siempre del tipo
REAL.

Ejemplo en lenguaje IL:

LD 7
EXPT 2
ST var1 (* El resultado es 49 *)

Ejemplo en lenguaje ST:

var1 := EXPT(7,2);

TwinCAT PLC Control: IEC Operators

LN

Suministra el logaritmo natural de un nmero


IN poder estar desde el tipo BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT.
OUT est siempre del tipo REAL.

TwinCAT PLC Control: IEC Operators

LOG
Suministra el logaritmo para la base 10 de un nmero.
IN poder estar desde el tipo BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT.
OUT est siempre del tipo REAL.

TwinCAT PLC Control: IEC Operators

SIN

Suministra el seno de un nmero.


IN poder estar desde el tipo BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT.
OUT est siempre del tipo REAL.

TwinCAT PLC Control: IEC Operators

SQRT

Suministra la raz cuadrada de un nmero.


IN poder estar desde el tipo BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT.
OUT est siempre del tipo REAL

TwinCAT PLC Control: IEC Operators

TAN

Suministra la tangente de un nmero.


El valor es calculado en radin. IN poder estar desde el tipo BYTE, WORD, DWORD, INT, DINT,
REAL, SINT, USINT, UINT, UDINT. OUT est siempre del tipo REAL.
TwinCAT PLC Control: IEC Operators

ADD

Suma de variables del tipo BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL y
LREAL. Tambin se pueden sumar dos variables TIME; de este modo, la suma da como resultado
un valor de tiempo (por ejemplo, se aplica t#45s + t#50s = t#1m35s)

Ejemplo en lenguaje IL:

LD 7
ADD 2,4,7
ST var1

Ejemplo en lenguaje ST:

var1 := 7+2+4+7;

Ejemplo en lenguaje FBD:

TwinCAT PLC Control: IEC Operators

MUL

Multiplicacin de variables del tipo BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT,
REAL y LREAL.

Ejemplo en lenguaje IL:

LD 7
MUL 2,4,7
ST var1

Ejemplo en lenguaje ST:


var1 := 7*2*4*7;

Ejemplo en lenguaje FBD:

TwinCAT PLC Control: IEC Operators

SUB

Resta de una variable del tipo BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT,
REAL y LREAL de otra variable de uno de estos tipos. Una variable TIME tambin se puede restar
de otra variable TIME; en este caso, el resultado es de nuevo del tipo TIME. Observe que los
valores TIME negativos no estn definidos.

Ejemplo en lenguaje IL:

LD 7
SUB 8
ST var1

Ejemplo en lenguaje ST:

var1 := 7-2;

Ejemplo en lenguaje FBD:

TwinCAT PLC Control: IEC Operators

DIV

Divisin de una variable del tipo BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT,
REAL y LREAL por otra variable de uno de estos tipos.

Ejemplo en lenguaje IL:


LD 8
DIV 2
ST var1

Ejemplo en lenguaje ST:

var1 := 8/2;

Ejemplo en lenguaje FBD:

Nota:

Si en su proyecto define funciones con los nombres CheckDivByte, CheckDivWord,


CheckDivDWord y CheckDivReal, con la utilizacin del operador DIV puede comprobar el valor del
divisor, por ejemplo para evitar una divisin entre 0. El nombre de la funcin est especificado y
debe mostrar nicamente esta denominacin.

TwinCAT PLC Control: IEC Operators

MOD

Mdulo de divisin de una variable del tipo BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT
y UDINT por otra variable de uno de estos tipos. Como resultado, esta funcin suministra el resto
de la divisin en nmeros enteros.

Ejemplo en lenguaje IL:

LD 9
MOD 2
ST var1 (* El resultado es 1 *)

Ejemplo en lenguaje ST:

var1 := 9 MOD 2;

Ejemplo en lenguaje FBD:


Similar Functions

LMOD

TwinCAT PLC Control: IEC Operators

AND

AND por bits de operandos de bits. Los operandos deberan ser del tipo BOOL, BYTE, WORD o
DWORD.

Ejemplo en lenguaje IL:

var1 :BYTE;
LD 2#1001_0011
AND 2#1000_1010
ST var1 (* El resultado es 2#1000_0010 *)

Ejemplo en lenguaje ST:

var1 := 2#1001_0011 AND 2#1000_1010

Ejemplo en lenguaje FBD:

TwinCAT PLC Control: IEC Operators

OR

OR por bits de operandos de bits. Los operandos deberan ser del tipo BOOL, BYTE, WORD o
DWORD.
Ejemplo en lenguaje IL:

var1 :BYTE;
LD 2#1001_0011
OR 2#1000_1010
ST var1 (* El resultado es 2#1000_1011 *)

Ejemplo en lenguaje ST:

Var1 := 2#1001_0011 OR 2#1000_1010

Ejemplo en lenguaje FBD:

TwinCAT PLC Control: IEC Operators

XOR

XOR por bits de operandos de bits. Los operandos deberan ser del tipo BOOL, BYTE, WORD o
DWORD.

Ejemplo en lenguaje IL:

Var1 :BYTE;
LD 2#0001_0011
XOR 2#1000_1010
ST Var1 (* El resultado es 2#0001_1001 *)

Ejemplo en lenguaje ST:

Var1 := 2#1001_0011 XOR 2#1000_1010

Ejemplo en lenguaje FBD:

Nota:
Tenga en cuenta que el compoortamiento del mdulo XOR en la forma ampliada (ms de 2
entradas) no est implementado de acuerdo con la norma. Las entradas se comprueban a pares y
los resultados se pueden comparar entre s.

TwinCAT PLC Control: IEC Operators

NOT

NOT por bits de un operando de bits. El operando debera ser del tipo BOOL, BYTE, WORD o
DWORD.

Ejemplo en lenguaje IL:

Var1 :BYTE;

LD 2#1001_0011

NOT

ST Var1 (* El resultado es 2#0110_1100 *)

Ejemplo en lenguaje ST:

Var1 := NOT 2#1001_0011;

Ejemplo en lenguaje FBD:

TwinCAT PLC Control: IEC Operators

SHL
Desplazamiento por bits hacia la izquierda de un operando: A:= SHL (IN, N)A, IN y N deberan ser
del tipo BYTE, WORD, DWORD. IN se desplaza en N bits hacia la izquierda y se rellena con ceros
desde la derecha.

Nota:

Tenga en cuenta que la cantidad de bits que se tiene en cuenta para la operacin de
clcula, se fija mediante el tipo de datos de la variable de entrada. Si se trata de una
constante, se tiene en cuenta el tipo de datos ms pequeo que haya. El tipo de datos de
la variable de salida no tiene ningn efecto sobre la operacin de clculo.

En el siguiente ejemplo puede ver en representacin hexadecimal cmo con el mismo valor de las
variables de entrada in_byte y in_word se distinguen los resultados erg_byte y erg_word de la
operacin, dependiendo de si in es del tipo BYTE o WORD.

Ejemplo en lenguaje ST:

Ejemplo en lenguaje IL:

LD 1
SHL 1
ST Var1 (* El resultado es 2 *)

TwinCAT PLC Control: IEC Operators

SHR
Desplazamiento por bits hacia la derecha de un operando: A:= SHR (IN, N)A, IN y N deberan ser
del tipo BYTE, WORD, DWORD. IN se desplaza en N bits hacia la derecha y se rellena con ceros
desde la izquierda.

Nota:

Tenga en cuenta que la cantidad de bits que se tiene en cuenta para la operacin de
clcula, se fija mediante el tipo de datos de la variable de entrada. Si se trata de una
constante, se tiene en cuenta el tipo de datos ms pequeo que haya. El tipo de datos de
la variable de salida no tiene ningn efecto sobre la operacin de clculo.

Ejemplo en lenguaje ST:

Ejemplo en lenguaje IL:

LD 32
SHR 2
ST Var1 (* El resultado es 8 *)

TwinCAT PLC Control: IEC Operators


ROL

Rotacin por bits hacia la izquierda de un operando: A:= ROL (IN, N)A, IN y N deberan ser del tipo
BYTE, WORD o DWORD. IN se desplaza N veces una posicin de bit hacia la izquierda y el bit
situado ms a la izquierda se vuelve a insertar desde la derecha.

Nota:

Tenga en cuenta que la cantidad de bits que se tiene en cuenta para la operacin de clcula, se fija
mediante el tipo de datos de la variable de entrada. Si se trata de una constante, se tiene en cuenta
el tipo de datos ms pequeo que haya. El tipo de datos de la variable de salida no tiene ningn
efecto sobre la operacin de clculo.

Ejemplo en lenguaje ST:

Ejemplo en lenguaje IL:

Var1 :BYTE;
LD 2#1001_0011
ROL 3
ST Var1 (* El resultado es 2#1001_1100 *)

TwinCAT PLC Control: IEC Operators


ROR

Rotacin por bits hacia la derecha de un operando: A:= ROR (IN, N)A, IN y N deberan ser del tipo
BYTE, WORD o DWORD. IN se desplaza N veces una posicin de bit hacia la derecha y el bit
situado ms a la derecha se vuelve a insertar desde la izquierda.

Nota:

Tenga en cuenta que la cantidad de bits que se tiene en cuenta para la operacin de clcula, se fija
mediante el tipo de datos de la variable de entrada. Si se trata de una constante, se tiene en cuenta
el tipo de datos ms pequeo que haya. El tipo de datos de la variable de salida no tiene ningn
efecto sobre la operacin de clculo.

En el siguiente ejemplo puede ver en representacin hexadecimal cmo con el mismo valor de las
variables de entrada in_byte y in_word se distinguen los resultados erg_byte y erg_word de la
operacin, dependiendo de si in es del tipo BYTE o WORD.

Ejemplo en lenguaje ST:

Ejemplo en lenguaje IL:


Var1 :BYTE;
LD 2#1001_0011
ROR 3
ST Var1 (* El resultado es 2#0111_0010 *)

TwinCAT PLC Control: IEC Operators

SEL

Seleccin binaria.

OUT := SEL(G, IN0, IN1)

significa:

OUT := IN0 if G=FALSE;OUT := IN1 if G=TRUE.

IN0, IN1 y OUT pueden ser de cualquier tipo; G tiene que ser del tipo BOOL. El resultado de la
seleccin es IN0, si G es FALSE e IN1, si G es TRUE.

Ejemplo en lenguaje IL:

LD TRUE
SEL 3,4
ST Var1 (* El resultado es 4 *)

LD FALSE
SEL 3,4
ST Var1 (* El resultado es 3 *)

Ejemplo en lenguaje FBD:

Nota:
Para optimizar el tiempo de ejecucin, se procesa de la siguiente forma: Una expresin insertado
delante de IN0, slo se calcula si G es FALSE. Una expresin insertado delante de IN1, slo se
calcula si G es TRUE.

MAX

TwinCAT PLC Control: IEC Operators

MAX

Funcin de mximo. Suministra el mayor de dos valores.

OUT := MAX(IN0, IN1);

IN0, IN1 y OUT pueden ser de cualquier tipo.

Ejemplo en lenguaje IL:

LD 90
MAX 30
MAX 40
MAX 77
ST Var1 (* El resultado es 90 *)

Ejemplo en lenguaje FBD:

TwinCAT PLC Control: IEC Operators

MIN

Funcin de mnimo. Suministra el menor de dos valores.


OUT := MIN(IN0, IN1);

IN0, IN1 y OUT pueden ser de cualquier tipo.

Ejemplo en lenguaje IL:

LD 90
MIN 30
MIN 40
MIN 77
ST Var1 (* El resultado es 30 *)

Ejemplo en lenguaje FBD:

TwinCAT PLC Control: IEC Operators

LIMIT

Limitacin

OUT := LIMIT(Min, IN, Max)

significa:

OUT := MIN (MAX (IN, Min), Max)

Max es el lmite superior y Min el inferior para el resultado. Si el valor IN sobrepasa el lmite
superior Max, LIMIT suministra Max. Si IN es inferior a Min, el resultado es Min. IN y OUT pueden
ser de cualquier tipo.

Ejemplo en lenguaje IL:

LD 90
LIMIT 30,80
ST Var1 (* El resultado es 80 *)
TwinCAT PLC Control: IEC Operators

MUX

Multiplex

OUT := MUX(K, IN0,...,INn);

significa:

OUT := INK;

IN0, ...,INn y OUT pueden ser de cualquier tipo. K tiene que ser de los tipos BYTE, WORD,
DWORD, SINT, USINT, INT, UINT, DINT o UDINT. MUX selecciona el valor K de una serie de
valores.

Ejemplo en lenguaje IL:

LD 0
MUX 30,40,50,60,70,80
ST Var1 (* El resultado es 30 *)

Nota:

Para optimizar el tiempo de ejecucin slo se calcula la expresin insertado delante de INK!

TwinCAT PLC Control: IEC Operators

GT

Mayor que

Un operador de Bool con el resultado TRUE si el primer operando es mayor que el segundo. Los
operandos pueden ser del tipo BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT,
UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME y STRING.
Ejemplo en lenguaje IL:

LD 20
GT 30
ST Var1 (* El resultado es FALSE *)

Ejemplo en lenguaje ST:

VAR1 := 20 > 30 > 40 > 50 > 60 > 70;

Ejemplo en lenguaje FBD:

TwinCAT PLC Control: IEC Operators

LT

Menor que

Un operador de Bool con el resultado TRUE si el primer operando es menor que el segundo. Los
operandos pueden ser del tipo BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT,
UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME y STRING.

Ejemplo en lenguaje IL:

LD 20
LT 30
ST Var1 (* El resultado es TRUE *)

Ejemplo en lenguaje ST:

VAR1 := 20 < 30;

Ejemplo en lenguaje FBD:


TwinCAT PLC Control: IEC Operators

LE

Menor o igual que

Un operador de Bool con el resultado TRUE si el primer operando es menor o igual que el segundo
operando. Los operandos pueden ser del tipo BOOL, BYTE, WORD, DWORD, SINT, USINT, INT,
UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME y STRING.

Ejemplo en lenguaje IL:

LD 20
LE 30
ST Var1 (* El resultado es TRUE *)

Ejemplo en lenguaje ST:

VAR1 := 20 <= 30;

Ejemplo en lenguaje FBD:

TwinCAT PLC Control: IEC Operators

GE

Mayor o igual que

Un operador de Bool con el resultado TRUE si el primer operando es mayor o igual que el segundo
operando. Los operandos pueden ser del tipo BOOL, BYTE, WORD, DWORD, SINT, USINT, INT,
UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME y STRING.

Ejemplo en lenguaje IL:


LD 60
GE 40
ST Var1 (* El resultado es TRUE *)

Ejemplo en lenguaje ST:

VAR1 := 60 >= 40;

Ejemplo en lenguaje FBD:

TwinCAT PLC Control: IEC Operators

EQ

Igual que

Un operador de Bool con el resultado TRUE si los operandos son iguales. Los operandos pueden
ser del tipo BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL,
TIME, DATE, TIME_OF_DAY, DATE_AND_TIME y STRING.

Ejemplo en lenguaje IL:

LD 40
EQ 40
ST Var1 (* El resultado es TRUE *)

Ejemplo en lenguaje ST:

VAR1 := 40 = 40;

Ejemplo en lenguaje FBD:


TwinCAT PLC Control: IEC Operators

NE

No igual a

Un operador de Bool con el resultado TRUE si los operadores no son iguales. Los operandos
pueden ser del tipo BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL,
LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME y STRING.

Ejemplo en lenguaje IL:

LD 40
NE 40
ST Var1 (* El resultado es FALSE *)

Ejemplo en lenguaje ST:

VAR1 := 40 <> 40;

Ejemplo en lenguaje FBD:

TwinCAT PLC Control: Other Operators

INDEXOF

Esta Funcin suministra como resultado el ndice interno de un Mdulo.

Ejemplo en lenguaje ST:

var1 := INDEXOF(myFB2);

TwinCAT PLC Control: Other Operators


SIZEOF

Esta funcin suministra como resultado el nmero de bytes que necesita el tipo de datos indicado.

Ejemplo en lenguaje IL:

arr1:ARRAY[0..4] OF INT;
var1:INT;
LD arr1
SIZEOF
ST var1 (* El resultado es 10 *)

TwinCAT PLC Control: Other Operators

ADR (Funcin de direccin)

ADR suministra la direccin de su argumento en DWORD. Esta direccin puede enviarse a


funciones de fabricante y gestionarse all como un pointer o asignarse a un pointer dentro del
proyecto.

Advertencia:

Si se utiliza Online Change, es posible que se desplace el contenido de las direcciones. Tngalo
en cuenta cuanto utilice punteros a direcciones.

Ejemplo en lenguaje IL:

LD var1
ADR
ST var2

TwinCAT PLC Control: Other Operators

ADRINST(Instance address operator)


The ADRINST operator delivers the address of a program instance or function block instance
(ADRINST is about equivalent to C++ this operator ).

TwinCAT PLC Control: Other Operators

^ (Operador de contenido)

La desreferenciacin de un puntero se produce mediante el operador de contenidos "^" tras el


identificador del puntero.

Ejemplo en lenguaje ST:

pt:POINTER TO INT;
var_int1:INT;
var_int2:INT;
pt := ADR(var_int1);
var_int2:=pt^;

TwinCAT PLC Control: Other Operators

CAL (Operador de llamada)

Llamada a un Bloque de Funciones

Con CAL se llama en lenguaje IL a la instancia de un Bloque de Funciones. El nombre de la


instancia de un Bloque de Funciones va seguido, entre parntesis, del valor de la variable de
entrada del Bloque de Funciones. Ejemplo: Llamada de la instancia Inst de un Bloque de
Funciones con introduccin de la variable de entrada Par1, Par2 en 0 o TRUE.

Ejemplo:

CAL INST(PAR1 := 0, PAR2 := TRUE)

TwinCAT PLC Control: Other Operators


BITADR

BITADR returns the bit address of allocated variable.

Example in ST:

bOFF AT%QX10.1 : BOOL;


iBitAdr : BYTE;

iBitAdr := BITADR( bOFF ); (* returns 81 *)

TwinCAT PLC Control: IEC Operators

Conversiones BOOL_TO

Conversin del tipo BOOL a otro tipo: en tipos numricos, el resultado es 1 si el operando es TRUE
y 0 si el operando es FALSE. En el tipo STRING, el resultado es 'TRUE' o 'FALSE'.

Ejemplos en lenguaje ST:

i:=BOOL_TO_INT(TRUE); (* El resultado es 1 *)
str:=BOOL_TO_STRING(TRUE); (* El resultado es 'TRUE' *)
t:=BOOL_TO_TIME(TRUE); (* El resultado es T#1ms *)
tof:=BOOL_TO_TOD(TRUE); (* El resultado es TOD#00:00:00.001 *)
dat:=BOOL_TO_DATE(FALSE); (* El resultado es D#1970-01-01 *)
dandt:=BOOL_TO_DT(TRUE); (* El resultado es DT#1970-01-01-00:00:01 *)

TwinCAT PLC Control: IEC Operators

Conversiones TO_BOOL

Conversin de un tipo al tipo BOOL: el resultado es TRUE si el operando no es igual a 0. El


resultado es FALSE cuando el operando es igual a 0. En el tipo STRING, el resultado es TRUE si
el operando es 'TRUE'; de lo contrario, el resultado es FALSE.

Ejemplos en lenguaje ST:

b := BYTE_TO_BOOL(2#11010101); (* El resultado es TRUE *)


b := INT_TO_BOOL(0); (* El resultado es FALSE *)
b := TIME_TO_BOOL(T#5ms); (* El resultado es TRUE *)
b := STRING_TO_BOOL('TRUE'); (* El resultado es TRUE *)

TwinCAT PLC Control: IEC Operators

Conversiones STRING_TO

Conversin del tipo STRING a otro tipo: El operando del tipo STRING ha que tener un valor vlido
del tipo de destino; de lo contrario, el resultado es 0.

Ejemplos en lenguaje ST:

b :=STRING_TO_BOOL('TRUE'); (* El resultado es TRUE *)


w :=STRING_TO_WORD('abc34'); (* El resultado es 0 *)
t :=STRING_TO_TIME('T#127ms'); (* El resultado es T#127ms *)

TwinCAT PLC Control: IEC Operators

Conversiones TO_STRING

Conversin del otro tipo a tipo STRING.

Ejemplos en lenguaje ST:

str:=BOOL_TO_STRING(TRUE); (* El resultado es 'TRUE' *)


str :=TIME_TO_STRING(T#12ms); (* El resultado es 'T#12ms' *)
str :=DATE_TO_STRING(D#2002-08-18); (* El resultado es 'D#2002-08-18' *)
str:=TOD_TO_STRING(TOD#14:01:05.123); (* El resultado es 'TOD#14:01:05.123' *)
str:=DT_TO_STRING(DT#1998-02-13-14:20); (* El resultado es 'DT#1998-02-13-14:20' *)
k := LREAL_TO_STRING(); (* El resultado es '1.4' *)

TwinCAT PLC Control: IEC Operators

Conversiones TIME_TO
Conversin del tipo TIME a otro tipo: a nivel interno, el tiempo se guarda en DWORD en
milisegundos. Este valor se convierte. En la conversin de tipos ms grandes a otros ms
pequeos, se puede perder informacin. En el tipo STRING, el resultado es la constante de tiempo.

Ejemplos en lenguaje ST:

str :=TIME_TO_STRING(T#12ms); (* El resultado es 'T#12ms' *)


dw:=TIME_TO_DWORD(T#5m); (* El resultado es 300000 *)

TwinCAT PLC Control: IEC Operators

Conversiones DATE_TO

Conversin del tipo DATE a otro tipo: a nivel interno, la fecha se guarda en DWORD en segundos
desde el 1 de Enero de 1970. Este valor se convierte. En la conversin de tipos ms grandes a
otros ms pequeos, se puede perder informacin. En el tipo STRING, el resultado es la constante
de fecha.

Ejemplos en lenguaje ST:

b :=DATE_TO_BOOL(D#1970-01-01); (* El resultado es FALSE *)


i :=DATE_TO_INT(D#1970-01-15); (* El resultado es 29952 *)
str :=DATE_TO_STRING(D#2002-08-18); (* El resultado es 'D#2002-08-18' *)
vdt:=DATE_TO_DT(D#2002-08-18); (* El resultado es DT#2002-08-18-00:00 *)
udw:=DATE_TO_DWORD(D#2002-08-18); (* El resultado es 16#3D5EE380 *)

TwinCAT PLC Control: IEC Operators

Conversiones TOD_TO

Conversin del tipo TIME_OF_DAY a otro tipo: a nivel interno, el tiempo se guarda en DWORD en
milisegundos (en TIME_OF_DAY, desde las 00:00 horas). Este valor se convierte. En la conversin
de tipos ms grandes a otros ms pequeos, se puede perder informacin. En el tipo STRING, el
resultado es la constante de tiempo.

Ejemplos en lenguaje ST:


si:=TOD_TO_SINT(TOD#00:00:00.012); (* El resultado es 12 *)
str:=TOD_TO_STRING(TOD#14:01:05.123); (* El resultado es 'TOD#14:01:05.123' *)
tm:= TOD_TO_TIME(TOD#14:01:05.123); (* El resultado es T#841m5s123ms *)
udi:= TOD_TO_UDINT(TOD#14:01:05.123); (* El resultado es 16#03020963 *)

TwinCAT PLC Control: IEC Operators

Conversiones DT_TO

Conversin del tipo DATE_AND_TIME a otro tipo: a nivel interno, la fecha se guarda en DWORD
en segundos desde el 1 de Enero de 1970. Este valor se convierte. En la conversin de tipos ms
grandes a otros ms pequeos, se puede perder informacin. En el tipo STRING, el resultado es la
constante de fecha.

Ejemplos en lenguaje ST:

byt :=DT_TO_BYTE(DT#1970-01-15-05:05:05); (* El resultado es 129 *)


str:=DT_TO_STRING(DT#1998-02-13-14:20); (* El resultado es 'DT#1998-02-13-14:20' *)
vtod:=DT_TO_TOD(DT#1998-02-13-14:20); (* El resultado es TOD#14:20 *)
vdate:=DT_TO_DATE(DT#1998-02-13-14:20); (* El resultado es D#1998-02-13 *)
vdw:=DT_TO_DWORD(DT#1998-02-13-14:20); (* El resultado es 16#34E45690 *)

TwinCAT PLC Control: IEC Operators

Conversiones REAL_TO / LREAL_TO

Conversin del tipo REAL o LREAL a otro tipo: se redondea hacia arriba o hacia abajo a un valor
de nmeros enteros y se convierte a los correspondientes tipos. Quedan exceptuados los tipos
STRING, BOOL, REAL y LREAL. En la conversin de tipos ms grandes a otros ms pequeos, se
puede perder informacin.

Durante la conversin al tipo CADENA, tenga en cuenta que el nmero total de posiciones con
coma se limita a 16. Si el nmero (L)REAL contiene ms posiciones, la posicin dieciseisava se
redondea y se visualiza en la cadena. Si la CADENA para el nmero es demasiado corta, se corta
por la derecha.

Ejemplo en lenguaje ST:


i := REAL_TO_INT(1.5); (* El resultado es 2 *)
j := REAL_TO_INT(1.4); (* El resultado es 1 *)

Ejemplo en lenguaje IL:

LD 2.7
REAL_TO_INT
GE %MW8

TwinCAT PLC Control: IEC Operators

Conversiones entre tipos de nmeros enteros

Conversin de un tipo de nmeros enteros a otro tipo de nmero: en la conversin de tipos ms


grandes a otros ms pequeos se puede perder informacin. Si el nmero a convertir sobrepasa el
lmite del rango, no se tienen en cuenta los primeros bytes del nmero.

Ejemplo en lenguaje ST:

si := INT_TO_SINT(4223); (* El resultado es 127 *)

Si guarda el nmero entero 4223 (16#107f en representacin hexadecimal) en una variable SINT,
ste contiene el nmero 127 (16#7f en representacin hexadecimal).

Ejemplo en lenguaje IL:

LD 2
INT_TO_REAL
MUL 3.5

TwinCAT PLC Control: IEC Operators

TRUNC
Conversin del tipo REAL al tipo INT. Slo se toma la parte del nmero expresada en nmeros
enteros. En la conversin de tipos ms grandes a otros ms pequeos, se puede perder
informacin.

Ejemplos en ST:

i:=TRUNC(1.9); (* El resultado es 1 *).

i:=TRUNC(-1.4); (* El resultado es 1 *).

Ejemplo en lenguaje IL:

LD 2.7
TRUNC
GE %MW8

Similar Functions

LTRUNC

FLOOR

TwinCAT PLC Control: Operands

Constantes de Bool

Constantes de Bool son los valores lgicos TRUE y FALSE.

TwinCAT PLC Control: Operands

Constantes TIME

En TwinCAT PLC Control se pueden declarar constantes TIME. stas se utilizan en especial para
manejar los temporizadores de la librera estndar. Una constante TIME se compone siempre de
una "t" o una "T" inicial (o "time" o "TIME" en la forma explcita) y un smbolo de almohadilla "#". A
continuacin, aparece la declaracin de tiempo propiamente dicha, que puede estar formada por
das (denominados con "d"), horas (denominadas con "h"), minutos (denominados con "m"),
segundos (denominados con "s") y milisegundos (denominados con "ms"). Es preciso tener en
cuenta que las indicaciones de tiempo han de ordenarse en funcin de su magnitud (d antes que h,
h antes que m, m antes que s y s antes que ms), aunque no es preciso que aparezcan todos los
tiempos.

Ejemplos de constantes TIME correctas en una asignacin ST:

TIME1 := T#14ms;
TIME1 := T#100S12ms; (*Se permite un exceso en el componente ms alto*)
TIME1 := t#12h34m15s;

Sera incorrecto:

TIME1 := t#5m68s; (*Exceso en una posicin ms baja*)


TIME1 := 15ms; (*Falta T#*)
TIME1 := t#4ms13d; (*Orden incorrecto de las indicaciones de tiempo*)

TwinCAT PLC Control: Operands

Constantes DATE

Con este tipo se pueden realizar indicaciones de fecha. Una constante DATE se declara con una
"d", "D", "DATE" o "date" inicial y el smbolo "#" a continuacin. Despus, puede introducirse
cualquier fecha en el orden de Ao-Mes-Da.

Ejemplo:

DATE#1996-05-06
d#1972-03-29

TwinCAT PLC Control: Operands

Constantes TIME_OF_DAY

Con este tipo puede memorizar horas. Una declaracin TIME_OF_DAY empieza por "tod#",
"TOD#", "TIME_OF_DAY#" o "time_of_day#"; a continuacin, puede indicar una hora en la sintaxis:
Hora:Minuto:Segundo. Los segundos se pueden emitir como nmeros reales; por lo tanto, tambin
se pueden indicar fracciones de segundos.

Ejemplo:
TIME_OF_DAY#15:36:30.123
tod#00:00:00

TwinCAT PLC Control: Operands

Constantes DATE_AND_TIME

Las constantes de fecha y las horas tambin se pueden combinar en las constantes denominadas
DATE_AND_TIME. Las constantes DATE_AND_TIME empiezan por "dt#", "DT#",
"DATE_AND_TIME#" o "date_and_time#". La indicacin de la fecha va seguida un guin y de la
hora.

Ejemplo:

DATE_AND_TIME#1996-05-06-15:36:30
dt#1972-03-29-00:00:00

TwinCAT PLC Control: Operands

Constantes numricas

Los valores numricos pueden aparecer como nmeros duales, octales, decimales y
hexadecimales. Si un valor entero no es un nmero decimal, su base, seguida del smbolo (#), ha
de escribirse delante de la constante entera. Los valores numricos para los nmeros del 10 al 15
en nmeros hexadecimales se indican, como de costumbre, mediante las letras A-F. Se admite el
uso de guiones bajos dentro de un valor numrico.

Ejemplo:

14 (nmero decimal)
2#1001_0011 (nmero dual)
8#67 (nmero octal)
16#A (nmero hexadecimal)

El tipo de estos valores numricos puede ser BYTE, WORD, DWORD, SINT, USINT, INT, UINT,
DINT, UDINT, REAL o LREAL. No se permiten conversiones implcitas de tipos "ms grandes" a
tipos "ms pequeos". Es decir, una variable DINT no se puede utilizar como variable INT. Para
este fin, se utilizan las funciones de conversin de tipo.
TwinCAT PLC Control: Operands

Constantes REAL / LREAL

Las constantes REAL y LREAL se pueden indicar como fracciones decimales y en representacin
exponencial. Para este fin, se utiliza la sintaxis americana con punto.

Ejemplo:

7.4 en lugar de 7,4


1.64e+009, en lugar de 1,64e+000

TwinCAT PLC Control: Operands

Constantes STRING

Una constante String es cualquier cadena de caracteres. Las constantes STRING se delimitan por
delante y por detrs con comillas simples. Tambin se pueden introducir espacios y vocales
modificadas, que se interpretan exactamente igual que todos los dems caracteres. En secuencias
de caracteres, la combinacin del smbolo de dlar ($) seguido de dos nmeros hexadecimales se
interpreta como representacin hexadecimal del cdigo de caracteres de 8 bits. Adems, si
aparecen en una cadena de caracteres, las combinaciones de dos caracteres que empiezan por el
smbolo de dlar se interpretan como sigue:

Carcter especial Descripcin

$$ Smbolo de dlar

$' Coma alta

$L or $l Avance de lnea

$N or $n Nueva lnea
$P or $p Avance de pgina

$R or $r Cambio de lnea

$T or $t Tabulador

Ejemplo:

'w1W?'
'Susi y Claus'
':-)'

TwinCAT PLC Control: Operands

Constantes tipadas (Typed Literals)

Durante la utilizacin de constantes IEC se utiliza el tipo de datos ms pequeo posible. Si se


debiera utilizar otro tipo de datos, se puede hacer con la ayuda de Typed Literals sin que la
constante se deba declarar de forma explcita. Se aade un prefijo a la constante que determina el
tipo:

La escritura es:

<Tipo>#<Literal><Tipo>

indica el tipo de datos deseado, posibles entradas: BOOL, SINT, USINT, BYTE, INT, UINT, WORD,
DINT, UDINT, DWORD, REAL, LREAL. El tipo debe escribirse en maysculas.

<Literal> indica la constante. La entrada debe coincidir con el tipo de datos indicado en <Type>.

Ejemplo:
var1:=DINT#34;

Si la constante no se puede transferir al tipo de destino sin perder datos, se edita un mensaje de
error:

Los typed literals se pueden utilizar en todos los lugares donde se pueden utilizar constantes
normales.

TwinCAT PLC Control: Operands

Variables

Las variables se declaran a nivel local en la parte de declaracin de un Mdulo o en las listas de
variables globales. Es preciso tener en cuenta que el identificador de variables no debe contener
espacios ni vocales modificadas, debe declararse doblemente y no puede coincidir con las
palabras clave. En las variables no se tienen en cuenta las maysculas y minsculas; es decir que
VAR1, Var1 y var1 no son variables distintas. Los guiones bajos del identificador son significativos;
por ejemplo, "A_BCD" y "AB_CD" se interpretan como identificadores diferentes. No se admite el
uso de varios guiones bajos seguidos al principio o dentro de un identificador

TwinCAT PLC Control: Operands

Direcciones

La representacin directa de clulas de memoria individuales se realiza mediante secuencias de


caracteres especiales. stas se forman a partir de la concatenacin del signo "%", un prefijo de
rea, un prefijo de magnitud y uno o varios nmeros naturales separados por espacios. Se admiten
los siguientes prefijos de rea:

Carcter de identificacin Descripcin

I Entrada

Q Salida
M Marcador

Se admiten los siguientes prefijos de magnitud:

Prefijo Descripcin

X Bit individual

B Byte (8 bits)

W Palabra (16 bits)

D Palabra doble (32 bits)

* Config variables (VAR_CONFIG)

Ejemplos:

%QX75.1 (*bit 1 del byte de salida 75*)

%IW215 (*palabra de entrada 215*)

%QB7 (*byte de salida 7*)

%MD48 (*palabra doble en el punto de memoria 48 del rea de marcador*)

Los valores booleanos se adjudican byte a byte si no se les indica


Nota
de forma implcita una direccin de bit individual.

Ejemplo: Una modificacin de valor de varbool1 AT %QW0 afecta al rea de QX0.0 a QX0.7.

Marcador
Para acceder al marcador, se pueden utilizar todas las magnitudes admitidas. Por ejemplo, la
direccin %MD48 direccionara los bytes n 48, 49, 50 y 51 en el rea de marcador. El primer byte
es el n 0. Asimismo, se puede acceder a palabras y bytes e incluso a bits: Con %MX5.0, por
ejemplo, se accede al primer bit de la quinta palabra.

Note for using other platforms:

For a CX9xxx and CP with ARM platform, the 4-byte alignment is


Nota
obligatory to be complained.

Ejemplo:

rMyVar1 AT %MW0 : REAL;

rMyVar2 AT %MW4 : REAL;

TwinCAT PLC Control: Operands

Acceso a variables de arrays, estructuras y Mdulos

El acceso a los componentes de arrays de dos dimensiones se realiza con la siguiente sintaxis:

<Nombre de campo>[Index1, Index2]

El acceso a las variables de estructura se realiza con la siguiente sintaxis:

<Nombre de estructura>.<Nombre de variable>

El acceso a las variables de Bloques de Funciones y programas se realiza con la siguiente sintaxis:

<Nombre del mdulo>.<Nombre de variable>

TwinCAT PLC Control: Operands

Adjudicacin de direcciones de bits a variables


En las variables de nmeros enteros se puede acceder a bits individuales. Para ello se aade a la
variable, separado con un punto, el ndice del bit al cual se debe adjudicar una direccin. El ndice
de bit se puede indicar con la constante que se desee. La indexacin se basa en 0.
Ejemplo:

a : INT;
b : BOOL;
...
a.2 := b;

El tercer bit de la variable a se fija con el valor de la variable b.

Si el ndice es mayor que el ancho de bit de la variable se emite el siguiente error:


ndice '<n>' fuera del rea permitida para la variable '<var>'!

La adjudicacin de direcciones de bits es posible para los siguientes tipos de variables:


SINT, INT, DINT, USINT, UINT, UDINT, BYTE, WORD, DWORD.

Si el tipo de la variable no est permitido, se emite el siguiente mensaje de error:


Tipo de datos '<tipo>' no permitido para la indexacin directa".

Un acceso de bit no puede asignarse a una variable VAR_IN_OUT!

TwinCAT PLC Control: Operands

Funciones

En ST, una llamada a funciones tambin puede aparecer como operando.

Ejemplo:

Result := Fct(7) + 3;

TwinCAT PLC Control: Operands

Indicadores del sistema


Los indicadores del sistema son variables declaradas de forma implcita que dependen de su
mando especfico. Para descubrir qu indicadores de sistema posee su sistema, seleccione el
comando 'Insertar''Operando'; aparecer el dilogo de ayuda de entrada; seleccione la categora
Variable de sistema.

TwinCAT PLC Control: System flags

SYSTEMINFO

VAR_GLOBAL

SystemInfo AT%MB32768(*The real address may differ!*) : SYSTEMINFOTYPE;

END_VAR

En Variables del sistema de la ayuda de entrada, encontrar la variable Informacin del sistema del
tipo SYSTEMINFOTYPE. Este tipo est declarado en la librera systema.

Development
environment Target system type PLC libraries to include

TwinCAT v2.7.0 PC (i386) PLCSystem.Lib

TwinCAT v2.8.0 PC (i386) TcSystem.Lib

TwinCAT PLC Control: System Flags

SYSTEMTASKINFOARR

VAR_GLOBAL

SystemTaskInfoArr AT%MB32832(*The real address may differ!*) : ARRAY[1..4]


OF SYSTEMTASKINFOTYPE;

END_VAR
Otra variable del sistema llamada SystemTaskInfoArr es un campo de cuatro estructuras del tipo
SYTEMTASKINFOTYPE. La definicin de estructura se encuentra nuevamente en PlcSystem.lib.
El ndice de este campo es Task-Id. El mdulo de funcin GETCURTASKINDEX sirve para
determinar en MPA el Task-Id para el tiempo de funcionamiento.

Development
environment Target system type PLC libraries to include

TwinCAT v2.7.0 PC (i386) PLCSystem.Lib

TwinCAT v2.8.0 PC (i386) TcSystem.Lib

TwinCAT PLC Control: System Functions

FUNCTION CheckBounds

Si en su proyecto define una funcin con el nombre CheckBounds puede comprobar


automticamente interferencias de rea en el array! El nombre de la funcin est especificado y
debe mostrar nicamente esta denominacin.

Nota:

CheckBounds function may cause increased system load. Please use CheckBounds only for test
purposes.

FUNCTION CheckBounds : DINT

VAR_INPUT

index, lower, upper : DINT;

END_VAR
A continuacin se muestra un ejemplo para una implementacin de esta funcin:

IF index<lower THEN

CheckBounds := lower;

ELSIF index>upper THEN

CheckBounds := upper;

ELSE

CheckBounds := index;

END_IF

El siguiente ejemplo de programa para la comprobacin de la funcin CheckBounds interviene


fuera de los lmites de un array definido. La Funcin CheckBounds garantiza que el valor TRUE no
se asigne a la posicin A[10], sino al lmite superior an vlido del rea A[7]. La funcin
CheckBounds permite, por lo tanto, corregir intervenciones fuera de lmites de array.

TwinCAT PLC Control: System Functions

FUNCTION CheckDivByte
Si en su proyecto define funciones con los nombres CheckDivByte, con la utilizacin del operador
DIV puede comprobar el valor del divisor, por ejemplo para evitar una divisin entre 0. El nombre
de la funcin est especificado y debe mostrar nicamente esta denominacin.

Note:

CheckDivByte function may cause increased system load. Please use CheckDivByte only for test
purposes.

FUNCTION CheckDivByte : BYTE

VAR_INPUT

divisor : BYTE;

END_VAR

Ejemplo:

IF divisor = 0 THEN

CheckDivByte := 1;(**)

ELSE

CheckDivByte := divisor;

END_IF

TwinCAT PLC Control: System Functions

FUNCTION CheckDivReal

Si en su proyecto define funciones con los nombres CheckDivReal, con la utilizacin del operador
DIV puede comprobar el valor del divisor, por ejemplo para evitar una divisin entre 0. El nombre
de la funcin est especificado y debe mostrar nicamente esta denominacin.
Nota:

CheckDivReal function may cause increased system load. Please use CheckDivReal only for test
purposes.

FUNCTION CheckDivReal : REAL

VAR_INPUT

divisor : REAL;

END_VAR

Ejemplo:

IF divisor = 0 THEN

CheckDivReal := 1;

ELSE

CheckDivReal := divisor;

END_IF

El resultado de la funcin CheckDivReal se usa como divisor por el operador DIV. Con ello, en el
programa de ejemplo mostrado a continuacin se evita que se pueda dividir entre 0, porque el
divisor (d) se fija de 0 a 1. El resultado erg de la divisin, pues, es 799.
TwinCAT PLC Control: System Functions

FUNCTION CheckDivWord

Si en su proyecto define funciones con los nombres CheckDivWord, con la utilizacin del operador
DIV puede comprobar el valor del divisor, por ejemplo para evitar una divisin entre 0. El nombre
de la funcin est especificado y debe mostrar nicamente esta denominacin.

Nota:

CheckDivWord function may cause increased system load. Please use CheckDivWord only for test
purposes.

FUNCTION CheckDivWord : WORD

VAR_INPUT

divisor : WORD;

END_VAR

Ejemplo:

IF divisor = 0 THEN

CheckDivWord := 1;

ELSE

CheckDivWord := divisor;

END_IF
TwinCAT PLC Control: System Functions

FUNCTION CheckDivDWord

Si en su proyecto define funciones con los nombres CheckDivDWord, con la utilizacin del
operador DIV puede comprobar el valor del divisor, por ejemplo para evitar una divisin entre 0. El
nombre de la funcin est especificado y debe mostrar nicamente esta denominacin.

Nota:

CheckDivDWord function may cause increased system load. Please use CheckDivDWord only for
test purposes.

FUNCTION CheckDivDWord : DWORD

VAR_INPUT

divisor : DWORD;

END_VAR

Ejemplo:

IF divisor = 0 THEN

CheckDivDWord := 1;

ELSE

CheckDivDWord := divisor;

END_IF

TwinCAT PLC Control: System Functions

FUNCTION CheckRangeSigned
Para comprobar el cumplimiento de los lmites de rea en el tiempo de ejecucin, se deben aadir
las funciones CheckRangeSigned. En ellas se pueden capturar las violaciones de rea en la forma
adecuada (por ejemplo, el valor se puede recortar o se puede fijar un indicador de error). Se llaman
de forma implcita en cuanto se escribe sobre una variable que es de un tipo de subrea que se ha
creado de un tipo con signo.

FUNCTION CheckRangeSigned : DINT

VAR_INPUT

value, lower, upper: DINT;

END_VAR

Ejemplo:

En el caso de una variable de un tipo de subrea con signo (como en el caso i anterior) se llama la
funcin CheckRangeSigned, que podra programarse como sigue, para recortar un valor en el rea
permitida:

FUNCTION CheckRangeSigned : DINT


VAR_INPUT
value, lower, upper: DINT;
END_VAR

IF (value < lower) THEN


CheckRangeSigned := lower;
ELSIF(value > upper) THEN
CheckRangeSigned := upper;
ELSE
CheckRangeSigned := value;
END_IF
Para una llamada automtica es obligatorio el nombre de funcin CheckRangeSigned y la
configuracin de la interfaz: valor de devolucin y tres parmetros del tipo DINT.
La funcin se parametriza en la llamada como sigue:

value Recibe el valor que se debe asignar al tipo de rea

lower El lmite inferior del rea

upper El lmite superior del rea

Valor de El valor que se asigna al tipo de rea


devolucin

A partir de una asignacin i := 10*y; en este ejemplo se crea lo siguiente de forma implcita:

i := CheckRangeSigned(10*y, -4095, 4095);

Si por ejemplo y tiene el valor 1000, tras esta asignacin i slo tendr el valor 4095.
Nota:

Si no estn disponibles las dos funciones CheckRangeSigned y CheckRangeUnsigned, en


el tiempo de ejecucin no se realiza ninguna comprobacin de tipos de los tipos de
subrea. La variable i podra tener cualquier valor entre -32768 y 32767!

Si se implementa una funcin CheckRangeSigned o CheckRangeUnsigned segn lo


mostrado anteriormente, durante la utilizacin del tipo de subrea en un bucle FOR puede
aparecer un bucle infinito. Esto ocurre si el rea indicada para el bucle FOR es igual o
mayor que la del tipo de subrea!

Ejemplo:

VAR
ui : UINT (0..10000);
END_VAR

FOR ui:=0 TO 10000 DO


...
END_FOR

No sale el bucle FOR porque ui no puede ser mayor que 10000.


Tambin se debe tener en cuenta el contenido de las funciones CheckRange durante la utilizacin
de valores de incremento en los bucles FOR!

TwinCAT PLC Control: System Functions

FUNCTION CheckRangeUnsigned

Para comprobar el cumplimiento de los lmites de rea en el tiempo de ejecucin, se deben aadir
las funcione CheckRangeUnsigned. En ellas se pueden capturar las violaciones de rea en la
forma adecuada (por ejemplo, el valor se puede recortar o se puede fijar un indicador de error). Se
llaman de forma implcita en cuanto se escribe sobre una variable que es de un tipo de subrea
que se ha creado de un tipo sin signo.

FUNCTION CheckRangeUnsigned : UDINT

VAR_INPUT

value, lower, upper: UDINT;

END_VAR

Ejemplo:

En el caso de una variable de un tipo de subrea con signo (como en el caso i anterior) se llama la
funcin CheckRangeUnsigned, que podra programarse como sigue, para recortar un valor en el
rea permitida:
FUNCTION CheckRangeUnsigned : UDINT
VAR_INPUT
value, lower, upper: UDINT;
END_VAR

IF (value < lower) THEN


CheckRangeUnsigned := lower;
ELSIF(value > upper) THEN
CheckRangeUnsigned := upper;
ELSE
CheckRangeUnsigned := value;
END_IF

Para una llamada automtica es obligatorio el nombre de funcin CheckRangeUnsigned y la


configuracin de la interfaz: valor de devolucin y tres parmetros del tipo DINT.
La funcin se parametriza en la llamada como sigue:

value Recibe el valor que se debe asignar al tipo de rea

lower El lmite inferior del rea

upper El lmite superior del rea

Valor de El valor que se asigna al tipo de rea


devolucin

Nota:

Si no estn disponibles las dos funciones CheckRangeSigned y CheckRangeUnsigned, en


el tiempo de ejecucin no se realiza ninguna comprobacin de tipos de los tipos de
subrea. La variable i podra tener cualquier valor entre -32768 y 32767!

Si se implementa una funcin CheckRangeSigned o CheckRangeUnsigned segn lo


mostrado anteriormente, durante la utilizacin del tipo de subrea en un bucle FOR puede
aparecer un bucle infinito. Esto ocurre si el rea indicada para el bucle FOR es igual o
mayor que la del tipo de subrea!
Ejemplo:

VAR
ui : UINT (0..10000);
END_VAR

FOR ui:=0 TO 10000 DO


...
END_FOR

No sale el bucle FOR porque ui no puede ser mayor que 10000.


Tambin se debe tener en cuenta el contenido de las funciones CheckRange durante la utilizacin
de valores de incremento en los bucles FOR!

Beckhoff Automation: Prlogo

Indicaciones sobre la documentacin

Esta documentacin est dirigida exclusivamente al personal profesional con conocimiento de la


tcnologa de control y automatizacin, familiarizado con las normas nacionales vigentes.
Para la instalacin y puesta en marcha de los componentes es imprescindiblemente necesaria la
observacin de las siguientes indicaciones.

El personal profesional debe asegurar, que la aplicacin y el empleo de los productos


documentados cumplen todos los requisitos de seguridad, incluyendo todas las leyes,
especificaciones, reglamentaciones y normas aplicables.

Nota legal

Esta documentacin ha sido cuidadosamente elaborada. No obstante, los productos documentados


estn en continuo desarrollo.
Por esta razn no podemos garantizar la absoluta coincidencia de la documentacin conlas
especificaciones documentadas, normas u otras caractersticas.
En caso de que contenga errores tcnicos o de redaccin, nos reservamos el derecho a realizar
modificaciones en cualquier momento sin previo aviso.
De las indicaciones, ilustraciones y descripciones de esta documentacin, no se puede hacer valer
ningn derecho a modificaciones de los productos ya suministrados.

Marcas
Beckhoff, TwinCAT, EtherCAT, Safety over EtherCAT, TwinSAFE y XFC son marcas
registradas y licenciadas de Beckhoff Automation GmbH. La utilizacin de marcas o distintivos
incluidos en esta documentacin por parte de terceros puede constituir una violacin de los
derechos del titular de las correspondientes denominaciones.

Patentes

La tecnologa TwinCAT est protegida mediante patente, en particular por las siguientes solicitudes
y patentes:
EP0851348, US6167425 con los registros y inscripciones correspondientes en varios otros pases.

Copyright

Beckhoff Automation GmbH.

Sin nuestra expresa autorizacin, queda terminantemente prohibida la reproduccin total o parcial
de este documento, asi como su uso indebido y/o su exhibicin o comunicacin a terceros. De los
infractores se exigir el correspondiente resarcimiento de daos y perjuicios. Quedan reservados
todos los derechos inherentes, en especial los de patentes, de modelos registrados y estticos.

TwinCAT PLC Control: Standard Library

Descripcin general

La librera estndar contiene todos los Mdulos previstos en la norma IEC61131-3. Los Mdulos se
pueden dividir en las siguientes clases:

Bloques de Funciones de estabilidad doble

Deteccin de flancos

Contador

Temporizador

Funciones de cadena
TwinCAT PLC Library: Standard

FUNCTION_BLOCK F_TRIG

Detector para un flanco descendente.

VAR_INPUT

VAR_INPUT

CLK : BOOL; (* Signal to detect *)

END_VAR

VAR_OUTPUT

VAR_OUTPUT

Q : BOOL; (* Edge detected *)

END_VAR

VAR

M : BOOL;

END_VAR

Siempre que la variable de entrada CLK suministre TRUE, la salida ser Q y la variable auxiliar M,
FALSE. Tan pronto como CLK suministre FALSE, Q suministrar primero TRUE y, despus, M
tendr el valor TRUE. Es decir: en cada nueva llamada de la funcin, Q volver a suministrar
FALSE hasta que CLK muestre un flanco ascendiente y un nuevo flanco descendente.
Development
environment Target system type PLC libraries to include

TwinCAT Version >= 2.6.0 PC or CX (x86) Standard.Lib

TwinCAT Version >= 2.6.0 BC (165) Standard.Lb6

TwinCAT Version >= 2.9.0 BCxx50 or BX Standard.lbx

TwinCAT Version >= CX (ARM) Standard.lib


2.10.0 Build >= 1301

TwinCAT PLC Library: Standard

FUNCTION_BLOCK R_TRIG

Detector para un flanco ascendente.

VAR_INPUT

VAR_INPUT

CLK : BOOL; (* Signal to detect *)

END_VAR

VAR_OUTPUT

VAR_OUTPUT

Q : BOOL; (* Edge detected *)

END_VAR
VAR

M : BOOL;

END_VAR

Siempre que la variable de entrada CLK suministre FALSE, la salida ser Q y la variable auxiliar M,
FALSE. Tan pronto como CLK suministre TRUE, Q suministrar primero TRUE y, despus, M
tendr el valor TRUE. Es decir: en cada nueva llamada de la funcin, Q volver a suministrar
FALSE hasta que CLK muestre un flanco descendiente y un nuevo flanco ascendente.

Development
environment Target system type PLC libraries to include

TwinCAT Version >= 2.6.0 PC or CX (x86) Standard.Lib

TwinCAT Version >= 2.6.0 BC (165) Standard.Lb6

TwinCAT Version >= 2.9.0 BCxx50 or BX Standard.lbx

TwinCAT Version >= CX (ARM) Standard.lib


2.10.0 Build >= 1301

TwinCAT PLC Library: Standard

FUNCTION_BLOCK RS

Restablecer el bloque de funciones de doble estabilidad:

Q1 = RS (SET, RESET1)

significa: Q1 = NOT RESET1 AND (Q1 OR SET)


VAR_INPUT

VAR_INPUT

SET : BOOL;

RESET1 : BOOL;

END_VAR

VAR_OUTPUT

VAR_OUTPUT

Q1 : BOOL;

END_VAR

Internal implementation of fb::

Q1: = NOT RESET1 AND (Q1 OR SET);

Development
environment Target system type PLC libraries to include

TwinCAT Version >= 2.6.0 PC or CX (x86) Standard.Lib

TwinCAT Version >= 2.6.0 BC (165) Standard.Lb6

TwinCAT Version >= 2.9.0 BCxx50 or BX Standard.lbx

TwinCAT Version >= CX (ARM) Standard.lib


2.10.0 Build >= 1301

TwinCAT PLC Library: Standard

FUNCTION_BLOCK SR
Establecer bloque de funciones de doble estabilidad como dominante:

Q1 = SR (SET1, RESET)

significa: Q1 = (NOT RESET AND Q1) OR SET1;

VAR_INPUT

VAR_INPUT

SET1 : BOOL;

RESET : BOOL;

END_VAR

VAR_OUTPUT

VAR_OUTPUT

Q1 : BOOL;

END_VAR

Internal implementation of fb:

Q1 := (NOT RESET AND Q1) OR SET1;

Development
environment Target system type PLC libraries to include

TwinCAT Version >= 2.6.0 PC or CX (x86) Standard.Lib

TwinCAT Version >= 2.6.0 BC (165) Standard.Lb6


TwinCAT Version >= 2.9.0 BCxx50 or BX Standard.lbx

TwinCAT Version >= CX (ARM) Standard.lib


2.10.0 Build >= 1301

TwinCAT PLC Library: Standard

FUNCTION_BLOCK SEMA

Un semforo de software (con posibilidad de interrupcin).

VAR_INPUT

VAR_INPUT

CLAIM : BOOL;

RELEASE : BOOL;

END_VAR

VAR_OUTPUT

VAR_OUTPUT

BUSY : BOOL;

END_VAR

Si se llama SEMA y BUSY es TRUE, significa que SEMA ya est ocupado (se ha llamado a SEMA
con CLAIM = TRUE). Si BUSY es FALSE, todava no se ha llamado a SEMA o se ha liberado
(llamada con RELEASE = TRUE).

Internal implementation of fb:


BUSY := X;
IF CLAIM
THEN
X:=TRUE;
ELSIF RELEASE
THEN
BUSY := FALSE;
X:= FALSE;
END_IF

Development
environment Target system type PLC libraries to include

TwinCAT Version >= 2.6.0 PC or CX (x86) Standard.Lib

TwinCAT Version >= 2.6.0 BC (165) Standard.Lb6

TwinCAT Version >= 2.9.0 BCxx50 or BX Standard.lbx

TwinCAT Version >= CX (ARM) Standard.lib


2.10.0 Build >= 1301

TwinCAT PLC Library: Standard

FUNCTION_BLOCK CTD

Contador descendente

VAR_INPUT

VAR_INPUT
CD : BOOL; (* Count Down on rising edge *)

LOAD : BOOL; (* Load Start Value *)

PV : WORD; (* Start Value *)

END_VAR

VAR_OUTPUT

VAR_OUTPUT

Q : BOOL; (* Counter reached 0 *)

CV : WORD; (* Current Counter Value *)

END_VAR

Si LOAD es TRUE, la variable de conteo CV se inicializa con el lmite superior PV. Si CD tiene un
flanco ascendente de FALSE a TRUE, CV se reduce en 1 mientras CV sea mayor que 0 (es decir,
mientras no supere el mnimo). Q suministra TRUE si CV es menor o igual que 0.

Development
environment Target system type PLC libraries to include

TwinCAT Version >= 2.6.0 PC or CX (x86) Standard.Lib

TwinCAT Version >= 2.6.0 BC (165) Standard.Lb6

TwinCAT Version >= 2.9.0 BCxx50 or BX Standard.lbx

TwinCAT Version >= CX (ARM) Standard.lib


2.10.0 Build >= 1301

TwinCAT PLC Library: Standard

FUNCTION_BLOCK CTU
Contador ascendente

VAR_INPUT

VAR_INPUT

CU : BOOL; (* Count Up *)

RESET : BOOL; (* Reset Counter to 0 *)

PV : WORD; (* Counter Limit *)

END_VAR

VAR_OUTPUT

VAR_OUTPUT

Q : BOOL; (* Counter reached the Limit *)

CV : WORD; (* Current Counter Value *)

END_VAR

Si RESET es TRUE, la variable de conteo CV se inicializa con 0. Si CU tiene un flanco ascendente


de FALSE a TRUE, el Bloque de Funciones CV aumentan en 1 mientras CV sea menor que PV (es
decir, mientras no se produce ningn exceso). Q suministra TRUE si CV es mayor o igual que
lmite superior PV.

Development
environment Target system type PLC libraries to include

TwinCAT Version >= 2.6.0 PC or CX (x86) Standard.Lib


TwinCAT Version >= 2.6.0 BC (165) Standard.Lb6

TwinCAT Version >= 2.9.0 BCxx50 or BX Standard.lbx

TwinCAT Version >= CX (ARM) Standard.lib


2.10.0 Build >= 1301

TwinCAT PLC Library: Standard

FUNCTION_BLOCK CTUD

Contador ascendente y descendente

VAR_INPUT

VAR_INPUT

CU : BOOL; (* Count Up *)

CD : BOOL; (* Count Down *)

RESET : BOOL; (* Reset Counter to Null *)

LOAD : BOOL; (* Load Start Value *)

PV : WORD; (* Start Value / Counter Limit *)

END_VAR

VAR_OUTPUT

VAR_OUTPUT
QU : BOOL; (* Counter reached Limit *)

QD : BOOL; (* Counter reached Null *)

CV : WORD; (* Current Counter Value *)

END_VAR

Cuando se aplica RESET, la variable de conteo CV se inicializa con 0. Cuando se aplica LOAD, CV
se inicializa con PV. Si CU tiene un flanco ascendente de FALSE a TRUE, CV aumenta en 1
mientras CV no cause ningn exceso. Si CD tiene un flanco ascendente de FALSE a TRUE, CV se
reduce en 1 mientras CV supere el mnimo. QU suministra TRUE cuando CV ha pasado a ser
mayor o igual que PV. QD suministra TRUE cuando CV ha pasado a ser menor o igual que 0.

Development
environment Target system type PLC libraries to include

TwinCAT Version >= 2.6.0 PC or CX (x86) Standard.Lib

TwinCAT Version >= 2.6.0 BC (165) Standard.Lb6

TwinCAT Version >= 2.9.0 BCxx50 or BX Standard.lbx

TwinCAT Version >= CX (ARM) Standard.lib


2.10.0 Build >= 1301

TwinCAT PLC Library: Standard

FUNCTION_BLOCK TOF

Timer off-delay.
VAR_INPUT

VAR_INPUT

IN : BOOL; (* starts timer with falling edge, resets timer with rising edge *)

PT : TIME; (* time to pass, before Q is set *)

END_VAR

VAR_OUTPUT

VAR_OUTPUT

Q : BOOL; (* is FALSE, PT seconds after IN had a falling edge *)

ET : TIME; (* elapsed time *)

END_VAR

Si IN es TRUE , las salidas son TRUE o 0. En cuanto IN sea FALSE, se el tiempo de ET se cuenta
en milisegundos hasta que el valor se iguale con el de PT y se mantiene as. Q es FALSE si IN es
FALSE y ET igual a PT. De lo contrario, es TRUE. Por lo tanto, Q tiene un flanco descendente
cuando ha finalizado el tiempo de PT indicado en milisegundos. Representacin grfica del
comportamiento del tiempo de TOF:

Development
environment Target system type PLC libraries to include
TwinCAT Version >= 2.6.0 PC or CX (x86) Standard.Lib

TwinCAT Version >= 2.6.0 BC (165) Standard.Lb6

TwinCAT Version >= 2.9.0 BCxx50 or BX Standard.lbx

TwinCAT Version >= CX (ARM) Standard.lib


2.10.0 Build >= 1301

TwinCAT PLC Library: Standard

FUNCTION_BLOCK TON

Timer on-delay

VAR_INPUT

VAR_INPUT

IN : BOOL; (* starts timer with rising edge, resets timer with falling edge *)

PT : TIME; (* time to pass, before Q is set *)

END_VAR

VAR_OUTPUT

VAR_OUTPUT

Q : BOOL; (* is TRUE, PT seconds after IN had a rising edge *)

ET : TIME; (* elapsed time *)


END_VAR

Si IN es FALSE, las salidas son FALSE o 0. Tan pronto como IN sea TRUE, el tiempo de ET se
cuenta en milisegundos hasta que el valor se iguale con el de PT y se mantiene as. Q es TRUE si
IN es TRUE y ET igual a PT. De lo contrario, es FALSE. Por lo tanto, Q tiene un flanco ascendente
cuando ha finalizado el tiempo de PT indicado en milisegundos. Representacin grfica del
comportamiento del tiempo de TON:

Development
environment Target system type PLC libraries to include

TwinCAT Version >= 2.6.0 PC or CX (x86) Standard.Lib

TwinCAT Version >= 2.6.0 BC (165) Standard.Lb6

TwinCAT Version >= 2.9.0 BCxx50 or BX Standard.lbx

TwinCAT Version >= CX (ARM) Standard.lib


2.10.0 Build >= 1301

TwinCAT PLC Library: Standard

FUNCTION_BLOCK TP
Transmisor de impulsos.

VAR_INPUT

VAR_INPUT

IN : BOOL; (* Trigger for Start of the Signal *)

PT : TIME; (* The length of the High-Signal in ms *)

END_VAR

VAR_OUTPUT

VAR_OUTPUT

Q : BOOL; (* The pulse *)

ET : TIME; (* The current phase of the High-Signal *)

END_VAR

Si IN es FALSE, las salidas son FALSE o 0. Tan pronto como IN sea TRUE, el tiempo de ET se
cuenta en milisegundos hasta que el valor se iguale con el de PT y se mantiene as. Q es TRUE si
IN es TRUE y ET inferior a PT. De lo contrario, es FALSE. Por lo tanto, Q suministra una seal
durante el perodo de tiempo indicado en PT.

Representacin del transcurso de TP en el tiempo:


Development
environment Target system type PLC libraries to include

TwinCAT Version >= 2.6.0 PC or CX (x86) Standard.Lib

TwinCAT Version >= 2.6.0 BC (165) Standard.Lb6

TwinCAT Version >= 2.9.0 BCxx50 or BX Standard.lbx

TwinCAT Version >= CX (ARM) Standard.lib


2.10.0 Build >= 1301

TwinCAT PLC Library: Standard

Bloques de cadena

Tenga en cuenta lo siguiente:

Las funciones de cadena no son seguras durante el cambio de tarea: Durante la utilizacin de
tareas slo se pueden utilizar funciones de cadena en una tarea. Si la misma funcin se utiliza en
diferentes tareas, existe peligro de sobrescritura.

TwinCAT PLC Library: Standard


FUNCTION CONCAT

Concatenacin (anexin) de dos cadenas.

FUNCTION CONCAT :STRING(255)

VAR_INPUT

STR1:STRING(255);

STR2:STRING(255);

END_VAR

Ejemplo en lenguaje IL:

LD 'SUSI'

CONCAT 'WILLI'

ST Var1 (* El resultado es 'SUSIWILLI' *)

Ejemplo en lenguaje ST:

Var1 := CONCAT ('SUSI','WILLI');

Development
environment Target system type PLC libraries to include

TwinCAT Version >= 2.6.0 PC or CX (x86) Standard.Lib

TwinCAT Version >= 2.6.0 BC (165) Standard.Lb6

TwinCAT Version >= 2.9.0 BCxx50 or BX Standard.lbx


TwinCAT Version >= CX (ARM) Standard.lib
2.10.0 Build >= 1301

TwinCAT PLC Library: Standard

FUNCTION DELETE

DELETE borra una cadena parcial de una cadena a partir de una determinada posicin. Significado
DELETE(STR, L, P): borrar L caracteres de STR empezando por el carcter P.

FUNCTION DELETE :STRING(255)

VAR_INPUT

STR :STRING(255);

LEN :INT;

POS :INT;

END_VAR

Ejemplo en lenguaje IL:

LD 'SUXYSI'
DELETE 2,3
ST Var1 (* El resultado es 'SUSI' *)

Ejemplo en lenguaje ST:

Var1 := DELETE ('SUXYSI',2,3);

Development Target system type PLC libraries to include


environment

TwinCAT Version >= 2.6.0 PC or CX (x86) Standard.Lib

TwinCAT Version >= 2.6.0 BC (165) Standard.Lb6

TwinCAT Version >= 2.9.0 BCxx50 or BX Standard.lbx

TwinCAT Version >= CX (ARM) Standard.lib


2.10.0 Build >= 1301

TwinCAT PLC Library: Standard

FUNCTION FIND

FIND busca una cadena parcial en una cadena. Significado de FIND(STR1, STR2): encontrar la
posicin del primer carcter de la primera aparicin de STR2 en STR1. Si STR2 no aparece en
STR1, se aplica OUT := 0.

FUNCTION FIND :INT

VAR_INPUT

STR1 :STRING(255);

STR2 :STRING(255);

END_VAR

Ejemplo en lenguaje IL:


LD 'SUXYSI'
FIND 'XY'
ST Var1 (* El resultado es 3 *)

Ejemplo en lenguaje ST:

Var1 := FIND ('SUXYSI','XY');

Development
environment Target system type PLC libraries to include

TwinCAT Version >= 2.6.0 PC or CX (x86) Standard.Lib

TwinCAT Version >= 2.6.0 BC (165) Standard.Lb6

TwinCAT Version >= 2.9.0 BCxx50 or BX Standard.lbx

TwinCAT Version >= 2.10.0 CX (ARM) Standard.lib


Build >= 1301

TwinCAT PLC Library: Standard

FUNCTION INSERT

INSERT inserta una cadena en otra a partir de una determinada posicin. Significado de
INSERT(STR1, STR2, POS): insertar STR2 en STR1 despus de la posicin POS.

FUNCTION INSERT :STRING(255)


VAR_INPUT

STR1 :STRING(255);

STR2 :STRING(255);

POS :INT;

END_VAR

Ejemplo en lenguaje IL:

LD 'SUSI'
INSERT 'XY',2
ST Var1 (* El resultado es 'SUXYSI' *)

Ejemplo en lenguaje ST:

Var1 := INSERT ('SUSI','XY',2);

Development
environment Target system type PLC libraries to include

TwinCAT Version >= 2.6.0 PC or CX (x86) Standard.Lib

TwinCAT Version >= 2.6.0 BC (165) Standard.Lb6

TwinCAT Version >= 2.9.0 BCxx50 or BX Standard.lbx

TwinCAT Version >= CX (ARM) Standard.lib


2.10.0 Build >= 1301

TwinCAT PLC Library: Standard

FUNCTION LEFT
Left suministra una cadena inicial izquierda de una cadena. Significado de LEFT (STR, SIZE): toma
los primeros caracteres SIZE desde la izquierda de la cadena STR.

FUNCTION LEFT :STRING(255)

VAR_INPUT

STR :STRING(255);

SIZE :INT;

END_VAR

Ejemplo en lenguaje IL:

LD 'SUSI'
LEFT 3
ST Var1 (* El resultado es 'SUS' *)

Ejemplo en lenguaje ST:

Var1 := LEFT ('SUSI',3);

Development
environment Target system type PLC libraries to include

TwinCAT Version >= 2.6.0 PC or CX (x86) Standard.Lib

TwinCAT Version >= 2.6.0 BC (165) Standard.Lb6

TwinCAT Version >= 2.9.0 BCxx50 or BX Standard.lbx

TwinCAT Version >= CX (ARM) Standard.lib


2.10.0 Build >= 1301

TwinCAT PLC Library: Standard

FUNCTION LEN

Emite la longitud de cadena (string).

FUNCTION LEN : INT

VAR_INPUT

STR :STRING(255);

END_VA

Ejemplo en lenguaje IL:

LD 'SUSI'
LEN
ST Var1 (* El resultado es 4 *)

Ejemplo en lenguaje ST:

Var1 := LEN ('SUSI');

Development
environment Target system type PLC libraries to include

TwinCAT Version >= 2.6.0 PC or CX (x86) Standard.Lib

TwinCAT Version >= 2.6.0 BC (165) Standard.Lb6


TwinCAT Version >= 2.9.0 BCxx50 or BX Standard.lbx

TwinCAT Version >= CX (ARM) Standard.lib


2.10.0 Build >= 1301

TwinCAT PLC Library: Standard

FUNCTION MID

Mid suministra una cadena parcial de una cadena. Significado de MID (STR, LEN, POS): buscar
caracteres LEN de la cadena STR empezando por el carcter de la posicin POS.

FUNCTION MID :STRING(255)

VAR_INPUT

STR :STRING(255);

LEN :INT;

POS :INT;

END_VAR

Ejemplo en lenguaje IL:

LD 'SUSI'
MID 2,2
ST Var1 (* El resultado es 'US' *)

Ejemplo en lenguaje ST:

Var1 := MID ('SUSI',2,2);


Development
environment Target system type PLC libraries to include

TwinCAT Version >= 2.6.0 PC or CX (x86) Standard.Lib

TwinCAT Version >= 2.6.0 BC (165) Standard.Lb6

TwinCAT Version >= 2.9.0 BCxx50 or BX Standard.lbx

TwinCAT Version >= CX (ARM) Standard.lib


2.10.0 Build >= 1301

TwinCAT PLC Library: Standard

FUNCTION REPLACE

REPLACE sustituye una cadena parcial de una cadena por otra. Significado de REPLACE(STR1,
STR2, L, P): sustituir L caracteres STR1 por STR2 empezando por el carcter P.

FUNCTION REPLACE :STRING(255)

VAR_INPUT

STR1 :STRING(255);

STR2 :STRING(255);

L :INT;

P :INT;
END_VAR

Ejemplo en lenguaje IL:

LD 'SUXYSI'
REPLACE 'K',2,2
ST Var1 (* El resultado es 'SKYSI' *)

Ejemplo en lenguaje ST:

Var1 := REPLACE ('SUXYSI','K',2,2);

Development
environment Target system type PLC libraries to include

TwinCAT Version >= 2.6.0 PC or CX (x86) Standard.Lib

TwinCAT Version >= 2.6.0 BC (165) Standard.Lb6

TwinCAT Version >= 2.9.0 BCxx50 or BX Standard.lbx

TwinCAT Version >= CX (ARM) Standard.lib


2.10.0 Build >= 1301

TwinCAT PLC Library: Standard

FUNCTION RIGHT

Right suministra una cadena inicial derecha de una cadena. Significado de RIGHT (STR, SIZE):
toma los primeros caracteres SIZE desde la derecha de la cadena STR.

FUNCTION RIGHT :STRING(255)


VAR_INPUT

STR :STRING(255);

SIZE :INT;

END_VAR

Ejemplo en lenguaje IL:

LD 'SUSI'
RIGHT 3
ST Var1 (* El resultado es 'USI' *)

Ejemplo en lenguaje ST:

Var1 := RIGHT ('SUSI',3);

Development
environment Target system type PLC libraries to include

TwinCAT Version >= 2.6.0 PC or CX (x86) Standard.Lib

TwinCAT Version >= 2.6.0 BC (165) Standard.Lb6

TwinCAT Version >= 2.9.0 BCxx50 or BX Standard.lbx

TwinCAT Version >= CX (ARM) Standard.lib


2.10.0 Build >= 1301

Bibliotecas PLC TwinCAT

Convenciones de programacin para la creacin de las

Las siguientes convenciones de programacin sirven para nombrar de forma uniforme los objetos,
las variables y las instancias de objetos y variables. De este modo el cdigo y especialmente las
interfaces de los bloques de funciones y funciones (por ejemplo en las bibliotecas PLC) resultan
fcilmente descifrables y comprensibles para nosotros y para los dems, y se facilita el
mantenimiento del cdigo.

Este documento slo se refiere a la creacin de bibliotecas PLC nuevas. Las bibliotecas ya
existentes, por motivos de compatibilidad, no se modifican.Para el usuario TwinCAT y el
programador PLC este documento se debe considerar como una ayuda orientativa, dado que en la
norma IEC61131-3 no se describen estas convenciones de programacin.

Nombrar las bibliotecas PLC

Todas las bibliotecas que se suministran con TwinCAT o que se pueden instalar con el Supplement
CD, empiezan con el prefijo Tc..

Ejemplo: TcUtilities.Lib

Las bibliotecas para el sistema de tiempo de funcionamiento en el PC poseen la extensin del


nombre de archivo *.Lib, mientras que las bibliotecas controladores de bus (BC) poseen la
extensin del nombre de archivo *.Lb6 y las letras adicionales BC al final del nombre de la
biblioteca.

Ejemplo:

TcTempCtrl.Lib

TcTempCtrlBC.Lb6

Identificador

Los identificadores se deben nombrar con un prefijo unifome para que el tipo de objeto se pueda
reconocer fcilmente. A continuacin se detallan las convenciones recomendadas:

Definicin de nombres de objetos

Objeto Prefijo Descripcin Ejemplo

FUNCTION_BLOC FB_ Bloque de FB_GetData


K Funciones

STRUCT ST_ Estructura ST_BufferEntry


ENUM E_ Tipo de E_SignalStates
enumeracin

TYPE T_ Referencia T_Nibble

PROGRAM P_ Programa P_Axis

FUNCTION F_ Funcin F_Convert

Generacin de las instancias de objetos

Ejemplo para la
Objeto Prefijo Descripcin Instancia llamada

function fb Nombre de fbGetData fbGetData();


block instancia de
bloque de
funciones

struct st Nombre de stBufferEntry stBufferEntry.nCounte


instancia de la r := 5;
estructura

enum e Instancia de una eSignalState eSignalState :=


enumeracin E_STOP;

alias type ninguno Nombre de Nibble Nibble := 1;


instancia de un
tipo de
referencia
Generacin de las instancias de variables

Tipo Prefijo Descripcin Ejemplo

SINT, USINT, , n, i numeric / nCount, iError


DINT, UDINT, integer
BYTE, WORD,
DWORD,
LWORD....

BOOL b bit bSwitch

REAL, LREAL f float fValue

STRING s string sName

TIME t time tDelay

DATE d date dMonday

DATE_AND_TIM dt date and time dtNewYear


E

ARRAY[...] OF ... arr arrays arrMessages

p p pointer pData

Otros prefijos que se pueden utilizar

Prefijo Descripcin Ejemplo

cb count of bytes cbLength


cw count of words cwRead

Maysculas/minsculas

En el nombre de objeto el prefijo se escribe en maysculas. El carcter de separacin entre el


prefijo y el nombre de objeto es el guin bajo (_). En los nombres de variables e instancias el prefijo
siempre se escribe en minsculas. La primera letra del identificador siempre se escribe en
maysculas. Si un identificador tiene varias palabras, la primera letra de cada palabra siempre se
escribir en mayscula. No se debe utilizar ningn carcter de separacin (por ejemplo: _ ) entre
las palabras (vase ejemplo ms arriba).

Caracteres vlidos

Los identificadores slo pueden contener las siguientes letras, nmeros y caracteres especiales:

0...9, A...Z, a...z,

Anotaciones

Todos los identificadores deben indicarse en ingls.

Comprobacin de la versin

Cada biblioteca debe contener una funcin en la cual est almacenada la siguiente informacin:

Nmero de versin

Versin TwinCAT en la cual se ha creado la Library

Fecha (formato americano)

Programador

Observaciones

El nmero de versin debe poderse leer durante el tiempo de ejecucin del programa. El nmero
de versin est formado por tres valores numricos. Cada valor se puede leer individualmente (ver
ejemplo). Para que el nombre de la versin sea exclusivo, este nombre contiene el nombre de la
biblioteca. Ejemplo de la biblioteca TcBABasic.lib:

FUNCTION F_GetVersionTcBABasic : UINT

VAR_INPUT

nVersionElement:INT;END_VARVAREND_VAR(* Version history:Date|Version| created


under|Author|Remark----------------------------------------------------------------------------------------10/01/2001|
1.0.0|V2.7.0 (Build 402) | S. Mustermann| first release*)CASE nVersionElement OF1: (* major
number *)F_GetVersionTcBABasic := 1;2: (* minor number *)F_GetVersionTcBABasic := 0;3: (*
revision number *)F_GetVersionTcBABasic := 0;ELSEF_GetVersionTcBABasic :=
16#FFFF;END_CASE

TwinCAT PLC bibliotecas PC

Vista de conjuncto PC

La lista siguiente proporciona a una descripcin de la distincin existente del PLC libraries con el
target system PC(i386).

Se traza una distincin entre

"Estndares Bibliotecas": provisto como componentes de los varios niveles de TwinCAT

"Otras bibliotecas": cada uno disponible como separado producto

Estndares
Bibliotecas Provisto de Descripcin

TwinCAT PLC TwinCAT PLC Biblioteca que contiene varios servicios, por
Library: ejemplo ADS bloques, file handling, NT logbook
Sistema handling, definicin de las estructuras del sistema,
del etc.
TwinCAT PLC TwinCAT PLC Library containing extended mathematical
Library: Math functions

TwinCAT PLC TwinCAT PLC Biblioteca que contiene varios servicios E/S, por
Library: IO ejemplo Reset E/S o localizacin del punto de
Functions fractura de la fibra ptica para dispositivos
Lightbus.

TwinCAT PLC TwinCAT PLC Biblioteca que contiene varios servicios tiles, por
Library: ejemplo Iniciar/Parar PLC o Cerrar NT.
Utilities

TwinCAT PLC TwinCAT PLC Biblioteca que contiene varios bloques de


Library: funciones para acceder a los registros de terminal
Coupler y funciones de acoplador.

TwinCAT PLC TwinCAT PLC Library containing function blocks for access
Library: EtherCAT master and slave devices.
EtherCAT

TwinCAT PLC TwinCAT NC Library containing functions function blocks for


Library: Drive access SoE drives.

TwinCAT PLC TwinCAT NC Library containing functions function blocks for


Library: NC access SoE drives.
Drive

TwinCAT PLC TwinCAT NC Biblioteca para manejar ejes PTP, por ejemplo la
Library: NC definicin de estructuras de ejes, comandos de
inicio, parada y Reset.

TwinCAT PLC TwinCAT NC Biblioteca contiene bloques de funciones


Library: MC PLCOpen estandarizados.
TwinCAT PLC TwinCAT NC Biblioteca contiene bloques de funciones
Library: MC PLCOpen estandarizados.
(Version 2)

TwinCAT PLC TwinCAT NC Library containing various function blocks for SoE
Library: MC drives accessing to the drive via axis structure.
Drive (Version
2)

TwinCAT PLC TwinCAT NC- Bloques para el uso del intrprete (por ejemplo el
Library: NC I cargar, empezando, etc.)
Interpreter

TwinCAT PLC TwinCAT NC- Bloques para la configuracin del grupo de la


Library: NC I interpolacin (por ejemplo creacin 3D del grupo)
Configuration

TwinCAT PLC TwinCAT PLC Biblioteca que contiene varios bloques de


Library: Event funciones para el intercambio de datos entre PLC
driven Data y otros dispositivos ADS.
Exchange
blocks

TwinCAT PLC TwinCAT PLC Library containing various function blocks for using
Library: special features on Embedded PC CX.
SystemCX

TwinCAT PLC TwinCAT PLC Library containing various function blocks for using
Library: special features on Embedded PC CX1000.
SystemCX1000
TwinCAT PLC TwinCAT PLC Library containing various function blocks for using
Library: special features on Embedded PC CX1010.
SystemCX1010

TwinCAT PLC TwinCAT PLC Library containing various function blocks for using
Library: special features on Embedded PC CX1020.
SystemCX1020

TwinCAT PLC TwinCAT PLC Library containing various function blocks for using
Library: special features on Embedded PC CX1030.
SystemCX1030

TwinCAT PLC TwinCAT PLC Library containing various function blocks for using
Library: special features on Embedded PC CX9000.
SystemCX9000

TwinCAT PLC TwinCAT PLC Library containing various function blocks for using
Library: special features on Embedded PC CX9010.
SystemCX9010

TwinCAT PLC TwinCAT PLC Library containing various function blocks for using
Library: special features on PC C69xx.
SystemC69xx

TwinCAT PLC TwinCAT PLC Library containing various function blocks for using
Library: special features on Control Panel PC CP66xx.
SystemCP66xx

Otras bibliotecas Descripcin

TwinCAT PLC Library: Biblioteca que contiene bloques bsicos para


Building Automation automatizacin de edificio.
TwinCAT PLC Library: Biblioteca que contiene bloques bsicos para
Building Automation DALI automatizacin de edificio.

TwinCAT PLC Library: HVAC Library containing blocks for automation of heating,
ventilation, air conditioning and sanitary systems.

TwinCAT PLC Library: M-Bus Library containing blocks for reading M-Bus
devices.

TwinCAT PLC Library: Library containing blocks to represent automatic


Controller Toolbox control engineering transfer elements.

TwinCAT PLC Library: Library containing blocks and functions about


Hydraulics hydraulic axes.

TwinCAT PLC Library: RFID Library for communication with RFID readern from
Reader Communication PLC.

TwinCAT PLC S5/S7 Library with function blocks for serial


Communication communication between local TwinCAT PLC and
S5/S7 controller via Ethernet.

TwinCAT PLC Library: Libraries containing blocks for communication


IEC60870-5-10x according to IEC60870-5-10x.

TwinCAT PLC Library: Modular Library for access to MDP (Modular Device Profile)
Device Profile device information.

TwinCAT PLC Library: MC Biblioteca que contiene bloques para operaciones


Camming ( Version 2) NC de mesa de leva.

TwinCAT PLC Library: MC Library for SoE drives. The access to the drive is
Drive (Version 2) done via MC2 axis structure.

TwinCAT PLC Library: MC Biblioteca que contiene bloques para utilizar NC


Flying Saw (Version 2) Sierra volante

TwinCAT PLC Library: MC XFC Library containing blocks for precisely timed
acquisition of axis positions and output of digital
signals at precise positions in conjunction with
EtherCAT XFC terminals.

TwinCAT PLC Library: NC Biblioteca que contiene bloques para operaciones


Camming NC de mesa de leva.

TwinCAT PLC Library: NC Library for SoE drives. The access to the drive is
Drive done via NC axis structure.

TwinCAT PLC Library: NC Biblioteca que contiene bloques para funciones de


FIFO Axis ejes NC FIFO.

TwinCAT PLC Library: NC Biblioteca que contiene bloques para utilizar NC


Flying Saw Sierra volante

TwinCAT PLC Library: PID Biblioteca que contiene controlador PID y bloque
PWM.

TwinCAT PLC Library: Raid Library containing blocks for RAID Controller.
Controller

TwinCAT PLC Library: Library containing blocks to synchronize distributed


RemoteSync systems.

TwinCAT PLC Library: Serial Biblioteca que contiene los bloques para la
Communication comunicacin serial a travs de las estaciones de
los terminales de bus o del acceso serial de la PC.

TwinCAT PLC Library: Serial Biblioteca que contiene los bloques para la
Communication 3964R comunicacin serial usando el protocolo 3964R a
travs de los terminales de bus o del acceso serial
de la PC.

TwinCAT PLC Library: Serial Biblioteca que contiene bloques para la


Communication RK512 comunicacin en serie utilizando el protocolo
RK512 a travs de terminales de bus o el puerto
serie del PC.

TwinCAT PLC Library: Serial Biblioteca que contiene bloques para la


Communication Modbus RTU comunicacin en serie utilizando el protocolo
Modbus RTU a travs de terminales de bus o el
puerto serie del PC.

TwinCAT PLC Library: Serial Library containing blocks for controlling the
Communication EnOcean wireless adapter KL6023 (EnOcean technology).

TwinCAT PLC Library: Solar Library with function blocks for determination of the
Position Algorithm position of the sun.

TwinCAT PLC Library: Biblioteca para el control de temperatura con


Temperature Controller ajuste automtico.

Beckhoff Automation: Prlogo

Indicaciones sobre la documentacin

Esta documentacin est dirigida exclusivamente al personal profesional con conocimiento de la


tcnologa de control y automatizacin, familiarizado con las normas nacionales vigentes.
Para la instalacin y puesta en marcha de los componentes es imprescindiblemente necesaria la
observacin de las siguientes indicaciones.

El personal profesional debe asegurar, que la aplicacin y el empleo de los productos


documentados cumplen todos los requisitos de seguridad, incluyendo todas las leyes,
especificaciones, reglamentaciones y normas aplicables.

Nota legal

Esta documentacin ha sido cuidadosamente elaborada. No obstante, los productos documentados


estn en continuo desarrollo.
Por esta razn no podemos garantizar la absoluta coincidencia de la documentacin conlas
especificaciones documentadas, normas u otras caractersticas.
En caso de que contenga errores tcnicos o de redaccin, nos reservamos el derecho a realizar
modificaciones en cualquier momento sin previo aviso.
De las indicaciones, ilustraciones y descripciones de esta documentacin, no se puede hacer valer
ningn derecho a modificaciones de los productos ya suministrados.

Marcas

Beckhoff, TwinCAT, EtherCAT, Safety over EtherCAT, TwinSAFE y XFC son marcas
registradas y licenciadas de Beckhoff Automation GmbH. La utilizacin de marcas o distintivos
incluidos en esta documentacin por parte de terceros puede constituir una violacin de los
derechos del titular de las correspondientes denominaciones.

Patentes

La tecnologa TwinCAT est protegida mediante patente, en particular por las siguientes solicitudes
y patentes:
EP0851348, US6167425 con los registros y inscripciones correspondientes en varios otros pases.

Copyright

Beckhoff Automation GmbH.

Sin nuestra expresa autorizacin, queda terminantemente prohibida la reproduccin total o parcial
de este documento, asi como su uso indebido y/o su exhibicin o comunicacin a terceros. De los
infractores se exigir el correspondiente resarcimiento de daos y perjuicios. Quedan reservados
todos los derechos inherentes, en especial los de patentes, de modelos registrados y estticos.
TwinCAT PLC Library: Sistema

Estado

No todos los mdulos de funcin y las funciones que a menudo se requieren en las aplicaciones
PLC estn normalizadas en IEC61131-3. La librera system incluye las funciones y mdulos de
funcin del Sistema TwinCAT que no estn incluidas en la norma IEC61131-3 y que, por
consiguiente, son especficas de cada fabricante.Biblioteca adicional.

Mdulos de funcin

Mdulos de funcin ADS

Nombre Descripcin

ADSREAD Lectura de datos mediante ADS.

ADSWRITE Escritura de datos mediante ADS.

ADSRDWRT Escritura y lectura de datos mediante ADS

ADSRDSTATE Lectura del estado de un dispositivo mediante ADS.

ADSWRTCTL Escritura de trminos de control en un dispositivo mediante


ADS.

ADSRDDEVINFO Lectura de la informacin de un dispositivo mediante ADS.

ADSREADEX Lectura de datos mediante ADS. Devuelve el nmero de


bytes de datos ledos realmente.

ADSRDWRTEX Escritura y lectura de datos mediante ADS. Devuelve el


nmero de bytes de datos ledos realmente.
Mdulos de funcin ADS ampliados

Nombre Descripcin

ADSREADIND ADSREAD-Indication

ADSWRITEIND ADSWRITE-Indication

ADSRDWRTIND ADSRDWRT-Indication

ADSREADRES ADSREAD-Response

ADSWRITERES ADSWRITE-Response

ADSRDWRTRES ADSRDWRT-Response

Mdulos de funcin generales

Nombre Descripcin

DRAND Generador de nmeros aleatorios.

GETCURTASKINDEX Determinacin de la lista de tareas actual.

Mdulos de funciones de tiempo

Nombre Descripcin

GETSYSTEMTIME Tiempo del sistema operativo.

GETTASKTIME Reads target start time of the task.


GETCPUCOUNTER Ciclo de la CPU.

GETCPUACCOUNT Ciclo de la PLC tarea (task)

Mdulos de funcin de archivos

Con los siguientes mdulos de funcin se pueden editar localmente en los archivos del PC desde
el PLC. Mediante la direccin de red AMS se identifica el sistema de destino TwinCAT. Con este
mecanismo es posible, entre otras cosas, crear o editar archivos en otros sistemas TwinCAT
conectados. El acceso a los archivos consta de tres fases consecutivas:

1. Abrir el archivo.

2. Acceder al archivo abierto para lectura o escritura.

3. Cerrar el archivo.

La apertura del archivo sirve para generar una conexin temporal entre los archivos externos, de
los que de momento slo se conoce el nombre, y el programa en ejecucin. El cierre del archivo
sirve para indicar el trmino de la edicin y para poner los archivos en un estado de salida definido
para la edicin con otros programas.

Nombre Descripcin

FB_FileOpen Apertura de un archivo.

FB_FileClose Cierre de un archivo.

FB_FileWrite Escritura en un archivo.

FB_FileRead Lectura de un archivo.


FB_FileSeek Posicin del puntero de archivo.

FB_FileTell Consiga la posicin del puntero de un archivo.

FB_FilePuts Cadena puesta a un archivo.

FB_FileGets Consiga la cadena de un archivo.

FB_EOF Controle el extremo de un archivo.

FB_FileDelete Suprima de un archivo.

FB_FileRename Retitule de un archivo.

FB_CraeteDir Create new folder.

FB_RemoveDir Remove a folder.

TwinCAT 2.7 mdulos de funcin para el acceso a archivos

Estos mdulos de funcin son contenidos nicos para la compatibilidad razonan en la biblioteca y
no deber no ser usados en nuevos proyectos.

Nombre Descripcin

FILEOPEN Apertura de un archivo.

FILECLOSE Cierre de un archivo.

FILEWRITE Escritura en un archivo.


FILEREAD Lectura de un archivo.

FILESEEK Posicin del puntero de archivo.

Funcines IEC / SFC

Este funcin / mdulo de funcin se precisa para poder utilizar los pasos IEC o flags de SFC en los
programas / proyectos de SFC.

Nombre Descripcin

SFCActionControl El mdulo de funcin se precisa en los proyectos PLC que


utilizan flags de SFC

AnalyzeExpression La funcin se precisa en los proyectos PLC que utilizan


flags de SFC

AppendErrorString La funcin se precisa en los proyectos PLC que utilizan


flags de SFC.

Funcines Eventlogger

The TwinCAT Eventlogger manages all occuring messages (events) in the TwinCAT System. It
transfers the data and writes them into the TwinCAT log file.

Nombre Description

ADSLOGEVENT Sending and acknowledgement of messages to the


TwinCAT Eventlogger.

ADSCLEAREVENTS Sending and acknowledgement of messages to the


TwinCAT Eventlogger.
Funcines

Funcines generales

Nombre Descripcin

F_SplitPathName Break a path name into components.

F_CreateIPv4Addr Converts address bytes to IPv4 address string.

F_ScanIPv4AddrIds Converts IPv4 address string to address bytes.

SETBIT32 Definicin de un bit en DWORD.

CSETBIT32 Definicin/eliminacin de un bit en DWORD.

CLEARBIT32 Eliminacin de un bit en DWORD.

GETBIT32 Lectura de un bit de DWORD.

LPTSIGNAL Salida de una seal en un pin del puerto paralelo.

F_GetStructMemberAlignmen Reads data struct member alignment information.


t

F_GetVersionTcSystem Devuelve a la informacin de versin de librera.

I/O port access

Nombre Descripcin

F_IOPortRead Lee del puerto E/S


F_IOPortWrite Escribe al puerto E/S

Funcines ADS

A continuacin se describen las funciones a las que se puede acceder con la ayuda de las
subfuncionalidades de la interfaz ADS del sistema operativo Windows-NT (por ejemplo, la
presentacin de cuadros de mensajes) mediante las posibilidades de llamada en PLC.

Nombre Descripcin

ADSLOGDINT Definicin de un bit en DWORD.

ADSLOGLREAL Eliminacin de un bit en DWORD.

ADSLOGSTR Lectura de un bit de DWORD.

F_CreateAmsNetId Crea cadena AmsNetId.

F_ScanAmsNetIds Convierte la cadena AmsNetId a matriz de bytes de


direccin

Funcines memory

El nmero de funciones que provee acceso directo a reas de memoria en el PLC runtime sistema.

Commentario

El hecho que estas funciones permiten acceso directo la fsico memoria significan que los
especiales cuidado es requerido en los aplicar! Los valores los de incorrectos parmetro pueden
resultar en un choque de sistema, o en el acceso a prohibido memoria reas.

Nombre Descripcin
MEMCMP Comparar los valores de variables en dos reas de
memoria.

MEMCPY Copiar varlores de las variables de un rea de memoria a


otra.

MEMSET Ajustar con un valor determinado en un rea de memoria.

MEMMOVE Copiar varlores de las variables de un rea de memoria a


otra.

Funciones de carcter

Nombre Descripcin

F_ToASC Convierte carcter de cadena a nmero ASCII

F_ToCHR Convierte nmero ASCII a carcter de cadena

TwinCAT PLC Library: Sistema

FUNCTION_BLOCK ADSREAD
El mdulo de funcin permite la ejecucin de un comando de lectura ADS para solicitar datos de un
dispositivo ADS.

VAR_INPUT

VAR_INPUT

NETID : T_AmsNetId;

PORT : T_AmsPort;

IDXGRP : UDINT;

IDXOFFS : UDINT;

LEN : UDINT;

DESTADDR : DWORD;

READ : BOOL;

TMOUT : TIME;

END_VAR

NETID : Es una cadena que incluye la identificacin de la red AMS del dispositivo de destino al que
se dirige el comando ADS.

PORT : Incluye el nmero de puerto del dispositivo ADS.

IDXGRP : Incluye el nmero de grupo de grupo ndice (32 bits, sin signo) del servicio ADS
solicitado. Este valor se debe tomar de la tabla ADS del dispositivo solicitado.

IDXOFFS : Incluye el nmero Offset ndice ( 32 bits, sin signo) del servicio ADS solicitado. Este
valor se debe tomar de la tabla ADS del dispositivo solicitado.

LEN : Este valor se debe tomar de la tabla ADS del dispositivo solicitado.

DESTADDR : Incluye la direccin del bfer que debe guardar los datos ledos. El programador es
responsable de dimensionar el bfer a un tamao en que se puedan guardar los bytes LEN. El
bfer puede ser una variable nica, un array o una estructura cuya direccin se pueda determinar
con el operador ADR.
READ : El comando ADS se inicia por un lado creciente en esta entrada.

TMOUT : Indica el tiempo hasta la cancelacin de la funcin.

VAR_OUTPUT

VAR_OUTPUT

BUSY : BOOL;

ERR : BOOL;

ERRID : UDINT;

END_VAR

BUSY : Esta salida permanece en TRUE hasta que el mdulo ejecuta la peticin de un comando,
por lo menos durante el tiempo especificado en la entrada Timeout. Mientras el parmetro Busy =
TRUE, no se recibe ningn comando nuevo en las entradas. Tenga en cuenta que no es la
ejecucin del servicio lo que se debe observar oportunamente, sino solamente su aceptacin.

ERR : Esta salida cambia a TRUE, si aparece un error en la ejecucin de un comando. El cdigo
de error especfico est contenido en ErrorId. Cuando el mdulo detecta un error de Timeout,
'Error' = TRUE y 'ErrorId' = 1861 (hexadecimal 0x745). Se vuelve a cambiar a FALSE mediante la
ejecucin de un comando en las entradas.

ERRID : Incluye el cdigo de error especfico del ltimo comando ejecutado. Se vuelve a cambiar a
0 mediante la ejecucin de un comando en las entradas.

Ejemplo de la llamada del mdulo en FBD:


De este modo, el estado de error del eje N 6 es ledo como un elemento de 4 bytes y escrito en el
bfer dataArr. IDXGRP 00004006(hex) y IDXOFFS 00000001(hex) se obtienen de la
documentacin NC-ADS.

Entorno de desarrollo Plataforma de destino Bibliotecas PLC a integrar

TwinCAT v2.7.0 PC or CX (x86) PLCSystem.Lib

TwinCAT v2.8.0 PC or CX (x86) TcSystem.Lib

TwinCAT v2.10.0 Build CX (ARM) TcSystem.Lib


>= 1301

S-ar putea să vă placă și