Para quienes no están familiarizados con las herramientas de
instrumentación virtual recomendamos , que antes de leer este arcticulo, visiten www.SCMStore.com/cyber
El mes pasado
lanzamos la primer version de Cyber Comm especifica para la comunicacion con esta linea de
PLCs por medio de un link punto a punto por RS232/422. El
formato de las ventanas de seteo era semejante a la de las demas versiones de Cyber Comm.
En el transcurso de este mes ya estaran disponibles las nuevas versiones mejoradas de la
misma, donde la principal virtud es que el usuario se empieza a desvincular del formato de
cada comando de consulta o accionamiento, para empezar a manejar nuevas clases de bloques
que al ser creados ya saben que tipo de consulta realizar. Estas nuevas clases de bloques
seran analizadas en la proxima edicion de SCM-Hacker.
Consulta a un PLC
En esta aplicación se supone que
existe un PLC ( Programable Logic Controller) , como podría ser un SCMT28H-relay el cual
esta dedicado a realizar un control local. Supongamos que deseamos leer el estado de un
contador del PLC y mostrar su valor en pantalla de la PC a través de un display numérico
de 7 segmentos.
Análisis del programa
Como se recomienda en el manual de
programación de Cyber Tools, empezaremos disenando un diagrama en bloques de un sistema
que solucione nuestro problema.

El panel de entrada nos permitirá
ingresar el numero de contador a interrogar. Este valor será ingresado permanentemente al
bloque de comunicaciones. Este bloque deberá ser configurado de maneral que se emita una
consulta en un formato tal que el PLC interprete un comando y devuelva un paquete de datos
conteniendo el resultado de la consulta al contador. El bloque también deberá ser
seteado para que elimine los datos redundantes del paquete y entregue el valor de cuenta
del contador totalmente limpio.
El protocolo de
consulta del PLC tiene el siguiente formato:
Formato del
comando de consulta
R |
U |
n |
n |
* |

|
nn: Counter1=00, ..... Counter16=0F....
Counter64=3F
Formato de la respuesta
R |
U |
10^3 |
10^2 |
10^1 |
10^0 |
* |

|
Valor del contador en Decimal
Como se puede apreciar habría que
setear el bloque para que transmita: los caracteres ascii RU seguido del numero
hexadecimal codificado en ascii correspondiente al numero de contador, seguido del
caracter * y por ultimo el caracter de retorno de carro (Cr).
En lo referente a la comunicación ,
según lo especificado por el "Manual del Usuario" los seteos standard del
puerto de comunicaciones es de: 9600 baudios, 8 bits de datos, 1 stop bit, sin paridad (N
: no paridad).
Programación
Los pasos a seguir para el
desarrollo del sistema son los siguientes:
Haga doble click sobre el icono de Cyber Tools. Se desplegara
la ventana de trabajo "Control Maker".
Ahora creara el bloque de comunicaciones. Posicione el mouse
sobre el botón "Acquire" y haga click con el botón derecho del mouse. Se
desplegara una ventana que contendrá a la clase de bloque "Comm Interfase".
Haga doble click con el mouse sobre ella. Se desplegara un panel de dialogo que le
solicitara que le asigne un nombre al bloque a ser creado. Tipee el nombre
"SCMT28H" y oprima la tecla ENTER. Se desplegara un nuevo dialog box que le
solicitara que especifique el puerto serie que va a utilizar. Aparecerá el bloque creado
en la lista de bloques. Cierre la ventana de la librería de clases Acquire.
Ahora , posicione el cursor en el botón "Test &
View", y haga click con el mouse. Se abrirá una ventana que contendrá a la clase de
bloque "Test digital". Haga doble click con el mouse sobre ella. Se desplegara
un panel de dialogo que le solicitara que le asigne un nombre al bloque a ser creado.
Tipee el nombre "Display" y oprima la tecla ENTER. Aparecerá el bloque creado
en la lista de bloques. Cierre la ventana de la librería de clases.
Crearemos una función cualquiera como ser un generador de
step ( función matemática escalón ), el cual se encargara de obligar al bloque de
comunicaciones a realizar una consulta en forma sincrónica al reloj de procesamiento de
la maquina virtual. Recuerde que Ud. puede setear la velocidad de procesamiento en modo
sincrónico ( x veces por segundo/minuto/hora ). Posicione el cursor en el botón
"Source", y haga click con el mouse. Haga doble click con el mouse sobre ella.
Se desplegara un panel de dialogo que le solicitara que le asigne un nombre al bloque a
ser creado. Tipee el nombre "Disparador" y oprima la tecla ENTER. Aparecerá el
bloque creado en la lista de bloques. Cierre la ventana de la librería de clases.
Deberá interconectar los bloques, el "Disparador"
con el "SCMT28H" , y este a su vez con "Display". Haga click sobre el
item "Disparador" en la lista de bloques, este se seleccionara , luego haga
click sobre el botón: , luego haga click
con el mouse sobre el bloque "SCMT28H" de la lista blocks list. De esta
manera habrá creado una conexión desde el bloque "Disparador" hacia el bloque
"SCMT28H".
Con "SCMT28H" seleccionado en la lista, oprima el
botón de conexión y seleccione el bloque "Display".
Ahora deberá setear adecuadamente todos los bloques.
Empezando por el mas sencillo, el de display. Haga doble click sobre el y despliegue su
ventana. Los paneles digitales poseen dos botones para setear la cantidad de dígitos del
display. Setee cuatro dígitos, permitiendo que se puedan mostrar los valores de cuenta de
los contadores.
Haga doble click sobre el bloque "SCMT28H" y
despliegue su ventana. Comience realizando los siguientes seteos:
Posicione el mouse sobre la lista de selección de modo de
transmisión del panel Seteos, seleccione en ella la opción "Transmit & receive
full duplex"
Complete los paneles de seteos de protocolo con la siguiente
información:

Oprima el botón de OK, para hacer validos los parámetros
presentes en los cuadros de edición.
Haga click sobre el botón " Comm and Data package setup
". Se desplegara la ventana de seteo de protocolo. Marque los botones: Header+
Subdata + EndWord. Oprima el botón OK. La ventana se cerrara.
Oprima el botón "Advanced Comm setup", se
desplegara la ventana para seteo del puerto de comunicaciones. Setee: 9600 baudios, 8 bits
de datos, 1 stop bit, sin paridad (N : no paridad). Oprima la tecla OK, y luego close. Se
desplegara un dialog box que le solicitara que defina el puerto de comunicaciones a
utilizar.
El sistema ya estará listo para ser
puesto en marcha...
En el proximo numero, ya se
encontraran disponibles las nuevas clases para consulta y control de PLCs. las veremos con
mayor profundidad y con una vision mas practica que asocie su aplicacion a sistemas de
control del hogar e industriales -:(
|