Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programación Estructurada Siemens: Ing. Esp. John Jairo Piñeros
Programación Estructurada Siemens: Ing. Esp. John Jairo Piñeros
Siemens
OB (bloques de organización)
Concepto de
bloques
FC (función)
No tiene bloque de datos de instancia
programa de Organización
usuario
FB Bloque de
Función
FC Función
Estructurar el
programa de Un bloque de organización (OB) reacciona a un evento
específico en la CPU y puede interrumpir la ejecución del
usuario programa de usuario.
Estructurar
del programa Un bloque de función (FB) es una subrutina que se
ejecuta cuando se llama desde otro bloque lógico (OB, FB
de usuario o FC).
El bloque que efectua la llamada transfiere
parámetros al FB e identifica un bloque de datos
determinado (DB) que almacena los datos de la llamada o
instancia específica de este FB.
Estructurar
del programa
de usuario Una función (FC) es una subrutina que se ejecuta cuando
se llama desde otro bloque lógico (OB, FB o FC).
Un programa lineal ejecuta todas las Un programa modular llama bloques de función
instrucciones de la tarea de automatización específicos que ejecutan determinadas tareas.
de forma secuencial, es decir, una tras otra.
Para crear una estructura modular, la tarea de
automatización compleja se divide en tareas subordinadas
Generalmente, el programa lineal más pequeñas, correspondientes a las funciones
deposita todas las instrucciones del tecnológicas del proceso.
programa en el OB encargado de la
ejecución cíclica del programa (OB 1). Cada bloque lógico provee el segmento del programa para
cada tarea subordinada. El programa se estructura
llamando uno de los bloques lógicos desde otro bloque.
Bloques reutilizables
S7 Manager datos
Globales Bloque de FC
datos de
instancia
OB
Concepto de Bloque de FC FB
datos
bloques Globales Bloque de
datos de
instancia
La profundidad máxima de
anidamiento es de 16
Tipos de FB
bloques de ″Motor″
FC
datos de
instancia del DB
instancia única
S7 DB
FB
Modbus
″Motor_2″
multi-instancia COMM
″Motor_1″
Retardo OB
200
Concepto FB
de bloques Alarma cíclica OB
201
DB
A B
Mas
explicativo Tras finalizar el procesamiento de los OBs de ciclo, la
CPU vuelve a ejecutarlos inmediatamente. Esta ejecución
aún cíclica es el tipo de procesamiento "normal" que se utiliza
para los controladores lógicos programables. En
numerosas aplicaciones, el programa de usuario entero
está contenido en un solo OB de ciclo.
Mas
explicativo Una función (FC) es un bloque lógico que, por lo general,
aún 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.
Mas
explicativo Una FC también se puede llamar varias veces en
aún diferentes puntos de un programa. Esto facilita la
programación de tareas que se repiten con frecuencia.
Mas
explicativo
aún Un bloque de función (FB) es un bloque lógico que utiliza
un bloque de datos instancia para sus parámetros y datos
estáticos. Los FBs tienen 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 distintos DBs de
instancia a diferentes llamadas del FB. Los DBs instancia
permiten utilizar un FB genérico para controlar varios
dispositivos.
Mas
explicativo
aún
El programa se estructura de manera que un bloque
lógico llame un FB y un DB instancia. La CPU ejecuta luego el
código del programa en ese FB y almacena los parámetros
del bloque y los datos locales estáticos en el DB instancia.
Cuando finaliza la ejecución del FB, la CPU regresa al bloque
lógico que ha llamado el FB. El DB instancia conserva los
valores de esa instancia del FB. Estos valores están
disponibles para las llamadas posteriores al bloque de
función, bien sea en el mismo ciclo o en otros ciclos.
Mas
explicativo
aún
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.
Un DB se puede definir de manera que sea de sólo lectura.
Mas
explicativo Los datos almacenados en un DB no se borran cuando
aún finaliza la ejecución de un bloque lógico asociado. Hay dos
tipos de DBs,:
DB
Aplicación de
un FB y DB´s