Está en la página 1de 16

UTILIZACIN DE ENTRADAS Y SALIDAS

DIGITALES DE LA RASPBERRY PI CON ISAGRAF


6.1
Realizado por:
Andrs Felipe Mora Amado
20142383006
Wilmar Felipe Rodrguez Fernndez
20142383024
Este tutorial como el ttulo lo indica; trata acerca de la utilizacin de
las entradas y salidas anlogas de la Raspberry pi modelo 2 B en el
software isagraf 6.1.
Para poder desarrollar este tutorial de la mejor manera, se van a
implementar tres ejemplos en tres lenguajes de programacin
diferentes en donde utilizaremos las entradas y salidas digitales Y de
paso vamos conociendo como es el manejo de las herramientas que
brinda isagraf y las pequeas variaciones que tiene el manejo de los
lenguajes de programacin con respecto a versiones anteriores y
otros programas como el codesys que es otro programa en el que se
puede utilizar nuestra Raspberry pi como un PLC.
Lo primero que debemos hacer para empezar a realizar los ejemplos
es verificar que nuestro dispositivo est funcionando correctamente,
es decir, haber realizado todas las configuraciones previas de
comunicacin del programa con la Raspberry, obteniendo una licencia
para el programa, configurando parmetros de comunicacin IP, y
agregando nuestro dispositivo en el proyecto creado en Isagraf.
Si todo esto va bien deberamos ver en el estado del dispositivo
desde el botn de Controller Estatus una pantalla como esta:

Luego de haber verificado la correcta comunicacin de la Raspberry pi


con el Isagraf procedemos a agregar el tipo de lenguaje de
programacin que en el que queremos trabajar:

Para el primer ejemplo vamos a utilizar el lenguaje de programacin


Sequential Function Chart (SFC) o tambin llamado Grafcet. En este
ejemplo vamos a realizar un proceso muy sencillo en donde vamos a
simular el llenado, calentamiento y agitacin de un tanque de algn
producto, en donde podremos evidenciar la utilizacin de las entradas
y salidas digitales de la Raspberry.
Primero que todo deberemos crear y nombrar las variables que vamos
a utilizar en el programa, estas se pueden crear como variables
locales o variables globales, como experiencia personal, lo mejor es
crearlas como variables globales para que luego no presente ningn
tipo de problema. A continuacin podemos ver donde se deben crear
las variables:

Como bien sabemos el SFC es un lenguaje de programacin por


bloques en donde se debe cumplir una transicin para poder pasar al
siguiente paso en donde se ejecuta una accin, y as sucesivamente,

por lo que tendremos que ir paso a paso en el desarrollo de la lgica


de programacin, esto nos ofrece, a mi parecer una gran ventaja en
orden de nuestro programa que nos permitir saber con facilidad
donde se encuentra cada subproceso del proceso en general.
Para iniciar el proceso es necesario tener una variable de entrada que
llamaremos START y colocaremos como condicin de la primera
transicin como se ve a continuacin:

Fjense que en la imagen anterior para para realizar alguna accin de


la variable booleana se debe llamar START.Value, y esto se debe hacer
con todas las variables que se utilicen como entradas o salidas
digitales de la Raspberry pi.
Segn el proceso descrito anteriormente, lo primero que se debe
hacer es llenar el tanque de agua por lo que se necesitar una vlvula
que permita el paso de agua al tanque, por tanto utilizaremos la
variable llamada VAL_LLENADO para realizar esta funcin que se
ejecutar por la accin que se indica en lenguaje Structured Text (ST)
del primer paso:

Luego debemos esperar a que nuestro tanque se llene


completamente, por tanto debemos utilizar una variable de salida
llamada NIVEL_ALTO que ser nuestro sensor de nivel alto:

Una vez el tanque est lleno, lo siguiente que se debe hacer es


calentar el agua hasta cierta temperatura indicada por la variable
llamada TEMP, para lo que debemos utilizar otra variable de salida
que ser la resistencia de calor llamada RES:

Luego debemos llevar el agua de nuevo hasta 30C, para lo cual


debemos utilizar un agitador indicado por la variable MOTOR por
cierto tiempo:

Una vez se llega hasta la temperatura deseada, el proceso de


calentamiento y enfriamiento se realiza dos veces ms por medio de
un simple retorno y una variable contador llamada PROCESO:

Una vez cumplidos los tres ciclos es necesario vaciar el tanque y esto
lo indicaremos con un sensor de nivel bajo, el cual ser otra variable
de salida llamada VAL_DRENADO, y adems indicara que el proceso
ha terminado.
Una vez realizada la lgica de programacin, debemos asignar las
variables de entrada y salida del programa a los pines digitales de la
Raspberry pi, para esto debemos hacer clic derecho en OITask e
iremos a Dispositivos E/S:

Ac debemos agregar el dispositivo de entradas y de salidas digitales:

Cuando le damos doble clic a los dispositivos creados nos mostrara un


listado de los pines que podremos usar como entradas y/o salidas
digitales y en donde podremos ver que tienen un cdigo el cual
permitir su configuracin como entrada o salida anloga, y
podremos ver que para las entradas debe tener cdigo 0 y para las
salidas debe tener cdigo 3, esto lo configuraremos segn
necesitemos las entradas y salidas que tenemos en el programa:

Luego debemos mirar la referencia que coloca el programa para cada


pin y asignarlos a nuestras variables de entrada y salida de la
siguiente forma:
Entradas:

Salidas:

Para hacer esto tambin debemos mirar el mapa de configuracin de


los pines fsicos de la raspberry para poder realizar el montaje:

Una vez realizado esto ya podremos compilar nuestro programa y


descargarlo a la Raspberry pi, si todo sale bien tendremos una
respuesta as:

Y podremos realizar una prueba de nuestro programa realizado:

Ahora realizaremos el mismo ejemplo pero en lenguaje ST, por lo que


debemos crear una nueva fila en lenguaje ST y utilizaremos las
mismas variables del anterior programa para las mismas funciones, y
ser fcil de entender puesto que las acciones realizadas en lenguaje
SFC se realizan en lenguaje ST como ya los vimos, solo que este no se
ver por pasos, sino que se realizar en la misma pantalla todo el
desarrollo del proceso, como se ve a continuacin:

Luego de realizar el cdigo se realizan los mismos pasos de


asignacin de pines como en el caso anterior, compilacin y descarga
y el programa funcionara de la misma manera.
Por ltimos se realizara el mismo proceso en lenguaje Ladder debido
a que este lenguaje es por bloques y toca realizar paso por paso solo
desarrollaremos una parte del proceso, y las variables de igual forma
sern las mismas.
Para iniciar el proceso es necesario tener una variable de entrada
llamada START como se ve a continuacin:

Para llenar el tanque de agua se necesitar una vlvula que permita


el paso de agua al tanque, por tanto utilizaremos la variable llamada
VAL_LLENADO y se deber realizar lo siguiente:

Luego debemos esperar a que nuestro tanque se llene


completamente, por tanto debemos utilizar una variable de salida
llamada NIVEL_ALTO que ser nuestro sensor de nivel alto:

Una vez el tanque est lleno, lo siguiente que se debe hacer es


calentar el agua hasta cierta temperatura indicada por la variable
llamada TEMP, para lo que debemos utilizar otra variable de salida
que ser la resistencia de calor llamada RES:

Luego debemos asignar pines, compilar y descargar para que nuestro


programa funcione.

También podría gustarte