Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Diagramas de Flujo
Habilidades
PAC Control
• Creación de un nuevo diagrama de flujo
• Cambiar las propiedades de los diagramas de flujo
• Examinar las herramientas de dibujo
• Dibujar un bloque de acción
• Seleccionar una instrucción
• Definir una variable sobre la marcha
• Salvar una estrategia
• Hacer un respaldo o archivar la estrategia
• Cambiar las opciones de PAC Control
Ejemplo
En la lección anterior se estudió que una estrategia típica de PAC Control esta formada por:
• Controladores (Control Engine) define la comunicación entre la PC y el SNAP PAC. Se requiere
para descargar y ejecutar la estrategia en los modos Debug y Online.
• Diagramas de Flujo (Flowcharts) contienen la lógica de programación de la estrategia. Todas las
estrategias incluyen un diagrama Powerup que se utiliza para arrancar otros diagramas.
• Subrutinas (Subroutines) son diagramas opcionales que permiten simplificar el desarrollo del
programa de control colocando un proceso o tarea repetitivo en un solo lugar, que puede ser
llamado de múltiples lugarse dentro de la misma estrategia o en estrategias distintas. Las subrutinas
se construyen, ven y prueban igual que los diagramas de flujo.
• Variables (Variables) contienen información como enteras, de punto flotante, string entre otros.
• Configuración de E/S (I/O Configuration) define las unidades y módulos de E/S conectados al
controlador. La configuración de E/S reside en la base de datos.
Estamos por iniciar un desarrollo mayor en la fase del proyecto. En las siguientes lecciones se agregará
lógica al programa mientras se prueban frecuentemente los cambios.
Conceptos
Estrategia
Al programa creado en PAC Control se le conoce como estrategia. La estrategia incluye las definiciones e
instrucciones necesarias para controlar el proceso que debe manejar el controlador SNAP PAC. Se pueden
tener varios SNAP PAC cada uno controlando un proceso diferente y por consiguiente ejecutando
distintas estrategias. También se puede tener dos o más controladores manejando procesos idénticos en
diferentes áreas y ejecutando la misma estrategia
Diagramas de Flujo
Debido a que la mayoría de las aplicaciones de control son complicadas, las estrategias consisten
típicamente de varios diagramas de flujo o diagramas que trabajan juntos. Cada diagrama controla un
aspecto de la estrategia, es decir, una pieza del proceso automatizado. Todos los diagramas de flujo
juntos constituyen la estrategia. El número total de diagramas de flujo en una estrategia esta limitado
solo por la cantidad de memoria disponible en el controlador.
Un diagrama de flujo puede estar ejecutándose, suspendido o detenido. Un diagrama ejecutándose esta
realizando activamente su tarea asignada. Un diagrama suspendido esta temporalmente en pausa. Un
diagrama detenido esta inactivo. Cualquier diagrama en una estrategia de PAC Control puede cambiar el
estado de cualquier otro diagrama en la estrategia y cada diagrama es independiente. Cualquier
combinación de diagramas de flujo puede estar ejecutándose simultáneamente hasta el máximo
permitido por el tipo de controlador (32 en la serie SNAP-PAC-S y 16 en la SNAP-PAC-R).
Cada estrategia contiene un diagrama Powerup. El diagrama Powerup se ejecuta automáticamente
cuando la estrategia comienza a correr de forma que puede ser utilizado para arrancar otros diagramas.
Multitarea
El controlador puede ejecutar varios diagramas simultáneamente (de forma aparente), cada uno
realizando una tarea diferente basado en una técnica de repartición del tiempo llamada multitarea. Cada
diagrama en estado de ejecución o suspendido se considera una tarea, se coloca en la pila de tareas y se
le entrega un segmento de tiempo. A los diagramas detenidos no se les asigna un segmento de tiempo.
La tarea del servidor es un "diagrama invisible" utilizado para la comunicación con una PC (que puede
estar ejecutando PAC Control en modo depuración o PAC Display). A la tarea del servidor se le asigna el
primer segmento de tiempo. Cuando se ejecuta el diagrama de flujo Powerup se le asigna un segmento
de tiempo después del diagrama servidor. Cuando un diagrama termina o su segmento de tiempo expira
(lo que ocurra primero), el control pasa a la siguiente tarea en la pila, eventualmente regresando a la
tarea del servidor y repitiendo el ciclo.
La técnica de los segmentos de tiempo permite que múltiples diagramas corran aparentemente de
forma simultánea. Cada diagrama en estado de ejecución o suspendida cuenta dentro del total que
pueden ejecutarse simultáneamente. Por su parte, los diagramas que están detenidos no. El diagrama
Powerup también cuenta cuando se esta ejecutando. El máximo número de diagramas que pueden
ejecutarse simultáneamente depende del controlador utilizado. Los controladores de la serie
SNAP-PAC-R pueden ejecutar hasta 16 diagramas de flujo simultáneamente y la serie SNAP-PAC-S hasta
32 y adicionalmente la tarea del servidor.
El orden y tiempos actuales para una tarea en ejecución no son determinísticos, es decir, no siempre son
iguales debido a que depende de prioridades que cambian en cualquier momento. Por ejemplo, la
comunicación puede tomar mayor prioridad en un momento que un diagrama en ejecución.
Subroutinas
Las subrutinas simplifican el desarrollo del programa de control colocando un proceso o tarea repetitiva
en un solo lugar que puede ser posteriormente llamado de varios lugares de la misma estrategia o por
múltiples estrategias.
Las subrutinas se construyen utilizando las mismas herramientas y lógica de los diagramas de flujo. Se
ven y depuran de la misma manera que los diagramas. Una subrutina se depura al mismo tiempo que se
depura la estrategia que la contiene, ejecutándola desde el diagrama de flujo que la llama.
Las subrutinas ahorran tiempo de desarrollo ya que una serie de comandos similares puede construirse,
guardarse como subrutina y ser llamada cuantas veces se requiera. Una subrutina también puede ahorrar
tiempo de ejecución pues llamar a una subrutina es mucho más rápido que llamar o ejecutar un
diagrama de flujo y la subrutina no se convierte en una nueva tarea si no que asume el segmento de
tiempo del diagrama de flujo que lo llama.
Bloques
Cada diagrama esta hecho de bloques conectados por flechas que indican el flujo del proceso. Los
bloques de acción son rectangulares e indican acciones en el proceso. Los bloques condicionales son
rombos e indican un punto de decisión. Los bloques de OptoScript son hexagonales y contienen código
en OptoScript, un método opcional de programación. Los bloques de continuación son ovalados y
simplemente indican el bloque dentro del diagrama de flujo en donde se continúa el proceso. Los bloque
de acción, condición, OptoScript y continuación se muestran en el siguiente diagrama:
Variables
Una variable es un lugar de almacenamiento que representa una piza de información en la estrategia,
como un parámetro de comunicación, la temperatura reportada por un termopar, el nombre de un
diagrama o un grupo de palabras y números que se enviarán a una pantalla. La información que
representa la variable se llama el valor de la variable. Cuando una estrategia se ejecuta los nombres de las
variables permanecen constantes pero sus valores pueden cambiar. Por ejemplo, el valor de una variable
llamada Premium_Fuel_Level_Input puede cambiar muchas veces mientras se ejecuta la estrategia pero
su nombre permanece inalterado.
una variable almacena uno de seis tipos de datos: punto flotante, enteros, timer, string, apuntadores o
manejadores de comunicación. Cuando se crea una variable se designa el tipo de dato que contendrá.
• Punto flotante (floating point)es un número que contiene un punto decimal como 3.14159, 1.0 ó
1234.5. Un ejemplo de una variable flotante es una que almacene la lectra de una entrada digital,
como un termopar.
• Entero (Integer) es un número sin parte fraccional. Algunos ejemlos son -1, 0, 1, 999 ó -456. Por
ejemplo, el estado de un interruptor se puede almacenar en una variable entera como 1
(encendido) y 0 (apagado).
• Timer (timer) almacena el tiempo transcurrido en unidades de segundos con resolción de
milisegundos. Los timers incrementales (Up timers) inician desde cero y hacia arriba y los
decrementales (down timers) inician en un número que se establece hasta llegar a cero. Por
ejemplo, se puede usar un timer decremental para asegurar que un valor se actualice en intervalos
precisos de tiempo.
• Sting (string) almacena texto y cualquier combinación de códigos ASCII, incluyendo códigos de
control y extensiones. Por ejemplo, una variable string puede usarse para enviar datos a una
pantalla de operación. Una variable string puede contener caracteres numéricos pero no se
conciderancomo números. Para usarlos en cálculos se deben primero convertir a números enteros o
de punto flotante. De forma inversa, un valor numérico tiene que convertirse a string antes de
mostrarse en una pantalla.
• Apuntadores (pointer) no almacenan el valor de una varible. En lugar de esto guardan la dirección
de memoria de la variable u otro elemento del controlador PAC como un diagrama de flujo o un
punto de E/S.
• Manejadores de comunicación (Communication handles) almacenan los parámetros necesarios
para la comunicación con otros dispositivos.
Se pueden utilizar las variables como elementos independientes de información o como valores de una
tabla en donde se agrupa información relacionada.
Actividad
a. Para crear un nuevo diagrama de flujo, seleccionar New del menú Chart.
c. Presionar uno de los bloques de colores mostrado bajo Basic Colors para seleccionar el color del
bloque de condición.
d. Presionar OK para cerrar el diálogo Color.
b. Colocar 9 en el campo Size para cambiar el tamaño del texto de los bloques de condición.
Cambie libremente la fuente de letra y su color.
c. Presionar OK para cerrar el cuadro de diálogo Font.
Cambiar y experimentar libremente con el cambio de color y tipo de fuente de los bloques de
acción (Action) y continuación (Continue).
También es posible cambiar el color de las líneas de conexión presionando sobre el rectángulo
angosto bajo Connection, True Connection y False Connection. Algunos programadores prefieren
hacer la línea verdadera verde y la falsa roja.
a. Presionar las opciones PAC Control, Strategy y All Charts en el campo Also Apply To para aplicar
estos valores a todos los nuevos diagramas de flujo y a futuras estrategias.
b. Presionar OK.
Debido a que el bloque 0 fue creado antes de cambiar las propiedades, el bloque 0 aún tiene las
propiedades antiguas.
c. Para dar al bloque 0 las nuevas propiedades, seleccionar este bloque, presionar el botón
derecho del mouse y seleccionar Properties➞Copy from Default.
Las propiedades de los objetos pueden modificarse individualmente para cambiar la forma en que
se observa el diagrama de flujo.
b. Se puede cambiar el tamaño del diagrama de flujo. Si es el único diagrama abierto se puede
presionar el botón de maximizar y el diagrama llenará el espacio de trabajo entero.
c. Usar las barras corredizas en la parte inferior en la parte inferior e izquierda de la ventana para
centrar el bloque 0 en la ventana Powerup.
Debido a que el bloque 0 fue creado antes de cambiar los atributos aún tiene las antiguas
propiedades.
d. Para que el bloque 0 tenga las nuevas propiedades, se debe seleccionar el bloque, presionar el
botón derecho y seleccionar Properties➞Copy from Default.
siguiente será el bloque 2. Estos nombres son temporales. Siempre deben cambiarse los nombres
de los bloques para describir su función dentro del diagrama de flujo.
d. Cuando el bloque 1 este seleccionado, seleccione el botón derecho del mouse. Se abre un
menú con las opciones disponibles para el objeto seleccionado.
e. Seleccione Name de la lista.
g. Presione OK.
Como siguiente paso se dibujará una línea que define el flujo de la lógica del diagrama.
Hay varias formas en las que se puede seleccionar una instrucción. Tres métodos se indican a
continuación. Seleccione uno de estos métodos para incluir la instrucción Start Chart en el bloque.
Debido a que Status_Trashcan es una variable sin definición en la estrategia, se solicita agregarla.
Las instrucciones completas peden observarse en la ventana Instructions – Powerup – Start Charts.
Se pueden crear instrucciones adicionales y se agregarán más cuando se haga otro diagrama.
Cuando se tienen varias instrucciones en un bloque, éstas son ejecutadas en orden y el orden puede
cambiarse utilizando los comandos Copy y Paste.
g. Presionar Close para completar el ingreso de las instrucciones.
h. Guardar la estrategia.
Seleccionar Save Strategy del menú File para guardar el trabajo con el mismo nombre de la
estrategia. En general, es recomendable guardar la estrategia cada 15 a 30 minutos. Cuando se
descarga una estrategia al controlador se guarda automáticamente. Por tanto, si frecuentemente se
está descargando y probando la estrategia no se requiere salvarla constantemente.
Los diagramas modificados que no han sido salvados se listan en la ventana Save Strategy.
Archivo de la Estrategia
Es buena idea salvar versiones de la estrategia mientras se desarrolla. Esta práctica hace sencillo revertir
modificaciones hacia previas versiones. Debido a que la descarga salva la estrategia con su nombre
original, ocacionalmente se deseará hacer respaldos de la estrategia.
La opción Save Strategy As del menú File guarda el trabajo en un directorio distinto. Esta opción del menú
también permite cambiar el nombre de la estrategia. Con esta opción, se debe cambiar el directorio de la
estrategia aún si no se cambia el nombre. No pueden estar en un mismo directorio dos estrategias de
PAC Control.
Una mejor opción es utilizar Archive Strategy que crea un respaldo de la estrategia en un archivo ZIP.
Archivar la estrategia tiene tres ventajas:
• Se pueden archivar varias estrategias en el mismo directorio.
• Archivar guarda todos los archivos relacionados en un solo archivo ZIP.
• El nombre del archivo tiene incluido la hora y fecha.
1. Creación de un archivo.
Observe que el nombre del archivo tiene información de la hora y fecha. La marca de la fecha (D)
tiene el formato mm/dd/aaaa. En el ejemplo es del 5 de Octubre del 2004. La marca de hora (T)
tiene el formato hh/mm/ss. En el ejemplo son las 10:51:15 am.
b. Presione OK.
Resumen
En esta ejercicio, se abrió una estrategia de PAC Control y se creó un nuevo diagrama de flujo. Después, se
creó un diagrama de flujo en el diagrama Powerup utilizando las herramientas de dibujo. Posteriormente,
se incluyeron las instrucciones para arrancar el diagrama de flujo Lighting_Control. Se definió una nueva
variable llamada Status_Trashcan en la estrategia. Finalmente, se salvó y guardó una copia de respaldo
de la estrategia.