Nota de aplicacion:

Instrumentación Virtual aplicada al hogar y la oficina (parte III)

Sobre SCM Ordenes de Compra Envios Internacionales Catalogo Parte II


Implementacion con herramientas Cyber Tools y micromomputadoras programables en basic


Esta nota a sido confecionada y es propiedad de SCM International, Inc., por favor lea cuidadosamente las condiciones estrictas para su publicacion y/o divulgacion de este material.


Introduccion

Esta nota de aplicación es una continuación de la nota Instrumentación Virtual aplicada al hogar y la oficina en esta nota se analizara la implementacion de los sistemas de control con PC utilizando las herramientas Cyber Tools.

En las notas anteriores se implementaron todos los controles con las microcomputadoras BS para el control local y control remoto, tambien se analizo la interconexion del control local a la PC, restando describir el control sobre PC.

Analisis de las herramientas cyber Tools para su utilizacion con los sistemas desarrollados.

Las herramientas Cyber Tools son herramientas de software que permiten implementar sistemas de control y adquisicion de datos sin esfuersos de programacion. Ademas estas herramientas poseen caracteristicas inigualables como la edicion/compilacion on-line, procesamiento paralelo, programacion orientada a objetos, interfase amigable al usuario, etc... Poseen opcionales para comunicaciones asincronicas full duplex, herramientas para la edicion de paneles graficos, adicionales para mediciones analogicas, acceso a bases de datos , etc...

En principio, nuestro sistema podrà ser implementado por medio de las licencias Cyber Comm y Cyber Graph Panels.

Como ya hemos analizado en otras notas, las herramientas Cyber Tools poseen librerias con clases de objetos, esta licencia incorpora una clase denominada: Com Interfase. Esta clase permite crear bloques que se encargan de administrar las comunicaciones asincronicas por intermedio de un puerto de comunicaciones serie.

Descripcion de la licencia de software Cyber Com

Cyber Comm es un opcional de las herramienas Cyber Tools , el cual le permite convertir su PC en una estacion de mediciones y adquisicion de datos asincronicos.

Podra crear bloques que le permitan consultar controladores, instrumental, modems, etc ... extrayendo sus datos en forma inteligente. Dichos datos podran ser recolectados por el software de uso general, Cyber Tools ( u otras licencias ), pudiendo realizar el usuario el analisis, supervisión automática y/o visualización de los datos.

Cyber Comm le permitiria implementar sistemas que requieran comunicacion con otros dispositivos con transmision de datos en forma serie. Pudiendo ser estas del tipo:

punto a punto

Netware

En ambos casos el usuario podrà configurar protocolos para transmision de datos, consulta automatica a controladores, administracion y consulta de dispositivos conectados en red.

Descripción de un bloque Cyber Comm

Los bloques Cyber Comm poseen una entrada, una salida y una unidad de control configurable.

Las entradas pueden ser conectadas a otros bloques Cyber Tools, con el fin de que los datos generados por estos bloques sean transmitidos. Las salidas le permitirán ingresar los datos adquiridos por una puerta de comunicaciones a otros bloques. Para que estos procesen dicha información.

La unidad de control se encargara de realizar todas las comunicaciones en forma cristalina y automática para el usuario, Según las especificaciones y seteos efectuados.

Modos de Operación

Una vez creado el bloque, haciendo doble click sobre el, con el botón derecho del mouse, podrá abrir el panel de seteo.

Panel de seteo

En el podrá definir el funcionamiento completo de la interfase de comunicaciones, protocolos y lógica de funcionamiento del bloque. por ejemplo si solo va a recibir datos, transmitir o recibir/transmitir.

Para definir la logica de funcionamiento del bloque podrà setear:

Receive Only:

En aquellos casos en que se requiera que el bloque solo reciba datos un puerto serie, se deberá elegir este modo. En forma automática todos los transmiters del puerto serie pasaran a tercer estado y en cada step de ejecución se pondrá a la salida del bloque el dato recibido.

Transmit Only:

Este modo es utilizado cuando se quiere enviar la salida de un bloque a un puerto serie.

Transmit & receive full duplex

