2012
Control de velocidad de un motor mediante
comunicacin Modbus entre un PLC y Labview
Aitziber Marn
Departamento de Ingeniera ElctricaElectrnica
05/09/2012
PRCTICA COMUNICACIN INDUSTRIAL
NDICE
Seccin 1. Comunicacin PLC-Labview
Configuracin de la comunicacin Modbus en Labview..pg. 4-7
Creacin de variables en Labview....pg. 8-10
Configuracin de la comunicacin Modbus en el PLC...pg.11
Conexin Modbus entre Labview y el [Link].12
Ejemplos.....pg.13-15
Ejercicio [Link].16
Seccin [Link] de la placa del motor
Adaptacin de la seal de entrada del PLC a la placa..pg.16-21
Configuracin de la placa para el funcionamiento del motor......pg.21-22
Adaptacin de la seal de salida de la placa al PLC..pg.23-24
Ejercicio [Link].25
Seccin [Link] de la velocidad del motor....pg.25
Aplicar una seal PWM desde el PLC a la placa, controlando la seal desde
Labview
Variar la velocidad del motor desde Labview
Programar en Labview para obtener el dato de la velocidad del motor
PRCTICA COMUNICACIN INDUSTRIAL
La prctica que se va a realizar consiste en comunicar un PLC S7-1200 con el
software Labview mediante el protocolo comunicacin Modbus. Una vez realizada esta
parte, la prctica se centra en controlar la velocidad de un motor.
La prctica consta de tres partes:
Comunicacin PLC-Labview
Configuracin de la placa del motor
Control de la velocidad del motor
PLC S7-1200
PICDEM Mechatronics Demostration Board
PRCTICA COMUNICACIN INDUSTRIAL
Seccin [Link] PLC-Labview
Configuracin de la comunicacin Modbus en Labview
El primer paso consiste en configurar Labview para realizar una comunicacin
mediante Modbus TCP.
Se comienza por abrir el programa Labview, el cual presenta el siguiente aspecto:
[Link] Inicial de Labview
A continuacin se crea el nuevo proyecto:
[Link] del Proyecto
PRCTICA COMUNICACIN INDUSTRIAL
El proyecto aparece con el siguiente formato:
[Link] Inicial del Proyecto
Se guarda el proyecto con el nombre de Master o Maestro, como el usuario
desee en el momento de la creacin, ya que el nombre solo va a ser una forma de
identificar el proyecto:
[Link] el proyecto
El siguiente paso consiste en aadir una librera al proyecto, la cual va a
contener las variables que se desean compartir:
[Link] librera al proyecto
PRCTICA COMUNICACIN INDUSTRIAL
Se guarda la librera con el nombre que se desee, en este caso es recomendable
utilizar el nombre del proyecto para as no confundir las libreras con las de otros
proyectos:
[Link] librera
El siguiente paso es aadir a la librera un I/O Server, el cual va a permitir que
las variables del proyecto sean compartidas y accesibles:
[Link] I/O Server a la librera
Aparece el siguiente cuadro, en el cual se permite la eleccin del tipo de
comunicacin que se va a utilizar. En este caso es comunicacin Modbus, por lo que se
escoger la opcin de Modbus, no Modbus Slave, ya que se est creando el maestro:
[Link] del tipo de comunicacin
PRCTICA COMUNICACIN INDUSTRIAL
Se dispone de las versiones de Modbus Serial y Ethernet. De ambas se escoger
Ethernet, porque en realidad es Modbus TCP. Es decir, se trata simplemente de una
cuestin de notacin. Hay sitios donde se llama a Modbus TCP como Modbus Ethernet.
[Link] modo Ethernet
Una vez se escoge la opcin de Ethernet es necesario indicar la direccin IP. En
este caso se utiliza un IP en concreto que es la del propio ordenador, pero se puede
utilizar la IP del dispositivo deseado, como puede ser un PLC:
[Link] direccin IP
Se observa que en la librera se ha creado un nuevo elemento:
[Link] del I/O Server
PRCTICA COMUNICACIN INDUSTRIAL
Creacin de variables en Labview
El siguiente paso es crear las variables que se consideren necesarias para llevar a
cabo el proyecto. En este caso se crearan varias de prueba, unas de tipo booleano y otras
de tipo entero. Para ello es necesario seguir varios pasos:
Primero se crean las variables:
[Link] de Variables
En segundo lugar se elige el rango y tipo de variables:
[Link] del rango de variables
Se ha de tener especial cuidado a la hora de elegir las variables, ya que hay
variables que son de lectura y escritura y otras solo de lectura.
PRCTICA COMUNICACIN INDUSTRIAL
A modo de ejemplo, en primer lugar se eligen variables de tipo booleano que son
de escritura y lectura. Estas van de la direccin 000001 a la 065535. Tambin se
escogern variables de tipo entero, que son las que van de la direccin 400001 a la
46535, las cuales tambin son de escritura y lectura:
Se seleccionan diez variables de tipo booleano y se aaden:
[Link] del n de variables deseadas
[Link] dentro del proyecto
PRCTICA COMUNICACIN INDUSTRIAL
Se observa que las variables se han adjuntado al proyecto. Se repite el mismo
procedimiento para las variables de tipo entero:
[Link] tipo entero
Se observa que las variables han sido aadidas al proyecto:
[Link] aadidas
10
PRCTICA COMUNICACIN INDUSTRIAL
Configuracin de la comunicacin Modbus en el PLC
El servidor en este caso es el PLC, donde labview acceder a leer las variables.
Para ello es necesario indicar al propio PLC que va a trabajar como servidor. Esto se
realiza cargando al PLC un programa con la funcin servidor como se muestra a
continuacin:
[Link] Servidor del PLC
La instruccin "MB_SERVER" permite la comunicacin como servidor Modbus
TCP a travs de la conexin PROFINET de la CPU S7-1200. Para utilizar esta
instruccin no se requiere ningn mdulo de hardware adicional. La instruccin
"MB_SERVER" permite procesar peticiones de conexin de un cliente Modbus TCP,
recibir peticiones de funciones Modbus y enviar mensajes de respuesta.
Para llevar a cabo la programacin del bloque el alumno ha de consultar la
ayuda. Se adjunta tambin un programa en el cual el bloque ya est programado para
facilitar al alumno la realizacin de la prctica.
11
PRCTICA COMUNICACIN INDUSTRIAL
Conexin Modbus entre Labview y el PLC
Una vez se ha cargado el programa en el PLC se accede a leer las variables del
PLC desde labview. Este proceso se realiza a travs del Dsitributed Manager. Es
necesario tener presente en que parte de la memoria del PLC se direccionan las
variables, ya que existen distintos tipos de variables tanto en formato como en el modo
de acceso (escritura o lectura).
El acceso al Distributed Manager se realiza desde la venta del proyecto en la
opcin TOOLS como se muestra a continuacin:
[Link] a Distributed Manager
Para asegurarse que la comunicacin es correcta existe una variable que indica
false si la comunicacin est bien o true si en la comunicacin existe algn fallo:
[Link] Correcta
12
PRCTICA COMUNICACIN INDUSTRIAL
Ejemplos
Como parte final de la comunicacin se realizan dos ejemplos:
Ejemplo1: Monitorizacin de variables del PLC con el Distributed Manager
Si la entrada del PLC I0.0 (100001) est conectada las salidas Q0.3 (000004) y Q0.4
(000005) se encuentran desactivadas. Si la entrada I0.0 est desactivada las salidas Q0.3
y Q0.4 se activan. Se carga el programa siguiente al PLC y se observa lo que ocurre:
[Link] de programa del PLC
[Link] I0.0 activada, salidas Q0.3 y Q0.4 desactivadas
Se alimenta la entrada I0.0 del PLC:
[Link] I0.0 desactivada, salidas Q0.3 y Q0.4 activadas
13
PRCTICA COMUNICACIN INDUSTRIAL
Ejemplo 2: Control de variables de PLC mediante Labview:
Monitorizacin:
El siguiente paso consiste en que al activar la entrada I0.0 (100001) en el PLC y
que esto se refleje en labview con un led encendido.
[Link] Frontal de Labview donde se programa
[Link] Frontal de Labview donde se observan los cambios
[Link] Manager donde queda reflejada la situacin inicical
14
PRCTICA COMUNICACIN INDUSTRIAL
Ahora se procede a alimentar la entrada del PLC I0.0 (100001) con un conductor a 24V:
[Link] activado debido a la alimentacin de la entrada del PLC
[Link] PLC activada
Control de variables:
Por otra parte se ha probado a utilizar un interruptor en labview que active una
salida del PLC, en este caso la salida Q0.4 (000005). Se muestra la situacin inicial:
[Link] Labview conectado a la salida del PLC
[Link] [Link] Inicial
15
PRCTICA COMUNICACIN INDUSTRIAL
Se activa el interruptor para observar el cambio de estado de la salida Q0.4 (000005):
[Link] activado. Salida Q0.4 (000005) activada
Ejercicio
Disea un programa en labview que haga que, cuando se pulse un botn, active
todas las salidas del PLC de tal forma que parpadeen con un periodo de 1 segundo.
Para ello debes programar el PLC de tal forma que al activarse una variable
controlada por labview se activen las salidas. Aade en labview controles para
monitorizar las salidas del PLC
Seccin 2. Configuracin de la placa del motor
Adaptacin de la seal de entrada del PLC a la placa
La placa de demostracin est alimentada con un adaptador de red de 230V/9V.
A su vez, mediante un regulador, se convierten los 9V a 5V, que es la tensin con la que
trabaja el microcontrolador de la placa. Como se va a controlar solo el motor y el
encoder de la tarjeta, se prescinde del microcontrolador y se alimenta el motor
exteriormente, es decir, se alimenta el motor con una seal de 5V desde el PLC.
La seal que procede del PLC es una seal de impulsos con forma cuadrada, ya
que el motor es de tipo paso a paso. El PLC es capaz de generar una seal cuadrada de
24V, por lo que es necesario realizar un circuito de adaptacin para reducir la tensin.
Para ello se monta un circuito divisor para que entre los bornes deseados se obtenga 5V.
Para que el PLC d una seal cuadrada se han de realizar cambios en la configuracin
del dispositivo, y cargar un programa con un bloque que indique que esa seal es
cuadrada.
16
PRCTICA COMUNICACIN INDUSTRIAL
Se procede al cambio de configuracin. Primeramente se han de cambiar varias
opciones en la configuracin de las propiedades de la CPU del PLC:
[Link] de Configuracin de la CPU
Se ha de activar la opcin de Activar generador de Impulso
[Link] el generador de impulsos
Si se desea se pueden cambiar los datos por defecto que da el PLC, como la
duracin del impulso, su amplitudetc, como se muestra en la figura 33.
La duracin de impulso puede expresarse en centsimos del tiempo de ciclo (0
100), milsimos (0 1000), diezmilsimos (0 10000) o formato analgico S7. La
duracin de impulso puede variar entre 0 (sin impulso, siempre off) y escala completa
(sin impulso, siempre on).
En este caso se los valores requeridos son de unos 40kHz, y el ciclo de trabajo
ser entre el 0 y el 100%:
17
PRCTICA COMUNICACIN INDUSTRIAL
[Link] de la seal de impulso
Una vez se han realizado los cambios se procede a la configuracin del bloque
que ordena la seal de impulsos. La instruccin CTRL_PWM (Controlar modulacin
del ancho de pulso) ofrece un tiempo de ciclo fijo con un ciclo de trabajo variable. La
salida PWM se ejecuta continuamente tras haberse iniciado a la frecuencia indicada
(tiempo de ciclo). La duracin de impulso vara segn sea necesario para obtener el
control deseado. La funcin es la CRTL_PWM_DB que tiene la siguiente apariencia:
[Link] de Funcin CTRL_PWM_DB
A continuacin se muestra cmo la entrada del bloque de funcin Enable
PWM est a false, con lo que la seal de impulsos se encuentra desactivada.
[Link] online, seal de impulso desactivada
18
PRCTICA COMUNICACIN INDUSTRIAL
Se procede a activar la seal de impulsos:
[Link] de la entrada de habilitacin
Una vez se ha forzado dicho valor a 1 la seal de impulsos se refleja en el PLC
parpadeando la luz de la salida Q0.0. Esta variable no es posible de observar en el
Distributed Manager de Labview.
[Link] de impulsos activada
Existe la posibilidad de habilitar la seal de impulsos desde labview. Esto se
consigue activando una salida desde labview, y que esta salida a su vez active la seal
de impulsos:
[Link] seal de impulsos desde Labview
19
PRCTICA COMUNICACIN INDUSTRIAL
[Link] de bloques de Labview
[Link] a la variable desde Distributed Manager
Una vez se ha programado correctamente se procede a activar la salida de impulsos:
[Link] salida de impulsos desde Labview
[Link] que activa la seal de impulsos desde Labview. Monitorizacin de la variable desde Labview
20
PRCTICA COMUNICACIN INDUSTRIAL
Una vez se ha conseguido la seal de impulsos en el PLC es necesario realizar
clculos de resistencias para obtener la tensin que se desea para el motor. Se llevan a
cabo unos clculos sencillos, y el divisor queda de la siguiente forma:
[Link] de tensin
Configuracin de la placa para el funcionamiento del motor
Una vez se ha obtenido la seal de 5V se procede a alimentar el motor. El
circuito integrado en la placa que alimenta al motor es el siguiente. En dicho circuito se
observa que el motor est conectado mediante el microcontrolador:
[Link] Placa
21
PRCTICA COMUNICACIN INDUSTRIAL
El motor se encuentra alimentado por un puente en H:
[Link] interno de conexin del motor
Se cambia la alimentacin de puente en H, es decir, en vez de ser alimentado por
el microchip se alimenta mediante el divisor de tensin que se ha creado:
[Link] alimentado con el divisor
22
PRCTICA COMUNICACIN INDUSTRIAL
Adaptacin de la seal de salida de la placa al PLC
La seal que produce el encoder se ha de conectar al PLC para poder obtener los
datos necesarios. A su vez dicha seal ser accesible desde labview. El problema que se
presenta es que la seal que produce el encoder es cuadrada de 5V y las entradas
digitales del PLC funcionan a 24V, por lo que es necesario disear un circuito
amplificador que pase la seal de 5V a 24V.
Este circuito se puede realizar de varias formas, para realizar la prctica se ha
pensado en un circuito amplificador con un transistor. El transistor seleccionado se ha
de ajustar a las necesidades que presenta el proyecto. Para este proyecto se ha utilizado
el transistor BC548B, tipo NPN. El transistor tiene la siguiente forma:
[Link] BC548B, NPN
Se realiza el diseo del circuito con sus correspondientes clculos. El transistor
va a funcionar como un interruptor; es decir, variando entre los estados de corte o de
saturacin. Cuando el transistor se encuentre en corte, modo OFF, habr entre los
bornes del emisor y la base, VCE=24V. Cuando el transistor se encuentre en saturacin,
modo ON, entre los bornes del emisor y la base, VCE=0V
El circuito diseado tiene la siguiente forma:
[Link] Amplificador
23
PRCTICA COMUNICACIN INDUSTRIAL
Es necesario disear un nuevo circuito con un amplificador operacional en modo
buffer, o tambin llamado seguidor de tensin. Para ello se utiliza el amplificador
LM741 que se muestra a continuacin:
[Link] Operacional A 741
[Link] de circuito seguidor de tensin y circuito amplificador
[Link] adaptador de la seal de la placa al PLC
24
PRCTICA COMUNICACIN INDUSTRIAL
Ejercicio propuesto
Una vez hecho todo el montaje comprobar con el PLC que se puede controlar la
velocidad del motor y monitorizar con un osciloscopio la salida del encoder de la tarjeta
y la seal que llega al PLC. Qu diferencias hay entre ambas seales? Por qu?
Seccin [Link] de la velocidad del motor
La ltima parte de la prctica consiste en monitorizar la velocidad de del motor
desde Labview y controlar el avance del motor por vueltas. Se aaden varios pasos a
seguir para que el alumno realice esta parte de la prctica:
Aplicar una seal PWM desde el PLC a la placa, controlando la seal desde
Labview
Programar en Labview para obtener el dato de la velocidad del motor
Variar la velocidad del motor desde Labview
Nota1: Para acceder a la variable donde se observa la velocidad es necesario acceder al
cuadro donde se especifican las direcciones de las variables para conexionar el PLC con
Labview. Se adjunta un documento PDF con dicho cuadro.
Nota2: Para modificar la variable que controla el nmero de vueltas a las que ha de girar
el motor se adjunta otro documento PDF con las indicaciones necesarias.
25