INGENIERÍA ELECTRÓNICA Y AUTOMÁTICA - Área de Ingeniería ...
INGENIERÍA ELECTRÓNICA Y AUTOMÁTICA - Área de Ingeniería ...
INGENIERÍA ELECTRÓNICA Y AUTOMÁTICA - Área de Ingeniería ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>INGENIERÍA</strong> <strong>ELECTRÓNICA</strong> Y<br />
<strong>AUTOMÁTICA</strong><br />
1. REDES DE COMUNICACIONES DE LA FMS-200.<br />
En la FMS200 se han instalado dos re<strong>de</strong>s <strong>de</strong> comunicación: Unitelway y Ethernet. En la<br />
actualidad solo suele estar operativa la segunda, conectándose la primera sólo en ocasiones para<br />
pruebas o prácticas <strong>de</strong> <strong>de</strong>terminadas asignaturas. A<strong>de</strong>más, el autómata TSX Premium cuenta con<br />
un enlace Modbus con uno <strong>de</strong> los PCs <strong>de</strong> la sala para la utilización <strong>de</strong> paquetes SCADA.<br />
1.1. Intercambios con los autómatas.<br />
Para que el software PL7 se comunique con un autómata ha <strong>de</strong> existir un medio <strong>de</strong> conexión<br />
(cable <strong>de</strong> comunicación serie, bus <strong>de</strong> comunicaciones o red <strong>de</strong> comunicaciones) y el PC <strong>de</strong>be<br />
tener instalado un controlador <strong>de</strong> comunicaciones a<strong>de</strong>cuado.<br />
El controlador (driver) <strong>de</strong> comunicaciones por <strong>de</strong>fecto es el Unitelway, que permite la conexión<br />
con el autómata mediante un cable <strong>de</strong> comunicación serie entre un puerto <strong>de</strong> comunicaciones <strong>de</strong>l<br />
PC (COM) y el conector <strong>de</strong> Terminal (TER) <strong>de</strong>l autómata. En el PL7, bajo el menú “Autómata”<br />
habrá que configurar la “Dirección <strong>de</strong>l autómata” <strong>de</strong> la manera indicada en la figura 1.1.<br />
También se pue<strong>de</strong> usar ese controlador en el caso <strong>de</strong> que el autómata forme parte <strong>de</strong> una red<br />
Unitelway y el PC tenga acceso a ella a través <strong>de</strong> uno <strong>de</strong> los puertos <strong>de</strong> comunicación serie. El<br />
autómata se direcciona <strong>de</strong> forma similar a la figura 1.2 <strong>de</strong>pendiendo <strong>de</strong> la estructura <strong>de</strong><br />
direcciones que tenga la red.<br />
Figura 1.1. Figura 1.2. Figura 1.3.<br />
Si el autómata dispone <strong>de</strong> un módulo <strong>de</strong> comunicaciones Ethernet y el PC tiene instalado y<br />
configurado el controlador (driver) XIP, la dirección <strong>de</strong>l autómata en este caso tiene el aspecto<br />
representado en la figura 1.3. En la configuración <strong>de</strong>l controlador XIP se han <strong>de</strong> <strong>de</strong>tallar las<br />
direcciones IP y X-Way <strong>de</strong> cada autómata con el que se va a trabajar como se muestra en el<br />
ejemplo <strong>de</strong> la figura 1.4. La figura 1.5 muestra el aspecto <strong>de</strong> la ventana <strong>de</strong>l controlador XIP que<br />
<strong>de</strong>be permanecer activa (aunque sea minimizada) para que el software PL7 pueda utilizar el<br />
controlador para comunicarse con el autómata.<br />
Figura 1.4. Configuración <strong>de</strong>l driver XIP.<br />
Figura 1.5. Ventana <strong>de</strong>l driver XIP.<br />
http://www.isa.uniovi.es/docencia/iea
<strong>INGENIERÍA</strong> <strong>ELECTRÓNICA</strong> Y<br />
<strong>AUTOMÁTICA</strong><br />
1.2 Bus Unitelway.<br />
La siguiente figura representa las direcciones <strong>de</strong>l bus Unitelway asignadas a cada una <strong>de</strong><br />
las estaciones:<br />
La construcción <strong>de</strong>l bus Unitelway precisa <strong>de</strong> la incorporación <strong>de</strong> numerosos dispositivos: cajas<br />
<strong>de</strong> conexión (SCA 50), diferentes cables <strong>de</strong> conexión (SCY CU 6030, SCA 100, etc.). El<br />
autómata TSX Premium, que actúa como maestro <strong>de</strong>l bus, se conecta mediante la via 0 <strong>de</strong>l<br />
módulo SCY 21601 conectado en la posición 1 <strong>de</strong> su rack, mientras que los TSX Micro, los<br />
esclavos, se conectan a las cajas <strong>de</strong> conexión <strong>de</strong>s<strong>de</strong> su conector TER.<br />
La comunicación sobre este bus se establece normalmente <strong>de</strong>s<strong>de</strong> el programa <strong>de</strong>l maestro que<br />
mediante funciones READ_VAR() y WRITE_VAR() (cuyo uso se <strong>de</strong>scribe más a<strong>de</strong>lante en el<br />
ejemplo <strong>de</strong> los paneles <strong>de</strong> automatismos) lee o escribe datos en los objetos <strong>de</strong> la memoria <strong>de</strong> los<br />
esclavos. Des<strong>de</strong> el programa <strong>de</strong> los PLCs esclavos se pue<strong>de</strong> también realizar lecturas y escrituras<br />
<strong>de</strong> otros dispositivos (maestros o esclavos <strong>de</strong> la red), pero en este caso es necesario utilizar la<br />
función SEND_REQ() (se <strong>de</strong>scribirá su uso en un ejemplo más a<strong>de</strong>lante) que es más compleja <strong>de</strong><br />
utilizar.<br />
http://www.isa.uniovi.es/docencia/iea
<strong>INGENIERÍA</strong> <strong>ELECTRÓNICA</strong> Y<br />
<strong>AUTOMÁTICA</strong><br />
1.5 Bus Modbus<br />
El segundo bus <strong>de</strong> campo presente en la célula FMS 200 es una red Modbus, representada<br />
tambien en la figura anterior, compuesta únicamente por dos equipos, un PC supervisor, y el<br />
autómata TSX Premium que gestiona la línea con una tarjeta SCP 111 en el módulo SCY 21601.<br />
Los mensajes Modbus son enviados a través <strong>de</strong> un enlace <strong>de</strong> comunicación asíncrona en serie RS<br />
232. Modbus resulta idóneo para las arquitecturas Maestro/Esclavo y presenta ventajas<br />
sustanciales respecto al bus Unitelway en términos <strong>de</strong> estandarización, compatibilidad,<br />
extensibilidad, velocidad y flujo <strong>de</strong> datos. Su empleo se justificaba por las exigencias <strong>de</strong>l<br />
software SCADA instalado en el PC supervisor.<br />
El bus se compone <strong>de</strong> una estación Maestra y <strong>de</strong> varias estaciones Esclavas. La estación Maestra<br />
es la única que suele tomar la iniciativa <strong>de</strong> intercambio, usando las funciones READ_VAR() y<br />
WRITE_VAR() como en el caso anteriór, mientras que las Esclavas no pue<strong>de</strong>n comunicarse<br />
directamente y lo hacen a través <strong>de</strong>l maestro con la función SEND_REQ(). Existen dos<br />
mecanismos <strong>de</strong> intercambio:<br />
• Pregunta/Respuesta: la Maestra transmite preguntas a una Esclava <strong>de</strong>terminada, que a su<br />
vez transmite una respuesta a la Maestra.<br />
• Difusión: la Maestra transmite un mensaje a todas las estaciones Esclavas <strong>de</strong>l bus, que<br />
ejecutan la or<strong>de</strong>n sin transmitir ninguna respuesta.<br />
Lo conexión Modbus presente en la célula FMS 200 consta <strong>de</strong> un equipo maestro, el PC y un<br />
único esclavo, el autómata Premium maestro <strong>de</strong> la red UNITELWAY.<br />
1.4 Red Ethenet.<br />
La principal ventaja <strong>de</strong> la red Ethernet para los PLCs TSX es que incorpora el servicio IO<br />
Scanning, mediante el cual, el maestro <strong>de</strong> la red realiza cíclicamente imágenes <strong>de</strong> zonas <strong>de</strong> la<br />
memoria <strong>de</strong> los esclavos en el maestro y viceversa, sin la necesidad <strong>de</strong> llamar a ninguna función<br />
<strong>de</strong>s<strong>de</strong> el programa <strong>de</strong> los autómatas. Una tarjeta ETY 510 en el rack <strong>de</strong>l TSX Premiun permite la<br />
configuración y realización <strong>de</strong> este servicio. Los TSX Micro precisan <strong>de</strong> un puente ETZ 410,<br />
conectado a su conector TER para po<strong>de</strong>r unirse a la red Ethernet. Este puente no les permite ser<br />
maestros <strong>de</strong>l servicio IO Scanning.<br />
http://www.isa.uniovi.es/docencia/iea
<strong>INGENIERÍA</strong> <strong>ELECTRÓNICA</strong> Y<br />
<strong>AUTOMÁTICA</strong><br />
La siguiente figura representa las direcciones asignadas a cada una <strong>de</strong> las estaciones para las<br />
distintas conexiones a través <strong>de</strong> la red Ethernet:<br />
A<strong>de</strong>más <strong>de</strong>l servicio IO Scanning, se pue<strong>de</strong>n usar las funciones READ_VAR(), WRITE_VAR()<br />
y SEND_REQ(), en las mismas condiciones <strong>de</strong> la red Unitelway, es <strong>de</strong>cir, los esclavos TSX<br />
Micro sólo pue<strong>de</strong>n hacer uso <strong>de</strong> la función SEND_REQ(), tal como se <strong>de</strong>scribe en el ejemplo<br />
siguiente.<br />
http://www.isa.uniovi.es/docencia/iea
<strong>INGENIERÍA</strong> <strong>ELECTRÓNICA</strong> Y<br />
<strong>AUTOMÁTICA</strong><br />
EJEMPLO DE FUNCIONES DE COMUNICACIÓN CON ETHERNET<br />
FUNCIÓN DE ESCRITURA (envío <strong>de</strong> una o varias palabras)<br />
Escritura <strong>de</strong> una palabra con el valor 12 sobre la palabra %MW100 <strong>de</strong>l autómata con dirección XWay 1.5 para el<br />
que <strong>de</strong>be estar <strong>de</strong>finida una conexión Unitelway en la configuración <strong>de</strong>l módulo <strong>de</strong> comunicaciones ETZ410.<br />
%MW11:=16#0501 Dirección 1: Dirección Xway en hexa<strong>de</strong>cimal (ejemplo dirección Unitelway 1.5)<br />
%MW12:=16#0000 Dirección 2: 0<br />
%MW13:=16#0000 Dirección 3: 0<br />
%MW14:=16#0768 Tipo palabra 07; Zona 68<br />
%MW15:=100 Palabra don<strong>de</strong> se va a escribir (%MW100)<br />
%MW16:=1 Longitud en palabras que se van a escribir<br />
%MW17:=12 Valor(es) que se va(n) a escribir (12 en %MW100)<br />
(%MW20)<br />
(%MW30:X1)<br />
(%MW31)<br />
%MW32:=60<br />
%MW33:=14<br />
Palabra reservada para el byte <strong>de</strong> gestión<br />
Bit <strong>de</strong> actividad (permanece a 1 mientras se realiza la operación <strong>de</strong> envío)<br />
Byte bajo = byte <strong>de</strong> comunicación. Byte alto = byte <strong>de</strong> control<br />
Timeout en 0.1 segundos (6 segundos)<br />
Longitud en bytes a tansmitir (<strong>de</strong> %MW11 a %MW17->14 bytes)<br />
(No asignar valores a las palabras %MW20, %MW30 y %MW31, son usadas por el sistema)<br />
SEND_REQ(ADR#0.0.4,16#0037,%MW11:7,%MW20:1,%MW30:4);<br />
(ADR#0.0.4 Dirección <strong>de</strong>l módulo <strong>de</strong> comunicación Ethenet ETZ410)<br />
(16#0037 Comando <strong>de</strong> escritura)<br />
FUNCIÓN DE LECTURA (recepción <strong>de</strong> una o varias palabras)<br />
Lectura <strong>de</strong> la palabra %MW200 <strong>de</strong>l autómata con dirección XWay 1.5 para el que <strong>de</strong>be estar <strong>de</strong>finida una conexión<br />
Unitelway en la configuración <strong>de</strong>l módulo <strong>de</strong> comunicaciones ETZ410.<br />
%MW21:=16#0501 Dirección 1: Dirección Xway en hexa<strong>de</strong>cimal (ejemplo dirección Unitelway 1.5)<br />
%MW22:=16#0000 Dirección 2: 0<br />
%MW23:=16#0000 Dirección 3: 0<br />
%MW24:=16#0768 Tipo palabra 07; Zona 68<br />
%MW25:=200 Palabra que se va a leer (%MW200)<br />
%MW26:=1 Longitud en palabras que se van a leer<br />
(%MW50:2)<br />
(%MW40:X1)<br />
(%MW41)<br />
%MW42:=60<br />
%MW43:=12<br />
Palabras reservada para el byte <strong>de</strong> gestión y la palabra leída (2 palabras)<br />
Bit <strong>de</strong> actividad (permanece a 1 mientras se realiza la operación <strong>de</strong> envío)<br />
Byte bajo = byte <strong>de</strong> comunicación. Byte alto = byte <strong>de</strong> control<br />
Timeout en 0.1 segundos (6 segundos)<br />
Longitud en bytes a transmitir (<strong>de</strong> %MW21 a %MW26->12 bytes)<br />
(No asignar valores a las palabras %MW40, %MW41, %MW50 y %MW51, son usadas por el sistema)<br />
SEND_REQ(ADR#0.0.4,16#0036,%MW21:6,%MW50:2,%MW40:4);<br />
(ADR#0.0.4 Dirección <strong>de</strong>l módulo <strong>de</strong> comunicación Ethenet ETZ410)<br />
(16#0036 Comando <strong>de</strong> lectura)<br />
Los datos se reciben en %MW50 pero el primer byte (el menos significativo) es <strong>de</strong> gestión <strong>de</strong> la comunicación y los<br />
datos leídos empiezan en el segundo byte <strong>de</strong> %MW50 (el más significativo). Habrá que reor<strong>de</strong>nar los bytes. Para<br />
una sola palabra, el primer byte será el segundo <strong>de</strong> %MW50 y el segundo será el primero <strong>de</strong> %MW51. Hay que usar<br />
la función ROR_ABR para rotar a<strong>de</strong>cuadamente los cuatro bytes <strong>de</strong> las palabras %MW50 y %MW51 (4 bytes, <strong>de</strong><br />
%MB100 a %MB104). De esa manera la palabra recibida quedará en %MW50:<br />
ROR1_ARB(%MB100:4);<br />
El programa <strong>de</strong> ejemplo que se <strong>de</strong>scribe en las siguientes figuras se pue<strong>de</strong> cargar en un autómata TSXMicro <strong>de</strong> la<br />
FMS-200 o <strong>de</strong> los paneles <strong>de</strong> automatismos, para escribir o leer datos en la memoria <strong>de</strong> palabras (%MW) <strong>de</strong> otro<br />
autómata que este encendido y conectado a la misma red Ethernet (este pue<strong>de</strong> estar en RUN o en STOP). Es<br />
http://www.isa.uniovi.es/docencia/iea
<strong>INGENIERÍA</strong> <strong>ELECTRÓNICA</strong> Y<br />
<strong>AUTOMÁTICA</strong><br />
necesario que en la configuración <strong>de</strong> los módulos ETZ-410 <strong>de</strong> cada autómata esté <strong>de</strong>finida la conexión XWay con el<br />
otro autómata. La pantalla <strong>de</strong> explotación permite <strong>de</strong>finir la dirección y posición que se quiere leer o escribir en el<br />
otro autómata.<br />
%M0 %M1<br />
%MW30:X0 OR %X6.T>20<br />
%MW35:X0 OR %X8.T>20<br />
NOT %MW30:X0 OR %X10.T>20<br />
NOT %MW35:X0 OR %X12.T>20<br />
(16#00FF AND %MW31)=0<br />
(16#00FF AND %MW31)0<br />
POST<br />
(*Enviar (escribir) *)<br />
IF X6_inicio_escritura THEN<br />
(* %MW11:=16#6901;(* dirección 1 Xway-Modbus 1.105 *)<br />
(* %MW11:=16#5601;(* dirección 1 Xway-Unitelway 1.5 *)<br />
Direccion2:=16#0000;(* dirección 2 *)<br />
Direccion3:=16#0000;(* dirección 3 *)<br />
Tipo_zona:=16#0768;(* Tipo palabra 07; Zona 68 *)<br />
(* %MW15:=100;(* Palabra don<strong>de</strong> se va a escribir: %MW100 *)<br />
Numero_<strong>de</strong>_posiciones:=1;(* Longitud en palabras que se van a escribir *)<br />
(* %MW16:=12;(* Valores que se van a escribir: 12 en %MW100 *)<br />
Tiempo_espera:=60;(* Timeout en 0.1 segundos: 6 segundos*)<br />
Longitud_telegrama:=14;(* Longitud en bytes a tansmitir %MW11 a 17->14 bytes*)<br />
SEND_REQ(ADR#0.0.4,16#0037,Direccion1:7,Byte_objeto:1,Numero_y_bit_actividad:4);<br />
RESET Or<strong>de</strong>n_<strong>de</strong>_escritura;<br />
END_IF;<br />
(*Recibir (leer) *)<br />
IF X8_inicio_lectura THEN<br />
(* %MW21:=16#6901;(* dirección 1 Xway-Modbus 1.105 *)<br />
(* %MW21:=16#0501;(* dirección 1 Xway-Unitelway 1.5 *)<br />
Direccion2_l:=16#0000;(* dirección 2 *)<br />
Direccion3_l:=16#0000;(* dirección 3 *)<br />
Tipo_zona_l:=16#0768;(* Tipo palabra 07; Zona 68 *)<br />
(* %MW25:=100;(* Palabra don<strong>de</strong> se va a leer: %MW100 *)<br />
Numero_<strong>de</strong>_posiciones_l:=1;(* Longitud en palabras que se van a leer *)<br />
Tiempo_espera_l:=60;(* Timeout en 0.1 segundos: 6 segundos*)<br />
Longitud_telegrama_l:=12;(* longitud en bytes a tansmitir %MW21 a 26->12 bytes*)<br />
SEND_REQ(ADR#0.0.4,16#0036,Direccion1_l:6,Dato_leido:2,Numero_y_bit_actividad_l:4);<br />
RESET Or<strong>de</strong>n_<strong>de</strong>_lectura;<br />
END_IF;<br />
(* Los datos se reciben en %MW27 pero el primer byte (el menos significativo)<br />
es <strong>de</strong> gestión <strong>de</strong> la comunicación y los datos leídos empiezan en el segundo byte<br />
<strong>de</strong> %MW27 (el más significativo). *)<br />
(*Habrá que reor<strong>de</strong>nar los bytes, para una sola palabra, el primer byte será el<br />
segundo <strong>de</strong> %MW27 y el segundo será el primero <strong>de</strong> %MW28. Hay que usar la función<br />
ROR_ABR para rotar a<strong>de</strong>cuadamente los cuatro bytes <strong>de</strong> las palabras %MW27 y %MW28<br />
(%MB54 a %MB57)*)<br />
IF X13_lectura_finalizada THEN<br />
ROR1_ARB(%MB54:4);<br />
END_IF;<br />
(16#00FF AND %MW36)=0<br />
(16#00FF AND %MW36)0<br />
(*Enviar (escribir) *)<br />
IF %X6 THEN<br />
(* %MW11:=16#6901;(* dirección 1 Xway-Modbus 1.105 *)<br />
(* %MW11:=16#5601;(* dirección 1 Xway-Unitelway 1.5 *)<br />
%MW12:=16#0000;(* dirección 2 *)<br />
%MW13:=16#0000;(* dirección 3 *)<br />
%MW14:=16#0768;(* Tipo palabra 07; Zona 68 *)<br />
(* %MW15:=100;(* Palabra don<strong>de</strong> se va a escribir: %MW100 *)<br />
%MW16:=1;(* Longitud en palabras que se van a escribir *)<br />
(* %MW16:=12;(* Valores que se van a escribir: 12 en %MW100 *)<br />
%MW32:=60;(* Timeout en 0.1 segundos: 6 segundos*)<br />
%MW33:=14;(* Longitud en bytes a tansmitir %MW11 a 17->14 bytes*)<br />
SEND_REQ(ADR#0.0.4,16#0037,%MW11:7,%MW20:1,%MW30:4);<br />
RESET %M0;<br />
END_IF;<br />
(*Recibir (leer) *)<br />
IF %X8 THEN<br />
(* %MW21:=16#6901;(* dirección 1 Xway-Modbus 1.105 *)<br />
(* %MW21:=16#0501;(* dirección 1 Xway-Unitelway 1.5 *)<br />
%MW22:=16#0000;(* dirección 2 *)<br />
%MW23:=16#0000;(* dirección 3 *)<br />
%MW24:=16#0768;(* Tipo palabra 07; Zona 68 *)<br />
(* %MW25:=100;(* Palabra don<strong>de</strong> se va a leer: %MW100 *)<br />
%MW26:=1;(* Longitud en palabras que se van a leer *)<br />
%MW37:=60;(* Timeout en 0.1 segundos: 6 segundos*)<br />
%MW38:=12;(* Longitud en bytes a tansmitir %MW21 a 26->12 bytes*)<br />
SEND_REQ(ADR#0.0.4,16#0036,%MW21:6,%MW27:2,%MW35:4);<br />
RESET %M1;<br />
END_IF;<br />
(* Los datos se reciben en %MW27 pero el primer byte (el menos significativo)<br />
es <strong>de</strong> gestión <strong>de</strong> la comunicación y los datos leídos empiezan en el segundo byte<br />
<strong>de</strong> %MW27 (el más significativo). *)<br />
(*Habrá que reor<strong>de</strong>nar los bytes, para una sola palabra, el primer byte será el<br />
segundo <strong>de</strong> %MW27 y el segundo será el primero <strong>de</strong> %MW28. Hay que usar la función<br />
ROR_ABR para rotar a<strong>de</strong>cuadamente los cuatro bytes <strong>de</strong> las palabras %MW27 y %MW28<br />
(%MB54 a %MB57)*)<br />
IF %X13 THEN<br />
ROR1_ARB(%MB54:4);<br />
END_IF;<br />
http://www.isa.uniovi.es/docencia/iea
<strong>INGENIERÍA</strong> <strong>ELECTRÓNICA</strong> Y<br />
<strong>AUTOMÁTICA</strong><br />
2. REDES DE LOS PANELES DE AUTOMATISMOS.<br />
Los paneles <strong>de</strong> automatismos disponen cada uno <strong>de</strong> un PLC TSX-Micro con su correspondiente<br />
puente Ethernet ETZ-410 y una tarjeta SCP-114 en la ranura <strong>de</strong> su CPU. Esta tarjeta permite<br />
establecer un bus <strong>de</strong> comunicación MODBUS con el Variador <strong>de</strong> Velocidad ATV28 presente en<br />
el panel, en el cual, el PLC actúa como maestro <strong>de</strong>l bus.<br />
PANEL 1<br />
PANEL 6<br />
ETZ-410<br />
SCP 114<br />
Modbus<br />
ATV28<br />
{1.1}<br />
10.0.2.1<br />
PC 1 {1.11}<br />
10.0.2.11<br />
{1.6}<br />
10.0.2.6<br />
PC 6 {1.16}<br />
10.0.2.16<br />
PC 2 {1.12}<br />
10.0.2.12<br />
PC 5 {1.15}<br />
10.0.2.15<br />
Motor<br />
PANEL 2<br />
PANEL 5<br />
2.1 Red Ethernet<br />
La red Ethernet instalada está soportada por un Conmutador<br />
Ethernet 10/100 Mbps al que se conectan los PCs y los PLCs para<br />
permitir la programación y control <strong>de</strong> estos mediante el programa<br />
PL7. La figura representa las direcciónes IP y XWay que se han<br />
asignado a cada equipo según su situación en el Panel y las mesas<br />
<strong>de</strong>l laboratorio correspondientes.<br />
La red Ethernet permite también la comunicación <strong>de</strong> los PLCs<br />
entre si <strong>de</strong> manera similar a como se ha <strong>de</strong>scrito en el caso <strong>de</strong> la<br />
FMS-200.<br />
2.2 Bus MODBUS<br />
{1.2}<br />
10.0.2.2<br />
PC 3 {1.13}<br />
10.0.2.13<br />
PANEL 3<br />
{1.3}<br />
10.0.2.3<br />
{1.5}<br />
10.0.2.5<br />
PC 4 {1.14}<br />
10.0.2.14<br />
Ethenet<br />
Switch 10/100<br />
PANEL 4<br />
{1.4}<br />
10.0.2.4<br />
La tarjeta <strong>de</strong> comunicaciones SCP114 <strong>de</strong>l PLC está conectada a un sistema <strong>de</strong> cableado<br />
Unitelway al que se conecta el ATV28 como esclavo <strong>de</strong>l bus. Una vez configurada<br />
a<strong>de</strong>cuadamente, permite enviar <strong>de</strong>s<strong>de</strong> el programa <strong>de</strong>l autómata ór<strong>de</strong>nes al ATV28, escribiendo y<br />
leyendo datos <strong>de</strong> algunos <strong>de</strong> sus registros <strong>de</strong> manera similar a como se pue<strong>de</strong> escribir o leer datos<br />
en la memoria <strong>de</strong> usuario <strong>de</strong> otro PLC.<br />
Las funciones utilizadas para leer y escribir en los registros <strong>de</strong>l ATV28 son las funciones<br />
READ_VAR() y WRITE_VAR(). Los registros fundamentales para gobernar el ATV28 son el<br />
%MW400 (CMD), don<strong>de</strong> se escriben los comandos que se quiere que ejecute el ATV28 y el<br />
%MW401 (Consigna) don<strong>de</strong> se escribe la consigna <strong>de</strong> velocidad a la que se quiere que gire el<br />
motor. Otros registros documentados en los manuales <strong>de</strong>l ATV28 permiten conocer su estado<br />
http://www.isa.uniovi.es/docencia/iea
<strong>INGENIERÍA</strong> <strong>ELECTRÓNICA</strong> Y<br />
<strong>AUTOMÁTICA</strong><br />
(mediante su lectura) o cambiar los parámetros <strong>de</strong> configuración <strong>de</strong>l dispositivo (mediante la<br />
escritura sobre ellos).<br />
Configuración <strong>de</strong> la tarjeta <strong>de</strong> comunicaciones SCP 114<br />
<strong>de</strong>s<strong>de</strong> la aplicación PL7:<br />
1º Acce<strong>de</strong>r a la configuración <strong>de</strong> hardware y pinchar en<br />
comunicaciones.<br />
2º Acce<strong>de</strong>r a la pantalla <strong>de</strong> configuración <strong>de</strong> la vía <strong>de</strong><br />
comunicación:<br />
- Seleccionar la vía <strong>de</strong> comunicación en el menú<br />
<strong>de</strong>splegable VÍA 1<br />
- Seleccionar en el menú <strong>de</strong>splegable la tarjeta PCMCIA<br />
“TSX SCP 114 TARJETA PCMCIA RS485 MP”<br />
- Seleccionar el enlace en el menú <strong>de</strong>splegable: “ENLACE<br />
MODBUS /JBUS”<br />
3º Por último en la Pantalla <strong>de</strong> configuración <strong>de</strong> Modbus<br />
- Tipo: Maestro<br />
- Nº <strong>de</strong> reiteraciones: 3<br />
- Tiempo <strong>de</strong> respuesta: 2 (evita un retardo excesivo<br />
cuando se pier<strong>de</strong> un mensaje)<br />
- Velocidad <strong>de</strong> transmisión: 19200 bits/s<br />
- Tiempo entre caracteres: 2<br />
- Datos: RTU (8 bits)<br />
- Parada: 1 bit<br />
- Paridad: Sin<br />
Configuración <strong>de</strong> la tarjeta <strong>de</strong> comunicaciones SCP114<br />
WRITE_VAR(ADR#0.1.1,'%MW',400,2,%MW30:2,%MW40:4)<br />
Posición<br />
Palabras <strong>de</strong> control (4)<br />
Vía<br />
Número <strong>de</strong> objetos<br />
Esclavo<br />
Posición local <strong>de</strong>l objeto<br />
READ_VAR(ADR#0.1.1,'%MW',450,5,%MW50:5,%MW60:4)<br />
Posición 0<br />
Via 0<br />
Via 1<br />
SCP114<br />
Tipo <strong>de</strong> objeto a intercambiar<br />
Posición remota <strong>de</strong>l objeto<br />
Número <strong>de</strong> objetos consecutivos<br />
%MW30<br />
%MW31<br />
%MW50<br />
%MW54<br />
15<br />
…………<br />
…………<br />
0<br />
WRITE<br />
READ<br />
%MW40:X0 Bit <strong>de</strong> actividad: se pone a<br />
uno al inicio <strong>de</strong> la función <strong>de</strong> comunicación<br />
y vuelve a cero cuando esta termina.<br />
%MW400<br />
%MW401<br />
%MW450<br />
…………<br />
…………<br />
ATV28<br />
Maestro<br />
%MW454<br />
Protocolo MODBUS/JBUS<br />
Enlace UNITELWAY RS458 (19.200 bps)<br />
Esclavo 1<br />
15<br />
CMD<br />
Consigna<br />
0<br />
Palabras <strong>de</strong> control en el ATV28:<br />
CMD -> %MW400<br />
Consigna -> %MW401 (en 0.1Hz, <strong>de</strong> -50 a 50Hz)<br />
Secuencia <strong>de</strong> comandos:<br />
• Puesta en marcha <strong>de</strong>s<strong>de</strong> el<br />
encendido (locked):<br />
CMD=H'0006' (paso a standby)<br />
CMD=H'0007' (paso a ready)<br />
CMD=H'000F' (paso a run)<br />
• Paso a parado <strong>de</strong>s<strong>de</strong> "run":<br />
CMD=H'0000' (paso a locked)<br />
Funciones WRITE_VAR() y READ_VAR() sobre los registros <strong>de</strong>l ATV28<br />
El programa <strong>de</strong> ejemplo “ControlVyP.stx”, <strong>de</strong>scrito en las siguientes figuras, utiliza estas<br />
funciones <strong>de</strong> comunicación. Una vez cargado en el autómata permite controlar la velocidad <strong>de</strong><br />
giro <strong>de</strong>l motor y su posición mediante varias pantallas <strong>de</strong> explotación, a través <strong>de</strong> la<br />
comunicación <strong>de</strong> comandos al ATV28.<br />
La primera Pantalla <strong>de</strong> Explotación es un “Menú Principal” para acce<strong>de</strong>r a las otras tres Pantallas<br />
<strong>de</strong> Explotación. Los botones centrales con los triángulos permiten elegir si se quiere realizar un<br />
“Control <strong>de</strong> Velocidad” o un “Control <strong>de</strong> Posición”. Luego se utilizan los botones anexos para<br />
saltar a las ventanas gráficas que permiten visualizar cada uno <strong>de</strong> los modos <strong>de</strong> control. El botón<br />
“Depuración” lleva a una pantalla especial <strong>de</strong>s<strong>de</strong> la que se pue<strong>de</strong>n comprobar el estado <strong>de</strong> las<br />
distintas variables y contadores <strong>de</strong>l sistema en cualquier modo <strong>de</strong> control, pero sin la<br />
visualización <strong>de</strong> gráficos <strong>de</strong> ten<strong>de</strong>ncias. Se pue<strong>de</strong> volver al “Menú Principal” <strong>de</strong>s<strong>de</strong> cualquiera<br />
<strong>de</strong> las otras tres ventanas utilizando el botón correspondiente.<br />
http://www.isa.uniovi.es/docencia/iea
<strong>INGENIERÍA</strong> <strong>ELECTRÓNICA</strong> Y<br />
<strong>AUTOMÁTICA</strong><br />
La segunda Pantalla <strong>de</strong> Explotación “Ventana <strong>de</strong> Control <strong>de</strong> Velocidad” se utiliza cuando se ha<br />
seleccionado el “Control <strong>de</strong> Velocidad” y permite visualizar gráficamente las variables <strong>de</strong><br />
control. En ella se pue<strong>de</strong> arrancar y parar el control con los botones MARCHA y PARO. Una<br />
vez en marcha, la velocidad <strong>de</strong>l motor se controla moviendo el <strong>de</strong>slizador con el ratón o<br />
introduciendo la velocidad <strong>de</strong>seada, positiva o negativa, en el campo <strong>de</strong> la <strong>de</strong>recha “Ref.<br />
R.P.M.”. Por otro lado, los valores <strong>de</strong> las constantes (Kp, Ki y Kd) <strong>de</strong>l regulador que se tenga<br />
implementado en la tarea FAST-Muestreo <strong>de</strong>l programa <strong>de</strong>l autómata se pue<strong>de</strong>n modificar en la<br />
parte inferior <strong>de</strong>recha. Mediante el botón “Menú Principal” se pue<strong>de</strong> volver a la pantalla anterior.<br />
NOTA: Los valores numéricos a introducir en los campos <strong>de</strong> las Pantallas <strong>de</strong> Explotación o<br />
<strong>de</strong>l programa <strong>de</strong>l autómata son números reales y el programa exige que se escriban con el<br />
punto <strong>de</strong>cimal incluido, aunque no fuese necesario, para interpretarlos correctamente. Por<br />
ejemplo: “450.”, “-234.0”, “1243.78”, etc.<br />
La tercera Pantalla <strong>de</strong> Explotación “Ventana <strong>de</strong> Control <strong>de</strong> Posición” se utiliza cuando se ha<br />
seleccionado el “Control <strong>de</strong> Posición” y permite las mismas funciones que la pantalla anterior<br />
para este modo <strong>de</strong> control.<br />
La Pantalla <strong>de</strong> Explotación “Depuración” dispone también <strong>de</strong> los botones para poner en<br />
MARCHA o PARO el control. Mediante la lectura <strong>de</strong>l contador <strong>de</strong> la señal <strong>de</strong>l enco<strong>de</strong>r, que se<br />
muestrea cada 100 ms, se informa en la pantalla <strong>de</strong> la velocidad (R.P.M.) <strong>de</strong>l motor, el número<br />
<strong>de</strong> vueltas giradas y el número <strong>de</strong> grados girados. Un pulsador permite poner a cero los<br />
contadores <strong>de</strong> vueltas y grados para fijar la posición <strong>de</strong> inicio. Estos contadores también se<br />
resetean si se pasa el control a PARO. Se pue<strong>de</strong> realizar el control <strong>de</strong> velocidad o <strong>de</strong> posición<br />
seleccionándolo con el botón “Selección Control Velocidad Posición”, seleccionar referencia <strong>de</strong><br />
velocidad o posición y modificar los valores <strong>de</strong> las constantes <strong>de</strong>l regulador que se tenga<br />
implementado en la tarea FAST-Muestreo <strong>de</strong>l programa <strong>de</strong>l autómata. Los campos inferiores<br />
informan <strong>de</strong> los comandos y valor <strong>de</strong> consigna enviados al ATV28 por el bus <strong>de</strong><br />
comunicaciones. También está disponible el botón “Menú Principal”.<br />
http://www.isa.uniovi.es/docencia/iea
<strong>INGENIERÍA</strong> <strong>ELECTRÓNICA</strong> Y<br />
<strong>AUTOMÁTICA</strong><br />
A continuación se muestran el Grafcet y POST <strong>de</strong>l programa, que se encargan básicamente <strong>de</strong> la<br />
puesta en marcha y parada <strong>de</strong>l control y <strong>de</strong> las comunicaciones con el ATV28, y la tarea FAST-<br />
Muestreo, que se ejecuta cada 100 ms e implementa el algoritmo <strong>de</strong> control que pue<strong>de</strong> ser<br />
modificado cambiando las líneas <strong>de</strong> código que se encuentran en la zona señalada como<br />
modificable.<br />
POST<br />
IF(X0_parado OR Reset_contador)THEN (* Reset <strong>de</strong> contadores y consignas *)<br />
Vueltas:=0.0;<br />
Grados:=0.0;<br />
Error:=0.0;<br />
Error_anterior:=0.0;<br />
Integral:=0.0;<br />
Consigna:=0.0;<br />
Consigna_anterior:=0.0;<br />
END_IF;<br />
(*Activación <strong>de</strong>l contador*)<br />
Puesta_a_cero_contador:=(X0_parado OR Reset_contador);(* Puesta a cero *)<br />
IF X0_parado THEN<br />
SET Activacion_contador;(* Activación <strong>de</strong>l contaje *)<br />
SET Habilitacion_paso_min_max;(* Permite el paso <strong>de</strong>l contador <strong>de</strong>l min al max viceversa*)<br />
END_IF;<br />
(* Inicialización *)<br />
IF X1_en_marcha AND Locked AND X5_espera_or<strong>de</strong>n_envio AND NOT Or<strong>de</strong>n_envio_cmd THEN<br />
Cmd_atv28:=6;(* paso a Standby *)<br />
SET Or<strong>de</strong>n_envio_cmd;<br />
RESET Locked;<br />
SET Standby;<br />
END_IF;<br />
IF X1_en_marcha AND Standby AND X5_espera_or<strong>de</strong>n_envio AND NOT Or<strong>de</strong>n_envio_cmd THEN<br />
Cmd_atv28:=7;(* paso a Ready *)<br />
SET Or<strong>de</strong>n_envio_cmd;<br />
RESET Standby;<br />
IF(%X0 OR %M10)THEN (* Reset <strong>de</strong> contadores y consignas *)<br />
%MF8:=0.0;<br />
%MF10:=0.0;<br />
%MF24:=0.0;<br />
%MF26:=0.0;<br />
%MF18:=0.0;<br />
%MF20:=0.0;<br />
%MF22:=0.0;<br />
END_IF;<br />
(*Activación <strong>de</strong>l contador*)<br />
%Q3.0.1:=(%X0 OR %M10);(* Puesta a cero *)<br />
IF %X0 THEN<br />
SET %Q3.0;(* Activación <strong>de</strong>l contaje *)<br />
SET %Q3.0.15;(* Permite el paso <strong>de</strong>l contador <strong>de</strong>l min al max y viceversa*)<br />
END_IF;<br />
(* Inicialización *)<br />
IF %X1 AND %M11 AND %X5 AND NOT %M0 THEN<br />
%MW28:=6;(* paso a Standby *)<br />
SET %M0;<br />
RESET %M11;<br />
SET %M12;<br />
END_IF;<br />
IF %X1 AND %M12 AND %X5 AND NOT %M0 THEN<br />
%MW28:=7;(* paso a Ready *)<br />
SET %M0;<br />
RESET %M12;<br />
http://www.isa.uniovi.es/docencia/iea
<strong>INGENIERÍA</strong> <strong>ELECTRÓNICA</strong> Y<br />
<strong>AUTOMÁTICA</strong><br />
END_IF;<br />
SET Ready;<br />
END_IF;<br />
SET %M13;<br />
IF X1_en_marcha AND Ready AND X5_espera_or<strong>de</strong>n_envio AND NOT Or<strong>de</strong>n_envio_cmd THEN<br />
Cmd_atv28:=15;(* paso a Run *)<br />
SET Or<strong>de</strong>n_envio_cmd;<br />
RESET Ready;<br />
SET Run;<br />
END_IF;<br />
(* Paso a stop *)<br />
IF X0_parado AND NOT Locked AND X5_espera_or<strong>de</strong>n_envio AND NOT Or<strong>de</strong>n_envio_cmd THEN<br />
Cmd_atv28:=0;(* paso a Locked *)<br />
SET Or<strong>de</strong>n_envio_cmd;<br />
SET Locked;<br />
RESET Run;<br />
END_IF;<br />
(* Comunicaciones *)<br />
(* Envío <strong>de</strong> comando y consigna *)<br />
IF X6_envio_iniciado THEN<br />
WRITE_VAR(ADR#0.1.1,'%MW',400,2,Cmd_atv28:2,Estado_<strong>de</strong>_envio:4);<br />
RESET Or<strong>de</strong>n_envio_cmd;<br />
END_IF;<br />
(* Lectura <strong>de</strong> los parametros <strong>de</strong>l ATV28 *)<br />
IF X8_recepcion_iniciada THEN<br />
READ_VAR(ADR#0.1.1,'%MW',450,9,Referencia_<strong>de</strong>_frecuencia:9,Estado_<strong>de</strong>_recepcion:4);<br />
END_IF;<br />
FAST-Muestreo<br />
(*Muestreo <strong>de</strong>l enco<strong>de</strong>r cada 100ms. Cálculo <strong>de</strong> RPM, Vueltas y Grados girados *)<br />
(* Lectura actual <strong>de</strong>l contador *)<br />
Contador_actual:=Contador;<br />
(* Diferencia con la medida anterior. Cambio <strong>de</strong> signo <strong>de</strong> giro *)<br />
Incremento_<strong>de</strong>l_contador:=-(Contador_actual-Contador_anterior);<br />
Contador_anterior:=Contador_actual;(* VALOR GUARDADO PARA LA PRÓXIMA LECTURA *)<br />
(* Para evitar saltos cuando el contador llega al Max. o al Min. <strong>de</strong> la cuenta *)<br />
IF Incremento_<strong>de</strong>l_contador>8000000 THEN<br />
Incremento_<strong>de</strong>l_contador:=Incremento_<strong>de</strong>l_contador-33554432;<br />
END_IF;<br />
IF Incremento_<strong>de</strong>l_contador500 THEN Consigna_atv28:=500;END_IF;<br />
IF Consigna_atv288000000 THEN<br />
%MD4:=%MD4-33554432;<br />
END_IF;<br />
IF %MD4500 THEN %MW29:=500;END_IF;<br />
IF %MW29
<strong>INGENIERÍA</strong> <strong>ELECTRÓNICA</strong> Y<br />
<strong>AUTOMÁTICA</strong><br />
3. BUS MODBUS DE LA MESA DE RODILLOS<br />
Al igual que los PLCs <strong>de</strong> los Paneles <strong>de</strong> Automatismos, el PLC <strong>de</strong> la maqueta <strong>de</strong> la mesa <strong>de</strong><br />
rodillos cuenta con una tarjeta <strong>de</strong> comunicaciones SCP114 conectada a un sistema <strong>de</strong> cableado<br />
Unitelway al que se conecta el variador <strong>de</strong> velocidad Altivar 66 (ATV66) como esclavo <strong>de</strong>l bus.<br />
Para po<strong>de</strong>r comunicar los dos dispositivos fueron necesarios los siguientes elementos:<br />
TSX Micro<br />
Panel <strong>de</strong><br />
Control<br />
Altivar 66<br />
Magelis<br />
Alimentación<br />
ATV66<br />
TSX Micro<br />
- Tarjeta PCMCIA <strong>de</strong> conexión al autómata, mo<strong>de</strong>lo TSX SCP 114<br />
para UNITELWAY en comunicación serie RS 485.<br />
- Cable <strong>de</strong> conexión UNITELWAY entre la tarjeta PCMCIA TSX<br />
SCP 114 y la caja TSX SCA 50.<br />
- Caja <strong>de</strong> <strong>de</strong>rivación pasiva TSX SCA 50, que adapta<br />
impedancia. Esta caja contiene una tarjeta <strong>de</strong> circuito<br />
impreso en su interior con tres grupos <strong>de</strong> terminales <strong>de</strong><br />
conexión. Proporciona continuidad <strong>de</strong> las señales<br />
eléctricas y la continuidad en el apantallamiento.<br />
- Toma <strong>de</strong> abonado pasiva con dos vías UNI-TELWAY,<br />
mo<strong>de</strong>lo TSX SCA 62, que codifica la dirección <strong>de</strong> los<br />
equipos conectados y adapta la impedancia <strong>de</strong> la línea.<br />
Contiene una tarjeta interior <strong>de</strong> circuito impreso y dos<br />
bloques terminales para conectores <strong>de</strong> 15 pines, para<br />
conexión al bus UNI-TELWAY <strong>de</strong> dos dispositivos.<br />
- Kit <strong>de</strong> comunicación VW3A66301U, que consiste en un<br />
conector <strong>de</strong> 15 pines para conexión a la caja TSX SCA 62, un<br />
cable <strong>de</strong> 3m, y una tarjeta PCMCIA <strong>de</strong> conexión al ATV66.<br />
El programa instalado en el PLC utiliza las funciones READ_VAR() y WRITE_VAR(),<br />
<strong>de</strong>scritas anteriormente, para leer y escribir en los registros <strong>de</strong>l ATV66 y realizar su a<strong>de</strong>cuada<br />
configuración para realizar las prácticas.<br />
http://www.isa.uniovi.es/docencia/iea
4. BUS ASI DEL PANEL DOMÓTICO<br />
<strong>INGENIERÍA</strong> <strong>ELECTRÓNICA</strong> Y<br />
<strong>AUTOMÁTICA</strong><br />
El panel domótico cuenta con un bus ASI que permite comunicar los dispositivos<br />
sensores y actuadores con el PLC a través <strong>de</strong> dos módulos <strong>de</strong> entradas y salidas conectados al<br />
mencionado bus. El PLC cuenta con un módulo SAZ 10 para po<strong>de</strong>r gestionar, como maestro, el<br />
bus ASI.<br />
Fuente <strong>de</strong><br />
alimentación<br />
SAZ 10<br />
Maestro<br />
BUS ASI<br />
Módulo 2E/2S - Perfil 3.0<br />
Esclavo 3<br />
Direcciones:<br />
Entradas<br />
%I\4.0\ 3.0<br />
%I\4.0\ 3.1<br />
Salidas<br />
%Q\4.0\ 3.2<br />
%Q\4.0\ 3.3<br />
Direcciones:<br />
Entradas (0-3)<br />
%I\4.0\ 1.x<br />
Salidas (0-3)<br />
%Q\4.0\ 1.x<br />
Módulo 4E/4S - Perfil 7.0<br />
Esclavo 1<br />
La siguiente figura muestra la configuración <strong>de</strong>l autómata <strong>de</strong>l panel domótico, que incluye la<br />
configuración <strong>de</strong>l módulo <strong>de</strong> comunicación AS-i y <strong>de</strong> los dos módulos <strong>de</strong> periferia conectados<br />
con las direcciones 1 (perfil 7.0) y 3 (perfil 3.0).<br />
1<br />
2<br />
3<br />
4<br />
http://www.isa.uniovi.es/docencia/iea
<strong>INGENIERÍA</strong> <strong>ELECTRÓNICA</strong> Y<br />
<strong>AUTOMÁTICA</strong><br />
5. RED DELA PLANTA DE LOS DEPÓSITOS<br />
El módulo ioControl <strong>de</strong> la planta <strong>de</strong> los <strong>de</strong>pósitos está conectado directamente a la red Ethernet<br />
<strong>de</strong>l edificio, soporta el protocolo TCP/IP y tiene asignada la dirección IP 156.35.152.190. Esto<br />
permite monitorizarla y controlarla mediante el programa <strong>de</strong> monitorización ejecutado en un PC<br />
conectado a Internet en cualquier punto <strong>de</strong>l mundo. Las siguientes figuras muestran la estructura<br />
<strong>de</strong> la red y el ejemplo <strong>de</strong> pantalla <strong>de</strong> monitorización utilizado en las prácticas.<br />
Internet<br />
Cámara<br />
TCP/IP<br />
Red Ethernet<br />
(TCP/IP)<br />
ioControl<br />
E<br />
S<br />
PC <strong>de</strong> <strong>de</strong>sarrollo<br />
y monitorización<br />
Como curiosidad, la planta también pue<strong>de</strong> ser monitorizada a través <strong>de</strong> una cámara IP instalada<br />
en el laboratorio accediendo a ella a través <strong>de</strong> un navegador Web con la dirección<br />
156.35.152.187, el nombre <strong>de</strong> usuario “<strong>de</strong>positos” y la contraseña “maqueta”:<br />
http://www.isa.uniovi.es/docencia/iea
http://www.isa.uniovi.es/docencia/iea<br />
<strong>INGENIERÍA</strong> <strong>ELECTRÓNICA</strong> Y<br />
<strong>AUTOMÁTICA</strong>
http://www.isa.uniovi.es/docencia/iea<br />
<strong>INGENIERÍA</strong> <strong>ELECTRÓNICA</strong> Y<br />
<strong>AUTOMÁTICA</strong>