tema%4 - umh1772umh1772.edu.umh.es/wp-content/uploads/sites/799/2013/02/tema4.pdf · Índice •...
TRANSCRIPT
Tema 4 Principios básicos de programación. Visión Prác4ca S7-‐1200
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN PRÁ
CTICA
S7-‐1200
1
Índice • Introducción a la programación del autómata
• Definición del sistema de control • Descripciones literales • Funciones algebraicas • Esquemas de relés • Diagramas lógicos • Diagramas de flujo • Grafcet
• Definir las variables que intervienen y asignarles direcciones de memoria
• Lenguajes de programación • Diagrama de contactos • Diagrama de funciones • Lenguajes de alto nivel
• Visión Prác4ca S7-‐1200 • Organización de programas • Tipos de módulos
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
2
Introducción a la programación de PLCs
• Sistemas y recursos envueltos en la transferencia de información que rodean al autómata
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
3 PROCESO
SISTEMA OPERATIVO
PROCESADOR
INTERFACE E/S
MEMORIA PROGRAMA
MODELO SIST
CONTROL
UNIDAD DE PROGRAMACIÓN: -‐Lenguaje Progr. -‐Editor de Progr.
Asignación de Direcciones
PROGRAMA BINARIO
Monitor
SEÑALES DE EMERGENCIA
Análisis
Especificaciones
Introducción a la programación de PLCs
• Podríamos dividir la programación del autómata en varios pasos : • Definir el sistema de control ( que debe hacer, en que orden, etc.): diagrama de flujo, la descripción literal o un grafo GRAFCET.
• Iden4ficar las señales de entrada y salida del autómata. • Representar el sistema de control mediante un modelo, indicando todas las funciones que intervienen, las relaciones entre ellas, y la secuencia que deben seguir. Algebraica (instrucciones literales) o gráfica (símbolos gráficos).
• Asignar las direcciones de entrada/salida o internas del autómata a las correspondientes del modelo.
• Codificar la representación del modelo. Lenguaje de programación. • Cargar el programa en la memoria del autómata desde la unidad de programación.
• Depurar el programa y obtener una copia de seguridad.
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
4
Introducción a la programación de PLCs
• Esquema del desarrollo de un proceso controlado por un autómata
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
5
Introducción a la programación de APIs (PLCs)
• Esquema del desarrollo de un proceso controlado por un autómata
Documentación del proceso: - Memoria de funcionamiento - Planos - Etc.
Interpretación del proceso a controlar
Determinación de E/S, temporizadores, contadores, etc., necesarios
Elección del autómata
Asignación de E/S, temporizadores, contadores, etc., necesarios
INICIO
Introducción a la programación de APIs (PLCs) • Esquema del desarrollo de un proceso controlado por un
autómata
- Esquema de conexionado E/S al Autómata. - Montaje
FIN
- Esquema eléctrico: - de potencia - de proceso
Programación : - Diagrama - Lista de instrucciones - Etc.
- Autómata : - puesta en funcionamiento
- Plano distribución componentes del automatismo
- Puesta en modo RUN
- Proceso a Controlar
De:inición del sistema de control • Definición del sistema de control
• Sistemas sin complejidad ⇒ lenguaje vulgar(descrip. Literal) • Herramienta de representación basadas en símbolos(+ complejos) • Clasificación según los símbolos u4lizados:
• Proposicional : descripciones literales. • Algebraicas : funciones booleanas y aritmé4cas. • Grafica : esquemas de contactos, diagramas lógicos o funciones lógicas, ordinogramas, técnicas GRAFCET
• Descripciones literales • La descripción literal de un proceso y de su control puede hacerse enumerando literalmente las acciones a desarrollar por el mismo, expuestas secuencialmente y con indicación de las condiciones de habilitación o validación en cada caso.
• Exhaus4vamente o no define bien. Si se hace, digcil comprensión. • Se complementa con otras formas de representación •
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
6
De:inición del sistema de control • Definición del sistema de control
• Funciones algebraicas • Las funciones algebraicas de cada una de las salidas se ob4enen:
• bien directamente de la descripción literal del proceso a controlar • o bien se aplican métodos de síntesis basados en el álgebra de Boole (tablas de
verdad, Karnaugh, etc.). • Digcil de analizar y sinte4zar sistemas secuenciales. Limitado a la representación de combinaciones de variables independientes del 4empo (condiciones de alarma, operaciones aritmé4cas con variables analógicas, etc.)
• Esquemas de relés • Origen: en la representaciones electromecánicas de sistemas de mando • representación de sistemas sencillos: señales lógicas binarias todo-‐ nada (digitales), o bloques secuenciales predefinidos, como temporizadores y contadores.
• Deficiencias en cuanto a la representación de funciones secuenciales complejas y sobre todo en la manipulación de señales digitales de varios bits (por ejemplo, las obtenidas de una conversión A/D).
• U4lizado por electricistas o ingenieros con formación eléctrica
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
7
De:inición del sistema de control • Esquema de relés
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
8
De:inición del sistema de control • Diagramas lógicos
• Este 4po de representación del sistema de control se u4liza en la documentación de las especificaciones y representación de los mismos
• En muy pocos casos los usuarios finales de autómatas u4lizan esta representación
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
9
Definición del sistema de control • Diagramas lógicos
– Este tipo de representación del sistema de control se utiliza en la documentación de las especificaciones y representación de los mismos
– En muy pocos casos los usuarios finales de autómatas utilizan esta representación
De:inición del sistema de control • Diagramas de flujo
• Organigrama y flujograma, es un sistema de representación que se basa en una serie de símbolos que según un convenio establecido 4enen un determinado significado.
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
10
TOMA DE DECISIONES
SI
NO
ACCIONES INICIO FIN
• 2 Niveles: • Nivel 1:
• secuencia de acciones a realizar • representar el funcionamiento general del sistema
• Nivel 2: • especificadas las acciones en forma de instrucción: instrucciones entendibles directamente por el autómata o en forma de funciones lógicas.
De:inición del sistema de control • Grafcet(Graphe deComande Etape Transi4on,cuya traducción literal es Gráfico de Orden Etapa Transición) • “es una secuencia de etapas que 4enen asociadas unas determinadas acciones a realizar sobre el proceso junto con las condiciones o transiciones que provocan que se produzca el paso de una etapa a otra”
• Normalizado:Interna4onal Electrotechnical Commision IEC 848
• Una de las mejores herramientas para representar automa4smos secuenciales
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
11
De:inir las variables que intervienen y asignarles direcciones de memoria
• Definir las variables que intervienen y asignarles direcciones de memoria • Con los métodos anteriores:
• descripción funcional del sistema de control • fijadas las entradas y salidas que tendrán nombres simbólicos
• Ejemplo: • “Control de una puerta corredera accionada por medio de un motor. El contactor S1
produce la apertura de la puerta, el contactor S2 controla el cierre de la puerta. El interruptor E3 de final de carrera se ac4va cuando la puerta esta abierta, y el interruptor E2 de fin de carrera se ac4va cuando la puerta esta cerrada. La puerta se abre al aplicar una determinada presión sobre un sensor de paso de vehículos E1 situado enfrente de la puerta. Si el sensor E1 no se ac4va, la puerta se cierra–después de transcurridos 10 segundos. Si se ac4va E1, se cierra el contactor S2 y se man4ene cerrado hasta que el interruptor E3 de final de carrera desac4ve el contacator S2. Cuando se esta abriendo la puerta, o bien cuando una vez abierta haya detectado un vehículo con el sensor E1, el temporizador T1 no se ac4va. Si no se dan estas circunstancias y la puerta esta abierta E3 ac4vado, se ac4va el temporizador T1, y transcurridos 10 segundos, la puerta se cierra mediante el contactor S1 por el temporizador T1. La acción de cerrar se produce hasta que o bien se detecta fin de carrera E2 o bien se detecta otro vehículo mediante la ac4vación de E1 en cuyo caso se abre la puerta ac4vando para ello el contactor S2. Las lámparas LED1 y LED2 indican cuando se está cerrando o abriendo la puerta respec4vamente.”
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
12
De:inir las variables que intervienen y asignarles direcciones de memoria
• Tabla de asignación de variables
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
13
Definir las variables que intervienen y asignarles direcciones de memoria
• Tabla de asignación de variables
De:inir las variables que intervienen y asignarles direcciones de memoria
• Posteriormente se asignan las direcciones gsicas a estas variables
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
14
Definir las variables que intervienen y asignarles direcciones de memoria
• Posteriormente se asignan las direcciones físicas a estas variables
• Además de estas variables: necesitare un contador que cuente los periodos de temporización. En las tablas anteriores este contador no se ha tenido en consideración.
• Además de estas variables: necesitare un contador que cuente los periodos de temporización. En las tablas anteriores este contador no se ha tenido en consideración.
Lenguajes de programación • “Conjunto de instrucciones y/o símbolos que están disponibles para escribir el programa, se denomina lenguaje de programación”
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
15
Lenguajes de Programación • “Conjunto de instrucciones y/o símbolos que están
disponibles para escribir el programa, se denomina lenguaje de programación”
• Si unidad de programación acepta directamente la representación del sist. de control, se carga en la CPU. Si no hay que traducirla al lenguaje de programación pertinente.
• Si unidad de programación acepta directamente la representación del sist. de control, se carga en la CPU. Si no hay que traducirla al lenguaje de programación per4nente.
Lenguajes de programación
• KOP (esquema de contactos) es un lenguaje de programación gráfico. Su representación se basa en esquemas de circuitos.
• FUP (diagrama de funciones) es un lenguaje de programación que se basa en los símbolos lógicos gráficos empleados en el álgebra booleana.
• SCL (structured control language) es un lenguaje de programación de alto nivel basado en.
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
16
Lenguajes de programación • Diagrama de contactos.
• Es un lenguaje gráfico procedente del lenguaje de relés que en base símbolos que representan contactos, bloques funcionales, etc. codifican la secuencia de control.
• Diagrama de funciones • Deriva de la representación lógica u4lizada por los técnicos en electrónica digital
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
17
Diagrama de contactos. Diagrama de funciones • Es un lenguaje gráfico procedente del lenguaje de relés que
en base símbolos que representan contactos, bloques funcionales, etc. codifican la secuencia de control.
• Diagrama de funciones: deriva de la representación lógica utilizada por los técnicos en electrónica digital
Definición del sistema de control • Diagramas lógicos
– Este tipo de representación del sistema de control se utiliza en la documentación de las especificaciones y representación de los mismos
– En muy pocos casos los usuarios finales de autómatas utilizan esta representación
Lenguajes de programación • Lenguajes de alto nivel
• Lista de instrucciones, diagramas de contactos,... Insuficientes para programar aplicaciones complejas para autómatas de gama media y alta.
• Herramientas de ingeniería: • S7-‐SCL: lenguaje de alto nivel que se asemeja al Pascal • M7-‐ProC/C++: Entorno Borland C/C++ y depurador mul4tarea.
• Casi todos los fabricantes de autómatas disponen de este 4po de herramientas que permiten programar en Basic, C, Pascal, Fortran, etc. mediante el uso de los interpretes o compiladores respec4vos. Estas herramientas permiten resolver tareas de cálculo cienpfico de alta resolución, clasificaciones y tratamiento de datos, estadís4cas, etc., con acceso a subru4nas específicas de lenguajes informá4cos.
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
18
Visión Práctica S7-‐1200
• Lenguajes de programación-‐ para el S7-‐1200 • KOP (esquema de contactos) es un lenguaje de programación gráfico. Su representación se basa en esquemas de circuitos.
• FUP (diagrama de funciones) es un lenguaje de programación que se basa en los símbolos lógicos gráficos empleados en el álgebra booleana.
• SCL (structured control language) es un lenguaje de programación de alto nivel basado en texto.
• Al crear un bloque lógico, se debe seleccionar el lenguaje de programación que empleará dicho bloque. • El programa de usuario puede emplear bloques lógicos creados con cualquiera de los lenguajes de programación.
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
19
Visión Práctica S7-‐1200
• Lenguajes de programación-‐ para el S7-‐1200 • KOP (esquema de contactos) es un lenguaje de programación gráfico. Su representación se basa en esquemas de circuitos.
• FUP (diagrama de funciones) es un lenguaje de programación que se basa en los símbolos lógicos gráficos empleados en el álgebra booleana.
• SCL (structured control language) es un lenguaje de programación de alto nivel basado en texto.
• Al crear un bloque lógico, se debe seleccionar el lenguaje de programación que empleará dicho bloque. • El programa de usuario puede emplear bloques lógicos creados con cualquiera de los lenguajes de programación.
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
20
Visión Práctica S7-‐1200 • KOP (esquema de contactos)
• Los elementos de un esquema de circuitos, tales como los contactos normalmente cerrados y normalmente abiertos, asi como las bobinas, se combinan para formar segmentos.
• KOP ofrece instrucciones con cuadros para numerosas funciones, p. ej. matemá4cas, temporizadores, contadores y transferencia.
• Todo segmento KOP debe terminar con una bobina o cuadro.
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
21
� 3ULQFLSLRV�E£VLFRV�GH�SURJUDPDFLµQ�� ����/HQJXDMH�GH�SURJUDPDFLµQ�
&RQWURODGRU�SURJUDPDEOH�6�������0DQXDO�GH�VLVWHPD�����������$�(������������ ����
$O�FUHDU�XQ�EORTXH�OµJLFR��VH�GHEH�VHOHFFLRQDU�HO�OHQJXDMH�GH�SURJUDPDFLµQ�TXH�HPSOHDU£�GLFKR�EORTXH���
(O�SURJUDPD�GH�XVXDULR�SXHGH�HPSOHDU�EORTXHV�OµJLFRV�FUHDGRV�FRQ�FXDOTXLHUD�GH�ORV�OHQJXDMHV�GH�SURJUDPDFLµQ���
����� (VTXHPD�GH�FRQWDFWRV��.23��/RV�HOHPHQWRV�GH�XQ�HVTXHPD�GH�FLUFXLWRV��WDOHV�FRPR�ORV�FRQWDFWRV�QRUPDOPHQWH�FHUUDGRV�\�QRUPDOPHQWH�DELHUWRV��DV¯�FRPR�ODV�ERELQDV��VH�FRPELQDQ�SDUD�IRUPDU�VHJPHQWRV���
�3DUD�FUHDU�OD�OµJLFD�GH�RSHUDFLRQHV�FRPSOHMDV��HV�SRVLEOH�LQVHUWDU�UDPDV�SDUD�ORV�FLUFXLWRV�SDUDOHORV��/DV�UDPDV�SDUDOHODV�VH�DEUHQ�KDFLD�DEDMR�R�VH�FRQHFWDQ�GLUHFWDPHQWH�D�OD�EDUUD�GH�DOLPHQWDFLµQ��/DV�UDPDV�VH�WHUPLQDQ�KDFLD�DUULED��
.23�RIUHFH�LQVWUXFFLRQHV�FRQ�FXDGURV�SDUD�QXPHURVDV�IXQFLRQHV��S��HM��PDWHP£WLFDV��WHPSRUL]DGRUHV��FRQWDGRUHV�\�WUDQVIHUHQFLD���
67(3���QR�OLPLWD�HO�Q¼PHUR�GH�LQVWUXFFLRQHV��ILODV�\�FROXPQDV��GH�XQ�VHJPHQWR�.23���
� 1RWD�
7RGR�VHJPHQWR�.23�GHEH�WHUPLQDU�FRQ�XQD�ERELQD�R�FXDGUR����
7HQJD�HQ�FXHQWD�ODV�UHJODV�VLJXLHQWHV�DO�FUHDU�VHJPHQWRV�.23��
Ⴠ� 1R�VH�SHUPLWH�SURJUDPDU�UDPDV�TXH�SXHGDQ�RFDVLRQDU�XQ�IOXMR�LQYHUWLGR�GH�OD�FRUULHQWH��
�Ⴠ� 1R�VH�SHUPLWH�SURJUDPDU�UDPDV�TXH�FDXVHQ�FRUWRFLUFXLWRV��
��
� 3ULQFLSLRV�E£VLFRV�GH�SURJUDPDFLµQ�� ����/HQJXDMH�GH�SURJUDPDFLµQ�
&RQWURODGRU�SURJUDPDEOH�6�������0DQXDO�GH�VLVWHPD�����������$�(������������ ����
$O�FUHDU�XQ�EORTXH�OµJLFR��VH�GHEH�VHOHFFLRQDU�HO�OHQJXDMH�GH�SURJUDPDFLµQ�TXH�HPSOHDU£�GLFKR�EORTXH���
(O�SURJUDPD�GH�XVXDULR�SXHGH�HPSOHDU�EORTXHV�OµJLFRV�FUHDGRV�FRQ�FXDOTXLHUD�GH�ORV�OHQJXDMHV�GH�SURJUDPDFLµQ���
����� (VTXHPD�GH�FRQWDFWRV��.23��/RV�HOHPHQWRV�GH�XQ�HVTXHPD�GH�FLUFXLWRV��WDOHV�FRPR�ORV�FRQWDFWRV�QRUPDOPHQWH�FHUUDGRV�\�QRUPDOPHQWH�DELHUWRV��DV¯�FRPR�ODV�ERELQDV��VH�FRPELQDQ�SDUD�IRUPDU�VHJPHQWRV���
�3DUD�FUHDU�OD�OµJLFD�GH�RSHUDFLRQHV�FRPSOHMDV��HV�SRVLEOH�LQVHUWDU�UDPDV�SDUD�ORV�FLUFXLWRV�SDUDOHORV��/DV�UDPDV�SDUDOHODV�VH�DEUHQ�KDFLD�DEDMR�R�VH�FRQHFWDQ�GLUHFWDPHQWH�D�OD�EDUUD�GH�DOLPHQWDFLµQ��/DV�UDPDV�VH�WHUPLQDQ�KDFLD�DUULED��
.23�RIUHFH�LQVWUXFFLRQHV�FRQ�FXDGURV�SDUD�QXPHURVDV�IXQFLRQHV��S��HM��PDWHP£WLFDV��WHPSRUL]DGRUHV��FRQWDGRUHV�\�WUDQVIHUHQFLD���
67(3���QR�OLPLWD�HO�Q¼PHUR�GH�LQVWUXFFLRQHV��ILODV�\�FROXPQDV��GH�XQ�VHJPHQWR�.23���
� 1RWD�
7RGR�VHJPHQWR�.23�GHEH�WHUPLQDU�FRQ�XQD�ERELQD�R�FXDGUR����
7HQJD�HQ�FXHQWD�ODV�UHJODV�VLJXLHQWHV�DO�FUHDU�VHJPHQWRV�.23��
Ⴠ� 1R�VH�SHUPLWH�SURJUDPDU�UDPDV�TXH�SXHGDQ�RFDVLRQDU�XQ�IOXMR�LQYHUWLGR�GH�OD�FRUULHQWH��
�Ⴠ� 1R�VH�SHUPLWH�SURJUDPDU�UDPDV�TXH�FDXVHQ�FRUWRFLUFXLWRV��
��
� 3ULQFLSLRV�E£VLFRV�GH�SURJUDPDFLµQ�� ����/HQJXDMH�GH�SURJUDPDFLµQ�
&RQWURODGRU�SURJUDPDEOH�6�������0DQXDO�GH�VLVWHPD�����������$�(������������ ����
$O�FUHDU�XQ�EORTXH�OµJLFR��VH�GHEH�VHOHFFLRQDU�HO�OHQJXDMH�GH�SURJUDPDFLµQ�TXH�HPSOHDU£�GLFKR�EORTXH���
(O�SURJUDPD�GH�XVXDULR�SXHGH�HPSOHDU�EORTXHV�OµJLFRV�FUHDGRV�FRQ�FXDOTXLHUD�GH�ORV�OHQJXDMHV�GH�SURJUDPDFLµQ���
����� (VTXHPD�GH�FRQWDFWRV��.23��/RV�HOHPHQWRV�GH�XQ�HVTXHPD�GH�FLUFXLWRV��WDOHV�FRPR�ORV�FRQWDFWRV�QRUPDOPHQWH�FHUUDGRV�\�QRUPDOPHQWH�DELHUWRV��DV¯�FRPR�ODV�ERELQDV��VH�FRPELQDQ�SDUD�IRUPDU�VHJPHQWRV���
�3DUD�FUHDU�OD�OµJLFD�GH�RSHUDFLRQHV�FRPSOHMDV��HV�SRVLEOH�LQVHUWDU�UDPDV�SDUD�ORV�FLUFXLWRV�SDUDOHORV��/DV�UDPDV�SDUDOHODV�VH�DEUHQ�KDFLD�DEDMR�R�VH�FRQHFWDQ�GLUHFWDPHQWH�D�OD�EDUUD�GH�DOLPHQWDFLµQ��/DV�UDPDV�VH�WHUPLQDQ�KDFLD�DUULED��
.23�RIUHFH�LQVWUXFFLRQHV�FRQ�FXDGURV�SDUD�QXPHURVDV�IXQFLRQHV��S��HM��PDWHP£WLFDV��WHPSRUL]DGRUHV��FRQWDGRUHV�\�WUDQVIHUHQFLD���
67(3���QR�OLPLWD�HO�Q¼PHUR�GH�LQVWUXFFLRQHV��ILODV�\�FROXPQDV��GH�XQ�VHJPHQWR�.23���
� 1RWD�
7RGR�VHJPHQWR�.23�GHEH�WHUPLQDU�FRQ�XQD�ERELQD�R�FXDGUR����
7HQJD�HQ�FXHQWD�ODV�UHJODV�VLJXLHQWHV�DO�FUHDU�VHJPHQWRV�.23��
Ⴠ� 1R�VH�SHUPLWH�SURJUDPDU�UDPDV�TXH�SXHGDQ�RFDVLRQDU�XQ�IOXMR�LQYHUWLGR�GH�OD�FRUULHQWH��
�Ⴠ� 1R�VH�SHUPLWH�SURJUDPDU�UDPDV�TXH�FDXVHQ�FRUWRFLUFXLWRV��
��
Visión Práctica S7-‐1200 • FUP (diagrama de funciones)
• Al igual que KOP, FUP es un lenguaje de programación gráfico. La representación de la lógica se basa en los símbolos lógicos gráficos del álgebra booleana.
• Para crear la lógica de operaciones complejas, se inserta ramas paralelas entre los cuadros.
• Las funciones matemá4cas y otras operaciones complejas pueden representarse directamente en combinación con los cuadros lógicos.
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
22
3ULQFLSLRV�E£VLFRV�GH�SURJUDPDFLµQ� �����/HQJXDMH�GH�SURJUDPDFLµQ�
� &RQWURODGRU�SURJUDPDEOH�6����������� 0DQXDO�GH�VLVWHPD�����������$�(������������
����� 'LDJUDPD�GH�IXQFLRQHV��)83��$O�LJXDO�TXH�.23��)83�HV�XQ�OHQJXDMH�GH�SURJUDPDFLµQ�JU£ILFR��/D�UHSUHVHQWDFLµQ�GH�OD�OµJLFD�VH�EDVD�HQ�ORV�V¯PERORV�OµJLFRV�JU£ILFRV�GHO�£OJHEUD�ERROHDQD���
�
�
3DUD�FUHDU�OD�OµJLFD�GH�RSHUDFLRQHV�FRPSOHMDV��LQVHUWH�UDPDV�SDUDOHODV�HQWUH�ORV�FXDGURV��
/DV�IXQFLRQHV�PDWHP£WLFDV�\�RWUDV�RSHUDFLRQHV�FRPSOHMDV�SXHGHQ�UHSUHVHQWDUVH�GLUHFWDPHQWH�HQ�FRPELQDFLµQ�FRQ�ORV�FXDGURV�OµJLFRV��
67(3���QR�OLPLWD�HO�Q¼PHUR�GH�LQVWUXFFLRQHV��ILODV�\�FROXPQDV��GH�XQ�VHJPHQWR�)83��
����� 6&/�(O�OHQJXDMH�GH�FRQWURO�HVWUXFWXUDGR��6&/��6WUXFWXUHG�&RQWURO�/DQJXDJH��HV�XQ�OHQJXDMH�GH�SURJUDPDFLµQ�GH�DOWR�QLYHO�EDVDGR�HQ�3$6&$/�SDUD�ODV�&38�GH�6,0$7,&�6���6&/�VRSRUWD�OD�HVWUXFWXUD�GH�EORTXHV�GH�67(3����3£JLQD�������7DPEL«Q�HV�SRVLEOH�LQFOXLU�EORTXHV�GH�SURJUDPD�HVFULWRV�HQ�6&/�FRQ�EORTXHV�GH�SURJUDPD�HVFULWRV�HQ�.23�\�)83�����
/DV�LQVWUXFFLRQHV�GH�6&/�HPSOHDQ�RSHUDGRUHV�GH�SURJUDPDFLµQ�HVW£QGDU��S��HM��SDUD�DVLJQDFLµQ��� ��R�SDUD�IXQFLRQHV�PDWHP£WLFDV����SDUD�OD�VXPD����SDUD�OD�UHVWD�� �SDUD�OD�PXOWLSOLFDFLµQ�\���SDUD�OD�GLYLVLµQ���6&/�WDPEL«Q�XWLOL]D�RSHUDFLRQHV�GH�FRQWURO�GH�SURJUDPD�3$6&$/�HVW£QGDU��WDOHV�FRPR�,)�7+(1�(/6(��&$6(��5(3($7�817,/��*272�\�5(7851��(V�SRVLEOH�XWLOL]DU�FXDOTXLHU�UHIHUHQFLD�3$6&$/�SDUD�HOHPHQWRV�VLQW£FWLFRV�GHO�OHQJXDMH�GH�SURJUDPDFLµQ�6&/��0XFKDV�RWUDV�LQVWUXFFLRQHV�GH�6&/��FRPR�ORV�WHPSRUL]DGRUHV�\�FRQWDGRUHV��VH�FRUUHVSRQGHQ�FRQ�ODV�LQVWUXFFLRQHV�GH�.23�\�)83��3DUD�P£V�LQIRUPDFLµQ�VREUH�GHWHUPLQDGDV�LQVWUXFFLRQHV��Y«DQVH�ODV�LQVWUXFFLRQHV�HVSHF¯ILFDV�GH�ODV�VHFFLRQHV�FRUUHVSRQGLHQWHV�D�,QVWUXFFLRQHV�E£VLFDV��3£JLQD������H�,QVWUXFFLRQHV�DYDQ]DGDV��3£JLQD��������
(V�SRVLEOH�GHVLJQDU�FXDOTXLHU�WLSR�GH�EORTXH��2%��)%�R�)&��SDUD�XWLOL]DU�HO�OHQJXDMH�GH�SURJUDPDFLµQ�HQ�HO�PRPHQWR�GH�FUHDU�HO�EORTXH��67(3���FXHQWD�FRQ�XQ�HGLWRU�GH�SURJUDPDV�6&/�TXH�LQFOX\H�ORV�HOHPHQWRV�VLJXLHQWHV��
Ⴠ� 6HFFLµQ�GH�LQWHUIDFH�SDUD�GHILQLU�ORV�SDU£PHWURV�GHO�EORTXH�OµJLFR�
Ⴠ� 6HFFLµQ�GH�FµGLJR�SDUD�HO�FµGLJR�GHO�SURJUDPD�
Ⴠ� �UERO�GH�LQVWUXFFLRQHV�TXH�FRQWLHQH�ODV�LQVWUXFFLRQHV�6&/�VRSRUWDGDV�SRU�OD�&38�
(O�FµGLJR�6&/�SDUD�OD�LQVWUXFFLµQ�VH�LQWURGXFH�GLUHFWDPHQWH�HQ�OD�VHFFLµQ�GH�FµGLJR��3DUD�REWHQHU�LQVWUXFFLRQHV�P£V�FRPSOHMDV��EDVWD�FRQ�DUUDVWUDU�ODV�LQVWUXFFLRQHV�6&/�GHO�£UERO�GH�LQVWUXFFLRQHV�\�VROWDUODV�HQ�HO�SURJUDPD��7DPEL«Q�VH�SXHGH�HPSOHDU�FXDOTXLHU�HGLWRU�GH�WH[WR�SDUD�FUHDU�XQ�SURJUDPD�6&/�\��D�FRQWLQXDFLµQ��LPSRUWDU�HO�DUFKLYR�D�67(3��������
Visión Práctica S7-‐1200 • SCL (structured control language)
• El lenguaje de control estructurado (SCL, Structured Control Language) es un lenguaje de programación de alto nivel basado en PASCAL
• Las instrucciones de SCL emplean operadores de programación estándar, p. ej. para asignación (:=) o para funciones matemá4cas (+ para la suma, -‐ para la resta, * para la mul4plicación y / para la división).
• SCL también u4liza operaciones de control de programa PASCAL estándar, tales como IF-‐THEN-‐ELSE, CASE, REPEAT-‐UNTIL, GOTO y RETURN. Es posible u4lizar cualquier referencia PASCAL para elementos sintác4cos del lenguaje de programación SCL.
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
23
� 3ULQFLSLRV�E£VLFRV�GH�SURJUDPDFLµQ�� ����/HQJXDMH�GH�SURJUDPDFLµQ�
&RQWURODGRU�SURJUDPDEOH�6�������0DQXDO�GH�VLVWHPD�����������$�(������������ ����
�(Q�OD�VHFFLµQ�GHO�EORTXH�OµJLFR�6&/�VH�SXHGHQ�GHFODUDU�ORV�WLSRV�GH�SDU£PHWURV�VLJXLHQWHV��
Ⴠ� ,QSXW��2XWSXW��,Q2XW�\�5HWB9DO��HVWRV�SDU£PHWURV�GHILQHQ�ODV�YDULDEOHV�GH�HQWUDGD��ODV�YDULDEOHV�GH�VDOLGD�\�HO�YDORU�GH�UHWRUQR�GHO�EORTXH�OµJLFR��(O�QRPEUH�GH�OD�YDULDEOH�LQWURGXFLGD�HQ�HVWH�SXQWR�VH�HPSOHD�GH�IRUPD�ORFDO�GXUDQWH�OD�HMHFXFLµQ�GHO�EORTXH�OµJLFR��1RUPDOPHQWH��QR�VH�HPSOHD�HO�QRPEUH�GH�YDULDEOHV�JOREDOHV�HQ�OD�WDEOD�GH�YDULDEOHV��
Ⴠ� (VW£WLFRV��VROR�)%V��OD�ILJXUD�GH�DUULED�FRUUHVSRQGH�D�XQ�)&���ODV�YDULDEOHV�HVW£WLFDV�VH�XWLOL]DQ�SDUD�DOPDFHQDU�UHVXOWDGRV�LQWHUPHGLRV�HVW£WLFRV�HQ�HO�EORTXH�GH�GDWRV�LQVWDQFLD��/RV�GDWRV�HVW£WLFRV�VH�UHWLHQHQ�KDVWD�TXH�VH�VREUHVFULEHQ��OR�FXDO�SXHGH�RFXUULU�GHVSX«V�GH�YDULRV�FLFORV��/RV�QRPEUHV�GH�ORV�EORTXHV��ORV�FXDOHV�VH�OODPDQ�HQ�HVWH�EORTXH�OµJLFR�FRPR�PXOWLLQVWDQFLD��WDPEL«Q�VH�DOPDFHQDQ�HQ�ORV�GDWRV�ORFDOHV�HVW£WLFRV��
Ⴠ� 7HPS��HVWRV�SDU£PHWURV�VRQ�YDULDEOHV�WHPSRUDOHV�TXH�VH�HPSOHDQ�GXUDQWH�OD�HMHFXFLµQ�GHO�EORTXH�OµJLFR��
6L�VH�OODPD�HO�EORTXH�OµJLFR�6&/�GHVGH�RWUR�EORTXH�OµJLFR��ORV�SDU£PHWURV�GHO�EORTXH�OµJLFR�6&/�DSDUHFHQ�FRPR�HQWUDGDV�R�VDOLGDV��
�(Q�HVWH�HMHPSOR��ODV�YDULDEOHV�GH��6WDUW��\��2Q���GH�OD�WDEOD�GH�YDULDEOHV�GH�SUR\HFWR��VH�FRUUHVSRQGHQ�FRQ��6WDUW6WRS6ZLWFK��\��5XQ<HV1R��HQ�OD�WDEOD�GH�GHFODUDFLµQ�GHO�SURJUDPD�6&/��
&RQVWUXLU�XQD�H[SUHVLµQ�6&/�8QD�H[SUHVLµQ�6&/�HV�XQD�IµUPXOD�SDUD�FDOFXODU�XQ�YDORU��/D�H[SUHVLµQ�FRQVLVWH�HQ�RSHUDQGRV�\�RSHUDGRUHV��S��HM�� �������R�����/RV�RSHUDQGRV�SXHGHQ�VHU�YDULDEOHV��FRQVWDQWHV�R�H[SUHVLRQHV������������
Organización de programas • Al crear el programa de usuario para las tareas de automa4zación, las instrucciones del programa se insertan en bloques lógicos (OB, FB o FC). De manera estándar está disponible el bloque de organización Main [OB1].
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
24
OB (bloques de organización)
FB (bloque de función) tiene un bloque de datos de instancia para almacenamiento temporal
FC (función) No tiene bloque de datos de instancia
DB (bloque de datos) para acceso global y almacenamiento permanente
Organización de programas • Programación lineal
• Un programa lineal ejecuta todas las instrucciones de la tarea de automa4zación de forma secuencial, es decir, una tras otra. Generalmente, el programa lineal deposita todas las instrucciones del programa en un OB de ciclo (como OB 1), encargado de la ejecución cíclica del programa.
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
25
Organización de programas • Programación estructurada
• En el caso de tareas de control amplias, se subdivide el programa en bloques de programa más pequeños, abarcables y ordenados por funciones. Esto presenta la ventaja de permi4r la comprobación de las partes del programa de forma independiente y ejecutarlas como una función global durante el funcionamiento.
• Los bloques de programa deben ser llamados por el bloque de orden superior. Si se detecta un fin de bloque (BE), el programa con4nuará ejecutándose en el bloque que llama, detrás de la llamada.
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
26
!
Organización de programas • Programación estructurada
• Diseñando FBs y FCs que ejecuten tareas genéricas, se crean bloques lógicos modulares.
• El programa de usuario se estructura luego, de manera que otros bloques lógicos llamen estos bloques modulares reu4lizables. El bloque que efectúa la llamada transfiere los parámetros específicos del disposi4vo al bloque llamado. Cuando un bloque lógico llama otro bloque lógico, la CPU ejecuta la lógica de programa contenida en el bloque llamado. Una vez finalizada la ejecución del bloque llamado, la CPU reanuda la ejecución del bloque que ha efectuado la llamada. El procesamiento con4núa con la ejecución de la instrucción siguiente a la llamada de bloque.
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
27
3URJUDPDFLµQ�FDGD�YH]�P£V�VHQFLOOD� �����)£FLO�GLVH³R�GHO�SURJUDPD�GH�XVXDULR�
� (DV\�%RRN���� 0DQXDO�GH�SURGXFWR�����������$�(������������
�$� %ORTXH�TXH�OODPD��R�EORTXH�LQWHUUXPSLGR��%� )%�R�%&�OODPDGR��X�2%�TXH�LQWHUUXPSH��� (MHFXFLµQ�GHO�SURJUDPD�
� ,QVWUXFFLµQ��R�HYHQWR�TXH�LQWHUUXPSH��TXH�LQLFLD�OD�HMHFXFLµQ�GH�RWUR�EORTXH�
� (MHFXFLµQ�GHO�SURJUDPD�
� )LQ�GHO�EORTXH��UHJUHVD�DO�EORTXH�TXH�OODPD��
/DV�OODPDGDV�GH�EORTXH�SXHGHQ�DQLGDUVH�SDUD�FUHDU�XQD�HVWUXFWXUD�P£V�PRGXODU��(Q�HO�HMHPSOR�VLJXLHQWH��OD�SURIXQGLGDG�GH�DQLGDPLHQWR�HV�GH����(O�2%�F¯FOLFR�P£V���QLYHOHV�GH�OODPDGDV�GH�EORTXHV�OµJLFRV��
�
� ,QLFLR�GHO�FLFOR�
� 3URIXQGLGDG�GH�DQLGDPLHQWR�
�
� �
&UHDQGR�EORTXHV�OµJLFRV�JHQ«ULFRV�TXH�SXHGHQ�UHXWLOL]DUVH�HQ�HO�SURJUDPD�GH�XVXDULR��HV�SRVLEOH�VLPSOLILFDU�HO�GLVH³R�\�OD�LPSOHPHQWDFLµQ�GHO�SURJUDPD�GH�XVXDULR���
Ⴠ� 6H�SXHGHQ�FUHDU�EORTXHV�OµJLFRV�UHXWLOL]DEOHV�SDUD�WDUHDV�HVW£QGDU��WDOHV�FRPR�HO�FRQWURO�GH�XQD�ERPED�R�PRWRU��7DPEL«Q�HV�SRVLEOH�DOPDFHQDU�HVWRV�EORTXHV�OµJLFRV�JHQ«ULFRV�HQ�XQD�OLEUHU¯D��GH�PDQHUD�TXH�SXHGDQ�VHU�XWLOL]DGRV�SRU�GLIHUHQWHV�DSOLFDFLRQHV�R�VROXFLRQHV��
Ⴠ� (O�SURJUDPD�GH�XVXDULR�SXHGH�GLYLGLUVH�HQ�FRPSRQHQWHV�PRGXODUHV�SDUD�ODV�WDUHDV�IXQFLRQDOHV��IDFLOLWDQGR�DV¯�VX�FRPSUHQVLµQ�\�JHVWLµQ��/RV�FRPSRQHQWHV�PRGXODUHV�QR�VµOR�D\XGDQ�D�HVWDQGDUL]DU�HO�GLVH³R�GHO�SURJUDPD��VLQR�TXH�WDPEL«Q�SXHGHQ�IDFLOLWDU�\�DJLOL]DU�OD�DFWXDOL]DFLµQ�R�PRGLILFDFLµQ�GH�OD�OµJLFD�GHO�SURJUDPD��
Ⴠ� /D�FUHDFLµQ�GH�FRPSRQHQWHV�PRGXODUHV�VLPSOLILFD�OD�GHSXUDFLµQ�GHO�SURJUDPD��'LYLGLHQGR�HO�SURJUDPD�FRPSOHWR�HQ�VHJPHQWRV�GH�SURJUDPD�PRGXODUHV��HV�SRVLEOH�FRPSUREDU�ODV�IXQFLRQHV�GH�FDGD�EORTXH�OµJLFR�D�PHGLGD�TXH�VH�YD�GHVDUUROODQGR��
Ⴠ� 8WLOL]DQGR�XQ�GLVH³R�PRGXODU�EDVDGR�HQ�WDUHDV�IXQFLRQDOHV�HVSHF¯ILFDV�VH�SXHGH�UHGXFLU�HO�WLHPSR�QHFHVDULR�SDUD�OD�HMHFXFLµQ�GH�WRGD�OD�DSOLFDFLµQ��
Organización de programas • Programación estructurada
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
28
FC Global
Data Block
Global Data Block
OB
FB FC
FC
FB
Instance Data Block
Instance Data Block
La profundidad máxima de anidamiento es de 16
Organización de programas • Programación estructurada
• Creando bloques lógicos genéricos que pueden reu4lizarse en el programa de usuario, es posible simplificar el diseño y la implementación del programa de usuario.
• Se pueden crear bloques lógicos reu4lizables para tareas estándar, tales como el control de una bomba o motor. También es posible almacenar estos bloques lógicos genéricos en una librería, de manera que puedan ser u4lizados por diferentes aplicaciones o soluciones.
• El programa de usuario puede dividirse en componentes modulares para las tareas funcionales, facilitando así su comprensión y ges4ón. Los componentes modulares no sólo ayudan a estandarizar el diseño del programa, sino que también pueden facilitar y agilizar la actualización o modificación de la lógica del programa.
• La creación de componentes modulares simplifica la depuración del programa. Dividiendo el programa completo en segmentos de programa modulares, es posible comprobar las funciones de cada bloque lógico a medida que se va desarrollando.
• U4lizando un diseño modular basado en tareas funcionales especificas se puede reducir el 4empo necesario para la ejecución de toda la aplicación.
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
29
Tipos de módulos • Bloque de organización (OB)
• Un bloque de organización (OB) reacciona a un evento especifico en la CPU y puede interrumpir la ejecución del programa de usuario. El bloque predeterminado para la ejecución cíclica del programa de usuario (OB 1) ofrece la estructura básica y es el único bloque lógico que se requiere para el programa de usuario. Si se incluyen otros OBs en el programa, éstos interrumpen la ejecución del OB 1. Los demás OBs ejecutan funciones especificas, tales como tareas de arranque, procesamiento de alarmas y tratamiento de errores, o ejecución de un código de programa especifico en determinados intervalos.
• Los OBs son controlados por eventos. Un evento, p. ej. una alarma de diagnós4co o un intervalo, hace que la CPU ejecute un OB. Algunos OBs 4enen eventos de arranque y comportamiento en arranque predefinidos.
• La CPU determina el orden de procesamiento de eventos de alarma según la prioridad asignada a cada OB. Todo evento 4ene una prioridad de procesamiento propia. El nivel de prioridad correspondiente dentro de una clase de prioridad determina el orden en que se ejecutan los OB.
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
30
Tipos de módulos • Bloque de organización (OB)
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
31
Ciclo
Arranque
Hardware
Retardo
OB1
OB 100
OB 200
FC
FB
DB
Cola de ejecución de OBs
FB
DB
OB 202
OB 80
FC
Alarma error tiempo
Alarma proceso
Alarma cíclica OB 201
OB 82 Alarma error diagn.
Ala
rmas
El acoplamiento del evento al OB se puede realizar durante la configuración así como en runRme
Tipos de módulos • Función (FC)
• Una función (FC) es un bloque lógico que, por lo general, realiza una operación específica en un conjunto de valores de entrada. La FC almacena los resultados de esta operación en posiciones de memoria. Por ejemplo, las FC se u4lizan para ejecutar operaciones estándar y reu4lizables (como cálculos matemá4cos) o funciones tecnológicas (como para controles individuales que u4lizan lógica de bits). Una FC también se puede llamar varias veces en diferentes puntos de un programa. Esto facilita la programación de tareas que se repiten con frecuencia.
• Una FC no 4ene ningún bloque de datos instancia asociado (DB). La FC usa la pila de datos locales para los datos temporales u4lizados para calcular la operación. Los datos temporales no se almacenan. Para almacenar los datos de forma permanente es preciso asignar el valor de salida a una posición de memoria global, p. ej. el área de marcas o un DB global.
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
32
Tipos de módulos • Bloque de función (FB)
• Un bloque de función (FB) es un bloque lógico que u4liza un bloque de datos instancia para sus parámetros y datos está4cos.
• Los FBs 4enen una memoria variable ubicada en un bloque de datos (DB) o DB "instancia". El DB instancia ofrece un bloque de memoria asociado a esa instancia (o llamada) del FB y almacena datos una vez que haya finalizado el FB.
• Es posible asociar dis4ntos DBs de instancia a diferentes llamadas del FB. Los DBs instancia permiten u4lizar un FB genérico para controlar varios disposi4vos.
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
33
Tipos de módulos • Bloque de función (FB)
• La figura siguiente muestra un OB que llama un FB tres veces, u4lizando un bloque de datos diferente para cada llamada. Esta estructura permite que un FB genérico controle varios disposi4vos similares (p. ej. motores), asignando un bloque de datos instancia diferente a cada llamada de los dis4ntos disposi4vos. Cada DB instancia almacena los datos (p. ej. velocidad, 4empo de aceleración y 4empo de operación total) de un disposi4vo en par4cular.
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
34
3ULQFLSLRV�E£VLFRV�GH�SURJUDPDFLµQ� �����8WLOL]DU�EORTXHV�SDUD�HVWUXFWXUDU�HO�SURJUDPD�
� &RQWURODGRU�SURJUDPDEOH�6����������� 0DQXDO�GH�VLVWHPD�����������$�(������������
8WLOL]DU�XQ�VROR�)%�FRQ�'%V�/D�ILJXUD�VLJXLHQWH�PXHVWUD�XQ�2%�TXH�OODPD�XQ�)%�WUHV�YHFHV��XWLOL]DQGR�XQ�EORTXH�GH�GDWRV�GLIHUHQWH�SDUD�FDGD�OODPDGD��(VWD�HVWUXFWXUD�SHUPLWH�TXH�XQ�)%�JHQ«ULFR�FRQWUROH�YDULRV�GLVSRVLWLYRV�VLPLODUHV��S��HM��PRWRUHV���DVLJQDQGR�XQ�EORTXH�GH�GDWRV�LQVWDQFLD�GLIHUHQWH�D�FDGD�OODPDGD�GH�ORV�GLVWLQWRV�GLVSRVLWLYRV��&DGD�'%�LQVWDQFLD�DOPDFHQD�ORV�GDWRV��S��HM��YHORFLGDG��WLHPSR�GH�DFHOHUDFLµQ�\�WLHPSR�GH�RSHUDFLµQ�WRWDO��GH�XQ�GLVSRVLWLYR�HQ�SDUWLFXODU���
�(Q�HVWH�HMHPSOR��HO�)%����FRQWUROD�WUHV�GLVSRVLWLYRV�GLIHUHQWHV��(O�'%�����DOPDFHQD�ORV�GDWRV�RSHUDWLYRV�GHO�SULPHU�GLVSRVLWLYR��HO�'%������ORV�GHO�VHJXQGR�\��HO�'%������ORV�GHO�WHUFHUR���
����� %ORTXH�GH�GDWRV��'%��/RV�EORTXHV�GH�GDWRV��'%��VH�FUHDQ�HQ�HO�SURJUDPD�GH�XVXDULR�SDUD�DOPDFHQDU�ORV�GDWRV�GH�ORV�EORTXHV�OµJLFRV��7RGRV�ORV�EORTXHV�GHO�SURJUDPD�GH�XVXDULR�SXHGHQ�DFFHGHU�D�ORV�GDWRV�HQ�XQ�'%�JOREDO��(Q�FDPELR��XQ�'%�LQVWDQFLD�DOPDFHQD�ORV�GDWRV�GH�XQ�EORTXH�GH�IXQFLµQ��)%��HVSHF¯ILFR���
/RV�GDWRV�DOPDFHQDGRV�HQ�XQ�'%�QR�VH�ERUUDQ�FXDQGR�ILQDOL]D�OD�HMHFXFLµQ�GHO�EORTXH�OµJLFR�DVRFLDGR��+D\�GRV�WLSRV�GH�'%V��D�VDEHU��
Ⴠ� 8Q�'%�JOREDO�DOPDFHQD�ORV�GDWRV�GH�ORV�EORTXHV�OµJLFRV�HQ�HO�SURJUDPD��&XDOTXLHU�2%��)%�R�)&�SXHGH�DFFHGHU�D�ORV�GDWRV�HQ�XQ�'%�JOREDO��
Ⴠ� 8Q�'%�LQVWDQFLD�DOPDFHQD�ORV�GDWRV�GH�XQ�)%�HVSHF¯ILFR��/D�HVWUXFWXUD�GH�ORV�GDWRV�HQ�XQ�'%�LQVWDQFLD�UHIOHMD�ORV�SDU£PHWURV��,QSXW��2XWSXW�H�,Q2XW��\�ORV�GDWRV�HVW£WLFRV�GHO�)%���/D�PHPRULD�WHPSRUDO�GHO�)%�QR�VH�DOPDFHQD�HQ�HO�'%�LQVWDQFLD���
� � 1RWD�
$XQTXH�HO�'%�LQVWDQFLD�UHIOHMD�ORV�GDWRV�GH�XQ�)%�HVSHF¯ILFR��FXDOTXLHU�EORTXH�OµJLFR�SXHGH�DFFHGHU�D�ORV�GDWRV�HQ�XQ�'%�LQVWDQFLD��
En este ejemplo, el FB 22 controla tres disposi4vos diferentes. El DB 201 almacena los datos opera4vos del primer disposi4vo, el DB 202, los del segundo y, el DB 203, los del tercero.
Tipos de módulos • Bloque de datos (DB)
• Los bloques de datos (DB) se crean en el programa de usuario para almacenar los datos de los bloques lógicos. Todos los bloques del programa de usuario pueden acceder a los datos en un DB global. En cambio, un DB instancia almacena los datos de un bloque de función (FB) específico.
• Los datos almacenados en un DB no se borran cuando finaliza la ejecución del bloque lógico asociado. Hay dos 4pos de DBs, a saber:
• Un DB global almacena los datos de los bloques lógicos en el programa. Cualquier OB, FB o FC puede acceder a los datos en un DB global.
• Un DB instancia almacena los datos de un FB específico. La estructura de los datos en un DB instancia refleja los parámetros (Input, Output e InOut) y los datos está4cos del FB. (La memoria temporal del FB no se almacena en el DB instancia.)
13/10/14
TEMA 4 PR
INCIPIOS BÁ
SICO
S DE
PRO
GRAM
ACIÓN. V
ISIÓN
PRÁC
TICA
S7-‐1200
35