Title: Tema 4' Instrumentacin programable
1Tema 4. Instrumentación programable
- Instrumentación Industrial.
- Curso 2005-2006
- G.Benet
2Instrumentación programable
- Buses de interconexión de instrumentos
- Bus IEEE 488 (GPIB)
- Lenguajes de programación de instrumentos
- Lenguaje SCPI
- Entornos gráficos de programación.
- Entorno LabVIEW
3Bus IEEE488
- Permite la interconexión entre un computador y
hasta 14 instrumentos sobre el mismo cable. - Bus paralelo
- Distancias cortas
- 1 ó 2 MB/s
- Transferencias asÃncronas
En LÃnea
En Estrella
4Bus IEEE488. Breve historia
- 1965 Hewlett-Packard desarrolla el HP-IB.
- 1975 HP-IB se convierte en IEEE488
- 1987 se estandarizan las normas IEEE488.1 y .2
- 1990 Se desarrolla el lenguaje SCPI (Standard
Codes for Programmable Instruments)
5IEEE488- Estructura del bus
- Funcionalidades básicas
- Controlador (Controller)
- Locutor (Talker)
- Oyente (Listener)
- 16 lineas activas
- 8 bits para I/O.
- 8 bits para control
- 5 para control general (Órdenes unilÃnea)
- 3 para interbloqueo (handshaking)
6IEEE488. Tipo de conector
7IEEE488.Principales caracterÃsticas
8IEEE488.LÃneas de control. LINEAS DE CONTROL
GENERAL
- ATN (Attention) Sólo puede activarla el
Controlador y debe ser monitorizada por todos los
dispositivos conectados. - Si ATN1 (nivel bajo) el bus está en modo de
órdenes. Todo lo que se envia en este modo es
interpretado como una orden del bus. - Si ATN0 (nivel alto) el bus está en modo de
datos (el dispositivo que haya sido previamente
direccionado como Locutor comenzará a enviar
datos). - IFC (Interface Clear) Empleada por el
Controlador para paralizar las transferencias en
marcha y dejar al bus en un estado ocioso (Idle). - REN (Remote Enable) Utilizada por el Controlador
para forzar a todos los oyentes que hayan sido
previamente direccionados para ello a que se
coloquen en modo de operación remota (es decir,
reciben las órdenes del bus, en lugar de los
mandos del panel frontal de cada instrumento).
Cuando es FALSA, los dispositivos vuelven al modo
de operación local. - SRQ (Service Request) LÃnea en colector abierto,
que permite a cualquier dispositivo solicitar
atención del Controlador. A continuación, el
Controlador puede realizar una Encuesta Paralelo
ó Serie para averiguar quién es el solicitante. - EOI (End Or Identify) Esta lÃnea puede ser
activada por el controlador ó por el Locutor
activo, ya que tiene 2 efectos - Cuando se activa EOI ATN significa que el
Controlador va a realizar una encuesta en
paralelo. - Sin embargo, si EOI se activa cuando ATN0,
ello indica fin del mensaje.
9IEEE488.LÃneas de control. LINEAS DE
INTERBLOQUEO (Handshaking)
- DAV (Data Valid). Datos Válidos. Usada para
indicar la condición de las lÃneas de datos. La
activa el Locutor cuando los datos emitidos son
estables, pero sólo si la lÃnea NRFD está
inactiva (Nivel alto) - NRFD (Not Ready For Data). No preparado para
recibir datos. Utilizada por cada dispositivo
oyente para indicar la capacidad de recibir
datos. Un oyente la activará, poniéndola a nivel
bajo cuando no esté preparado para recibir datos.
Debido a ello, y a que esta lÃnea se implementa
con colector abierto, basta con que exista un
sólo equipo no preparado para que la lÃnea adopte
un nivel bajo, impidiendo la transmisión. - NDAC (Not Data Accepted). Datos no aceptados.
Utilizada por el oyente para indicar al locutor
que el octeto enviado ha sido aceptado (leido)
del bus. Esta lÃnea, al igual que la anterior,
utiliza colector abierto, por lo que hasta que
todos los oyentes no hayan aceptado el octeto, la
lÃnea permanece activa a nivel bajo.
10Protocolo del Bus IEEE488
11IEEE488 Tabla de comandos (Ascii)
12Terminación de mensajes en IEEE488
- Es una posible fuente de errores. Hay tres
procedimientos diferentes - El locutor envia al final de cada mensaje CRLF.
(Método no normalizado. Empleado por algunos
fabricantes en el pasado. Puede colgar el bus). - El locutor activa la lÃnea EOI al mismo tiempo
que envÃa el ultimo octeto del mensaje. (Es el
método normalizado). - El locutor envia CRLF y activa el EOI al enviar
el LF. (Método aceptable y bastante utilizado).
13Ejemplo de tráfico en IEEE488
- Un controlador (Direcc. 21) programa a un
voltÃmetro (Direcc. 5) para que tome medidas de
tensión en el rango de 1V (F1R2). Obsérvese que
no emplea la lÃnea EOI (Fuera de normas). Los
tres primeros bytes se envian como ordenes del
bus (direccionamientos). El resto de bytes se
envia como datos. - Ciclo Comentario 8765 4321 ATN EOI SRQ
- --------------------------------------------------
----------- - 1 Unlisten (?) 0011 1111 1 0 0
- 2 Dir.emisor 21(U) 0101 0101 1 0 0
- 3 Dir.receptor 5() 0010 0101 1 0 0
- 4 (F) 0100 0110 0 0 0
- 5 (1) 0011 0001 0 0 0
- 6 (R) 0101 0010 0 0 0
- 7 (2) 0011 0010 0 0 0
- 8 Retorno de carro 0000 1101 0 0 0
- 9 Fin de linea 0000 1010 0 0 0
14Ejemplo de tráfico en IEEE488 (2)
- Este ejemplo es idéntico al anterior, pero en
este se emplea el método estándar de finalizar el
mensaje, utilizando la lÃnea EOI al enviar el
ultimo byte. - Ciclo Comentario 8765 4321 ATN EOI SRQ
- --------------------------------------------------
----------- - 1 Unlisten (?) 0011 1111 1 0 0
- 2 Dir.emisor 21(U) 0101 0101 1 0 0
- 3 Dir.receptor 5() 0010 0101 1 0 0
- 4 (F) 0100 0110 0 0 0
- 5 (1) 0011 0001 0 0 0
- 6 (R) 0101 0010 0 0 0
- 7 (2) 0011 0010 0 1 0
15Ejemplo de tráfico en IEEE488 (3)
- Este listado corresponde a la respuesta del
voltÃmetro una vez ha realizado la medida, para
lo que utiliza la lÃnea SRQ - Ciclo Comentario 8765 4321 ATN EOI SRQ
- --------------------------------------------------
------------------- - 1 Unlisten (?) 0011 1111 1 0 1
- 2 Dir.receptor 21(5) 0011 0101 1 0 1
- 3 Dir emisor 5 (E) 0100 0101 1 0 1
- 4 () 0010 1011 0 0 1
- 5 (1) 0011 0001 0 0 1
- 6 (.) 0010 1110 0 0 1
- 7 (0) 0011 0000 0 0 1
- 8 (7) 0011 0111 0 0 1
- 9 (8) 0011 1000 0 0 1
- 10 (7) 0011 0111 0 0 1
- 11 (0) 0011 0000 0 0 1
- 12 (0) 0011 0000 0 0 1
- 13 (E) 0100 0101 0 0 1
- 14 (-) 0010 1101 0 0 1
- 15 (0) 0011 0000 0 0 1
- 16 (1) 0011 0001 0 0 1