Este modo es utilizado para consultar controladores, o dispositivos con inteligencia minima interconectados formando una red o no. El bloque transmitirá una frase de consulta y esperara la respuesta. De esta manera Cyber tools emitirá una consulta a un modo, este le contestara y dicho dato será ingresado al sistema; pudiéndose consultar cuantos nodos se necesite en un mismo step de programa sin producirse colisiones ni trastornos en la red.

Protocolos

CyberCom le facilita armar sus propios protocolos de consulta y administración de dispositivos en red. El bloque puede enviar un paquete de datos y esperar su respuesta extrayendo de ella los datos requeridos para la aplicación en forma cristalina al usuario.

Un paquete de datos estará compuesto por : un Header , un SubData , Data y un EndWord .

Header : este campo permite agregar una constante delante de cada frase transmitida. Este puede ser utilizado para direccionar un dispositivo de entre varios conectados en red.

SubData : este campo permite adicionar una segunda constante a la frase a transmitir. Puede ser utilizado para transmitir un comando a un dispositivo direccionado por el header.

Data : este campo refleja la entrada del bloque.

EndWord : este campo permite adicionar un comando de fin de frase o comunicacion.

 

Algunas preguntas y respuestas.

Como se reciben paquetes de datos con Cyber Com ?

Cyber Com permite setear un nombre a su terminal, un campo y una palabra de fin de comunicacion. Cyber Com posee un buffer de comunicaciones, el cual almacena todos los caracteras recibidos. Por cada paquete de informacion recibida filtra su propio nombre de terminal, los caracteres de campo y fin, dejando a la salida del bloque el dato totalmente limpio.

Tomemos el siguiente ejemplo:

Se setea: self name = Host self field = 1

Se recibe: Host 1 210.

Entonces el bloque de comunicaciones quitara Host por ser su propio nombre de terminal y 1 por ser el valor de campo seteado y pondra a su salida el valor 210. Este valor podrà ser procesado por el bloque conectado a la salida.

Como pueden enviarse datos variables insertados en un protocolo de comunicaciones pre establecido?

La entrada de Cyber Com puede capturar un valor e insertarlo en un paquete de datos preestablecido. Este paquete de datos podrà tener una cabecera o receptor , un campo de datos constantes, el dato variable a enviar , y un fin de comunicacion.

Por medio del boton: "Comm and Data package setup" se pueden setear los diferentes protocolos a transmitir:

Cabecera + Dato fijo + Dato de entrada + fin.

Cabecera + Dato de entrada + fin.

Cabecera + Dato de entrada.

Dato de entrada + fin.

Para nuestro sistema de control requeriremos que el bloque se encuentre seteado para recibir/transmitir, de esta manera nuestro programa podrà consultar a los controles locales enviando ordenes y obteniendo resultados.

El opcional Cyber Graph Panels, le permitira cargar una imagen a una ventana de un bloque. A cada entrada de este bloque se le podrà asociar a una zona de la imagen, de esta manera la zona cambiara de color segun el valor de la entrada. Esto es de mucha utilidad para la implementacion de tableros mimicos, paneles de alarma, etc...

Veamos como implementar un sistema sencillo, que contenga un panel de control con leds, conectado a un bloque de comunicaciones que consulte el estado de un bit de un control local conectado a traves de una comunicacion serie RS422 o RS232.

En la nota anterior, se implemento un control con un algoritmo interno que permitia realizar consultas remotas desde una PC. Este algoritmo permitia que cuando se recibia por un pin de comunicaciones el caracter ascii "?" seguido de un número como por ejemplo el 6 devuelva el estado del pin de I/O correspondiente a dicho numero. En el algoritmo original, el comando devolvia la cadena de caracteres: "LUZ ON" y "LUZ OFF" dependiendo del estado del pin. Este algoritmo debera ser modificado para que devuelva "1" si esta predido y "0" si esta apagado, esto permitira asociar etos valores numericos a diferentes colores en el diagrama esquematico que carguemos en la PC.

symbol Ent = pin2 'entrada de datos serie desde ADAP422

symbol Sal = pin3 ‘salida de datos serie al ADAP422

symbol LCDIN = pin7 ‘salida de datos serie al LCD

symbol LUZ = pin 6 ‘salida de control para el rele de estado solido

inicio: serin ,N300,w2 ‘Carga en w2 el mensaje recibido

IF w2 = 1 THEN prende

IF w2 = 2 THEN apaga

