Comunicacionesequipospracticas Maestro Esclavo Plc Tsx Micro

16
!"" # $% $ % $ &%’()) ! " #$ % ! %& ’ ( &")" ## *"+, " - .+ % ( * %+, ( - - .! ! / %& ! ./ * ( - ! %& .&0/ # .#1/ %+, !2 3 4"5 ! ( * 4) 5 * 66 #!7 ( * %& 7 * * 6 ( 66 6 68 %& * ./ $9% * 68 * $9% 9% $:; ( !2 2 * 6< + * 6= $9% ( ! .( ’/ ( * %+, ’ 6< &* $9% 6= > $9%

Transcript of Comunicacionesequipospracticas Maestro Esclavo Plc Tsx Micro

Page 1: Comunicacionesequipospracticas Maestro Esclavo Plc Tsx Micro

INGENIERÍA ELECTRÓNICA Y AUTOMÁTICA

http://www.isa.uniovi.es/docencia/iea

1. REDES DE COMUNICACIONES DE LA FMS-200.

En la FMS200 se han instalado dos redes de comunicación: Unitelway y Ethernet. En la actualidad solo suele estar operativa la segunda, conectándose la primera sólo en ocasiones para pruebas o prácticas de determinadas asignaturas. Además, el autómata TSX Premium cuenta con un enlace Modbus con uno de los PCs de la sala para la utilización de paquetes SCADA.

1.1. Intercambios con los autómatas.Para que el software PL7 se comunique con un autómata ha de existir un medio de conexión (cable de comunicación serie, bus de comunicaciones o red de comunicaciones) y el PC debe tener instalado un controlador de comunicaciones adecuado.

El controlador (driver) de comunicaciones por defecto es el Unitelway, que permite la conexión con el autómata mediante un cable de comunicación serie entre un puerto de comunicaciones del PC (COM) y el conector de Terminal (TER) del autómata. En el PL7, bajo el menú “Autómata” habrá que configurar la “Dirección del autómata” de la manera indicada en la figura 1.1. También se puede usar ese controlador en el caso de que el autómata forme parte de una red Unitelway y el PC tenga acceso a ella a través de uno de los puertos de comunicación serie. El autómata se direcciona de forma similar a la figura 1.2 dependiendo de la estructura de direcciones que tenga la red.

Figura 1.1. Figura 1.2. Figura 1.3.

Si el autómata dispone de un módulo de comunicaciones Ethernet y el PC tiene instalado y configurado el controlador (driver) XIP, la dirección del autómata en este caso tiene el aspecto representado en la figura 1.3. En la configuración del controlador XIP se han de detallar las direcciones IP y X-Way de cada autómata con el que se va a trabajar como se muestra en el ejemplo de la figura 1.4. La figura 1.5 muestra el aspecto de la ventana del controlador XIP que debe permanecer activa (aunque sea minimizada) para que el software PL7 pueda utilizar el controlador para comunicarse con el autómata.

Figura 1.4. Configuración del driver XIP. Figura 1.5. Ventana del driver XIP.

Page 2: Comunicacionesequipospracticas Maestro Esclavo Plc Tsx Micro

INGENIERÍA ELECTRÓNICA Y AUTOMÁTICA

http://www.isa.uniovi.es/docencia/iea

1.2 Bus Unitelway.

La siguiente figura representa las direcciones del bus Unitelway asignadas a cada una de las estaciones:

La construcción del bus Unitelway precisa de la incorporación de numerosos dispositivos: cajas de conexión (SCA 50), diferentes cables de conexión (SCY CU 6030, SCA 100, etc.). El autómata TSX Premium, que actúa como maestro del bus, se conecta mediante la via 0 del módulo SCY 21601 conectado en la posición 1 de su rack, mientras que los TSX Micro, los esclavos, se conectan a las cajas de conexión desde su conector TER.

La comunicación sobre este bus se establece normalmente desde el programa del maestro que mediante funciones READ_VAR() y WRITE_VAR() (cuyo uso se describe más adelante en el ejemplo de los paneles de automatismos) lee o escribe datos en los objetos de la memoria de los esclavos. Desde el programa de los PLCs esclavos se puede también realizar lecturas y escrituras de otros dispositivos (maestros o esclavos de la red), pero en este caso es necesario utilizar la función SEND_REQ() (se describirá su uso en un ejemplo más adelante) que es más compleja de utilizar.

Page 3: Comunicacionesequipospracticas Maestro Esclavo Plc Tsx Micro

INGENIERÍA ELECTRÓNICA Y AUTOMÁTICA

http://www.isa.uniovi.es/docencia/iea

1.5 Bus ModbusEl segundo bus de campo presente en la célula FMS 200 es una red Modbus, representada tambien en la figura anterior, compuesta únicamente por dos equipos, un PC supervisor, y el autómata TSX Premium que gestiona la línea con una tarjeta SCP 111 en el módulo SCY 21601.

Los mensajes Modbus son enviados a través de un enlace de comunicación asíncrona en serie RS 232. Modbus resulta idóneo para las arquitecturas Maestro/Esclavo y presenta ventajas sustanciales respecto al bus Unitelway en términos de estandarización, compatibilidad, extensibilidad, velocidad y flujo de datos. Su empleo se justificaba por las exigencias del software SCADA instalado en el PC supervisor.

