Controlador Programable S7-1200 PART5

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

Instrucciones tecnológicas 10

10.1 Contaje (contadores rápidos)


Las instrucciones básicas con contadores, descritas en "Operaciones con contador"
(Página 249), están limitadas a eventos de contaje que se producen a una velocidad inferior
al ciclo de la CPU S7-1200. La función de contador rápido (HSC) ofrece la posibilidad de
contar impulsos que ocurren a una velocidad mayor que el ciclo del PLC. Además, el HSC
puede configurarse para que mida la frecuencia y el período de los impulsos que se han
producido, o bien para que Motion Control pueda utilizar el HSC para leer una señal de
encóder del motor.
Para utilizar la función de HSC, este debe activarse y configurarse primero en la ficha
Propiedades de la CPU, en la pantalla de configuración de dispositivos. Para empezar a
configurar el HSC, consulte "Configurar un contador rápido" (Página 582).
Después de descargar la configuración hardware, el HSC puede contar impulsos o medir
frecuencias sin necesidad de llamar instrucciones. Cuando el HSC está en modo de contaje
o período, el valor de contaje se captura automáticamente y se actualiza en la memoria
imagen de proceso (de las entradas) cada ciclo. Si el HSC está en modo de frecuencia, el
valor de la memoria imagen de proceso es la frecuencia en Hz.
Además de contar y medir, el HSC puede generar eventos de alarma de proceso, funcionar
según el estado de los puntos de entrada físicos y generar un impulso de salida de acuerdo
con un evento de contador especificado (solo CPU V4.2 o superiores). La instrucción
tecnológica CTRL_HSC_EXT permite al programa de usuario controlar el HSC en relación al
programa. CTRL_HSC_EXT actualiza parámetros del HSC y devuelve los valores más
actuales cuando se ejecuta. La instrucción CTRL_HSC_EXT puede utilizarse cuando el HSC
está en modo de contaje, período o frecuencia.

Nota
La instrucción CTRL_HSC_EXT sustituye la antigua instrucción CTRL_HSC para proyectos
con CPU V4.2 y posteriores. La instrucción CTRL_HSC_EXT incluye toda la funcionalidad
de la instrucción CTRL_HSC y algunas funciones adicionales. La antigua instrucción
CTRL_HSC solo está disponible para la compatibilidad con proyectos S7-1200 antiguos y no
debería utilizarse en proyectos nuevos.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 565
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

10.1.1 Instrucción CTRL_HSC_EXT (controlar contador rápido)

10.1.1.1 Descripción general de la instrucción

Tabla 10- 1 Instrucción CTRL_HSC_EXT

KOP / FUP SCL Descripción


"CTRL_HSC_1_DB" ( Toda instrucción CTRL_HSC_EXT (con-
hsc:=_hw_hsc_in_, trolar contadores rápidos (avanzado))
done:=_done_out_, utiliza una estructura de datos definida
busy:=_busy_ out_, por el sistema y almacenada en un DB
error:=_error_out_, global definido por el usuario para guardar
status:=_status_out_, los datos de contador. Los tipos de datos
HSC_Count, HSC_Period o
ctrl:=_variant_in_);
HSC_Frequency se asignan a la instruc-
ción CTRL_HSC_EXT como parámetros
de entrada.
1 STEP 7 crea el DB automáticamente al insertar la instrucción.
2 En el ejemplo SCL, "CTRL_HSC_1_DB" es el nombre del DB de instancia.

Tabla 10- 2 Tipos de datos para los parámetros

Parámetro Declaración Tipo de datos Descripción


HSC IN HW_HSC Identificador del HSC
CTRL IN_OUT Variant Entrada de SFB y datos de retorno.
Nota: Encontrará más información en "Tipos de datos de sis-
tema (SDT) de la instrucción CTRL_HSC_EXT (Página 570)".
DONE OUT Bool 1= Indica que el SFB está terminado. Siempre 1 porque el
SFB es síncrono
BUSY OUT Bool Siempre 0, la función nunca está ocupada
ERROR OUT Bool 1 = Indica un error
STATUS OUT Word Código de condición de ejecución
Nota: consulte la tabla inferior "Códigos de condición de eje-
cución" para obtener más información.

Tabla 10- 3 Códigos de condición de ejecución

STATUS (W#16#) Descripción


0 No hay error
80A1 El identificador HSC no direcciona un HSC
80B1 Valor de NewDirection no permitido
80B4 Valor de NewPeriod no permitido
80B5 Valor de NewOpModeBehavior no permitido
80B6 Valor de NewLimitBehavior no permitido
80D0 El SFB 124 no está disponible

Controlador programable S7-1200


566 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

10.1.1.2 Ejemplo
Para utilizar la instrucción CTRL_HSC_EXT, proceda del siguiente modo:
1. Coloque la instrucción CTRL_HSC_EXT en el segmento KOP, con lo que también se
crea el siguiente bloque de datos de instancia: "CTRL_HSC_EXT_DB":

2. Adjunte el identificador de hardware del HSC, que se encuentra en las propiedades del
HSC, al pin "HSC" de la instrucción KOP. También puede seleccionar uno de los seis
objetos "Hw_Hsc" del menú desplegable de este pin de entrada. El nombre de variable
predeterminado para HSC1 es "Local~HSC_1":

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 567
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

3. Cree un bloque de datos global denominado "Data_block_1" (también puede utilizar un


bloque de datos global que ya exista):
– Dentro de "Data_block_1", busque una fila vacía y agregue una variable que tenga
por nombre "MyHSC".
– En la columna "Tipo de datos", agregue uno de los siguientes tipos de datos del
sistema (SDT). Seleccione el SDT que equivalga al tipo de contaje configurado para
el HSC. Encontrará más información sobre los SDT del HSC más adelante. La lista
desplegable no contiene estos tipos, de modo que tiene que asegurarse de escribir el
nombre del SDT exactamente como se muestra: HSC_Count, HSC_Period o
HSC_Frequency
– Después de introducir el tipo de datos, expanda la variable "MyHSC" para ver todos
los campos que contiene la estructura de datos. Aquí encontrará el tipo de datos de
cada uno de los campos y podrá modificar los valores iniciales predeterminados:

Controlador programable S7-1200


568 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

4. Asigne la variable "'Data_block_1'. MyHSC" al pin de entrada CTRL de la instrucción


CTRL_HSC_EXT:
– Seleccione "Data_block_1".

– Seleccione "MyHSC".

– Borre el período (".") que sigue a: "'Data_block_1'.MyHSC". A continuación, haga clic


fuera del cuadro o pulse la tecla ESC una vez y pulse seguidamente la tecla Intro.

Nota
Después de borrar el período (".") que sigue a: "'Data_Block_1'.MyHSC", no pulse
únicamente la tecla Intro. Esta acción vuelve a poner el período (".") en el cuadro.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 569
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

– Ahora se muestra en la parte inferior la entrada CTRL completa.

Una vez se ha configurado el HSC en el PLC ya puede ejecutarse la instrucción


CTRL_HSC_EXT. Si se produce un error, ENO se pone a "0" y la salida STATUS indica el
código de condición.

Consulte también
Tipos de datos de sistema (SDT) de la instrucción CTRL_HSC_EXT (Página 570)

10.1.1.3 Tipos de datos de sistema (SDT) de la instrucción CTRL_HSC_EXT


Los siguientes tipos de datos del sistema (SDT) solo se utilizan con el pin CTRL de la
instrucción CTRL_HSC_EXT. Para utilizarlos, cree un bloque de datos de usuario y agregue
un objeto con el tipo de datos del SDT que equivalga al modo configurado (tipo de contaje)
para el HSC. STEP 7 no muestra estos tipos de datos en el menú desplegable. Introduzca el
nombre del SDT exactamente de la forma indicada.
Las entradas del SDT del HSC se indican con el prefijo "En" o "New". Las entradas con el
prefijo "En" activan una función del HSC o actualizan el parámetro en cuestión. El prefijo
"New" identifica el valor de actualización. Para que el nuevo valor sea efectivo, el bit "En"
correspondiente debe ser True y el valor de "New" debe ser válido. Cuando se ejecuta la
instrucción CTRL_HSC_EXT, el programa aplica cambios en las entradas y actualiza las
salidas con la referencia adjunta adecuada del SDT.

Controlador programable S7-1200


570 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

SDT: HSC_Count
El tipo de datos "HSC_Count" equivale a un HSC configurado para el modo de contaje. El
modo de contaje ofrece las siguientes funcionalidades:
● Acceder al contaje de impulsos actual
● Congelar el contaje de impulsos actual en un evento de entrada
● Restablecer el valor inicial del contaje de impulsos actual en un evento de entrada
● Acceder a los bits de estado, que indican que se han producido determinados eventos
del HSC
● Desactivar el HSC mediante una entrada de software o hardware
● Modificar el sentido de contaje mediante una entrada de software o hardware
● Modificar el contaje de impulsos actual
● Modificar el valor inicial (que se utiliza cuando la CPU pasa al estado RUN o cuando se
dispara la función de sincronización)
● Modificar dos valores de referencia (o predefinidos) independientes utilizados para la
comparación
● Modificar los límites superior e inferior de contaje
● Modificar el funcionamiento del HSC cuando el contaje de impulsos alcanza dichos
límites
● Generar un evento de alarma de proceso cuando el contaje de impulsos actual alcanza
un valor de referencia (predefinido)
● Generar un evento de alarma de proceso cuando se activa la entrada de sincronización
(reset)
● Generar un evento de alarma de proceso cuando el sentido de contaje cambia debido a
una entrada externa
● Generar un impulso de salida individual cuando se produce un evento de contaje
concreto
Cuando se produce un evento y se ejecuta la instrucción CTRL_HSC_EXT, la instrucción
activa un bit de estado. La próxima vez que se ejecute la instrucción CTRL_HSC_EXT, esta
desactivará el bit de estado, a menos que el evento se produzca de nuevo antes de que se
ejecute la instrucción.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 571
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

Tabla 10- 4 Estructura de HSC_Count

Elemento de Declaración Tipo de datos Descripción


estructura
CurrentCount OUT Dint Devuelve el valor de contaje actual del HSC
CapturedCount OUT Dint Devuelve el valor del contador capturado en el evento de
entrada especificado
SyncActive OUT Bool Bit de estado: Se ha activado la entrada de sincronización
DirChange OUT Bool Bit de estado: Ha cambiado el sentido de contaje
CmpResult1 OUT Bool Bit de estado: CurrentCount es igual al evento Reference1
ocurrido
CmpResult2 OUT Bool Bit de estado: CurrentCount es igual al evento Reference2
ocurrido
OverflowNeg OUT Bool Bit de estado: CurrentCount ha alcanzado el límite inferior
OverflowPos OUT Bool Bit de estado: CurrentCount ha alcanzado el límite superior
EnHSC IN Bool Cuando es True activa el HSC para contar impulsos; cuando
es False desactiva el contaje
EnCapture IN Bool Cuando es True activa la entrada de captura; cuando es False
la entrada de captura no tiene efecto alguno
EnSync IN Bool Cuando es True activa la entrada de sincronización; cuando
es False la entrada de sincronización no tiene efecto alguno
EnDir IN Bool Activa el valor NewDirection para que sea efectivo
EnCV IN Bool Activa el valor NewCurrentCount para que sea efectivo
EnSV IN Bool Activa el valor NewStartValue para que sea efectivo
EnReference1 IN Bool Activa el valor NewReference1 para que sea efectivo
EnReference2 IN Bool Activa el valor NewReference2 para que sea efectivo
EnUpperLmt IN Bool Activa el valor NewUpperLimit para que sea efectivo
EnLowerLmt IN Bool Activa el valor New_Lower_Limit para que sea efectivo
EnOpMode IN Bool Activa el valor NewOpModeBehavior para que sea efectivo
EnLmtBehavior IN Bool Activa el valor NewLimitBehavior para que sea efectivo
EnSyncBehavior IN Bool Este valor no se utiliza.
NewDirection IN Int Sentido de contaje: 1 = contaje ascendente; -1 = contaje des-
cendente; todos los demás valores están reservados.
NewOpMode- IN Int Funcionamiento del HSC en caso de desbordamiento 1 = el
Behavior HSC deja de contar (el HSC debe desactivarse y volver a
activarse para seguir contando); 2 = el HSC sigue funcionan-
do; todos los demás valores están reservados.
NewLimitBeha- IN Int Resultado del valor de CurrentCount en caso de desborda-
vior miento: 1 = poner CurrentCount al límite opuesto; 2 = poner
CurrentCount a StartValue; todos los demás valores están
reservados.
NewSyncBeha- IN Int Este valor no se utiliza.
vior
NewCurrentCount IN Dint Valor de contaje actual
NewStartValue IN Dint Valor de arranque: valor inicial del HSC
NewReference1 IN Dint Valor de Reference1
NewReference2 IN Dint Valor de Reference2

Controlador programable S7-1200


572 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

Elemento de Declaración Tipo de datos Descripción


estructura
NewUpperLimit IN Dint Valor del límite superior de contaje
New_Lower_Limit IN Dint Valor del límite inferior de contaje

SDT: HSC_Period
El tipo de datos "HSC_Period" equivale a un HSC configurado para el modo de período. La
instrucción CTRL_HSC_EXT permite al programa acceder a un número determinado de
impulsos de entrada durante un intervalo de medición específico. Con esta instrucción se
calcula el período de tiempo entre impulsos de entrada con una resolución muy alta en el
ámbito de los nanosegundos.

Tabla 10- 5 Estructura de HSC_Period

Elemento de Declaración Tipo de datos Descripción


estructura
ElapsedTime OUT UDInt Ver la descripción más abajo.
EdgeCount OUT UDInt Ver la descripción más abajo.
EnHSC IN Bool Cuando es True activa el HSC para medir períodos; cuando
es False desactiva la medición de períodos.
EnPeriod IN Bool Activa el valor NewPeriod para que sea efectivo
NewPeriod IN Int Especifica el intervalo de medición en milisegundos. Los úni-
cos valores permitidos son 10, 100 o 1000 ms.

ElapsedTime devuelve el tiempo en nanosegundos que transcurre entre los últimos eventos
de contaje de intervalos de medición secuenciales. Si no se produce ningún evento de
contaje durante un intervalo de medición, ElapsedTime devuelve el tiempo acumulado
desde el último evento de contaje. ElapsedTime tiene un rango entre 0 y 4.294.967.280
nanosegundos (0x0000 0000 a 0xFFFF FFF0). El valor de retorno 4.294.967.295 (0xFFFF
FFFF) indica que se ha producido un desbordamiento del período. El desbordamiento
señaliza que el tiempo entre flancos de impulso es mayor que 4,295 segundos y que no es
posible calcular el período con esta instrucción. Los valores de 0xFFFF FFF1 a 0xFFFF
FFFE están reservados.
EdgeCount devuelve el número de eventos de contaje que se reciben durante el intervalo de
medición. El período solo puede calcularse cuando el valor de EdgeCount es mayor que
cero. Si ElapsedTime es "0" (no se han recibido impulsos de entrada) o 0xFFFF FFFF
(desbordamiento del período), EdgeCount no es válido.
Cuando EdgeCount sea válido, utilice la fórmula siguiente para calcular el período en
nanosegundos: Período = ElapsedTime/EdgeCount
El valor calculado para el período de tiempo es un promedio de los períodos de tiempo de
todos los impulsos que se producen durante el intervalo de medición. Si el período de un
impulso de entrada es mayor que el intervalo de medición (10, 100 o 1000 ms), el cálculo
del período requiere varios intervalos de medición.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 573
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

Los ejemplos siguientes muestran cómo la instrucción mide períodos:

Controlador programable S7-1200


574 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

SDT: HSC_Frequency
El tipo de datos "HSC_Frequency" equivale a un HSC configurado para el modo de
frecuencia. La instrucción CTRL_HSC_EXT permite al programa acceder a la frecuencia de
impulsos de entrada, medida durante un período específico.
El modo de frecuencia de la instrucción CTRL_HSC_EXT ofrece las siguientes
funcionalidades:

Tabla 10- 6 Estructura de HSC_Frequency

Elemento de Declaración Tipo de datos Descripción


estructura
Frecuencia OUT DInt Devuelve una frecuencia en Hz, medida durante el intervalo
de medición. Cuando el HSC cuenta en sentido descendente,
la instrucción devuelve una frecuencia negativa.
EnHSC IN Bool Cuando es True activa el HSC para medir la frecuencia; cuan-
do es False desactiva la medición de la frecuencia.
EnPeriod IN Bool Activa el valor NewPeriod para que sea efectivo
NewPeriod IN Int Especifica el intervalo de medición en milisegundos. Los úni-
cos valores permitidos son 10, 100 o 1000 ms.

La instrucción CTRL_HSC_EXT mide la frecuencia utilizando la misma técnica de medición


que el modo de período para buscar ElapsedTime y EdgeCount. La instrucción calcula la
frecuencia en forma de valor entero con signo en Hz de acuerdo con la fórmula siguiente:
Frecuencia = EdgeCount/ElapsedTime
Si se necesita un valor en coma flotante para la frecuencia, la fórmula anterior puede
utilizarse para la frecuencia cuando el HSC está en modo de período. Tenga en cuenta que,
en modo de período, ElapsedTime se devuelve en nanosegundos y puede ser necesario
escalar el valor.

10.1.2 Funcionamiento del contador rápido

10.1.2.1 Función de sincronización


La función de sincronización (Sync) se utiliza para poner el contador al valor inicial con una
señal de entrada externa. El valor inicial puede modificarse ejecutando la instrucción
CTRL_HSC_EXT. Esto permite al usuario sincronizar el valor de contaje actual a una
consigna cuando se produce una señal de entrada externa.
La sincronización siempre tiene lugar cuando se produce una señal de entrada y es efectiva
independientemente del estado de la puerta interna. El bit "HSC_Count.EnSync" debe
ponerse a True para activar la función de sincronización.
La instrucción CTRL_HSC_EXT pone el bit de estado HSC_Count.SyncActive a True una
vez ha finalizado la sincronización. La instrucción CTRL_HSC_EXT pone el bit de estado
HSC_Count.SyncActive a False si la sincronización no se ha producido desde la última vez
que se ejecutó la instrucción.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 575
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

La figura siguiente muestra un ejemplo de sincronización cuando la señal de entrada está


configurada para una nivel "high" activo:

Nota
Los filtros de entrada configurados retardan la señal de control de la entrada digital.
Esta función de entrada solo está disponible cuando el HSC está configurado para el modo
de contaje.

En Funciones de entrada (Página 589) encontrará información sobre cómo configurar la


función de sincronización.

Controlador programable S7-1200


576 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

10.1.2.2 Función de puerta


Muchas aplicaciones requieren que los procesos de contaje se inicien o detengan en
función de otros eventos. En estos casos, el contaje se inicia y detiene utilizando la función
de puerta interna. Cada canal del HSC tiene dos puertas: una puerta software y una puerta
hardware. El estado de estas puertas determina el estado de la puerta interna. Consulte la
tabla inferior.
La puerta interna está abierta si las puertas software y hardware están abiertas las dos o no
están configuradas. Si la puerta interna está abierta, se inicia el contaje. Si la puerta interna
está cerrada, todos los demás impulsos de contaje se ignoran y el contaje se detiene.

Tabla 10- 7 Estados de la función de puerta

Puerta hardware Puerta software Puerta interna


Abierta/no configurada Abierta Abierta
Abierta/no configurada Cerrada Cerrada
Cerrada Abierta Cerrada
Cerrada Cerrada Cerrada

El concepto "abierta" significa que la puerta está activa. De forma análoga, el concepto "cerrada"
significa que la puerta está inactiva.

La puerta software se controla con el bit de activación "HSC_Count.EnHSC" del SDT


anexado a la instrucción CTRL_HSC_EXT. Para abrir la puerta software, ponga el bit
"HSC_Count.EnHSC" a True; para cerrar la puerta software, ponga el bit
"HSC_Count.EnHSC" a False. Ejecute la instrucción CTRL_HSC_EXT para actualizar el
estado de la puerta software.
La puerta hardware es opcional y puede activarse o desactivarse en la sección de
propiedades del HSC. Para controlar un proceso de contaje únicamente con la puerta
hardware, la puerta software debe permanecer abierta. Si no se configura una puerta
hardware, se considera que siempre está abierta y el estado de la puerta interna es el
mismo que el de la puerta software.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 577
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

La figura inferior muestra un ejemplo de cómo la puerta hardware se abre y se cierra con
una entrada digital. La entrada digital está configurada para una nivel "high" activo:

Nota
Los filtros de entrada configurados retardan la señal de control de la entrada digital.
La función de puerta hardware solo está disponible cuando el HSC está configurado para el
modo de contaje. En los modos de período y frecuencia, el estado de la puerta interna es el
mismo que el de la puerta software.
En el modo de período, la puerta software se controla mediante "HSC_Period.EnHSC".
En el modo de frecuencia, la puerta software se controla mediante
"HSC_Frequency.EnHSC".

En Funciones de entrada (Página 589) encontrará información sobre cómo configurar la


función de puerta.

Controlador programable S7-1200


578 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

10.1.2.3 Función de captura


La función de captura se utiliza para guardar el valor actual del contador con una señal de
referencia externa. Cuando está configurada y activada mediante el bit
"HSC_Count.EnCapture", la función de captura provoca la captura del contaje actual cuando
se produce un flanco de entrada externa. La función de captura es efectiva
independientemente del estado de la puerta interna. El programa guarda el valor del
contador sin cambios cuando la puerta está cerrada. Después de ejecutar la instrucción
CTRL_HSC_EXT, el programa guarda el valor capturado en "HSC_Count.CapturedCount".
La figura inferior muestra un ejemplo de la función de captura configurada para capturar un
flanco ascendente. La entrada de captura no dispara una captura del contaje actual cuando
el bit "HSC_Count.EnCapture" está puesto a False mientras se ejecuta la instrucción
CTRL_HSC_EXT.

Nota
Los filtros de entrada configurados retardan la señal de control de la entrada digital.
Esta función de entrada solo puede utilizarse cuando el HSC está configurado para el modo
de contaje.

En Funciones de entrada (Página 589) encontrará información sobre cómo configurar la


función de captura.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 579
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

10.1.2.4 Función de comparación


Cuando está activada, la función de salida de comparación genera un impulso individual
configurable cada vez que se produce el evento configurado. Los eventos incluyen un
contaje igual a uno de los valores de referencia o los desbordamientos del contador. Si hay
un impulso en curso y el evento se repite, no se genera ningún impulso para dicho evento.

Nota
Esta función de salida solo puede utilizarse cuando el HSC está configurado para el modo
de contaje.

En Función de salida (Página 590) encontrará información sobre cómo configurar la función
de comparación.

10.1.2.5 Aplicaciones
Una aplicación típica consiste en utilizar el HSC para supervisar las respuestas de un
encóder rotativo incremental. El encóder rotativo ofrece un número determinado de contajes
por revolución que pueden utilizarse como entrada de reloj para el HSC. También hay un
impulso de reset que ocurre una vez por revolución y que puede utilizarse como entrada de
sincronización para el HSC.
Al arrancar, el programa carga el primer valor de referencia en el HSC y pone las salidas a
sus estados iniciales. Las salidas permanecen en su estado mientras el contaje actual sea
menor que el valor de referencia. El HSC emite una alarma cuando el contaje actual es igual
al valor de referencia, al ocurrir un evento de sincronización (reset) y también al producirse
un cambio de sentido.

Controlador programable S7-1200


580 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

Cuando todos los valores del contador son iguales al valor de referencia, se dispara un
evento de alarma, el programa carga un nuevo valor de referencia en el HSC y pone las
salidas a su próximo estado. Cuando ocurre el evento de alarma de sincronización, el
programa activa el primer valor de referencia y los primeros estados de las salidas y repite
el ciclo.
Puesto que las alarmas ocurren con una frecuencia mucho menor que la frecuencia de
contaje del HSC, es posible implementar un control preciso de las operaciones rápidas con
un impacto relativamente bajo en el ciclo de la CPU. El método de asociar alarmas permite
cargar cada valor predeterminado nuevo en un subprograma por separado, lo que simplifica
el control del estado. Alternativamente, todos los eventos de alarma se pueden ejecutar en
un solo subprograma.
La función de puerta, que se dispara desde el programa de usuario o mediante una señal de
entrada externa, puede desactivar el contaje de los impulsos del encóder. Es posible ignorar
los movimientos del eje desactivando la puerta. Esto significa que, aunque el encóder siga
enviando impulsos al HSC, el valor de contaje se mantiene al valor que tenía antes de
desactivar la puerta. Cuando la puerta se activa, el contaje se reinicia a partir del valor que
tenía antes de que se desactivara la puerta.
Cuando está activada, la función de captura provoca la captura del contaje actual cuando se
produce una entrada externa. Un proceso (p. ej. un subprograma de calibración) puede
utilizar esta función para determinar los impulsos que se producen entre eventos.
Cuando está activada, la función de salida de comparación genera un impulso individual
configurable cada vez que el contaje actual alcanza uno de los valores de referencia o
desbordamientos (excede los límites de contaje). Este impulso puede utilizarse como señal
para iniciar otro proceso siempre que se produzca un evento concreto del HSC.
El sentido de contaje se controla desde el programa de usuario o mediante una señal de
entrada externa.
Si se configura el HSC para el modo de frecuencia se obtiene la velocidad del eje rotativo.
Esta función proporciona un valor entero con signo en unidades de Hz. Puesto que la señal
de reset se produce una vez por revolución, al medir la frecuencia de la señal de reset se
obtiene una indicación rápida de la velocidad del eje en revoluciones por segundo.
Si desea obtener un valor en coma flotante de la frecuencia, configure el HSC para el modo
de período. Puede utilizar los valores de ElapsedTime y EdgeCount devueltos en el modo
de período para calcular la frecuencia.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 581
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

10.1.3 Configurar un contador rápido


Para configurar un contador rápido (HSC):
● Seleccione la configuración de dispositivos en el árbol del proyecto.
● Seleccione la CPU que desea configurar.
● Haga clic en la ficha Propiedades situada en la ventana de inspección (ver la figura
inferior).
● Seleccione el HSC que desea activar en la lista que se muestra debajo de la ficha
General (ver la figura inferior).
Puede configurar hasta seis contadores rápidos (del HSC1 al HSC6). Active un HSC
seleccionando la opción "Habilitar este contador rápido". Si está activado, STEP 7 asigna un
nombre predeterminado unívoco al HSC. El nombre puede cambiarse editándolo en el
campo "Nombre:", pero debe ser un nombre unívoco. Los nombres de los HSC activados se
convierten en variables con el tipo de datos "HW_Hsc" en la tabla de variables "Constantes
de sistema" y están disponibles para ser utilizados como parámetro HSC de la instrucción
CTRL_HSC_EXT. Encontrará más información en "Configurar el funcionamiento de la CPU
(Página 175)":

Después de activar el HSC, STEP 7 establece el contaje de fase simple como configuración
predeterminada. Una vez se ha establecido el filtro de entrada digital para la entrada de reloj
del HSC, es posible descargar el programa en el PLC y entonces la CPU ya estará lista para
contar. Para modificar la configuración del HSC, consulte el apartado siguiente "Tipo de
contaje".

Controlador programable S7-1200


582 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

La tabla siguiente ofrece una relación de las entradas y salidas que están disponibles para
cada configuración:

Tabla 10- 8 Modos de contaje del HSC

Tipo Entrada 1 Entrada 2 Entrada 3 Entrada 4 Entrada 5 Salida 1 Función


Fase simple Reloj - - - - - Contaje,
con control frecuencia o
interno del período
sentido Sincroniza- Puerta Captura Comparación Contaje
ción
Fase simple Reloj Sentido - - - - Contaje,
con control frecuencia o
externo del período
sentido Sincroniza- Puerta Captura Comparación Contaje
ción
Dos fases Reloj adelan- Reloj atrás - - - - Contaje,
te frecuencia o
período
Sincroniza- Puerta Captura Comparación Contaje
ción
Contador A/B Fase A Fase B - - - - Contaje,
frecuencia o
período
Sincroniza- Puerta Captura Comparación Contaje
ción1
Contador A/B Fase A Fase B - - - - Contaje,
cuádruple frecuencia o
período
Sincroniza- Puerta Captura Comparación Contaje
ción1
1 Para un encóder: fase Z, inicio

10.1.3.1 Tipo de contaje


Hay cuatro tipos de contaje o modos. Cuando se cambia el modo también cambian las
opciones de configuración disponibles para el HSC:
● Contaje: Cuenta el número de impulsos e incrementa o decrementa el valor de contaje,
según sea el estado del control de sentido. Las entradas y salidas externas pueden
inicializar el contaje, desactivarlo, iniciar una captura del contaje actual y generar un
impulso individual para un evento concreto. Los valores de salida son el valor de contaje
actual y el valor de contaje en el momento de producirse una captura.
● Período: Cuenta el número de impulsos de entrada durante un período de tiempo
específico. Devuelve el contaje de impulsos y la duración en nanosegundos (ns). Los
valores se capturan y calculan al final del período de tiempo especificado en el período
de medición de frecuencia. El modo período está disponible para la instrucción
CTRL_HSC_EXT, pero no para la instrucción CTRL_HSC.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 583
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

● Frecuencia: Mide los impulsos de entrada y la duración y calcula la frecuencia de los


impulsos. El programa devuelve la frecuencia en forma de entero doble con signo en
unidades de Hz. El valor es negativo si el sentido de contaje es descendente. Los
valores se capturan y calculan al final del período de tiempo especificado en el período
de medición de frecuencia.
● Motion Control: Es utilizado por el objeto tecnológico Motion Control y no está disponible
para las instrucciones HSC. Encontrará más información en "Motion Control
(Página 665)".

10.1.3.2 Fase de operación


Seleccione la fase de operación deseada del HSC. Las cuatro figuras inferiores muestran
cuándo cambia el valor del contador, cuándo se produce el evento de que el valor actual
(CV) es igual al valor de referencia (RV) y cuándo se produce el evento de cambio de
sentido.

Fase simple
La fase simple (no disponible con Motion Control) cuenta impulsos:
● Programa de usuario (control interno del sentido):
– 1 es ascendente
– -1 es descendente
● Entrada de hardware (control externo del sentido):
– El nivel "high" es ascendente.
– El nivel "low" es descendente.

Controlador programable S7-1200


584 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

Dos fases
Las dos fases cuentan:
● ascendente en la entrada de reloj adelante
● descendente en la entrada de reloj atrás

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 585
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

Controlador programable S7-1200


586 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

Contador A/B
La fase A/B en cuadratura cuenta:
● ascendente con un flanco ascendente en la entrada de reloj A cuando la entrada de reloj
B es "low"
● descendente con un flanco descendente en la entrada de reloj A cuando la entrada de
reloj B es "low"

Contador A/B cuádruple


La fase A/B en cuadratura cuádruple cuenta:
● ascendente con un flanco ascendente en la entrada de reloj A cuando la entrada de reloj
B es "low"
● ascendente con un flanco descendente en la entrada de reloj A cuando la entrada de
reloj B es "high"
● ascendente con un flanco ascendente en la entrada de reloj B cuando la entrada de reloj
A es "high"
● ascendente con un flanco descendente en la entrada de reloj B cuando la entrada de
reloj A es "low"
● descendente con un flanco ascendente en la entrada de reloj B cuando la entrada de
reloj A es "low"
● descendente con un flanco descendente en la entrada de reloj B cuando la entrada de
reloj A es "high"

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 587
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

● descendente con un flanco ascendente en la entrada de reloj A cuando la entrada de


reloj B es "high"
● descendente con un flanco descendente en la entrada de reloj A cuando la entrada de
reloj B es "low"

Controlador programable S7-1200


588 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

10.1.3.3 Valores iniciales


Cada vez que la CPU pasa a RUN, carga los valores iniciales. Los valores iniciales solo se
utilizan en modo de contaje:
● Valor inicial del contador: El programa pone el valor de contaje actual al valor inicial del
contador cuando la CPU pasa de STOP a RUN o cuando el programa dispara la entrada
de sincronización.
● Valor de referencia inicial Cuando el contaje actual alcanza el valor de referencia, si las
funciones correspondientes están configuradas el programa genera una alarma y/o un
impulso de salida.
● Valor de referencia inicial 2: Cuando el contaje actual alcanza el valor de referencia 2, si
la función está configurada el programa genera un impulso de salida.
● Valor límite superior inicial: Valor de contaje máximo. El valor predeterminado es el valor
más alto posible de +2.147.483.647 impulsos.
● Valor límite inferior inicial: Valor de contaje mínimo. El valor predeterminado es el valor
más bajo posible de -2.147.483.648 impulsos.
Los valores anteriores y el comportamiento del contador cuando alcanza un límite solo están
disponibles en modo de contaje. Los valores y el comportamiento se ajustan con la
instrucción CTRL_HSC_EXT mediante el SDT HSC_Count.

10.1.3.4 Funciones de entrada


Las entradas de reloj y sentido determinan los eventos y el sentido de contaje, según sea la
fase de operación. Solo es posible utilizar las entradas de sincronización, captura y puerta
en modo de contaje; también pueden activarse y configurarse individualmente las entradas
para diferentes tipos de disparos.

Entrada de sincronización
La entrada de sincronización (Sync) pone el valor de contaje actual al valor de arranque (o
inicial) del contador. Por lo general, la entrada de sincronización se utiliza para poner el
contador a "0". La sincronización puede dispararse cuando el pin de entrada tiene uno de
los estados siguientes:
● High
● Low
● Pasa de "low" a "high"
● Pasa de "high" a "low"
● Pasa de "high" a "low" o de "low" a "high"

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 589
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

Entrada de captura
La entrada de captura pone el valor de contaje capturado al valor de contaje guardado en el
momento de disparar la entrada de captura. La captura puede dispararse cuando el pin de
entrada tiene uno de los estados siguientes:
● Pasa de "low" a "high"
● Pasa de "high" a "low"
● Pasa de "high" a "low" o de "low" a "high"

Entrada de puerta
La entrada de puerta detiene el contaje del HSC. La puerta puede dispararse cuando el pin
de entrada tiene uno de los estados siguientes:
● High
● Low

10.1.3.5 Función de salida


La función de salida de comparación es la única salida del HSC y solo está disponible en
modo de contaje.

Salida de comparación
La salida de comparación puede configurarse para que genere un impulso individual cuando
se produzca uno de los eventos siguientes:
● El contador es igual al valor de referencia (sentido de contaje ascendente)
● El contador es igual al valor de referencia (sentido de contaje descendente)
● El contador es igual al valor de referencia (sentido de contaje ascendente o
descendente)
● El contador es igual al valor de referencia 2 (sentido de contaje ascendente)
● El contador es igual al valor de referencia 2 (sentido de contaje descendente)
● El contador es igual al valor de referencia 2 (sentido de contaje ascendente o
descendente)
● Desbordamiento positivo
● Desbordamiento negativo
El impulso de salida puede configurarse con un tiempo de ciclo de entre 1 y 500 ms; el
tiempo de ciclo predeterminado es de 10 ms. Es posible establecer la duración de impulso,
o ciclo de trabajo, en un valor cualquiera entre 1 y 100%; la duración de impulso
predeterminada es del 50%.
Si se producen varios eventos de salida de comparación dentro del tiempo de ciclo
especificado, los impulsos de salida de dichos eventos se pierden debido a que el impulso
actual todavía no ha finalizado su ciclo. Una vez ha finalizado el impulso (ha transcurrido el
tiempo de ciclo configurado), el generador de impulsos está disponible para generar un
impulso nuevo.

Controlador programable S7-1200


590 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

10.1.3.6 Eventos de alarma


En la sección de configuración de eventos existe la posibilidad de seleccionar un OB de
alarma de proceso en el menú desplegable (o bien crear un OB nuevo) y asignarlo a un
evento del HSC. La prioridad de la alarma está comprendida en un rango entre 2 y 26,
siendo 2 la prioridad más baja y 26 la más alta. En función de la configuración del HSC
estarán disponibles los eventos siguientes:
● Evento de que el valor del contador es igual al valor de referencia: Se produce un evento
de que el valor del contador es igual al valor de referencia cuando el valor de contaje del
HSC alcanza el valor de referencia. El valor de referencia se establece durante la
configuración en la sección Valor de referencia inicial, o bien al actualizar
"NewReference1" con la instrucción CTRL_HSC_EXT. Encontrará más información en el
apartado "Fase de operación (Página 584)".
● Evento de sincronización: Se produce una sincronización (Sync) siempre que se activa y
dispara la entrada de sincronización.
● Evento de cambio de sentido: Se produce un evento de cambio de sentido cuando
cambia el sentido de contaje. Encontrará más información en el apartado "Fase de
operación (Página 584)".

10.1.3.7 Asignación de los pines de entrada de hardware


Para cada entrada del HSC que se active hay que seleccionar el punto de entrada deseado,
que se encuentra en la CPU o en una Signal Board opcional (los módulos de comunicación
y señales no soportan las entradas del HSC). Cuando se selecciona un punto, STEP 7
muestra el valor de frecuencia máximo junto a la selección. Posiblemente sea necesario
ajustar el filtro de entrada digital para que todas las frecuencias de señales válidas puedan
pasar el filtro. Para configurar los filtros de entrada del HSC, consulte "Configurar los
tiempos de filtrado de entrada digital (Página 177)".

Nota
Los canales de entrada de CPU y SB (firmware V4 o posterior) tienen tiempos de filtrado de
entrada configurables.
Las versiones de firmware anteriores tenían canales de entrada HSC y tiempos de filtrado
fijos que no podían cambiarse.
Las versiones V4 o posteriores permiten asignar canales de entrada y tiempos de filtrado. El
ajuste predeterminado del filtro de entrada es de 6,4 ms, que limita la frecuencia de contaje
máxima a 78 Hz. Es posible modificar los ajustes de filtrado para contar frecuencias más
altas o más bajas en función del diseño del sistema.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 591
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

ADVERTENCIA
Riesgos asociados con los cambios en el ajuste de tiempos de filtrado de los canales de
entradas digitales

Si se reajusta el tiempo de filtrado de un canal de entrada digital, puede que sea necesario
presentar un nuevo valor de entrada de nivel "0" durante un tiempo acumulado de 20 ms
para que el filtro esté totalmente operativo ante nuevas entradas. Durante este tiempo,
puede que no se detecten o no se cuenten los eventos de impulso breve "0" cuya duración
sea inferior a 20 ms.
El cambio de los tiempos de filtrado puede originar un funcionamiento inesperado de los
equipos o del proceso, lo que puede causar la muerte o lesiones graves al personal o
daños a los equipos.
Para asegurar que un tiempo de filtrado nuevo tenga efecto inmediato, desconecte y
vuelva a conectar la CPU.

Utilice la tabla siguiente para garantizar que los canales de entrada de CPU y SB
conectados soportan las frecuencias de impulso máximas de las señales del proceso:

Tabla 10- 9 Entrada de CPU: frecuencia máxima

CPU Canal de entrada de Fase de operación: fase Fase de operación: conta-


CPU simple o dos fases dor A/B o contador A/B
cuádruple
1211C De Ia.0 a Ia.5 100 kHz 80 kHz
1212C De Ia.0 a Ia.5 100 kHz 80 kHz
Ia.6, Ia.7 30 kHz 20 kHz
1214C y 1215C De Ia.0 a Ia.5 100 kHz 80 kHz
De Ia.6 a Ib.5 30 kHz 20 kHz
1217C De Ia.0 a Ia.5 100 kHz 80 kHz
De Ia.6 a Ib.1 30 kHz 20 kHz
De Ib.2 a Ib.5 1 MHz 1 MHz
(De 0,2+, 0,2- a
0,5+, 0,5-)

Tabla 10- 10 Entrada de Signal Board SB: frecuencia máxima (tarjeta opcional)

Signal Board (SB) Canal de entrada Fase de operación: fase Fase de operación: conta-
de SB simple o dos fases dor A/B o contador A/B
cuádruple
SB 1221, 200 kHz De Ie.0 a Ie.3 200 kHz 160 kHz
SB 1223, 200 kHz Ie.0, Ie.1 200 kHz 160 kHz
SB 1223 Ie.0, Ie.1 30 kHz 20 kHz

Controlador programable S7-1200


592 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

Cuando se asigna un punto de entrada a una función HSC es posible asignar el mismo
punto de entrada a varias funciones HSC. Así, por ejemplo, está permitido asignar I0.3 a la
entrada de sincronización de HSC1 y a la entrada de sincronización de HSC2 con el fin de
sincronizar el contaje de ambos HSC al mismo tiempo; sin embargo, se generará una
advertencia de compilador.
Dentro de lo posible, evite la asignación de múltiples funciones de entrada del mismo HSC
al mismo punto de entrada. Así, por ejemplo, también está permitido asignar I0.3 a la
entrada de sincronización y a la entrada de puerta de HSC1 con el fin de sincronizar el
contaje y desactivar el contaje al mismo tiempo. Esta configuración es posible, pero podría
provocar resultados no deseados.

ADVERTENCIA
Riesgos asociados con la asignación de varias funciones a un solo canal de entrada digital
La asignación de varias funciones de entrada del mismo HSC a un punto de entrada
común puede provocar resultados impredecibles. Cuando se produce un disparo en un
punto con varias funciones asignadas a dicho disparo, no es posible saber el orden en el
que el PLC ejecuta las funciones. Esto se conoce como condición de carrera y suele ser
una situación no deseable.
Esta condición de carrera puede originar un funcionamiento inesperado de los equipos o
del proceso, lo que puede causar la muerte o lesiones graves al personal o daños a los
equipos.
Para evitar una condición de carrera, no asigne más de dos funciones de entrada del
mismo HSC al mismo pin de entrada. Si un HSC tiene dos funciones de entrada asignadas
al mismo pin, establezca los disparos de forma que nunca puedan darse al mismo tiempo.
Recuerde que un flanco descendente se produce en la misma instancia que empieza un
nivel "low" y que un flanco ascendente se produce en la misma instancia que empieza un
nivel "high".

Nota
Los puntos de entrada y salida digitales utilizados por los contadores rápidos (HSC) se
asignan durante la configuración de la CPU. Cuando se asignan puntos de entrada y salida
a dispositivos HSC, no es posible modificar los valores de dichos puntos utilizando la
función de forzado permanente en una tabla de observación. El HSC controla por completo
estos puntos de entrada y salida.

10.1.3.8 Asignación de los pines de salida de hardware


Si se activa la salida de comparación debe seleccionarse un punto de salida disponible. Una
vez se ha configurado un punto de salida para utilizar con un HSC (u otros objetos
tecnológicos como un generador de impulsos), dicho punto de salida es propiedad exclusiva
del objeto en cuestión. Ningún otro componente puede utilizar el punto de salida y este no
puede forzarse a un valor concreto. Si se configura un canal de salida individual para varios
HSC o para utilizar en un HSC y una salida de impulsos, el programa genera un error de
compilador.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 593
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

10.1.3.9 Direcciones de la memoria de entrada del HSC


Todo HSC utiliza una sección de palabra doble de la memoria de entrada que guarda el
contaje actual. Si se configura el HSC para frecuencia, esta se guarda en la ubicación
mencionada de la memoria de entrada. El rango disponible para direcciones de entrada es
de I0.0 a I1023.7 (la dirección inicial máxima es I1020.0). El HSC no puede utilizar una
dirección de entrada que se solape con una dirección de entrada asignada a otro
componente. Encontrará más información sobre la memoria imagen de proceso en
"Ejecución del programa de usuario (Página 85)".
La tabla siguiente muestra las direcciones predeterminadas asignadas para cada HSC:

Tabla 10- 11 Direcciones predeterminadas del HSC

Contador rápido (HSC) Tipos de datos de valores ac- Dirección de valor actual prede-
tuales terminada
HSC1 DInt ID 1000
HSC2 DInt ID 1004
HSC3 DInt ID 1008
HSC4 DInt ID 1012
HSC5 DInt ID 1016
HSC6 DInt ID 1020

10.1.3.10 Identificador de hardware


Cada HSC tiene un identificador de hardware único que utilizan las instrucciones
HSC_CTRL y HSC_CTRL_EXT. Encontrará la variable PLC para el identificador de
hardware en "Constantes de sistema". Un HSC con el nombre "HSC_1" tiene la variable
"Local~HSC_1" y el tipo de datos "Hw_Hsc". Esta variable también se muestra en el menú
desplegable cuando se selecciona la entrada HSC de las instrucciones CTRL_HSC_EXT.

Controlador programable S7-1200


594 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

10.1.4 Instrucción CTRL_HSC (controlar contadores rápidos) antigua

10.1.4.1 Descripción general de la instrucción

Tabla 10- 12 Instrucción CTRL_HSC (para contaje general)

KOP / FUP SCL Descripción


"CTRL_HSC_1_DB" ( Toda instrucción CTRL_HSC (Controlar
hsc:=W#16#0, contadores rápidos) utiliza una estructura
dir:=False, almacenada en un DB para conservar los
cv:=False, datos de contador. El DB se asigna cuan-
rv:=False, do la instrucción CTRL_HSC se coloca en
period:=False, el editor.
new_dir:=0,
new_cv:=L#0,
new_rv:=L#0,
new_period:=0,
busy=>_bool_out_,
status=>_word_out_);
1 Cuando se inserta la instrucción, STEP 7 muestra el cuadro de diálogo "Opciones de llamada" para crear el DB asocia-
do.
2 En el ejemplo SCL, "CTRL_HSC_1_DB" es el nombre del DB de instancia.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 595
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

Tabla 10- 13 Tipos de datos para los parámetros

Parámetro Declaración Tipo de datos Descripción


HSC IN HW_HSC Identificador del HSC
DIR1, 2 IN Bool 1 = solicitar nuevo sentido de contaje
CV1 IN Bool 1 = solicitar activación del nuevo valor del contador
RV1 IN Bool 1 = solicitar activación del nuevo valor de referencia
PERIOD1 IN Bool 1 = solicitar activación del nuevo periodo
(solo para el modo de medición de frecuencia)
NEW_DIR IN Int Nuevo sentido: 1= hacia delante, -1= hacia atrás
NEW_CV IN DInt Nuevo valor del contador
NEW_RV IN DInt Nuevo valor de referencia
NEW_PERIOD IN Int El valor de período nuevo es en milisegundos (solo para el
modo de medición de frecuencia). Los únicos valores permiti-
dos son 10, 100 o 1000 milisegundos:
1000 = 1 segundo
100 = 0,1 segundo
10 = 0,01 segundo
BUSY3 OUT Bool La función está ocupada
STATUS OUT Word Código de condición de ejecución
1 Si no se solicita la actualización de un parámetro, se ignoran los valores de entrada correspondientes.
2 El parámetro DIR es válido solo si el sentido de contaje se ajusta a "Programa de usuario (control interno de sentido)".
La forma de utilizar este parámetro se determina en la configuración de dispositivos HSC.
3 En un HSC en la CPU o en la Signal Board, el parámetro BUSY siempre está puesto a 0.

Los parámetros de cada HSC se configuran en la configuración de dispositivos de la CPU


para la función de contaje/frecuencia, las opciones de reset, la configuración de eventos de
alarma, las E/S de hardware y la dirección de valor de contaje.
Algunos de los parámetros del HSC se pueden modificar mediante el programa de usuario
para ofrecer un control de programa del proceso de contaje:
● Ajustar el sentido de contaje al valor NEW_DIR
● Ajustar el valor de contaje actual al valor NEW_CV
● Ajustar el valor de referencia al valor NEW_RV
● Ajustar el valor Periodo (para el modo de medición de frecuencia) al valor NEW_PERIOD
Si las siguientes marcas booleanas están puestas a 1 cuando se ejecuta la instrucción
CTRL_HSC, el valor NEW_xxx correspondiente se carga en el contador. Las órdenes
múltiples (varias marcas se activan simultáneamente) se procesan en una sola ejecución de
la instrucción CTRL_HSC.
● DIR = 1 es una orden para cargar un valor NEW_DIR, 0 = ningún cambio
● CV = 1 es una orden para cargar un valor NEW_CV, 0 = ningún cambio
● RV = 1 es una orden para cargar un valor NEW_RV, 0 = ningún cambio
● PERIOD = 1 es una orden para cargar un valor NEW_PERIOD, 0 = ningún cambio

Controlador programable S7-1200


596 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

Si se produce un error, ENO se pone a "0" y la salida STATUS indica un código de


condición:

Tabla 10- 14 Execution condition codes

STATUS (W#16#) Descripción


0 No hay error
80A1 El identificador HSC no direcciona un HSC
80B1 Valor de NEW_DIR no permitido
80B2 Valor de NEW_CV no permitido
80B3 Valor de NEW_RV no permitido
80B4 Valor de NEW_PERIOD no permitido
80C0 Acceso múltiple al contador rápido
Este error puede ocurrir si el modo de contaje (Página 583) se ajusta a
"Período" o "Motion Control". Estos tipos no son válidos para la instrucción
CTRL_HSC y solo son soportados por la instrucción CTRL_HSC_EXT.
80D0 Contador rápido (HSC) no habilitado en la configuración hardware de la
CPU

10.1.4.2 Uso de CTRL_HSC


Generalmente, la instrucción CTRL_HSC se inserta en un OB de alarma de proceso que se
ejecuta cuando se dispara el evento de alarma de proceso del contador. Por ejemplo, si un
evento CV=RV dispara la alarma del contador, un OB de alarma de proceso ejecuta la
instrucción CTRL_HSC y puede cambiar el valor de referencia cargando un valor NEW_RV.
El valor de contaje actual no está disponible en los parámetros de CTRL_HSC. La dirección
de la memoria imagen de proceso que almacena el valor de contaje actual se asigna al
configurar el hardware del contador rápido. Se puede emplear la lógica del programa para
leer directamente el valor de contaje. El valor devuelto al programa será un contaje correcto
para el instante en el que se leyó el contador. El contador continuará contando eventos
rápidos. Por tanto, el valor de contaje real puede cambiar antes de que el programa finalice
un proceso utilizando un valor de contaje antiguo.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 597
Instrucciones tecnológicas
10.1 Contaje (contadores rápidos)

10.1.4.3 Valor de contaje actual del HSC


La CPU almacena el valor actual de cada HSC en una dirección de entrada (I). La tabla
siguiente muestra las direcciones predeterminadas asignadas al valor actual de cada HSC.
La dirección I del valor actual se puede cambiar modificando las propiedades de la CPU en
la "Configuración de dispositivos".
Los contadores rápidos usan un valor DInt para almacenar el valor de contaje actual. Un
valor de contaje DInt tiene un rango entre -2147483648 y +2147483647. A partir del
firmware V4.2 de la CPU es posible configurar los límites del rango. Encontrará más
información en "Valores iniciales (Página 589)".
El contador pasa del valor máximo positivo al valor máximo negativo al realizar el contaje
ascendente y del valor máximo negativo al valor máximo positivo al realizar el contaje
descendente. La frecuencia se devuelve en unidades de hertzios (p. ej. 123,4 Hz se
devuelven como 123).

Tabla 10- 15 Direcciones predeterminadas del HSC

HSC Tipos de datos de valores Dirección de valor actual predeterminada


actuales
HSC1 DInt ID1000
HSC2 DInt ID1004
HSC3 DInt ID1008
HSC4 DInt ID1012
HSC5 DInt ID1016
HSC6 DInt ID1020

Controlador programable S7-1200


598 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

10.2 Control PID


STEP 7 ofrece las siguientes instrucciones PID para la CPU S7-1200:
● La instrucción PID_Compact se utiliza para controlar procesos técnicos con variables
continuas de entrada y salida.
● La instrucción PID_3Step se utiliza para controlar dispositivos accionados por motor,
como válvulas que requieren señales discretas para las acciones de apertura y cierre.
● La instrucción PID_Temp ofrece un regulador PID universal que permite manejar los
requisitos específicos de control de temperatura.

Nota
Los cambios realizados en la configuración PID y las descargas en estado RUN no son
efectivos hasta que la CPU no pasa de STOP a RUN. Los cambios realizados en el
cuadro de diálogo "Parámetros PID" con el "Control de valor de arranque" serán
efectivos de inmediato.

Las tres instrucciones PID (PID_Compact, PID_3Step y PID_Temp) pueden calcular las
acciones P, I y D durante el arranque (si se han configurado para "optimización inicial").
También es posible configurar la instrucción para la "optimización fina" con el fin de
optimizar los parámetros. No es necesario especificar los parámetros manualmente.

Nota
Ejecute la instrucción PID en intervalos regulares del tiempo de muestreo (preferentemente
en un OB cíclico).
Puesto que el lazo PID necesita cierto tiempo para responder a los cambios del valor de
control, no debe calcularse el valor de salida en cada ciclo. No ejecute la instrucción PID en
el OB de ciclo del programa principal (p. ej. OB 1).

El tiempo de muestreo del algoritmo PID representa el intervalo entre dos cálculos del valor
de salida (valor de control). El valor de salida se calcula durante el autoajuste y se redondea
a un múltiplo del tiempo de ciclo. Las demás funciones de la instrucción PID se ejecutan en
cada llamada.

Algoritmo PID
El regulador PID (Proporcional/Integral/Derivativo) mide el intervalo de tiempo entre dos
llamadas y evalúa el resultado para controlar el tiempo de muestreo. En cada cambio de
modo y en el primer arranque se genera un valor medio del tiempo de muestreo. Dicho valor
se utiliza como referencia para la función de vigilancia y para realizar cálculos. La vigilancia
incluye el tiempo de medición actual entre dos llamadas y el valor medio del tiempo de
muestreo definido del regulador.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 599
Instrucciones tecnológicas
10.2 Control PID

El valor de salida del regulador PID está formado por tres acciones:
● P (proporcional): cuando se calcula con la acción "P", el valor de salida es proporcional a
la diferencia entre la consigna y el valor de proceso (valor de entrada).
● I (integral): cuando se calcula con la acción "I", el valor de salida aumenta en proporción
a la duración de la diferencia entre la consigna y el valor de proceso (valor de entrada)
para corregir la diferencia al final.
● D (derivativo): cuando se calcula con la acción "D", el valor de salida aumenta como una
función de la tasa de incremento de cambio de la diferencia entre la consigna y el valor
de proceso (valor de entrada). El valor de salida se corrige a la consigna lo más rápido
posible.
El regulador PID utiliza la siguiente fórmula para calcular el valor de salida de la instrucción
PID_Compact.

y Valor de salida x Valor de proceso


w Consigna s Operador laplaciano
Kp Ganancia proporcional a Coeficiente de retardo derivativo
(acción P) (acción D)
T1 Tiempo de acción integral b Ponderación de acción proporcional
(acción I) (acción P)
TD Tiempo de acción derivativa c Ponderación de la acción derivativa
(acción D) (acción D)

El regulador PID utiliza la siguiente fórmula para calcular el valor de salida de la instrucción
PID_3Step.

y Valor de salida x Valor de proceso


w Consigna s Operador laplaciano
Kp Ganancia proporcional a Coeficiente de retardo derivativo
(acción P) (acción D)
T1 Tiempo de acción integral b Ponderación de acción proporcional
(acción I) (acción P)
TD Tiempo de acción derivativa c Ponderación de la acción derivativa
(acción D) (acción D)

Controlador programable S7-1200


600 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

10.2.1 Insertar la instrucción PID y un objeto tecnológico


STEP 7 ofrece dos instrucciones de control PID:
● La instrucción PID_Compact y su objeto tecnológico ofrecen un regulador PID universal
con optimización. El objeto tecnológico contiene todos los ajustes para el lazo de
regulación.
● La instrucción PID_3Step y su objeto tecnológico ofrecen un regulador PID con ajustes
específicos para válvulas accionadas por motor. El objeto tecnológico contiene todos los
ajustes para el lazo de regulación. El regulador PID_3Step dispone de dos salidas
booleanas adicionales.
Después de crear el objeto tecnológico, es necesario configurar los parámetros
(Página 634). También deben ajustarse los parámetros de optimización ("optimización
inicial" durante el arranque u "optimización fina" manual) para poner el regulador PID en
servicio (Página 652).

Tabla 10- 16 Insertar la instrucción PID y el objeto tecnológico

Cuando se inserta una instrucción PID en el programa de


usuario, STEP 7 crea automáticamente un objeto tecnoló-
gico y un DB de instancia para dicha instrucción. El DB de
instancia contiene todos los parámetros que se utilizan
para la instrucción PID. Cada instrucción PID debe tener
su propio DB de instancia unívoco para funcionar correc-
tamente.
Después de insertar la instrucción PID y crear el objeto
tecnológico y el DB de instancia, se configuran los pará-
metros del objeto tecnológico (Página 634).

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 601
Instrucciones tecnológicas
10.2 Control PID

Tabla 10- 17 (Opcional) Crear un objeto tecnológico desde el árbol del proyecto

También es posible crear objetos tecnológicos para


el proyecto antes de insertar la instrucción PID. Si
se crea el objeto tecnológico antes de insertar una
instrucción PID en el programa de usuario, puede
seleccionarse dicho objeto tecnológico al insertar la
instrucción PID.

Para crear un objeto tecnológico, haga doble clic


en el icono "Agregar objeto" del árbol del proyecto.

Haga clic en el icono "Regulación" y seleccione el


objeto tecnológico para el tipo de regulador PID
(PID_Compact o PID_3Step). Es posible crear un
nombre opcional para el objeto tecnológico.
Haga clic en "Aceptar" para crear el objeto tecno-
lógico.

Controlador programable S7-1200


602 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

10.2.2 PID_Compact

10.2.2.1 Instrucción PID_Compact


La instrucción PID_Compact ofrece un regulador PID universal con autoajuste integrado
para modo automático y manual.

Tabla 10- 18 Instrucción PID_Compact

KOP / FUP SCL Descripción


"PID_Compact_1"( PID_Compact ofrece un regulador PID con
Setpoint:=_real_in_, autoajuste para modo automático y modo
Input:=_real_in_, manual. PID_Compact es un regulador PID
Input_PER:=_word_in_, T1 con anti-windup y ponderación de las
Disturbance:=_real_in_, acciones P y D.
ManualEnable:=_bool_in_,
ManualValue:=_real_in_,
ErrorAck:=_bool_in_,
Reset:=_bool_in_,
ModeActivate:=_bool_in_,
Mode:=_int_in_,
ScaledInput=>_real_out_,
Output=>_real_out_,
Output_PER=>_word_out_,
Output_PWM=>_bool_out_,
SetpointLimit_H=>_bool_out_,
SetpointLimit_L=>_bool_out_,
InputWarn-
ing_H=>_bool_out_,
InputWarn-
ing_L=>_bool_out_,
State=>_int_out_,
Error=>_bool_out_,
ErrorBits=>_dword_out_);
1 STEP 7 crea automáticamente el objeto tecnológico y el DB de instancia al insertar la instrucción. El DB de instancia
contiene los parámetros del objeto tecnológico.
2 En el ejemplo SCL, "PID_Compact_1" es el nombre del DB de instancia.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 603
Instrucciones tecnológicas
10.2 Control PID

Tabla 10- 19 Tipos de datos para los parámetros

Parámetro y tipo Tipo de datos Descripción


Setpoint IN Real Consigna del regulador PID en modo automático. (Valor predetermina-
do: 0,0)
Input IN Real Una variable del programa de usuario se utiliza como fuente para el
valor de proceso. (Valor predeterminado: 0,0)
Si se utiliza el parámetro Input, hay que poner Con-
fig.InputPerOn = FALSE.
Input_PER IN Word Una entrada analógica se utiliza como fuente del valor de proceso.
(Valor predeterminado: W#16#0)
Si se utiliza el parámetro Input_PER, hay que poner Con-
fig.InputPerOn = TRUE.
Disturbance IN Real Variable de perturbación o valor de precontrol
ManualEnable IN Bool Activa o desactiva el modo de operación manual. (Valor predetermina-
do: FALSE):
• Un flanco de FALSE a TRUE activa el "modo manual", mientras
que con State = 4 el modo permanece invariable.

Mientras ManualEnable = TRUE, no se puede cambiar el estado


operativo con un flanco ascendente en ModeActivate ni utilizar el
cuadro de diálogo de puesta en marcha.
• Un flanco de TRUE a FALSE activa el estado operativo asignado
por Mode.
Nota: recomendamos cambiar el estado operativo utilizando solo Mo-
deActivate.
ManualValue IN Real Valor de salida para operación manual. (Valor predeterminado: 0,0)
Se pueden utilizar valores de Config.OutputLowerLimit a Con-
fig.OutputUpperLimit.
ErrorAck IN Bool Resetea los ErrorBits y las salidas de advertencia. Flanco de FALSE a
TRUE
Reset IN Bool Reinicia el regulador. (Valor predeterminado: FALSE):
• Flanco de FALSE a TRUE:
– Cambia al modo "inactivo".
– Resetea los ErrorBits y las salidas de advertencia
– Borra la acción integral
– Mantiene los parámetros PID
• Mientras Reset = TRUE, PID_Compact permanece en modo "Inac-
tivo" (estado = 0).
• Flanco de TRUE a FALSE:
– PID_Compact cambia al estado operativo guardado en el pará-
metro Mode.
ModeActivate IN Bool PID_Compact cambia al estado operativo guardado en el parámetro
Mode. Flanco de FALSE a TRUE:
Mode IN Int El modo PID deseado; activado en el primer flanco de la entrada Mode
Activate .
ScaledInput OUT Real Valor de proceso escalado. (Valor predeterminado: 0,0)
Output1 OUT Real Valor de salida en formato REAL. (Valor predeterminado: 0,0)

Controlador programable S7-1200


604 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

Parámetro y tipo Tipo de datos Descripción


Output_PER1 OUT Word Valor de salida analógico. (Valor predeterminado: W#16#0)
Output_PWM1 OUT Bool Valor de salida para la modulación del ancho de impulso. (Valor prede-
terminado: FALSE)
Los tiempos de activación y desactivación forman el valor de salida.
SetpointLimit_H OUT Bool Límite superior de consigna. (Valor predeterminado: FALSE)
Si SetpointLimit_H = TRUE, se ha alcanzado el límite superior absoluto
de la consigna (Setpoint ≥ Config.SetpointUpperLimit).
La consigna está limitada a Config.SetpointUpperLimit.
SetpointLimit_L OUT Bool Límite inferior de consigna. (Valor predeterminado: FALSE)
Si SetpointLimit_L = TRUE, se ha alcanzado el límite inferior absoluto
de la consigna (Setpoint ≤ Config.SetpointLowerLimit).
La consigna está limitada a Config.SetpointLowerLimit.
InputWarning_H OUT Bool Si InputWarning_H = TRUE, el valor de proceso ha alcanzado o reba-
sado por exceso el límite superior de advertencia. (Valor predetermina-
do: FALSE)
InputWarning_L OUT Bool Si InputWarning_L = TRUE, el valor de proceso ha alcanzado o reba-
sado por defecto el límite inferior de advertencia. (Valor predetermina-
do: FALSE)
State OUT Int Estado operativo actual del regulador PID. (Valor predeterminado: 0)
Se puede cambiar el estado operativo utilizando el parámetro de entra-
da Mode y un flanco ascendente en ModeActivate:
• State = 0: Inactivo
• State = 1: Optimización inicial
• State = 2: Optimización fina manual
• State = 3: Modo automático
• State = 4: Modo manual
• State = 5: Valor de salida sustitutivo con vigilancia de errores
Error OUT Bool Si Error = TRUE, hay como mínimo un mensaje de error pendiente en
este ciclo. (Valor predeterminado: FALSE)
Nota: el parámetro Error en V1.x PID era el campo ErrorBits que con-
tenía los códigos de error. Ahora es una marca booleana que indica
que se ha producido un error.
ErrorBits OUT DWord La tabla de parámetros (Página 608) ErrorBits de la instrucción
PID_Compact define los mensajes de error pendientes. (Valor prede-
terminado: DW#16#0000 (ningún error)). ErrorBits es remanente y se
resetea con un flanco ascendente en Reset o ErrorAck.
Nota: en V1.x, el parámetro ErrorBits estaba definido como el paráme-
tro Error y no existía.
1 Las salidas de los parámetros Output, Output_PER y Output_PWM pueden utilizarse en paralelo.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 605
Instrucciones tecnológicas
10.2 Control PID

Operación del regulador PID_Compact

Figura 10-1 Operación del regulador PID_Compact

Figura 10-2 Operación del regulador PID_Compact como regulador PIDT1 con anti-windup

Controlador programable S7-1200


606 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

10.2.2.2 Instrucción PID_Compact Límites del valor de proceso


Los "límites del valor de proceso" se suelen emplear junto con la entrada analógica, aunque
también pueden utilizarse para otros fines.
La configuración de los límites del valor del proceso tiene dos funciones:
● Establece los límites superior e inferior para las salidas de alarma Consigna
superior/inferior en el bloque PID
● Establece un límite para que la variable de proceso no pueda rebasar por exceso ni por
defecto estos límites independientemente de la consigna. Esta configuración define
límites fijos para el proceso.

En el bloque PID se emplean cuatro salidas de alarma:


● SetpointLimit_H: La consigna excede el límite superior.
● SetpointLimit_L: La consigna excede el límite inferior.
● InputWarning_H: La variable de proceso excede el límite superior de entrada.
● InputWarning_L: La variable de proceso excede el límite inferior de entrada.

Cuando se establecen los límites del valor de proceso, los puntos que hacen que las salidas
de alarma Consigna superior/inferior se activen están ajustados al mismo valor. Así, por
ejemplo, con los ajustes indicados anteriormente, si se introduce una consigna mayor que
120%, la salida "SetpointLimit_H" pasa a True. Esta acción es la misma para el límite
inferior. Si, por ejemplo, se introduce una consigna menor que 0%, la salida
"SetpointLimit_S" pasa a True. Esto indica a su programa que la consigna introducida está
fuera de rango. Es posible que esta alarma solicite que se vuelva a introducir la consigna.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 607
Instrucciones tecnológicas
10.2 Control PID

Si se introduce una consigna que está fuera del rango, Compact_PID limita
automáticamente la variable de proceso al rango configurado. Así, por ejemplo, si el límite
superior del valor de proceso se establece en 120% (tal y como se muestra en la figura
superior), es posible introducir una consigna mayor que 120%. Cuando la variable de
proceso se acerca a 120%, el PID reduce la salida y controla el proceso en el límite superior
de 120%. Por el contrario, la misma acción ocurre si la consigna es menor que el límite
inferior del valor de proceso. El PID no permite que la variable de proceso rebase por
defecto el límite inferior. Esta función permite definir la ejecución aceptable del proceso
durante la regulación normal automática del PID. En cualquier caso, esta función no se
aplica para arrancar y apagar a no ser que el PID esté en modo automático. Si el PID está
en modo automático y la consigna y la variable de proceso son menores que el límite
inferior, el PID intenta regular el proceso en el límite inferior configurado.

10.2.2.3 Parámetros de la instrucción ErrorBit de PID_Compact


Si hay varios errores pendientes, los valores de los códigos de error se muestran mediante
suma binaria. La indicación del código de error 0003, por ejemplo, indica que también están
pendientes los errores 0001 y 0002.

Tabla 10- 20 Parámetros de la instrucción ErrorBit de PID_Compact

ErrorBit (DW#16#...) Descripción


0000 No hay error
0001 1, 2 El parámetro Input se encuentra fuera de los límites del valor de proceso.
Input > Config.InputUpperLimit
Input < Config.InputLowerLimit
0002 2, 3 Valor no válido en el parámetro Input_PER. Compruebe si hay un error
pendiente en la entrada analógica.
0004 4 Error durante la optimización fina. No ha sido posible mantener la oscilación
del valor de proceso.
0008 4 Error al iniciar la optimización inicial. El valor de proceso está demasiado
próximo a la consigna. Inicie la optimización fina.
0010 4 La consigna se ha cambiado durante la optimización.
Nota: se puede ajustar la fluctuación permitida en la consigna en la variable
CancelTuningLevel.
0020 La optimización inicial no está permitida durante la optimización fina.
Nota: si ActivateRecoverMode = TRUE antes de que se produjera el error,
PID_Compact permanece en el modo de optimización fina.
0080 4 Error durante la optimización inicial. Configuración incorrecta de los límites
del valor de salida.
Compruebe si los límites del valor de salida están configurados correcta-
mente y coinciden con la lógica de control.
0100 4 Un error durante la optimización fina ha provocado parámetros no válidos.
0200 2, 3 Valor no válido en el parámetro Input: el valor tiene un formato de número
no válido.
0400 2, 3 Fallo en el cálculo del valor de salida. Compruebe los parámetros PID.
0800 1, 2 Error de tiempo de muestreo: PID_Compact no se llama durante el tiempo
de muestreo del OB de alarma cíclica.

Controlador programable S7-1200


608 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

ErrorBit (DW#16#...) Descripción


1000 2, 3 Valor no válido en el parámetro Setpoint: el valor tiene un formato de núme-
ro no válido.
10000 Valor no válido en el parámetro ManualValue: el valor tiene un formato de
número no válido.
Nota: si ActivateRecoverMode = TRUE antes de que se produjera el error,
PID_Compact utiliza SubstituteOutput como valor de salida. En cuanto se
asigna un valor válido en el parámetro ManualValue, PID_Compact lo utiliza
como valor de salida.
20000 Valor no válido en la variable SubstituteValue: el valor tiene un formato de
número no válido.
PID_Compact utiliza el límite inferior de valor de salida como valor de sali-
da.
Nota: si el modo automático estaba activo antes de que ocurriera el error,
ActivateRecoverMode = TRUE y el error ya no está pendiente,
PID_Compact vuelve al modo automático.
40000 Valor no válido en el parámetro Disturbance: el valor tiene un formato de
número no válido.
Nota: si el modo automático estaba activo y ActivateRecoverMode = FALSE
antes de que se produjera el error, Disturbance se pone a cero.
PID_Compact permanece en modo automático.
Nota: si el modo de optimización inicial o fina estaba activo y ActivateReco-
verMode = TRUE antes de que se produjera el error, PID_Compact cambia
al estado operativo guardado en el parámetro Mode. Si la perturbación en la
fase actual no afecta al valor de salida, la optimización no se cancela.
1 Nota: si el modo automático estaba activo antes de que se produjera el error y ActivateRecover-
Mode = TRUE, PID_Compact permanece en modo automático.
2 Nota: si el modo de optimización inicial o fina estaba activo antes de que se produjera el error y
ActivateRecoverMode = TRUE, PID_Compact cambia al estado operativo guardado en el paráme-
tro Mode.
3 Nota: si el modo automático estaba activo antes de que se produjera el error y ActivateRecover-
Mode = TRUE, PID_Compact emite el valor de salida sustitutivo configurado. En cuanto el error
deja de estar pendiente, PID_Compact regresa al modo automático.
4 Nota: si ActivateRecoverMode = TRUE antes de que se produjera el error, PID_Compact cancela
la optimización y cambia al estado operativo guardado en el parámetro Mode.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 609
Instrucciones tecnológicas
10.2 Control PID

10.2.2.4 Parámetros Warning de la instrucción PID_Compact


Si el regulador PID tiene varias advertencias pendientes, muestra los valores de los códigos
de error utilizando una suma binaria. Si se muestra el código de error 0003, por ejemplo,
significa que los errores 0001 y 0002 están pendientes.

Tabla 10- 21 Parámetros Warning de la instrucción PID_Compact

Advertencia (DW#16#...) Descripción


0000 No hay advertencias pendientes.
0001 1 El punto de inflexión no se ha encontrado durante el preajuste.
0002 La oscilación se ha reforzado durante el "ajuste en funcionamiento". (El parámetro "War-
ning" suprime esta advertencia y solo es visible en el parámetro "WarningInternal" para
fines de diagnóstico.)
0004 1 La consigna estaba limitada a los límites configurados.
0008 1 No se han definido todas las propiedades necesarias del sistema controlado para el método
de cálculo seleccionado. Por consiguiente, los parámetros PID se han calculado con el
método TIR.TuneRuleHeat / TIR.TuneRuleCool = 3.
0010 No se ha podido cambiar el estado operativo porque Reset = TRUE o ManualEnable =
TRUE.
0020 El tiempo de ciclo del OB invocante limita el tiempo de muestreo del algoritmo PID. Mejore
los resultados utilizando tiempos de ciclo más cortos para el OB.
0040 1 El valor de procesos ha excedido uno de sus límites de advertencia.
0080 Valor no válido en Mode. El estado operativo no ha cambiado.
0100 1 El valor manual estaba limitado por los límites de la salida del regulador.
0200 No se soporta la regla especificada para el ajuste. No se han calculado parámetros PID.
1000 No es posible acceder al valor de salida de sustitución porque está fuera de los límites para
el valor de salida.
1 Nota: El regulador PID borra las advertencias siguientes de forma automática en cuanto se elimina la causa o se repite
la acción del usuario con parámetros válidos: 0001, 0004, 0008, 0040 y 0100.

Controlador programable S7-1200


610 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

10.2.3 PID_3Step

10.2.3.1 Instrucción PID_3Step


La instrucción PID_3Step configura un regulador PID con capacidades de autoajuste que se
ha optimizado para válvulas accionadas por motor y actuadores.

Tabla 10- 22 Instrucción PID_3Step

KOP / FUP SCL Descripción


"PID_3Step_1"( PID_3Step configura un regulador PID con
SetpoInt:=_real_in_, capacidades de autoajuste que se ha
Input:=_real_in_, optimizado para válvulas accionadas por
ManualValue:=_real_in_, motor y actuadores. Proporciona dos
Feedback:=_real_in_, salidas booleanas.
InputPer:=_word_in_, PID_3Step es un regulador PID T1 con
FeedbackPer:=_word_in_, anti-windup y ponderación de las acciones
Disturbance:=_real_in_, P y D.
ManualEnable:=_bool_in_,
ManualUP:=_bool_in_,
ManualDN:=_bool_in_,
ActuatorH:=_bool_in_,
ActuatorL:=_bool_in_,
ErrorAck:=_bool_in_,
Reset:=_bool_in_,
ModeActivate:=_bool_in_,
Mode:=_int_in_,
ScaledInput=>_real_out_,
ScaledFeedback=>_real_out_,
ErrorBits=>_dword_out_,
OutputPer=>_word_out_,
State=>_int_out_,
OutputUP=>_bool_out_,
OutputDN=>_bool_out_,
SetpoIntLimitH=>_bool_out_,
SetpoIntLimitL=>_bool_out_,
InputWarningH=>_bool_out_,
InputWarningL=>_bool_out_,
Error=>_bool_out_,
ErrorBits=>_dword_out_);
1 STEP 7 crea automáticamente el objeto tecnológico y el DB de instancia al insertar la instrucción. El DB de instancia
contiene los parámetros del objeto tecnológico.
2 En el ejemplo SCL, "PID_3Step_1" es el nombre del DB de instancia.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 611
Instrucciones tecnológicas
10.2 Control PID

Tabla 10- 23 Tipos de datos de los parámetros

Parámetro y tipo Tipo de datos Descripción


Setpoint IN Real Consigna del regulador PID en modo automático. (Valor predetermina-
do: 0,0)
Input IN Real Una variable del programa de usuario se utiliza como fuente para el
valor de proceso. (Valor predeterminado: 0,0)
Si se utiliza el parámetro Input, hay que poner Con-
fig.InputPerOn = FALSE.
Input_PER IN Word Una entrada analógica se utiliza como fuente del valor de proceso.
(Valor predeterminado: W#16#0)
Si se utiliza el parámetro Input_PER, hay que poner Con-
fig.InputPerOn = TRUE.
Actuator_H IN Bool Realimentación de posición digital de la válvula para la posición límite
superior
Si Actuator_H = TRUE, la válvula está en la posición límite superior y
ya no se mueve en ese sentido. (Valor predeterminado: FALSE)
Actuator_L IN Bool Realimentación de posición digital de la válvula para la posición límite
inferior
Si Actuator_L = TRUE, la válvula está en la posición límite inferior y ya
no se mueve en ese sentido. (Valor predeterminado: FALSE)
Feedback IN Real Realimentación de posición de la válvula. (Valor predeterminado: 0,0)
Si se utiliza el parámetro Feedback, hay que poner Con-
fig.FeedbackPerOn = FALSE.
Feedback_PER IN Int Realimentación analógica de la posición de la válvula. (Valor predeter-
minado: W#16#0)
Si se utiliza el parámetro Feedback_PER, hay que poner Con-
fig.FeedbackPerOn = TRUE. Feedback_PER se escala en función de
las siguientes variables:
• Config.FeedbackScaling.LowerPointIn
• Config.FeedbackScaling.UpperPointIn
• Config.FeedbackScaling.LowerPointOut
• Config.FeedbackScaling.UpperPointOut
Disturbance IN Real Variable de perturbación o valor de precontrol
ManualEnable IN Bool Activa o desactiva el modo de operación manual. (Valor predetermina-
do: FALSE):
• Un flanco de FALSE a TRUE activa el "modo manual", mientras
que con State = 4 el modo permanece invariable.

Mientras ManualEnable = TRUE, no se puede cambiar el modo de


operación con un flanco ascendente en ModeActivate ni utilizar el
cuadro de diálogo de puesta en servicio.
• Un flanco de TRUE a FALSE activa el modo de operación asignado
por Mode.
Nota: recomendamos cambiar el modo de operación utilizando solo
ModeActivate.

Controlador programable S7-1200


612 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

Parámetro y tipo Tipo de datos Descripción


ManualValue IN Real Valor de proceso para operación manual. (Valor predeterminado: 0,0)
En modo manual, el usuario especifica la posición absoluta de la válvu-
la. ManualValue solo se evalúa si se utiliza OutputPer o si hay reali-
mentación de posición.
ManualUP IN Bool • Manual_UP = TRUE:
– La válvula se abre incluso si se utiliza Output_PER o una reali-
mentación de posición. La válvula deja de moverse cuando se
alcanza la posición límite superior.
– Consulte también Config.VirtualActuatorLimit
• Manual_UP = FALSE:
– Si se utiliza Output_PER o una realimentación de posición, la
válvula se mueve a ManualValue. De lo contrario, la válvula ya
no se mueve.
Nota: si Manual_UP y Manual_DN se ponen a TRUE simultáneamente,
la válvula no se mueve.
ManualDN IN Bool • Manual_DN = TRUE:
– La válvula se abre incluso si se utiliza Output_PER o una reali-
mentación de posición. La válvula deja de moverse cuando se
alcanza la posición límite superior.
– Consulte también Config.VirtualActuatorLimit
• Manual_DN = FALSE:
– Si se utiliza Output_PER o una realimentación de posición, la
válvula se mueve a ManualValue. De lo contrario, la válvula ya
no se mueve.
ErrorAck IN Bool Resetea los ErrorBits y las salidas de advertencia. Flanco de FALSE a
TRUE
Reset IN Bool Reinicia el regulador. (Valor predeterminado: FALSE):
• Flanco de FALSE a TRUE:
– Cambia al modo "inactivo".
– Resetea los ErrorBits y las salidas de advertencia
– Borra la acción integral
– Mantiene los parámetros PID
• Mientras Reset = TRUE, PID_3Step permanece en modo "Inactivo"
(estado = 0).
• Flanco de TRUE a FALSE:
– PID_3Step cambia al modo de operación guardado en el pará-
metro Mode.
ModeActivate IN Bool PID_3Step cambia al estado guardado en el parámetro Mode. Flanco
de FALSE a TRUE:
Mode IN Int El modo PID deseado; activado en el primer flanco de la entrada Mode
Activate .
ScaledInput OUT Real Valor de proceso escalado

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 613
Instrucciones tecnológicas
10.2 Control PID

Parámetro y tipo Tipo de datos Descripción


ScaledFeedback OUT Real Realimentación de posición escalada de válvula
Nota: para un actuador sin realimentación de posición, la posición del
actuador indicada en ScaledFeedback es muy imprecisa. Sca-
ledFeedback solo puede utilizarse para una estimación aproximada de
la posición actual en este caso.
Output_UP OUT Bool Valor de salida digital para abrir la válvula. (Valor predeterminado:
FALSE)
Si Config.OutputPerOn = FALSE, se usa el parámetro Output_UP.
Output_DN OUT Bool Valor de salida digital para cerrar la válvula. (Valor predeterminado:
FALSE)
Si Config.OutputPerOn = FALSE, se usa el parámetro Output_DN.
Output_PER OUT Word Valor de salida analógico.
Si Config.OutputPerOn = TRUE, se usa el parámetro Output_PER.
SetpointLimitH OUT Bool Límite superior de consigna. (Valor predeterminado: FALSE)
Si SetpointLimitH = TRUE, se ha alcanzado el límite superior absoluto
de la consigna (Setpoint ≥ Config.SetpointUpperLimit).
Nota: la consigna está limitada a (Setpoint ≥ Con-
fig.SetpointUpperLimit).
SetpointLimitL OUT Bool Límite inferior de consigna. (Valor predeterminado: FALSE)
Si SetpointLimitL = TRUE, se ha alcanzado el límite inferior absoluto de
la consigna (Setpoint ≥ Config.SetpointLowerLimit).
Nota: la consigna está limitada a (Setpoint ≥ Con-
fig.SetpointLowerLimit).
InputWarningH OUT Bool Si InputWarningH = TRUE, el valor de entrada ha alcanzado o rebasa-
do por exceso el límite superior de advertencia. (Valor predeterminado:
FALSE)
InputWarningL OUT Bool Si InputWarningL = TRUE, el valor de entrada ha alcanzado o rebasa-
do por defecto el límite inferior de advertencia. (Valor predeterminado:
FALSE)
State OUT Int Modo de operación actual del regulador PID. (Valor predeterminado: 0)
Se puede cambiar el modo de operación utilizando el parámetro de
entrada Mode y un flanco ascendente en ModeActivate:
• State = 0: Inactivo
• State = 1: Optimización inicial
• State = 2: Optimización fina manual
• State = 3: Modo automático
• State = 4: Modo manual
• State = 5: Aproximación al valor de salida sustitutivo
• State = 6: Medición del tiempo de transición
• State = 7: Vigilancia de errores
• State = 8: Aproximación al valor de salida sustitutivo con vigilancia
de errores\
• State = 10: Modo manual sin señales de posición límite

Controlador programable S7-1200


614 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

Parámetro y tipo Tipo de datos Descripción


Error OUT Bool Si Error = TRUE, hay como mínimo un mensaje de error pendiente.
(Valor predeterminado: FALSE)
Nota: el parámetro Error en V1.x PID era el campo ErrorBits que con-
tenía los códigos de error. Ahora es una marca booleana que indica
que se ha producido un error.
ErrorBits OUT DWord La tabla de parámetros (Página 618) ErrorBits de la instrucción
PID_3Step define los mensajes de error pendientes. (Valor predetermi-
nado: DW#16#0000 (ningún error)). ErrorBits es remanente y se rese-
tea con un flanco ascendente en Reset o ErrorAck.
Nota: en V1.x, el parámetro ErrorBits estaba definido como el paráme-
tro Error y no existía.

Operación del regulador PID_3Step

Figura 10-3 Operación del regulador PID_3Step como regulador PID T1 con anti-windup

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 615
Instrucciones tecnológicas
10.2 Control PID

Figura 10-4 Operación del regulador PID_3Step sin realimentación de posición

Controlador programable S7-1200


616 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

Figura 10-5 Operación del regulador PID_3Step con realimentación de posición habilitada

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 617
Instrucciones tecnológicas
10.2 Control PID

10.2.3.2 Parámetros ErrorBit de la instrucción PID_3Step


Si hay varios errores pendientes, los valores de los códigos de error se muestran mediante
suma binaria. La indicación del código de error 0003, por ejemplo, indica que también están
pendientes los errores 0001 y 0002.

Tabla 10- 24 Parámetros ErrorBit de la instrucción PID_3STEP

ErrorBit (DW#16#...) Descripción


0000 No hay error
0001 1, 2 El parámetro Input se encuentra fuera de los límites del valor de proceso.
Input > Config.InputUpperLimit
Input < Config.InputLowerLimit
0002 2, 3 Valor no válido en el parámetro Input_PER. Compruebe si hay un error
pendiente en la entrada analógica.
0004 4 Error durante la optimización fina. No ha sido posible mantener la oscilación
del valor de proceso.
0010 4 La consigna se ha cambiado durante la optimización.
Nota: se puede ajustar la fluctuación permitida en la consigna en la variable
CancelTuningLevel.
0020 La optimización inicial no está permitida durante la optimización fina.
Nota: si ActivateRecoverMode = TRUE antes de que se produjera el error,
PID_3Step permanece en el modo de optimización fina.
0080 4 Error durante la optimización inicial. Configuración incorrecta de los límites
del valor de salida.
Compruebe si los límites del valor de salida están configurados correcta-
mente y coinciden con la lógica de control.
0100 4 Un error durante la optimización fina ha provocado parámetros no válidos.
0200 2, 3 Valor no válido en el parámetro Input: el valor tiene un formato de número
no válido.
0400 2, 3 Fallo en el cálculo del valor de salida. Compruebe los parámetros PID.
0800 1, 2 Error de tiempo de muestreo: PID_3Step no se llama durante el tiempo de
muestreo del OB de alarma cíclica.
1000 2, 3 Valor no válido en el parámetro Setpoint: el valor tiene un formato de núme-
ro no válido.
2000 1, 2, 5 Valor no válido en el parámetro Feedback_PER.
Compruebe si hay un error pendiente en la entrada analógica.
4000 1, 2, 5 Valor no válido en el parámetro Feedback: el valor tiene un formato de
número no válido.
8000 1, 2 Error durante la realimentación de posición digital. Actuator_H = TRUE
yActuator_L = TRUE.
El actuador no se puede mover al valor de salida sustitutivo y permanece
en la posición actual. En este estado no es posible el modo manual.
Para cambiar el estado del actuador hay que desactivar la "posición límite
del actuador" (Config.ActuatorEndStopOn = FALSE) o cambiar al modo
manual sin señales de posición límite (Mode = 10).

Controlador programable S7-1200


618 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

ErrorBit (DW#16#...) Descripción


10000 Valor no válido en el parámetro ManualValue: el valor tiene un formato de
número no válido.
El actuador no se puede mover al valor manual y permanece en la posición
actual.
Asigne un valor válido en ManualValue o mueva el actuador en modo ma-
nual con Manual_UP y Manual_DN.
20000 Valor no válido en la variable SavePosition: el valor tiene un formato de
número no válido.
El actuador no se puede mover al valor de salida sustitutivo y permanece
en la posición actual.
40000 Valor no válido en el parámetro Disturbance: el valor tiene un formato de
número no válido.
Nota: si el modo automático estaba activo y ActivateRecoverMode = FALSE
antes de que se produjera el error, Disturbance se pone a cero. PID_3Step
permanece en modo automático.
Nota: si el modo de optimización inicial o fina estaba activo y ActivateReco-
verMode = TRUE antes de que se produjera el error, PID_3Step cambia al
estado operativo guardado en el parámetro Mode. Si la perturbación en la
fase actual no afecta al valor de salida, la optimización no se cancela.
El error no tiene ningún efecto durante la medición del tiempo de transición.
1 Nota: si el modo automático estaba activo antes de que se produjera el error y ActivateRecover-
Mode = TRUE, PID_3Step permanece en modo automático.
2 Nota: si el modo de optimización inicial o fina o bien la medición de tiempo de transición estaban
activos y ActivateRecoverMode = TRUE antes de que se produjera el error, PID_3Step cambia al
estado operativo guardado en el parámetro Mode.
3 Nota: si el modo automático estaba activo antes de que se produjera el error y ActivateRecover-
Mode = TRUE, PID_3Step cambia a "Aproximación al valor de salida sustitutivo con vigilancia de
errores" o "Vigilancia de errores". En cuanto el error deja de estar pendiente, PID_3Step regresa
al modo automático.
4 Nota: si ActivateRecoverMode = TRUE antes de que se produjera el error, PID_3Step cancela la
optimización y cambia al estado operativo guardado en el parámetro Mode.
5 El actuador no se puede mover al valor de salida sustitutivo y permanece en la posición actual. En
el modo manual la posición del actuador solo se puede cambiar con Manual_UP y Manual_DN,
pero no con ManualValue.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 619
Instrucciones tecnológicas
10.2 Control PID

10.2.3.3 Parámetros Warning de la instrucción PID_3Step


Si el regulador PID tiene varias advertencias pendientes, muestra los valores de los códigos
de error utilizando una suma binaria. Si se muestra el código de error 0003, por ejemplo,
significa que los errores 0001 y 0002 están pendientes.

Tabla 10- 25 Parámetros Warning de la instrucción PID_Compact

Advertencia (DW#16#...) Descripción


0000 No hay advertencias pendientes.
0001 1 El punto de inflexión no se ha encontrado durante el preajuste.
0002 La oscilación se ha reforzado durante el "ajuste en funcionamiento". (El parámetro "War-
ning" suprime esta advertencia y solo es visible en el parámetro "WarningInternal" para
fines de diagnóstico.)
0004 1 La consigna estaba limitada a los límites configurados.
0008 1 No se han definido todas las propiedades necesarias del sistema controlado para el método
de cálculo seleccionado. Por consiguiente, los parámetros PID se han calculado con el
método TIR.TuneRuleHeat / TIR.TuneRuleCool = 3.
0010 No se ha podido cambiar el estado operativo porque Reset = TRUE o ManualEnable =
TRUE.
0020 El tiempo de ciclo del OB invocante limita el tiempo de muestreo del algoritmo PID. Mejore
los resultados utilizando tiempos de ciclo más cortos para el OB.
0040 1 El valor de procesos ha excedido uno de sus límites de advertencia.
0080 Valor no válido en Mode. El estado operativo no ha cambiado.
0100 1 El valor manual estaba limitado por los límites de la salida del regulador.
0200 No se soporta la regla especificada para el ajuste. No se han calculado parámetros PID.
1000 No es posible acceder al valor de salida de sustitución porque está fuera de los límites para
el valor de salida.
1 Nota: El regulador PID borra las advertencias siguientes de forma automática en cuanto se elimina la causa o se repite
la acción del usuario con parámetros válidos: 0001, 0004, 0008, 0040 y 0100.

Controlador programable S7-1200


620 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

10.2.4 PID_Temp

10.2.4.1 Instrucción PID_Temp


La instrucción PID_Temp ofrece un regulador PID universal que permite manejar los
requisitos específicos de control de temperatura.

Tabla 10- 26 Instrucción PID_Temp

KOP / FUP SCL Descripción


"PID_Temp_1"( PID_Temp ofrece las funcionalidades si-
Setpoint:=_real_in_, guientes:
Input:=_real_in_, • Calentar y refrigerar el proceso con
Input_PER:=_int_in_, diferentes actuadores
Disturbance:=_real_in_,
• Autotuning integrado para manejar pro-
ManualEnable:=_bool_in_,
cesos de temperatura
ManualValue:=_real_in_,
ErrorAck:=_bool_in_, • Función de cascada para procesar más
Reset:=_bool_in_, de una temperatura que depende del
ModeActivate:=_bool_in_, mismo actuador.
Mode:=_int_in_,
Master:=_dword_in
Save:=_dword_in
ScaledInput=>_real_out_,
OutputHeat=>_real_out_,
OutputCool=>_real_out_,
OutputHeat_PER=>_int_out_,
OutputCool_PER=>_int_out_,
Out-
putHeat_PWM=>_bool_out_,
Out-
putCool_PWM=>_bool_out_,
SetpointLimit_H=>_bool_out_,
SetpointLimit_L=>_bool_out_,
InputWarn-
ing_H=>_bool_out_,
InputWarn-
ing_L=>_bool_out_,
State=>_int_out_,
Error=>_bool_out_,
ErrorBits=>_dword_out_);
1 STEP 7 crea automáticamente el objeto tecnológico y el DB de instancia al insertar la instrucción. El DB de instancia
contiene los parámetros del objeto tecnológico.
2 En el ejemplo SCL, "PID_Temp_1" es el nombre del DB de instancia.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 621
Instrucciones tecnológicas
10.2 Control PID

Tabla 10- 27 Tipos de datos de los parámetros

Parámetro y tipo Tipo de datos Descripción


Setpoint IN Real Consigna del regulador PID en modo automático. (Valor predetermina-
do: 0,0)
Input IN Real Una variable del programa de usuario se utiliza como fuente para el
valor de proceso. (Valor predeterminado: 0,0)
Si se utiliza el parámetro Input, hay que poner Con-
fig.InputPerOn = FALSE.
Input_PER IN Int Una entrada analógica se utiliza como fuente del valor de proceso.
(Valor predeterminado: 0)
Si se utiliza el parámetro Input_PER, hay que poner Con-
fig.InputPerOn = TRUE.
Disturbance IN Real Variable de perturbación o valor de precontrol
ManualEnable IN Bool Activa o desactiva el modo de operación manual. (Valor predetermina-
do: FALSE):
• Un flanco de FALSE a TRUE activa el modo manual, mientras que
si State = 4 el modo permanece invariable.

Mientras ManualEnable = TRUE, no se puede cambiar el modo de


operación con un flanco ascendente en ModeActivate ni utilizar el
cuadro de diálogo de puesta en servicio.
• Un flanco de TRUE a FALSE activa el modo de operación asignado
por Mode.
Nota: recomendamos cambiar el modo de operación utilizando solo
ModeActivate.
ManualValue IN Real Valor de salida para operación manual. (Valor predeterminado: 0,0)
Se pueden utilizar valores de Config.OutputLowerLimit a Con-
fig.OutputUpperLimit.
ErrorAck IN Bool Desactiva los ErrorBits y las salidas de advertencia con un flanco de
FALSE a TRUE. (Valor predeterminado: FALSE)
Reset IN Bool Reinicia el regulador. (Valor predeterminado: FALSE):
• Flanco de FALSE a TRUE:
– Cambia al modo "inactivo".
– Resetea los ErrorBits y las salidas de advertencia
– Borra la acción integral
– Mantiene los parámetros PID
• Mientras Reset = TRUE, PID_Temp permanece en modo inactivo
(estado = 0).
• Flanco de TRUE a FALSE:
– PID_Temp cambia al modo de operación guardado en el pará-
metro Mode.
ModeActivate IN Bool PID_Temp cambia al modo de operación guardado en el parámetro
Mode con un flanco de FALSE a TRUE. (Valor predeterminado:
FALSE)

Controlador programable S7-1200


622 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

Parámetro y tipo Tipo de datos Descripción


Mode IN/OUT Int Activado en el primer flanco de la entrada Mode Activate.
Selección del modo de operación (valor predeterminado: 0,0):
• Mode = 0: Inactivo
• Mode = 1: Optimización inicial
• Mode = 2: Optimización fina
• Mode = 3: Modo automático
• Mode = 4: Modo manual
"Valor de salida sustitutivo con vigilancia de errores" (State = 5). El
usuario no puede activarlo; solo es una reacción de error automática.
Master IN/OUT DWord Conexión en cascada al maestro (condiciones AntiWindUp y de optimi-
Slave IN/OUT DWord zación). (Valor predeterminado: DW#16#0000)
• Bits 0 - 15: no se usan en la instrucción PID_Temp
• Bits 16 - 23: limitar contador: un esclavo incrementa este valor si
alcanza su limitación. El número de esclavos en la limitación se
procesa para el funcionamiento Anti-Windup (consulte el parámetro
Config.Cascade.AntiWindUpMode).
• Bit 24: IsAutomatic: este bit se pone a "1" si todos los esclavos de
este controlador están en modo automático y son procesados para
comprobar las condiciones de optimización en una cascada. Este
bit es idéntico al parámetro AllSlaveAutomaticState.
• Bit 25: "IsReplacement-Setpoint": este bit se pone a "1" si un escla-
vo de este controlador tiene activada la "consigna de sustitución" y
es procesado para comprobar las condiciones de optimización en
una cascada. El valor invertido se guarda en el parámetro NoSla-
veReplacementSetpoint.
ScaledInput OUT Real Valor de proceso escalado. (Valor predeterminado: 0,0)
OutputHeat1 OUT Real Valor de salida para calentamiento en formato REAL. (Valor predeter-
minado: 0,0)
Este valor de salida se calcula con el parámetro Con-
fig.Output.Heat.Select, independientemente de la selección de salida.
OutputCool1 OUT Real Valor de salida para refrigeración en formato REAL. (Valor predetermi-
nado: 0,0)
Este valor de salida se calcula con el parámetro Con-
fig.Output.Cool.Select, independientemente de la selección de salida.
OutputHeat_PER1 OUT Int Valor de salida para calentamiento en formato periférico (valor prede-
terminado: 0)
Este valor de salida solo se calcula si se selecciona usando el paráme-
tro Config.Output.Heat.Select =2. Si no se selecciona, esta salida
siempre es "0".
OutputCool_PER1 OUT Int Valor de salida para calentamiento en formato periférico (valor prede-
terminado: 0)
Este valor de salida solo se calcula si se selecciona usando el paráme-
tro Config.Output.Cool.Select =2. Si no se selecciona, esta salida
siempre es "0".

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 623
Instrucciones tecnológicas
10.2 Control PID

Parámetro y tipo Tipo de datos Descripción


OutputHeat_PWM1 OUT Bool Valor de salida con modulación del ancho de impulso para calefacción.
(Valor predeterminado: FALSE)
Este valor de salida solo se calcula si se selecciona usando el paráme-
tro Config.Output.Heat.Select =1 (valor predeterminado). Si no se se-
lecciona, esta salida siempre es FALSE.
OutputCool_PWM1 OUT Bool Valor de salida con modulación del ancho de impulso para refrigera-
ción. (Valor predeterminado: FALSE)
Este valor de salida solo se calcula si se selecciona usando el paráme-
tro Config.Output.Cool.Select =1 (valor predeterminado). Si no se se-
lecciona, esta salida siempre es FALSE.
SetpointLimit_H OUT Bool Límite superior de consigna. (Valor predeterminado: FALSE)
Si SetpointLimit_H = TRUE, se ha alcanzado el límite superior absoluto
de la consigna (Setpoint ≥ Config.SetpointUpperLimit).
La consigna está limitada a Config.SetpointUpperLimit.
SetpointLimit_L OUT Bool Límite inferior de consigna. (Valor predeterminado: FALSE)
Si SetpointLimit_L = TRUE, se ha alcanzado el límite inferior absoluto
de la consigna (Setpoint ≤ Config.SetpointLowerLimit).
La consigna está limitada a Config.SetpointLowerLimit.
InputWarning_H OUT Bool Si InputWarning_H = TRUE, el valor de proceso ha alcanzado o reba-
sado por exceso el límite superior de advertencia. (Valor predetermina-
do: FALSE)
InputWarning_L OUT Bool Si InputWarning_L = TRUE, el valor de proceso ha alcanzado o reba-
sado por defecto el límite inferior de advertencia. (Valor predetermina-
do: FALSE)
State OUT Int Modo de operación actual del regulador PID. (Valor predeterminado: 0)
Se puede cambiar el modo de operación utilizando el parámetro de
entrada Mode y un flanco ascendente en ModeActivate:
• State = 0: Inactivo
• State = 1: Optimización inicial
• State = 2: Optimización fina
• State = 3: Modo automático
• State = 4: Modo manual
• State = 5: Valor de salida sustitutivo con vigilancia de errores
Error OUT Bool Si Error = TRUE, hay como mínimo un mensaje de error pendiente en
este ciclo. (Valor predeterminado: FALSE)
Nota: el parámetro Error en V1.x PID era el campo ErrorBits que con-
tenía los códigos de error. Ahora es una marca booleana que indica
que se ha producido un error.
ErrorBits OUT DWord La instrucción PID_Temp, tabla de parámetros ErrorBits (Página 631),
define los mensajes de error pendientes. (Valor predeterminado:
DW#16#0000 (ningún error)). ErrorBits es remanente y se resetea con
un flanco ascendente en Reset o ErrorAck.
Nota: en V1.x, el parámetro ErrorBits estaba definido como el paráme-
tro Error y no existía.

Controlador programable S7-1200


624 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

Parámetro y tipo Tipo de datos Descripción


Warning OUT DWord La instrucción PID_Temp, tabla de parámetros de advertencia (Pági-
na 633) define los mensajes de advertencia pendientes que son rele-
vantes para el usuario. (Valor predeterminado: DW#16#0000 (ninguna
advertencia)).
WarningInternal OUT DWord La instrucción PID_Temp, tabla de parámetros WarningInternal, define
los mensajes de advertencia internos pendientes (incluye todas las
advertencias). (Valor predeterminado: DW#16#0000 (ninguna adver-
tencia interna)).
1 Las salidas de los parámetros Output, Output_PER y Output_PWM pueden utilizarse en paralelo.

Operación del regulador PID_Temp

Selección de regulación de calentamiento/enfriamiento


Primero hay que seleccionar si se necesita un dispositivo de enfriamiento además de la
salida de calentamiento en el parámetro "ActivateCooling". A continuación hay que definir si
se desea utilizar dos juegos de parámetros PID (modo avanzado) o solo uno con un factor
adicional de calentamiento/enfriamiento en el parámetro "AdvancedCooling".

Uso del parámetro CoolFactor


Si se desea aplicar un factor de calentamiento/enfriamiento, el valor debe definirse
manualmente. Hay que determinar el valor a partir de los datos técnicos de la aplicación
(relación de ganancia proporcional de los actuadores (por ejemplo, la relación de potencia
máxima de calentamiento y enfriamiento de los actuadores) y asignarlo al parámetro
"CoolFactor". Un factor de calentamiento/enfriamiento de 2.0 significa que el dispositivo de
calentamiento es dos veces más efectivo que el dispositivo de enfriamiento. Si se utiliza un
factor de enfriamiento, PID_Temp calculará la señal de salida y, dependiendo de su signo,
multiplicará la señal de salida por el factor de calentamiento/enfriamiento (con signo
negativo) o no (con signo positivo).

Uso de dos juegos de parámetros PID


Los juegos de parámetros PID diferentes para calentamiento y enfriamiento pueden
detectarse automáticamente durante la puesta en servicio. Se puede esperar un mejor
rendimiento de regulación en comparación con el factor de calentamiento/enfriamiento
porque, además de ganancias proporcionales diferentes, con dos juegos de parámetros se
pueden considerar tiempos de retardo diferentes. No obstante, la desventaja es que con
este método puede requerirse más tiempo para el proceso de optimización. Si la
conmutación de parámetros PID está activada (Config.AdvancedCooling = TRUE), el
regulador PID_Temp detectará en "Modo automático" (regulación activada) si es necesario
el calentamiento o enfriamiento en ese momento y utilizará juegos de parámetros PID para
la regulación.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 625
Instrucciones tecnológicas
10.2 Control PID

ControlZone
Con el regulador PID_Temp, se puede definir una zona de regulación para cada juego de
parámetros en el parámetro "ControlZone". Si el error de regulación (consigna – entrada) se
encuentra dentro de la zona de regulación, PID_Temp utiliza el algoritmo PID para calcular
las señales de salida. Sin embargo, si el error de regulación abandona el rango definido, la
salida adopta el valor máximo de calentamiento o enfriamiento (salida de enfriamiento
activada) / valor de salida de calentamiento mínimo (salida de enfriamiento desactivada).
Esta función se puede utilizar para alcanzar más rápidamente la consigna deseada, en
especial para el calentamiento inicial de procesos de temperatura lentos.

DeadZone
En el parámetro "DeadZone" se puede definir un ancho del error de regulación para
calentamiento y enfriamiento despreciado por el algoritmo PID. Así, un error de regulación
dentro de ese rango se suprime y el regulador PID_Temp se comporta como si la consigna y
los valores del proceso fueran idénticos. Con ello se pueden minimizar intervenciones
innecesarias por parte del regulador alrededor de la consigna y proteger el actuador. Si se
desea aplicar una zona muerta (DeadZone), el valor debe definirse manualmente. El
autoajuste no activa el valor DeadZone automáticamente. DeadZone es simétrica (entre -
Retain.CtrlParams.Heat.DeadZone y +Retain.CtrlParams.Heat.DeadZone) para reguladores
de calentamiento sin enfriamiento o reguladores de calentamiento/enfriamiento con
CoolFactor. DeadZone puede ser asimétrica (entre -Retain.CtrlParams.Cool.DeadZone y
+Retain.CtrlParams.Heat.DeadZone) para reguladores de calentamiento/enfriamiento con
dos juegos de parámetros PID.

Controlador programable S7-1200


626 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

Operaciones de regulador PID_Temp


Los siguientes diagramas de bloques muestran las operaciones estándar y en cascada de la
instrucción PID_Temp:

Figura 10-6 PID_Temp_Operation_Block_Diagram

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 627
Instrucciones tecnológicas
10.2 Control PID

Figura 10-7 PID_Temp_Cascade_Operation_Block_Diagram

Reguladores en cascada
Los reguladores PID de temperatura se pueden ajustar en cascada para procesar más de
una temperatura que dependa del mismo actuador.

Orden de llamada
Los reguladores PID en cascada se pueden llamar en el mismo ciclo de OB. Primero hay
que llamar el maestro, a continuación el siguiente esclavo o los siguientes esclavos en el
flujo de señal de regulación, y así hasta llamar finalmente el último esclavo de la cascada.
La instrucción PID_Temp no comprueba automáticamente el orden de llamada.

Controlador programable S7-1200


628 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

Conexiones de comunicación
Si se ajustan reguladores en cascada, hay que conectar maestro y esclavo de forma que
puedan compartir información entre sí. Hay que conectar el parámetro IN/OUT “Master” de
un esclavo con el parámetro IN/OUT “Slave” de su maestro en el sentido de flujo de las
señales.
Esto muestra una conexión de reguladores PID_Temp en cascada con dos subcascadas:
"PID_Temp1" proporciona la consigna. La configuración conecta las salidas de
"PID_Temp2", "PID_Temp3", "PID_Temp5", "PID_Temp6" y "PID_Temp8" al proceso:

Figura 10-8 PID_Temp_Cascading_communication_connection

Consigna de sustitución
La instrucción PID_Temp proporciona una segunda entrada de consigna en el parámetro
“ReplacementSetpoint”, que puede activarse ajustando el parámetro
“ReplacementSetpointOn” = TRUE. Se puede utilizar “ReplacementSetpoint” como entrada
de consigna durante la puesta en servicio o la optimización de un regulador esclavo sin
necesidad de desconectar la conexión salida-a-consigna entre maestro y esclavo. La
conexión es necesaria para el funcionamiento normal de la cascada.
De este modo, no es necesario cambiar el programa ni descargarlo si se desea desconectar
temporalmente un esclavo de su maestro. Tan solo hay que activar "ReplacementSetpoint"
y desactivarlo de nuevo al acabar. La consigna se hará efectiva para el algoritmo PID
cuando pueda verse el valor en el parámetro “CurrentSetpoint”.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 629
Instrucciones tecnológicas
10.2 Control PID

Autoajuste
El autoajuste de reguladores maestros en cascada debe cumplir los siguientes requisitos:
● Ser puesto en servicio desde su esclavo interior al primer maestro.
● Todos los esclavos del maestro deben estar en "Modo automático".
● La salida del maestro debe ser la consigna de los esclavos.
La instrucción PID_Temp proporciona la siguiente ayuda para el autoajuste en cascada:
● Si se inicia un autoajuste para un regulador maestro, el maestro comprueba si todos los
esclavos se encuentran en “Modo automático” y si la función de consigna de sustitución
está desactivada para todos los esclavos (“ReplacementSetpointOn” = FALSE). Si no se
cumplen estas condiciones, el maestro no podrá autoajustarse. El maestro cancela el
ajuste, pasa al modo “Inactivo” (si “ActivateRecoverMode” = FALSE) o regresa al modo
guardado en el parámetro "Mode" (si “ActivateRecoverMode” = TRUE). El maestro
muestra el mensaje de error 200000hex ("Error del maestro en la cascada. Los esclavos
no están en modo automático o han activado la consigna sustitutiva e impiden la
optimización del maestro".
● Cuando todos los esclavos están en “Modo automático", el sistema pone el parámetro
"AllSlaveAutomaticState" = TRUE. Se puede aplicar este parámetro en el programa o
localizar la causa del error 200000hex.
● Si el "ReplacementSetpoint" está desactivado para todos los esclavos, el sistema ajusta
el parámetro "NoSlaveReplacementSetpoint" = TRUE. Se puede aplicar este parámetro
en el programa o localizar la causa del error 200000hex.
Si se utiliza el cuadro de diálogo de puesta en servicio de la instrucción PID_Temp, se
obtendrá más ayuda para el ajuste en cascada (Página 654).

Modos de operación y tratamiento de errores


El regulador PID_Temp no permite la conmutación del modo de operación en su maestro o
sus esclavos. Así, el maestro de una cascada permanece en su modo actual cuando un
esclavo genera un error. Esto supone una ventaja si dos más esclavos paralelos funcionan
con el regulador maestro en cuestión; un error en una cadena no desconecta la cadena
paralela.
De forma similar, un esclavo de la cascada permanece en su modo de operación actual
aunque su maestro genere un error. Sin embargo, en ese caso la operación posterior del
esclavo dependerá de la configuración del maestro, ya que la consigna del esclavo es la
salida del maestro. Así, si se configura el maestro con "ActivateRecoverMode" = TRUE y se
produce un error, el maestro depositará en la salida el último valor valido o un valor de
salida sustitutivo como consigna para el esclavo. Si el maestro se configura con
"ActivateRecoverMode" = FALSE, el maestro conmutará a “Modo inactivo" y pondrá todas
las salidas a "0.0", de modo que el esclavo utilizará "0.0" como su consigna.
Dado que solo los reguladores esclavos tienen acceso directo a los actuadores y que
permanecen en su estado de operación actual en caso de error del maestro, se evitan
daños en el proceso. Por ejemplo, para dispositivos de transformación de plásticos resulta
fatal para los esclavos dejar de funcionar, desconectar los actuadores y permitir que el
plástico se endurezca lentamente dentro del dispositivo porque el maestro ha generado un
error.

Controlador programable S7-1200


630 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

Anti-windup
Un esclavo en cascada recibe su consigna de la salida de su maestro. Si el esclavo alcanza
sus propios límites de salida mientras el maestro todavía ve un error de regulación
(consigna – entrada), el maestro congela o reduce su contribución a la integración para
impedir el efecto llamado "WindUp". En caso de "WindUp", el maestro incrementa su
contribución a la integración a un valor muy elevado y primero debe reducirlo antes de que
el regulador pueda volver a tener una reacción normal. Un efecto "WindUp" de este tipo
repercute negativamente en la dinámica de la regulación. PID_Temp ofrece maneras de
prevenir este efecto en una cascada configurando el parámetro
“Config.Cascade.AntiWindUpMode” del regulador maestro:

Valor Descripción
0 Desactiva la función Anti-Windup.
1 Reduce la contribución a la integración del regulador maestro en la relación
entre "esclavos en limitación" y "esclavos existentes" (parámetro “CountSla-
ves”).
2 Congela la contribución a la integración del maestro en cuanto un esclavo al-
canza su limitación. Solo es relevante si "Config.Cascade.IsMaster" = TRUE.

10.2.4.2 Parámetros ErrorBit de PID_Temp


Si el regulador PID tiene diferentes advertencias pendientes, mostrará los valores de los
códigos de error mediante suma binaria. La indicación del código de error 0003, por
ejemplo, indica que están pendientes los errores 0001 y 0002.

Tabla 10- 28 Parámetros ErrorBit de la instrucción PID_Temp

ErrorBit (DW#16#...) Descripción


0000 No hay error
0001 1, 2 El parámetro Input se encuentra fuera de los límites del valor de proceso.
Input > Config.InputUpperLimit
Input < Config.InputLowerLimit
0002 2, 3 Valor no válido en el parámetro Input_PER. Compruebe si hay un error
pendiente en la entrada analógica.
0004 4 Error durante la optimización fina. No ha sido posible mantener la oscilación
del valor de proceso.
0008 4 Error al iniciar la optimización inicial. El valor de proceso está demasiado
próximo a la consigna. Inicie la optimización fina.
0010 4 La consigna se ha cambiado durante la optimización.
Nota: se puede ajustar la fluctuación permitida en la consigna en la variable
CancelTuningLevel.
0020 La optimización inicial no está permitida durante la optimización fina.
Nota: si ActivateRecoverMode era = TRUE antes de que se produjera el
error, PID_Temp permanece en el modo de optimización fina.
0040 4 Error durante la optimización inicial. El enfriamiento no ha podido reducir el
valor del proceso.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 631
Instrucciones tecnológicas
10.2 Control PID

ErrorBit (DW#16#...) Descripción


0080 4 Error durante la optimización inicial. Configuración incorrecta de los límites
del valor de salida.
Compruebe si los límites del valor de salida están configurados correcta-
mente y coinciden con la lógica de control.
0100 4 Un error durante la optimización fina ha provocado parámetros no válidos.
0200 2, 3 Valor no válido en el parámetro Input: el valor tiene un formato de número
no válido.
0400 2, 3 Fallo en el cálculo del valor de salida. Compruebe los parámetros PID.
0800 1, 2 Error de tiempo de muestreo: PID_Temp no se llama durante el tiempo de
muestreo del OB de alarma cíclica.
1000 2, 3 Valor no válido en el parámetro Setpoint: el valor tiene un formato de núme-
ro no válido.
10000 Valor no válido en el parámetro ManualValue: el valor tiene un formato de
número no válido.
Nota: si ActivateRecoverMode era = TRUE antes de que se produjera el
error, PID_Temp utiliza SubstituteOutput como valor de salida. En cuanto
se asigna un valor válido en el parámetro ManualValue, PID_Temp lo utiliza
como valor de salida.
20000 Valor no válido en la variable SubstituteValue: el valor tiene un formato de
número no válido.
PID_Temp utiliza el límite inferior del valor de salida como valor de salida.
Nota: si el modo automático estaba activo antes de que se produjera el
error, ActivateRecoverMode = TRUE y el error ya no está pendiente,
PID_Temp vuelve al modo automático.
40000 Valor no válido en el parámetro Disturbance: el valor tiene un formato de
número no válido.
Nota: si el modo automático estaba activo y ActivateRecoverMode = FALSE
antes de que se produjera el error, Disturbance se pone a cero. PID_Temp
permanece en modo automático.
Nota: si el modo de optimización inicial o fina estaba activo y ActivateReco-
verMode = TRUE antes de que se produjera el error, PID_Temp cambia al
estado operativo guardado en el parámetro Mode. Si la perturbación en la
fase actual no afecta al valor de salida, la optimización no se cancela.
200000 Error con maestro en la cascada. Los esclavos no están en modo automáti-
co o tienen habilitada una consigna de sustitución e impiden el ajuste del
maestro.
400000 El regulador PID no permite la optimización inicial para calentamiento mien-
tras está activo el enfriamiento.
800000 El valor del proceso debe estar cercano a la consigna para iniciar la optimi-
zación inicial para el enfriamiento.
1000000 Error al iniciar la optimización. "Heat.EnableTuning" y "Cool.EnableTuning"
no están activados o su configuración no coincide.
2000000 La optimización inicial para el enfriamiento requiere una optimización inicial
correcta para el calentamiento.

Controlador programable S7-1200


632 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

ErrorBit (DW#16#...) Descripción


4000000 Error al iniciar la optimización fina. "Heat.EnableTuning" y "Co-
ol.EnableTuning" no pueden activarse al mismo tiempo.
8000000 Un error durante el cálculo del parámetro PID ha resultado en parámetros
no válidos (por ejemplo, ganancia negativa; los parámetros PID actuales
permanecen invariables y la optimización no tiene efecto).
1 Nota: si el modo automático estaba activo antes de que se produjera el error y ActivateRecover-
Mode = TRUE, PID_Temp permanece en modo automático.
2 Nota: si el modo de optimización inicial o fina estaba activo antes de que se produjera el error y
ActivateRecoverMode = TRUE, PID_Temp cambia al estado operativo guardado en el parámetro
Mode.
3 Nota: si el modo automático estaba activo antes de que se produjera el error y ActivateRecover-
Mode = TRUE, PID_Compact emite el valor de salida sustitutivo configurado. En cuanto el error
deja de estar pendiente, PID_Temp regresa al modo automático.
4 Nota: si ActivateRecoverMode era = TRUE antes de que se produjera el error, PID_Temp cancela
la optimización y cambia al estado operativo guardado en el parámetro Mode.

10.2.4.3 Parámetros Warning de PID_Temp


Si el regulador PID tiene varias advertencias pendientes, muestra los valores de los códigos
de error utilizando una suma binaria. Si se muestra el código de error 0003, por ejemplo,
significa que los errores 0001 y 0002 están pendientes.

Tabla 10- 29 Parámetros Warning de la instrucción PID_Temp

Advertencia Descripción
(DW#16#...)
0000 No hay advertencias pendientes.
0001 1 El punto de inflexión no se ha encontrado durante el preajuste.
0002 La oscilación se ha reforzado durante el "ajuste en funcionamiento". (El
parámetro "Warning" suprime esta advertencia y solo es visible en el pará-
metro "WarningInternal" para fines de diagnóstico.)
0004 1 La consigna estaba limitada a los límites configurados.
0008 1 No se han definido todas las propiedades necesarias del sistema controla-
do para el método de cálculo seleccionado. Por consiguiente, los paráme-
tros PID se han calculado con el método TIR.TuneRuleHeat /
TIR.TuneRuleCool = 3.
0010 No se ha podido cambiar el estado operativo porque Reset = TRUE o Ma-
nualEnable = TRUE.
0020 El tiempo de ciclo del OB invocante limita el tiempo de muestreo del algo-
ritmo PID. Mejore los resultados utilizando tiempos de ciclo más cortos para
el OB.
0040 1 El valor de procesos ha excedido uno de sus límites de advertencia.
0080 Valor no válido en Mode. El estado operativo no ha cambiado.
0100 1 El valor manual estaba limitado por los límites de la salida del regulador.
0200 No se soporta la regla especificada para el ajuste. No se han calculado
parámetros PID.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 633
Instrucciones tecnológicas
10.2 Control PID

Advertencia Descripción
(DW#16#...)
1000 No es posible acceder al valor de salida de sustitución porque está fuera de
los límites para el valor de salida.
4000 No se soporta la selección de salida especificada para calentamiento y/o
enfriamiento. Solo están activos OutputHeat y OutputCool.
8000 No se soporta el valor especificado para el parámetro PIDSelfTu-
ne.SUT.AdaptDelayTime, por lo que se utiliza el valor predeterminado "0".
10000 No se soporta el valor especificado para el parámetro PIDSelfTu-
ne.SUT.CoolingMode, por lo que se utiliza el valor predeterminado "0".
1 Nota: El regulador PID borra las advertencias siguientes de forma automática en cuanto se elimi-
na la causa o se repite la acción del usuario con parámetros válidos: 0001, 0004, 0008, 0040 y
0100.

10.2.5 Configuración de los reguladores PID_Compact y PID_3Step

Los parámetros del objeto tecnológico determinan el funcionamiento del regulador


PID. Utilice el icono para abrir el editor de configuración.

Controlador programable S7-1200


634 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

Tabla 10- 30 Ejemplo de ajustes de configuración de la instrucción PID_Compact

Ajustes Descripción
Básicos Tipo de regulador Selecciona las unidades de ingeniería.
Invertir la lógica de Permite seleccionar un lazo PID de acción inversa.
control
• Si no está seleccionado, el lazo PID está en modo de acción directa y la salida
del lazo PID se incrementa si el valor de entrada < la consigna.
• Si está seleccionado, la salida del lazo PID se incrementa si el valor de entrada
> la consigna.
Habilitar el último esta- Reinicia el lazo PID después de resetearlo o si se ha excedido un límite de entrada
do después de reiniciar y se ha vuelto al rango válido.
la CPU
Entrada Selecciona el parámetro Input o Input_PER (analógico) para el valor de proceso.
Input_PER puede proceder directamente de un módulo de entrada analógico.
Salida Selecciona el parámetro Output o Output_PER (analógico) para el valor de salida.
Output_PER puede ir directamente a un módulo de salida analógico.
Valor de Escala tanto el rango como los límites del valor de proceso. Si el valor de proceso rebasa por defecto el
proceso límite inferior o por exceso el límite superior, el lazo PID pasa al estado inactivo y pone el valor de salida a
0.
Para utilizar Input_PER hay que escalar el valor de proceso analógico (valor de entrada).

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 635
Instrucciones tecnológicas
10.2 Control PID

Tabla 10- 31 Ejemplo de ajustes de configuración de la instrucción PID_3Step

Configuración Descripción
Básicos Tipo de regulador Selecciona las unidades de ingeniería.
Invertir la lógica de Permite seleccionar un lazo PID de acción inversa.
control
• Si no está seleccionado, el lazo PID está en modo de acción directa y la salida
del lazo PID se incrementa si el valor de entrada < la consigna.
• Si está seleccionado, la salida del lazo PID se incrementa si el valor de entrada
> la consigna.
Activar modo tras Reinicia el lazo PID después de resetearlo o si se ha excedido un límite de entrada
rearranque de la CPU y se ha vuelto al rango válido.
Poner modo a: define el modo al que el usuario desea que pase el PID tras un
rearranque.
Entrada Selecciona el parámetro Input o Input_PER (analógico) para el valor de proceso.
Input_PER puede proceder directamente de un módulo de entrada analógico.
Salida Selecciona si deben utilizarse las salidas digitales (Output_UP y Output_DN) o la
salida analógica (Output_PER) para el valor de salida.
Realimentación Selecciona el tipo de estado de dispositivo devuelto al lazo PID:
• Sin realimentación (predeterminado)
• Realimentación
• Feedback_PER
Valor de Escala tanto el rango como los límites del valor de proceso. Si el valor de proceso rebasa por defecto el
proceso límite inferior o por exceso el límite superior, el lazo PID pasa al estado inactivo y pone el valor de salida a
0.
Para utilizar Input_PER hay que escalar el valor de proceso analógico (valor de entrada).
Actuador Tiempo de transi- Establece el tiempo entre la abertura y el cierre de la válvula. (Encontrará este valor en
ción del motor la hoja de datos o en el faceplate de la válvula.)
Tiempo de activi- Establece el tiempo de movimiento mínimo de la válvula. (Encontrará este valor en la
dad mínimo hoja de datos o en el faceplate de la válvula.)
Tiempo de reposo Establece el tiempo de pausa mínimo de la válvula. (Encontrará este valor en la hoja
mínimo de datos o en el faceplate de la válvula.)
Reacción a error Define el comportamiento de la válvula cuando se detecta un error o cuando se resetea
el lazo PID. Si se elige utilizar una posición sustitutiva, introduzca la "posición de segu-
ridad". Para una realimentación o salida analógica, seleccione un valor entre el límite
superior o inferior de la salida. Para salidas digitales, puede elegir solo entre 0% (off) y
100% (on).
Escalar realimen- • "Posición límite superior" y "Posición límite inferior" definen la posición positiva
tación de posición1 máxima (completamente abierta) y la posición negativa máxima (completamente
cerrada). La "Posición límite superior" debe ser mayor que la "Posición límite infe-
rior".
• "Límite superior del valor de proceso" y "Límite inferior del valor de proceso" definen
las posiciones superior e inferior de la válvula durante el ajuste y el modo automáti-
co.
• "FeedbackPER" ("Low" y "High") define la realimentación analógica de la posición
de la válvula. "FeedbackPER High" debe ser mayor que "FeedbackPER Low".

Controlador programable S7-1200


636 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

Configuración Descripción
Avanzada Vigilancia del valor Ajusta los límites superior e inferior de advertencia para el valor de proceso.
de proceso
Parámetros PID Si el usuario lo desea, puede introducir sus propios parámetros de optimización PID en
esta ventana. Para que eso sea posible, la casilla de verificación "Permitir entrada
manual" debe estar activada.
1 "Escalar realimentación de posición" solo es editable si se ha activado "Realimentación" en los ajustes "básicos".

10.2.6 Configuración del regulador PID_Temp

Los parámetros del objeto tecnológico determinan el funcionamiento del regulador


PID. Utilice el icono para abrir el editor de configuración.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 637
Instrucciones tecnológicas
10.2 Control PID

Tabla 10- 32 Ejemplo de ajustes de configuración de la instrucción PID_Temp

Configuración Descripción
Básicos Tipo de regulador Selecciona las unidades de ingeniería.
Activar modo tras Reinicia el lazo PID después de resetearlo o si se ha excedido un
rearranque de la límite de entrada y se ha vuelto al rango válido.
CPU Poner modo a: define el modo al que el usuario desea que pase el
PID tras un rearranque.
Entrada Selecciona el parámetro Input o Input_PER (analógico) para el valor
de proceso. Input_PER puede proceder directamente de un módulo
de entrada analógico.
Salida Calenta- Selecciona si deben utilizarse las salidas digitales (OutputHeat y
miento OutputHeat_PWM) o la salida analógica (OutputHeat_PER (analog))
para el valor de salida.
Salida Enfriamien- Selecciona si deben utilizarse las salidas digitales (OutputCool y
to OutputCool_PWM) o la salida analógica (OutputCool_PER (analog))
para el valor de salida.
Valor de Escala tanto el rango como los límites del valor de proceso. Si el valor de proceso rebasa
proceso por defecto el límite inferior o por exceso el límite superior, el lazo PID pasa al estado
inactivo y pone el valor de salida a 0.
Para utilizar Input_PER hay que escalar el valor de proceso analógico (valor de entrada).
Cascada El regulador es Ajusta el regulador como maestro y selecciona el número de escla-
maestro vos.
El regulador es Ajusta el regulador como esclavo y selecciona el número de maes-
esclavo tros.

Controlador programable S7-1200


638 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

Tipo de regulador

Ajuste Parámetro TO-DB Tipo Rango de valores Descripción


de
datos
Cantidad "PhysicalQuantity" Int • General Preselección de valor de
física (Enu unidad física
• Temperatura
m)
(=predeterminada Sin regulación multivalor
y no editable en modo
)
online de la vista funcio-
nal.
Unidad "PhysicalUnit Int • General: Unida- La selección de unidad
de medi- (Enu des = % del usuario se vuelve a
da m) poner a “0” al cambiar la
• Temperatura: cantidad física.
Unidades (selec-
ciones posibles)
=
– °C
(=predetermin
ada)
– °F
– K
Activar "RunModeByStartup" Bool Casilla de verifica- Si se ajusta TRUE
modo ción (=predeterminada), el
tras regulador cambia al es-
rearran- tado guardado en la
que de la variable “Mode” tras
CPU Power on - off - on tras
pasar el PLC de STOP a
RUN. De lo contrario,
PID-Temp permanece en
modo "Inactivo".
Poner "Mode" Int Modos (selecciones La estación de ingeniería
modo a (Enu posibles): (ES) ajusta el valor de
m) arranque de la variable
• 0: Inactivo
“Mode” conforme a la
• 1: Optimización selección del usuario. El
inicial valor predeterminado de
• 2: Optimización Mode (guardado en TO-
fina DB) es Modo manual.

• 3: Modo automá-
tico
• 4: Modo manual
(=predeterminada
)

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 639
Instrucciones tecnológicas
10.2 Control PID

Parámetros de entrada/salida

Ajuste Parámetro TO-DB Tipo Rango de valores Descripción


de
datos
Consig- Consigna Real) Real Solo accesible en la
na página de propiedades.
Sin regulación multivalor
en modo online de la
vista funcional.
Entrada "Config.InputPerOn" Bool Bool Selecciona el tipo de
de se- (Enu entrada que se va a
lección m) utilizar.
Selecciones posibles:
• FALSE: “Input”
(Real)
• TRUE: “Input_PER
(analog)”

Entrada Input o Input_PER Real Real o Int Solo accesible en la


o Int página de propiedades.
Sin regulación multivalor
en modo online de la
vista funcional.
Salida "Config.Output.Heat.Select" Int 2 >= Config.Output. Selecciona el tipo de
de se- (Enu Heat.Select salida que se va a utili-
lección m) >= 0 zar para el calentamien-
(calen- to.
tamien- Selecciones posibles:
to)
• “OutputHeat” (Real)
• “OutputHeat_PWM”
(Bool)
(=predeterminada)
• “OutputHeat_PER
(analog)” (Word)
Se pone una vez a
“OutputHeat” si el usua-
rio activa la casilla de
verificación “Este regu-
lador es maestro” en la
sección “Cascada”.
Salida OutputHeat, OutputHeat_PER o Real Real, Int o Bool Solo accesible en la
(calen- OutputHeat_PWM o Int o página de propiedades.
tamien- Bool Sin regulación multivalor
to) en modo online de la
vista funcional.

Controlador programable S7-1200


640 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

Ajuste Parámetro TO-DB Tipo Rango de valores Descripción


de
datos
Activar "Config.ActivateCooling" Bool Bool Si se activa esta casilla
salida de verificación:
(enfria-
• Se pone "Con-
miento)
fig.Output.

Heat.PidLowerLimit
= 0.0 una vez.
• Se pone

el parámetro "Con-
fig.ActivateCooling" a
TRUE en lugar de
FALSE si no está se-
leccionada
(=predeterminada).
• Se activan todos los
controles “Salida (en-
friamiento)” (en
“Ajustes básicos” y
otras vistas).
• Se cambia la línea
del símbolo PID a los
controles de gris a
negro.
• La casilla de verifica-
ción “Este regulador
es maestro” en la
sección “Cascada”
está desactivada.
Nota: Solo disponible si
el regulador no se confi-
gura como maestro de la
cascada (la casilla de
verificación “Este regu-
lador es maestro” en la
sección “Cascada” está
desactivada;
"Con-
fig.Cascade.IsMaster" =
FALSE).

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 641
Instrucciones tecnológicas
10.2 Control PID

Ajuste Parámetro TO-DB Tipo Rango de valores Descripción


de
datos
Salida "Config.Output.Cool.Select" Int 2 >= Config.Output. Selecciona el tipo de
de se- (Enu Heat.Select salida que se va a utili-
lección m) >= 0 zar para el enfriamiento.
(enfria- Selecciones posibles:
miento)
• “OutputCool” (Real)
• “OutputCool_PWM”
(Bool)
(=predeterminada)
• “OutputCool_PER
(analog)” (Word)
Solo disponible si se
activa “Activar salida
(enfriamiento)”;
(Config.ActivateCooling
= TRUE).
Salida OutputCool, OutputCool_PER o Real Real, Int o Bool Solo accesible en la
(enfria- OutputCool_PWM o Int o página de propiedades.
miento) Bool Sin regulación multivalor
en modo online de la
vista funcional.

Controlador programable S7-1200


642 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

Parámetros de cascada
Los siguientes parámetros permiten seleccionar reguladores como maestros o esclavos y
determinar el número de reguladores esclavos que reciben la consigna directamente del
regulador maestro:

Ajuste Parámetro TO-DB Tipo Rango de valores Descripción


de
datos
Este "Config.Cascade.IsMaster" Bool Bool Indica si este regulador
regula- es maestro en la casca-
dor es da. Si se marca esta
maestro casilla de verificación,
ocurre lo siguiente:
• El parámetro "Con-
fig.Cascade.IsMaster
" se pone a TRUE,
en lugar de FALSE si
no está seleccionada
(=predeterminada).
• “Salida de selección
(calentamiento)” en
la sección “Paráme-
tros de entra-
da/salida” se pone
una vez a “Output-
Heat” (Con-
fig.Output.Heat.Selec
t = 0).
• Se habilita el campo
de entrada “Número
de esclavos”.
• Se deshabilita la
casilla de verificación
“Activar salida (en-
friamiento)” en la
sección “Parámetros
de entrada/salida”.
Nota: Solo disponible si
la salida de enfriamiento
de este regulador está
desactivada (casilla de
verificación “Activar
salida (enfriamiento)” en
la sección “Parámetros
de entrada/salida” des-
activada (Con-
fig.ActivateCooling =
FALSE).

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 643
Instrucciones tecnológicas
10.2 Control PID

Ajuste Parámetro TO-DB Tipo Rango de valores Descripción


de
datos
Número "Config.Cascade.CountSlaves" Int 255 >= Con- Número de reguladores
de es- fig.Cascade. esclavos que obtienen la
clavos CountSlaves consigna directamente
>= 1 de este regulador maes-
tro. La instrucción
PID_Temp procesa este
valor, junto con otros,
para el tratamiento anti-
windup. "Número de
esclavos" solo está dis-
ponible si la casilla de
verificación “Este regu-
lador es maestro” está
activada (Con-
fig.Cascade.IsMaster =
TRUE).
Este "Config.Cascade.IsSlave" Bool Bool Indica si este regulador
regula- es esclavo en la casca-
dor es da. Si se activa esta
esclavo casilla de verificación, el
parámetro "Con-
fig.Cascade.IsSlave" se
pone a TRUE, en lugar
de FALSE si no está
seleccionada
(=predeterminada). Acti-
ve esta casilla de verifi-
cación en la página de
propiedades para habili-
tar la lista desplegable
“SelectionMaster”.

Controlador programable S7-1200


644 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

Ejemplo: Reguladores en cascada


En el cuadro de diálogo “Ajustes básicos” que aparece a continuación se pueden ver las
secciones “Parámetros de entrada/salida” y “Cascada” para el regulador esclavo
"PID_Temp_2" tras seleccionar "PID_Temp_1" como maestro. Se realiza la conexión entre
los reguladores maestro y esclavo:

Segmento 1: En estos segmentos se establece la conexión entre el maestro "PID_Temp_1"


y el esclavo "PID_Temp_2" en el editor de programación:

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 645
Instrucciones tecnológicas
10.2 Control PID

Segmento 2: Se establece la conexión entre los parámetros “OutputHeat” y "slave" del


maestro "PID_Temp_1" y los parámetros “Setpoint” y "Master" del esclavo "PID_Temp_2"
respectivamente:

Autoajuste de procesos de temperatura


La instrucción PID_Temp proporciona dos modos de autoajuste:
● “Optimización inicial” (parámetro “Mode” = 1)
● “Optimización fina” (parámetro “Mode” = 2)

Controlador programable S7-1200


646 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

Dependiendo de la configuración del regulador, habrá disponibles diferentes variantes de


estos métodos de optimización:

Configuración Regulador con salida de Regulador con salida de Regulador con salida de
calentamiento calentamiento y enfria- calentamiento y enfria-
miento usando factor de miento usando dos juegos
enfriamiento de parámetros PID
Valores TO- • Config.ActivateCooling • Config.ActivateCooling • Config.ActivateCooling
DB asociados = FALSE = TRUE = TRUE
• Con- • Con- • Con-
fig.AdvancedCooling fig.AdvancedCooling = fig.AdvancedCooling =
= irrelevante FALSE TRUE
Métodos de • “Optimización inicial • “Optimización inicial • “Optimización inicial
optimización calefacción” calefacción” calefacción y refrigera-
disponibles ción”
• “Optimización fina • “Optimización fina
calefacción" calefacción" • “Optimización inicial
(no puede usarse off- (puede usarse offset calefacción”
set de enfriamiento) de enfriamiento) • “Optimización inicial
refrigeración”
• “Optimización fina
calefacción"
(puede usarse offset
de enfriamiento)
• “Optimización fina
refrigeración"
(puede usarse offset
de calentamiento)

Límites y escala del valor de salida

Activación de enfriamiento deshabilitada


Si configura la instrucción PID_Temp como maestro para una cascada, la casilla de
verificación “Activar salida (refrigeración)” de la vista “Ajustes básicos” estará desactivada y
deshabilitada, todos los ajustes de la vista “Ajustes de la salida” que dependan de la
activación de refrigeración también estarán deshabilitados.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 647
Instrucciones tecnológicas
10.2 Control PID

La siguiente figura muestra la sección "Límites y escala del valor de salida” en la vista
“Ajustes de la salida” con enfriamiento desactivado (OutputHeat_PWM seleccionado en la
vista “Parámetros de entrada/salida” y OutputHeat siempre habilitado):

Controlador programable S7-1200


648 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

Activación de enfriamiento habilitada


La siguiente figura muestra la sección "Límites de valor de salida y escalado” en la vista
“Ajustes de la salida” con enfriamiento activado (OutputCool_PER y OutputHeat_PWM
seleccionados en la vista “Parámetros de entrada/salida”; OutputCool y OutputHeat siempre
habilitados):

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 649
Instrucciones tecnológicas
10.2 Control PID

Modos de operación
Para cambiar el modo de operación manualmente, el usuario tiene que ajustar el parámetro
de entrada/salida “Mode” del regulador y activarlo cambiando “ModeActivate” de FALSE a
TRUE (disparo por flanco ascendente). Es necesario resetear “ModeActivate” antes de
volver a cambiar el modo; no se resetea automáticamente.
El parámetro de salida “State” muestra el modo de operación actual y, si es posible, se pone
en el modo (“Mode”) solicitado. El parámetro “State” no puede cambiarse directamente; solo
se cambia con el parámetro “Mode” o con cambios de modo de operación automáticos del
regulador.

"Mode" / "Sta- Nombre Descripción


te"
0 Inactivo La instrucción PID_Temp:
• Desactiva el algoritmo PID y la modulación por ancho de impulso
• Pone a "0" (FALSE) todas las salidas de regulador (OutputHeat, OutputCool, Output-
Heat_PWM,OutputCool_PWM, OutputHeat_PER, OutputCool_PER), independiente-
mente de los límites de salida u offsets configurados. Este modo se puede alcanzar
poniendo “Mode” = 0, “Reset” = TRUE o en caso de error.
1 Optimización Este modo determina los parámetros durante el primer arranque del regulador.
inicial (ajuste Al contrario que en el caso de PID_Compact, para PID_Temp es necesario seleccionar si
de arranque / es necesaria una optimización de calentamiento, una optimización de enfriamiento o
SUT) ambas con los parámetros “Heat.EnableTuning” y “Cool.EnableTuning”.
"Optimización inicial" se puede activar desde los modos Inactivo, Automático o Manual.
Si la optimización es correcta, PID_TEMP cambia al modo automático. Si la optimización
no es correcta, la conmutación del modo de operación dependerá de “ActivateRecover-
Mode”.
2 Optimización Este modo determina la parametrización óptima del regulador PID en la consigna.
fina (optimi- Al contrario que en el caso de PID_Compact, para PID_Temp es necesario seleccionar si
zación en es necesaria una optimización de calentamiento o una optimización de enfriamiento con
RUN / TIR) los parámetros “Heat.EnableTuning” y “Cool.EnableTuning”.
"Optimización fina" se puede activar desde los modos Inactivo, Automático o Manual.
Si la optimización es correcta, PID_TEMP cambia al modo automático. Si la optimización
no es correcta, la conmutación del modo de operación dependerá de “ActivateRecover-
Mode”.
3 Modo auto- En el modo Automático (el modo estándar de la regulación PID), el resultado del algorit-
mático mo PID determina los valores de salida.
PID_Temp cambia a inactivo si ocurre un error y “ActivateRecoverMode” = FALSE. Si se
produce un error y “ActivateRecoverMode” = TRUE, la conmutación del modo de opera-
ción dependerá del error. Consulte la instrucción PID_Temp Parámetros ErrorBit (Pági-
na 631) para más información.

Controlador programable S7-1200


650 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

"Mode" / "Sta- Nombre Descripción


te"
4 Modo manual Es este modo, el regulador PID escala, limita y transfiere el valor del parámetro “Manual-
Value” a las salidas.
El regulador PID asigna “ManualValue” en el escalado del algoritmo PID (igual que “Pi-
dOutputSum”), de ese modo su valor decide si es efectivo en las salidas de calentamien-
to o enfriamiento.
Este modo se puede alcanzar poniendo “Mode” = 4 o “ManualEnable” = TRUE.
5 Valor de Este modo se activa ajustando "Mode" = 5. El modo es una reacción automática al error
salida sustitu- del regulador si el modo automático está activo en el momento en que se produce el
tivo con vigi- error:
lancia de
• SetSubstituteOutput = FALSE (último valor de salida válido)
error (modo
de recupera- • SetSubstituteOutput = TRUE (valor guardado en el parámetro "SubstituteOutput")
ción) Si PID_Temp está en “Modo automático” y el parámetro “ActivateRecoverMode” = TRUE,
PID_Temp cambia a ese
modo si se producen los siguientes errores:
• "Valor no válido en el parámetro "Input_PER". Compruebe si hay un error en la entra-
da analógica (por ejemplo, rotura de hilo)." (ErrorBits = DW#16#0002)
• "Valor no válido en el parámetro "Input". El valor no es un número.” (ErrorBits =
DW#16#0200)
• "Error en el cálculo del valor de salida. Compruebe los parámetros PID." (ErrorBits =
DW#16#0400)
• "Valor no válido en el parámetro "Setpoint". El valor no es un número.” (ErrorBits =
DW#16#1000)
Si el error ya no está pendiente, PID_Temp regresará automáticamente al modo automá-
tico.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 651
Instrucciones tecnológicas
10.2 Control PID

10.2.7 Puesta en servicio de los reguladores PID_Compact y PID_3Step

Utilice el editor de puesta en servicio para configurar el regulador PID de modo que
se autoajuste al arrancar y durante el funcionamiento. Para abrir el editor de puesta
en servicio, haga clic en el icono de la instrucción o del árbol del proyecto.

Tabla 10- 33 Ejemplo de pantalla de puesta en servicio (PID_3Step)

• Medición: para visualizar la consigna, el valor de


proceso (valor de entrada) y el valor de salida en una
curva de tiempo real, introduzca el tiempo de mues-
treo y haga clic en el botón "Iniciar".
• Modo de optimización: para optimizar el lazo PID,
seleccione "Optimización inicial" u "Optimización fina"
(manual) y haga clic en el botón "Iniciar". El regulador
PID pasa por diferentes fases para calcular la res-
puesta del sistema y los tiempos de actualización.
Los parámetros de optimización adecuados se calcu-
lan a partir de estos valores.

Una vez finalizado el proceso de optimización, los pa-


rámetros nuevos se guardan haciendo clic en el bo-
tón "Cargar parámetros PID" de la sección
"Parámetros PID" del editor de puesta en servicio.
Si se produce un error durante la optimización, el valor
de salida del PID pasa a "0". Entonces el modo PID se
pone en modo "inactivo". El estado indica el error.

Control del valor de arranque PID


Los valores reales de los parámetros de configuración PID se pueden editar para que el
comportamiento del regulador PID pueda optimizarse en modo online.
Abra los "Objetos tecnológicos" del regulador PID y su objeto "Configuración". Para acceder
al control del valor de arranque, haga clic en el icono "monóculo" de la esquina superior
izquierda del cuadro de diálogo:

Ahora puede cambiar el valor de cualquier parámetro de configuración del regulador PID
como muestra la figura inferior.

Controlador programable S7-1200


652 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

Se puede comparar el valor actual con el valor de arranque del proyecto (offline) y el valor
de arranque del PLC (online) de cada parámetro. Esto es necesario para detectar las
diferencias online/offline del bloque de datos del objeto tecnológico (TO-DB) y para estar
informado sobre los valores que se utilizarán como valores actuales en el siguiente cambio
de STOP a ARRANQUE del PLC. Además, un icono de comparación permite identificar
fácilmente las diferencias online/offline:

La figura inferior muestra la pantalla de parámetros PID con iconos de comparación que
muestran qué valores difieren en los proyectos online y offline. Un icono verde indica que los
valores son los mismos; un icono azul/naranja indica que los valores difieren.
Además, haga clic en el botón de parámetros con la flecha hacia abajo y abra la pequeña
ventana que muestra el valor de arranque del proyecto (offline) y el valor de arranque del
PLC (online) para cada parámetro:

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 653
Instrucciones tecnológicas
10.2 Control PID

10.2.8 Puesta en servicio del regulador PID_Temp

Utilice el editor de puesta en servicio para configurar el regulador PID de modo que
se autoajuste al arrancar y durante el funcionamiento. Para abrir el editor de puesta
en servicio, haga clic en el icono de la instrucción o del árbol del proyecto.

Tabla 10- 34 Ejemplo de pantalla de puesta en servicio (PID_Temp)

Medición: para visualizar la consigna, el valor de proceso


(valor de entrada) y el valor de salida en una curva de
tiempo real, introduzca el tiempo de muestreo y haga clic
en el botón "Iniciar".
Modo de optimización: para optimizar el lazo PID_Temp,
seleccione "Optimización inicial" u "Optimización fina"
(manual) y haga clic en el botón "Iniciar". El regulador
PID pasa por diferentes fases para calcular la respuesta
del sistema y los tiempos de actualización. Los paráme-
tros de optimización adecuados se calculan a partir de
estos valores.
Una vez finalizado el proceso de optimización, los pará-
metros nuevos se guardan haciendo clic en el botón
"Cargar parámetros PID" de la sección "Parámetros PID"
del editor de puesta en servicio.
Si se produce un error durante la optimización, el valor
de salida del PID pasa a "0". Entonces el modo PID se
pone en modo "inactivo". El estado indica el error.

Controlador programable S7-1200


654 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

Límites PWM
Los actuadores controlados con la función de software PWM del PID_Temp pueden requerir
protección frente a duraciones de impulso demasiado cortas (por ejemplo, un relé tiristor
tiene que activarse durante más de 20 ms antes de que pueda reaccionar); para ello se
asigna un mínimo de tiempo. El actuador también puede obviar impulsos breves y reducir
así la calidad de la regulación. Puede ser necesario un tiempo mínimo de desconexión (por
ejemplo, para prevenir sobrecalentamientos).
Para visualizar la vista de límites PWM hay que abrir la vista funcional en la configuración de
objetos tecnológicos (TO) y seleccionar "Límites PWM" en el nodo "Ajustes avanzados" del
árbol de navegación.
Si se abre la vista "Límites PWM" en la vista funcional y se activa la vigilancia (botón
"gafas"), todos los reguladores mostrarán el valor de vigilancia online de TO-DB con fondo
naranja y regulación multivalor, y los valores podrán editarse (si se cumplen las condiciones
de configuración; consulte la tabla siguiente).

Ajuste Parámetro TO-DB Tipo Rango de valores Descripción


de
datos
Tiempo "Config.Output.Heat. Real 100000,0 Un impulso en Out-
conexión MinimumOnTime" >= "Config.Output. putHeat_PWM" nunca
mín (cale- Heat. será inferior a este
facción) 1,2 MinimumOnTime valor.
>= 0,0

Tiempo "Config.Output.Heat. Real 100000,0 Una rotura en Output-


descone- MinimumOffTime" >= "Config.Output. Heat_PWM nunca
xión Heat. será inferior a este
mínimo MinimumOffTime valor.
(calefac- >= 0,0
ción) 1,2

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 655
Instrucciones tecnológicas
10.2 Control PID

Ajuste Parámetro TO-DB Tipo Rango de valores Descripción


de
datos
Tiempo "Config.Output.Cool. Real 100000,0 Un impulso en Out-
conexión MinimumOnTime" >= Config.Output. putCool_PWM" nunca
mín (refri- Cool. será inferior a este
geración) MinimumOnTime valor.
1,3,4 >= 0,0
Tiempo "Config.Output.Cool. Real 100000,0 Una rotura en Output-
descone- MinimumOffTime" >= Config.Output. Cool_PWM nunca
xión Cool. será inferior a este
mínimo MinimumOffTime valor.
(refrigera- >= 0,0
ción) 1,3,4
1 El campo muestra "s" (segundos) como unidad de tiempo.
2 Si la salida de selección (calefacción) en la vista "Ajustes básicos" no es "OutputHeat_PWM"
(Config.Output.Heat.Select = TRUE), conviene poner este valor a "0.0".
3 Si la salida de selección (refrigeración) en la vista "Ajustes básicos" no es "OutputCool_PWM"
(Config.Output.Cool.Select = TRUE), conviene poner este valor a "0.0".
4 Solo disponible si se activa "Activar salida (refrigeración)" en la vista "Ajustes básicos" (Con-
fig.ActivateCooling = TRUE).

Parámetros PID
La vista "Ajustes avanzados", sección "Parámetros PID" se muestra a continuación con la
función de enfriamiento y/o "Conmutación de parámetros PID" desactivada.

Controlador programable S7-1200


656 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

Ajuste Parámetro TO-DB Tipo Rango de valores Descripción


de
datos
Activar "Retain.CtrlParams. Bool Bool Hay que activar esta
Entrada SetByUser" casilla de verificación
manual para introducir los pa-
rámetros PID manual-
mente.
Ganancia "Retain.CtrlParams. Real Ganancia >= 0.0 Ganancia proporcional
proporcional Heat.Gain" PID para calentamiento
(calefac-
ción) 2
Tiempo de "Retain.CtrlParams. Real 100000,0 >= Acción integral PID
integración Heat.Ti" Ti >= 0,0 para calentamiento.
(calefac-
ción) 1,2
Tiempo "Retain.CtrlParams. Real 100000,0 >= Tiempo de acción deri-
derivativo Heat.Td" Td >= 0,0 vativa PID para calen-
(calefac- tamiento.
ción) 1,2
Coeficiente "Retain.CtrlParams. Real TdFiltRatio >= Coeficiente de retardo
retardo Heat.TdFiltRatio" 0.0 derivativo PID para
derivativo calentamiento que
(calefac- define el tiempo de
ción) 2 retardo derivativo como
coeficiente del tiempo
derivativo PID.
Pondera- "Retain.CtrlParams. Real 1.0 >=PWeighting Ponderación de la
ción de la Heat.PWeighting" >= 0.0 ganancia proporcional
acción P PID para calentamiento
(calefac- en el sistema regulado
ción) 2 ya sea directamente o
en loopback.
Pondera- "Retain.CtrlParams. Real 1.0 >=DWeighting Ponderación de la
ción de la Heat.DWeighting" >= 0.0 acción derivativa PID
acción D para calentamiento en
(calefac- el sistema regulado ya
ción) 2 sea directamente o en
loopback.
Tiempo de "Retain.CtrlParams. Real 100000.0 Ciclo de llamada in-
muestreo Heat.Cycle" >=Cycle terno del regulador PID
algoritmo > 0.0 para calentamiento.
PID (cale- Redondeado a un ente-
facción) 1,2 ro múltiplo del tiempo
de ciclo de llamada de
FB.
Ancho zona "Retain.CtrlParams. Real DeadZone>= 0.0 Ancho de la zona
muerta Heat.DeadZone" muerta para error de
(calefac- regulación de calenta-
ción) 2,3 miento.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 657
Instrucciones tecnológicas
10.2 Control PID

Ajuste Parámetro TO-DB Tipo Rango de valores Descripción


de
datos
Ancho de la "Retain.CtrlParams. Real ControlZone> 0.0 Ancho de la zona del
zona de Heat.ControlZone" error de regulación
regulación para calentamiento en
(calefac- la que la regulación
ción)2,3 PID está activa. Si el
error de regulación sale
de este rango, la salida
adopta valores de sali-
da máximos.
El valor predeterrmina-
do es "MaxReal", de
modo que la zona de
regulación está desac-
tivada mientras no se
ejecute el autoajuste.
El valor "0.0" está
prohibido para la zona
de regulación; con el
valor "0.0", PID_Temp
se comporta como un
regulador de dos posi-
ciones que siempre
está calentando o en-
friando a plena poten-
cia.

Controlador programable S7-1200


658 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

Ajuste Parámetro TO-DB Tipo Rango de valores Descripción


de
datos
Estructura "PIDSelfTune.SUT. Int "PIDSelfTu- Se puede seleccionar
del regula- TuneRuleHeat", ne.SUT. el algoritmo de optimi-
dor (cale- "PIDSelfTune.TIR. TuneRuleHeat" zación para calenta-
facción) TuneRuleHeat" = 0..2, miento.
"PIDSelfTu- Selecciones posibles:
ne.TIR.
• PID (temperatura)
TuneRuleHeat"
(=predeterminada)
= 0..5
("PIDSelfTune.SUT.
TuneRuleHeat" = 2)

("PIDSelfTune.TIR.
TuneRuleHeat" = 0)
• PID

("PIDSelfTune.SUT.
TuneRuleHeat" = 0)

("PIDSelfTune.TIR.
TuneRuleHeat" = 0)
• PI

("PIDSelfTune.SUT.
TuneRuleHeat" = 1)

("PIDSelfTune.TIR.
TuneRuleHeat" = 4)
Con cualquier otra
combinación se mos-
trará “Definido por
usuario”, pero “Definido
por usuario” no está
disponible por defecto.
“PID (Temperatura)” es
nuevo en PID_Temp,
con un método de
optimización inicial
específico (SUT) para
procesos de temperatu-
ra.
Ganancia "Retain.CtrlParams. Real Ganancia >= 0.0 Ganancia proporcional
proporcional Cool.Gain" PID para enfriamiento
(refrigera-
ción) 4
Tiempo de "Retain.CtrlParams. Real 100000.0 >=Ti Acción integral PID
integración Cool.Ti" >= 0.0 para enfriamiento.
(refrigera-
ción) 1,4
Tiempo "Retain.CtrlParams. Real 100000.0 >=Td Tiempo de acción deri-
derivativo Cool.Td" >= 0.0 vativa PID para enfria-
(refrigera- miento.
ción) 1,4

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 659
Instrucciones tecnológicas
10.2 Control PID

Ajuste Parámetro TO-DB Tipo Rango de valores Descripción


de
datos
Coeficiente Retain.CtrlParams. Real TdFiltRatio>= 0.0 Coeficiente de retardo
retardo Cool.TdFiltRatio" derivativo PID para
derivativo enfriamiento que define
(enfriamien- el tiempo de retardo
to) 4 derivativo como coefi-
ciente del tiempo deri-
vativo PID.
Pondera- "Retain.CtrlParams. Real 1.0 >=PWeighting Ponderación de la
ción de Cool.PWeighting" >= 0.0 ganancia proporcional
acción pro- PID para enfriamiento
porcional en el sistema regulado
(refrigera- ya sea directamente o
ción) 4 en loopback.
Pondera- Retain.CtrlParams. Real 1.0 >=DWeighting Ponderación de la
ción de la Cool.DWeighting" >= 0.0 acción derivativa PID
acción D para enfriamiento en el
(refrigera- sistema regulado ya
ción) 4 sea directamente o en
loopback.
Tiempo de "Retain.CtrlParams. Real 100000.0 Ciclo de llamada in-
muestreo Cool.Cycle" >=Cycle terno del regulador PID
algoritmo > 0.0 para enfriamiento.
PID (refrige- Redondeado a un ente-
ración) 1,4 ro múltiplo del tiempo
de ciclo de llamada de
FB.
Ancho zona "Retain.CtrlParams. Real DeadZone>= 0.0 Ancho de la zona
muerta Cool.DeadZone" muerta para error de
(refrigera- regulación de enfria-
ción) 3,4 miento.

Controlador programable S7-1200


660 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

Ajuste Parámetro TO-DB Tipo Rango de valores Descripción


de
datos
Ancho de la "Retain.CtrlParams. Real ControlZone> 0.0 Ancho de la zona del
zona de Cool.ControlZone" error de regulación
regulación para enfriamiento en la
(refrigera- que la regulación PID
ción)3,4 está activa. Si el error
de regulación sale de
este rango, la salida
adopta valores de sali-
da máximos.
El valor predeterrmina-
do es "MaxReal", de
modo que la zona de
regulación está desac-
tivada mientras no se
ejecute el autoajuste.
El valor "0.0" está
prohibido para la zona
de regulación; con el
valor "0.0", PID_Temp
se comporta como un
regulador de dos posi-
ciones que siempre
está calentando o en-
friando a plena poten-
cia.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 661
Instrucciones tecnológicas
10.2 Control PID

Ajuste Parámetro TO-DB Tipo Rango de valores Descripción


de
datos
Estructura "PIDSelfTune.SUT. Int "PIDSelfTu- Se puede seleccionar
del regula- TuneRuleCool", ne.SUT. el algoritmo de optimi-
dor (refrige- "PIDSelfTune.TIR. TuneRuleHeat" zación para enfriamien-
ración) TuneRuleCool" = 0..2, to.
"PIDSelfTu- Selecciones posibles:
ne.TIR.
• PID (temperatura)
TuneRuleHeat"
(=predeterminada)
= 0..5
("PIDSelfTune.SUT.
TuneRuleCool" = 2)

("PIDSelfTune.TIR.
TuneRuleCool = 0)
• PID

("PIDSelfTune.SUT.
TuneRuleCool" = 0)

("PIDSelfTune.TIR.
TuneRuleCool" = 0)
• PI

("PIDSelfTune.SUT.
TuneRuleCool" = 1)

("PIDSelfTune.TIR.
TuneRuleCool" = 4)
Con cualquier otra
combinación se mos-
trará “Definido por
usuario”, pero “Definido
por usuario” no está
disponible por defecto.
“PID (Temperatura)” es
nuevo en PID_Temp,
con un método de
optimización inicial
(SUT) específico para
procesos de temperatu-
ra.
Solo disponible si se
han seleccionado los
siguientes elementos:
“Activar salida (refrige-
ración)” en la vista
“Ajustes básicos”
("Con-
fig.ActivateCooling" =
TRUE), y “Conmuta-
ción de parámetros
PID” en la vista “Ajus-
tes de la salida” (Con-
fig.AdvancedCooling =
TRUE).

Controlador programable S7-1200


662 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.2 Control PID

Ajuste Parámetro TO-DB Tipo Rango de valores Descripción


de
datos
1 El campo muestra "s" (segundos) como unidad de tiempo.
2 Solo disponible si se ha activado "Activar entrada manual” en los parámetros PID ("Re-
tain.CtrlParams.SetByUser" = TRUE).
3 La unidad de medida se indica al final del campo de la forma seleccionada en la vista “Ajustes
básicos”.
4 Solo disponible si se han seleccionado los siguientes elementos: "Activar entrada manual” en los
parámetros PID ("Retain.CtrlParams.SetByUser" = TRUE), “Activar salida (refrigeración)” en la vis-
ta “Ajustes básicos” ("Config.ActivateCooling" = TRUE), y “Conmutación de parámetros PID” en la
vista “Ajustes de la salida” (Config.AdvancedCooling = TRUE).

Control del valor de arranque PID


Los valores reales de los parámetros de configuración PID se pueden editar para que el
comportamiento del regulador PID pueda optimizarse en modo online.
Abra los "Objetos tecnológicos" del regulador PID y el objeto "Configuración". Para acceder
al control del valor de arranque, haga clic en el icono "monóculo" de la esquina superior
izquierda del cuadro de diálogo:

Ahora puede cambiar el valor de cualquier parámetro de configuración del regulador PID
como muestra la figura inferior.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 663
Instrucciones tecnológicas
10.3 Motion Control

Se puede comparar el valor actual con el valor de arranque del proyecto (offline) y el valor
de arranque del PLC (online) de cada parámetro. Esto es necesario para detectar las
diferencias online/offline del bloque de datos del objeto tecnológico (TO-DB) y para estar
informado sobre los valores que se utilizarán como valores actuales en el siguiente cambio
de STOP a ARRANQUE del PLC. Además, un icono de comparación permite identificar
fácilmente las diferencias online/offline:

La figura anterior muestra la pantalla de parámetros PID con iconos de comparación que
muestran qué valores difieren en los proyectos online y offline. Un icono verde indica que los
valores son idénticos; un icono azul/naranja indica que los valores difieren.
Además, haga clic en el botón de parámetros con la flecha hacia abajo y abra la pequeña
ventana que muestra el valor de arranque del proyecto (offline) y el valor de arranque del
PLC (online) para cada parámetro:

Controlador programable S7-1200


664 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

10.3 Motion Control


La CPU ofrece funciones de Motion Control para el uso de motores paso a paso y
servomotores con interfaz por impulsos. Las funciones de Motion Control controlan y
monitorizan los accionamientos.
● El objeto tecnológico "Eje" configura los datos mecánicos del accionamiento, así como su
interfaz, sus parámetros dinámicos y otras propiedades.
● Las salidas de dirección e impulso de la CPU deben configurarse para controlar el
accionamiento.
● El programa de usuario utiliza las instrucciones de Motion Control para controlar el eje e
iniciar las tareas de desplazamiento.
● La interfaz de PROFINET se utiliza para establecer la conexión online entre la CPU y la
programadora. Además de las funciones online de la CPU, hay funciones de puesta en
marcha y diagnóstico adicionales para Motion Control.

Nota
Los cambios realizados en la configuración de Motion Control y las descargas en modo
RUN no son efectivos hasta que la CPU no pasa del estado operativo STOP al estado
operativo RUN.

① PROFINET
② Salidas de dirección e impulso
③ Etapa de potencia para motor paso a paso
④ Etapa de potencia para servomotor
Las variantes DC/DC/DC de la CPU S7-1200 cuentan con
salidas incorporadas para ejercer un control directo de los
accionamientos. Las variantes de relé de la CPU necesitan
una Signal Board con salidas DC para el control de los accio-
namientos.

Una Signal Board (SB) amplía las E/S incorporadas para incluir algunas E/S adicionales.
Puede emplearse una SB con dos salidas digitales como salidas de impulso y sentido para
controlar un motor. Puede emplearse una SB con cuatro salidas digitales como salidas de
impulso y sentido para controlar dos motores. No se pueden usar salidas de relé integradas
como generadores de impulsos para controlar motores. Tanto si usa E/S incorporadas o E/S
de SB, o bien una combinación de ambas E/S, puede tener un número máximo de cuatro
generadores de impulsos.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 665
Instrucciones tecnológicas
10.3 Motion Control

Los cuatro generadores de impulsos tienen asignaciones de E/S predeterminadas. Sin


embargo, se pueden configurar para cualquier salida digital de la CPU o SB. Los
generadores de impulsos de la CPU no se pueden asignar a SM o a las E/S
descentralizadas.

Nota
Los trenes de impulsos no pueden ser utilizados por otras instrucciones del programa de
usuario
Si las salidas de la CPU o la Signal Board se configuran como generadores de impulsos
(para el uso de instrucciones PWM o Motion Control), las direcciones de salida
correspondientes dejarán de controlar las salidas. Si el programa de usuario escribe un
valor en una salida utilizada como generador de impulsos, la CPU no escribirá ese valor en
la salida física.

Tabla 10- 35 Número máximo de unidades controlables

Tipo de CPU E/S incorporadas/ Con una SB Con una SB


Ninguna SB instalada (2 salidas DC) (4 salidas DC)
Con senti- Sin senti- Con senti- Sin senti- Con senti- Sin sentido
do do do do do
CPU 1211C DC/DC/DC 2 4 3 4 4 4
AC/DC/relé 0 0 1 2 2 4
DC/DC/relé 0 0 1 2 2 4
CPU 1212C DC/DC/DC 3 4 3 4 4 4
AC/DC/relé 0 0 1 2 2 4
DC/DC/relé 0 0 1 2 2 4
CPU 1214C DC/DC/DC 4 4 4 4 4 4
AC/DC/relé 0 0 1 2 2 4
DC/DC/relé 0 0 1 2 2 4
CPU 1215C DC/DC/DC 4 4 4 4 4 4
AC/DC/relé 0 0 1 2 2 4
DC/DC/relé 0 0 1 2 2 4
CPU 1217C DC/DC/DC 4 4 4 4 4 4

Nota
El número máximo de generadores de impulsos es cuatro.
Tanto si usa E/S incorporadas, E/S de SB, o bien una combinación de ambas E/S, puede
tener un número máximo de cuatro generadores de impulsos.

Controlador programable S7-1200


666 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 36 Salida de la CPU: frecuencia máxima

CPU Canal de salida de la Salida de impulsos A/B, cuadratura, arri-


CPU y sentido ba/abajo y impulso/sentido
1211C De Qa.0 a Qa.3 100 kHz 100 kHz
1212C De Qa.0 a Qa.3 100 kHz 100 kHz
Qa.4, Qa.5 20 kHz 20 kHz
1214C y 1215C De Qa.0 a Qa.3 100 kHz 100 kHz
De Qa.4 a Qb.1 20 kHz 20 kHz
1217C De DQa.0 a DQa.3 1 MHz 1 MHz
(de .0+, .0- a .3+, .3-)
De DQa.4 a DQb.1 100 kHz 100 kHz

Tabla 10- 37 Salida de la Signal Board (SB): frecuencia máxima (tarjeta opcional)

Signal Board (SB) Canal de salida de la Salida de impulsos A/B, cuadratura, arri-
SB y sentido ba/abajo y impulso/sentido
SB 1222, 200 kHz De DQe.0 a DQe.3 200 kHz 200 kHz
SB 1223, 200 kHz DQe.0, DQe.1 200 kHz 200 kHz
SB 1223 DQe.0, DQe.1 20 kHz 20 kHz

Tabla 10- 38 Frecuencias límite de salidas de impulsos

Salida de impulsos Frecuencia


Integrada 4 PTO: 2 Hz ≤ f ≤ 1 MHz, 4 PTO: 2 Hz ≤ f ≤ 100 kHz o una
combinación de estos valores para 4 PTO.1 2
SB estándar 2 Hz ≤ f ≤ 20 kHz
SB rápidas 2 Hz ≤ f ≤ 200 kHz
1 Consulte la tabla que se muestra más abajo respecto a cuatro posibles combinaciones de veloci-
dad de salida para la CPU 1217C.
2 Consulte la tabla que se muestra más abajo respecto a cuatro posibles combinaciones de veloci-
dad de salida de las CPU 1211C, CPU 1212C, CPU 1214C o CPU 1215C.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 667
Instrucciones tecnológicas
10.3 Motion Control

Ejemplo: configuraciones de velocidad de salida de impulsos de la CPU 1217C

Nota
La CPU 1217C puede generar salidas de impulsos de hasta 1 MHz mediante las salidas
diferenciales incorporadas.

En los ejemplos que se muestran a continuación se muestran cuatro posibles


combinaciones de velocidad de salida:
● Ejemplo 1: PTO a 4 - 1 MHz, sin salida de sentido
● Ejemplo 2: PTO a 1 - 1 MHz, 2 - 100 kHz y 1 - 20 kHz, todos con salida de sentido
● Ejemplo 3: PTO a 4 - 200 kHz, sin salida de sentido
● Ejemplo 4: PTO a 2 - 100 kHz y PTO a 2 - 200 kHz, todos con salida de sentido

P = Impulso Salidas integradas de la CPU Salidas de SB rápidas Salidas de


D = Sentido SB están-
dar
Salidas a 1 MHz (Q) Salidas a 100 kHz (Q) Salidas a 200 kHz (Q) Salidas a
20 kHz (Q)
0,0+ 0,1+ 0,2+ 0,3+ 0,4 0,5 0,6 0,7 1,0 1,1 4,0 4,1 4,2 4,3 4,0 4,1
0,0- 0,1- 0,2- 0,3-
Ej. 1: PTO1 P
4-1 PTO2 P
MHz
(sin PTO3 P
salida de PTO4 P
sentido)
Ej. 2: PTO1 P D
PTO a 1 PTO2 P D
- 1 MHz,
2 - 100 PTO3 P D
kHz y 1 - PTO4 P D
20 kHz
(todos
con
salida de
sentido)
Ej. 3: PTO1 P
4 - 200 PTO2 P
kHz (sin
salida de PTO3 P
sentido) PTO4 P
Ej. 4: PTO1 P D
2 - 100 PTO2 P D
kHz;
PTO3 P D

Controlador programable S7-1200


668 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

P = Impulso Salidas integradas de la CPU Salidas de SB rápidas Salidas de


D = Sentido SB están-
dar
2 - 200 PTO4 P D
kHz
(todos
con
salida de
sentido)

Ejemplo: configuraciones de velocidad de salida pulsada de las CPU 1211C, CPU 1212C, CPU
1214C y CPU 1215C
En los ejemplos que se muestran a continuación se muestran cuatro posibles
combinaciones de velocidad de salida:
● Ejemplo 1: PTO a 4 - 100 kHz, sin salida de sentido
● Ejemplo 2: PTO a 2 - 100 kHz y PTO a 2 - 20 kHz, todos con salida de sentido
● Ejemplo 3: PTO a 4 - 200 kHz, sin salida de sentido
● Ejemplo 4: PTO a 2 - 100 kHz y PTO a 2 - 200 kHz, todos con salida de sentido

P = Impulso Salidas integradas de la CPU Salidas de SB rápidas Salidas de


D = Sentido SB lentas
Salidas a 100 kHz (Q) Salidas a 20 kHz (Q) Salidas a 200 kHz (Q) Salidas a
20 kHz (Q)
0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 1,0 1,1 4,0 4,1 4,2 4,3 4,0 4,1
CPU 1211C
CPU 1212C CPU
1212C
CPU 1214C CPU CPU 1214C
1214C
CPU 1215C CPU CPU 1215C
1215C
Ej. 1: PTO1 P
4 - 100 PTO2 P
kHz (sin
salida de PTO3 P
sentido) PTO4 P
Ej. 2: PTO1 P D
2 - 100 PTO2 P D
kHz;
2 - 20 PTO3 P D
kHz (todos PTO4 P D
con salida
de senti-
do)
Ej. 3: PTO1 P
4 - 200 PTO2 P
kHz (sin
PTO3 P

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 669
Instrucciones tecnológicas
10.3 Motion Control

P = Impulso Salidas integradas de la CPU Salidas de SB rápidas Salidas de


D = Sentido SB lentas
salida de PTO4 P
sentido)
Ej. 4: PTO1 P D
2 - 100 PTO2 P D
kHz;
2 - 200 PTO3 P D
kHz (todos PTO4 P D
con salida
de senti-
do)

Nota
Para más información consulte el manual de funciones SIMATIC STEP 7 S7-1200 Motion
Control V14.

Controlador programable S7-1200


670 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

10.3.1 Escalonamiento
Hay cuatro opciones para la interfaz de "sincronización" con el motor paso a
paso/servoaccionamiento. Las opciones son las siguientes:
● PTO (impulso A y sentido B): si selecciona una opción PTO (impulso A y sentido B), una
salida (P0) controla los impulsos y otra salida (P1) el sentido. P1 es high (activo) si hay
impulsos en sentido positivo. P1 es low (inactivo) si hay impulsos en sentido negativo:

● PTO (impulso ascendente A e impulso descendente B): Si selecciona una opción PTO
(impulso ascendente A e impulso descendente B), una salida (P0) controla los impulsos
para sentidos positivos y una salida diferente (P1) los impulsos para sentidos negativos:

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 671
Instrucciones tecnológicas
10.3 Motion Control

● PTO (con desplazamiento de fase A/B): si selecciona una opción PTO (A/B con
desplazamiento de fase), ambas salidas emiten impulsos a la velocidad especificada,
pero con un desfase de 90 grados. Se trata de una configuración 1X, lo que significa que
un impulso es la cantidad de tiempo entre transiciones positivas de P0. En este caso, el
sentido viene determinado por la salida que cambie primero a high (activo). P0 va
delante de P1 en el sentido positivo. P1 va delante de P0 en el sentido negativo.
El número de impulsos generados varía en función del número de transiciones de 0 a 1
de fase A. La relación entre fases determina el sentido del movimiento:

PTO (A/B con desplazamiento de fase)


La fase A va delante de la fase B (movimiento La fase A va detrás de la fase B (movimiento
positivo) negativo)

Número de impulsos Número de impulsos

Controlador programable S7-1200


672 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

● PTO (A/B con desplazamiento de fase - cuádruple): si selecciona una opción PTO (A/B
con desplazamiento de fase - cuádruple), ambas salidas emiten impulsos a la velocidad
especificada, pero con un desfase de 90 grados. La configuración cuádruple es una
configuración 4X, lo que significa que un impulso es la transición de cada salida (tanto
positiva como negativa). En este caso, el sentido viene determinado por la salida que
cambie primero a high (activo). P0 va delante de P1 en el sentido positivo. P1 va delante
de P0 en el sentido negativo.
La configuración cuádruple se basa en transiciones positivas y negativas de ambas fases
A y B. El número de transiciones se configura. La relación entre fases (A delante de B o
B delante de A) determina el sentido del movimiento.

PTO (A/B con desplazamiento de fase - cuádruple)


La fase A va delante de la fase B (movimiento La fase A va detrás de la fase B (movimiento
positivo) negativo)

Número de impulsos Número de impulsos

● PTO (impulso y sentido (sentido deseleccionado)): si deselecciona la salida de sentido


en un PTO (impulso y sentido (sentido deseleccionado)), la salida (P0) controlará la
emisión de impulsos. La salida P1 no se utiliza y queda disponible para otros usos del
programa. En este modo la CPU solo acepta comandos de movimiento positivos. Motion
Control limita la posibilidad de realizar configuraciones negativas ilegales si se
selecciona este modo. Se puede guardar una salida si la aplicación de movimiento solo
es en un sentido. La fase simple (una salida) se muestra en la figura siguiente (partiendo
de una polaridad positiva):

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 673
Instrucciones tecnológicas
10.3 Motion Control

10.3.2 Configurar un generador de impulsos


1. Agregue un objeto tecnológico:
– En el árbol de proyectos, expanda el nodo "Objetos tecnológicos" y seleccione
"Agregar objeto".
– Seleccione el icono "Eje" (cambie el nombre si fuera necesario) y haga clic en
"Aceptar" para abrir el editor de configuración para el objeto de eje.

Nota
Para asegurar la coherencia del proyecto después de cambiar nombres de objetos
tecnológicos, descargue el proyecto a la CPU estando esta en STOP. Se produce un
cambio de nombre cuando se borra un objeto tecnológico y se crea un objeto
tecnológico nuevo con un nombre y un número de bloque de datos nuevos.

– Visualice las propiedades de selección de PTO para el control del eje en la sección de
parámetros básicos y elija el impulso que desee.

Nota
Si el PTO no se ha configurado anteriormente en las propiedades de la CPU, se
configura para utilizar una de las salidas incorporadas.
Si se utiliza una salida de Signal Board, seleccione el botón "Configuración de
dispositivos" para ir a las propiedades de la CPU. Bajo "Parametrización", en
"Opciones de impulsos", configure la fuente de salida para una salida de Signal
Board.

– Configure el resto de los parámetros básicos y avanzados.


2. Programe la aplicación: Introduzca la instrucción MC_Power en un bloque lógico.
– Para la entrada de eje, seleccione el objeto tecnológico Eje que ha creado y
configurado.
– Si se establece la entrada Enable a TRUE, pueden utilizarse las demás instrucciones
de movimiento.
– Si se establece la entrada Enable a FALSE, se cancelan las demás instrucciones de
movimiento.

Nota
Incluya solo una instrucción MC_Power por eje.

3. Inserte las demás instrucciones de movimiento para obtener el desplazamiento


necesario.

Controlador programable S7-1200


674 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Nota
Configurar un generador de impulsos para salidas de Signal Board: Seleccione las
propiedades "Generadores de impulsos (PTO/PWM)" de una CPU (en la configuración de
dispositivos) y habilite un generador de impulsos. Para cada CPU S7-1200 V1.0, V2.0, V2.1
y V2.2 hay disponibles dos generadores de impulsos. Las CPU S7-1200 V3.0 y las CPU
V4.0 disponen de cuatro generadores de impulsos. En esta misma área de configuración, en
"Opciones de impulsos", seleccione que el generador de impulsos se use como: "PTO".

Nota
La CPU calcula las tareas de movimiento en segmentos de 10 ms. Cuando se ejecuta un
segmento, el próximo espera en la cola para su ejecución. Si se interrumpe la tarea de
movimiento en un eje (ejecutando otra tarea de movimiento nueva para dicho eje), no es
posible ejecutar la nueva tarea de movimiento hasta pasados 20 ms como máximo (el resto
del segmento actual más el segmento en cola).

10.3.3 Motion control de bucle abierto

10.3.3.1 Configurar el eje


El eje de lazo abierto del PLC y el accionamiento se conectan a través de una PTO (Pulse
Train Output). Para aplicaciones de movimiento con PTO, la CPU necesita entradas y
salidas digitales integradas o de Signal Board (SB). Con ello se limita el número de ejes
disponibles en los PLC más pequeños.
STEP 7 ofrece las herramientas de configuración, puesta en servicio y diagnóstico del
objeto tecnológico Eje.

① Accionamiento ④ Puesta en servicio


② Objeto tecnológico ⑤ Diagnóstico
③ Configuración

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 675
Instrucciones tecnológicas
10.3 Motion Control

Nota
Para las versiones de firmware V2.2 y anteriores de CPU, el PTO necesita la funcionalidad
interna de un contador rápido (HSC). Esto significa que el HSC rápido correspondiente no
se puede utilizar en ningún otro lugar.
La asignación entre PTO y HSC es fija. Cuando se activa PTO1, se conecta a HSC1.
Cuando se activa PTO2, se conecta a HSC2. No se puede controlar el valor actual (por
ejemplo, en ID1000) cuando se producen impulsos.
Tanto las CPU S7-1200 de la versión V3.0 como las posteriores no tienen esta restricción;
todos los HSC estarán disponibles para usarlos con el programa cuando las salidas de
impulsos estén configuradas en estas CPU.

Tabla 10- 39 Herramientas STEP 7 para Motion Control

Herramienta Descripción
Configuración Configura las propiedades siguientes del objeto tecnológico "Eje":
• Selección del PTO que se va a utilizar y configuración de la interfaz del accionamiento
• Propiedades de los mecanismos y de la velocidad de transmisión del accionamiento (o má-
quina o sistema)
• Propiedades de los límites de posición, dinámicas y referenciado
Guarde la configuración en el bloque de datos del objeto tecnológico.
Puesta en servicio Prueba la función del eje sin tener que crear un programa de usuario. Cuando se inicia la herra-
mienta, aparece el panel de mando. En el panel de mando se dispone de los comandos siguien-
tes:
• Habilitar y deshabilitar el eje
• Desplazar el eje en modo Jog
• Posicionar el eje en términos absolutos y relativos
• Referenciar el eje
• Acusar errores
Para los comandos de desplazamiento es posible especificar la velocidad y la aceleración o
deceleración. El panel de mando también muestra el estado actual del eje.
Diagnóstico Observa el estado actual y la información de error del eje y del accionamiento.

Controlador programable S7-1200


676 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

El selector de árbol del eje PTO no incluye los


menús de configuración Encóder, Módulo, Vigilan-
cia de posicionamiento y Lazo de regulación.

Después de crear el objeto tecnológico para el eje,


se configura el eje definiendo los parámetros bási-
cos, como el PTO y la configuración de la interfaz
del accionamiento. También se configuran las de-
más propiedades del eje, como los límites de posi-
ción, las animaciones y la referenciado.

Nota
Puede ser necesario adaptar los valores de los parámetros de entrada de las instrucciones
de Motion Control a la nueva unidad del programa de usuario.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 677
Instrucciones tecnológicas
10.3 Motion Control

Configure las propiedades de las señales y los


mecanismos del accionamiento, así como la vigi-
lancia de posición (finales de carrera por hardware
y software).

Se configuran las animaciones del movimiento y el


comportamiento del comando de parada de emer-
gencia.

Además, se configura el comportamiento de referenciado (pasivo y activo).

Utilice el panel de mando de "Puesta en servicio" para probar la funcionalidad independien-


temente del programa de usuario.
Haga clic en el icono "Inicio" para poner el eje en servicio.

El panel de mando muestra el estado actual del eje. No solo es posible habilitar y
deshabilitar el eje, sino también probar su posicionamiento (tanto en términos absolutos
como relativos) y especificar la velocidad, aceleración y deceleración. También pueden
probarse las órdenes de referenciado y modo Jog. El panel de mando permite además
acusar errores.

Controlador programable S7-1200


678 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

10.3.3.2 Puesta en servicio

Función de diagnóstico "Bits de estado y error"


La función de diagnóstico "Bits de estado y error" se utiliza para vigilar los principales avisos
de estado y mensajes de error del eje. La visualización de la función de diagnóstico está
disponible en modo online con el modo "Control manual" y con "Control automático" cuando
el eje está activo.

Tabla 10- 40 Estado del eje

Estado Descripción
Habilitado El eje está listo para ejecutar tareas de Motion Control.
(Variable del objeto tecnológico: <nombre del eje>.StatusBits.Enable).
Referenciado El eje se mueve a la posición inicial y es capaz de ejecutar tareas de posicionamiento absoluto de
instrucciones de Motion Control "MC_MoveAbsolute". El eje no tiene que estar referenciado para el
referenciado relativo. Situaciones especiales:
• Durante el referenciado activo, el estado es FALSE.
• Si un eje referenciado está sometido a referenciado pasivo, el estado se pone a TRUE durante
el referenciado pasivo.
(Variable del objeto tecnológico: <nombre del eje>.StatusBits.HomingDone)
Error Se ha producido un error en el objeto tecnológico "Eje". Encontrará más información sobre el error
en control automático en los parámetros ErrorID y ErrorInfo de las instrucciones de Motion Control.
En modo manual, el campo "Último error" del panel de mando muestra información detallada acer-
ca de la causa del error.
(Variable del objeto tecnológico: <nombre del eje>.StatusBits.Error)
Panel de mando El modo "Control manual" se ha activado en el panel de mando. El panel de mando tiene prioridad
activo de control sobre el objeto tecnológico "Eje". El eje no puede controlarse desde el programa de
usuario.
(Variable del objeto tecnológico: <nombre del eje>.StatusBits.ControlPanelActive)

Tabla 10- 41 Estado del accionamiento

Estado Descripción
Accionamiento listo El accionamiento está listo para funcionar.
(Variable del objeto tecnológico: <nombre del eje>.StatusBits.DriveReady)
Error El accionamiento ha notificado un error después de que fallara su señal de disponibilidad.
(Variable del objeto tecnológico: <nombre del eje>.ErrorBits.DriveFault)

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 679
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 42 Estado del movimiento del eje

Estado Descripción
Parada El eje está parado.
(Variable del objeto tecnológico: <nombre del eje>.StatusBits.StandStill)
Aceleración El eje acelera.
(Variable del objeto tecnológico: <nombre del eje>.StatusBits.Acceleration)
Velocidad constante El eje se desplaza a una velocidad constante.
(Variable del objeto tecnológico: <nombre del eje>.StatusBits.ConstantVelocity)
Deceleración El eje desacelera.
(Variable del objeto tecnológico: <nombre del eje>.StatusBits.Deceleration)

Tabla 10- 43 Estado del modo de movimiento

Estado Descripción
Posicionamiento El eje realiza una tarea de posicionamiento de la instrucción Motion Control
"MC_MoveAbsolute" o "MC_MoveRelative" o del panel de mando.
(Variable del objeto tecnológico: <nombre del eje>.StatusBits.PositioningCommand)
Comando de velocidad El eje ejecuta una orden a la velocidad ajustada de la instrucción Motion Control
"MC_MoveVelocity" o "MC_MoveJog" o del panel de mando.
(Variable del objeto tecnológico: <nombre del eje>.StatusBits.SpeedCommand)
Referenciado El eje realiza una orden de referenciado de la instrucción Motion Control "MC_Home" o
del panel de mando.
(Variable del objeto tecnológico: <nombre del eje>.StatusBits.Homing)

Controlador programable S7-1200


680 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 44 Bits de error

Error Descripción
Final de carrera software mín. Se ha alcanzado el final de carrera por software inferior.
alcanzado (Variable del objeto tecnológico: <nombre del eje>.ErrorBits.SwLimitMinReached)
Final de carrera software mín. Se ha rebasado el final de carrera por software inferior.
rebasado (Variable del objeto tecnológico: <nombre del eje>.ErrorBits.SwLimitMinExceeded)
Final de carrera software máx. Se ha alcanzado el final de carrera por software superior.
alcanzado (Variable del objeto tecnológico: <nombre del eje>.ErrorBits.SwLimitMaxReached)
Final de carrera software máx. Se ha rebasado el final de carrera por software superior.
rebasado (Variable del objeto tecnológico: <nombre del eje>.ErrorBits.SwLimitMaxExceeded)
Final de carrera hardware Se ha completado la aproximación al final de carrera por hardware inferior.
negativo (Variable del objeto tecnológico: <nombre del eje>.ErrorBits.HwLimitMin)
Final de carrera hardware Se ha finalizado la aproximación al final de carrera por hardware superior.
positivo (Variable del objeto tecnológico: <nombre del eje>.ErrorBits.HwLimitMax)
PTO ya utilizado Un segundo eje utiliza el mismo PTO y está habilitado con "MC_Power".
(Variable del objeto tecnológico: <nombre del eje>.ErrorBits.HwUsed)
Error de configuración El objeto tecnológico "Eje" se ha configurado erróneamente o los datos de configuración
editables se han modificado incorrectamente durante el runtime del programa de usuario.
(Variable del objeto tecnológico: <nombre del eje>.ErrorBits.ConfigFault)
Error general Se ha producido un error interno.
(Variable del objeto tecnológico: <nombre del eje>.ErrorBits.SystemFault)

Función de diagnóstico "Estado de movimiento"


La función de diagnóstico "Estado de movimiento" se utiliza para vigilar el estado de
movimiento del eje. La visualización de la función de diagnóstico está disponible en modo
online con el modo "Control manual" y con "Control automático" cuando el eje está activo.

Tabla 10- 45 Estado de movimiento

Estado Descripción
Posición de destino El campo "Posición de destino" indica la posición de destino actual de una orden de posicio-
namiento activa de la instrucción Motion Control "MC_MoveAbsolute" o "MC_MoveRelative" o
del panel de control. El valor de la "Posición de destino" solo es válida mientras se ejecuta una
orden de posicionamiento.
(Variable del objeto tecnológico: <nombre del eje>.MotionStatus.TargetPosition)
Posición actual El campo "Posición actual" indica la posición actual del eje. Si el eje no está referenciado, el
valor indica la posición en relación a la posición de habilitación del eje.
(Variable del objeto tecnológico: <nombre del eje>.MotionStatus.Position)
Velocidad actual El campo "Velocidad actual" indica la velocidad actual del eje.
(Variable del objeto tecnológico: <nombre del eje>.MotionStatus.Velocity)

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 681
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 46 Límites dinámicos

Límite dinámico Descripción


Velocidad El campo "Velocidad" indica la velocidad máxima configurada para el eje.
(Variable del objeto tecnológico: <nombre del eje>.Config.DynamicLimits.MaxVelocity)
Aceleración El campo "Aceleración" indica la aceleración configurada actualmente para el eje.
(Variable del objeto tecnológico: <nombre del eje>.Config.DynamicDefaults.Acceleration)
Deceleración El campo "Deceleración" indica la deceleración configurada actualmente para el eje.
(Variable del objeto tecnológico: <nombre del eje>.Config.DynamicDefaults.Deceleration)

Control de valor inicial de movimiento


Los valores reales de los parámetros de configuración de movimiento se pueden editar para
que el comportamiento del proceso pueda optimizarse en modo online.
Abra los "Objetos tecnológicos" de Motion Control y de su objeto "Configuración". Para
acceder al control de valor inicial, haga clic en el icono "monóculo" de la esquina superior
izquierda del cuadro de diálogo:

Controlador programable S7-1200


682 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Ahora puede cambiar el valor de cualquier parámetro de configuración de Motion Control


como muestra la figura inferior.
Se puede comparar el valor real con el valor inicial del proyecto (offline) y el valor inicial del
PLC (online) de cada parámetro. Esto es necesario para detectar diferencias online/offline
del bloque de datos del objeto tecnológico (TO-DB) y para estar informado sobre los valores
que se utilizarán como actuales en la siguiente transición de STOP a ARRANQUE del PLC.
Además, un icono de comparación proporciona una indicación visual que ayuda a identificar
fácilmente las diferencias online/offline.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 683
Instrucciones tecnológicas
10.3 Motion Control

La figura inferior muestra la pantalla de parámetros Motion con iconos de comparación que
muestran qué valores son diferentes entre los proyectos online y offline. Un icono verde
indica que los valores son los mismos; un icono azul/naranja indica que los valores son
diferentes.
Asimismo, se puede hacer clic en el botón de parámetros con la flecha de descarga para
abrir una pequeña ventana que muestra el valor inicial del proyecto (offline) y el valor inicial
del PLC (online) para cada parámetro.

Controlador programable S7-1200


684 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

10.3.4 Control de movimiento en lazo cerrado

10.3.4.1 Configurar el eje


El eje de lazo cerrado se conecta en el PLC y el accionamiento a través de una de las dos
conexiones siguientes:
● Accionamiento analógico: esta conexión puede utilizar entradas y salidas analógicas
integradas, de SB o de módulos de señales (SM); no utiliza PTO. Para la aplicación está
disponible la siguiente resolución de entradas y salidas analógicas:
– E/S integradas: 10 bits (la resolución de E/S más baja)
– E/S de Signal Board (SB): 12 bits
– E/S de SM: 14 bits (la resolución de E/S más alta)
● PROFIdrive: esta conexión es una solución de red y no utiliza PTO.
El eje de lazo cerrado también requiere un encóder. Los encóder pueden conectarse a los
elementos siguientes:
● Interfaz de encóder en el accionamiento
● Contadores rápidos (HSC)
● Módulos tecnológicos (TM)
● Encóder PROFIdrive en PROFINET / PROFIBUS
El número máximo de accionamientos (o ejes) para la conexión PROFIdrive o de
accionamiento analógico es de ocho.
STEP 7 ofrece las herramientas de configuración, puesta en servicio y diagnóstico del
objeto tecnológico Eje.

① Accionamiento ④ Puesta en servicio


② Objeto tecnológico ⑤ Diagnóstico
③ Configuración

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 685
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 47 Herramientas de STEP 7 para Motion Control en lazo cerrado

Herramienta Descripción
Configuración Configura las propiedades siguientes del objeto tecnológico "Eje":
• Selección de la conexión del accionamiento analógico o PROFIdrive que se va a utilizar y
configuración de la interfaz del accionamiento y del encóder
• Propiedades de los mecanismos y de la velocidad de transmisión del accionamiento y el
encóder (o máquina o sistema)
• Propiedades de los límites de posición, dinámicas y referenciado
Guarde la configuración en el bloque de datos del objeto tecnológico.
Puesta en servicio Prueba la función del eje sin tener que crear un programa de usuario. Cuando se inicia la herra-
mienta, aparece el panel de mando. En el panel de mando se dispone de los comandos siguien-
tes:
• Habilitar y deshabilitar el eje
• Desplazar el eje en modo Jog
• Posicionar el eje en términos absolutos y relativos
• Referenciar el eje
• Acusar errores
Para los comandos de desplazamiento es posible especificar la velocidad y la aceleración o
deceleración. El panel de mando también muestra el estado actual del eje.
Diagnóstico Observa el estado actual y la información de error del eje y del accionamiento.

Nota
Puede ser necesario adaptar los valores de los parámetros de entrada de las instrucciones
de Motion Control a la nueva unidad del programa de usuario.

Controlador programable S7-1200


686 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Después de crear el objeto tecnológico para el eje, se configura el eje definiendo los
parámetros básicos, ya sea el accionamiento analógico o la conexión PROFIdrive y la
configuración del accionamiento y el encóder.

El árbol de selección del accionamiento analógico


o la conexión PROFIdrive incluye los menús de
configuración Encóder, Módulo, Vigilancia de posi-
cionamiento y Lazo de regulación.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 687
Instrucciones tecnológicas
10.3 Motion Control

Configuración de la conexión del accionamiento analógico

En el cuadro de diálogo de configuración General


se seleccionan los siguientes parámetros:
• Botón de opción "Conexión de accionamiento
analógico"
• Unidad de medida

En el cuadro de diálogo de configuración Accio-


namiento se seleccionan los siguientes paráme-
tros:
• Salidas hardware del accionamiento analógico
• Velocidades del accionamiento, intercambio de
datos

Nota: La velocidad máxima debe ser mayor o


igual a la velocidad de referencia (nominal).

En el cuadro de diálogo de configuración Encóder


se seleccionan los siguientes parámetros:
• Acoplamiento del encóder del accionamiento
analógico (por ejemplo, un contador rápido
(HSC))
• Interfaz HSC
• Tipo de encóder
• Resolución fina

Controlador programable S7-1200


688 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Configuración de PROFIdrive

En el cuadro de diálogo de configuración General


se seleccionan los siguientes parámetros:
• Botón de opción "PROFIdrive"
• Unidad de medida

En el cuadro de diálogo de configuración Accio-


namiento se seleccionan los siguientes paráme-
tros:
• Accionamiento PROFIdrive
• Intercambio de datos con el accionamiento

Nota: La velocidad máxima debe ser mayor o


igual a la velocidad de referencia (nominal).

En el cuadro de diálogo de configuración Encóder


se seleccionan los siguientes parámetros:
• Acoplamiento de encóder PROFIdrive (por
ejemplo, un encóder PROFIdrive en
PROFINET)
• Encóder PROFIdrive
• Intercambio de datos con el encóder
• Tipo de encóder
• Resolución fina

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 689
Instrucciones tecnológicas
10.3 Motion Control

Parámetros avanzados
También es posible configurar las siguientes propiedades del eje de lazo cerrado:
● Modulo
● Límites de posición
● Dinámica
● Referenciado
● Vigilancia de posición
● Error de seguimiento
● Señal de parada
● Lazo de regulación

Modulo: Se puede configurar un eje "Modulo" para


mover la carga en un área cíclica con un valor o
posición de arranque y una longitud dada. Si la
posición de la carga llega al final de esta área, se
vuelve a poner automáticamente al valor de arran-
que. Los campos "Longitud" y "Valor inicial de mó-
dulo" se activan al hacer clic en la casilla de
verificación "Activar Modulo".
Límites de posición: Se pueden configurar las pro-
piedades de las señales y los mecanismos del
accionamiento, así como la vigilancia de posición
(finales de carrera por hardware y software).

Dinámica: Se pueden configurar las animaciones


del movimiento y el comportamiento del comando
de parada de emergencia.

Controlador programable S7-1200


690 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Referenciado: Se puede configurar el comportamiento de referenciado (pasivo y activo).

"Vigilancia de posición": Se puede configurar


un tiempo de tolerancia y un tiempo de per-
manencia mínimo para la ventana de posi-
cionamiento.
El sistema conecta los tres parámetros si-
guientes directamente con el eje TO-DB:
• Ventana de posicionamiento
• Tiempo de tolerancia
• Tiempo de permanencia mínimo en la
ventana de posicionamiento
Nota: El valor mínimo del campo "Ventana
de posición" es "0,001" y su máximo valor es
"1 E+12".
"Error de seguimiento": Se puede configurar
la diferencia de la distancia de error permiti-
da en un rango de velocidad. Para activar el
error de seguimiento, seleccione la casilla
de verificación "Activar vigilancia de errores
de seguimiento". Se pueden configurar los
siguientes parámetros:
• Error de seguimiento máximo
• Error de seguimiento
• Iniciar ajuste dinámico
• Velocidad máxima

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 691
Instrucciones tecnológicas
10.3 Motion Control

"Señal de parada": Se pueden configurar los


siguientes parámetros:
• Tiempo de permanencia mínimo en la
ventana de parada
• Ventana de parada.

"Lazo de regulación": Se puede configurar la


ganancia de velocidad conocida como "Con-
trol previo (factor Kv)".

Utilice el panel de mando de "Puesta en servicio" para probar la funcionalidad independien-


temente del programa de usuario.
Haga clic en el icono "Inicio" para poner el eje en servicio.

El panel de mando muestra el estado actual del eje. No solo es posible habilitar y
deshabilitar el eje, sino también probar su posicionamiento (tanto en términos absolutos
como relativos) y especificar la velocidad, aceleración y deceleración. También pueden
probarse las órdenes de referenciado y modo Jog. El panel de mando permite además
acusar errores.

10.3.4.2 ServoOB
Cuando se crea un objeto tecnológico para S7-1200 Motion Control, la CPU crea
automáticamente el bloque de organización "MC-Servo (OB 91)" para procesar los objetos
tecnológicos. La funcionalidad Motion Control de los objetos tecnológicos crea su propia
clase de prioridad y el sistema de ejecución SIMATIC S7-1200 llama el OB en función del
ciclo de aplicación.
El OB MC-Servo está protegido contra escritura. No es posible modificar su contenido.
Los algoritmos de regulación de posición de todos los objetos tecnológicos configurados
para Motion Control en la CPU se calculan dentro del OB MC-Servo.
El ciclo de aplicación y la prioridad del bloque de organización pueden ajustarse a las
necesidades de cada uno para la calidad de regulación y la carga del sistema. Varios
ServoOB pueden enlazarse para formar un "CyclicServoEvent". La página de propiedades
del OB MC-Servo muestra los dos valores modificables del CyclicServoEvent:
● Número de prioridad
● Tiempo de ciclo

Controlador programable S7-1200


692 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

El OB MC-PreServo y el OB MC-PostServo son instancias del ServoOB y tienen el tipo


ServoOB. Estos OB son opcionales, solo pueden existir si hay un OB MC-Servo y contienen
el código del usuario. Los tres OB (MC-PreServo, MC-Servo y MC-PostServo) deben
ejecutarse en el mismo nivel de ejecución y los dispara el mismo CyclicServoEvent. El
firmware del PLC ejecuta los OB secuencialmente de acuerdo con su número de bloque:

Instancia del OB Número del OB Evento Modelo de Evento Modelo de


objeto del sistema de objeto del sistema de
automatización (ASOM) ingeniería (ESOM)
MC-PreServo 67 ServoOB -
MC-Servo 91 ServoOB ServoOB
MC-PostServo 95 ServoOB -

En comparación con ASOM, el modelo de objeto del sistema de ingeniería (ESOM) solo
enlaza el evento con el OB MC-Servo. El ESOM no enlaza el evento con el OB MC-
PreServo ni el OB MC-PostServo.

Configurar el eje con un ciclo de aplicación de MC-Servo (OB 91)

Ciclo de aplicación de MC-Servo (OB 91)


Es posible establecer el ciclo de aplicación en el que se llama el OB MC-Servo en las
propiedades del bloque de organización:
● De forma síncrona con el bus: El OB MC-Servo se llama de forma síncrona con un
sistema de bus. El tiempo de ciclo de emisión se establece en las propiedades del
sistema de bus seleccionado.
● De forma cíclica: El OB MC-Servo se llama de forma cíclica con el ciclo de aplicación
asignado.
Para evitar interrupciones en la ejecución del programa en la CPU, el ciclo de aplicación
debe ajustarse en función del número de ejes, tal como se indica a continuación:
Ciclo de aplicación = número de ejes x 2 ms

Número de ejes Ciclo de aplicación


1 2 ms
2 4 ms
4 8 ms
8 16 ms

El accionamiento SINAMICS G120 actualiza la memoria imagen de proceso del


accionamiento cada 4 ms. Para mejorar el control, ajuste el ciclo de aplicación del MC-Servo
(OB 91) a 4 ms o a un múltiplo de 4 ms.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 693
Instrucciones tecnológicas
10.3 Motion Control

Desbordamiento de MC-Servo (OB 91)


El ciclo de aplicación seleccionado debe ser lo suficientemente largo como para que todos
los objetos tecnológicos de Motion Control puedan procesarse en un solo ciclo. Si no se
observa el ciclo de aplicación se produce un desbordamiento.
La CPU no pasa a STOP cuando se produce un desbordamiento de MC-Servo (OB 91). (La
afirmación que aparece en la Ayuda en pantalla del TIA Portal en relación al STOP en caso
de desbordamiento de MC-Servo (OB 91) es incorrecta.)
En caso necesario, es posible poner la CPU a STOP cuando se produce un desbordamiento
de MC-Servo (OB 91) utilizando un OB de error de tiempo (OB 80).

Memoria imagen parcial de proceso de OB Servo PIP


Para un control óptimo de todos los módulos E/S (por ejemplo, finales de carrera hardware)
utilizados en Motion Control, asígnelos a la memoria imagen parcial de proceso "OB Servo
PIP". Esta asignación hace que los módulos E/S se procesen de forma simultánea al objeto
tecnológico.
Cuando Motion Control utiliza un contador rápido (HSC), lo asigna automáticamente a la
memoria imagen parcial de proceso "MIPP OB Servo".

10.3.4.3 Funcionamiento regulado por velocidad


Una operación regulada por velocidad permite mover un eje de posicionamiento con
"regulación por velocidad". La instrucción MC_Power activa el eje. Las instrucciones
MC_MoveVelocity y MC_MoveJog mueven el eje con consignas de velocidad. Es posible
mover el eje aunque haya un error de sensor, incluso si no hay valores reales válidos. El
modo "regulación por velocidad" establece las condiciones siguientes:
● Desactiva el controlador de posicionamiento del eje
● Establece consignas de velocidad directamente en el accionamiento
● Pone la consigna de posición del eje a cero
● Actualiza la posición real del eje en caso de valores de sensor válidos
● No define el error siguiente ni el error del regulador y los pone a cero
El modo "regulación por velocidad" se activa y desactiva con las tres instrucciones
siguientes y estos parámetros:
● MC_Power.StartMode (Int)
● MC_MoveVelocity.PositionControlled (Bool)
● MC_MoveJog.PositionControlled (Bool)

Controlador programable S7-1200


694 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

MC_Power
La instrucción MC_Power permite activar el eje con el modo "regulación por velocidad".
Puede hacerse si no se dispone de valores de sensor válidos o el eje no puede cambiar al
modo "posición regulada".
Solo es posible emplear los StartModes "0" y "1". Otros valores muestran un error:

StartMode Eje PTO Servoeje


0 Ignorado Regulación por velocidad
1 Ignorado Regulación por posición
Otros Modo no válido Modo no válido
MC_Power.ErrorID = 0x8412 MC_Power.ErrorID = 0x8412
MC_Power.ErrorID = 0x0011 MC_Power.ErrorID = 0x0011

Al desactivar el eje TO con "MC_Power.Enable = FALSE", se obtiene el modo de operación.


Dependiendo del modo de operación, el eje reacciona con un comportamiento distinto:

StartMode Modo: Regulación por posición Modo: Regulación por velocidad


0: Parada de emergencia El eje desacelera regulado por El eje desacelera regulado por
posición con "DynamicDefaults. velocidad con "DynamicDe-
EmergencyDeceleration" sobre faults.
la base de la posición real y la EmergencyDeceleration" sobre
velocidad real. la base de la velocidad real si
está disponible.
1: Parada inmediata El accionamiento se para con la El accionamiento se para con la
rampa "AUS3" dentro del accio- rampa "AUS3" dentro del accio-
namiento conectado. namiento conectado.
2: Parada de emergencia con Los frenos del eje están regula- Los frenos del eje están regula-
control de tirones dos por posición en la desacele- dos por velocidad en la desace-
ración de emergencia leración de emergencia
configurada sobre la base de la configurada sobre la base de la
posición de consigna. Si el velocidad de consigna. Si el
control de sobreaceleración control de sobreaceleración
está activado, la sobreacelera- está activado, la sobreacelera-
ción configurada se tiene en ción configurada se tiene en
cuenta. cuenta.

Al desconectar el accionamiento, el modo de operación no puede cambiarse porque los


nuevos comandos de movimiento no se aceptan hasta que no se haya parado el
accionamiento. Una vez que se ha parado el accionamiento, el eje puede activarse de
nuevo.

MC_MoveVelocity/MC_MoveJog
Independientemente del modo de operación (regulación por velocidad / posición), los
bloques cambian el eje al modo configurado. Esto puede suceder durante el movimiento en
lazo cerrado o durante la parada.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 695
Instrucciones tecnológicas
10.3 Motion Control

MC_Halt
La instrucción "MC_Halt" no cambia el modo de operación. En modo con regulación por
velocidad, la rampa de desaceleración calculada depende de la velocidad de consigna con
la desaceleración configurada.
Si se alcanza la ventana de parada, el comando finaliza y muestra "Listo = TRUE".

Otros comandos de movimiento


El modo con regulación por velocidad permanece activo hasta que se activa uno de los
siguientes comandos:
● MC_MoveAbsolute
● MC_MoveRelative
● MC_MoveVelocity (regulación por posición = TRUE)
● MC_MoveJog (regulación por posición = TRUE)
● MC_Home:
– Referenciado activo (modo 3)
– Otros modos (pasivo, directo, ajuste del sensor de valor absoluto) se rechazan con
Errorld:
ErrorId 8207: "Comando rechazado" / "Petición rechazada"
ErrorInfo 006B: "La llamada en modo de regulación por velocidad no está permitida".

Eje TODB
El eje TODB muestra el modo de operación si una de las tres instrucciones de movimiento,
MC_Power, MC_MoveVelocity o MC_MoveJog se ejecuta con el modo de regulación por
velocidad:
● Axis.Statusbit.NonPositionControlled = TRUE
● Axis.Position = 0.0

Cálculo de una nueva posición de consigna


La posición de consigna debe volver a calcularse tras un cambio de modo de regulación por
velocidad a lazo cerrado durante el movimiento:
● Con control anticipativo (kpc > 0): Posición = posición real + velocidad real * vtc
● Sin control anticipativo (kpc = 0): Posición = posición real + velocidad real / kv (vtc =
constante de tiempo de sustitución del control anticipativo; kv = ganancia de la regulación
por posición)

Finales de carrera por software


Durante el modo con regulación de velocidad, los finales de carrera por software no están
activos.

Controlador programable S7-1200


696 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Finales de carrera por hardware


Durante el modo con regulación de velocidad se soportan los finales de carrera por
hardware.

10.3.4.4 Soporte de telegrama 4


El telegrama 4 de PROFIdrive contiene valores de actuador y dos valores de diferentes
encóders. El primer valor de sensor proviene del encóder en el motor. El segundo valor de
sensor está equipado por un encóder adicional en la máquina.
El encóder de la máquina está conectado directamente a SINAMICS CU, y la CU ofrece los
dos valores de sensor dentro del telegrama 4.

Cuadro de diálogo de configuración del accionamiento del eje


El telegrama 4 se configura en la configuración hardware y se selecciona en el cuadro de
diálogo de configuración del accionamiento del eje.

Cuadro de diálogo de configuración del encóder del eje


En el cuadro de diálogo de configuración del encóder del eje hay dos opciones disponibles:
● Encóder en PROFINET/PROFIBUS
● Encóder en contador rápido (HSC)
"Encóder en PROFINET/PROFIBUS" es la selección predeterminada; sin embargo, están
disponibles ambas opciones.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 697
Instrucciones tecnológicas
10.3 Motion Control

Ejemplo: Configurar SINAMICS S120 y encóder con telegrama 4


1. Seleccionar el accionamiento SINAMICS:
Utilice el catálogo de hardware para agregar un accionamiento SINAMICS S120 CU310-
2 PN V4.7. Para ello, expanda las carpetas siguientes:
– Otros dispositivos de campo
– PROFINET IO
– Accionamientos
– SIEMENS AG
– SINAMICS
Inserte el accionamiento tal y como se muestra en las figuras inferiores:

Configure la red PROFINET.

2. Selección de DO SERVO:
– En la vista de redes haga doble clic en el accionamiento SINAMICS S120 CU310-2
PN V4.7.
– Abra la vista general de dispositivos.
– Expanda la carpeta de módulos en el catálogo de hardware.
– Haga doble clic o arrastre el objeto de accionamiento DO SERVO para insertarlo en la
primera fila vacía:

Controlador programable S7-1200


698 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

3. Selección del telegrama 4:


– Expanda la carpeta de submódulos en el catálogo de hardware.
– Haga doble clic o arrastre el "Telegrama estándar 4, PZD-6/15;SERVO" para
insertarlo en la segunda fila vacía.
– Debe saltarse una fila vacía para insertar el telegrama 4, tal y como se muestra en la
figura inferior:

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 699
Instrucciones tecnológicas
10.3 Motion Control

4. Selección del encóder en el cuadro de diálogo de configuración del accionamiento:


– Navegue hasta el cuadro de diálogo de configuración del eje, Parámetros básicos,
cuadro de diálogo Configuración del accionamiento.
– Vaya hasta el campo Seleccionar accionamiento PROFIdrive, accionamiento.
– Haga clic en el botón de elipse.
– Haga doble clic en "Sistema PROFINET IO" para abrir su carpeta.
– Haga clic en "SINAMICS-S120-CU310-2PN".
– En el panel derecho se muestra "DO SERVO_1: Telegrama estándar 4, PZD-6/14;
SERVO".
– Haga clic en el botón de la marca de verificación verde para introducir la
configuración.

Controlador programable S7-1200


700 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

5. Configurar el encóder:
– Puesto que se ha seleccionado el telegrama 4 en el cuadro de diálogo de
configuración del accionamiento del eje, el cuadro de diálogo de configuración del
accionamiento del encóder ofrece un entrada nueva "Encóder en telegrama" en el
árbol de navegación. Cuando se selecciona la entrada "Encóder en telegrama", el
panel derecho muestra dos entradas, Encóder 1 y Encóder 2, con valores de encóder.
– Motion Control asigna uno de los encóders como encóder de accionamiento y el otro
encóder como encóder de la máquina. Cuando se selecciona el Encóder 1 o el
Encóder 2 se determina qué encóder se asigna como encóder de accionamiento. El
encóder que no se selecciona se asigna como encóder de la máquina.
– Después de haber seleccionado el encóder del accionamiento, haga clic en el botón
de la marca de verificación verde para introducir la configuración:

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 701
Instrucciones tecnológicas
10.3 Motion Control

10.3.4.5 Eje de simulación


El modo de simulación se utiliza si se desea trabajar con PROFIdrive o el eje del
accionamiento analógico en un PLC sin un accionamiento conectado.

El modo de simulación es necesario si se desea ejecutar una de las tareas siguientes:


● Puesta en servicio de la secuencia del programa sin accionamiento
● Ensayos del programa de usuario sin mover un eje
● Simulación del comportamiento del eje usando un modelo de proceso sin un movimiento
real.
● El accionamiento y el encóder no deben estar conectados: También existe la posibilidad
de realizar pruebas sin un accionamiento configurado; el accionamiento se agregará y
configurará con posterioridad.

Configurar el modo de simulación


Están disponibles las siguientes opciones:

Valor TODB Entradas del cuadro de diálogo Comentario


0 Sin simulación Sin simulación
1 Simular accionamiento y encó- Simulación con y sin direccio-
der nes del eje correctamente con-
figuradas y E/S configuradas en
la configuración hardware

Solo es posible emplear el modo de simulación con servoejes y, por tanto, solo con
PROFIdrive y accionamiento analógico. En un eje PTO, el modo de simulación es "0".
El TIA Portal debe implementar el resto del modo de simulación en caso de cambiar el tipo
del eje a PTO. Asimismo, con "Adaptación de datos" debe verificarse para PTO que el modo
de simulación sea "0" y, si no, se establece automáticamente.
El usuario selecciona los diferentes modos de simulación en el cuadro de diálogo
Parámetros básicos > sección General > campo Simulación, tal y como se muestra en la
figura siguiente:

Controlador programable S7-1200


702 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Modo 1: "Simular accionamiento y encóder":


● En este modo, el eje del programa se ejecuta y trabaja en un PLC sin un hardware real
conectado en relación con un accionamiento PROFIdrive y un sensor.
● No se necesitan las direcciones lógicas E/S en el bloque de datos de objetos
tecnológicos (TODB). Esto significa que no deben configurarse el sensor ni el
accionamiento, así como tampoco las señales digitales adicionales (finales de carrera
por hardware e interruptores de puntos de referencia) en el TO y en la configuración
hardware. Este eje no suministra datos a las direcciones lógicas de sensor y
accionamiento.
● Simula la velocidad real TODB.
● No usa el telegrama PROFIdrive en el caso de PROFIdrive.
● En el caso de PROFIdrive, el PLC muestra un error de diagnóstico avisando de que falta
el hardware configurado (equipos periféricos o accionamientos) pero esto no influye en la
aplicabilidad del eje.
● Crea directamente informes de referenciado en todos los modos de referenciado.
Establece posiciones y estados en correspondencia. No detecta entradas de hardware.
● Todas las conexiones pueden estar vacías.
● El panel de control del eje \ panel de optimización funciona de la forma habitual.
● Soporta ejes regulados por velocidad.
● No soporta un eje virtual (como el definido por SMC); sin embargo, es posible usar un eje
simulado sin conexiones de hardware como eje virtual.
Descarga:
Es posible descargar el eje con el modo de simulación cambiado mientras el PLC está en
RUN. En este caso, el PLC activa el bit de estado "RestartRequired". Tras reiniciar el eje, el
PLC transfiere los cambios a la memoria de trabajo. La tabla siguiente muestra todos los
parámetros del eje que están conectados a la configuración hardware (actuador, sensor y
límites de posición) y si son necesarios u opcionales para la simulación:

Parámetro TODB Modo 1: Simular PROFIdrive


Actor.Interface.AddressIn Opcional
Actor.Interface.AddressOut Opcional
Actor.Interface.EnableDriveOutput Opcional
Actor.Interface.DriveReadyInput Opcional
Sensor.Interface.AddressIn Opcional
Sensor.Interface.AddressOut Opcional
Sensor.ActiveHoming.DigitalInputAddress Opcional
Sensor.PassiveHoming.DigitalInputAddress Opcional
PositionLimits_HW.MinSwitchAddress Opcional
PositionLimits_HW.MaxSwitchAddress Opcional

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 703
Instrucciones tecnológicas
10.3 Motion Control

10.3.4.6 Adaptación de datos

Descripción general
Es posible adaptar los datos de actuador y sensor que pueden leerse del módulo de
accionamiento o sensor y que se han configurado igual en el PLC y en el dispositivo de
accionamiento/sensor.

Configurar la adaptación RT
La CPU configura la adaptación RT en el TO-DB para el actuador y sensor específicos:
● <axis>.Sensor[i].DataAdaptation: DINT [ 0:NO | 1:YES ]
● <axis>.Actor.DataAdaptation: DINT [ 0:NO | 1:YES ]
Es posible cambiar la configuración de la adaptación RT durante la ejecución con el cuadro
de diálogo de configuración del eje, Parámetros básicos y los cuadros de diálogo de
configuración de accionamiento y encóder. La adaptación es efectiva con el arranque o
reinicio del TO o con la pérdida de comunicación con el accionamiento.
En el TIA Portal, seleccione "Adaptación de datos" empleando la casilla de verificación
"Aceptación automática de los valores del accionamiento en el dispositivo", que se
encuentra tanto en el cuadro de diálogo de configuración del eje, Parámetros básicos, como
en los de accionamiento y encóder.
La figura siguiente muestra el cuadro de diálogo Accionamiento para la configuración del
eje:

Controlador programable S7-1200


704 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

● Si se ha conectado un accionamiento SINAMICS:


– La casilla de verificación está seleccionada por defecto.
– Los controles situados a continuación de la casilla de verificación, "Velocidad de
referencia" y "Velocidad máxima", están atenuados.
– La adaptación RT para los datos de actuador está activada.
– Si se deselecciona manualmente la casilla de verificación, es posible cambiar los
valores de los dos controles situados a continuación de la casilla de verificación.
● Si no se ha conectado un accionamiento SINAMICS u otro accionamiento:
– La casilla de verificación está deseleccionada y atenuada por defecto.
– Los controles situados a continuación de la casilla de verificación "Velocidad de
referencia" y "Velocidad máxima" están activos y son editables.
– La adaptación RT para los datos del actuador no está activada.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 705
Instrucciones tecnológicas
10.3 Motion Control

La figura siguiente muestra el cuadro de diálogo Encóder para la configuración del eje:

Controlador programable S7-1200


706 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

● Si está conectado un encóder PROFIdrive:


– La casilla de verificación está seleccionada por defecto.
– Los controles situados a continuación de la casilla de verificación "Tipo de encóder"
(solo "Pasos por vuelta") y "Resolución fina" están atenuados.
– La adaptación RT para los datos de encóder está activada.
– Si se deselecciona manualmente la casilla de verificación, es posible cambiar los
valores de los dos controles situados a continuación de la casilla de verificación.
● Si no hay conectado un encóder PROFIdrive (módulos HSC o TM):
– La casilla de verificación está deseleccionada y atenuada por defecto.
– Los controles situados a continuación de la casilla de verificación "Tipo de encóder" y
"Resolución fina" están activos y son editables.
– La adaptación RT para los datos del actuador no está activada.

Ejecutar la adaptación RT
La adaptación se ejecuta con la adaptación RT activada:
● Durante el arranque de los objetos tecnológicos (TO) (o arranque del PLC) o la creación
del TO (al descargar el TO-DB)
● Después del fallo del accionamiento o encóder (o pérdida de comunicación) y rearranque
● Reinicio de TO (después de cada reinicio se adaptan los datos)
Durante la comunicación activa de la adaptación RT, Motion Control rechaza las órdenes de
comunicación del programa de usuario relacionadas con este accionamiento y muestra un
error de recurso en el programa de usuario.
Un fallo del accionamiento interrumpe la adaptación durante la comunicación de la
adaptación RT. Si el accionamiento responde de nuevo, la adaptación se inicia otra vez.
Si el dispositivo hace una confirmación negativa, Motion Control no sobrescribe la
configuración del eje TO. Si se selecciona la adaptación RT pero el sistema no realiza una
adaptación correctamente, Motion Control muestra un error y el dispositivo no puede
activarse.

Mostrar estados y errores de adaptación


Motion Control muestra los estados y errores de adaptación RT en parámetros y
ErrorID/ErrorInfos:
● Motion Control muestra el estado de adaptación en el eje: Si la adaptación no funciona o
funciona con errores, Motion Control muestra un error en el eje y la ErrorID / ErrorInfo de
la instrucción MC_Power.
● Parámetros de adaptación generales: Fabricante, dispositivo, versión y fecha se leen del
parámetro P964[7]. El parámetro P964 es un parámetro PROFIdrive y está disponible en
el actuador y el encóder.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 707
Instrucciones tecnológicas
10.3 Motion Control

● Rendimiento: Motion Control ejecuta la adaptación RT tras el arranque o reinicio. Si


posteriormente la configuración no cambia, es aconsejable desactivar la adaptación de
datos por razones de rendimiento. Hay dos soluciones:
– Guardar los valores por aplicación en el RT después de una adaptación y desactivar
la adaptación.
– Cargar los valores tras la adaptación, transferir estos valores al proyecto y desactivar
la adaptación.
● Comportamiento de adaptación:
– Durante el arranque / reinicio se adaptan todos los dispositivos configurados
(actuador y sensor) que deben adaptarse.
– Si el dispositivo no se adapta durante este paso, Motion Control muestra un error y el
estado cambia a "ADAPTATION_ERROR".
– Con errores de un encóder existe la posibilidad de activar el eje en el modo de
regulación por velocidad, porque este modo suele trabajar sin un encóder.
Encontrará una lista de la adaptación de datos ErrorID y ErrorInfos en "ErrorID y ErrorInfos
para Motion Control".

Adaptar datos del actuador


La adaptación de los datos del actuador es específica para cada dispositivo y solo se
soporta para accionamientos SINAMICS. Los accionamientos SINAMICS soportan la
adaptación de datos y muestran un error si se activa la adaptación RT.

Unidades
La adaptación de los datos de actuador tiene en cuenta las unidades configuradas en el
accionamiento. Los valores y las unidades dependen del tipo de DO, módulo de función DO
y sistema de unidades.
La adaptación de los datos del actuador solo soporta accionamientos rotativos (no
accionamientos lineales) y unidades de 1/min.
Los parámetros siguientes se leen y evalúan:
● p107 (tipo de DO)
● p108 (módulo de función DO)
● p505 (unidades SI o unidades US)

Controlador programable S7-1200


708 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Registro de datos actual seleccionado del accionamiento


Un accionamiento SINAMICS soporta diferentes juegos de datos para el encóder y el
actuador. El accionamiento SINAMICS adapta el registro actual en el momento de la
adaptación. Por tanto, se lee "p51" (registro actual del accionamiento):
● La velocidad de referencia es igual para todos los registros: "p2000" (velocidad de
referencia) es independiente del registro.
● La velocidad máxima es independiente del registro: "p1082"
● El accionamiento SINAMICS no verifica si los diferentes valores máximos de los
diferentes registros son coherentes en relación a su valor de control en el registro actual.
Esto sucede, por ejemplo, después de una adaptación de datos a otro registro.

Tipo de motor
SINAMICS soporta dos tipos de motor:
● Motor lineal
● Motor predeterminado (motor rotativo)
Con Basic Motion Control (BMC), SINAMICS solo soporta motores rotativos.
Si el accionamiento SINAMICS tiene configurado un motor lineal (parámetro "r108, bit 12"),
Motion Control muestra una ErrorID después de una comprobación de coherencia o una
interrupción de la adaptación de datos.

Parámetros
Motion Control soporta "DO-Servo" y "DO-Vector". Los parámetros siguientes del
accionamiento se adaptan:

Parámetro del actuador TO-DB Parámetro SINAMICS


Actor.DriveParameter.ReferenceSpeed p2000
Actor.DriveParameter.MaxSpeed p1082

Tres parámetros TO DB del actuador no se adaptan pero se comprueba su plausibilidad:

Parámetro del sensor TO-DB Parámetro SINAMICS/PROFIdrive


Actor.type r108, bit12
Actor.Interface.AddressIn.RID p922 o p2079
Actor.Interface.AddressOut.RID p922 o p2079

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 709
Instrucciones tecnológicas
10.3 Motion Control

Los valores de cada parámetro se listan en las tablas siguientes:

Parámetro del actuador TO-DB Valor


Actor.type • 0 = analógico
• 1 = PROFIdrive
• 2 = PTO
Nota: El TIA Portal solo soporta el accionamiento
rotativo. Esto significa que solo "1" es un valor
válido.
Actor.Interface.AddressIn.RID • 0208_0708 = telegrama 1
• 0208_070A = telegrama 2
• 0208_070C = telegrama 3
• 0208_0720 = telegrama 4
• 0208_070E = telegrama 81
• 0208_0710 = telegrama 83
Actor.Interface.AddressOut.RID • 0208_0709 = telegrama 1
• 0208_070B = telegrama 2
• 0208_070D = telegrama 3
• 0208_0721 = telegrama 4
• 0208_070F = telegrama 81
• 0208_0711 = telegrama 83

Parámetro SINAMICS/PROFIdrive Valor


r108, bit12 • 0 = accionamiento lineal
• 1 = accionamiento rotativo
Nota: El TIA Portal solo soporta el accionamiento
rotativo.
p922 o p2079 • 1 = telegrama 1
• 2 = telegrama 2
• 3 = telegrama 3
• 4 = telegrama 4
• 81 = telegrama 81
• 83 = telegrama 83

Comprobación de la velocidad máxima


El TIA Portal verifica la validez del parámetro TO-DB "DynamicLimits.MaxVelocity". Sin
embargo, con la adaptación de datos, la verificación solo es posible cuando el sistema está
en RUN y no ejecuta la verificación del TIA Portal.

Controlador programable S7-1200


710 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Comprobación de coherencia
Motion Control ejecuta una comprobación de coherencia durante el primer arranque o
reinicio del eje TO. Motion Control también muestra una ErrorID si la adaptación de datos
del actuador está activada. Una comprobación de coherencia implica el telegrama, tipo de
motor y la velocidad máxima:
● Telegrama en "p922" o "p2079": Si existe una incoherencia entre el TO y la configuración
del accionamiento, Motion Control muestra un error.
● Tipo de motor en "r108, bit12" de DO-Servo: Si existe una incoherencia entre el TO y la
configuración del accionamiento, Motion Control muestra un error.
● La velocidad máxima no se alcanza con los parámetros configurados del eje y Motion
Control muestra un error. (Nota: Motion Control no vuelve a mostrar este error después
de la confirmación si la configuración del eje no ha cambiado.)
Caso especial:
● Velocidad máxima (p1082) > 2 x velocidad de referencia (p2000)
● Motion Control reduce internamente la velocidad máxima a "2 veces" la velocidad de
referencia. La entrada en la configuración del eje no está limitada. En cualquier caso,
Motion Control adapta el valor de "p1082" y muestra un error.

Adaptar datos del sensor


Solo se soporta la adaptación de datos con un encóder activo (p0979).

Cantidad de datos adaptados


Motion Control adapta la descripción del valor real de "p0979" (incluyendo la configuración
del encóder rotativo o lineal) y verifica el parámetro del tipo de encóder del TIA Portal
"incremental o absoluto". Motion Control no adapta ni evalúa el valor de referencia NIST en
el telegrama 83.

Correlacionar el encóder en el telegrama con el encóder en el PLC y el accionamiento


● Motion Control configura la asignación de un encóder en el PLC al valor real en el
telegrama (valor real 1 o valor real 2) en la VREF.RID de dos parámetros TO-DB:
– <axis>.Sensor[i].Interface.AddressIn
– <axis>.Sensor[i].Interface.AddressOut
● La asignación en el accionamiento sucede con el ajuste del índice en "p979" (modelado
de encóder en SINAMICS).

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 711
Instrucciones tecnológicas
10.3 Motion Control

Parámetros
Motion Control adapta los parámetros siguientes:

Parámetro del sensor TO-DB Parámetro SINAMICS/PROFIdrive


Sensor[i].System • P979.[1] o P979.[11]
• Bit 0 = 0: encóder rotativo
• Bit 0 = 1: encóder lineal
Sensor rotativo incremental
Sensor[i].Parameter.StepsPerRevolution P979.[2] o P979.[12]
Sensor[i].Parameter.FineResolutionXist1 P979.[3] o P979.[13]
Sensor lineal incremental
Sensor[i].Parameter.Resolution P979.[2] o P979.[12]
Sensor[i].Parameter.FineResolutionXist1 P979.[3] o P979.[13]
Sensor rotativo absoluto
Sensor[i].Parameter.StepsPerRevolution P979.[2] o P979.[12]
Sensor[i].Parameter.FineResolutionXist1 P979.[3] o P979.[13]
Sensor[i].Parameter.DeterminableRevolutions P979.[5] o P979.[15]
Sensor[i].Parameter.FineResolutionXist2 P979.[4], y/o P979.[14]
Sensor lineal absoluto
Sensor[i].Parameter.Resolution P979.[2] o P979.[12]
Sensor[i].Parameter.FineResolutionXist1 P979.[3] o P979.[13]
Sensor[i].Parameter.FineResolutionXist2 P979.[4] o P979.[14]

Motion Control no adapta ningún parámetro de sensor TO-DB pero comprueba su


coherencia:

Parámetro del sensor TO-DB Parámetro SINAMICS/PROFIdrive


Sensor[i].Type • P979.[5] o P979.[15]
• Bit 0 = 0: encóder incremental
• Bit 0 > 1: encóder absoluto
Sensor[i].Interface.AddressIn p922 o p2079
Sensor[i].Interface.AddressOut

Es posible emplear un encóder absoluto como encóder incremental, pero no un encóder


incremental como encóder absoluto. Motion Control muestra una incompatibilidad del tipo de
encóder en el TO y su valor real relacionado en el telegrama PROFIdrive en un error. Nota:
Con SINAMICS FW V2.6, la interfaz PROFIdrive tiene una marca cero de sensor.

Controlador programable S7-1200


712 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Comprobación de coherencia
Motion Control ejecuta una comprobación de coherencia durante el primer arranque o
reinicio del eje TO. Motion Control también muestra un ErrorID si la adaptación del sensor
está activada. Una comprobación de coherencia implica el telegrama y el tipo de sensor:
● Telegrama en "p922" o "p2079": Si existe una incoherencia entre el TO y la configuración
del sensor, Motion Control muestra un error.
● Tipo de sensor en "P979.[5]" o "P979.[15]": Es posible emplear un encóder absoluto
como encóder incremental, pero no un encóder incremental como encóder absoluto. Si
existe una incoherencia, Motion Control muestra un error.

Parámetros que deben cargarse


La lista siguiente muestra todos los parámetros que deben cargarse del accionamiento al
TIA Portal. Para gestionar esta adaptación de datos debe expandir el TO-DB. Las
estructuras siguientes del TO-DB se utilizan para ejecutar esta ampliación:

Actuador Tipo Valor predetermi- Intercambiable Comentario


nado
Ac- DINT 0 R (con rearran- Activar adapta-
tor.DataAdaptation que) ción:
• 0: NO
• 1: SÍ

StatusDrive Tipo Comentario


StatusDrive.AdaptationState DINT Estado de adaptación:
• 0: NOT_ADAPTED: No puede
aceptar datos.
• 1: IN_ADAPTATION: La adaptación
de datos acaba de iniciarse.
• 2: ADAPTED: Los datos están
adaptados
• 3:NOT_APPLICABLE: Adaptación
no seleccionada o no disponible
para este accionamiento
• 4:ADAPTATION_ERROR: Error
durante la adaptación:
– No es posible activar el eje.
– Motion Control muestra un error
de configuración.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 713
Instrucciones tecnológicas
10.3 Motion Control

Sensor Tipo Valor predetermi- Intercambiable Comentario


nado
Sen- DINT 0 R (con rearran- Activar adapta-
sor.DataAdaptation que) ción:
• 0: NO
• 1: SÍ

StatusSensor Tipo Comentario


StatusSensor.AdaptationState DINT Estado de adaptación:
• 0: NOT_ADAPTED: No puede
aceptar datos.
• 1: IN_ADAPTATION: La adaptación
de datos acaba de iniciarse.
• 2: ADAPTED: Los datos están
adaptados.
• 3: NOT_APPLICABLE: Adaptación
no seleccionada o no disponible
para este accionamiento.
• 4: ADAPTATION_ERROR: Error
durante la adaptación:
– No es posible activar el eje.
– Motion Control muestra un error
de configuración.

ErrorWord Tipo Comentario


... Bool
Bit 15: Error de adaptación Bool ErrorID:
... Bool

10.3.4.7 Control de ejes mediante el módulo TM Pulse


El módulo TM Pulse es un módulo de salidas de impulso de dos canales ET 200SP que se
utiliza con válvulas y motores. El módulo soporta dos canales de 24 V DC a 2 A o un canal
de 24 V DC a 4 A.
El modo de operación "Motor DC" del módulo de salidas TM Pulse 2x24V permite accionar
un motor en ambos sentidos con una salida PWM bipolar. Es posible asignar una entrada
digital como señal "Parada externa" del motor.

Controlador programable S7-1200


714 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

El módulo TM Pulse puede llevar a cabo las funciones siguientes para Motion Control:
● Respuesta de salida programable a la condición de STOP de la CPU/el maestro
● Detección y diagnóstico de errores:
– Falta tensión de alimentación L+ o es insuficiente
– Cortocircuito/sobrecarga de una salida digital
– Cortocircuito/subtensión de una alimentación de sensores
– Error de sobretemperatura
– Fallo de parametrización
– Error del módulo/firmware

Ejemplo
Algunas aplicaciones requieren la capacidad de desplazarse fácilmente a una ubicación
concreta, pero no necesitan una precisión absoluta ni estar pegadas a un perfil específico.
Es posible utilizar un motor DC común junto con el servorregulador de bucle cerrado usando
el módulo TM Pulse ET 200SP para controlar el motor. Este ejemplo de aplicación explica
un modo del módulo TM Pulse ET 200SP: "PWM con motor DC". Encontrará más
información sobre los demás modos del módulo TM Pulse ET 200SP en el manual ET
200SP Módulo tecnológico TM Pulse 2x24V.
Con el fin de utilizar un control verdadero en bucle cerrado se necesita un método de
realimentación de posición. Hay que conectar un encóder al motor para que realimente el
sistema de control. Este ejemplo muestra tres formas de conseguirlo:
● Contador rápido (HSC) integrado en el S7-1200
● Módulo TM Count ET 200SP
● Módulo TM PosInput ET 200SP
En algunos casos, cuando es necesario desplazarse a diferentes velocidades, el control en
bucle cerrado puede funcionar en modo de control de velocidad. Si se utiliza este modo no
se necesita una realimentación de posición.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 715
Instrucciones tecnológicas
10.3 Motion Control

Proceda del siguiente modo para configurar el módulo TM Pulse:


1. Configure la CPU S7-1200.
2. Seleccione el módulo de interfaz ET 200SP necesario y colóquelo en la vista de
dispositivos:

3. Agregue el módulo TM Pulse ET 200SP:

4. En la configuración de canales, seleccione "2 canales (2A)".


5. Ajuste el modo de operación a "PWM con motor DC".
6. Ajuste los parámetros de diagnóstico y canal según corresponda.

Controlador programable S7-1200


716 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Proceda del siguiente modo para configurar el eje de movimiento con realimentación de
posición:
1. Cuando se configura la interfaz con un sistema Motion Control en lazo cerrado, se utiliza
un regulador analógico, no PROFIdrive ni PTO. El eje que debe regularse se configura
del mismo modo que un eje que utilice una salida analógica como entrada para un
servoaccionamiento. Agregue un "TO Eje de posicionamiento" tal y como se muestra en
la figura inferior:

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 717
Instrucciones tecnológicas
10.3 Motion Control

2. En el cuadro de diálogo de configuración general del eje, seleccione "Conexión analógica


del accionamiento":

Controlador programable S7-1200


718 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

3. Ahora se necesitan salidas analógicas y una habilitación de accionamiento para la


configuración del accionamiento. Vaya a la vista de dispositivos del módulo de interfaz
ET 200SP y a la entrada Vista general de dispositivos del módulo TM Pulse. Utilizando la
dirección Q inicial del módulo TM Pulse y las tablas Interfaz de control e Interfaz de
realimentación que aparecen en el manual SIMATIC ET 200SP Módulo tecnológico TM
Pulse 2x24V (6ES7138-6DB00-0BB1), es posible determinar las siguientes salidas
analógicas y la habilitación del accionamiento necesarias para el accionamiento:
– Salida analógica
– Seleccionar salida de habilitación
– Seleccionar entrada lista
En el cuadro de diálogo de configuración de accionamientos del eje, seleccione las E/S
de la interfaz de hardware y los valores de intercambio de datos:

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 719
Instrucciones tecnológicas
10.3 Motion Control

4. En el cuadro de diálogo de configuración de encóders del eje, complete la configuración


seleccionando uno de los encóders siguientes:
● Módulo TM Count
● Módulo TM PosInput
● Contador rápido (HSC)

Controlador programable S7-1200


720 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

10.3.5 Configurar TO_CommandTable_PTO


Puede configurar una instrucción MC_CommandTable mediante los objetos tecnológicos. El
ejemplo siguiente muestra cómo se hace.

Agregar un objeto tecnológico


1. En el árbol de proyectos, expanda el nodo "Objetos tecnológicos" y seleccione "Agregar
objeto".
2. Seleccione el icono "CommandTable" (cambie el nombre si es necesario) y haga clic en
"Aceptar" para abrir el editor de configuración para el objeto CommandTable.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 721
Instrucciones tecnológicas
10.3 Motion Control

Planificar los pasos para su aplicación


La secuencia de movimientos deseada se puede crear en la ventana de configuración
"Tabla de comandos" y comprobar el resultado con la vista gráfica del diagrama de
tendencias.
Se pueden seleccionar los tipos de comandos que se van a utilizar para procesar la tabla de
comandos. Se pueden introducir hasta 32 pasos. Los comandos se procesan en secuencia,
lo que permite generar con facilidad un complejo perfil de movimiento.

Tabla 10- 48 Tipos de comandos de MC_CommandTable

Tipo de comando Descripción


Empty El comando vacío sirve como comodín para los comandos que se aña-
dan. La entrada vacía se ignora cuando se procesa la tabla de comandos.
Halt Detener eje.
Nota: El comando solo tiene lugar tras un comando "Velocity setpoint".
Positioning Relative Coloca el eje basándose en la distancia. El comando mueve el eje según
la distancia y la velocidad dadas.
Positioning Absolute Coloca el eje basándose en la posición. El comando mueve el eje a la
posición indicada, a la velocidad especificada.
Velocity setpoint Mueve el eje a la velocidad dada.
Wait Espera hasta que finaliza el período determinado. El comando "Wait" no
detiene un movimiento de desplazamiento activo.
Separator Añade una línea de tipo "Separator" encima de la línea seleccionada. La
línea separadora permite definir más de un perfil en una misma tabla de
comandos.

Controlador programable S7-1200


722 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

En la siguiente figura, se utiliza "Command complete" como transición al siguiente paso.


Este tipo de transición permite que el dispositivo decelere a la velocidad de arranque/parada
y luego vuelva a acelerar al inicio del siguiente paso.

① El eje decelera a la velocidad de arranque/parada entre pasos.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 723
Instrucciones tecnológicas
10.3 Motion Control

En la siguiente figura, se utiliza "Blending motion" como transición al siguiente paso. Este
tipo de transición permite que el dispositivo mantenga su velocidad en el inicio del siguiente
paso, por lo que la transición del dispositivo de un paso al siguiente es fluida. El uso de esta
transición puede reducir el tiempo total necesario para que un perfil se ejecute por completo.
Sin ella, este ejemplo tardaría siete segundos en ejecutarse. Con ella, el tiempo de
ejecución se reduce en un segundo, siendo el total de seis segundos.

① El eje sigue moviéndose y acelera o decelera a la velocidad del siguiente paso, ahorrando tiempo
y desgaste mecánico.

El funcionamiento de CommandTable se controla mediante una instrucción


MC_CommandTable, como se muestra a continuación:

Controlador programable S7-1200


724 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

10.3.6 Funcionamiento de Motion Control para S7-1200

10.3.6.1 Salidas de CPU utilizadas para Motion Control


La CPU proporciona cuatro generadores de salida de impulsos. Cada generador de salida
de impulsos ofrece una salida de impulsos y una salida de sentido para controlar un motor
paso a paso, o bien un servomotor con interfaz de impulsos. La salida de impulsos
proporciona al accionamiento los impulsos necesarios para el movimiento del motor. La
salida de sentido controla el sentido de desplazamiento del accionamiento.
La salida de PTO genera una salida de onda cuadrada a frecuencia variable. La generación
de impulsos se controla mediante información de configuración y ejecución suministrada por
la configuración hardware o SFC/SFB.
Según la elección del usuario mientras la CPU está en modo RUN, bien los valores
almacenados en la imagen de proceso, bien las salidas de generador de impulso, accionan
las salidas digitales. En modo STOP, el generador de PTO no controla las salidas.
Las salidas integradas de la CPU y las salidas de una Signal Board pueden utilizarse como
salidas de impulso y sentido. Al configurar el dispositivo se elige entre las salidas integradas
de la CPU y las salidas de la Signal Board en la ficha "Propiedades" de Generadores de
impulsos (PTO/PWM). Solo PTO (Pulse Train Output) se aplica a Motion Control.
En la tabla que se muestra más abajo se muestran las asignaciones de E/S
predeterminadas; sin embargo, los cuatro generadores de impulsos se pueden configurar
para cualquier salida digital.

Nota
Los trenes de impulsos no pueden ser utilizados por otras instrucciones dentro del programa
de usuario.
Si las salidas de la CPU o la Signal Board se configuran como generadores de impulsos
(para el uso de instrucciones PWM o Motion Control), las direcciones de salida
correspondientes dejarán de controlar las salidas. Si el programa de usuario escribe un
valor en una salida utilizada como generador de impulsos, la CPU no escribirá ese valor en
la salida física.

Nota
Las salidas de sentido de PTO se pueden liberar para usarlas en cualquier otro lugar del
programa.
Para cada PTO se necesita asignar dos salidas: una como salida de impulsos y otra como
salida de sentido. Puede usar la salida de impulsos, pero no la salida de sentido. Puede
liberar la salida de sentido para otros fines en el programa del usuario. La salida no se
puede usar para la salida de sentido de PTO y en el programa del usuario de forma
simultánea.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 725
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 49 Asignaciones de direcciones predeterminadas de las salidas de impulsos y sentido

Uso de salidas para Motion Control


Impulso Sentido
PTO1
E/S incorporadas Q0.0 Q0.1
E/S de la SB Q4.0 Q4.1
PTO2
E/S incorporadas Q0.2 Q0.3
E/S de la SB Q4.2 1 Q4.3 1
PTO3
E/S incorporadas Q0.4 2 Q0.5 2
E/S de la SB Q4.0 Q4.1
PTO4
E/S incorporadas Q0.6 3 Q0.7 3
E/S de la SB Q4.2 Q4.3
1 Las salidas Q4.2 y Q4.3 solo están disponibles en la SB 1222 DQ4.
2 La CPU 1211C no tiene las salidas Q0.4, Q0.5, Q0.6 ni Q0.7. Por lo tanto, esas salidas no pueden
usarse en la CPU 1211C.
3 La CPU 1212C no tiene las salidas Q0.6 ni Q0.7. Por lo tanto, esas salidas no pueden usarse en
la CPU 1212C.
4 Esta tabla es válida para las funciones de PTO de la CPU 1211C, CPU 1212C, CPU 1214C, CPU
1215C y CPU 1217C.

Interfaz del accionamiento


Para Motion Control es posible configurar opcionalmente una interfaz de accionamiento para
"Accionamiento habilitado" y "Accionamiento listo". Cuando se utiliza la interfaz del
accionamiento, la salida digital para habilitar el accionamiento y la entrada digital para
"accionamiento listo" pueden seleccionarse libremente.

Nota
El firmware tomará el control mediante las salidas de impulsos y sentido correspondientes si
se ha seleccionado el PTO (Pulse Train Output) y se ha asignado a un eje.
En el momento de hacerse cargo de la función de control, la conexión entre la memoria
imagen de proceso y la salida de periferia también se desconectará. Mientras que el usuario
tiene la posibilidad de escribir en la memoria imagen de proceso de las salidas de impulsos
y sentido por medio del programa de usuario o la tabla de observación, esta no se transfiere
nunca a la salida de periferia. Por consiguiente, tampoco es posible vigilar la salida de
periferia por medio del programa de usuario o la tabla de observación. La información leída
simplemente refleja el valor de la memoria imagen de proceso y no concuerda con el estado
actual de la salida de periferia en ningún sentido.
En todas las demás salidas de la CPU que no son utilizadas permanentemente por el
firmware de la CPU, el estado de la salida de periferia puede controlarse o vigilarse
mediante la memoria imagen de proceso, como siempre.

Controlador programable S7-1200


726 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

10.3.6.2 Finales de carrera hardware y software para Motion Control


Utilice los finales de carrera por hardware y software para limitar el "rango de
desplazamiento permitido" y el "rango de trabajo" del eje.

① Parada mecánica A Rango de desplazamiento permitido para


el eje
② Límites de hardware inferior y superior B Rango de trabajo del eje
③ Límites de software inferior y superior C Distancia

Los finales de carrera por hardware y software deben haberse activado en la configuración o
en el programa de usuario antes de ser utilizados. Los finales de carrera por software solo
están activos tras referenciar el eje.

Finales de carrera por hardware


Los finales de carrera por hardware determinan el rango de desplazamiento máximo del eje.
Los finales de carrera por hardware son elementos conmutadores físicos que deben estar
conectados a entradas aptas para salida de la CPU. Utilice solo finales de carrera por
hardware que permanezcan activados permanentemente tras la aproximación. Este estado
de conmutación solo puede ser revocado una vez que se regrese al rango de
desplazamiento válido.

Tabla 10- 50 Entradas disponibles para límites de hardware

Descripción CPU RPS, LIM- y LIM+ 1


E/S incorporadas CPU 1211C I0.0 - I0.5
CPU 1212C I0.0 - I0.7
CPU 1214C, CPU 1215C y I0.0 - I01.3
CPU 1217C
E/S de la SB Todas las CPU S7-1200 I4.0 - I4.3
1 Entrada de conmutación del punto de referencia (RPS), entrada de límite de desplazamiento
negativo (LIM-) y entrada de límite de desplazamiento positivo (LIM+)

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 727
Instrucciones tecnológicas
10.3 Motion Control

Una vez que se ha completado la aproximación a los finales de carrera por hardware, el eje
frena hasta detenerse por completo con la deceleración de emergencia configurada. La
deceleración específica de emergencia debe ser suficiente para parar el eje de forma fiable
antes de la parada mecánica. El siguiente diagrama representa el comportamiento del eje
tras la aproximación a los finales de carrera por hardware.

① El eje frena hasta detenerse con la deceleración de emergencia configurada.


② Rango en el cual los finales de carrera por hardware señalizan el estado "approached" (apro-
ximación completada).
A [Velocidad]
B Rango de desplazamiento permitido
C Distancia
D Parada mecánica
E Final de carrera por hardware inferior
F Final de carrera por hardware superior

ADVERTENCIA
Riesgos asociados con los cambios en el tiempo de filtro para el canal de entrada digital
Si el tiempo de filtro para un canal de entrada digital se reajusta, será necesario presentar
un nuevo valor de entrada de nivel "0" durante un tiempo acumulado de 20 ms para que el
filtro esté totalmente operativo ante nuevas entradas. Durante este tiempo, no se detectan
o no se cuentan los eventos de pulsación breve "0" cuya duración sea inferior a 20 ms.
Este cambio de los tiempos de filtro puede originar un funcionamiento inesperado de los
equipos o del proceso, lo que puede causar la muerte o lesiones graves al personal o
daños a los equipos.
Para asegurar que un tiempo de filtro nuevo tenga efecto inmediato, desconecte y vuelva a
conectar la CPU.

Controlador programable S7-1200


728 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Finales de carrera por software


Los finales de carrera por software limitan el "rango de trabajo" del eje. Deben estar dentro
de los finales de carrera por hardware relativos al rango de desplazamiento. Dado que las
posiciones de los finales de carrera por software pueden ajustarse con flexibilidad, el rango
operativo del eje puede delimitarse individualmente en función del perfil de desplazamiento.
Al contrario que los finales de carrera por hardware, los de software se implementan
exclusivamente mediante software, y no requieren elementos conmutadores propios.
Si los finales de carrera por software se activan, cualquier movimiento activo se detiene en
la posición del final de carrera por software. El eje frena con la deceleración configurada. El
siguiente diagrama representa el comportamiento del eje hasta alcanzar los finales de
carrera por software.

① El eje frena hasta detenerse con la deceleración configurada.


A [Velocidad]
B Rango de trabajo
C Distancia
D Final de carrera por software inferior
E Final de carrera por software superior

Utilice finales de carrera por hardware si una posición final mecánica está situada tras los
finales de carrera por software y existe riesgo de daño mecánico.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 729
Instrucciones tecnológicas
10.3 Motion Control

Configuración de la detección de flancos al cambiar la dirección


Si se asocia un final de carrera o un interruptor de referenciado de entrada a una dirección
de entrada en un eje de posición TO, Motion Control lo configura automáticamente con
alarmas de flanco. Si, seguidamente, se cambia el final de carrera o el interruptor de
referenciado de entrada a otra dirección, la configuración con detección de flancos para la
dirección antigua permanece activa.
En el cuadro de diálogo de configuración del eje, Parámetros avanzados, cuadro de diálogo
Finales de carrera, es posible agregar finales de carrera por software y hardware. Si se
agrega una entrada de final de carrera por hardware se activa automáticamente una
detección de flancos. Posteriormente, si decide cambiar una dirección de entrada, aparece
un cuadro de diálogo de detección de flancos que ofrece las posibilidades siguientes:
● Sí: cambia a la nueva dirección, activa la detección de flancos en la nueva dirección y
desactiva la detección de flancos en la dirección antigua (selección predeterminada)
● No: cambia a la nueva dirección, activa la detección de flancos en la nueva dirección y
mantiene la detección de flancos en la dirección antigua
● Cancelar: no cambia a una dirección nueva y mantiene el estado de la detección de
flancos actual

Selección del cuadro Cambia a una dirección Activa la detección de Desactiva la detección
de diálogo para la de- nueva flancos en la dirección de flancos en la direc-
tección de flancos nueva ción antigua
Sí (predeterminado) Sí Sí Sí
No Sí Sí No
Cancelar No N/A No

Nota
Para configuraciones servo que no requieren una detección de flancos no se muestra
ningún cuadro de diálogo.

Nota
Si se conecta un OB a la entrada, Motion Control no ejecuta operaciones con detección de
flancos tal y como se describe anteriormente.

Controlador programable S7-1200


730 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Ejemplo: Cambiar a una nueva dirección de final de carrera por hardware con detección de flancos y
desactivar la detección de flancos en la dirección antigua
1. Estado actual: Se ha conectado un "final de carrera por hardware con entrada low" a
I0.2. Esta configuración activa automáticamente la detección de flancos en I0.2. Esta
configuración también se muestra en las propiedades de la CPU, Entradas digitales:

2. Se ha cambiado un "final de carrera por hardware con entrada low" a I0.6 y se confirma.
Se muestra el cuadro de diálogo para la detección de flancos. Se selecciona: "Sí:
cambiar la dirección y desactivar la detección de flancos en la dirección antigua.":

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 731
Instrucciones tecnológicas
10.3 Motion Control

3. La CPU acepta la nueva dirección I0.6 y activa la detección de flancos en I0.6. La


detección de flancos de I0.2 en las propiedades de la CPU, Entradas digitales, se
desactiva automáticamente:

Controlador programable S7-1200


732 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Ejemplo: Cambiar a una nueva dirección de final de carrera por hardware con detección de flancos y
mantener la detección de flancos en la dirección antigua
1. Estado actual: Se ha conectado un "final de carrera por hardware con entrada low" a
I0.2. Esta configuración activa automáticamente la detección de flancos en I0.2. Esta
configuración también se muestra en las propiedades de la CPU, Entradas digitales:

2. Se ha cambiado un "final de carrera por hardware con entrada low" a I0.6 y se confirma.
Se muestra el cuadro de diálogo para la detección de flancos. Se selecciona: "No:
cambiar la dirección y mantener la detección de flancos en la dirección antigua.":

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 733
Instrucciones tecnológicas
10.3 Motion Control

3. La CPU acepta la nueva dirección I0.6 y activa la detección de flancos en I0.6. La


detección de flancos de I0.2 en las propiedades de la CPU, Entradas digitales, se
mantiene activada:

Controlador programable S7-1200


734 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Ejemplo: Cancelar el cambio a una nueva dirección de final de carrera por hardware con detección
de flancos
1. Estado actual: Se ha conectado un "final de carrera por hardware con entrada low" a
I0.2. Esta configuración activa automáticamente la detección de flancos en I0.2. Esta
configuración también se muestra en las propiedades de la CPU, Entradas digitales:

2. Se ha cambiado un "final de carrera por hardware con entrada low" a I0.6 y se confirma.
Se muestra el cuadro de diálogo para la detección de flancos. Se selecciona: "Cancelar":

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 735
Instrucciones tecnológicas
10.3 Motion Control

3. El "interruptor de final de carrera por hardware con entrada low" se mantiene configurado
en I0.2 y la detección de flancos en I0.2 se mantiene activada:

Información adicional
El programa de usuario puede omitir los finales de carrera por hardware y software
habilitando o deshabilitando ambas funciones. La selección se realiza en el DB de eje.
● Para habilitar o deshabilitar la función de final de carrera por hardware, acceda a la
variable "Active" (Bool) de la ruta de DB "<nombre de eje>/Config/PositonLimits_HW". El
estado de la variable "Activo" habilita o deshabilita el uso de finales de posición por
hardware.
● Para habilitar o deshabilitar la función de final de carrera por software, acceda a la
variable "Activo" (Bool) de la ruta de DB "<nombre de eje>/Config/Position Limits_SW". El
estado de la variable "Active" habilita o deshabilita los finales de carrera por software.
También es posible modificar los límites de posición por software con el programa de
usuario (por ejemplo para aumentar la flexibilidad para la configuración de la máquina o
reducir el tiempo de cambio). El programa de usuario puede escribir nuevos valores en las
variables " MinPosition " y " MaxPosition " (unidades de ingeniería en formato Real) en el DB
"<Nombre de eje>/Config/PositionLimits_SW".

Controlador programable S7-1200


736 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

10.3.6.3 Referenciación
Referenciar significa hacer concordar las coordenadas del eje con la posición física real del
accionamiento. (Si el accionamiento se encuentra en ese momento en la posición x, el eje
se ajustará para estar en la posición x.) Para ejes controlados por posición, las entradas e
indicaciones de posición se refieren exactamente a estas coordenadas de eje.

Nota
La concordancia entre las coordenadas del eje y la situación real es determinante. Este
paso es necesario para garantizar que la posición de destino absoluta del eje también se
alcance con precisión con el accionamiento.

La instrucción MC_Home inicia el referenciado del eje.


Hay 4 funciones de referenciado diferentes. Las dos primeras funciones permiten al usuario
ajustar la posición actual del eje y las dos segundas posicionar el eje respecto a un sensor
de referenciado.
● Modo 0 - Referenciado directa absoluta: Al ejecutarlo, este modo le dice al eje
exactamente dónde está. Asigna a la variable de posición interna el valor de la entrada
Position de la instrucción de referenciado. Se usa para la calibración y ajuste de
máquinas.
La posición del eje se ajusta independientemente del interruptor de punto de referencia.
Los movimientos activos no se interrumpen. El valor del parámetro de la entrada Position
de la instrucción MC_Home se fija inmediatamente como punto de referencia del eje.
Para asignar el punto de referencia a una posición mecánica precisa, el eje debe estar
parado en la posición en el momento de la referenciador.
● Modo 1 - Referenciador directa relativa: Al ejecutarlo, este método utiliza la variable de
posición interna y le añade el valor de la entrada Position de la instrucción de
referenciador. Este método se suele utilizar para offsets de máquinas.
La posición del eje se ajusta independientemente del interruptor de punto de referencia.
Los movimientos activos no se interrumpen. La siguiente afirmación es válida para la
posición del eje tras el referenciado: Nueva posición del eje = posición actual del eje +
valor del parámetro Position de la instrucción MC_Home.
● Modo 2 - Referenciado pasivo: Cuando el eje se mueve y pasa el interruptor de punto de
referencia, la posición actual se fija como posición de referencia. Esta función ayuda a
reducir el desgaste normal de la máquina y el juego de los cojinetes y prevenir la
necesidad de compensar el desgaste manualmente. Igual que antes, la entrada Position
de la instrucción de referenciado se añade a la posición indicada por el interruptor del
punto de referencia, facilitando así el offset de la posición de referencia.
Durante el referenciado pasivo, la instrucción MC_Home no realiza ningún movimiento
de referenciado. El movimiento necesario para este paso debe ser implementado por el
usuario mediante otras instrucciones de Motion Control. El eje está referenciado según la
configuración cuando se detecta el interruptor de punto de referencia. Los movimientos
de desplazamiento activos no se interrumpen con el inicio de la referenciado pasiva.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 737
Instrucciones tecnológicas
10.3 Motion Control

● Modo 3 - Referenciado activa: Este modo es el método más preciso para el referenciado
del eje. El sentido y la velocidad iniciales del movimiento se configuran en los parámetros
de configuración avanzada del objeto tecnológico para el referenciado. Depende de la
configuración de la máquina. También existe la posibilidad de determinar si el flanco
inicial o descendente en la señal del interruptor de punto de referencia es la posición de
referencia. Virtualmente todos los sensores tienen un rango activo y si se ha utilizado la
posición de Siempre conectado como señal de referencia, existe la posibilidad de errar
en la posición de referencia, ya que el rango activo de señal de conexión podría cubrir
cierta distancia. Al aplicar el flanco inicial o descendente de la señal se consigue una
posición de referencia mucho más precisa. Igual que ocurre con todos los métodos
restantes, el valor de la entrada Position de la instrucciones de posicionamiento se
añade a la posición referenciada por hardware.
En el modo de referenciado activo, la instrucción MC_Home realiza la aproximación
necesaria al punto de referencia. El eje está referenciado según la configuración cuando
se detecta el interruptor de punto de referencia. Los movimientos activos se interrumpen.
Los modos 0 y 1 no requieren un movimiento del eje. Suelen utilizarse para órdenes de
configuración y calibración. En los modos 2 y 3 es necesario que el eje se mueva y pase por
un sensor configurado en el objeto tecnológico "Eje" como interruptor de punto de
referencia. El punto de referencia puede situarse en el área de trabajo del eje o fuera del
área normal de trabajo, pero dentro del rango de movimiento.

Configuración de parámetros de referenciación


Los parámetros para el referenciado activo y pasivo se configuran en la ventana de
configuración "Referenciado". El método de referenciado se ajusta utilizando el parámetro
de entrada "Mode" de la instrucción de Motion Control. En este caso, Mode = 2 significa
referenciado pasivo y Mode = 3 referenciado activo.

Nota
Utilice una de las siguientes medidas para garantizar que la máquina no se desplaza a una
posición final mecánica en caso de invertir la dirección:
• Mantenga una velocidad de aproximación reducida
• Aumente la aceleración/deceleración configurada
• Aumente la distancia entre el final de carrera por hardware y la parada mecánica

Controlador programable S7-1200


738 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 51 Parámetros de configuración para referenciar el eje

Parámetro Descripción
Entrada interruptor de punto de Seleccione la entrada digital para el interruptor de punto de referencia de la lista
referencia desplegable. La entrada debe soportar alarmas. Las entradas integradas de la CPU
(Referenciado activo y pasivo) y las entradas de una Signal Board opcional pueden seleccionarse como entradas
para el interruptor de punto de referencia.
El tiempo de filtro predeterminado para las entradas digitales es de 6,4 ms. Cuando
las entradas digitales se usan como interruptor de punto de referencia, pueden pro-
ducirse desaceleraciones no deseadas y, por tanto, imprecisiones. Dependiendo de
la velocidad de referenciado y del alcance del interruptor de punto de referencia, es
posible que no se detecte el punto de referencia. El tiempo de filtrado puede configu-
rarse en "Filtros de entrada" en la configuración de dispositivos de las entradas digi-
tales.
El tiempo de filtrado especificado debe ser menor que la duración de la señal de
entrada en el interruptor del punto de referencia.
Interruptor de punto de referencia • Referenciado activo: Elija si el eje debe referenciarse en el lado superior o inferior
(Referenciado activo y pasivo) del interruptor de punto de referencia. Dependiendo de la posición inicial del eje y
de la configuración de los parámetros de referenciado, la secuencia de aproxi-
mación al punto de referencia puede diferir del diagrama en la ventana de confi-
guración.
• Referenciado pasivo: En el referenciado pasivo, los movimientos transversales
de referenciado deben ser implementados por el usuario mediante comandos de
movimiento. El lado del interruptor de punto de referencia en el que se ejecuta el
referenciado depende de los factores siguientes:
– Configuración del "Interruptor de punto de referencia"
– Sentido del recorrido actual durante el referenciado pasivo
Inversión automática tras alcanzar Active la casilla de verificación para utilizar el final de carrera por hardware como
los finales de carrera por hardware leva de inversión para la aproximación al punto de referencia. Los finales de carrera
(Sólo referenciado activo) por hardware deben estar configurados y activados para la inversión direccional.
Cuando se alcanza el final de carrera por hardware durante el referenciado activo, el
eje frena a la deceleración configurada (no con la deceleración de emergencia) e
invierte el sentido. El interruptor de punto de referencia se explora entonces en di-
rección inversa.
Si la inversión de sentido no está activada y el eje llega al final de carrera hardware
durante el referenciado activo, la aproximación al punto de referencia se interrumpe
con un error y el eje se frena con la deceleración de emergencia.
Dirección de aproximación Al seleccionar el sentido se determina el "sentido de aproximación" utilizado durante
(Referenciado activo y pasivo) el referenciado activo para buscar el sensor del punto de referencia, y también el
sentido de referenciado. El sentido de referenciado especifica el sentido de despla-
zamiento que el eje utiliza para aproximarse al lado configurado del sensor del punto
de referencia para llevar a cabo la operación de referenciado.
Velocidad de aproximación Especifique la velocidad a la que debe localizarse el interruptor de punto de referen-
(Sólo referenciado activo) cia durante la aproximación al punto de referencia.
Valores límite (independientemente de la unidad seleccionada por el usuario):
Velocidad inicio/parada ≤ velocidad de aproximación ≤ velocidad máxima

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 739
Instrucciones tecnológicas
10.3 Motion Control

Parámetro Descripción
Velocidad de referenciado Especifique la velocidad a la cual el eje se aproxima al sensor del punto de referen-
(Sólo referenciado activo) cia en el referenciado.
Valores límite (independientemente de la unidad seleccionada por el usuario):
Velocidad de arranque/parada ≤ velocidad de referenciado ≤ velocidad máxima
Offset de posición de referencia Si la posición de referencia deseada varía de la posición del interruptor de punto de
(Sólo referenciado activo) referencia, en este campo también se puede especificar el offset de la posición de
referencia.
Si el valor no es 0, el eje ejecuta las siguientes acciones tras el referenciado en el
sensor del punto de referencia:
1. Mueva el eje a la velocidad de referenciado con el valor del offset de posición de
referencia.
2. Una vez alcanzada la posición del offset, la posición del eje se fija como posición
de referencia absoluta. La posición de referencia absoluta se especifica con el
parámetro "Position" de la instrucción de Motion Control "MC_Home".
Valores límite (independientes de la unidad de usuario seleccionada):
-1.0e12 ≤ offset de la posición de referencia ≤ 1.0e12

Tabla 10- 52 Factores que afectan al referenciado

Factores influyentes: Resultado:


Configuración Configuración Dirección de desplazamiento Referenciado activo
Dirección de aproximación Interruptor de punto de refe- actual Interruptor de punto de refe-
rencia rencia
positivo "Lado inferior (negativo)" Dirección positiva Lado inferior
Dirección negativa Lado superior
positivo "Lado superior (positivo)" Dirección positiva Lado superior
Dirección negativa Lado inferior
negativo "Lado inferior (negativo)" Dirección positiva Lado superior
Dirección negativa Lado inferior
negativo "Lado superior (positivo)" Dirección positiva Lado inferior
Dirección negativa Lado superior

Nivel de conmutación del punto de referenciado


En el cuadro de diálogo Referenciado de la configuración del eje, Pasivo o Activo, se
configura el "interruptor de referenciado de entrada digital". Como parte de esta
configuración, también es posible cambiar los niveles (superior o inferior) de los
interruptores de punto de referencia para los ejes del lazo cerrado (PROFIdrive y analógico).
El valor predeterminado es el nivel superior.

Controlador programable S7-1200


740 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Ejemplo: Seleccionar el nivel de conmutación de punto de referenciado pasivo


1. Se ha configurado un proyecto de S7-1200 con un eje analógico/PROFIdrive usando un
referenciado pasivo. Dependiendo de su aplicación, se selecciona "nivel superior" o
"nivel inferior" para el nivel de conmutación de referenciado pasivo:

2. El programa ejecuta un referenciado pasivo.


3. Una vez finalizado el referenciado pasivo, se referencia el eje.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 741
Instrucciones tecnológicas
10.3 Motion Control

Ejemplo: Seleccionar el nivel de conmutación de punto de referencia activo


1. Se ha configurado un proyecto de S7-1200 con un eje analógico/PROFIdrive usando un
referenciado activo. Dependiendo de su aplicación, se selecciona "nivel superior" o "nivel
inferior" para el nivel de conmutación de referenciado activo:

2. El programa ejecuta un referenciado activo.


3. Una vez finalizado el referenciado activo, se referencia el eje.

Controlador programable S7-1200


742 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Secuencia de referenciación activa


El referenciado activo se inicia con la instrucción de Motion Control "MC_Home" (parámetro
de entrada Mode = 3). En este caso, el parámetro de entrada "Position" especifica las
coordenadas del punto de referencia absoluto. Como alternativa, el referenciado activo se
puede iniciar desde el panel de mando con fines de prueba.
El siguiente diagrama muestra un ejemplo de curva característica para una aproximación
activa al punto de referencia con los siguientes parámetros de configuración:
● "Dirección de aproximación" = "Dirección de aproximación positiva"
● "Interruptor de punto de referencia" = "Lado superior (positivo)"
● Valor de "Offset de posición de referencia" > 0

Tabla 10- 53 Características de velocidad del referenciado MC

Funcionamiento Notas
A Velocidad de aproximación
B Velocidad de referenciado
C Coordenada de posición de referencia
D Offset de posición de referencia

① Fase de búsqueda (segmento azul de la curva): Cuando inicia el referenciado activo, el eje acelera a la velocidad
de aproximación configurada y busca el sensor de punto de referencia a esa velocidad.
② Aproximación a punto de referencia (sección roja de la curva): Cuando se detecta el interruptor de punto de refe-
rencia, el eje del ejemplo frena e invierte la dirección para referenciarse en el lado configurado del interruptor de
punto de referencia con la velocidad de referenciado configurada.
③ Desplazamiento a la posición del punto de referencia (segmento verde de la curva): Tras el referenciado en el
interruptor de punto de referencia, el eje se desplaza a las "coordenadas de punto de referencia" configuradas a la
velocidad de referenciado especificada. Cuando alcanza las "coordenadas del punto de referencia", el eje se detie-
ne en el valor de posición especificado en el parámetro de entrada Position de la instrucción MC_Home.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 743
Instrucciones tecnológicas
10.3 Motion Control

Nota
Si la búsqueda del punto de referencia no funciona de la forma esperada, compruebe las
entradas asignadas a los finales de carrera de hardware o al punto de referencia. Dichas
entradas pueden tener las alarmas de flanco deshabilitadas en la configuración del
dispositivo.
Revise los datos de configuración para el objeto tecnológico Eje para ver qué entradas (si
hay alguna) están asignadas para "HW Low Limit Switch Input", "HW High Limit Switch
Input" y "Input reference point switch". A continuación, abra la configuración de dispositivo
para la CPU y examine cada una de las entradas asignadas. Compruebe que ambas
opciones "Activar detección del flanco ascendente" y "Activar detección del flanco
descendente" están seleccionadas. Si no es así, borre las entradas especificadas en la
configuración del eje y vuelva a seleccionarlas.

10.3.6.4 Limitación de tirones


La limitación de tirones permite reducir los esfuerzos de los aparatos durante la rampa de
aceleración y deceleración. El valor de aceleración y deceleración no cambia
repentinamente cuando el limitador de etapa está activo; se adapta en una fase de
transición. La figura inferior muestra las curvas de velocidad y aceleración sin y con
limitación de tirones.

Tabla 10- 54 Limitación de tirones

Desplazamiento sin limitador de etapa Desplazamiento con limitador de etapa

Controlador programable S7-1200


744 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

La limitación de etapa consigue un perfil de velocidad "suavizado" del movimiento del eje.
De este modo se garantiza el arranque y frenado suaves de una cinta transportadora, por
ejemplo.

10.3.7 Instrucciones de Motion control

10.3.7.1 Vista general de instrucciones de MC


Las instrucciones de Motion Control utilizan un bloque de datos tecnológico asociado y el
PTO (salidas del tren de impulsos) específico de la CPU para controlar el movimiento de un
eje.
● MC_Power (Página 747) activa y desactiva un eje de Motion Control.
● MC_Reset (Página 750) resetea todos los errores de Motion Control. Se acusan todos
los errores de Motion Control que pueden acusarse.
● MC_Home (Página 751) establece la relación entre el programa de control del eje y el
sistema de posicionamiento mecánico del eje.
● MC_Halt (Página 754) cancela todos los procesos de movimiento y detiene el
movimiento del eje. La posición de parada no está definida.
● MC_MoveAbsolute (Página 756) inicia el movimiento hacia una posición absoluta. La
orden finaliza cuando se alcanza la posición de destino.
● MC_MoveRelative (Página 759) inicia un movimiento de posicionamiento relativo a la
posición inicial.
● MC_MoveVelocity (Página 762) hace que el eje se mueva a la velocidad indicada.
● MC_MoveJog (Página 765) ejecuta el modo jog para fines de test y arranque.
● MC_CommandTable (Página 768) ejecuta comandos de eje como una secuencia de
movimientos.
● MC_ChangeDynamic (Página 770) cambia la configuración de la dinámica del eje.
● MC_WriteParam (Página 772) escribe un número de parámetros determinado para
cambiar las funciones del eje desde el programa de usuario.
● MC_ReadParam (Página 774) lee un número determinado de parámetros que indican la
posición y la velocidad (entre otros valores actuales) del eje definidos en la entrada del
eje.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 745
Instrucciones tecnológicas
10.3 Motion Control

Niveles de firmware de CPU


Si tiene una CPU S7-1200 con firmware V4.1 o posterior, seleccione la versión V5.0 para
todas las instrucción de movimiento.
Si tiene una CPU S7-1200 con firmware V4.0 o anterior, seleccione la versión
correspondiente V4.0, V3.0, V2.0 o V1.0 de cada instrucción de movimiento.

Nota
Las instrucciones de Motion Control V1.0 a V3.0 controlan activamente la salida ENO de la
instrucción. Cuando se produce un error en este bloque, la salida ENO se pone a OFF. Las
salidas ERROR, ErrorID y ErrorInfo del bloque indican un error. La salida ENO permite
evaluar el estado de la instrucción y ejecutar después en serie instrucciones posteriores.
Con las instrucciones de Motion Control V4.0 y V5.0, la salida ENO se mantiene en TRUE
mientras se está ejecutando, independientemente de su estado de error. Esto podría hacer
que un programa que utilizaba Motion Control V3.0 o anterior, que dependa del estado de
ENO, funcione de forma incorrecta. Para solucionar esta situación, cuando se usa Motion
Control V4.0 o posterior deben utilizarse las salidas DONE y ERROR para evaluar el estado
de la instrucción y no la salida ENO.

Nota
La CPU calcula las tareas de movimiento en segmentos de 10 ms. Cuando se ejecuta un
segmento, el próximo espera en la cola para su ejecución. Si se interrumpe la tarea de
movimiento en un eje (ejecutando otra tarea de movimiento nueva para dicho eje), no es
posible ejecutar la nueva tarea de movimiento hasta pasados 20 ms como máximo (el resto
del segmento actual más el segmento en cola).

Controlador programable S7-1200


746 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

10.3.7.2 MC_Power (habilitar/bloquear eje)

Nota
Si el eje se desconecta debido a un error, se habilitará de nuevo automáticamente una vez
que el error haya sido eliminado y acusado. Para ello es necesario que el parámetro de
entrada Enable haya conservado el valor TRUE durante el proceso.

Tabla 10- 55 Instrucción MC_Power

KOP / FUP SCL Descripción


"MC_Power_DB"( La instrucción MC_Power de Motion Control habili-
Axis:=_multi_fb_in_, ta o deshabilita un eje. Antes de poder habilitar o
Enable:=_bool_in_, deshabilitar el eje, garantice las siguientes condi-
StartMode:=_int_in_, ciones:
StopMode:=_int_in_, • El objeto tecnológico está configurado correc-
Status=>_bool_out_, tamente.
Busy=>_bool_out_,
• No hay ningún error pendiente que impida la
Error=>_bool_out_,
habilitación.
ErrorID=>_word_out_,
La ejecución de MC_Power no puede ser cancela-
ErrorIn-
da por una solicitud de Motion Control. La deshabi-
fo=>_word_out_); litación del eje (parámetro de entrada
Enable = FALSE) cancela todas las órdenes de
Motion Control para el objeto tecnológico asociado.
1 STEP 7 crea el DB automáticamente al insertar la instrucción.
2 En el ejemplo SCL, "MC_Power_DB" es el nombre del DB de instancia.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 747
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 56 Parámetros de la instrucción MC_Power

Parámetro y tipo Tipo de datos Descripción


Axis IN_OUT TO_Axis Objeto tecnológico Eje
Enable IN Bool • FALSE (predeterminado): Todas las órdenes activas se cancelan en
función del "StopMode" parametrizado y el eje se detiene.
• TRUE: Motion Control intenta activar el eje.
StartMode IN Int • 0: Regulación por velocidad
Nota: El parámetro StartMode solo se evalúa durante la detección
de flancos (False o True).
• 1: Regulación por posición (ajuste predeterminado)
StopMode IN Int • 0: Parada de emergencia: Si hay pendiente una solicitud de desha-
bilitación del eje, el eje se frena con la deceleración de emergencia
configurada. El eje se deshabilita una vez que se detiene.
• 1: Parada inmediata: Si hay pendiente una solicitud de deshabilita-
ción del eje, el eje se deshabilita sin deceleración. La transmisión de
impulsos se detiene inmediatamente.
• 2: Parada de emergencia con control de tirones: Si hay pendiente
una solicitud de deshabilitación del eje, el eje se frena con la decele-
ración de parada de emergencia configurada. Si el control de tirones
está activado, los tirones configurados se tienen en cuenta. El eje se
deshabilita una vez que se detiene.
Status OUT Bool Se habilita Status del eje:
• FALSE: El eje está desactivado:
– El eje no ejecuta tareas de Motion Control y no acepta ninguna
nueva orden (excepción: orden MC_Reset).
– El eje no está referenciado.
– Tras la deshabilitación, el estado no cambia a FALSE hasta que
el eje se detiene por completo.
• TRUE: El eje está activado:
– El eje está listo para ejecutar órdenes de Motion Control.
– Tras la habilitación del eje, el estado no cambia a TRUE hasta
que esté presente la señal "Accionamiento listo". Si no se ha
configurado la interfaz de accionamiento "Accionamiento listo"
en la configuración del eje, el estado cambia inmediatamente a
TRUE.
Busy OUT Bool FALSE: MC_Power no está activo.
TRUE: MC_Power está activo.
Error OUT Bool FALSE: No hay error
TRUE: Se ha producido un error en la instrucción "MC_Power" de Mo-
tion Control o en el objeto tecnológico asociado. La causa del error se
indica en los parámetros "ErrorID" y "ErrorInfo".
ErrorID OUT Word ID de error del parámetro "Error""
ErrorInfo OUT Word ID de información de error del parámetro "ErrorID"

Controlador programable S7-1200


748 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

① Se activa y, a continuación, se desactiva un eje. Una vez que el accionamiento ha indicado a la CPU que está
listo, la activación correcta puede leerse a través de "Status_1".
② Tras la activación de un eje, se ha producido un error que ha hecho que el eje se desactive. El error se elimina y
se acusa con "MC_Reset". El eje se vuelve a activar.

Para habilitar un eje con interfaz de accionamiento configurada, proceda del siguiente modo:
1. Compruebe que se dan las condiciones arriba indicadas.
2. Inicialice el parámetro de entrada "StopMode" con el valor deseado. Ponga el parámetro
de entrada "Enable" a TRUE.
La salida de habilitación para "Accionamiento habilitado" cambia a TRUE para permitir la
alimentación eléctrica del accionamiento. La CPU espera la señal de "Accionamiento
listo" del accionamiento.
Una vez que la señal "Accionamiento listo" está disponible en la entrada de
disponibilidad configurada de la CPU, el eje se habilita. El parámetro de salida "Status" y
la variable de objeto tecnológico <Nombre de eje>.StatusBits.Enable tienen el valor
TRUE.
Para habilitar un eje sin interfaz de accionamiento configurada, proceda del siguiente modo:
1. Compruebe que se dan las condiciones arriba indicadas.
2. Inicialice el parámetro de entrada "StopMode" con el valor deseado. Ponga el parámetro
de entrada "Enable" a TRUE. El eje está habilitado. Parámetro de salida "Status" y
variable de objeto tecnológico <Nombre de eje>.StatusBits.Enable tienen el valor TRUE.
Para deshabilitar el eje, proceda del siguiente modo:
1. Haga que el eje se detenga por completo.
Se puede saber cuándo el eje está detenido por completo en la variable de objeto
tecnológico <Nombre de eje>.StatusBits.StandStill.
2. Ponga el parámetro de entrada "Enable" a TRUE una vez que el eje se haya parado por
completo.
3. Si los parámetros de salida "Busy" y "Status" y la variable de objeto tecnológico <Nombre
de eje>.StatusBits.Enable tienen el valor FALSE, la deshabilitación del eje ha finalizado.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 749
Instrucciones tecnológicas
10.3 Motion Control

10.3.7.3 MC_Reset (confirmar error)

Tabla 10- 57 Instrucción MC_Reset

KOP / FUP SCL Descripción


"MC_Reset_DB"( Utilice la instrucción MC_Reset para acusar
Axis:=_multi_fb_in_, "Error operativo con parada de eje" y "Error de
Execute:=_bool_in_, configuración". Los errores que requieren acu-
Restart:=_bool_in_, se pueden encontrarse en la "Lista de ErrorIDs
Done=>_bool_out_, y ErrorInfos" en "Solución".
Busy=>_bool_out_, Antes de utilizar la instrucción MC_Reset es
Error=>_bool_out_, necesario haber eliminado la causa de cual-
ErrorID=>_word_out_, quier error de configuración presente sujeto a
ErrorInfo=>_word_out_); acuse (por ejemplo, cambiando un valor de
aceleración no válido en el objeto tecnológico
"Eje" a un valor válido).
En V3.0 y posteriores, el comando Restart
permite descargar la configuración del eje a la
memoria de trabajo en el modo de operación
RUN.
1 STEP 7 crea el DB automáticamente al insertar la instrucción.
2 En el ejemplo SCL, "MC_Reset_DB" es el nombre del DB de instancia.

La orden MC_Reset no puede ser interrumpida por otra orden de Motion Control. Las
nuevas órdenes MC_Reset no interrumpen ninguna otra orden de Motion Control activa.

Tabla 10- 58 Parámetros de la instrucción MC_Reset

Parámetro y tipo Tipo de datos Descripción


Axis IN TO_Axis_1 Objeto tecnológico Eje
Execute IN Bool Inicio de la orden con flanco positivo
Restart IN Bool TRUE = Descargar la configuración del eje desde la memoria de
carga a la memoria de trabajo. El comando solo se puede ejecutar
con el eje deshabilitado.
FALSE = Acusa el recibo de los errores pendientes
Done OUT Bool TRUE = El error ha sido acusado.
Busy OUT Bool TRUE = La orden está siendo ejecutada.
Error OUT Bool TRUE = Se ha producido un error durante la ejecución de la orden.
La causa del error se indica en los parámetros "ErrorID" y "ErrorInfo".
ErrorID OUTP Word ID de error del parámetro "Error""
ErrorInfo OUT Word ID de información de error del parámetro "ErrorID"

Para acusar un error con MC_Reset, proceda del siguiente modo:


1. Compruebe que se dan las condiciones arriba indicadas.
2. Inicie el acuse del error con un flanco ascendente en el parámetro de entrada Execute.
3. El error ha sido acusado cuando Done es TRUE y la variable <Nombre de
eje>.StatusBits.Error del objeto tecnológico es FALSE.

Controlador programable S7-1200


750 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

10.3.7.4 MC_Home (referenciar eje)

Tabla 10- 59 Instrucción MC_Home

KOP / FUP SCL Descripción


"MC_Home_DB"( Utilice la instrucción MC_Home para
Axis:=_multi_fb_in_, cuadrar las coordenadas del eje con la
Execute:=_bool_in_, posición física real del accionamiento.
Position:=_real_in_, Se requiere un referenciado para posi-
Mode:=_int_in_, cionar el eje de forma absoluta:
Done=>_bool_out_, Para utilizar la instrucción MC_Home
Busy=>_bool_out_, primero es necesario haber habilitado el
CommandAborted=>_bool_out_, eje.
Error=>_bool_out_,
ErrorID=>_word_out_,
ErrorInfo=>_word_out_,
ReferenceMarkPosi-
tion=>_real_out_);
1 STEP 7 crea el DB automáticamente al insertar la instrucción.
2 En el ejemplo SCL, "MC_Home_DB" es el nombre del DB de instancia.

Están disponibles los siguientes tipos de referenciado:


● Referenciado directo absoluto (Mode = 0): La posición actual del eje se ajusta al valor del
parámetro "Position".
● Referenciado directo relativo (Mode = 1): La posición actual del eje se desplaza según el
valor del parámetro "Position".
● Referenciado pasivo (Mode = 2): Durante el referenciado pasivo, la instrucción
MC_Home no realiza ningún movimiento de referenciado. El movimiento necesario para
este paso debe ser implementado por el usuario mediante otras instrucciones de Motion
Control. El eje está referenciado cuando se detecta el interruptor de punto de referencia.
● Referenciado activo (Mode = 3): El procedimiento de referenciado se ejecuta
automáticamente.
● Ajuste del encóder absoluto (relativo) (Mode = 6): La posición actual se desplaza en el
valor del parámetro "MC_Home.Position".
● Ajuste del encóder absoluto (absoluto) (Mode = 7): La posición actual se ajusta al valor
del parámetro "MC_Home.Position".

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 751
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 60 Parámetros de la instrucción MC_Home

Parámetro y tipo Tipo de datos Descripción


Axis IN_OUT TO_Axis Objeto tecnológico Eje
Execute IN Bool Inicio de la orden con flanco positivo
Position IN Real • Mode = 0, 2 y 3 (posición absoluta del eje tras haber com-
pletado la operación de referenciado)
• Mode = 1 (Valor de corrección de la posición actual del
eje)
• Mode = 6 (la posición actual se desplaza en el valor del
parámetro "MC_Home.Position")
• Mode = 7 (la posición actual se ajusta al valor del paráme-
tro "MC_Home.Position")
Valores límite: -1.0e12 ≤ Position ≤ 1.0e12
Mode IN Int Modo de referenciado:
• 0: Referenciado directo absoluto

La nueva posición del eje es el valor de posición del pa-


rámetro "Position".
• 1: Referenciado directo relativa

La nueva posición del eje es la posición actual del eje + el


valor de posición del parámetro "Position".
• 2: Referenciado pasivo

Referenciado acorde con la configuración del eje. Tras el


referenciado, el valor del parámetro "Position" se ajusta
como la nueva posición del eje.
• 3: Referenciado activo

Aproximación al punto de referencia conforme a la confi-


guración del eje. Tras el referenciado, el valor del paráme-
tro "Position" se ajusta como la nueva posición del eje.
• 6: la posición actual se desplaza en el valor del parámetro
"MC_Home.Position". El offset calculado del valor absolu-
to se guarda en la memoria remanente de la CPU.
(<nombre de eje>.StatusSensor.AbsEncoderOffset)
• 7: la posición actual se ajusta al valor del parámetro
"MC_Home.Position". El offset calculado del valor absolu-
to se guarda en la memoria remanente de la CPU.
(<nombre de eje>.StatusSensor.AbsEncoderOffset)
Done OUT Bool TRUE = Orden completada
Busy OUT Bool TRUE = La orden está siendo ejecutada.
CommandAborted OUT Bool TRUE = La orden ha sido cancelada por otra orden durante la
ejecución.
Error OUT Bool TRUE = Se ha producido un error durante la ejecución de la
orden. La causa del error se indica en los parámetros "Erro-
rID" y "ErrorInfo".
ErrorID OUT Word ID de error del parámetro "Error""

Controlador programable S7-1200


752 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Parámetro y tipo Tipo de datos Descripción


ErrorInfo OUT Word ID de información de error del parámetro "ErrorID"
ReferenceMarkPosition OUT Real Posición del eje en la marca de referencia en el sistema de
coordenadas anterior.

Parámetro de salida "ReferenceMarkPosition": La función de referenciado guarda la


posición antigua antes de la ejecución y suministra este valor en el parámetro de salida
ReferenceMarkPosition. La salida muestra los valores siguientes durante los diferentes
modos de referenciado:
● Referenciado activo/pasivo: Muestra la posición del eje en la marca de cero/referencia
del sistema de coordenadas anterior durante y después de un referenciado activo/pasivo.
● Ajuste del encóder absoluto: Muestra la posición del eje anterior durante y después de un
ajuste del encóder absoluto.
● Referenciado directo: Muestra la posición del eje anterior durante y después de un
referenciado directo.
Durante el referenciado, Motion Control ajusta la posición del eje al valor nuevo de entrada
"MC_Home.Position". Los valores de "MC_Home.ReferenceMarkPosition" son válidos
cuando "MC_Home.Done" = TRUE.

Nota
El referenciado del eje se pierde en las siguientes condiciones
• Deshabilitación del eje por la instrucción MC_Power
• Conmutación entre control automático y manual
• Una vez iniciado un referenciado activo (tras haber completado correctamente la
operación de referenciado, el referenciado del eje vuelve a estar disponible).
• Tras desconectar y volver a conectar la alimentación de la CPU.
• Tras rearranque de la CPU (RUN a STOP o STOP a RUN)

Para referenciar el eje, proceda del siguiente modo:


1. Compruebe que se dan las condiciones arriba indicadas.
2. Inicializar los parámetros de entrada necesarios con valores e iniciar la operación de
referenciado con un flanco ascendente en el parámetro de entrada "Execute".
3. Si el parámetro de salida "Done" y la variable de objeto tecnológico <Nombre de
eje>.StatusBits.HomingDone tienen el valor TRUE, el referenciado ha finalizado.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 753
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 61 Respuesta de corrección

Modo Descripción
0o1 La orden MC_Home no puede ser interrumpida por otra orden de Motion Control. La nueva orden MC_Home
no interrumpe ninguna otra orden de Motion Control activa. Las órdenes de movimiento relacionadas con la
posición se reanudan tras el referenciado de acuerdo con la posición de referenciado (valor del parámetro
de entrada Position).
2 La orden MC_Home puede ser interrumpida por las siguientes órdenes de Motion Control:
Orden MC_Home, Mode = 2, 3: La nueva orden MC_Home interrumpe las siguientes órdenes de Motion
Control activas.
Orden MC_Home, Mode = 2: Las órdenes de movimiento relacionadas con la posición se reanudan tras el
referenciado de acuerdo con la posición de referenciado (valor del parámetro de entrada Position).
3 La orden MC_Home puede ser interrumpida por las La nueva orden MC_Home interrumpe las siguientes
siguientes órdenes de Motion Control: órdenes activas de Motion Control:
• MC_Home Mode = 3 • Modo MC_Home = 2, 3
• MC_Halt • MC_Halt
• MC_MoveAbsolute • MC_MoveAbsolute
• MC_MoveRelative • MC_MoveRelative
• MC_MoveVelocity • MC_MoveVelocity
• MC_MoveJog • MC_MoveJog

10.3.7.5 MC_Halt (detener eje)

Tabla 10- 62 Instrucción MC_Halt

KOP / FUP SCL Descripción


"MC_Halt_DB"( Utilice la instrucción MC_Halt para parar
Axis:=_multi_fb_in_, todo el movimiento y detener el eje por
Execute:=_bool_in_, completo. La posición de eje totalmente
Done=>_bool_out_, detenido no está definida.
Busy=>_bool_out_, Para utilizar la instrucción MC_Halt pri-
CommandAborted=>_bool_out_, mero es necesario haber habilitado el eje.
Error=>_bool_out_,
ErrorID=>_word_out_,
ErrorInfo=>_word_out_);

1 STEP 7 crea el DB automáticamente al insertar la instrucción.


2 En el ejemplo SCL, "MC_Halt_DB" es el nombre del DB de instancia.

Controlador programable S7-1200


754 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 63 Parámetros de la instrucción MC_Halt

Parámetro y tipo Tipo de datos Descripción


Axis IN TO_Axis_1 Objeto tecnológico Eje
Execute IN Bool Inicio de la orden con flanco positivo
Done OUT Bool TRUE = Alcanzada la velocidad cero
Busy OUT Bool TRUE = La orden está siendo ejecutada.
CommandAborted OUT Bool TRUE = La orden ha sido interrumpida por otra durante la
ejecución.
Error OUT Bool TRUE = Se ha producido un error durante la ejecución de la
orden. La causa del error se indica en los parámetros "Erro-
rID" y "ErrorInfo".
ErrorID OUT Word ID de error del parámetro "Error"
ErrorInfo OUT Word ID de información de error del parámetro "ErrorID"

Los siguientes valores se han configurado en la ventana "Animaciones > General": Aceleración = 10,0 y deceleración = 5,0
① Una orden MC_Halt frena el eje hasta que este se para por completo. El estado de "eje parado" se asigna vía
"Done_2".
② Mientras una orden MC_Halt esté frenando el eje, la orden en cuestión quedará interrumpida por cualquier otra
orden de movimiento. La interrupción se indica a través de "Abort_2".

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 755
Instrucciones tecnológicas
10.3 Motion Control

Respuesta de corrección
La orden MC_Halt puede ser interrumpida La nueva orden MC_Halt interrumpe las
por las siguientes órdenes de Motion Con- siguientes órdenes activas de Motion Con-
trol: trol:
• MC_Home Mode = 3 • MC_Home Mode = 3
• MC_Halt • MC_Halt
• MC_MoveAbsolute • MC_MoveAbsolute
• MC_MoveRelative • MC_MoveRelative
• MC_MoveVelocity • MC_MoveVelocity
• MC_MoveJog • MC_MoveJog

10.3.7.6 MC_MoveAbsolute (posicionamiento absoluto del eje)

Tabla 10- 64 Instrucción MC_MoveAbsolute

KOP / FUP SCL Descripción


"MC_MoveAbsolute_DB"( Utilice la instrucción
Axis:=_multi_fb_in_, MC_MoveAbsolute para iniciar un
Execute:=_bool_in_, movimiento de posicionamiento
Position:=_real_in_, del eje a una posición absoluta.
Velocity:=_real_in_, Para utilizar la instrucción
Direction:=_int_in_, MC_MoveAbsolute primero es
Done=>_bool_out_, necesario haber habilitado y refe-
Busy=>_bool_out_, renciado el eje.
CommandAborted=>_bool_out_,
Error=>_bool_out_,
ErrorID=>_word_out_,
ErrorInfo=>_word_out_);

1 STEP 7 crea el DB automáticamente al insertar la instrucción.


2 En el ejemplo SCL, "MC_MoveAbsolute_DB" es el nombre del DB de instancia.

Controlador programable S7-1200


756 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 65 Parámetros de la instrucción MC_MoveAbsolute

Parámetro y tipo Tipo de datos Descripción


Axis IN TO_Axis_1 Objeto tecnológico Eje
Execute IN Bool Inicio de la orden con flanco ascendente (valor predeterminado:
False)
Position IN Real Posición de destino absoluta (valor predeterminado: 0,0)
Valores límite: -1.0e12 ≤ Position ≤ 1.0e12
Velocity IN Real Velocidad del eje (valor predeterminado: 10,0)
Esta velocidad no siempre se alcanza, debido a la aceleración y
deceleración configurada y a la posición de destino a la que hay que
aproximarse.
Valores límite: velocidad inicio/parada ≤ Velocity ≤ velocidad máxi-
ma
Direction IN Int Sentido de giro (valor predeterminado: 0)
Done OUT Bool TRUE = Posición de destino absoluta alcanzada
Busy OUT Bool TRUE = La orden está siendo ejecutada.
CommandAborted OUT Bool TRUE = La orden ha sido interrumpida por otra durante la ejecución.
Error OUT Bool TRUE = Se ha producido un error durante la ejecución de la orden.
La causa del error se indica en los parámetros "ErrorID" y "ErrorInfo".
ErrorID OUT Word ID de error del parámetro "Error" (valor predeterminado: 0000)
ErrorInfo OUT Word ID de información de error del parámetro "ErrorID" (valor predetermi-
nado: 0000)

Es posible configurar el eje de posicionamiento como eje de módulo. Si se usa un eje de


módulo, es posible seleccionar el sentido de movimiento con el parámetro de entrada
"Sentido". Motion Control ignora la entrada "Sentido" si el eje no es un eje de módulo.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 757
Instrucciones tecnológicas
10.3 Motion Control

La tabla siguiente muestra los valores válidos para la entrada de sentido:

Valor Enumeración Comentario


0 SIGN_OF_VELOCITY La señal de velocidad define el sentido del movimien-
to
1 POSITIVE Movimiento con velocidad positiva
2 NEGATIVE Movimiento con velocidad negativa
3 SHORTEST_WAY Movimiento con la distancia más corta al destino

Los siguientes valores se han configurado en la ventana "Animaciones > General": Aceleración = 10,0 y deceleración
= 10,0
① Un eje se desplaza a la posición absoluta 1000,0 con una orden MC_MoveAbsolute. Cuando el eje alcanza la
posición de destino, se indica a través de "Done_1". Cuando "Done_1" = TRUE, se inicia otra orden
MC_MoveAbsolute, con la posición de destino 1500.0. Debido a los tiempos de respuesta (por ejemplo, tiempo de
ciclo del programa de usuario, etc.), el eje se para brevemente (véase el detalle ampliado). Cuando el eje alcanza
la nueva posición de destino, esto se indica a través de "Done_2".
② Una orden MC_MoveAbsolute activa queda interrumpida por otra orden MC_MoveAbsolute. La interrupción se
indica a través de "Abort_1". A continuación, el eje se desplaza a la nueva velocidad hasta la nueva posición de
destino 1500.0. Cuando se alcanza la nueva posición de destino, esto se indica a través de "Done_2".

Controlador programable S7-1200


758 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Respuesta de corrección
La orden MC_MoveAbsolute puede ser La nueva orden MC_MoveAbsolute inte-
interrumpida por las siguientes órdenes de rrumpe las siguientes órdenes activas de
Motion Control: Motion Control:
• MC_Home Mode = 3 • MC_Home Mode = 3
• MC_Halt • MC_Halt
• MC_MoveAbsolute • MC_MoveAbsolute
• MC_MoveRelative • MC_MoveRelative
• MC_MoveVelocity • MC_MoveVelocity
• MC_MoveJog • MC_MoveJog

10.3.7.7 MC_MoveRelative (posicionamiento relativo del eje)

Tabla 10- 66 Instrucción MC_MoveRelative

KOP / FUP SCL Descripción


"MC_MoveRelative_DB"( Utilice la instrucción
Axis:=_multi_fb_in_, MC_MoveRelative para iniciar un
Execute:=_bool_in_, movimiento de posicionamiento
Distance:=_real_in_, relativo a la posición inicial.
Velocity:=_real_in_, Para utilizar la instrucción
Done=>_bool_out_, MC_MoveRelative primero es
Busy=>_bool_out_, necesario haber habilitado el eje.
CommandAborted=>_bool_out_,
Error=>_bool_out_,
ErrorID=>_word_out_,
ErrorInfo=>_word_out_);

1 STEP 7 crea el DB automáticamente al insertar la instrucción.


2 En el ejemplo SCL, "MC_MoveRelative_DB" es el nombre del DB de instancia.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 759
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 67 Parámetros de la instrucción MC_MoveRelative

Parámetro y tipo Tipo de datos Descripción


Axis IN TO_Axis_1 Objeto tecnológico Eje
Execute IN Bool Inicio de la orden con flanco ascendente (valor predeterminado:
False)
Distance IN Real Recorrido para la operación de posicionamiento: 0,0)
Valores límite: -1.0e12 ≤ Distance ≤ 1.0e12
Velocity IN Real Velocidad del eje (valor predeterminado: 10,0)
Esta velocidad no siempre se alcanza debido a la aceleración y
deceleración configurada y a la distancia que debe recorrerse.
Valores límite: Velocidad de inicio/parada ≤ Velocity ≤ velocidad
máxima
Done OUT Bool TRUE = Posición de destino alcanzada
Busy OUT Bool TRUE = La orden está siendo ejecutada.
CommandAborted OUT Bool TRUE = La orden ha sido interrumpida por otra durante la ejecu-
ción.
Error OUT Bool TRUE = Se ha producido un error durante la ejecución de la or-
den. La causa del error se indica en los parámetros "ErrorID" y
"ErrorInfo".
ErrorID OUT Word ID de error del parámetro "Error" (valor predeterminado: 0000)
ErrorInfo OUT Word ID de información de error del parámetro "ErrorID" (valor prede-
terminado: 0000)

Controlador programable S7-1200


760 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Los siguientes valores se han configurado en la ventana "Animaciones > General": Aceleración = 10,0 y deceleración
= 10,0
① El eje se mueve con una solicitud MC_MoveRelative en la distancia ("Distance") 1000,0. Cuando el eje alcanza la
posición de destino, se indica a través de "Done_1". Cuando "Done_1" = TRUE, se inicia otra orden
MC_MoveRelative, con una distancia de desplazamiento 500,0. Debido a los tiempos de respuesta (por ejemplo,
tiempo de ciclo del programa de usuario), el eje se para brevemente (véase el detalle ampliado). Cuando el eje
alcanza la nueva posición de destino, esto se indica a través de "Done_2".
② Una orden MC_MoveRelative activa queda interrumpida por otra orden MC_MoveRelative. La interrupción se
indica a través de "Abort_1". A continuación, el eje se desplaza a la nueva velocidad con la nueva distancia ("Dis-
tance") 500,0. Cuando se alcanza la nueva posición de destino, esto se indica a través de "Done_2".

Respuesta de corrección
La orden MC_MoveRelative puede ser La nueva orden MC_MoveRelative inte-
interrumpida por las siguientes órdenes de rrumpe las siguientes órdenes activas de
Motion Control: Motion Control:
• MC_Home Mode = 3 • MC_Home Mode = 3
• MC_Halt • MC_Halt
• MC_MoveAbsolute • MC_MoveAbsolute
• MC_MoveRelative • MC_MoveRelative
• MC_MoveVelocity • MC_MoveVelocity
• MC_MoveJog • MC_MoveJog

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 761
Instrucciones tecnológicas
10.3 Motion Control

10.3.7.8 MC_MoveVelocity (mover el eje a la velocidad predefinida)

Tabla 10- 68 Instrucción MC_MoveVelocity

KOP / FUP SCL Descripción


"MC_MoveVelocity_DB"( Utilice la instrucción
Axis:=_multi_fb_in_, MC_MoveVelocity para mover el
Execute:=_bool_in_, eje constantemente a la velocidad
Velocity:=_real_in_, especificada.
Direction:=_int_in_, Para utilizar la instrucción
Current:=_bool_in_, MC_MoveVelocity primero es
PositionControlled:=_bool_in_, necesario haber habilitado el eje.
InVelocity=>_bool_out_,
Busy=>_bool_out_,
CommandAborted=>_bool_out_,
Error=>_bool_out_,
ErrorID=>_word_out_,
ErrorInfo=>_word_out_);
1 STEP 7 crea el DB automáticamente al insertar la instrucción.
2 En el ejemplo SCL, "MC_MoveVelocity_DB" es el nombre del DB de instancia.

Controlador programable S7-1200


762 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 69 Parámetros de la instrucción MC_MoveVelocity

Parámetro y tipo Tipo de datos Descripción


Axis IN TO_SpeedAxis Objeto tecnológico Eje
Execute IN Bool Inicio de la orden con flanco ascendente (valor predeterminado:
False)
Velocity IN Real Especificación de velocidad para movimiento del eje (valor prede-
terminado: 100,0)
Valores límite: Velocidad de inicio/parada ≤ |Velocity| ≤ velocidad
máxima
(Velocity = 0,0 está permitido)
Direction IN Int Especificación de dirección:
• 0: la dirección de rotación corresponde a la señal del valor
depositado en el parámetro "Velocity" (valor predeterminado)
• 1: dirección positiva de rotación (la señal del valor del paráme-
tro "Velocity" se ignora).
• 2: dirección negativa de rotación (la señal del valor del pará-
metro "Velocity" se ignora).
Current IN Bool Mantener velocidad actual:
• FALSE: "Mantener velocidad actual" está desactivado. Se
utilizan los valores de los parámetros "Velocity" y "Direction".
(Valor predeterminado)
• TRUE: "Mantener velocidad actual" está activado. Los valores
de los parámetros "Velocity" y "Direction" no se tienen en
cuenta.

Cuando el eje retoma el movimiento a la velocidad actual, el


parámetro "InVelocity" vuelve a adoptar el valor TRUE.
PositionControlled IN Bool • 0: regulación por velocidad
• 1: regulación por posición (valor predeterminado: True)
InVelocity OUT Bool TRUE:
• Si "Current" = FALSE: Se ha alcanzado la velocidad especifi-
cada en el parámetro "Velocity".
• Si "Current" = TRUE: El eje se desplaza a la velocidad actual
en el tiempo inicial.
Busy OUT Bool TRUE = La orden está siendo ejecutada.
CommandAborted OUT Bool TRUE = La orden ha sido interrumpida por otra durante la ejecu-
ción.
Error OUT Bool TRUE = Se ha producido un error durante la ejecución de la or-
den. La causa del error se indica en los parámetros "ErrorID" y
"ErrorInfo".
ErrorID OUT Word ID de error del parámetro "Error" (valor predeterminado: 0000)
ErrorInfo OUT Word ID de información de error del parámetro "ErrorID" (valor prede-
terminado: 0000)

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 763
Instrucciones tecnológicas
10.3 Motion Control

Los siguientes valores se han configurado en la ventana "Animaciones > General": Aceleración = 10,0 y deceleración
= 10,0
① Una orden MC_MoveVelocity activa señaliza con "InVel_1" que se ha alcanzado la velocidad de destino. Entonces
se interrumpe por otra orden MC_MoveVelocity. La interrupción se indica a través de "Abort_1". Cuando se alcan-
za la nueva velocidad de destino 15,0, esto se indica a través de "InVel_2". El eje sigue desplazándose a la nueva
velocidad constante.
② Una orden MC_MoveVelocity activa queda interrumpida por otra orden MC_MoveVelocity antes de alcanzar la
velocidad de destino. La interrupción se indica a través de "Abort_1". Cuando se alcanza la nueva velocidad de
destino 15,0, esto se indica a través de "InVel_2". El eje sigue desplazándose a la nueva velocidad constante.

Respuesta de corrección
La orden MC_MoveVelocity puede ser La nueva orden MC_MoveVelocity inte-
interrumpida por las siguientes órdenes de rrumpe las siguientes órdenes activas de
Motion Control: Motion Control:
• MC_Home Mode = 3 • MC_Home Mode = 3
• MC_Halt • MC_Halt
• MC_MoveAbsolute • MC_MoveAbsolute
• MC_MoveRelative • MC_MoveRelative
• MC_MoveVelocity • MC_MoveVelocity
• MC_MoveJog • MC_MoveJog

Controlador programable S7-1200


764 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Nota
Comportamiento con velocidad ajustada cero (Velocity = 0,0)
Una orden MC_MoveVelocity con "Velocity" = 0,0 (como una orden MC_Halt) interrumpe
cualquier orden activa de Motion Control con la deceleración configurada. Cuando el eje se
para, el parámetro de salida "InVelocity" indica TRUE como mínimo durante un ciclo.
"Busy" indica el valor TRUE durante la operación de desaceleración y cambia a FALSE
junto con "InVelocity". Si se activa el parámetro "Execute" = TRUE, "InVelocity" y "Busy"
están enclavados.
Cuando la orden MC_MoveVelocity ha comenzado, el bit de estado "SpeedCommand" se
activa en el objeto tecnológico en cuestión. El bit de estado "ConstantVelocity" se activa
cuando el eje se detiene por completo. Ambos bits se adaptan a la nueva situación cuando
comienza una nueva orden de Motion Control.

10.3.7.9 MC_MoveJog (desplazamiento del eje en modo Jog)

Tabla 10- 70 Instrucción MC_MoveJog

KOP / FUP SCL Descripción


"MC_MoveJog_DB"( Utilice la instrucción MC_MoveJog para
Axis:=_multi_fb_in_, mover el eje constantemente a la veloci-
JogForward:=_bool_in_, dad específica en modo paso a paso.
JogBackward:=_bool_in_, Esta instrucción se suele utilizar con fines
Velocity:=_real_in_, de prueba y mantenimiento.
PositionControlled:=_bool_in_, Para utilizar la instrucción MC_MoveJog
InVelocity=>_bool_out_, primero es necesario haber habilitado el
Busy=>_bool_out_, eje.
CommandAborted=>_bool_out_,
Error=>_bool_out_,
ErrorID=>_word_out_,
ErrorInfo=>_word_out_);
1 STEP 7 crea el DB automáticamente al insertar la instrucción.
2 En el ejemplo SCL, "MC_MoveJog_DB" es el nombre del DB de instancia.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 765
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 71 Parámetros de la instrucción MC_MoveJog

Parámetro y tipo Tipo de datos Descripción


Axis IN TO_SpeedAxis Objeto tecnológico Eje
JogForward1 IN Bool Mientras el parámetro sea TRUE, el eje se mueve en dirección posi-
tiva a la velocidad especificada en el parámetro "Velocity". La señal
del valor del parámetro "Velocity" se ignora. (Valor predeterminado:
False)
JogBackward1 IN Bool Mientras el parámetro sea TRUE, el eje se mueve en dirección nega-
tiva a la velocidad especificada en el parámetro "Velocity". La señal
del valor del parámetro "Velocity" se ignora. (Valor predeterminado:
False)
Velocity IN Real Predeterminar velocidad para modo paso a paso (valor predetermi-
nado: 100,0)
Valores límite: Velocidad de inicio/parada ≤ |Velocity| ≤ velocidad
máxima
PositionControlled IN Bool • 0: regulación por velocidad
• 1: regulación por posición (valor predeterminado: True)
InVelocity OUT Bool TRUE = Se ha alcanzado la velocidad especificada en el parámetro
"Velocity".
Busy OUT Bool TRUE = La orden está siendo ejecutada.
CommandAborted OUT Bool TRUE = La orden ha sido interrumpida por otra durante la ejecución.
Error OUT Bool TRUE = Se ha producido un error durante la ejecución de la orden.
La causa del error se indica en los parámetros "ErrorID" y "ErrorInfo".
ErrorID OUT Word ID de error del parámetro "Error" (valor predeterminado: 0000)
ErrorInfo OUT Word ID de información de error del parámetro "ErrorID" (valor predetermi-
nado: 0000)
1 Si ambos parámetros JogForward y JogBackward son TRUE al mismo tiempo, el eje se detiene con la deceleración
configurada. Un error se indica en los parámetros "Error", "ErrorID" y "ErrorInfo".

Controlador programable S7-1200


766 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Los siguientes valores se han configurado en la ventana "Animaciones > General": Aceleración = 10,0 y deceleración = 5,0
① El eje se mueve en dirección positiva en modo paso a paso con "Jog_F". Cuando se alcanza la velocidad de des-
tino 50,0, esto se indica a través de "InVelo_1". El eje se frena hasta parar de nuevo tras la inicialización de Jog_F.
② El eje se mueve en dirección negativa en modo paso a paso con "Jog_B". Cuando se alcanza la velocidad de
destino 50,0, esto se indica a través de "InVelo_1". El eje se frena hasta parar de nuevo tras la inicialización de
Jog_B.

Respuesta de corrección
La orden MC_MoveJog puede ser inte- La nueva orden MC_MoveJog interrumpe
rrumpida por las siguientes órdenes de las siguientes órdenes activas de Motion
Motion Control: Control:
• MC_Home Mode = 3 • MC_Home Mode = 3
• MC_Halt • MC_Halt
• MC_MoveAbsolute • MC_MoveAbsolute
• MC_MoveRelative • MC_MoveRelative
• MC_MoveVelocity • MC_MoveVelocity
• MC_MoveJog • MC_MoveJog

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 767
Instrucciones tecnológicas
10.3 Motion Control

10.3.7.10 MC_CommandTable (ejecutar comandos de eje como secuencia de movimiento)

Tabla 10- 72 Instrucción MC_CommandTable

KOP / FUP SCL Descripción


"MC_CommandTable_DB"( Ejecuta una serie de movimientos
Axis:=_multi_fb_in_, individuales para un eje controla-
CommandTable:=_multi_fb_in_, do por motor que se combinan en
Execute:=_bool_in_, una secuencia de movimientos.
StartIndex:=_uint_in_, Los movimientos individuales
EndIndex:=_uint_in_, están configurados en la tabla de
Done=>_bool_out_, comandos de un objeto tecnológi-
Busy=>_bool_out_, co para la salida del tren de im-
CommandAborted=>_bool_out_, pulsos
(TO_CommandTable_PTO).
Error=>_bool_out_,
ErrorID=>_word_out_,
ErrorInfo=>_word_out_,
CurrentIndex=>_uint_out_,
Code=>_word_out_);
1 STEP 7 crea el DB automáticamente al insertar la instrucción.
2 En el ejemplo SCL, "MC_CommandTable_DB" es el nombre del DB de instancia.

Tabla 10- 73 Parámetros de la instrucción MC_CommandTable

Parámetro y tipo Tipo de datos Valor inicial Descripción


Axis IN TO_Axis_1 - Objeto tecnológico Eje
Table IN TO_CommandTable_1 - Tabla de comandos de objeto tecnológico
Execute IN Bool FALSE Iniciar orden con flanco ascendente
StartIndex IN Int 1 Iniciar el procesamiento de la tabla de comandos
con este paso
Límites: 1 ≤ StartIndex ≤ EndIndex
EndIndex IN Int 32 Finalizar el procesamiento de la tabla de coman-
dos con este paso
Límites: StartIndex ≤ EndIndex ≤ 32
Done OUT Bool FALSE Procesamiento de MC_CommandTable completa-
do correctamente
Busy OUT Bool FALSE Operación en marcha.
CommandAborted OUT Bool FALSE La orden ha sido interrumpida por otra orden du-
rante el procesamiento.
Error OUT Bool FALSE Se ha producido un error durante el procesamien-
to. La causa se indica en los parámetros ErrorID y
ErrorInfo.
ErrorID OUT Word 16#0000 Identificador del error
ErrorInfo OUT Word 16#0000 Información de error
Step OUT Int 0 Paso actualmente en curso
Code OUT Word 16#0000 Identificador definido por usuario del paso actual-
mente en curso

Controlador programable S7-1200


768 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

La secuencia de movimientos deseada se puede crear en la ventana de configuración


"Tabla de comandos" y comprobar el resultado con la vista gráfica del diagrama de
tendencias.

Se pueden seleccionar los tipos de comandos que se van a utilizar para procesar la tabla de
comandos. Se pueden introducir hasta 32 órdenes. Los comandos se procesan en
secuencia.

Tabla 10- 74 Tipos de comandos de MC_CommandTable

Tipo de comando Descripción


Empty El comando vacío sirve como comodín para los comandos que se añadan. La entrada
vacía se ignora cuando se procesa la tabla de comandos.
Halt Detener eje.
Nota: El comando solo tiene lugar tras un comando "Velocity setpoint".
Positioning Relative Coloca el eje basándose en la distancia. El comando mueve el eje según la distancia y la
velocidad dadas.
Positioning Absolute Coloca el eje basándose en la posición. El comando mueve el eje a la posición indicada,
a la velocidad especificada.
Velocity setpoint Mueve el eje a la velocidad dada.
Wait Espera hasta que finaliza el período determinado. El comando "Wait" no detiene un mo-
vimiento de desplazamiento activo.
Separator Añade una línea de tipo "Separator" encima de la línea seleccionada. La línea separadora
permite definir más de un perfil en una misma tabla de comandos.

Requisitos para la ejecución de MC_CommandTable:


● El objeto tecnológico TO_Axis_PTO V2.0 debe estar configurado correctamente.
● El objeto tecnológico TO_CommandTable_PTO debe estar configurado correctamente.
● El eje debe estar habilitado.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 769
Instrucciones tecnológicas
10.3 Motion Control

Respuesta de corrección
La orden MC_CommandTable puede ser La nueva orden MC_CommandTable interrum-
interrumpida por las siguientes órdenes pe las siguientes órdenes activas de Motion
de Motion Control: Control:
• MC_Home Mode = 3 • MC_Home Mode = 3
• MC_Halt • MC_Halt
• MC_MoveAbsolute • MC_MoveAbsolute
• MC_MoveRelative • MC_MoveRelative
• MC_MoveVelocity • MC_MoveVelocity
• MC_MoveJog • MC_MoveJog
• MC_CommandTable • MC_CommandTable
• La orden actual de Motion Control con el
lanzamiento del primer comando
"Positioning Relative",
"Positioning Absolute", "Velocity setpoint" o
"Halt".

10.3.7.11 MC_ChangeDynamic (cambiar la configuración de la dinámica del eje)

Tabla 10- 75 Instrucción MC_ChangeDynamic

KOP / FUP SCL Descripción


"MC_ChangeDynamic_DB"( Modifica los ajustes dinámicos de
Execute:=_bool_in_, un eje de Motion Control:
ChangeRampUp:=_bool_in_, • Cambia el valor del tiempo de
RampUpTime:=_real_in_, aceleración
ChangeRampDown:=_bool_in_,
• Cambia el valor del tiempo de
RampDownTime:=_real_in_,
deceleración
ChangeEmergency:=_bool_in_,
EmergencyRampTime:=_real_in_, • Cambia el valor del tiempo de
ChangeJerkTime:=_bool_in_, deceleración de parada de
JerkTime:=_real_in_, emergencia
Done=>_bool_out_, • Cambiar el valor del tiempo de
Error=>_bool_out_, suavizado (tirones)
ErrorID=>_word_out_,
ErrorInfo=>_word_out_);

1 STEP 7 crea el DB automáticamente al insertar la instrucción.


2 En el ejemplo SCL, "MC_ChangeDynamic_DB" es el nombre del DB de instancia.

Controlador programable S7-1200


770 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 76 Parámetros de la instrucción MC_ChangeDynamic

Parámetro y tipo Tipo de datos Descripción


Axis IN TO_Axis_1 Objeto tecnológico Eje
Execute IN Bool Inicio del comando con flanco ascendente. Valor predetermina-
do: FALSE
ChangeRampUp IN Bool TRUE = Cambia el tiempo de aceleración según el parámetro
de entrada "RampUpTime". Valor predeterminado: FALSE
RampUpTime IN Real Tiempo (en segundos) para acelerar desde parada a la veloci-
dad máxima configurada sin límite de tirones. Valor predetermi-
nado: 5,00
El cambio afectará a la variable <nombre de eje>. Con-
fig.DynamicDefaults.Acceleration. La efectividad del cambio se
muestra en la descripción de esta variable.
ChangeRampDown IN Bool TRUE = Cambiar el tiempo de desaceleración junto con el pa-
rámetro de entrada "RampDownTime". Valor predeterminado:
FALSE
RampDownTime IN Real Tiempo (en segundos) para decelerar el eje desde la velocidad
máxima configurada hasta la parada sin limitador de tirones.
Valor predeterminado: 5,00
El cambio afectará a la variable <nombre de eje>. Con-
fig.DynamicDefaults.Deceleration. La efectividad del cambio se
muestra en la descripción de esta variable.
ChangeEmergency IN Bool TRUE = Cambiar el tiempo de desaceleración de parada de
emergencia junto con el parámetro de entrada "Emergen-
cyRampTime". Valor predeterminado: FALSE
EmergencyRampTime IN Real Tiempo (en segundos) para decelerar el eje desde la velocidad
máxima configurada hasta la parada sin limitador de tirones y en
modo de parada de emergencia. Valor predeterminado: 2,00
El cambio afectará a la variable <nombre de eje>. Con-
fig.DynamicDefaults.EmergencyDeceleration. La efectividad del
cambio se muestra en la descripción de esta variable.
ChangeJerkTime IN Bool TRUE = Modificar el tiempo de suavizado en función del pará-
metro de entrada "JerkTime". Valor predeterminado: FALSE
JerkTime IN Real Tiempo de suavizado (en segundos) usado para las rampas de
aceleración y de deceleración del eje. Valor predeterminado:
0,25
El cambio afectará a la variable <nombre de eje>. Con-
fig.DynamicDefaults.Jerk. La efectividad del cambio se muestra
en la descripción de esta variable.
Done OUT Bool TRUE = Los valores cambiados se han escrito en el bloque de
datos tecnológico. La descripción de las variables indicará
cuándo el cambio será efectivo. Valor predeterminado: FALSE
Error OUT Bool TRUE = Se ha producido un error al ejecutar el comando. La
causa del error se indica en los parámetros "ErrorID" y "ErrorIn-
fo". Valor predeterminado: FALSE
ErrorID OUT Word Identificador del error. Valor predeterminado: 16#0000
ErrorInfo IN Word Información de error. Valor predeterminado: 16#0000

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 771
Instrucciones tecnológicas
10.3 Motion Control

Requisitos para la ejecución de MC_ ChangeDynamic:


● El objeto tecnológico TO_Axis_PTO V2.0 debe estar configurado correctamente.
● El eje debe estar habilitado.

Nota
Solo es posible utilizar la instrucción MC_ChangeDynamic para conectar el accionamiento a
través de PTO (Pulse Train Output).

Respuesta de corrección
Un comando MC_ChangeDynamic no puede ser interrumpido por ningún otro comando de
Motion Control.
Un nuevo comando MC_ChangeDynamic no interrumpe ninguna orden de Motion Control
activa.

Nota
Los parámetros de entrada "RampUpTime", "RampDownTime", "EmergencyRampTime" y
"RoundingOffTime" pueden especificarse con valores que pongan fuera de los límites
admisibles los parámetros resultantes del eje "aceleración", "retardo", "retardo de parada de
emergencia" y "tirones".
Asegúrese de mantener los parámetros MC_ChangeDynamic dentro de los límites de la
configuración dinámica para el objeto tecnológico Eje.

10.3.7.12 MC_WriteParam (escribir parámetros de un objeto tecnológico)


La instrucción MC_WriteParam se usa para escribir un número determinado de parámetros
para cambiar la funcionalidad del eje desde el programa del usuario.

Tabla 10- 77 Instrucción MC_WriteParam

KOP / FUP SCL Descripción


"MC_WriteParam_DB"( La instrucción MC_WriteParam se
Parameter:=_variant_in_, utiliza para escribir en parámetros
Value:=_variant_in_, públicos (por ejemplo, los valores
Execute:=_bool_in_, de DB de aceleración y usuario).
Done:=_bool_out_,
Error:=_real_out_,
ErrorID:=_word_out_,
ErrorInfo:=_word_out_);

1 STEP 7 crea el DB automáticamente al insertar la instrucción.


2 En el ejemplo de SCL, "MC_WriteParam_DB" es el nombre del DB de instancia.

Controlador programable S7-1200


772 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Se puede escribir en los parámetros que son públicos. No puede escribir en "MotionStatus"
ni en "StatusBits". Los parámetros válidos se listan en la tabla siguiente:

Nombre de parámetro escribible Nombre de parámetro escribible


Actor.InverseDirection DynamicDefaults.Acceleration
Actor.DirectionMode DynamicDefaults.Deceleration
Actor.DriveParameter.PulsesPerDriveRevolution DynamicDefaults.Jerk
Sensor[1].ActiveHoming.Mode DynamicDefaults.EmergencyDeceleration
Sensor[1].ActiveHoming.SideInput PositionLimitsHW.Active
Sensor[1].ActiveHoming.Offset PositionLimitsHW.MaxSwitchedLevel
Sensor[1].ActiveHoming.SwitchedLevel PositionLimitsHW.MinSwitchedLevel
Sensor[1].PassiveHoming.Mode PositionLimitsSW.Active
Sensor[1].PassiveHoming.SideInput PositionLimitsSW.MinPosition
Sensor[1].PassiveHoming.SwitchedLevel PositionLimitsSW.MaxPosition
Units.LengthUnit Homing.AutoReversal
Mechanics.LeadScrew Homing.ApproachDirection
DynamicLimits.MinVelocity Homing.ApproachVelocity
DynamicLimits.MaxVelocity Homing.ReferencingVelocity

Tabla 10- 78 Parámetros de la instrucción MC_WriteParam

Parámetro y tipo Tipo de datos Descripción


PARAMNAME IN Variant Nombre del parámetro en el que se escribe el valor.
VALUE IN Variant Valor que se escribe en el parámetro asignado.
EXECUTE IN Bool Inicia la instrucción. Valor predeterminado: FALSE
DONE OUT Bool Se ha escrito el valor. Valor predeterminado: FALSE
BUSY OUT Bool Si es TRUE, la instrucción está funcionando. Valor predetermi-
nado: FALSE
ERROR OUT Real Si es TRUE, se produce un error. Valor predeterminado: FALSE
ERRORID OUT Word ID del error
ERRORINFO OUT Word Información relacionada con ERRORID

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 773
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 79 Códigos de condición de ERRORID y ERRORINFO

ERRORID ERRORINFO Descripción


(W#16#...) (W#16#...)
0 0 Se ha cambiado correctamente un parámetro TO-DB de eje.
8410[1] 0028[1] Establece un parámetro no válido (parámetros de TO-DB de eje de longitud incorrecta).
8410[1] 0029[1] Establece un parámetro no válido (sin parámetro TO-DB de eje).
8410[1] 002B[1] Establece un parámetro no válido (sin parámetro TO-DB de eje)
8410[1] 002C[1] Establece un parámetro válido, pero el eje no está desactivado.
Config Config Establece un parámetro válido (parámetro TO-DB de eje público de solo lectura) fuera de
Error[2] Error[2] rango.
Config Config Establece un parámetro válido (parámetro TO-DB de eje público) fuera de rango.
Error[3] Error[3]

[1] Error en MC_WriteParam


[2] Error en MC_Power
[3] Error en MC_Power y MC_MoveXXX o MC_CommandTable

Nota
Para conectar el accionamiento a través de la salida analógica/PROFIdrive no pueden
escribirse parámetros con MC_WriteParam que requieran un rearranque completo del objeto
tecnológico. La afirmación que aparece en la Ayuda en pantalla del TIA Portal en relación a
esta instrucción es incorrecta.

10.3.7.13 Instrucción MC_ReadParam (leer parámetros de un objeto tecnológico)


La instrucción MC_ReadParam se usa para leer un número determinado de parámetros que
indican la posición y la velocidad (entre otros valores actuales) del eje definidos en la
entrada del eje.

Tabla 10- 80 Instrucción MC_ReadParam

KOP / FUP SCL Descripción


"MC_ReadParam_DB"( La instrucción MC_ReadParam se
Enable:=_bool_in_, utiliza para leer valores de estado
Parameter:=_variant_in_, únicos, al margen del punto de
Value:=_variant_in_out_, control del ciclo.
Valid:=_bool_out_,
Busy:=_bool_out_,
Error:=_real_out_,
ErrorID:=_word_out_,
ErrorInfo:=_word_out_);

1 STEP 7 crea el DB automáticamente al insertar la instrucción.


2 En el ejemplo SCL, "MC_ReadParam_DB" es el nombre del DB de instancia.

Controlador programable S7-1200


774 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

La instrucción MC_ReadParam funciona con un comportamiento de activación. Siempre y


cuando la entrada "Enable" sea TRUE la instrucción leerá el "parámetro" especificado en la
ubicación de "valor".
El valor "Position" de "MotionStatus" actualiza cada punto de control del ciclo (CCP) en
función del valor de HSC actual.
El valor "Velocity" de "MotionStatus" es comando de velocidad al final del segmento actual
(actualizado ~10 ms). El parámetro MC_ReadParam también puede leer este valor.
Si se produce un error, la instrucción cambia a un estado de error que solo se puede
inicializar con un nuevo flanco ascendente en la entrada "Enable".

Tabla 10- 81 Parámetros de la instrucción MC_ReadParam

Parámetro y tipo Tipo de datos Descripción


ENABLE IN Bool Inicia la instrucción. Valor predeterminado: FALSE
PARAMETER IN Variant Puntero al parámetro TO que se va a leer.
VALID OUT Bool Si es TRUE, se habrá leído el valor. Valor predeterminado:
FALSE
BUSY OUT Bool Si es TRUE, la instrucción está funcionando. Valor predetermi-
nado: FALSE
ERROR OUT Real Si es TRUE, se produce un error. Valor predeterminado: FALSE
ERRORID OUT Word ID del error. Valor predeterminado: 0
ERRORINFO OUT Word Información adicional de ERRORID. Valor predeterminado: 0.
VALUE INOUT Variant Puntero a la ubicación donde se almacena el valor leído.

Tabla 10- 82 Códigos de condición de ERRORID y ERRORINFO

ERRORID ERRORINFO Descripción


(W#16#...) (W#16#...)
0 0 Lectura correcta de un parámetro
8410 0028 Parámetro no válido (longitud incorrecta)
8410 0029 Parámetro no válido (no TO-DB)
8410 0030 Parámetro no válido (no legible)
8411 0032 Parámetro no válido (valor incorrecto)

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 775
Instrucciones tecnológicas
10.3 Motion Control

Parámetros TO
El eje "MotionStatus" consta de cuatro valores. Puede supervisar los cambios en estos
valores, que pueden leerse mientras se ejecuta el programa:

Nombre de variable Tipo de datos Legibles mediante


MC_ReadParam
MotionStatus: Estructura No
• Posición REAL Sí

• Velocidad REAL Sí

• Distancia REAL Sí

• TargetPosition REAL Sí

10.3.8 Vigilar comandos activos

10.3.8.1 Vigilar instrucciones MC con un parámetro de salida "Done"


Las instrucciones de Motion Control con el parámetro de salida "Done" se inician con el
parámetro de entrada "Execute" y tienen una finalización definida (por ejemplo, con la
instrucción de Motion Control "MC_Home": referenciado correcto). La orden se ha
completado y el eje está parado.
● El parámetro de salida "Done" indica el valor TRUE si la orden se ha completado
correctamente.
● Los parámetros de salida "Busy", "CommandAborted" y "Error" indican que la orden
todavía se está procesando, se ha cancelado o hay un error pendiente, respectivamente.
La instrucción Motion Control "MC_Reset" no puede cancelarse, por lo que no tiene el
parámetro de salida "CommandAborted".
– Durante el procesamiento de la orden Motion Control, el parámetro de salida "Busy"
indica el valor TRUE. Si la orden se ha completado, cancelado o detenido a causa de
un error, el parámetro de salida "Busy" cambia a FALSE. El cambio se produce
independientemente de la señal en el parámetro de entrada "Execute".
– Los parámetros de salida "Done", "CommandAborted" y "Error" indican el valor TRUE
durante un ciclo como mínimo. Los avisos de estado se congelan mientras el
parámetro de entada "Execute" está puesto a TRUE.
Las órdenes de las siguientes instrucciones Motion Control tienen una finalización definida:
● MC_Reset
● MC_Home
● MC_Halt
● MC_MoveAbsolute
● MC_MoveRelative

Controlador programable S7-1200


776 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

El comportamiento del bit de estado se muestra más abajo en algunas situaciones de


ejemplo.
● El primer ejemplo muestra el comportamiento del eje en una orden finalizada. Si la orden
Motion Control se ha ejecutado por completo en el momento de su finalización, se indica
con el valor TRUE en el parámetro de salida "Done". El estado lógico del parámetro de
entrada "Execute" influye en el tiempo de visualización del parámetro de salida "Done".
● El segundo ejemplo muestra el comportamiento del eje en una orden cancelada. Si la
orden Motion Control se cancela durante la ejecución, se indica con el valor TRUE en el
parámetro de salida "CommandAborted". El estado lógico del parámetro de entrada
"Execute" influye en el tiempo de visualización del parámetro de salida
"CommandAborted".
● El tercer ejemplo muestra el comportamiento del eje cuando se produce un error. Si se
produce un error durante la ejecución de la orden Motion Control, se indica con el valor
TRUE en el parámetro de salida "Error". El estado lógico del parámetro de entrada
"Execute" influye en el tiempo de visualización del parámetro de salida "Error".

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 777
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 83 Ejemplo 1: ejecución completa de la orden

Si "Execute" = FALSE durante el procesamiento de la orden Si "Execute" = FALSE después de completar la orden

① La orden se inicia con un flanco ascendente en el parámetro de entrada "Execute". En función de la programación,
"Execute" todavía puede ponerse al valor FALSE durante la orden o bien el valor TRUE puede mantenerse hasta que se
haya completado la orden.
② Mientras la orden está activa, el parámetro de salida "Busy" indica el valor TRUE.
③ Una vez finalizada la orden (p. ej. para la instrucción de Motion Control "MC_Home": referenciado correcto), el pará-
metro de salida "Busy" cambia a FALSE y "Done" a TRUE.
④ Si "Execute" conserva el valor TRUE hasta que se haya completado la orden, "Done" también permanece en TRUE y
cambia el valor a FALSE junto con "Execute".
⑤ Si "Execute" se ha puesto a FALSE antes de finalizar la orden, "Done" indica el valor TRUE durante un solo ciclo de
ejecución.

Controlador programable S7-1200


778 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 84 Ejemplo 2: cancelación de la orden

Si "Execute" = FALSE antes de que se cancele la orden Si "Execute" = FALSE después de que se cancele la orden

① La orden se inicia con un flanco ascendente en el parámetro de entrada "Execute". En función de la programación,
"Execute" todavía puede ponerse al valor FALSE durante la orden o bien el valor TRUE puede mantenerse hasta que se
haya completado la orden.
② Mientras la orden está activa, el parámetro de salida "Busy" indica el valor TRUE.
③ Mientras se ejecuta la orden , esta es cancelada por otra tarea Motion Control. Si se cancela la orden, el parámetro de
salida "Busy" cambia a FALSE y "CommandAborted" a TRUE.
④ Si "Execute" conserva el valor TRUE hasta que se haya cancelado la orden, "CommandAborted" también permanece
en TRUE y cambia el valor a FALSE junto con "Execute".
⑤ Si "Execute" se ha puesto a FALSE antes de cancelar la orden, "CommandAborted" indica el valor TRUE durante un
solo ciclo de ejecución.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 779
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 85 Ejemplo 3: error al ejecutar la orden

Si "Execute" = FALSE antes de que se produzca el error Si "Execute" = FALSE después de que se produzca el error

① La orden se inicia con un flanco ascendente en el parámetro de entrada "Execute". En función de la programación,
"Execute" todavía puede ponerse al valor FALSE durante la orden o bien el valor TRUE puede mantenerse hasta que se
haya completado la orden.
② Mientras la orden está activa, el parámetro de salida "Busy" indica el valor TRUE.
③ Se ha producido un error mientras se ejecutaba la orden. Cuando se produce el error, el parámetro de salida "Busy"
cambia a FALSE y "Error" a TRUE.
④ Si "Execute" conserva el valor TRUE hasta que se ha producido el error, "Error" también permanece en TRUE y solo
cambia el valor a FALSE junto con "Execute".
⑤ Si "Execute" se ha puesto a FALSE antes de que se produzca el error, "Error" indica el valor TRUE durante un solo
ciclo de ejecución.

Controlador programable S7-1200


780 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

10.3.8.2 Vigilancia de MC_Velocity


Las órdenes de la instrucción Motion Control "MC_MoveVelocity" implementan un
movimiento a la velocidad especificada.
● Las órdenes de la instrucción de Motion Control "MC_MoveVelocity" no tienen un final
definido. El objetivo de la orden se cumple cuando se alcanza la velocidad parametrizada
por primera vez y el eje se desplaza a una velocidad constante. Cuando se ha alcanzado
la velocidad parametrizada, se indica con el valor TRUE en el parámetro de salida
"InVelocity".
● La orden se completa cuando se alcanza la velocidad parametrizada y el parámetro de
entrada "Execute" se pone al valor FALSE. Sin embargo, el movimiento del eje no se
completa una vez finalizada la orden. Por ejemplo, el movimiento del eje puede
detenerse con la orden Motion Control "MC_Halt".
● Los parámetros de salida "Busy", "CommandAborted" y "Error" indican que la orden
todavía se está procesando, se ha cancelado o hay un error pendiente, respectivamente.
– Durante la ejecución de la orden Motion Control, el parámetro de salida "Busy" indica
el valor TRUE. Si la orden se ha completado, cancelado o detenido a causa de un
error, el parámetro de salida "Busy" cambia a FALSE. El cambio se produce
independientemente de la señal en el parámetro de entrada "Execute".
– Los parámetros de salida "InVelocity", "CommandAborted" y "Error" indican el valor
TRUE durante un ciclo como mínimo, siempre que se cumplan las condiciones. Los
avisos de estado se congelan mientras el parámetro de entada "Execute" está puesto
a TRUE.
El comportamiento de los bits de estado se muestra más abajo en algunas situaciones de
ejemplo:
● El primer ejemplo muestra el comportamiento cuando el eje alcanza la velocidad
parametrizada. Si la orden Motion Control se ha ejecutado en el momento en que se
alcanza la velocidad parametrizada, se indica con el valor TRUE en el parámetro de
salida "InVelocity". El estado lógico del parámetro de entrada "Execute" influye en el
tiempo de visualización del parámetro de salida "InVelocity".
● El segundo ejemplo muestra el comportamiento si la orden se cancela antes de alcanzar
la velocidad parametrizada. Si la orden Motion Control se cancela antes de alcanzar la
velocidad parametrizada, se indica con el valor TRUE en el parámetro de salida
"CommandAborted". El estado lógico del parámetro de entrada "Execute" influye en el
tiempo de visualización del parámetro de salida "CommandAborted".
● El tercer ejemplo muestra el comportamiento del eje cuando se produce un error antes
de alcanzar la velocidad parametrizada. Si se produce un error durante la ejecución de la
orden Motion Control antes de alcanzar la velocidad parametrizada, se indica con el valor
TRUE en el parámetro de salida "Error". El estado lógico del parámetro de entrada
"Execute" influye en el tiempo de visualización del parámetro de salida "Error".

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 781
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 86 Ejemplo 1: si se ha alcanzado la velocidad parametrizada

Si "Execute" = FALSE antes de que se alcance la velocidad Si "Execute" = FALSE después de que se alcance la veloci-
configurada dad configurada

① La orden se inicia con un flanco ascendente en el parámetro de entrada "Execute". En función de la programación,
"Execute" puede ponerse al valor FALSE incluso antes de que se alcance la velocidad parametrizada o, alternativamente,
solo después de alcanzarla.
② Mientras la orden está activa, el parámetro de salida "Busy" indica el valor TRUE.
③ Cuando se ha alcanzado la velocidad parametrizada, el parámetro de salida "InVelocity" cambia a TRUE.
④ Si "Execute" conserva el valor TRUE incluso después de que se haya alcanzado la velocidad parametrizada, la orden
permanecerá activa. "InVelocity" y "Busy" mantienen el valor TRUE y solo cambian su estado a FALSE junto con "Execu-
te".
⑤ Si "Execute" se ha puesto a FALSE antes de que se alcance la velocidad parametrizada, la orden se completa cuando
se alcanza la velocidad parametrizada. "InVelocity" indica el valor TRUE para un ciclo de ejecución y cambia a FALSE
junto con "Busy".

Controlador programable S7-1200


782 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 87 Ejemplo 2: si la orden se cancela antes de alcanzar la velocidad parametrizada

Si "Execute" = FALSE antes de que se cancele la orden Si "Execute" = FALSE después de que se cancele la orden

① La orden se inicia con un flanco ascendente en el parámetro de entrada "Execute". En función de la programación,
"Execute" todavía puede ponerse al valor FALSE durante la orden o bien el valor TRUE puede mantenerse hasta que se
haya cancelado la orden.
② Mientras la orden está activa, el parámetro de salida "Busy" indica el valor TRUE.
③ Mientras se ejecuta la orden , esta es cancelada por otra tarea Motion Control. Si se cancela la orden, el parámetro de
salida "Busy" cambia a FALSE y "CommandAborted" a TRUE.
④ Si "Execute" conserva el valor TRUE hasta que se haya cancelado la orden, ""CommandAborted" también permanece
en TRUE y cambia su estado a FALSE junto con "Execute".
⑤ Si "Execute" se ha puesto de nuevo a FALSE antes de cancelar la orden, "CommandAborted" indica el valor TRUE
durante un solo ciclo de ejecución.

Nota
En las condiciones siguientes no se indica la cancelación en el parámetro de salida
"CommandAborted":
• Se ha alcanzado la velocidad parametrizada, el parámetro de entrada "Execute" tiene el
valor FALSE y se ha iniciado una nueva orden Motion Control.
• Cuando se alcanza la velocidad parametrizada y el parámetro de entrada "Execute" tiene
el valor FALSE, la orden se ha completado. Por consiguiente, el inicio de una nueva
orden no se indica como cancelación.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 783
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 88 Ejemplo 3: si se produce un error antes de alcanzar la velocidad parametrizada

Si "Execute" = FALSE antes de que se produzca el error Si "Execute" = FALSE después de que se produzca el error

① La orden se inicia con un flanco ascendente en el parámetro de entrada "Execute". En función de la programación,
"Execute" todavía puede ponerse al valor FALSE durante la orden o bien el valor TRUE puede mantenerse hasta que se
haya producido el error.
② Mientras la orden está activa, el parámetro de salida "Busy" indica el valor TRUE.
③ Se ha producido un error mientras se ejecutaba la orden. Cuando se produce el error, el parámetro de salida "Busy"
cambia a FALSE y "Error" a TRUE.
④ Si "Execute" conserva el valor TRUE hasta que se ha producido el error, "Error" también permanece en TRUE y solo
cambia su estado a FALSE junto con "Execute".
⑤ Si "Execute" se ha puesto de nuevo a FALSE antes de que se produzca el error, "Error" indica el valor TRUE durante
un solo ciclo de ejecución.

Nota
En las condiciones siguientes no se indica un error en el parámetro de salida "Error":
• Se ha alcanzado la velocidad parametrizada, el parámetro de entrada "Execute" tiene el
valor FALSE y se ha producido un error en el eje (se ha completado la aproximación al
final de carrera por software, por ejemplo).
• Cuando se alcanza la velocidad parametrizada y el parámetro de entrada "Execute" tiene
el valor FALSE, la orden se ha completado. Una vez completada la orden, el error de eje
solo se indica en la instrucción de Motion Control "MC_Power".

Controlador programable S7-1200


784 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

10.3.8.3 Vigilancia de MC_MoveJog


Las órdenes de la instrucción de Motion Control "MC_MoveJog" implementan una operación
Jog.
● Las órdenes Motion Control "MC_MoveJog" no tienen un final definido. El objetivo de la
orden se cumple cuando se alcanza la velocidad parametrizada por primera vez y el eje
se desplaza a una velocidad constante. Cuando se ha alcanzado la velocidad
parametrizada, se indica con el valor TRUE en el parámetro de salida "InVelocity".
● La orden está completa cuando el parámetro de entrada "JogForward" o "JogBackward"
se han puesto al valor FALSE y el eje se ha parado.
● Los parámetros de salida "Busy", "CommandAborted" y "Error" indican que la orden
todavía se está procesando, se ha cancelado o hay un error pendiente, respectivamente.
– Durante el procesamiento de la orden Motion Control, el parámetro de salida "Busy"
indica el valor TRUE. Si la orden se ha completado, cancelado o detenido a causa de
un error, el parámetro de salida "Busy" cambia a FALSE.
– El parámetro de salida "InVelocity" indica el estado TRUE mientras el eje se mueve a
la velocidad parametrizada. Los parámetros de salida "CommandAborted" y "Error"
indican el estado durante un ciclo como mínimo. Los avisos de estado están
enclavados mientras el parámetro de entada "JogForward" o "JogBackward" está
puesto a TRUE.
El comportamiento del bit de estado se muestra más abajo en algunas situaciones de
ejemplo.
● El primer ejemplo muestra el comportamiento del eje si se ha alcanzado y se mantiene la
velocidad parametrizada. Si la orden Motion Control se ha ejecutado en el momento en
que se alcanza la velocidad parametrizada, se indica con el valor TRUE en el parámetro
de salida "InVelocity".
● El segundo ejemplo muestra el comportamiento del eje si la orden se cancela. Si la orden
Motion Control se cancela durante la ejecución, se indica con el valor TRUE en el
parámetro de salida "CommandAborted". El comportamiento es independiente de si se
ha alcanzado la velocidad parametrizada o no.
● El tercer ejemplo muestra el comportamiento del eje cuando se produce un error. Si se
produce un error durante la ejecución de la orden Motion Control, se indica con el valor
TRUE en el parámetro de salida "Error". El comportamiento es independiente de si se ha
alcanzado la velocidad parametrizada o no.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 785
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 89 Ejemplo 1: si se ha alcanzado y se mantiene la velocidad parametrizada

JogForward JogBackward

① La orden se inicia con un flanco ascendente en el parámetro de entrada "JogForward" o "JogBackward".


② Mientras la orden está activa, el parámetro de salida "Busy" indica el valor TRUE.
③ Cuando se ha alcanzado la velocidad parametrizada, el parámetro de salida "InVelocity" cambia a TRUE.
④ Cuando el parámetro de entrada "JogForward" o "JogBackward" se pone de nuevo al valor FALSE, finalizad el movi-
miento del eje. El eje empieza a decelerar. Como resultado, el eje ya no se mueve a una velocidad constante y el paráme-
tro de salida "InVelocity" cambia su estado a FALSE.
⑤ Si el eje se ha parado, la orden Motion Control está finalizada y el parámetro de salida "Busy" cambia su valor a
FALSE.

Controlador programable S7-1200


786 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 90 Ejemplo 2: si la orden se cancela durante la ejecución

JogForward JogBackward

① La orden se inicia con un flanco ascendente en el parámetro de entrada "JogForward" o "JogBackward".


② Mientras la orden está activa, el parámetro de salida "Busy" indica el valor TRUE.
③ Mientras se ejecuta la orden , esta es cancelada por otra tarea Motion Control. Si se cancela la orden, el parámetro de
salida "Busy" cambia a FALSE y "CommandAborted" a TRUE.
④ Cuando el parámetro de entrada "JogForward" o "JogBackward" se pone de nuevo al valor FALSE, el parámetro de
salida "CommandAborted" cambia su valor a FALSE.

Nota
La cancelación de la orden se indica en el parámetro de salida "CommandAborted" durante
un solo ciclo de ejecución, siempre que se cumplan todas las condiciones siguientes:
Los parámetros de entrada "JogForward" y "JogBackward" tienen el valor FALSE (pero el
eje sigue desacelerando) y se ha iniciado una nueva orden Motion Control.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 787
Instrucciones tecnológicas
10.3 Motion Control

Tabla 10- 91 Ejemplo 3: si se ha producido un error al ejecutar la orden

JogForward JogBackward

① La orden se inicia con un flanco ascendente en el parámetro de entrada "JogForward" o "JogBackward".


② Mientras la orden está activa, el parámetro de salida "Busy" indica el valor TRUE.
③ Se ha producido un error mientras se ejecutaba la orden. Cuando se produce el error, el parámetro de salida "Busy"
cambia a FALSE y "Error" a TRUE.
④ Cuando el parámetro de entrada "JogForward" o "JogBackward" se pone de nuevo al valor FALSE, el parámetro de
salida "Error" cambia su valor a FALSE.

Nota
La aparición del error se indica en el parámetro de salida "Error" durante un solo ciclo de
ejecución, siempre que se cumplan todas las condiciones siguientes:
Los parámetros de entrada "JogForward" y "JogBackward" tienen el valor FALSE (pero el
eje sigue desacelerando) y se ha producido un nuevo error (se ha completado la
aproximación al final de carrera por software, por ejemplo).

Controlador programable S7-1200


788 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

10.3.9 ErrorID y ErrorInfos para Motion Control


La tabla siguiente lista todas las ErrorID y ErrorInfos que pueden indicarse en las
instrucciones de Motion Control y adaptación de datos. Además de la causa del error, se
muestran también soluciones para eliminar el error.
En función de la reacción al error, el eje se detiene en caso de errores de operación con
parada del eje. Son posibles las siguientes reacciones a errores:
● Eliminar habilitación
Se emite la consigna cero y se elimina la habilitación. El eje se frena según la
configuración del accionamiento y se para.
● Parada con rampa de parada de emergencia
Los comandos de movimiento activos se cancelan. El eje se frena con la desaceleración
de parada de emergencia configurada en "Objeto tecnológico > Parámetros avanzados >
Dinámica > Rampa de parada de emergencia" sin limitación de tirones y se para.

Error de operación con parada del eje

ErrorID ErrorInfo Descripción Solución Reacción a error


16#8000 Error de accionamiento, pérdida de "Accionamiento listo" -
16#0001 - Acusar error con la instrucción
"MC_Reset"; proporcionar señal de
accionamiento; reiniciar comando en
caso necesario
16#8001 Se ha disparado el final de carrera por software inferior Parada con rampa
16#000E La posición del final de carrera por Acusar el error con la instrucción de parada de
software inferior se ha alcanzado con "MC_Reset"; utilizar un comando de emergencia.
la desaceleración actualmente confi- movimiento para desplazar el eje en
gurada sentido positivo fuera del rango del final
16#000F La posición del final de carrera por de carrera por software
software inferior se ha alcanzado con
la desaceleración de parada de
emergencia
16#0010 La posición del final de carrera por
software inferior se ha rebasado por
exceso con la desaceleración de
parada de emergencia

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 789
Instrucciones tecnológicas
10.3 Motion Control

ErrorID ErrorInfo Descripción Solución Reacción a error


16#8002 Se ha disparado el final de carrera por software superior Parada con rampa
16#000E La posición del final de carrera por Acusar el error con la instrucción de parada de
software superior se ha alcanzado "MC_Reset"; utilizar un comando de emergencia.
con la desaceleración actualmente movimiento para desplazar el eje en
configurada sentido negativo fuera del rango del
16#000F La posición del final de carrera por final de carrera por software
software superior se ha alcanzado
con la desaceleración de parada de
emergencia
16#0010 La posición del final de carrera por
software superior se ha rebasado por
exceso con la desaceleración de
parada de emergencia
16#8003 Se ha alcanzado el final de carrera por hardware inferior Para la conexión
16#000E Se ha alcanzado el final de carrera Acusar el error para un eje habilitado del accionamiento
por hardware inferior. El eje se ha con la instrucción "MC_Reset"; utilizar vía PTO (Pulse
detenido con la desaceleración de un comando de movimiento para des- Train Output):
parada de emergencia. plazar el eje en sentido positivo fuera Parada con rampa
(Durante un procedimiento de refe- del rango del final de carrera por hard- de parada de
renciado activo no se ha encontrado ware. emergencia.
el interruptor de referenciado) Para la conexión
del accionamiento
vía PROFIdri-
ve/salida analógi-
ca:
Eliminar habilita-
ción.
16#8004 Se ha alcanzado el final de carrera por hardware superior Para la conexión
16#000E Se ha alcanzado el final de carrera Acusar el error para un eje habilitado del accionamiento
por hardware superior. El eje se ha con la instrucción "MC_Reset"; utilizar vía PTO (Pulse
detenido con la desaceleración de un comando de movimiento para des- Train Output):
parada de emergencia. plazar el eje en sentido negativo fuera Parada con rampa
(Durante un procedimiento de refe- del rango del final de carrera por hard- de parada de
renciado activo no se ha encontrado ware. emergencia.
el interruptor de referenciado) Para la conexión
del accionamiento
vía PROFIdri-
ve/salida analógi-
ca:
Eliminar habilita-
ción.

Controlador programable S7-1200


790 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

ErrorID ErrorInfo Descripción Solución Reacción a error


16#8005 PTO/HSC están siendo utilizados por otro eje -
16#0001 - El eje se ha configurado de forma inco-
rrecta:
Corregir la configuración de PTO (Pul-
se Train Output) / HSC (High Speed
Counter) y descargarla al controlador
Más de un eje debe ejecutarse con un
PTO:
Otro eje está utilizando el PTO / HSC.
Si el eje actual debe asumir el control,
el otro eje debe desactivarse con
"MC_Power" Enable = FALSE.
16#8006 Se ha producido un error de comunicación en el panel de mando Eliminar habilita-
16#0012 Se ha excedido el tiempo Comprobar la conexión del cable y ción.
volver a pulsar el botón "Control ma-
nual"
16#8007 No es posible habilitar el eje -
16#0025 Reiniciar Esperar hasta que haya finalizado el
rearranque del eje.
16#0026 Ejecutar el proceso de carga en es- Esperar hasta que haya finalizado el
tado operativo RUN proceso de carga.
16#8008 Sentido del movimiento no válido -
16#002E El sentido de movimiento selecciona- • Ajustar el sentido de movimiento y
do no está permitido. reiniciar el comando.
16#002F No es posible un movimiento de • Ajustar el sentido de giro permitido
inversión con el sentido de movimien- en la configuración del objeto tecno-
to seleccionado.
lógico, en "Parámetros avanzados >
Mecánica". Reiniciar el comando.
16#8009 No se ha encontrado la marca cero del encóder/interruptor de referencia Parada con rampa
16#0033 Error en la configuración, hardware o de parada de
• Conectar un dispositivo adecuado.
instalación del encóder o en el inte- emergencia.
• Comprobar el dispositivo (E/S).
rruptor de referenciado.
• Comparar la configuración de HW
Config y del objeto tecnológico.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 791
Instrucciones tecnológicas
10.3 Motion Control

ErrorID ErrorInfo Descripción Solución Reacción a error


16#800A Alarma del encóder Eliminar habilita-
16#0001 - Comprobar la función, las conexiones y ción.
16#0034 Error de hardware en el encóder E/S del dispositivo.
16#0035 Encóder sucio
16#0036 Error al leer el valor absoluto del Comparar el tipo de encóder en el
encóder accionamiento o el parámetro P979 del
encóder con los datos de configuración
del objeto tecnológico.
16#0037 Vigilancia de marca cero del encóder El encóder notifica un error en la vigi-
lancia de marca cero (código de fallo
0x0002 en Gx_XIST2, consulte el perfil
PROFIdrive).
Comprobar la compatibilidad electro-
magnética (CEM) de la planta.
16#0038 El encóder está en estado "Parking" • Buscar la causa del error en el
accionamiento o encóder conecta-
do.
• Comprobar si el mensaje de error
ha sido disparado por una acción
de puesta en marcha en el accio-
namiento o el encóder.
16#0040 PROFIdrive: Fallo del encóder en el Comprobar la función, las conexiones y
bus (fallo de estación) E/S del dispositivo.
16#0041 PROFIdrive: Signos de vida del en-
códer defectuosos
16#800B Infracción de rango de la posición Eliminar habilita-
16#0039 Infracción de rango en sentido positi- Referenciar el eje a un rango válido de ción.
vo valor real.
16#003A Infracción de rango en sentido nega-
tivo
16#003B El cambio de la posición real en un Ajustar la longitud de módulo del encó-
ciclo de control de posición es mayor der empleado.
que la longitud del módulo.

Controlador programable S7-1200


792 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

ErrorID ErrorInfo Descripción Solución Reacción a error


16#800C Alarma del accionamiento Eliminar habilita-
16#0001 - Comprobar la función, las conexiones y ción.
16#003C PROFIdrive: Error en la señal del E/S del dispositivo.
accionamiento "Control solicitado"
16#003D PROFIdrive: El accionamiento se ha
apagado
16#003E PROFIdrive: Fallo del accionamiento
en el bus (fallo de estación)
16#003F PROFIdrive: Signos de vida del ac- • Comprobar la función, las conexio-
cionamiento defectuosos nes y E/S del dispositivo.
• Comparar los parámetros de reloj
de HW Config (línea PROFIBUS,
OM esclavo para accionamiento o
encóder) y del sistema de ejecu-
ción. Tmapc y servo deben configu-
rarse con el mismo tiempo de ciclo.
16#800D Se ha excedido el error de seguimiento permitido Eliminar habilita-
16#0001 - ción.
• Comprobar la configuración del lazo
de regulación.
• Comprobar la señal de sentido del
encóder.
• Comprobar la configuración de la
vigilancia de errores de seguimien-
to.
16#800E Error en el final de carrera por hardware Eliminar habilita-
16#0042 Sentido de desplazamiento libre no El sentido de movimiento programado ción.
permitido con el final de carrera por está desactivado a causa del final de
hardware activo carrera por hardware activo.
Retraer el eje en sentido opuesto.
16#0043 La polaridad del final de carrera por Comprobar la configuración mecánica
hardware está invertida, no es posi- del final de carrera por hardware.
ble liberar el eje
16#0044 Los dos finales de carrera por hard-
ware están activos, no es posible
liberar el eje

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 793
Instrucciones tecnológicas
10.3 Motion Control

ErrorID ErrorInfo Descripción Solución Reacción a error


16#800F Error en la zona de destino Eliminar habilita-
16#0045 Zona de destino no alcanzada La zona de destino no se ha alcanzado ción.
dentro del tiempo de tolerancia de
posicionamiento.
• Comprobar la configuración de la
vigilancia de posición.
• Comprobar la configuración del lazo
de regulación.
16#0046 Zona de destino abandonada de Se ha salido de la zona de destino
nuevo dentro del tiempo de permanencia
mínimo.
• Comprobar la configuración de la
vigilancia de posición.
• Comprobar la configuración del lazo
de regulación.
16#8010 La posición del final de carrera por software inferior es mayor que la del final Eliminar habilita-
de carrera por software superior cuando el eje no es un eje de valor módulo ción.
16#0001 - Modificar la posición de los finales de
carrera por software.

Error de operación sin parada del eje

ErrorID ErrorInfo Descripción Solución


16#8200 El eje no está activado
16#0001 - Activar el eje; reiniciar el comando.
16#003D Se muestra si se ha desconectado un accio- Activar el eje; reiniciar el comando.
namiento con una conexión analógica.
16#8201 El eje ya ha sido activado por otra instancia de "MC_Power"
16#0001 - Activar el eje con una sola instancia de
"MC_Power".
16#8202 Se ha rebasado el número máximo de comandos simultáneos de Motion Control (máx. 200 co-
mandos con conexión del accionamiento vía PTO (Pulse Train Output), máx. 100 comandos con
conexión del accionamiento vía PROFIdrive/salida analógica)
16#0001 - Reducir el número de comandos activos al mismo
tiempo; reiniciar el comando
Un comando está activo si el parámetro "Busy" =
TRUE en la instrucción de Motion Control.
16#8203 El eje funciona actualmente en "control manual" (panel de mando del eje)
16#0001 - Salir del "control manual"; reiniciar el comando.
16#8204 El eje no está referenciado
16#0001 - Referenciar el eje con la instrucción "MC_Home";
reiniciar el comando.

Controlador programable S7-1200


794 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

ErrorID ErrorInfo Descripción Solución


16#8205 El eje está siendo controlado por el programa de usuario (este error solo se muestra en el panel de
mando del eje)
16#0013 El eje está activado en el programa de usuario Desactivar el eje con la instrucción "MC_Power" y
seleccionar el "control manual" de nuevo en el
panel de mando del eje
16#8206 Objeto tecnológico no activado aún
16#0001 - Activar el eje con la instrucción "MC_Power" Ena-
ble = TRUE o en el panel de mando del eje.
16#8207 Comando rechazado
16#0016 Se está ejecutando un referenciado activo; no Esperar a que el referenciado activo finalice o
es posible iniciar otro método de referenciado. cancelar el referenciado activo con un comando
de movimiento, p. ej. "MC_Halt".
16#0018 El eje no puede moverse con una tabla de Esperar a que el referenciado directo o pasivo
comandos mientras está siendo referenciado haya finalizado.
de forma activa o pasiva.
16#0019 El eje no puede referenciarse de forma activa Esperar a que la tabla de comandos finalice o
o pasiva mientras se está procesando una cancelar la tabla de comandos con un comando
tabla de comandos. de movimiento, p. ej. "MC_Halt".
16#0052 La posición especificada excede el límite nu- Introducir un valor de posición válido en la instruc-
mérico. ción de Motion Control.
16#0053 El eje está arrancando. Esperar hasta que el eje esté operativo.
16#0054 El valor real no es válido Para ejecutar un comando "MC_Home", los valo-
res reales deben ser válidos.
Comprobar el estado de los valores reales. La
variable del objeto tecnológico <nombre del
eje>."StatusSensor.State" debe presentar el valor
2 (válido).
16#8208 La diferencia entre la velocidad máxima y de arranque/parada no es válida
16#0002 El valor no es un número válido Corregir el valor; reiniciar el comando.
16#000A El valor es menor o igual a 0.
16#8209 Aceleración no válida para el objeto tecnológico "Eje"
16#0002 El valor no es un número válido Corregir el valor; reiniciar el comando.
16#000A El valor es menor o igual a 0.
16#820A No es posible reiniciar el eje
16#0013 El eje está activado en el programa de usuario Desactivar el eje con la instrucción "MC_Power";
reiniciar.
16#0027 El eje funciona actualmente en "control ma- Salir del "control manual"; reiniciar.
nual" (panel de mando del eje)
16#002C El eje no está desactivado. Desactivar el eje; reiniciar el comando.
16#0047 El objeto tecnológico no está listo para reini- Volver a descargar el proyecto.
ciar.
16#0048 No se cumple la condición para reiniciar el Desactivar el objeto tecnológico.
objeto tecnológico.
16#820B No es posible ejecutar la tabla de comandos
16#0026 Ejecutar el proceso de carga en estado opera- Esperar hasta que haya finalizado el proceso de
tivo RUN carga.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 795
Instrucciones tecnológicas
10.3 Motion Control

ErrorID ErrorInfo Descripción Solución


16#820C No hay ninguna configuración disponible
16#0001 - Error interno
Ponerse en contacto con la línea de atención al
cliente.

Error de parámetro de bloque

ErrorID ErrorInfo Descripción Solución


16#8400 Valor no válido en el parámetro "Position" de la instrucción de Motion Control
16#0002 El valor no es un número válido Corregir el valor; reiniciar el comando.
16#0005 El valor está fuera del rango numérico (mayor
que 1E+12)
16#0006 El valor está fuera del rango numérico (menor
que 1E+12)
16#8401 Valor no válido en el parámetro "Distance" de la instrucción de Motion Control
16#0002 El valor no es un número válido Corregir el valor; reiniciar el comando.
16#0005 El valor está fuera del rango numérico (mayor
que 1E+12)
16#0006 El valor está fuera del rango numérico (menor
que 1E+12)
16#8402 Valor no válido en el parámetro "Velocity" de la instrucción de Motion Control
16#0002 El valor no es un número válido Corregir el valor; reiniciar el comando.
16#0008 El valor es mayor que la velocidad máxima
configurada
16#0009 El valor es menor que la velocidad de arran-
que/parada configurada
16#0024 El valor es menor que 0
16#8403 Valor no válido en el parámetro "Direction" de la instrucción de Motion Control
16#0011 El valor seleccionado no es válido Corregir el valor seleccionado; reiniciar el coman-
do.

Controlador programable S7-1200


796 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

ErrorID ErrorInfo Descripción Solución


16#8404 Valor no válido en el parámetro "Mode" de la instrucción de Motion Control
16#0011 El valor seleccionado no es válido Corregir el valor seleccionado; reiniciar el coman-
do.
16#0015 No se ha configurado el referenciado acti- Corregir la configuración y descargarla al contro-
vo/pasivo lador; activar el eje y reiniciar el comando.
16#0017 La inversión de sentido está activada en el • Activar el final de carrera por hardware con la
final de carrera por hardware a pesar de que variable <nombre del
los finales de carrera por hardware están des- eje>.PositionLimitsHW.Active = TRUE; reini-
activados
ciar el comando.
• Corregir la configuración y descargarla al con-
trolador; activar el eje y reiniciar el comando.
16#0055 Modo no válido en el encóder incremental Iniciar un proceso de referenciado para un encó-
der incremental con el parámetro "Mode" = 0, 1, 2,
3.
16#0056 Modo no válido en el encóder absoluto El referenciado pasivo y activo ("Mode" = 2, 3) no
es posible para un encóder absoluto.
Iniciar un proceso de referenciado para un encó-
der absoluto con el parámetro "Mode" = 0, 1.
16#8405 Valor no válido en el parámetro "StopMode" de la instrucción de Motion Control
16#0011 El valor seleccionado no es válido Corregir el valor seleccionado; activar el eje de
nuevo.
16#8406 No se permite el modo Jog de avance y retroceso al mismo tiempo
16#0001 - Asegurarse de que los parámetros "JogForward" y
"JogBackward" no tienen el estado lógico TRUE al
mismo tiempo; reiniciar el comando.
16#8407 Solo está permitido cambiar a otro eje con la instrucción "MC_Power" después de desactivar el eje
activo.
16#0001 - Desactivar el eje activo; seguidamente será posi-
ble cambiar al otro eje y activarlo.
16#8408 Valor no válido en el parámetro "Axis" de la instrucción de Motion Control
16#001A El valor especificado no concuerda con la Corregir el valor; reiniciar el comando.
versión requerida del objeto tecnológico
16#001B El valor especificado no concuerda con el tipo
requerido del objeto tecnológico
16#001C El valor especificado no es un bloque de datos
tecnológico de Motion Control
16#8409 Valor no válido en el parámetro "CommandTable" de la instrucción de Motion Control
16#001A El valor especificado no concuerda con la Corregir el valor; reiniciar el comando.
versión requerida del objeto tecnológico
16#001B El valor especificado no concuerda con el tipo
requerido del objeto tecnológico
16#001C El valor especificado no es un bloque de datos
tecnológico de Motion Control
16#840A Valor no válido en el parámetro "StartStep" de la instrucción de Motion Control
16#000A El valor es menor o igual a 0. Corregir el valor; reiniciar el comando.
16#001D La etapa inicial es mayor que la etapa final
16#001E El valor es mayor que 32

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 797
Instrucciones tecnológicas
10.3 Motion Control

ErrorID ErrorInfo Descripción Solución


16#840B Valor no válido en el parámetro "EndStep" de la instrucción de Motion Control
16#000A El valor es menor o igual a 0. Corregir el valor; reiniciar el comando.
16#001E El valor es mayor que 32
16#840C Valor no válido en el parámetro "RampUpTime" de la instrucción de Motion Control
16#0002 El valor no es un número válido Corregir el valor; reiniciar el comando.
16#000A El valor es menor o igual a 0.
16#840D Valor no válido en el parámetro "RampDownTime" de la instrucción de Motion Control
16#0002 El valor no es un número válido Corregir el valor; reiniciar el comando.
16#000A El valor es menor o igual a 0.
16#840E Valor no válido en el parámetro "EmergencyRampTime" de la instrucción de Motion Control
16#0002 El valor no es un número válido Corregir el valor; reiniciar el comando.
16#000A El valor es menor o igual a 0.
16#840F Valor no válido en el parámetro "JerkTime" de la instrucción de Motion Control
16#0002 El valor no es un número válido Corregir el valor; reiniciar el comando.
16#000A El valor es menor o igual a 0.
16#8410 Valor no válido en el parámetro "Parameter" de la instrucción de Motion Control
16#0002 El valor no es un número válido Corregir el valor; reiniciar el comando.
16#000B La dirección no es válida Descargar al controlador una configuración sin
errores; activar el eje de nuevo con la instrucción
"MC_Power".
16#0028 Los tipos de datos de los punteros VARIANT Utilizar un tipo de datos adecuado; reiniciar el
"Parámetro" y "Valor" no concuerdan. comando.
16#0029 El puntero VARIANT "Parámetro" no apunta a Corregir el puntero VARIANT; reiniciar el coman-
un bloque de datos del objeto tecnológico. do.
16#002A No es posible leer el valor del puntero Corregir el puntero VARIANT; reiniciar el coman-
VARIANT "Parámetro". do.
16#002B No es posible escribir el valor en el puntero Corregir el puntero VARIANT o el valor; reiniciar el
VARIANT "Parámetro". comando.
16#002C El eje no está desactivado. Desactivar el eje; reiniciar el comando.
16#8411 Valor no válido en el parámetro "Value" de la instrucción de Motion Control
16#0002 El valor no es un número válido. Corregir el valor; reiniciar el comando.
16#0005 El valor está fuera del rango numérico (mayor
que 1E+12).
16#0006 El valor está fuera del rango numérico (menor
que 1E+12).

Controlador programable S7-1200


798 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Error de configuración del eje

ErrorID ErrorInfo Descripción Solución


16#8600 La parametrización del generador de impulsos (PTO) no es válida
16#000B La dirección no es válida Descargar al controlador una configuración sin
16#0014 El hardware seleccionado se utiliza en otra errores; activar el eje de nuevo con la instrucción
aplicación "MC_Power".
16#8601 La parametrización del contador rápido (HSC) no es válida
16#000B La dirección no es válida Descargar al controlador una configuración sin
16#0014 El hardware seleccionado se utiliza en otra errores; activar el eje de nuevo con la instrucción
aplicación "MC_Power".
16#8602 Parametrización no válida de "Activar salida"
16#000B La dirección no es válida Descargar al controlador una configuración sin
errores; activar el eje de nuevo con la instrucción
"MC_Power".
16#8603 Parametrización no válida de "Entrada lista"
16#000B La dirección no es válida Descargar al controlador una configuración sin
errores; activar el eje de nuevo con la instrucción
"MC_Power".
16#8604 Valor no válido de "Impulsos por revolución del motor"
16#000A El valor es menor o igual a cero Descargar al controlador una configuración sin
errores; activar el eje de nuevo con la instrucción
"MC_Power".
16#8605 Valor no válido de "Distancia por revolución"
16#0002 El valor no es un número válido Descargar al controlador una configuración sin
16#0005 El valor está fuera del rango numérico (mayor errores; activar el eje de nuevo con la instrucción
que 1E+12) "MC_Power".
16#000A El valor es menor o igual a cero
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#8606 Valor no válido de "Velocidad de arranque/parada"
16#0002 El valor no es un número válido Descargar al controlador una configuración sin
16#0003 El valor es mayor que el límite superior de errores; activar el eje de nuevo con la instrucción
hardware "MC_Power".

16#0004 El valor es menor que el límite inferior de


hardware
16#0007 La velocidad de arranque/parada es mayor
que la velocidad máxima

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 799
Instrucciones tecnológicas
10.3 Motion Control

ErrorID ErrorInfo Descripción Solución


16#8607 Valor no válido de "Velocidad máxima"
16#0002 El valor no es un número válido Descargar al controlador una configuración sin
16#0003 El valor es mayor que el límite superior de errores; activar el eje de nuevo con la instrucción
hardware "MC_Power".
16#0004 El valor es menor que el límite inferior de
hardware
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#8608 Valor no válido de "Aceleración"
16#0002 El valor no es un número válido • Descargar al controlador una configuración sin
16#0003 El valor es mayor que el límite superior de errores; activar el eje de nuevo con la instruc-
hardware ción "MC_Power".
16#0004 El valor es menor que el límite inferior de • Corregir el valor incorrecto online; acusar el
hardware error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#8609 Valor no válido de "Desaceleración"
16#0002 El valor no es un número válido • Descargar al controlador una configuración sin
16#0003 El valor es mayor que el límite superior de errores; activar el eje de nuevo con la instruc-
hardware ción "MC_Power".
16#0004 El valor es menor que el límite inferior de • Corregir el valor incorrecto online; acusar el
hardware error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.

Controlador programable S7-1200


800 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

ErrorID ErrorInfo Descripción Solución


16#860A Valor no válido de "Desaceleración de parada de emergencia"
16#0002 El valor no es un número válido • Descargar al controlador una configuración sin
16#0003 El valor es mayor que el límite superior de errores; activar el eje de nuevo con la instruc-
hardware ción "MC_Power".
16#0004 El valor es menor que el límite inferior de • Corregir el valor incorrecto online; acusar el
hardware error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#860B El valor de posición del final de carrera por software inferior no es válido
16#0002 El valor no es un número válido • Descargar al controlador una configuración sin
16#0005 El valor está fuera del rango numérico (mayor errores; activar el eje de nuevo con la instruc-
que 1E+12) ción "MC_Power".
16#0006 El valor está fuera del rango numérico (menor • Corregir el valor incorrecto online; acusar el
que 1E+12) error con la instrucción "MC_Reset" y reiniciar
16#0030 El valor de posición del final de carrera por el comando en caso necesario.
software inferior es mayor que el del final de
carrera por software superior
16#860C El valor de posición del final de carrera por software superior no es válido
16#0002 El valor no es un número válido • Descargar al controlador una configuración sin
16#0005 El valor está fuera del rango numérico (mayor errores; activar el eje de nuevo con la instruc-
que 1E+12) ción "MC_Power".
16#0006 El valor está fuera del rango numérico (menor • Corregir el valor incorrecto online; acusar el
que 1E+12) error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#860D Dirección no válida del final de carrera por hardware inferior
16#000B Dirección no válida Descargar al controlador una configuración sin
16#000C La dirección del flanco descendente no es errores; activar el eje de nuevo con la instrucción
válida "MC_Power".

16#000D La dirección del flanco ascendente no es váli-


da

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 801
Instrucciones tecnológicas
10.3 Motion Control

ErrorID ErrorInfo Descripción Solución


16#860E Dirección no válida del final de carrera por hardware superior
16#000B Dirección no válida Descargar al controlador una configuración sin
16#000C La dirección del flanco descendente no es errores; activar el eje de nuevo con la instrucción
válida "MC_Power".
16#000D La dirección del flanco ascendente no es váli-
da
16#860F Valor no válido de "Offset de posición de referencia"
16#0002 El valor no es un número válido • Descargar al controlador una configuración sin
16#0005 El valor está fuera del rango numérico (mayor errores; activar el eje de nuevo con la instruc-
que 1E+12) ción "MC_Power".
16#0006 El valor está fuera del rango numérico (menor • Corregir el valor incorrecto online; acusar el
que 1E+12) error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#8610 Valor no válido de "Velocidad de aproximación"
16#0002 El valor no es un número válido • Descargar al controlador una configuración sin
16#0008 La velocidad es mayor que la velocidad máxi- errores; activar el eje de nuevo con la instruc-
ma ción "MC_Power".
16#0009 La velocidad es menor que la velocidad de • Corregir el valor incorrecto online; acusar el
arranque/parada error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#8611 Valor no válido de "Velocidad de referenciado"
16#0002 El valor no es un número válido • Descargar al controlador una configuración sin
16#0008 La velocidad es mayor que la velocidad máxi- errores; activar el eje de nuevo con la instruc-
ma ción "MC_Power".
16#0009 La velocidad es menor que la velocidad de • Corregir el valor incorrecto online; acusar el
arranque/parada error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.

Controlador programable S7-1200


802 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

ErrorID ErrorInfo Descripción Solución


16#8612 Dirección no válida del interruptor de referenciado
16#000B Dirección no válida Descargar al controlador una configuración sin
16#000C La dirección del flanco descendente no es errores; activar el eje de nuevo con la instrucción
válida "MC_Power".
16#000D La dirección del flanco ascendente no es váli-
da
16#8613 Durante el referenciado activo, la inversión de sentido está activada en el final de carrera por
hardware a pesar de que los finales de carrera por hardware no están configurados
16#0001 - • Descargar al controlador una configuración sin
errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#8614 Valor no válido de "Tirón"
16#0002 El valor no es un número válido • Descargar al controlador una configuración sin
16#001F El valor es mayor que el tirón máximo errores; activar el eje de nuevo con la instruc-
16#0020 El valor es menor que el tirón mínimo ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#8615 El valor de "Unidad de medida" no es válido
16#0011 El valor seleccionado no es válido Descargar al controlador una configuración sin
errores; activar el eje de nuevo con la instrucción
"MC_Power".
16#8616 La dirección del interruptor de referenciado no es válida (referenciado pasivo a partir de V4)
16#0011 El valor seleccionado no es válido • Descargar al controlador una configuración sin
errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 803
Instrucciones tecnológicas
10.3 Motion Control

ErrorID ErrorInfo Descripción Solución


16#8617 El valor de la variable <nombre del eje>.Sensor.Sensor[1].ActiveHoming.Mode no es válido
16#0011 El valor seleccionado no es válido • Descargar al controlador una configuración sin
(Valor válido: 2 = referenciado vía entrada errores; activar el eje de nuevo con la instruc-
digital) ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#8618 El valor de la variable <nombre del eje>.Sensor.Sensor[1].PassiveHoming.Mode no es válido
16#0011 El valor seleccionado no es válido • Descargar al controlador una configuración sin
(Valor válido: 2 = referenciado vía entrada errores; activar el eje de nuevo con la instruc-
digital) ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#8619 El valor de la variable <nombre del eje>.Actor.Type no es válido
16#0011 El valor seleccionado no es válido • Descargar al controlador una configuración sin
(Valor válido: 2= conexión vía interfaz por errores; activar el eje de nuevo con la instruc-
impulsos) ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#861A El valor de "Sentido de giro permitido" no es válido
16#0011 El valor seleccionado no es válido • Descargar al controlador una configuración sin
16#002D No se permite "Ambos sentidos" cuando la errores; activar el eje de nuevo con la instruc-
salida de sentido está desactivada ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#861B Factores erróneos del reductor de carga
16#0031 El valor no es válido. Descargar al controlador una configuración sin
errores; activar el eje de nuevo con la instrucción
"MC_Power".
16#861C Combinación ilegal de datos para el referenciado con encóder incremental
16#0031 El valor no es válido. • Descargar al controlador una configuración sin
errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.

Controlador programable S7-1200


804 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

ErrorID ErrorInfo Descripción Solución


16#861D El tipo de fijación establecido para el encóder no es válido. Valor no válido en <nombre del
eje>.Sensor.Sensor[1].MountingMode
16#0011 El valor seleccionado no es válido • Descargar al controlador una configuración sin
errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#861E La configuración de la circunferencia de la rueda de medición del encóder no es válida. Valor no
válido en <nombre del eje>.Sensor.Sensor[1].Parameter.DistancePerRevolution
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#861F La configuración de la resolución del encóder lineal es errónea. Valor no válido en <nombre del
eje>.Sensor.Sensor[1].Parameter.Resolution
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#8620 La resolución fina establecida para Gn_XIST1 no es válida. Valor no válido en <nombre del
eje>.Sensor.Sensor[1].Parameter.FineResolutionXist1
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#8621 La resolución fina establecida para Gn_XIST1 en <nombre del
eje>.Sensor.Sensor[1].Parameter.FineResolutionXist1 no es coherente con el ajuste del parámetro
P979 de PROFIdrive
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#8622 Valor no válido para la fecha de configuración de <nombre del eje>.Actor.Interface.AddressIn o
<nombre del eje>.Actor.Interface.AddressOut
16#0011 El valor seleccionado no es válido Descargar al controlador una configuración sin
errores; activar el eje de nuevo con la instrucción
"MC_Power".

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 805
Instrucciones tecnológicas
10.3 Motion Control

ErrorID ErrorInfo Descripción Solución


16#8623 El valor ajustado en la variable <nombre del eje>.Sensor.Sensor[1].Type no es válido.
16#0011 El valor seleccionado no es válido Descargar al controlador una configuración sin
errores; activar el eje de nuevo con la instrucción
"MC_Power".
16#8624 El sistema captador ajustado no es válido. Valor no válido en <nombre del
eje>.Sensor.Sensor[1].System
16#0011 El valor seleccionado no es válido • Descargar al controlador una configuración sin
errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#8625 El parámetro de la vigilancia de posición es erróneo. Valor no válido en <nombre del
eje>.PositioningMonitoring.MinDwellTime
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#8626 El parámetro de la vigilancia de posición es erróneo. Valor no válido en <nombre del
eje>.PositioningMonitoring.Window
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#8627 La configuración de la interfaz PROFIdrive para el valor real es errónea. Valor no válido en <nom-
bre del eje>.Sensor.Sensor[1].Interface.AddressIn o <nombre del
eje>.Sensor.Sensor[1].Interface.AddressOut
16#0011 El valor seleccionado no es válido Descargar al controlador una configuración sin
errores; activar el eje de nuevo con la instrucción
"MC_Power".
16#8628 Factores erróneos del controlador
16#0030 El valor tiene un formato de número incorrecto El valor de ganancia o control anticipativo del lazo
o está fuera del rango numérico válido de regulación es erróneo.
• Descargar al controlador una configuración sin
errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario. (<nombre del
eje>.PositionControl.Kv, <nombre del
eje>.PositionControl.Kpc)

Controlador programable S7-1200


806 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

ErrorID ErrorInfo Descripción Solución


16#8629 El límite de la señal de parada es erróneo. Valor no válido en <nombre del
eje>.StandStillSignal.VelocityThreshold
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#862A El parámetro de la vigilancia de posición es erróneo. Valor no válido en <nombre del
eje>.PositioningMonitoring.ToleranceTime
16#0030 El valor tiene un formato de número incorrecto
o está fuera del rango numérico válido
• Descargar al controlador una configuración sin
errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.

16#862B Parametrización PROFIBUS incoherente; la suma de Ti y To es mayor que un ciclo DP


16#0030 El valor tiene un formato de número incorrecto Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instrucción
"MC_Power".
16#862C El parámetro de la vigilancia de parada es erróneo. Valor no válido en <nombre del
eje>.StandStillSignal.MinDwellTime
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#862D El parámetro de la vigilancia de error de seguimiento es erróneo. Valor no válido en <nombre del
eje>.FollowingError.MinValue
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#862E Valor no válido para la fecha de configuración de <nombre del eje>.Modulo.Length
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 807
Instrucciones tecnológicas
10.3 Motion Control

ErrorID ErrorInfo Descripción Solución


16#862F Valor no válido para la fecha de configuración de <nombre del eje>.Modulo.StartValue
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#8630 Valor no válido para la fecha de configuración de <nombre del
eje>.Actor.DriveParameter.ReferenceSpeed
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#8631 La resolución fina establecida para Gn_XIST2 no es válida. Valor no válido en <nombre del
eje>.Sensor.Sensor[1].Parameter.FineResolutionXist2
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#8632 El número de revoluciones determinables del encóder no es válido. Valor no válido en <nombre del
eje>.Sensor.Sensor[1].Parameter.DeterminableRevolutions
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#8633 El sentido de aproximación especificado del interruptor de referenciado pasivo no es válido Valor
no válido en <nombre del eje>.Sensor.Sensor[1].PassiveHoming.Direction

16#8634 El parámetro de la vigilancia de error de seguimiento es erróneo. Valor no válido en <nombre del
eje>.FollowingError.MaxValue
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.

Controlador programable S7-1200


808 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

ErrorID ErrorInfo Descripción Solución


16#8635 El parámetro de la vigilancia de error de seguimiento es erróneo. Valor no válido en <nombre del
eje>.FollowingError.MinVelocity
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#8636 El factor del controlador es incorrecto. Valor no válido del factor de control anticipativo de <nombre
del eje>.PositionControl.Kpc
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#8637 Valor no válido para la fecha de configuración de <nombre del
eje>.Sensor.Sensor[1].Interface.Type
16#0011 El valor seleccionado no es válido Descargar al controlador una configuración sin
errores; activar el eje de nuevo con la instrucción
"MC_Power".
16#8638 Valor no válido para la fecha de configuración de <nombre del
eje>.Sensor.Sensor[1].Interface.HSC
16#0011 El valor seleccionado no es válido Descargar al controlador una configuración sin
errores; activar el eje de nuevo con la instrucción
"MC_Power".
16#8639 Error en el accionamiento
16#0049 Error de configuración en el dispositivo Descargar al controlador una configuración sin
errores; activar el eje de nuevo con la instrucción
"MC_Power".
16#004A La tecnología requiere un reloj servo más Error interno del sistema.
pequeño. Comprobar la coherencia del proyecto y volver a
cargarlo en el controlador.
16#004B Driver del dispositivo no inicializado durante el Para activar un objeto tecnológico, el driver del
arranque. actuador debe estar inicializado.
Volver a ejecutar el comando más adelante.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 809
Instrucciones tecnológicas
10.3 Motion Control

ErrorID ErrorInfo Descripción Solución


16#863A La comunicación con el accionamiento ha fallado
16#004C Error de configuración en el dispositivo • Conectar un dispositivo adecuado.
• Comprobar el dispositivo (E/S).
• Comparar la configuración de HW Config y del
objeto tecnológico.
16#004D El driver del dispositivo requiere un reloj servo • Conectar un dispositivo adecuado.
más pequeño.
• Comprobar el dispositivo (E/S).
• Comparar la configuración de HW Config y del
objeto tecnológico.
16#004E Error en la comunicación interna con el dispo- Comprobar la coherencia del proyecto y volver a
sitivo cargarlo en el controlador.
16#863B Error en el encóder
16#0049 Error de configuración en el dispositivo Descargar al controlador una configuración sin
errores; activar el eje de nuevo con la instrucción
"MC_Power".
16#004A La tecnología requiere un reloj servo más Error interno del sistema.
pequeño. Comprobar la coherencia del proyecto y volver a
cargarlo en el controlador.
16#004B Driver del dispositivo no inicializado durante el Para activar un objeto tecnológico, el driver del
arranque. actuador debe estar inicializado.
Volver a ejecutar el comando más adelante.
16#863C La comunicación con el encóder ha fallado
16#004C Error de configuración en el dispositivo • Conectar un dispositivo adecuado.
• Comprobar el dispositivo (E/S).
• Comparar la configuración de HW Config y del
objeto tecnológico.
16#004D El driver del dispositivo requiere un reloj servo • Conectar un dispositivo adecuado.
más pequeño.
• Comprobar el dispositivo (E/S).
• Comparar la configuración de HW Config y del
objeto tecnológico.
16#004E Error en la comunicación interna con el dispo- Comprobar la coherencia del proyecto y volver a
sitivo cargarlo en el controlador.

Controlador programable S7-1200


810 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

ErrorID ErrorInfo Descripción Solución


16#863D La comunicación con el dispositivo (accionamiento o encóder) ha fallado
16#0030 El valor tiene un formato de número incorrecto • Descargar al controlador una configuración sin
o está fuera del rango numérico válido errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online; acusar el
error con la instrucción "MC_Reset" y reiniciar
el comando en caso necesario.
16#0055 La dirección lógica solicitada no es válida. • Conectar un dispositivo adecuado.
16#0056 La dirección lógica de salida solicitada no es • Comprobar el dispositivo (E/S).
válida.
• Comprobar la configuración topológica en HW
16#0057 La dirección lógica de salida solicitada no es Config.
válida.
• Comparar la configuración de HW Config y del
objeto tecnológico.
16#863E El valor de la variable "ControlPanel.Input.TimeOut" no es válido (panel de mando del eje)
16#0030 El valor tiene un formato de número incorrecto Corregir el valor en las variables del objeto tecno-
o está fuera del rango numérico válido lógico <nombre del
eje>.ControlPanel.Input.TimeOut.
El valor se indica en milisegundos (ms).
16#863F Valor no válido para la fecha de configuración de <nombre del
eje>.Actor.DriveParameter.MaxSpeed
16#0030 El valor tiene un formato de número incorrecto Corregir el valor de referencia en el accionamiento
o está fuera del rango numérico válido y en la configuración del objeto tecnológico para
Actuator.MaxSpeed/2.
Con una conexión de accionamiento analógico,
corregir el valor de referencia en el accionamiento
y en la configuración del objeto tecnológico para
Actuator.MaxSpeed/1.17.

Errores de adaptación de datos

ErrorID ErrorInfo Descripción Solución Reacción a error

16#8640 Errores cuando se adapta la configuración del actuador


16#0030 El valor tiene un formato de número Reiniciar Error de adapta-
incorrecto o está fuera del rango ción
numérico válido.
16#0059 El dispositivo no está asignado a Reiniciar Error de adapta-
ninguna unidad de accionamiento ción
SINAMICS o no soporta los servicios
necesarios para la adaptación.
16#005A La adaptación se ha cancelado por Reiniciar Error de adapta-
falta de recursos. ción
16#005B La adaptación es posible solo si el Reiniciar Error de adapta-
dispositivo se ha cableado directa- ción
mente a un área E/S.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 811
Instrucciones tecnológicas
10.3 Motion Control

ErrorID ErrorInfo Descripción Solución Reacción a error

16#005C Velocidad máxima (p1082): El pará- Reiniciar Error de adapta-


metro no existe o su valor no puede ción
leerse o está fuera de los límites
permitidos. Se ha cancelado la lectu-
ra de los parámetros por un error
indicado por el hardware.
16#005D Par/fuerza máximos (p1520): El pa- Reiniciar Error de adapta-
rámetro no existe o su valor no pue- ción
de leerse o está fuera de los límites
permitidos. Se ha cancelado la lectu-
ra de los parámetros por un error
indicado por el hardware.
16#005E Par/fuerza máximos (p1521): El pa- Reiniciar Error de adapta-
rámetro no existe o su valor no pue- ción
de leerse o está fuera de los límites
permitidos. Se ha cancelado la lectu-
ra de los parámetros por un error
indicado por el hardware.
16#005F Límite de par/fuerza para resolución Reiniciar Error de adapta-
fina (p1544): El parámetro no existe o ción
su valor no puede leerse o está fuera
de los límites permitidos. Se ha can-
celado la lectura de los parámetros
por un error indicado por el hardware.
16#0060 Velocidad básica/nominal (p2000): El Reiniciar Error de adapta-
parámetro no existe o su valor no ción
puede leerse o está fuera de los
límites permitidos. Se ha cancelado
la lectura de los parámetros por un
error indicado por el hardware.
16#0061 Par/fuerza nominal (p2003): El pará- Reiniciar Error de adapta-
metro no existe o su valor no puede ción
leerse o está fuera de los límites
permitidos. Se ha cancelado la lectu-
ra de los parámetros por un error
indicado por el hardware.
16#8041 Errores cuando se adapta la configuración del encóder
16#0030 El valor tiene un formato de número Reiniciar Error de adapta-
incorrecto o está fuera del rango ción
numérico válido.
16#005A La adaptación se ha cancelado por Reiniciar Error de adapta-
falta de recursos. ción
16#005B La adaptación es posible solo si el Reiniciar Error de adapta-
dispositivo se ha cableado directa- ción
mente a un área E/S.
16#0059 El dispositivo no está asignado a Reiniciar Error de adapta-
ninguna unidad de accionamiento ción
SINAMICS o no soporta los servicios
necesarios para la adaptación.

Controlador programable S7-1200


812 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

ErrorID ErrorInfo Descripción Solución Reacción a error

16#0062 Sistema de encóder (r0979[1/11].0): Reiniciar Error de adapta-


Un parámetro no existe o su valor no ción
puede leerse o está fuera de los
límites permitidos. Se ha cancelado
la lectura de los parámetros por un
error indicado por el hardware.
16#0063 Resolución del encóder (r0979[2/12]): Reiniciar Error de adapta-
Un parámetro no existe o su valor no ción
puede leerse o está fuera de los
límites permitidos. Se ha cancelado
la lectura de los parámetros por un
error indicado por el hardware.
16#0064 Resolución del encóder Gx_XIST1 Reiniciar Error de adapta-
(r0979[3/13]): Un parámetro no existe ción
o su valor no puede leerse o está
fuera de los límites permitidos. Se ha
cancelado la lectura de los paráme-
tros por un error indicado por el
hardware.
16#0065 Resolución del encóder Gx_XIST2 Reiniciar Error de adapta-
(r0979[4/14]): Un parámetro no existe ción
o su valor no puede leerse o está
fuera de los límites permitidos. Se ha
cancelado la lectura de los paráme-
tros por un error indicado por el
hardware.
16#0066 Número de revoluciones resolubles Reiniciar Error de adapta-
del encóder (r0979[5/15]): Un pará- ción
metro no existe o su valor no puede
leerse o está fuera de los límites
permitidos. Se ha cancelado la lectu-
ra de los parámetros por un error
indicado por el hardware.
16#8642 La configuración se adapta de forma interna
16#0067 1: Valor no admisible para Ac- Resetear Error de configu-
tor.MaxSpeed (Actor.MaxSpeed ración
mayor que 2*Actor.ReferenceSpeed);
solución: en accionamiento, ajuste
P2000 = P1082 por ejemplo.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 813
Instrucciones tecnológicas
10.3 Motion Control

ErrorID ErrorInfo Descripción Solución Reacción a error

16#8643 Incoherencia entre TO y la configuración del accionamiento


16#0068 El tipo de telegrama configurado no Resetear Error de configu-
es compatible con el tipo de telegra- ración
ma del dispositivo (P922 o P2079).
16#0069 La resolución del par no es compati- Resetear Error de configu-
ble. ración
16#006A La hora del período básico del ciclo Resetear Error de configu-
de aplicación del maestro no es idén- ración
tica a la del reloj servo.
16#006B El reloj de procesamiento del objeto Resetear Error de configu-
tecnológico no es idéntico al ciclo de ración
aplicación del accionamiento.
16#006C En el accionamiento se ha ajustado Resetear Error de configu-
un módulo de función con motor ración
lineal.
16#8644 Incoherencia entre TO y la configuración del encóder
16#0068 El tipo de telegrama configurado no Resetear Error de configu-
es compatible con el tipo de telegra- ración
ma del dispositivo (P922 o P2079).
16#006A La hora del período básico del ciclo Resetear Error de configu-
de aplicación del maestro no es idén- ración
tica a la del reloj servo.
16#006B El reloj de procesamiento del objeto Resetear Error de configu-
tecnológico no es idéntico al ciclo de ración
aplicación del accionamiento.
16#006D El encóder en el accionamiento no es Resetear Error de configu-
un encóder de valor absoluto (P979). ración
16#8645 La velocidad máxima no puede conseguirse con los parámetros ajustados del accionamiento y del
eje
16#0001 General Resetear Error de configu-
ración

Controlador programable S7-1200


814 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Instrucciones tecnológicas
10.3 Motion Control

Error de configuración de la tabla de comandos

ErrorID ErrorInfo Descripción Solución


16#8700 El valor de "Tipo de comando" en la tabla de comandos no es válido
16#0001 - • Descargar al controlador una configuración sin
errores; activar el eje de nuevo con la instruc-
ción "MC_Power".
• Corregir el valor incorrecto online y reiniciar el
comando en caso necesario.
16#8701 El valor de "Posición / trayectoria" en la tabla de comandos no es válido
16#0002 El valor no es un número válido • Descargar al controlador una configuración sin
16#0005 El valor está fuera del rango numérico (mayor errores; activar el eje de nuevo con la instruc-
que 1E+12) ción "MC_Power".
16#0006 El valor está fuera del rango numérico (menor • Corregir el valor incorrecto online y reiniciar el
que 1E+12) comando en caso necesario.
16#8702 El valor de "Velocidad" en la tabla de comandos no es válido
16#0002 El valor no es un número válido • Descargar al controlador una configuración sin
16#0008 El valor es mayor que la velocidad máxima errores; activar el eje de nuevo con la instruc-
configurada ción "MC_Power".
16#0009 El valor es menor que la velocidad de arran- • Corregir el valor incorrecto online y reiniciar el
que/parada configurada comando en caso necesario.
16#8703 El valor de "Duración" en la tabla de comandos no es válido
16#0002 El valor no es un número válido • Descargar al controlador una configuración sin
16#0021 El valor es mayor que 64800 s errores; activar el eje de nuevo con la instruc-
16#0022 El valor es menor que 0,001 s ción "MC_Power".
• Corregir el valor incorrecto online y reiniciar el
comando en caso necesario.
16#8704 El valor de "Próxima etapa" en la tabla de comandos no es válido
16#0011 El valor seleccionado no es válido • Descargar al controlador una configuración sin
16#0023 La transición no está permitida para este co- errores; activar el eje de nuevo con la instruc-
mando ción "MC_Power".
• Corregir el valor incorrecto online y reiniciar el
comando en caso necesario.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 815
Instrucciones tecnológicas
10.3 Motion Control

Errores internos

ErrorID ErrorInfo Descripción Solución


16#8FFF Error interno
16#F0** - Desconectar y conectar (POWER OFF/ON) la
CPU
Si esto no funcionara, ponerse en contacto con el
Customer Support. Tener la información siguiente
a mano:
• ErrorID
• ErrorInfo
• Entradas del búfer de diagnóstico

Controlador programable S7-1200


816 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación 11
S7-1200 ofrece varios tipos de comunicación entre CPU, y programadoras, HMI y otras
CPU.

ADVERTENCIA
Si un atacante puede acceder físicamente a las redes, posiblemente podrá leer y escribir
datos.
El TIA Portal, la CPU y los HMIs (excepto los que utilizan GET/PUT) utilizan comunicación
segura con protección contra reproducción y ataques "man-in-the-middle". Una vez que la
comunicación está habilitada, el intercambio de los mensajes firmados se desarrolla en
texto claro, lo que permite a cualquier atacante leer los datos, pero protege contra la
escritura no autorizada de datos. El TIA Portal, no el proceso de comunicación, encripta los
datos de los bloques con protección de know-how.
Todas las formas de comunicación restantes (intercambio E/S a través de PROFIBUS,
PROFINET, AS-i u otro bus E/S, GET/PUT, bloque T y módulos de comunicación (CM))
carecen de funciones de seguridad. Este tipo de comunicaciones deben protegerse
limitando el acceso físico. Si un atacante puede acceder físicamente a las redes con estos
tipos de comunicación, posiblemente pueda leer y escribir datos.
Para más información sobre seguridad y recomendaciones, consulte nuestras "Guías
operacionales sobre seguridad industrial"
(http://www.industry.siemens.com/topics/global/en/industrial-
security/Documents/operational_guidelines_industrial_security_en.pdf) en la página de
atención al cliente de Siemens.

PROFINET
PROFINET se usa para intercambiar datos a través del programa de usuario con otros
interlocutores vía Ethernet:
● En el S7-1200, PROFINET soporta 16 dispositivos E/S con un máximo de 256
submódulos, y PROFIBUS admite 3 maestros PROFIBUS DP independientes, con 32
esclavos por maestro DP y un máximo de 512 módulos por maestro DP.
● Comunicación S7
● Protocolo User Datagram Protocol (UDP)
● ISO on TCP (RFC 1006)
● Transport Control Protocol (TCP)

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 817
Comunicación

Controlador PROFINET IO
En calidad de controlador IO que utiliza PROFINET IO, la CPU se comunica con un máximo
de 16 dispositivos PN en la red PN local o a través de un acoplador PN/PN (link). Véase
PROFIBUS and PROFINET International, PI (www.profinet.com) para más información.

PROFIBUS
PROFIBUS se usa para intercambiar datos a través del programa de usuario con otros
interlocutores a través de la red PROFIBUS:
● Con CM 1242-5 la CPU funciona como esclavo PROFIBUS DP.
● Con CM 1243-5 la CPU funciona como maestro PROFIBUS DP de clase 1.
● Los esclavos PROFIBUS DP, los maestros PROFIBUS DP, así como AS-i (los tres
módulos de comunicación del lado izquierdo) y PROFINET son redes de comunicación
separadas que no se limitan unas a otras.

AS-i
el CM 1243-2 maestro AS-i del S7-1200 permite conectar una red AS-i a una CPU S7-1200.

Comunicación S7 de CPU a CPU


Se puede crear una conexión con un interlocutor y utilizar las instrucciones GET y PUT para
la comunicación con CPUs S7.

Comunicación TeleService
En TeleService vía GPRS, una estación de ingeniería en la que está instalado STEP 7 se
comunica mediante la red GSM e Internet con una estación SIMATIC S7-1200 con un CP
1242-7. La conexión se ejecuta mediante un servidor de telecontrol que actúa de
intermediario y que está conectado a Internet.

IO-Link
El maestro S7-1200 SM 1278 4xIO-Link permite a los dispositivos IO-Link conectarse con un
S7-1200 CPU.

Controlador programable S7-1200


818 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.1 Conexiones de comunicación asíncronas

11.1 Conexiones de comunicación asíncronas

Sinopsis de los servicios de comunicación


La CPU soporta los siguientes servicios de comunicación:

Servicio de comunica- Funcionalidad Con PROFIBUS DP Con Et-


ción Módulo Módulo hernet
maestro CM esclavo
1243-5 DP CM 1242-5
DP
Comunicación PG Puesta en marcha, test y diagnós- Sí No Sí
tico
Comunicación HMI Manejo y visualización Sí No Sí
Comunicación S7 Intercambio de datos utilizando Sí No Sí
conexiones configuradas
Routing de funciones Por ejemplo, test y diagnóstico No No No
PG más allá de los límites de la red
PROFIBUS DP Intercambio de datos entre maes- Sí Sí No
tro y esclavo
PROFINET IO Intercambio de datos entre contro- No No Sí
ladores IO y dispositivos IO
Servidor web Diagnóstico No No Sí
SNMP 1 Protocolo estándar para diagnósti- No No Sí
(Simple Network Ma- co y parametrización de la red
nagement Protocol)
Routing S7 Mediante las tablas de routing, los No No Sí
interlocutores de la comunicación
pueden comunicarse con cada uno
de los dispositivos, aunque estos
estén en subredes S7 distintas.
Comunicación abierta Intercambio de datos vía Industrial No No Sí
vía TCP/IP Ethernet con protocolo TCP/IP
(con FB cargables)
Comunicación abierta Intercambio de datos vía Industrial No No Sí
vía ISO on TCP Ethernet con protocolo ISO on
TCP (con FB cargables)
Comunicación abierta Intercambio de datos vía Industrial No No Sí
vía UDP Ethernet con protocolo UDP (con
FB cargables)
1 La CPU soporta SNMP V1 sin traps.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 819
Comunicación
11.1 Conexiones de comunicación asíncronas

Conexiones disponibles
La CPU soporta el siguiente número máximo de conexiones de comunicación asíncronas
simultáneas para PROFINET y PROFIBUS. El número máximo de recursos de conexión
asignados a cada categoría es fijo y no puede modificarse. Sin embargo, es posible
configurar las 6 "conexiones libres disponibles" para aumentar el número de cualquier
categoría tal y como requiere su aplicación.

Nota
El número total de conexiones de comunicación del S7-1200 no aumenta al agregar
módulos CM/CP.

En función de los recursos de conexión asignados está disponible el siguiente número de


conexiones por dispositivo:

Programadora Interfaz hombre- Servi- Open User Navegador web


(PG) máquina (HMI) dor/cliente Communica-
GET/PUT tions
Nº máx. 4 12 8 8 30
de recur- (se garantiza el (se garantiza (se garantiza
sos soporte de el soporte de el soporte de
de cone- 1 programadora) 4 dispositivos 3 navegadores
xión HMI) web)

Una CPU, por ejemplo, tiene disponibles cuatro recursos de conexión de una programadora.
Según sean las funciones de programadora que se utilicen, esta puede utilizar uno, dos o
tres de los recursos de conexión disponibles. Si una programadora utiliza un recurso de
conexión para sus funciones actuales y otra utiliza tres, se podrán utilizar dos
programadoras simultáneamente. Siempre se garantiza como mínimo la conexión de una
programadora.

Controlador programable S7-1200


820 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.1 Conexiones de comunicación asíncronas

Otro ejemplo es el número de HMI, tal como se muestra en la figura inferior. Los dispositivos
HMI disponen de 12 recursos de conexión. Según sea el tipo o modelo de HMI disponible y
las funciones HMI que se utilicen, cada HMI podría utilizar uno, dos o tres de sus recursos
de conexión disponibles. En función del número de recursos de conexión disponibles que se
utilicen, existe la posibilidad de utilizar más de cuatro dispositivos HMI a la vez. Sin
embargo, siempre se garantiza la conexión de cuatro dispositivos HMI como mínimo. Un
HMI puede emplear sus recursos de conexión disponibles (uno en cada caso de un total de
tres) para las funciones siguientes:
● leer
● escribir
● alarmas más diagnóstico
Esto es solo un ejemplo. El número real de conexiones utilizadas puede varias según el tipo
y la versión de HMI.

Ejemplo HMI 1 HMI 2 HMI 3 HMI 4 HMI 5 Total de


recursos de
conexión
disponibles
Recursos de 2 2 2 3 3 12
conexión
utilizados

Nota
Conexiones de servidor web (HTTP): la CPU proporciona conexiones para varios
navegadores web. El número de navegadores que soporta la CPU simultáneamente
depende de las conexiones que solicite o utilice un navegador web concreto.

Nota
Las conexiones de comunicación de Open User Communication, S7, HMI, programadora y
servidor web (HTTP) pueden aprovechar varios de los recursos de conexión basados en las
funciones que se están usando actualmente.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 821
Comunicación
11.2 PROFINET

11.2 PROFINET
La CPU se puede comunicar con otras CPUs, con programadoras, con dispositivos HMI y
con dispositivos no Siemens que utilicen protocolos de comunicación TCP estándar.

Programadora conectada a la CPU

HMI conectado a la CPU

Una CPU conectada a otra CPU

Conmutación Ethernet
Las CPU 1211C, 1212C y 1214C tienen un solo puerto Ethernet y no incluyen un switch
Ethernet integrado. Una conexión directa entre una programadora o HMI y una CPU no
requiere un conmutador Ethernet. Sin embargo, una red con más de dos CPUs o
dispositivos HMI sí requiere un conmutador Ethernet.

① CPU 1215C

② CSM1277 Ether-
net switch

Controlador programable S7-1200


822 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

La CPU 1215C y la CPU 1217C cuentan con un switch Ethernet de 2 puertos incorporado.
Se puede tener una red con una CPU 1215C y otras dos CPU S7-1200. También puede
utilizarse el switch Ethernet de 4 puertos CSM1277 de montaje en rack para conectar varias
CPU y dispositivos HMI.

11.2.1 Crear una conexión de red


Utilice la "Vista de red" de la "Configuración de dispositivos" para crear las conexiones de
red entre los dispositivos del proyecto. Tras crear la conexión de red, utilice la ficha
"Propiedades" de la ventana de inspección para configurar los parámetros de la red.

Tabla 11- 1 Crear una conexión de red

Acción Resultado
Seleccione "Vista de red" para visua-
lizar los dispositivos que deben co-
nectarse.

Seleccione el puerto de uno de los


dispositivos y arrastre la conexión
hasta el puerto del otro dispositivo.

Suelte el botón del ratón para crear


la conexión de red.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 823
Comunicación
11.2 PROFINET

11.2.2 Configurar la vía de conexión local/de interlocutor


Una conexión local/interlocutor (remoto) define una asignación lógica de dos interlocutores
para establecer servicios de comunicación. Una conexión define lo siguiente:
● Interlocutores involucrados (uno activo, otro pasivo)
● Tipo de conexión (por ejemplo una conexión de PLC, HMI o dispositivo)
● Ruta de conexión
Los interlocutores ejecutan las instrucciones necesarias para configurar y establecer la
conexión. El punto final activo y el punto final pasivo de la comunicación se especifican
mediante parámetros. Una vez configurada y establecida la conexión, la CPU la mantiene y
la vigila automáticamente.
Si la conexión finaliza (p. ej. debido a una interrupción de la línea), el interlocutor activo
intenta restablecer la conexión configurada. No es necesario volver a ejecutar la instrucción.

Rutas de conexión
Después de insertar una instrucción TSEND_C, TRCV_C o TCON en el programa de
usuario, la ventana del inspector mostrará las propiedades de la conexión una vez que haya
seleccionado cualquier parte de la instrucción. Los parámetros de comunicación se
especifican en la ficha "Configuración" de "Propiedades" de la instrucción de comunicación.

Tabla 11- 2 Configurar la ruta de conexión (mediante las propiedades de la instrucción)

TCP, ISO on TCP y UDP Propiedades de la conexión


Para los protocolos de Ethernet TCP, ISO on
TCP y UDP, utilice las "Propiedades" de la ins-
trucción (TSEND_C, TRCV_C o TCON) para
configurar las conexiones "local/interlocutor".
La figura muestra las "Propiedades de conexión"
de la ficha "Configuración" en el caso de una
conexión ISO on TCP.

Controlador programable S7-1200


824 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Nota
Cuando se configuran las propiedades de conexión de una CPU, STEP 7 permite
seleccionar un DB de conexión específico en la CPU interlocutora (si hay alguno) o bien
crear el DB de conexión para la CPU interlocutora. La CPU interlocutora ya debe estar
creada en el proyecto y no puede ser una CPU "sin especificar".
Todavía hay que insertar una instrucción TSEND_C, TRCV_C o TCON en el programa de
usuario de la CPU interlocutora. Al insertar la instrucción, seleccione el DB de conexión que
se creó durante la configuración.

Tabla 11- 3 Configurar la ruta de conexión para la comunicación S7 (configuración del dispositivo)

Comunicación S7 (GET y PUT) Propiedades de la conexión


Para la comunicación S7, utilice el editor "Dispo-
sitivos y redes" de la red para configurar las
conexiones local/interlocutor. Haga clic en el
botón "Resaltado: conexión" para acceder a las
"Propiedades".
La ficha "General" ofrece varias propiedades:
• "General" (la que se muestra)
• "ID local"
• "Propiedades de conexión especiales"
• "Detalles de direcciones" (la que se muestra)

Consulte los "Protocolos" (Página 842) de la sección "PROFINET" o "Crear una conexión
S7" (Página 1008) en la sección "Comunicación S7 para obtener más información y una lista
de las instrucciones de comunicación disponibles.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 825
Comunicación
11.2 PROFINET

Tabla 11- 4 Parámetros para la conexión múltiple de CPU

Parámetro Definición
Dirección Direcciones IP asignadas
General Punto final Nombre asignado a la CPU interlocutora (receptora)
Interfaz Nombre asignado a las interfaces
Subred Nombre asignado a las subredes
Tipo de interfaz Solo comunicación S7: Tipo de interfaz
Tipo de conexión Tipo de protocolo Ethernet
ID de conexión Número de ID
Datos de conexión Ubicación de almacenamiento de datos de las CPUs local e interlocutora
Establecer una conexión Botón de opción para seleccionar la CPU local o interlocutora como conexión
activa activa
Detalles de Punto final Solo comunicación S7: Nombre asignado a la CPU interlocutora (receptora)
dirección Rack/slot Solo comunicación S7: Ubicación de rack y slot
Recurso de conexión Solo comunicación S7: Componente de TSAP que se utiliza en la configura-
ción de una conexión S7 con una CPU S7-300 o S7-400
Puerto (decimal): TCP y UPD: Puerto de la CPU interlocutora en formato decimal
TSAP1 e ID de subred: ISO on TCP (RFC 1006) y comunicación S7: TSAPs de las CPUs local e
interlocutora en formato ASCII y hexadecimal
1 Al configurar una conexión con una CPU S7-1200 para ISO on TCP, utilice solo caracteres ASCII en la extensión TSAP
para los interlocutores pasivos.

Transport Service Access Points (TSAPs)


El uso de TSAP, el protocolo ISO on TCP y la comunicación S7 permite conexiones
múltiples con una dirección IP única. Los TSAPs identifican unívocamente estas conexiones
de puntos finales de comunicación a una dirección IP.
En el área "Detalles de dirección" del diálogo "Parámetros de la conexión" se definen los
TSAPs que deben utilizarse. El TSAP de una conexión en la CPU se introduce en el campo
"TSAP local". El TSAP asignado a la conexión en la CPU interlocutora se introduce en el
campo "TSAP del interlocutor".

Números de puerto
Con los protocolos TCP y UDP, la configuración de los parámetros de conexión de la CPU
local (activa) debe especificar la dirección IP remota y el número de puerto de la CPU
interlocutora (pasiva).
En el área "Detalles de dirección" del diálogo "Parámetros de la conexión" se definen los
puertos que deben utilizarse. El puerto de una conexión en la CPU se introduce en el campo
"Puerto local". El puerto asignado a la conexión en la CPU interlocutora se introduce en el
campo "Puerto del interlocutor".

Controlador programable S7-1200


826 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

11.2.3 Asignar direcciones IP (Internet Protocol)

11.2.3.1 Asignar direcciones IP a los dispositivos de programación y red


Si la programadora utiliza un adaptador integrado conectado a la VLAN de la planta, tanto la
programadora como la CPU deben estar en la misma subred. La subred se asigna
combinando la dirección IP con la máscara de subred del dispositivo. Consulte a su
administrador de red local si necesita ayuda.
El ID de red equivale a los tres primeros octetos de la dirección IP, p. ej. 211.154.184.16.
Este ID de red identifica la red IP de forma unívoca. La máscara de subred suele tener un
valor de 255.255.255.0. No obstante, puesto que el equipo está integrado en una LAN
corporativa, la máscara de subred puede tener distintos valores, p. ej. 255.255.254.0, para
configurar subredes unívocas. La máscara de subred, combinada con la dirección IP del
dispositivo y una combinación lógica Y, define los límites de una subred IP.

Nota
En Internet, puesto que las programadoras, dispositivos de red y routers IP se comunican
con el mundo entero, debe asignar direcciones IP unívocas para evitar conflictos con otros
usuarios de la red. Contacte con los especialistas del departamento IT de su empresa, que
están familiarizados con la red corporativa, para asignar las direcciones IP.

ADVERTENCIA
Acceso no autorizado a la CPU mediante el servidor web
El acceso no autorizado a la CPU o el cambio de variables PLC a valores no válidos puede
afectar al funcionamiento del proceso y puede producir la muerte, lesiones corporales
graves o daños materiales.
La habilitación del servidor web permite a los usuarios autorizados realizar cambios de
estado operativo, escrituras en datos de PLC y actualizaciones de firmware. Siemens
recomienda observar estas prácticas de seguridad:
• Permitir el acceso al servidor web solo con el protocolo HTTPS.
• Proteger con contraseña los ID de usuario del servidor web (Página 1023) utilizando
una contraseña segura. Las contraseñas seguras tienen diez caracteres como mínimo,
constan de letras, números y caracteres especiales, no son palabras que puedan
encontrarse en un diccionario, ni son nombres ni identificadores que puedan derivarse a
partir de información personal. La contraseña debe mantenerse en secreto y cambiarse
con frecuencia.
• No extender los privilegios mínimos predeterminados del usuario "Todos".
• Realice comprobaciones de errores y de rango de las variables usadas en la lógica del
programa, puesto que los usuarios de páginas web pueden cambiar variables PLC a
valores no válidos.

Nota
Un adaptador de red secundario sirve para cuando la CPU no debe estar en la LAN
corporativa. Esta opción es especialmente útil durante la comprobación inicial o los tests de
puesta en marcha.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 827
Comunicación
11.2 PROFINET

Asignar o comprobar la dirección IP de la programadora utilizando "Mis sitios de red" (en el


Escritorio)
Para asignar o comprobar la dirección IP de las programadoras, proceda del siguiente
modo:
1. Abra el panel de control desde el menú Inicio.
2. Abra el "Centro de redes y recursos compartidos" y elija "Conexión de área local" para el
adaptador de red conectado a la CPU
3. Haga clic en "Propiedades" en el cuadro de diálogo "Estado de conexión de área local".
4. En el cuadro de diálogo "Propiedades de conexión de área local", elija "Versión de
protocolo de Internet 4 (TCP/IPv4)" para el campo "Esta conexión usa los siguientes
elementos:".
5. Haga clic en el botón "Propiedades".
6. Seleccione "Obtener una dirección IP automáticamente" o seleccione "Usar la siguiente
dirección IP" para introducir una dirección IP estática.
7. Si ha seleccionado "Usar la siguiente dirección IP", configure la dirección IP y la máscara
de subred:
– Ajuste la dirección IP para que utilice el mismo ID de red y la misma submáscara que
la CPU. Por ejemplo, si la dirección IP de la CPU es 192.168.0.1, se puede ajustar la
dirección IP a 192.168.0.200.
– Seleccione una máscara de subred 255.255.255.0.
– Deje la pasarela predeterminada vacía.
Ahora ya se puede conectar a la CPU.

Nota
La tarjeta de interfaz de red y la CPU deben estar en la misma subred para que STEP 7
encuentre la CPU y se comunique con ella.

Consulte el personal de TI para que le ayude a configurar la red de modo que sea posible
conectarse con la CPU S7-1200.

Controlador programable S7-1200


828 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

11.2.3.2 Comprobar la dirección IP de la programadora


Las direcciones MAC e IP de la programadora pueden consultarse con los siguientes
comandos de menú:
1. En el "Árbol del proyecto", expanda "Acceso online".
2. Haga clic con el botón derecho en la red en cuestión y seleccione "Propiedades".
3. En el diálogo de la red, expanda "Configuraciones" y seleccione "Industrial Ethernet".
Se muestran las direcciones MAC e IP de la programadora.

11.2.3.3 Asignar una dirección IP a una CPU online


Es posible asignar una dirección IP a un dispositivo de red online. Esto es especialmente útil
al configurar los dispositivos por primera vez.

1. En el árbol del proyecto, verifi-


que que la CPU no tiene una di-
rección IP configurada. Expanda
"Acceso online" > <Tarjeta de
adaptador para la red en la que
está ubicado el dispositivo y haga
doble clic en "Actualizar dispositi-
vos accesibles".
Si STEP 7 muestra una dirección
MAC en lugar de una dirección IP,
no se ha asignado ninguna direc-
ción IP.
2. En el dispositivo accesible en
cuestión, haga doble clic en "Onli-
ne y diagnóstico"

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 829
Comunicación
11.2 PROFINET

3. En el cuadro de diálogo "Online


y diagnóstico", elija "Funciones" >
"Asignar dirección IP".

4. En el campo "Dirección IP",


introduzca la nueva dirección IP y
haga clic en el botón "Asignar
dirección IP".

5. En el árbol del proyecto, verifi-


que que STEP 7 ha asignado la
nueva dirección IP a la CPU.
Haga doble clic en "Actualizar
dispositivos accesibles" para vi-
sualizar la dirección IP que ha
configurado.

Controlador programable S7-1200


830 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

11.2.3.4 Configurar una dirección IP para una CPU en el proyecto

Configurar la interfaz PROFINET


Para configurar parámetros para la interfaz PROFINET, seleccione la casilla PROFINET
verde en la CPU. La ficha "Propiedades" de la ventana de inspección muestra el puerto
PROFINET.

① Puerto PROFINET

Configurar la dirección IP
Dirección Ethernet (MAC): Todo dispositivo de una red PROFINET recibe una dirección
MAC (Media Access Control o control de acceso al medio) del fabricante para su
identificación. Una dirección MAC consta de seis grupos de dos dígitos hexadecimales,
separados por guiones (-) o dos puntos (:), en orden de transmisión (p. ej. 01-23-45-67-89-
AB o 01:23:45:67:89:AB).
Dirección IP: Todo dispositivo debe tener también una dirección IP (Internet Protocol o
Protocolo Internet). Esta dirección permite al dispositivo transferir datos a través de una red
enrutada y más compleja.
Toda dirección IP se divide en cuatro segmentos de ocho bits (octetos) y se expresa en
formato decimal separado por puntos (p. ej. 211.154.184.16). La primera parte de la
dirección IP se utiliza para la ID de red (¿en qué red se encuentra?) y, la segunda, para la
ID del host (unívoca para cada dispositivo de la red). Una dirección IP 192.168.x.y es una
designación estándar reconocida como parte de una red privada que no se enruta vía
Internet.
Máscara de subred: Una subred es una agrupación lógica de dispositivos de red
conectados. Generalmente, los nodos de una subred están próximos físicamente en una red
de área local (LAN). Una máscara (denominada "máscara de subred" o "máscara de red")
define los límites de una subred IP.
Generalmente, una máscara de subred 255.255.255.0 se adecúa para una red local
pequeña. Esto significa que los 3 primeros octetos de todas las direcciones IP de esta red
deberían ser iguales. Los diferentes dispositivos de la red se identifican mediante el último
octeto (campo de 8 bits). Por ejemplo, es posible asignar la máscara de subred
255.255.255.0 y direcciones IP comprendidas entre 192.168.2.0 y 192.168.2.255 a los
dispositivos de una red local pequeña.
La única conexión entre las diferentes subredes se realiza a través de un router. Si se
utilizan subredes, es preciso utilizar un router IP.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 831
Comunicación
11.2 PROFINET

Router IP: Los routers interconectan las distintas LANs. Si se utiliza un router, un equipo de
una LAN puede enviar mensajes a otras redes que, a su vez, pertenezcan a otras LANs. Si
el destino de los datos se encuentra fuera de la LAN, el router reenvía los datos a otra red o
grupo de redes desde donde pueden transferirse a su destino.
Los routers necesitan direcciones IP para poder transferir y recibir paquetes de datos.

Propiedades de direcciones
IP: En la ventana de pro-
piedades, seleccione la
entrada de configuración
"Direcciones Ethernet".
STEP 7 muestra el diálogo
de configuración de direc-
ciones Ethernet, en el que
el proyecto de software se
asocia a la dirección IP de
la CPU que lo recibirá.

Tabla 11- 5 Parámetros para la dirección IP

Parámetro Descripción
Subred Nombre de la subred a la que está conectada el dispositivo. Haga clic en el botón "Agregar nueva su-
bred" para crear una subred nueva. La opción predeterminada es "No conectado". Son posibles dos
tipos de conexión:
• El ajuste predeterminado "no conectado" ofrece una conexión local.
• Una subred se requiere cuando la red comprende dos o más dispositivos.
Protocolo IP Dirección IP Dirección IP asignada a la CPU
Máscara de subred Máscara de subred asignada
Utilizar router IP Haga clic en esta casilla de verificación para indicar el uso de un router IP
Dirección del router Dirección IP asignada al router (si es aplicable)

Controlador programable S7-1200


832 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Nota
Todas las direcciones IP se configuran al cargar el proyecto en el dispositivo. Dado que la
CPU no dispone de una dirección IP preconfigurada, es necesario asociar el proyecto con la
dirección MAC del dispositivo de destino. Si la CPU está conectada a un router de la red,
también es preciso introducir la dirección IP del router.
El botón de opción "Asignar dirección IP por otra vía" permite cambiar la dirección IP online
o mediante la instrucción "T_CONFIG (Página 916)" después de descargar el programa.
Este método de asignación de la dirección IP solo sirve para la CPU.

ADVERTENCIA
Carga de una configuración de hardware con "Asignar dirección IP por otra vía"
Tras descargar una configuración de hardware con la opción "Asignar dirección IP por otra
vía" habilitada, no se puede conmutar el estado operativo de la CPU de RUN a STOP o de
STOP a RUN.
El equipo del usuario seguirá funcionando en estas condiciones y puede causar
operaciones imprevistas de la máquina o el proceso, provocando como resultado daños
materiales, lesiones corporales graves o incluso la muerte si no se toman las medidas
adecuadas.
Asegúrese de que las direcciones IP de la CPU se han establecido anteriormente
utilizando la CPU en un entorno de automatización actual. Esto puede hacerse utilizando el
paquete de programación STEP 7, la herramienta SIMATIC Automation Tool o un
dispositivo HMI conectado conjuntamente con la instrucción T_CONFIG.

ADVERTENCIA
Condición en la que la red PROFINET puede detenerse
Al modificar la dirección IP de una CPU online o desde el programa de usuario, puede
crear una condición en la que se detenga la red PROFINET.
Si la dirección IP de una CPU cambia a una dirección IP fuera de la subred, la red
PROFINET perderá la comunicación y se detendrá todo intercambio de datos. Existe la
posibilidad de configurar el equipo del usuario para que siga funcionando en estas
condiciones. La pérdida de la comunicación PROFINET puede causar operaciones
imprevistas de la máquina o el proceso con el resultado de muerte, lesiones corporales
graves o daños materiales si no se toman las precauciones adecuadas.
Si hay que cambiar manualmente la dirección IP, asegúrese de que la nueva dirección IP
está dentro de la subred.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 833
Comunicación
11.2 PROFINET

Configurar el puerto PROFINET


En el ajuste predeterminado, la CPU configura el o los puertos de la interfaz PROFINET
para autonegotiation. Para que la autonegotiation funcione debidamente, hay que configurar
las dos estaciones para que negocien. Si una estación tiene una configuración fija (p. ej.
dúplex a 100 Mbps) y la otra estación está ajustada para negociar, la autonegotiation falla y
el resultado es una operación semidúplex.
Para superar esta limitación de la autonegotiation, el S7-1200 ofrece una opción que la
desactiva. Al desactivar la autonegotiation, el S7-1200 se configura automáticamente para la
operación dúplex a 100 Mbps.
Es posible ajustar la velocidad de transferencia y el modo dúplex a un valor fijo para cada
puerto:
1. Seleccione las opciones avanzadas y el puerto que desea configurar. A continuación,
seleccione las opciones de puerto.
2. En el campo Conexión, Velocidad de transferencia / dúplex, seleccione una de las
opciones siguientes:
– Automático: La CPU y el dispositivo parejo determinan la velocidad de transferencia y
el modo dúplex del puerto mediante autonegotiation.
– TP 100 Mbps dúplex: Si se desactiva la autonegotiation, el puerto opera a 100 Mbps
dúplex. Si se activa la autonegotiation, el puerto puede operar a 100 Mbps dúplex o a
otra velocidad de transferencia / dúplex que se negocie entre la CPU y el dispositivo
parejo (que deposita un aviso en el búfer de diagnóstico si está seleccionado
"Monitor" (véase más abajo)).

Controlador programable S7-1200


834 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

3. Monitor: Cuando se selecciona esta casilla de verificación, se deposita un aviso en el


búfer de diagnóstico en caso de que se produzca uno de los casos siguientes en el
puerto:
– No es posible establecer una conexión en el puerto
– Una conexión establecida falla
– Se selecciona "TP 100 Mbps dúplex" para la velocidad de transferencia / dúplex y la
CPU establece una conexión utilizando autonegotiation con una velocidad de
transferencia negociada diferente de 100 Mbps o el modo dúplex negociado igual a
semidúplex.
4. Activar autonegotiation: Una vez se ha establecido el campo de velocidad de
transferencia / dúplex a dúplex a 100 Mbps ya puede desactivarse la autonegotiation.
Deseleccione la casilla de verificación "Activar autonegotiation" para desactivar la
autonegotiation.

Nota
Si no se desactiva la autonegotiation, la CPU y el dispositivo parejo negocian la
velocidad de transferencia y el modo dúplex del puerto.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 835
Comunicación
11.2 PROFINET

11.2.4 Comprobar la red PROFINET


Tras finalizar la configuración, cargue el proyecto (Página 221) en la CPU. Todas las
direcciones IP se configuran al cargar el proyecto en el dispositivo.

Asignar una dirección IP a un dispositivo online


La CPU S7-1200 no tiene dirección IP preconfigurada. La dirección IP de la CPU se debe
asignar manualmente:
● Para asignar una dirección IP a un dispositivo online, véase "Configuración de
dispositivos: Asignar una dirección IP a una CPU online" (Página 829) para conocer el
procedimiento paso a paso.
● Para asignar una dirección IP en el proyecto, es preciso configurarla en la "Configuración
de dispositivos", guardar la configuración y cargarla en el PLC. Véase "Configuración de
dispositivos: Configurar una dirección IP para una CPU en el proyecto" (Página 831) para
más información.

Controlador programable S7-1200


836 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Utilizar el diálogo "Carga avanzada" para comprobar los dispositivos de red conectados
La función de la CPU S7-1200 "Cargar en dispositivo" y su diálogo "Carga avanzada"
permiten visualizar todos los dispositivos de red accesibles y verificar si se han asignado
direcciones IP unívocas a todos ellos. Para visualizar todos los dispositivos accesibles y
disponibles con sus respectivas direcciones MAC o IP asignadas, active la casilla de
verificación "Mostrar dispositivos accesibles".

Si el dispositivo de red deseado no se encuentra en esta lista, la comunicación con ese


dispositivo se habrá interrumpido por algún motivo. En este caso es preciso examinar el
dispositivo y la red para buscar errores de hardware y/o configuración.

11.2.5 Localizar la dirección Ethernet (MAC) en la CPU


En las redes PROFINET, una dirección MAC (Media Access Control o control de acceso al
medio) es un identificador que el fabricante asigna a la interfaz de red para su identificación.
Generalmente, una dirección MAC codifica el número de identificación registrado del
fabricante.
El formato estándar (IEEE 802.3) permite imprimir direcciones MAC de forma amigable y
consta de seis grupos de dos dígitos hexadecimales, separados por guiones (-) o dos
puntos (:), en orden de transmisión (p. ej. 01-23-45-67-89-ab ó 01:23:45:67:89:ab).

Nota
Toda CPU se suministra de fábrica con una dirección MAC unívoca y permanente. La
dirección MAC de la CPU no se puede cambiar.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 837
Comunicación
11.2 PROFINET

La dirección MAC está impresa en la esquina inferior izquierda en el frente de la CPU. Para
ver la información de la dirección MAC es necesario abrir la tapa inferior.

① Dirección MAC

Inicialmente, la CPU no tiene dirección IP, sino sólo una dirección MAC ajustada de fábrica.
Para la comunicación PROFINET es necesario que todos los dispositivos tengan asignada
una dirección IP unívoca.

La función de la CPU "Cargar en


dispositivo" y el diálogo "Carga
avanzada en dispositivo" permiten
visualizar todos los dispositivos
de red accesibles y asegurar que
se han asignado direcciones IP
unívocas a todos ellos. Este diá-
logo muestra todos los dispositi-
vos accesibles y disponibles con
sus respectivas direcciones MAC
o IP asignadas. Las direcciones
MAC son especialmente impor-
tantes para identificar dispositivos
que no disponen de la dirección
IP unívoca necesaria.

Controlador programable S7-1200


838 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

11.2.6 Configurar la sincronización del Network Time Protocol (NTP)

ADVERTENCIA
Riesgo de ataques a las redes mediante la sincronización del Network Time Protocol
(NTP)
Si un atacante puede acceder a las redes por sincronización del Network Time Protocol
(NTP), posiblemente alterará el control del proceso cambiando la hora del sistema de la
CPU. Las alteraciones en el control del proceso pueden causar la muerte, heridas graves o
daños materiales.
La CPU S7-1200 deshabilita la función de cliente NTP de forma predeterminada. Si habilita
la función NTP, solo la dirección IP que ha configurado podrá actuar como servidor NTP.
Hay que configurar la función NTP de modo que permita corregir la hora del sistema de la
CPU desde servidores remotos.
La CPU S7-1200 soporta alarmas horarias e instrucciones de reloj que dependen de la
precisión de la hora del sistema de la CPU. Si se configura NTP y se acepta la
sincronización horaria desde un servidor, hay que asegurarse de que el servidor es una
fuente fiable. Si no se comprueba, se puede producir una brecha de seguridad que permita
a un usuario desconocido alterar el control del proceso cambiando la hora del sistema de
la CPU.
Para más información sobre seguridad y recomendaciones, consulte nuestras "Guías
operacionales sobre seguridad industrial"
(http://www.industry.siemens.com/topics/global/en/industrial-
security/Documents/operational_guidelines_industrial_security_en.pdf) en la página de
atención al cliente de Siemens.

El Network Time Protocol (NTP) se utiliza extensamente para sincronizar los relojes de
sistema de los equipos con servidores horarios de Internet. En el modo NTP, la CPU envía
consultas de la hora en intervalos regulares (en modo de cliente) al servidor NTP de la
subred (LAN). A partir de las respuestas del servidor, se calcula la hora más probable y
precisa y se sincroniza la hora en la estación.
La ventaja de este método radica en que permite sincronizar la hora entre subredes.
Se configuran las direcciones IP de hasta cuatro servidores NTP. El intervalo de
actualización define el tiempo entre las consultas de la hora (en segundos). El valor del
intervalo puede variar entre 10 segundos y un día.
En el modo NTP los servidores generalmente transfieren la hora UTC (Universal Time
Coordinated o tiempo universal coordinado), que corresponde a GMT (Greenwich Mean
Time o tiempo medio de Greenwich).

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 839
Comunicación
11.2 PROFINET

En la ventana de propiedades de la configuración del dispositivo CPU, elija la entrada


"Sincronización horaria". STEP 7 muestra el diálogo de configuración de la sincronización
horaria:

Nota
La CPU recibe todas las direcciones IP al descargar el proyecto.

Tabla 11- 6 Parámetros de la sincronización horaria

Parámetro Definición
Activar sincronización horaria vía ser- Seleccione la casilla de verificación para activar la sincroni-
vidor NTP zación horaria vía servidor NTP.
Servidor 1 Dirección IP asignada al servidor de hora de red 1
Servidor 2 Dirección IP asignada al servidor de hora de red 2
Servidor 3 Dirección IP asignada al servidor de hora de red 3
Servidor 4 Dirección IP asignada al servidor de hora de red 4
Intervalo de actualización de la sincro- Valor del intervalo (seg)
nización horaria
La CPU sincroniza los módulos del Seleccione la casilla de verificación para sincronizar el reloj
dispositivo. del CP con el reloj de la CPU.

Controlador programable S7-1200


840 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

11.2.7 Tiempo de arranque de dispositivo, asignación de nombre y de dirección en


PROFINET
PROFINET IO puede ampliar el tiempo de arranque del sistema (timeout configurable). Un
número mayor de dispositivos o los dispositivos lentos influyen en el tiempo de arranque
necesario para conmutar a RUN.
En V4.0 y posterior, puede tener 16 dispositivos PROFINET IO como máximo en la red S7-
1200 PROFINET.
Cada estación (o dispositivo IO) arranca independientemente en el arranque, y esto afecta
al tiempo global de arranque de la CPU. Si para el timeout configurable se ajusta un valor
muy bajo, el tiempo global de arranque de la CPU puede no ser suficiente para que todas
las estaciones completen su arranque. Si eso ocurre, aparecerán errores de estación no
reales.
En "Propiedades de la CPU", bajo "Arranque", encontrará el "Tiempo de asignación de los
parámetros para E/S distribuidas" (timeout). El timeout predeterminado configurable es
60.000 ms (1 minuto), pero el usuario puede modificarlo.

Asignación de nombre y dirección de dispositivo PROFINET en STEP 7


Todos los dispositivos PROFINET deben tener un nombre de dispositivo y una dirección IP.
Utilice STEP 7 para especificar los nombres de dispositivo y configurar las direcciones IP.
Los nombres de dispositivo se descargan a los dispositivos IO por medio de PROFINET
DCP (Discovery and Configuration Protocol).

Asignación de dirección PROFINET en el arranque del sistema


El controlador transmite los nombres de los dispositivos a la red, y estos responden con sus
direcciones MAC. Entonces el controlador asigna una dirección IP al dispositivo utilizando el
protocolo PROFINET DCP:
● Si la dirección MAC tiene una dirección IP configurada, la estación arranca.
● Si la dirección MAC no tiene una dirección IP configurada, STEP 7 asigna la dirección
configurada en el proyecto y, entonces, la estación arranca.
● Si se produce un problema durante este proceso, se produce un error de estación y no
hay arranque. La situación provoca un rebase del timeout configurable.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 841
Comunicación
11.2 PROFINET

11.2.8 Open User Communication

11.2.8.1 Protocolos
El puerto PROFINET integrado de la CPU soporta múltiples estándares de comunicación a
través de una red Ethernet:
● Transport Control Protocol (TCP)
● ISO on TCP (RFC 1006)
● User Datagram Protocol (UDP)

Tabla 11- 7 Protocolos e instrucciones de comunicación para cada uno

Protocolo Ejemplos de uso Entrada de datos en el Instrucciones de comu- Tipo de direccionamien-


área de recepción nicación to
TCP Comunicación de Modo ad hoc Solo TRCV_C y TRCV Asigna números de
CPU a CPU Recepción de datos con TSEND_C, TRCV_C, puerto a los dispositivos
Transporte de tramas la longitud especificada TCON, TDISCON, local (activo) e interlocu-
TSEND y TRCV tor (pasivo)
ISO on TCP Comunicación de Modo ad hoc Solo TRCV_C y TRCV Asigna TSAPs a los
CPU a CPU Controlado por protocolo TSEND_C, TRCV_C, dispositivos local (activo)
Fragmentación y TCON, TDISCON, e interlocutor (pasivo)
reensamblado de TSEND y TRCV
mensajes
UDP Comunicación de User Datagram Protocol TUSEND y TURCV Asigna números de
CPU a CPU puerto a los dispositivos
Comunicaciones de local (activo) e interlocu-
programa de usuario tor (pasivo), pero no es
una conexión fija
Comunicación S7 Comunicación de Transmisión y recepción GET y PUT Asigna TSAPs a los
CPU a CPU de datos con la longitud dispositivos local (activo)
Leer/escribir datos especificada e interlocutor (pasivo)
de/en una CPU
PROFINET IO Comunicación de Transmisión y recepción Incorporado Incorporado
CPU a dispositivo de datos con la longitud
PROFINET IO especificada

Controlador programable S7-1200


842 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

11.2.8.2 TCP y ISO on TCP


Transport Control Protocol (TCP) es un protocolo estándar descrito por RFC 793:
Transmission Control Protocol. El objetivo principal de TCP es ofrecer un servicio de
conexión seguro y fiable entre pares de procesos. Este protocolo tiene las características
siguientes:
● Protocolo de comunicación eficiente puesto que está vinculado estrechamente al
hardware
● Adecuado para cantidades de datos medianas y grandes (hasta 8192 bytes)
● Ofrece numerosas prestaciones más a las aplicaciones, además de una recuperación de
errores, control de flujo y fiabilidad considerables.
● Protocolo orientado a la conexión
● Puede utilizarse muy flexiblemente con sistemas de terceros que soporten únicamente
TCP
● Apto para routing
● Son aplicables sólo las longitudes de datos estáticas.
● Los mensajes se acusan.
● Las aplicaciones se direccionan usando números de puerto.
● La mayoría de los protocolos de aplicación (p. ej. TELNET y FTP) utilizan TCP.
● Es necesario programar la gestión de datos debido a la interfaz de programación SEND /
RECEIVE.
International Standards Organization (ISO) on Transport Control Protocol (TCP) (RFC 1006)
(ISO on TCP) es un mecanismo que permite portar aplicaciones ISO a la red TCP/IP. Este
protocolo tiene las características siguientes:
● Protocolo de comunicación eficiente vinculado estrechamente al hardware
● Adecuado para cantidades de datos medianas y grandes (hasta 8192 bytes)
● A diferencia de TCP, los mensajes tienen un indicador de fin y están orientados a los
mensajes.
● Apto para routing; puede utilizarse en WAN
● Las longitudes de datos dinámicas son posibles.
● Es necesario programar la gestión de datos debido a la interfaz de programación SEND /
RECEIVE.
Puesto que utiliza Transport Service Access Points (TSAPs), el protocolo TCP permite
establecer varias conexiones con una sola dirección IP (hasta 64K conexiones). Gracias a
RFC 1006, los TSAPs identifican unívocamente estas conexiones de puntos finales de
comunicación a una dirección IP.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 843
Comunicación
11.2 PROFINET

11.2.8.3 Servicios de comunicación y números de puerto utilizados


La CPU S7-1200 soporta los protocolos listados en la tabla inferior. Para cada protocolo, la
CPU asigna los parámetros de dirección, el nivel de comunicación adecuado, la función de
comunicación y el sentido de la misma.
Esta información permite adaptar las medidas de seguridad para la protección del sistema
de automatización a los protocolos utilizados (como el cortafuegos). Solo las redes Ethernet
o PROFINET tienen medidas de seguridad. Puesto que PROFIBUS no tiene medidas de
seguridad, la tabla no incluye los protocolos PROFIBUS.
La tabla siguiente muestra los diferentes niveles y protocolos que utiliza la CPU:

Protocolo Número de puerto (2) Nivel de enlace Función Descripción


(4) Nivel de trans-
porte
Protocolos PROFINET
DCP Irrelevante (2) Ethernet II e Detección y confi- PROFINET utiliza
(Discovery and IEEE 802.1Q y guración DCP para detectar
Configuration Ethertype 0x8892 PROFINET para dispositivos y
Protocol) (PROFINET) dispositivos acce- asignarles los
sibles ajustes básicos.
DCP utiliza la
dirección MAC
Multicast especial:
xx-xx-xx-01-0E-
CF, xx-xx-xx =
Identificador único
de organización
LLDP Irrelevante (2) Ethernet II e Protocolo de de- PROFINET utiliza
(Link Layer Dis- IEEE 802.1Q y tección del nivel LLDP para detec-
covery Protocol) Ethertype 0x88CC de enlace para tar y administrar
(PROFINET) PROFINET relaciones de
vecindad entre
dispositivos
PROFINET.
LLDP utiliza la
dirección MAC
Multicast especial:
01-80-C2-00-00-
0E

Controlador programable S7-1200


844 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

11.2.8.4 Modo ad hoc


Generalmente, TCP e ISO on TCP reciben paquetes de datos con longitud especificada,
que varía entre 1 y 8192 bytes. Sin embargo, las instrucciones de comunicación TRCV_C y
TRCV también ofrecen un modo de comunicación "ad hoc" que puede recibir paquetes de
datos con una longitud variable entre 1 y 1472 bytes.

Nota
Si se guardan los datos en un DB "optimizado" (solo simbólico), únicamente es posible
recibir datos en matrices de tipos de datos Byte, Char, USInt y SInt.

Para configurar la instrucción TRCV_C o TRCV para el modo ad hoc, ajuste el parámetro de
entrada de la instrucción ADHOC.
Si no se llama la instrucción TRCV_C o TRCV en modo ad hoc con frecuencia, es posible
que se reciban varios paquetes en una misma llamada. Ejemplo: si tuviera que recibir cinco
paquetes de 100 bytes en una llamada, TCP los transferiría como un solo paquete de 500
bytes, mientras que ISO on TCP reestructuraría los paquetes en cinco de 100 bytes cada
uno.

11.2.8.5 ID de conexión para las instrucciones de Open User Communication


Cuando se insertan las instrucciones PROFINET TSEND_C, TRCV_C o TCON en el
programa de usuario, STEP 7 crea un DB de instancia para configurar el canal de
comunicaciones (o conexión) entre los dispositivos. Utilice las "Propiedades" (Página 824)
de la instrucción para configurar los parámetros de la conexión. Entre los parámetros se
encuentra la ID de conexión para dicha conexión.
● La ID de conexión debe ser unívoca para la CPU. Cada conexión que se cree debe tener
un DB y una ID de conexión distintos.
● Tanto la CPU local como la CPU interlocutora pueden utilizar el mismo número de ID de
conexión para la misma conexión, aunque los números de ID de conexión no tienen que
coincidir necesariamente. El número de ID de conexión solo es relevante para las
instrucciones PROFINET dentro del programa de usuario de la CPU individual.
● Puede utilizarse cualquier número para la ID de conexión de la CPU. Sin embargo, si se
configuran las ID de conexión secuencialmente empezando por "1", es más fácil saber el
número de conexiones que se están utilizando en una CPU concreta.

Nota
Cada instrucción TSEND_C, TRCV_C o TCON del programa de usuario crea una
conexión nueva. Es importante utilizar la ID de conexión correcta para cada conexión.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 845
Comunicación
11.2 PROFINET

El ejemplo siguiente muestra la comunicación entre dos CPUs que utilizan dos conexiones
separadas para transmitir y recibir datos.
● La instrucción TSEND_C de la CPU_1 enlaza con TRCV_C de la CPU_2 a través de la
primera conexión ("ID de conexión 1" tanto en la CPU_1 como en la CPU_2).
● La instrucción TRCV_C de la CPU_1 enlaza con TSEND_C de la CPU_2 a través de la
segunda conexión ("ID de conexión 2" tanto en la CPU_1 como en la CPU_2).

① TSEND_C en la CPU_1 crea una co-


nexión y asigna una ID de conexión a
dicha conexión (ID de conexión 1 para
la CPU_1).
② TRCV_C en la CPU_2 crea la cone-
xión para la CPU_2 y asigna la ID de
conexión (ID de conexión 1 para la
CPU_2).
③ TRCV_C en la CPU_1 crea una se-
gunda conexión para CPU_1 y asigna
una ID de conexión distinta para dicha
conexión (ID de conexión 2 para la
CPU_1).
④ TSEND_C en la CPU_2 crea una se-
gunda conexión y asigna una ID de
conexión distinta para dicha conexión
(ID de conexión 2 para la CPU_2).

Controlador programable S7-1200


846 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

El ejemplo siguiente muestra la comunicación entre dos CPUs que utilizan 1 conexión tanto
para transmitir como para recibir datos.
● Cada CPU utiliza una instrucción TCON para configurar la conexión entre las dos CPUs.
● La instrucción TSEND de la CPU_1 enlaza con la instrucción TRCV de la CPU_2 a través
de la ID de conexión ("ID de conexión 1") configurada por la instrucción TCON de la
CPU_1. La instrucción TRCV de la CPU_2 enlaza con la instrucción TSEND de la CPU_1
a través de la ID de conexión ("ID de conexión 1") configurada por la instrucción TCON
de la CPU_2.
● La instrucción TSEND de la CPU_2 enlaza con la instrucción TRCV de la CPU_1 a través
de la ID de conexión ("ID de conexión 1") configurada por la instrucción TCON de la
CPU_2. La instrucción TRCV de la CPU_1 enlaza con la instrucción TSEND de la CPU_2
a través de la ID de conexión ("ID de conexión 1") configurada por la instrucción TCON
de la CPU_1.

① TCON en la CPU_1 crea una cone-


xión y asigna una ID de conexión a
dicha conexión en la CPU_1 (ID=1).
② TCON en la CPU_2 crea una cone-
xión y asigna una ID de conexión a
dicha conexión en la CPU_2 (ID=1).
③ TSEND y TRCV en la CPU_1 utilizan
la ID de conexión creada por TCON
en la CPU_1 (ID=1).
TSEND y TRCV en la CPU_2 utilizan
la ID de conexión creada por TCON
en la CPU_2 (ID=1).

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 847
Comunicación
11.2 PROFINET

Tal como se muestra en el ejemplo siguiente, también es posible utilizar instrucciones


TSEND y TRCV individuales para comunicarse a través de una conexión creada por una
instrucción TSEND_C o TRCV_C. Las instrucciones TSEND y TRCV no crean por sí solas
una conexión nueva, por lo que deben utilizarse el DB y la ID de conexión creados por una
instrucción TSEND_C, TRCV_C o TCON.

① TSEND_C en la CPU_1 crea una co-


nexión y asigna una ID de conexión a
dicha conexión (ID=1).
② TRCV_C en la CPU_2 crea una cone-
xión y asigna la ID de conexión a di-
cha conexión en la CPU_2 (ID=1).
③ TSEND y TRCV en la CPU_1 utilizan
la ID de conexión creada por
TSEND_C en la CPU_1 (ID=1).
TSEND y TRCV en la CPU_2 utilizan
la ID de conexión creada por TRCV_C
en la CPU_2 (ID=1).

11.2.8.6 Parámetros de la conexión PROFINET


Las instrucciones TSEND_C, TRCV_C y TCON requieren parámetros relacionados con la
conexión para poder conectarse con el dispositivo interlocutor. La estructura TCON_Param
asigna dichos parámetros para los protocolos TCP, ISO on TCP y UDP. Por norma general,
para especificar estos parámetros se utiliza la ficha "Configuración" (Página 824) de las
"Propiedades" de la instrucción. Si la ficha "Configuración" no está disponible, hay que
suministrar la estructura TCON_Param en los parámetros de la instrucción.
Con V4.1, la estructura TCON_IP_V4 asigna parámetros para el protocolo TCP, y la
estructura TCON_IP_RFC asigna parámetros para el protocolo ISO on TCP.

Controlador programable S7-1200


848 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

TCON_Param

Tabla 11- 8 Estructura de la descripción de la conexión (TCON_Param)

Byte Parámetro y tipo de datos Descripción


0…1 block_length UInt Longitud: 64 bytes (fijos)
2…3 id CONN_OUC Referencia a esta conexión: Rango de valores: De 1 (predetermi-
(Word) nado) a 4095. Especifique el valor de este parámetro para la ins-
trucción TSEND_C, TRCV_C o TCON en ID.
4 connection_type USInt Tipo de conexión:
• 17: TCP (predeterminado)
• 18: ISO on TCP
• 19: UDP
5 active_est Bool ID del tipo de conexión:
• TCP e ISO on TCP:
– FALSE: conexión pasiva
– TRUE: conexión activa (predeterminado)
• UDP: FALSE
6 local_device_id USInt ID de la interfaz Industrial Ethernet o PROFINET local: 1 (prede-
terminado)
7 local_tsap_id_len USInt Longitud del parámetro local_tsap_id utilizado, en bytes; valores
posibles:
• TCP: 0 (activa, predeterminado) o 2 (pasiva)
• ISO on TCP: de 2 a 16
• UDP: 2
8 rem_subnet_id_len USInt Este parámetro no se utiliza.
9 rem_staddr_len USInt Longitud de la dirección del punto final del interlocutor, en bytes:
• 0: sin especificar (el parámetro rem_staddr es irrelevante)
• 4 (predeterminado): dirección IP válida en el parámetro
rem_staddr (solo para TCP e ISO on TCP)
10 rem_tsap_id_len USInt Longitud del parámetro rem_tsap_id utilizado, en bytes; valores
posibles:
• TCP: 0 (pasiva) o 2 (activa, predeterminado)
• ISO on TCP: de 2 a 16
• UDP: 0
11 next_staddr_len USInt Este parámetro no se utiliza.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 849
Comunicación
11.2 PROFINET

Byte Parámetro y tipo de datos Descripción


12 … 27 local_tsap_id Array [1..16] of Componente de conexión para la dirección local:
Byte
• TCP e ISO on TCP: n.º de puerto local (valores posibles: de 1
a 49151; valores recomendados: 2000...5000):
– local_tsap_id[1] = byte High del número de puerto en nota-
ción hexadecimal;
– local_tsap_id[2] = byte Low del número de puerto en nota-
ción hexadecimal;
– local_tsap_id[3-16] = irrelevante
• ISO on TCP: ID de TSAP local:
– local_tsap_id[1] = B#16#E0;
– local_tsap_id[2] = rack y slot de los puntos finales locales
(bits 0 a 4: número de slot, bits 5 a 7: número de rack);
– local_tsap_id[3-16] = extensión de TSAP, opcional
• UDP: este parámetro no se utiliza.
Nota: asegúrese de que todos los valores de local_tsap_id son
unívocos dentro de la CPU.
28 … 33 rem_subnet_id Array [1..6] of Este parámetro no se utiliza.
USInt
34 … 39 rem_staddr Array [1..6] of Solo TCP e ISO on TCP: dirección IP del punto final del interlocu-
USInt tor. (No relevante para las conexiones pasivas.) Por ejemplo, la
dirección IP 192.168.002.003 se guarda en los elementos siguien-
tes de la matriz:
rem_staddr[1] = 192
rem_staddr[2] = 168
rem_staddr[3] = 002
rem_staddr[4] = 003
rem_staddr[5-6]= irrelevante
40 … 55 rem_tsap_id Array [1..16] of Componente de conexión para la dirección del interlocutor:
Byte
• TCP: número de puerto del interlocutor. Rango: de 1 a 49151;
valores recomendados: de 2000 a 5000):
– rem_tsap_id[1] = byte High del número de puerto en nota-
ción hexadecimal
– rem_tsap_id[2] = byte Low del número de puerto en nota-
ción hexadecimal;
– rem_tsap_id[3-16] = irrelevante
• ISO on TCP: ID de TSAP del interlocutor:
– rem_tsap_id[1] = B#16#E0
– rem_tsap_id[2] = rack y slot del punto final del interlocutor
(bits 0 a 4: número de slot, bits 5 a 7: número de rack)
– rem_tsap_id[3-16] = extensión de TSAP, opcional
• UDP: este parámetro no se utiliza.
56 … 61 next_staddr Array [1..6] of Este parámetro no se utiliza.
Byte
62 … 63 spare Word Reservado: W#16#0000

Controlador programable S7-1200


850 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

TCON_IP_V4

Tabla 11- 9 Estructura de la descripción de la conexión (TCON_IP_V4): para usar con TCP

Byte Parámetro y tipo de datos Descripción


0…1 InterfaceId HW_ANY Identificador HW del submódulo interfaz IE

2…3 ID CONN_OUC Referencia a esta conexión: rango de valores: De 1 (predetermi-


(Word) nado) a 4095. Especifique el valor de este parámetro para la ins-
trucción TSEND_C, TRCV_C o TCON en ID.
4 ConnectionType Byte Tipo de conexión:
• 11: TCP/IP (predeterminado)
• 17: TCP/IP (este tipo de conexión está incluido por razones
legales. Se recomienda utilizar "11: TCP/IP (predetermina-
do)".)
• 19: UDP
5 ActiveEstablished Bool Establecimiento de conexión activa/pasiva:
• TRUE: conexión activa (predeterminado)
• FALSE: conexión pasiva
Dirección IP V4
6 ADDR[1] Byte Octeto 1
7 ADDR[1] Byte Octeto 2
8 ADDR[1] Byte Octeto 3
9 ADDR[1] Byte Octeto 4
10 … 11 RemotePort UInt Número de puerto UDP/TCP remoto
12 … 13 LocalPort UInt Número de puerto UDP/TCP local

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 851
Comunicación
11.2 PROFINET

TCON_IP_RFC

Tabla 11- 10 Estructura de la descripción de la conexión (TCON_IP_RFC): para usar con ISO on TCP

Byte Parámetro y tipo de datos Descripción


0…1 InterfaceId HW_ANY Identificador HW del submódulo interfaz IE

2…3 ID CONN_OUC Referencia a esta conexión: Rango de valores: De 1 (predetermi-


(Word) nado) a 4095. Especifique el valor de este parámetro para la ins-
trucción TSEND_C, TRCV_C o TCON en ID.
4 ConnectionType Byte Tipo de conexión:
• 12: ISO on TCP (predeterminado)
• 17: ISO on TCP (este tipo de conexión está incluido por razo-
nes legales. Se recomienda utilizar "12: ISO on TCP (prede-
terminado)".)
5 ActiveEstablished Bool Establecimiento de conexión activa/pasiva:
• TRUE: conexión activa (predeterminado)
• FALSE: conexión pasiva
6…7 Repuesto No utilizado
Dirección IP V4
8 ADDR[1] Byte Octeto 1
9 ADDR[1] Byte Octeto 2
10 ADDR[1] Byte Octeto 3
11 ADDR[1] Byte Octeto 4
Selector de transporte remoto
12 … 13 TSelLength UInt Longitud de TSelector
14 … 45 TSel array [1..32] of Matriz de caracteres para nombre TSAP
Byte
Selector de transporte local
46 … 47 TSelLength UInt Longitud de TSelector
48 … 79 TSel array [1..32] of Matriz de caracteres para nombre TSAP
Byte

Consulte también
CM/CP S7-1200 (https://support.industry.siemens.com/cs/es/es/ps)

Controlador programable S7-1200


852 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

11.2.8.7 Instrucciones TSEND_C y TRCV_C


A partir de la versión V4.1 de la CPU S7-1200 junto con STEP 7 V13 SP1, la CPU amplía la
capacidad de las instrucciones TSEND_C y TRCV_C para utilizar parámetros de conexión
con estructuras conforme a "TCON_IP_v4" y "TCON_IP_RFC".
Por este motivo, S7-1200 soporta dos juegos de instrucciones TSEND_C y TRCV_C:
● Instrucciones Legacy TSEND_C y TRCV_C (Página 864): Estas instrucciones TSEND_C
y TRCV_C ya existían antes de la versión V4.0 del S7-1200 y solo funcionan con
parámetros de conexión con estructuras conforme a "TCON_Param".
● Instrucciones TSEND_C y TRCV_C (Página 854): estas instrucciones TSEND_C y
TRCV_C ofrecen toda la funcionalidad de las instrucciones Legacy más la habilidad de
usar parámetros de conexión con estructuras conforme a "TCON_IP_v4" y
"TCON_IP_RFC".

Seleccionar la versión de las instrucciones TSEND_C y TRCV_C


En STEP 7 están disponibles dos versiones de las instrucciones TSEND_C y TRCV_C:
● Las versiones 2.5 y 3.1 estaban disponibles en STEP 7 Basic/Professional V13 y
versiones anteriores.
● La versión 4.0 está disponible en STEP 7 Basic/Professional V13 SP1 y versiones
posteriores.
Para garantizar la compatibilidad y facilitar la migración, se puede elegir qué versión de la
instrucción se debe insertar en el programa de usuario.
No utilice diferentes versiones de la instrucción en el mismo programa de la CPU.

Haga clic en el icono de la Task Card del árbol de instrucciones para activar los
encabezados y columnas del árbol de instrucciones.

Para cambiar la versión de las instrucciones


TSEND_C y TRCV_C, seleccione la versión
en la lista desplegable. Es posible seleccio-
nar el grupo o bien instrucciones individua-
les.

Cuando se utiliza el árbol de instrucciones para insertar una instrucción TSEND_C o


TRCV_C en el programa, se crea en el árbol del proyecto una nueva instancia del FB o la
FC dependiendo de la instrucción TSEND_C o TRCV_C seleccionada. La nueva instancia
del FB o la FC se puede ver en el árbol del proyecto en PLC_x > Bloques de programa >
Bloques de sistema > Recursos de programa.
Para comprobar la versión de la instrucción TSEND_C o TRCV_C en un programa, es
necesario examinar las propiedades del árbol del proyecto y no las propiedades de un
cuadro que se visualiza en el editor de programas. Seleccione un árbol del proyecto
TSEND_C o TRCV_C o instancia del FB o la FC, haga clic con el botón derecho del ratón y
seleccione "Propiedades", luego seleccione la página de "información" para ver el número
de versión de la instrucción TSEND_C o TRCV_C.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 853
Comunicación
11.2 PROFINET

TSEND_C y TRCV_C (enviar y recibir datos vía Ethernet)


La instrucción TSEND_C combina las funciones de las instrucciones TCON, TDISCON y
TSEND . La instrucción TRCV_C combina las funciones de las instrucciones TCON,
TDISCON y TRCV. (Véase "TCON, TDISCON, TSEND y TRCV (Página 873)" para más
información sobre estas instrucciones.)
El tamaño mínimo de los datos que pueden transmitirse (TSEND_C) o recibirse (TRCV_C)
es de un byte; el tamaño máximo es de 8192 bytes. TSEND_C no admite la transmisión de
datos desde posiciones booleanas y TRCV_C no recibe datos en posiciones booleanas.
Encontrará más información sobre cómo transferir datos con estas instrucciones en el
apartado Coherencia de datos (Página 202).

Nota
Inicializar los parámetros de comunicación
Después de introducir la instrucción TSEND_C o TRCV_C, utilice las "Propiedades" de la
instrucción (Página 824) para configurar los parámetros (Página 848) de comunicación.
Cuando se introducen los parámetros de los interlocutores en la ventana de inspección,
STEP 7 introduce los datos correspondientes en el DB de la instrucción.
Si desea utilizar un DB multiinstancia, debe configurar manualmente el DB en ambas CPUs.

Tabla 11- 11 Instrucciones TSEND_C y TRCV_C

KOP / FUP SCL Descripción


"TSEND_C_DB"( TSEND_C establece una conexión de comuni-
req:=_bool_in_, cación TCP o ISO-on-TCP con un interlocutor,
cont:=_bool_in_, envía datos y puede deshacer la conexión. Una
len:=_uint_in_, vez configurada y establecida la conexión, la
done=>_bool_out_, CPU la mantiene y la vigila automáticamente.
busy=>_bool_out_,
error=>_bool_out_,
status=>_word_out_,
connect:=_struct_inout_,
data:=_variant_inout_,
com_rst:=_bool_inout_);
"TRCV_C_DB"( TRCV_C establece una conexión de comunica-
en_r:=_bool_in_, ción TCP o ISO-on-TCP con una CPU interlocu-
cont:=_bool_in_, tora, recibe datos y puede deshacer la conexión.
len:=_uint_in_, Una vez configurada y establecida la conexión,
adhoc:=_bool_in_, la CPU la mantiene y la vigila automáticamente.
done=>_bool_out_,
busy=>_bool_out_,
error=>_bool_out_,
status=>_word_out_,
rcvd_len=>_uint_out_,
connect:=_struct_inout_,
data:=_variant_inout_,
com_rst:=_bool_inout_);
1 STEP 7 crea el DB automáticamente al insertar la instrucción.

Controlador programable S7-1200


854 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Tabla 11- 12 Tipos de datos TSEND_C y TRCV_C para los parámetros

Parámetro y tipo Tipo de datos Descripción


REQ IN Bool Inicia la tarea de transmisión cuando se produce un flanco as-
(TSEND_C) cendente
EN_R IN Bool Habilitación de la recepción
(TRCV_C)
CONT IN Bool Controla la conexión de comunicación:
• 0: Deshacer la conexión de comunicación después de
transmitir los datos.
• 1: Establecer y mantener la conexión de comunicación.
Cuando se envían (TSEND_C) (flanco ascendente en el pará-
metro REQ) o se reciben datos (TRCV_C) (flanco ascendente
en el parámetro EN_R), el parámetro CONT debe tener el valor
TRUE con el fin de establecer o mantener una conexión.
LEN IN UDInt Parámetro opcional (oculto)
Número máximo de bytes que deben transmitirse (TSEND_C) o
recibirse (TRCV_C) con la tarea. Si usa valores puramente
simbólicos en el parámetro DATA, el parámetro LEN debe tener
el valor "0".
ADHOC IN Bool Parámetro opcional (oculto)
(TRCV_C) Solicitud de modo ad hoc para el tipo de conexión TCP.
CONNECT IN_OUT TCON_Param Puntero a la descripción de la conexión correspondiente a la
estructura de la conexión que se debe describir:
• En el caso de TCP o UDP, use la estructura TCON_IP_v4.
• Encontrará más información sobre TCON_IP_v4 en: "Pará-
metros de la conexión PROFINET" (Página 848).
• En el caso de ISO-on-TCP, use la estructura
TCON_IP_RFC.
• Encontrará más información sobre TCON_IP_RFC en: "Pa-
rámetros de la conexión PROFINET" (Página 848).
El parámetro CONNECT solo se evalúa cuando se produce un
flanco ascendente en REQ (TSEND_C), cuando se inicia el
establecimiento de conexión (TRCV_C) o cuando COM_RST =
1.
DATA IN_OUT Variant Puntero al área de transmisión que incluye lo siguiente:
• Dirección y longitud de los datos que se van a transmitir
(TSEND_C)
• Dirección y longitud máxima de los datos recibidos
(TRCV_C)
ADDR IN_OUT Variant Parámetro opcional (oculto)
Puntero a la dirección del destinatario con el tipo de conexión
UDP. La información de dirección se mapea en la estructura
TADDR_Param ###.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 855
Comunicación
11.2 PROFINET

Parámetro y tipo Tipo de datos Descripción


COM_RST IN_OUT Bool Parámetro opcional (oculto)
Reinicia la instrucción:
• 0: Irrelevante
• 1: reinicia la instrucción por completo; la conexión existente
se deshace o se inicializa y se establece de nuevo según
CONT.
El parámetro COM_RST se inicializa después de la evaluación
mediante la instrucción TSEND_C o TRCV_C y, por tanto, no se
debe cambiar estáticamente.
DONE OUT Bool Parámetro de estado con los valores siguientes:
• 0: tarea de transmisión no iniciada o aún en ejecución.
• 1: tarea de transmisión ejecutada sin errores. Este estado
solo se muestra para un ciclo.
BUSY OUT Bool Parámetro de estado con los valores siguientes:
• 0: tarea de transmisión no iniciada aún o ya finalizada.
• 1: tarea de transmisión no finalizada aún. No se puede ini-
ciar una tarea de transmisión nueva.

ERROR OUT Bool Parámetros de estado con los valores siguientes:


• 0: No hay error
• 1: Se ha producido un error durante el establecimiento de la
conexión, la transmisión de los datos o la interrupción de la
conexión.
STATUS OUT Word Estado de instrucción (véase la descripción de los parámetros
ERROR y STATUS).
RCVD_LEN OUT Int Cantidad de datos (en bytes) recibida realmente.
(TRCV_C)

Nota
La instrucción TSEND_C requiere una transición de bajo a alto en el parámetro de entrada
REQ para iniciar una tarea de transmisión. El parámetro BUSY se pone a 1 durante el
procesamiento. La finalización de la tarea de transmisión se indica poniendo a 1 los
parámetros DONE o ERROR durante un ciclo. Durante este tiempo, se ignora cualquier
transición de bajo a alto en el parámetro de entrada REQ.

Controlador programable S7-1200


856 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Nota
El ajuste predeterminado del parámetro LEN (LEN = 0) utiliza el parámetro DATA para
determinar la longitud de los datos que se están transmitiendo. Se recomienda que los datos
transmitidos por la instrucción TSEND_C tengan el mismo tamaño que el parámetro DATA
de la instrucción TRCV_C.
Si se utiliza el ajuste predeterminado del parámetro LEN y hay que enviar los datos en
segmentos más pequeños que el tamaño del parámetro DATA, se aplica lo siguiente. Si el
tamaño de los datos transmitidos desde TSEND_C no es el mismo que el tamaño del
parámetro TRCV_C DATA, TRCV_C permanece en estado ocupado (código de estado:
7006) hasta que el tamaño total de los datos transmitidos desde TSEND_C sea el mismo
que el tamaño del parámetro TRCV_C DATA.
El búfer del parámetro TRCV_C DATA no muestra los nuevos datos recibidos hasta que el
tamaño de los datos sea el mismo que el tamaño del búfer del parámetro DATA.

Operaciones TSEND_C
La instrucción TSEND_C se ejecuta de forma asíncrona e implementa las funciones
siguientes en secuencia:
1. Configuración y establecimiento de una conexión de comunicación:
TSEND_C configura una conexión de comunicación y establece dicha conexión si se
detecta un flanco ascendente en el parámetro REQ y aún no existe una conexión. Una
vez configurada y establecida la conexión, la CPU la mantiene y la vigila
automáticamente. La descripción de la conexión especificada en el parámetro
CONNECT se usa para configurar la conexión de comunicación. Se pueden usar los
tipos de conexión siguientes:
– Estructura TCON_Param para los protocolos TCP, ISO on TCP y UDP
– Con V4.1, TCP/UDP: descripción de la conexión mediante la estructura TCON_IP_v4
en el parámetro CONNECT.
– Con V4.1, ISO on TCP: descripción de la conexión mediante la estructura
TCON_IP_RFC en el parámetro CONNECT.
Una conexión existente se deshace y la conexión que se ha configurado se elimina
cuando la CPU pasa al estado operativo STOP. Para configurar y establecer la conexión
de nuevo, debe volver a ejecutar TSEND_C. Para obtener información sobre el número
de conexiones de comunicación posibles, consulte los datos técnicos de la CPU.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 857
Comunicación
11.2 PROFINET

2. Transmisión de datos mediante una conexión de comunicación existente:


La transmisión de datos se ejecuta cuando se detecta un flanco ascendente en el
parámetro REQ. Tal como se ha descrito anteriormente, la conexión de comunicación se
establece en primer lugar. El área de transmisión se especifica con el parámetro DATA.
Incluye la dirección y la longitud de los datos que se van a transmitir. No utilice un área
de datos con el tipo de datos BOOL o Array of BOOL en el parámetro DATA. Con el
parámetro LEN se especifica el número máximo de bytes transmitidos con una tarea de
transmisión. Si se usa un nombre simbólico en el parámetro DATA, el parámetro LEN
debe tener el valor "0".
Los datos que se transmitirán no se deben editar hasta que finalice la tarea de
transmisión.
3. Interrupción de la conexión de comunicación:
La conexión de comunicación se deshace una vez que se han transmitido los datos si el
parámetro CONT tenía el valor "0" cuando se produjo el flanco ascendente en el
parámetro REQ. De lo contrario, se mantendrá la conexión de comunicación.
Si la tarea de transmisión se ejecuta correctamente, el parámetro DONE se pondrá a "1". La
conexión de comunicación se deshará antes que de esto se produzca (consulte la
descripción de la dependencia anterior en el parámetro CONT). El estado lógico "1" en el
parámetro DONE no es una confirmación de que el interlocutor de la comunicación ya ha
leído los datos.
TSEND_C se inicializa cuando el parámetro COM_RST se pone a "1". Se pueden perder
datos si se transfieren datos en este momento.
Se pueden producir las situaciones siguientes en función del parámetro CONT:
● CONT = "0":
Se establece una conexión de comunicación existente.
● CONT = "1" y se ha establecido la conexión de comunicación:
Se inicializa y se vuelve a establecer una conexión de comunicación existente.
● CONT = "1" y no se ha establecido la conexión de comunicación.
No se establece ninguna conexión de comunicación.
El parámetro COM_RST se ha inicializado después de que la instrucción T_SEND lo haya
evaluado. Para habilitar TSEND_C otra vez después de la ejecución (DONE = 1), llame la
instrucción una vez con REQ = 0.

Controlador programable S7-1200


858 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Operaciones TRCV_C
La instrucción TRCV_C se ejecuta de forma asíncrona e implementa las funciones
siguientes en secuencia:
1. Configuración y establecimiento de una conexión de comunicación:
TRCV_C configura una conexión de comunicación y establece dicha conexión si el
parámetro EN_R = "1" y no hay conexión. Una vez configurada y establecida la conexión,
la CPU la mantiene y la vigila automáticamente.
La descripción de la conexión especificada en el parámetro CONNECT se usa para
configurar la conexión de comunicación. Se pueden usar los tipos de conexión
siguientes:
– Estructura TCON_Param para los protocolos TCP, ISO on TCP y UDP
– Con V4.1, TCP/UDP: descripción de la conexión mediante la estructura TCON_IP_v4
en el parámetro CONNECT.
– Con V4.1, ISO on TCP: descripción de la conexión mediante la estructura
TCON_IP_RFC en el parámetro CONNECT.
Una conexión existente se deshace y la conexión que se ha configurado se elimina
cuando la CPU pasa al estado operativo STOP. Para configurar y establecer la conexión
de nuevo, debe volver a ejecutar TRCV_C con EN_R = "1".
Si EN_R se pone a "0" antes de establecer la conexión de comunicación, se establecerá
la conexión y se mantendrá activa incluso si CONT = "0". Sin embargo, no se recibirán
datos (DONE seguirá siendo "0").
Para obtener información sobre el número de conexiones de comunicación posibles,
consulte los datos técnicos de la CPU.
2. Recepción de datos mediante una conexión de comunicación existente:
La recepción de datos se habilita cuando el parámetro EN_R se pone al valor "1". Tal
como se ha descrito anteriormente, la conexión de comunicación se establece en primer
lugar. Los datos recibidos se introducen en un área de recepción. La longitud del área se
especifica con el parámetro LEN (si LEN <> 0) o con la información de longitud del
parámetro DATA (si LEN = 0), en función de la variante de protocolo que se use. Si usa
valores puramente simbólicos en el parámetro DATA, el parámetro LEN debe tener el
valor "0".
Si EN_R se pone a "0" antes de que se reciban datos por primera vez, la conexión de
comunicación se mantendrá activa incluso si CONT = 0. Sin embargo, no se recibirán
datos (DONE seguirá siendo "0").
3. Interrupción de la conexión de comunicación:
La conexión de comunicación se deshará una vez que se reciban los datos si el
parámetro CONT tenía el valor "0" cuando se inició la conexión establecida. De lo
contrario, se mantendrá la conexión de comunicación.
Si la tarea de recepción se ejecuta correctamente, el parámetro DONE se pondrá a "1". La
conexión de comunicación se deshará antes que de esto se produzca (consulte la
descripción de la dependencia anterior en el parámetro CONT).

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 859
Comunicación
11.2 PROFINET

TRCV_C se inicializa cuando se ha establecido el parámetro COM_RST. Si se siguen


recibiendo datos cuando se vuelve a ejecutar, se podrían perder datos. Se pueden producir
las situaciones siguientes en función del parámetro CONT:
● CONT = "0":
Se establece una conexión de comunicación existente.
● CONT = "1" y se ha establecido la conexión de comunicación:
Se inicializa y se vuelve a establecer una conexión de comunicación existente.
● CONT = "1" y no se ha establecido la conexión de comunicación:
No se establece ninguna conexión de comunicación.
El parámetro COM_RST se ha inicializado después de que la instrucción TRCV_ lo haya
evaluado.
TRCV_C utiliza los mismos modos de recepción que la instrucción TRCV. En la tabla
siguiente se muestra cómo se introducen los datos en el área de recepción:

Variante de proto- Disponibilidad de datos en el Parámetro Connection_type de Parámetro LEN Parámetro


colo área de recepción la descripción de la conexión RCVD_LEN

TCP Los datos están inmediatamente B#16#11 Se seleccionan 1 a 1472


(modo ad hoc) disponibles. con la entrada
ADHOC de la
instrucción
TRCV_C.
TCP (recepción de Los datos estarán disponibles en B#16#11 1 a 8192 Idéntico al
datos con la longi- cuanto se haya recibido total- valor del pa-
tud especificada) mente la longitud de datos es- rámetro LEN
pecificada en el parámetro LEN.
ISO on TCP Los datos estarán disponibles en B#16#12 1 a 8192 Idéntico al
(transferencia de cuanto se haya recibido total- valor del pa-
datos controlada mente la longitud de datos es- rámetro LEN
por protocolo) pecificada en el parámetro LEN.

Nota
Modo ad hoc
El "modo ad hoc" solo está disponible con la variante de protocolo TCP. Para configurar la
instrucción TRCV_C para el modo ad hoc, ajuste el parámetro de entrada de la instrucción
ADHOC. El puntero define la longitud del área de recepción en el parámetro DATA. La
longitud de datos que se ha recibido realmente se emite en el parámetro RCVD_LEN. Se
pueden recibir 1460 bytes como máximo.

Controlador programable S7-1200


860 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Nota
Importar al S7-1200 proyectos S7-300/400 de STEP 7 que contienen el modo "ad hoc"
En los proyectos S7-300/400 de STEP 7, el modo "ad hoc" se selecciona asignando el valor
"0" al parámetro LEN. En S7-1200, la instrucción TRCV_C se configura para el modo ad hoc
ajustando el parámetro de entrada de la instrucción ADHOC.
Si se importa al S7-1200 un proyecto S7-300/400 de STEP 7 que contiene el modo "ad
hoc", el parámetro LEN debe modificarse a "65535".

Nota
TCP (recepción de datos con la longitud especificada)
El valor del parámetro LEN se utiliza para especificar la longitud de la recepción de datos.
Los datos especificados en el parámetro DATA están disponibles en el área de recepción en
cuanto se recibe totalmente la longitud especificada en el parámetro LEN.

Nota
ISO on TCP (transferencia de datos controlada por protocolo)
En el caso de la variante de protocolo ISO on TCP, los datos se transfieren de forma
controlada por el protocolo. Los parámetros LEN y DATA definen el área de recepción.

Parámetros BUSY, DONE y ERROR

Nota
Debido al procesamiento asíncrono de TSEND_C, es preciso conservar la coherencia de los
datos en el área de emisión hasta que el parámetro DONE o ERROR adopte el valor TRUE.
Para TSEND_C, un estado TRUE en el parámetro DONE significa que los datos se han
enviado correctamente. Sin embargo, no significa que la CPU interlocutora haya leído
realmente el búfer de recepción.
Debido al procesamiento asíncrono de TRCV_C, los datos en el área de recepción solo son
coherentes si el parámetro DONE = 1.

Tabla 11- 13 Instrucciones TSEND_C y TRCV_C parámetros BUSY, DONEy ERROR

BUSY DONE ERROR Descripción


1 0 0 La tarea de transmisión se está procesando.
0 1 0 La tarea de transmisión se ha ejecutado correctamente.
0 0 1 El establecimiento de la conexión o la tarea de transmisión se han ejecutado con un
error. La causa del error se especifica en el parámetro STATUS.
0 0 0 No se ha asignado una nueva tarea de transmisión.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 861
Comunicación
11.2 PROFINET

Puede comprobar el estado de la ejecución con los parámetros BUSY, DONE, ERROR y
STATUS. El parámetro BUSY indica el estado de procesamiento. Con el parámetro DONE
se comprueba si se ha ejecutado o no correctamente una tarea de transmisión. El
parámetro ERROR se establece cuando se producen errores durante la ejecución de
TSEND_C o TRCV_C. La información de error se genera en el parámetro STATUS.

Parámetros Error y Status

Tabla 11- 14 Códigos de condición TSEND_C y TRCV_C para ERROR y STATUS

ERROR STATUS Descripción


(W#16#...)
0 0000 Tarea de transmisión (TSEND_C) o recepción (TRCV_C) ejecutada sin errores.
0 7000 No hay ninguna ejecución de tarea de transmisión activa; no se ha establecido ninguna cone-
xión de comunicación.
0 7001 • Inicia la ejecución de una tarea de transmisión (TSEND_C) o recepción (TRCV_C).
• Establece la conexión.
• Espera al interlocutor de la conexión.
0 7002 Se están transmitiendo (TSEND_C) o recibiendo (TRCV_C) datos.
0 7003 Se está deshaciendo la conexión de comunicación.
0 7004 Conexión de comunicación establecida y vigilada; no hay ninguna ejecución de tarea de
transmisión (TSEND_C) o recepción (TRCV_C) activa.
0 7005 Se está inicializando la conexión de comunicación.
1 80A0 Error de grupo para códigos de error W#16#80A1 y W#16#80A2.
1 80A1 • Otro usuario ya utiliza la conexión o el puerto.
• Error de comunicación:
– La conexión especificada no se ha establecido todavía.
– La conexión especificada se está deshaciendo. No se pueden transferir datos a través
de esta conexión.
– La interfaz se está reinicializando.
1 80A2 El sistema está utilizando el puerto local o remoto.
1 80A3 • Se está intentando restablecer una conexión existente.
• Se está intentando deshacer una conexión no existente.
1 80A4 La dirección IP del punto final remoto de la conexión no es válida, lo que significa que corres-
ponde a la dirección IP del interlocutor local.
1 80A7 Error de comunicación: ha llamado la instrucción con COM_RST = 1 antes de que se ejecuta-
ra totalmente la tarea de transmisión.
1 80B2 El parámetro CONNECT apunta a un bloque de datos que se ha generado con el atributo
"Depositar solo en la memoria de carga".
1 80B3 Parametrización incoherente: error de grupo para códigos de error de W#16#80A0 a
W#16#80A2, W#16#80A4, de W#16#80B4 a W#16#80B9.

Controlador programable S7-1200


862 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

ERROR STATUS Descripción


(W#16#...)
1 80B4 Se han incumplido una o las dos condiciones siguientes por lo que se refiere al establecimien-
to de conexión pasiva (active_est = FALSE) cuando se usa la variante de protocolo ISO on
TCP (connection_type = B#16#12):
• local_tsap_id_len >= B#16#02
• local_tsap_id[1] = B#16#E0
1 80B5 Solo se permite el establecimiento de conexión pasiva para el tipo de conexión 13 = UDP.
1 80B6 Error de asignación de parámetro en el parámetro connection_type del bloque de datos para la
descripción de la conexión.
1 80B7 Error en uno de los parámetros siguientes del bloque de datos para la descripción de la cone-
xión: block_length, local_tsap_id_len, rem_subnet_id_len, rem_staddr_len, rem_tsap_id_len,
next_staddr_len.
1 8085 • El parámetro LEN es mayor que el valor máximo permitido.
• Se ha modificado el valor en el parámetro LEN o DATA después de la primera llamada.
1 8086 El parámetro ID dentro del parámetro CONNECT está fuera del rango permitido.
1 8087 Se ha alcanzado el número máximo de conexiones; no es posible establecer más conexiones.
1 8088 El valor en el parámetro LEN no corresponde al área de recepción establecida en el parámetro
DATA.
1 8089 El parámetro CONNECT no apunta a un bloque de datos.
1 8091 Se ha excedido la profundidad de anidamiento máxima.
1 809A El parámetro CONNECT apunta a un campo que no corresponde a la longitud de la descrip-
ción de la conexión.
1 809B La ID del dispositivo local en la descripción de la conexión no corresponde a la CPU.
1 80C3 • Se están utilizando todos los recursos de conexión (Página 845).
• Ya se está procesando un bloque con esta ID en un grupo de prioridad diferente.
1 80C4 Error de comunicación temporal:
• La conexión no se puede establecer en estos momentos.
• La interfaz está recibiendo nuevos parámetros o la conexión se está estableciendo.
• La instrucción "TDISCON (Página 873)" está eliminando la conexión configurada.
• Una llamada está deshaciendo la conexión empleada con COM_RST = 1.
1 8722 Error en el parámetro CONNECT: área de origen no válida (área no declarada en el bloque de
datos).
1 873A Error en el parámetro CONNECT: no se puede obtener acceso a la descripción de la conexión
(no se puede obtener acceso al bloque de datos).
1 877F Error en el parámetro CONNECT: error interno
1 8822 TSEND_C:Parámetro DATA: área de origen no válida, el área no existe en el DB.
1 8824 TSEND_C:Parámetro DATA: error de área en el puntero VARIANT.
1 8832 TSEND_C:Parámetro DATA: el número de DB es demasiado alto.
1 883A TSEND_C:Parámetro CONNECT: no se puede obtener acceso a los datos de conexión espe-
cificados (por ejemplo, porque el DB no existe).
1 887F TSEND_C:Parámetro DATA: error interno (por ejemplo, referencia de VARIANT no válida).
1 893A TSEND_C:Parámetro DATA: no se puede obtener acceso al área de transmisión (por ejemplo,
porque el DB no existe).

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 863
Comunicación
11.2 PROFINET

ERROR STATUS Descripción


(W#16#...)
1 8922 TRCV_C:Parámetro DATA: área de destino no válida, el área no existe en el DB.
1 8924 TRCV_C:Parámetro DATA: error de área en el puntero VARIANT.
1 8932 TRCV_C:Parámetro DATA: el número de DB es demasiado alto.
1 893A TRCV_C:Parámetro CONNECT: no se puede obtener acceso a los datos de conexión especi-
ficados (por ejemplo, porque el DB no existe).
1 897F TRCV_C:Parámetro DATA: error interno (por ejemplo, referencia de VARIANT no válida).
1 8A3A TRCV_C:Parámetro DATA: no se puede obtener acceso al área de datos (por ejemplo, porque
el bloque de datos no existe).

Nota
Mensajes de error de las instrucciones TCON, TSEND, TRCV y TDISCON
Internamente, la instrucción TSEND_C usa las instrucciones TCON, TSEND y TDISCON; y
la instrucción TRCV_C usa las instrucciones TCON, TRCV y TDISCON. Consulte "TCON,
TDISCON, TSEND Y TRCV (Página 873)" para obtener más información sobre mensajes de
error de estas instrucciones.

Protocolos de conexión Ethernet


Toda CPU incorpora un puerto PROFINET que soporta la comunicación PROFINET
estándar. Todas las instrucciones TSEND_C y TRCV_C y TSEND y TRCV soportan los
protocolos Ethernet TCP e ISO on TCP.
Encontrará más información en "Configuración de dispositivos: Configurar la vía de conexión
local/interlocutor (Página 824)"

11.2.8.8 Instrucciones Legacy TSEND_C y TRCV_C


Antes de la versión de STEP 7 V13 SP1 y las CPUs S7-1200 V4.1, las instrucciones
TSEND_C y TRCV_C solo podían trabajar con parámetros de conexión con estructuras
conforme a "TCON_Param". Los conceptos generales son válidos para ambos juegos de
instrucciones. Consulte las instrucciones Legacy individuales TSEND_C y TRCV_C para
obtener información sobre la programación.

Seleccionar la versión de las instrucciones TSEND_C y TRCV_C


En STEP 7 están disponibles dos versiones de las instrucciones TSEND_C y TRCV_C:
● Las versiones 2.5 y 3.1 estaban disponibles en STEP 7 Basic/Professional V13 y
versiones anteriores.
● La versión 4.0 está disponible en STEP 7 Basic/Professional V13 SP1 y versiones
posteriores.
Para garantizar la compatibilidad y facilitar la migración, se puede elegir qué versión de la
instrucción se debe insertar en el programa de usuario.

Controlador programable S7-1200


864 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

No utilice diferentes versiones de la instrucción en el mismo programa de la CPU.

Haga clic en el icono de la Task Card del árbol de instrucciones para activar los
encabezados y columnas del árbol de instrucciones.

Para cambiar la versión de las instrucciones


TSEND_C y TRCV_C, seleccione la versión
en la lista desplegable. Es posible seleccio-
nar el grupo o bien instrucciones individua-
les.

Cuando se utiliza el árbol de instrucciones para insertar una instrucción TSEND_C o


TRCV_C en el programa, se crea en el árbol del proyecto una nueva instancia del FB o la
FC dependiendo de la instrucción TSEND_C o TRCV_C seleccionada. La nueva instancia
del FB o la FC se puede ver en el árbol del proyecto en PLC_x > Bloques de programa >
Bloques de sistema > Recursos de programa.
Para comprobar la versión de la instrucción TSEND_C o TRCV_C en un programa, es
necesario examinar las propiedades del árbol del proyecto y no las propiedades de un
cuadro que se visualiza en el editor de programas. Seleccione un árbol del proyecto
TSEND_C o TRCV_C o instancia del FB o la FC, haga clic con el botón derecho del ratón y
seleccione "Propiedades", luego seleccione la página de "información" para ver el número
de versión de la instrucción TSEND_C o TRCV_C.

TSEND_C y TRCV_C antiguas (enviar y recibir datos vía Ethernet)


La instrucción Legacy TSEND_C combina las funciones de las instrucciones Legacy TCON,
TDISCON y TSEND . La instrucción TRCV_C combina las funciones de las instrucciones
TCON, TDISCON y TRCV. (Consulte las "Instrucciones Legacy TCON, TDISCON, TSEND y
TRCV (comunicación TCP) (Página 883)" para más información sobre estas instrucciones.)
El tamaño mínimo de los datos que pueden transmitirse (TSEND_C) o recibirse (TRCV_C)
es de un byte; el tamaño máximo es de 8192 bytes. TSEND_C no admite la transmisión de
datos desde posiciones booleanas y TRCV_C no recibe datos en posiciones booleanas.
Encontrará más información sobre cómo transferir datos con estas instrucciones en el
apartado Coherencia de datos (Página 202).

Nota
Inicializar los parámetros de comunicación
Después de introducir la instrucción TSEND_C o TRCV_C, utilice las "Propiedades" de la
instrucción (Página 824) para configurar los parámetros (Página 848) de comunicación.
Cuando se introducen los parámetros de los interlocutores en la ventana de inspección,
STEP 7 introduce los datos correspondientes en el DB de la instrucción.
Si desea utilizar un DB multiinstancia, debe configurar manualmente el DB en ambas CPUs.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 865
Comunicación
11.2 PROFINET

Tabla 11- 15 Instrucciones TSEND_C y TRCV_C

KOP / FUP SCL Descripción


"TSEND_C_DB"( TSEND_C establece una conexión de comuni-
req:=_bool_in_, cación TCP o ISO-on-TCP con un interlocutor,
cont:=_bool_in_, envía datos y puede deshacer la conexión. Una
len:=_uint_in_, vez configurada y establecida la conexión, la
done=>_bool_out_, CPU la mantiene y la vigila automáticamente.
busy=>_bool_out_,
error=>_bool_out_,
status=>_word_out_,
connect:=_struct_inout_,
data:=_variant_inout_,
com_rst:=_bool_inout_);
"TRCV_C_DB"( TRCV_C establece una conexión de comunica-
en_r:=_bool_in_, ción TCP o ISO-on-TCP con una CPU interlocu-
cont:=_bool_in_, tora, recibe datos y puede deshacer la conexión.
len:=_uint_in_, Una vez configurada y establecida la conexión,
adhoc:=_bool_in_, la CPU la mantiene y la vigila automáticamente.
done=>_bool_out_,
busy=>_bool_out_,
error=>_bool_out_,
status=>_word_out_,
rcvd_len=>_uint_out_,
connect:=_struct_inout_,
data:=_variant_inout_,
com_rst:=_bool_inout_);
1 STEP 7 crea el DB automáticamente al insertar la instrucción.

Controlador programable S7-1200


866 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Tabla 11- 16 Tipos de datos TSEND_C y TRCV_C para los parámetros

Parámetro y tipo Tipo de datos Descripción


REQ IN Bool REQ = 1 inicia la tarea de transmisión TSEND_C en un flanco
(TSEND_C) ascendente con la conexión descrita en el parámetro
CONNECT. (CONT = 1 también se requiere para establecer y
mantener la conexión de comunicación.)
EN_R IN Bool Si EN_R = 1, TRCV_C está preparado para recibir. La tarea de
(TRCV_C) recepción se procesa. (CONT = 1 también se requiere para
establecer y mantener la conexión de comunicación.)
CONT IN Bool Controla la conexión:
• 0: desconectar la conexión
• 1: establecer y mantener la conexión
Cuando se envían datos (TSEND_C) (flanco ascendente en el
parámetro REQ ), el parámetro CONT debe tener el valor TRUE
con el fin de establecer o mantener una conexión.
Cuando se reciben datos (TRCV_C) (flanco ascendente en el
parámetro EN_R), el parámetro CONT debe tener el valor
TRUE con el fin de establecer o mantener una conexión.
LEN IN UInt Número máximo de bytes que deben enviarse (TSEND_C) o
recibirse (TRCV_C):
• Predeterminado = 0: el parámetro DATA determina la longi-
tud de los datos que deben enviarse (TSEND_C) o recibirse
(TRCV_C).
• Modo ad hoc = 65535: una longitud de datos variable está
configurada para la recepción (TRCV_C).
CONNECT IN_OUT TCON_Param Puntero hacia la descripción de la conexión (Página 848)
DATA IN_OUT Variant • Contiene la dirección y longitud de los datos que se van a
enviar (TSEND_C).
• Contiene la dirección de inicio y la longitud máxima de los
datos recibidos (TRCV_C).
COM_RST IN_OUT Bool Permite reiniciar la instrucción:
• 0: Irrelevante
• 1: Reinicio completo del bloque de función; se deshace la
conexión existente.
DONE OUT Bool • 0: Tarea no iniciada aún o en proceso.
• 1: Tarea finalizada sin errores.
BUSY OUT Bool • 0: Tarea finalizada.
• 1: Tarea no finalizada aún. No se puede iniciar una tarea
nueva.
ERROR OUT Bool Parámetros de estado con los valores siguientes:
• 0: No hay error
• 1: Ha ocurrido un error durante el procesamiento. STATUS
proporciona información detallada sobre el tipo de error.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 867
Comunicación
11.2 PROFINET

Parámetro y tipo Tipo de datos Descripción


STATUS OUT Word Información de estado, incluida la información de error. (Véase
la tabla "Parámetros de error y estado" a continuación.)
RCVD_LEN OUT Int Cantidad de datos (en bytes) recibida realmente
(TRCV_C)

Nota
La instrucción TSEND_C requiere una transición de bajo a alto en el parámetro de entrada
REQ para iniciar una tarea de transmisión. El parámetro BUSY se pone a 1 durante el
procesamiento. La finalización de la tarea de transmisión se indica poniendo a 1 los
parámetros DONE o ERROR durante un ciclo. Durante este tiempo, se ignora cualquier
transición de bajo a alto en el parámetro de entrada REQ.

Nota
El ajuste predeterminado del parámetro LEN (LEN = 0) utiliza el parámetro DATA para
determinar la longitud de los datos que se están transmitiendo. Se recomienda que los datos
transmitidos por la instrucción TSEND_C tengan el mismo tamaño que el parámetro DATA
de la instrucción TRCV_C.
Si se utiliza el ajuste predeterminado del parámetro LEN y hay que enviar los datos en
segmentos más pequeños que el tamaño del parámetro DATA, se aplica lo siguiente. Si el
tamaño de los datos transmitidos desde TSEND_C no es el mismo que el tamaño del
parámetro TRCV_C DATA, TRCV_C permanece en estado ocupado (código de estado:
7006) hasta que el tamaño total de los datos transmitidos desde TSEND_C sea el mismo
que el tamaño del parámetro TRCV_C DATA.
El búfer del parámetro TRCV_C DATA no muestra los nuevos datos recibidos hasta que el
tamaño de los datos sea el mismo que el tamaño del búfer del parámetro DATA.

Operaciones TSEND_C
Las funciones siguientes describen el funcionamiento de la instrucción TSEND_C:
● Para establecer una conexión, ejecute TSEND_C con CONT = 1.
● Una vez establecida correctamente la conexión, TSEND_C activa el parámetro DONE
durante un ciclo.
● Para deshacer la conexión, ejecute TSEND_C con CONT = 0. La conexión se
interrumpirá inmediatamente. Esto afecta también la estación receptora. La conexión se
cierra allí y pueden perderse los datos del búfer de recepción.
● Para enviar datos a través de una conexión establecida, ejecute TSEND_C cuando se
produzca un flanco ascendente en REQ. Tras una operación de envío correcta,
TSEND_C activa el parámetro DONE durante un ciclo.
● Para establecer una conexión y enviar datos, ejecute TSEND_C con CONT = 1 y REQ =
1. Tras una operación de envío correcta, TSEND_C activa el parámetro DONE durante
un ciclo.

Controlador programable S7-1200


868 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Operaciones TRCV_C
Las funciones siguientes describen el funcionamiento de la instrucción TRCV_C:
● Para establecer una conexión, ejecute TRCV_C con el parámetro CONT = 1.
● Para recibir datos, ejecute TRCV_C con el parámetro EN_R = 1. TRCV_C recibe los
datos continuamente si los parámetros EN_R = 1 y CONT = 1.
● Para deshacer la conexión, ejecute TRCV_C con el parámetro CONT = 0. La conexión
se deshace inmediatamente y pueden perderse datos.
TRCV_C utiliza los mismos modos de recepción que la instrucción TRCV. En la tabla
siguiente se muestra cómo se introducen los datos en el área de recepción:

Tabla 11- 17 Entrada de datos en el área de recepción

Variante de Entrada de datos en el Parámetro Valor del parámetro LEN Valor del parámetro
protocolo área de recepción 
"connection_type" RCVD_LEN (bytes)
TCP Modo ad hoc B#16#11 65535 1 a 1472
TCP Recepción de datos B#16#11 0 (recomendado) o 1 a 8192, 1 a 8192
con la longitud especi- excepto 65535
ficada
ISO on TCP Modo ad hoc B#16#12 65535 1 a 1472
ISO on TCP Controlado por proto- B#16#12 0 (recomendado) o 1 a 8192, 1 a 8192
colo excepto 65535

Nota
Modo ad hoc
El modo "ad hoc" solo está disponible con las variantes de protocolo TCP e ISO on TCP. El
modo "ad hoc" se establece asignando el valor "65535" al parámetro LEN. El área de
recepción es idéntica al área especificada en el parámetro DATA. La longitud de los datos
recibidos será transferida al parámetro RCVD_LEN.
Si se guardan los datos en un DB "optimizado" (solo simbólico), únicamente es posible
recibir datos en matrices de tipos de datos Byte, Char, USInt y SInt.

Nota
Importar al S7-1200 proyectos S7-300/400 de STEP 7 que contienen el modo "ad hoc"
En los proyectos S7-300/400 de STEP 7, el modo "ad hoc" se selecciona asignando el valor
"0" al parámetro LEN. En el S7-1200, el modo "ad hoc" se establece asignando el valor
"65535" al parámetro LEN.
Si se importa al S7-1200 un proyecto S7-300/400 de STEP 7 que contiene el modo "ad
hoc", el parámetro LEN debe modificarse a "65535".

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 869
Comunicación
11.2 PROFINET

Nota
Es preciso conservar la coherencia de los datos en el área de transmisión hasta que el
parámetro DONE o ERROR adopten el valor TRUE
Debido al procesamiento asíncrono de TSEND_C, es preciso conservar la coherencia de los
datos en el área de emisión hasta que el parámetro DONE o ERROR adopte el valor TRUE.
Para TSEND_C, un estado TRUE en el parámetro DONE significa que los datos se han
enviado correctamente. Sin embargo, no significa que la CPU interlocutora haya leído
realmente el búfer de recepción.
Debido al procesamiento asíncrono de TRCV_C, los datos en el área de recepción solo son
coherentes si el parámetro DONE = 1.

Tabla 11- 18 Instrucciones TSEND_C y TRCV_C parámetros BUSY, DONEy ERROR

BUSY DONE ERROR Descripción


TRUE Irrelevante Irrelevante La tarea se está procesando.
FALSE TRUE FALSE La tarea se ha completado correctamente.
FALSE FALSE TRUE La tarea se ha finalizado con un error. La causa del error se indica en
el parámetro STATUS.
FALSE FALSE FALSE No se ha asignado ninguna tarea nueva.

Códigos de condición TSEND_C, TRCV_C Error y Status

ERROR STATUS Descripción


0 0000 Tarea ejecutada sin errores
0 7000 No se está procesando ninguna tarea
0 7001 Iniciar procesamiento de la tarea, estableciendo la conexión, esperando al interlocutor
0 7002 Enviando o recibiendo datos
0 7003 Deshaciendo la conexión
0 7004 Conexión establecida y vigilada, no se está procesando ninguna tarea
1 8085 El parámetro LEN es mayor que el valor máximo admisible.
1 8086 El parámetro CONNECT está fuera del rango admisible.
1 8087 Se ha alcanzado el número máximo de conexiones; no es posible establecer más co-
nexiones.
1 8088 El parámetro LEN no es válido para el área de memoria especificada en DATA.
1 8089 El parámetro CONNECT no apunta a un bloque de datos.
1 8091 Se ha excedido la profundidad de anidamiento máxima.
1 809A El parámetro CONNECT apunta a un campo que no concuerda con la longitud de la
descripción de la conexión.
1 809B La "local_device_id" indicada en la descripción de la conexión no concuerda con la
CPU.

Controlador programable S7-1200


870 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

ERROR STATUS Descripción


1 80A1 Error de comunicación:
• La conexión indicada no se ha establecido todavía
• La conexión indicada se está deshaciendo; no es posible transferir a través de esta
conexión
• La interfaz se está reinicializando
1 80A3 Se está intentando deshacer una conexión no existente
1 80A4 La dirección IP del interlocutor remoto de la conexión no es válida. Por ejemplo, la
dirección IP del interlocutor remoto es igual a la dirección IP del interlocutor local.
1 80A5 ID de conexión (Página 845) en uso.
1 80A7 Error de comunicación: TDISCON se ha llamado antes de finalizar TSEND_C.
1 80B2 El parámetro CONNECT apunta a un bloque de datos generado con la palabra clave
UNLINKED
1 80B3 Parámetros incoherentes:
• Error en la descripción de la conexión
• El puerto local (parámetro local_tsap_id) ya existe en una descripción de conexión
diferente.
• La ID indicada en la descripción de la conexión no concuerda con la ID especificada
como parámetro
1 80B4 Si se utiliza ISO on TCP (connection_type = B#16#12) para establecer una conexión
pasiva, el código de condición 80B4 advierte de que el TSAP introducido no cumple
uno de los siguientes requisitos para la dirección:
• Si la longitud del TSAP local es 2 y el valor de la ID TSAP es E0 o E1 (hexadecimal)
para el primer byte, el segundo byte deberá ser 00 o 01.
• Si la longitud del TSAP local es 3 o superior y el valor de la ID TSAP es E0 o E1
(hexadecimal) para el primer byte, el segundo byte deberá ser 00 o 01 y todos los
demás bytes deberán ser caracteres ASCII válidos.
• Si la longitud del TSAP local es 3 o superior y el valor del primer byte de la ID TSAP
no es E0 ni E1 (hexadecimal), todos los demás bytes de la ID TSAP deberán ser
caracteres ASCII válidos.
Los caracteres ASCII válidos son valores de byte comprendidos entre 20 y 7E (hexa-
decimal).
1 80B7 El tipo de datos y/o la longitud de los datos transmitidos no cabe en el área de la CPU
interlocutora en la que deben escribirse.
1 80C3 Se están utilizando todos los recursos de conexión.
1 80C4 Error de comunicación temporal:
• La conexión no se puede establecer en estos momentos
• La interfaz está recibiendo nuevos parámetros
• La instrucción TDISCON está deshaciendo la conexión configurada.
1 8722 Parámetro CONNECT: Área de origen no válida: el área no existe en el DB.
1 873A Parámetro CONNECT: Imposible acceder a la descripción de la conexión (p. ej. porque
el DB no está disponible).
1 877F Parámetro CONNECT: Error interno, p. ej. referencia no válida a ANY
1 893A El parámetro contiene el número de un DB que no está cargado.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 871
Comunicación
11.2 PROFINET

Protocolos de conexión Ethernet


Toda CPU incorpora un puerto PROFINET que soporta la comunicación PROFINET
estándar. Todas las instrucciones TSEND_C y TRCV_C y TSEND y TRCV soportan los
protocolos Ethernet TCP e ISO on TCP.
Encontrará más información en "Configuración de dispositivos: Configurar la vía de conexión
local/interlocutor (Página 824)"

11.2.8.9 Instrucciones TCON, TDISCON, TSEND y TRCV


A partir de la versión V4.1 de la CPU S7-1200 junto con STEP 7 V13 SP1, la CPU amplía la
capacidad de las instrucciones TCON, TDISCON, TSEND y TRCV para utilizar parámetros
de conexión con estructuras conforme a "TCON_IP_v4" y "TCON_IP_RFC".
Por este motivo, S7-1200 soporta dos juegos de instrucciones TCON, TDISCON, TSEND y
TRCV:
● Instrucciones Legacy TCON, TDISCON, TSEND y TRCV (Página 883): Estas
instrucciones TCON, TDISCON, TSEND y TRCV ya existían antes de la versión V4.0 del
S7-1200 y solo funcionan con parámetros de conexión con estructuras conforme a
"TCON_Param".
● Instrucciones TCON, TDISCON, TSEND y TRCV (Página 873): estas instrucciones
TCON, TDISCON, TSEND y TRCV ofrecen toda la funcionalidad de las instrucciones
Legacy más la habilidad de usar parámetros de conexión con estructuras conforme a
"TCON_IP_v4" y "TCON_IP_RFC".

Selección de la versión de las instrucciones TCON, TDISCON, TSEND y TRCV


Existen dos versiones de las instrucciones TCON, TDISCON, TSEND o TRCV disponibles
en STEP 7:
● Las versiones 2.5 y 3.1 estaban disponibles en STEP 7 Basic/Professional V13 y
versiones anteriores.
● La versión 4.0 está disponible en STEP 7 Basic/Professional V13 SP1 y versiones
posteriores.
Para garantizar la compatibilidad y facilitar la migración, se puede elegir qué versión de la
instrucción se debe insertar en el programa de usuario.
No utilice diferentes versiones de la instrucción en el mismo programa de la CPU.

Haga clic en el icono de la Task Card del árbol de instrucciones para activar los
encabezados y columnas del árbol de instrucciones.

Para cambiar la versión de las instrucciones


TCON, TDISCON, TSEND o TRCV, selec-
cione la versión en la lista desplegable. Es
posible seleccionar el grupo o bien instruc-
ciones individuales.

Controlador programable S7-1200


872 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Cuando se utiliza el árbol de instrucciones para insertar una instrucción TCON, TDISCON,
TSEND y TRCV en el programa, se crea en el árbol del proyecto una nueva instancia del FB
o la FC dependiendo de la instrucción TCON, TDISCON, TSEND o TRCV seleccionada. La
nueva instancia del FB o la FC se puede ver en el árbol del proyecto en PLC_x > Bloques
de programa > Bloques de sistema > Recursos de programa.
Para comprobar la versión de la instrucción TCON, TDISCON, TSEND o TRCV en un
programa, es necesario examinar las propiedades del árbol del proyecto y no las
propiedades de un cuadro que se visualiza en el editor de programas. Seleccione un árbol
del proyecto TCON, TDISCON, TSEND o TRCV o instancia del FB o la FC, haga clic con el
botón derecho del ratón y seleccione "Propiedades", luego seleccione la página de
"información" para ver el número de versión de la instrucción TCON, TDISCON, TSEND o
TRCV.

Instrucciones TCON, TDISCON, TSEND y TRCV (comunicación TCP)

Comunicación Ethernet con los protocolos TCP e ISO on TCP

Nota
Instrucciones TSEND_C y TRCV_C
Para ayudar a simplificar la programación de la comunicación PROFINET/Ethernet, las
instrucciones TSEND_C y TRCV_C combinan las funciones de las instrucciones TCON,
TDISCON, TSEND y TRCV:
• TSEND_C combina las instrucciones TCON, TDISCON y TSEND.
• TRCV_C combina las instrucciones TCON, TDISCON y TRCV.

Las instrucciones siguientes controlan el proceso de comunicación:


● TCON establece la conexión TCP/IP entre el cliente y el servidor (CPU) PC.
● TSEND y TRCV permiten enviar y recibir datos.
● TDISCON deshace la conexión.
El tamaño mínimo de los datos que pueden transmitirse (TSEND) o recibirse (TRCV) es de
un byte; el tamaño máximo es de 8192 bytes. TSEND no admite la transmisión de datos
desde posiciones booleanas y TRCV no recibe datos en posiciones booleanas. Encontrará
más información sobre cómo transferir datos con estas instrucciones en el apartado
Coherencia de datos (Página 202).
TCON, TDISCON, TSEND y TRCV funcionan de forma asíncrona, con lo que el
procesamiento de la tarea abarca varias ejecuciones de la instrucción. Por ejemplo, una
tarea para configurar y establecer una conexión se inicia ejecutando una instrucción TCON
con el parámetro REQ = 1. Después se utilizan ejecuciones adicionales de TCON para
vigilar la tarea y comprobar si ha finalizado con el parámetro DONE.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 873
Comunicación
11.2 PROFINET

La tabla siguiente muestra la relación entre los parámetros BUSY, DONE y ERROR. Utilice
la tabla para determinar el estado actual de la tarea:

Tabla 11- 19 Interacción entre los parámetros BUSY, DONE y ERROR

BUSY DONE ERROR Descripción


1 0 0 La tarea se está procesando.
0 1 0 La tarea se ha ejecutado correctamente.
0 0 1 La tarea ha finalizado con un error. La causa del error se genera en el parámetro
STATUS.
0 0 0 No se ha asignado una nueva tarea.

TCON y TDISCON

Nota
Inicializar los parámetros de comunicación
Después de introducir la instrucción TCON, utilice las "Propiedades" de la instrucción
(Página 824) para configurar los parámetros de comunicación (Página 848). Cuando se
introducen los parámetros de los interlocutores en la ventana de inspección, STEP 7
introduce los datos correspondientes en el DB de instancia de la instrucción.
Si desea utilizar un DB multiinstancia, debe configurar manualmente el DB en ambas CPUs.

Tabla 11- 20 Instrucciones TCON y TDISCON

KOP / FUP Descripción


"TCON_DB"( TCP e ISO on TCP: TCON inicia una conexión
req:=_bool_in_, entre la CPU y un interlocutor.
ID:=_undef_in_,
done=>_bool_out_,
busy=>_bool_out_,
error=>_bool_out_,
status=>_word_out_,
connect:=_struct_inout_);
"TDISCON_DB"( TCP e ISO on TCP: TDISCON deshace una
req:=_bool_in_, conexión entre la CPU y un interlocutor.
ID:=_word_in_,
done=>_bool_out_,
busy=>_bool_out_,
error=>_bool_out_,
status=>_word_out_);

1 STEP 7 crea el DB automáticamente al insertar la instrucción.

Controlador programable S7-1200


874 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Tabla 11- 21 Tipos de datos para los parámetros de TCON y TDISCON

Parámetro Declaración Tipo de datos Descripción


REQ IN Bool Inicia la tarea de establecer la conexión especificada en la
ID cuando se produce un flanco ascendente.
ID IN CONN_OUC (Word) Referencia a la conexión asignada.
Rango de valores: W#16#0001 a W#16#0FFF
CONNECT IN_OUT VARIANT Puntero a la descripción de la conexión
(TCON) • En el caso de TCP o UDP, use la estructura
TCON_IP_v4.

Encontrará más información sobre TCON_IP_v4 en:


"Parámetros de la conexión PROFINET" (Página 848).
• En el caso de ISO on TCP, use la estructura
TCON_IP_RFC

Encontrará más información sobre TCON_IP_RFC en:


"Parámetros de la conexión PROFINET" (Página 848).
DONE OUT Bool Parámetro de estado con los valores siguientes:
• 0: tarea no iniciada aún o en proceso
• 1: tarea ejecutada sin errores
BUSY OUT Bool Parámetro de estado con los valores siguientes:
• 0: tarea no iniciada aún o ya finalizada
• 1: tarea no finalizada aún. No se puede iniciar una tarea
nueva.
ERROR OUT Bool Parámetro de estado ERROR:
• 0: No hay error
• 1: se ha producido un error
STATUS OUT Word Estado de la instrucción

Ambos interlocutores ejecutan la instrucción TCON para configurar y establecer la conexión.


El punto final activo y el punto final pasivo de la comunicación se especifican mediante
parámetros. Una vez configurada y establecida la conexión, la CPU la mantiene y la vigila
automáticamente.
Si la conexión se deshace p. ej. debido a una interrupción de la línea o por el interlocutor
remoto, el interlocutor activo intenta restablecer la conexión configurada. No es necesario
volver a ejecutar TCON.
Una conexión existente se deshace y la conexión configurada se elimina cuando se ejecuta
la instrucción TDISCON o cuando la CPU pasa a estado operativo STOP. Para configurar y
restablecer la conexión es preciso ejecutar TCON de nuevo.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 875
Comunicación
11.2 PROFINET

Tabla 11- 22 Códigos de condición ERROR y STATUS para TCON y TDISCON

ERROR STATUS Explicación


(W#16#...)
0 0000 La conexión se ha establecido correctamente.
0 7000 No se está procesando ninguna tarea
0 7001 Inicia la ejecución de la tarea, establece la conexión (TCON) o deshace la conexión
(TDISCON).
0 7002 Se está estableciendo la conexión (REQ es irrelevante); establece la conexión (TCON) o des-
hace la conexión (TDISCON).
1 8085 TCON: ID de conexión en uso.
1 8086 TCON: El parámetro ID está fuera del rango válido.
1 8087 TCON: Se ha alcanzado el número máximo de conexiones; no es posible establecer más
conexiones.
1 8089 TCON: El parámetro CONNECT no apunta a una descripción de la conexión o bien esta se ha
creado manualmente.
1 809A TCON: La estructura del parámetro CONNECT no se soporta o la longitud no es válida.
1 809B TCON: La ID del dispositivo local en la descripción de la conexión no corresponde a la CPU o
al CP, o bien es "0".
1 80A0 Error de grupo para códigos de error W#16#80A1 y W#16#80A2.
1 80A1 TCON: Para TCP/UDP (TCON_IP_v4): La conexión o el puerto ya se utilizan.
1 80A2 TCON: el sistema está utilizando el puerto local o remoto.
1 80A3 TCON: El valor del parámetro ID ya está siendo utilizado por una conexión (TCON) que se
creó con el programa de usuario. La conexión utiliza la misma ID, pero una configuración de
conexión distinta en el parámetro CONNECT.
1 80A4 TCON: La dirección IP del punto final remoto de la conexión no es válida o corresponde a la
dirección IP del interlocutor local.
1 80A5 TCON: ID de conexión en uso.
1 80A7 TCON: Error de comunicación: ha ejecutado "TDISCON" antes de que finalizara "TCON".
1 80B2 TCON: El parámetro CONNECT apunta a un bloque de datos que se ha generado con el atri-
buto "Depositar solo en la memoria de carga".
1 80B3 Parametrización incoherente: error de grupo para códigos de error de W#16#80A0 a
W#16#80A2, W#16#80A4, de W#16#80B4 a W#16#80B9.
1 80B4 TCON: Solo con TCON_IP_RFC. El selector T local no se ha especificado o el primer byte no
contiene el valor 0x0E o bien el selector T local empieza por "SIMATIC-".
1 80B5 TCON: Solo se permite el establecimiento de conexión pasiva para el tipo de conexión 13 =
UDP (el parámetro active_est de la estructura TCON_IP_v4 tiene el valor TRUE).
1 80B6 TCON: Error de asignación en el parámetro connection_type del bloque de datos para la des-
cripción de la conexión.
• Solo válido con TCON_IP_v4: 0x11, 0x0B y 0x13.
• Solo válido con TCON_IP_RFC: 0x0C y 0x12.

Controlador programable S7-1200


876 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

ERROR STATUS Explicación


(W#16#...)
1 80B7 TCON: Con TCON_IP_v4:
• TCP (establecimiento de conexión activa): el puerto remoto es "0".
• TCP (establecimiento de conexión pasiva): el puerto local es "0".
• UDP: el puerto local es "0".
TCON: Con TCON_IP_RFC:
• Se ha especificado un selector T local (local_tselector) o remoto (remote_tselector) con
una longitud de más de 32 bytes.
• Para TSelLength del selector T (local o remoto), se ha introducido una longitud mayor que
32.
• Error en la longitud de la dirección IP del interlocutor de conexión específico.
1 80B8 TCON: El parámetro ID de la descripción de la conexión local (estructura en el parámetro
CONNECT) y el parámetro ID de la instrucción son diferentes.
1 80C3 TCON: Se están utilizando todos los recursos de conexión (Página 845).
1 80C4 Error de comunicación temporal:
• La conexión no se puede establecer en estos momentos (TCON).
• La interfaz está recibiendo nuevos parámetros (TCON y TDISCON).
• La instrucción "TDISCON" (TCON) está eliminando la conexión configurada.
1 80C5 TCON: El interlocutor remoto se niega a establecer la conexión, la ha cancelado o la ha finali-
zado activamente.
1 80C6 TCON: No es posible acceder al interlocutor remoto (error de red).
1 80C7 TCON: Tiempo de ejecución excedido.
1 80C8 TCON: La ID es utilizada por una conexión que ha creado el programa de usuario y que utiliza
la misma descripción de la conexión en el parámetro CONNECT.
1 80C9 TCON: Error al validar el interlocutor remoto. El interlocutor remoto que desea establecer la
conexión no coincide con el interlocutor definido de la estructura en el parámetro CONNECT.
1 80CE TCON: La dirección IP de la interfaz local es 0.0.0.0.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 877
Comunicación
11.2 PROFINET

TSEND y TRCV

Nota
Si se utiliza la comunicación Open User de PROFINET y se ejecuta una instrucción TSEND
sin que el dispositivo remoto ejecute la instrucción TRCV correspondiente, es posible que la
instrucción TSEND permanezca indefinidamente en un estado ocupado mientras espera
que la instrucción TRCV reciba los datos. En este estado, la salida "Busy" de la instrucción
TSEND está activada y la salida "Status" tiene un valor de "0x7002". Esto puede suceder si
se transfieren más de 4096 bytes de datos. Este problema se soluciona la próxima vez que
se ejecuta la instrucción TRCV.

Tabla 11- 23 Instrucciones TSEND y TRCV

KOP / FUP SCL Descripción


"TSEND_DB"( TCP e ISO on TCP: TSEND envía datos me-
req:=_bool_in_, diante una conexión entre la CPU y un interlo-
ID:=_word_in_, cutor.
len:=_udint_in_,
done=>_bool_out_,
busy=>_bool_out_,
error=>_bool_out_,
status=>_word_out_,
data:=_variant_inout_);
"TRCV_DB"( TCP e ISO on TCP: TRCV recibe datos me-
en_r:=_bool_in_, diante una conexión entre un interlocutor y la
ID:=_word_in_, CPU.
len:=_udint_in_,
adhoc:=_bool_in_,
ndr=>_bool_out_,
busy=>_bool_out_,
error=>_bool_out_,
status=>_word_out_,
rcvd_len=>_udint_out_,
data:=_variant_inout_);
1 STEP 7 crea el DB automáticamente al insertar la instrucción.

Controlador programable S7-1200


878 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Tabla 11- 24 Tipos de datos para los parámetros de TSEND y TRCV

Parámetro y tipo Tipo de datos Descripción


REQ IN Bool TSEND: Inicia la tarea de transmisión cuando se produce un flan-
co ascendente. Los datos se transfieren desde el área que indican
los parámetros DATA y LEN.
EN_R IN Bool TRCV: Habilita la CPU para recibir, con EN_R = 1, TRCV está listo
para recibir. La tarea de recepción se procesa.
ID IN CONN_OUC Referencia a la conexión asociada. La ID debe ser idéntica al
(Word) parámetro ID asociado en la descripción de la conexión local.
Rango de valores: W#16#0001 a W#16#0FFF
LEN IN UDInt Número máximo de bytes que deben enviarse (TSEND) o recibir-
se (TRCV):
• Predeterminado = 0: el parámetro DATA determina la longitud
de los datos que deben enviarse (TSEND) o recibirse (TRCV).
• Modo ad hoc = 65535: una longitud de datos variable está
configurada para la recepción (TRCV).
ADHOC IN Bool TRCV: Parámetro opcional (oculto)
Solicitud de modo ad hoc para el tipo de conexión TCP.
DATA IN_OUT Variant Puntero para enviar (TSEND) o recibir (TRCV) un área de datos,
el área de datos contiene la dirección y la longitud. La dirección
hace referencia a la memoria I, Q, M o a un DB.
DONE OUT Bool TSEND:
• 0: Tarea no iniciada aún o en proceso.
• 1: Tarea finalizada sin errores.
NDR OUT Bool TRCV:
• NDR = 0: Tarea no iniciada aún o en proceso.
• NDR = 1: La tarea se ha ejecutado correctamente.
BUSY OUT Bool • BUSY = 1: Tarea no finalizada aún. No se puede iniciar una
tarea nueva.
• BUSY = 0: Tarea finalizada.
ERROR OUT Bool ERROR = 1: Ha ocurrido un error durante el procesamiento.
STATUS proporciona información detallada sobre el tipo de error.
STATUS OUT Word Información de estado, incluida la información de error. (Consulte
los códigos de condición de error y estado en la tabla siguiente.)
RCVD_LEN OUT UDInt TRCV: Cantidad de datos recibida realmente en bytes

Nota
La instrucción TSEND requiere una transición de bajo a alto en el parámetro de entrada
REQ para iniciar una tarea de transmisión. El parámetro BUSY se pone a 1 durante el
procesamiento. La finalización de la tarea de transmisión se indica poniendo a 1 los
parámetros DONE o ERROR durante un ciclo. Durante este tiempo, se ignora cualquier
transición de bajo a alto en el parámetro de entrada REQ.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 879
Comunicación
11.2 PROFINET

Operaciones TRCV
La instrucción TRCV escribe los datos recibidos en un área de recepción especificada por
las dos variables siguientes:
● Puntero al comienzo del área
● Longitud del área, o bien el valor suministrado en la entrada LEN si no es 0

Nota
El ajuste predeterminado del parámetro LEN (LEN = 0) utiliza el parámetro DATA para
determinar la longitud de los datos que se están transmitiendo. Se recomienda que los
datos transmitidos por la instrucción TSEND tengan el mismo tamaño que el parámetro
DATA de la instrucción TRCV.
Si se utiliza el ajuste predeterminado del parámetro LEN y hay que enviar los datos en
segmentos más pequeños que el tamaño del parámetro DATA, se aplica lo siguiente. Se
recomienda mantener el bit EN_R en "high" hasta que el TSEND correspondiente
transfiera la cantidad adecuada de datos para rellenar el parámetro TRCV DATA. Si el
tamaño de los datos transmitidos desde TSEND no es el mismo que el tamaño del
parámetro TRCV DATA, TRCV permanece en estado ocupado (código de estado: 7002)
mientras el bit EN_R esté en "high", hasta que el tamaño total de los datos transmitidos
desde TSEND sea el mismo que el tamaño del parámetro TRCV DATA. Si el bit EN_R de
TRCV se impulsa, tiene que impulsarse el mismo número de veces que se ejecuta
TSEND para recibir los datos.
El búfer del parámetro TRCV DATA no muestra los nuevos datos recibidos hasta que el
tamaño de los datos sea el mismo que el tamaño del búfer del parámetro DATA.

Tan pronto como se hayan recibido todos los datos de la tarea, TRCV los transferirá al área
de recepción y pondrá NDR a 1.

Tabla 11- 25 Entrada de datos en el área de recepción

Variante de Entrada de datos en el Parámetro Valor del parámetro LEN Valor del parámetro
protocolo área de recepción 
"connection_type" RCVD_LEN (bytes)
TCP Modo ad hoc B#16#11 Se seleccionan con la entrada De 1 a 1472
ADHOC de la instrucción
TRCV.
TCP Recepción de datos B#16#11 0 (recomendado) o 1 a 8192, De 1 a 8192
con la longitud especi- excepto 65535
ficada
ISO on TCP Modo ad hoc B#16#12 65535 De 1 a 1472
ISO on TCP Controlado por proto- B#16#12 0 (recomendado) o 1 a 8192, De 1 a 8192
colo excepto 65535

Controlador programable S7-1200


880 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Nota
Modo ad hoc
El modo "ad hoc" solo está disponible con las variantes de protocolo TCP e ISO on TCP.
Para configurar la instrucción TRCV para el modo ad hoc, ajuste el parámetro de entrada de
la instrucción ADHOC. El área de recepción es idéntica al área especificada en el parámetro
DATA. La longitud de los datos recibidos será transferida al parámetro RCVD_LEN.
Inmediatamente después de recibir un bloque de datos, TRCV introduce los datos en el área
de recepción y pone NDR a 1.
Si se guardan los datos en un DB "optimizado" (solo simbólico), únicamente es posible
recibir datos en matrices de tipos de datos Byte, Char, USInt y SInt.

Nota
Importar al S7-1200 proyectos S7-300/400 de STEP 7 que contienen el modo "ad hoc"
En los proyectos S7-300/400 de STEP 7, el modo "ad hoc" se selecciona asignando el valor
"0" al parámetro LEN. En S7-1200, configure la instrucción TRCV para el modo ad hoc
ajustando el parámetro de entrada de la instrucción ADHOC.
Si se importa al S7-1200 un proyecto S7-300/400 de STEP 7 que contiene el modo "ad
hoc", el parámetro LEN debe modificarse a "65535".

Tabla 11- 26 Códigos de condición ERROR y STATUS para TSEND y TRCV

ERROR STATUS Descripción


0 0000 • Tarea de transmisión finalizada sin errores (TSEND)
• Se han aceptado datos nuevos: La longitud actual de los datos recibidos se mues-
tra en RCVD_LEN (TRCV).
0 7000 • No se está procesando ninguna tarea (TSEND)
• El bloque no está listo para la recepción (TRCV)
0 7001 • Inicio del procesamiento de la tarea, enviando los datos: Durante este procesamien-
to, el sistema operativo accede a los datos del área de emisión DATA (TSEND).
• El bloque está listo para la recepción, se ha activado la tarea de recepción (TRCV).
0 7002 • Ejecución intermedia de la instrucción (REQ es irrelevante), procesando la tarea: El
sistema operativo accede a los datos del área de emisión DATA durante este pro-
cesamiento (TSEND).
• Ejecución intermedia de la instrucción, procesando la tarea de recepción: Los datos
se escriben en el área de recepción durante este procesamiento. Por este motivo,
un error puede generar datos incoherentes en el área de recepción (TRCV).
1 8085 • El parámetro LEN es mayor que el valor máximo admisible (TSEND) y (TRCV).
• El parámetro LEN o DATA ha sido modificado desde la primera ejecución de la
instrucción (TRCV).
1 8086 El parámetro ID está fuera del rango de direcciones admisible.
1 8088 El parámetro LEN excede el área de memoria especificada en DATA.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 881
Comunicación
11.2 PROFINET

ERROR STATUS Descripción


1 80A1 Error de comunicación:
• La conexión indicada no se ha establecido todavía (TSEND y TRCV).
• La conexión indicada se está deshaciendo. La transmisión o la tarea de recepción
no es posible a través de esta conexión (TSEND y TRCV).
• La interfaz se está reinicializando (TSEND).
• La interfaz está recibiendo nuevos parámetros (TRCV).
1 80C3 Falta interna de recursos de conexión (Página 845): Ya se está procesando un bloque
con esta ID en una clase de prioridad diferente.
1 80C4 Error de comunicación temporal:
• La conexión con el interlocutor no se puede establecer en estos momentos.
• La interfaz está recibiendo nuevos ajustes de parámetros o la conexión se está
estableciendo.

Protocolos de conexión Ethernet


Toda CPU incorpora un puerto PROFINET que soporta la comunicación PROFINET
estándar. Las instrucciones TSEND_C, TRCV_C, TSEND y TRCV soportan los protocolos
Ethernet para TCP e ISO on TCP.
Encontrará más información en "Configuración de dispositivos: Configurar la vía de conexión
local/interlocutor (Página 824)"

11.2.8.10 Instrucciones Legacy TCON, TDISCON, TSEND y TRCV


Antes de la versión de STEP 7 V13 SP1 y las CPUs S7-1200 V4.1, las instrucciones TCON,
TDISCON, TSEND y TRCV solo podían trabajar con parámetros de conexión con
estructuras conforme a "TCON_Param". Los conceptos generales son válidos para ambos
juegos de instrucciones. Consulte las instrucciones Legacy individuales TCON, TDISCON,
TSEND, y TRCV para obtener información sobre la programación.

Selección de la versión de las instrucciones TCON, TDISCON, TSEND y TRCV


Existen dos versiones de las instrucciones TCON, TDISCON, TSEND o TRCV disponibles
en STEP 7:
● Las versiones 2.5 y 3.1 estaban disponibles en STEP 7 Basic/Professional V13 y
versiones anteriores.
● La versión 4.0 está disponible en STEP 7 Basic/Professional V13 SP1 y versiones
posteriores.
Para garantizar la compatibilidad y facilitar la migración, se puede elegir qué versión de la
instrucción se debe insertar en el programa de usuario.

Controlador programable S7-1200


882 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

No utilice diferentes versiones de la instrucción en el mismo programa de la CPU.

Haga clic en el icono de la Task Card del árbol de instrucciones para activar los
encabezados y columnas del árbol de instrucciones.

Para cambiar la versión de las instrucciones


TCON, TDISCON, TSEND o TRCV, selec-
cione la versión en la lista desplegable. Es
posible seleccionar el grupo o bien instruc-
ciones individuales.

Cuando se utiliza el árbol de instrucciones para insertar una instrucción TCON, TDISCON,
TSEND y TRCV en el programa, se crea en el árbol del proyecto una nueva instancia del FB
o la FC dependiendo de la instrucción TCON, TDISCON, TSEND o TRCV seleccionada. La
nueva instancia del FB o la FC se puede ver en el árbol del proyecto en PLC_x > Bloques
de programa > Bloques de sistema > Recursos de programa.
Para comprobar la versión de la instrucción TCON, TDISCON, TSEND o TRCV en un
programa, es necesario examinar las propiedades del árbol del proyecto y no las
propiedades de un cuadro que se visualiza en el editor de programas. Seleccione un árbol
del proyecto TCON, TDISCON, TSEND o TRCV o instancia del FB o la FC, haga clic con el
botón derecho del ratón y seleccione "Propiedades", luego seleccione la página de
"información" para ver el número de versión de la instrucción TCON, TDISCON, TSEND o
TRCV.

Instrucciones Legacy TCON, TDISCON, TSEND y TRCV (comunicación TCP)

Comunicación Ethernet con los protocolos TCP e ISO on TCP

Nota
Instrucciones TSEND_C y TRCV_C
Para ayudar a simplificar la programación de la comunicación PROFINET/Ethernet, las
instrucciones TSEND_C y TRCV_C combinan las funciones de las instrucciones TCON,
TDISCON, TSEND y TRCV:
• TSEND_C combina las instrucciones TCON, TDISCON y TSEND.
• TRCV_C combina las instrucciones TCON, TDISCON y TRCV.

Las instrucciones siguientes controlan el proceso de comunicación:


● TCON establece la conexión TCP/IP entre el cliente y el servidor (CPU) PC.
● TSEND y TRCV permiten enviar y recibir datos.
● TDISCON deshace la conexión.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 883
Comunicación
11.2 PROFINET

El tamaño mínimo de los datos que pueden transmitirse (TSEND) o recibirse (TRCV) es de
un byte; el tamaño máximo es de 8192 bytes. TSEND no admite la transmisión de datos
desde posiciones booleanas y TRCV no recibe datos en posiciones booleanas. Encontrará
más información sobre cómo transferir datos con estas instrucciones en el apartado
Coherencia de datos (Página 202).
TCON, TDISCON, TSEND y TRCV funcionan de forma asíncrona, con lo que el
procesamiento de la tarea abarca varias ejecuciones de la instrucción. Por ejemplo, una
tarea para configurar y establecer una conexión se inicia ejecutando una instrucción TCON
con el parámetro REQ = 1. Después se utilizan ejecuciones adicionales de TCON para
vigilar la tarea y comprobar si ha finalizado con el parámetro DONE.
La tabla siguiente muestra la relación entre los parámetros BUSY, DONE y ERROR. Utilice
la tabla para determinar el estado actual de la tarea:

Tabla 11- 27 Interacción entre los parámetros BUSY, DONE y ERROR

BUSY DONE ERROR Descripción


TRUE Irrelevante Irrelevante La tarea se está procesando.
FALSE TRUE FALSE La tarea se ha ejecutado correctamente.
FALSE FALSE TRUE La tarea se ha finalizado con un error. La causa del error se indica en el pará-
metro STATUS.
FALSE FALSE FALSE No se ha asignado ninguna tarea nueva.

TCON y TDISCON

Nota
Inicializar los parámetros de comunicación
Después de introducir la instrucción TCON, utilice las "Propiedades" de la instrucción
(Página 824) para configurar los parámetros de comunicación (Página 848). Cuando se
introducen los parámetros de los interlocutores en la ventana de inspección, STEP 7
introduce los datos correspondientes en el DB de instancia de la instrucción.
Si desea utilizar un DB multiinstancia, debe configurar manualmente el DB en ambas CPUs.

Controlador programable S7-1200


884 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Tabla 11- 28 Instrucciones TCON y TDISCON

KOP / FUP Descripción


"TCON_DB"( TCP e ISO on TCP: TCON inicia una conexión
req:=_bool_in_, entre la CPU y un interlocutor.
ID:=_undef_in_,
done=>_bool_out_,
busy=>_bool_out_,
error=>_bool_out_,
status=>_word_out_,
connect:=_struct_inout_);
"TDISCON_DB"( TCP e ISO on TCP: TDISCON deshace una
req:=_bool_in_, conexión entre la CPU y un interlocutor.
ID:=_word_in_,
done=>_bool_out_,
busy=>_bool_out_,
error=>_bool_out_,
status=>_word_out_);

1 STEP 7 crea el DB automáticamente al insertar la instrucción.

Tabla 11- 29 Tipos de datos para los parámetros de TCON y TDISCON

Parámetro y tipo Tipo de datos Descripción


REQ IN Bool El parámetro de control REQ inicia la tarea estableciendo la
conexión que indica ID. La tarea comienza cuando se pro-
duce un flanco ascendente.
ID IN CONN_OUC (Word) Referencia a la conexión que debe establecerse (TCON) o
deshacerse (TDISCON) con el interlocutor remoto, o bien
entre el programa de usuario y el nivel de comunicación del
sistema operativo. La ID debe ser idéntica al parámetro ID
asociado en la descripción de la conexión local.
Rango de valores: W#16#0001 a W#16#0FFF
CONNECT IN_OUT TCON_Param Puntero hacia la descripción de la conexión (Página 848)
(TCON)
DONE OUT Bool • 0: Tarea no iniciada aún o en proceso.
• 1: Tarea finalizada sin errores.
BUSY OUT Bool • 0: Tarea finalizada.
• 1: Tarea no finalizada aún. No se puede iniciar una
tarea nueva.
ERROR OUT Bool Parámetros de estado con los valores siguientes:
• 0: No hay error
• 1: Ha ocurrido un error durante el procesamiento.
STATUS proporciona información detallada sobre el tipo
de error.
STATUS OUT Word Información de estado, incluida la información de error.
(Consulte los códigos de condición de error y estado en la
tabla siguiente.)

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 885
Comunicación
11.2 PROFINET

Ambos interlocutores ejecutan la instrucción TCON para configurar y establecer la conexión.


El punto final activo y el punto final pasivo de la comunicación se especifican mediante
parámetros. Una vez configurada y establecida la conexión, la CPU la mantiene y la vigila
automáticamente.
Si la conexión se deshace p. ej. debido a una interrupción de la línea o por el interlocutor
remoto, el interlocutor activo intenta restablecer la conexión configurada. No es necesario
volver a ejecutar TCON.
Una conexión existente se deshace y la conexión configurada se elimina cuando se ejecuta
la instrucción TDISCON o cuando la CPU pasa a estado operativo STOP. Para configurar y
restablecer la conexión es preciso ejecutar TCON de nuevo.

Tabla 11- 30 Códigos de condición ERROR y STATUS para TCON y TDISCON

ERROR STATUS Descripción


0 0000 La conexión se ha establecido correctamente.
0 7000 No se está procesando ninguna tarea
0 7001 Iniciar procesamiento de la tarea, estableciendo la conexión (TCON) o deshaciendo la
conexión (TDISCON)
0 7002 Llamada intermedia (REQ es irrelevante), estableciendo la conexión (TCON) o desha-
ciendo la conexión (TDISCON)
1 8086 El parámetro ID está fuera del rango de direcciones admisible.
1 8087 TCON: Se ha alcanzado el número máximo de conexiones; no es posible establecer
más conexiones.
1 809B TCON: La "local_device_id" indicada en la descripción de la conexión no concuerda
con la CPU.
1 80A1 TCON: El usuario ya está utilizando el puerto o la conexión.
1 80A2 TCON: El sistema está utilizando el puerto local o remoto.
1 80A3 Se está intentando restablecer una conexión existente (TCON) o deshacer una cone-
xión no existente (TDISCON).
1 80A4 TCON: La dirección IP del punto final remoto de la conexión no es válida; concuerda
con la dirección IP local del interlocutor.
1 80A5 TCON: ID de conexión (Página 845) en uso.
1 80A7 TCON: Error de comunicación: TDISCON se ha ejecutado antes de finalizar TCON.
TDISCON debe deshacer primero por completo la conexión referenciada por la ID.
1 80B2 TCON: El parámetro CONNECT apunta a un bloque de datos que se ha generado con
el atributo "Depositar solo en la memoria de carga".

Controlador programable S7-1200


886 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

ERROR STATUS Descripción


1 80B4 TCON: Si se utiliza ISO on TCP (connection_type = B#16#12) para establecer una
conexión pasiva, el código de condición 80B4 advierte de que el TSAP introducido no
cumple uno de los siguientes requisitos para la dirección:
• Si la longitud del TSAP local es 2 y el valor de la ID TSAP es E0 o E1 (hexadeci-
mal) para el primer byte, el segundo byte deberá ser 00 o 01.
• Si la longitud del TSAP local es 3 o superior y el valor de la ID TSAP es E0 o E1
(hexadecimal) para el primer byte, el segundo byte deberá ser 00 o 01 y todos los
demás bytes deberán ser caracteres ASCII válidos.
• Si la longitud del TSAP local es 3 o superior y el valor del primer byte de la ID TSAP
no es E0 ni E1 (hexadecimal), todos los demás bytes de la ID TSAP deberán ser
caracteres ASCII válidos.
Los caracteres ASCII válidos son valores de byte comprendidos entre 20 y 7E (hexa-
decimal).
1 80B5 TCON: El tipo de conexión "13 = UDP" solo permite un establecimiento pasivo de la
conexión.
1 80B6 TCON: Error de asignación en el parámetro CONNECTION_TYPE del SDT
TCON_Param.
1 80B7 TCON: Error en uno de los parámetros siguientes del bloque de datos para la descrip-
ción de la conexión:
• block_length
• local_tsap_id_len
• rem_subnet_id_len
• rem_staddr_len
• rem_tsap_id_len
• next_staddr_len
Nota: cuando se utiliza TCON en modo TCP pasivo, LOCAL_TSAP_ID_LEN debe ser
"2" y REM_TSAP_ID_LEN debe ser "0".
1 80B8 TCON: Los parámetros de la descripción de la conexión local y el parámetro ID son
diferentes.
1 80C3 TCON: Se están utilizando todos los recursos de conexión.
1 80C4 Error de comunicación temporal:
• La conexión no se puede establecer en estos momentos (TCON).
• La instrucción TDISCON (TCON) está deshaciendo la conexión configurada.
• La conexión se está estableciendo (TDISCON).
• La interfaz está recibiendo nuevos parámetros (TCON y TDISCON).

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 887
Comunicación
11.2 PROFINET

TSEND y TRCV

Nota
Si se utiliza la comunicación Open User de PROFINET y se ejecuta una instrucción TSEND
sin que el dispositivo remoto ejecute la instrucción TRCV correspondiente, es posible que la
instrucción TSEND permanezca indefinidamente en un estado ocupado mientras espera
que la instrucción TRCV reciba los datos. En este estado, la salida "Busy" de la instrucción
TSEND está activada y la salida "Status" tiene un valor de "0x7002". Esto puede suceder si
se transfieren más de 4096 bytes de datos. Este problema se soluciona la próxima vez que
se ejecuta la instrucción TRCV.

Tabla 11- 31 Instrucciones TSEND y TRCV

KOP / FUP SCL Descripción


"TSEND_DB"( TCP e ISO on TCP: TSEND envía datos me-
req:=_bool_in_, diante una conexión entre la CPU y un interlo-
ID:=_word_in_, cutor.
len:=_udint_in_,
done=>_bool_out_,
busy=>_bool_out_,
error=>_bool_out_,
status=>_word_out_,
data:=_variant_inout_);
"TRCV_DB"( TCP e ISO on TCP: TRCV recibe datos me-
en_r:=_bool_in_, diante una conexión entre un interlocutor y la
ID:=_word_in_, CPU.
len:=_udint_in_,
ndr=>_bool_out_,
busy=>_bool_out_,
error=>_bool_out_,
status=>_word_out_,
rcvd_len=>_udint_out_,
data:=_variant_inout_);
1 STEP 7 crea el DB automáticamente al insertar la instrucción.

Controlador programable S7-1200


888 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Tabla 11- 32 Tipos de datos para los parámetros de TSEND y TRCV

Parámetro y tipo Tipo de datos Descripción


REQ IN Bool TSEND: Inicia la tarea de transmisión cuando se produce un flan-
co ascendente. Los datos se transfieren desde el área que indican
los parámetros DATA y LEN.
EN_R IN Bool TRCV: Habilita la CPU para recibir, con EN_R = 1, TRCV está listo
para recibir. La tarea de recepción se procesa.
ID IN CONN_OUC Referencia a la conexión asociada. La ID debe ser idéntica al
(Word) parámetro ID asociado en la descripción de la conexión local.
Rango de valores: W#16#0001 a W#16#0FFF
LEN IN UInt Número máximo de bytes que deben enviarse (TSEND) o recibir-
se (TRCV):
• Predeterminado = 0: el parámetro DATA determina la longitud
de los datos que deben enviarse (TSEND) o recibirse (TRCV).
• Modo ad hoc = 65535: una longitud de datos variable está
configurada para la recepción (TRCV).
DATA IN_OUT Variante Puntero para enviar (TSEND) o recibir (TRCV) un área de datos,
el área de datos contiene la dirección y la longitud. La dirección
hace referencia a la memoria I, Q, M o a un DB.
DONE OUT Bool TSEND:
• 0: Tarea no iniciada aún o en proceso.
• 1: Tarea finalizada sin errores.
NDR OUT Bool TRCV:
• NDR = 0: Tarea no iniciada aún o en proceso.
• NDR = 1: La tarea se ha ejecutado correctamente.
BUSY OUT Bool • BUSY = 1: Tarea no finalizada aún. No se puede iniciar una
tarea nueva.
• BUSY = 0: Tarea finalizada.
ERROR OUT Bool ERROR = 1: Ha ocurrido un error durante el procesamiento.
STATUS proporciona información detallada sobre el tipo de error.
STATUS OUT Word Información de estado, incluida la información de error. (Consulte
los códigos de condición de error y estado en la tabla siguiente.)
RCVD_LEN OUT Int TRCV: Cantidad de datos recibida realmente en bytes

Nota
La instrucción TSEND requiere una transición de bajo a alto en el parámetro de entrada
REQ para iniciar una tarea de transmisión. El parámetro BUSY se pone a 1 durante el
procesamiento. La finalización de la tarea de transmisión se indica poniendo a 1 los
parámetros DONE o ERROR durante un ciclo. Durante este tiempo, se ignora cualquier
transición de bajo a alto en el parámetro de entrada REQ.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 889
Comunicación
11.2 PROFINET

Operaciones TRCV
La instrucción TRCV escribe los datos recibidos en un área de recepción especificada por
las dos variables siguientes:
● Puntero al comienzo del área
● Longitud del área, o bien el valor suministrado en la entrada LEN si no es 0

Nota
El ajuste predeterminado del parámetro LEN (LEN = 0) utiliza el parámetro DATA para
determinar la longitud de los datos que se están transmitiendo. Se recomienda que los
datos transmitidos por la instrucción TSEND tengan el mismo tamaño que el parámetro
DATA de la instrucción TRCV.
Si se utiliza el ajuste predeterminado del parámetro LEN y hay que enviar los datos en
segmentos más pequeños que el tamaño del parámetro DATA, se aplica lo siguiente. Se
recomienda mantener el bit EN_R en "high" hasta que el TSEND correspondiente
transfiera la cantidad adecuada de datos para rellenar el parámetro TRCV DATA. Si el
tamaño de los datos transmitidos desde TSEND no es el mismo que el tamaño del
parámetro TRCV DATA, TRCV permanece en estado ocupado (código de estado: 7002)
mientras el bit EN_R esté en "high", hasta que el tamaño total de los datos transmitidos
desde TSEND sea el mismo que el tamaño del parámetro TRCV DATA. Si el bit EN_R de
TRCV se impulsa, tiene que impulsarse el mismo número de veces que se ejecuta
TSEND para recibir los datos.
El búfer del parámetro TRCV DATA no muestra los nuevos datos recibidos hasta que el
tamaño de los datos sea el mismo que el tamaño del búfer del parámetro DATA.

Tan pronto como se hayan recibido todos los datos de la tarea, TRCV los transferirá al área
de recepción y pondrá NDR a 1.

Tabla 11- 33 Entrada de datos en el área de recepción

Variante de Entrada de datos en el Parámetro Valor del parámetro LEN Valor del parámetro
protocolo área de recepción 
"connection_type" RCVD_LEN (bytes)
TCP Modo ad hoc B#16#11 65535 1 a 1472
TCP Recepción de datos B#16#11 0 (recomendado) o 1 a 8192, 1 a 8192
con la longitud especi- excepto 65535
ficada
ISO on TCP Modo ad hoc B#16#12 65535 1 a 1472
ISO on TCP Controlado por proto- B#16#12 0 (recomendado) o 1 a 8192, 1 a 8192
colo excepto 65535

Controlador programable S7-1200


890 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Nota
Modo ad hoc
El modo "ad hoc" solo está disponible con las variantes de protocolo TCP e ISO on TCP. El
modo "ad hoc" se establece asignando el valor "65535" al parámetro LEN. El área de
recepción es idéntica al área especificada en el parámetro DATA. La longitud de los datos
recibidos será transferida al parámetro RCVD_LEN. Inmediatamente después de recibir un
bloque de datos, TRCV introduce los datos en el área de recepción y pone NDR a 1.
Si se guardan los datos en un DB "optimizado" (solo simbólico), únicamente es posible
recibir datos en matrices de tipos de datos Byte, Char, USInt y SInt.

Nota
Importar al S7-1200 proyectos S7-300/400 de STEP 7 que contienen el modo "ad hoc"
En los proyectos S7-300/400 de STEP 7, el modo "ad hoc" se selecciona asignando el valor
"0" al parámetro LEN. En el S7-1200, el modo "ad hoc" se establece asignando el valor
"65535" al parámetro LEN.
Si se importa al S7-1200 un proyecto S7-300/400 de STEP 7 que contiene el modo "ad
hoc", el parámetro LEN debe modificarse a "65535".

Códigos de condición TSEND , TRCV Error y Status

ERROR STATUS Descripción


0 0000 • Tarea de transmisión finalizada sin errores (TSEND)
• Se han aceptado datos nuevos: La longitud actual de los datos recibidos se mues-
tra en RCVD_LEN (TRCV).
0 7000 • No se está procesando ninguna tarea (TSEND)
• El bloque no está listo para la recepción (TRCV)
0 7001 • Inicio del procesamiento de la tarea, enviando los datos: Durante este procesamien-
to, el sistema operativo accede a los datos del área de emisión DATA (TSEND).
• El bloque está listo para la recepción, se ha activado la tarea de recepción (TRCV).
0 7002 • Ejecución intermedia de la instrucción (REQ es irrelevante), procesando la tarea: El
sistema operativo accede a los datos del área de emisión DATA durante este pro-
cesamiento (TSEND).
• Ejecución intermedia de la instrucción, procesando la tarea de recepción: Los datos
se escriben en el área de recepción durante este procesamiento. Por este motivo,
un error puede generar datos incoherentes en el área de recepción (TRCV).
1 8085 • El parámetro LEN es mayor que el valor máximo admisible (TSEND) y (TRCV).
• El parámetro LEN o DATA ha sido modificado desde la primera ejecución de la
instrucción (TRCV).
1 8086 El parámetro ID está fuera del rango de direcciones admisible.
1 8088 El parámetro LEN excede el área de memoria especificada en DATA.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 891
Comunicación
11.2 PROFINET

ERROR STATUS Descripción


1 80A1 Error de comunicación:
• La conexión indicada no se ha establecido todavía (TSEND y TRCV).
• La conexión indicada se está deshaciendo. La transmisión o la tarea de recepción
no es posible a través de esta conexión (TSEND y TRCV).
• La interfaz se está reinicializando (TSEND).
• La interfaz está recibiendo nuevos parámetros (TRCV).
1 80C3 Falta interna de recursos: Ya se está procesando un bloque con esta ID en una clase
de prioridad diferente.
1 80C4 Error de comunicación temporal:
• La conexión con el interlocutor no se puede establecer en estos momentos.
• La interfaz está recibiendo nuevos ajustes de parámetros o la conexión se está
estableciendo.

Protocolos de conexión Ethernet


Toda CPU incorpora un puerto PROFINET que soporta la comunicación PROFINET
estándar. Las instrucciones TSEND_C, TRCV_C, TSEND y TRCV soportan los protocolos
Ethernet para TCP e ISO on TCP.
Encontrará más información en "Configuración de dispositivos: Configurar la vía de conexión
local/interlocutor (Página 824)"

11.2.8.11 Instrucción T_RESET (Finalizar y restablecer una conexión existente)


La instrucción "T_RESET" finaliza y restablece una conexión existente:

Tabla 11- 34 Instrucción T_RESET

KOP / FUP SCL Descripción


"T_RESET_DB"( Utilice la instrucción T_RESET para finalizar y
req:=_bool_in_, restablecer una conexión existente.
id:=_word_in_,
done=>_bool_out_,
error=>_bool_out_,
sta-
tus=>_word_out_);

Los puntos finales locales de la conexión se conservan. Se generan automáticamente:


● Si se ha configurado y cargado una conexión en la CPU.
● Si el programa de usuario ha generado una conexión, por ejemplo, llamando a la
instrucción "TCON (Página 873)".

Controlador programable S7-1200


892 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

La instrucción "T_RESET" se puede ejecutar para todos los tipos de conexión al margen de
si se ha usado la interfaz local de la CPU o la interfaz de un CM/CP para la conexión,
aunque hay que exceptuar las conexiones para transferencia de datos en modo ad hoc con
TCP, puesto que estas conexiones no se pueden referenciar con una ID de conexión.
Una vez que se haya llamado la instrucción "T_RESET" con el parámetro REQ, se deshará
la conexión especificada con el parámetro ID y, si es necesario, se borrará el búfer de
transmisión y recepción de datos. Al cancelar la conexión también se cancela cualquier
transferencia de datos en curso. Por tanto, existe el riesgo de que se pierdan datos si la
transferencia de datos está en curso. A continuación, la CPU definida como interlocutor de
conexión activa intentará automáticamente restaurar la conexión de comunicación
interrumpida. Por consiguiente, no es necesario llamar la instrucción "TCON (Página 873)"
para restablecer la conexión de comunicación.
Los parámetros de salida DONE, BUSY y STATUS indican el estado de la tarea.

Tipos de datos para los parámetros


En la tabla siguiente se muestran los parámetros de la instrucción T_RESET:

Parámetro Declaración Tipo de datos Área de memoria Descripción


REQ Input BOOL I, Q, M, D, L, T, C o El parámetro de control REQUEST inicia la
constante tarea de deshacer la conexión especificada
por ID. La tarea se inicia con un flanco as-
cendente.
ID Input CONN_OUC L, D o constante Referencia a la conexión del interlocutor
(WORD) pasivo que se va a deshacer. ID debe ser
igual a la ID de parámetro correspondiente en
la descripción de conexión local.
Rango de valores: W#16#0001 a
W#16#0FFF
DONE Output BOOL I, Q, M, D, L Parámetro de estado DONE
• 0: tarea no iniciada aún o en ejecución.
• 1: tarea ejecutada sin errores.
BUSY Output BOOL I, Q, M, D, L Parámetro de estado BUSY
• 0: tarea finalizada.
• 1: tarea no finalizada aún.
ERROR Output BOOL I, Q, M, D, L Parámetro de estado ERROR
• 0: no ha ocurrido ningún error.
• 1: ha ocurrido un error durante el proce-
samiento. El parámetro STATUS ofrece
información detallada sobre el tipo de
error.
STATUS Output WORD I, Q, M, D, L Parámetro de estado STATUS
Información de error (véase la tabla de pará-
metros de "STATUS").

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 893
Comunicación
11.2 PROFINET

Parámetro STATUS

Bit de STATUS* Descripción


error (W#16#...)
0 0000 Sin errores.
0 0001 No se ha establecido la conexión.
0 7001 Se ha iniciado la interrupción de la conexión.
0 7002 Se está deshaciendo la conexión.
1 8081 Conexión desconocida especificada en el parámetro ID.

11.2.8.12 Instrucción T_DIAG (Comprueba el estado de la conexión y lee información)


La instrucción "T_DIAG" comprueba el estado de una conexión y lee información adicional
del punto final local de esta conexión:

Tabla 11- 35 Instrucción T_DIAG

KOP / FUP SCL Descripción


"T_DIAG_DB"( Use la instrucción T_DIAG para comprobar el
req:=_bool_in_, estado de una conexión y leer información adicio-
id:=_word_in_, nal del punto final local de esta conexión.
done=>_bool_out_,
error=>_bool_out_,
sta-
tus=>_dword_out_);

La instrucción "T_DIAG" funciona del siguiente modo:


● La conexión está referenciada por el parámetro ID. Puede leer tanto los puntos finales de
conexión configurados en el editor de conexión como los puntos finales de conexión
programados (por ejemplo con la instrucción "TCON").
Los puntos finales de conexión temporales (por ejemplo, los puntos finales creados
cuando se conecta a una estación de ingeniería) no se pueden diagnosticar, puesto que
no se genera ninguna ID de conexión en este proceso.
● La información de la conexión leída se almacena en una estructura referenciada por el
parámetro RESULT.
● El parámetro de salida STATUS indica si se ha podido leer la información de conexión.
La información de conexión de la estructura en el parámetro RESULT solo es válida si se
ha finalizado la instrucción "T_DIAG" con STATUS = W#16#0000 y ERROR = FALSE.
La información de conexión no se puede evaluar si se produce un error.

Controlador programable S7-1200


894 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Posible información de conexión


La estructura "TDiag_Status" se puede usar para leer la información de conexión en el
parámetro RESULT. La estructura TDiag_Status solo contiene la información más
importante sobre un punto final de una conexión (por ejemplo, el protocolo usado, el estado
de conexión y el número de bytes de datos transmitidos o recibidos).
La estructura y los parámetros de la estructura TDiag_Status se describen más adelante
(consulte la tabla de estructuras de "TDIAG_Status").

Tipos de datos para los parámetros


En la tabla siguiente se muestran los parámetros de la instrucción T_DIAG:

Parámetro Declaración Tipo de datos Área de memoria Descripción


REQ Input BOOL I, Q, M, D, L, T, C o Inicia la instrucción para comprobar la cone-
constante xión especificada en el parámetro ID cuando
se produce un flanco ascendente.
ID Input CONN_OUC L, D o constante Referencia a la conexión asignada.
(WORD) Rango de valores: W#16#0001 a W#16#0FFF
RESULT InOut VARIANT D Puntero a la estructura en la que se almacena
la información de conexión. La estructura
TDiag_Status se puede usar en el parámetro
RESULT (para obtener una descripción,
véase la tabla de estructuras de
"TDIAG_Status").
DONE Output BOOL I, Q, M, D, L Parámetro de estado:
• 0: instrucción no iniciada aún o en proce-
so.
• 1: instrucción ejecutada sin errores.
BUSY Output BOOL I, Q, M, D, L Parámetro de estado:
• 0: instrucción no iniciada aún o ya finali-
zada.
• 1: instrucción no finalizada aún. No se
puede iniciar una tarea nueva.
ERROR Output BOOL I, Q, M, D, L Parámetro de estado:
• 0: sin errores.
• 1: se ha producido un error.
STATUS Output WORD I, Q, M, D, L Estado de la instrucción

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 895
Comunicación
11.2 PROFINET

Parámetros BUSY, DONE y ERROR


Puede comprobar el estado de la ejecución de instrucción "T_DIAG" con los parámetros
BUSY, DONE, ERROR y STATUS. El parámetro BUSY indica el estado de procesamiento.
El parámetro DONE se usa para comprobar si se ha ejecutado o no correctamente una
instrucción. El parámetro ERROR se establece si se producen errores durante la ejecución
de "T_DIAG".
En la tabla siguiente se muestra la relación entre los parámetros BUSY, DONE y ERROR.

BUSY DONE ERROR Descripción


1 - - La instrucción se está procesando.
0 1 0 La instrucción se ha ejecutado correctamente. Los datos de la estructura referenciados
por RESULT solo son válidos en un caso como este.
0 0 1 Instrucción finalizada con un error. La causa del error se genera en el parámetro
STATUS.
0 0 0 No se ha asignado una nueva instrucción.

Parámetro STATUS
En la tabla siguiente se explican los valores en el parámetro STATUS:

Bit de STATUS* Descripción


error (W#16#...)
0 0000 La instrucción "T_DIAG" se ha ejecutado correctamente. Los datos de la estructura referenciada
en el parámetro RESULT se pueden evaluar.
0 7000 No se está procesando ninguna instrucción.
0 7001 Se ha iniciado el procesamiento de la instrucción.
0 7002 Se está leyendo la información de conexión (el parámetro REQ es irrelevante).
1 8086 El valor en el parámetro ID está fuera del rango válido (de W#16#0001 a W#16#0FFF).
1 8089 El parámetro RESULT apunta a un tipo de datos no válido (solo en las estructuras TDIAG_Status
y TDIAG_StatusExt).
1 80A3 El parámetro ID hace referencia a un punto final de conexión que no existe. En las conexiones
programadas, este error también se produce después de llamar a la instrucción "TDISCON".
1 80C4 Error interno. El acceso al punto final de conexión no está temporalmente disponible.

Controlador programable S7-1200


896 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Estructura TDIAG_Status
En la tabla siguiente se ofrece información sobre la forma de la estructura TDIAG_Status. El
valor de cada elemento solo es válido si se ha ejecutado la instrucción sin errores. Si se
produce un error, el contenido de los parámetros no cambiará.

Nombre Tipo de datos Descripción


Los siguientes parámetros se encuentran en la estructura TDIAG_Status:
InterfaceID HW_ANY ID de interfaz (LADDR) de la CPU o del CM/CP.
ID CONN_OUC ID de la conexión diagnosticada. Después de que una llamada se haya realizado
correctamente, el valor de este elemento será idéntico a la ID de parámetro de la
instrucción "T_DIAG".
ConnectionType BYTE Tipo de protocolo usado para la conexión:
• 0x01: No utilizado.
• ...
• 0x0B: Protocolo TCP (IP_v4)
• 0x0C: Protocolo ISO on TCP (RFC1006)
• 0x0D: Protocolo TCP (DNS)
• 0x0E: Protocolo de marcado
• 0x0F: Protocolo WDC
• 0x10: Protocolo SMTP
• 0x11: Protocolo TCP
• 0x12: Protocolo TCP e ISO on TCP (RFC1006)
• 0x13: Protocolo UDP
• 0x14: Reservado
• 0x15: Protocolo de acceso a bus PROFIBUS (FDL)
• 0x16: Protocolo de transporte ISO 8073 (ISO nativo)
• ...
• 0x20: Protocolo SMTP o SMTPS basado en IPv4
• 0x21: Protocolo SMTP o SMTPS basado en IPv6
• 0x22: Protocolo SMTP o SMTPS basado en FQDN (Fully Qualified Domain
Name)
• ...
• 0x70: Conexión S7
• Otros: Reservado
ActiveEstablished BOOL • FALSE: local, punto final de la conexión pasiva
• TRUE: local, punto final de la conexión activa

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 897
Comunicación
11.2 PROFINET

Nombre Tipo de datos Descripción


State BYTE Estado actual del punto final de conexión
• 0x00: No utilizado.
• 0x01: Conexión deshecha. Estado temporal, por ejemplo, después de llamar a
la instrucción "T_RESET". Seguidamente, el sistema intenta volver a establecer
la conexión automáticamente.
• 0x02: El punto final de conexión activa está intentando establecer una conexión
con el interlocutor remoto.
• 0x03: El punto final de conexión pasiva está a la espera de establecer la cone-
xión con el interlocutor remoto.
• 0x04: Conexión establecida.
• 0x05: Se está deshaciendo la conexión. Esto puede deberse a que se ha lla-
mado a la instrucción "T_RESET" o "T_DISCON". Otros posibles motivos son
errores de protocolo y saltos de línea.
• 0x06..0xFF: No utilizado.
Kind BYTE Modo del punto final de conexión:
• 0x00: No utilizado.
• 0x01: Conexión estática configurada que se ha configurado y cargado en la
CPU.
• 0x02: Conexión dinámica configurada que se ha configurado y cargado en la
CPU (no se admite actualmente).
• 0x03: Conexión programada generada en el programa de usuario con la ins-
trucción "TCON"". Una llamada de la instrucción "TDISCON" o una transición al
estado de STOP de la CPU ha destruido el punto final de la conexión.
• 0x04: Temporal, conexión dinámica establecida por la estación de ingeniería
(ES) o la estación de operador (OS), por ejemplo (este tipo de conexión no
puede diagnosticarse actualmente porque no hay ninguna ID).
• 0x05..0xFF: No utilizado.
SentBytes UDINT Número de bytes transmitidos.
ReceivedBytes UDINT Número de bytes recibidos.

11.2.8.13 Instrucción TMAIL_C (Envía un correo electrónico utilizando la interfaz Ethernet de la


CPU)

Vista general
La instrucción "TMAIL_C" se utiliza para enviar un correo electrónico mediante la interfaz
Ethernet de la CPU S7-1200.
La instrucción TMAIL_C tiene dos funcionalidades:
● enviar correos electrónicos a través de la interfaz de la CPU (solo SMTP sin SSL)
● enviar correos electrónicos a través de una interfaz del CP (bien SMTP sin SSL bien
SMTP con SSL). Si desea utilizar la funcionalidad SSL debe activar el parámetro de
entrada CERTINDEX = 1 de TMAIL_C y utilizar la interfaz del CP. Además, el certificado
correcto debe estar almacenado en la ubicación correspondiente del CP.

Controlador programable S7-1200


898 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

La instrucción solo se puede usar una vez que se ha configurado el hardware y si la


infraestructura de red permite conectarse al servidor de correo electrónico.

Tabla 11- 36 Instrucción TMAIL_C

KOP / FUP SCL Descripción


"TMAIL_C_DB"( La instrucción "TMAIL_C" envía
req:=_bool_in_, un correo electrónico mediante la
to_s:=_string_in_, interfaz Ethernet de la CPU S7-
cc:=_string_in_, 1200.
subject:=_string_in_,
text:=_string_in_,
attachment:=_variant_in_,
attachment_name:=_string_in_,
mail_addr_param:=_string_in_,
done=>_bool_out_,
busy=>_bool_out_,
error=>_bool_out_,
status=>_word_out_);
1 STEP 7 crea el DB automáticamente al insertar la instrucción.

El contenido del correo electrónico y los datos de conexión se definen mediante los
parámetros siguientes:
● Las direcciones de destinatarios se definen con los parámetros TO_S y CC.
● El contenido del correo electrónico se define con los parámetros SUBJECT y TEXT.
● Puede definir un anexo con los punteros VARIANT en los parámetros ATTACHMENT y
ATTACHMENT_NAME.
● Se definen los datos de conexión y se ejecuta el direccionamiento y la autenticación para
el servidor de correo electrónico mediante el tipo de datos del sistema Tmail_v4 o
Tmail_FQDN en el parámetro MAIL_ADDR_PARAM. Si está usando la interfaz de la CPU
S7-1200, se debe usar el tipo de datos del sistema Tmail_v4. En este caso, solo se
puede enviar el correo electrónico mediante SMTP.
● El envío de un correo electrónico se inicia con un cambio de flanco de "0" a "1" para el
parámetro REQ.
● El estado de la orden se indica con los parámetros de salida "BUSY", "DONE", "ERROR"
y "STATUS".
No puede enviar un SMS directamente con la instrucción "TMAIL_C". Si el servidor de
correo electrónico puede reenviar o no el correo electrónico como SMS dependerá del
proveedor de telecomunicaciones.

Operación de la instrucción
La instrucción "TMAIL_C" funciona de forma asíncrona, lo que significa que su ejecución
abarca varias llamadas. Debe especificar una instancia cuando se invoque la
instrucción "TMAIL_C".

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 899
Comunicación
11.2 PROFINET

En los siguientes casos, se perderá la conexión con el servidor de correo electrónico:


● Si la CPU cambia a STOP mientras "TMAIL_C" está activo.
● Si se producen problemas de comunicación en el bus Industrial Ethernet. En este caso,
la transferencia del correo electrónico se interrumpirá y no llegará a sus destinatarios.
La conexión también se cancela una vez que se ha ejecutado la instrucción y se ha enviado
el correo electrónico correctamente.

ATENCIÓN
Cambio de los programas de usuario
Puede cambiar las partes del programa de usuario que afectan directamente a las
llamadas de "TMAIL_C" cuando:
• La CPU está en modo STOP.
• No se está enviando ningún correo electrónico (REQ = 0 y BUSY = 0).
Esto tiene que ver, en concreto, con el borrado y la sustitución de los bloques de programa
que contienen llamadas de "TMAIL_C" o llamadas para la instancia de "TMAIL_C".
Si se ignora esta restricción, los recursos de conexión pueden quedar bloqueados. El
sistema de automatización puede cambiar a un estado indefinido con las funciones de
comunicación TCP/IP por medio de Industrial Ethernet.
Se necesita reiniciar la CPU en frío o en caliente después de transferir los cambios.

Coherencia de datos
La instrucción "TMAIL_C" aplica los parámetros TO_S, CC, SUBJECT, TEXT,
ATTACHMENT y MAIL_ADDR_PARAM mientras está en ejecución, lo que significa que solo
se pueden cambiar una vez que se ha ejecutado la orden (BUSY = 0).

Autenticación SMTP
La autenticación hace referencia a un procedimiento de verificación de la identidad, por
ejemplo, con una solicitud de contraseña.

Controlador programable S7-1200


900 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Si utiliza la interfaz de la CPU S7-1200, la instrucción "TMAIL_C" soportará el procedimiento


de autenticación SMTP AUTH-LOGIN, que requieren la mayoría de servidores de correo
electrónico. Para más información sobre el procedimiento de autenticación del servidor de
correo electrónico, consulte el manual del servidor de correo electrónico o el sitio web de su
proveedor de servicios de Internet.
● Antes de poder usar el procedimiento de autenticación AUTH-LOGIN, la instrucción
"TMAIL_C" necesita el nombre de usuario que va a usar para iniciar sesión en el servidor
de correo electrónico. Este nombre de usuario corresponde al nombre de usuario que ha
usado para configurar una cuenta de correo en el servidor de correo electrónico. Se
transfiere mediante el parámetro UserName a la estructura del parámetro
MAIL_ADDR_PARAM.
Si no se especifica ningún nombre de usuario en el parámetro MAIL_ADDR_PARAM, no
se usará el procedimiento de autenticación AUTH-LOGIN. A continuación el correo
electrónico se envía sin autenticación.
● Para iniciar sesión, la instrucción "TMAIL_C" también necesita la contraseña asociada.
Esta contraseña corresponde a la contraseña que ha especificado cuando ha
configurado su cuenta de correo. Se transfiere mediante el parámetro PassWord a la
estructura en el parámetro MAIL_ADDR_PARAM.

Tipos de datos para los parámetros


La tabla siguiente muestra los parámetros de la instrucción "TMAIL_C":

Parámetro Declaración Tipo de Área de Descripción


datos memoria
REQ Input BOOL I, Q, M, D, Parámetro de control REQUEST: Acti-
L, T, C o va el envío de un correo electrónico
constante cuando se produce un flanco ascen-
dente.
TO_S (Pági- Input STRING D Direcciones de destinatarios
na 906) STRING con una longitud máxima de
180 caracteres (bytes).
En el caso del formato de dirección de
correo electrónico, consulte el ejemplo
en la descripción del parámetro.
CC Input STRING D Direcciones de destinatarios CC (op-
(Página 906) cional)
STRING con una longitud máxima de
180 caracteres (bytes).
El mismo formato de dirección de
correo electrónico que para el paráme-
tro TO_S. Si una cadena está vacía se
asigna aquí, el correo electrónico no
se enviará a un destinatario CC.
SUBJECT Input STRING D Asunto del correo electrónico
STRING con una longitud máxima de
180 caracteres (bytes).

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 901
Comunicación
11.2 PROFINET

Parámetro Declaración Tipo de Área de Descripción


datos memoria
TEXT Input STRING D Texto del correo electrónico (opcional)
STRING con una longitud máxima de
180 caracteres (bytes). Si una cadena
vacía se asigna en este parámetro, el
correo electrónico se enviará sin texto.
ATTACHMEN Input VARIANT D Anexo de correo electrónico (opcional)
T Referencia a un campo de byte, pala-
bra o palabra doble (ArrayOfByte,
ArrayOfWord o ArrayOfDWord) con
una longitud máxima de 64 KB. Si no
se ha asignado ningún valor, el correo
electrónico se enviará sin anexo.
ATTACHMEN Input VARIANT D Nombre de anexo de correo electróni-
T_NAME co (opcional)
Referencia una cadena de caracteres
con una longitud máxima de 50 carac-
teres (bytes) para definir el nombre de
archivo del anexo. Si una cadena va-
cía se asigna en este parámetro, el
anexo de correo electrónico se enviará
con el nombre de archivo "attach-
ment.bin".
MAIL_ADDR_ Input VARIANT D Dirección y parámetro de conexión del
PARAM (Pá- servidor de correo electrónico
gina 903) Para definir los parámetros de cone-
xión, use la estructura Tmail_v4 o
Tmail_FQDN (consulte la descripción
del parámetro).
DONE (Pági- Output BOOL I, Q, M, D, L Parámetro de estado
na 906)
• DONE = 0: orden no iniciada aún o
en ejecución.
• DONE = 1: orden ejecutada sin
errores.
BUSY (Pági- Output BOOL I, Q, M, D, L Parámetro de estado
na 906)
• BUSY= 0: se ha detenido el proce-
samiento de "TMAIL_C".
• BUSY = 1: la transmisión de correo
electrónico no ha finalizado aún.

Controlador programable S7-1200


902 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Parámetro Declaración Tipo de Área de Descripción


datos memoria
ERROR (Pá- Output BOOL I, Q, M, D, L Parámetro de estado
gina 906)
• ERROR = 0: no se ha producido
ningún error.
• ERROR = 1: se ha producido un
error durante el procesamiento.
STATUS proporciona información
detallada sobre el tipo de error.
STATUS (Pá- Output WORD I, Q, M, D, L Parámetro de estado
gina 907) Valor de retorno o información de error
de la instrucción "TMAIL_C" (véase la
descripción del parámetro).

Encontrará más información detallada sobre los tipos de datos válidos en la vista general de
tipos de datos válidos.

Nota
Parámetros opcionales
Los parámetros opcionales CC, TEXT y ATTACHMENT solo se envían con el correo
electrónico si los parámetros correspondientes contienen una cadena con una longitud > 0.

Parámetro MAIL_ADDR_PARAM
En el parámetro MAIL_ADDR_PARAM se define la conexión para enviar el correo
electrónico en la estructura Tmail_v4 o Tmail_FQDN y se guardan la dirección del servidor
de correo electrónico y los datos de inicio de sesión.
La estructura que usa en el parámetro MAIL_ADDR_PARAM dependerá del formato que se
usará para direccionar el servidor de correo electrónico.
● Tmail_v4: direccionamiento por dirección IP (IPv4).
● Tmail_FQDN: direccionamiento por nombre de dominio completo (FQDN).

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 903
Comunicación
11.2 PROFINET

La estructura que puede usar depende de la interfaz direccionada en el parámetro


InterfaceId. Si desea usar la instrucción "TMAIL_C" con la interfaz interna, la estructura
Tmail_v4 se debe usar en el parámetro MAIL_ADDR_PARAM.

Tabla 11- 37 Tmail_v4: direccionamiento de servidor de correo electrónico por dirección IP (IPv4).

Parámetro Tipo de datos Descripción


Tmail_v4 Struct
InterfaceId LADDR Identificador de hardware de la interfaz
ID CONN_OUC ID de conexión
ConnectionType BYTE Tipo de conexión. Seleccione 16#20 como tipo de cone-
xión para IPv4.
ActiveEstablished BOOL Bit de estado. Póngalo a "1" después de establecer la
conexión.
CertIndex BYTE =0: SMTP usado (Simple Mail Transfer Protocol). SMTP se
debe usar si el correo electrónico se está enviando a tra-
vés de la interfaz de una CPU S7-1200.
WatchDogTime TIME Watchdog de ejecución. Use este parámetro para definir el
tiempo de ejecución máximo para la transmisión.
Nota: si la conexión es lenta, esta tardará más en estable-
cerse (aproximadamente un minuto). Cuando especifica el
parámetro WATCH_DOG_TIME, recuerde que debe permi-
tir que haya suficiente tiempo para establecer la conexión.
La conexión finaliza una vez que ha transcurrido el tiempo
especificado
MailServerAddress IP_v4 Dirección IP del servidor de correo electrónico. IPv4 en el
formato siguiente: XXX.XXX.XXX.XXX (decimal).
Ejemplo: 192.142.131.237.
UserName STRING[254] Nombre de inicio de sesión del servidor de correo
PassWord STRING[254] Contraseña del servidor de correo electrónico
From EMAIL_ADDR Dirección del emisor de correo electrónico, que se define
con los dos parámetros STRING siguientes. Ejemplo: "my-
name@mymailserver.com".
LocalPartPlusA- STRING[64] Parte local de la dirección del emisor, incluido el símbolo
tSign @. Ejemplo: "myname@".
FullQualifiedDo- STRING[254] Fully Qualified Domain Name (FQDN abreviado) del servi-
mainName dor de correo electrónico. Ejemplo: "mymailserver.com".

Controlador programable S7-1200


904 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Tabla 11- 38 Tmail_FQDN: direccionamiento del servidor de correo electrónico por FQDN

Parámetro Tipo de datos Descripción


Tmail_v6 Struct
Tmail_FQDN LADDR Identificador de hardware de la interfaz
ID CONN_OUC ID de conexión
ConnectionType BYTE Tipo de conexión. Seleccione 16#22 como tipo de conexión
para FQDN.
ActiveEstablished BOOL Bit de estado. Póngalo a "1" después de establecer la co-
nexión.
CertIndex BYTE =0: SMTP usado (Simple Mail Transfer Protocol). SMTP se
debe usar si el correo electrónico se está enviando a través
de la interfaz de una CPU S7-1200.
WatchDogTime TIME Watchdog de ejecución. Use este parámetro para definir el
tiempo de ejecución máximo para la transmisión.
Nota: si la conexión es lenta, esta tardará más en estable-
cerse (aproximadamente un minuto). Cuando especifica el
parámetro WATCH_DOG_TIME, recuerde que debe permi-
tir que haya suficiente tiempo para establecer la conexión.
La conexión finaliza una vez que ha transcurrido el tiempo
especificado
MailServerAddress STRING[254] FQDN (Fully Qualified Domain Name) del servidor de co-
rreo electrónico. El servidor de correo electrónico se direc-
ciona con un nombre de dominio completo.
Ejemplo: "www.mymailserver.com.".
UserName STRING[254] Nombre de inicio de sesión del servidor de correo
PassWord STRING[254] Contraseña del servidor de correo electrónico
From Struct Dirección del emisor de correo electrónico, que se define
con los dos parámetros STRING siguientes. Ejemplo: "my-
name@mymailserver.com".
LocalPartPlusA- STRING[64] Parte local de la dirección del emisor, incluido el símbolo
tSign @. Ejemplo: "myname@".
FullQualifiedDo- STRING[254] Fully Qualified Domain Name (FQDN abreviado) del servi-
mainName dor de correo electrónico. Ejemplo: "mymailserver.com".

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 905
Comunicación
11.2 PROFINET

Parámetros TO_S y CC
Los parámetros TO_S y CC son cadenas, por ejemplo, con el siguiente contenido:
● <wenna@mydomain.com>, <ruby@mydomain.com>
● <admin@mydomain.com>, <judy@mydomain.com>
Tenga en cuenta las reglas siguientes al especificar los parámetros:
● Antes de cada dirección debe introducirse un espacio y un corchete angular de apertura
"<".
● Después de cada dirección debe introducirse un corchete angular de cierre ">".
● Se debe introducir una coma entre las direcciones en TO y CC.
Debido al tiempo de ejecución y al espacio de memoria, la instrucción "TMAIL_C" no realiza
una comprobación de sintaxis del parámetro TO_S o CC.

Parámetros DONE, BUSY y ERROR


Los parámetros de salida DONE, BUSY y ERROR se muestran solo durante un ciclo si el
estado del parámetro de salida BUSY cambia de "1" a "0".
En la tabla siguiente se muestra la relación entre los parámetros DONE, BUSY y ERROR.
Utilizando esta tabla se puede determinar el estado actual de la instrucción TMAIL_C y el
instante en que finaliza el envío de correo electrónico.

DONE BUSY ERROR Descripción


0 1 0 La tarea se está procesando.
1 0 0 Tarea finalizada correctamente.
0 0 1 La tarea ha finalizado con un error. La causa del error se indica
en el parámetro STATUS (Página 907).
0 0 0 A la instrucción "TMAIL_C" no se le ha asignado una tarea
(nueva).

Controlador programable S7-1200


906 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Parámetro STATUS
En la tabla siguiente se muestran los valores de retorno de TMAIL_C en el parámetro
STATUS:

Valor de Explicación Notas


retorno
STATUS*
(W#16#...):
0000 El procesamiento de TMAIL_C ha La finalización de TMAIL_C sin errores no
finalizado sin errores. significa que llegue necesariamente el correo
electrónico enviado.
Si se introducen las direcciones de destinata-
rio incorrectamente, no se generará un estado
de error de la instrucción TMAIL_C. En ese
caso, no se podrá garantizar que el correo
electrónico se envíe a otros destinatarios,
aunque estos se hayan introducido correcta-
mente.
7001 TMAIL_C está activa (BUSY = 1). Primera llamada: tarea disparada.
7002 TMAIL_C está activa (BUSY = 1). Llamada intermedia: tarea ya activa.
8xxx El procesamiento de TMAIL_C ha Para obtener información detallada, consulte
finalizado con un código de error de las descripciones del parámetro STATUS para
las instrucciones de comunicación las instrucciones de comunicación TCON,
llamadas internamente. TDISCON, TSEND y TRCV (Página 873).
8010 Error durante el establecimiento de Encontrará más información sobre la evalua-
conexión ción en el parámetro SFB_STATUS del bloque
de datos de instancia. El código de error que
se muestra en el parámetro SFB_STATUS se
explica en la descripción del parámetro
STATUS para la instrucción TCON
(Página 873).
8011 Error al transmitir datos Encontrará más información sobre la evalua-
ción en el parámetro SFB_STATUS del bloque
de datos de instancia. El código de error que
se muestra en el parámetro SFB_STATUS se
explica en la descripción del parámetro
STATUS para la instrucción TSEND
(Página 873).
8012 Error al recibir datos Encontrará más información sobre la evalua-
ción en el parámetro SFB_STATUS del bloque
de datos de instancia. El código de error que
se muestra en el parámetro SFB_STATUS se
explica en la descripción del parámetro
STATUS para la instrucción TRCV
(Página 873).
8013 Error durante el establecimiento de Encontrará más información sobre la evalua-
conexión ción en el parámetro SFB_STATUS del bloque
de datos de instancia. El código de error que
se muestra en el parámetro SFB_STATUS se
explica en la descripción del parámetro
STATUS para las instrucciones TCON (Pági-
na 873) y TDISCON (Página 873).

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 907
Comunicación
11.2 PROFINET

Valor de Explicación Notas


retorno
STATUS*
(W#16#...):
8014 No es posible establecer una cone- Puede que haya introducido una dirección IP
xión. de servidor de correo electrónico
(MailServerAddress (Página 903)) o un inter-
valo de tiempo demasiado corto
(WatchDogTime (Página 903)) para establecer
la conexión. Asimismo, es posible que la CPU
no tenga conexión con la red o que su confi-
guración sea incorrecta.
8015 Tipo de datos incorrecto para Los únicos tipos de datos válidos son los tipos
MAIL_ADDR_PARAM de datos de sistema (estructuras) Tmail_v4 y
TMail_FQDN.
8016 Tipo de datos incorrecto para el pa- Los únicos tipos de datos válidos son Arra-
rámetro ATTACHMENT yOfByte, ArrayOfWord y ArrayOfDWord.
8017 Longitud de datos incorrecta para el La longitud de datos debe ser <= 65534 bytes.
parámetro ATTACHMENT
82xx, 84xx, El mensaje de error se genera en el Encontrará más información sobre el código
o 85xx servidor de correo electrónico y co- de error SMTP y otros códigos de error del
rresponde, excepto en el caso del "8", protocolo SMTP en Internet o en la documen-
al número de error del protocolo tación de errores del servidor de correo elec-
SMTP. trónico. Además puede ver el mensaje de
En las siguientes líneas se enumeran error más reciente del servidor de correo elec-
varios códigos de error que se pue- trónico en su DB de instancia en el parámetro
den generar. BUFFER1. Encontrará los últimos datos
transmitidos por la instrucción TMAIL_C en
DATEN en el DB de instancia.
8450 Acción no ejecutada: buzón de correo Inténtelo más tarde.
no disponible/no accesible.
8451 Acción cancelada: error de procesa- Inténtelo más tarde.
miento local.
8500 Error de sintaxis: error no reconocido. Compruebe los parámetros de TMAIL_C.
También incluye el error cuando una Intente enviar un correo electrónico sin auten-
cadena de comandos es demasiado ticación. Para ello, sustituya el contenido del
larga. Esto puede producirse cuando parámetro UserName por un parámetro con
el servidor de correo electrónico no una cadena vacía. Si no se especifica ningún
admite el proceso de autenticación nombre de usuario, no se usará el procedi-
LOGIN. miento de autenticación LOGIN.
8501 Error de sintaxis: entrada incorrecta Causa posible: dirección incorrecta en el pa-
en un parámetro. rámetro TO_S o CC (consulte también: pará-
metros TO_S y CC (Página 906)).
8502 Comando desconocido o no imple- Verifique las entradas, especialmente el pa-
mentado. rámetro FROM. Puede estar incompleto y
puede que haya olvidado "@" o bien "." (con-
sulte también: parámetros TO_S y CC (Pági-
na 906)).
8535 Autenticación SMTP incompleta Posiblemente ha introducido un nombre de
usuario incorrecto o una contraseña incorrec-
ta.

Controlador programable S7-1200


908 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Valor de Explicación Notas


retorno
STATUS*
(W#16#...):
8550 No se puede acceder al servidor de Puede que haya introducido un nombre de
correo electrónico. No dispone de usuario incorrecto o una contraseña incorrecta
derechos de acceso. o que el servidor de correo electrónico no
admita sus datos de inicio de sesión. Otra
causa del error puede ser un error en el nom-
bre de dominio después de "@" en el paráme-
tro TO_S o CC (consulte también: parámetros
TO_S y CC (Página 906)).
8552 Acción cancelada: se ha superado el Inténtelo más tarde.
tamaño de memoria asignado.
8554 Error en la transferencia Inténtelo más tarde.
* Es posible visualizar códigos de error en el editor de programas como valores enteros o hexadeci-
males.

11.2.8.14 UDP
UDP es un protocolo estándar descrito por RFC 768: User Datagram Protocol. UDP ofrece
un mecanismo que le permite a una aplicación enviar un datagrama a otra; no obstante, el
suministro de datos no está garantizado. Este protocolo tiene las características siguientes:
● Protocolo de comunicación rápido
● Adecuado para cantidades de datos pequeñas y medianas (hasta 1472 bytes)
● UDP es un protocolo de control de transporte más sencillo que TCP, con una capa
delgada que tiene un nivel bajo de overheads
● Puede utilizarse muy flexiblemente con distintos sistemas de terceros
● Apto para routing
● Utiliza números de puerto para direccionar los datagramas
● Los avisos no se acusan: esta aplicación se requiere para asumir la responsabilidad en
cuanto a la recuperación de errores y a la seguridad
● Es necesario programar la gestión de datos debido a la interfaz de programación SEND /
RECEIVE
UDP soporta la comunicación Broadcast. Para utilizar Broadcast es necesario configurar la
parte de la dirección IP correspondiente a la configuración de ADDR. Ejemplo: una CPU que
tenga una dirección IP 192.168.2.10 y una máscara de subred 255.255.255.0 utilizaría una
dirección Broadcast de 192.168.2.255.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 909
Comunicación
11.2 PROFINET

11.2.8.15 TUSEND y TURCV


Las instrucciones siguientes controlan el proceso de comunicación UDP:
● TCON establece la comunicación entre el PC cliente y servidor (CPU).
● TUSEND y TURCV permiten transmitir y recibir datos.
● TDISCON desconecta la comunicación entre el cliente y servidor.
Consulte TCON, TDISCON, TSEND y TRCV (Página 873) en la sección "TCP e ISO on
TCP" para obtener más información sobre las instrucciones de comunicación TCON y
TDISCON.

Tabla 11- 39 Instrucciones TUSEND y TURCV

KOP / FUP SCL Descripción


"TUSEND_DB"( La instrucción TUSEND envía datos a través de
req:=_bool_in_, UDP al interlocutor remoto especificado en el
ID:=_word_in_, parámetro ADDR.
len:=_udint_in_, Para iniciar la tarea de transmisión de datos llame
done=>_bool_out_, la instrucción TUSEND con REQ = 1.
busy=>_bool_out_,
error=>_bool_out_,
status=>_word_out_,
data:=_variant_inout_);
"TURCV_DB"( La instrucción TURCV recibe datos a través de
en_r:=_bool_in_, UDP. El parámetro ADDR muestra la dirección del
ID:=_word_in_, emisor. Tras ejecutar correctamente TURCV, el
len:=_udint_in_, parámetro ADDR contiene la dirección del interlo-
ndr=>_bool_out_, cutor remoto (emisor).
busy=>_bool_out_, TURCV no soporta el modo ad hoc.
error=>_bool_out_, Para iniciar la tarea de recepción de datos llame la
status=>_word_out_, instrucción TURCV con EN_R = 1.
rcvd_len=>_udint_out_,
data:=_variant_inout_);
1 STEP 7 crea el DB automáticamente al insertar la instrucción.

Controlador programable S7-1200


910 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

TCON, TDISCON, TUSEND y TURCV funcionan de forma asíncrona, con lo que el


procesamiento de la tarea abarca varias ejecuciones de la instrucción.

Tabla 11- 40 Tipos de datos TUSEND y TURCV para los parámetros

Parámetro y tipo Tipo de datos Descripción


REQ IN Bool Inicia la tarea de transmisión cuando se produce un flanco as-
(TUSEND) cendente. Los datos se transfieren desde el área que indican los
parámetros DATA y LEN.
EN_R IN Bool • 0: La CPU no está habilitada para recibir.
(TURCV) • 1: Habilita la CPU para recibir. La instrucción TURCV está
lista para recibir y la tarea de recepción se procesa.
ID IN Word Referencia a la conexión asociada entre el programa de usuario
y el nivel de comunicación del sistema operativo. La ID tiene
que ser idéntica al parámetro asociado ID en la descripción de
la conexión local.
Rango de valores: W#16#0001 a W#16#0FFF.
LEN IN UDInt Número de bytes que deben enviarse (TUSEND) o recibirse
(TURCV):
• Por defecto = 0. El parámetro DATA determina la longitud de
los datos que deben enviarse o recibirse.
• En otro caso, rango de valores: 1 a 1472
DONE IN Bool Parámetro de estado DONE (TUSEND):
(TUSEND) • 0: Tarea no iniciada aún o en proceso.
• 1: Tarea finalizada sin errores.
NDR OUT Bool Parámetro de estado NDR (TURCV):
(TURCV) • 0: Tarea no iniciada aún o en proceso.
• 1: Tarea finalizada correctamente.
BUSY OUT Bool • 1: Tarea no finalizada aún. No se puede iniciar una tarea
nueva.
• 0: Tarea finalizada.
ERROR OUT Bool Parámetros de estado con los valores siguientes:
• 0: No hay error
• 1: Ha ocurrido un error durante el procesamiento. STATUS
proporciona información detallada sobre el tipo de error.
STATUS OUT Word Información de estado, incluida la información de error. (Consul-
te los códigos de condición de error y estado en la tabla siguien-
te.)
RCVD_LEN OUT UDInt Número de bytes recibido (TURCV).

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 911
Comunicación
11.2 PROFINET

Parámetro y tipo Tipo de datos Descripción


DATA IN_OUT Variant Dirección del área de emisión (TUSEND) o del área de recep-
ción (TURCV):
• La memoria imagen de proceso de las entradas
• La memoria imagen de proceso de las salidas
• Un bit de marcas
• Un bloque de datos
ADDR IN_OUT Variant Puntero a la dirección del receptor (para TUSEND) o del emisor
(para TURCV) (por ejemplo, P#DB100.DBX0.0 byte 8). El punte-
ro puede apuntar a cualquier área de memoria.
Se requiere una estructura de 8 bytes como se indica a conti-
nuación:
• Los primeros 4 bytes contienen la dirección IP remota.
• Los 2 bytes siguientes especifican el número de puerto re-
moto.
• Los últimos 2 bytes están reservados.

El estado de la tarea se indica en los parámetros de salida BUSY y STATUS. STATUS


equivale al parámetro de salida RET_VAL de las instrucciones que operan de forma
asíncrona.
La tabla siguiente muestra la relación entre los parámetros BUSY, DONE (TUSEND), NDR
(TURCV) y ERROR. Utilizando esta tabla se puede determinar el estado actual de la
instrucción (TUSEND o TURCV) o bien el instante en que finaliza el proceso de envío
(transmisión) / recepción.

Tabla 11- 41 Estado de los parámetros BUSY, DONE (TUSEND) / NDR (TURCV) y ERROR

BUSY DONE / NDR ERROR Descripción


TRUE Irrelevante Irrelevante La tarea se está procesando.
FALSE TRUE FALSE La tarea se ha ejecutado correctamente.
FALSE FALSE TRUE La tarea se ha finalizado con un error. La causa del error se
indica en el parámetro STATUS.
FALSE FALSE FALSE A la instrucción no se le ha asignado una tarea (nueva).
1 Debido al funcionamiento asíncrono de las instrucciones: Para TUSEND, es preciso conservar la coherencia de los
datos en el área de emisión hasta que el parámetro DONE o ERROR adopta el valor TRUE. Para TURCV, los datos en
el área de recepción solo son coherentes si el parámetro NDR adopta el valor TRUE.

Controlador programable S7-1200


912 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Tabla 11- 42 Códigos de condición TUSEND y TURCV para ERROR y STATUS

ERROR STATUS Descripción


0 0000 • Tarea de transmisión finalizada sin errores (TUSEND).
• Se han aceptado datos nuevos. La longitud actual de los datos recibidos se muestra
en RCVD_LEN (TURCV).
0 7000 • No se está procesando ninguna tarea (TUSEND)
• El bloque no está listo para la recepción (TURCV)
0 7001 • Inicio del procesamiento de la tarea, enviando los datos (TUSEND): Durante este
procesamiento, el sistema operativo accede a los datos del área de emisión DATA.
• El bloque está listo para la recepción, se ha activado la tarea de recepción
(TURCV).
0 7002 • Ejecución intermedia de la instrucción (REQ es irrelevante), procesando la tarea
(TUSEND): Durante este procesamiento, el sistema operativo accede a los datos
del área de emisión DATA.
• Ejecución intermedia de la instrucción, procesando la tarea: Durante este procesa-
miento, la instrucción TURCV escribe datos en el área de recepción. Por este moti-
vo, un error puede generar datos incoherentes en el área de recepción.
1 8085 El parámetro LEN excede el valor máximo admisible, tiene el valor 0 (TUSEND) o bien
se ha cambiado el valor del parámetro LEN o DATA desde la primera ejecución de la
instrucción (TURCV).
1 8086 El parámetro ID está fuera del rango de direcciones admisible.
1 8088 • El parámetro LEN excede el área de memoria (TUSEND) o de recepción (TURCV)
especificada en DATA.
• El área de recepción es demasiado pequeña (TURCV).
1 8089 El parámetro ADDR no apunta a un bloque de datos.
1 80A1 Error de comunicación:
• Aún no se ha establecido la conexión especificada entre el programa de usuario y la
capa de comunicación del sistema operativo.
• Se está deshaciendo la conexión especificada entre el programa de usuario y la
capa de comunicación del sistema operativo. La transmisión (TUSEND) o la tarea
de recepción (TURCV) no es posible a través de esta conexión.
• La interfaz se está reinicializando.
1 80A4 La dirección IP del punto final remoto de la conexión no es válida; puede ser que con-
cuerde con la dirección IP local (TUSEND).
1 80B3 • El protocolo definido (parámetro connection_type en la descripción de la conexión)
no es UDP. Utilice la instrucción TSEND o TRCV.
• Parámetro ADDR: Ajustes no válidos para el número de puerto (TUSEND)

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 913
Comunicación
11.2 PROFINET

ERROR STATUS Descripción


1 80C3 • Ya se está procesando un bloque con esta ID en una clase de prioridad diferente.
• Falta interna de recursos
1 80C4 Error de comunicación temporal:
• La conexión entre el programa de usuario y la capa de comunicación del sistema
operativo no se puede establecer en estos momentos (TUSEND).
• La interfaz está recibiendo nuevos parámetros (TUSEND).
• La conexión se está reiniciando (TURCV).

Protocolos de conexión Ethernet


Toda CPU incorpora un puerto PROFINET que soporta la comunicación PROFINET
estándar. Las instrucciones TUSEND y TURCV soportan el protocolo Ethernet para UDP.
Encontrará más información en "Configurar la vía de conexión local/interlocutor"
(Página 824), en el capítulo "Configuración de dispositivos".

Operaciones
Los dos interlocutores son pasivos en la comunicación UDP. En las figuras siguientes se
muestran los valores de arranque típicos de los parámetros para el tipo de datos
"TCON_Param". Los números de puerto (LOCAL_TSAP_ID) están escritos en un formato de
2 bytes. Se permiten todos los puertos excepto 161, 34962, 34963 y 34964.

Controlador programable S7-1200


914 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

La instrucción TUSEND envía datos a través de UDP al interlocutor remoto especificado en


el tipo de datos "TADDR_Param". La instrucción TURCV recibe datos a través de UDP. Tras
ejecutar correctamente la instrucción TURCV, el tipo de datos "TADDR_Param" muestra la
dirección del interlocutor remoto (emisor), como se muestra en las figuras que aparecen a
continuación.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 915
Comunicación
11.2 PROFINET

11.2.8.16 T_CONFIG
La instrucción T_CONFIG puede modificar la dirección Ethernet, el nombre de dispositivo
PROFINET o las direcciones IP de los servidores NTP para la sincronización horaria desde
el programa de usuario. Las funciones siguientes pueden ajustarse de forma permanente o
temporal:
● Dirección IP
● Máscara de subred
● Dirección del router
● Nombre de la estación
● Direcciones IP de un máximo de cuatro servidores NTP

Nota
El botón de opción "Permitir ajustar la dirección IP directamente en el dispositivo"
(Página 923), situado en la página "Dirección Ethernet" de las "Propiedades" de la CPU,
permite cambiar la dirección IP online o mediante la instrucción "T_CONFIG" después de
descargar el programa.
El botón de opción "Permitir ajustar el nombre de dispositivo PROFINET directamente en
el dispositivo" (Página 925), situado en la página "Dirección Ethernet" de las
"Propiedades" de la CPU, permite cambiar el nombre del dispositivo PROFINET online o
mediante la instrucción "T_CONFIG" después de descargar el programa.
El cuadro "Activar sincronización horaria vía servidor NTP" (Página 926), situado en la
página "Sincronización horaria" de las "Propiedades" de la CPU, permite cambiar las
direcciones IP de un máximo de cuatro servidores NTP.

Nota
No es posible ejecutar más de una instrucción T_CONFIG al mismo tiempo.

Nota
Los cambios en la dirección IP o el nombre de estación de la CPU pueden ser
temporales o permanentes. Los cambios en las direcciones IP de los servidores NTP
solo son temporales:
• Un cambio permanente indica que el cambio es remanente, es decir, que se
conservará aunque se produzca un corte de la alimentación eléctrica.
• Un cambio temporal indica que el cambio es volátil y que se recuperará el valor
original tras un corte de alimentación.

Controlador programable S7-1200


916 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Tabla 11- 43 Instrucción T_CONFIG

KOP / FUP SCL Descripción


"T_CONFIG_DB"( La instrucción T_CONFIG se puede usar para
Req:=_bool_in_, modificar los parámetros de configuración de IP
Interface:=_uint_in_, desde el programa de usuario.
Conf_Data:=_variant_in_, T_CONFIG funciona de forma asíncrona. La eje-
Done=>_bool_out_, cución abarca varias llamadas.
Busy=>_bool_out_,
Error=>_bool_out_,
Status=>_dword_out_,
Err_Loc=>_dword_out_);

Tabla 11- 44 Tipos de datos T_CONFIG para los parámetros

Parámetro y tipo Tipo de datos Descripción


REQ Input Bool Inicia la instrucción con un flanco ascendente.
INTERFACE Input HW_Interface ID de la interfaz de red
CONF_DATA Input Variant Referencia a la estructura de los datos de configuración;
CONF_DATA se define mediante una estructura que con-
tiene un máximo de cuatro tipos de datos de sistema
(SDT).
DONE Output Bool • 0: Tarea no iniciada aún o en proceso.
• 1: Tarea finalizada sin errores.
BUSY Output Bool • 0: Tarea finalizada.
• 1: La tarea no ha finalizado aún. No se puede iniciar
una tarea nueva.
ERROR Output Bool Parámetros de estado con los valores siguientes:
• 0: No hay error
• 1: Ha ocurrido un error durante el procesamiento.
STATUS proporciona información detallada sobre el
tipo de error.
STATUS Output DWord Información de estado, incluida la información de error.
(Consulte los códigos de condición de error y estado en la
tabla siguiente.)
ERR_LOC Output DWord Ubicación del fallo (ubicación del campo ID y los subcam-
pos dentro de la estructura CONF_DATA)

La información de la configuración de IP se deposita en el bloque de datos CONF_DATA,


junto con un puntero de Variant en el parámetro CONF_DATA, del que se hace referencia
más arriba. La ejecución correcta de la instrucción T_CONFIG finaliza con la entrega de los
datos de configuración IP a la interfaz de red.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 917
Comunicación
11.2 PROFINET

Los avisos de estado y los mensajes de error de la instrucción "T_CONFIG" se visualizan en


los parámetros STATUS y ERR_LOC:
● La causa del error se muestra en el parámetro STATUS.
● La ubicación del error ocurrido se muestra en el parámetro ERR_LOC. Aquí están
disponibles las siguientes opciones:
– 16#0000_0000: no hay error o hay error al llamar la instrucción (p. ej. errores cuando
se asignan parámetros a la instrucción o en la comunicación con la interfaz
PROFINET).
– 16#0001_0000: error con los datos de configuración en los parámetros del tipo de
datos de sistema IF_CONF_HEADER.
– 16#0001_000x: error con los datos de configuración en los parámetros del tipo de
datos de sistema IF_CONF_V4 o IF_CONF_NOS o IF_CONF_NTP (la x indica la
posición del sub-bloque defectuoso en la estructura de T_CONFIG. Si, por ejemplo, la
estructura de T_CONFIG contiene un sub-bloque para la dirección IP y otro para el
nombre de la estación y el error se encuentra en el sub-bloque para el nombre de la
estación, ERR_LOC tiene el valor 0001_0002.)
La tabla siguiente muestra los valores posibles de los parámetros STATUS y ERR_LOC:

STATUS* ERR_LOC* Explicación


0000_0000 0000_0000 Procesamiento de la orden finalizado sin errores.
0070_0000 0000_0000 No se está procesando ninguna tarea.
0070_0100 0000_0000 Inicio del procesamiento de la orden.
0070_0200 0000_0000 Llamada intermedia (REQ irrelevante).
C08x_yy00 0000_0000 Información general del error.
C080_8000 0000_0000 Error al llamar la instrucción:
la ID de hardware en el parámetro Interface no es válida.
C080_8100 0000_0000 Error al llamar la instrucción:
la ID de hardware en el parámetro Interface no direcciona una interfaz PROFINET.
C080_8700 0000_0000 Error al llamar la instrucción:
longitud incorrecta del bloque de datos en el parámetro CONF_DATA.
C080_8800 0001_0000 Error en el tipo de datos de sistema IF_CONF_HEADER:
el parámetro FieldType tiene un valor no válido. Utilice el valor "0" para FieldType.
C080_8900 0001_0000 Error en el tipo de datos de sistema IF_CONF_HEADER:
el parámetro FieldId tiene un valor no válido o se ha utilizado más de una vez. Utilice el
valor "0" para FieldId.
C080_8A00 0001_0000 Error en el tipo de datos de sistema IF_CONF_HEADER:
número incorrecto en el parámetro SubfieldCount. Introduzca el número correcto de los
tipos de datos de sistema IF_CONF_V4, IF_CONF_NOS o IF_CONF_NTP que se utilizan.
C080_8B00 0001_000x Error en el tipo de datos de sistema IF_CONF_V4, IF_CONF_NOS o IF_CONF_NTP:
el parámetro Id tiene un valor no válido. Utilice "30" para IF_CONF_V4, "40" para
IF_CONF_NOS y "17" para IF_CONF_NTP.
C080_8C00 0001_000x Error en el tipo de datos de sistema IF_CONF_V4, IF_CONF_NOS o IF_CONF_NTP:
se ha utilizado un tipo de datos de sistema incorrecto, su orden es erróneo o se ha utilizado
varias veces.

Controlador programable S7-1200


918 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

STATUS* ERR_LOC* Explicación


C080_8D00 0001_000x Error en el tipo de datos de sistema IF_CONF_V4, IF_CONF_NOS o IF_CONF_NTP:
el parámetro Length tiene un valor incorrecto o no válido.
C080_8E00 0001_000x Error en el tipo de datos de sistema IF_CONF_V4, IF_CONF_NOS o IF_CONF_NTP:
el parámetro Mode tiene un valor incorrecto o no válido.
• Con IF_CONF_V4 y IF_CONF_NOS solo se permiten los valores "1" (permanente) o "2"
(temporal).
• Con IF_CONF_NTP solo se permite el valor "2" (temporal).
C080_9000 0001_000x Error en el tipo de datos de sistema IF_CONF_V4, IF_CONF_NOS o IF_CONF_NTP:
No es posible aplicar los datos de configuración. Causa posible:
• Con IF_CONF_V4: en la configuración hardware no se ha seleccionado el ajuste "Ajus-
tar la dirección IP en el dispositivo".
• Con IF_CONF_NOS: en la configuración hardware no se ha seleccionado el ajuste
"Ajustar el nombre de dispositivo PROFINET en el dispositivo".
• Con IF_CONF_NTP: en la configuración hardware no se ha seleccionado el ajuste "Acti-
var sincronización horaria vía servidor NTP" y no se ha ajustado ninguna dirección IP
para los servidores NTP.
C080_9400 0001_000x Error en el tipo de datos de sistema IF_CONF_V4, IF_CONF_NOS o IF_CONF_NTP:
un valor de parámetro no está definido o no es válido.
C080_9500 0001_000x Error en el tipo de datos de sistema IF_CONF_V4, IF_CONF_NOS o IF_CONF_NTP:
los valores de dos parámetros son incoherentes.
C080_C200 0000_0000 Error al llamar la instrucción:
no es posible transferir los datos de configuración. Causa posible: la interfaz PROFINET no
está accesible.
C080_C300 0000_0000 Error al llamar la instrucción:
recursos insuficientes (p. ej. llamada múltiple de "T_CONFIG" con diferentes parámetros).
C080_C400 0000_0000 Error al llamar la instrucción:
error de comunicación temporal. Indicación de tiempo para cambiar al horario de verano.
C080_D200 0000_0000 Error al llamar la instrucción:
llamada no posible. La interfaz PROFINET seleccionada no soporta esta instrucción.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 919
Comunicación
11.2 PROFINET

Bloque de datos CONF_DATA


El diagrama siguiente muestra cómo se guardan en el DB de configuración los datos de
configuración que deben transferirse.

① DB de configuración ④ Subcampo 2
② Datos de configuración ⑤ Subcampo n
③ Subcampo 1 ⑥ Parámetros específicos del subcampo

Los datos de configuración del CONF_DB se componen de un campo que contiene un


encabezado (IF_CONF_Header) y varios subcampos. IF_CONF_Header ofrece los
siguientes elementos:
● field_type_id (tipo de datos UInt): Cero
● field_id (tipo de datos UInt): Cero
● subfield_cnt (tipo de datos UInt): Número de subcampos
Cada subcampo, a su vez, consta de un encabezado (subfield_type_id, subfield_length,
subfield_mode) y de los parámetros específicos del subcampo. Cada subcampo debe estar
conformado por un número de bytes par. subfield_mode puede tener un valor 1 o 2.
Consulte las tablas de más abajo.

Nota
Actualmente solo se permite un campo (IF_CONF_Header). Sus parámetros field_type_id y
field_id deben tener el valor cero. Otros campos con diferentes valores para field_type_id y
field_id están sujetos a futuras extensiones.

Tabla 11- 45 Subcampos soportados

subfield_type_id Tipo de datos Significado


30 IF_CONF_V4 Parámetros de IP: Dirección IP, máscara de subred, dirección del
router
40 IF_CONF_NOS Nombre de dispositivo PROFINET IO (Name of station)
17 IF_CONF_NTP Network Time Protocol (NTP)

Controlador programable S7-1200


920 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Tabla 11- 46 Elementos del tipo de datos IF_CONF_V4

Nombre Tipo de datos Valor de Descripción


arranque
Id UInt 30 subfield_type_id
Length UInt 18 subfield_length
Mode UInt 0 subfield_mode (1: permanente o 2: temporal)
InterfaceAddress IP_V4 - Dirección de interfaz
ADDR Array [1..4] of Byte
ADDR[1] Byte 0 Dirección IP high byte: 200
ADDR[2] Byte 0 Dirección IP high byte: 12
ADDR[3] Byte 0 Dirección IP low byte: 1
ADDR[4] Byte 0 Dirección IP low byte: 144
SubnetMask IP_V4 - Máscara de subred
ADDR Array [1..4] of Byte
ADDR[1] Byte 0 Máscara de subred high byte: 255
ADDR[2] Byte 0 Máscara de subred high byte: 255
ADDR[3] Byte 0 Máscara de subred low byte: 255
ADDR[4] Byte 0 Máscara de subred low byte: 0
DefaultRouter IP_V4 - Router predeterminado
ADDR Array [1..4] of Byte
ADDR[1] Byte 0 Router high byte: 200
ADDR[2] Byte 0 Router high byte: 12
ADDR[3] Byte 0 Router low byte: 1
ADDR[4] Byte 0 Router low byte: 1

Tabla 11- 47 Elementos del tipo de datos IF_CONF_NOS

Nombre Tipo de datos Valor de Descripción


arranque
Id UInt 40 subfield_type_id
Length UInt 246 subfield_length
Mode UInt 0 subfield_mode (1: permanente o 2: temporal)
NOS (Name of Array[1..240] of Byte 0 Nombre de la estación: Hay que ocupar el ARRAY desde el
station) primer byte. Si el ARRAY es más largo que el nombre que se
le va a asignar a la estación, es necesario introducir un byte
cero detrás del nombre real de la estación (de conformidad
con IEC 61158-6-10). En caso contrario, NOS se rechaza y la
instrucción "T_CONFIG (Página 916)" introduce el código de
error DW#16#C0809400 en STATUS. Si ocupa el primer byte
con cero se borra el nombre de la estación.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 921
Comunicación
11.2 PROFINET

El nombre de la estación está sujeto a las siguientes limitaciones:


● Un componente dentro del nombre de la estación, p. ej. una cadena de caracteres entre
dos puntos, no debe exceder 63 caracteres.
● No se admiten caracteres especiales, como diéresis, paréntesis, guión bajo, barra,
espacio, etc. El único carácter especial permitido es el guión.
● El nombre de la estación no debe comenzar ni terminar con el carácter especial "-".
● El nombre de la estación no debe comenzar con un número.
● Para el nombre de la estación no está permitido el formato n.n.n.n (n = 0, ... 999).
● El nombre de la estación no debe comenzar con la cadena "port-xyz" o "port-xyz-abcde"
(a, b, c, d, e, x, y, z = 0, ... 9).

Nota
También es posible crear un ARRAY "NOS" que tenga menos de 240 bytes, pero no
menos de 2 bytes. En este caso, deberá ajustarse la variable "Length" (longitud del
subcampo) en correspondencia.

Tabla 11- 48 Elementos del tipo de datos IF_CONF_NTP

Nombre Tipo de datos Valor inicial Descripción


Id UInt 17 subfield_type_id
Length UInt 22 subfield_length
Mode UInt 0 subfield_mode (2: temporal)
NTP_IP Array[1...4] of IP_V4 - Direcciones IP de servidores
NTP
NTP_IP[1] IP_V4 Direcciones IP del servidor
ADDR Array[1...4] of Byte 0 NTP 1

ADDR[1] Byte 0 Dirección IP high byte


ADDR[2] Byte 0 Dirección IP high byte
ADDR[3] Byte 0 Dirección IP low byte
ADDR[4] Byte 0 Dirección IP low byte
NTP_IP[2] IP_V4 Direcciones IP del servidor
ADDR Array[1...4] of Byte 0 NTP 2

ADDR[1] Byte 0 Dirección IP high byte


ADDR[2] Byte 0 Dirección IP high byte
ADDR[3] Byte 0 Dirección IP low byte
ADDR[4] Byte 0 Dirección IP low byte
NTP_IP[3] IP_V4 Direcciones IP del servidor
ADDR Array[1...4] of Byte 0 NTP 3
ADDR[1] Byte 0 Dirección IP high byte
ADDR[2] Byte 0 Dirección IP high byte
ADDR[3] Byte 0 Dirección IP low byte
ADDR[4] Byte 0 Dirección IP low byte
NTP_IP[4] IP_V4 Direcciones IP del servidor

Controlador programable S7-1200


922 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Nombre Tipo de datos Valor inicial Descripción


ADDR Array[1...4] of Byte 0 NTP 4
ADDR[1] Byte 0 Dirección IP high byte
ADDR[2] Byte 0 Dirección IP high byte
ADDR[3] Byte 0 Dirección IP low byte
ADDR[4] Byte 0 Dirección IP low byte

Ejemplo: utilizar la instrucción T_CONFIG para cambiar parámetros IP


En el ejemplo siguiente, en el subcampo "addr", se han cambiado la "InterfaceAddress"
(dirección IP), la "SubnetMask", y el "DefaultRouter" (router IP). En la página "Dirección
Ethernet" de las "Propiedades" de la CPU hay que seleccionar el botón de opción "Permitir
ajustar la dirección IP directamente en el dispositivo" para cambiar los parámetros IP
mediante la instrucción "T_CONFIG" después de descargar el programa.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 923
Comunicación
11.2 PROFINET

Controlador programable S7-1200


924 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Ejemplo: utilizar la instrucción T_CONFIG para cambiar los parámetros IP y los nombres de
dispositivo PROFINET IO
En el ejemplo siguiente, se han cambiado los subcampos "addr" y "nos" (Name of station).
En la página "Dirección Ethernet" de las "Propiedades" de la CPU hay que seleccionar la
casilla de verificación "Permitir ajustar el nombre de dispositivo PROFINET directamente en
el dispositivo" para cambiar el nombre de dispositivo PROFINET mediante la instrucción
"T_CONFIG" después de descargar el programa.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 925
Comunicación
11.2 PROFINET

Ejemplo: Uso de la instrucción T_CONFIG para cambiar las direcciones IP en los servidores NTP
En el ejemplo siguiente, la instrucción T_CONFIG cambia las direcciones IP de un máximo
de cuatro servidores NTP en el subcampo "ntp" (servidor NTP (Network Time Protocol)).
En la página "Sincronización horaria" de la interfaz PROFINET [X1], en las propiedades de
la CPU, la sincronización NTP se configura seleccionando la casilla de verificación "Activar
sincronización horaria vía servidor NTP" tal como se muestra en la figura inferior. Las
direcciones IP de los servidores NTP se cambian mediante la instrucción "T_CONFIG"
después de descargar el programa.

Controlador programable S7-1200


926 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

11.2.8.17 Parámetros comunes para instrucciones

Parámetro de entrada REQ


Muchas de las instrucciones de la comunicación abierta utilizan la entrada REQ para iniciar
la operación en una transición de "low" a "high". El estado lógico de la entrada REQ debe
ser "high" (TRUE) durante una ejecución de la instrucción, aunque puede permanecer
TRUE durante un tiempo cualquiera. La instrucción no inicia ninguna operación diferente
hasta que no sea ejecutada con la entrada REQ puesta a FALSE, de manera que pueda
inicializar el histórico de la entrada REQ. Esto es necesario para que la instrucción pueda
detectar la transición de "low" a "high" para iniciar la siguiente operación.
Al insertar una de estas instrucciones en su programa, STEP 7 le solicitará identificar el DB
de instancia. Utilice un DB unívoco para cada llamada de la instrucción. Esto garantiza que
cada instrucción procese correctamente la entradas, p. ej. REQ.

Parámetro de entrada ID
Esta es una referencia de la "ID Local (hex) en la "Vista de red" de "Dispositivos y redes" de
STEP 7 y es la ID de la red que usted desea utilizar para este bloque de comunicación. La
ID debe ser idéntica al parámetro ID asociado en la descripción de la conexión local.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 927
Comunicación
11.2 PROFINET

Parámetros de salida DONE, NDR, ERROR y STATUS


Estas instrucciones ponen a disposición salidas que describen el estado de finalizado:

Tabla 11- 49 Parámetros de salida de las instrucciones de la comunicación abierta

Parámetro Tipo de datos Valor predeter- Descripción


minado
DONE Bool FALSE Si adopta el estado lógico TRUE durante una ejecución indica que
la última petición se ha finalizado sin errores; de lo contrario,
FALSE.
NDR Bool FALSE Si adopta el estado lógico TRUE durante una ejecución indica que
la acción solicitada se ha finalizado sin errores y que se han reci-
bido datos nuevos; de lo contrario, FALSE.
BUSY Bool FALSE Si adopta el estado lógico TRUE mientras está activo indica que:
• La tarea no ha finalizado aún.
• No se puede iniciar una tarea nueva.
Adopta el estado lógico FALSE cuando la tarea ha finalizado.
ERROR Bool FALSE Si adopta el estado lógico TRUE durante una ejecución indica que
la última petición se ha finalizado con errores. El código de error
aplicable aparece en STATUS; de lo contrario, FALSE.
STATUS Word 0 Resultado del estado:
• Si se activa el bit DONE o NDR, STATUS se pone a 0 o a un
código de información.
• Si se activa el bit ERROR, STATUS se pone a un código de
error.
• Si no se activa ninguno de estos bits, la instrucción devuelve
resultados de estado que describen el estado actual de la fun-
ción.
STATUS conserva su valor durante la ejecución de la función.

Nota
Observe que DONE, NDR y ERROR sólo están activados durante una ejecución.

TSAPs y números de puerto restringidos para la comunicación ISO y TCP pasiva


Si la instrucción "TCON" se utiliza para configurar y establecer una conexión pasiva, las
siguientes direcciones de puerto están restringidas y no se deben utilizar:
● TSAP ISO (pasivo):
– 01.00, 01.01, 02.00, 02.01, 03.00, 03.01
– 10.00, 10.01, 11.00, 11.01, ... BF.00, BF.01
● Puerto TCP (pasivo): 5001, 102, 123, 20, 21, 25, 34962, 34963, 34964, 80
● Puerto UDP (pasivo): 161, 34962, 34963, 34964

Controlador programable S7-1200


928 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

11.2.9 Comunicación con una programadora

Una CPU puede comunicarse con una pro-


gramadora con STEP 7 en una red.

Al configurar la comunicación entre una CPU y una programadora debe considerarse lo


siguiente:
● Configuración/instalación: Es preciso configurar el hardware.
● Para la comunicación entre dos interlocutores no se requiere un switch Ethernet. Un
switch Ethernet se requiere sólo si la red comprende más de dos dispositivos.

11.2.9.1 Establecer la conexión de hardware


Las interfaces PROFINET establecen las conexiones físicas entre una programadora y una
CPU. Puesto que la CPU ofrece la función "auto-crossover", es posible utilizar un cable
Ethernet estándar o cruzado ("crossover") para la interfaz. Para conectar una programadora
directamente a una CPU no se requiere un switch Ethernet.
Para crear la conexión de hardware entre una programadora y una CPU, proceda del
siguiente modo:
1. Monte la CPU (Página 62).
2. Conecte el cable Ethernet al puerto PROFINET que se muestra abajo.
3. Conecte el cable Ethernet a la programadora.

① Puerto PROFINET

Hay una descarga de tracción opcional disponible para reforzar la conexión PROFINET.
Encontrará información para realizar el pedido en Repuestos y hardware adicional
(Página 1607).

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 929
Comunicación
11.2 PROFINET

11.2.9.2 Configurar los dispositivos


Si ya se ha creado un proyecto con una CPU, ábralo en STEP 7.
En caso contrario, cree un proyecto e inserte una CPU (Página 158) en el rack. En el
proyecto que aparece abajo, una CPU se muestra en la "Vista de dispositivos".

11.2.9.3 Asignar direcciones IP (Internet Protocol)

Asignar direcciones IP
En una red PROFINET todo dispositivo debe tener también una dirección IP (Internet
Protocol o Protocolo Internet). Esta dirección permite al dispositivo transferir datos a través
de una red enrutada y más compleja:
● Si tiene una programadora u otros dispositivos de red que utilicen una tarjeta adaptadora
integrada conectada a la LAN corporativa o a una tarjeta adaptadora Ethernet a USB
conectada a una red aislada, asígneles direcciones IP. Para más información, consulte el
apartado "Asignar direcciones IP a los dispositivos de programación y red" (Página 827).
● También es posible asignar una dirección IP a una CPU o a un dispositivo de red online.
Esto es especialmente útil al configurar los dispositivos por primera vez. Para más
información, consulte el apartado "Asignar una dirección IP a una CPU online"
(Página 827).
● Tras configurar la CPU o el dispositivo de red en su proyecto, usted puede configurar
parámetros para la interfaz PROFINET, para incluir la dirección IP correspondiente.
Encontrará más información al respecto en "Configurar una dirección IP para una CPU
en el proyecto". (Página 829)

11.2.9.4 Comprobar la red PROFINET


Tras finalizar la configuración es necesario cargar el proyecto en la CPU. Todas las
direcciones IP se configuran al cargar el proyecto en el dispositivo.
La función de la CPU "Cargar en dispositivo" y su cuadro de diálogo "Carga avanzada en
dispositivo" permiten visualizar todos los dispositivos de red accesibles y verificar si se han
asignado direcciones IP unívocas a todos ellos. Para más información, consulte "Comprobar
la red PROFINET" (Página 836).

Controlador programable S7-1200


930 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

11.2.10 Comunicación entre dispositivos HMI y el PLC

La CPU admite conexiones de comunicación


PROFINET con dispositivos HMI (Página 33).
Los siguientes requisitos deben considerarse
al configurar la comunicación entre CPUs y
HMIs:

Configuración/instalación:
● El puerto PROFINET de la CPU debe configurarse para poder establecer una conexión
con el HMI.
● El HMI se debe instalar y configurar.
● La información de configuración del HMI forma parte del proyecto de la CPU y se puede
configurar y cargar desde el proyecto.
● Para la comunicación entre dos interlocutores no se requiere un switch Ethernet. Un
switch Ethernet se requiere sólo si la red comprende más de dos dispositivos.

Nota
El switch Ethernet de 4 puertos CSM1277 montado en un rack puede utilizarse para
conectar las CPUs y los dispositivos HMI. El puerto PROFINET de la CPU no contiene
un dispositivo de conmutación Ethernet.

Funciones soportadas:
● El HMI puede leer/escribir datos en la CPU.
● Es posible disparar mensajes, según la información consultada de la CPU.
● Diagnóstico del sistema

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 931
Comunicación
11.2 PROFINET

Tabla 11- 50 Pasos necesarios para configurar la comunicación entre un dispositivo HMI y una CPU

Paso Tarea
1 Establecer la conexión de hardware
Una interfaz PROFINET establece la conexión física entre un dispositivo HMI y una CPU. Puesto que la
función "auto-crossover" está integrada en la CPU, es posible utilizar un cable Ethernet estándar o cruza-
do ("crossover") para la interfaz. Para conectar un HMI a una CPU no se requiere un switch Ethernet.
Para más información, consulte "Comunicación con una programadora: Establecer la conexión de hard-
ware". (Página 929)
2 Configurar los dispositivos
Para más información, consulte "Comunicación con una programadora: Configurar los dispositivos". (Pá-
gina 930)
3 Configurar las conexiones de red lógicas entre un dispositivo HMI y una CPU
Encontrará más información en "Comunicación entre HMI y PLC: Configurar las conexiones de red lógicas
entre dos dispositivos (Página 932)".
4 Configurar una dirección IP en el proyecto
Utilice el mismo proceso de configuración. No obstante, es preciso configurar direcciones IP para el HMI y
la CPU.
Encontrará más información en "Configuración de dispositivos: Configurar una dirección IP para una CPU
en el proyecto". (Página 831)
5 Comprobar la red PROFINET
La configuración debe cargarse en cada CPU y cada dispositivo HMI.
Encontrará más información en "Configuración de dispositivos: Comprobar la red PROFINET".
(Página 836)

11.2.10.1 Configurar las conexiones de red lógicas entre dos dispositivos


Tras configurar el rack con la CPU podrá configurar las conexiones de red.
En el portal "Dispositivos y redes", utilice la "Vista de red" para crear las conexiones de red
entre los dispositivos del proyecto. En primer lugar, haga clic en la ficha "Conexiones" y
luego seleccione el tipo de conexión en la lista desplegable ubicada justo a la derecha (p. ej.
una conexión ISO on TCP).
Para crear una conexión PROFINET, haga clic en el cuadro verde (PROFINET) del primer
dispositivo y trace una línea hasta el cuadro PROFINET del segundo dispositivo. Suelte el
botón del ratón para crear la conexión PROFINET.
Para más información, consulte el apartado "Configuración de dispositivos: Crear una
conexión de red". (Página 823)

Controlador programable S7-1200


932 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

11.2.11 Comunicación entre PLCs

Una CPU puede comunicarse con otra CPU utili-


zando las instrucciones TSEND_C y TRCV_C.

Considere lo siguiente al configurar la comunicación entre dos CPUs:


● Configuración/instalación: Es preciso configurar el hardware.
● Funciones soportadas: Leer/escribir datos en una CPU interlocutora
● Para la comunicación entre dos interlocutores no se requiere un switch Ethernet. Un
switch Ethernet se requiere sólo si la red comprende más de dos dispositivos.

Tabla 11- 51 Pasos necesarios para configurar la comunicación entre dos CPUs

Paso Tarea
1 Establecer la conexión de hardware
Una interfaz PROFINET establece la conexión física entre dos CPUs. Puesto que la función "auto-
crossover" está integrada en la CPU, es posible utilizar un cable Ethernet estándar o cruzado ("crosso-
ver") para la interfaz. Para conectar dos CPUs no se requiere un switch Ethernet.
Para más información, consulte "Comunicación con una programadora: Establecer la conexión de hard-
ware". (Página 929)
2 Configurar los dispositivos
Hay que configurar dos CPUs en el proyecto.
Para más información, consulte "Comunicación con una programadora: Configurar los dispositivos". (Pá-
gina 930)
3 Configurar las conexiones de red lógicas entre dos CPUs
Encontrará más información en "Comunicación entre PLC y PLC: Configurar las conexiones de red lógi-
cas entre dos dispositivos (Página 934)".
4 Configurar una dirección IP en el proyecto
Utilice el mismo proceso de configuración. No obstante, es preciso configurar direcciones IP para dos
CPUs (p. ej. PLC_1 y PLC_2).
Encontrará más información en "Configuración de dispositivos: Configurar una dirección IP para una CPU
en el proyecto". (Página 831)
5 Configurar los parámetros de transmisión y recepción
Las instrucciones TSEND_C y TRCV_C deben configurarse en ambas CPUs para habilitar la comunica-
ción entre ellas.
Encontrará más información en el apartado "Configurar la comunicación entre dos CPUs: Configurar los
parámetros de transmisión y recepción". (Página 935)
6 Comprobar la red PROFINET
La configuración debe cargarse en cada una de las CPUs.
Encontrará más información en "Configuración de dispositivos: Comprobar la red PROFINET (Pági-
na 836)".

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 933
Comunicación
11.2 PROFINET

11.2.11.1 Configurar las conexiones de red lógicas entre dos dispositivos


Tras configurar el rack con la CPU podrá configurar las conexiones de red.
En el portal "Dispositivos y redes", utilice la "Vista de red" para crear las conexiones de red
entre los dispositivos del proyecto. En primer lugar, haga clic en la ficha "Conexiones" y
luego seleccione el tipo de conexión en la lista desplegable ubicada justo a la derecha (p. ej.
una conexión ISO on TCP).
Para crear una conexión PROFINET, haga clic en el cuadro verde (PROFINET) del primer
dispositivo y trace una línea hasta el cuadro PROFINET del segundo dispositivo. Suelte el
botón del ratón para crear la conexión PROFINET.
Para más información, consulte el apartado "Configuración de dispositivos: Crear una
conexión de red". (Página 823)

11.2.11.2 Configurar la vía de conexión local/interlocutor entre dos dispositivos

Configurar los parámetros generales


Los parámetros de comunicación se especifican en el cuadro de diálogo de configuración
"Propiedades" de la instrucción de comunicación. Este diálogo aparece en el lado inferior de
la página cuando se ha seleccionado alguna parte de la instrucción.
Encontrará más información en "Configuración de dispositivos: Configurar la vía de conexión
local/interlocutor (Página 824)"
En el área "Detalles de dirección" del diálogo "Parámetros de la conexión" se definen los
TSAPs o puertos que deben utilizarse. El TSAP o puerto de una conexión en la CPU se
introduce en el campo "TSAP local". El TSAP o puerto asignado a la conexión en la CPU
interlocutora se introduce en el campo "TSAP del interlocutor".

Controlador programable S7-1200


934 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

11.2.11.3 Configurar los parámetros de transmisión y recepción


Los bloques de comunicación (por ejemplo TSEND_C y TRCV_C) sirven para establecer
conexiones entre dos CPUs. Para que las CPUs puedan intervenir en la comunicación
PROFINET es preciso configurar parámetros para transmitir y recibir mensajes. Estos
parámetros determinan cómo deben funcionar las comunicaciones al transmitir o recibir
mensajes a/de un dispositivo de destino.

Configurar los parámetros de transmisión de la instrucción TSEND_C

Instrucción TSEND_C
La instrucción TSEND_C (Página 854) crea una conexión con un interlocutor. La conexión
se configura, establece y vigila automáticamente hasta que la instrucción ordene que sea
desconectada. La instrucción TSEND_C combina las funciones de las instrucciones TCON,
TDISCON y TSEND.
En la "Configuración de dispositivos" de STEP 7 es posible configurar cómo la instrucción
TSEND_C debe transmitir los datos. Para comenzar, inserte la instrucción en el programa
desde la carpeta "Comunicación" de la Task Card "Instrucciones". La instrucción TSEND_C
se visualizará junto con el diálogo "Opciones de llamada" en el que se asigna un DB para
almacenar los parámetros de la instrucción.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 935
Comunicación
11.2 PROFINET

Como muestra la figura siguiente, es posible asignar posiciones de memoria a las entradas
y salidas en la memoria de variables:

Configurar los parámetros generales


Los parámetros se configuran en el diálogo "Propiedades" de la instrucción TSEND_C. Este
diálogo aparece en el lado inferior de la página cuando se ha seleccionado alguna parte de
la instrucción TSEND_C.

Configurar los parámetros de recepción de la instrucción TRCV_C

Instrucción TRCV_C
La instrucción TRCV_C (Página 854) crea una conexión con un interlocutor. La conexión se
configura, establece y vigila automáticamente hasta que la instrucción ordene que sea
desconectada. La instrucción TRCV_C combina las funciones de las instrucciones TCON,
TDISCON y TRCV.
Desde la configuración de la CPU en STEP 7 es posible configurar cómo la instrucción
TRCV_C debe recibir los datos. Para comenzar, inserte la instrucción en el programa desde
la carpeta "Comunicación" de la Task Card "Instrucciones". La instrucción TRCV_C se
visualizará junto con el diálogo "Opciones de llamada" en el que se asigna un DB para
almacenar los parámetros de la instrucción.

Controlador programable S7-1200


936 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Como muestra la figura siguiente, es posible asignar posiciones de memoria a las entradas
y salidas en la memoria de variables:

Configurar los parámetros generales


Los parámetros se configuran en el diálogo "Propiedades" de la instrucción TRCV_C. Este
diálogo aparece en el lado inferior de la página cuando se ha seleccionado alguna parte de
la instrucción TRCV_C.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 937
Comunicación
11.2 PROFINET

11.2.12 Configurar una CPU y un dispositivo PROFINET IO

11.2.12.1 Agregar un dispositivo PROFINET IO

Agregar un dispositivo PROFINET IO


En el portal "Dispositivos y redes", utilice el catálogo de hardware para agregar dispositivos
PROFINET IO.

Nota
Para agregar un dispositivo PROFINET IO se puede utilizar STEP 7 Professional o Basic
V11 o superior.

Abra por ejemplo las carpetas siguientes en el catálogo de hardware para agregar un
dispositivo IO ET 200SP: Periferia descentralizada, ET 200SP, módulos de interfaz y
PROFINET. A continuación, seleccione el módulo de interfaz en la lista de dispositivos
ET 200SP (ordenados por referencia) y agregue el dispositivo ET 200SP.

Tabla 11- 52 Agregar un dispositivo IO ET 200SP a la configuración de dispositivos

Insertar el dispositivo IO Resultado

Ahora, el dispositivo PROFINET IO puede conectarse a la CPU:


1. Haga clic con el botón derecho del ratón en el enlace "No asignado" del dispositivo y
seleccione "Asignar a controlador IO nuevo" del menú contextual para visualizar el
cuadro de diálogo "Seleccionar controlador IO".
2. Seleccione la CPU S7-1200 (en el ejemplo "PLC_1)") en la lista de controladores del
proyecto.
3. Haga clic en "Aceptar" para crear la conexión de red.
También es posible ir al portal "Dispositivos y redes" y utilizar la "Vista de redes" para crear
las conexiones de red entre los dispositivos del proyecto:
1. Para crear una conexión PROFINET, haga clic en el cuadro verde (PROFINET) del
primer dispositivo y trace una línea hasta el cuadro PROFINET del segundo dispositivo.
2. Suelte el botón del ratón para crear la conexión PROFINET.
Encontrará más información en "Configuración de dispositivos: Configurar la CPU para la
comunicación" (Página 184).

Controlador programable S7-1200


938 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

11.2.12.2 Asignar CPUs y nombres de dispositivo

Asignar CPUs y nombres de dispositivo


Las conexiones de red entre los dispositivos también asignan el dispositivo PROFINET IO a
la CPU, algo necesario para que la CPU pueda controlar dicho dispositivo. Para modificar la
asignación, haga clic en el nombre del PLC que se muestra en el dispositivo PROFINET IO.
Se abre un cuadro de diálogo que permite desconectar el dispositivo PROFINET IO de la
CPU actual y reasignarlo o bien dejarlo sin asignación, como se prefiera.
Los dispositivos de la red PROFINET deben tener asignados nombres antes de poder ser
conectados a la CPU. Utilice la "Vista de redes" para asignar nombres a los dispositivos
PROFINET, en caso de que estos no hayan sido asignados o bien si el nombre del
dispositivo debe ser modificado. Para ello, haga clic con el botón derecho del ratón en el
dispositivo PROFINET IO y seleccione "Asignar nombre de dispositivo".
A cada dispositivo PROFINET IO se le debe asignar el mismo nombre en el proyecto de
STEP 7 y en la red PROFINET. (Para asignar el nombre de dispositivo puede utilizarse la
herramienta "Online y diagnóstico" en STEP 7 o la herramienta de puesta en marcha,
configuración y diagnóstico PRONETA en la red PROFINET.) Si hace falta un nombre o
este no coincide en ninguna ubicación, el modo de intercambio de datos PROFINET IO no
se ejecutará. Encontrará más información en "Herramientas online y diagnóstico: Asignar un
nombre a un dispositivo PROFINET online (Página 1346)".

11.2.12.3 Asignar direcciones IP (Internet Protocol)

Asignar direcciones IP
En una red PROFINET todo dispositivo debe tener también una dirección IP (Internet
Protocol o Protocolo Internet). Esta dirección permite al dispositivo transferir datos a través
de una red enrutada y más compleja:
● Si tiene una programadora u otros dispositivos de red que utilicen una tarjeta adaptadora
integrada conectada a la LAN corporativa o a una tarjeta adaptadora Ethernet a USB
conectada a una red aislada, asígneles direcciones IP. Para más información, consulte el
apartado "Asignar direcciones IP a los dispositivos de programación y red" (Página 827).
● También es posible asignar una dirección IP a una CPU o a un dispositivo de red online.
Esto es especialmente útil al configurar los dispositivos por primera vez. Para más
información, consulte el apartado "Asignar una dirección IP a una CPU online"
(Página 829).
● Tras configurar la CPU o el dispositivo de red en su proyecto, usted puede configurar
parámetros para la interfaz PROFINET, para incluir la dirección IP correspondiente.
Encontrará más información al respecto en "Configurar una dirección IP para una CPU
en el proyecto". (Página 831)

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 939
Comunicación
11.2 PROFINET

11.2.12.4 Configurar el tiempo de ciclo IO

Configurar el tiempo de ciclo IO


Un dispositivo PROFINET IO recibe datos nuevos de la CPU dentro de un intervalo de
tiempo "Ciclo IO". El tiempo de actualización puede configurarse por separado para cada
dispositivo y determina el intervalo de tiempo en el que los datos se transmiten de la CPU al
dispositivo y viceversa.
STEP 7 calcula automáticamente el tiempo de actualización del "Ciclo IO" en la
configuración predeterminada de cada dispositivo de la red PROFINET, tomando en
consideración el volumen de datos que deben intercambiarse y el número de dispositivos
asignados a dicho controlador. Si no desea que el tiempo de actualización se calcule
automáticamente, es posible cambiar este ajuste.
Los parámetros del "Ciclo IO" se especifican en el cuadro de diálogo de configuración
"Propiedades" del dispositivo PROFINET IO. Este cuadro de diálogo aparece en la parte
inferior de la página cuando se ha seleccionado alguna parte de la instrucción.
En la "Vista de dispositivos" del dispositivo PROFINET IO, haga clic en el puerto
PROFINET. En el cuadro de diálogo "Interfaz PROFINET", acceda a los parámetros del
"Ciclo IO" con las siguientes selecciones de menú:
● "Opciones avanzadas"
● "Configuración en tiempo real"
● "Ciclo IO"
Defina el "Tiempo de actualización" del ciclo IO con las selecciones siguientes:
● Para que se calcule automáticamente un tiempo de actualización adecuado, seleccione
"Automático".
● Para ajustar uno mismo el tiempo de actualización, seleccione "Ajustable" e introduzca el
tiempo de actualización necesario en ms.

Tabla 11- 53 Configurar el tiempo de ciclo PROFINET IO en un ET 200SP

Dispositivo PROFINET IO ET 200SP Cuadro de diálogo del ciclo PROFINET IO en un ET 200SP

① Puerto PROFINET

Controlador programable S7-1200


940 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

11.2.13 Configurar una CPU y un I-device PROFINET

11.2.13.1 Funcionalidad de I-device


La funcionalidad de "I-device" (dispositivo IO inteligente) de una CPU facilita el intercambio
de datos con un controlador IO y el funcionamiento de la CPU como una unidad de
preprocesamiento inteligente de subprocesos, por ejemplo. El I-device está conectado como
un dispositivo IO a un controlador IO de "nivel superior".
El programa de usuario gestiona el preprocesamiento en la CPU. El programa de usuario
preprocesa los valores de proceso adquiridos en las E/S centralizadas o descentralizadas
(PROFINET IO o PROFIBUS DP) y pasan a estar disponibles mediante la interfaz de
PROFINET IO para la CPU de una estación de nivel superior.

Convenciones para nombres de "I-device"


En lo que resta de esta descripción, una CPU o un CP con funcionalidad I-device se
denominará "I-device".

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 941
Comunicación
11.2 PROFINET

11.2.13.2 Propiedades y ventajas del I-device

Campos de aplicación
Campos de aplicación del I-device:
● Procesamiento descentralizado:
Una tarea de automatización compleja se puede dividir en unidades/subprocesos más
pequeños. En consecuencia, se obtienen procesos más manejables que permiten
simplificar las subtareas.
● Separación de subprocesos:
Los procesos complicados, extensos y de amplia distribución se pueden subdividir en
varios procesos con interfaces manejables mediante I-devices. Si es necesario, estos
subprocesos se pueden almacenar en proyectos STEP 7 individuales, que
posteriormente se pueden fusionar para crear un proyecto maestro.
● Protección de know-how:
Los componentes solo se pueden suministrar con un archivo GSD para la descripción de
interfaz de I-device en lugar de con un proyecto STEP 7. El usuario puede proteger su
programa puesto que ya no se debe publicar otra vez.

Propiedades
Propiedades de I-device:
● Anulación de enlaces entre proyectos STEP 7:
Los creadores y usuarios de un I-device pueden tener proyectos de automatización
STEP 7 completamente separados. El archivo GSD forma la interfaz entre los proyectos
STEP 7. Este permite establecer un enlace con los controladores IO estándar a través de
una interfaz estandarizada.
● Comunicaciones en tiempo real:
el I-device dispone de un sistema PROFINET IO determinístico a través de una interfaz
PROFINET IO.

Ventajas
El I-device tiene las siguientes ventajas:
● Enlace sencillo de controladores IO
● Comunicación en tiempo real entre controladores IO
● Descarga de trabajo del controlador IO descentralizando la capacidad informática a I-
devices
● Reducción de la carga de comunicación mediante el procesamiento de datos local
● Manejo más fácil gracias al procesamiento de subtareas en proyectos STEP 7 separados

Controlador programable S7-1200


942 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

11.2.13.3 Características de un I-device


Un I-device se incluye en un sistema IO como si fuera un dispositivo IO estándar.

I-device sin sistema PROFINET IO subordinado


El I-device no cuenta con su propia periferia descentralizada. La asignación de
configuraciones y parámetros de los I-devices asumiendo la función de dispositivo IO es
igual que para un sistema de periferia descentralizada (por ejemplo, ET 200).

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 943
Comunicación
11.2 PROFINET

I-device con sistema PROFINET IO subordinado


Dependiendo de la configuración, un I-device también puede ser un controlador IO en una
interfaz PROFINET, además de asumir la función de un dispositivo IO.
De este modo, el I-device puede formar parte de un sistema IO de nivel superior a través de
su interfaz PROFINET y como controlador IO puede admitir su propio sistema IO
subordinado.
El sistema IO de subordinado, a su vez, puede contener I-devices (véase la figura más
abajo), lo cual permite contar con sistemas IO estructurados jerárquicamente.
Además de su función como controlador IO, un I-device también se puede usar a través de
una interfaz PROFIBUS como maestro DP para un sistema PROFIBUS subordinado.

Controlador programable S7-1200


944 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Ejemplo: I-device como dispositivo IO y controlador IO


El I-device como dispositivo IO y controlador IO se explica a partir del ejemplo de un
proceso de impresión. El I-device controla una unidad (un subproceso). Una unidad se usa,
por ejemplo, para insertar hojas adicionales como octavillas o folletos en un paquete de
material impreso.

La unidad 1 y la unidad 2 constan de un I-device con E/S centralizadas. El I-device junto con
el sistema de E/S descentralizadas (por ejemplo, ET 200) forma la unidad 3.
El programa de usuario en el I-device se encarga de preprocesar los datos de proceso. Para
esta tarea, el programa de usuario del I-device necesita una configuración predeterminada
(por ejemplo, datos de control) del controlador IO de nivel superior. El I-device proporciona
un controlador IO de nivel superior con los resultados (por ejemplo, el estado de su
subtarea).

11.2.13.4 Intercambio de datos entre un sistema IO de nivel superior y otro subordinado


Las áreas de transferencia son una interfaz con el programa del usuario de la CPU del I-
device. Las entradas se procesan en el programa de usuario y las salidas se obtienen del
procesamiento en el programa del usuario.
Los datos para establecer comunicación entre el controlador IO y el I-device pasan a estar
disponibles en las áreas de transferencia. Un área de transferencia contiene una unidad
informativa que se intercambia uniformemente entre el controlador IO y el I-device.
Encontrará más información sobre la configuración y el uso de áreas de transferencia en
"Configuración del I-device" (Página 948).

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 945
Comunicación
11.2 PROFINET

Las áreas de transferencia de entrada tienen un comportamiento diferente cuando se pierde la


conexión de red entre el controlador y el I-device
En el controlador, la CPU escribe un cero en las áreas de transferencia de entrada al
perderse la conexión de red. En el I-device, las áreas de transferencia de entrada conservan
sus últimos valores.
El sistema puede configurarse de forma que se evite esta condición en el caso general de
un I-device (I-device no compartido). Para ello, borre las áreas de transferencia de entrada
del I-device en un "OB de fallo de rack o estación" para un evento entrante. Proceda del
siguiente modo:
1. Agregue un "OB de fallo de rack o estación" al proyecto. (Este OB tiene de forma
predeterminada el número de OB 86).
2. Agregue lógica al OB para que los valores de las entradas para el I-device pasen a cero
cuando la variable de arranque de LADDR indique el valor del identificador de hardware
del I-device y la variable de arranque de Event_Class indique un evento "entrante":
– Encontrará el identificador de hardware del I-device en la tabla de variables
predeterminada de la ficha "Constantes de sistema". El identificador de hardware es
un tipo de "HW_Device" y el nombre de la variable indica que es un I-device (p. ej.
"Local~PROFINET_interface_1~IODevice").
– Un valor "16#39" en la Event_Class indica un evento "entrante". Si la variable de
entrada "Event_Class" contiene el valor "16#39", esto indica que el "OB de fallo de
rack o estación" está activo (en contraposición a cuando se borra).

Controlador programable S7-1200


946 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Flujo de intercambio de datos


En la siguiente figura se muestra el intercambio de datos entre el sistema de nivel superior y
el subordinado. Las relaciones de comunicación individuales se explican a continuación en
función de los números:

① Intercambio de datos entre el controlador IO de nivel superior y el dispositivo IO normal


De este modo, el controlador IO y los dispositivos IO intercambian datos a través dePROFI-
NET.
② Intercambio de datos entre el controlador IO de nivel superior y el I-device
De este modo, el controlador IO y el I-device intercambian datos a través dePROFINET.
El intercambio de datos entre un controlador IO de nivel superior y un I-device se basa en la
relación convencional entre un controlador IO y un dispositivo IO.
En el caso del controlador IO de nivel superior, las áreas de transferencia de los I-devices
representan submódulos de una estación preconfigurada.
Los datos de salida del controlador IO son los datos de entrada del I-device. Por el contrario,
los datos de entrada del controlador IO son los datos de salida del I-device.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 947
Comunicación
11.2 PROFINET

③ Relación de transferencia entre el programa de usuario y el área de transferencia


De este modo, el programa de usuario y el área de transferencia intercambian datos de entra-
da y de salida.
④ Intercambio de datos entre el programa del usuario y las E/S del I-device
De este modo, el programa de usuario y las E/S centralizadas/descentralizadas intercambian
datos de entrada y de salida.
⑤ Intercambio de datos entre el I-device y el dispositivo IO subordinado
De este modo, el I-device y sus dispositivos IO intercambian datos. La transferencia de datos
se realiza a través dePROFINET.

11.2.13.5 Configuración del I-device


Básicamente hay dos posibilidades de configuración:
● Configuración de un I-device en un proyecto
● Configuración de un I-device que se ha usado en otro proyecto o en otro sistema de
ingeniería.
STEP 7 permite configurar un I-device para otro proyecto o para otro sistema de ingeniería
exportando un I-device configurado a un archivo GSD. El archivo GSD se importa en otros
proyectos o sistemas de ingeniería del mismo modo que otros archivos GSD. Las áreas de
transferencia para el intercambio de datos, entre otros datos, se almacenan en este archivo
GSD.

Nota
En caso de utilizar el S7-1200 como shared I-device y como controlador, hay que
asegurarse de aumentar los tiempos de actualización de PROFINET IO y del I-device
PROFINET con el fin de reducir el impacto en el rendimiento de la comunicación. El sistema
es muy estable y funciona bien con un tiempo de actualización de 2 ms para un tiempo de I-
device PROFINET individual y de 2 ms para un tiempo de PROFINET IO individual.

Configuración de un I-device en un proyecto


1. Arrastre y suelte una CPU PROFINET del catálogo de hardware en la vista de red.
2. Arrastre y suelte una CPU PROFINET, que también se puede configurar como un
dispositivo IO, del catálogo de hardware en la vista de red. Este dispositivo se ha
configurado como I-device (por ejemplo, CPU 1215C).
3. Seleccione la interfaz PROFINET para el I-device.
4. En la ventana Inspector del área de navegación, elija "Estado operativo" y seleccione la
casilla de verificación "Dispositivo IO".

Controlador programable S7-1200


948 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

5. Ahora tiene la opción de elegir el controlador IO en la lista desplegable "Controlador IO


asignado".
Una vez que haya elegido el controlador IO, el sistema de conexión en red e IO entre los
dos dispositivos se mostrará en la vista de red.

6. Mediante la casilla de verificación "Parametrización de la interfaz PN por el controlador


IO de nivel superior", se especificará si el propio I-device o bien un controlador IO de
nivel superior asignarán los parámetros de interfaz.
Si utiliza el I-device con un sistema IO subordinado, los parámetros de la interfaz
PROFINET de I-device (por ejemplo, el parámetro de puerto) no se podrán asignar con
el controlador IO de nivel superior.
7. Configure las áreas de transferencia. Las áreas de transferencia se encuentran en el
apartado de navegación del área "Comunicación de I-device":
– Haga clic en el primer campo de la columna "Área de transferencia". STEP 7 asigna
un nombre predeterminado que puede cambiar.
– Seleccione el tipo de relación de comunicación: actualmente solo puede seleccionar
CD o F-CD.
– Las direcciones se preajustan automáticamente; puede corregir las direcciones, si es
necesario, y determinar la longitud del área de transferencia que se transferirá de
forma uniforme.

8. En la navegación local se crea una entrada distinta para cada área de transferencia. Si
selecciona una de estas entradas, podrá ajustar los detalles del área de transferencia o
bien corregirlos y comentarlos.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 949
Comunicación
11.2 PROFINET

Nota
Si se configura un S7-1200 como I-device, el tamaño máximo de un área de transferencia
es de 1024 bytes de entrada o salida. Hay posibles factores de restricción en función de las
E/S locales y de las limitaciones de espacio de direccionamiento en el controlador.

Configuración de un I-device con un archivo GSD


Si utiliza un I-device en otro proyecto o si el I-device se utiliza en otro sistema de ingeniería,
configure el controlador IO de nivel superior y el I-device como se ha descrito más arriba.
Sin embargo, haga clic en el botón "Exportar" después de configurar las áreas de
transferencia para crear un nuevo archivo GSD con el I-device. Este archivo GSD
representa el I-device configurado en otros proyectos.
El botón "Exportar" se encuentra en la sección "Comunicación de I-device" de la ventana de
inspección.
La configuración del hardware se compila y el diálogo de exportación se abre.
Asigne un nombre para el proxy de I-device y una descripción en los campos
proporcionados. Haga clic en el botón "Exportar" para finalizar el proceso.
Finalmente, importe el archivo GSD, por ejemplo, en otro proyecto.

Controlador programable S7-1200


950 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

11.2.14 Dispositivos compartidos

11.2.14.1 Funcionalidad de Shared Device


Muchos controladores IO suelen utilizarse en sistemas de gran tamaño o ampliamente
descentralizados.
Sin la función "Shared Device", cada módulo E/S de un dispositivo IO se asigna al mismo
controlador IO. Si hay sensores que están físicamente cerca unos de otros y deben
suministrar datos a diferentes controladores IO, se requieren varios dispositivos IO.
La función "Shared Device" permite dividir los módulos o submódulos de un dispositivo IO
entre diferentes controladores IO. De esta forma se consiguen conceptos de automatización
flexibles. Así, por ejemplo, existe la posibilidad de combinar módulos E/S que están cerca
unos de otros en un solo dispositivo IO.

① PROFINET
② Asignación lógica

Principio
El acceso a los submódulos del Shared Device se divide entre los diferentes controladores
IO. Cada submódulo del Shared Device está asignado a un solo controlador IO.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 951
Comunicación
11.2 PROFINET

Requisitos (configuración GSD)


● STEP 7 V12 Service Pack 1 o superior
● CPU S7-1200 con firmware V4.1 o superior como controlador IO
● Un dispositivo IO que soporte la funcionalidad de Shared Device, p. ej. un módulo de
interfaz IM 155-5 PN ST
● Un archivo GSD instalado para configurar el dispositivo IO
● Una CPU S7-1200 configurada como I-device que soporte la funcionalidad de Shared
Device. Hay que exportar el archivo GSD PROFINET para el I-device de STEP 7 (V5.5 o
superior) y, seguidamente, importarlo a STEP 7 (TIA Portal).

Configurar el acceso
El dispositivo IO debe estar presente en varios proyectos para que los módulos o
submódulos de un dispositivo IO puedan asignarse a diferentes controladores IO. Se
necesita un proyecto separado para cada controlador IO.
El parámetro "Shared Device" del módulo de interfaz se utiliza para determinar los módulos
o submódulos a los que tiene acceso el controlador IO:
● Si el controlador IO local tiene acceso al módulo configurado, seleccione el nombre del
controlador IO en la lista.
● Si el que debe tener acceso al módulo configurado es el controlador IO de otro proyecto
y no el controlador IO local, seleccione la entrada "---".
La configuración es coherente en cuanto al acceso si cada módulo o submódulo de un
proyecto exactamente está asignado a un controlador IO.

El módulo o submódulo está asignado a otro controlador IO


El párrafo siguiente describe las consecuencias del ajuste "---" en el parámetro "Shared
Device" desde el punto de vista del controlador IO local.
En este caso, el controlador IO local no tiene acceso al módulo configurado de este modo.
En concreto, esto significa lo siguiente:
● No hay intercambio de datos con el módulo o submódulo
● No se reciben alarmas ni diagnósticos, lo que significa que no se muestra el estado de
diagnóstico en la vista online
● No hay asignación de parámetros del módulo o submódulo

Controlador programable S7-1200


952 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Ajuste de las propiedades en tiempo real


STEP 7 calcula la carga de comunicación y, por consiguiente, los tiempos de actualización
resultantes. Hay que introducir el número de controladores IO ajenos al proyecto en el
proyecto en el que la interfaz PROFINET del Shared Device está asignada al controlador IO,
de modo que sea posible realizar un cálculo con las configuraciones del Shared Device.
El número máximo posible de controladores IO para el Shared Device depende del
dispositivo. Dicho número está guardado en el archivo GSD del Shared Device.
Es posible ajustar un tiempo de ciclo de emisión muy corto (de 1 ms como mínimo) con una
CPU S7-1200 como controlador IO. El tiempo de ciclo de emisión puede ser más corto que
el mínimo soportado por el Shared Device. En este caso, el controlador IO hace funcionar el
Shared Device con un tiempo de ciclo de emisión que soporte el primero (adaptación del
tiempo de ciclo de emisión).
Ejemplo: Una CPU soporta tiempos de ciclo de emisión a partir de 1 ms. Un dispositivo IO
configurado soporta tiempos de ciclo de emisión a partir de 1,25 ms; otro dispositivo IO
soporta tiempos de ciclo de emisión a partir de 1 ms. En este caso, existe la posibilidad de
ajustar el tiempo de ciclo de emisión corto, es decir, de 1 ms, para la CPU. La CPU hace
funcionar el dispositivo IO "lento" con el tiempo de ciclo de emisión de 1,25 ms.

Reglas de configuración
● Los controladores IO que utilizan el Shared Device se crean en proyectos distintos. En
cada proyecto hay que asegurarse de que el Shared Device se configure por igual en
cada estación. Solo un controlador IO puede tener acceso completo a un submódulo a la
vez. Las incoherencias en la configuración provocan fallos en el Shared Device.
● Las direcciones E/S de un módulo o submódulo solo pueden editarse si este está
asignado al controlador IO en el mismo proyecto.
● El Shared Device debe tener los mismos parámetros IP y el mismo nombre de dispositivo
en cada proyecto.
● El tiempo de ciclo de emisión debe ser idéntico para todos los controladores IO que
tienen acceso al Shared Device.
● La ID de subred S7 de la subred a la que está conectado el Shared Device debe ser
idéntica en todos los proyectos.
● Las funciones siguientes solo están disponibles si la interfaz PROFINET del Shared
Device está asignada al controlador IO:
– Arranque priorizado
– Asignación de parámetros de las propiedades del puerto

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 953
Comunicación
11.2 PROFINET

Condiciones límite
Las siguientes condiciones límite surgen porque una configuración de Shared Device está
distribuida entre varios proyectos:
● Las direcciones de módulos o submódulos que no están asignados a este controlador IO
faltan en la vista general de direcciones de cada controlador IO que tiene acceso a un
Shared Device.
● Los módulos o submódulos que no están asignados no se tienen en cuenta a la hora de
calcular los límites de la configuración para el Shared Device durante la comprobación
de coherencia. Por este motivo hay que comprobar personalmente que no se excede el
número máximo de submódulos ni el número máximo de datos E/S cíclicos para el
Shared Device. Encontrará información sobre las cantidades máximas en la
documentación de los dispositivos utilizados.
● Los errores en la configuración, como la asignación de un módulo o submódulo a varios
controladores IO, no se detectan en STEP 7.
● Las CPUs que tienen cargada la configuración de un Shared Device no tienen
información acerca de si el dispositivo IO es un Shared Device. Los módulos o
submódulos que están asignados a otros controladores IO y, por tanto, a otras CPUs,
faltan en la configuración cargada. Por este motivo, dichos módulos o submódulos no se
muestran ni en el servidor web de la CPU ni en la pantalla de la CPU.

11.2.14.2 Ejemplo: configurar un Shared Device (configuración GSD)


El presente ejemplo describe cómo configurar un sistema de periferia descentralizada en
forma de Shared Device con STEP 7 V13 SP1 o superior.
Es posible realizar una configuración "descentralizada" con diferentes herramientas de
ingeniería para distintas familias de controladores IO. El procedimiento descrito a
continuación se basa en STEP 7 a partir de V13 SP1 y se limita a la configuración con dos
controladores IO de la serie S7-1200 que comparten un Shared Device.
En el ejemplo se crean dos proyectos con un controlador IO en cada uno:
● Controlador1
● Controlador2
Hay que crear el Shared Device en ambos proyectos, aunque físicamente sea el mismo
dispositivo IO.

Requisitos
● STEP 7 V13 SP1 o superior
● El dispositivo IO soporta la funcionalidad de Shared Device (por ejemplo ET 200SP IM
155-6 PN HF V3.1).
● Hay instalado un archivo GSD para configurar el dispositivo IO como Shared Device.

Controlador programable S7-1200


954 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Procedimiento: Creación del proyecto 1


Para crear el primer proyecto con un Shared Device, proceda del siguiente modo:
1. Inicie STEP 7.
2. Cree un proyecto nuevo con el nombre "Controlador1".
3. Inserte una CPU 1215C del catálogo de hardware en la vista de redes. Póngale por
nombre "Controlador1".
4. Inserte un dispositivo IO con la función "Shared Device" (por ejemplo un ET 200SP) del
catálogo de hardware (catálogo de hardware: Otros dispositivos de campo > PROFINET
IO > IO).
5. Asigne el controlador IO "Controlador1" al dispositivo IO.

6. Haga doble clic en el dispositivo IO e inserte todos los módulos y submódulos necesarios
del catálogo de hardware en la tabla de la vista general de dispositivos.
7. Asigne los parámetros de los módulos.
8. Guarde el proyecto.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 955
Comunicación
11.2 PROFINET

Procedimiento: Creación del proyecto 2


Para crear el segundo proyecto con un Shared Device, proceda del siguiente modo:
1. Inicie STEP 7 de nuevo.
Se abre una instancia nueva de STEP 7.
2. En la instancia nueva, cree un proyecto con el nombre "Controlador2".
3. Inserte una CPU 1215C en la vista de redes. Póngale por nombre "Controlador2".
4. Copie el dispositivo IO del proyecto "Controlador1" e insértelo en la vista de redes del
proyecto "Controlador2".
5. Asigne el controlador IO "Controlador2" al dispositivo IO.

6. Guarde el proyecto.
Ahora, ambos proyectos tienen un dispositivo IO con la misma estructura que debe
configurarse en el paso siguiente para los diferentes tipos de acceso al controlador IO.

Controlador programable S7-1200


956 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Procedimiento: Configuración del acceso al Shared Device


Los módulos y submódulos que se insertan en el Shared Device se asignan
automáticamente a la CPU local. Para cambiar la asignación, proceda del siguiente modo:
1. Seleccione el módulo de interfaz en la vista de redes o dispositivos del proyecto
"Controlador1".
2. Seleccione el área "Shared Device" en la ventana de inspección.
Una tabla muestra qué CPU tiene acceso al respectivo módulo o submódulo para todos
los módulos configurados. El ajuste predeterminado es que la CPU local tiene acceso a
todos los módulos y submódulos.
3. Deje el ajuste "Controlador1" en todos los módulos y submódulos que deben permanecer
en el rango de direcciones de la CPU local.
Seleccione el ajuste "---" en todos los módulos y submódulos que deben encontrarse en
el rango de direcciones de la CPU del proyecto "Controlador2" (Controlador2). Es decir,
un controlador IO que está fuera del proyecto debe tener acceso al módulo o submódulo.

4. Seleccione el módulo de interfaz en la vista de redes o dispositivos del proyecto


"Controlador2".
5. Seleccione el área "Shared Device" en la ventana de inspección.
Una tabla muestra qué CPU tiene acceso al respectivo módulo o submódulo para todos
los módulos configurados.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 957
Comunicación
11.2 PROFINET

6. Seleccione el ajuste "---" en todos los módulos y submódulos que deben encontrarse en
el rango de direcciones de la CPU del proyecto "Controlador1" (Controlador1).

7. Finalmente, compruebe que los ajustes de acceso sean "complementarios" para cada
módulo o submódulo de los dos proyectos. Esto significa que si la CPU local tiene
acceso a un proyecto, la opción "---" debe estar ajustada en el otro proyecto y viceversa.
Nota: la opción "---" para la interfaz PROFINET y, en consecuencia, para los puertos,
convierte los parámetros asociados en solo lectura y no pueden modificarse. Los
parámetros de la interfaz PROFINET y los parámetros de puerto solo pueden editarse en
el proyecto en el que la interfaz PROFINET está asignada a la CPU local. Los puertos
pueden interconectarse en ambos proyectos con independencia de ello.
8. Compruebe que estén ajustados los mismos parámetros de dirección IP y el mismo
nombre de dispositivo para el Shared Device en todos los proyectos.
Asegúrese de que esté ajustada la misma ID de subred S7 en todos los proyectos para
la subred a la que está conectado el Shared Device (propiedades de subred, área
"General" en la ventana de inspección).

Nota
Si realiza cambios en el Shared Device: haga los mismos cambios en cada proyecto para el
Shared Device. Asegúrese de que solo un controlador IO tiene acceso a un módulo o
submódulo.

Controlador programable S7-1200


958 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Procedimiento: Adaptación de los ajustes de tiempo real


Para asegurarse de que todos los controladores IO y Shared Devices funcionan con el
tiempo de ciclo de emisión adecuado y que los tiempos de actualización se han calculado
correctamente según la carga de comunicación, es necesario adaptar y comprobar los
ajustes siguientes:
1. Seleccione el proyecto cuyos controladores IO tengan acceso a la interfaz PROFINET y
los puertos del Shared Device.
2. Seleccione el módulo de interfaz del Shared Device en la vista de redes.
3. En la ventana de inspección, navegue hasta el área "Interfaz PROFINET > Opciones
avanzadas > Configuración en tiempo real > Ciclo IO".
4. En el área "Shared Device", ajuste el número de controladores IO que estén fuera del
proyecto. El número máximo depende del dispositivo IO (especificación en el archivo
GSD).
5. Hay que ajustar el mismo tiempo de ciclo de emisión para cada controlador IO que tenga
acceso a los módulos y submódulos del Shared Device:
● Si se configura el controlador IO con STEP 7 (TIA Portal):
– Abra el proyecto correspondiente.
– Seleccione la interfaz PROFINET del controlador IO.
– Seleccione el área "Opciones avanzadas > Configuración en tiempo real >
Comunicación IO" de la ventana de inspección y ajuste el tiempo de ciclo de emisión
compartido.
● Si se configura el controlador IO con otra herramienta de ingeniería:
– Seleccione la interfaz PROFINET del Shared Device en STEP 7 (TIA Portal) y lea el
tiempo de ciclo de emisión en el Shared Device (área "Opciones avanzadas >
Configuración en tiempo real").
– Introduzca el tiempo de ciclo de emisión leído en la herramienta de ingeniería.

Nota
Si se configuran todos los controladores IO que tienen acceso al Shared Device en STEP 7
(TIA Portal), es posible ajustar tiempos de ciclo de emisión más cortos en el controlador IO
que los que soporta el Shared Device (adaptación del tiempo de ciclo de emisión).

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 959
Comunicación
11.2 PROFINET

Compilación y carga
Hay que compilar las configuraciones de los diferentes controladores IO y cargarlas
seguidamente en las CPUs una tras otra.
Debido a la configuración descentralizada con proyectos separados, STEP 7 no emite
errores de coherencia en caso de que la asignación de parámetros de acceso sea
incorrecta. He aquí ejemplos de asignación incorrecta de parámetros de acceso:
● Varios controladores IO tienen acceso al mismo módulo
● Los parámetros de dirección IP y los tiempos de ciclo de emisión no son idénticos
Estos errores no se muestran hasta que el controlador funciona y se muestran como errores
de configuración.

11.2.14.3 Ejemplo: Configuración de un I-device como un Shared Device


El presente ejemplo describe cómo configurar un S7-1200 como un I-device con la versión
V13 SP1 o superior de STEP 7 y utilizarlo a continuación en dos proyectos como Shared
Device.
Es posible realizar una configuración "descentralizada" con diferentes herramientas de
ingeniería para distintas familias de controladores IO. El procedimiento descrito a
continuación se basa en STEP 7 V13 SP1 y se limita a una configuración con dos
controladores IO de la familia S7-1200 que comparten las áreas de transferencia de un I-
device como Shared Device. El I-device es una CPU 1215C.
En el ejemplo se crean tres proyectos con un controlador IO en cada uno:
● I-device S7-1200
● Controlador1
● Controlador2
El proyecto I-device S7-1200 se utiliza para configurar el I-device. La variante PROFINET
GSD del I-device S7-1200 se utiliza en los proyectos Controlador1 y Controlador2 para
asignar las áreas de transferencia en el respectivo controlador IO de nivel superior.

Concepto de Shared I-device


El concepto de Shared I-device requiere como mínimo tres proyectos separados:
● Proyecto I-device: se configura y programa un I-device para llevar a cabo una tarea de
automatización concreta. Las áreas de transferencia se definen como interfaz E/S para
los controladores de nivel superior y se asignan a diferentes controladores IO. Para la
conexión de controladores IO de nivel superior se proporciona un archivo PROFINET
GSD y se utilizan las áreas de transferencia para acceder al I-device.
● Controladores que comparten el I-device (dos proyectos): el I-device se utiliza como
variante PROFINET GSD durante la configuración del sistema PROFINET IO y, durante
este proceso, se especifican las direcciones E/S con las que los controladores IO
acceden a las áreas de transferencia.

Controlador programable S7-1200


960 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Nota
Si se configura un S7-1200 como I-device, el tamaño máximo de un área de transferencia
es de 1024 bytes de entrada o salida. Hay posibles factores de restricción en función de las
E/S locales y de las limitaciones de espacio de direccionamiento en el controlador.

I-device
Los parámetros siguientes se asignan a una CPU S7-1200 como I-device:
● Periferia centralizada y descentralizada
● Áreas de transferencia deseadas
● Número de controladores IO que tienen acceso a este I-device (siempre mayor que 1
para un Shared Device)

Nota
El I-device se configura sin un controlador IO de nivel superior. Como consecuencia, solo es
posible utilizar las direcciones E/S locales del área de transferencia (equivale a la "Dirección
del I-device") para crear el programa de usuario y editar las direcciones desde el área de
transferencia. El I-device se descarga en la CPU S7-1200 completamente configurado, a
excepción de la conexión con el controlador IO de nivel superior.

Un archivo PROFINET GSD se exporta desde la configuración del I-device.

Controladores que comparten el I-device


Hay que instalar el archivo PROFINET GSD creado a partir de la configuración del I-device
en todos los sistemas de ingeniería que se utilizan para configurar un sistema PROFINET
IO con este Shared I-device. Si se configuran todos los usos de este I-device con STEP 7
V13 SP1 bastará con instalar el archivo GSD en STEP 7.
El I-device se configura como variante GSD en el sistema PROFINET IO de los proyectos
correspondientes. En STEP 7 V13 SP1 encontrará este I-device en "Otros dispositivos de
campo > PROFINET IO > PLCs y CPs" después de la instalación.
En cada uno de los proyectos se asignan áreas de transferencia únicamente a los
controladores IO de nivel superior (ajuste predeterminado: todos). Las demás áreas de
transferencia se ponen a "---" (no asignadas). De este modo, el controlador IO local no
puede acceder a esta área de transferencia, de modo que puede asignarse a otro
controlador IO de otro proyecto.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 961
Comunicación
11.2 PROFINET

Requisitos
● STEP 7 V13 SP1 o superior
● El dispositivo IO soporta la funcionalidad de Shared Device (por ejemplo ET 200SP IM
155-6 PN HF V3.1).
● Hay instalado un archivo GSD para configurar el dispositivo IO como Shared Device.

Procedimiento: Creación del proyecto I-device S7-1200


Para crear el proyecto con un Shared I-device, proceda del siguiente modo:
1. Inicie STEP 7.
2. Cree un proyecto nuevo con el nombre "I-device S7-1200".
3. Inserte una CPU 1215C del catálogo de hardware en la vista de redes. Póngale el
nombre "I-device S7-1200".

4. Haga doble clic en el dispositivo IO y configure todos los módulos y submódulos


necesarios.

Controlador programable S7-1200


962 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

5. Asigne los parámetros de los módulos. Concretamente, deben configurarse los ajustes
siguientes para la CPU en el área de la interfaz PROFINET [X1]:
– Active la opción "Dispositivo IO" en el área "Modo de operación".

– Configure las áreas de transferencia en el área "Modo de operación" > "Configuración


del I-device". La columna "Dirección en el controlador IO" queda vacía porque no hay
ningún controlador IO asignado.

Nota: Para cambiar un área de entrada a un área de salida y viceversa, hay que
navegar hasta el área de la correspondiente área de transferencia.
– Seleccione el número de controladores IO (como mínimo dos) que accederán al
Shared I-device durante el funcionamiento ("Modo de operación" > área
"Configuración en tiempo real" > área "Shared Device").

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 963
Comunicación
11.2 PROFINET

6. Guarde el proyecto.
7. Haga clic en el botón "Exportar" ("Modo" > área "Configuración del I-device", sección
"Exportar archivo de descripción de estación general (GSD)"). Si no se cambia el nombre
en el cuadro de diálogo Exportar, el archivo GSD utiliza un nombre de formato asignado
(por ejemplo "GSDML-V2.31-#Siemens-PreConf_S7-1200-I-Device-20130925-123456").

Procedimiento: Creación del proyecto Controlador1


Para crear el primer proyecto con un Shared I-device, proceda del siguiente modo:
1. Inicie STEP 7.
2. Instale el archivo PROFINET GSD procedente de la exportación de la CPU I-device (I-
device S7-1200).

3. Cree un proyecto nuevo con el nombre "Controlador1".


4. Inserte la CPU 1215C en la vista de redes. El nombre de la CPU debería ser
"Controlador1".
5. Inserte el I-device desde el catálogo de hardware (catálogo de hardware: Otros
dispositivos de campo > PROFINET IO > PLCs y CPs).

Controlador programable S7-1200


964 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

6. Asigne el controlador IO "Controlador1" al I-device.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 965
Comunicación
11.2 PROFINET

7. Seleccione el área "Shared Device" en las propiedades del I-device:


– En la tabla, todas las áreas de transferencia y la interfaz PROFINET se asignan al
controlador IO local (Controlador1).
– Defina las áreas de transferencia a las que la CPU Controlador1 no debe tener
acceso. Seleccione la entrada "---" para dichas áreas. Estas áreas de transferencia
están previstas para el Controlador2.

Controlador programable S7-1200


966 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

8. Las direcciones pueden adaptarse desde la vista de dispositivos del controlador IO en la


vista general de dispositivos. Para abrir la vista general de dispositivos haga doble clic en
el I-device.

9. Guarde el proyecto.

Procedimiento: Creación del proyecto Controlador2


Para crear el segundo proyecto con un Shared Device, proceda del siguiente modo:
1. Inicie STEP 7 de nuevo.
Se abre una instancia nueva de STEP 7.
2. En la instancia nueva, cree un proyecto con el nombre "Controlador2".
3. Inserte la CPU 1215C en la vista de redes. Póngale el nombre "Controlador2".
4. Inserte el I-device desde el catálogo de hardware (catálogo de hardware: Otros
dispositivos de campo > PROFINET IO > PLCs y CPs).
5. Asigne el controlador IO "Controlador2" al I-device.
6. Adapte el acceso a las áreas de transferencia igual que en el proyecto Controlador 1.
Asegúrese de que no haya asignaciones duplicadas.
7. Adapte los parámetros de la subred y la interfaz PROFINET. Puesto que el Shared I-
device es el mismo dispositivo en diferentes proyectos, estos datos deben coincidir.
8. Guarde el proyecto.
Ahora, ambos proyectos tienen un Shared I-device con la misma configuración. El acceso
del controlador IO y los parámetros de la interfaz PROFINET deben comprobarse aún en los
distintos proyectos durante el paso siguiente.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 967
Comunicación
11.2 PROFINET

Resumen: asignar parámetros para acceder al Shared Device


Las áreas de transferencia se asignan automáticamente al controlador IO local. Para
cambiar la asignación, proceda del siguiente modo:
1. Haga clic en el dispositivo "I-device S7-1200" en la vista de redes del proyecto
"Controlador1" y seleccione el área "Shared Device".
2. Una tabla muestra qué CPU tiene acceso a cada una de las áreas de transferencia
configuradas. El ajuste predeterminado es que la CPU local tiene acceso a todos los
módulos y submódulos.
3. Deje el ajuste "Controlador1" en todas las áreas de transferencia que deben permanecer
en el rango de direcciones de la CPU local.
Seleccione el ajuste "---" en todas las áreas de transferencia que deben encontrarse en
el rango de direcciones de la CPU "Controlador2" del proyecto "Controlador2". Es decir,
un controlador IO que está fuera del proyecto debe tener acceso al área de
transferencia.
4. Repita el mismo procedimiento para los proyectos restantes.
5. Finalmente, compruebe que los ajustes de acceso sean "complementarios" para cada
módulo o submódulo de los dos proyectos. Esto significa que si la CPU local tiene
acceso a un proyecto, la opción "---" debe estar ajustada en el otro proyecto y viceversa.
Nota: la opción "---" para la interfaz PROFINET y, en consecuencia, para los puertos,
convierte los parámetros asociados en solo lectura y no pueden modificarse. Los
parámetros de la interfaz PROFINET y los parámetros de puerto solo pueden editarse en
el proyecto en el que la interfaz PROFINET está asignada a la CPU local. Los puertos
pueden interconectarse en ambos proyectos con independencia de ello.
6. Compruebe que estén ajustados los mismos parámetros de dirección IP y el mismo
nombre de dispositivo para el Shared Device en todos los proyectos.
Asegúrese de que esté ajustada la misma ID de subred S7 en todos los proyectos para
la subred a la que está conectado el Shared Device (propiedades de subred, área
"General" en la ventana de inspección).

Nota
Si realiza cambios en el I-device (por ejemplo en el número o la longitud de las áreas de
transferencia), exporte el I-device de nuevo como archivo GSD. Vuelva instalar el archivo
GSD en cada proyecto que utilice el I-device como Shared Device. Asegúrese de que solo
un controlador IO tiene acceso a un área de transferencia.

Nota
En caso de utilizar el S7-1200 como shared I-device y como controlador, hay que
asegurarse de aumentar los tiempos de actualización de PROFINET IO y del I-device
PROFINET con el fin de reducir el impacto en el rendimiento de la comunicación. El sistema
es muy estable y funciona bien con un tiempo de actualización de 2 ms para un tiempo de I-
device PROFINET individual y de 2 ms para un tiempo de PROFINET IO individual.
Los parámetros del "Ciclo IO" se especifican en el cuadro de diálogo de configuración
"Propiedades" del I-device PROFINET o del dispositivo PROFINET IO. Encontrará más
información en "Configurar el tiempo de ciclo IO" (Página 940).

Controlador programable S7-1200


968 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Procedimiento: Adaptación de los ajustes de tiempo real


Para asegurarse de que todos los controladores IO y Shared Devices funcionan con el
tiempo de ciclo de emisión adecuado y que los tiempos de actualización se han calculado
correctamente según la carga de comunicación, es necesario adaptar y comprobar los
ajustes siguientes:
1. Hay que ajustar el mismo tiempo de ciclo de emisión para cada controlador IO que tenga
acceso a los módulos y submódulos del Shared Device:
● Si se configura el controlador IO con STEP 7 (TIA Portal), proceda del siguiente modo:
– Abra el proyecto correspondiente.
– Seleccione la interfaz PROFINET del controlador IO.
– Seleccione el área "Opciones avanzadas > Configuración en tiempo real >
Comunicación IO" de la ventana de inspección y ajuste el tiempo de ciclo de emisión
compartido.
● Si se configura el controlador IO con otra herramienta de ingeniería, proceda del
siguiente modo:
– Seleccione la interfaz PROFINET del Shared Device en STEP 7 (TIA Portal) y lea el
tiempo de ciclo de emisión en el Shared Device (área "Opciones avanzadas >
Configuración en tiempo real").
– Introduzca el tiempo de ciclo de emisión leído en la herramienta de ingeniería.

Nota
Si se configuran todos los controladores IO que tienen acceso al Shared I-device en STEP 7
(TIA Portal), es posible ajustar tiempos de ciclo de emisión más cortos en el controlador IO
que los que soporta el Shared Device (adaptación del tiempo de ciclo de emisión).

Compilación y descarga
Hay que compilar las configuraciones de los diferentes controladores IO y descargarlas
seguidamente en las CPUs una tras otra.
Debido a la configuración descentralizada con proyectos separados, STEP 7 no emite
errores de coherencia en caso de que la asignación de parámetros de acceso sea
incorrecta. He aquí ejemplos de asignación incorrecta de parámetros de acceso:
● Varios controladores IO tienen acceso al mismo módulo.
● Los parámetros de dirección IP y los tiempos de ciclo de emisión no son idénticos.
Estos errores no se muestran hasta que el controlador funciona y se muestran como errores
de configuración.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 969
Comunicación
11.2 PROFINET

11.2.15 Media Redundancy Protocol (MRP)


Las siguientes CPU S7-1200 V4.2.x soportan operaciones como cliente MRP, pero no
asumen la función de administrador MRP:
● CPU 1215C
● CPU 1217C
● CPU 1215FC
Las tres CPU S7-1200 tienen dos puertos PN necesarios para el protocolo MRP y los
parámetros de configuración que se utilizan para inicializar la operación de cliente MRP.

11.2.15.1 Redundancia de medios con topologías en anillo


Con el fin de aumentar la disponibilidad de una red Industrial Ethernet con topologías de bus
lineal ópticas o eléctricas, existe la posibilidad de convertir una topología de bus lineal en
una topología en anillo uniendo los extremos.
Los dispositivos de una topología en anillo pueden ser dispositivos IO, controladores IO,
switches externos y/o los switches integrados de los módulos de comunicación.
Para configurar una topología en anillo con redundancia de medios hay que unir los dos
extremos libres de una topología de bus linean en un dispositivo. Para cerrar la topología de
bus lineal y formar un anillo se necesitan dos puertos (puertos en anillo) de un dispositivo
del anillo. Seguidamente, un dispositivo del anillo creado asume la función de administrador
MRP. Todos los demás dispositivos del anillo son clientes MRP.

① Administrador MRP
② Frames de prueba
③ Clientes MRP

Controlador programable S7-1200


970 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Los puertos en anillo de un dispositivo son los que establecen la conexión con los dos
dispositivos vecinos en la topología en anillo. Los puertos en anillo se seleccionan y ajustan
en la configuración del dispositivo en cuestión (dado el caso está predefinido).

Funcionamiento de la redundancia de medios en una topología en anillo


El recorrido de los datos entre los diferentes dispositivos se reconfigura automáticamente si
el anillo queda interrumpido en algún punto. Los dispositivos vuelven a estar disponibles
después de la reconfiguración.
En el administrador MRP, uno de los dos puertos en anillo se bloquea en el funcionamiento
de red continuo para la comunicación normal, de modo que los frames de datos no circulan
continuamente. Desde el punto de vista de la transmisión de datos, la topología en anillo es
una topología de bus lineal. El administrador MRP comprueba que no haya interrupciones
en el anillo. Lo hace enviando frames de prueba desde el puerto en anillo 1 y el puerto en
anillo 2. Los frames de prueba circulan por el anillo en ambos sentidos hasta que llegan al
otro puerto en anillo del administrador MRP.
El anillo puede interrumpirse por la pérdida de la conexión entre dos dispositivos o por el
fallo de un dispositivo del anillo.
Si los frames de prueba del administrador MRP dejan de llegar al otro puerto en anillo
durante una interrupción del anillo, el administrador MRP conecta sus dos puertos en anillo.
Esta ruta alternativa vuelve a establecer una conexión operativa entre todos los dispositivos
restantes en forma de topología de bus lineal.
El tiempo que transcurre entre la interrupción del anillo y el restablecimiento de una
topología lineal operativa se conoce como tiempo de reconfiguración.
En cuanto se elimina la interrupción, se recupera la ruta de transmisión original, los dos
puertos en anillo del administrador MRP se desconectan y los clientes MRP son informados
del cambio. Seguidamente, los clientes MRP vuelven a utilizar el recorrido original hacia los
otros dispositivos.

Método de redundancia de medios


El método estándar de redundancia de medios en SIMATIC es el Media Redundancy
Protocol (MRP) con un tiempo de reconfiguración típico de 200 ms. En un anillo pueden
participar hasta 50 dispositivos.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 971
Comunicación
11.2 PROFINET

11.2.15.2 Uso de Media Redundancy Protocol (MRP)


El proceso "MRP" funciona de conformidad con el Media Redundancy Protocol (MRP), que
está especificado en IEC 61158 tipo 10 "PROFINET".

Requisitos
Para que MRP funcione correctamente deben cumplirse los requisitos siguientes:
● El anillo en el que debe usarse MRP debe estar formado únicamente por dispositivos que
soporten esta función.
● "MRP" debe estar activado para todos los dispositivos del anillo.
● Todos los dispositivos deben estar interconectados con sus puertos en anillo.
● Debe haber al menos un administrador MRP (función "Manager (Auto)") disponible.
● El anillo no debe contener más de 50 dispositivos. En caso contrario pueden darse
tiempos de reconfiguración de 200 ms o más.
● Todos los puertos interlocutores dentro de los anillos deben tener los mismos ajustes.

Topología
El esquema siguiente muestra una posible topología para dispositivos de un anillo con MRP.
Los dispositivos que están dentro del óvalo ensombrecido están en el dominio de
redundancia.
Este es un ejemplo de una topología en anillo con MRP:

Controlador programable S7-1200


972 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Las reglas siguientes rigen para una topología en anillo con redundancia de medios que
utiliza MRP:
● Todos los dispositivos del anillo forman parte del mismo dominio de redundancia.
● Un dispositivo del anillo tiene la función de administrador MRP.
● Todos los demás dispositivos del anillo son clientes MRP.
Es posible conectar a la red dispositivos no aptos para MRP a través de puertos que no
estén configurados como puertos en anillo. Solo puede hacerse con dispositivos que tienen
más de dos puertos (p. ej. un switch SCALANCE X o un PC con un CP1616).

Condiciones límite
Existen las siguientes posibilidades de comunicación:
● MRP y RT: RT puede utilizarse junto con MRP.

Nota
La comunicación RT se interrumpe (fallo de estación) si el tiempo de reconfiguración del
anillo es mayor que el tiempo de supervisión de respuesta seleccionado para el
dispositivo IO. Hay que seleccionar un tiempo de supervisión de respuesta mayor que
200 ms para los dispositivos IO. Encontrará más información en el apartado inferior
"Tiempo de supervisión de respuesta".

● MRP y TCP/IP (TSEND, HTTP, ...): la comunicación TCP/IP con MRP es posible porque
los paquetes de datos perdidos se reenvían, dado el caso.
● MRP y arranque priorizado:
– si se configura MRP en un anillo no es posible utilizar la función "arranque priorizado"
en aplicaciones PROFINET para los dispositivos implicados.
– Si desea utilizar la función "arranque priorizado" hay que desactivar MRP en la
configuración (el dispositivo no puede formar parte del anillo).
● MRP en dispositivos PROFINET con más de dos puertos: si se utiliza un dispositivo
PROFINET con más de dos puertos en un anillo, debe establecerse un límite de
sincronización en los puertos que no están en el anillo. Cuando se ajusta el límite de
sincronización se define un límite para un dominio Sync. No es posible enviar frames de
sincronización transmitidos para sincronizar dispositivos dentro de un dominio Sync.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 973
Comunicación
11.2 PROFINET

Tiempo de supervisión de respuesta


El tiempo de supervisión de respuesta es el intervalo de tiempo que un controlador IO o
dispositivo IO deja pasar sin recibir datos IO. Si el controlador IO no suministra datos al
dispositivo IO dentro del tiempo de supervisión de respuesta, el dispositivo detecta los
frames que faltan y emite valores sustitutivos. Esto se notifica al controlador IO como fallo
de estación.
El tiempo de supervisión de respuesta para dispositivos PROFINET IO puede configurarse.
El tiempo de supervisión de respuesta no debe introducirse directamente, sino como
"Número aceptado de ciclos de actualización cuando faltan datos IO". El tiempo de
supervisión de respuesta resultante se calcula automáticamente a partir del número de
ciclos de actualización.
Para asignar el tiempo de supervisión de respuesta, proceda del siguiente modo:
1. Seleccione la interfaz PROFINET del dispositivo IO en la vista de redes o de dispositivos.
2. En las propiedades de la interfaz navegue hasta: Opciones avanzadas > Configuración
en tiempo real > Ciclo IO
3. Seleccione el número necesario de ciclos en la lista desplegable.

Controlador programable S7-1200


974 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

11.2.15.3 Configurar la redundancia de medios


Todos los componentes de la aplicación deben ser compatibles con Media Redundancy
Protocol (MRP).

Procedimiento
Para configurar la redundancia de medios, proceda del siguiente modo:
1. Cree un anillo interconectando los puertos de la forma conveniente (p. ej. en la vista
topológica).
2. Seleccione un dispositivo PROFINET para el que desee configurar la redundancia de
medios.
3. En la ventana de inspección, navegue hasta "Interfaz PROFINET [X1]" > "Opciones
avanzadas" > "Redundancia de medios".

4. En "Función de redundancia de medios", asigne al dispositivo la función "Manager


(Auto)", "Cliente" o "No es estación del anillo".
Cuando se configura un anillo en la vista topológica del TIA Portal, el TIA Portal se
encarga automáticamente de asignar la función de redundancia de medios. Si un
dispositivo puede ser administrador, el TIA Portal ajusta la función de redundancia de
medios en "Manager (Auto)". Para el S7-1200, la función de redundancia de medios se
ajusta automáticamente a "Cliente".

Nota
No es posible asignar la función de redundancia de medios "Manager (Auto)" a la CPU
S7-1200.

5. Repita los pasos 2 a 4 para todos los dispositivos PROFINET del anillo.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 975
Comunicación
11.2 PROFINET

O bien:
1. Seleccione el sistema PROFINET IO en la vista de redes.
2. Haga clic en el sistema PROFINET IO.
3. Navegue hasta el dispositivo del dominio MRP requerido en la ventana de inspección.

4. Asigne a los dispositivos PROFINET la función "Manager (Auto)", "Cliente" o "No es


estación del anillo".

Nota
No es posible asignar la función MRP "Manager (Auto)" a la CPU S7-1200.

Opción de ajuste "Redundancia de medios": función MRP


Según sea el dispositivo utilizado están disponibles las funciones "Manager", "Manager
(Auto)", "Cliente" y "No es estación del anillo".
Reglas:
● En un anillo solo puede haber un dispositivo que tenga la función "Manager". No puede
haber más dispositivos con la función "Manager" o "Manager (Auto)". Todos los demás
dispositivos del anillo solo pueden tener la función "Cliente". Los dispositivos que no
estén en el anillo pueden tener la función "No es estación del anillo".
● Si en el anillo no hay ningún dispositivo con la función "Manager", debe haber al menos
uno que tenga la función "Manager (Auto)". En un anillo puede haber un número
cualquiera de dispositivos con las funciones "Cliente" y "Manager (Auto)".

Controlador programable S7-1200


976 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

Nota
No es posible asignar las funciones MRP "Manager" o "Manager (Auto)" a la CPU S7-1200.

Opción de ajuste "Redundancia de medios": puerto en anillo 1 y puerto en anillo 2


Seleccione uno a uno los puertos que desee configurar como puerto en anillo 1 o puerto en
anillo 2. El cuadro de la lista desplegable muestra la selección de puertos posibles para
cada tipo de dispositivo. Si los puertos están ajustados de fábrica, los campos no están
disponibles.

Nota
En el S7-1200 no es necesario configurar los puertos en anillo, porque la CPU S7-1200 solo
tiene dos puertos.

Alarmas de diagnóstico
Si en la CPU local deben visualizarse alarmas de diagnóstico relacionadas con el estado de
MRP, seleccione la casilla de verificación "Alarmas de diagnóstico". Es posible configurar
las siguientes alarmas de diagnóstico:
● Error de cableado o de puerto:
La CPU genera alarmas de diagnóstico para los errores siguientes en los puertos en
anillo:
– Un vecino del puerto en anillo no soporta MRP.
– Un puerto en anillo está conectado a un puerto que no es del anillo.
– Un puerto en anillo está conectado al puerto en anillo de otro dominio MRP.
● Interrupción / retorno (solo administrador MRP):
Si el anillo está interrumpido y se recupera la configuración original, la CPU genera
alarmas de diagnóstico. Si estas dos alarmas se producen en un intervalo de 0,2
segundos, significa que el anillo está interrumpido.
Es posible responder a estos eventos en el programa de usuario programando la respuesta
adecuada en el OB de alarma de diagnóstico (OB 82).

Nota
Dispositivos de terceros como administrador MRP
Para garantizar un funcionamiento correcto cuando se utiliza un dispositivo de terceros
como administrador MRP, hay que asignar la función fija "Cliente" a todos los demás
dispositivos del anillo antes de cerrarlo. En caso contrario, podrían darse frames de datos
circulantes y fallos de red.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 977
Comunicación
11.2 PROFINET

11.2.16 Routing S7
Desde la vista de redes de STEP 7 existe la posibilidad de crear una topología de
comunicación compleja conectando dispositivos en diferentes subredes S7. Es posible
conectar CPU y CP clásicos, así como las últimas versiones de CPU y CP S7, además de
incluir estaciones HMI y PC como un servidor OPC.
Una vez haya decidido los dispositivos que deben comunicarse y haya realizado las
conexiones necesarias en STEP 7, el sistema de ingeniería (ES) puede descargar las tablas
de routing correspondientes en los diferentes routers S7 como parte de la configuración
hardware. Tras descargar las tablas de routing en los diferentes routers S7, el ES u otros
interlocutores de la comunicación pueden comunicarse con cada uno de los dispositivos,
aunque estos estén en subredes S7 distintas. Esto es posible porque las CPU y/o los CP
actúan como routers S7. Las CPU y/o los CP reenvían peticiones de conexión entrantes al
próximo router S7 hasta que la petición de conexión llega al dispositivo de destino y este
establece la conexión S7.
La CPU utiliza el mecanismo de escribir registro para transferir las tablas de routing que
necesitan los dispositivos CP en la base local. Las tablas de routing establecen la ruta de un
dispositivo a otro en el momento de producirse una petición de conexión que incluye una ID
de subred S7 remota. El dispositivo que recibe la petición de conexión consulta su tabla de
routing, busca la estación más cercana en el recorrido hasta la subred S7 de destino y
reenvía la petición de conexión. Finalmente, la petición de conexión llega al destino previsto
y la respuesta recorre la ruta en sentido inverso.
Las CPU S7-1200 tienen una sola interfaz PN y un máximo de tres dispositivos CP
conectados al bus de comunicación local. Por tanto, hay dos opciones de routing dentro de
la estación S7-1200:
● Routing entre la CPU y un CP
● Routing de un CP a otro CP
Consulte los CP S7-1200 en el soporte de producto de Siemens Industry Online Support si
desea más información sobre todos los CP S7-1200 que soportan la función de routing S7.
El CP 1243-1 (https://support.industry.siemens.com/cs/es/es/view/584459) se utiliza como
ejemplo de búsqueda de módulos CP con capacidades de routing S7.

Controlador programable S7-1200


978 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

11.2.16.1 Routing S7 entre interfaces de CPU y CP


Puesto que las CPU S7-1200 están limitadas a una sola interfaz PN, una CPU autónoma no
puede adoptar la función de router. No es posible conectar una CPU autónoma a más de
una subred S7 a la vez. Cuando se instalan módulos CP en la base local de la CPU, se
obtiene la posibilidad de conectarla a varias subredes S7 y utilizar el routing.
En el sistema de ejemplo que se muestra más abajo, el sistema de ingeniería (ES) debe
enrutar mensajes a través del PLC_2 para que el PLC_1 pueda comunicarse con el PLC_3.
El ES debe descargar la tabla de routing del PLC_2 y este debe suministrar la tabla de
routing del módulo CP en su base local. Cuando estas tablas de routing están en su sitio, el
PLC_1 y el PLC_3 pueden comunicarse entre sí aunque no estén conectados directamente.

Con el fin de comprobar el routing de una subred S7 a otra, el PLC_1 debe establecer una
conexión de transporte con el PLC_3 y este debe establecer una conexión con el PLC_1. De
este modo se garantiza que son posibles tanto el routing de la interfaz PN/IE del PLC a un
módulo CP como de un módulo CP a la interfaz PN/IE del PLC.

11.2.16.2 Routing S7 entre dos interfaces de CP


Puesto que las CPU S7-1200 soportan un máximo de tres módulos CP, estos tres módulos
pueden conectarse a diferentes subredes S7. Cuando se instalan al menos dos módulos CP
en la base local de la CPU y se conectan a diferentes subredes S7, es posible utilizar el
routing.
En el sistema de ejemplo que se muestra más abajo, el sistema de ingeniería (ES) debe
enrutar mensajes en el PLC_2, desde el módulo CP hasta el módulo CP en su base local,
para que el PLC_1 pueda comunicarse con el PLC_3. El ES debe descargar la tabla de
routing del PLC_2 y este debe suministrar la tabla de routing de los dos módulos CP.
Cuando estas tablas de routing están en su sitio, el PLC_1 y el PLC_3 pueden comunicarse
entre sí aunque no estén conectados directamente. Además, el routing tiene lugar desde el
módulo CP hasta el módulo CP sin que se envíen mensajes a través de la interfaz PN/IE del
PLC_2.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 979
Comunicación
11.2 PROFINET

11.2.17 Desactivar SNMP


Simple Network Management Protocol (SNMP) es un protocolo estándar de Internet para
recopilar y organizar información relacionada con dispositivos administrados en redes IP y
para modificar dicha información con el fin de cambiar el comportamiento del dispositivo.
Los dispositivos que soportan típicamente SNMP son, entre otros, routers, switches,
servidores, estaciones de trabajo, impresoras y racks de módems.
SNMP se utiliza ampliamente en sistemas de gestión de redes para supervisar las
condiciones de los dispositivos conectados en red que merecen atención administrativa.
SNMP utiliza diferentes servicios y herramientas para detectar y diagnosticar la topología de
red. La información sobre las propiedades de los dispositivos aptos para SNMP está incluida
en los archivos MIB (Management Information Base), para los que el usuario necesita los
derechos adecuados. SNMP presenta datos administrativos en forma de variables sobre los
sistemas administrados que describen la configuración del sistema. Estas variables pueden
ser consultadas (y a veces ajustadas) por aplicaciones administrativas.
SNMP utiliza el protocolo de transporte UDP y tiene dos componentes de red:
● Administrador SNMP: supervisa los nodos de la red
● Cliente SNMP: recopila la diferente información específica de la red en los nodos de red
y la guarda de forma estructurada en la MIB (Management Information Base). Estos
datos permiten realizar diagnósticos detallados de la red.
En determinadas condiciones, la aplicación puede solicitar que se desactive SNMP. Algunos
ejemplos de estas condiciones son los siguientes:
● Los ajustes de seguridad de la red no permiten el uso de SNMP.
● Se utiliza una solución SNMP propia (p. ej. con instrucciones de comunicación propias).
Si se desactiva SNMP para un dispositivo, algunas opciones de diagnóstico de la topología
de red dejarán de estar disponibles (p. ej. el uso de la herramienta PRONETA o el servidor
web de la CPU).

Controlador programable S7-1200


980 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

11.2.17.1 Desactivar SNMP

Desactivar SNMP
Siga estos pasos para desactivar SNMP en la CPU S7-1200:
1. Cree un bloque de datos clásico (DB):

2. Seleccione las propiedades del DB que acaba de crear.


3. Seleccione la ficha "Atributos". Deseleccione la casilla de verificación "Acceso optimizado
al bloque":

4. Haga clic en el botón "Aceptar".


Aparece un aviso indicando que debe volver a compilarse el programa. Compile el
programa ahora.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 981
Comunicación
11.2 PROFINET

5. En la interfaz de bloque del DB clásico, cree las siguientes variables estáticas con los
valores mostrados. Dichas variables se utilizarán en el programa para desactivar la
implementación interna de SNMP:

6. En el OB de arranque (OB100), agregue las variables temporales tal como se muestra:

7. Desde el editor KOP, inserte una etiqueta (etiqueta de salto) (en el ejemplo que se
muestra la etiqueta se denomina "Check") y una instrucción WRREC (Escribir registro)
con las entradas y salidas indicadas en el segmento 1 del OB de arranque (OB100):

8. Inserte el siguiente código de bucle y verificación con la salida Etiqueta de salto (JMP). El
código hace que finalice la llamada y se desactive SNMP antes de salir del OB de
arranque:

Controlador programable S7-1200


982 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.2 PROFINET

11.2.18 Diagnóstico
Consulte "Bloques de organización (OB)" (Página 94) para obtener información sobre cómo
usar bloques de organización (OB) para el diagnóstico con estas redes de comunicaciones.

11.2.19 Instrucciones E/S descentralizadas


Consulte "E/S descentralizadas (PROFINET, PROFIBUS o AS-i)" (Página 389) para obtener
información sobre cómo utilizar las instrucciones de E/S descentralizadas con estas redes
de comunicación.

11.2.20 Instrucciones de diagnóstico


Consulte "Diagnóstico (PROFINET o PROFIBUS)": "Instrucciones de diagnóstico"
(Página 443) para obtener información sobre cómo utilizar estas instrucciones con estas
redes de comunicación.

11.2.21 Eventos de diagnóstico de E/S descentralizadas


Consulte "Diagnóstico (PROFINET o PROFIBUS)": "Eventos de diagnóstico de E/S
descentralizadas" (Página 491) para obtener información sobre cómo utilizar esta
información de diagnóstico con estas redes de comunicación.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 983
Comunicación
11.3 PROFIBUS

11.3 PROFIBUS
Un sistema PROFIBUS utiliza un maestro de bus para sondear dispositivos esclavos
distribuidos de forma multipunto en un bus serie RS485. Un esclavo PROFIBUS es
cualquier dispositivo de la periferia (convertidor E/S, válvula, motor o instrumento de
medición) que procesa información y envía su salida al maestro. El esclavo conforma una
estación pasiva en la red debido a que no tiene derechos de acceso al bus y solo puede
acusar mensajes recibidos o bien enviar mensajes de respuesta al maestro sobre petición.
Todos los esclavos PROFIBUS tienen la misma prioridad y toda la comunicación de red se
inicia desde el maestro.
Un maestro PROFIBUS conforma una "estación activa" en la red. PROFIBUS DP define dos
clases de maestro. Un maestro clase 1 (por lo general un controlador central programable
(PLC) o un equipo dotado de un software especial) procesa la comunicación normal o
intercambia datos con los esclavos que tiene asignados. Un maestro clase 2 (por lo general
un dispositivo de configuración, p. ej. un portátil o una consola de programación utilizada
para la puesta en marcha, mantenimiento o con fines de diagnóstico) es un dispositivo
especial utilizado principalmente para poner en marcha esclavos y para fines de
diagnóstico.
El S7-1200 se conecta a una red PROFIBUS como esclavo DP con el módulo de
comunicación CM 1242-5. El módulo CM 1242-5 (esclavo DP) puede ser el interlocutor de
maestros DP V0/V1. Si desea configurar el módulo en un sistema de otro fabricante, hay un
archivo GSD disponible para el CM 1242-5 (esclavo DP) en el CD suministrado con el
módulo y en las páginas del Siemens Automation Customer Support
(https://support.industry.siemens.com/cs/ww/es/ps/6GK7242-5DX30-0XE0) de Internet.
En la figura inferior el S7-1200 es un esclavo DP de un controlador S7-300:

El S7-1200 se conecta a una red PROFIBUS como maestro DP con el módulo de


comunicación CM 1243-5. El módulo CM 1243-5 (maestro DP) puede ser el interlocutor de
esclavos DP V0/V1. En la figura inferior, el S7-1200 es un maestro que controla un esclavo
DP ET 200SP:

Controlador programable S7-1200


984 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.3 PROFIBUS

Si un CM 1242-5 y un CM 1243-5 están instalados conjuntamente, un S7-1200 puede actuar


simultáneamente tanto de un esclavo de un sistema maestro DP de nivel superior como de
maestro de un sistema esclavo DP subordinado:

A partir de V3.0 se pueden configurar tres CM PROFIBUS como máximo por estación,
pudiendo haber cualquier combinación de CM maestros DP o esclavos DP. Los maestros
DP en una implementación de firmware de CPU V3.0 o superior pueden controlar un
máximo de 32 esclavos.
Los datos de configuración de los CMs PROFIBUS se guardan en la CPU local. Ello permite
una sustitución rápida de estos módulos de comunicación en caso de necesidad.
Para utilizar PROFIBUS con S7-1200 V4.0 o CPU posteriores hay que actualizar el firmware
del CM maestro PROFIBUS a V1.3 como mínimo.

Nota
Siempre debe actualizarse el firmware del CM PROFIBUS a la última versión disponible
(http://support.automation.siemens.com/WW/view/es/42131407). Es posible actualizar el
firmware utilizando cualquiera de los métodos siguientes:
• Las herramientas online y de diagnóstico de STEP 7 (Página 1351)
• Una SIMATIC Memory Card (Página 152)
• La página web estándar "Información del módulo" del servidor web (Página 1040)
• La SIMATIC Automation Tool
(https://support.industry.siemens.com/cs/ww/es/view/98161300)

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 985
Comunicación
11.3 PROFIBUS

11.3.1 Servicios de comunicaciones de CM PROFIBUS


Los CM PROFIBUS utilizan el protocolo PROFIBUS DP-V1.

Tipos de comunicación con DP-V1


Los siguientes tipos de comunicación están disponibles con DP-V1:
● Comunicación cíclica (CM 1242-5 y CM 1243-5)
Los dos módulos PROFIBUS admiten la comunicación cíclica para la transferencia de
datos de proceso entre el esclavo DP y el maestro DP.
El sistema operativo de la CPU procesa la comunicación cíclica. Para ello, no se
necesitan bloques de software. Los datos de E/S se leen o escriben directamente de/en
la imagen de proceso de la CPU.
● Comunicación acíclica (solo en CM 1243-5)
El módulo maestro DP también admite la comunicación acíclica mediante los bloques de
software:
– La instrucción "RALRM" está disponible para el procesamiento de alarmas.
– Las instrucciones "RDREC" y "WRREC" están disponibles para transferir datos de
configuración y diagnóstico.
Funciones que no admite el CM 1243-5: SYNC/FREEZE y Get_Master_Diag

Otros servicios de comunicaciones del CM 1243-5


El módulo maestro del CM 1243-5 DP admite los siguientes servicios de comunicaciones
adicionales:
● Comunicación S7
– Servicios PUT/GET
El maestro DP funciona como un cliente y servidor para consultas de otros PC o
controladores S7 mediante PROFIBUS.
– Comunicación PG/OP
Las funciones de PG permiten cargar los datos de configuración y los programas de
usuario de un PG y transferir los datos de diagnóstico a un PG.
Entre los posibles interlocutores para la comunicación OP se encuentran los paneles
HMI, los PC de panel SIMATIC con WinCC flexible o los sistemas SCADA que
admiten la comunicación S7.

Controlador programable S7-1200


986 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.3 PROFIBUS

11.3.2 Referencia a los manuales de usuario de CM PROFIBUS

Más información
Puede encontrar información detallada sobre los CM PROFIBUS en los manuales de los
dispositivos. Puede encontrarlos en Internet en las páginas de Customer Support de
Siemens Industrial Automation con las ID de entrada siguientes:
● CM 1242-5 (https://support.industry.siemens.com/cs/ww/es/ps/15667)
● CM 1243-5 (https://support.industry.siemens.com/cs/ww/es/ps/15669)

11.3.3 Configurar un maestro DP y un dispositivo esclavo

11.3.3.1 Agregar el módulo CM 1243-5 (maestro DP) y un esclavo DP


En el portal "Dispositivos y redes", utilice el catálogo de hardware para agregar módulos
PROFIBUS a la CPU. Estos módulos se conectan a la izquierda de la CPU. Para insertar un
módulo en la configuración de hardware, selecciónelo en el catálogo de hardware y haga
doble clic en él, o bien arrástrelo hasta el slot resaltado.

Tabla 11- 54 Agregar un módulo PROFIBUS CM 1243-5 (maestro DP) a la configuración de dispositivos

Módulo Seleccionar el módulo Insertar el módulo Resultado


CM 1243-5
(maestro
DP)

Asimismo, utilice el catálogo de hardware para agregar esclavos DP. Abra por ejemplo las
carpetas siguientes en el catálogo de hardware para agregar un esclavo DP ET 200SP:
● E/S descentralizadas
● ET 200SP
● Módulos de interfaz
● PROFIBUS

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 987
Comunicación
11.3 PROFIBUS

A continuación, seleccione "6ES7 155-6BU00-0CN0" (IM155-6 DP HF) en la lista de


referencias y agregue el esclavo DP ET 200SP tal como se muestra en la figura inferior.

Tabla 11- 55 Agregar un esclavo DP ET 200SP a la configuración de dispositivos

Inserte el esclavo DP Resultado

11.3.3.2 Configurar las conexiones de red lógicas entre dos dispositivos PROFIBUS
Tras configurar el módulo CM 1243-5 (maestro DP) podrá proceder a configurar sus
conexiones de red.
En el portal "Dispositivos y redes", utilice la "Vista de red" para crear las conexiones de red
entre los dispositivos del proyecto. Para crear la conexión PROFIBUS, seleccione la casilla
(PROFIBUS) lila en el primer dispositivo. Arrastre una línea hasta la casilla PROFIBUS del
segundo dispositivo. Suelte el botón del ratón para crear la conexión PROFIBUS.
Para más información, consulte el apartado "Configuración de dispositivos: Crear una
conexión de red". (Página 823)

11.3.3.3 Asignar direcciones PROFIBUS al módulo CM 1243-5 y al esclavo DP

Configurar la interfaz PROFIBUS


Tras configurar las conexiones de red lógicas entre dos dispositivos PROFIBUS, puede
proceder a configurar los parámetros de las interfaces PROFIBUS. Para tal fin, haga clic en
la casilla PROFIBUS lila en el módulo CM 1243-5; seguidamente, la ficha "Propiedades" de
la ventana de inspección mostrará la interfaz PROFIBUS. La interfaz PROFIBUS del
esclavo DP se configura del mismo modo.

Tabla 11- 56 Configurar las interfaces PROFIBUS del módulo CM 1243-5 (maestro DP) y del esclavo
DP ET 200SP

Módulo CM 1243-5 (maestro DP) Esclavo DP ET 200SP

① Puerto PROFIBUS

Controlador programable S7-1200


988 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.3 PROFIBUS

Asignar la dirección PROFIBUS


En una red PROFIBUS a cada dispositivo se le asigna una dirección PROFIBUS. Esta
dirección tiene un rango de 0 a 127, con las excepciones siguientes:
● Dirección 0: Reservada para la configuración de red y/o herramientas de programación
asignadas al bus
● Dirección 1: Reservada por Siemens para el primer maestro
● Dirección 126: Reservada para dispositivos de fábrica que no disponen de un ajuste por
interruptor y deben ser predireccionados a través de la red
● Dirección 127: Reservada para transmitir mensajes a todos los dispositivos de la red y no
puede ser asignada a dispositivos operativos.
Por lo tanto, las direcciones que se pueden utilizar para dispositivos operativos PROFIBUS
están comprendidas entre 2 y 125.
En la ventana de propiedades, seleccione la entrada de configuración "Dirección
PROFIBUS". STEP 7 muestra el cuadro de diálogo de configuración de la dirección
PROFIBUS, mediante el cual se asigna la dirección PROFIBUS del dispositivo.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 989
Comunicación
11.4 AS-i

Tabla 11- 57 Parámetros de la dirección PROFIBUS

Parámetro Descripción
Subred Nombre de la subred a la que está conectada el dispositivo. Haga clic en el botón "Agregar nueva su-
bred" para crear una subred nueva. La opción predeterminada es "No conectado". Son posibles dos
tipos de conexión:
• El ajuste predeterminado "no conectado" ofrece una conexión local.
• Una subred se requiere cuando la red comprende dos o más dispositivos.
Parámetros Dirección Dirección PROFIBUS asignada al dispositivo
Dirección más alta La dirección PROFIBUS más alta está basada en las estaciones activas en
PROFIBUS (por ejemplo, maestro DP). Los esclavos DP pasivos tienen
independientemente direcciones PROFIBUS entre 1 y 125 incluso si la
dirección PROFIBUS más alta está ajustada p. ej. en 15. La dirección
PROFIBUS más alta es relevante para el envío del token (envío de los
derechos de transmisión). El token solo se envía a estaciones activas. Al
especificar la dirección PROFIBUS más alta se optimiza el bus.
Velocidad de transferen- Velocidad de transferencia de la red PROFIBUS configurada: Las veloci-
cia dades de transferencia de PROFIBUS abarcan un rango de 9,6 Kbits/s a
12 Mbits/s. El ajuste de la velocidad de transferencia depende de las pro-
piedades de los nodos PROFIBUS utilizados. La velocidad de transferencia
no debe exceder la velocidad soportada por el nodo más lento.
La velocidad de transferencia se ajusta normalmente para el maestro en la
red PROFIBUS. Todos los esclavos DP utilizan automáticamente la misma
velocidad de transferencia (auto-baud).

11.3.4 Instrucciones E/S descentralizadas


Consulte "E/S descentralizadas (PROFINET, PROFIBUS o AS-i)" (Página 389) para obtener
información sobre cómo utilizar las instrucciones de E/S descentralizadas con estas redes
de comunicación.

11.3.5 Instrucciones de diagnóstico


Consulte "Diagnóstico (PROFINET o PROFIBUS)": "Instrucciones de diagnóstico"
(Página 443) para obtener información sobre cómo utilizar estas instrucciones con estas
redes de comunicación.

11.3.6 Eventos de diagnóstico de E/S descentralizadas


Consulte "Diagnóstico (PROFINET o PROFIBUS)": "Eventos de diagnóstico de E/S
descentralizadas" (Página 491) para obtener información sobre cómo utilizar esta
información de diagnóstico con estas redes de comunicación.

Controlador programable S7-1200


990 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.4 AS-i

11.4 AS-i
El maestro AS-i CM 1243-2 del S7-1200 permite conectar una red AS-i a una CPU S7-1200.
La interfaz actuador/sensor (o bien AS-i) es un sistema de conexión de red con maestro
individual que se utiliza en el nivel más bajo de sistemas de automatización. El CM 1243-2
asume la función de maestro AS-i en la red. Mediante un único cable AS-i, los sensores y
actuadores (dispositivos esclavos AS-i) se pueden conectar a la CPU a través del CM 1243-
2. El CM 1243-2 gestiona toda la coordinación de la red AS-i y transmite datos e información
de estado de los actuadores y sensores a la CPU a través de las direcciones de E/S
asignadas al CM 1243-2. Se puede acceder a valores binarios o analógicos dependiendo
del tipo de esclavo. Los esclavos AS-i son los canales de entrada y salida del sistema AS-i y
solo están activos cuando el CM 1243-2 los llama.
En la siguiente figura, el S7-1200 es un maestro AS-i que controla los dispositivos esclavos
digitales/analógicos del módulo E/S AS-i.

Para utilizar AS-i con CPUs S7-1200 V4.0 hay que actualizar el firmware del CM del
maestro AS-i a V1.1.
Esta actualización se realiza empleando el servidor web o una SIMATIC Memory Card.

Nota
Con las CPUs S7-1200 V4.0, si se utiliza el servidor web o una SIMATIC Memory Card para
actualizar el firmware del AS-i de V1.0 a V1.1, es preciso actualizar el firmware del AS-i en
el maestro AS-i CM 1243-2 conforme al siguiente procedimiento:
1. Descargue la actualización de firmware al maestro AS-i CM 1243-2.
2. Cuando la descarga se haya completado, desconecte y vuelva a conectar la CPU S7-
1200 para completar el proceso de actualización de firmware en el maestro
AS-i CM 1243-2.
3. Repita los pasos 1 y 2 para cada maestro AS-i CM 1243-2. El PLC S7-1200 permite un
máximo de tres maestros AS-i CM 1243-2.

Nota
Se recomienda siempre actualizar el firmware del CM AS-i a la última versión disponible
(http://support.automation.siemens.com/WW/view/es/43416171) en la página de atención al
cliente de Siemens.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 991
Comunicación
11.4 AS-i

11.4.1 Configuración de un maestro AS-i y un dispositivo esclavo


El maestro AS-i CM 1243-2 está integrado en el sistema de automatización S7-1200 como
módulo de comunicación.
Encontrará información detallada sobre el maestro AS-i CM 1243-2 en el manual "Maestro
AS-i CM 1243-2 y módulo de desacoplamiento de datos AS-i DCM 1271 para SIMATIC S7-
1200" (https://support.industry.siemens.com/cs/ww/es/ps/15750/man).

11.4.1.1 Agregar el módulo maestro AS-i CM 1243-2 y esclavo AS-i


Utilice el catálogo de hardware para agregar módulos maestros AS-i CM1243-2 a la CPU.
Estos módulos se conectan por el lado izquierdo de la CPU, siendo posible utilizar un
máximo de tres módulos maestros AS-i CM1243-2. Para insertar un módulo en la
configuración de hardware, selecciónelo en el catálogo de hardware y haga doble clic en él,
o bien arrástrelo hasta el slot resaltado.

Tabla 11- 58 Agregar un módulo maestro AS-i CM1243-2 a la configuración de dispositivos

Módulo Seleccionar el módulo Insertar el módulo Resultado


CM 1243-2
maestro
AS-i

Asimismo, utilice el catálogo de hardware para agregar esclavos AS-i. Por ejemplo, para
agregar un esclavo "módulo E/S, compacto, digital, de entrada" en el catálogo de hardware,
expanda las siguientes carpetas:
● Dispositivos de campo
● Esclavos ASInterface
A continuación, seleccione "3RG9 001-0AA00" (AS-i SM-U, 4DI) en la lista de referencias y
agregue el esclavo "módulo E/S, compacto, digital, de entrada" como se muestra en la
figura de abajo.

Tabla 11- 59 Agregar un esclavo AS-i a la configuración de dispositivos

Insertar el esclavo AS-i Resultado

Controlador programable S7-1200


992 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.4 AS-i

11.4.1.2 Configuración de las conexiones de red lógicas entre dos dispositivos AS-i
Después de configurar el maestro AS-i CM1243-2, ya puede configurar las conexiones de
red.
En el portal "Dispositivos y redes", utilice la "Vista de red" para crear las conexiones de red
entre los dispositivos del proyecto. Para crear la conexión AS-i, seleccione la casilla (AS-i)
amarilla en el primer dispositivo. Arrastre una línea hasta la casilla AS-i del segundo
dispositivo. Suelte el botón del ratón para crear la conexión AS-i.
Para más información, consulte el apartado "Configuración de dispositivos: Crear una
conexión de red". (Página 823)

11.4.1.3 Configurar las propiedades del maestro AS-i CM1243-2


Para configurar los parámetros para la interfaz AS-i, haga clic en la casilla AS-i amarilla del
módulo maestro AS-i CM1243-2; en la ficha "Propiedades" de la ventana de inspección se
mostrará la interfaz AS-i.
En la ventana de inspección de STEP 7 puede ver, configurar y cambiar la información
general, las direcciones y los parámetros operativos:

Tabla 11- 60 Propiedades del módulo maestro AS-i CM1243-2

Propiedad Descripción
General Nombre del maestro AS-i CM1243-2
Parámetros operativos Parámetros para la respuesta del maestro AS-i
Direcciones de E/S Área para las direcciones de E/S de esclavos
Interfaz AS-i (X1) Red AS-i asignada

Nota
Las opciones "Alarma de diagnóstico en caso de error en la configuración AS-i" y
"Programación automática de direcciones" siempre están activas y, por consiguiente,
aparecen en gris.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 993
Comunicación
11.4 AS-i

11.4.1.4 Asignar una dirección AS-i a un esclavo AS-i

Configurar la interfaz AS-i del esclavo


Para configurar los parámetros para la interfaz AS-i, haga clic en la casilla amarilla AS-i del
esclavo AS-i; en la ficha "Propiedades" de la ventana de inspección se mostrará la interfaz
AS-i.

① Puerto AS-i

Asignar la dirección de esclavo AS-i


En una red AS-i, a cada dispositivo se le asigna una dirección de esclavo AS-i. Dicha
dirección puede estar comprendida entre 0 y 31; no obstante, el 0 está reservado
exclusivamente para nuevos dispositivos esclavos. Las direcciones de esclavo van de 1(A o
B) a 31(A o B) para un total de 62 dispositivos esclavos.
Los dispositivos AS-i "estándar" utilizan la dirección completa, que es numérica y no tiene la
designación A o B. Los dispositivos AS-i con "nodo A/B" utilizan la parte A o B de cada
dirección, lo que permite utilizar dos veces cada una de las 31 direcciones. El rango de
direcciones va de 1A a 31A y de 1B a 31B.
Cualquier dirección que se encuentre en el rango de 1 - 31 puede ser asignada a un
dispositivo esclavo, es decir, no es relevante si los esclavos comienzan por la dirección 21 o
si el primer esclavo tiene asignada realmente la dirección 1.

Controlador programable S7-1200


994 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.4 AS-i

En el ejemplo inferior, tres dispositivos AS-i se han direccionado como "1" (un dispositivo
estándar), "2A" (un dispositivo con nodo A/B) y "3" (un dispositivo estándar):

① Dirección de esclavo AS-i 1; dispositivo: AS-i SM-U, 4DI; referencia: 3RG9 001-0AA00
② Dirección de esclavo AS-i 2A; dispositivo: AS-i 8WD44, 3DO, A/B; referencia: 8WD4 428-0BD
③ Dirección de esclavo AS-i 3; dispositivo: AS-i SM-U, 2DI/2DO; referencia: 3RG9 001-0AC00

Asigne aquí la dirección de esclavo AS-i:

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 995
Comunicación
11.4 AS-i

Tabla 11- 61 Parámetros de la interfaz AS-i

Parámetro Descripción
Red Nombre de la red a la que está conectado el dispositivo
Direcciones Dirección AS-i asignada para el dispositivo esclavo dentro del rango de 1(A o B) a 31(A o B) para un
total de 62 dispositivos esclavos

Controlador programable S7-1200


996 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.4 AS-i

11.4.2 Intercambio de datos entre el programa de usuario y los esclavos AS-i

11.4.2.1 Configuración básica de STEP 7


El maestro AS-i reserva un área de datos de 62 bytes en el área E/S de la CPU. Se accede
a los datos digitales en bytes; para cada esclavo, hay un byte de datos de entrada y un byte
de datos de salida.
La asignación de las conexiones AS-i de los esclavos digitales AS-i a los bits de datos del
byte asignado se indica en la ventana de inspección del maestro AS-i CM 1243-2.

Se accede a los datos de los esclavos AS-i en el programa de usuario utilizando las
direcciones E/S visualizadas con las operaciones de lógica binaria adecuadas (p. ej. "Y") o
bien asignaciones de bits.

Nota
El parámetro "Asignación de sistema" se activa automáticamente si no se configuran los
esclavos AS-i con STEP 7.
Si no se configuran esclavos, hay que informar al maestro AS-i CM 1243-2 acerca de la
configuración de bus real utilizando la función online "ES > DEBE".

Más información
Encontrará información detallada sobre el maestro AS-i CM 1243-2 en el manual "Maestro
AS-i CM 1243-2 y módulo de desacoplamiento de datos AS-i DCM 1271 para SIMATIC S7-
1200" (https://support.industry.siemens.com/cs/ww/es/ps/15750/man).

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 997
Comunicación
11.4 AS-i

11.4.2.2 Configurar esclavos con STEP 7

Transferir valores digitales AS-i


La CPU accede a las entradas y salidas digitales de los esclavos AS-i a través del maestro
AS-i CM 1243-2 durante el funcionamiento cíclico. Accede a los datos utilizando las
direcciones E/S o bien mediante una transferencia de registros.

① Dirección esclavo AS-i 1


② Dirección esclavo AS-i 2A
③ Dirección esclavo AS-i 3

En este caso, se accede a los datos digitales en bytes (es decir, cada esclavo digital AS-i
tiene asignado un byte). Al configurar los esclavos AS-i en STEP 7, la dirección E/S para
acceder a los datos desde el programa de usuario se muestra en la ventana de inspección
del esclavo AS-i correspondiente.

Controlador programable S7-1200


998 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.4 AS-i

El módulo de entradas digitales (AS-i SM-U, 4DI) en la red AS-i superior ha recibido la
dirección de esclavo 1. Al hacer clic en el módulo de entradas digitales, la ficha "AS-
Interface" de "Propiedades" muestra la dirección del esclavo, como se muestra a
continuación:

El módulo de entradas digitales (AS-i SM-U, 4DI) en la red AS-i anterior ha recibido la
dirección de E/S 2. Al hacer clic en el módulo de entradas digitales, la ficha "Direcciones de
E/S" de "Propiedades" muestra la dirección de E/S, como se muestra a continuación:

Para acceder a los datos de los esclavos AS-i en el programa de usuario, se utilizan las
direcciones E/S con las operaciones de lógica binaria adecuadas (p. ej. "Y") o bien
asignaciones de bits. El siguiente programa sencillo muestra cómo funciona la asignación:
La entrada 2.0 se interroga en este programa. En el sistema AS-i, dicha entrada pertenece
al esclavo1 (byte de entrada 2, bit 0). La salida 4.3, que se activa entonces, corresponde al
esclavo AS-i 3 (byte de salida 4, bit 3)

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 999
Comunicación
11.4 AS-i

Transferir valores analógicos AS-i


Se puede acceder a los datos analógicos de un esclavo AS-i desde la memoria imagen de
proceso de la CPU siempre que se haya configurado dicho esclavo AS-i en STEP 7 como
esclavo analógico.
Si no se ha configurado el esclavo analógico en STEP 7, solo será posible acceder a los
datos del esclavo AS-i utilizando funciones acíclicas (interfaz de registro). En el programa de
usuario de la CPU, las llamadas AS-i se leen y escriben utilizando las instrucciones E/S
descentralizadas RDREC (leer registro) y WRREC (escribir registro).

Nota
Si se ha especificado una configuración de los esclavos AS-i con STEP 7 y se ha
descargado en la estación S7, esta es transferida por la CPU al maestro AS-i CM 1243-2
durante el arranque de la estación S7. Cualquier configuración existente que se haya
determinado mediante la función online "Asignación de sistema" (Página 997) ("ES ->
DEBE") se sobrescribirá.

Más información
Encontrará información detallada sobre el maestro AS-i CM 1243-2 en el manual "Maestro
AS-i CM 1243-2 y módulo de desacoplamiento de datos AS-i DCM 1271 para SIMATIC S7-
1200" (http://support.automation.siemens.com/WW/view/en/50414115/133300).

11.4.3 Instrucciones E/S descentralizadas


Consulte "E/S descentralizadas (PROFINET, PROFIBUS o AS-i)" (Página 389) para obtener
información sobre cómo utilizar las instrucciones de E/S descentralizadas con estas redes
de comunicación.

Controlador programable S7-1200


1000 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.4 AS-i

11.4.4 Trabajar con herramientas online AS-i

Cambiar los modos de operación AS-i online


Hay que pasar a online para ver y modificar los modos de operación AS-i.
Para cambiar al modo online, vaya a "Configuración de dispositivos" con el módulo maestro
AS-i CM 1243-2 seleccionado y, seguidamente, haga clic en el botón "Establecer conexión
online" de la barra de herramientas. A continuación, seleccione el comando "Online y
diagnóstico" del menú "Online".

Existen dos modos de operación AS-i:


● Modo de protección:
– No es posible modificar el dispositivo esclavo AS-i ni las direcciones E/S de la CPU.
– El LED verde "CM" está apagado.
● Modo de configuración:
– Es posible realizar los cambios necesarios en el dispositivo esclavo AS-i y en las
direcciones E/S de la CPU.
– El LED verde "CM" está encendido.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 1001
Comunicación
11.4 AS-i

En el campo "Ajustar dirección AS-i", puede cambiar la dirección del esclavo AS-i. A un
esclavo nuevo que aún no tenga dirección se le asigna siempre la dirección 0. El maestro lo
reconoce como esclavo nuevo aunque no tenga asignada una dirección y no lo incluye en la
comunicación normal hasta que no le sea asignada una dirección.

Error de configuración
Si el LED amarillo "CER" está encendido, existe un error en la configuración del dispositivo
esclavo AS-i. Seleccione el botón "ES > DEBE" para sobrescribir la configuración del
dispositivo esclavo del módulo maestro AS-i CM 1243-2 con la configuración del dispositivo
esclavo de la red de campo AS-i.

Controlador programable S7-1200


1002 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.5 Comunicación S7

11.5 Comunicación S7

11.5.1 GET y PUT (leer y escribir datos de una CPU remota)


Las instrucciones GET y PUT se pueden utilizar para comunicarse con CPU S7 a través de
conexiones PROFINET y PROFIBUS. Esto solo es posible si la función "Permitir acceso vía
comunicación PUT/GET" está activada para la CPU del interlocutor en la propiedad
"Protección" de las propiedades de la CPU local:
● Acceso a datos en una CPU remota: una CPU S7-1200 solo puede utilizar direcciones
absolutas en el campo de entrada ADDR_x para direccionar variables de CPU remotas
(S7-200/300/400/1200).
● Acceder a los datos en un DB estándar: una CPU S7-1200 solo puede utilizar direccionar
absolutas en el campo de entrada ADDR_x para direccionar variables de DB en un DB
estándar de una CPU S7 remota.
● Acceder a los datos en un DB optimizado: una CPU S7-1200 no puede acceder a
variables de DB en un DB optimizado de una CPU S7-1200 remota.
● Acceso a datos en una CPU local: una CPU S7-1200 puede usar direcciones tanto
absolutas como simbólicas como entradas de los campos de entrada RD_x o SD_x de
las instrucciones GET o PUT.

Nota
La operación GET/PUT del programa de la CPU V4.0 no está activada automáticamente
Una operación GET/PUT del programa de una CPU V3.0 está activada automáticamente en
una CPU V4.0.
Sin embargo, una operación GET/PUT del programa de una CPU V4.0 no está activada
automáticamente en una CPU V4.0. Hay que ir a la "Configuración de dispositivos" de la
CPU, ficha "Propiedades" de la ventana de inspección, propiedad "Protección" para activar
Acceso GET/PUT (Página 215).

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 1003
Comunicación
11.5 Comunicación S7

Tabla 11- 62 Instrucciones GET y PUT

KOP / FUP SCL Descripción


"GET_DB"( Utilice la instrucción GET para leer datos
req:=_bool_in_, desde una CPU S7 remota. La CPU
ID:=_word_in_, remota puede estar tanto en modo RUN
ndr=>_bool_out_, como STOP.
error=>_bool_out_, STEP 7 crea automáticamente el DB al
status=>_word_out_, introducir la instrucción.
addr_1:=_remote_inout_,
[...addr_4:=_remote_inout_,]
rd_1:=_variant_inout_
[,...rd_4:=_variant_inout_]);

"PUT_DB"( Utilice la instrucción PUT para escribir


req:=_bool_in_, datos en una CPU S7 remota. La CPU
ID:=_word_in_, remota puede estar tanto en modo RUN
done=>_bool_out_, como STOP.
error=>_bool_out_, STEP 7 crea automáticamente el DB al
status=>_word_out_, introducir la instrucción.
addr_1:=_remote_inout_,
[...addr_4:=_remote_inout_,]
sd_1:=_variant_inout_,
[....sd_4:=_variant_inout_]);

Controlador programable S7-1200


1004 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.5 Comunicación S7

Tabla 11- 63 Tipos de datos para los parámetros

Parámetro y tipo Tipo de datos Descripción


REQ Input Bool Un cambio de señal low a high (flanco ascendente) lanza la ope-
ración.
ID Input CONN_PRG ID de conexión S7 (Hex)
(Word)
NDR (GET) Output Bool Nuevos datos listos:
• 0: petición no iniciada aún o en proceso
• 1: tarea ejecutada correctamente
DONE (PUT) Output Bool DONE:
• 0: petición no iniciada aún o en proceso
• 1: tarea ejecutada correctamente
ERROR Output Bool • ERROR=0
STATUS Output Word
Valor de STATUS:
– 0000H: ni advertencia ni error
– <> 0000H: Advertencia, STATUS suministra información
detallada
• ERROR=1

Existe un error. STATUS suministra información detallada so-


bre la naturaleza del error.
ADDR_1 InOut Remoto Puntero a las áreas de memoria de la CPU remota que almacena
ADDR_2 InOut Remoto los datos que deben leerse (GET) o que se envían (PUT).
ADDR_3 InOut Remoto
ADDR_4 InOut Remoto
RD_1 (GET) InOut Variante Puntero a las áreas de memoria de la CPU local que almacena los
SD_1 (PUT) datos que deben leerse (GET) o enviarse (PUT).
RD_2 (GET) InOut Variante Tipos de datos permitidos: Bool (solo se permite un único bit),
SD_2 (PUT) Byte, Char, Word, Int, DWord, DInt o Real.
RD_3 (GET) InOut Variante Nota: Si el puntero accede a un DB, se debe especificar la direc-
SD_3 (PUT) ción absoluta, p. ej.:
RD_4 (GET) InOut Variante P# DB10.DBX5.0 Byte 10
SD_4 (PUT) En este caso, 10 representa el número de bytes que deben leerse
(GET) o transmitirse (PUT).

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 1005
Comunicación
11.5 Comunicación S7

Asegúrese de que la longitud (número de bytes) y los tipos de datos para los parámetros
ADDR_x (CPU remota) y RD_x o SD_x (CPU local) concuerden. El número tras el
identificador "Byte" es el número de bytes referenciado por el parámetro ADDR_x, RD_x o
SD_x .

Nota
El número total de bytes recibidos en una instrucción GET o el número total de bytes
enviados en una instrucción PUT es limitado. Las limitaciones se basan en el número de las
cuatro posibles direcciones y áreas de memoria que se utilizan:
• Si solo se utilizan ADDR_1 y RD_1/SD_1, una instrucción GET puede recibir 222 bytes y
una instrucción PUT puede enviar 212 bytes.
• Si se utilizan ADDR_1, RD_1/SD_1, ADDR_2 y RD_2/SD_2, una instrucción GET puede
recibir un total de 218 bytes y una instrucción PUT puede enviar un total de 196 bytes.
• Si se utilizan ADDR_1, RD_1/SD_1, ADDR_2, RD_2/SD_2, ADDR_3 y RD_3/SD_3 , una
instrucción GET puede recibir un total de 214 bytes y una instrucción PUT puede enviar
un total de 180 bytes.
• Si se utilizan ADDR_1, RD_1/SD_1, ADDR_2, RD_2/SD_2, ADDR_3, RD_3/SD_3,
ADDR_4 y RD_4/SD_4, una instrucción GET puede recibir un total de 210 bytes y una
instrucción PUT puede enviar un total de 164 bytes.
La suma del número de bytes de cada uno de los parámetros de dirección y área de
memoria debe ser menor o igual que los límites definidos. Si se superan esos límites, las
instrucciones GET o PUT devuelven un error.

Con un flanco ascendente del parámetro REQ, la operación de lectura (GET) o de escritura
(PUT) carga los parámetros ID, ADDR_1, y RD_1 (GET) o SD_1 (PUT).
● Para GET: La CPU remota devuelve los datos solicitados a las áreas de recepción
(RD_x), comenzando por el siguiente ciclo. Una vez la operación de lectura ha finalizado
sin errores, el parámetro NDR se pone a 1. Solo es posible iniciar una operación nueva
tras finalizar la operación anterior.
● Para PUT: La CPU local empieza a enviar los datos (SD_x) a la posición de memoria
(ADDR_x) en la CPU remota. Una vez la operación de escritura ha finalizado sin errores,
la CPU remota devuelve un acuse de ejecución. El parámetro DONE de la instrucción
PUT se pone a 1. Solo es posible iniciar una operación de escritura nueva tras finalizar la
operación anterior.

Nota
Para garantizar la coherencia de los datos, antes de acceder a los datos o inicializar otra
operación de lectura o escritura, compruebe siempre que la operación haya finalizado
(NDR = 1 para GET o DONE = 1 para PUT).

Controlador programable S7-1200


1006 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.5 Comunicación S7

Los parámetros ERROR y STATUS suministran información sobre el estado de la operación


de lectura (GET) o escritura (PUT).

Tabla 11- 64 Información de error

ERROR STATUS (deci- Descripción


mal)
0 11 • La nueva tarea no se puede ejecutar debido a que aún no ha finalizado una tarea
anterior.
• La tarea se está procesando ahora en una clase de prioridad más baja.
0 25 Se ha iniciado la comunicación. La tarea se está procesando.
1 1 Problemas de comunicación, p. ej.:
• No se ha cargado la descripción de la conexión (local o remota)
• Conexión interrumpida (p. ej.: cable, CPU desactivada o CM/CB/CP en modo
STOP)
• Conexión con el interlocutor aún no establecida
1 2 Acuse negativo por parte del dispositivo interlocutor. No se puede ejecutar la tarea.
1 4 Errores en los punteros del área de emisión (RD_x para GET o SD_x para PUT) rela-
cionados con la longitud de los datos o el tipo de datos.
1 8 Error de acceso a la CPU interlocutora
1 10 No es posible acceder a la memoria de usuario local (p. ej. intentar acceder a un DB
borrado)
1 12 Al llamar el SFB:
• Se especificó un DB de instancia que no pertenece a GET o PUT
• No se especificó un DB de instancia sino un DB compartido
• No se ha encontrado ningún DB de instancia (al cargar un nuevo DB de instancia)
1 20 • Se ha excedido el número máximo de tareas/instancias simultáneas
• Las instancias se sobrecargaron al arrancar la CPU
Este estado puede presentarse al ejecutar por primera vez las instrucciones GET o
PUT
1 27 No hay una instrucción GET o PUT que concuerde con la CPU.

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 1007
Comunicación
11.5 Comunicación S7

11.5.2 Crear una conexión S7

Mecanismos de conexión
Para acceder a interlocutores remotos con las instrucciones PUT/GET, el usuario también
debe tener permiso.
De forma predeterminada, la opción "Permitir acceso vía comunicación PUT/GET" está
desactivada. En ese caso, el acceso de lectura y escritura a los datos de la CPU solo es
posible para conexiones que necesiten configuración o programación tanto para la CPU
local como para el interlocutor. El acceso mediante instrucciones BSEND/BRCV es posible,
por ejemplo.
En consecuencia, no se pueden realizar conexiones para las cuales la CPU local es solo un
servidor cuando se usa la CPU, lo que significa que no hay configuración/programación de
la comunicación con el interlocutor en la CPU local, por ejemplo:
● Acceso PUT/GET, FETCH/WRITE o FTP mediante módulos de comunicaciones
● Acceso con PUT/GET desde otras CPU S7
● Acceso a HMI mediante la comunicación PUT/GET
Si desea permitir el acceso a los datos de la CPU desde el lado del cliente, es decir, si no
desea limitar los servicios de comunicación de la CPU, puede configurar la protección de
acceso para la CPU S7-1200 (Página 215) para ese nivel de seguridad.

Tipos de conexión
El tipo de conexión seleccionado crea una conexión con un interlocutor. La conexión se
configura, establece y vigila automáticamente.
En el portal "Dispositivos y redes", utilice la "Vista de redes" para crear las conexiones de
red entre los dispositivos del proyecto. En primer lugar, haga clic en la ficha "Conexiones" y
luego seleccione el tipo de conexión en la lista desplegable ubicada justo a la derecha (p. ej.
una conexión S7). Haga clic en el cuadro verde (PROFINET) del primer dispositivo y trace
una línea hasta el cuadro PROFINET del segundo dispositivo. Suelte el botón del ratón para
crear la conexión PROFINET.
Encontrará más información en "Crear una conexión de red" (Página 823).

Haga clic en el botón "Resaltado: conexión" para acceder al cuadro de diálogo de


configuración "Propiedades" de la instrucción de comunicación.

Controlador programable S7-1200


1008 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.5 Comunicación S7

11.5.3 Configurar la vía de conexión local/interlocutor entre dos dispositivos

Configurar los parámetros generales


Los parámetros de comunicación se especifican en el cuadro de diálogo de configuración
"Propiedades" de la instrucción de comunicación. Este diálogo aparece en el lado inferior de
la página cuando se ha seleccionado alguna parte de la instrucción.
Encontrará más información en "Configuración de dispositivos: Configurar la vía de conexión
local/interlocutor (Página 824)"
En el área "Detalles de dirección" del diálogo "Parámetros de la conexión" se definen los
TSAPs o puertos que deben utilizarse. El TSAP o puerto de una conexión en la CPU se
introduce en el campo "TSAP local". El TSAP o puerto asignado a la conexión en la CPU
interlocutora se introduce en el campo "TSAP del interlocutor".

11.5.4 Asignación de parámetros de conexión GET/PUT


La asignación de parámetros de conexión mediante las instrucciones GET/PUT es una
ayuda al usuario para configurar conexiones de comunicación S7 de CPU a CPU.
Tras insertar un bloque GET o PUT, STEP 7 muestra el cuadro de diálogo para la
asignación de parámetros de conexión de las instrucciones GET/PUT:

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 1009
Comunicación
11.5 Comunicación S7

La ventana de inspección muestra las propiedades de la conexión cuando se selecciona


cualquier parte de la instrucción. Los parámetros de comunicación se configuran en la ficha
"Configuración" de "Propiedades" de la instrucción de comunicación.

Nota
La operación GET/PUT del programa de la CPU V4.1 y superior no está activada
automáticamente
Una operación GET/PUT del programa de una CPU V3.0 está activada automáticamente en
una CPU V4.1 y superior.
Sin embargo, una operación GET/PUT del programa de una CPU V4.1 y superior no está
activada automáticamente en una CPU V4.1 y superior. Hay que ir a la "Configuración de
dispositivos" de la CPU, ficha "Propiedades" de la ventana de inspección, propiedad
"Protección" para activar Acceso GET/PUT (Página 215).

11.5.4.1 Parámetros de la conexión


La página "Parámetros de conexión" le permite configurar la conexión S7 necesaria y
configurar el parámetro "ID de conexión" referenciado por la ID del parámetro de bloque
GET/PUT. El contenido de la página ofrece información sobre el punto final local y le
permite que defina la interfaz local. También puede definir el punto final del interlocutor.
La página "Parámetros del bloque" le permite configurar los parámetros de bloque
adicionales.

Controlador programable S7-1200


1010 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.5 Comunicación S7

Tabla 11- 65 Parámetro de conexión: definiciones generales

Parámetro Definición
Parámetro de Punto final "Punto final local": nombre asignado a la CPU local
conexión: "Punto final del interlocutor": nombre asignado a la CPU interlocutora (remota)
General Nota: en la lista desplegable "Punto final del interlocutor", el sistema ofrece
todos los interlocutores S7 potenciales del proyecto actual además de la op-
ción "no especificado". Un interlocutor no especificado representa a un inter-
locutor que no está actualmente en el proyecto STEP 7 (por ejemplo, un
dispositivo interlocutor de terceros).
Interfaz Nombre asignado a las interfaces
Nota: Puede modificar la conexión cambiando las interfaces local y del interlo-
cutor.
Tipo de interfaz Tipo de interfaz
Nombre de subred Nombre asignado a las subredes
Dirección Direcciones IP asignadas
Nota: Puede especificar la dirección remota de un dispositivo de terceros para
un interlocutor "no especificado".
ID de conexión Número de ID: es generado automáticamente por la asignación de paráme-
tros de conexión GET/PUT
Nombre de conexión Ubicación de los datos de las CPU local e interlocutora: es generado automá-
ticamente por la asignación de parámetros de conexión GET/PUT
Iniciativa local Casilla de verificación para seleccionar la CPU local como la conexión activa
Unilateral Casilla de verificación para especificar una conexión de uno o dos sentidos;
solo lectura
Nota: en una conexión GET/PUT PROFINET, tanto el dispositivo local como
el interlocutor pueden actuar de servidor o cliente. Esto hace posible una
conexión de dos sentidos y la casilla de verificación "Unilateral" está deselec-
cionada.
En una conexión GET/PUT PROFIBUS, en algunos casos el dispositivo inter-
locutor solo puede actuar de servidor (por ejemplo, un S7-300) y la casilla de
verificación "Unilateral" está marcada.

Parámetro de ID de conexión
Hay tres formas de cambiar las ID de conexión definidas por el sistema:
1. El usuario puede cambiar la ID actual directamente en el bloque GET/PUT. Si la ID
nueva pertenece a una conexión ya existente, la conexión se modifica.
2. El usuario puede cambiar la ID actual directamente en el bloque GET/PUT, pero la ID
nueva no existe. el sistema crea una nueva conexión S7.
3. El usuario puede cambiar la ID actual en el cuadro de diálogo "Vista de conexiones": la
entrada del usuario se sincroniza con el parámetro de ID en el bloque GET/PUT
correspondiente.

Nota
El parámetro "ID" del bloque GET/PUT no es un nombre de conexión, sino una expresión
numérica que se escribe como el ejemplo siguiente: W#16#1

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 1011
Comunicación
11.5 Comunicación S7

Parámetro de nombre de conexión


El nombre de la conexión se puede editar mediante un control de usuario especial, el cuadro
de diálogo "Vista de conexiones". Este cuadro de diálogo ofrece todas las conexiones S7
disponibles que se pueden seleccionar como alternativa para la comunicación GET/PUT
actual. El usuario puede crear una conexión completamente nueva en esta tabla. Haga clic
en el botón a la derecha del campo "Nombre de conexión" para iniciar el cuadro de diálogo
"Vista de conexiones".

11.5.4.2 Configurar una conexión S7 de CPU a CPU


Dada la configuración de PLC_1, PLC_2 y PLC_3 mostrada en la figura siguiente, inserte
bloques GET o PUT para "PLC_1".

Controlador programable S7-1200


1012 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.5 Comunicación S7

Para la instrucción GET o PUT, la ficha "Propiedades" se muestra automáticamente en la


ventana de inspección con las siguientes selecciones de menú:
● "Configuración"
● "Parámetros de la conexión"

Configurar una conexión S7 PROFINET


Para el "Punto final del interlocutor", seleccione "PLC_3".

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 1013
Comunicación
11.5 Comunicación S7

El sistema reacciona con los cambios siguientes:

Tabla 11- 66 Parámetro de conexión: valores generales

Parámetro Definición
Parámetro de Punto final "Punto final local" contiene "PLC_1" de solo lectura.
conexión: El campo "Punto final del interlocutor" contiene "PLC_3[CPU319-3PN/DP]":
General
• El color cambia de rojo a blanco.
• Aparece la imagen del dispositivo "interlocutor".
• Aparece una línea de conexión entre las imágenes de los dispositivos
PLC_1 y PLC_3 (línea Ethernet verde).
Interfaz La "Interfaz local" contiene "CPU1214C DC/DC/DC, interfaz PROFINET
(R0/S1)".
La "Interfaz del interlocutor" contiene: "CPU319-3PN/DP, interfaz PROFINET
(R0/S2)".
Tipo de interfaz El "Tipo de interfaz local" contiene "Ethernet/IP"; el control es de solo lectura.
El "Tipo de interfaz del interlocutor" contiene "Ethernet/IP"; el control es de
solo lectura.
Las imágenes del tipo de interfaz se muestran a la derecha, junto al "Tipo de
interfaz" local y del interlocutor (icono Ethernet verde).
Nombre de subred El "Nombre de subred local" contiene "PN/IE_1"; el control es de solo lectura.
El "Nombre de subred del interlocutor" contiene "PN/IE_1"; el control es de
solo lectura.
Dirección La "Dirección local" contiene la dirección IP local; el control es de solo lectura.
La "Dirección del interlocutor" contiene la dirección IP del interlocutor; el con-
trol es de solo lectura.
ID de conexión "ID de conexión" contiene "100".
En el editor de programas, en el [OB1] principal, el valor "ID de conexión" del
bloque GET/PUT también contiene "100".
Nombre de conexión El "Nombre de conexión" contiene el nombre predeterminado de la conexión
(por ejemplo, "S7_Connection_1"); el control está habilitado.
Iniciativa local Marcada y habilitada para seleccionar la CPU local como conexión activa.
Unilateral Solo lectura y sin marcar.
Nota: Tanto "PLC_1" (una CPU S7-1200 1214CDC/DC/relé) como "PLC_3"
(una CPU S7-300 319-3PN/DP) pueden actuar de servidor y cliente en una
conexión GET/PUT PROFINET, lo que hace posible una conexión en ambos
sentidos.

El icono GET/PUT del árbol Vista de propiedades también cambia de rojo a verde.

Controlador programable S7-1200


1014 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.5 Comunicación S7

Conexión S7 PROFINET completada


En la "Vista de redes" se muestra una conexión S7 bilateral en la tabla "Conexiones" entre
"PLC_1" y "PLC_3".

Configurar una conexión S7 PROFIBUS


Para el "Punto final del interlocutor", seleccione "PLC_3".

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 1015
Comunicación
11.5 Comunicación S7

El sistema reacciona con los cambios siguientes:

Tabla 11- 67 Parámetro de conexión: valores generales

Parámetro Definición
Parámetro de Punto final "Punto final local" contiene "PLC_1" de solo lectura.
conexión: El campo "Punto final del interlocutor" contiene "PLC_3[CPU319-3PN/DP]":
General
• El color cambia de rojo a blanco.
• Aparece la imagen del dispositivo "interlocutor".
• Aparece una línea de conexión entre las imágenes de los dispositivos
PLC_1 y PLC_3 (línea PROFIBUS púrpura).
Interfaz La "Interfaz local" contiene "CPU1214C DC/DC/DC, interfaz PROFIBUS
(R0/S1)".
La "Interfaz del interlocutor" contiene: "CPU319-3PN/DP, interfaz PROFIBUS
(R0/S2)".
Tipo de interfaz El "Tipo de interfaz local" contiene "PROFIBUS"; el control es de solo lectura.
El "Tipo de interfaz del interlocutor" contiene "PROFIBUS"; el control es de
solo lectura.
Las imágenes del tipo de interfaz se muestran a la derecha, junto al "Tipo de
interfaz" local y del interlocutor (icono PROFIBUS púrpura).
Nombre de subred El "Nombre de subred local" contiene "PROFIBUS_1"; el control es de solo
lectura.
El "Nombre de subred del interlocutor" contiene "PROFIBUS_1"; el control es
de solo lectura.
Dirección La "Dirección local" contiene la dirección IP local; el control es de solo lectura.
La "Dirección del interlocutor" contiene la dirección IP del interlocutor; el con-
trol es de solo lectura.
ID de conexión "ID de conexión" contiene "100".
En el editor de programas, en el [OB1] principal, el valor "ID de conexión" del
bloque GET/PUT también contiene "100".
Nombre de conexión El "Nombre de conexión" contiene el nombre predeterminado de la conexión
(por ejemplo, "S7_Connection_1"); el control está habilitado.
Iniciativa local De solo lectura, marcada y habilitada para seleccionar la CPU local como
conexión activa.
Unilateral De solo lectura y marcada.
Nota: "PLC_3" (una CPU S7-300 319-3PN/DP) solo puede actuar de servidor
(no puede ser cliente) en una conexión GET/PUT PROFIBUS, lo que permite
únicamente una conexión de sentido único.

El icono GET/PUT del árbol Vista de propiedades también cambia de rojo a verde.

Controlador programable S7-1200


1016 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL
Comunicación
11.5 Comunicación S7

Conexión S7 PROFIBUS completada


En la "Vista de redes" se muestra una conexión S7 unilateral en la tabla "Conexiones" entre
"PLC_1" y "PLC_3".

Controlador programable S7-1200


Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL 1017
Comunicación
11.6 Qué hacer cuando no se puede acceder a la CPU a través de la dirección IP

11.6 Qué hacer cuando no se puede acceder a la CPU a través de la


dirección IP
Si no se puede acceder a una CPU a través de la dirección IP, se puede ajustar una
dirección IP de emergencia (temporalmente) para la CPU. La dirección IP de emergencia
permite restablecer la comunicación con la CPU para descargar una configuración de
dispositivo con una dirección IP válida.

Razones por las que puede ser necesaria una dirección IP de emergencia
La CPU puede no estar accesible si alguien ha descargado un proyecto con uno de los
siguientes problemas:
● La dirección IP de la interfaz PROFINET de la CPU es un duplicado de otro dispositivo
de la red.
● La subred no es correcta para la CPU.
● La máscara de subred hace que la CPU sea inaccesible.
En estos casos, la CPU deja de estar accesible desde STEP 7.

Asignación de una dirección IP de emergencia


Se puede asignar una dirección IP de emergencia en las siguientes condiciones:
● En la configuración de dispositivos de STEP 7 se ha seleccoinado "Ajustar dirección IP
en el proyecto" para el protocolo IP.
● La CPU está en modo STOP.
En estas condiciones se puede utilizar una herramienta DCP para ajustar una dirección IP
de emergencia para la dirección IP del dispositivo. La SIMATIC Automation Tool, por
ejemplo, tiene un comando DCP Set IP address. Se puede ajustar una dirección IP de
emergencia independientemente del nivel de protección (Página 215) de la CPU. Tras
ajustar una dirección IP temporal con una herramienta DCP, el LED de mantenimiento de la
CPU se enciende. El búfer de diagnóstico también incluye una entrada que indica que se ha
habilitado una dirección de emergencia de una interfaz Ethernet.

Restauración de una dirección IP tras asignar una dirección IP de emergencia


El búfer de diagnóstico informa de cuándo se ha habilitado o deshabilitado una dirección IP
de emergencia. La dirección IP de emergencia se puede inicializar con una
desconexión/conexión (Power OFF-Power ON).
Después de haber asignado una dirección IP de emergencia se puede descargar un
proyecto STEP 7 con una dirección IP válida para la CPU. Tras descargar el proyecto,
ejecute una desconexión/conexión (Power OFF - Power ON) de la CPU.

Controlador programable S7-1200


1018 Manual de sistema, V4.2.3, 08/2018, A5E02486683-AL

También podría gustarte