Comuniciones Seriadas
Debido a la estandarización del puerto serie en las PC´s, y su incremental uso en sistemas superivosores y controladores, los equipos de campo, tales como PLC, controladores, registradores, etc. han tenido que proveerse de puertos de comunicaciones para compartir datos entre ellos.
El puerto serie de la PC fue normalizado finalmente por la EIA y nomenclado RS-232-C, esta norma regula el protocolo de la transmisión de datos, el cableado, las señales eléctricas y los conectores en los que debe basarse una conexión RS-232. En las computadoras personales este dispositivo es programado a través de los registros de la UART, que no es mas que un chip (5058 o actualmente el 50u58) utilizado para la entrada y salida de caracteres y, sobre todo, para la conversión de palabras de datos en las correspondientes señales del puerto serie. Esto se debe a que la transmisión no es mas que un bus serie, todos los datos son transmitidos por un único hilo, por lo que alguien debe adminstrar esta conversión.
Para el uso industrial se dispone de otras normas mas sólidas, seguras, como: transmisión en TTL, RS-423 , RS-422, RS-449, RS-485, X.21, X.21 bis y Lazo de corriente.
Nuestro interés estará centralizado en las normas RS-232-C, RS-422 y RS-485 por ser las impuestas de facto en la industria en la actualidad.
La comunicación realizada con el puerto serie es una comunicación asincrónica. Para la sincronización de la comunicación se precisa siempre de una línea adicional a través de la cual el emisor y el receptor intercambian la señal del pulso. Pero en la transmisión serie a través de un cable de dos líneas esto no es posible ya que ambas están ocupadas por los datos y la masa. Por este motivo se intercalan antes y después de los datos informaciones de estado según el protocolo RS-232-C, RS-422 y RS-485. Esta información es determinada por el emisor y receptor al estructurar la conexión mediante la correspondiente programación de sus puertos serie (UART). Esta información puede ser la siguiente:
La UART
La UART no es mas que un chip, que actualemente puede venir enbebido en el microprocesador (tanto en la PC como en equipamiento de campo), y nos posibilita en transferir datos desde-hacia la PC. En PC, en programación de bajo nivel se debe programar la misma a través de escribirle bytes codificados en ciertas direcciones de entrada salida, a partir de la dirección base de la misma (comúnmente 3F8H para el primer puerto y 2F8H para el segundo). A si mismo cada puerto tiene asociado una dirección de interrupción, que corresponden a IRQ 4 para el primer puerto e IRQ 3 para el segundo. En programación a alto nivel el programador no tiene necesidad de programarla, sencillamente existen objetos ( .vbx, .ocx, etc), que se encargan de hacerlo a través de propiedades configurables, donde se establecen los parámetros antes enunciados:
Los parámetros comunmente utilizados para una comunicación asincrónica es 9600, N, 8, 1, lo que significa un baudrate de 9600, sin paridad, 8 bits de ancho de palabra y un bit de stop.
Existe una limitación para establecer la velocidad máxima de comunicación y está dada por herencia de compatibilidad de hardware, las PC, ....., . De todas maneras para una comunicación asincrónica en un medio industrial es difícil llegar a velocidades superiores a 19200 bps.
Una cuestión simple a tener en cuenta es que la comunicaión por ejemplo a 9600, O, 8, 1, significa que cada byte que se transmita estará compuesto por 11 bits, uno de inicio, uno de finalización, uno de paridad y 8 de datos, lo que se significa que la velocidad de transmisión de bytes de datos ideal es de 873.
En el uso de comuniciones industriales se pueden dividir, aunque esta división se hace cada vez mas difusa, en una comunicación a nivel de campo, y una comunicación hacia el SCADA. En ambos casos la transmisión de datos se realiza en tiempo real, o por lo menos con una demora que no es significativa respecto de los tiempos del proceso, por lo que puede suponerse como tiempo real, siendo súmamente crítico para el primer nivel de enlace.
Para la comunicación a nivel de campo no existe una norma de comunicaciones para esta transmisión de datos en tiempo real que haya alcanzado un algo grado de difusión, esto hace que en algunos casos resulte técnicamente difícil integrar equipos de distintos fabricantes, mas aún, en algunos casos puede resultar técnico-económicamente desaconsejable. Varias normas intentan imponerse y actualmente existe una muy dura batalla entre las dos mas destacadas: Profibus y Fieldbus Foundation.
Mediante la ubicación de placas en el bus de la PC se puede integrar la misma, con su sistema SCADA contenido, en esta red de campo, y cualquier norma lo permite.
Sobre la red de control de procesos la seguridad viene dada no solo por el acceso a la variedad de datos que se manejan, como en las redes administrativas, sino que tambien se asocia con la disponibilidad de los datos en tiempo real, y la inmunidad del sistema a fallas de algún componente.
En las instalaciones que no constituyen un DCS se establece un nivel controlador y un nivel supervisor-controlador, donde este control no está asociado a variables rápidas desde el punto de vista de la velocidad de actualización entre ambos niveles. Es por eso que se recurre generalmente a comunicaciones seriadas en RS-XXX.
También se destaca que muchos equipos PLC, con módulos remotos utilizan este tipo de comunicaciones entre la CPU central y los módulos.
Las redes de comunicaciones con norma RS-XXX se entablecen en una configuración maestro-esclavo/s (a diferencia de los buses de campo que manejan una tecnología de token) cumpliendo el modelo ISO/OSI, aunque los distintos niveles pueden no verse nítidamente.
Así, la comunicación estará comandada por un equipo que se denomina maestro, y uno o varios equipos denominados esclavos. La función del maestro es organizar las comunicaciones y establecerlas. La función de los esclavos es contestarle al maestro cuando identifica que el mensaje va dirigido hacia el, en realidad se pueden distinguir dos tipos de comunicaciones entre el maestro y sus esclavos: Consulta/Respuesta y Broadcast/no response.
Existen básicamente dos formas de manejar una comunicación desde el punto de vista de la PC: por polling o por interrupción.
Polling:
La interfaz RS-232-C dispone de hasta 25 líneas que están orientadas a la comunicación de dos equipos PC (DTE) a través de módems (DCE) o hacia otra PC (DTE). En este caso se utilizarán para la conexión de los equipos PC prescindiendo de los módems. Para ello de las 25 líneas que posee se han utilizado sólo las siguientes:
Para hacer posible la comunicación entre dos equipos PC se han interconectado las descritas anteriormente. La conexión ha sido realizada de la siguiente manera:
(PC1) RxD <==================
TxD (PC2)
(PC1) TxD ==================> RxD
(PC2)
(PC1) DTR ==================> DSR
(PC2)
(PC1) DSR <================== DTR
(PC2)
(PC1) RTS ==================> CTS
(PC2)
(PC1) CTS <================== RTS
(PC2)
(PC1) MASA =================== MASA
(PC2)
9 PIN D-SUB Macho en el ordenador
Pin | Nombre | Descripción |
---|---|---|
1 | CD | Carrier Detect |
2 | RXD | Receive Data |
3 | TXD | Transmit Data |
4 | DTR | Data Terminal Ready |
5 | GND | System Ground |
6 | DSR | Data Set Ready |
7 | RTS | Request to Send |
8 | CTS | Clear to Send |
9 | RI | Ring Indicator |
25 PIN D-SUB Macho en el DTE (Computer).
25 PIN D-SUB Hembra en el DCE (Modem).
Pin |
Nombre |
ITU-T |
Descripción del pin |
---|---|---|---|
1 |
GND |
101 |
Shield Ground |
2 |
TXD |
103 |
Transmit Data |
3 |
RXD |
104 |
Receive Data |
4 |
RTS |
105 |
Request to Send |
5 |
CTS |
106 |
Clear to Send |
6 |
DSR |
107 |
Data Set Ready |
7 |
GND |
102 |
System Ground |
8 |
CD |
109 |
Carrier Detect |
9 |
- |
|
RESERVED |
10 |
- |
|
RESERVED |
11 |
STF |
126 |
Select Transmit Channel |
12 |
S.CD |
? |
Secondary Carrier Detect |
13 |
S.CTS |
? |
Secondary Clear to Send |
14 |
S.TXD |
? |
Secondary Transmit Data |
15 |
TCK |
114 |
Transmission Signal Element Timing |
16 |
S.RXD |
? |
Secondary Receive Data |
17 |
RCK |
115 |
Receiver Signal Element Timing |
18 |
LL |
141 |
Local Loop Control |
19 |
S.RTS |
? |
Secondary Request to Send |
20 |
DTR |
108 |
Data Terminal Ready |
21 |
RL |
140 |
Remote Loop Control |
22 |
RI |
125 |
Ring Indicator |
23 |
DSR |
111 |
Data Signal Rate Selector |
24 |
XCK |
113 |
Transmit Signal Element Timing |
25 |
TI |
142 |
Test Indicator |