Documentos de Académico
Documentos de Profesional
Documentos de Cultura
programación para
S7-1200 / 1500
Siemens
TIA Portal Industry
Soporte
https://support.industry.siemens.com/cs/ww/en/view/81318674 Online
Información legal
Información legal
El uso de ejemplos de aplicación
Ejemplos de aplicación ilustran la solución de tareas de automatización a través de una interacción de varios componentes en
forma de texto, gráficos y / o módulos de software. Los ejemplos de aplicación son un servicio gratuito por Siemens AG y / o una
filial de Siemens AG ( “Siemens”). Ellos no son vinculantes y hacen que no pretende ser completa o funcionalidad con respecto a la
configuración y equipamiento. Los ejemplos de aplicación se limitan a ofrecer ayuda con las tareas típicas; no constituyen
soluciones específicas para el cliente. Usted mismo es responsable del funcionamiento correcto y seguro de los productos de
acuerdo con la normativa aplicable, y también debe comprobar la función del ejemplo de aplicación respectiva y personalizarlo para
su sistema.
Siemens le otorga el no sublicenciable y no transferible, no exclusivo, para tener los ejemplos de aplicación utilizados por personal
técnicamente capacitado. Cualquier cambio en los ejemplos de aplicación es su responsabilidad. Compartir los ejemplos de
aplicación con terceros o copiar los ejemplos de aplicación o extractos de los mismos solo se permite en combinación con sus
propios productos. Los ejemplos de aplicación no están obligados a someterse a las pruebas habituales y las inspecciones de
calidad de un producto del impuesto; que pueden tener defectos funcionales y de rendimiento, así como errores. Es su
responsabilidad de utilizarlos de manera tal que cualquier fallo que pueda ocurrir no dan lugar a daños materiales o lesiones a las
personas.
Exclusión de responsabilidad
Siemens no asume ninguna responsabilidad por cualquier motivo legal alguno, incluyendo, sin limitación, la responsabilidad por la facilidad
de uso, disponibilidad, integridad y ausencia de defectos de los ejemplos de aplicación, así como para obtener información relacionada, los
datos de configuración y rendimiento y cualquier daño causado por ese . Esto no se aplicará en los casos de responsabilidad obligatoria, por
ejemplo, bajo la ley de responsabilidad del producto alemán, o en casos de dolo, negligencia grave o pérdida culpable de la vida, lesiones
corporales o daños a la salud, incumplimiento de garantía, no fraudulenta -disclosure de un defecto o incumplimiento culpable de
obligaciones contractuales esenciales. Las reclamaciones por daños derivados de un incumplimiento de las obligaciones contractuales
esenciales, sin embargo, se limitará a los daños previsibles típicos del tipo de acuerdo, menos que dicha responsabilidad surge de la
intención o negligencia grave o se basa en la pérdida de vidas, lesiones corporales o daños a la salud. Las disposiciones anteriores no
implican ningún cambio en la carga de la prueba en su perjuicio. Usted indemnizará Siemens contra demandas actuales o futuras de
terceros en este sentido, salvo cuando Siemens, es obligatoriamente responsable.
Siemens AG 2018 Todos los derechos reservados
Mediante el uso de los ejemplos de aplicación que reconoce que Siemens no se hace responsable de ningún daño más allá de las
disposiciones de responsabilidad descritos.
Otra información
Siemens se reserva el derecho a realizar cambios en los ejemplos de aplicación en cualquier momento sin previo aviso. En
•
caso de discrepancias entre las sugerencias de los ejemplos de aplicación y otras publicaciones, tales como catálogos, el
contenido de la otra documentación tendrán precedencia.
Informacion de seguridad
Siemens ofrece productos y soluciones con funciones de seguridad industrial que apoyan la operación segura de las plantas, los
sistemas, máquinas y redes.
Con el fin de proteger a las plantas, los sistemas, máquinas y redes contra las amenazas informáticas, es necesario poner en práctica - y
mantener de forma continua - un concepto integral de seguridad industrial del estado de la técnica. Los productos y soluciones de Siemens
constituyen un elemento de tal concepto. Los clientes son responsables de prevenir el acceso no autorizado a sus plantas, sistemas,
máquinas y redes. Tales sistemas, máquinas y componentes sólo deben estar conectados a una red de empresa o Internet, si y en la
medida es necesaria una conexión de este tipo y sólo cuando las medidas de seguridad apropiadas (por ejemplo cortafuegos y / o
segmentación de la red) están en su lugar. Para obtener información adicional sobre las medidas de seguridad industrial que puede ser
implementado, por favor visite
https://www.siemens.com/industrialsecurity .
Los productos y soluciones de Siemens experimentan un desarrollo continuo para hacerlos más seguros. Siemens recomienda encarecidamente
que las actualizaciones de productos se aplican tan pronto como estén disponibles y que se utilizan las últimas versiones de productos. El uso de
versiones de productos que ya no son compatibles, y falta de aplicación de las últimas actualizaciones puede aumentar la exposición del cliente a
las amenazas informáticas.
Para mantenerse informado sobre actualizaciones de productos, suscribirse a la fuente de seguridad Siemens Industrial RSS en: https://www.siemens.com/industrialsecurity
.
Tabla de contenido
Información legal ................................................ .................................................. ....... 2
2.9.4 Comparación de las etiquetas de tipos de datos PLC (V14 o superior) ................. 33
2.9.5 La asignación múltiple (V14 o superior) ........................................... ....... 34
2.10 Simbólico y comentarios ............................................... ..................... 35
2.10.1 editor de programación ................................................ ............................ 35
2.10.2 Las líneas de comentario en tablas de observación ............................................. ............. 36
2.11 Las constantes del sistema ................................................ ............................... 37
2.12 constantes de usuario ................................................ ................................... 38
2.13 ID de referencia interna para tags del controlador y HMI ............................... 39
2.14 STOP en caso de errores ........................................... .......... 41
5.12.1 Evitando de bloques de procesamiento de tiempo: TP, TON, TOF ........................ 113
5.12.2 Evitando jerarquías llamadas profundas .............................................. ........... 113
5.12.3 Evitando estructuras / etiqueta JMP ............................................. ............ 113
5.13 El intercambio de datos entre el programa estándar y programa F ............ 114
5.14 Probando el programa de seguridad .............................................. ................. 115
5.15 modo STOP en el caso de F errores .......................................... ...... 116
5.16 La migración de los programas de seguridad .............................................. .............. 116
5.17 Recomendaciones generales para la seguridad .............................................. . 116
1 Prefacio
Objetivo para el desarrollo de la nueva generación de controladores SIMATIC
• Un sistema de ingeniería para todos los componentes de automatización (controlador, HMI, unidades, etc.)
• la programación uniforme
Objetivo de la pauta
La nueva generación del controlador SIMATIC S7-1200 y S7-1500 tiene una arquitectura de sistema hasta a la
fecha, y junto con el TIA Portal ofrece nuevas y eficaces opciones de programación y configuración. Ya no es los
recursos del controlador (por ejemplo, el almacenamiento de datos en la memoria) que son de suma importancia,
pero la solución de automatización en sí.
Este documento le da muchas recomendaciones y notas sobre la programación óptima de S7-1200 / 1500
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
controladores. Algunas diferencias en la arquitectura del sistema del S7-300 / 400, así como las nuevas
opciones de programación conectados de este modo se explican de una manera fácil de entender. Esto le ayuda
a crear la programación normalizada y óptimo de sus soluciones de automatización. Los ejemplos descritos se
pueden utilizar universalmente para el S7-1200 controladores y S7-1500.
- Lenguajes de programación
- bloques optimizados
- concepto de memoria
- El direccionamiento simbólico
- bibliotecas
Ventajas y beneficios
Más información
Al programar controladores SIMATIC, la tarea del programador es crear un programa de usuario lo más clara y
legible posible. Cada usuario utiliza su propia estrategia, por ejemplo, cómo nombrar etiquetas o bloques o la
forma de comentar. Las diferentes filosofías de los programadores a crear diferentes programas de usuario que
sólo pueden ser interpretados por el respectivo programador.
La guía de estilo de programación que ofrece conjunto coordinado de normas para la programación consistente. Estas
especificaciones describen, por ejemplo, una asignación uniforme de las etiquetas y los nombres de los bloques hasta
borrar la programación en SCL. Puede utilizar estas normas y recomendaciones libremente; que sirven como una
sugerencia (no es un estándar en la programación) para la programación consistente.
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
Nota La guía de estilo de programación para S7-1200 y S7-1500 se puede encontrar en el siguiente enlace:
https://support.industry.siemens.com/cs/ww/en/view/81318674
2.1 Introducción
2.1 Introducción
En general, la programación de los controladores SIMATIC de S7-300 / 400 a S71500 ha permanecido igual. Hay
los lenguajes de programación conocidos, tales como KOP, FUP, AWL, SCL o gráfico y bloques tales como
bloques de organización (OBs), bloques de función (FB), funciones (FC) o bloques de datos (DBs). / 400
programas creados S7-300 se pueden implementar fácilmente en S7-1500 y LAD existente, FUP y SCL
programas se pueden implementar fácilmente en S7-1200 controladores. Además, hay muchas innovaciones que
facilitan la programación para usted y permite que el código de gran alcance y bajo consumo de memoria.
Para los programas que se implementan para el S7-1200 / 1500 controladores, se recomienda no aplicar a
uno-a-uno, pero también para comprobar nuevas opciones y si es posible, para usarlos. El esfuerzo adicional es a
menudo limitada y recibirá un código de programa que es, por ejemplo,
Nota Información para la migración de S7-300 / S7-400 a S7-1500 se puede encontrar en la siguiente entrada:
https://support.industry.siemens.com/cs/ww/en/view/109478811
2.2 Condiciones
Algunos términos tienen cambio para permitir un manejo más fácil con el TIA Portal.
2.2 Condiciones
Cuando se trata de etiquetas, funciones y bloques de función, muchos términos se utilizan en varias ocasiones de manera diferente o
incluso de forma incorrecta. La siguiente figura aclara estos términos. Figura 2-2: Condiciones para las etiquetas y los parámetros
Globaler DB FC / FB
2
3 4
Término Descripción
1. Etiquetas Etiquetas son etiquetados por un nombre / identificador y utilizar una dirección en la
memoria del controlador. Etiquetas siempre se definen con un cierto tipo de datos
(Bool, Integer, etc.):
• variables de PLC
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
2. valor de la etiqueta Los valores de variables son valores almacenados en una etiqueta (por ejemplo, 15 como valor
de una etiqueta de número entero).
3. parámetro real Los parámetros reales son etiquetas interconectados en las interfaces de
instrucciones, funciones y bloques de función.
4. Parámetros formales (parámetro Los parámetros formales son los parámetros de la interfaz de
de transferencia, los parámetros instrucciones, funciones y bloques de función (entrada, salida, InOut,
de bloque) y ret_val).
2.2 Condiciones
¿Qué entradas están disponibles en el Internet para la migración a STEP 7 (TIA Portal) y WinCC (TIA
Portal)?
https://support.industry.siemens.com/cs/ww/en/view/56314851
¿Qué requisitos del sistema tienen que cumplirse para migrar un proyecto de STEP 7 V5.x en STEP 7
Professional (TIA Portal)?
https://support.industry.siemens.com/cs/ww/en/view/62100731
¿Cómo se puede programar de manera eficiente y performant en STEP 7 (TIA Portal) para S71200 / S7-1500?
https://support.industry.siemens.com/cs/ww/en/view/67582299
Por qué no es posible mezclar paso de registro y transferencia de parámetros explícita con el S7-1500 en STEP
7 (TIA Portal)?
Entre otros temas, la migración de los programas STL a S7-1500 se describe en esta entrada.
https://support.industry.siemens.com/cs/ww/en/view/67655405
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
Diferentes lenguajes de programación están disponibles para la programación de un programa de usuario. Cada idioma tiene
sus propias ventajas que se pueden utilizar de manera flexible dependiendo de la aplicación. Por lo tanto, cada bloque en el
programa de usuario se puede crear en cualquier lenguaje de programación. Tabla 2-2: Los lenguajes de programación
Grafico no sí
¿Qué debe tener en cuenta cuando la migración de un programa S7-SCL en STEP 7 (TIA Portal)?
https://support.industry.siemens.com/cs/ww/en/view/59784005
Puede que las instrucciones que debe usarse en un programa de SCL en STEP 7 (TIA Portal)?
https://support.industry.siemens.com/cs/ww/en/view/58002709
TIA Portal y S7-1200 / 1500 permiten un rendimiento de ejecución optimizada en cualquier lenguaje de programación.
Todos los idiomas se compilan directamente en código de máquina de la misma manera.
ventajas
• Todos los lenguajes de programación tienen el mismo nivel de rendimiento (para los mismos tipos de acceso)
• Sin reducción del rendimiento a través de la compilación adicional paso intermedio a través de STL
propiedades
Figura 2-3: Máquina de creación de código con S7-300 / 400 / WinAC y S7-1200 / 1500
SCL
KOP KOP
SCL STL (sólo S7-1500)
FUP FUP
STL
• Para programas S7-300 / 400 / WinAC controladores KOP y FUP se recopilan por primera vez en STL antes de
crear el código máquina.
• Para S7-1200 / 1500 controladores de todos los lenguajes de programación se compilan directamente en código máquina.
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
Todos los bloques como OBs, FBs y FCs se pueden programar directamente en el lenguaje de programación deseada. Por lo tanto
no hay ninguna fuente tiene que ser creado para la programación SCL. Sólo seleccione el bloque y SCL como lenguaje de
programación. A continuación, puede programar el bloque directamente. Figura 2-4: Cuadro de diálogo "Agregar nuevo bloque”
S7-1200 / 1500 controladores tienen un almacenamiento de datos optimizado. En los bloques optimizados todas las etiquetas se
ordenan automáticamente en función de su tipo de datos. La clasificación se asegura de que las lagunas de datos entre las
etiquetas se reducen al mínimo y que las etiquetas se almacenan acceso optimizado para el procesador.
bloques no optimizado sólo están disponibles por razones de compatibilidad en S7-1200 / 1500 controladores.
ventajas
• El acceso se realiza siempre lo más rápido posible ya que el almacenamiento de datos se optimiza
mediante el sistema e independiente de la declaración.
• No hay peligro de inconsistencias debido a un acceso defectuoso, absoluta, ya que el acceso es generalmente simbólica
• cambios de declaración no conducen a errores de acceso, ya que, por ejemplo, el acceso HMI es
simbólico.
• No se requieren ajustes en el bloque de datos de instancia. Todo está listo en el FB asignado (por ejemplo,
capacidad de retención).
• Almacenamiento de reservas en el bloque de datos permite cambios sin pérdida de los valores actuales (véase
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
Estándar
Los bits optimizado Los bits
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
0 X1
W1
1 B1
ytes
B
ytes 2 X3 X2
W2
B
3
4 B1
W1
5 X1 X2 X3 X4
6 X3
8
W2
9
propiedades
• No se forman lagunas de datos desde las etiquetas más grandes se encuentran en el inicio de un bloque y los más
pequeños al final.
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
0 X1
W1
1 B1
ytes 2 X3 X2 ytes
W2
B B
3
B1
4
W1
X1
5
X4 X2
6
X3
7
8 X4
W2
9 reserva
80
96
2
102 DW DW DW WW
128 WBXX reserva
144
1. Las estructuras se encuentran por separado y, por tanto, se pueden copiar como bloque.
2. datos remanentes se encuentra en una zona separada y se puede copiar como bloque. En el caso de una pérdida
de tensión de estos datos se guarda internamente en la CPU. "MRES” restablece estos datos a los valores de
inicio ubicadas en la memoria de carga.
propiedades
• No se forman lagunas de datos desde las etiquetas más grandes se encuentran en el inicio de un bloque y los más
pequeños al final.
• Acceso más rápido debido al almacenamiento del procesador optimizado (todas las etiquetas se almacenan en una manera
para que el procesador del S7-1500 puede leer o escribir directamente con sólo un comando de la máquina).
• etiquetas de Boole se almacenan como bytes para un acceso más rápido. De este modo, el controlador no tiene que enmascarar el
acceso.
• bloques optimizados tienen una reserva de almacenamiento de carga en operación de funcionamiento (véase el capítulo 3.2.8
Descarga de una reinstalación, sin ).
Por razones de compatibilidad a los primeros controladores SIMATIC, el principio de la memoria de datos "Big Endian”
fue aceptada en los controladores S7-300 / 400. Sobre la base de la arquitectura del procesador cambiado, la nueva
generación controlador S7-1500 accede siempre a 4 byte ( 32 bit) en la secuencia "Little-Endian”. Por lo tanto las
siguientes propiedades resultan en el lado del sistema. Figura 2-8: Acceso a los datos de un controlador S7-1500
B B 0 little-endian
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
3 1
REAL 1
4 2 1
PALABRA
3 El octeto 0 little-endian
5
1
6XX BYTE
7 2 X
8 X
0
9 1
PALABRA
El octeto 0
2 reserva
2. El byte entero se lee y enmascarada por acceso de Cada bit se asigna un byte. El controlador no
bits. tiene que enmascarar el byte cuando se accede.
El byte completo está bloqueado para cualquier otro
acceso.
3. El tamaño máximo de bloque es de 64 KB. El tamaño máximo de bloque puede ser de hasta 16 MB.
Recomendación
- No se requiere direccionamiento absoluto y siempre se puede tratar con datos simbólicos (objetos
relacionados). direccionamiento indirecto es también posible con datos simbólicos (véase el capítulo tipo de
datos 3.6.2 ARRAY y accesos de campo indirectos ).
- El procesamiento de bloques optimizados en el controlador es considerablemente más rápido que para los bloques estándar.
Por defecto, el acceso al bloque optimizado está habilitado para todos los bloques de nueva creación para el S7-1200 / 1500.
Bloquear el acceso se puede configurar para OBs, FBs y DBs globales. Por ejemplo DBs, la configuración se deriva de la
respectiva FB.
Bloquear el acceso no se restablece automáticamente si un bloque se migra desde un controlador S7-300 / 400 a un S7-1200 /
1500. Más tarde, puede cambiar el acceso al bloque de "bloquear el acceso optimizado”. Después de cambiar el bloque de
acceso, usted tiene que volver a compilar el programa. Si cambia FB para "bloquear el acceso optimizado”, los bloques de
datos de instancia asignado se actualizan automáticamente.
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
Siga las instrucciones para configurar el acceso al bloque optimizado. Tabla 2-4: Configuración
Paso Instrucción
Paso Instrucción
3. Aquí, se ve todos los bloques en el programa y si se optimizan o no. En este panorama, el estado
"Acceso optimizado bloque” puede ser convenientemente modificado.
Nota: Los bloques de datos de instancia (en este caso "Function_block_1_DB”) heredan el estado "optimizado”
del FB asociado. Esta es la razón por la configuración "optimizado” sólo se puede cambiar en el FB. Después
de la elaboración del proyecto, el PP lleva en el estado en función de la FB asociado.
En las dos figuras siguientes las diferencias entre un optimizado y una instancia de DB no optimizada
puede ser visto. Para un DB global existen las mismas diferencias. Figura 2-9: optimizado bloque de datos
(sin desplazamiento)
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
bloques de datos optimizados se abordan de forma Para los bloques no optimizadas el "Offset” se muestra y se
simbólica. Por lo tanto no " Muestra el offset”. puede utilizar para el direccionamiento.
En el bloque optimizado puede declarar En los bloques no optimizados solamente todo o nada etiqueta puede
cada etiquetar individualmente con "Retener”. ser declarada con "Retener”.
La capacidad de retención de etiquetas de una base de datos global se define directamente en la base de datos global. Por defecto, no retener está
prefijado.
Definir la capacidad de retención de etiquetas en un caso en el bloque de función (no el DB de instancia). Estos ajustes
son, por tanto, válida para todos los casos de este FB.
En la siguiente tabla se muestran todos los tipos de acceso para los bloques. Tabla 2-6: Los tipos de
acceso
Simbólico sí sí
Indexados (campos) sí sí
acceso rebanada sí sí
directa absoluta no sí
(Alternativa: ARRAY con el índice)
¿Qué tipos de acceso están disponibles en STEP 7 (TIA Portal) para acceder a los valores de datos en bloques
y qué hay que tener en cuenta con las diferencias entre los tipos?
https://support.industry.siemens.com/cs/ww/en/view/67655611
¿Qué propiedades hay que tener en cuenta en STEP 7 (TIA Portal) para obtener instrucciones
"READ_DBL" y "WRIT_DBL" cuando se utiliza DB con acceso optimizado?
https://support.industry.siemens.com/cs/ww/en/view/51434747
En general se recomienda trabajar con etiquetas optimizados. Sin embargo, si en casos individuales, que desea
mantener su programación hasta ahora, habrá una mezcla de almacenamiento de datos no optimizadas optimizado y
en el programa.
El sistema conoce el almacenamiento interno de cada etiqueta, irrelevante si estructurado (deriva de un tipo de
datos definido individualmente) o elemental (INT, LREAL, ...). Para las asignaciones con el mismo tipo entre dos
etiquetas con diferente de almacenamiento de memoria, el sistema convierte automáticamente. Esta conversión
requiere el rendimiento de las etiquetas estructurados y por lo tanto se debe evitar, si es posible.
2.6.5 Transferencia de parámetros entre los bloques con acceso optimizado y no optimizado
Al transferir las estructuras al bloque llamado como parámetros de entrada / salida (InOut), se transfieren de forma
predeterminada como referencia (ver capítulo 3.3.2 Llamada por referencia ). Sin embargo, este no es el caso si uno de los
bloques tiene la propiedad de "acceso optimizado" y el otro bloque de la propiedad "de acceso predeterminado”. En este caso,
todos los parámetros se transfieren generalmente como copia (véase el capítulo 3.3.1 Llamada por valor ). En este caso, el
bloque llamado siempre trabaja con los valores copiados. Durante el procesamiento de bloques, estos valores pueden ser
cambiados y que se copian de nuevo a la operando original, después del procesamiento de la llamada del bloque.
Esto puede causar problemas si los operandos originales se cambian por procesos asíncronos, por ejemplo, por
el acceso HMI o interrumpir OBs. Si las copias se copian de nuevo a los operandos originales después de que el
proceso de bloque, los cambios realizados de forma asíncrona en los operandos originales se sobrescriben.
¿Por qué los datos del sistema HMI o el servidor web a veces sobrescribe en el S7-1500?
https://support.industry.siemens.com/cs/ww/en/view/109478253
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
Recomendación
• Ponga siempre el mismo tipo de acceso para los dos bloques que se comunican entre sí.
La interfaz (CPU, CM) transfiere los datos en la forma en que está dispuesto (independientemente de no optimizado
si se optimiza o).
transferencia de
datos Compatible
• optimizado • optimizado
• no optimizado • No optimizado
• Tag (de cualquier tipo) • Etiqueta (de cualquier tipo)
Ejemplo
• Una etiqueta con PLC tipo de datos (registro de datos) deberá darse a conocer a una CPU.
• En la CPU enviar la etiqueta está interconectado como parámetro real con el bloque de
comunicación (TSEND_C).
• En la CPU recibir los datos de recepción se asigna a una etiqueta del mismo tipo.
• En este caso obra simbólica en los datos recibidos se puede continuar directamente.
Nota Cualquier etiqueta o bloques de datos pueden ser utilizados como registros de datos (derivados de tipos de datos PLC).
Para S7-1200 / 1500 controladores el tamaño máximo de bloques en la memoria principal fue notablemente ampliada. Tabla
DB Max. tamaño 64 kB 64 kB 64 kB 16 MB
(optimizado
CPU1518)
Recomendación
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
• Utilizar DB para controladores S7-1500 como contenedor de datos de grandes volúmenes de datos.
• Puede almacenar volúmenes de datos de> 64 kB con S7-1500 controladores en un (tamaño máx. 16
MB) optimizado DB.
Con OB de una estructura jerárquica del programa de usuario puede ser creado. Hay diferentes OBs disponibles
para esto. Tabla 2-8: Número de bloques de organización
Modularización de la
OBs cíclicos y puesta en marcha 100 100
programa de usuario
Modularización de la
alarmas de retardo 20
programa de usuario
4*
Modularización de la
alarmas cíclicas 20
programa de usuario
Modularización de la
alarmas de sincronismo no 20
programa de usuario
Recomendación
Al llamar al bloque, parámetros de bloque se pueden mostrar u ocultar específicamente. Aquí, usted tiene tres
opciones que se pueden configurar individualmente para cada parámetro formal.
• "Show"
• "Esconder"
ventajas
propiedades
- FCs, FBs
Ejemplo
S7-1200 / 1500 controladores admiten nuevos tipos de datos para hacer la programación más conveniente. Con los nuevos tipos
de datos de 64 bits, valores considerablemente más grandes y más precisas pueden ser utilizados.
En STEP 7 (TIA Portal), ¿cómo convertir los tipos de datos para el S71200 / 1500?
https://support.industry.siemens.com/cs/ww/en/view/48711306
Real 32 bit (prefijo de 1 bit, bit exponente 8, 23 bits de mantisa), la precisión 7 - 3.40e + 38 .. 3.40e + 38
lugares después de la coma
LReal 64 bit (prefijo de 1 bit, 11 bit exponente, 52 bits de mantisa), precisión 15 - 1,79E + 308 .. 1,79E + 308
lugares después de la coma
¿Por qué, en STEP 7 (TIA Portal), es el resultado de la adición DInt en SCL no se muestran
correctamente?
https://support.industry.siemens.com/cs/ww/en/view/98278626
DTL siempre lee la hora actual del sistema. El acceso a los valores individuales es por los nombres simbólicos (por
ejemplo, My_Timestamp.Hour)
ventajas
• Todas las zonas (por ejemplo, año, mes, ...) se pueden abordar de manera simbólica.
Recomendación
Utilizar el nuevo tipo de datos DTL en lugar de LDT y abordar de manera simbólica (por ejemplo, My_Timestamp.Hour).
En STEP 7 (TIA Portal), ¿cómo se puede entrada, leer y editar la fecha y la hora de los módulos de CPU de
S7-300 / S7-400 / S7-1200 / S7-1500?
https://support.industry.siemens.com/cs/ww/en/view/43566349
¿Qué funciones están disponibles en el STEP 7 V5.5 y en la norma TIA Portal para el procesamiento de los tipos de datos
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
DT y DTL?
https://support.industry.siemens.com/cs/ww/en/view/63900229
LT # -106751d23h47m16s854ms775us808ns
LTiempo 64 Bit a
LT + # 106751d23h47m16s854ms775us807ns
Con la ayuda de los tipos de datos y WCHAR wstring caracteres Unicode puede ser procesado.
WCHAR 2 Byte -
Valor de preselección:
n = longitud de la cuerda
propiedades
Ejemplo
• WCHAR # 'a'
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
Un parámetro de la variante tipo es un puntero que puede apuntar a la etiqueta de diferentes tipos de datos. En contraste
con el puntero ANY, la variante es un puntero con el ensayo de tipo. Esto significa que la estructura objetivo y la estructura
de origen se comprobado en tiempo de ejecución y tienen que ser idénticos.
VARIANT, por ejemplo, se utiliza para bloques de comunicación (TSEND_C) como entrada. Figura 2-13: Tipo de datos
VARIANTE
ventajas
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
• El código puede ser leído más fácilmente a través del direccionamiento simbólico de las etiquetas variantes.
• El tipo correcto de las etiquetas de variante se puede utilizar directamente con la ayuda de las funciones del sistema.
propiedades
En una comparación entre cualquier y variante, las propiedades se pueden ver. Tabla 2-14: Comparación
CUALQUIER y variante
ALGUNA Variante
Requiere memoria 10 bytes con estructura definida No requiere una memoria principal para el usuario
Inicialización ya sea a través de la asignación del área de datos Inicialización mediante la asignación de la zona de datos o de
o rellenando el cualquier estructura instrucciones del sistema
No-tipificado - tipo de una estructura interconectada Tecleó - interconectados tipo y para las matrices de la longitud
no puede ser reconocido también se puede determinar
En parte mecanografiado - para las matrices también se puede VARIANTE puede ser evaluado y también creó a través de
determinar la longitud las instrucciones del sistema
Recomendación
• Compruebe donde antes se tenía que utilizar el puntero ANY. En muchos casos un puntero ya no es
necesario (ver tabla siguiente).
• Utilice el tipo de datos Variant sólo para el direccionamiento indirecto, cuando los tipos de datos se determinan solamente en
tiempo de ejecución del programa.
- Utilice el tipo de datos VARIANT como parámetro formal InOut para crear bloques genéricos que son
independientes del tipo de datos de los parámetros reales (véase el ejemplo en este capítulo).
- Utilice el tipo de datos Variant en lugar del puntero ANY. Los errores se detectan desde el principio
debido a la prueba de tipo integrado. Debido a abordar el simbólico, el código de programa se puede
interpretar fácilmente.
- Use la instrucción variante, por ejemplo, para la identificación de tipo (véase ejemplo
siguiente y el capítulo 2.9.2 Instrucciones de VARIANT )
• Utilice el índice para las matrices en lugar de hacer frente a los elementos de la matriz a través de cualquier (véase el
capítulo tipo de datos 3.6.2 ARRAY y accesos de campo indirectos ).
¿Cuáles son punteros ANY utilizados para? Simplificación con S7-1200 / 1500
funciones que pueden procesar diferentes tipos de datos de → Las funciones con variante puntero como parámetro InOut
programación para los bloques (véase ejemplo siguiente)
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
Nota Si se han de copiarse valores de las variables variante no estructurados, también se puede utilizar en lugar de
VariantGet MOVE_BLK_VARIANT (capítulo 2.9.2 Instrucciones de VARIANT ).
Ejemplo
Con la variante de tipo de datos, es posible identificar los tipos de datos en el programa de usuario y responder a ellas
en consecuencia. El siguiente código de los bloques FC "MoveVariant” muestra una posible programación.
• El parámetro formal InOut "invar” (tipo de datos VARIANT) se utiliza para mostrar una etiqueta independiente del
tipo de datos.
• Dependiendo del tipo de datos, el valor de la etiqueta se copia con la instrucción "MOVE_BLK_VARIANT” a
los diferentes parámetros formales de salida.
• Si el tipo de datos del parámetro actual no se detecta, la salida del bloque voluntad un código de error.
En t: // Mover Entero
COUNT: = 1 ,
SRC_INDEX: = 0 ,
Dest_Index: = 0 ,
COUNT: = 1 ,
SRC_INDEX: = 0 ,
Dest_Index: = 0 ,
COUNT: = 1 ,
SRC_INDEX: = 0 ,
Dest_Index: = 0 ,
no se corresponden
END_CASE ;
2.9 Instrucciones
2.9 Instrucciones
El TIA Portal es compatible con el programador con instrucciones listos (lógica de bits, tiempos, contadores,
comparador ...).
Biblioteca con funciones generales (LGFP) para STEP 7 (TIA Portal) y S7-1200 / S7-1500
https://support.industry.siemens.com/cs/ww/en/view/109479728
En STEP 7 (TIA Portal) las siguientes instrucciones de movimiento están disponibles. La instrucción
MOVE_BLK_VARIANT es nuevo para S7-1200 / 1500. Tabla 2-16: Las instrucciones de movimiento
UMOVE_BLK Copias matriz sin • Copia el contenido de una matriz coherente sin
interrupción el riesgo de la OB interrumpir el proceso de
copia.
• Fuente y matriz de destino deben ser del mismo tipo de
datos.
MOVE_BLK_VARIANT Copiar matriz • Copias uno o etiqueta estructurado varios (s) (tipos de
datos PLC)
(S7-1500 y S7-1200 • Reconoce los tipos de datos en tiempo de ejecución
FW4.1 o superior)
• Suministros de la información detallada del error
2.9 Instrucciones
Publicar por fascículos convierte los datos • Varios registros de datos se pueden combinar en una sola
estructurados en una matriz de bytes y, por ejemplo, ser enviada a otros
(S7-1500 y S7-1200 matriz de bytes dispositivos como una trama de mensaje.
FW4.1 o superior)
• Los parámetros de entrada y de salida se pueden
transferir como tipo de datos Variant.
propiedades
Instrucciones tales como "Serializa", "Deserialize", "CMP" (comparador) y "MOVE: valor copia" pueden procesar muy
grandes y complejos etiquetas estructurados. En el proceso, la CPU analiza la estructura de etiquetas en tiempo de
ejecución. El tiempo de procesamiento depende de las siguientes propiedades de la estructura de etiquetas para ser
procesados:
• La complejidad de la estructura
Recomendación
• Declarar las estructuras con la ayuda de los tipos de datos de PLC en lugar de con la "estructura”
- Evitar, por ejemplo, la declaración múltiplo de manera muy similar formada por estructuras.
Resumirlas en una sola estructura.
- Cuando muchos elementos de la estructura tienen el mismo tipo de datos, utilice el tipo de datos ARRAY,
si es posible.
2.9 Instrucciones
- Use la instrucción MOVE_BLK para copiar partes de una matriz de un tipo de dato conocido.
- Sólo utilice la instrucción MOVE_BLK_VARIANT si desea copiar partes de matrices con los tipos de datos que
sólo son conocidos durante el programa en tiempo de ejecución.
Nota UMOVE_BLK: El proceso de copia no puede ser interrumpido por otra actividad del sistema operativo. Por lo
tanto, los tiempos de reacción de alarma de la CPU pueden aumentar durante el procesamiento de la instrucción
"Copy matriz sin interrupción".
Para la descripción completa de las instrucciones de movimiento, por favor consulte la ayuda TIA Portal en línea.
Enumeración
instrucciones de comparación
TypeOf () (sólo La determinación del tipo de datos Utilice esta instrucción para pedir los datos
SCL) tipo de una etiqueta que apunta a una variante.
TypeOfElements () La determinación del tipo de datos de Utilice esta instrucción para sondear el tipo de datos de los
(solamente SCL) matriz elementos de la matriz de una etiqueta que apunta a una
variante.
2.9 Instrucciones
instrucciones de comparación
VARIANT_TO_DB_ANY (sólo Determinación del número de Esta instrucción consulta el número de bloque de datos
SCL) bloque de datos de un bloque de datos de instancia de un tipo de datos
PLC, el tipo de datos del sistema o la matriz de DB.
DB_ANY_TO_VARIANT (sólo Creado a partir de un bloque de Esta instrucción crea la etiqueta de variante de un bloque
SCL) datos de una etiqueta de variante. de datos de instancia de un tipo de datos PLC, el tipo de
datos del sistema o la matriz de DB.
Nota Para más instrucciones variante, consulte la ayuda en línea del TIA Portal.
propiedades
Debido a su complejo algoritmo, instrucciones variantes requieren un tiempo de procesamiento más largo entonces
instrucciones directas.
Recomendación
• Si es posible, no utilice las instrucciones variantes en bucles (FOR, WHILE ...) con el fin de evitar un aumento
innecesario del tiempo de ciclo.
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
• No utilice un bucle a través de los elementos para copiar una matriz, pero la asignación directa de la matriz
completa.
2.9.3 DURACIÓN
La instrucción "TIEMPO" mide el tiempo de ejecución de todo el programa, bloques individuales o secuencias de
comandos. Usted puede llamar a esta instrucción en KOP, FUP, SCL y en STL (sólo S7-1500).
Con S7-1200 / S7-1500, ¿cómo se mide el tiempo de ciclo total de un bloque de organización?
https://support.industry.siemens.com/cs/ww/en/view/87668055
2.9 Instrucciones
Dos etiquetas del mismo tipo de datos del PLC se puede comprobar en busca de similitudes o diferencias.
ventajas
Ejemplo
Figura 2-17: Comparación de las etiquetas de tipos de datos PLC en instrucciones AWL
// Declaración de la sección SI
TERMINARA SI ;
2.9 Instrucciones
ventajas
La asignación múltiple permite la programación óptima para varias etiquetas (por ejemplo, para la inicialización).
Ejemplo
# statFillLevel: = #statTemperature: = #tempTemperature: = 0,0;
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
ventajas
Puede hacer que el código fácil de entender y fácil de leer para sus colegas mediante el uso de nombres simbólicos
y comentarios en su programa. La completa simbólica se guarda junto con el código de programa durante la
descarga al controlador y, por tanto, permite un mantenimiento rápido de la planta, incluso cuando no hay ningún
proyecto en línea está disponible.
Recomendación
• Utilizar los comentarios en los programas con el fin de mejorar la legibilidad. comentarios Título de la red son
visibles incluso si se colapsan las redes.
• Diseñar el código de programa de una manera para que los colegas también pueden comprender el programa de forma
inmediata.
En el siguiente ejemplo se puede ver las amplias opciones para comentar el programa en los editores.
Ejemplo
En la siguiente figura se puede ver las opciones para comentar en el editor KOP (misma funcionalidad en
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
FDB).
3. Comentario de segmento
En los lenguajes de programación SCL y AWL, que puede ser comentado con // en cada fila.
Ejemplo
En STEP 7 (TIA Portal), ¿por qué son la visualización de textos, títulos y comentarios ya no aparecen después de
abrir el proyecto en el editor de módulos?
https://support.industry.siemens.com/cs/ww/en/view/41995518
ventajas
• Para una mejor estructuración es posible crear líneas de comentario en la tabla de observación.
Recomendación
Ejemplo
Para S7-300 / 400 controladores de la identificación de los componentes de hardware y de software se lleva a cabo por la
dirección lógica o direcciones de diagnóstico.
Para S7-1200 / 1500 de la identificación es por constantes del sistema. Todos los componentes de hardware y software
(por ejemplo, interfaces, módulos, unidades móviles, ...) de los controladores S7-1200 / 1500 tienen sus propias
constantes del sistema. Las constantes del sistema se crean automáticamente durante la instalación de la configuración
del dispositivo para la I / O central y distribuida.
ventajas
Recomendación
• Asignar nombres de los módulos relacionados con la función con el fin de identificar el módulo fácilmente durante la
programación.
Ejemplo
En el siguiente ejemplo se puede ver cómo se usan las constantes del sistema en el programa de usuario.
1. Las constantes del sistema de un controlador se pueden encontrar en las "variables de PLC - tabla de variables por
defecto” carpeta.
2. Las constantes del sistema están en una lista separada en la "tabla de variables por defecto”.
También puede encontrar el módulo bajo este nombre en la tabla de constantes del sistema. En el programa de
usuario "RobotArmLeft” está interconectado con el "GET_DIAG” bloque de diagnóstico.
Nota Abra la "Configuración de dispositivos” para encontrar rápidamente la constante de sistema para cada dispositivo.
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
¿Qué sentido tienen las constantes del sistema para el S7-1200 / 1500 en STEP 7 (TIA Portal)?
https://support.industry.siemens.com/cs/ww/en/view/78782835
valores constantes se pueden guardar con la ayuda de las constantes de usuario. Generalmente, no son constantes
locales para OBs, FCs y FBs y constantes global para todo el programa de usuario en un controlador.
ventajas
• constantes de usuario pueden utilizarse para cambiar valores constantes global o local para todos los lugares de uso.
propiedades
Recomendación
• Utilice las constantes de usuario para mejorar la legibilidad del programa y mutabilidad central de ...
- códigos de error,
- instrucciones CASE,
- factores de conversión,
Ejemplo
PASO 7, WinCC, StartDrive, seguridad y otros se integran en la base de datos conjunta del sistema de ingeniería TIA
Portal. Los cambios de los datos se aceptan automáticamente en todos los lugares en el programa de usuario,
independientemente de si esto sucede en un controlador, un panel o una unidad. Por lo tanto no se pueden producir
inconsistencias en los datos. Si crea una etiqueta, el TIA Portal crea automáticamente un ID de referencia único. El ID
de referencia no se puede ver o programada por usted. Este procedimiento es de referencia interna. Al cambiar las
etiquetas (dirección), el ID de referencia se mantiene sin cambios.
En la figura por debajo de la referencia interna a los datos se muestran esquemáticamente. Figura 2-23: ID de
PLC1 HMI1
Símbolo del PLC dirección PLC interno ID de HMI interno ID de HMI Symbol Modo de Conexión con
nombre absoluta referencia referencia nombre acceso PLC
• cambiar el tipo.
• borrar la etiqueta.
ventajas
• Puede volver a colocar etiquetas sin cambiar las relaciones internas. La comunicación entre el controlador, HMI y
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
• La longitud del nombre simbólico no tiene una influencia sobre la carga de comunicación entre
el controlador y HMI.
propiedades
Si se cambian las direcciones de las variables de control, es suficiente para recargar el controlador ya que el sistema
también se ocupa el sistema internamente con los ID de referencia. No es necesario volver a cargar los paneles de
operador (véase Figura 2-24: Cambio de dirección o la adición de fila ).
variables de PLC
Cambio de dirección y
motor1 % I0.0 motor1 % I2.0
SOCIEDAD ANÓNIMA
Elementos DB
fila y añadiendo
SOCIEDAD ANÓNIMA
En comparación con S7-300 / 400 hay menos criterios con el S7-1200 / 1500 que conducen al modo "STOP”.
Debido a la comprobación de coherencia cambiada en el TIA Portal, el modo "STOP” para los controladores S71200 /
1500 ya se puede excluir de antemano en la mayoría de los casos. La consistencia de los bloques de programa que ya
se comprueba cuando se compila en el TIA Portal. Este enfoque hace que el S7-1200 / 1500 controladores más
"tolerante de fallos” a los errores que sus predecesores.
ventajas
Sólo hay tres situaciones de fallo que ponen los controladores S7-1200 / 1500 en el modo STOP. Esto hace que
la programación de la gestión de los errores más claro y más fácil.
propiedades
OB de error:
• OB 121 "error de programación” es llamado por el sistema operativo cuando se produce un error durante la
ejecución del programa.
Para cada error, además, una entrada se crea automáticamente en el búfer de diagnóstico.
Nota Para S7-1200 / 1500 controladores hay otros OBs de error programable (error de diagnóstico, fallo
de bastidor de módulo, etc.).
Más información sobre las respuestas de error del S7-1200 / 1500 se puede encontrar en la ayuda en línea de la
TIA Portal en "Eventos y OB”.
3 programación general
• El sistema operativo organiza todas las funciones y secuencias del controlador que no están conectados con
una tarea de control específica (por ejemplo, manipulación de reinicio, actualización imagen de proceso de,
llamando el programa de usuario, control de errores, gestión de memoria, etc.). El sistema operativo es una
parte integral del controlador.
• El programa de usuario incluye todos los bloques que se requieren para el procesamiento de su tarea de
automatización. El programa de usuario está programado con bloques de programa y se carga en el controlador.
Figura 3-1: Sistema operativo y programa de usuario
programa de
Local
Sistema OB
Hardware principal FC
operativo
llamada
cíclica
FC Global
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
Para los controladores SIMATIC el programa de usuario siempre se ejecuta de forma cíclica. El "principal” OP ciclo ya
existe en la carpeta "Bloques de programa” después de un controlador se ha creado en el PASO 7. El bloque se procesa
por el controlador y se recuerda en un bucle infinito.
En STEP 7 (TIA Portal) no son todos los tipos de bloques conocidos de la etapa anterior 7 versiones:
• funciones
Experimentado PASO 7 usuarios sabrán su camino alrededor de inmediato y los nuevos usuarios pueden obtener muy
fácilmente familiarizados con la programación.
ventajas
• Usted puede dar a su programa una estructura buena y clara con los diferentes tipos de bloques.
• Debido a un programa bueno y estructurada a obtener muchas unidades funcionales que pueden ser reutilizados se multiplican dentro
de un proyecto y también en otros proyectos. Estas unidades de función a continuación, por lo general sólo se diferencian por una
configuración diferente (véase el capítulo
• Usted proyecto o su planta llega a ser más transparente. Es decir, los estados de error en una planta pueden ser
más fácilmente detectadas, analizadas y quitados. En otras palabras, la capacidad de mantenimiento de la planta se
vuelve más fácil. Este es también el caso de errores en la programación.
Recomendación
• Dividir todo el funcionamiento de su planta en áreas individuales y unidades de forma de subfunción. Dividir
estas unidades de nuevo todas las funciones en unidades más pequeñas y funciones. Divide hasta llegar
funciones que se pueden utilizar varias veces con diferentes parámetros.
• Especificar las interfaces entre las unidades de función. Definir las interfaces únicas para las funcionalidades que
deben ser entregados por las empresas "externos” Todos los bloques de organización, bloques de función y funciones
pueden ser programadas con los siguientes idiomas:. Tabla 3-1: Los lenguajes de programación
Grafico no sí
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
OB son la interfaz entre el sistema operativo y el programa de usuario. Se les llama por el sistema operativo y de
control, por ejemplo, los siguientes procesos:
• Manejo de errores
propiedades
• Varios OBS Los puede ser creado en un programa. Los OBs son procesados secuencialmente por
número OB. Figura 3-3: Uso de varios OBS Los
programa de usuario
FC local
OB1
FC local
OB200
FC local
OB300
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
Recomendación
• Encapsular las diferentes partes del programa que debería tal vez ser reemplazable de controlador a
controlador, en varios OBs principales.
• Evitar la comunicación entre los diferentes OBS Los. A continuación, se pueden usar independientes entre
sí. Si a pesar de intercambio de datos entre los distintos OBs principales, utilizar los DB mundial (véase el
capítulo 4.2 No hay memoria poco, pero los bloques de datos globales ).
• Dividir todas las partes del programa que pertenecen el uno al otro en carpetas y almacenarlos para su reutilización en el proyecto
o biblioteca global. Figura 3-4: El almacenamiento de partes de programa en orden en la librería del proyecto
FCs son bloques sin almacenes de datos cíclicos. Es por esto que los valores de los parámetros de bloque no se pueden
guardar hasta la siguiente llamada y tienen que estar provistos de parámetros reales cuando se le llama.
propiedades
• placas temporales no están definidos cuando se le llama en los bloques no optimizadas. En los bloques optimizados,
los valores son siempre preset con el valor por defecto (S7-1500 y S7-1200 V4 firmware y superior). Por lo tanto, el
comportamiento resultante no es un comportamiento accidental pero reproducible.
• Con el fin de guardar de forma permanente los datos de un FC, las funciones de los bloques de datos globales están
disponibles.
Recomendación
• Utilizar las funciones para las aplicaciones se repiten con frecuencia que se llaman varias veces en diferentes
lugares del programa de usuario.
Ejemplo
En el siguiente ejemplo de una fórmula matemática está programado en una FC. El resultado del cálculo se declara
directamente como valor de retorno y el valor de la función se puede reutilizar directamente.
Paso Instrucción
1. Crear una FC con la fórmula matemática (segmento circular) y definir el valor de "retorno” como el
resultado de la fórmula.
¿Cuál es el número máximo de parámetros de las cuales se puede definir en STEP 7 (TIA Portal) para una
función en la CPU S7-1200 / S7-1500?
https://support.industry.siemens.com/cs/ww/en/view/99412890
FBs son bloques con el almacenamiento de datos cíclico, en el que los valores se almacenan de forma permanente. El almacenamiento de
datos cíclico se realiza en una instancia DB. Figura 3-7: Llamar a un bloque de funciones
DB de instancia
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
editor
propiedades
• placas temporales no están definidos cuando se le llama en los bloques no optimizadas. En los bloques
optimizados, los valores son siempre preset con el valor por defecto (S7-1500 y S7-1200 firmware V4). Así, el
comportamiento resultante no es accidental, pero reproducible.
Recomendación
• Utilizar los bloques de funciones con el fin de crear subprogramas y estructurar el programa de usuario. Un bloque de
función también puede ser llamado varias veces en diferentes lugares del programa de usuario. Esto hace que la
programación de la frecuencia recurrente partes del programa más fácil.
• Si los bloques de función se aplican multiplican en el programa de usuario, usar casos separados,
preferentemente multi-instancias.
3.2.4 Instancias
La llamada de un bloque de función se denomina instancia. Los datos con los que la instancia está trabajando se guardan en
un DB de instancia.
DBs de instancia siempre se crean de acuerdo con las especificaciones de la interfaz FB y pueden por lo tanto no
pueden cambiar en el DB de instancia. Figura 3-8: Estructura de las interfaces de un FB
Ejemplo
Input
Output
InOut
Estático
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
La instancia DB consiste en una memoria permanente con la entrada de las interfaces, de salida, InOut y estático. placas
temporales se almacenan en una memoria no volátil (L pila). La pila L siempre es válida sólo para el procesamiento actual.
Es decir, las etiquetas temporales tienen que ser inicializado en cada ciclo.
propiedades
• DB de instancia no tiene que ser creado manualmente en el TIA Portal y se crean automáticamente
cuando se llama a un FB.
Recomendación
• Programa de una manera para que los datos del DB de instancia sólo puede ser cambiado por el FB apropiado. Así es
como se puede garantizar que el bloque se puede utilizar de forma universal en todo tipo de proyectos. Para obtener más
información, consulta el capítulo 3.4.1 las interfaces de bloques como el intercambio de datos .
3.2.5 Multi-casos
Con múltiples casos llamados bloques de función pueden almacenar sus datos en el bloque de datos de instancia del
bloque de función llamado. Esto significa que si otro bloque de función se llama en un bloque de función, que guarda sus
datos en el DB de instancia de los de más alto nivel FB. La funcionalidad del bloque llamado se mantiene así incluso
cuando el bloque de llamada se transfiere.
La siguiente figura muestra un FB que utiliza otra FB ( "IEC Timer”). Todos los datos se guardan en una instancia de
múltiples DB. Por tanto, es posible crear un bloque con un comportamiento independiente del tiempo, por ejemplo, un
generador de reloj. Figura 3 -9: Multi-casos
Multi-DB de instancia
pensión completa
TOF_TIME FB
De desconexión
Parámetros
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
ventajas
• reutilización
propiedades
Recomendación
Ejemplo
Si necesita la función de tiempo y el contador, usar los bloques "IEC temporizador” y los "bloques IEC Counter” en lugar
de la absoluta dirigida SIMATIC temporizador. Si es posible, también utilice siempre múltiples instancias aquí. Por lo
tanto, el número de bloques en el programa de usuario se mantiene baja.
¿Cómo se declara los temporizadores y contadores para el S7-1500 en STEP 7 (TIA Portal)?
https://support.industry.siemens.com/cs/ww/en/view/67585220
Los casos de los llamados bloques pueden ser definidos como parámetros InOut.
ventajas
Ejemplo
Los datos variables se encuentra en los bloques de datos que están disponibles para todo el programa de usuario. Figura 3-13: DB Global
FC
transmisión exterior
DB
pensión completa
Local
ventajas
propiedades
• Todos los bloques del programa de usuario pueden acceder a DBs globales.
• La estructura del DB global puede hacerse arbitrariamente de todos los tipos de datos.
• DBs globales son creados ya sea por medio del editor de programas o de acuerdo con una creada previamente "definido
por el usuario PLC tipo de datos" (véase el capítulo tipo de datos 3.6.4 STRUCT y tipos de datos PLC).
• Un máximo de 256 etiquetas estructurados (array, struct) puede ser definido. Esto no se aplica a las
etiquetas que se derivan de un tipo PLC-datos.
Recomendación
• Utilice los DBs globales cuando los datos se utiliza en diferentes partes del programa o bloques.
¿Cómo está la tabla de declaración de bloques de datos globales estructurado en STEP 7 (TIA Portal)?
https://support.industry.siemens.com/cs/ww/en/view/68015630
Con el fin de cambiar los programas de usuario que ya se ejecutan en un controlador, S7-1200 (firmware V4.0) y
S7-1500 controladores ofrecen la opción de ampliar las interfaces de los bloques de función o de datos optimizados
durante la operación. Puede cargar los bloques modificados sin ajustar el controlador para parar y sin influir en los
valores reales de las etiquetas ya cargadas. Figura 3-14: Carga sin reinicialización
3
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
variable4 variable4 0
variable5 variable5 0
Ejecutar las siguientes etapas, mientras que el controlador está en modo RUN.
ventajas
• Recarga de etiquetas recién definidos, sin interrumpir el proceso en ejecución. El controlador permanece en el
modo "RUN”.
propiedades
• Las etiquetas definidas recientemente se inicializan. Las etiquetas existentes mantienen su valor actual.
• La reserva de memoria depende de la memoria de trabajo del controlador; Sin embargo, es máximo. 2 MB.
Recomendación
• Definir una reserva de memoria para los bloques que van a ser ampliado durante la puesta en marcha (por ejemplo, bloques
de prueba). El proceso de puesta en marcha no se ve perturbado por una descarga desde los valores reales de las etiquetas
existentes se mantienen.
La siguiente tabla describe cómo se puede establecer la reserva de memoria para la descarga sin
reinicializar. Tabla 3-3: Configuración de reserva de la memoria
Paso Instrucción
1. Haga clic derecho en cualquier bloque optimizado en el árbol del proyecto y seleccione "Propiedades”.
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
Paso Instrucción
2.
Nota También puede establecer un valor predeterminado para el tamaño de la reserva de memoria para los nuevos bloques en el TIA
Portal.
El siguiente ejemplo muestra cómo descargar sin reinicialización. Tabla 3-4 carga sin reinicialización
Paso Instrucción
1. Requisito: una reserva de memoria tiene que ser establecido (ver más arriba)
3. Haga clic en el botón "Activar la reserva de memoria” y confirme el diálogo con "OK”.
Paso Instrucción
6. Resultado:
Nota Más información se puede encontrar en la ayuda en línea de la TIA Portal en "Extensiones de bloque
de carga sin reinicialización”.
¿Cómo está la tabla de declaración de bloques de datos globales estructurado en STEP 7-1500 (TIA Portal)?
https://support.industry.siemens.com/cs/ww/en/view/68015630
El concepto de bloque que ofrece una serie de opciones para el programa de una manera estructurada y eficaz.
ventajas
• Los bloques se pueden utilizar de forma universal en cualquier lugar del programa de usuario.
• Cuando cada bloque recibe una tarea independiente, un programa de usuario clara y bien estructurada se
crea automáticamente.
Recomendación
• Fíjese siempre en bloques como funciones encapsuladas. Es decir, cada bloque representa una tarea parcial
completado dentro de todo el programa de usuario.
• Siempre ejecutar un intercambio de datos entre los bloques a través de sus interfaces y no a través de sus instancias (capítulo 3.4.1
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
• No utilice los datos específicos del proyecto y evitar el contenido del bloque siguientes:
• bloques reutilizables tienen los mismos requisitos que los bloques de know-how protegido en las bibliotecas. Es por
eso que tiene que comprobar los bloques para la reutilización en base a la "capacidad de instancia múltiple”
propiedad bloque. Compilar el bloque antes de la verificación.
Para el procesamiento interno, números de bloque requeridos son asignados automáticamente por el sistema (ajuste en las
propiedades del bloque).
número de bloques
ventajas
• Conflicto números de bloque, por ejemplo, como resultado de la copia, borra automáticamente el TIA Portal durante la
compilación.
Recomendación
Configuración en el bloque
FB y FC tienen tres tipos de interfaces diferentes: en, InOut y por fuera. A través de estos tipos de interfaz que los
bloques están provistos de parámetros. Los parámetros se procesan y la salida de nuevo en el bloque. InOut parámetros
sirven para la transferencia de datos para el bloque de llamada, así como la devolución de los resultados. Hay dos
opciones diferentes para la transferencia de parámetros de datos.
3.3.1 Call-by-valor
Al llamar al bloque, el valor del parámetro actual se copia en el parámetro formal del bloque. Para ello, se
proporciona una memoria adicional en el bloque llamado.
FC / FB
valor
valor in1: 31
“myInt”: 31
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
Cuando la llamada del módulo, una referencia se transfiere a la dirección del parámetro real. Para ello, no
se requiere memoria adicional.
Figura 3-19: Hacer referencia el parámetro real (puntero al almacenamiento de datos del parámetro)
FC / FB
“MiCadena”
inOut1
velue: 'test'
La referencia a “miCadena”
propiedades
• Se hace referencia a los parámetros reales cuando el bloque se llama, es decir, con el acceso, los valores de
parámetro real son directamente leído o escrito.
Recomendación
• utilizar Generalmente, el tipo de interfaz InOut para las etiquetas estructurados (por ejemplo, de la matriz, STRUCT,
STRING, tipo ...) con el fin de evitar la ampliación de la memoria de datos requerida innecesariamente.
La siguiente tabla muestra de forma esquemática cómo se transfieren S7-1200 / 1500 parámetros de bloque con
tipos de datos simples o estructuradas. Tabla 3-5: Descripción general para la transferencia de los parámetros
Nota Cuando optimizada de datos con la propiedad " no- Acceso optimizado" se transfiere al llamar el bloque, se
transfiere generalmente como copia. Cuando el bloque contiene muchos parámetros estructurados esto puede
conducir rápidamente a la zona de almacenamiento temporal (pila de datos locales) del bloque de desbordarse.
Esto puede evitarse estableciendo el mismo tipo de acceso para ambos bloques (capítulo
2.6.5 Transferencia de parámetros entre los bloques con acceso optimizado y no optimizado ).
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
Para STEP 7 no es generalmente la diferencia entre el área de memoria global y local. El área de memoria global
está disponible para cada bloque en el programa de usuario. El área de memoria local sólo está disponible en el
bloque respectivo.
Si usted es encapsular las funciones y programar el intercambio de datos entre los bloques sólo a través de las
interfaces, se le tiene claras ventajas.
ventajas
• El programa puede estar compuesta de forma modular a partir de bloques listas con las tareas parciales.
• El código del programa es fácil de leer y de prueba, ya que hay accesos sin cruz escondida.
Recomendación
• Si es posible, utilice sólo etiquetas locales. Por lo tanto, puede utilizar los bloques de forma universal y de forma modular.
• Utilizar el intercambio de datos a través de las interfaces de los bloques (IN, OUT, InOut), sus garantiza la reutilización de
los bloques.
• utilizar sólo los bloques de datos de instancia como la memoria local para el bloque de función respectiva. Otros bloques
no deben ser escritos en bloques de datos de instancia. Figura 3-20: evitar el acceso a los bloques de datos de instancia
pensión completa
Local
Local
Si sólo se utilizan las interfaces de los bloques para el intercambio de datos se puede asegurar que todos los bloques se pueden utilizar
independientemente el uno del otro. Figura 3-21: las interfaces de bloque para el intercambio de datos
transmisión exterior
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
FC pensión completa
Local
pensión completa
Local
Los recuerdos se llaman global cuando se puede acceder desde cualquier lugar del programa de usuario. Hay
recuerdos dependientes del hardware (por ejemplo, memoria de bit, tiempos, contadores, etc.) y DBs globales. Por
áreas de memoria dependientes del hardware, existe el peligro de que el programa no puede ser portátil a cualquier
controlador porque las áreas Ya se pueden utilizar. Es por esto que se debe utilizar DBs globales en lugar de áreas
de memoria dependientes del hardware.
ventajas
• Los programas de usuario se pueden utilizar de forma universal e independiente del hardware.
• El programa de usuario se puede configurar de forma modular y sin tener que dividir las áreas de memoria de bits para
diferentes usuarios.
• Optimizados DBs globales son claramente más potente que el área de marcas que no está optimizado por
razones de compatibilidad.
Recomendación
• Evitar la memoria dependiente del hardware, tales como, por ejemplo, la memoria del reloj o contador. Utilizar el
contador y el temporizador IEC en relación con múltiples instancias, en vez (capítulo 3.2.5 Multi-casos ). Los
temporizadores IEC se pueden encontrar en "Instrucciones - Instrucciones básicas - operaciones de temporizador”
Figura 3-22:. Temporizadores IEC
• etiquetas estáticas
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
• placas temporales
Recomendación
• Utilizar las etiquetas temporales como la memoria intermedia en el ciclo actual. El tiempo de acceso para las
etiquetas temporales es más corto que para los estáticos.
• Si se accede con mucha frecuencia un tag de entrada / salida, utilice una etiqueta temporal como memoria intermedia para
ahorrar tiempo de ejecución.
Nota bloques optimizados: etiquetas temporales se inicializan en cada llamada de bloque con el valor por defecto
(S7-1500 / S7-1200 V4 firmware o superior). bloques no optimizado: etiquetas temporales no están definidos para
cada llamada del bloque.
STEP 7 ofrece diferentes opciones de acceso a la memoria. Por razones relacionadas con el sistema existen rápido y
más lento accesos a diferentes áreas de memoria. Figura 3-23: acceso a la memoria diferente
No estructurada primaria
tipo de datos FC
1
parámetro retener las etiquetas
2
placas temporales 1
5
controles para al
tiempo de ejecución 5
2 accesos a los 3
1. bloques optimizados: placas temporales, los parámetros de un FC y un FB, no retentiva etiquetas estáticas, las etiquetas [PLC
tipo de datos]
- FB etiquetas de retención
4. Indexed accede con índice que se calcula en tiempo de ejecución (por ejemplo, Motor [i])
- Los accesos a DBs que se crean en tiempo de ejecución o que se abrieron indirectamente (por
ejemplo OPN DB [i])
3.5 Remanencia
3.5 remanencia
En el caso de un fallo de la fuente de alimentación, las copias del controlador los datos remanentes con su energía tampón
de la memoria de trabajo del controlador a una memoria no volátil. Después de reiniciar el controlador, el procesamiento del
programa se reanuda con los datos remanentes. Dependiendo del controlador, el volumen de datos para la remanencia
tiene diferentes tamaños.
S7-1200 S7-1500
remanencia solamente se fijará para memoria de bit Remanencia se puede ajustar para bits de memoria, tiempos y
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
contadores
ventajas
• Datos remanentes mantiene su valor cuando el controlador pasa a STOP y de nuevo a RUN o en caso de
fallo de alimentación y un reinicio del controlador.
propiedades
Para las etiquetas elementales de un DB optimizado la capacidad de retención se puede ajustar por separado. los bloques de datos
no optimizadas sólo se pueden definir completamente retentiva o no retentiva. datos remanentes se pueden eliminar con las
Recomendación
• No utilice el ajuste "Situado en el BID”. Ajuste siempre los datos remanentes en el bloque de función y no en el
bloque de datos de instancia.
El ajuste "Situado en el BID” aumenta el tiempo de procesamiento de la secuencia del programa. Siempre seleccionar
ya sea "para no retener” o "Retener” para las interfaces en el FB.
3.5 Remanencia
El ajuste de los datos de retención se realiza en las tablas de las variables de control, bloques de función y bloques de
datos.
la dirección 0 en adelante!
3.5 Remanencia
También se pueden declarar los casos de funciones (temporizador, contador, etc.) de retención. Como ya se ha
descrito en el capítulo 3.2.5 Multi-casos , Siempre se debe programar funciones tales como multi-instancia. Figura
3-27: contador retentivo como multi-instancia
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
Nota Si la memoria remanente en el PLC no es suficiente, es posible almacenar los datos en forma de bloques de
datos que sólo se encuentran en la memoria de carga del PLC. La entrada siguiente se describe tomando el
Nota
ejemplo de un S7-1200. Esta programación también trabaja para S7-1500.
¿Cómo se configura bloques de datos en STEP 7 (TIA Portal) con el "Almacenar sólo en la memoria de carga"
atributo para un S7-1200?
https://support.industry.siemens.com/cs/ww/en/view/53034113
Uso de las funciones de la receta de datos persistentes con SIMATIC S7-1200 y S7-1500
https://support.industry.siemens.com/cs/ww/en/view/109479727
El TIA Portal está optimizado para la programación simbólica. Esto se traduce en muchas ventajas. Debido al
direccionamiento simbólico, se puede programar sin tener que prestar atención a la gestión de datos interna. El
controlador maneja en el mejor de almacenamiento es posible para los datos. Por lo tanto, usted puede
concentrarse completamente en la solución para su tarea de aplicación.
ventajas
• Actualización automática de los nombres de las etiquetas en todos los lugares de uso en el programa de usuario
• memorización de los datos del programa no tiene que ser manejado manualmente (direccionamiento
absoluto)
• Menos errores del programa debidos al tipo de seguridad (validez de los tipos de datos se comprueba para todos los accesos)
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
Recomendación
• "Piense” simbólicamente. Introduzca el nombre "descriptivo” para cada función, etiqueta o datos, tales
como, por ejemplo, Pump_boiler_1, heater_room_4, etc. Así, un programa creado se puede leer
simplemente, sin requerir muchos comentarios.
• Dan todas las etiquetas utilizan un nombre simbólico directa y definen ellos después con un clic derecho.
Ejemplo
Paso Instrucción
Paso Instrucción
3. Haga clic derecho al lado del bloque y seleccione "Definir la etiqueta ...” en el menú contextual.
4. Definir la etiqueta.
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
No es un método elegante para ahorrar tiempo, si se quiere definir varias etiquetas en una red. En primer lugar, asignar todos los
nombres de las etiquetas. A continuación, defina todas las etiquetas al mismo tiempo con el cuadro de diálogo del paso 4.
¿Cuáles son las ventajas de utilizar el direccionamiento simbólico para el S7-1500 en STEP 7 (TIA Portal)?
https://support.industry.siemens.com/cs/ww/en/view/67598995
El tipo de datos ARRAY representa una estructura de datos que se compone de varios elementos de un tipo de
datos. El tipo de datos ARRAY es adecuado, por ejemplo, para el almacenamiento de recetas, seguimiento de
materiales en una cola, la adquisición proceso cíclico, protocolos, etc.
Puede acceder indirectamente a los elementos individuales de la matriz con un índice ( [ "Índice”]) matriz.
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
ventajas
propiedades
• Estructura de datos hecha de número fijo de elementos del mismo tipo de datos
• Posible acceso indirecto con etiqueta de tiempo de ejecución con el cálculo del índice dinámico en tiempo de ejecución
Recomendación
• Usar una matriz indexada de accesos en lugar de puntero (por ejemplo puntero ANY). Esto hace que sea más
fácil de leer el programa desde una matriz es más significativa con un nombre simbólico de un puntero en un
área de memoria.
• Como la etiqueta de ejecución utilizar el tipo de datos DINT etiqueta temporal para mayor rendimiento.
En STEP 7 (TIA Portal), ¿Cómo se transfiere S7-1500 datos entre dos etiquetas de la "Matriz de Bool" tipos
de datos y "Palabra"?
https://support.industry.siemens.com/cs/ww/en/view/108999241
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
Con el parámetro de matriz formal de [*], matrices con longitud variable pueden ser transferidos a las funciones y los
bloques de función.
Con las instrucciones de "LOWER_BOUND” y "UPPER_BOUND” de los límites de la matriz pueden ser determinados.
ventajas
• Bloques que pueden procesar las matrices flexibles con diferentes longitudes
• No hay programación puntero para las matrices de diferentes longitudes necesarias más
Ejemplo
El tipo de datos STRUCT representa una estructura de datos que se compone de elementos de diferentes tipos de
datos. La declaración de una estructura se realiza en el bloque respectivo.
En comparación con las estructuras, los tipos de datos de PLC se definen a través del controlador en el TIA Portal y se pueden
cambiar de forma centralizada. Todas las ubicaciones de uso se actualizan automáticamente.
tipos de datos del PLC se declaran en la carpeta "Sistema de tipos de datos” en la navegación del proyecto antes de ser utilizados
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
ventajas
• Un cambio en un tipo de datos del PLC se actualiza automáticamente en todos los lugares de uso en el programa de usuario.
• sencillo intercambio de datos a través de interfaces de los bloques entre varios bloques
• En PLC tipos de datos etiquetas cadena con longitud definida se pueden declarar (por ejemplo, String [20]). A partir de TIA
V14 una constante global también se puede utilizar para la longitud (por ejemplo, String [LONGITUD]).
Si un tag de cadena se declara sin longitud definida, la etiqueta tiene la longitud máxima de 255 caracteres.
propiedades
• tipos de datos PLC siempre terminan en los límites de palabras (véase las figuras siguientes).
- el uso de estructuras en las zonas de E / S (véase el capítulo 3.6.5 Acceso a la I / O zonas con tipos de datos de PLC ).
Figura 3-33: tipos de datos PLC siempre terminan en los límites de palabras
varByte0
1. PALABRA
varByte2
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
2. PALABRA
!
tamaño acutal 4
...
Bytes
datos área I / O
3 bytes
datos PLC
tamaño definido
3 bytes
tamaño acutal
4 bytes
Recomendación
• Usa los tipos de datos de PLC para resumir varios datos asociados, tales como, por ejemplo, los marcos o los datos del
motor (punto de ajuste, la velocidad, dirección de rotación, la temperatura, etc.)
• Siempre use los tipos de datos de PLC en lugar de las estructuras de los múltiples usos en el programa de usuario.
• Utilice los tipos de datos PLC con el fin de especificar la estructura de un bloque de datos. El tipo de datos PLC puede ser
usado para cualquier número de DBs. Usted puede crear fácilmente y convenientemente cualquier número de DBs de la
misma estructura y ajustar de forma centralizada en el tipo de datos del PLC.
Las bibliotecas con tipos de datos PLC (LPD) para STEP 7 (TIA Portal) y S7-1200 / S71500
https://support.industry.siemens.com/cs/ww/en/view/109482396
¿Cómo se puede inicializar estructuras en áreas de memoria optimizados para el S7-1500 STEP 7 (TIA
Portal)?
https://support.industry.siemens.com/cs/ww/en/view/78678760
En STEP 7 (TIA Portal), ¿cómo aplicar sus propios tipos de datos (UDT)?
https://support.industry.siemens.com/cs/ww/en/view/67582844
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
¿Por qué deberían estructuras integrales en lugar de muchos componentes individuales pueden transferir para el S7-1500
cuando un bloque se llama?
https://support.industry.siemens.com/cs/ww/en/view/67585079
Con S7-1500 controladores, puede crear tipos de datos PLC y utilizarlos para un acceso estructurado y
simbólica de entradas y salidas. Figura 3-35: El acceso a áreas de E / S con tipos de datos PLC
variable PLC
llamada FB interfaz FB
3
4
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
8. etiqueta PLC del tipo del tipo de datos PLC creada y la dirección de inicio del área de datos de E / S (% Ix.0 o%
Qx.0, por ejemplo,% I0.0,% Q12.0, ...)
10. Salida del bloque de función es del tipo del tipo de datos PLC creado
ventajas
Recomendación
• tipos de datos Uso del PLC para el acceso a las áreas de E / S, por ejemplo, para recibir simbólicamente y envían
telegramas de accionamiento.
Nota Los elementos individuales de un tipo de datos PLC de una etiqueta también se puede acceder directamente en el programa de usuario:
Para S7-1200 / 1500 controladores, se puede acceder al área de memoria de etiquetas del byte, WORD, DWORD o tipo de
datos Lword. La división de un área de memoria (por ejemplo, byte o palabra) en un área de memoria más pequeño (por
ejemplo Bool) también se llama la rebanada. La siguiente figura muestra el bit simbólica, byte y palabra accede a los operandos.
Figura 3-36: bit, byte, palabra, el acceso rebanada DWORD simbólico
“MyByteVariable” BYTE
Operandos en
bloques, DB und “MyWordVariable” PALABRA
I/O/M
“MyDoubleWordVariable” DWORD
“MyLongWordVariable” LWORD
X X0 Poco a poco
X1 X2
63
B7 B1 Byte a byte B0
DWORD
D1 D0
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
DWORD
ventajas
Recomendación
• Utilice el acceso rebanada a través de AT construir en lugar de acceder a determinadas áreas de datos de operandos.
Como en STEP 7 (TIA Portal) se puede acceder a los tipos de datos no estructurados de bits bybit, byte por byte o
palabra por palabra y simbólicamente?
https://support.industry.siemens.com/cs/ww/en/view/57374718
Con las redes de SCL se puede hacer cálculos en KOP y FUP que sólo se pueden programar con un esfuerzo
considerable en operaciones KOP y FUP. Figura 3-37: Inserción de red SCL
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
ventajas
propiedades
Recomendación
• Utilizar las redes SCL KOP y FUP para cálculos matemáticos en lugar de instrucciones, como ADD, SUBB
etc.
3.7 Bibliotecas
3.7 bibliotecas
Con el TIA Portal se puede establecer bibliotecas independientes de diferentes elementos del proyecto que se pueden
reutilizar fácilmente.
ventajas
• Menos fuentes de error cuando se utilizan bloques de control a través de la consideración apoyado sistema de
dependencias
recomendaciones
• Crear las copias maestras para una fácil reutilización de bloques, configuraciones de hardware,
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
• Crear los tipos para la reutilización con el apoyo del sistema de elementos de biblioteca:
• Utilizar la biblioteca mundial para el intercambio con otros usuarios o como almacenamiento central para el uso
simultáneo de varios usuarios.
https://support.industry.siemens.com/cs/ww/en/view/100451450
¿Qué elementos de STEP 7 (TIA Portal) y WinCC (TIA Portal) se puede almacenar en una biblioteca como tipo o
como copia maestra?
https://support.industry.siemens.com/cs/ww/en/view/109476862
¿Cómo se puede abrir una biblioteca global con los derechos de acceso de escritura en STEP 7 (TIA Portal)?
https://support.industry.siemens.com/cs/ww/en/view/37364723
3.7 Bibliotecas
• "Biblioteca global"
• "tipos"
4
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
"biblioteca global"
- biblioteca independiente
Una biblioteca incluye dos tipos diferentes de almacenamiento de elementos de biblioteca: (3) "Master
copias"
- Las copias de elementos de configuración de la biblioteca (por ejemplo, bloques, artículos metálicos, tablas de variables de PLC, etc.)
- Las copias maestras también pueden estar compuestos por varios elementos de configuración. (4) "tipos"
- Tipos están conectados con sus lugares de uso en el proyecto. Cuando se cambian los tipos, los
lugares de uso en el proyecto se pueden actualizar automáticamente.
3.7 Bibliotecas
- Los tipos soportados son los bloques de control (FC, FB), tipos de datos PLC, pantallas HMI, placas
frontales de operador HMI, UDT, scripts).
- Tipos están versionadas: Los cambios pueden realizarse mediante la creación de una nueva versión.
El concepto de tipo permite la creación de funciones de automatización estandarizados que se pueden utilizar en varias
plantas o máquinas. El concepto tipo que asiste con funciones de control de versiones y actualización.
Puede utilizar los tipos de la biblioteca en el programa de usuario. Esto ofrece las siguientes ventajas:
ventajas
• El sistema garantiza que los tipos siempre se mantienen consistentes al obstaculizar las operaciones de borrado
no deseados.
propiedades
Mediante el uso de tipos que puede hacer los cambios en el centro y actualizarlos en el proyecto completo.
Utilizar
Copia maestra
sin
Utilizar
tipificación
Utilizar
Central Actualizar a una
con la tipificación
uso V2
Typ V2
uso V2
3.7 Bibliotecas
3.7.3 Las diferencias entre los objetos typifiable para CPU y HMI
Existen diferencias relacionadas con el sistema entre los objetos typifiable para los controladores y HMI:
Controlador HMI
elementos de control subordinados están tipificados. elementos HMI subordinadas son no tipificada.
Elementos de control se editan en una entorno de imágenes y secuencias de comandos de operador HMI se editan en un
prueba. entorno de prueba. Placas frontales y UDT HMI se editan directamente
en la biblioteca
sin entorno de prueba.
Para más información sobre el manejo de las bibliotecas se puede encontrar en el siguiente ejemplo.
El siguiente ejemplo muestra cómo se utilizan las funciones básicas de las bibliotecas de tipos.
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
Paso Instrucción
1. Crear un nuevo tipo de datos PLC con "Añadir nuevo tipo de datos” y crear algunas etiquetas. Más tarde, este es
el tipo subordinado.
3.7 Bibliotecas
Paso Instrucción
2. Crear un nuevo bloque de función con "Agregar nuevo bloque”. Este es el tipo más alto nivel.
3. Defina un código de salida del tipo de datos que ha creado. Por consiguiente, el tipo de datos PLC está
subordinado al bloque de función.
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
4. Arrastre el bloque de función a través de arrastrar y soltar en la carpeta "Tipos” en la librería del proyecto.
3.7 Bibliotecas
Paso Instrucción
5. Opcionalmente asignar: Nombre de tipo, versión, autor y comentario y confirme el diálogo con "OK”.
3.7 Bibliotecas
Paso Instrucción
2. Seleccionar qué controlador es para ser utilizado como entorno de prueba y confirmar el diálogo con "OK”.
Si varios controladores en el proyecto de uso del bloque seleccionado, un controlador tiene que ser seleccionado como
entorno de prueba.
3.7 Bibliotecas
Paso Instrucción
En este lugar se tiene la opción de probar el cambio en el bloque mediante la carga del proyecto en un
controlador. Cuando haya terminado de probar el bloque, continúe con los siguientes pasos.
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
6. Se abre un cuadro de diálogo. Aquí se puede almacenar un comentario relacionado versión. Confirmar el diálogo con "OK”.
Si hay varios lugares de uso del bloque en diferentes controladores del proyecto, puede
actualizar todos al mismo tiempo: "Actualización de casos en el proyecto”.
Si las versiones anteriores del elemento ya no son necesarios se pueden eliminar haciendo clic en "Eliminar versiones
de tipo no utilizados de la biblioteca”
El procesamiento del programa de usuario puede ser influenciado por eventos tales como interrupciones de hardware.
Cuando se necesita una respuesta rápida del controlador de eventos de hardware (por ejemplo, un flanco ascendente de un
canal de un módulo de entrada digital), configurar una alarma de proceso. Para cada interrupción de hardware un OB
separada se puede programar. Este OB es llamado por el sistema operativo del controlador en caso de una interrupción de
hardware. Por consiguiente, el ciclo del controlador se interrumpe y continuó después de procesar la interrupción de
hardware. Figura 3-40: Alarma de proceso está llamando OB
Evento
por ejemplo, la
Alarma de interrupt_1
proceso hardware
OB40 OBxxx
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
En la siguiente figura se puede ver la configuración de una "interrupción de hardware” en la configuración de hardware
de un módulo de entrada digital.
ventajas
Recomendación
• Utilizar las interrupciones de hardware con el fin de programar respuestas rápidas a eventos de hardware.
• Si la respuesta del sistema no es lo suficientemente rápido a pesar de la programación de una interrupción de hardware, todavía
se puede acelerar la respuesta. Establecer como pequeña una "demora de entrada” como sea posible en el módulo. Una
respuesta a un evento puede siempre sólo se producen si el retardo de entrada ha caducado. El retardo de entrada se utiliza para
filtrar la señal de entrada con el fin de, por ejemplo, compensar fallos tales como rebote de contacto o charla Figura 3-42:. ajuste
de retardo de entrada
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
Aquí se pueden encontrar algunas recomendaciones generales que permiten la ejecución del programa más rápido del
controlador.
Recomendación
Tenga en cuenta las siguientes recomendaciones para la programación de controladores S7-1200 / 1500 con el fin de lograr
un alto rendimiento:
• KOP / FUP: Desactivar "evaluar ENO” para los bloques Esto evita pruebas en tiempo de ejecución..
• STL: No utilice los registros de direcciones y datos desde registros sólo son emulados por razones de
compatibilidad por S7-1500.
¿Cómo se puede mejorar el rendimiento en STEP 7 (TIA Portal) y en la CPU S71200 / S7-1500?
https://support.industry.siemens.com/cs/ww/en/view/37571372
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
Muchas instrucciones de los lenguajes de programación ofrecen una plantilla llamada con una lista de parámetros formales
existentes.
Ejemplo
Paso Instrucción
1. Arrastre una instrucción de la biblioteca en el programa SCL. El editor muestra la plantilla completa de la
llamada.
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
2. Ahora rellenar los parámetros requeridos "CU” y "PV” y terminar la entrada con el botón "Return”.
4. Si desea editar la llamada completa más adelante de nuevo, haga lo siguiente. Haga clic en la llamada en
cualquier lugar y luego haga clic en " CTRL + SHIFT + SPACE ”. Ahora se encuentra en el modo "Call plantilla”. El
editor se expande de nuevo la llamada. Se puede navegar con la tecla "Tab” a través de los parámetros.
Si usted está ampliando la plantilla llamada, el código de colores le mostrará enseguida lo parámetros de una
instrucción formal son opcionales y cuáles no lo son. Los parámetros obligatorios están marcados oscuro.
En el editor SCL también puede utilizar las funciones de arrastrar y soltar. Para los nombres de etiqueta que está apoyado
adicionalmente. Si desea reemplazar una etiqueta por otro, proceder de la siguiente manera.
Paso Instrucción
1. Arrastre la etiqueta a través de arrastrar y soltar a la etiqueta en el programa que va a ser reemplazado. Mantenga la etiqueta
durante más de 1 segundo antes de soltarlo.
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
El código SCL se puede dividir en áreas con la región de palabras clave. Estas áreas se puede dar un nombre
y se pueden contraer y expandir.
ventajas
propiedades
Recomendación
Ejemplo
Existen diferentes versiones y aplicaciones para el uso de bucles. Los siguientes ejemplos muestran las
diferencias.
El bucle PARA corre a través de una número definido de carreras. La variable de bucle se le asigna un valor inicial al
comienzo. Posteriormente se incrementa hasta el valor final en cada bucle de ejecución con el tamaño de paso
especificado.
Por razones de rendimiento, el inicio, así como el valor final se calcula una vez al principio. En consecuencia, la
variable de bucle ya no puede influir en el código de bucle.
Sintaxis
// sección de Declaración ;
END_FOR ;
El bucle while se terminó por una condición de terminación. los condición de terminación está chequeado antes del
inicio del código de bucle. Es decir, el bucle no se ejecuta, si la condición no se cumple al instante. Cada variable se
puede ajustar para la próxima carrera en el código de bucle.
Sintaxis
// sección de Declaración ;
END_WHILE ;
El bucle de repetición se termina por una condición de terminación. los condición de terminación
está chequeado al final del código de bucle. Esto significa que el bucle es correr por lo menos una vez. Cada
variable se puede ajustar para la próxima carrera en el código de bucle.
Sintaxis
REPETIR
// sección de Declaración ;
HASTA condición
END_REPEAT ;
Recomendación
• Utilice el bucle WHILE o REPEAT si una variable de bucle tiene que ser ajustado durante el procesamiento de
bucle.
Con la instrucción CASE en SCL, se saltó exactamente a la condición de bloqueo caso seleccionado. Después de
ejecutar el bloque CASO finalizada la instrucción. Esto le permite, por ejemplo, para comprobar el valor requerido
con frecuencia rangos de manera más específica y fácilmente.
Ejemplo
CASO DE #myVar
5:
# Motor (#myParam);
10,12:
# Transporte (#myParam);
15:
# Ascensor (#myParam);
0..20:
# Global (#myParam);
MÁS
END_CASE;
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
Nota instrucciones CASE también trabajan con CHAR, tipos de datos de cadena, así como con elementos (ver
ejemplo en el capítulo 2.8.5 tipo de datos Variant ).
PARA bucles en SCL son bucles de contador pura, es decir el número de iteraciones se fija cuando se entra en el
bucle. En un bucle, el contador del bucle no se puede cambiar. Con la instrucción de salir de un bucle se puede
ventajas
Ejemplo
END_FOR;
En SCL También puede incrementar el índice de bucles for hacia atrás o en otro ancho de paso. Para ello,
utilice la opción "A” palabra clave en la cabeza bucle.
Ejemplo
END_FOR;
Si está definiendo "A” como "-2” , como en el ejemplo, el contador se reduce en 2 en cada iteración. Si se omite
"A”, la configuración de "A” por defecto es 1
Si usted prefiere trabajar con el teclado, hay una posibilidad sencilla para crear instancias de bloques en
SCL.
Ejemplo
Paso Instrucción
1. Dar un nombre al bloque, seguido de un".” (Punto). La compilación automática ahora se muestra lo
siguiente.
2. En la parte superior se puede ver los casos ya existentes. Además, se pueden crear directamente una
nueva instancia de una o de varias instancias. Utilizar los atajos de "S" o "M" para ir directamente a las
entradas respectivas en la ventana de compilación automática.
Se puede calcular las etiquetas de tiempo en SCL al igual que con los números normales, es decir, que no hay que buscar
funciones adicionales, tales como, por ejemplo, T_COMBINE pero se puede utilizar aritmética simple. Este enfoque se
denomina "sobrecarga de operandos”. El compilador SCL utiliza automáticamente las funciones adecuadas. Puede utilizar
un cálculo razonable para los tipos de tiempo y, por consiguiente programa de manera más eficiente.
Ejemplo
La siguiente tabla resume los operadores sobrecargados y las operaciones detrás de él:
DT - DT T_DIFF devuelve DT
Los programadores piensan a menudo en las instrucciones IF-THEN-ELSE. Con frecuencia, esto conduce a construcciones
innecesarias en los programas.
Ejemplo
statMotor: = CIERTO ;
MÁS
statMotor: = FALSO ;
TERMINARA SI
Recomendación
Recuerde que para las solicitudes de Boole una asignación directa es a menudo más eficaz. Toda la
construcción se puede programar con una línea.
Ejemplo
A continuación se muestra una lista de todos los tipos de datos simples y grupos de datos.
Recomendación
• Utilice sólo los tipos de datos que son compatibles con los controladores en el que el programa que se deba ejecutar.
• DWORD
• LWORD no no sí
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
• SINT (8 bit)
• USINT (8 bit)
• UINT (16 bit) no sí sí
• UDINT (32 bit)
• LREAL (64 bit)
• FECHA sí sí sí
• TIME_OF_DAY
• S5TIME sí no sí
• LTIME
no no sí
• L_TIME_OF_DAY
tipos de hora • DT
sí no sí
(FECHA Y HORA)
• DTL no sí sí
• LDT
no no sí
(L_DATE_AND_TIME)
Feld • FORMACIÓN sí sí sí
Estructura • STRUCT sí sí sí
Tabla 4-3: Tipos de parámetros para los parámetros formales que se transfieren entre los bloques
Puntero • PUNTERO
sí no sí 1)
• ALGUNA
• VARIANTE no sí sí
bloques • MINUTERO
sí sí 2) sí
• MOSTRADOR
• BLOCK_FB
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
sí no sí
• BLOCK_FC
• BLOCK_DB
sí no no
• BLOCK_SDB
• VACÍO sí sí sí
2) Para S7-1200 / 1500 el tipo de datos de temporizador y contador está representado por
IEC_TIMER y IEC_Counter.
ventajas
• Optimizados DBs globales son claramente más potente que el área de marcas que no está optimizado sólo
por razones de compatibilidad.
Recomendación
• Tratar con memoria de bit (sistema y banderas de reloj también) es problemático ya que el tamaño de la zona de
bandera de cada controlador ha es diferente. No utilice la memoria de bits para la programación, pero siempre bloques
de datos globales. Así es como el programa siempre se puede utilizar de forma universal.
Recomendación
Para la programación de la memoria del reloj, la configuración de hardware siempre tiene que ser correcta.
Use un bloque programado como generador de reloj. A continuación, se puede encontrar un ejemplo de programación para un
generador de reloj en el lenguaje de programación SCL.
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
Ejemplo
El bloque programado tiene las siguientes funciones. Una frecuencia deseada es preestablecido. La salida "Q” es
un valor booleano que alterna en la frecuencia deseada. El "cuenta atrás” Salida Salidas el tiempo restante del
estado actual de "q”. Si la frecuencia deseada es menor o igual 0,0, entonces la salida Q = FALSE y cuenta atrás
= 0,0.
pensión completa
q [Bool] VERDADERO
https://support.industry.siemens.com/cs/ww/en/view/109479728
5.1 Introducción
5.1 Introducción
TIA Portal V13 SP1 o superior son compatibles con las CPUs de seguridad S7-1200F y S7-1500F. En estos controladores,
estándar, así como la programación a prueba de fallos es posible en un solo dispositivo. Para la programación de los programas
de usuario a prueba de fallos, se utiliza el paquete opcional SIMATIC STEP 7 Seguridad (TIA Portal). Figura 5-1: Estándar y
seguridad del programa
S7-1500F S7-1200F
usuario estándar
programa
programa de seguridad de
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
ventajas
• la programación uniforme en el programa estándar y prueba de fallos con una herramienta de ingeniería: TIA Portal
Nota A prueba de fallos no quiere decir que el programa no contiene errores. El programador es responsable de la
lógica de programación correcta.
A prueba de fallos significa que se garantiza el correcto procesamiento del programa de usuario a prueba de fallos en el
controlador.
Nota Para más información sobre el tema de la seguridad, como los requisitos de seguridad o los principios de los programas de
seguridad se puede encontrar en:
TIA Portal - Una visión general de los documentos más importantes y Enlaces - Seguridad
https://support.industry.siemens.com/cs/ww/en/view/90939626
5.2 Condiciones
5.2 Condiciones
En este documento se utiliza constantemente los términos con el siguiente significado. Tabla 5-1: Condiciones de
seguridad
Término Descripción
programa de usuario estándar El programa de usuario estándar es la parte del programa, que no
está conectado con la programación F.
programa de seguridad (programa F, El programa de usuario a prueba de fallos es la parte del programa que se
programa de usuario a prueba de procesa a prueba de fallos independientemente del controlador.
fallos)
programa de seguridad Das siempre consta de generados por el usuario, generados por el sistema F bloques y el editor
Descripción Pantalla
- F firma colectiva
1
- Estado de la operación de seguridad
3
2. creados por el usuario bloques F
grupo de ejecución F.
Un programa de seguridad siempre se procesa en un grupo de ejecución F con ciclo definido. Un grupo de ejecución F consiste en un "bloque
de organización a prueba de fallos”, que llama a un "bloque de seguridad principal”. Todas las funciones de seguridad generados por los
usuarios son llamados desde el "bloque de seguridad principal”.
ventajas
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
• Los grupos de ejecución sólo pueden ser creados y configurados en el "Administrador de Seguridad”.
propiedades
5.5 F firma
Cada componente F (estación, I / O, bloques) tiene un único F firma. Uso de la F de la firma se puede detectar
rápidamente si una configuración del dispositivo F, F bloques o una estación completa todavía corresponde a la
configuración o programación original.
ventajas
propiedades
- se mantiene sin cambios cuando se cambia la dirección PROFIsafe. Sin embargo, la firma colectiva F
de la estación cambia.
- Número de bloque,
- interfaz de bloque,
5,5 M de firma
- versión de bloque.
Ejemplo
2
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
2. F firmas de bloque en el editor de "Administración de Seguridad” (también se pueden leer de las propiedades de
la manzana)
Nota Para los controladores S7-1500F es posible leer la firma F global directamente en la pantalla instalada o en el
servidor web integrado.
Cada dispositivo FI / O tiene una dirección PROFIsafe para la identificación y la comunicación con los controladores
de F. Al asignar la dirección PROFIsafe, dos configuraciones diferentes son posibles. Tabla 5-3: Configuración de la
dirección F
Asignar la dirección PROFIsafe directamente en los módulos Asignación de la dirección PROFIsafe exclusivamente a través
a través de interruptor DIL En la configuración del dispositivo de la TIA Portal La dirección PROFIsafe configurado se carga
de la TIA Portal y en la posición del interruptor DIL en la en el módulo de codificación inteligente del módulo.
periferia, la dirección PROFIsafe debe ser el mismo.
ventajas
• configuración sencilla desde TIA Portal indica una asignación errónea de las advertencias dirección
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
PROFIsafe.
• Las direcciones PROFIsafe de todos los módulos F se pueden asignar al mismo tiempo dentro de una ET
200SP.
Nota Para más información sobre la asignación de la dirección PROFIsafe para la FI / S está disponible en:
5.7 Evaluación de FI / S
Todos los estados actuales de las respectivas FI / O se guardan en los bloques FI / S. En el programa de seguridad
de los estados pueden ser evaluados y procesados. Existen las siguientes diferencias entre S7-1200F / 1500F y
S7-300F / 400F. Tabla 5-4: Etiquetas en la FI DB / S con S7-300F / 400F y S7-1500F
ACK_NEC sí sí
QBAD sí sí
DESMAYARSE sí sí
QBAD_I_xx * sí no
QBAD_O_xx * sí no
* QBAD_I_xx y QBAD_O_xx que muestran la validez del valor de canal y corresponden a la invertida estado de
valor en S7-1200F / 1500F (más información está disponible en el siguiente capítulo).
Además de los mensajes de diagnóstico y la pantalla de estado y de error, el módulo F proporciona información
sobre la validez de cada entrada y salida de la señal - el estado de valor. El estado de valor se almacena en la
misma forma que la señal de entrada la imagen del proceso:
El estado del valor informa acerca de la validez del valor de canal respectiva.
Tabla 5-5: Diferencias Q_BAD (S7-300F / 400F) y el estado de valor (S7-1200F / 1500F)
CIERTO
propiedades
• Valor del canal y el estado de valor de un FI / O sólo deben ser accedidos desde el grupo de ejecución
misma F.
Recomendación
• Para mejorar la legibilidad asignar el final " VS ", p.ej " TagIn1VS ”Como el nombre simbólico para el
estado de valor.
Ejemplo
Posición de los bits de estado de valor de la imagen del proceso utilizando el ejemplo de un módulo F-DI 8x24VDC
HF.
Tabla 5-6: bits de estado de valor la imagen del proceso utilizando el ejemplo de un F-DI 8x24VDC HF
x+0 DI 7 DI 6 DI 5 DI 4 DI 3 DI 2 DI 1 DI 0
Nota Más información sobre el estado del valor de todos los módulos ET 200SP está disponible en:
https://support.industry.siemens.com/cs/ww/en/ps/14059/man
Hay un alcance sin restricciones de tipos de datos para los programas de seguridad de la S71200 / 1500F.
BOOL 1 bit 0 .. 1
T # -24d20h31m23s648ms a T + #
HORA 32 bits
24d20h31m23s647ms
En aplicaciones de seguridad es que sean necesarias para llevar a cabo funciones matemáticas con etiquetas de
diferentes tipos de datos. Los bloques de función necesarios para ello, requieren un formato de datos definido de los
parámetros formales. Es el operando no cumple con el tipo de datos esperado, una conversión tiene que ser llevado a
cabo por primera vez. En las siguientes circunstancias puede S7-1200 / 1500 también realizar la conversión de datos
de forma implícita:
Por esta razón, los siguientes tipos de datos se pueden convertir de forma implícita en el programa de seguridad:
• WORD ↔ INT
• DINT ↔ TIEMPO
Una aplicación práctica es la suma de dos valores de tiempo, aunque se requiere la función "Agregar” como entrada
"DInt”. El resultado es entonces emite también como etiqueta "Time”.
Habilitar o deshabilitar la comprobación de IEC en las propiedades del bloque de función respectivo o función.
Para los programas de seguridad también es posible estructurar óptima de datos con tipos de datos de PLC.
ventajas
• Un cambio en un tipo de datos del PLC se actualiza automáticamente en todos los lugares de uso en el programa de usuario.
propiedades
• tipos de datos F-PLC se declaran y se utilizan de la misma manera como tipos de datos PLC.
• Como tipos de datos F-PLC, todos los tipos de datos que se permiten en el programa de seguridad se pueden utilizar.
• No se admite la jerarquización de los tipos de datos F-PLC dentro de otros tipos de datos F-PLC.
• tipos de datos F-PLC se pueden utilizar en el programa de seguridad, así como en el programa de usuario estándar.
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
Recomendación
• Utiliza los tipos de datos F-PLC para acceder a las zonas de E / S (como en el capítulo 3.6.5 Acceso a la I / O zonas con tipos
de datos de PLC )
- La estructura de las etiquetas de la F-conformar tipo de datos PLC debe coincidir con la estructura del
canal de la FI / O.
- Un F-conformar PLC tipo de datos para un FI / O con 8 canales es, por ejemplo:
- El acceso a FI / S sólo está permitido para los canales activados. Al configurar una evaluación 1oo2
(2c2), el canal superior está siempre desactivado.
Ejemplo
variable PLC
El uso de señales "verdadero” y "falso” en los programas de seguridad se puede diferenciar en dos
casos de aplicación:
Para S7-1200F / 1500F controladores se pueden utilizar las constantes booleanas "FALSO” a 0 y "TRUE” durante 1 como
parámetro real para el suministro de los parámetros formales durante las llamadas de bloque en el programa de seguridad. Sólo
la palabra clave "FALSO” o "verdadero” se escribe en el parámetro formal.
Con el fin de crear o señales "TRUE” "FALSE” para las operaciones, proceder como sigue:
Puede utilizar las etiquetas como "verdadero” y "falso” leer las señales en el bloque de función completa.
Una parte importante del programa de seguridad es la protección de la programación del usuario mediante el
procesamiento codificados. El objetivo es descubrir cualquier tipo de corrupción de los datos en el programa de seguridad
y, por tanto, a evitar situaciones no seguras. Este programa de protección se crea durante la compilación y por lo tanto
prolonga el tiempo de compilación. El tiempo de ejecución de la F-CPU también se prolonga a través del programa de
protección, ya que el F-CPU procesa adicionalmente y se comparan los resultados con el programa de usuario.
El programa de protección que se genera automáticamente por el sistema se puede encontrar en la carpeta de bloques
del sistema de la F-CPU.
Ejemplo
Este capítulo explica las diferentes opciones para acortar el programa de compilación y tiempo de ejecución.
Dependiendo del uso que no siempre será posible utilizar todas las sugerencias. Ellos, sin embargo, proporcionan información
sobre por qué ciertos métodos de programación hacen más cortos tiempos de ejecución del programa de compilación y luego
un programa no optimizado.
Cada bloque de procesamiento de tiempo (TP, TON, TOF) requiere bloques adicionales y correcciones de datos globales en el
código de protección.
Recomendación
jerarquías de llamadas profundas ampliar el código de los creados por el sistema bloques F, ya que se requiere un mayor
alcance de las funciones de protección y prueba. Cuando se supera la profundidad de anidamiento de 8, el Portal TIA emitirá
una advertencia durante la compilación.
Recomendación
La estructura de su programa de manera que se eviten las jerarquías profundas llamadas innecesarias.
Si una llamada de bloque se saltó a través de JMP / ETIQUETA esto conduce a una protección adicional en los módulos F en el
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
lado del sistema. Aquí, un código de corrección tiene que ser llevada a cabo por la llamada del bloque omitido. Esto cuesta el
rendimiento y el tiempo en la compilación
Recomendación
Evitar las estructuras / etiqueta JMP medida de lo posible para reducir bloques de seguridad en el lado del sistema.
En algunos casos es necesario para el intercambio de datos entre el programa de seguridad y el programa de usuario
estándar. Las siguientes recomendaciones con urgencia deben tenerse en cuenta con el fin de garantizar la coherencia
de los datos entre el estándar y el programa de seguridad.
recomendaciones
• No hay intercambio de datos a través de la memoria de bits (véase el capítulo 4.2 No hay memoria poco, pero los bloques de datos globales )
Por lo tanto, los cambios en el programa estándar no tendrán ninguna influencia en el programa de seguridad. El
controlador también no necesita estar en el modo STOP para cargar el programa estándar.
Principal Fob1
búfer de datos
InstMainSafety
DataFromSafety
Además de los datos siempre controlables de un programa de usuario estándar se pueden modificar los datos de
seguimiento de un programa de seguridad en el modo de seguridad desactivada.
• imagen de proceso de FI / S
• FI / O DBs
propiedades
• A partir de una tabla de observación puede controlar un máximo de 5 entradas / salidas en un programa de seguridad.
• Como punto de disparo es necesario establecer "permanente” o "una vez” de "inicio del ciclo” o "fin de ciclo”.
• Si aún desea utilizar puntos de parada para la prueba, es necesario desactivar el modo de seguridad de antemano.
Esto conduce a los siguientes errores:
Derechos de autor • Siemens AG 2018 Todos los derechos reservados
• En la carpeta "Bloques de sistema" no hay que añadir, cambiar o eliminar cualquier bloqueo.
• No debe haber ningún acceso a DB de instancia del F-FB que no son llamados en el programa de
seguridad.
• El "tiempo de ciclo máximo del grupo F-tiempo de ejecución" no debe ser superado. Seleccione el tiempo
máximo permitido para "Máximo tiempo de ciclo der grupo de ejecución F" que puede transcurrir entre dos
llamadas de este grupo de ejecución F (máximo 20000 ms).
• Si las etiquetas se leen de una base de datos para F comunicación grupo de ejecución, cuyo grupo de ejecución no se
procesa (módulo de seguridad principal del grupo de ejecución F no se llama).
• No se permite la edición de los valores de inicio en DBs de instancia de F-FB en línea y fuera de línea y puede
conducir a la parada del F-CPU.
• El bloque principal de seguridad no debe contener ningún parámetro ya que no pueden ser suministrados.
https://support.industry.siemens.com/cs/ww/en/view/109475826
Por lo general, se aplican las siguientes recomendaciones para el manejo de STEP 7 módulos de seguridad y F.
• Siempre que sea posible, utilice siempre los controladores F. Por lo tanto, una expansión posterior de las funciones de seguridad se puede
realizar muy fácilmente.
• Siempre use una contraseña para el programa de seguridad para evitar cambios no autorizados. La
contraseña se establece en el editor "Administración de Seguridad”.
6.1 Introducción
A partir del TIA Portal V14, puede utilizar el paquete opcional SiVArc (SIMATIC Arquitecto visualización) para
generar automáticamente la visualización de la planta a partir de una biblioteca de visualización y el programa de
usuario en el controlador. En este capítulo a optimizar su programa de usuario para su uso con SiVArc.
requisitos
Nota SiVArc es un tema interfaz entre HMI y el controlador. Esta sección examina SiVArc desde el lado de
control.
SiVArc Manual
https://support.industry.siemens.com/cs/ww/en/view/109755214
bloques estandarizados, por ejemplo, para el control del motor, se llaman en el programa de usuario. El uso de las denominadas reglas
SiVArc, que enlace los llamados bloques con elementos de visualización (campos de texto, campos ES, bloques de imágenes, etc.).
MachineCall
tanque 1
Módulo 1 módulo 2
InstConveyor instTank
instTank
InstConveyor instTank
instAxis
InstAxis
InstAxis
Siemens AG 2018 Todos los derechos reservados
actores
SiVArc utiliza las reglas para generar el elemento de visualización se especifica en una copia de una plantilla de imagen
•
En las reglas SiVArc, puede utilizar la siguiente información desde el controlador, entre otras cosas:
• variables SiVArc
Esto le da la opción de proporcionar información adicional para SiVArc en el controlador, que se puede
utilizar como una condición en la normativa SiVArc.
En los comentarios de la red, puede agregar información sobre el control del generador que la SiVArc gobierna
búsqueda de durante la generación: Figura 6-3: Comentario de red con extensión SiVArc
Siemens AG 2018 Todos los derechos reservados
•
En el editor de reglas, utilice la función "contiene" en la columna "Estado" y la búsqueda de la información, por
ejemplo, "Contiene (Block.NetworkComment, 'Cadena')".
Con esta función tiene un marco de diseño libre de limitar la ejecución de reglas o para ejecutar una regla
sólo para algunas redes.
Recomendación
Marque claramente la información para la generación de SiVArc en los comentarios de la red, por ejemplo, "SiVArc: Generar
Verdadero".
Se pueden definir variables especiales SiVArc para cada red en el dispositivo y utilizar estas variables en las
reglas SiVArc.
4. Abrir el bloque.
6. Para cada red, escriba el nombre de la variable en la columna Nombre y un valor como una cadena en la
columna "Valor". Figura 6-5: Creación de variables SiVArc
Siemens AG 2018 Todos los derechos reservados
En el editor de reglas, se pueden consultar las variables SiVArc con la expresión "variable de nombre = 'valor'" y por
lo tanto influir en el ejercicio de la regla. En el editor de reglas, introduzca la variable SiVArc en la columna "Estado",
por ejemplo "Ubicación = 'Embotellado West'".
•
En este ejemplo, la regla sólo se ejecuta si el "Lugar" SiVArc variable se ha establecido en el valor "Embotellado
Oeste" en la red que se generen.
Recomendación
Utilice nombres de variables comunes para controlar el generador para simplificar la creación de reglas. La siguiente
tabla muestra un ejemplo de variables SiVArc: Tabla 8: Ejemplo para las variables SiVArc
Nota Debe definir los efectos enumerados en la columna "que significa" por sí mismo utilizando las condiciones en el editor
de reglas. Las variables SiVArc mismos no tienen ninguna influencia sobre el generador.
Utilice únicamente caracteres que son soportados por WinCC para la designación de las variables. Al generar las
imágenes, SiVArc accede a los identificadores de bloques de datos, variables o comentarios de la red. SiVArc
elimina todos los caracteres que no son compatibles con WinCC.
no compatibles:
• %, @,", /, \, <,>,,?.:
De manera que se puede controlar el generador a través de los comentarios de la red o variables SiVArc, llamar a los
bloques de la cual los elementos de visualización se van a generar en el lenguaje de programación FUP.
A partir del TIA Portal V15.1, SCL módulos también se pueden utilizar.
•
• programación simbólica
- Capítulo 4.2 No hay memoria poco, pero los bloques de datos globales
•
8 Apéndice
Siemens Industry Soporte en línea ofrece alrededor del reloj de acceso a todo nuestro servicio y soporte
know-how y de cartera.
Soporte técnico
El Soporte Técnico de Siemens Industry le proporciona un soporte rápido y competente con respecto a
todas las consultas técnicas con numerosas ofertas a la medida
- desde el apoyo básico a los contratos individuales de apoyo. Por favor, enviar consultas al soporte técnico a través
del formulario web:
www.siemens.com/industry/supportrequest
Siemens AG 2018 Todos los derechos reservados
Le apoyamos con nuestros cursos de formación disponibles a nivel mundial para la industria con experiencia práctica, los
métodos de aprendizaje innovadores y un concepto que se adapte a las necesidades específicas del cliente.
Para obtener más información sobre nuestros cursos de formación y cursos que se ofrecen, así como sus lugares y
fechas, consulte nuestra página web:
www.siemens.com/sitrain
•
oferta de servicios
• servicios de reparación
Puede encontrar información detallada sobre nuestra gama de servicios en la página web de servicio de catálogo:
https://support.industry.siemens.com/cs/sc
Usted recibirá un apoyo óptimo dondequiera que se encuentre con la aplicación "de Siemens Industry Online
Support". La aplicación está disponible para Apple iOS, Android y Windows Phone:
https://support.industry.siemens.com/cs/ww/en/sc/2067
Tema
https://support.industry.siemens.com/cs/ww/en/view/81318674
\4\ Biblioteca con funciones generales (LGF) para STEP 7 (TIA Portal) y S7-1200 / S7-1500
https://support.industry.siemens.com/cs/ww/en/view/109479728
\5\ Las bibliotecas con tipos de datos PLC (LPD) para STEP 7 (TIA Portal) y S7-1200 / S7-1500
https://support.industry.siemens.com/cs/ww/en/view/109482396
\6\ TIA Portal - Una visión general de los documentos más importantes y enlaces
https://support.industry.siemens.com/cs/ww/en/view/65601780
https://support.industry.siemens.com/cs/ww/en/ps/13716/man
https://support.industry.siemens.com/cs/ww/en/view/78027451
\ 13 \ SIMATIC S7-1200 / S7-1500 Lista de comparación para lenguajes de programación basados en
en el Mnemónicos Internacional
https://support.industry.siemens.com/cs/ww/en/view/86630375
3.5 Remanencia
4.3 Programación de bits de "ciclos"
2.9 Instrucciones
2.10 Simbólico y comentarios
3.6.4 tipo de datos STRUCT y tipos de datos de PLC
3.7 bibliotecas