PGH FC-FB-S7CP 78
PGH FC-FB-S7CP 78
PGH FC-FB-S7CP 78
Prólogo
Sinopsis y generalidades
SIMATIC NET ___________________
sobre el uso 1
Bloques de programa para
___________________
Industrial Ethernet 2
SIMATIC NET
Bloques de programa para
___________________
PROFINET IO (S7-300) 3
Bloques de programa para CPs S7 Bloques de programa para
4
SIMATIC NET ___________________
PROFINET CBA
___________________
Historia del documento A
B
___________________
Bibliografía
11/2015
C79000-G8978-C229-08
Notas jurídicas
Filosofía en la señalización de advertencias y peligros
Este manual contiene las informaciones necesarias para la seguridad personal así como para la prevención de
daños materiales. Las informaciones para su seguridad personal están resaltadas con un triángulo de
advertencia; las informaciones para evitar únicamente daños materiales no llevan dicho triángulo. De acuerdo al
grado de peligro las consignas se representan, de mayor a menor peligro, como sigue.
PELIGRO
Significa que, si no se adoptan las medidas preventivas adecuadas se producirá la muerte, o bien lesiones
corporales graves.
ADVERTENCIA
Significa que, si no se adoptan las medidas preventivas adecuadas puede producirse la muerte o bien lesiones
corporales graves.
PRECAUCIÓN
Significa que si no se adoptan las medidas preventivas adecuadas, pueden producirse lesiones corporales.
ATENCIÓN
Significa que si no se adoptan las medidas preventivas adecuadas, pueden producirse daños materiales.
Si se dan varios niveles de peligro se usa siempre la consigna de seguridad más estricta en cada caso. Si en una
consigna de seguridad con triángulo de advertencia se alarma de posibles daños personales, la misma consigna
puede contener también una advertencia sobre posibles daños materiales.
Personal cualificado
El producto/sistema tratado en esta documentación sólo deberá ser manejado o manipulado por personal
cualificado para la tarea encomendada y observando lo indicado en la documentación correspondiente a la
misma, particularmente las consignas de seguridad y advertencias en ella incluidas. Debido a su formación y
experiencia, el personal cualificado está en condiciones de reconocer riesgos resultantes del manejo o
manipulación de dichos productos/sistemas y de evitar posibles peligros.
Uso previsto o de los productos de Siemens
Considere lo siguiente:
ADVERTENCIA
Los productos de Siemens sólo deberán usarse para los casos de aplicación previstos en el catálogo y la
documentación técnica asociada. De usarse productos y componentes de terceros, éstos deberán haber sido
recomendados u homologados por Siemens. El funcionamiento correcto y seguro de los productos exige que su
transporte, almacenamiento, instalación, montaje, manejo y mantenimiento hayan sido realizados de forma
correcta. Es preciso respetar las condiciones ambientales permitidas. También deberán seguirse las
indicaciones y advertencias que figuran en la documentación asociada.
Marcas registradas
Todos los nombres marcados con ® son marcas registradas de Siemens AG. Los restantes nombres y
designaciones contenidos en el presente documento pueden ser marcas registradas cuya utilización por terceros
para sus propios fines puede violar los derechos de sus titulares.
Exención de responsabilidad
Hemos comprobado la concordancia del contenido de esta publicación con el hardware y el software descritos.
Sin embargo, como es imposible excluir desviaciones, no podemos hacernos responsable de la plena
concordancia. El contenido de esta publicación se revisa periódicamente; si es necesario, las posibles las
correcciones se incluyen en la siguiente edición.
Nota
STEP 7: denominación equivalente
La denominación STEP 7 se utiliza a partir de ahora en este manual como sinónimo de
las denominaciones STEP 7 V5.5 o STEP 7 Professional
Nota
Tipos de CP y servicios de comunicación
Recuerde que los distintos bloques de programa soportan servicios de comunicación
determinados. Por ello, el uso está ligado a la utilización de los tipos de CP soportados
por el servicio de comunicación en cuestión.
Nota
Volumen de suministro de STEP 7 / STEP 7 Professional
El volumen de suministro de las librerías de STEP 7 V5.5 y STEP 7 Professional pueden
diferir entre sí.
Los resúmenes de los bloques de programa indicados en este manual muestran la
disponibilidad para las respectivas familias de dispositivos S7-300 y S7-400. Los
resúmenes no contienen ninguna indicación respecto a la disponibilidad en las
respectivas librerías de STEP 7 V5.5 o STEP 7 Professional.
Encontrará los cambios respecto a las versiones de manual anteriores en el capítulo Historia
del documento (Página 287).
Prólogo ................................................................................................................................................... 3
1 Sinopsis y generalidades sobre el uso .................................................................................................. 13
1.1 Bloques de programa para Industrial Ethernet / PROFINET..................................................13
1.2 Bloques de programa para PROFIBUS ..................................................................................15
1.3 Parametrización de llamadas de los bloques de programa....................................................17
1.4 Parámetros para coordinación de CP y enlaces (parámetros de entrada) ............................18
1.5 Parámetros para definir una determinada área de datos de la CPU (parámetros de
entrada) ...................................................................................................................................19
1.6 Informaciones sobre estado/status (parámetros de salida)....................................................19
2 Bloques de programa para Industrial Ethernet ....................................................................................... 21
2.1 Bloques de programa para los servicios de comunicación abiertos (interfaz
SEND/RECEIVE) ....................................................................................................................21
2.1.1 Sinopsis de bloques de programa y su uso ............................................................................21
2.1.2 AG_SEND / AG_LSEND / AG_SSEND ..................................................................................25
2.1.2.1 Significado y llamada - AG_SEND / AG_LSEND / AG_SSEND .............................................25
2.1.2.2 Forma de trabajar - AG_SEND / AG_LSEND / AG_SSEND ..................................................26
2.1.2.3 Explicación de los parámetros formales - AG_SEND / AG_LSEND / AG_SSEND ................29
2.1.2.4 Códigos de condición AG_SEND, AG_LSEND y AG_SSEND ...............................................30
2.1.3 AG_RECV / AG_LRECV / AG_SRECV ..................................................................................32
2.1.3.1 Significado y llamada - AG_RECV / AG_LRECV / AG_SRECV .............................................32
2.1.3.2 Forma de trabajar - AG_RECV / AG_LRECV / AG_SRECV ..................................................33
2.1.3.3 Explicación de los parámetros formales - AG_RECV / AG_LRECV / AG_SRECV ................38
2.1.3.4 Códigos de condición AG_RECV, AG_LRECV y AG_SRECV ...............................................40
2.2 Bloques de programa para coordinación de accesos en caso de FETCH/WRITE ................42
2.2.1 Sinopsis de bloques de programa y su uso ............................................................................42
2.2.2 AG_LOCK ...............................................................................................................................44
2.2.2.1 Significado y llamada - AG_LOCK ..........................................................................................44
2.2.2.2 Explicación de los parámetros formales - AG_LOCK .............................................................45
2.2.2.3 Códigos de condición del bloque AG_LOCK ..........................................................................45
2.2.3 AG_UNLOCK ..........................................................................................................................46
2.2.3.1 Significado y llamada - AG_UNLOCK.....................................................................................46
2.2.3.2 Explicación de los parámetros formales - AG_UNLOCK........................................................47
2.2.3.3 Códigos de condición del bloque AG_UNLOCK .....................................................................47
2.3 Bloques de programa para el diagnóstico de enlaces y del sistema .....................................48
2.3.1 AG_CNTRL .............................................................................................................................48
2.3.1.1 Significado y llamada - AG_CNTRL........................................................................................48
2.3.1.2 Forma de trabajar AG_CNTRL ...............................................................................................50
2.3.1.3 Explicación de los parámetros formales - AG_CNTRL ...........................................................51
2.3.1.4 Códigos de condición AG_CNTRL .........................................................................................52
2.3.1.5 Comandos y resultados de las peticiones - AG_CNTRL ........................................................53
2.3.2 AG_CNTEX .............................................................................................................................60
Nota
Volumen de suministro de STEP 7 / STEP 7 Professional
El volumen de suministro de las librerías de STEP 7 V5.5 y STEP 7 Professional pueden
diferir entre sí.
Leyenda:
1) El FB88 / FB90 se suministra junto con la herramienta de ingeniería SIMATIC iMap y se registra en la librería del sis-
tema PROFINET al instalar el complemento de STEP 7.
2) No se puede utilizar para CP actuales y ya no forma parte del suministro de la librería "SIMATIC_NET_CP" actual.
3) Dependiendo del tipo de CP
4) Se describe en la documentación de STEP 7
5) Encontrará la descripción subsiguiente del bloque de programa PE_DS3_Write_ET200S_CP para STEP 7 Professio-
nal a continuación de este documento, en la descripción del bloque de programa DS3_WRITE_CP para STEP 7 V5.5,
el cual tiene la misma función.
Nota
Se recomienda utilizar siempre las versiones actuales para todos los tipos de bloques.
Encontrará información sobre las versiones actuales de los bloques así como los bloques
actuales que pueden descargarse en el Siemens Industry Online Support en Internet en la
siguiente dirección:
Enlace: (https://support.industry.siemens.com/cs/ww/es/view/8797900)
Esta recomendación presupone que usted utilice la versión de firmware actual para este tipo
de módulo.
Nota
Tenga en cuenta que, en el caso de utilizar recambios, en el programa de usuario se deben
utilizar solo los bloques autorizados para el tipo de CP configurado.
Se recomienda utilizar siempre las versiones actuales para todos los tipos de bloques.
Esta recomendación presupone que usted utilice la versión de firmware actual para este tipo
de módulo.
Los manuales de producto específicos informan sobre la compatibilidad de los CPs S7 y los
bloques de programa correspondientes.
Nota
Volumen de suministro de STEP 7 / STEP 7 Professional
El volumen de suministro de las librerías de STEP 7 V5.5 y STEP 7 Professional pueden
diferir entre sí.
BRCV FB13 x 1)
PUT FB15 x 1)
GET FB14 x 1)
USEND FB8 x 1)
URCV FB9 x 1)
C_CNTRL FC62 x 1)
1) Descrito en la documentación de STEP 7. En la librería de STEP 7 se suministran los SFBs que deben utilizarse para
S7-400.
2) Se puede utilizar pero no tiene ninguna función especial en PROFIBUS.
Nota
Se recomienda utilizar siempre las versiones actuales para todos los tipos de bloques.
Encontrará información sobre las versiones actuales de los bloques así como los bloques
actuales en el Customer Support en Internet bajo la siguiente referencia:
Enlace: (https://support.industry.siemens.com/cs/ww/es/view/8797900)
Esta recomendación presupone que usted utilice la versión de firmware actual para este tipo
de módulo.
Nota
Tenga en cuenta que, en el caso de utilizar recambios, en el programa de usuario se deben
utilizar sólo los bloques autorizados para el tipo de CP configurado.
Se recomienda utilizar siempre las versiones actuales para todos los tipos de bloques.
Esta recomendación presupone que usted utilice la versión de firmware actual para este tipo
de módulo.
Los manuales del equipo informan sobre la compatibilidad de los CPs S7 y los bloques de
programa correspondientes.
ATENCIÓN
Llamar bloque de comunicación para S7-300
No se permite llamar los bloques de comunicación para S7-300 (SIMATIC NET,
bibliotecas de bloques para S7-300 en STEP 7) en varios niveles de proceso. Si, por
ejemplo, llama un bloque de comunicación en OB1 y en OB35, el procesamiento del
bloque podría ser interrumpido por el OB de prioridad respectivamente superior.
Si llama bloques en varios OBs, tiene que procurar, a través de la programación, que
un bloque de comunicación en procesamiento no sea interrumpido por otro bloque de
comunicación (por ejemplo, por medio del SFC Bloquear/Liberar alarmas).
Aplicar automáticamente los parámetros de bloque (aquí se describe para STEP 7 V5.5)
Para garantizar una parametrización correcta de las llamadas de bloques, STEP7 ofrece en
el editor KOP/AWL/FUP la posibilidad de tomar automáticamente todos los parámetros
relevantes de la configuración del hardware (HW Config) y de la configuración de enlaces
(NetPro).
Para ello, proceda del modo aquí descrito al parametrizar el bloque en el programa de
usuario:
1. Marque la llamada de bloque y sus parámetros de bloque.
2. Seleccione con la tecla derecha del ratón el submenú "Enlaces...".
3. Dependiendo del tipo de bloque puede seleccionar ahora en una lista el enlace y/o el
módulo previstos para el bloque.
4. Confirme la selección; si es posible, se introducen entonces los valores de parámetros
disponibles en la llamada de bloque.
Nota
Si direcciona por error otro tipo de módulo que no sea un CP, se originan errores que no son
señalizados por mensajes de error de los bloques de programa.
Nota
Tenga en cuenta que las indicaciones de estados DONE, NDR, ERROR, STATUS se
actualizan a cada llamada de bloque.
Panorámica
En la interfaz SEND/RECEIVE están disponibles los siguientes bloques de programa para la
transmisión de datos:
Informaciones adicionales
Infórmese sobre al área de datos a la que se da soporte para el CP S7 utilizado por usted
en el manual específico. Encontrará una tabla general de las versiones de FCs/FBs en el
historial de bloques SIMATIC NET.
Uso
El esquema siguiente explica la aplicación de los bloques de programa aquí descritos para
la transferencia de datos bidireccional a través de una conexión configurada.
Nota
En esta página y en las siguientes rige si no se indica expresamente otra cosa, lo dicho para
los bloques AG_SEND / AG_LSEND / AG_SSEND o AG_RECV / AG_LRECV / AG_SRECV.
Ejemplos de programas
Como ayuda, tenga en cuenta también los ejemplos de programas citados a continuación,
que encontrará bajo la siguiente ID de artículo.
● Ejemplo de programa para la interfaz SEND-RECEIVE con los bloques FC5 (AG_SEND)
y FC6 (AG_RECV) para S7-300:
17853532 (https://support.industry.siemens.com/cs/ww/es/view/17853532)
● Ejemplo de programa para la interfaz SEND-RECEIVE con los bloques FC50
(AG_LSEND) y FC60 (AG_LRECV) para S7-400:
18513371 (https://support.industry.siemens.com/cs/ww/es/view/18513371)
Nota
En cuanto a la longitud del área de datos transmitible en el caso de versiones anteriores de
los CPs Ethernet, tenga en cuenta lo dicho en la información de producto / el manual de
producto del CP Ethernet utilizado.
Figura 2-1 Enviar y recibir a través de una conexión UDP libre por programa
Nota
Los parámetros de llamada en la interfaz de llamada de los bloques de programa AG_SEND
o AG_RECV no se pueden modificar, tras la activación de la llamada, hasta después de que
el FC haya confirmado la ejecución de la petición con DONE=1 o con ERROR=1.
Si no se tiene en cuenta esto, puede suceder que se cancele con error la ejecución de la
petición.
Indicador de estado en la interfaz de llamada de FC; peculiaridad de las versiones FC (solo para S7-
300) *)
En el caso de las FCs AG_SEND (FC 5) y AG_RECV (FC 6) aparecen las indicaciones
citadas a continuación en los siguientes casos operativos:
● el CP se encuentra en STOP;
● la conexión no está configurada;
● conexión no establecida;
● conexión cancelada;
Indicadores:
● AG_SEND:
DONE=0; ERROR=1; Status=8183H
● AG_RECV:
DONE=0; ERROR=0; Status=8180H
o
DONE=0; ERROR=1; Status=8183H
*) válido para FCs a partir de la versión 4.0
Interfaz de llamada
Interfaz de llamada en representación FUP
AWL Explicación
call fc 5 ( //llamada de bloque
ACT := M 10.0, //impulso de petición por bit de marcador
ID := MW 12, //ID de enlace según configuración
LADDR := W#16#0100, //=LADDR 256 dec. en configuración de hardware
SEND := P#db99.dbx10.0 byte 240, //búfer con datos de emisión
LEN := MW 14, //dato de longitud para datos de emisión
DONE := M 10.1, //indicación de ejecución
ERROR := M 10.2, //indicación de fallo
STATUS := MW 16 ); //indicación de estado
Nota
Si desea utilizar el FC53 AG_SSEND, al configurar los enlaces tendrá que seleccionar en
las propiedades del enlace el modo "SPEED SEND/RECV".
Forma de trabajar
Los siguientes diagramas de flujo muestran la secuencia normal de la transmisión de datos
disparada con el bloque AG_SEND en el programa de usuario.
La forma de trabajar de FC depende aquí del tipo de CP utilizado.
● Caso 1: Proceso para FC5, FC50, FC53 en CPs S7–400
En S7–400, la transmisión de toda el área de datos es realizada, con independencia de
la longitud de la misma, por el CP tras la primera llamada del bloque.
● Caso 2: Proceso para FC5 en CPs S7–300
En S7–300, la transmisión tiene lugar en varios segmentos de datos (con 240 bytes de
datos útiles cada uno) y se necesitan varias llamadas de FC para la transmisión
completa de los datos.
Nota
En principio es posible llamar varias veces el FC dentro de un ciclo de CPU, para así
acelerar el procesamiento de una petición. Sin embargo se debería considerar que con ello
se somete el ciclo de CPU a una carga correspondiente (diferente según el tipo de CPU).
En S7-400 considerar:
• Rendimiento incrementado en caso de registros
cortos:
la transmisión de registros de hasta 240 bytes tiene
lugar con un rendimiento incrementado. Esto es vá-
lido con independencia del tipo de bloque utilizado
(AG_SEND/AG_LSEND).
• Con AG_SSEND, el área de datos está limitado a
como máximo 1452 bytes.
Códigos de condición
La tabla siguiente muestra el significado de la información suministrada por DONE, ERROR
y STATUS, la cual tiene que ser evaluada por el programa de usuario.
Nota
Para las entradas con la codificación 8FxxH en STATUS, tenga en cuenta también lo dicho
sobre el parámetro de salida RET_VAL en las descripciones de los bloques de programa del
sistema referenciados.
Puede consultar mediante STEP 7 los bloques de programa del sistema que se utilizan y los
que son relevantes para la evaluación de errores.
Consulte también
/5/ (Página 292)
Llamada
Interfaz de llamada en representación FUP
AWL Explicación
call fc 6 ( //llamada de bloque
ID := MW 40, //ID de la conexión según configuración
LADDR := W#16#0100, //=LADDR 256 dec. en la configuración de hardware
RECV := P#M 0.0 BYTE 100, //búfer para datos de recepción
NDR := DB 110.DBX 0.6, //acuse de recibo
ERROR := DB 110.DBX 0.7, //indicación de avería
STATUS := DB 110.DBW 2, //indicación de estado
LEN := DB 110.DBW 4 ); //longitud de datos de recepción
Nota
Si desea utilizar el FC63 AG_SRECV, al configurar los enlaces tendrá que seleccionar en
las propiedades del enlace el modo "SPEED SEND/RECV".
Forma de trabajar
Los siguientes diagramas de flujo muestran la secuencia normal de la transferencia de datos
disparada con el bloque AG_RECV en el programa de usuario.
Cada petición de AG_RECV del programa del usuario es acusado por el CP Ethernet
visualizando valores en los parámetros de salida NDR, ERROR y STATUS.
La forma de trabajar de FC depende aquí del tipo de CP utilizado y de los tipos de enlaces.
● Caso 1: Proceso para FC6 en CPs S7-300
En el caso de los tipos actuales de CPs se dispone de una transmisión de datos
optimizada para la interfaz SEND/RECEIVE. Esto permite, especialmente en el caso de
registros de datos largos, un flujo de datos considerablemente mayor por la interfaz entre
CPU y CP.
● Caso 2: Proceso para FC6 y FC60 en CPs S7-400
En el caso de FC6 / FC60 AG_RECV, el comportamiento en S7 400 es diferente según
el protocolo utilizado.
– Caso 2a: Proceso para enlaces ISO−Transport, ISO−on−TCP, UDP
En estos tipos de enlaces, la transmisión del área de datos es realizada por el CP con
una o varias llamadas del bloque FC6/FC60, según la longitud del área de datos.
– Caso 2b: Proceso para enlaces TCP
En el caso del enlace TCP, es determinante el dato de longitud que aparece en el
puntero ANY del parámetro RECV. Una petición de FC6/FC60 se termina con el
código de condición NDR=1 en cuanto se ha escrito en el búfer de recepción una
cantidad de datos correspondiente a la longitud indicada.
● Caso 3: Proceso para FC63 en CPs S7-400
En el caso de FC63 AG_SRECV, el comportamiento en S7 400 es diferente según el
protocolo utilizado.
– Caso 3a: Proceso para enlaces ISO−Transport, ISO−on−TCP, UDP
En estos tipos de enlaces, la transmisión de toda el área de datos es realizada, con
independencia de su longitud, tras la primera llamada de bloque por el CP.
– Caso 3b: Proceso para enlaces TCP
Para el enlace TCP, con cada llamada se adoptan los datos existentes en el CP hasta
la longitud de petición máxima especificada.
La llamada se tiene que repetir hasta que el registro de datos se haya almacenado de
forma completa y coherente en el búfer de recepción. La adopción completa del
registro de datos se indica, en caso de nuevas llamadas de FC, con el parámetro
NDR=1.
El protocolo aquí utilizado exige que para la transmisión al búfer de recepción se efectúe
una nueva llamada del FC para cada segmento de datos (240 bytes de datos útiles).
Dependiendo de la longitud de los datos útiles, el FC se tiene que llamar tantas veces como
sea necesario para que se indique con el parámetro NDR=1 que se ha completado la
transmisión.
La indicación de estado se actualiza en los parámetros de salida NDR, ERROR y STATUS
con cada llamada de bloque y se puede evaluar.
Caso 2a: Proceso para FC6 y FC60 en CPs S7-400 (para enlaces ISO−Transport, ISO−on−TCP,
UDP)
Al llamar el FC, el programa de usuario prepara el búfer para los datos de recepción e incita
al CP a introducir allí todos los datos disponibles.
Caso 2b: Proceso para FC6 / FC60 en CPs S7-400 (sólo para enlaces TCP)
En el caso del enlace TCP, es determinante el dato de longitud que aparece en el puntero
ANY del parámetro RECV. Una petición de FC6/FC60 se termina con el código de condición
NDR=1 en cuanto se ha escrito en el búfer de recepción una cantidad de datos
correspondiente a la longitud indicada.
El ejemplo de este proceso muestra el caso de que para un FC60 se haya parametrizado a
400 bytes el dato de longitud en el puntero ANY.
Caso 3a: Proceso para FC63 en CPs S7-400 (para enlaces ISO−Transport, ISO−on−TCP, UDP)
Al llamar el FC, el programa de usuario prepara el búfer para los datos de recepción e incita
al CP a introducir allí todos los datos disponibles hasta el término de la transmisión, es decir,
hasta que se alcance la longitud de datos indicada en el puntero ANY.
En cuanto el registro de datos se ha almacenado en forma completa y coherente en el búfer
de recepción, se indica esto con el parámetro NDR=1 en una de las nuevas llamadas de
FC.
La longitud máxima de datos de recepción es de 1452 bytes. El tamaño del búfer de
recepción tiene que estar ajustado siempre a ese valor.
La indicación de estado se actualiza en los parámetros de salida NDR, ERROR y STATUS
con cada llamada de bloque y se puede evaluar.
Caso 3b: Proceso para FC63 en CPs S7-400 (sólo para enlaces TCP)
Al llamar el FC, el programa de usuario prepara el búfer para los datos de recepción e incita
al CP a introducir allí los datos actualmente disponibles. Mientras no se han almacenado por
completo los datos en el búfer de recepción, aparece el mensaje "Petición en curso"
(8181H).
Con la nueva llamada del FC se almacenan en el búfer de recepción los datos actualmente
disponibles. Cuando el registro de datos se ha almacenado en forma completa y coherente
en el búfer de recepción, se indica esto con el parámetro NDR=1 en una de las nuevas
llamadas de FC.
La longitud máxima de datos de recepción es de 1452 bytes. El tamaño del búfer de
recepción tiene que estar ajustado siempre a ese valor.
La indicación de estado se actualiza en los parámetros de salida NDR, ERROR y STATUS
con cada llamada de bloque y se puede evaluar.
Códigos de condición
La tabla siguiente muestra el significado de la información suministrada por los parámetros
NDR, ERROR y STATUS, que tiene que ser evaluada por el programa de usuario.
Nota
Para las entradas con la codificación 8FxxH en STATUS, tenga en cuenta también lo dicho
sobre el parámetro de salida RET_VAL en las descripciones de los bloques de programa del
sistema referenciados.
Puede consultar mediante STEP 7 los bloques de programa del sistema que se utilizan y los
que son relevantes para la evaluación de errores.
Consulte también
/5/ (Página 292)
Panorámica
Para la función FETCH/WRITE están disponibles los siguientes bloques de programa para
la coordinación de accesos:
Forma de trabajar
Con estos bloques de programa tiene la posibilidad de coordinar el acceso a áreas de
memoria del sistema de manera que no se generen y transmitan datos incoherentes. El
control tiene lugar en este caso desde el programa de usuario instalado en la CPU S7, que
puede bloquear, si procede, por medio de la llamada de AG_LOCK un acceso externo de
FETCH/WRITE. Después de un cierto tiempo o una vez concluido el acceso de
escritura/lectura propio, se puede liberar de nuevo el acceso externo por medio de una
petición de AG_UNLOCK.
Además se puede aprovechar el hecho de que el bloqueo de acceso sólo es válido en el
enlace FETCH/WRITE indicado en la llamada. Si se configuran varios enlaces
FETCH/WRITE, éstos se pueden utilizar, por ejemplo, concretamente para determinadas
áreas de memoria del sistema y se puede realizar así una coordinación de accesos
correspondientemente selectiva.
La siguiente representación muestra el desarrollo cronológico usual de una coordinación de
accesos a la memoria en el programa de usuario, controlada por AG_LOCK y AG_UNLOCK.
2.2.2 AG_LOCK
Llamada
Interfaz de llamada en representación FUP
AWL Explicación
call fc 7 ( //llamada de bloque
ID := DB 100.DBW 2, //ID de enlace según configuración
LADDR := W#16#0100, //=LADDR 256 dec. en configuración de hardware
LOCKED := DB 100.DBX 0.6, //indicación de estado del bloqueo de acceso
STATUS := DB 100.DBW 4 ); //indicación de estado
Códigos de condición
La tabla siguiente muestra el significado de las informaciones que tienen que ser evaluadas
por el programa de usuario.
Tabla 2- 2 Códigos de condición de AG_LOCK
STATUS Significado
7000H El CP no procesa ninguna petición
7001H FETCH en curso
7002H WRITE en curso
8183H FETCH/WRITE no configurado para esta conexión (solo para S7-400)
8186H El número de ID no está en el rango permitido (p. ej. 1...64 en caso de CPs S7-400 Industrial Ethernet)
80A4H La conexión de bus K entre CPU y CP no está establecida (en caso de versiones de CPU más recientes).
80B0H El módulo no conoce el registro.
80B1H Longitud (en parámetro LEN) errónea.
80B2H La conexión de bus K entre CPU y CP no está establecida.
80C0H No se puede leer el registro.
80C1H El registro indicado está siendo procesado.
80C2H Hay demasiadas peticiones pendientes.
80C3H Recursos ocupados (memoria) temporalmente en la CPU.
80C4H Error de comunicación
se presenta temporalmente; por ello es conveniente una repetición en el programa de usuario.
80D2H Dirección inicial del módulo errónea.
2.2.3 AG_UNLOCK
Llamada
Interfaz de llamada en representación FUP
AWL Explicación
call fc 8 ( //Llamada de bloque
ID := DB 100.DBW 2, //ID de enlace según configuración
LADDR := W#16#0100, //=LADDR 256 dec. en configuración de hardware
STATUS := DB 100.DBW 4 ); //Indicación de estado
Forma de trabajar
Para volver a habilitar el enlace, la FC debe volver a desactivar el bit de petición LOCK. El
FC indica además el estado actual con mensajes de error.
Códigos de condición
La tabla siguiente informa sobre la indicación de STATUS (código de condición) que tiene
que ser evaluada por el programa de usuario.
STATUS Significado
7000H El CP no procesa ninguna petición
7001H FETCH en curso
7002H WRITE en curso
8183H FETCH/WRITE no configurado para esta conexión (solo para S7-400)
8186H El número de ID no está en el rango permitido (p. ej. 1...64 en caso de CPs S7-400 Industrial Ethernet)
80A4H La conexión de bus K entre CPU y CP no está establecida (en caso de versiones de CPU más recientes).
80B0H El módulo no conoce el registro.
80B1H Longitud (en parámetro LEN) errónea.
80B2H La conexión de bus K entre CPU y CP no está establecida.
80C0H No se puede leer el registro.
80C1H El registro indicado está siendo procesado.
80C2H Hay demasiadas peticiones pendientes.
80C3H Recursos ocupados (memoria) temporalmente en la CPU.
80C4H Error de comunicación
se presenta temporalmente; por ello es conveniente una repetición en el programa de usuario
80D2H Dirección inicial del módulo errónea.
2.3.1 AG_CNTRL
Significado y funcionamiento
Con el bloque de programa AG_CNTRL se tiene la posibilidad de diagnosticar conexiones.
Si es necesario se puede inicializar un nuevo establecimiento de enlace a través del
AG_CNTRL.
Nota
AG_CNTRL y AG_CNTEX
El bloque de programa AG_CNTEX ofrece ampliaciones con respecto al bloque de
programa AG_CNTRL.
Algunas funciones del AG_CNTRL se incluyen en el AG_CNTEX y pueden utilizarse de la
misma forma en la interfaz del programa de usuario.
Interfaz de llamada
Interfaz de llamada en representación FUP
AWL Explicación
call fc 10 ( //AG_CNTRL llamada de bloque
ACT := M1.0, //impulso de petición
ID := MW8, //ID de enlace según configuración
LADDR := W#16#100, //Dirección del módulo según la configuración de hardware
CMD := MW6, //identificador de comando
DONE := M20.1, //indicación de ejecución
ERROR := M20.2, //indicación de fallo
STATUS := MW22, //indicación de estado
RESULT1 := MD24, //resultado de petición 1
RESULT2 := MD28 ); //resultado de petición 2
Consulte también
FAQ bajo la referencia 33414377
(https://support.industry.siemens.com/cs/ww/es/view/33414377)
Forma de trabajar
El proceso representado a continuación muestra una secuencia típica de peticiones
AG_CNTRL en el programa de usuario.
El proceso muestra cómo se consulta primero el estado del enlace y cómo se impulsa en
una segunda petición la disolución del enlace con el comando Reset.
En el CP se pone para ello el identificador de Reset (Bit15 en RESULT1). De este modo, en
caso de una consulta de estado posterior se puede reconocer si el enlace se ha repuesto al
estado original debido a una petición de reset. Sólo después de esta consulta de estado (o
debido a un comando explícito CN_CLEAR_RESET) se repone este identificador de Reset
en el CP.
Nota
A la llamada del bloque tiene que estar puesto ACT = 1; en caso de llamada con ACT=0 no
se llama la función y el bloque se abandona de inmediato.
Dado que en el caso de FC10 se pone a disposición el resultado de la petición
sincrónicamente con la llamada, se puede llamar de nuevo en el mismo ciclo.
Códigos de condición
La tabla siguiente muestra el significado de la información suministrada por DONE, ERROR
y STATUS, la cual tiene que ser evaluada por el programa de usuario.
Adicionalmente se tienen que evaluar los resultados de comandos en los parámetros
RESULT1/2 según "Comandos y resultados de las peticiones - AG_CNTRL (Página 53)".
Nota
Evaluación de comandos para tipos de CP o versiones de firmware anteriores
Los comandos descritos a continuación son compatibles con tipos de CP o versiones de
firmware actuales. Observe las indicaciones adicionales que aparecen bajo la siguiente ID
de artículo en Internet:
33414377 (https://support.industry.siemens.com/cs/ww/es/view/33414377)
CMD Significado
0 NOP – no operation
Se pasa por el bloque sin petición al CP.
RESULT (para CMD = 0) Significado
Parámetro Valor Hex/rango
RESULT1 0000 0001H Secuencia sin error
RESULT2 0000 0000H Valor predeterminado
CMD Significado
1 CN_STATUS – connection status
Este comando proporciona el estado de la conexión seleccionada con la ID.
El CP se ha seleccionado a través del parámetro LADDR.
Si estuviera activado el bit 15 (identificador de reset), se desactiva automáticamente (este comportamiento
concuerda con la petición CN_CLEAR_RESET - consulte CMD = 5).
RESULT (para CMD = 1) Valor / Significado
Parámetro Valor Hex/rango Bit
RESULT1 0000 000*H Bits 0-3: códigos de condición para el sentido de emisión
(valores excluidos: 0x2)
Bit 0 Tipo de conexión
• 0: no hay conexión de transmisión y recepción
• 1: conexión reservada para peticiones de transmisión
y recepción
Bit 1 Estado de la petición actual
• 0: no hay petición de transmisión en proceso
• 1: petición de transmisión en proceso
Bits 2+3 Petición precedente:
• 00: no hay información disponible sobre la petición de
transmisión precedente
• 01: petición de transmisión precedente concluida
positivamente
• 10: petición de transmisión precedente concluida
negativamente
CMD Significado
1 CN_STATUS – connection status (continuación para CMD=1)
Este comando proporciona el estado de la conexión seleccionada con la ID.
El CP se ha seleccionado a través del parámetro LADDR.
Si estuviera activado el bit 15 (identificador de reset), se desactiva automáticamente (este comportamiento
concuerda con la petición CN_CLEAR_RESET - consulte CMD = 5).
RESULT (para CMD = 1) Valor / Significado
Parámetro Valor Hex/rango Bit
RESULT1 0000 00*0H Bits 4−7: códigos de condición para el sentido de recepción
(valores excluidos: 0x2)
Bit 4 Tipo de conexión
• 0: no hay conexión de transmisión y recepción
• 1: conexión reservada para peticiones de transmisión
y recepción
CMD Significado
Bit 5 Estado de la petición actual
• 0: no hay petición de recepción en proceso
• 1: petición de recepción en proceso
Bits 6+7 Petición precedente:
• 00: no hay información disponible sobre la petición de
recepción precedente
• 01: petición de recepción precedente concluida posi-
tivamente
• 10: petición de recepción precedente concluida nega-
tivamente
CMD Significado
1 CN_STATUS – connection status (continuación para CMD=1)
Este comando proporciona el estado de la conexión seleccionada con la ID.
El CP se ha seleccionado a través del parámetro LADDR.
Si estuviera activado el bit 15 (identificador de reset), se desactiva automáticamente (este comportamiento
concuerda con la petición CN_CLEAR_RESET - consulte CMD = 5).
RESULT (para CMD = 1) Valor / Significado
Parámetro Valor Hex/rango Bit
RESULT1 0000 0*00H Bits 8-11: códigos de condición para FETCH/WRITE
(valores excluidos:0x3,0x7,0x8,0xB,0xF)
Bit 8 Tipo de conexión:
• 0: no hay conexión FETCH
• 1: conexión reservada para peticiones FETCH
Bit 9 Tipo de conexión:
• 0: no hay conexión WRITE
• 1: conexión reservada para peticiones WRITE
Bit 10 Estado de la petición (FETCH/WRITE):
• 0: estado de la petición OK
• 1: estado de la petición NOT OK
este identificador se pone en los siguientes casos:
– la petición ha sido acusada negativamente por la
CPU
– la petición no se ha podido transmitir a la CPU por
estar la conexión en estado "LOCKED"
– la petición ha sido rechazada porque el encabe-
zado de FETCH/WRITE no tenía la estructura co-
rrecta
Bit 11 Estado de petición FETCH/WRITE
• 0: ninguna petición en curso
• 1: en curso una petición de LAN
CMD Significado
1 CN_STATUS – connection status (continuación para CMD=1)
Este comando proporciona el estado de la conexión seleccionada con la ID.
El CP se ha seleccionado a través del parámetro LADDR.
Si estuviera activado el bit 15 (identificador de reset), se desactiva automáticamente (este comportamiento
concuerda con la petición CN_CLEAR_RESET - consulte CMD = 5).
RESULT (para CMD = 1) Valor / Significado
Parámetro Valor Hex/rango Bit
RESULT1 0000 *000H Bits 12-15: información general del CP
(valores excluidos: 0x3,0xB)
Bits 12 + 13 Información sobre el estado de la conexión:
(disponible solo para conexiones SEND/RECV que utili-
cen los protocolos ISO/RFC/TCP; en caso de UDP se
emiten las informaciones internas correspondientes)
• 00: conexión deshecha
• 01: se está estableciendo la conexión
• 10: se está deshaciendo la conexión
• 11: conexión establecida
Bit 14 Información del CP:
• 0: CP en STOP
• 1: CP en RUN
Bit 15 Identificador de reset
• 0: no se ha ejecutado aún ningún reset de conexión a
través de la FC10 o se ha retirado el identificador de
reset.
• 1: se ha ejecutado un reset de conexión a través del
bloque Control.
RESULT1 **** 0000H Bits 16-31: reservado
0 – reservado para futuras ampliaciones
RESULT2 0000 0000H - reservado para futuras ampliaciones -
CMD Significado
2 CN_RESET – connection reset
Este comando desactiva la conexión seleccionada con la ID.
El CP se ha seleccionado a través del parámetro LADDR.
La desactivación (reset) de la conexión provoca una cancelación de la misma y un nuevo establecimiento
(activo o pasivo, según la configuración). Se borran los datos recibidos en el momento de la cancelación de la
conexión, pero todavía no adoptados en el programa de usuario.
Se genera adicionalmente una entrada en el búfer de diagnóstico, en la que se puede ver el resultado de la
petición.
RESULT (para CMD = 2) Significado
Parámetro Valor Hex/rango
RESULT1 0000 0001H La petición de reset se ha transmitido con éxito al CP.
Se han impulsado la cancelación de la conexión y su
subsiguiente establecimiento.
0000 0002H La petición de reset no se ha podido transmitir al CP por
no estar iniciado el servicio en el CP (p. ej. CP en
STOP).
RESULT2 0000 0000H Valor predeterminado
CMD Significado
3 CN_STATUS_ALL – all connections status
Este comando proporciona en los parámetros RESULT1/2 (en total 8 bytes de información colectiva) el estado
de conexión de todas las conexiones (establecidas/deshechas).
El parámetro ID tiene que estar puesto a "0" (se verifica en cuanto a 0).
El CP se ha seleccionado a través del parámetro LADDR.
En caso necesario, es posible obtener información detallada sobre una conexión deshecha o no configurada a
través de una nueva llamada de estado, dirigida a la conexión, con CMD=1.
RESULT (para CMD = 3) Significado
Parámetro Valor Hex/rango
RESULT1 **** ****H 32 bits: conexión 1 - 32
• 0 – conexión deshecha / no configurada
• 1 – conexión establecida
RESULT2 **** ****H 32 bits: conexión 33 - 64
• 0 – conexión deshecha / no configurada
• 1 – conexión establecida
CMD Significado
4 CN_RESET_ALL – all connections reset:
Este comando desactiva todas las conexiones.
El parámetro ID tiene que estar puesto a "0" (se verifica en cuanto a 0).
El CP se ha seleccionado a través del parámetro LADDR.
La desactivación (reset) de las conexiones provoca una cancelación de las mismas y un nuevo establecimien-
to (activo o pasivo, según la configuración). Se borran los datos recibidos en el momento de la cancelación de
la conexión, pero todavía no adoptados en el programa de usuario.
Se genera adicionalmente una entrada en el búfer de diagnóstico, en la que se puede ver el resultado de la
petición.
RESULT (para CMD = 4) Significado
Parámetro Valor Hex/rango
RESULT1 0000 0001H La petición de reset se ha transmitido con éxito al CP. Se
han impulsado la cancelación y el subsiguiente estable-
cimiento de todas las conexiones.
RESULT1 0000 0002H La petición de reset no se ha podido transmitir al CP por
no estar iniciado el servicio en el CP (p. ej. CP en
STOP).
RESULT2 0000 0000H Valor predeterminado
CMD Significado
5 CN_CLEAR_RESET – desactivación del identificador de reset
Este comando resetea el identificador de reset (bit 15 en RESULT1) para la conexión seleccionada con la ID.
El CP se ha seleccionado a través del parámetro LADDR.
Esta petición se ejecuta también automáticamente al leer el estado de la conexión (CMD=1); la petición envia-
ble por separado aquí descrita solo se necesita por lo tanto en casos especiales.
RESULT (para CMD = 5) Significado
Parámetro Valor Hex/rango
RESULT1 0000 0001H La petición de Clear se ha transmitido con éxito al CP.
RESULT1 0000 0002H La petición de Clear no se ha podido transmitir al CP por
no estar iniciado el servicio en el CP (p. ej. CP en
STOP).
RESULT2 0000 0000H Valor predeterminado
CMD Significado
6 CN_DISCON − connection disconnect
Este comando anula la conexión que se había seleccionado con ID y LADDR.
La anulación de la conexión se realiza también con una cancelación de la conexión.
Los datos que puedan estar guardados en la pila se pierden sin advertencia. Después de esto no se produce
ningún establecimiento automático de la conexión. La conexión se puede restablecer con la petición de Con-
trol CN_STARTCON. Se crea una entrada en el búfer de diagnóstico, en la que se puede ver el resultado de la
petición.
RESULT (para CMD = 6) Significado
Parámetro Valor Hex/rango
RESULT1 0000 0001H La petición se ha transmitido con éxito al CP. Se ha ini-
ciado la cancelación de la conexión.
RESULT1 0000 0002H La petición no se ha podido transmitir al CP por no estar
iniciado el servicio en el CP (p. ej. CP en STOP).
RESULT2 0000 0000H Valor predeterminado
CMD Significado
7 CN_STARTCON − start connection
Este comando establece una conexión seleccionada con ID y LADDR y que se canceló antes con la petición
de Control CN_DISCON. Se crea una entrada en el búfer de diagnóstico, en la que se puede ver el resultado
de la petición.
RESULT (para CMD = 7) Significado
Parámetro Valor Hex/rango
RESULT1 0000 0001H La petición de establecimiento de la conexión se ha
transmitido con éxito al CP. Se ha iniciado el estableci-
miento de la conexión.
RESULT1 0000 0002H La petición de establecimiento de la conexión no se ha
podido transmitir al CP por no estar iniciado el servicio en
el CP (p. ej. CP en STOP).
RESULT2 0000 0000H Valor predeterminado
Consulte también
Observe las indicaciones adicionales que aparecen bajo la siguiente ID de artículo en las
preguntas frecuentes (FAQ): 33414377
(https://support.industry.siemens.com/cs/ww/es/view/33414377)
2.3.2 AG_CNTEX
Significado y funcionamiento
Con el bloque de programa AG_CNTEX existe la posibilidad de diagnosticar conexiones y
activar dispositivos en la red mediante el comando ping. Si es necesario se puede inicializar
un nuevo establecimiento de conexión a través de AG_CNTEX.
Nota
AG_CNTRL y AG_CNTEX
El bloque de programa AG_CNTEX ofrece ampliaciones con respecto al bloque de
programa AG_CNTRL.
Algunas funciones del AG_CNTRL se incluyen en el AG_CNTEX y pueden utilizarse de la
misma forma en la interfaz del programa de usuario.
Nota
Disponibilidad en la librería del bloque
Si el bloque de programa AG_CNTEX aún no está disponible en la librería de bloques
SIMATIC_NET_CP, instale la librería de bloques SIMATIC NET actual, que se encuentra en
Internet bajo la siguiente ID de artículo:
Enlace: (https://support.industry.siemens.com/cs/ww/es/view/109481127)
Interfaz de llamada
Interfaz de llamada en representación FUP
AWL Explicación
call fb 10, DB10 ( //AG_CNTEX llamada de bloque
ACT := DB11.DBX0.0, //lanzamiento de petición
ID := DB11.DBW2, //ID de conexión según configuración
LADDR := DB11.DBW4, //dirección del módulo según la configuración hardware
CMD := DB11.DBW6, //identificador de comando
PING := P#DB11.DBX8.0, //área de datos con datos ping
DONE := DB11.DBX16.0, //indicador de ejecución
ERROR := DB11.DBX16.1, //indicador de error
STATUS := DB11.DBW18, //indicador de estado
RESULT1 := DB11.DBD20, //resultado de petición 1
RESULT2 := DB11.DBD24); //resultado de petición 2
Forma de trabajar
El proceso representado a continuación muestra una secuencia típica de peticiones
AG_CNTEX en el programa de usuario. Para comandos PING encontrará a continuación
otro ejemplo de representación de la secuencia.
El proceso muestra cómo se consulta primero el estado del enlace y cómo se impulsa en
una segunda petición la disolución del enlace con el comando Reset.
Nota
En la llamada del bloque debe ponerse ACT a 1. Al llamar con ACT=0 no se produce
llamada de la función y el bloque se abandona de inmediato.
Dado que en el caso de AG_CNTEX se pone a disposición el resultado de la petición
sincrónicamente con la llamada, se puede llamar de nuevo en el mismo ciclo.
Nota
Ping requiere una conexión configurada
El comando ping requiere que como mínimo esté configurada una conexión para la interfaz
SEND/RECEIVE (TCP, ISO-on-TCP, ISO-Transport, UDP).
La representación siguiente muestra una secuencia típica de una petición ping con la
correspondiente consulta de resultado ping.
Códigos de condición
La tabla siguiente muestra el significado de la información suministrada por DONE, ERROR
y STATUS, la cual tiene que ser evaluada por el programa de usuario.
Nota
Evaluación de comandos para tipos de CP o versiones de firmware anteriores
Los comandos descritos a continuación son compatibles con tipos de CP o versiones de
firmware actuales. Observe las indicaciones adicionales que aparecen bajo la siguiente ID
de artículo en Internet:
33414377 (https://support.industry.siemens.com/cs/ww/es/view/33414377)
CMD Significado
0 NOP – no operation
Se pasa por el bloque sin petición al CP.
RESULT (para CMD = 0) Significado
Parámetro Valor Hex/rango
RESULT1 0000 0001H Secuencia sin error
RESULT2 0000 0000H Valor predeterminado
CMD Significado
1 CN_STATUS – connection status
Este comando proporciona el estado de la conexión seleccionada con la ID.
El CP se ha seleccionado a través del parámetro LADDR.
Si estuviera activado el bit 15 (identificador de reset), se desactiva automáticamente (este comportamiento
concuerda con la petición CN_CLEAR_RESET - consulte CMD = 5).
RESULT (para CMD = 1) Valor / Significado
Parámetro Valor Hex/rango Bit
RESULT1 0000 000*H Bits 0-3: códigos de condición para el sentido de emisión
(valores excluidos: 0x2)
Bit 0 Tipo de conexión
• 0: no hay conexión de transmisión y recepción
• 1: conexión reservada para peticiones de transmisión
y recepción
Bit 1 Estado de la petición actual
• 0: no hay petición de transmisión en proceso
• 1: petición de transmisión en proceso
Bits 2+3 Petición precedente:
• 00: no hay información disponible sobre la petición de
transmisión precedente
• 01: petición de transmisión precedente concluida
positivamente
• 10: petición de transmisión precedente concluida
negativamente
CMD Significado
1 CN_STATUS – connection status (continuación para CMD=1)
Este comando proporciona el estado de la conexión seleccionada con la ID.
El CP se ha seleccionado a través del parámetro LADDR.
Si estuviera activado el bit 15 (identificador de reset), se desactiva automáticamente (este comportamiento
concuerda con la petición CN_CLEAR_RESET - consulte CMD = 5).
RESULT (para CMD = 1) Valor / Significado
Parámetro Valor Hex/rango Bit
RESULT1 0000 00*0H Bits 4−7: códigos de condición para el sentido de recepción
(valores excluidos: 0x2)
Bit 4 Tipo de conexión
• 0: no hay conexión de transmisión y recepción
• 1: conexión reservada para peticiones de transmisión
y recepción
Bit 5 Estado de la petición actual
• 0: no hay petición de recepción en proceso
• 1: petición de recepción en proceso
CMD Significado
Bits 6+7 Petición precedente:
• 00: no hay información disponible sobre la petición de
recepción precedente
• 01: petición de recepción precedente concluida posi-
tivamente
• 10: petición de recepción precedente concluida nega-
tivamente
CMD Significado
1 CN_STATUS – connection status (continuación para CMD=1)
Este comando proporciona el estado de la conexión seleccionada con la ID.
El CP se ha seleccionado a través del parámetro LADDR.
Si estuviera activado el bit 15 (identificador de reset), se desactiva automáticamente (este comportamiento
concuerda con la petición CN_CLEAR_RESET - consulte CMD = 5).
RESULT (para CMD = 1) Valor / Significado
Parámetro Valor Hex/rango Bit
RESULT1 0000 0*00H Bits 8-11: códigos de condición para FETCH/WRITE
(valores excluidos:0x3,0x7,0x8,0xB,0xF)
Bit 8 Tipo de conexión:
• 0: no hay conexión FETCH
• 1: conexión reservada para peticiones FETCH
Bit 9 Tipo de conexión:
• 0: no hay conexión WRITE
• 1: conexión reservada para peticiones WRITE
Bit 10 Estado de la petición (FETCH/WRITE):
• 0: estado de la petición OK
• 1: estado de la petición NOT OK
este identificador se pone en los siguientes casos:
– la petición ha sido acusada negativamente por la
CPU
– la petición no se ha podido transmitir a la CPU por
estar la conexión en estado "LOCKED"
– la petición ha sido rechazada porque el encabe-
zado de FETCH/WRITE no tenía la estructura co-
rrecta
Bit 11 Estado de petición FETCH/WRITE
• 0: ninguna petición en curso
• 1: en curso una petición de LAN
CMD Significado
1 CN_STATUS – connection status (continuación para CMD=1)
Este comando proporciona el estado de la conexión seleccionada con la ID.
El CP se ha seleccionado a través del parámetro LADDR.
Si estuviera activado el bit 15 (identificador de reset), se desactiva automáticamente (este comportamiento
concuerda con la petición CN_CLEAR_RESET - consulte CMD = 5).
RESULT (para CMD = 1) Valor / Significado
Parámetro Valor Hex/rango Bit
RESULT1 0000 *000H Bits 12-15: información general del CP
(valores excluidos: 0x3,0xB)
Bits 12 + 13 Información sobre el estado de la conexión:
(disponible solo para conexiones SEND/RECV que utili-
cen los protocolos ISO/RFC/TCP; en caso de UDP se
emiten las informaciones internas correspondientes)
• 00: conexión deshecha
• 01: se está estableciendo la conexión
• 10: se está deshaciendo la conexión
• 11: conexión establecida
Bit 14 Información del CP:
• 0: CP en STOP
• 1: CP en RUN
Bit 15 Identificador de reset
• 0: no se ha ejecutado aún ningún reset de conexión a
través de AG_CNTEX o se ha retirado la identifica-
ción de reset.
• 1: se ha realizado un reset de conexión a través de
AG_CNTEX.
RESULT1 **** 0000H Bits 16-31: reservado
0 – reservado para futuras ampliaciones
RESULT2 0000 0000H - reservado para futuras ampliaciones -
CMD Significado
2 CN_RESET – connection reset
Este comando desactiva la conexión seleccionada con la ID.
El CP se ha seleccionado a través del parámetro LADDR.
La desactivación (reset) de la conexión provoca una cancelación de la misma y un nuevo establecimiento
(activo o pasivo, según la configuración). Se borran los datos recibidos en el momento de la cancelación de la
conexión, pero todavía no adoptados en el programa de usuario.
Se genera adicionalmente una entrada en el búfer de diagnóstico, en la que se puede ver el resultado de la
petición.
RESULT (para CMD = 2) Significado
Parámetro Valor Hex/rango
RESULT1 0000 0001H La petición de reset se ha transmitido con éxito al CP.
Se han impulsado la cancelación de la conexión y su
subsiguiente establecimiento.
0000 0002H La petición de reset no se ha podido transmitir al CP por
no estar iniciado el servicio en el CP (p. ej. CP en
STOP).
RESULT2 0000 0000H Valor predeterminado
CMD Significado
3 CN_STATUS_ALL – all connections status
Este comando proporciona en los parámetros RESULT1/2 (en total 8 bytes de información colectiva) el estado
de conexión de todas las conexiones (establecidas/deshechas).
El parámetro ID tiene que estar puesto a "0" (se verifica en cuanto a 0).
El CP se ha seleccionado a través del parámetro LADDR.
En caso necesario, es posible obtener información detallada sobre una conexión deshecha o no configurada a
través de una nueva llamada de estado, dirigida a la conexión, con CMD=1.
RESULT (para CMD = 3) Significado
Parámetro Valor Hex/rango
RESULT1 **** ****H Para cada conexión:
32 bits con la siguiente validez: • 0 – conexión deshecha / no configurada
• Para S7-400: bits 0-31 para • 1 – conexión establecida
conexión 1 - 32
• Para S7-300: bits 0-15 para
conexión 1 - 16
RESULT2 **** ****H Para cada conexión:
32 bits con la siguiente validez: • 0 – conexión deshecha / no configurada
• Para S7-400: bits 0-31 para • 1 – conexión establecida
conexión 33 - 64
CMD Significado
4 CN_RESET_ALL – all connections reset
Este comando desactiva todas las conexiones.
El parámetro ID tiene que estar puesto a "0" (se verifica en cuanto a 0).
El CP se ha seleccionado a través del parámetro LADDR.
La desactivación (reset) de las conexiones provoca una cancelación de las mismas y un nuevo establecimien-
to (activo o pasivo, según la configuración). Se borran los datos recibidos en el momento de la cancelación de
la conexión, pero todavía no adoptados en el programa de usuario.
Se genera adicionalmente una entrada en el búfer de diagnóstico, en la que se puede ver el resultado de la
petición.
RESULT (para CMD = 4) Significado
Parámetro Valor Hex/rango
RESULT1 0000 0001H La petición de reset se ha transmitido con éxito al CP. Se
han impulsado la cancelación y el subsiguiente estable-
cimiento de todas las conexiones.
RESULT1 0000 0002H La petición de reset no se ha podido transmitir al CP por
no estar iniciado el servicio en el CP (p. ej. CP en
STOP).
RESULT2 0000 0000H Valor predeterminado
CMD Significado
5 CN_CLEAR_RESET – inicialización del identificador de reset
Este comando resetea el identificador de reset (bit 15 en RESULT1) para la conexión seleccionada con la ID.
El CP se ha seleccionado a través del parámetro LADDR.
Esta petición se ejecuta también automáticamente al leer el estado de la conexión (CMD=1); la petición envia-
ble por separado aquí descrita solo se necesita por lo tanto en casos especiales.
RESULT (para CMD = 5) Significado
Parámetro Valor Hex/rango
RESULT1 0000 0001H La petición de Clear se ha transmitido con éxito al CP.
RESULT1 0000 0002H La petición de Clear no se ha podido transmitir al CP por
no estar iniciado el servicio en el CP (p. ej. CP en
STOP).
RESULT2 0000 0000H Valor predeterminado
CMD Significado
6 CN_DISCON − connection disconnect
Este comando anula la conexión que se había seleccionado con ID y LADDR.
La anulación de la conexión se realiza también con una cancelación de la conexión.
Los datos que puedan estar guardados en la pila se pierden sin advertencia. Después de esto no se produce
ningún establecimiento automático de la conexión. La conexión se puede restablecer con la petición de Con-
trol CN_STARTCON. Se crea una entrada en el búfer de diagnóstico, en la que se puede ver el resultado de la
petición.
RESULT (para CMD = 6) Significado
Parámetro Valor Hex/rango
RESULT1 0000 0001H La petición se ha transmitido con éxito al CP. Se ha ini-
ciado la cancelación de la conexión.
RESULT1 0000 0002H La petición no se ha podido transmitir al CP por no estar
iniciado el servicio en el CP (p. ej. CP en STOP).
RESULT2 0000 0000H Valor predeterminado
CMD Significado
7 CN_STARTCON − start connection
Este comando establece una conexión seleccionada con ID y LADDR y que se canceló antes con la petición
de Control CN_DISCON. Se crea una entrada en el búfer de diagnóstico, en la que se puede ver el resultado
de la petición.
RESULT (para CMD = 7) Significado
Parámetro Valor Hex/rango
RESULT1 0000 0001H La petición de establecimiento de la conexión se ha
transmitido con éxito al CP. Se ha iniciado el estableci-
miento de la conexión.
RESULT1 0000 0002H La petición de establecimiento de la conexión no se ha
podido transmitir al CP por no estar iniciado el servicio en
el CP (p. ej. CP en STOP).
RESULT2 0000 0000H Valor predeterminado
CMD Significado
8 PING_REQUEST - Enviar petición ping
Este comando envía una petición ping al CP. Seguidamente, el CP ordena 4 peticiones eco ping para la direc-
ción IP indicada.
RESULT (para CMD = 8) Significado
Parámetro Valor Hex/rango
RESULT1 0000 0001H La petición ping se ha enviado correctamente al CP.
RESULT2 0000 0002H No ha sido posible enviar correctamente la petición ping
al CP porque el servicio correspondiente no estaba ac-
cesible en el CP.
La causa posible es, por ejemplo: CP en modo STOP.
CMD Significado
9 PING_RESULT - Consultar resultado ping
Este comando envía una consulta de resultado ping al CP. El CP transfiere los resultados de las 4 peticiones
eco ping realizadas en el parámetro RESULT.
La llamada no se considera correcta hasta que el CP ha concluido las 4 peticiones eco ping.
RESULT (para CMD = 9) Significado
Parámetro Valor Hex/rango
RESULT1 **** ****H 1. palabra:
Tiempo de respuesta en ms a la 1.ª petición eco ping.
2. palabra:
Tiempo de respuesta en ms a la 2.ª petición eco ping.
Ejemplo:
0005 FFFFH
eco 1 -> recibida tras 5 ms
eco 2 -> sin eco en el tiempo de vigilancia indicado,
RESULT2 **** ****H 1. palabra:
Tiempo de respuesta en ms a la 3.ª petición eco ping.
2. palabra:
Tiempo de respuesta en ms a la 4.ª petición eco ping.
Ejemplo:
0002 3456H
eco 3 -> recibida tras 2 ms
eco 4 -> recibida tras 13398 ms
Rango de valores para palabras de datos en RESULT1 / RESULT 2:
0000H no utilizado
0001H ... EA60H Tiempo de respuesta en ms
0001H = 1 ms
EA60H = 60000 ms
EA61H ... FFFEH no utilizado
FFFFH Timeout: sin eco dentro del tiempo de vigilancia especifi-
cado.
CMD Significado
10 CONN_TYPE - tipo de conexión
Este comando induce al CP a indicar el tipo de conexión actual para la ID de conexión indicada.
RESULT (para CMD = 10) Significado
Parámetro Valor Hex/rango
RESULT1 0000 000*H La petición proporciona los valores siguientes para los
posibles tipos de conexión:
0: no se ha creado ninguna conexión
1: conexión UDP
2: conexión SMTP
3: conexión TCP
4: conexión UDP libre
5: conexión FTP
6: conexión ISO-Transport
7: conexión ISO-on-TCP
RESULT2 0000 0000H Valor predeterminado
Consulte también
Observe las indicaciones adicionales que aparecen bajo la siguiente ID de artículo en las
preguntas frecuentes (FAQ): 33414377
(https://support.industry.siemens.com/cs/ww/es/view/33414377)
Nota
Tenga en cuenta que los servicios de cliente FTP de CPUs SIMATIC S7-300 más antiguas,
por ejemplo, CPU 312 o CPU 315-1AF01, no pueden ejecutarse, ya que no soportan el
SFC24.
Para S7-300 y uso de FC40 - FC44 rige: el CP necesita además la FC5 suministrada
(AG_SEND) para la ejecución de las FCs FTP; no se puede cambiar el nombre de la FC5
para esta aplicación.
Consulte también
Migración de FC 40-44 a FTP_CMD (Página 89)
Validez
El FB40 se puede utilizar a partir de los siguientes tipos de módulos:
● A partir de CP 343-1 Advanced - GX30*) / GX31**)
● A partir de CP 443-1 Advanced - GX20*) / GX30
*) Los comandos 33 (CONNECT_PASSIVE), 17 (CONNECT_TLS_PRIVATE) y
49 (CONNECT_TLS_PRIVATE_PASSIVE) no pueden utilizarse.
**) Los comandos 33 (CONNECT_PASSIVE) y
49 (CONNECT_TLS_PRIVATE_PASSIVE) no pueden utilizarse
Los comandos 33 "CONNECT_PASSIVE" y 49 "CONNECT_TLS_PRIVATE_PASSIVE" solo
son soportados por el CP 443-1 Advanced a partir de la versión de firmware V3.2 y a partir
de la versión de bloque 2.2.
Significado
Con el FB40 se pueden establecer conexiones FTP y transmitir archivos desde y a un
servidor FTP.
El FB40 sustituye las funciones FTP FC40 hasta FC44 utilizadas hasta ahora. Las
diferencias de estas funciones son representadas en el FB40 a través de un parámetro de
comando.
Con el FB40 se obtienen las siguientes ventajas:
● Simplificación en el programa de usuario por desarrollo a través de variables de
comandos en lugar de diferentes llamadas de funciones
● La función AG_SEND (FC5) no se necesita para la ejecución.
● Los siguientes comandos en el parámetro "CMD" ofrecen funciones adicionales:
– APPEND
El comando permite adjuntar datos a un archivo ya existente.
– RETR_PART
El comando permite leer selectivamente áreas de datos de un archivo.
– CONNECT_PASSIVE
Comando para establecer una conexión FTP
El cliente establece la conexión de datos, el servidor está en modo pasivo.
– CONNECT_TLS_PRIVATE
Comando para establecer una conexión FTP con seguridad SSL.
El servidor establece la conexión de datos FTP de forma activa.
– CONNECT_TLS_PRIVATE_PASSIVE
Comando para establecer una conexión FTP con seguridad SSL.
El cliente establece la conexión de datos, el servidor está en modo pasivo.
Interfaz de llamada
Interfaz de llamada en representación FUP
AWL Explicación
CALL FB 40, DB 40 ( // llamada de bloque
ID := 4, // ID de conexión FTP según configuración
LADDR := W#16#3FFD, // dirección de módulo según configuración
CMD := B#16#3, // el comando FTP que debe ejecutarse
NAME_STR := P#DB44.DBX 170.0 BYTE 220, // dirección y longitud del área de datos de des-
FILE_DB_NR := 42, tino
OFFSET := DW#16#0, // número del bloque de datos
LEN := DW#16#0, // (irrelevante en el ejemplo)
DONE := M 420.1, // (irrelevante en el ejemplo)
ERROR := M 420.2, // parámetro de estado
STATUS := MW 422); // indicador de error
// indicador de estado
Nota
Tenga en cuenta que los servicios de cliente FTP de CPUs SIMATIC S7-300 menos
recientes, por ejemplo CPU 312 o CPU 315-1AF01, no se pueden ejecutar, ya que no
soportan la función especial SFC 24.
Introducción
Para la evaluación del estado se tienen que evaluar estos parámetros en el programa de
usuario:
Los parámetros DONE, ERROR y STATUS se actualizan a cada llamada del bloque.
Ejemplo
Durante una ejecución de petición, el FB 40 proporciona los códigos de condición:
● DONE=0
● ERROR=0
● STATUS=8181H
Significado: la petición aún está en curso.
Nota
Para las entradas con la codificación 8FxxH en STATUS, tenga en cuenta también lo dicho
en el manual de referencia STEP 7 Funciones estándar y funciones de sistema. Allí
encontrará informaciones en el capítulo "Evaluación de fallos con el parámetro de salida
RET_VAL".
Tabla 2- 14 FB 40: significado del parámetro STATUS en relación con DONE y ERROR
Comparación del bloque de funciones FB40 con las anteriores funciones FC40...44
Todos los CPs con funcionalidad FTP soportan las funciones FC40...44. Por lo tanto, los
programas de usuario disponibles se pueden seguir utilizando sin modificación.
Si desea cambiar de las funciones FTP FC40...44 a FB40, tendrá que modificar su
programa de usuario.
La tabla siguiente le muestra con qué comandos del FB40 puede implementar las funciones
FC40...44.
● Las coincidencias están marcadas con "X".
● La falta de correspondencias está marcada con "-".
2.4.3 FTP_CONNECT
Significado
El FTP-Client establece con esta llamada de función un enlace FTP con un FTP-Server.
Para esto se tienen que transmitir al servidor FTP la dirección IP del servidor FTP, la
identificación del usuario (username) y (si es necesario) la contraseña para identificación del
usuario.
El FTP-Client realiza todos los demás accesos sobre la base de esta identificación del
usuario, si se utiliza el mismo ID para el enlace FTP. Los datos se intercambian entonces
con el servidor FTP indicado para este usuario.
Interfaz de llamada
AWL Explicación
call fc40 ( //llamar FTP_CONNECT
ACT := M 420.0, // impulso de petición por bit de marca
ID := 4, // ID de enlace FTP según configuración
LADDR := W#16#3FFD, // dirección del módulo según configuración
LOGIN := P#DB40.DBX 0.0 BYTE 170, // información para LOGIN en DB 40
BUFFER_DB_NR := 9, // área búfer para servicio FTP
DONE := M 420.1,
ERROR := M 420.2,
STATUS := MW 422);
Parámetros LOGIN
Este registro de parámetros tiene el siguiente contenido para FTP_CONNECT:
2.4.4 FTP_STORE
Significado
Con esta llamada de función se transmite un bloque de datos (File-DB) del FTP-Client (CPU
S7) al FTP-Server.
Para esto tiene que indicar el bloque de datos que contiene el archivo. También se tiene que
especificar el nombre de la ruta/del archivo bajo el que se debe crear el archivo en el
servidor FTP.
Si el archivo (File-DB) ya existe en el servidor FTP, se sobrescribe.
Interfaz de llamada
AWL Explicación
call fc41 ( //llamar FTP_STORE
ACT := M 420.0, // impulso de petición por bit de marca
ID := 4, //ID de enlace FTP según configuración
LADDR := W#16#3FFD, //dirección del módulo según configuración
FILE_NAME := P#DB40.DBX 170.0 BYTE 220, //información para archivo de destino en DB 40
BUFFER_DB_NR := 9, //área búfer para servicio FTP
FILE_DB_NR := 42, //núm. de DB del archivo de origen
DONE := M 420.1,
ERROR := M 420.2,
STATUS := MW 422);
Parámetro FILE_NAME
Este registro de parámetros tiene el siguiente contenido para FTP_STORE:
2.4.5 FTP_RETRIEVE
Significado
Con esta llamada de función se transmite un archivo del FTP-Server al FTP-Client (CPU
S7).
Para esto tiene que indicar el bloque de datos en el que se debe almacenar el archivo.
También se tiene que especificar el nombre de la ruta/del archivo bajo el que se debe
encontrar el archivo en el servidor FTP.
Si el bloque de datos (File-DB) del FTP-Client ya contiene un archivo, éste se sobrescribe.
Interfaz de llamada
AWL Explicación
call fc42 ( //llamar FTP_RETRIEVE
ACT := M 420.0, // impulso de petición por bit de marca
ID := 4, //ID de enlace FTP según configuración
LADDR := W#16#3FFD, //dirección del módulo según configuración
FILE_NAME := P#DB40.DBX 170.0 BYTE 220, //información para archivo de destino en DB 40
BUFFER_DB_NR := 9, //área búfer para servicio FTP
FILE_DB_NR := 42, //núm. de DB del archivo de destino
DONE := M 420.1,
ERROR := M 420.2,
STATUS := MW 422);
Parámetro FILE_NAME
Este registro de parámetros tiene el siguiente contenido para FTP_RETRIEVE:
2.4.6 FTP_DELETE
Significado
Con esta llamada de función se borra un archivo en el FTP-Server.
Interfaz de llamada
AWL Explicación
call fc43 ( //llamar FTP_DELETE
ACT := M 420.0, // impulso de petición por bit de marca
ID := 4, // ID de enlace FTP según configuración
LADDR := W#16#3FFD, // dirección del módulo según configuración
FILE_NAME := P#DB40.DBX 170.0 BYTE 220, // información para archivo de destino en DB 40
BUFFER_DB_NR := 9, // área búfer para servicio FTP
DONE := M 420.1,
ERROR := M 420.2,
STATUS := MW 422);
Parámetros LOGIN
Este registro de parámetros tiene el siguiente contenido para FTP_DELETE:
2.4.7 FTP_QUIT
Significado
Con esta llamada de función se deshace el enlace FTP identificado con el ID.
Interfaz de llamada
AWL Explicación
call fc44 ( //llamar FTP_QUIT
ACT := M 420.0, // impulso de petición por bit de marca
ID := 4, // ID de enlace FTP según configuración
LADDR := W#16#3FFD, // dirección de módulo según configuración
DONE := M 420.1,
ERROR := M 420.2,
STATUS := MW 422);
Nota
La salida de FC44 ha de recibir como valor una palabra de marca. Al introducir DBx.DWy
aparece un mensaje de error (válido sólo para S7-300).
ATENCIÓN
Preste atención sin falta a que por cada ID de usuario se llame siempre solo un bloque de
programa de cliente FTP mientras ACT esté puesto a 1.
Es decir, FTP_STORE y FTP_RETRIEVE no se deben ejecutar simultáneamente en la
misma conexión FTP, por ejemplo. Este requisito equivale a la funcionalidad FTP normal.
En caso contrario no puede confiar en que los parámetros de salida (bit DONE, bit ERROR
y palabra STATUS) sean correctos.
Nota
En el caso de FC FTP_QUIT, utilice para el parámetro STATUS solo el tipo de datos
'palabra de marca' (esto solo es válido para CP 343-1 IT).
Ejemplo
Durante una ejecución de petición, el FC proporciona los códigos de condición:
● DONE=0
● ERROR=0
● STATUS=8181H
Nota
Para las entradas con la codificación 8FxxH en STATUS, tenga en cuenta también lo dicho
en el manual de referencia STEP 7 Standard y funciones del sistema. Allí encontrará
informaciones en el capítulo "Evaluación de fallos con el parámetro de salida RET_VAL".
2.4.10.1 Estructura de los bloques de datos (File-DB) para servicios FTP - modo FTP-Client
Funcionamiento
Para la transmisión de datos mediante FTP tiene que crear bloques (File-DBs) en la CPU de
su estación S7. Estos bloques de datos han de tener una determinada estructura para que
los servicios FTP puedan tratarlos como datos transmisibles. Constan de los siguientes
sectores:
● Sector 1: File-DB Header (tiene una estructura fija con una longitud de 20 byte)
● Sector 2: datos útiles (longitud y estructura variables)
2.4.10.2 Estructura de los bloques de datos (File-DB) para servicios FTP - modo FTP-Server
Funcionamiento
Para la transmisión de datos mediante FTP tiene que crear bloques (File-DBs) en la CPU de
su estación S7. Estos bloques de datos han de tener una determinada estructura para que
los servicios FTP puedan tratarlos como datos transmisibles. Constan de los siguientes
sectores
● Sector 1: File-DB Header (tiene una longitud fija de 20 byte y una estructura fija)
● Sector 2: datos útiles (longitud y estructura variables)
Nota
Para las funciones aquí descritas, recuerde las características de rendimiento (tipos de
enlace soportados) del tipo de CP utilizado (encontrará la información correspondiente en
los manuales de producto).
Información adicional
Para más información sobre las áreas temáticas siguientes, consulte /1/ (Página 291) :
● Propiedades de los tipos de enlace configurables
● Información sobre la configuración del nivel de protección IP
● Información sobre el volumen de datos y datos cuantitativos
Nota
Las funciones solo pueden ejecutarse si el nivel de protección de los módulos ha sido
configurado como "No bloqueado": Véase el cuadro de diálogo de propiedades del CP, ficha
"Opciones" (no con todos los CPs)
Además debe estar activada la opción "Crear dirección IP en el programa de usuario"
(véase el cuadro de propiedades del CP o de la interfaz Ethernet del CP, ficha
"Configuración IP")
Nota
En cuanto el programa de usuario transfiere los datos de enlace a través del FB55
IP_CONFIG, la CPU pone el CP brevemente en modo STOP. El CP adopta los datos de
sistema (incluida la dirección IP) y los nuevos datos de enlace y los procesa en el arranque
(RUN).
Datos cuantitativos
En el bloque de programa IP_CONFIG pueden indicarse como máximo 64 conexiones. Sin
embargo, el factor determinante es el número máximo de enlaces soportados por el tipo de
CP utilizado.
Particularidades/limitaciones
● Comprobación de coherencia solo con STEP 7
La configuración de conexiones en STEP 7 está vinculada a comprobaciones de
coherencia, que para la configuración programada no son posibles, o lo son de forma
limitada.
● Configuración de enlace necesaria en el interlocutor
En la configuración de conexiones especificadas en STEP 7 se crea implícitamente la
conexión para el interlocutor, pero en la configuración programada no es posible. En este
caso deben configurarse los enlaces correspondientes para el interlocutor.
● Configuración del de protección IP
A través del nivel de protección IP existe la posibilidad de limitar la comunicación a
través del CP del equipo S7 local a interlocutores con direcciones IP específicas. Esta
parametrización también es aplicable para enlaces de comunicación programadas. Debe
desactivar por completo (ajuste predeterminado) la protección de acceso IP en STEP 7 o
autorizar los interlocutores.
● DHCP/DNS soportado
El direccionamiento IP es posible en la configuración programada también a través de
DHCP (y DNS para el servicio de correo electrónico)
En este caso, el uso de un servidor DHCP se define en el FB55 (no en la configuración).
● Ninguna información de enlace durante la carga
Al cargar los datos de equipo S7 en STEP 7 no están contenidos los datos de la
configuración programada.
● Configuración de enlaces en CPs con varias interfaces
En CPs con varias interfaces (p. ej. con interfaz Gigabit), asegúrese, consultando el
manual de producto del CP, de que este soporta la configuración de enlaces para ambas
interfaces.
● PROFINET IO no es posible simultáneamente
Para dispositivos que deban funcionar como controlador PROFINET IO o dispositivo IO
no es posible la configuración de conexiones a través del FB55 aquí descrito.
● No utilizar IP_CONFIG para uso del CP con conexiones S7 de alta disponibilidad
Si configuran conexiones S7 de alta disponibilidad a través del CP, no debe utilizarse el
bloque de programa IP_CONFIG para la configuración IP del CP.
Requisitos:
Los pasos aquí descritos presuponen los siguientes requisitos:
● El equipo S7 local y los interlocutores necesarios están creados en el proyecto S7.
● Ha establecido con qué otros tipos de equipo deben configurarse enlaces. Para ellos
puede ser necesario configurar objetos sustitutos en los proyectos STEP 7.
Significado
El bloque de datos de configuración (CONF_DB) contiene todos los datos de enlace y
configuración (dirección IP, máscara de subred, router predeterminado, servidor de reloj
NTP y otros parámetros) para un CP Ethernet. El bloque de datos de configuración se
transfiere al CP con el bloque de función FB55.
Composición/estructura de datos
En la siguiente representación puede observar:
● La estructuración en bloques de parámetros y subbloques
– Cada enlace y, en especial, los datos de sistema se describen mediante un bloque de
parámetros de idéntica estructura.
– Los distintos parámetros se tipifican mediante subbloques.
● Área offset
El CONF_DB puede comenzar en cualquier punto dentro de un bloque de datos a través
de un área offset. La única condición es que la dirección (o bien el offset) sea par.
① Los bloques de parámetros se describen a continuación en Bloque de parámetros para datos de sistema (configu-
ración IP) (Página 118)
② Los tipos de subbloque se describen a continuación en Bloques de parámetros para tipos de enlaces (Página 119)
Consulte también
Tipos de subbloque (Página 125)
CONF_DB
AWL
DATA_BLOCK DB271
TITLE=IP_CONFIG para un enlace nTCP activo,
AUTHOR : SIMATIC //CP-Daten : IP=200.12.1.144, Router=200.12.1.80
FAMILY : AS300 //Datos de enlace: Destination IP-Addr=200.12.1.99,
NAME : ipconf //Puerto local = 4001, Puerto remoto = 5001, establecimiento=activo
VERSION : 1.0 //07-Jun-2005
STRUCT
DB_TYP : INT := 1;
// --------------------------------------------------------- Datos de sistema ------
sys_pb : INT:=0; // Tipo de subbloque: Datos de sistema para CP
sys_id : INT:= 0; // Parámetro ID de sistema, siempre 0
sys_sb_cnt: INT:= 3; // Número de subbloques en el parámetro de sistema
ip_addr: SUB_IP_V4; Block
AWL
// Estructura de datos config. IP
TYPE "SUB_IP_V4"
STRUCT
id : int := 1; // ID for IP, V4-Addr.
len: int := 8; // Sub Block Length
b_3 : BYTE := b#16#C8; // IP_High 200.
b_2 : BYTE := b#16#0C; // IP_ 12.
b_1 : BYTE := b#16#01; // IP_ 1.
b_0 : BYTE := b#16#90; // IP_Low 144
END_STRUCT;
END_TYPE
TYPE "SUB_NETMASK"
STRUCT
id : int := 2; // ID for Sub Net Mask
len: int := 8; // Sub Block Length
b_3 : BYTE := b#16#FF; // SNM_High
b_2 : BYTE := b#16#FF; // SNM_
b_1 : BYTE := b#16#FF; // SNM_
b_0 : BYTE := b#16#00; // SNM_Low
END_STRUCT;
END_TYPE
TYPE "SUB_DEF_ROUTER"
STRUCT
id : int := 8; // ID_4_Router
len: int := 8; // Sub Block Length
r_3 : BYTE := b#16#C8; // R_High
r_2 : BYTE := b#16#0C; // R_
r_1 : BYTE := b#16#01; // R_
r_0 : BYTE := b#16#50; // R_Low
END_STRUCT;
END_TYPE
AWL
TYPE "SUB_LOC_PORT"
STRUCT
id : int := 9; // ID_4_LOC_PORT
len: int := 6; // Sub Block Length
port: int := 2001; // Loc. Port
END_STRUCT;
END_TYPE
TYPE "SUB_REM_PORT"
STRUCT
id : int :=10; // ID_4_REM_PORT
len: int := 6; // Sub Block Length
port: int := 2002; // Rem. Port
END_STRUCT;
END_TYPE
TYPE "CON_NAME_L" // 24 characters
STRUCT
id : int := 18; // ID for CON Name
len: int := 28; // 4+len(n[0..x]
c : ARRAY [1..24] of CHAR := ‘V’,’B’,’_’,’N’,’a’,’m’,’e’,’_’,’2’,’4’,’C’,’h’,’a’,’r’,
‘a’,’c’,’t’,’e’,’r’,’s’,’_’,’0’,’0’,’1’;
END_STRUCT;
END_TYPE
TYPE "SUB_KBUS_ADDR"
STRUCT
id : int := 21; // ID for KBUS-Address
len: int := 5; //
addr: BYTE := B#16#04; // =R0/S4
END_STRUCT
END_TYPE
TYPE "ACT_CN_REQ"
STRUCT
id : int := 22; // ID for CON REQ Mode
len: int := 5; // Sub Block Length
w : BYTE := b#16#1; // = Active
END_STRUCT;
Observación:
Las estructuras aquí descritas todavía deben incluirse en la tabla de símbolos.
Consulte también
Tipos de subbloque (Página 125)
Significado
A continuación encontrará el bloque de parámetros relevante para la configuración IP del
CP para datos de sistema y los subbloques que deben indicarse en él.
Dependiendo de cada caso, no son necesarios todos los tipos de subbloque (véase la tabla
para más información).
Estructura
Para los CPs con varias interfaces, la estructura de bloque de parámetros descrita a
continuación sólo es aplicable para la interfaz PROFINET.
• Tipo = 0
• ID = 0
• Número_subbloques = n
• Subbloque 1
• Subbloque 2
• Subbloque n
...
Subbloques utilizables
Subbloque Parámetro
ID Tipo Particularidades/indicaciones Aplicación ***)
1 SUB_IP_V4 Dirección IP local ++
2 SUB_NETMASK - ++
8 SUB_DEF_ROUTER - +
4 SUB_DNS_SERV_ADDR *) Este subbloque puede aparece hasta 0-4 veces. La pri- +
mera entrada es el Primary DNS Server
Subbloque Parámetro
ID Tipo Particularidades/indicaciones Aplicación ***)
14 SUB_DHCP_ENABLE 0: sin DHCP +
1: DHCP
15 SUB_CLIENT_ID - +
Observación: Sólo útil si SUB_DHCP_ENABLE = 1
30**) SUB_DEVICE_NAME Nombre de dispositivo según la convención PROFINET +
IO
Indique un nombre de dispositivo para permitir la identifi-
cación unívoca del dispositivo para fines de análisis y
diagnóstico en la red.
*) El tipo de subbloque sólo se utiliza para enlaces de correo electrónico.
**) El ID sólo es soportado por determinados tipos de CP.
***) ++ = obligatorio; + = opcional
Consulte también
Tipos de subbloque (Página 125)
Información general
A continuación se indica qué valores deben introducirse en los bloques de parámetros y qué
subbloques deben utilizarse para los correspondientes tipos de enlace.
Dependiendo de cada caso, no son necesarios todos los tipos de subbloque (véase la tabla
para más información).
ID de enlace
El parámetro ID que precede a cada bloque de parámetros de enlace junto al identificador
de tipo es de especial relevancia.
En los enlaces programados, este ID puede asignarse libremente dentro del rango de
valores admisible. A continuación se debe utilizar ese ID en la interfaz de llamada de las
FCs para la interfaz SEND/RECV para identificar el enlace.
Rangos de valores para el ID de enlace:
● S7-400: 1,2...64
● S7-300: 1,2...16
Estructura
Guarde los parámetros en el bloque de parámetros para enlaces TCP del siguiente modo:
• Tipo = 1 -> ①
• ID = ID de enlace -> ②
• Número_subbloques = n
• Subbloque 1
• Subbloque 2
• Subbloque n
...
Leyenda:
① Identificador del tipo de enlace
② Referencia de enlace de libre elección; debe indicarse en AG_SEND / AG_RECV.
Rango de valores para el ID de enlace:
para S7-400: 1, 2...64
para S7-300: 1,2...16
Subbloques utilizables
Subbloque Parámetro
ID Tipo Particularidades/indicaciones Aplicación ***)
1 SUB_IP_V4 Dirección IP del interlocutor ++ *)
9 SUB_LOC_PORT - ++
10 SUB_REM_PORT - ++ **)
18 SUB_CONNECT_NAME - +
19 SUB_LOC_MODE - +
21 SUB_KBUS_ADR En CPs para S7-300, este valor tiene ++ (para S7-400)
asignado el valor predeterminado fijo 2,
por lo que no es necesario indicarlo.
22 SUB_CON_ESTABL - ++
*) Opcional para enlace pasivo.
***) ++ = obligatorio; + = opcional
Consulte también
Tipos de subbloque (Página 125)
Estructura
Guarde los parámetros en el bloque de parámetros para enlaces UDP del siguiente modo:
• Tipo = 2 -> ①
• ID = ID de enlace -> ②
• Número_subbloques = n
• Subbloque 1
• Subbloque 2
• Subbloque n
...
Leyenda:
① Identificador del tipo de enlace
② Referencia de enlace de libre elección; debe indicarse en AG_SEND / AG_RECV.
Rango de valores para el ID de enlace:
para S7-400: 1, 2...64
para S7-300: 1,2...16
Subbloques utilizables
Subbloque Parámetro
ID Tipo Particularidades/indicaciones Aplicación ***)
1 SUB_IP_V4 Dirección IP del interlocutor ++
9 SUB_LOC_PORT - ++
10 SUB_REM_PORT - ++
18 SUB_CONNECT_NAME - +
19 SUB_LOC_MODE - +
21 SUB_KBUS_ADR En CPs para S7-300, este valor ++ (para S7-400)
tiene asignado el valor predetermi-
nado fijo 2, por lo que no es nece-
sario indicarlo.
23 SUB_ADDR_IN_DATABLOCK Si se selecciona la opción "Enlace +
UDP libre" a través de este pará-
metro, se prescinde de los pará-
metros SUB_IP_V4 y
SUB_REM_PORT.
***) ++ = obligatorio; + = opcional
Consulte también
Tipos de subbloque (Página 125)
Estructura
Guarde los parámetros en el bloque de parámetros para enlaces ISO-on-TCP del siguiente
modo:
• Tipo = 3 -> ①
• ID = ID de enlace -> ②
• Número_subbloques = n
• Subbloque 1
• Subbloque 2
• Subbloque n
...
Leyenda:
① Identificador del tipo de enlace
② Referencia de enlace de libre elección; debe indicarse en AG_SEND / AG_RECV.
Rango de valores para el ID de enlace:
para S7-400: 1, 2...64
para S7-300: 1,2...16
Subbloques utilizables
Subbloque Parámetro
ID Tipo Particularidades/indicaciones Aplicación ***)
1 SUB_IP_V4 Dirección IP del interlocutor ++ *)
11 SUB_LOC_TSAP - ++
12 SUB_REM_TSAP - ++ *)
18 SUB_CONNECT_NAME - +
19 SUB_LOC_MODE - +
21 SUB_KBUS_ADR En CPs para S7-300, este valor tiene ++ (para S7-400)
asignado el valor predeterminado fijo
2, por lo que no es necesario indicar-
lo.
22 SUB_CON_ESTABL - ++
*) Opcional para enlace pasivo (si se indica la dirección IP, debe indicarse también el TSAP.)
***) ++ = obligatorio; + = opcional
Consulte también
Tipos de subbloque (Página 125)
Significado
Para enviar mensajes de correo electrónico debe configurarse básicamente un enlace de
correo electrónico por cada CP Advanced. Con el enlace de correo electrónico se define el
servidor de correo a través del cual se pondrán a disposición todos los mensajes de correo
electrónico enviados por el CP Advanced.
Estructura
Guarde los parámetros en el bloque de parámetros para enlaces de correo electrónico del
siguiente modo:
• Tipo = 4 -> ①
• ID = ID de enlace -> ②
• Número_subbloques = n
• Subbloque 1
• Subbloque 2
• Subbloque n
...
Leyenda:
① Identificador del tipo de enlace
② Referencia de enlace de libre elección; debe indicarse en AG_SEND / AG_RECV.
Rango de valores para el ID de enlace:
para S7-400: 1, 2...64
para S7-300: 1,2...16
Subbloques utilizables
Subbloque Parámetro
ID Tipo Particularidades/indicaciones Aplicación ***)
1 SUB_IP_V4 Dirección IP del servidor de correo ++ / + *)
electrónico a través del cual se envían
los mensajes.
La dirección IP puede indicarse en
formato absoluto o simbólico.
El formato simbólico presupone que el
CP Advanced conoce la dirección del
Domain Name Server (DNS). La entra-
da correspondiente debe realizarse en
la configuración del CP Advanced en
STEP 7 (allí encontrará información
adicional en la Ayuda en pantalla).
3 SUB_DNS_NAME Nombre DNS del servidor de correo ++ / + *)
electrónico
13 SUB_EMAIL_SENDER Dirección remitente del mensaje de ++
correo electrónico
18 SUB_CONNECT_NAME - +
21 SUB_KBUS_ADR En CPs para S7-300, este valor tiene ++ (para S7-400)
asignado el valor predeterminado fijo 0,
por lo que no es necesario indicarlo.
22 SUB_CON_ESTABL - ++
*) En este caso, los parámetros SUB_IP_V4 y SUB_DNS_NAME se excluyen mutuamente; sólo
puede indicarse uno de los parámetros.
***) ++ = obligatorio; + = opcional
Nota
Los Mail-Server-Ports son "well known ports" y no es necesario indicarlos.
Consulte también
Tipos de subbloque (Página 125)
Significado
Para el desarrollo de una secuencia de petición FTP entre el equipo S7 como cliente FTP y
un servidor FTP es necesario que el CP Advanced establezca un enlace con la CPU S7.
Aquí, dicho enlace se denomina "enlace FTP".
Los enlaces FTP son enlaces TCP que se ajustan al modo "FTP" con el parámetro
SUB_LOC_MODE.
Estructura
Guarde los parámetros en el bloque de parámetros para enlaces FTP del siguiente modo:
• Tipo = 1 -> ①
• ID = ID de enlace -> ②
• Número_subbloques = n
• Subbloque 1
• Subbloque 2
• Subbloque n
...
Leyenda:
① Identificador del tipo de enlace
② Referencia de enlace de libre elección; debe indicarse en AG_SEND / AG_RECV.
Rango de valores para el ID de enlace:
para S7-400: 1, 2...64
para S7-300: 1,2...16
Subbloques utilizables
Subbloque Parámetro
ID Tipo Particularidades/indicaciones Aplicación ***)
18 SUB_CONNECT_NAME - +
19 SUB_LOC_MODE Aquí: 0x01 = protocolo FTP ++
21 SUB_KBUS_ADR En CPs para S7-300, este valor tiene ++ (para S7-400)
asignado el valor predeterminado fijo 0,
por lo que no es necesario indicarlo.
***) ++ = obligatorio; + = opcional
Consulte también
Tipos de subbloque (Página 125)
Ejemplo
El siguiente extracto de un CONF_DB muestra la estructura de un subbloque a partir del
ejemplo del tipo de subbloque SUB_NETMASK.
0 = sin DHCP
1 = DHCP
(opcional)
15 SUB_CLIENT_ID Longitud del ID de (opcional)
cliente + 4
* Para subbloque 11 y 12: Si la longitud del subbloque tiene un número de bytes impar se insertará después del subbloque
un byte de relleno que ya no se use para obtener nuevamente una dirección de byte par para el siguiente subbloque. El
byte de relleno no se indica en la longitud del subbloque pero se debe incluir en la longitud total del bloque de datos.
Consulte también
Bloque de datos de configuración - Ejemplo (Página 114)
Llamada
Interfaz de llamada en representación FUP
AWL Explicación
call fb 55 ( //IP_CONFIG llamada de bloque
ACT := M 10.0, //Inicio de petición por bit de marcas
LADDR := W#16#0100, //=LADDR 256 dec. en configuración de hardware
CONF_DB:= P#db99.dbx10.0 byte 240, //Bloque de datos con datos de enlace
LEN := MW 14, //Información de longitud para los datos de enlace
DONE := M 10.1, //Indicación de ejecución
ERROR := M 10.2, //Indicación de error
STATUS := MW 16, //Indicación de estado
EXT_STATUS := MW 18); //Causa del error en los datos de enlace
Nota
No utilizar FB55 para uso del CP con enlaces S7 altamente disponibles
Si configura enlaces S7 altamente disponibles a través del CP, no debe utilizar FB55 para la
configuración IP del CP.
Nota
Atender a un posible direccionamiento doble
Si desea utilizar el FB55, debería prestar una especial atención a la asignación inequívoca
de las direcciones IP. Si se detecta una dirección duplicada, puede suceder que el CP no se
active en la red.
Nota
CPU en estado operativo RUN
En el sistema H sólo se puede configurar un CP con el FB55 si la CPU está asignada se
encuentra en el estado RUN.
Forma de trabajar
El siguiente diagrama de flujo muestra la secuencia normal de una configuración IP y una
configuración de enlaces iniciadas con el bloque IP_CONFIG en el programa de usuario.
La petición se ejecuta en cuanto se transfiere el parámetro ACT = 1.
A continuación, debido a la transmisión por segmentos de CONF_DB, se tiene que llamar de
nuevo una y otra vez la petición con ACT = 1 hasta que se señalice la finalización con la
indicación correspondiente en los parámetros DONE, ERROR, STATUS.
Si más tarde se debe transmitir de nuevo una configuración de enlaces, primero se tiene
que transmitir el parámetro ACT = 0 en al menos una petición más.
Nota
Los datos transmitidos con el DB de configuración no se almacenan en el CP protegidos de
fallos del suministro eléctrico, por lo que en caso de una interrupción de la alimentación
eléctrica se tienen que cargar de nuevo en el CP.
Códigos de condición
La tabla siguiente muestra el significado de la información suministrada por DONE, ERROR
y STATUS, la cual tiene que ser evaluada por el programa de usuario.
Tabla 2- 20 Códigos de condición de FB55 IP_CONFIG
Validez
El bloque de programa LOGICAL_TRIGGER se puede utilizar en combinación con los
siguientes tipos de módulos:
● CP 343-1 ERPC
Llamada
Interfaz de llamada en representación FUP
Forma de trabajar
La siguiente tabla muestra los pasos que se realizan en una llamada de trigger por parte del
programa de usuario de la CPU.
Paso Significado
1 El FB56 LOGICAL_TRIGGER se llama en el punto previsto del programa de usuario de
la CPU con el correspondiente DB de instancia y el bloque de datos de configuración
CONF_DB.
• Si el FB56 LOGICAL_TRIGGER se llama con ACT = 1, se leen los datos de trigger
actuales y se envían al firmware del CP.
• Si el FB56 LOGICAL_TRIGGER se llama con ACT = 0, se actualizan sólo las indi-
caciones de estado DONE, ERROR y STATUS.
2 El FB56 LOGICAL_TRIGGER lee los datos de trigger actuales.
3 El FB56 LOGICAL_TRIGGER genera la PDU, que se envía al firmware del CP con los
datos de trigger actuales.
4 El firmware del CP genera el telegrama de datos y lo transfiere a la aplicación ERPC.
5 La aplicación ERPC envía el telegrama de datos a la estación ERP (sistema ERP o
MES).
Indicaciones
La tabla siguiente informa sobre la indicación a evaluar por el programa de usuario, formada
por DONE, ERROR y STATUS.
*) END_STRUCT *)
*) Los valores son definidos por el programa
Nota
Tamaño de DB
Para el tamaño de DB se recomienda el valor 2 048 bytes. Si durante la puesta en marcha
constata que el valor no es suficiente, auméntelo. El FB56 LOGICAL_TRIGGER notifica un
valor demasiado bajo con un error y con STATUS "8A05H".
Demanda de recursos
Nota
Tenga en cuenta la versión de los bloques indicada. Las versiones de bloques adjuntadas
actualmente pueden diferir de las versiones de bloques aquí indicadas. En el caso de
bloques de otras versiones puede diferir la demanda de recursos.
Encontrará datos relativos a las versiones de bloques actuales bajo la siguiente ID de
artículo:
Enlace: (https://support.industry.siemens.com/cs/ww/es/view/9836605)
NOMBRE Versión N.º FC/FB Demanda de Demanda de me- MC7 [bytes] Datos locales
memoria de moria de trabajo [bytes]
carga [bytes] [bytes]
AG_SEND 1.2 FC5 732 576 540 20
AG_RECV 1.2 FC6 656 522 486 20
AG_LOCK 1.0 FC7 272 200 164 6
AG_UNLOCK 1.0 FC8 256 186 150 6
AG_CNTRL 1.0 FC10 2048 1610 1574 178
AG_CNTEX 1.0 FB10 7002 6036 6000 78
AG_LSEND 3.1 FC50 1044 846 810 52
AG_LRECV 3.1 FC60 1190 992 956 58
AG_SSEND 1.2 FC53 1928 1618 1582 154
AG_SRECV 1.2 FC63 1882 1584 1548 158
IP_CONFIG 1.3 FB55 1864 1576 1540 76
FTP_CMD 2.0 FB40 2400 2084 2048 154
FTP_CONNECT 1.0 FC40 1482 1236 1200 86
FTP_STORE 1.0 FC41 1794 1514 1478 102
FTP_RETRIEVE 1.0 FC42 1934 1642 1606 106
FTP_DELETE 1.0 FC43 1478 1232 1196 86
FTP_QUIT 1.0 FC44 968 796 760 46
NOMBRE Versión N.º FC/FB Demanda de Demanda de me- MC7 [bytes] Datos lo-
memoria de moria de trabajo cales [bytes]
carga [bytes] [bytes]
AG_SEND 4.2 FC5 1976 1664 1628 50
AG_RECV 4.7 FC6 1440 1206 1170 40
AG_LOCK 4.0 FC7 748 636 600 34
AG_UNLOCK 4.0 FC8 712 604 568 32
AG_CNTRL 1.4 FC10 1418 1152 1116 82
AG_CNTEX 1.0 FB10 4594 4006 3970 78
IP_CONFIG 1.3 FB55 2406 1984 1948 62
FTP_CMD 1.0 FB40 2590 2240 2204 70
FTP_CONNECT 1.1 FC40 928 774 738 68
FTP_STORE 1.1 FC41 1232 1046 1010 74
FTP_RETRIEVE 1.1 FC42 1306 1114 1078 84
FTP_DELETE 1.1 FC43 922 770 734 68
FTP_QUIT 1.1 FC44 452 370 334 28
LOGICAL_TRIGGER 1.0 FB56 4294 3648 3612 98
3.2.1 PNIO_SEND
Significado y funcionamiento
El bloque de programa PNIO_SEND se utiliza para la transferencia de datos en los modos
de funcionamiento del CP PROFINET IO-Controller o PROFINET IO-Device.
● Funcionamiento como PROFINET IO-Controller
El bloque transmite al CP los datos de proceso (salidas) de un área de salida
especificada, para que este los transmita a dispositivos PROFINET IO. El bloque
proporciona como indicador de estado el IO Consumer Status (IOCS) de las salidas de
los dispositivos PROFINET IO.
● Funcionamiento como PROFINET IO-Device
El bloque lee las entradas de procesos pretratadas de la CPU en el PROFINET IO-
Device y las transfiere al PROFINET IO-Controller (direcciones S configuradas);
adicionalmente, el bloque proporciona como indicación de estado el IO Consumer Status
(IOCS) del PROFINET IO-Controller.
Los datos de proceso pretratados se ponen a disposición en un DB o en el sector de
marcas.
Incorporaciones
● A partir de la versión de bloque V2.0
PNIO_SEND soporta el funcionamiento paralelo de controlador PROFINET IO y
dispositivo IO. Con el parámetro adicional MODE se ajusta el modo de funcionamiento
para el que se debe llamar el FC.
● A partir de la versión de bloque V3.0
El parámetro MODE proporciona las siguientes posibilidades de selección para la
transmisión del IO Costumer Status.
– Limitación a la información de estado colectiva optimizada para la transmisión rápida
en el parámetro CHECK_IOCS;
o bien
– Información de estado adicional detallada en el parámetro IO Consumer Status.
AWL Explicación
call fc 11 ( //llamar PNIO_SEND
CPLADDR:=W#16#0100, //dirección de módulo de la configuración de hardware
MODE :=B#16#80, //modo Controller o modo Device;
//IOCS no se transmiten bits de estado.
LEN :=20, //longitud del área de datos
IOCS :=P#DB10.DBX20.0 BYTE 3, //por cada byte de datos de emisión un bit de estado en DB10
DONE :=M 70.0, //dirección para parámetro de retorno DONE
ERROR :=M 70.1, //dirección para parámetro de retorno ERROR
STATUS :=MW 72, //dirección para parámetro de retorno STATUS
CHECK_IOCS :=M 70.2, //dirección para parámetro de retorno CHECK_IOCS
SEND :=P#DB10.DBX0.0 BYTE 20 ); //área de dato a transmitir de DB10
//(20 Byte)
Modo IO-Device:
• Los datos se transmiten en el orden de
las ranuras tal como se han configurado
los módulos de entrada en el ramal del
PROFINET IO-Controller para este
PROFINET IO-Device.
Nota:
tiene que cuidar siempre de la coheren-
cia entre la longitud aquí programada y
la configuración del PROFINET IO-
Controller. En el caso del Device se
transmite la longitud total de sectores de
datos, inclusive eventuales lagunas.
DONE OUTPUT BOOL 0: - El parámetro de estado indica si se han
1: nuevos datos aplicados aceptado nuevos datos.
ERROR OUTPUT BOOL 0: -1: Error Indicación de fallo
STATUS OUTPUT WORD - Indicación de estado
Nota
Esperar la confirmación de ejecución
No ejecute las siguientes acciones hasta que el bloque haya indicado DONE = 1 o bien
ERROR = 1:
• Evaluar el parámetro de salida
• Modificar el parámetro MODE
Nota
Tiene que partir de que el estado de IOCS suministrado no llega sincronizado en cuanto al
tiempo con los datos (parámetro SEND), sino con una demora equivalente al ciclo del
programa de usuario. Esto significa: Los datos de usuario y IOCS no son coherentes.
Códigos de condición
La tabla siguiente muestra el significado de la información suministrada por DONE, ERROR
y STATUS, la cual tiene que ser evaluada por el programa de usuario.
Nota
Para las entradas con la codificación 8FxxH en STATUS, tenga en cuenta también lo dicho
sobre el parámetro de salida RET_VAL en las descripciones de los bloques de programa del
sistema referenciados.
Puede consultar mediante STEP 7 los bloques de programa del sistema que se utilizan y los
que son relevantes para la evaluación de errores.
3.2.2 PNIO_RECV
Significado y funcionamiento
El bloque de programa PNIO_RECV se utiliza para la adopción de datos en los modos de
funcionamiento del CP PROFINET IO-Controller o PROFINET IO-Device.
● Funcionamiento como PROFINET IO-Controller
El bloque transfiere los datos de proceso de los PROFINET IO-Devices (entradas del
Controller) así como el IO Provider Status (IOPS) de los PROFINET IO-Devices a las
áreas de entrada indicadas.
● Funcionamiento como PROFINET IO-Device
El bloque adopta los datos de proceso transmitidas por el PROFINET IO-Controller
(direcciones de salida configuradas) así como el IO Provider Status (IOPS) del
PROFINET IO-Controller y los escribe en las áreas de datos reservadas para las salidas
de procesos en la CPU del PROFINET IO-Device.
Incorporaciones
● A partir de la versión de bloque V2.0
PNIO_RECV soporta el funcionamiento paralelo de PROFINET IO-Controller e IO-
Device. Con el parámetro adicional MODE se ajusta el modo de funcionamiento para el
que se debe llamar la FC.
● A partir de la versión de bloque V3.0
El parámetro MODE proporciona las siguientes posibilidades de selección para la
transmisión del IO Provider Status.
– Limitación a la información de estado colectiva optimizada para la transmisión rápida
en el parámetro CHECK_IOPS;
o bien
– Información de estado adicional detallada en el parámetro IO Provider Status.
AWL Explicación
call fc 12 ( //llamar PNIO_RECV
CPLADDR :=W#16#0100, //dirección de módulo de la configuración de hardware
MODE :=B#16#80, //modo Controller o modo Device;
//IOCS no se transmiten bits de estado.
LEN :=7, //longitud del área de datos
IOPS :=P#DB11.DBX7.0 BYTE 1, //por cada byte de datos de recepción un bit de estado en
NDR :=M 74.0, DB11
ERROR :=M 74.1, //dirección para parámetro de retorno NDR
STATUS :=MW76, //dirección para parámetro de retorno ERROR
CHECK_IOPS :=M74.2, //dirección para parámetro de retorno STATUS
ADD_INFO :=MW 26, //dirección para parámetro de retorno CHECK_IOPS
RECV :=P#DB11.DBX0.0 BYTE 7 ); //información de diagnóstico
//datos de recepción en DB11 (7 Byte)
Consulte también
Coherencia de los datos (Página 163)
Valores de sustitución (Página 164)
• 8YH
Modo IO-Device:
• Los datos se transmiten en el orden de
las ranuras (slots), tal como se han confi-
gurado los módulos de entrada en el ra-
mal del PROFINET IO-Controller para
este PROFINET IO-Device.
• Nota:
Tiene que cuidar de la coherencia entre
la longitud aquí programada y la configu-
ración del PROFINET IO-Controller. En el
caso del Device se transmite la longitud
total de sectores de datos, inclusive even-
tuales lagunas.
NDR OUTPUT BOOL 0: - El parámetro de estado indica si se han
1: datos aceptados aceptado nuevos datos.
ERROR OUTPUT BOOL 0: - Indicación de error
1: error
STATUS OUTPUT WORD - Indicación de estado
CHECK_ OUTPUT BOOL 0: todos los IOPS en GOOD Aviso de grupo que indica si es necesario
IOPS 1: al menos un IOPS en BAD evaluar el área de estado IOPS.
El aviso de grupo CHECK_IOPS siempre se
entrega, independientemente del parámetro
MODE.
Nota
Esperar la confirmación de ejecución
No ejecute las siguientes acciones hasta que el bloque haya indicado DONE = 1 o bien
ERROR = 1:
• Evaluar el parámetro de salida
• Modificar el parámetro MODE
Códigos de condición
La tabla siguiente muestra el significado de la información suministrada por los parámetros
NDR, ERROR y STATUS, que tiene que ser evaluada por el programa de usuario.
Nota
Para las entradas con la codificación 8FxxH en STATUS, tenga en cuenta también lo dicho
sobre el parámetro de salida RET_VAL en las descripciones de los bloques de programa del
sistema referenciados.
Puede consultar mediante STEP 7 los bloques de programa del sistema que se utilizan y los
que son relevantes para la evaluación de errores.
cuanto al tiempo) y en cada segundo ciclo la longitud total de los datos de E/S configurados.
Para ello, al configurar tiene que poner los datos críticos en cuanto al tiempo en el sector
inferior (a partir de la dirección de E/S 0).
Llamada de bloque
Para asegurar la coherencia de los datos sólo se debe acceder, sin embargo a los datos IO
si el bloque se ha finalizado sin errores (parámetro Output NDR = TRUE). Además se tiene
que comprobar si el estado IOCS o IOPS para los datos es = GOOD.
Ejemplo
En el caso normal (dependiendo de la longitud total de los datos IO), el bloque se ejecuta a
lo largo de varios ciclos del programa de usuario, hasta que se notifica el código de
condición DONE/NDR = 1.
Casos de operación
La conexión de valores de sustitución se soporta para los dos casos de operación
siguientes:
● Valores de sustitución en el arranque (cambio de estado operativo de la CPU de STOP a
RUN)
● Valores sustitutivos en caso de anomalías (desenchufado/enchufado o fallo/restauración
de la estación)
3.2.6 PNIO_RW_REC
Significado y funcionamiento
El FB 52 sirve, en el modo PROFINET IO-Controller, tanto para la función “Leer registro"
como para la función “Escribir registro". El FB 52 solo puede ejecutar una de las dos
funciones a un tiempo. La función “Leer registro" o “Escribir registro" se controla a través del
parámetro WRITE_REC.
Los CPs soportan únicamente I&M0 e I&M1.
Ejemplo: el identificador de instalación y el identificador de ubicación se pueden comunicar
al CP a través de la función "Escribir registro" (en tanto que estos parámetros no se hayan
ajustado ya en STEP 7 en el cuadro de diálogo de propiedades del CP). Para ello se usa el
registro de mantenimiento "IM1" con el índice AFF1H.
El registro I&M0 con el índice AFF0H (referencia, número de serie y versión) es de solo
lectura (está protegido contra escritura).
Si desea detalles sobre los registros a los que se da soporte así como sobre su estructura,
puede consultarlos a través de la siguiente dirección de Internet:
Enlace: (https://support.industry.siemens.com/cs/ww/es/view/19289930)
Interfaz de llamada
Interfaz de llamada en representación FUP:
AWL Explicación
CALL FB 52, DB 52 ( //llamar PNIO_RW_REC
CPLADDR := W#16#0110, //dirección de módulo de la configuración hardware
WRITE_REC := M 1.1, //tipo de petición
ID := W#16#86A, //dirección lógica del módulo al que se debe acceder
INDEX := W#16#8000, //número de registro
DONE := M 1.3, //dirección para parámetro de retorno DONE
ERROR := M 1.1, //dirección para parámetro de retorno ERROR
STATUS := MW 12, //dirección para parámetro de retorno STATUS
LEN := MW 16, //longitud del registro en bytes
RECORD := P#DB3.DBX0.0 BYTE 80 ); //destino o fuente del registro
//(aquí máx. 80 bytes)
Códigos de condición
La tabla siguiente muestra el significado de la información suministrada por DONE, ERROR
y STATUS, la cual tiene que ser evaluada por el programa de usuario.
Nota
Para las entradas con la codificación 8FxxH en STATUS, tenga en cuenta también lo dicho
sobre el parámetro de salida RET_VAL en las descripciones de los bloques de programa del
sistema referenciados.
Puede consultar mediante STEP 7 los bloques de programa del sistema que se utilizan y los
que son relevantes para la evaluación de errores.
3.2.7 PNIO_ALARM
Significado y funcionamiento
El FB 54 sirve para la evaluación de alarmas por un CP 343-1 empleado como
PROFINET IO-Controller y se debería llamar en el programa de usuario del mismo si en
FC12 el parámetro ADD_INFO es distinto de 0. Tras una transmisión completa y sin errores
de todos los parámetros OUTPUT del FB 54 se confirman (anulan) automáticamente las
alarmas recibidas.
Las alarmas se transmiten en el orden cronológico de su señalización al programa de
usuario. Alarmas más antiguas, aún no señalizadas al programa de usuario, que se tornen
obsoletas debido a otras alarmas más recientes, no son borradas por nuevas alarmas.
Nota
Mientras no se haya llamado aún el bloque, las alarmas se acusan automáticamente a nivel
interno del CP.
Si el FB 54 se ha llamado (al menos) una vez en el programa de usuario, se tiene que
seguir llamando también para acusar recibo de alarmas existentes. Tal es el caso si FC 12
presenta en el parámetro ADD_INFO un valor distinto de "0".
Si el FB 54 no se vuelve a llamar después de haberlo llamado una o más veces en el
programa de usuario, no se acusa recibo de las alarmas y no está garantizado que la
representación de IO se actualice correctamente. Tal puede ser, por ejemplo, el caso tras
una alarma de retorno de estación. La necesidad de la llamada del FB 54 sólo se puede
anular con un rearranque del CP (desconexión y reconexión de la tensión).
Interfaz de llamada
Interfaz de llamada en representación FUP
AWL Explicación
CALL FB 54, DB 54 ( //llamar PNIO_ALARM
CPLADDR:= W#16#0110, //Dirección de módulo de configuración de hardware
DONE := M 1.1, //Dirección para parámetro de retorno DONE
ERROR := M 1.2, //Dirección para parámetro de retorno ERROR
NEW := M 1.3, //TRUE: Se ha recibido una nueva alarma
STATUS := MW 12, //código de error
ID := MW14, //dirección inicial lógica de los componentes señalizadores
LEN := MW 16, //longitud de la información de alarma recibida (AINFO)
MODE := MD 18, //RESERVADO (valor siempre = 0)
TINFO := P#DB4.DBX0.0 BYTE 32, //task information
AINFO := P#DB4.DBX32.0 BYTE 532 ); //alarm information
1) Manual de referencia “STEP 7 - Funciones del sistema y estándar para S7-300 y S7-400",
Recibir alarma con SFB 54 “RALRM" /5/ (Página 292)
Códigos de condición
La tabla siguiente muestra el significado de la información suministrada por DONE, NEW,
ERROR y STATUS, la cual tiene que ser evaluada por el programa de usuario.
Nota
Para las entradas con la codificación 8FxxH en STATUS, tenga en cuenta también lo dicho
sobre el parámetro de salida RET_VAL en las descripciones de los bloques de programa del
sistema referenciados.
Puede consultar mediante STEP 7 los bloques de programa del sistema que se utilizan y los
que son relevantes para la evaluación de errores.
3.3 PROFIenergy
PROFIenergy
Las funciones de PROFIenergy en PROFINET sirven para gestionar la energía de las
instalaciones. Aquí se incluye la desconexión planificada o espontánea de diferentes
aparatos de campo, grupos o unidades de proceso con el fin de ahorrar energía. La
desconexión se lleva a cabo en tiempos no productivos o en pausas de producción. Los
datos energéticos y de diagnóstico se pueden leer en aparatos integrados en el concepto de
energía que, además, soporten estas funciones.
Controlador PROFIenergy
Los comandos de desconexión los da el controlador de nivel superior; en PROFINET IO, el
controlador IO.
En SIMATIC S7-300, el controlador PROFIenergy puede ser el CP o una CPU S7-300 con
función PROFIenergy.
Dispositivos PROFIenergy
Los comandos del controlador PROFIenergy son procesados por el dispositivo IO con
función PROFIenergy, para desconectar aparatos conectados en el campo.
En el contexto de los bloques de programa PROFIenergy, se designa un dispositivo IO con
función PROFIenergy como dispositivo PROFIenergy. En SIMATIC S7-300, el dispositivo
PROFIenergy puede ser el CP o una CPU S7-300 con función PROFIenergy.
Dispositivos I
En SIMATIC S7, un dispositivo inteligente (dispositivo I) puede tener dispositivos
PROFIenergy subordinados. En este caso, el dispositivo I también puede funcionar como un
controlador PROFIenergy.
Especificación PROFIenergy
Las funciones de los bloques de programa PROFIenergy para el CP 300 se basan en la
siguiente especificación de la Organización de Usuarios PROFIBUS e.V. (PNO):
Common Application Profile PROFIenergy, Technical Specification for PROFINET,
Version 1.0, January 2010, Order No. 3.802
Nota
Llamadas de bloques
PE_START_END_CP, PE_CMD_CP, PE_I_DEV_CP y DS3_WRITE_CP no deben llamarse
al mismo tiempo. No se puede llamar el siguiente bloque de programa hasta que un bloque
haya notificado "ningún error" (VALID = 1) o "error" (ERROR = 1).
El bloque de programa PNIO_RW_REC tampoco debe llamarse al mismo tiempo que
PE_START_END_CP, PE_CMD_CP, PE_I_DEV_CP o DS3_WRITE_CP.
3.3.2 PE_START_END_CP
Significado y funcionamiento
PE_START_END_CP puede utilizarse como alternativa a PE_CMD_CP.
PE_START_END_CP se utiliza en el controlador IO. Provoca una pausa de ahorro de
energía o la finaliza en el dispositivo PROFIenergy asignado.
Este bloque de programa se utiliza preferentemente en controladores IO cuyos dispositivos
IO asignados tengan conectados únicamente aparatos de campo en los que no pueden o
deben leerse datos energéticos.
Los modos de ahorro de energía se configuran en el programa de usuario de la CPU del
dispositivo IO. El modo de ahorro de energía que se adopta realmente es notificado por el
dispositivo IO después de ejecutar PE_START_END_CP y devuelto en el parámetro
PE_MODE_ID.
El parámetro Pause_Time especifica la duración de la pasa de ahorro de energía para el
dispositivo IO. Mediante el bloque de programa PE_I_DEV_CP, en el dispositivo IO se
comprueba si la duración predefinida para la pausa es suficiente y si puede aplicarse.
Secuencia
AWL Explicación
call fb 85 ( //Llamar bloque de programa PE_START_END_CP;
CPLADDR :=W#16#0100, //Dirección del módulo de la configuración hardware;
START :=M100.0, //Dirección para señal "Inicio de la pausa";
END :=M100.1, //Dirección para señal "Fin de la pausa";
ID :=W#16#110, //Dirección del dispositivo de destino;
PAUSE_TIME :=T#10S //Indicación del tiempo de pausa como temporizador CEI;
VALID :=M100.2 //Dirección para parámetro de retorno VALID;
BUSY :=M110.0, //Dirección para parámetro de retorno BUSY;
ERROR :=M110.1, //Dirección para parámetro de retorno ERROR;
STATUS :=MW128, //Dirección para parámetro de retorno STATUS;
PE_MODE_ID :=MB111 ); //Dirección para ID del modo de ahorro de energía
Indicadores de PE_START_END_CP
PE_START_END_CP se basa en el bloque de programa PNIO_RW_REC y proporciona
todos los indicadores de PNIO_RW_REC, consulte los indicadores del bloque
PNIO_RW_REC.
Además, se muestran los siguientes indicadores específicos de PROFIenergy. Los
indicadores de error de STATUS solo son válidos en relación con ERROR = 1.
STATUS Significado
Errores específicos del bloque
8080h Flanco ascendente simultáneamente a START y END
8081h Conflicto de longitud con CMD_PARAM y CMD_PARAM_LEN
Errores específicos de PROFIenergy
FE01h Service_Request_ID no válida
FE02h Request_Reference no válida
FE03h CMD_MODIFIER no válido
FE04h Indicación no válida sobre la estructura de datos de un comando (Data_Structure_Identifier_RQ) en el tele-
grama para el registro PROFIenergy de escritura
FE05h Indicación no válida sobre la estructura de datos de un comando (Data_Structure_Identifier_RS) en el tele-
grama para el registro PROFIenergy de lectura
FE06h Modo de ahorro de energía (PE_Mode_ID) no soportado
STATUS Significado
FE07h La respuesta es más larga que la longitud de transferencia máx.
FE08h Número de comandos no válido
FE09h Block Type no válido (consulte el encabezado del telegrama)
FE0Ah Block Length no válida (consulte el encabezado del telegrama)
FE0Bh Block Version no válida (consulte el encabezado del telegrama)
FE50h No hay ningún modo de ahorro de energía adecuado (PE_Mode_ID)
FE51h No se soporta el valor de PAUSE_TIME
FE52h No se soporta PE_Mode_ID
Consulte los detalles relacionados con los parámetros de los errores específicos de
PROFIenergy en el capítulo Datos de respuesta (Página 186).
Consulte también
Códigos de condición del bloque PNIO_RW_REC (Página 167)
3.3.3 PE_CMD_CP
Significado y funcionamiento
PE_CMD_CP puede utilizarse como alternativa a PE_START_END_CP.
PE_CMD_CP se utiliza en el controlador IO y lanza una pausa de ahorro de energía o la
finaliza en el dispositivo PROFIenergy asignado. Adicionalmente, PE_CMD_CP puede leer
otras informaciones y valores energéticos medidos de un dispositivo IO.
Este bloque de programa se utiliza preferentemente en controladores IO cuyos dispositivos
IO asignados tengan conectados aparatos de campo de los que deben leerse datos
energéticos medidos.
Encontrará un diagrama de secuencia de las peticiones de escritura/lectura de PE_CMD_CP
en el capítulo Significado y llamada - PE_START_END_CP (Página 176).
Los diferentes comandos que se transfieren al dispositivo IO con el bloque de programa
tienen asignadas "Service_Request_IDs" concretas. Las Service_Request_IDs 01...05 y 16
se asignan en el parámetro CMD.
Con el parámetro CMD_MODIFIER se especifican con más detalle los comandos 04
(Query_Modes) y 16 (Query_Measurement).
El parámetro CMD_PARA asigna los valores de determinados parámetros a algunos
comandos mediante un puntero Any. El parámetro CMD_PARA_LEN define la longitud de
dichos parámetros.
El parámetro RESPONSE_DATA apunta al área de datos de respuesta del dispositivo IO.
AWL Explicación
call fb 86 ( //Llamar bloque de programa PE_CMD_CP;
CPLADDR :=W#16#0100, //Dirección del módulo de la configuración hardware;
REQ :=M220.0, //Dirección para señal de flanco para ejecución de bloque;//
ID :=W#16#110, Dirección del dispositivo de destino;
CMD :=MB222, //Service_Request_ID del comando PROFIenergy;
CMD_MODIFIER :=MB224, //Modificador del comando PROFIenergy;
CMD_PARA :=MD240, //Puntero hacia el parámetro del modificador;
CMD_PARA_LEN :=MW226, //Longitud del parámetro de CMD_PARA;
VALID :=M220.2 //Dirección para parámetro de retorno VALID;
BUSY :=M220.1, //Dirección para parámetro de retorno BUSY;
ERROR :=M220.3, //Dirección para parámetro de retorno ERROR;
STATUS :=MW228, //Dirección para parámetro de retorno STATUS;
RESPONSE_DATA //Dirección para datos de respuesta del dispositivo IO
:=P#DB400.DBX0.0 BYTE 244 );
Consulte también
Explicación de los parámetros formales de PE_CMD_CP (Página 182)
● 05 = PE_Identity
Consulta los servicios PROFIenergy soportados por el dispositivo IO.
● 16 = Query_Measurement
Consulta datos energéticos del dispositivo IO.
Mediante el parámetro CMD_MODIFIER se detalla la información consultada:
– Get_Measurement_List
Lee todas las Measurement_IDs configuradas en el dispositivo IO.
– Get_Measurement_Values
Lee los valores energéticos medidos de las Measurement_IDs seleccionadas.
Indicadores de PE_CMD_CP
PE_CMD_CP se basa en el bloque de programa PNIO_RW_REC y proporciona todos los
indicadores de PNIO_RW_REC; consulte los indicadores del bloque PNIO_RW_REC.
STATUS Significado
Errores específicos del bloque
8081h Conflicto de longitud con CMD_PARAM y CMD_PARAM_LEN
Errores específicos de PROFIenergy
FE01h Service_Request_ID no válida
FE02h Request_Reference no válida
FE03h CMD_MODIFIER no válido
FE04h Indicación no válida sobre la estructura de datos de un comando (Data_Structure_Identifier_RQ) en el tele-
grama para el registro PROFIenergy de escritura
FE05h Indicación no válida sobre la estructura de datos de un comando (Data_Structure_Identifier_RS) en el tele-
grama para el registro PROFIenergy de lectura
FE06h No se soporta el modo de ahorro de energía (PE_Mode_ID)
FE07h La respuesta es más larga que la longitud de transferencia máx.
FE08h Número de comandos no válido
FE09h Block Type no válido (consulte el encabezado del telegrama)
FE0Ah Block Length no válida (consulte el encabezado del telegrama)
FE0Bh Block Version no válida (consulte el encabezado del telegrama)
FE50h No hay ningún modo de ahorro de energía adecuado (PE_Mode_ID)
FE51h No se soporta el valor de PAUSE_TIME
FE52h No se soporta PE_Mode_ID
Consulte los detalles relacionados con los parámetros de los errores específicos de
PROFIenergy en el capítulo Datos de respuesta (Página 186).
Consulte también
Códigos de condición del bloque PNIO_RW_REC (Página 167)
La tabla siguiente muestra una sinopsis de la estructura del registro de los datos de
respuesta devueltos de acuerdo con la especificación PROFIenergy. La composición del
área "Service Data Response" se describe a continuación para los diferentes comandos
PROFIenergy.
* Número de Measurement_IDs
** Primera Measurement_ID soportada
*** Última Measurement_ID soportada
1 Dominio de precisión (rango 1...4):
0 = reservado
1 = porcentaje del rango de medición
2 = porcentaje del valor medido actual
3 = precisión conforme a IEC 61557-12
4 = precisión conforme a EN 50470-3 capítulo 8
2 Clase de precisión (rango 1...15):
0 = reservado
1 (0,01%) ... 15 (>20%)
3 Rango de medición si Accuracy_Domain = 1; de lo contrario, indefinido
* Número de Measurement_IDs
** Primer valor medido consultado
*** Último valor medido consultado
* Número de Measurement_IDs
** Primer valor medido consultado
*** Último valor medido consultado
3.3.5 PE_I_DEV_CP
Significado y funcionamiento
El bloque de programa PE_I_DEV_CP se utiliza en el dispositivo PROFIenergy, donde
ejecuta los comandos PROFIenergy del controlador IO. Los registros enviados por el
controlador IO (80A0h) son transmitidos a PE_I_DEV_CP por el firmware del CP. Los datos
PROFIenergy del dispositivo IO, a su vez, son puestos a disposición del controlador IO en
forma de respuesta por parte de PE_I_DEV_CP mediante el registro PROFIenergy (80A0h).
Los datos de respuesta de PE_I_DEV_CP se generan mediante las funciones
complementarias FC 0 a FC 8, consulte el capítulo Bloques de programa complementarios
para PE_I_DEV_CP (Página 196).
AWL Explicación
call fb 87 ( //Llamar bloque de programa PE_I_DEV_CP;
CPLADDR :=W#16#0100, //Dirección del módulo de la configuración hardware;
RESET :=M1.0, //Señal para resetear el bloque;//
VALID :=M1.3, Señal para transferir datos al controlador;
CMD :=MW222, //Service_Request_ID del comando PROFIenergy;
CMD_MODIFIER :=MW224, //Modificador del comando PROFIenergy;
CMD_PARA :=MD230, //Puntero hacia el parámetro del modificador;
INDEX :=MW228, //Número del registro PROFIenergy;
NEW :=M1.1, //Estado de procesamiento del bloque;
ERROR :=M1.2, //Dirección para parámetro de retorno ERROR;
STATUS :=MW2, //Dirección para parámetro de retorno STATUS;
RESPONSE_DATA //Dirección para datos de respuesta del dispositivo IO
AWL Explicación
:=P#DB400.DBX0.0 BYTE 244 );
– 02 (Get_Mode) – 02 (Get_Mode):
lee los datos del modo PROFIenergy
• Modificador para seleccionado
PEM_Status: 00
• Comando "Query_Measurement",
• Modificador para modificador:
PE_Identity: 00
– 01 (Get_Measurement_List):
• Query_Measurement, lee todas las Measurement_IDs con-
modificador: figuradas.
– 01 (Get_Measurement – 02 (Get_Measurement_Values):
_List) lee los valores medidos de las
– 02 (Get_Measurement Measurement_IDs seleccionadas.
_Values)
Indicadores de PE_I_DEV_CP
PE_I_DEV_CP se basa en el bloque de programa PNIO_RW_REC y proporciona todos los
indicadores de PNIO_RW_REC; consulte los indicadores del bloque PNIO_RW_REC.
Consulte también
Códigos de condición del bloque PNIO_RW_REC (Página 167)
Función
Los bloques de programa complementarios de FC 0 a FC 8 soportan la preparación de
datos de respuesta que PE_I_DEV_CP pone a disposición del controlador:
● Hay una función separada para los datos de respuesta de cada bloque de programa
PROFIenergy (FC 1 - FC 8).
● FC 0 genera una respuesta negativa común para todos los comandos PROFIenergy.
Los FCs se llaman en el programa de usuario. En STEP 7 V5.5 se proporcionarán en la
librería estándar, en la carpeta "PROFIenergy".
Los FCs tienen algunos parámetros comunes y otros individuales para cada una. Algunos
de los parámetros comunes de los FCs se interconectan con parámetros de PE_I_DEV_CP.
En algunos de los parámetros de entrada individuales de los FCs, el usuario introduce los
datos de respuesta en forma de texto claro o los almacena en el área de memoria del
dispositivo IO.
Número Nombre
FC 0 PE_ERROR_RSP
FC 1 PE_START_RSP
FC 2 PE_END_RSP
FC 3 PE_LIST_MODES_RSP
FC 4 PE_GET_MODE_RSP
FC 5 PE_PEM_STATUS_RSP
FC 6 PE_IDENTIFY_RSP
FC 7 PE_MEASUREMENT_LIST_RSP
FC 8 PE_MEASUREMENT_VALUE_RSP
Consulte también
Parámetros individuales de los FCs (Página 198)
Nota
La interconexión de los bloques de programa es obligatoria
PE_I_DEV_CP debe interconectarse con FC 0...FC 8 en los parámetros con fondo azul claro
que están asignados a los parámetros correspondientes de los FCs mediante flechas rojas.
Parámetros individuales de FC 0 a FC 8
A continuación se describen los parámetros individuales de los FCs.
PE_ERROR_RSP
Genera una respuesta negativa si el comando PROFIenergy solicitante no se soporta en
general o temporalmente. La respuesta negativa es independiente del comando solicitante.
PE_START_RSP
Inicia una pausa de ahorro de energía. Genera la respuesta al comando "Start_Pause".
Devuelve el modo de ahorro de energía que adopta el dispositivo.
PE_END_RSP
Genera la respuesta al comando "End_Pause".
PE_LIST_MODES_RSP
Genera la respuesta al comando Query_Modes" > modificador "List_Modes" (lista de los
modos de ahorro de energía soportados).
Las IDs de los modos de ahorro de energía deben especificarse en el programa de usuario.
PE_GET_MODE_RSP
Genera la respuesta al comando "Query_Modes" > Modifier "Get_Mode".
PE_PEM_STATUS_RSP
Genera la respuesta al comando "PEM_STATUS".
PE_IDENTIFY_RSP
Genera la respuesta al comando "PE_Identify".
El usuario debe indicar los comandos PROFIenergy que se soportan.
PE_MEASUREMENT_LIST_RSP
Genera la respuesta al comando "Query_Measurement" > Modifier "Get_Measurement_List".
PE_MEASUREMENT_VALUE_RSP
Genera la respuesta al comando "Query_Measurement" > Modifier
"Get_Measurement_Values".
Significado y funcionamiento
En la CPU del CP 300 funcionando como controlador PROFIenergy se utiliza
DS3_WRITE_CP para transferir ajustes del comportamiento de conmutación de módulos de
potencia a un ET 200S. Es posible transferir el comportamiento de conmutación para un
máximo de 8 slots (en este caso: módulos de potencia).
DS3_WRITE_CP no es un bloque de programa PROFIenergy.
AWL Explicación
CALL FB 53, DB 53 ( //Llamar bloque de programa DS3_WRITE_CP;
CPLADDR := W#16#0110, //Dirección del módulo de la configuración hardware;
ENABLE := M 1.1, //Dirección para señal de flanco para ejecución de bloque;//
ID := W#16#86A, Dirección del slot de encabezado del dispositivo IO;
SLOT_NO_1 := W#16#1000, //Dirección lógica del módulo de potencia 1;
FUNC_1 := M 2.1, //Dirección del valor del comportamiento de conmutación del módulo de
... potencia 1;
... //...
BUSY := M 1.2, //...
DONE := M 1.3, //Dirección para parámetro de retorno BUSY;
ERROR := M 1.4, //Dirección para parámetro de retorno DONE;
STATUS := MW 12 ); //Dirección para parámetro de retorno ERROR;
//Dirección para parámetro de retorno STATUS
Indicadores de DS3_WRITE_CP
DS3_WRITE_CP se basa en el bloque de programa PNIO_RW_REC y proporciona todos
los indicadores de PNIO_RW_REC; consulte los indicadores del bloque PNIO_RW_REC.
Consulte también
Códigos de condición del bloque PNIO_RW_REC (Página 167)
Demanda de recursos
Nota
Tenga en cuenta la versión de los bloques indicada. Las versiones de bloques adjuntadas
actualmente pueden diferir de las versiones de bloques aquí indicadas. En el caso de
bloques de otras versiones puede diferir la demanda de recursos.
Encontrará datos relativos a las versiones de bloques actuales bajo la siguiente ID de
artículo:
Enlace: (https://support.industry.siemens.com/cs/ww/es/view/9836605)
NOMBRE Versión N.º FC/FB Demanda de Demanda de me- MC7 [bytes] Datos locales
memoria de moria de trabajo [bytes]
carga [bytes] [bytes]
PN_InOut 1.3 FB88 2678 2234 2198 48
PN_InOut_Fast 1.0 FB90 2906 2266 2230 48
NOMBRE Versión N.º FC/FB Demanda de Demanda de me- MC7 [bytes] Datos locales
memoria de moria de trabajo [bytes]
carga [bytes] [bytes]
PN_InOut 1.5 FB88 2470 2066 2030 54
PNIO_SEND 3.0 FC11 1420 1182 1146 46
PNIO_RECV 3.0 FC12 1270 1052 1016 46
NOMBRE Versión N.º FC/FB Demanda de Demanda de me- MC7 [bytes] Datos locales
memoria de moria de trabajo [bytes]
carga [bytes] [bytes]
PNIO_RW_REC 1.1 FB52 1636 1378 1342 62
PNIO_ALARM 1.1 FB54 1168 960 924 62
PE_START_END_C 1.0 FB85 3286 2808 2772 92
P
PE_CMD_CP 1.0 FB86 3750 3264 3228 358
PE_I_DEV_CP 1.0 FB87 3192 2902 2866 114
DS3_WRITE_CP 1.0 FB53 1716 1408 1372 84
Significado y funcionamiento
El bloque FB88 / FB90 tiene la tarea de transmitir datos desde el Interface-DB al CP así
como desde el CP al Interface-DB. El Interface-DB en sí es la interfaz con el programa de
usuario.
El FB88 / FB90 se tiene que activar para ello cíclicamente. También es posible activar
repetidamente el FB88 / FB90 en un ciclo.
En la interfaz se tiene que suministrar exclusivamente la dirección de módulo del CP al
FB88 / FB90.
Para garantizar la coherencia de los datos, sólo se permite modificar los datos a transmitir o
comenzar la lectura de los datos recibidos una vez concluida la petición (DONE=1 o
ERROR=1).
En cuanto se pone DONE=1 o ERROR=1, ha concluido la transferencia o ha terminado con
aviso de error. Ahora se pueden evaluar los datos o se pueden poner de nuevo. Sólo con la
siguiente petición se vuelven a transferir datos.
En su programa de usuario, procure que, una vez concluida una transmisión, el FB88 / FB90
no se vuelva a activar hasta que se hayan adoptado todos los datos de entrada y se hayan
escrito todos los datos de salida en el Interface-DB.
La llamada temporizada de los bloques FB88 / FB90 se permite por principio. Observe otras
informaciones sobre este modo de operación dadas más adelante en este capítulo.
Nota
Encontrará informaciones detalladas sobre la estructura y el manejo del Interface-DB en
la documentación de SIMATIC iMap.
Nota
Al transferir / recargar bloques de programas de usuario, la coherencia de los datos sólo
está garantizada si previamente se ha puesto la CPU en el estado STOP.
Interfaz de llamada
Interfaz de llamada en representación FUP
AWL Explicación
Call FB 88 , DB88 ( //llamada de bloque con DB88 instancia
LADDR := W#16#0120,
DONE := M 99.1,
ERROR := M 99.0,
STATUS := MW 104);
A través del diálogo de propiedades del FB aquí descrito se puede hacer visualizar en la
ficha “Llamadas" qué bloques de funciones especiales (SFCs) se utilizan y son relevantes
para el análisis de errores.
Nota
Para las entradas con la codificación 8FxxH (para S7-300) o 8xxxH (para S7-400) en
STATUS se ha de tener en cuenta también lo dicho en el manual de referencia STEP 7
Funciones estándar y funciones de sistema. Allí encontrará informaciones en el capítulo
"Evaluación de fallos con el parámetro de salida RET_VAL".
Panorámica
En la interfaz SEND/RECEIVE están disponibles los siguientes bloques de programa para la
transmisión de datos a través de enlaces FDL configurados:
Uso
El esquema siguiente muestra la aplicación de los bloques FC AG_SEND / AG_LSEND y
AG_RECV / AG_LRECV para la transferencia de datos bidireccional a través de un enlace
FDL configurado.
Para determinados tipos de enlaces se tiene que prever una cabecera (header) de petición
en el área de datos del usuario.
Figura 5-2 Enviar y recibir a través de un enlace FDL con direccionamiento Broadcast por
programa
El campo de datos de usuario puede tener hasta 240 Byte. Pueden transmitirse hasta 236
Byte de datos útiles. 4 Byte están reservados para la cabecera de la petición.
Tenga en cuenta que la longitud de datos indicada al llamar el bloque (parámetro LEN) ha
de abarcar el encabezamiento (Header) y los datos útiles.
Llamada
Interfaz de llamada en representación FUP
AWL Explicación
call fc 5 ( //llamada de función
ACT := M 20.0, //impulso de petición por bit de marcador
ID := MW 22, //ID de enlace según configuración
LADDR := W#16#0100, //=LADDR 256 dec. en configuración de hardware
SEND := P#db99.dbx10.0 byte 240, //búfer con datos de emisión
LEN := MW 24, //dato de longitud para datos de emisión
DONE := M 20.1, //indicación de ejecución
ERROR := M 20.2, //indicación de fallo
STATUS := MW 26 ); //indicación de estado
Forma de trabajar
El siguiente diagrama de flujo muestra la secuencia normal de la transmisión de datos
disparada con el bloque AG_SEND en el programa de usuario.
La petición de envío se ejecuta en cuanto se transfiere el parámetro ACT = 1.
A continuación se tiene que transferir al menos a otra llamada el parámetro ACT = 0.
La indicación de estado se actualiza en los parámetros de salida DONE, ERROR y STATUS
con cada llamada de bloque y se puede evaluar. Por esta razón, para una nueva
actualización de la indicación de estado sin nueva petición de envío se tiene que emitir en
cada caso otra llamada de bloque con el parámetro ACT = 0.
Tenga en cuenta también el ejemplo de programa al final de este capítulo .
Códigos de condición
La tabla siguiente muestra el significado de la información suministrada por DONE, ERROR
y STATUS, la cual tiene que ser evaluada por el programa de usuario.
Nota
Para las entradas con la codificación 8FxxH en STATUS, tenga en cuenta también lo dicho
sobre el parámetro de salida RET_VAL en las descripciones de los bloques de programa del
sistema referenciados.
Puede consultar mediante STEP 7 los bloques de programa del sistema que se utilizan y los
que son relevantes para la evaluación de errores.
Interfaz de llamada
Interfaz de llamada en representación FUP
AWL Explicación
call fc 6 ( //llamada de función
ID := MW 30, //ID de la conexión según configuración
LADDR := W#16#0100, //=LADDR 256 dec. en la configuración del hardware
RECV := P#M 10.0 BYTE 100, //búfer para datos de recepción
NDR := DB 100.DBX 0.6, //indicación de recepción
ERROR := DB 100.DBX 0.7, //indicación de ejecución
STATUS := DB 100.DBW 2, //indicación de error
LEN := DB 100.DBW 4 ); //indicación de estado
Tabla 5- 3 Parámetros de retorno en la cabecera de petición en el área de datos (de usuario) FDL.
Forma de trabajar
El siguiente diagrama de flujo muestra la secuencia normal de la transferencia de datos
disparada con el bloque AG_RECV en el programa de usuario.
Cada petición de AG_RECV del programa del usuario es acusado por el CP Ethernet
visualizando valores en los parámetros de salida NDR, ERROR y STATUS.
Códigos de condición
La tabla siguiente muestra el significado de la información suministrada por los parámetros
NDR, ERROR y STATUS, que tiene que ser evaluada por el programa de usuario.
Nota
Para las entradas con la codificación 8FxxH en STATUS, tenga en cuenta también lo dicho
sobre el parámetro de salida RET_VAL en las descripciones de los bloques de programa del
sistema referenciados.
Puede consultar mediante STEP 7 los bloques de programa del sistema que se utilizan y los
que son relevantes para la evaluación de errores.
Solución: realice otra llamada de recepción con el tamaño máximo del búfer de re-
cepción. Esto sirve independientemente del tipo de conexión (Uni-
cast/Multicast/Broadcast) y de la familia de dispositivos (S7-300 / S7-400).
0 1 80B2H La conexión de bus K entre CPU y CP no está establecida.
0 1 80C0H No se puede leer el registro.
0 1 80C1H El registro indicado está siendo procesado.
0 1 80C2H Hay demasiadas peticiones pendientes.
0 1 80C3H Medio de servicio (memoria) ocupado.
0 1 80C4H Error de comunicación (se presenta temporalmente; por ello es conveniente una repe-
tición en el programa de usuario).
0 1 80D2H Dirección inicial del módulo errónea.
Panorámica
Para los modos maestro DP y esclavo DP se dispone de los siguientes bloques de
programa para S7-300:
Uso
La representación siguiente aclara la aplicación de los bloques de programa DP_SEND y
DP_RECV en el maestro DP y el esclavo DP.
5.2.2 DP_SEND
Significado
El bloque de programa DP_SEND transmite datos al CP PROFIBUS. Dependiendo del
modo operatiivo del CP PROFIBUS, DP_SEND tiene el siguiente significado:
● Para uso en el maestro DP
El bloque transfiere los datos de un área de salida DP indicada al CP PROFIBUS, para
su emisión a la periferia descentralizada.
● Para uso en el esclavo DP
El bloque transfiere los datos de entrada del esclavo DP al CP PROFIBUS, para su
transmisión al maestro DP
El área de datos indicada puede ser un área PA, un área de marcas o un área de bloques
de datos.
Se señala que la función ha sido ejecutada sin errores cuando se haya podido recibir toda el
área de datos DP del CP PROFIBUS.
Para iniciar el maestro DP hay que poner una llamada de DP_SEND o DP_RECV delante de
la secuencia de llamada. Para esta primera llamada rige lo siguiente:
Si se utiliza DP_SEND para la inicialización, el área de datos transferida no se aplicará y se
enviará "0" a los esclavos. Los datos de usuario transferidos no se enviarán hasta la
segunda llamada del bloque.
Interfaz de llamada
AWL Explicación
call fc 1 ( //DP_SEND llamada de bloque
CPLADDR:= W#16#0120,
SEND := P#db17.dbx0.0 byte 103,
DONE := M 99.1,
ERROR := M 99.0,
STATUS := MW 104 );
Forma de trabajar
El siguiente diagrama de flujo muestra la secuencia normal de la transmisión de datos
disparada con el bloque DP_SEND en el programa de usuario.
En el diagrama se parte de la base de que el maestro DP se inicializa mediante una llamada
previa DP_SEND o DP_RECV.
Cada petición de DP_SEND del programa del usuario es acusado por el CP PROFIBUS
visualizando valores en los parámetros de salida DONE, ERROR y STATUS.
Códigos de condición
La tabla siguiente muestra el significado de la información suministrada por DONE, ERROR
y STATUS, la cual tiene que ser evaluada por el programa de usuario.
Nota
Para las entradas con la codificación 8FxxH en STATUS, tenga en cuenta también lo dicho
sobre el parámetro de salida RET_VAL en las descripciones de los bloques de programa del
sistema referenciados.
Puede consultar mediante STEP 7 los bloques de programa del sistema que se utilizan y los
que son relevantes para la evaluación de errores.
Se transfieren datos.
• El DP no se ha iniciado debido a la situación siguiente:
– STOP del CP o
– "no hay parametrización" (aparece aquí en lugar del código de condición
0,1,8183H).
1 0 0000H Nuevos datos transferidos sin error.
0 1 8183H Falta la configuración o no se ha iniciado aún el servicio DP en el CP PROFIBUS.
0 1 8184H Error del sistema o tipo de parámetro no permitido.
0 1 8F22H Error de longitud de área al leer un parámetro (p. ej. DB demasiado corto).
0 1 8F23H Error de longitud de área al escribir un parámetro (p. ej. DB demasiado corto).
0 1 8F24H Error de área al leer un parámetro.
0 1 8F25H Error de área al escribir un parámetro.
0 1 8F28H Error de alineación al leer un parámetro.
0 1 8F29H Error de alineación al escribir un parámetro.
0 1 8F30H El parámetro está en el 1er. bloque de datos act. protegido de escritura.
0 1 8F31H El parámetro está en el segundo bloque de datos act. protegido de escritura.
0 1 8F32H El parámetro contiene número de DB demasiado alto.
0 1 8F33H Error de número de DB.
0 1 8F3AH Área de destino no cargada (DB).
0 1 8F42H Retardo en acuse al leer un parámetro del área de periferia.
0 1 8F43H Retardo en acuse al escribir un parámetro en el área de periferia.
5.2.3 DP_RECV
Significado
El bloque de programa DP_RECV recibe datos a través de PROFIBUS. Dependiendo del
modo operatiivo del CP PROFIBUS, DP_RECV tiene el siguiente significado:
● Para uso en el maestro DP
DP_RECV acepta los datos de proceso de la periferia descentralizada así como una
información de estado en un área de entrada DP indicada.
● Para uso en esclavo DP
DP_RECV acepta los datos de salida transmitidos por el maestro DP en el área de datos
DP indicada en el bloque.
El área de datos indicada para la toma de datos puede ser un área PA, un área de marcas o
un área de bloques de datos.
Se señala que la función ha sido ejecutada sin errores cuando se haya podido transferir
toda el área de entrada de datos DP del CP PROFIBUS.
Tenga en cuenta que el bloque FC DP_RECV para el esclavo DP se tiene que llamar
entonces al menos una vez con éxito en el programa de usuario si se han configurado datos
de salida para este esclavo DP. Observe lo dicho en el manual del equipo.
Para iniciar el maestro DP hay que poner una llamada de DP_SEND o DP_RECV delante de
la secuencia de llamada. Para esta primera llamada rige lo siguiente:
● Si se utiliza DP_RECV para la inicialización, los datos recibidos no se aplicarán. Los
datos de usuario recibidos no se suministrarán hasta la segunda llamada del bloque.
Interfaz de llamada
AWL Explicación
call fc 2 ( //DP_RECV llamada de bloque
CPLADDR:= W#16#0120,
RECV := P#db17.dbx240.0 byte 103,
NDR := M 99.1,
ERROR := M 99.0,
STATUS := MW 104,
DPSTATUS:= MB 0 );
Forma de trabajar
El siguiente diagrama de flujo muestra la secuencia normal de la transferencia de datos
disparada con el bloque DP_RECV en el programa de usuario.
Cada petición de DP_RECV del programa del usuario es acusado por el CP PROFIBUS
visualizando valores en los parámetros de salida NDR, ERROR y STATUS.
Códigos de condición
La tabla siguiente muestra el significado de la información suministrada por los parámetros
NDR, ERROR y STATUS, que tiene que ser evaluada por el programa de usuario.
Nota
Para las entradas con la codificación 8FxxH en STATUS, tenga en cuenta también lo dicho
sobre el parámetro de salida RET_VAL en las descripciones de los bloques de programa del
sistema referenciados.
Puede consultar mediante STEP 7 los bloques de programa del sistema que se utilizan y los
que son relevantes para la evaluación de errores.
Se transfieren datos.
• El DP no se ha iniciado debido a la situación siguiente:
– CP STOP o
– "no hay parametrización" (aparece aquí en lugar del código de condición
0,1,8183H).
1 0 0000H Nuevos datos aceptados sin error.
DPSTATUS
La codificación del parámetro de salida DP-STATUS es diferente para los modos maestro
DP y esclavo DP.
Modo maestro DP
Bit Significado
7 libre
6 Este bit no se pone.
Observe también lo dicho en el manual del equipo.
5,4 Valores para DPSTATUS del maestro DP:
00 RUN
01 CLEAR
10 STOP (se representa en el estado operativo OFFLINE)
11 OFFLINE
Observe también lo dicho en el manual del equipo.
3 Valor 1: la sincronización horaria está conectada
2 Valor 0: no hay nuevos datos de diagnóstico
Valor 1: es conveniente evaluar la lista de diagnóstico; al menos una estación tiene datos de diagnóstico nuevos
1 Valor 0: todos los esclavos DP están en la fase de transferencia de datos
Valor 1: es conveniente evaluar la lista de estaciones
0 Modo DP
Valor 0: Modo de maestro DP
Los demás bits sólo son válidos con el significado indicado si no está puesto este bit.
Modo esclavo DP
Bit Significado
7-5 libre
4 Este bit no se pone.
Observe también lo dicho en el manual del equipo.
3 Este bit no se pone.
Observe también lo dicho en el manual del equipo.
2 Valor 1: El maestro DP 1 se encuentra en el estado CLEAR. El esclavo DP recibe en los datos DP destinados a las
salidas para todos los datos el valor 0. No hay ninguna influencia sobre los datos de emisión.
1 Valor 1: la configuración / parametrización aún no ha terminado con éxito.
0 Valor 1: modo de esclavo DP.
Los demás bits sólo son válidos con el significado indicado si está puesto este bit.
Nota
Tenga en cuenta que sólo se debe evaluar DPSTATUS una vez esté puesto el parámetro de
retorno NDR=1.
5.2.4 DP_DIAG
Nota
El bloque FC DP_DIAG sólo es conveniento para el modo operativo de DP con maestro DP.
Exclusión
Mientras esté en marcha el bloque, no se debe abastecer el mismo con nuevos datos de
petición.
Excepción: solicitar lista de estaciones DP o lista de diagnóstico DP.
Interfaz de llamada
AWL Explicación
call fc 3 ( //DP_DIAG llamada de bloque
CPLADDR:= W#16#0120,
DTYPE := B#16#00,
STATION:= B#16#03,
DIAG := P#db18.dbx0.0 byte 16,
NDR := M 70.0,
ERROR := M 70.1,
STATUS := MW 72,
DIAGLNG:= MB 20 );
Nota
Tenga en cuenta la siguiente peculiaridad para los tipos de peticiones Leer lista de
estaciones DP y Leer lista de diagnóstico DP:
• la petición de diagnóstico suministra los datos de diagnóstico disponibles en el momento
de la última llamada de DP–RECV. La lectura de una lista bloquea una nueva extracción
por lectura (valor de retorno 0x8182).
• Una nueva habilitación de las listas tiene lugar con un nuevo evento de diagnóstico y la
subsiguiente llamada de DP-RECV.
Tras llamar DP_DIAG se obtiene por ello como reacción una de las indicaciones descritas a
continuación.
● NDR=0, ERROR=0, STATUS=8181
Mientras exista el código de condición NDR=0, ERROR=0 y STATUS=8181 no se deben
modificar los parámetros de la petición.
● NDR=1
El valor de parámetro NDR=1 indica que existen datos de diagnóstico válidos. Son
posibles informaciones adicionales en el parámetro STATUS.
● NDR=0, ERROR=1
Existe un error. Los datos de diagnóstico no son válidos. El mensaje de error está en
STATUS.
Tipos de petición
Las formas de petición admisibles y convenientes resultan, según la relación siguiente, de lo
indicado para DTYPE, STATION y DIAGLNG.
• OFFLINE
• OFFLINE
• OFFLINE
*) El estado operativo STOP ya no se soporta en los módulos actuales (a partir del tipo de módulo DA02).
Códigos de condición
La tabla siguiente muestra el significado de la información suministrada por los parámetros
NDR, ERROR y STATUS, que tiene que ser evaluada por el programa de usuario.
Nota
Para las entradas con la codificación 8FxxH en STATUS, tenga en cuenta también lo dicho
sobre el parámetro de salida RET_VAL en las descripciones de los bloques de programa del
sistema referenciados.
Puede consultar mediante STEP 7 los bloques de programa del sistema que se utilizan y los
que son relevantes para la evaluación de errores.
5.2.5 DP_CTRL
Nota
El bloque FC DP_CTRL sólo es conveniente para el modo operativo de DP con maestro DP.
Conexión
Mientras esté en marcha el bloque, no se debe abastecer el mismo con nuevos datos de
petición.
Interfaz de llamada
AWL Explicación
call fc 4 ( //DP_CTRL llamada de bloque
CPLADDR:= W#16#0120,
CONTROL:= P#db14.dbx0.0 byte 30, // el búfer para la petición de Control
// ocupa los primeros 30 bytes en el DB 14.
DONE := M 70.0,
ERROR := M 70.1,
STATUS := MW 72 );
Tras llamar DP_CTRL se obtiene por ello como reacción una de las indicaciones descritas a
continuación.
● DONE=0, ERROR=0, STATUS=8181
Mientras exista el código de condición DONE=0, ERROR=0 y STATUS=8181 no se
deben modificar los parámetros de la petición.
● DONE=1
El valor de parámetro DONE=1 indica que la petición se ha ejecutado. Son posibles
informaciones adicionales en el parámetro STATUS.
● DONE=0, ERROR=1
Existe un error. El mensaje de error está en STATUS.
Tipos de petición
Las formas de petición admisibles y convenientes resultan, según la relación siguiente, de lo
indicado para CTYPE así como de lo indicado en el bloque de petición.
o se puede desconectar:
• UNSYNC
• UNFREEZE
• UNCLEAR (CLEAR-Bit = 0)
Es posible indicar más de una petición en el paráme-
tro Command Mode.
Para terminar una petición cíclica en curso de Global
Control, se tiene que ejecutar una nueva petición de
Global Control (cíclica o acíclica).
Para terminar la petición ajustada en el Command
Mode, se tiene que desconectar la petición
correspondiente. Por ejemplo, la petición SYNC se
desconecta con una petición UNSYNC.
3 Borrar diagnóstico 1. byte: 1 Se borran para uno o todos los esclavos los diagnós-
individual DP menos Dirección Slv ticos individuales DP más antiguos almacenados en
reciente 1..126 el CP PROFIBUS.
127 = todos los
esclavos
Códigos de condición
La tabla siguiente muestra el significado de la información suministrada por los parámetros
DONE, ERROR y STATUS, la cual tiene que ser evaluada por el programa de usuario.
Nota
Para las entradas con la codificación 8FxxH en STATUS, tenga en cuenta también lo dicho
sobre el parámetro de salida RET_VAL en las descripciones de los bloques de programa del
sistema referenciados.
Puede consultar mediante STEP 7 los bloques de programa del sistema que se utilizan y los
que son relevantes para la evaluación de errores.
Demanda de recursos
Nota
Tenga en cuenta la versión de los bloques indicada. Las versiones de bloques adjuntadas
actualmente pueden diferir de las versiones de bloques aquí indicadas. En el caso de
bloques de otras versiones puede diferir la demanda de recursos.
Encontrará datos relativos a las versiones de bloques actuales bajo la siguiente ID de
artículo:
Enlace: (https://support.industry.siemens.com/cs/ww/es/view/9836605)
NOMBRE Versión N.º FC/FB Demanda de Demanda de me- MC7 [bytes] Datos locales
memoria de moria de trabajo [bytes]
carga [bytes] [bytes]
AG_SEND 1.2 FC5 732 576 540 20
AG_RECV 1.2 FC6 656 522 486 20
AG_LSEND 3.1 FC50 1044 846 810 52
AG_LRECV 3.1 FC60 1190 992 956 58
NOMBRE Versión N.º FC/FB Demanda de Demanda de me- MC7 [bytes] Datos locales
memoria de moria de trabajo [bytes]
carga [bytes] [bytes]
DP_SEND 3.0 FC1 1066 886 850 42
DP_RECV 3.0 FC2 1144 950 914 46
DP_DIAG 3.0 FC3 1956 1638 1602 58
DP_CTRL 3.0 FC4 1532 1292 1256 52
AG_SEND 4.2 FC5 1976 1664 1628 50
AG_RECV 4.7 FC6 1440 1206 1170 40
Panorámica
Para la comunicación FMS están disponibles los siguientes bloques de funciones para una
estación S7.
La lista muestra los números de bloques tal y como se suministran. Los números de bloque
pueden ser modificados por el usuario.
Según el tipo de FB encontrará diversos parámetros del tipo INPUT, OUTPUT o INOUT.
Las tablas siguientes explican el significado, el tipo de los datos, el rango de valores y al
área de memoria para todos los parámetros de bloques existentes.
Parámetro INPUT
Parámetro OUTPUT
Parámetro INPUT/OUTPUT
Área de memoria
Las áreas de memoria indicadas en la tabla en forma de siglas corresponden a lo siguiente:
Siglas Tipo
E Entrada
A Salida
Siglas Tipo
M Marca
L Datos locales temporales
D Área de bloques de datos
Z Contador
T Temporizador
DBX Bloque de datos
6.3 IDENTIFY
Interfaz de llamada
AWL Explicación
call FB 2, DB 22 ( //IDENTIFY llamada de bloque con DB de instancia
REQ := M 1.0, //señal de flanco para la ejecución del FB
ID := DW#16#10001, //adaptada a la configuración del
// enlace FMS
NDR := M 1.1, //indica si "se aceptan nuevos datos"
ERROR := M 1.2, //indica una ejecución incorrecta
STATUS := MW 20, //descodificación de errores detallada
VENDOR := "SLAVE2".VENDOR_ABBILD, //área de datos para nombre del fabricante
MODEL := "SLAVE2".MODEL_ABBILD, //área de datos para el tipo del equipo
REVISION := "SLAVE2".REV_ABBILD ); //área de datos para la versión
Información adicional
"SLAVE2"
es el nombre simbólico de un bloque de datos. Este nombre está definido en la
correspondiente tabla de símbolos.
VENDOR_ABBILD, MODEL_ABBILD y REVISION_ABBILD
son variables del tipo de datos STRING. Las mismas están definidas en el bloque de datos
"SLAVE2".
Forma de trabajar
La representación siguiente muestra el desarrollo temporal normal de una petición de
IDENTIFY.
La petición se activa con un cambio de flanco (positivo) del parámetro REQ.
Cada petición de IDENTIFY del programa del usuario es acusado por el CP PROFIBUS
visualizando valores en los parámetros de salida NDR, ERROR y STATUS.
6.4 READ
Significado
El bloque de funciones READ lee datos de un área de datos del interlocutor de
comunicación especificada a través de nombre o índice, conforme a la parametrización de la
petición. Los datos leídos se almacenan localmente en un bloque de datos, un área de la
imagen del proceso de entradas/salidas o un área de marcas.
AWL Explicación
call FB 3, DB 29 ( //READ llamada de bloque con DB de instancia
REQ := M 1.0, //señal de flanco para la ejecución del FB
ID := DW#16#10001, //adaptada a la configuración del
// enlace FMS
VAR_1 := "SLAVE2".INDEX, //direcciona la variable de comunicación a leer
RD_1 := "PROZESS".Motor1, //direcciona el área de datos a donde se debe transmitir
NDR := M 1.1, //confirmación de la ejecución
ERROR := M 1.2, //indica una ejecución incorrecta
STATUS := MW 20 ); //descodificación de errores detallada
Forma de trabajar
El siguiente diagrama de flujo muestra la secuencia normal de la transferencia de datos
disparada con el bloque READ en el programa de usuario.
La petición se activa con un cambio de flanco (positivo) del parámetro REQ.
Cada petición de READ del programa del usuario es acusado por el CP PROFIBUS
visualizando valores en los parámetros de salida NDR, ERROR y STATUS.
6.5 REPORT
Interfaz de llamada
AWL Explicación
call FB 4, DB 28 ( //REPORT llamada de bloque con DB de instancia
REQ := M 1.0, //señal de flanco para la ejecución del FB
ID := DW#16#10001, //adaptada a la configuración del enlace FMS
VAR_1 := "SLAVE2".INDEX, //nombra la variable de comunicación a notificar
SD_1 := "PROZESS".Motor1, //direcciona el área de datos desde la que se debe transmitir
DONE := M 1.1, //confirmación de la ejecución
ERROR := M 1.2, //indica una ejecución incorrecta
STATUS := MW 20 ); //descodificación de errores detallada
Nota
Con el parámetro SD_1 se direcciona el área de datos desde la que se leen y notifican los
valores de las variables. Dependiendo de las convenciones FMS se tiene que indicar
adicionalmente el índice de variable en la interfaz FC. La coherencia de ambos datos no se
comprueba sin embargo al procesar la petición.
Forma de trabajar
El siguiente diagrama de flujo muestra la secuencia normal de la transmisión de datos
disparada con el bloque REPORT en el programa de usuario.
La petición se activa con un cambio de flanco (positivo) del parámetro REQ.
Cada petición de REPORT del programa del usuario es acusado por el CP PROFIBUS
visualizando valores en los parámetros de salida DONE, ERROR y STATUS.
6.6 STATUS
Se distinguen:
● el estado lógico de VFD;
informa, por ejemplo, sobre la disposición a la comunicación.
● el estado físico de VFD;
informa, por ejemplo, sobre el estado del equipo.
● informaciones detalladas específicas del equipo;
proporciona una información adicional que por lo general es específica del fabricante.
La tabla siguiente informa sobre las indicaciones que puede proporcionar un equipo sobre la
base de una consulta de estado:
Interfaz de llamada
AWL Explicación
call FB 5, DB 21 ( //STATUS llamada de bloque con DB de instancia
REQ := M 1.0, //señal de flanco para la ejecución del FB
ID := DW#16#10001, //adaptada a la configuración del enlace FMS
NDR := M 1.1, //indica si "se aceptan nuevos datos"
ERROR := M 1.2, //indica una ejecución incorrecta
STATUS := MW 20, //descodificación de errores detallada
PHYS := MB 22, //área de datos para estado físico
LOG := MB 23, //área de datos para estado lógico
LOCAL := P#DB18.DBX0.0 WORD8 ); //área de datos para "local detail"
Forma de trabajar
La representación siguiente muestra el desarrollo temporal normal de una petición de
STATUS.
La petición se activa con un cambio de flanco (positivo) del parámetro REQ.
Cada petición de STATUS del programa del usuario es acusado por el CP PROFIBUS
visualizando valores en los parámetros de salida NDR, ERROR y STATUS.
6.7 WRITE
Significado
El FB WRITE transmite datos desde un área de datos local indicada a un área de datos del
interlocutor de comunicación. El área de datos local puede ser un bloque de datos, un área
en la imagen del proceso de entradas/salidas o un área de marcas.(véase el parámetro
SD_1, Parámetros de bloques FMS (Página 266))
El área de datos del interlocutor de comunicación se indica por medio de un nombre de
variable o de un índice de variable.
Interfaz de llamada
AWL Explicación
call FB 6, DB 28 ( //WRITE llamada de bloque con DB de instancia
REQ := M 1.0, //señal de flanco para la ejecución del FB
ID := DW#16#10001, //adaptada a la configuración del enlace FMS
VAR_1 := "SLAVE2".INDEX, //nombra la variable de comunicación a escribir
SD_1 := "PROZESS".Motor1, //direcciona el área de datos desde la que se debe transmitir
DONE := M 1.1, //confirmación de la ejecución
ERROR := M 1.2, //indica una ejecución incorrecta
STATUS := MW 20 ); //descodificación de errores detallada
Forma de trabajar
El siguiente diagrama de flujo muestra la secuencia normal de la transmisión de datos
disparada con el bloque WRITE en el programa de usuario.
La petición se activa con un cambio de flanco (positivo) del parámetro REQ.
Cada petición de WRITE del programa del usuario es acusado por el CP PROFIBUS
visualizando valores en los parámetros de salida DONE, ERROR y STATUS.
Clases de errores
Los códigos de error posibles se agrupan en las siguientes clases de errores:
Nota
Tenga en cuenta la versión de los bloques indicada. Las versiones de bloques adjuntadas
actualmente pueden diferir de las versiones de bloques aquí indicadas. En el caso de
bloques de otras versiones puede diferir la demanda de recursos.
Encontrará datos relativos a las versiones de bloques actuales bajo la siguiente ID de
artículo:
Enlace: (https://support.industry.siemens.com/cs/ww/es/view/9836605)
NOMBRE Versión N.º FB Demanda Demanda MC7 [bytes] Datos lo- DB instan- DB instan-
de memoria de memoria cales cia [bytes] cia MC7
de carga de trabajo [bytes] [bytes]
[bytes] [bytes]
IDENT 1.4 2 1658 1364 1328 136 464 196
READ 1.5 3 2474 2086 2050 130 606 338
REPORT 1.5 4 2184 1818 1782 156 588 332
STATUS 1.3 5 1656 1390 1354 112 438 190
WRITE 1.5 6 2486 2094 2058 142 632 358
NOMBRE Versión N.º FB Bloque Demanda MC7 [bytes] Datos lo- DB instan- DB instan-
[bytes] de memoria cales cia [bytes] cia MC7
de trabajo [bytes] [bytes]
[bytes]
IDENT 1.6 2 1462 1254 1218 86 306 158
READ 1.5 3 1998 1700 1664 64 218 70
REPORT 1.6 4 2036 1732 1696 76 230 72
STATUS 1.6 5 1430 1244 1208 60 182 46
WRITE 1.6 6 2028 1724 1688 76 230 72
Novedades de la edición 07
Esta edición del manual contenía correcciones y ampliaciones.
Cambios / ampliaciones:
● Denominación de los bloques de programa PROFIenergy para S7-300 en STEP 7
Professional
● Capacidad / recursos necesarios de los bloques de programa para Ethernet y
PROFIBUS FMS
● Reacción de los CPs SIMATIC NET a telegramas ICMP
Novedades de la edición 06
Esta edición del manual contenía correcciones.
Correcciones:
● Bloques de programa PROFIenergy
Novedades de la edición 05
Esta edición del manual contenía correcciones y ampliaciones.
Cambios / ampliaciones:
● PROFIenergy
Nuevos bloques de programa para funciones PROFIenergy
Novedades de la edición 04
Esta edición del manual contenía correcciones y ampliaciones.
Cambios / ampliaciones:
● Nuevo bloque de programa AG_CNTEX
● Adaptación al nuevo software de configuración STEP 7 Professional
En el nuevo software de configuración, los bloques de programa solo se indican con su
nombre simbólico. El presente manual lo tiene en cuenta y utiliza preferentemente los
nombres de los bloques de programa. De todas formas, se sigue incluyendo una
asignación de las denominaciones con números de bloque de acuerdo con lo utilizado en
STEP 7 V5.5.
● Bloque de programa complementado FTP_CMD
Es posible crear conexiones FTP con seguridad SSL.
Novedades de la edición 03
Esta edición del manual contenía correcciones y ampliaciones.
Cambios / ampliaciones:
● Referencia a FAQ sobre el manejo de bloques.
● Peculiaridades del uso del FB para conexiones programadas y configuración IP en
sistemas de alta disponibilidad (sistemas H)
● DP_SEND / DP_RECV Complementada la explicación del indicador de estado 8180H.
● DP_CTRL: Se ha complementado la descripción faltante del tipo de petición CTYPE = 4.
Se han complementado datos relativos a CTYPE 1, 7 y 8, dado que estos no son
soportados ya a partir del tipo de módulo DA02.
● DP_CTRL: se ha complementado la explicación para los siguientes indicadores de
estado: 8181H, 8183H, 8333H, 8334H
Novedades de la edición 02
Esta edición del manual contenía correcciones y ampliaciones.
Respecto a la edición anterior, en la presente edición se ha agregado lo siguiente:
Cambios / ampliaciones:
● En el capítulo Industrial Ethernet
Para la comunicación ERPC de CPs ERPC se proporciona un nuevo bloque de función
FB 56.
● En el capítulo FBs / FCs para servicios FTP
Ahora la descripción del bloque de datos File-DB está contenida tanto en la Ayuda en
pantalla como en este manual.
Novedades de la edición 01
Esta edición del manual reunía las descripciones de bloques que hasta ahora se
encontraban en los manuales para CPs S7 clasificados según tipos de redes. Dichos
manuales ya no contendrán en el futuro las descripciones de bloques.
En comparación con las ediciones hasta ahora actuales de los manuales para CPs S7, en la
edición 1 se agregan las siguientes novedades en las descripciones de bloques:
● En el capítulo Industrial Ethernet
Para el modo FTP-Client de Advanced-CPs se proporciona un nuevo bloque de
funciones FB 40. Con este FB se pueden crear de forma eficiente secuencias completas
de peticiones FTP en el programa de usuario.
● En el capítulo PROFINET IO
Modificación de parámetros e los bloques para PROFINET IO
– FC11 PNIO_SEND (versión de bloque 2.0)
– FC12 PNIO_RECV (versión de bloque 2.0)
Estas dos funciones se tienen que utilizar para CPs que usen al mismo tiempo los modos
PROFINET IO-Controller y PROFINET IO-Device.
/1/
SIMATIC NET
CPs S7 para Industrial Ethernet
Configurar y poner en servicio
Manual Parte A − Aplicación general
Manual de configuración
Siemens AG
Enlace a la parte A: (https://support.industry.siemens.com/cs/ww/es/view/30374198)
/2/
SIMATIC NET
Bloques de programa para CPs S7 SIMATIC NET
Manual de programación
Siemens AG
Enlace: (https://support.industry.siemens.com/cs/ww/es/view/30564821)
/3/
SIMATIC NET
Bloques de programa para CP S7 SIMATIC NET
Historial de las versiones, manual de referencia
Siemens AG
ID de artículo: Enlace: (https://support.industry.siemens.com/cs/ww/es/view/9836605)
/4/
SIMATIC
Programar con STEP 7
Siemens AG
(parte del paquete de documentación de STEP 7 "Información básica de STEP 7")
(componente de la documentación online en STEP 7)
Enlace: (https://support.industry.siemens.com/cs/ww/zh/view/45531107)
/5/
SIMATIC
Funciones estándar y funciones de sistema para S7-300/400 - tomo 1/2
Manual de referencia
Siemens AG
(parte del paquete de documentación de STEP 7 "Información básica de STEP 7")
(componente de la documentación online en STEP 7)
En Internet, bajo la siguiente ID de artículo:
Enlace: (https://support.industry.siemens.com/cs/ww/es/view/1214574)
A D
AG_CNTEX, 60 Datos de sistema
AG_CNTRL, 48 Bloque de parámetros para, 118
Dirección del CP, 13, 15
Dispositivo PROFIenergy, 173
B
Bloque de datos de configuración, 113
E
Bloque PNIO_ALARM (FB54)
Parámetros formales, 170 Encabezado de petición, 23
Bloque PNIO_RECV (FC12) Enlace de correo electrónico
Parámetros formales, 156 Bloque de parámetros para, 123
Bloque PNIO_RW_REC (FB52) Enlace FTP
Parámetros formales, 166 Bloque de parámetros para, 124
Bloque PNIO_SEND (FC11) Enlace ISO-on-TCP
Parámetros formales, 148 Bloque de parámetros para, 122
Bloques FC Enlace TCP
AG_LOCK / AG_UNLOCK, 42 Bloque de parámetros para, 120
AG-RECV / AG_LRECV, 224 Enlace UDP
AG-RECV / AG_LRECV / AG_SRECV, 32 Bloque de parámetros para, 121
AG-SEND / AG_LSEND, 217
AG-SEND / AG_LSEND / AG_SSEND, 25
Indicaciones generales, 13, 15 F
Número de bloque, 13, 15
FB, 13, 15
para conexiones configuradas, 21
Códigos de condición y mensajes de error: errores
Bloques FC (FCs)
detectados localmente,
para enlace AG-AG, 215
Códigos de condición y mensajes de error:
Bloques FC para coordinación de accesos en caso de
notificados por el interlocutor FMS,
FETCH/WRITE, 42
IDENTIFY, 269
Búfer de peticiones, 215
READ, 271
REPORT, 273
STATUS, 275
C
WRITE, 278
Cabecera de petición, 215, 217 FMS
Caso de repuesto, 15 Códigos de condición y mensajes de
Caso de sustitución, 17 error, 280, 280
Comando ping, 60, 63 Parámetros de bloques, 266
CONF_DB, 131
CONF_DB See Bloque de datos de configuración, 113
Controlador PROFIenergy, 173 G
Coordinación de accesos, 42
Glosario, 5
Glosario de SIMATIC NET, 5
I
ID de enlace, 119
Rango de valores, 119
L
Librería de bloques, 210
P
PE_DS3_Write_ET200S_CP, 14
PE_Mode_ID, 174, 200
S
Service_Request_ID, 184
T
Tipos de enlace
Bloques de parámetros para, 119
Tipos de subbloque, 125