Date: 28.04.23File: S7N2_07.1
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Llamadas a Módulo y Modelo Multi-instancia
Date: 28.04.23File: S7N2_07.2
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Módulos para la Programación EstructuradaModularización deToda la Tarea:
Las tareas parciales se solucionan con sus propios módulos La asignación de parámetros permite el uso flexible
• Ejemplo: Ciclo de taladro con profundidad asignable por parámetro
Reutilización de los Módulos: Los Módulos pueden llamarse tantas veces como se necesite Restricciones:
• no se tiene acceso a direcciones globales• comunicación sólo a través de la lista de parámetros
OB 1
Motor 1
FB1
Válvulas
FB2
Controlador
FB10
FC 5Valorlímite Copia
SFC
. . .
.
.
CALL FB1, DB2 Marcha :=E 0.0 Paro :=E 0.1 Motor_on :=A12.0 Velocidad :=AW14
.
.
FB 1Direc. Decl. Nombre Tipo0.0 in Marcha BOOL0.1 in Paro BOOL2.0 out Motor_on BOOL4.0 out Velocidad INT6.0 stat Veloc_ant INT0.0 temp Calc_1 INT
.
.
.U #MarchaUN #Paro= #Motor_on.
DB 2OB 1
Date: 28.04.23File: S7N2_07.3
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Visión General de Módulos en STEP 7
Propiedades
Módulo deOrganización (OB)
- interfase para el usuario- prioridades graduadas (0 a 27)- información de inicio específica en la pila de datos locales
Tipo de Módulo
Módulo de Función (FB) - parametrizable (los parámetros pueden asignarse en una llamada)- con (rellamada) memoria (variables estáticas)
Función (FC) - parametrizable (los parámetros deben asignarse en la llamada)- básicamente sin memoria (sólo variables temporales)
Bloque de Datos (DB) - almacenamiento estructurado de datos locales (DB de instancia)- almacenamiento estructurado de datos globales (válido en todo el programa)
Módulos de Funcióndel Sistema (SFB)
- FB (con memoria) guardado en el sistema operativo de la CPU y llamable por el usuario
Función delSistema (SFC)
- función (con memoria) guardada en el sistema operativo de la CPU y llamable por el usuario
Bloques de Datosdel Sistema (SDB) - bloque de datos para datos de configuración y parámetros
Date: 28.04.23File: S7N2_07.4
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Declaración de Parámetros en Funciones y Módulos de Función
"Motor"EN ENO
Marcha
Dir. Decl. Nombre Tipo Valor inicial ...0.0 in Marcha BOOL FALSE0.1 in Paro BOOL TRUE2.0 in Velocidad INT 02.0 out Motor_on BOOL FALSE8.0 out Consigna INT 010.0 inout EMER_OFF BOOL FALSE... stat ... ... ...... temp .. ... ...
Consigna
EMER_OFF
Motor_onParoParámetros
de entrada
ParámetrosIn/Out
Parám.de Salida
Los parámetros son canales para transferir información: Parámetros de Entrada (In):
Llamante -> Módulo Parámetros de Salida (Out):
Módulo -> Llamante Parámetros E/S (In/Out):
Llamante <-> Módulo
Los parámetros forman la "carcasa" de un módulo:
Los parámetros están en la sección de código como variables "locales" Los parámetros pueden tener cualquier tipo de dato
Comprobación del tipo de dato durante la llamada Excepción: POINTER, ANY
La interfase de Llamada es independiente del lenguaje Se pueden mezclar lenguajes del PLC
Velocidad
Date: 28.04.23File: S7N2_07.5
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Propiedades de las Funciones
Módulos parametrizables: tantos parámetros de entrada, salida, y entrada/salida como se
necesiten. sin memoria, p.e. sólo variables temporales
Según IEC 61131-3: tantos parámetros de entrada como sean necesarios sólo un parámetro de salida RET_VAL sin acceso a variables globales y direcciones absolutas con los mismos parámetros de entrada devuelven el mismo resultado
Amplían el juego de instrucciones del procesadorEjecucióndel programa
CALL FC 10On_1 := E 0.1On_2 := E 0.2Off := A8.0
Function FC10
in On_1 BOOLin On_2 BOOLout Off BOOL...
...U #On_1U #On_2= #Off...
Date: 28.04.23File: S7N2_07.6
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Mecanismo de Paso para Tipos de Datos Simples
OB1 Función FC10
Ejecucióndel programa
CALL FC10On_1 := E 0.1On_2 := E 0.2Off := A8.0
in On_1 BOOLin On_2 BOOLout Off BOOL...
...U #On_1U #On_2= #Off...
OB1
BLD 1= L 20.0UC FC 10
P#E 0.1P#E 0.2P#A 8.0
BLD 2
1 0 0 1 0 0 1 0...
EB0
Parámetros simples actuales en: el área de direcciones de
marcas la imagen de proceso Pila L stack del llamante
Parámetro del módulo
Parámetroactual
Parámetro formal
Date: 28.04.23File: S7N2_07.7
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Llamada a Función con Tipos de Datos Compuestos
Ejemplo: Pasar un ARRAY a una Función
DB5 "Temperatura"
FC21
La asignación de los parámetros sólo es posible simbólicamente
Segm. 1: Val_Med se declara como un array en FC21
CALL FC 21 Val_Med:="Temperatura".secuencia
Date: 28.04.23File: S7N2_07.8
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Características de las Llamadas a Función
Instrucción CALL La instrucción es una Macro
El contenido del registro puede ser sobreescrito, incluso los registros DB Precaución en la interpretación del contenido de la pila B Después de la llamada, puede abrirse otro DB El tiempo de procesamiento para CALL depende del número y la posición de
memoria de los parámetros actuales La instrucción CALL asegura que los parámetros de módulo son provistos
correctamente con datos actuales Ejemplo:
CALL FC10On_1 := E 0.1On_2 := E 0.2Off := A 8.0
Instrucción de llamada UC y CC Llamada a módulo independiente del RLO (UC) o dependiente del RLO (CC)
Ejemplos: UC FC20 ó CC FC20 sólo se pueden usar cuando la FC no tiene parámetros
Date: 28.04.23File: S7N2_07.9
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
FB 5
in Marcha BOOLin Paro BOOLout Motor_on BOOLout Velocidad INTstat ...Temp...
...U #MarchaUN #Paro= #Motor_on...
Propiedades de los Módulos de FunciónMódulos parametrizables:
conforme a IEC 61131-3 tantos parámetros de entrada, salida y entrada/salida como se necesiten con memoria, es decir, no sólo variables temporales sino también estáticas Llamada con área de datos propia (instancia) “Encapsulación de datos"
Aplicación: Funciones de temporización y contadores Unidades de control de procesos con estados internos
calderas motores, válvulas, etc.
CALL FB5, DB16 Marcha :=E 0.0 Paro :=E 0.1 Motor_on :=A8.0 Velocidad:=AW12
0.0 Marcha BOOL0.1 Paro BOOL2.0 Motor_on BOOL4.0 Velocidad INT
DB 16Motor
Date: 28.04.23File: S7N2_07.10
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Formación de Instancias de los Módulos de Función
Motor_1
FBx
+
DBy
Datos delestado del Motor_1
Algoritmospara control
OB, FB o FC
CALL FBx, DBy ... ...
Llamada a FB con DB de Instancia
CALL #Motor_1.CALL #Motor_2
DBx
...stat Motor_1 FBxstat Motor_2 FBx
Datos del estado para el Motor_2
Datos del estado par el Motor_3
FBx
Instancia del FB
Algoritmospara control
FB
Motor_2
Motor_3
Declaración dentro de FBs (Multiinstancias)
Date: 28.04.23File: S7N2_07.11
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Paso de Parámetros en una Llamada a FB
OB1 FB10
Ejecución delPrograma
CALL FB10, DB16Marcha :=E 0.4Paro :=E 0.0Motor_on :=A8.1Velocidad :=AW12
0.0 in Marcha BOOL0.1 in Paro BOOL2.0 out Motor_on BOOL4.0 out Velocidad INT...
...U #MarchaUN #Paro= #Motor_on...
BLD 3= L 24.0TDB AUF DI 16TAR2 LD 20U E 0.4= DIX 0.0U E 0.0= DIX 0.1LAR2 P#DBX 0.0UC FB 10LAR2 LD 20U DIX 2.0= A 8.1L DIW 4T AW 12TDB BLD 4
1 0 0 1 0 0 1 0...
EB0 1 0 0 1 0 0 1 0
AB8
DB16.. .. .. .. .. .. 0 1
.. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. 1
1
2
3
. . .
Parámetro de módulo
ParámetroActual
Parámetroformal
. . .
Date: 28.04.23File: S7N2_07.12
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Llamada a FB con Tipos de Datos CompuestosEjemplo: Paso de un ARRAY a un Módulo de Función
FB17
La asignación de parámetros compuestos sólo es posible simbólicamenteSegm. 1:
CALL FB 17, DB 2 Medida_1 :=“Temperatura".Cilindro
Suma_1 :=MD20 Suma_2 :=MD30
Medida_2 :=“Temperatura".Eje
DB2 “Temperatura"
Date: 28.04.23File: S7N2_07.13
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Características de las Llamadas a Módulos de FunciónPaso de parámetros “por valor" (Copiando el Valor):
Asignación del parámetro del FB en una llamada CALL: Los parámetros del FB no tienen que ser asignados La asignación y "des-" asignación puede tener lugar desde “afuera"
p.e.: directamente desde el Panel de Operador Excepción: los parámetros de entrada/salida del tipo de datos compuesto (STRUCT, ARRAY, STRING y DATE_AND_TIME)
Inicialización: Los parámetros del FB pueden inicializarse en la declaración Excepción: los parámetros de entrada/salida del tipo de datos compuesto (STRUCT, ARRAY, STRING y DATE_AND_TIME)
El acceso a los parámetros formales tiene lugar internamente usando los registros DI y AR2 Si se sobreescriben los registros DI o AR2, ya no será posible el acceso a los datos de instancia
Instrucción de llamada adicional UC y CC Ejemplos: UC FB20 ó CC FB20 sólo utilizables si el FB no tiene datos de instancia (parám. + variables estáticas)
Date: 28.04.23File: S7N2_07.14
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Tanque principal
Sensor debotellasE 16.6
Sensor debotellasE 16.5
Sensor debotellasE 16.7
A 9.0 Embudo
Ejercicio 7: El Modelo de Transporte en una Planta Embotelladora
A 20.5 Cinta hacia delanteA 20.6 Cinta hacia atrás
Date: 28.04.23File: S7N2_07.15
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Ejercicio 7.1a: Planta Embotelladora - Selección del Modo
Planta ON/OFFE 0.0: Marcha (NA, pulsador)E 0.1: Paro (NC)A8.1: Planta_onModo Manual/AutomáticoE 0.4: Automático/ManualE 0.5: Aceptar modoA8.2: Modo manual seleccionadoA8.3: Modo automático seleccionado
FB15: "Selección del modo"
ENMarcha Planta_onParo MF_ManAuto_Man MF_AutoAceptar_MF ENO
DB15
. . . E 0.0E 0.1 E 0.4E 0.5
A8.1A8.2A8.3
Date: 28.04.23File: S7N2_07.16
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Ejercicio 7.1b: Planta Embotelladora - Cinta Transportadora
Modo manualE 0.2: Avance adelanteE 0.3: Avance atrásA20.5: Cinta hacia delanteA20.6: Cinta hacia atrásModo automáticoE 16.6: Sensor: Lugar de llenadoE 16.7: Sensor: Contador de botellasA9.0: Llenado activoAW12:: Visualización de botellas llenas
FB16: “Control Cinta Transportadora"
ENMF_Man MF_Auto Cinta_adelAv_adel Cinta_atrasAv_atrás Llenado_activoSensor_llenado Botellas_llenasSensor_llena ENO
A20.5A20.6A9.0AW12
DB16
. . . A8.2A8.3E 0.2E 0.3E 16.6E 16.7
Date: 28.04.23File: S7N2_07.17
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Estructura del Modelo Multiinstancia
FB10
Datos parael taladro
DB de instancia del FB10
CALL Taladro.CALL Motor_1.CALL Motor_2
DB10
...stat Taladro FB1stat Motor_1 FB2stat Motor_2 FB2
Datospara el Motor_1
Datospara el Motor_2
FB1
FB2
Algorit-mospara eltaladro
Controlde un motor
p.e. OB1
.CALL FB10,DB10.
Date: 28.04.23File: S7N2_07.18
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Programación Orientada a Objeto usando Multiinstancia
Prensa_2Prensa_1
Transportador
Ejemplo: Línea de prensas
División tecnológicaDivisión técnica delprograma con la ayudade instancias de FB
FB: “Línea de prensas"
FB: #Transportador
FB: #Prensa_1
PrensaCarenado
FB: #Prensa
FB: #Carenado
FB: #Prensa_2
FB: #Prensa
FB: #Carenado
Date: 28.04.23File: S7N2_07.19
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Implementación de una "Línea de prensas" en STEP 7
FB10:“Línea de prensas"
DB de instancia del FB10
CALL #Prensa_1.CALL #Prensa_2.CALL #Transporte
DB10
...stat Prensa_1 FB1stat Prensa_2 FB1stat Transporte FB2...
FB1:“Prensa"...stat Prensa FB4stat Carenado FB5...
CALL # Prensa.CALL #Carenado
...stat Prensa FB4stat Carenado FB5...
CALL # Prensa.CALL #Carenado
...
...
FB2: “Transporte"
FB4:“Prensa"
FB5:“Carenado"
CALL FB10, DB10
OB1
FB1: "Prensa"
FB4:“Prensa"
FB5:“Carenado"
Datos para Prensa_1
Datos para Transporte
Prensa_1. Carenado
Prensa_2. Prensa
Prensa_2. Carenado
Datos para Prensa_2
Datos del FB10
Prensa_1. Prensa
Date: 28.04.23File: S7N2_07.20
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Propiedades del Modelo MultiinstanciaBeneficios del Modelo Multiinstancia:
Sólo se necesita un DB para varias instancias No es necesaria una gestión adicional en el establecimiento de las áreas
de datos "privadas" para las instancias respectivas El modelo multiinstancia hace posible un “estilo de programación
orientado al objeto“ (reutilización por medio de la "Agregación") Máxima profundidad de anidamiento 8
Requisitos para los FBs: No es posible el acceso directo (E, A) a las señales del proceso dentro del
FB El acceso a las señales de proceso o la comunicación con otras unidades
de proceso sólo puede tener lugar usando parámetros de los FB El FB sólo puede recordar estados de proceso en sus variables estáticas,
no en DBs globales o en marcas
Nota: Sólo se puede acceder a los datos de instancia desde “afuera"
p.e. en el OB1: L “Línea de prensas".Prensa_2.Prensa.<NombreVar>
Date: 28.04.23File: S7N2_07.21
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Ejercicio 7.2: La Maqueta de Transporte de una Línea de Montaje
"H4"LED
Interruptores de proximidad "INI1", "INI2", "INI3" Barrera de luz
“BL1"
"S4"Interruptor de acuse
Secuencia de procesamiento para la estación de trabajo
Procesar la pieza Procesamiento finalizado Colocar la pieza en la cinta Esperar pieza no procesada Coger pieza no procesada de la cinta
Secuencia de procesamiento para la cinta transportadora
Esperar pieza terminada Transporte a montaje final Montaje final, insertar pieza no procesada Transportar hasta estación
"S1", "S2", "S3"Interruptores de acuse
"H1", "H2", "H3"LEDs
Date: 28.04.23File: S7N2_07.22
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Ejercicio 7.2a: Estructura de Programa para una Estación de Trabajo
División Técnica del Programa
Transporte
Estación_1 Estación_2 Estación_3
OB1
CALL FB1, DB1......
CALL FB2, DB2
FB1: “Estación"
Inicial LEDInt_proxim Pet_transpAcuse Bit_ciclico_rBit_ciclico_lCinta_ocup
DB1
M10.1"S1"
"INI1"E 0.0 "H1"
DB2FB2: "Transporte"
Inicial LEDBarrera_Luz Cinta_dchAcuse Cinta_izqPet_transpBit_ciclico
"H4"
"K1_CINTD""K2_CINTI"
E 0.0"BL1""S4"
M10.1
M10.3
Date: 28.04.23File: S7N2_07.23
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Cómo Trabaja el FB1 "Estación"
FB1: “Estación"
Coger pieza_de cinta:
El LED parpadearápidamente
Pieza acabada:El LED parpadea
lentamente
Procesar_pieza:
El LED estácontinuamente
encendido
Parámetros IN: Data type:Inicial BOOLInt_proxim BOOLAcuse BOOLBit_ciclico_r BOOLBit_ciclico_l BOOLParámetros OUT:LED BOOLPet_transp BOOLParámetro I/O:Cinta_ocup BOOLVar. Stat.:Estado STRUCT
Procesar_pieza BOOLPieza_acabada BOOLColocar_pieza_en_cinta BOOLEsperar_pieza BOOLCoger_pieza_de_cinta BOOLEND_STRUCT
Diagrama de estados:
U Acuse
UN Int_proximU Pet_transp
Declaraciones en FB1:
Esperar_pieza:El LED
está apagado
Colocar pieza en cinta:
El LED parpadea
rápidamente
UN Cinta_ocup
UInt_proxim
UN Int_Proxim
U InicialFP ...
Date: 28.04.23File: S7N2_07.24
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Cómo Trabaja el FB2 "Transporte"
Cinta_izquierdaEl LED
parpadea
Cinta_derechaEl LED
parpadea
U #Pet_transp
EsperaEl LED
está apagado
UN #Pet_transp
UN #Barrera_LuzMontaje
El LED está continuamente
encendido
U #Acuse
Diagrama de estados: Interfase del FB2:
Parámetros IN: Data type:Inicial BOOLBarrera_Luz BOOLAcuse BOOLPet_transp BOOLBit_ciclico BOOLOUT Parameters:LED BOOLCinta_dch BOOLCinta_izq BOOLVar. Stat.:Estado STRUCT
Espera BOOLCinta_derecha BOOLMontaje BOOLCinta_izquierda BOOLEND_STRUCT
FB2: "Transporte" U InicialFP ...
Date: 28.04.23File: S7N2_07.25
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Exercise 7.2b: Ampliación a 3 Estaciones
FB10
Datos paraEstación_1
DB de instancia del FB10
CALL Estación_1CALL Estación_2CALL Estación_3
CALL Transporte
DB10
...stat Estación_1FB1stat Estación_2FB1stat Estación_3FB1stat TransporteFB2
Datos para Transporte
FB1
FB2
OB1
.CALL FB10,DB10.
Datos paraEstación_2
Datos paraEstación_3
Date: 28.04.23File: S7N2_07.26
SIMATIC S7Siemens S.A. 2002. Todos los derechos reservados.
SITRAIN Formación en Automatización y Accionamientos
Interconexión de Parámetros de Módulos
#Estación_1Initial LEDInt_proxim Pet_transpAcuse Bit_ciclico_rBit_ciclico_lCinta_ocup
"BL1"
#Transporte
Inicial LEDBarrera_Luz Cinta_dchAcuse Cinta_izqPet_transpBit_ciclico
"H4"
"K1_CINTD""K2_CINTI"
E 0.0
"S4"
M10.1
M10.1"S1"
"INI1"E 0.0 "H1"
#Station_2 "H2"
#Station_3 "H3"
FB10: "Línea montaje"
DB10: "DB_Línea_montaje"
M10.3
#Estación_2Inicial LEDInt_proxim Pet_transpAcuse Bit_ciclico_rBit_ciclico_lCinta_ocup
M10.1"S2"
"INI2"E 0.0
M10.3
#Estación_3Inicial LEDInt_proxim Pet_transpAcuseBit_ciclico_rBit_ciclico_lCinta_ocup
M10.1"S3"
"INI3"E 0.0
M10.3