IF b4 = ‘?’ THEN consul ‘testea si el byte alto de w2 es igual a el ascii de ?

prende HIGH LUZ

serout LCDIN,N300,"LUZ ON"

GOTO inicio

apaga LOW LUZ

serout LCDIN,N300,"LUZ OFF"

GOTO inicio

consul IF b3 = ‘7’ then testbit

GOTO inicio

testbit IF LUZ = 1 THEN transon

serout Sal,N300,"0" ‘contesta: "0"

GOTO inicio

transon serout Sal,N300,"1" ‘contesta: "1"

GOTO inicio

 

El diagrama en bloques simplificado del programa a desarrollar seria:

En el panel de entrada de datos se podrá ingresar el número de pin a monitorear en el controlador local, este valor ingresara a el bloque de comunicaciones sincrónicas. Este deberá estar seteado para transmitir: <?> < número de pin > < caracter de fin de carro, Cr> . De esta manera, si el valor ingresado al panel de entrada es 6, el bloque de comunicaciones transmitirá: "?6". Este mensaje será recibido por el controlador local. El controlador local, que no es mas que una microcomputadora BS, por medio de su programa contestara con el estado de dicho pin: 1 o 0.

El valor será recibido por el puerto de comunicaciones y capturado por el bloque Cyber Comm el cual enviara este valor a una de las entradas del panel gráfico. Según el valor que ingrese a ella , se coloreara la zona asociada a dicha entrada.

Un ejemplo de un panel de control, podría ser por ejemplo el de la siguiente figura:

Puede ser editado con cualquier utilitario para dibujar imágenes BMP, como por ejemplo el paint Brush, que ya viene en el sistema operativo Windows. Una vez editado el panel, debe grabarlo en un archivo, como por ejemplo panel.bmp .

Como programar en Cyber Tools este ejemplo?

Utilice como referencia la imagen de la figura siguiente:

 

 

 

 

 

 

Primero crearemos el panel visual, siguiendo los siguientes pasos:

1. Oprima el boton correspondiente a las librerias "Test & View" , se desplegara una lista conteniendo todas las clases de dicha libreria, haga doble click sobre: Panel Visual. Cyber Tools le solicitara un nombre para el bloque a crear, ingrese: "Mi panel". Inmediatamente aparecerá "Mi panel", en la lista: ‘Block’s list".

2. Haga doble click sobre Mi Panel, se abrirá una ventana y un dialog box de windows que nos solicitara que busquemos el archivo bmp de la imagen que desea cargar como panel. Seleccione de su disco rígido: panel.bmp. La imagen se cargara en la ventana del panel visual.

Ahora crearemos el bloque de comunicaciones. Oprimiendo el boton "Acquire", se desplegara la librería, haga doble click sobre la clase Com Interfase, e ingrese el nombre que le quiere dar al bloque, por ejemplo: Puerto serie. Se agregara a la lista de bloques: Puerto serie. Seleccione, Puerto serie, oprima el botón de conectar y luego seleccione el bloque Mi Panel. de esta manera se creara una salida en el bloque de comunicaciones, y una entrada en el bloque Mi panel, ambas interconectadas entre si. también deberá setear el bloque de comunicaciones con los seteos adecuados para una comunicación bidireccional, velocidad adecuada, etc...

Faltaría crear un panel que nos permita setear el pin que queremos monitorear en forma remota. Para ello deberemos una fuente de señal constante, de tal manera, que por ejemplo cuando ingresemos por teclado el valor 6, este bloque enviara un 6 al bloque de comunicaciones y este emitirá una consulta por medio del puerto serie.

Lo único que faltaría por hacer es, asociar a una zona de la imagen cargada, la entrada conectada al bloque de comunicaciones. Esto se hace de la siguiente manera:

1. En la imagen que cargamos, se encuentran dibujados tres indicadores, como si fueran leds. haga doble click en el centro del led. Inmediatamente se abrirá una ventana que le permitirá seleccionar la coordenada donde hizo doble click, y la entrada a la cual quiere asociar dicha coordenada. Una vez vinculadas, la superficie encerrada por el circulo negro se coloreara dependiendo del valor presente en la entrada para cada instante.

 


copyright© 1998, SCM International, All right reserved

Solo se permite la publicacion o linkeo a esta pagina bajo la autorización escrita SCM International

Ir al home page de SCM International