El bus se compone de una estación Maestra y de varias estaciones Esclavas. La estación Maestra es la única que suele tomar la iniciativa de intercambio, usando las funciones READ_VAR() y WRITE_VAR() como en el caso anteriór, mientras que las Esclavas no pueden comunicarse directamente y lo hacen a través del maestro con la función SEND_REQ(). Existen dosmecanismos de intercambio:

• Pregunta/Respuesta: la Maestra transmite preguntas a una Esclava determinada, que a su vez transmite una respuesta a la Maestra.

• Difusión: la Maestra transmite un mensaje a todas las estaciones Esclavas del bus, que ejecutan la orden sin transmitir ninguna respuesta.

Lo conexión Modbus presente en la célula FMS 200 consta de un equipo maestro, el PC y un único esclavo, el autómata Premium maestro de la red UNITELWAY.

1.4 Red Ethenet.

La principal ventaja de la red Ethernet para los PLCs TSX es que incorpora el servicio IO Scanning, mediante el cual, el maestro de la red realiza cíclicamente imágenes de zonas de la memoria de los esclavos en el maestro y viceversa, sin la necesidad de llamar a ninguna función desde el programa de los autómatas. Una tarjeta ETY 510 en el rack del TSX Premiun permite la configuración y realización de este servicio. Los TSX Micro precisan de un puente ETZ 410,conectado a su conector TER para poder unirse a la red Ethernet. Este puente no les permite sermaestros del servicio IO Scanning.

Page 4: Comunicacionesequipospracticas Maestro Esclavo Plc Tsx Micro

INGENIERÍA ELECTRÓNICA Y AUTOMÁTICA

http://www.isa.uniovi.es/docencia/iea

La siguiente figura representa las direcciones asignadas a cada una de las estaciones para las distintas conexiones a través de la red Ethernet:

Además del servicio IO Scanning, se pueden usar las funciones READ_VAR(), WRITE_VAR() y SEND_REQ(), en las mismas condiciones de la red Unitelway, es decir, los esclavos TSX Micro sólo pueden hacer uso de la función SEND_REQ(), tal como se describe en el ejemplo siguiente.

Page 5: Comunicacionesequipospracticas Maestro Esclavo Plc Tsx Micro

INGENIERÍA ELECTRÓNICA Y AUTOMÁTICA

http://www.isa.uniovi.es/docencia/iea

EJEMPLO DE FUNCIONES DE COMUNICACIÓN CON ETHERNET

FUNCIÓN DE ESCRITURA (envío de una o varias palabras)

Escritura de una palabra con el valor 12 sobre la palabra %MW100 del autómata con dirección XWay 1.5 para el que debe estar definida una conexión Unitelway en la configuración del módulo de comunicaciones ETZ410.

%MW11:=16#0501 Dirección 1: Dirección Xway en hexadecimal (ejemplo dirección Unitelway 1.5)%MW12:=16#0000 Dirección 2: 0%MW13:=16#0000 Dirección 3: 0%MW14:=16#0768 Tipo palabra 07; Zona 68%MW15:=100 Palabra donde se va a escribir (%MW100)%MW16:=1 Longitud en palabras que se van a escribir%MW17:=12 Valor(es) que se va(n) a escribir (12 en %MW100)

(%MW20) Palabra reservada para el byte de gestión

(%MW30:X1) Bit de actividad (permanece a 1 mientras se realiza la operación de envío)(%MW31) Byte bajo = byte de comunicación. Byte alto = byte de control%MW32:=60 Timeout en 0.1 segundos (6 segundos)%MW33:=14 Longitud en bytes a tansmitir (de %MW11 a %MW17->14 bytes)

(No asignar valores a las palabras %MW20, %MW30 y %MW31, son usadas por el sistema)

