Você está na página 1de 16

INGENIERIA ELECTRNICA Y

AUTOMTICA
http://www.isa.uniovi.es/docencia/iea
1. REDES DE COMUNICACIONES DE LA FMS-200.
En la FMS200 se han instalado dos redes de comunicacion: Unitelway y Ethernet. En la
actualidad solo suele estar operativa la segunda, conectandose la primera solo en ocasiones para
pruebas o practicas de determinadas asignaturas. Ademas, el automata TSX Premium cuenta con
un enlace Modbus con uno de los PCs de la sala para la utilizacion de paquetes SCADA.
1.1. Intercambios con los autmatas.
Para que el soItware PL7 se comunique con un automata ha de existir un medio de conexion
(cable de comunicacion 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 deIecto es el Unitelway, que permite la conexion
con el automata mediante un cable de comunicacion serie entre un puerto de comunicaciones del
PC (COM) y el conector de Terminal (TER) del automata. En el PL7, bajo el menu 'Automata
habra que conIigurar la 'Direccion del automata de la manera indicada en la Iigura 1.1.
Tambien se puede usar ese controlador en el caso de que el automata Iorme parte de una red
Unitelway y el PC tenga acceso a ella a traves de uno de los puertos de comunicacion serie. El
automata se direcciona de Iorma similar a la Iigura 1.2 dependiendo de la estructura de
direcciones que tenga la red.
Figura 1.1. Figura 1.2. Figura 1.3.
Si el automata dispone de un modulo de comunicaciones Ethernet y el PC tiene instalado y
conIigurado el controlador (driver) XIP, la direccion del automata en este caso tiene el aspecto
representado en la Iigura 1.3. En la conIiguracion del controlador XIP se han de detallar las
direcciones IP y X-Way de cada automata con el que se va a trabajar como se muestra en el
ejemplo de la Iigura 1.4. La Iigura 1.5 muestra el aspecto de la ventana del controlador XIP que
debe permanecer activa (aunque sea minimizada) para que el soItware PL7 pueda utilizar el
controlador para comunicarse con el automata.
Figura 1.4. ConIiguracion del driver XIP. Figura 1.5. Ventana del driver XIP.
INGENIERIA ELECTRNICA Y
AUTOMTICA
http://www.isa.uniovi.es/docencia/iea
1.2 Bus Unitelway.
La siguiente Iigura representa las direcciones del bus Unitelway asignadas a cada una de
las estaciones:
La construccion del bus Unitelway precisa de la incorporacion de numerosos dispositivos: cajas
de conexion (SCA 50), diIerentes cables de conexion (SCY CU 6030, SCA 100, etc.). El
automata TSX Premium, que actua como maestro del bus, se conecta mediante la via 0 del
modulo SCY 21601 conectado en la posicion 1 de su rack, mientras que los TSX Micro, los
esclavos, se conectan a las cajas de conexion desde su conector TER.
La comunicacion sobre este bus se establece normalmente desde el programa del maestro que
mediante Iunciones READVAR() y WRITEVAR() (cuyo uso se describe mas 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 tambien realizar lecturas y escrituras
de otros dispositivos (maestros o esclavos de la red), pero en este caso es necesario utilizar la
Iuncion SENDREQ() (se describira su uso en un ejemplo mas adelante) que es mas compleja de
utilizar.
INGENIERIA ELECTRNICA Y
AUTOMTICA
http://www.isa.uniovi.es/docencia/iea
1.5 Bus Modbus
El segundo bus de campo presente en la celula FMS 200 es una red Modbus, representada
tambien en la Iigura anterior, compuesta unicamente por dos equipos, un PC supervisor, y el
automata TSX Premium que gestiona la linea con una tarjeta SCP 111 en el modulo SCY 21601.
Los mensajes Modbus son enviados a traves de un enlace de comunicacion asincrona en serie RS
232. Modbus resulta idoneo para las arquitecturas Maestro/Esclavo y presenta ventajas
sustanciales respecto al bus Unitelway en terminos de estandarizacion, compatibilidad,
extensibilidad, velocidad y Ilujo de datos. Su empleo se justiIicaba por las exigencias del
soItware SCADA instalado en el PC supervisor.
El bus se compone de una estacion Maestra y de varias estaciones Esclavas. La estacion Maestra
es la unica que suele tomar la iniciativa de intercambio, usando las Iunciones READVAR() y
WRITEVAR() como en el caso anterior, mientras que las Esclavas no pueden comunicarse
directamente y lo hacen a traves del maestro con la Iuncion SENDREQ(). Existen dos
mecanismos de intercambio:
Pregunta/Respuesta: la Maestra transmite preguntas a una Esclava determinada, que a su
vez transmite una respuesta a la Maestra.
DiIusion: la Maestra transmite un mensaje a todas las estaciones Esclavas del bus, que
ejecutan la orden sin transmitir ninguna respuesta.
Lo conexion Modbus presente en la celula FMS 200 consta de un equipo maestro, el PC y un
unico esclavo, el automata 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 ciclicamente imagenes de zonas de la
memoria de los esclavos en el maestro y viceversa, sin la necesidad de llamar a ninguna Iuncion
desde el programa de los automatas. Una tarjeta ETY 510 en el rack del TSX Premiun permite la
conIiguracion y realizacion 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 ser
maestros del servicio IO Scanning.
INGENIERIA ELECTRNICA Y
AUTOMTICA
http://www.isa.uniovi.es/docencia/iea
La siguiente Iigura representa las direcciones asignadas a cada una de las estaciones para las
distintas conexiones a traves de la red Ethernet:
Ademas del servicio IO Scanning, se pueden usar las Iunciones READVAR(), WRITEVAR()
y SENDREQ(), en las mismas condiciones de la red Unitelway, es decir, los esclavos TSX
Micro solo pueden hacer uso de la Iuncion SENDREQ(), tal como se describe en el ejemplo
siguiente.
INGENIERIA ELECTRNICA Y
AUTOMTICA
http://www.isa.uniovi.es/docencia/iea
E1EMPLO DE FUNCIONES DE COMUNICACIN CON ETHERNET
FUNCIN DE ESCRITURA (envo de una o varias palabras)
Escritura de una palabra con el valor 12 sobre la palabra MW100 del automata con direccion XWay 1.5 para el
que debe estar deIinida una conexion Unitelway en la conIiguracion del modulo de comunicaciones ETZ410.
%MW11:=16#0501 Direccin 1: Direccin Xway en hexadecimal (ejemplo direccin Unitelway 1.5)
%MW12:=16#0000 Direccin 2: 0
%MW13:=16#0000 Direccin 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 gestin
(%MW30:X1) Bit de actividad (permanece a 1 mientras se realiza la operacin de envo)
(%MW31) Byte bajo = byte de comunicacin. 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 Direccin del mdulo de comunicacin Ethenet ETZ410)
(16#0037 Comando de escritura)
FUNCIN DE LECTURA (recepcin de una o varias palabras)
Lectura de la palabra MW200 del automata con direccion XWay 1.5 para el que debe estar deIinida una conexion
Unitelway en la conIiguracion del modulo de comunicaciones ETZ410.
%MW21:=16#0501 Direccin 1: Direccin Xway en hexadecimal (ejemplo direccin Unitelway 1.5)
%MW22:=16#0000 Direccin 2: 0
%MW23:=16#0000 Direccin 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 gestin y la palabra leda (2 palabras)
(%MW40:X1) Bit de actividad (permanece a 1 mientras se realiza la operacin de envo)
(%MW41) Byte bajo = byte de comunicacin. 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 Direccin del mdulo de comunicacin Ethenet ETZ410)
(16#0036 Comando de lectura)
Los datos se reciben en MW50 pero el primer byte (el menos signiIicativo) es de gestion de la comunicacion y los
datos leidos empiezan en el segundo byte de MW50 (el mas signiIicativo). Habra que reordenar los bytes. Para
una sola palabra, el primer byte sera el segundo de MW50 y el segundo sera el primero de MW51. Hay que usar
la Iuncion RORABR para rotar adecuadamente los cuatro bytes de las palabras MW50 y MW51 (4 bytes, de
MB100 a MB104). De esa manera la palabra recibida quedara en MW50:
ROR1_ARB(%MB100:4);
El programa de ejemplo que se describe en las siguientes Iiguras se puede cargar en un automata TSXMicro de la
FMS-200 o de los paneles de automatismos, para escribir o leer datos en la memoria de palabras (MW) de otro
automata que este encendido y conectado a la misma red Ethernet (este puede estar en RUN o en STOP). Es
INGENIERIA ELECTRNICA Y
AUTOMTICA
http://www.isa.uniovi.es/docencia/iea
necesario que en la conIiguracion de los modulos ETZ-410 de cada automata este deIinida la conexion XWay con el
otro automata. La pantalla de explotacion permite deIinir la direccion y posicion que se quiere leer o escribir en el
otro automata.
%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) *)
F X6_inicio_escritura THEN
(* %MW11:=16#6901;(* direccin 1 Xway-Modbus 1.105 *)
(* %MW11:=16#5601;(* direccin 1 Xway-Unitelway 1.5 *)
Direccion2:=16#0000;(* direccin 2 *)
Direccion3:=16#0000;(* direccin 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_F;
(*Recibir (leer) *)
F X8_inicio_lectura THEN
(* %MW21:=16#6901;(* direccin 1 Xway-Modbus 1.105 *)
(* %MW21:=16#0501;(* direccin 1 Xway-Unitelway 1.5 *)
Direccion2_l:=16#0000;(* direccin 2 *)
Direccion3_l:=16#0000;(* direccin 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_F;
(* Los datos se reciben en %MW27 pero el primer byte (el menos significativo)
es de gestin de la comunicacin y los datos ledos empiezan en el segundo byte
de %MW27 (el ms significativo). *)
(*Habr que reordenar los bytes, para una sola palabra, el primer byte ser el
segundo de %MW27 y el segundo ser el primero de %MW28. Hay que usar la funcin
ROR_ABR para rotar adecuadamente los cuatro bytes de las palabras %MW27 y %MW28
(%MB54 a %MB57)*)
F X13_lectura_finalizada THEN
ROR1_ARB(%MB54:4);
END_F;
(*Enviar (escribir) *)
F %X6 THEN
(* %MW11:=16#6901;(* direccin 1 Xway-Modbus 1.105 *)
(* %MW11:=16#5601;(* direccin 1 Xway-Unitelway 1.5 *)
%MW12:=16#0000;(* direccin 2 *)
%MW13:=16#0000;(* direccin 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_F;
(*Recibir (leer) *)
F %X8 THEN
(* %MW21:=16#6901;(* direccin 1 Xway-Modbus 1.105 *)
(* %MW21:=16#0501;(* direccin 1 Xway-Unitelway 1.5 *)
%MW22:=16#0000;(* direccin 2 *)
%MW23:=16#0000;(* direccin 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_F;
(* Los datos se reciben en %MW27 pero el primer byte (el menos significativo)
es de gestin de la comunicacin y los datos ledos empiezan en el segundo byte
de %MW27 (el ms significativo). *)
(*Habr que reordenar los bytes, para una sola palabra, el primer byte ser el
segundo de %MW27 y el segundo ser el primero de %MW28. Hay que usar la funcin
ROR_ABR para rotar adecuadamente los cuatro bytes de las palabras %MW27 y %MW28
(%MB54 a %MB57)*)
F %X13 THEN
ROR1_ARB(%MB54:4);
END_F;
INGENIERIA ELECTRNICA Y
AUTOMTICA
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 permite
establecer un bus de comunicacion MODBUS con el Variador de Velocidad ATV28 presente en
el panel, en el cual, el PLC actua como maestro del bus.
Modbus
ATV28
Motor
SCP 114
ETZ-410
2.1 Red Ethernet
La red Ethernet instalada esta soportada por un Conmutador
Ethernet 10/100 Mbps al que se conectan los PCs y los PLCs para
permitir la programacion y control de estos mediante el programa
PL7. La Iigura representa las direcciones IP y XWay que se han
asignado a cada equipo segun su situacion en el Panel y las mesas
del laboratorio correspondientes.
La red Ethernet permite tambien la comunicacion 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 esta conectada a un sistema de cableado
Unitelway al que se conecta el ATV28 como esclavo del bus. Una vez conIigurada
adecuadamente, permite enviar desde el programa del automata ordenes 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 Iunciones utilizadas para leer y escribir en los registros del ATV28 son las Iunciones
READVAR() y WRITEVAR(). Los registros Iundamentales 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
Ethenet
Switch 10/100
1.5}
10.0.2.5
INGENIERIA ELECTRNICA Y
AUTOMTICA
http://www.isa.uniovi.es/docencia/iea
(mediante su lectura) o cambiar los parametros de conIiguracion del dispositivo (mediante la
escritura sobre ellos).
Configuracin 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 UNTELWAY RS458 (19.200 bps)
Maestro Esclavo 1
Via 0
Via 1
SCP114
%MW30
%MW50
%MW31
%MW54
....
....
0 15
%MW400
%MW450
%MW401
%MW454
....
....
0 15
CMD
Consigna
WRTE
READ
Posicin
Va
Esclavo
Palabras de control (4)
Nmero de objetos
Posicin 0
Posicin local del objeto
Tipo de objeto a intercambiar
Posicin remota del objeto
Nmero de objetos consecutivos
%MW40:X0 Bit de actividad: se pone a
uno al inicio de la funcin de comunicacin
y vuelve a cero cuando esta termina.
PaIabras de controI en eI ATV28:
CMD -> %MW400
Consigna -> %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 Iiguras, utiliza estas
Iunciones de comunicacion. Una vez cargado en el automata permite controlar la velocidad de
giro del motor y su posicion mediante varias pantallas de explotacion, a traves de la
comunicacion de comandos al ATV28.
La primera Pantalla de Explotacion es un 'Menu Principal para acceder a las otras tres Pantallas
de Explotacion. Los botones centrales con los triangulos permiten elegir si se quiere realizar un
'Control de Velocidad o un 'Control de Posicion. Luego se utilizan los botones anexos para
saltar a las ventanas graIicas que permiten visualizar cada uno de los modos de control. El boton
'Depuracion 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
visualizacion de graIicos de tendencias. Se puede volver al 'Menu Principal desde cualquiera
de las otras tres ventanas utilizando el boton correspondiente.
Configuracin de Ia tarjeta de comunicaciones SCP 114
desde Ia apIicacin PL7:
1 Acceder a la configuracin de hardware y pinchar en
comunicaciones.
2 Acceder a la pantalla de configuracin de la va de
comunicacin:
- Seleccionar la va de comunicacin en el men
desplegable VA 1
- Seleccionar en el men desplegable la tarjeta PCMCA
"TSX SCP 114 TARJETA PCMCA RS485 MP
- Seleccionar el enlace en el men desplegable: "ENLACE
MODBUS /JBUS
3 Por ltimo en la Pantalla de configuracin de Modbus
- Tipo: Maestro
- N de reiteraciones: 3
- Tiempo de respuesta: 2 (evita un retardo excesivo
cuando se pierde un mensaje)
- Velocidad de transmisin: 19200 bits/s
- Tiempo entre caracteres: 2
- Datos: RTU (8 bits)
- Parada: 1 bit
- Paridad: Sin
INGENIERIA ELECTRNICA Y
AUTOMTICA
http://www.isa.uniovi.es/docencia/iea
La segunda Pantalla de Explotacion 'Ventana de Control de Velocidad se utiliza cuando se ha
seleccionado el 'Control de Velocidad y permite visualizar graIicamente 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 raton o
introduciendo la velocidad deseada, positiva o negativa, en el campo de la derecha 'ReI.
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 automata se pueden modiIicar en la
parte inIerior derecha. Mediante el boton 'Menu Principal se puede volver a la pantalla anterior.
NOTA: Los valores numricos a introducir en los campos de las Pantallas de Explotacin o
del programa del autmata son nmeros 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 Explotacion 'Ventana de Control de Posicion se utiliza cuando se ha
seleccionado el 'Control de Posicion y permite las mismas Iunciones que la pantalla anterior
para este modo de control.
La Pantalla de Explotacion 'Depuracion dispone tambien de los botones para poner en
MARCHA o PARO el control. Mediante la lectura del contador de la seal del encoder, que se
muestrea cada 100 ms, se inIorma en la pantalla de la velocidad (R.P.M.) del motor, el numero
de vueltas giradas y el numero de grados girados. Un pulsador permite poner a cero los
contadores de vueltas y grados para Iijar la posicion de inicio. Estos contadores tambien se
resetean si se pasa el control a PARO. Se puede realizar el control de velocidad o de posicion
seleccionandolo con el boton 'Seleccion Control Velocidad Posicion, seleccionar reIerencia de
velocidad o posicion y modiIicar los valores de las constantes del regulador que se tenga
implementado en la tarea FAST-Muestreo del programa del automata. Los campos inIeriores
inIorman de los comandos y valor de consigna enviados al ATV28 por el bus de
comunicaciones. Tambien esta disponible el boton 'Menu Principal.
INGENIERIA ELECTRNICA Y
AUTOMTICA
http://www.isa.uniovi.es/docencia/iea
A continuacion se muestran el GraIcet y POST del programa, que se encargan basicamente 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
modiIicado cambiando las lineas de codigo que se encuentran en la zona sealada como
modiIicable.
POST
F(X0_parado OR Reset_contador)THEN (* Reset de contadores y consignas *)
Vueltas:=0.0;
Grados:=0.0;
Error:=0.0;
Error_anterior:=0.0;
ntegral:=0.0;
Consigna:=0.0;
Consigna_anterior:=0.0;
END_F;
(*Activacin del contador*)
Puesta_a_cero_contador:=(X0_parado OR Reset_contador);(* Puesta a cero *)
F X0_parado THEN
SET Activacion_contador;(* Activacin del contaje *)
SET Habilitacion_paso_min_max;(* Permite el paso del contador del min al max viceversa*)
END_F;
(* nicializacin *)
F 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_F;
F X1_en_marcha AND Standby AND X5_espera_orden_envio AND NOT Orden_envio_cmd THEN
Cmd_atv28:=7;(* paso a Ready *)
SET Orden_envio_cmd;
RESET Standby;
F(%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_F;
(*Activacin del contador*)
%Q3.0.1:=(%X0 OR %M10);(* Puesta a cero *)
F %X0 THEN
SET %Q3.0;(* Activacin del contaje *)
SET %Q3.0.15;(* Permite el paso del contador del min al max y viceversa*)
END_F;
(* nicializacin *)
F %X1 AND %M11 AND %X5 AND NOT %M0 THEN
%MW28:=6;(* paso a Standby *)
SET %M0;
RESET %M11;
SET %M12;
END_F;
F %X1 AND %M12 AND %X5 AND NOT %M0 THEN
%MW28:=7;(* paso a Ready *)
SET %M0;
RESET %M12;
INGENIERIA ELECTRNICA Y
AUTOMTICA
http://www.isa.uniovi.es/docencia/iea
SET Ready;
END_F;
F X1_en_marcha AND Ready AND X5_espera_orden_envio AND NOT Orden_envio_cmd THEN
Cmd_atv28:=15;(* paso a Run *)
SET Orden_envio_cmd;
RESET Ready;
SET Run;
END_F;
(* Paso a stop *)
F 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_F;
(* Comunicaciones *)
(* Envo de comando y consigna *)
F X6_envio_iniciado THEN
WRTE_VAR(ADR#0.1.1,'%MW',400,2,Cmd_atv28:2,Estado_de_envio:4);
RESET Orden_envio_cmd;
END_F;
(* Lectura de los parametros del ATV28 *)
F X8_recepcion_iniciada THEN
READ_VAR(ADR#0.1.1,'%MW',450,9,Referencia_de_frecuencia:9,Estado_de_recepcion:4);
END_F;
SET %M13;
END_F;
F %X1 AND %M13 AND %X5 AND NOT %M0 THEN
%MW28:=15;(* paso a Run *)
SET %M0;
RESET %M13;
SET %M14;
END_F;
(* Paso a stop *)
F %X0 AND NOT %M11 AND %X5 AND NOT %M0 THEN
%MW28:=0;(* paso a Locked *)
SET %M0;
SET %M11;
RESET %M14;
END_F;
(* Comunicaciones *)
(* Envo de comando y consigna *)
F %X6 THEN
WRTE_VAR(ADR#0.1.1,'%MW',400,2,%MW28:2,%MW40:4);
RESET %M0;
END_F;
(* Lectura de los parametros del ATV28 *)
F %X8 THEN
READ_VAR(ADR#0.1.1,'%MW',450,9,%MW50:9,%MW45:4);
END_F;
FAST-Muestreo
(*Muestreo del encoder cada 100ms. Clculo de RPM, Vueltas y Grados girados *)
(* Lectura actual del contador *)
Contador_actual:=Contador;
(* Diferencia con la medida anterior. Cambio de signo de giro *)
ncremento_del_contador:=-(Contador_actual-Contador_anterior);
Contador_anterior:=Contador_actual;(* VALOR GUARDADO PARA LA PRXMA LECTURA *)
(* Para evitar saltos cuando el contador llega al Max. o al Min. de la cuenta *)
F ncremento_del_contador>8000000 THEN
ncremento_del_contador:=ncremento_del_contador-33554432;
END_F;
F ncremento_del_contador<-8000000 THEN
ncremento_del_contador:=ncremento_del_contador+33554432;
END_F;
(* Velocidad RPM en el ltimo muestreo *)
Rpm:=DNT_TO_REAL(ncremento_del_contador)*600.0/1024.0;
(* Vueltas totales giradas *)
Vueltas:=DNT_TO_REAL(ncremento_del_contador)/1024.0+Vueltas;
(* Grados totales girados *)
Grados:=DNT_TO_REAL(ncremento_del_contador)*360.0/1024.0+Grados;
(* Error de posicin o de velocidad*)
F Velocidad_posicion THEN Error:=Referencia_grados-Grados;
ELSE Error:=Referencia_rpm-Rpm;
END_F;
(* ntegral del Error recalculada cada 100ms *)
ntegral:=0.1*Error+ntegral;
(* ********************************************************** *)
(* ****** nicio de la zona de modificacin de cdigo ******* *)
(* ********************************************************** *)
(* Algoritmo de control para el clculo del valor de consigna para el ATV28 en 0.1Hz*)
(* Cadena Abierta - SOLO CONTROL DE VELOCDAD *)
(* Consigna:=Referencia_rpm/3.0;*)
(* Cadena Cerrada Regulador P *)
(* Consigna:=Kp*Error; *)
(* Cadena Cerrada Regulador P *)
(* Consigna:=Kp*Error+Ki*ntegral; *)
(* Consigna:=Kp*(Error+Ki*ntegral); *)
(* Consigna:=Consigna_anterior+Kp*(0.1*Ki+1.0)*Error-Kp*Error_anterior;*)
(* Cadena Cerrada Regulador PD *)
(* Consigna:=Kp*Error+Ki*ntegral+Kd*(Error -Error_anterior)/0.1;*)
(* Consigna:=Kp*(Error+Ki*ntegral+Kd*(Error-Error_anterior)/0.1);*)
(* ********************************************************** *)
(* ********* Fin de la zona de modificacin de cdigo ******* *)
(* ********************************************************** *)
(* Guardar valores para la siguiente iteracin *)
Error_anterior:=Error;
Consigna_anterior:=Consigna;
(* Paso de la consigna a un valor entero *)
Consigna_atv28:=REAL_TO_NT(Consigna);
(* Para que el valor de la consigna no se pase de +50Hz o -50Hz*)
F Consigna_atv28>500 THEN Consigna_atv28:=500;END_F;
F Consigna_atv28<-500 THEN Consigna_atv28:=-500;END_F;
F X1_en_marcha AND Run AND X5_espera_orden_envio AND NOT Orden_envio_cmd THEN
SET Orden_envio_cmd;(* orden de envo de comando y consigna *)
END_F;
(*Muestreo del encoder cada 100ms. Clculo de RPM, Vueltas y Grados girados *)
(* Lectura actual del contador *)
%MD0:=%D3.0;
(* Diferencia con la medida anterior. Cambio de signo de giro *)
%MD4:=-(%MD0-%MD2);
%MD2:=%MD0;(* VALOR GUARDADO PARA LA PRXMA LECTURA *)
(* Para evitar saltos cuando el contador llega al Max. o al Min. de la cuenta *)
F %MD4>8000000 THEN
%MD4:=%MD4-33554432;
END_F;
F %MD4<-8000000 THEN
%MD4:=%MD4+33554432;
END_F;
(* Velocidad RPM en el ltimo muestreo *)
%MF6:=DNT_TO_REAL(%MD4)*600.0/1024.0;
(* Vueltas totales giradas *)
%MF8:=DNT_TO_REAL(%MD4)/1024.0+%MF8;
(* Grados totales girados *)
%MF10:=DNT_TO_REAL(%MD4)*360.0/1024.0+%MF10;
(* Error de posicin o de velocidad*)
F %M1 THEN %MF24:=%MF14-%MF10;
ELSE %MF24:=%MF12-%MF6;
END_F;
(* ntegral del Error recalculada cada 100ms *)
%MF18:=0.1*%MF24+%MF18;
(* ********************************************************** *)
(* ****** nicio de la zona de modificacin de cdigo ******* *)
(* ********************************************************** *)
(* Algoritmo de control para el clculo del valor de consigna para el ATV28 en 0.1Hz*)
(* Cadena Abierta - SOLO CONTROL DE VELOCDAD *)
(* Consigna:=Referencia_rpm/3.0;*)
(* Cadena Cerrada Regulador P *)
(* Consigna:=Kp*Error; *)
(* Cadena Cerrada Regulador P *)
(* Consigna:=Kp*Error+Ki*ntegral; *)
(* Consigna:=Kp*(Error+Ki*ntegral); *)
(* Consigna:=Consigna_anterior+Kp*(0.1*Ki+1.0)*Error-Kp*Error_anterior;*)
(* Cadena Cerrada Regulador PD *)
(* %MF20:=%MF16*%MF24+%MF32*%MF18+%MF38*(%MF24-%MF26)/0.1;*)
(* Consigna:=Kp*(Error+Ki*ntegral+Kd*(Error-Error_anterior)/0.1);*)
(* ********************************************************** *)
(* ********* Fin de la zona de modificacin de cdigo ******* *)
(* ********************************************************** *)
(* Guardar valores para la siguiente iteracin *)
%MF26:=%MF24;
%MF22:=%MF20;
(* Paso de la consigna a un valor entero *)
%MW29:=REAL_TO_NT(%MF20);
(* Para que el valor de la consigna no se pase de +50Hz o -50Hz*)
F %MW29>500 THEN %MW29:=500;END_F;
F %MW29<-500 THEN %MW29:=-500;END_F;
F %X1 AND %M14 AND %X5 AND NOT %M0 THEN
SET %M0;(* orden de envo de comando y consigna *)
END_F;
INGENIERIA ELECTRNICA Y
AUTOMTICA
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 Iueron necesarios los siguientes elementos:
TSX Micro
PaneI de
ControI
MageIis
AIimentacin
AItivar 66
- Tarjeta PCMCIA de conexion al automata, modelo TSX SCP 114
para UNITELWAY en comunicacion serie RS 485.
- Cable de conexion UNITELWAY entre la tarjeta PCMCIA TSX
SCP 114 y la caja TSX SCA 50.
- Caja de derivacion pasiva TSX SCA 50, que adapta
impedancia. Esta caja contiene una tarjeta de circuito
impreso en su interior con tres grupos de terminales de
conexion. Proporciona continuidad de las seales
electricas y la continuidad en el apantallamiento.
- Toma de abonado pasiva con dos vias UNI-TELWAY,
modelo TSX SCA 62, que codiIica la direccion de los
equipos conectados y adapta la impedancia de la linea.
Contiene una tarjeta interior de circuito impreso y dos
bloques terminales para conectores de 15 pines, para
conexion al bus UNI-TELWAY de dos dispositivos.
- Kit de comunicacion VW3A66301U, que consiste en un
conector de 15 pines para conexion a la caja TSX SCA 62, un
cable de 3m, y una tarjeta PCMCIA de conexion al ATV66.
El programa instalado en el PLC utiliza las Iunciones READVAR() y WRITEVAR(),
descritas anteriormente, para leer y escribir en los registros del ATV66 y realizar su adecuada
conIiguracion para realizar las practicas.
ATV66
TSX Micro
INGENIERIA ELECTRNICA Y
AUTOMTICA
http://www.isa.uniovi.es/docencia/iea
4. BUS ASI DEL PANEL DOMTICO
El panel domotico cuenta con un bus ASI que permite comunicar los dispositivos
sensores y actuadores con el PLC a traves de dos modulos de entradas y salidas conectados al
mencionado bus. El PLC cuenta con un modulo SAZ 10 para poder gestionar, como maestro, el
bus ASI.
SAZ 10
Maestro
BUS ASI
Fuente de
aIimentacin
MduIo 2E/2S - PerfiI 3.0
EscIavo 3
MduIo 4E/4S - PerfiI 7.0
EscIavo 1
Direcciones:
Entradas
%I\4.0\ 3.0
%I\4.0\ 3.1
SaIidas
%Q\4.0\ 3.2
%Q\4.0\ 3.3
Direcciones:
Entradas (0-3)
%I\4.0\ 1.x
SaIidas (0-3)
%Q\4.0\ 1.x
La siguiente Iigura muestra la conIiguracion del automata del panel domotico, que incluye la
conIiguracion del modulo de comunicacion AS-i y de los dos modulos de periIeria conectados
con las direcciones 1 (perIil 7.0) y 3 (perIil 3.0).
1
2
3
4
INGENIERIA ELECTRNICA Y
AUTOMTICA
http://www.isa.uniovi.es/docencia/iea
5. RED DELA PLANTA DE LOS DEPSITOS
El modulo ioControl de la planta de los depositos esta conectado directamente a la red Ethernet
del ediIicio, soporta el protocolo TCP/IP y tiene asignada la direccion IP 156.35.152.190. Esto
permite monitorizarla y controlarla mediante el programa de monitorizacion ejecutado en un PC
conectado a Internet en cualquier punto del mundo. Las siguientes Iiguras muestran la estructura
de la red y el ejemplo de pantalla de monitorizacion utilizado en las practicas.
ioControI
S
E
PC de desarroIIo
y monitorizacin
Red Ethernet
(TCP/IP)
Cmara
TCP/IP
Internet
Como curiosidad, la planta tambien puede ser monitorizada a traves de una camara IP instalada
en el laboratorio accediendo a ella a traves de un navegador Web con la direccion
156.35.152.187, el nombre de usuario 'depositos y la contrasea 'maqueta:
INGENIERIA ELECTRNICA Y
AUTOMTICA
http://www.isa.uniovi.es/docencia/iea
INGENIERIA ELECTRNICA Y
AUTOMTICA
http://www.isa.uniovi.es/docencia/iea