Ejecución
de programas de usuario
Existen dos formas de ejecutar ó hacer correr el
programa que son:
Ejecución
cíclica de programas
Es la ejecución "normal" en autómatas programables, es
decir, el sistema operativo se ejecuta en un bucle llamado ciclo. Cada
vez que se recorre un ciclo, el sistema operativo llama al bloque de
organización OB 1 en el programa principal. Por consiguiente, el
programa de usuario se trata cíclicamente en el OB 1 como se puede
comprobar en la siguiente figura:

La tabla siguiente muestra las fases
de la ejecución cíclica del programa:
Para garantizar que la CPU disponga de una imagen coherente de las señales
del proceso durante la ejecución cíclica del programa, al activarse
las áreas de operandos entradas (E) y salidas (A), la CPU no accede
directamente a los módulos de señales, sino a un área de memoria
interna de la CPU que contiene una imagen de las entradas/salidas.
Ejecución controlada por alarmas
En esta forma de controlar la ejecución la ejecución cíclica
del programa es interrumpida por determinados eventos de arranque
(alarmas). Si se presenta un evento de arranque tal, se interrumpe el
bloque actualmente en tratamiento en el límite de una instrucción y se
trata el bloque de organización asignado al evento de arranque. Luego
se continúa ejecutando el programa cíclico a partir del punto de
interrupción. Este proceso se puede apreciar en la figura siguiente:

De este modo existe la posibilidad de ejecutar sólo
en caso necesario aquellas partes del programa de usuario que no deben
procesarse cíclicamente. El programa de usuario se puede dividir en
programas parciales y distribuir en diferentes bloques de organización.
Si el programa de usuario debe
reaccionar a una señal importante que se presente con poca frecuencia (p.ej.,
si el indicador de nivel de un tanque indica que se ha alcanzado el
nivel de llenado), el programa parcial que deba correr cuando se emita
la señal se puede depositar en un OB que se ejecute de forma controlada
por eventos.
|