SEND_REQ(ADR#0.0.4,16#0037,%MW11:7,%MW20:1,%MW30:4);

(ADR#0.0.4 Dirección del módulo de comunicación Ethenet ETZ410)(16#0037 Comando de escritura)

FUNCIÓN DE LECTURA (recepción de una o varias palabras)

Lectura de la palabra %MW200 del autómata con dirección XWay 1.5 para el que debe estar definida una conexión Unitelway en la configuración del módulo de comunicaciones ETZ410.

%MW21:=16#0501 Dirección 1: Dirección Xway en hexadecimal (ejemplo dirección Unitelway 1.5)%MW22:=16#0000 Dirección 2: 0%MW23:=16#0000 Dirección 3: 0%MW24:=16#0768 Tipo palabra 07; Zona 68%MW25:=200 Palabra que se va a leer (%MW200)%MW26:=1 Longitud en palabras que se van a leer

(%MW50:2) Palabras reservada para el byte de gestión y la palabra leída (2 palabras)

(%MW40:X1) Bit de actividad (permanece a 1 mientras se realiza la operación de envío)(%MW41) Byte bajo = byte de comunicación. Byte alto = byte de control%MW42:=60 Timeout en 0.1 segundos (6 segundos)%MW43:=12 Longitud en bytes a transmitir (de %MW21 a %MW26->12 bytes)

(No asignar valores a las palabras %MW40, %MW41, %MW50 y %MW51, son usadas por el sistema)

SEND_REQ(ADR#0.0.4,16#0036,%MW21:6,%MW50:2,%MW40:4);

(ADR#0.0.4 Dirección del módulo de comunicación Ethenet ETZ410)(16#0036 Comando de lectura)

Los datos se reciben en %MW50 pero el primer byte (el menos significativo) es de gestión de la comunicación y los datos leídos empiezan en el segundo byte de %MW50 (el más significativo). Habrá que reordenar los bytes. Para una sola palabra, el primer byte será el segundo de %MW50 y el segundo será el primero de %MW51. Hay que usar la función ROR_ABR para rotar adecuadamente los cuatro bytes de las palabras %MW50 y %MW51 (4 bytes, de %MB100 a %MB104). De esa manera la palabra recibida quedará en %MW50:

ROR1_ARB(%MB100:4);

El programa de ejemplo que se describe en las siguientes figuras se puede cargar en un autómata TSXMicro de la FMS-200 o de los paneles de automatismos, para escribir o leer datos en la memoria de palabras (%MW) de otro autómata que este encendido y conectado a la misma red Ethernet (este puede estar en RUN o en STOP). Es

Page 6: Comunicacionesequipospracticas Maestro Esclavo Plc Tsx Micro

INGENIERÍA ELECTRÓNICA Y AUTOMÁTICA

http://www.isa.uniovi.es/docencia/iea

necesario que en la configuración de los módulos ETZ-410 de cada autómata esté definida la conexión XWay con el otro autómata. La pantalla de explotación permite definir la dirección y posición que se quiere leer o escribir en el otro autómata.

%M0 %M1

%MW30:X0 OR %X6.T>20 %MW35:X0 OR %X8.T>20

NOT %MW30:X0 OR %X10.T>20

(16#00FF AND %MW36)=0 (16#00FF AND %MW36)<>0(16#00FF AND %MW31)=0 (16#00FF AND %MW31)<>0

NOT %MW35:X0 OR %X12.T>20

POST(*Enviar (escribir) *)IF X6_inicio_escritura THEN

(* %MW11:=16#6901;(* dirección 1 Xway-Modbus 1.105 *)(* %MW11:=16#5601;(* dirección 1 Xway-Unitelway 1.5 *)Direccion2:=16#0000;(* dirección 2 *)Direccion3:=16#0000;(* dirección 3 *)Tipo_zona:=16#0768;(* Tipo palabra 07; Zona 68 *)(* %MW15:=100;(* Palabra donde se va a escribir: %MW100 *)Numero_de_posiciones:=1;(* Longitud en palabras que se van a escribir *)(* %MW16:=12;(* Valores que se van a escribir: 12 en %MW100 *)Tiempo_espera:=60;(* Timeout en 0.1 segundos: 6 segundos*)Longitud_telegrama:=14;(* Longitud en bytes a tansmitir %MW11 a 17->14 bytes*)SEND_REQ(ADR#0.0.4,16#0037,Direccion1:7,Byte_objeto:1,Numero_y_bit_actividad:4);RESET Orden_de_escritura;

END_IF;

(*Recibir (leer) *)IF X8_inicio_lectura THEN

(* %MW21:=16#6901;(* dirección 1 Xway-Modbus 1.105 *)(* %MW21:=16#0501;(* dirección 1 Xway-Unitelway 1.5 *)Direccion2_l:=16#0000;(* dirección 2 *)Direccion3_l:=16#0000;(* dirección 3 *)Tipo_zona_l:=16#0768;(* Tipo palabra 07; Zona 68 *)(* %MW25:=100;(* Palabra donde se va a leer: %MW100 *)Numero_de_posiciones_l:=1;(* Longitud en palabras que se van a leer *)Tiempo_espera_l:=60;(* Timeout en 0.1 segundos: 6 segundos*)Longitud_telegrama_l:=12;(* longitud en bytes a tansmitir %MW21 a 26->12 bytes*)SEND_REQ(ADR#0.0.4,16#0036,Direccion1_l:6,Dato_leido:2,Numero_y_bit_actividad_l:4);RESET Orden_de_lectura;

END_IF;

(* Los datos se reciben en %MW27 pero el primer byte (el menos significativo) es de gestión de la comunicación y los datos leídos empiezan en el segundo byte de %MW27 (el más significativo). *)(*Habrá que reordenar los bytes, para una sola palabra, el primer byte será elsegundo de %MW27 y el segundo será el primero de %MW28. Hay que usar la funciónROR_ABR para rotar adecuadamente los cuatro bytes de las palabras %MW27 y %MW28(%MB54 a %MB57)*)IF X13_lectura_finalizada THEN

ROR1_ARB(%MB54:4);END_IF;

(*Enviar (escribir) *)IF %X6 THEN

(* %MW11:=16#6901;(* dirección 1 Xway-Modbus 1.105 *)(* %MW11:=16#5601;(* dirección 1 Xway-Unitelway 1.5 *)%MW12:=16#0000;(* dirección 2 *)%MW13:=16#0000;(* dirección 3 *)%MW14:=16#0768;(* Tipo palabra 07; Zona 68 *)(* %MW15:=100;(* Palabra donde se va a escribir: %MW100 *)%MW16:=1;(* Longitud en palabras que se van a escribir *)(* %MW16:=12;(* Valores que se van a escribir: 12 en %MW100 *)%MW32:=60;(* Timeout en 0.1 segundos: 6 segundos*)%MW33:=14;(* Longitud en bytes a tansmitir %MW11 a 17->14 bytes*)SEND_REQ(ADR#0.0.4,16#0037,%MW11:7,%MW20:1,%MW30:4);RESET %M0;

END_IF;

(*Recibir (leer) *)IF %X8 THEN

(* %MW21:=16#6901;(* dirección 1 Xway-Modbus 1.105 *)(* %MW21:=16#0501;(* dirección 1 Xway-Unitelway 1.5 *)%MW22:=16#0000;(* dirección 2 *)%MW23:=16#0000;(* dirección 3 *)%MW24:=16#0768;(* Tipo palabra 07; Zona 68 *)(* %MW25:=100;(* Palabra donde se va a leer: %MW100 *)%MW26:=1;(* Longitud en palabras que se van a leer *)%MW37:=60;(* Timeout en 0.1 segundos: 6 segundos*)%MW38:=12;(* Longitud en bytes a tansmitir %MW21 a 26->12 bytes*)SEND_REQ(ADR#0.0.4,16#0036,%MW21:6,%MW27:2,%MW35:4);RESET %M1;

END_IF;

(* Los datos se reciben en %MW27 pero el primer byte (el menos significativo) es de gestión de la comunicación y los datos leídos empiezan en el segundo byte de %MW27 (el más significativo). *)(*Habrá que reordenar los bytes, para una sola palabra, el primer byte será elsegundo de %MW27 y el segundo será el primero de %MW28. Hay que usar la funciónROR_ABR para rotar adecuadamente los cuatro bytes de las palabras %MW27 y %MW28(%MB54 a %MB57)*)IF %X13 THEN

ROR1_ARB(%MB54:4);END_IF;

Page 7: Comunicacionesequipospracticas Maestro Esclavo Plc Tsx Micro

INGENIERÍA ELECTRÓNICA Y AUTOMÁTICA

http://www.isa.uniovi.es/docencia/iea

2. REDES DE LOS PANELES DE AUTOMATISMOS.

Los paneles de automatismos disponen cada uno de un PLC TSX-Micro con su correspondiente puente Ethernet ETZ-410 y una tarjeta SCP-114 en la ranura de su CPU. Esta tarjeta permiteestablecer un bus de comunicación MODBUS con el Variador de Velocidad ATV28 presente en el panel, en el cual, el PLC actúa como maestro del bus.

ModbusATV28

Motor

SCP 114

ETZ-410

2.1 Red Ethernet

La red Ethernet instalada está soportada por un Conmutador Ethernet 10/100 Mbps al que se conectan los PCs y los PLCs para permitir la programación y control de estos mediante el programa PL7. La figura representa las direcciónes IP y XWay que se han asignado a cada equipo según su situación en el Panel y las mesas del laboratorio correspondientes.

La red Ethernet permite también la comunicación de los PLCs entre si de manera similar a como se ha descrito en el caso de la FMS-200.

2.2 Bus MODBUS

La tarjeta de comunicaciones SCP114 del PLC está conectada a un sistema de cableado Unitelway al que se conecta el ATV28 como esclavo del bus. Una vez configurada adecuadamente, permite enviar desde el programa del autómata órdenes al ATV28, escribiendo y leyendo datos de algunos de sus registros de manera similar a como se puede escribir o leer datos en la memoria de usuario de otro PLC.

Las funciones utilizadas para leer y escribir en los registros del ATV28 son las funciones READ_VAR() y WRITE_VAR(). Los registros fundamentales para gobernar el ATV28 son el %MW400 (CMD), donde se escriben los comandos que se quiere que ejecute el ATV28 y el%MW401 (Consigna) donde se escribe la consigna de velocidad a la que se quiere que gire el motor. Otros registros documentados en los manuales del ATV28 permiten conocer su estado

PANEL 1

PC 1 {1.11}10.0.2.11

PC 2 {1.12}10.0.2.12

PANEL 6

{1.6}10.0.2.6

PANEL 2

{1.2}10.0.2.2

PANEL 5

{1.1}10.0.2.1

PC 6 {1.16}10.0.2.16

PC 5 {1.15}10.0.2.15

PC 3 {1.13}10.0.2.13

PC 4 {1.14}10.0.2.14

PANEL 3

{1.3}10.0.2.3

PANEL 4

{1.4}10.0.2.4

EthenetSwitch 10/100

{1.5}10.0.2.5

Page 8: Comunicacionesequipospracticas Maestro Esclavo Plc Tsx Micro

INGENIERÍA ELECTRÓNICA Y AUTOMÁTICA

http://www.isa.uniovi.es/docencia/iea

(mediante su lectura) o cambiar los parámetros de configuración del dispositivo (mediante la escritura sobre ellos).

Configuración de la tarjeta de comunicaciones SCP114

READ_VAR(ADR#0.1.1,'%MW',450,5,%MW50:5,%MW60:4)

WRITE_VAR(ADR#0.1.1,'%MW',400,2,%MW30:2,%MW40:4)

ATV28

Protocolo MODBUS/JBUS

Enlace UNITELWAY RS458 (19.200 bps)

Maestro Esclavo 1

Via 0

Via 1SCP114

%MW30

%MW50

%MW31

%MW54

…………

…………

015

%MW400

%MW450

%MW401

%MW454

…………

…………

015CMD

ConsignaWRITE

READ

PosiciónVía

Esclavo

Palabras de control (4)Número de objetos

Posición 0

Posición local del objeto

Tipo de objeto a intercambiarPosición remota del objeto

Número de objetos consecutivos

%MW40:X0 Bit de actividad: se pone a uno al inicio de la función de comunicación y vuelve a cero cuando esta termina.

Palabras de control en el ATV28:CMD -> %MW400Consigna -> %MW401 (en 0.1Hz, de -50 a 50Hz)

Secuencia de comandos:• Puesta en marcha desde el encendido (locked):

CMD=H'0006' (paso a standby)CMD=H'0007' (paso a ready)CMD=H'000F' (paso a run)

• Paso a parado desde "run":CMD=H'0000' (paso a locked)

Funciones WRITE_VAR() y READ_VAR() sobre los registros del ATV28

El programa de ejemplo “ControlVyP.stx”, descrito en las siguientes figuras, utiliza estas funciones de comunicación. Una vez cargado en el autómata permite controlar la velocidad de giro del motor y su posición mediante varias pantallas de explotación, a través de la comunicación de comandos al ATV28.

La primera Pantalla de Explotación es un “Menú Principal” para acceder a las otras tres Pantallas de Explotación. Los botones centrales con los triángulos permiten elegir si se quiere realizar un “Control de Velocidad” o un “Control de Posición”. Luego se utilizan los botones anexos para saltar a las ventanas gráficas que permiten visualizar cada uno de los modos de control. El botón “Depuración” lleva a una pantalla especial desde la que se pueden comprobar el estado de las distintas variables y contadores del sistema en cualquier modo de control, pero sin la visualización de gráficos de tendencias. Se puede volver al “Menú Principal” desde cualquiera de las otras tres ventanas utilizando el botón correspondiente.

Configuración de la tarjeta de comunicaciones SCP 114 desde la aplicación PL7:

1º Acceder a la configuración de hardware y pinchar en comunicaciones.

2º Acceder a la pantalla de configuración de la vía de comunicación:- Seleccionar la vía de comunicación en el menú desplegable VÍA 1

- Seleccionar en el menú desplegable la tarjeta PCMCIA “TSX SCP 114 TARJETA PCMCIA RS485 MP”

- Seleccionar el enlace en el menú desplegable: “ENLACE MODBUS /JBUS”

3º Por último en la Pantalla de configuración de Modbus- Tipo: Maestro- Nº de reiteraciones: 3- Tiempo de respuesta: 2 (evita un retardo excesivo

cuando se pierde un mensaje)- Velocidad de transmisión: 19200 bits/s- Tiempo entre caracteres: 2- Datos: RTU (8 bits)- Parada: 1 bit- Paridad: Sin

Page 9: Comunicacionesequipospracticas Maestro Esclavo Plc Tsx Micro

INGENIERÍA ELECTRÓNICA Y AUTOMÁTICA

http://www.isa.uniovi.es/docencia/iea

La segunda Pantalla de Explotación “Ventana de Control de Velocidad” se utiliza cuando se ha seleccionado el “Control de Velocidad” y permite visualizar gráficamente las variables de control. En ella se puede arrancar y parar el control con los botones MARCHA y PARO. Una vez en marcha, la velocidad del motor se controla moviendo el deslizador con el ratón o introduciendo la velocidad deseada, positiva o negativa, en el campo de la derecha “Ref. R.P.M.”. Por otro lado, los valores de las constantes (Kp, Ki y Kd) del regulador que se tenga implementado en la tarea FAST-Muestreo del programa del autómata se pueden modificar en la parte inferior derecha. Mediante el botón “Menú Principal” se puede volver a la pantalla anterior.

NOTA: Los valores numéricos a introducir en los campos de las Pantallas de Explotación o del programa del autómata son números reales y el programa exige que se escriban con el punto decimal incluido, aunque no fuese necesario, para interpretarlos correctamente. Por ejemplo: “450.”, “-234.0”, “1243.78”, etc.

La tercera Pantalla de Explotación “Ventana de Control de Posición” se utiliza cuando se ha seleccionado el “Control de Posición” y permite las mismas funciones que la pantalla anterior para este modo de control.

La Pantalla de Explotación “Depuración” dispone también de los botones para poner en MARCHA o PARO el control. Mediante la lectura del contador de la señal del encoder, que se muestrea cada 100 ms, se informa en la pantalla de la velocidad (R.P.M.) del motor, el número de vueltas giradas y el número de grados girados. Un pulsador permite poner a cero los contadores de vueltas y grados para fijar la posición de inicio. Estos contadores también se resetean si se pasa el control a PARO. Se puede realizar el control de velocidad o de posición seleccionándolo con el botón “Selección Control Velocidad Posición”, seleccionar referencia de velocidad o posición y modificar los valores de las constantes del regulador que se tenga implementado en la tarea FAST-Muestreo del programa del autómata. Los campos inferiores informan de los comandos y valor de consigna enviados al ATV28 por el bus de comunicaciones. También está disponible el botón “Menú Principal”.

Page 10: Comunicacionesequipospracticas Maestro Esclavo Plc Tsx Micro

INGENIERÍA ELECTRÓNICA Y AUTOMÁTICA

http://www.isa.uniovi.es/docencia/iea

A continuación se muestran el Grafcet y POST del programa, que se encargan básicamente de la puesta en marcha y parada del control y de las comunicaciones con el ATV28, y la tarea FAST-Muestreo, que se ejecuta cada 100 ms e implementa el algoritmo de control que puede ser modificado cambiando las líneas de código que se encuentran en la zona señalada como modificable.

POSTIF(X0_parado OR Reset_contador)THEN (* Reset de contadores y consignas *)

Vueltas:=0.0;Grados:=0.0;Error:=0.0;Error_anterior:=0.0;Integral:=0.0;Consigna:=0.0;Consigna_anterior:=0.0;

END_IF;

(*Activación del contador*)Puesta_a_cero_contador:=(X0_parado OR Reset_contador);(* Puesta a cero *)IF X0_parado THEN

SET Activacion_contador;(* Activación del contaje *)SET Habilitacion_paso_min_max;(* Permite el paso del contador del min al max viceversa*)

END_IF;

(* Inicialización *)IF X1_en_marcha AND Locked AND X5_espera_orden_envio AND NOT Orden_envio_cmd THEN

Cmd_atv28:=6;(* paso a Standby *)SET Orden_envio_cmd;RESET Locked;SET Standby;

END_IF;

IF X1_en_marcha AND Standby AND X5_espera_orden_envio AND NOT Orden_envio_cmd THENCmd_atv28:=7;(* paso a Ready *)SET Orden_envio_cmd;RESET Standby;

IF(%X0 OR %M10)THEN (* Reset de contadores y consignas *)%MF8:=0.0;%MF10:=0.0;%MF24:=0.0;%MF26:=0.0;%MF18:=0.0;%MF20:=0.0;%MF22:=0.0;

END_IF;

(*Activación del contador*)%Q3.0.1:=(%X0 OR %M10);(* Puesta a cero *)IF %X0 THEN

SET %Q3.0;(* Activación del contaje *)SET %Q3.0.15;(* Permite el paso del contador del min al max y viceversa*)

END_IF;

(* Inicialización *)IF %X1 AND %M11 AND %X5 AND NOT %M0 THEN

%MW28:=6;(* paso a Standby *)SET %M0;RESET %M11;SET %M12;

END_IF;

IF %X1 AND %M12 AND %X5 AND NOT %M0 THEN%MW28:=7;(* paso a Ready *)SET %M0;RESET %M12;

Page 11: Comunicacionesequipospracticas Maestro Esclavo Plc Tsx Micro

INGENIERÍA ELECTRÓNICA Y AUTOMÁTICA

http://www.isa.uniovi.es/docencia/iea

SET Ready;END_IF;

IF X1_en_marcha AND Ready AND X5_espera_orden_envio AND NOT Orden_envio_cmd THENCmd_atv28:=15;(* paso a Run *)SET Orden_envio_cmd;RESET Ready;SET Run;

END_IF;

(* Paso a stop *)IF X0_parado AND NOT Locked AND X5_espera_orden_envio AND NOT Orden_envio_cmd THEN

Cmd_atv28:=0;(* paso a Locked *)SET Orden_envio_cmd;SET Locked;RESET Run;

END_IF;

(* Comunicaciones *)

(* Envío de comando y consigna *)IF X6_envio_iniciado THEN

WRITE_VAR(ADR#0.1.1,'%MW',400,2,Cmd_atv28:2,Estado_de_envio:4);RESET Orden_envio_cmd;

END_IF;

(* Lectura de los parametros del ATV28 *)IF X8_recepcion_iniciada THEN

READ_VAR(ADR#0.1.1,'%MW',450,9,Referencia_de_frecuencia:9,Estado_de_recepcion:4);END_IF;

SET %M13;END_IF;

IF %X1 AND %M13 AND %X5 AND NOT %M0 THEN%MW28:=15;(* paso a Run *)SET %M0;RESET %M13;SET %M14;

END_IF;

(* Paso a stop *)IF %X0 AND NOT %M11 AND %X5 AND NOT %M0 THEN

%MW28:=0;(* paso a Locked *)SET %M0;SET %M11;RESET %M14;

END_IF;

(* Comunicaciones *)

(* Envío de comando y consigna *)IF %X6 THEN

WRITE_VAR(ADR#0.1.1,'%MW',400,2,%MW28:2,%MW40:4);RESET %M0;

END_IF;

(* Lectura de los parametros del ATV28 *)IF %X8 THEN

READ_VAR(ADR#0.1.1,'%MW',450,9,%MW50:9,%MW45:4);END_IF;

FAST-Muestreo(*Muestreo del encoder cada 100ms. Cálculo de RPM, Vueltas y Grados girados *)

(* Lectura actual del contador *)Contador_actual:=Contador;

(* Diferencia con la medida anterior. Cambio de signo de giro *)Incremento_del_contador:=-(Contador_actual-Contador_anterior);Contador_anterior:=Contador_actual;(* VALOR GUARDADO PARA LA PRÓXIMA LECTURA *)

(* Para evitar saltos cuando el contador llega al Max. o al Min. de la cuenta *)IF Incremento_del_contador>8000000 THEN

Incremento_del_contador:=Incremento_del_contador-33554432;END_IF;IF Incremento_del_contador<-8000000 THEN

Incremento_del_contador:=Incremento_del_contador+33554432;END_IF;

(* Velocidad RPM en el último muestreo *)Rpm:=DINT_TO_REAL(Incremento_del_contador)*600.0/1024.0;

(* Vueltas totales giradas *)Vueltas:=DINT_TO_REAL(Incremento_del_contador)/1024.0+Vueltas;

(* Grados totales girados *)Grados:=DINT_TO_REAL(Incremento_del_contador)*360.0/1024.0+Grados;

(* Error de posición o de velocidad*)IF Velocidad_posicion THEN Error:=Referencia_grados-Grados;ELSE Error:=Referencia_rpm-Rpm;END_IF;(* Integral del Error recalculada cada 100ms *)Integral:=0.1*Error+Integral;

(* ********************************************************** *)(* ****** Inicio de la zona de modificación de código ******* *)(* ********************************************************** *)

(* Algoritmo de control para el cálculo del valor de consigna para el ATV28 en 0.1Hz*)

(* Cadena Abierta - SOLO CONTROL DE VELOCIDAD *)(* Consigna:=Referencia_rpm/3.0;*)

(* Cadena Cerrada Regulador P *)(* Consigna:=Kp*Error; *)

(* Cadena Cerrada Regulador PI *)(* Consigna:=Kp*Error+Ki*Integral; *)(* Consigna:=Kp*(Error+Ki*Integral); *)(* Consigna:=Consigna_anterior+Kp*(0.1*Ki+1.0)*Error-Kp*Error_anterior;*)

(* Cadena Cerrada Regulador PID *)(* Consigna:=Kp*Error+Ki*Integral+Kd*(Error -Error_anterior)/0.1;*)(* Consigna:=Kp*(Error+Ki*Integral+Kd*(Error-Error_anterior)/0.1);*)

(* ********************************************************** *)(* ********* Fin de la zona de modificación de código ******* *)(* ********************************************************** *)

(* Guardar valores para la siguiente iteración *)Error_anterior:=Error;Consigna_anterior:=Consigna;(* Paso de la consigna a un valor entero *)Consigna_atv28:=REAL_TO_INT(Consigna);(* Para que el valor de la consigna no se pase de +50Hz o -50Hz*)IF Consigna_atv28>500 THEN Consigna_atv28:=500;END_IF;IF Consigna_atv28<-500 THEN Consigna_atv28:=-500;END_IF;IF X1_en_marcha AND Run AND X5_espera_orden_envio AND NOT Orden_envio_cmd THEN

SET Orden_envio_cmd;(* orden de envío de comando y consigna *)END_IF;

(*Muestreo del encoder cada 100ms. Cálculo de RPM, Vueltas y Grados girados *)

(* Lectura actual del contador *)%MD0:=%ID3.0;

(* Diferencia con la medida anterior. Cambio de signo de giro *)%MD4:=-(%MD0-%MD2);%MD2:=%MD0;(* VALOR GUARDADO PARA LA PRÓXIMA LECTURA *)

(* Para evitar saltos cuando el contador llega al Max. o al Min. de la cuenta *)IF %MD4>8000000 THEN

%MD4:=%MD4-33554432;END_IF;IF %MD4<-8000000 THEN

%MD4:=%MD4+33554432;END_IF;

(* Velocidad RPM en el último muestreo *)%MF6:=DINT_TO_REAL(%MD4)*600.0/1024.0;

(* Vueltas totales giradas *)%MF8:=DINT_TO_REAL(%MD4)/1024.0+%MF8;

(* Grados totales girados *)%MF10:=DINT_TO_REAL(%MD4)*360.0/1024.0+%MF10;

(* Error de posición o de velocidad*)IF %M1 THEN %MF24:=%MF14-%MF10;ELSE %MF24:=%MF12-%MF6;END_IF;(* Integral del Error recalculada cada 100ms *)%MF18:=0.1*%MF24+%MF18;

(* ********************************************************** *)(* ****** Inicio de la zona de modificación de código ******* *)(* ********************************************************** *)

(* Algoritmo de control para el cálculo del valor de consigna para el ATV28 en 0.1Hz*)

(* Cadena Abierta - SOLO CONTROL DE VELOCIDAD *)(* Consigna:=Referencia_rpm/3.0;*)

(* Cadena Cerrada Regulador P *)(* Consigna:=Kp*Error; *)

(* Cadena Cerrada Regulador PI *)(* Consigna:=Kp*Error+Ki*Integral; *)(* Consigna:=Kp*(Error+Ki*Integral); *)(* Consigna:=Consigna_anterior+Kp*(0.1*Ki+1.0)*Error-Kp*Error_anterior;*)

(* Cadena Cerrada Regulador PID *)(* %MF20:=%MF16*%MF24+%MF32*%MF18+%MF38*(%MF24-%MF26)/0.1;*)(* Consigna:=Kp*(Error+Ki*Integral+Kd*(Error-Error_anterior)/0.1);*)

(* ********************************************************** *)(* ********* Fin de la zona de modificación de código ******* *)(* ********************************************************** *)

(* Guardar valores para la siguiente iteración *)%MF26:=%MF24;%MF22:=%MF20;(* Paso de la consigna a un valor entero *)%MW29:=REAL_TO_INT(%MF20);(* Para que el valor de la consigna no se pase de +50Hz o -50Hz*)IF %MW29>500 THEN %MW29:=500;END_IF;IF %MW29<-500 THEN %MW29:=-500;END_IF;IF %X1 AND %M14 AND %X5 AND NOT %M0 THEN

SET %M0;(* orden de envío de comando y consigna *)END_IF;

Page 12: Comunicacionesequipospracticas Maestro Esclavo Plc Tsx Micro

INGENIERÍA ELECTRÓNICA Y AUTOMÁTICA

http://www.isa.uniovi.es/docencia/iea

3. BUS MODBUS DE LA MESA DE RODILLOS

Al igual que los PLCs de los Paneles de Automatismos, el PLC de la maqueta de la mesa de rodillos cuenta con una tarjeta de comunicaciones SCP114 conectada a un sistema de cableado Unitelway al que se conecta el variador de velocidad Altivar 66 (ATV66) como esclavo del bus.Para poder comunicar los dos dispositivos fueron necesarios los siguientes elementos:

TSX Micro

Panel deControl

Magelis

Alimentación

Altivar 66

- Tarjeta PCMCIA de conexión al autómata, modelo TSX SCP 114 para UNITELWAY en comunicación serie RS 485.

- Cable de conexión UNITELWAY entre la tarjeta PCMCIA TSX SCP 114 y la caja TSX SCA 50.

- Caja de derivación pasiva TSX SCA 50, que adapta impedancia. Esta caja contiene una tarjeta de circuito impreso en su interior con tres grupos de terminales de conexión. Proporciona continuidad de las señales eléctricas y la continuidad en el apantallamiento.

- Toma de abonado pasiva con dos vías UNI-TELWAY, modelo TSX SCA 62, que codifica la dirección de los equipos conectados y adapta la impedancia de la línea. Contiene una tarjeta interior de circuito impreso y dos bloques terminales para conectores de 15 pines, para conexión al bus UNI-TELWAY de dos dispositivos.

- Kit de comunicación VW3A66301U, que consiste en un conector de 15 pines para conexión a la caja TSX SCA 62, un cable de 3m, y una tarjeta PCMCIA de conexión al ATV66.

El programa instalado en el PLC utiliza las funciones READ_VAR() y WRITE_VAR(), descritas anteriormente, para leer y escribir en los registros del ATV66 y realizar su adecuada configuración para realizar las prácticas.

ATV66

TSX Micro

Page 13: Comunicacionesequipospracticas Maestro Esclavo Plc Tsx Micro

INGENIERÍA ELECTRÓNICA Y AUTOMÁTICA

http://www.isa.uniovi.es/docencia/iea

4. BUS ASI DEL PANEL DOMÓTICO

El panel domótico cuenta con un bus ASI que permite comunicar los dispositivos sensores y actuadores con el PLC a través de dos módulos de entradas y salidas conectados al mencionado bus. El PLC cuenta con un módulo SAZ 10 para poder gestionar, como maestro, el bus ASI.

SAZ 10Maestro

BUS ASI

Fuente de alimentación

Módulo 2E/2S - Perfil 3.0Esclavo 3

Módulo 4E/4S - Perfil 7.0Esclavo 1

Direcciones:Entradas%I\4.0\ 3.0%I\4.0\ 3.1Salidas%Q\4.0\ 3.2%Q\4.0\ 3.3

Direcciones:Entradas (0-3)%I\4.0\ 1.x

Salidas (0-3)%Q\4.0\ 1.x

La siguiente figura muestra la configuración del autómata del panel domótico, que incluye la configuración del módulo de comunicación AS-i y de los dos módulos de periferia conectados con las direcciones 1 (perfil 7.0) y 3 (perfil 3.0).

1

2

3

4

Page 14: Comunicacionesequipospracticas Maestro Esclavo Plc Tsx Micro

INGENIERÍA ELECTRÓNICA Y AUTOMÁTICA

http://www.isa.uniovi.es/docencia/iea

5. RED DE LA PLANTA DE LOS DEPÓSITOS

El módulo ioControl de la planta de los depósitos está conectado directamente a la red Ethernet del edificio, soporta el protocolo TCP/IP y tiene asignada la dirección IP 156.35.152.190. Esto permite monitorizarla y controlarla mediante el programa de monitorización ejecutado en un PCconectado a Internet en cualquier punto del mundo. Las siguientes figuras muestran la estructura de la red y el ejemplo de pantalla de monitorización utilizado en las prácticas.

ioControlS

E

PC de desarrollo y monitorización

Red Ethernet(TCP/IP)

CámaraTCP/IP

Internet

Como curiosidad, la planta también puede ser monitorizada a través de una cámara IP instalada en el laboratorio accediendo a ella a través de un navegador Web con la dirección 156.35.152.187, el nombre de usuario “depositos” y la contraseña “maqueta”:

Page 15: Comunicacionesequipospracticas Maestro Esclavo Plc Tsx Micro

INGENIERÍA ELECTRÓNICA Y AUTOMÁTICA

http://www.isa.uniovi.es/docencia/iea

Page 16: Comunicacionesequipospracticas Maestro Esclavo Plc Tsx Micro

INGENIERÍA ELECTRÓNICA Y AUTOMÁTICA

http://www.isa.uniovi.es/docencia/iea