Está en la página 1de 13

Comunicaciones Industriales Avanzadas

1 Práctica MODBUS: Bus Modbus

1.1 Objetivos
El objetivo de esta práctica y de las siguientes es la utilización y la programación de una red
modbus. El alumno debe ser capaz de:
• Diferenciar los tres niveles fundamentales de la red modbus:
1. Nivel físico: RS485.
2. Nivel de protocolo. Trama básica del protocolo modbus: cabecera, funciones,
direcciones, datos, CRC. Organización maestro/esclavo.
3. Nivel de aplicación. Tipos de funciones disponibles en el equipo que se conecta
vía modbus. Datos que se pueden leer del equipo. Información que se puede
enviar al equipo.
• Trabajar la red modbus en modo programación y en modo mantenimiento:
1. Programación: montar la red con un maestro y varios esclavos. Programar el
maestro para crear un sistema complejo dirigido por el maestro (un PC o un
PLC). Aquí se incluye la versión más básica donde el maestro es la herramienta
windmill.
2. Mantenimiento: utilizar una herramienta como windmill para capturar la
información que circula entre maestro y esclavos con el fin de detectar
anomalías. La herramienta trabaja como un espía.

1.2 Primeros pasos con el CP2003


En este apartado el alumno aprenderá a establecer una comunicación básica con el
multiconvertidor CP2003 a través de la RS485 mediante protocolo MODBUS para leer
información. También aprenderá a trabajar con el windmill en modo maestro de una red
modbus y con el windmill en modo espía. El alumno aprenderá qué primeros pasos debe
seguir cuando en la vida profesional tiene que poner en marcha un nuevo aparato: ver el
manual del equipo, establecer la red, utilizar un programa de prueba (en nuestro caso
windmill), intentar los ejemplos más sencillos que da el fabricante en su manual, etc.

El CP2003 es un multiconvertidor que mide tensión, intensidad, potencia, etc. Permite enviar
dichas medidas a un ordenador o un centro de control a través de una RS485 mediante
protocolo MODBUS. En el laboratorio el alumno puede utilizar en vez del CP2003, equipos
similares de la casa SACI (MAR144, LDA) con un direccionamiento MODBUS muy similar.
El CP2003 está montado sobre una caja con las siguientes conexiones y bornas:
• Conexión de alimentación.
• Conexiones para RS485: +, - y GND.
• Bornas 24V, RL0 y RL1. Son dos salidas por contacto que proviene de 2 relés que
llevan internamente el multiconvertidor. Los contactos están colocados entre 24V y
RL0, y entre 24V y RL1. A través del protocolo MODBUS se pueden activar y
desactivar dichos contactos.
• Bornas A01 y A02. Son dos salidas analógicas en intensidad que se pueden regular
a través del protocolo MODBUS. Normalmente están definidas para que con el valor
máximo se obtenga 20 mA y con el valor mínimo 0 mA.

J.A. Rodríguez Mondejar // J. Matanza Domingo 1 de 13


Comunicaciones Industriales Avanzadas

Una de las fases de medida de tensión está conectada a través de un divisor de tensión a
220V. El divisor de tensión está formado por una resistencia fija de 100K y una resistencia
variable de 100K, también. Además, hay una conexión externa lateral para conectar una
carga al convertidor. Con el potenciómetro y la carga, se puede medir tensión, intensidad y
potencia en una fase.
MODBUS es un protocolo que permite ver a un instrumento desde un sistema remoto como
un banco de registros contiguos. Cada registro tiene una dirección dentro del rango 0x0000
a 0xFFFF, y tiene un tamaño de 16 bits. Su equivalente pensando en una CPU es un mapa
de memoria de 16 bits en el bus de direcciones y 16 bits en el bus de datos. Según el tipo de
instrumento no todos los registros están disponibles y cada uno almacena un determinado
tipo de información (tensión, intensidad, etc.) o tiene una determinada función
(activar/desactivar un relé, disparar una alarma, etc.). El protocolo MODBUS permite
mediante tramas enviadas a través de la RS485 consultar o actualizar el valor de dichos
registros. Cada trama corresponde a función o comando dentro del protocolo.
La tabla siguiente presenta las funciones o comandos del protocolo que se van a utilizar en
esta práctica:

Tabla 1 Comandos básicos del protocolo MODBUS


Comando Función Modo de uso
0x04 Lectura de M->S: MA,0x04,AH,AL,NH,NL,CRCL,CRCH
registros
ó S->M: MA,0x04,NR,R0H,R0L,R1H,R1L,..,CRCL,CRCH
0x03
0x06 Escritura de M->S: MA,0x06,AH,AL,RH,RL,CRCL,CRCH
un registro
S->M: MA,0x06,AH,AL,RH,RL,CRCL,CRCH
0x10 Escritura de M->S: MA,0x10,AH,AL,NH,NL,NB,R0H,R0L,..,CRCL,CRCH
múltiples
S->M: MA,0x10,AH,AL,NH,NL,CRCL,CRCH
registros
M->S=Dirección maestro-esclavo
S->M=Dirección esclavo-maestro
MA=Dirección MODBUS del dispositivo
AH,AL=Parte alta y baja de la dirección de un registro
NR=Número de bytes transmitidos
NH,NL=Número de registros ocupando 2 bytes
NB=Número de bytes equivalente al número de registros (2*número
de registros)
RxH,RxL o RH,RL=Parte alta y baja de un valor leído o a escribir
en un registro

En la página 3 del manual del equipo CP2003 (ver web del laboratorio) se describe el
formato de las tramas que acepta el equipo, que se corresponden con la tabla anterior. A
partir de la página 13 del manual hay ejemplos de las tramas que acepta y de las tramas de
respuesta.
Para poner en marcha la comunicación vía protocolo MODBUS entre el ordenador, que
actúa como maestro, y el CP2003, que actúa como esclavo, el primer paso es comprobar
que el equipo funciona. Este paso se basa en utilizar los ejemplos que lleva el manual del
CP2003. En la práctica profesional, cuando se recibe un nuevo equipo, el primer paso es

J.A. Rodríguez Mondejar // J. Matanza Domingo 2 de 13


Comunicaciones Industriales Avanzadas

intentar una comunicación sencilla siguiendo los ejemplos que da el fabricante. En este
caso, siguiendo la página 13 del manual, utilizaremos el comando 04 para leer el número de
serie del aparato que se encuentra a partir de la dirección 04B0 y que ocupa 5 registros (10
bytes). Se supone que el equipo tiene la dirección MODBUS 4C (76 en decimal).
Pasos a seguir:
1. Conecte el CP2003 a la red RS485, si no está ya montado.
2. Conecte el adaptado RS232/RS485 por un lado a la red RS485 y por otro al COM1
del ordenador.
3. Arranque el programa Windmill con la configuración COM1, 9600, 8 bits, sin paridad
y un bit de stop.
4. Envíe al CP2003 el siguiente comando escrito en hexadecimal para preguntarle su
identidad:
0x4C,0x04,0x04,0xB0,0x00,0x05,CRC.
CRC es un número de 16 bits que es calculado como el CRC del resto de la trama.
Para incluir el CRC pulse CRC en el menú superior del Windmill. Windmill lo calcula
automáticamente cada vez que se envía la trama. Al comando enviado desde el PC,
el CP2003 deberá responder tal como muestra la siguiente figura:

Nota importante 1: Si varios grupos del laboratorio están conectados al mismo


instrumento, sólo un grupo podrá hablar en cada momento con el instrumento. En la
ventana de respuesta del windmill del resto de grupos aparecerá la conversación
entre el grupo que está hablando (maestro) con el CP2003 (esclavo). Los grupos que
sólo escuchan están actuando como espías. El modo espía es muy útil en la práctica
para detectar problemas en una red modbus o de otro tipo. Por ejemplo: en un
windmill en modo espía se puede ver el verdadero CRC que envía el windmill que está
trabajando en modo maestro.

J.A. Rodríguez Mondejar // J. Matanza Domingo 3 de 13


Comunicaciones Industriales Avanzadas

Nota importante 2: Si no responde el CP2003 puede ser debido a que la dirección


MODBUS utilizada no es la correcta. El CP2003 tiene una dirección MODBUS a la que
siempre responde: 0xC7 (199). Esta es una dirección muy útil para mantenimiento
pero que no debe utilizarse nunca en operación. Envíe la trama cambiando 0x4C por
0xC7. Para saber cuál es la dirección del dispositivo en operación lea el registro
situado en la dirección 0x04B5 (0xC7,0x04,0x04,0xB5,0x00,0x01,CRC). Con esta
nueva dirección intente nuevamente leer 5 registros a partir de la dirección 0x04B0.
En la página 13 del manual se describe lo que envía el CP2003 (primer ejemplo). A lo largo
del manual del CP2003 aparecen una serie de tablas donde se indica la información que se
puede encontrar en cada dirección o la función que se puede ejecutar. Por desgracia, las
direcciones indicadas no son absolutas, sino relativas a una dirección base. En el caso del
CP2003 la dirección base es 1000 (si no se modifica). Por ejemplo: en la tabla del apartado
1.2.6 se dice que el número de serie se encuentra a partir del registro situado en la dirección
200. La verdadera dirección no es 200 sino 1200 (0x4B0), como ya hemos visto en el
ejemplo anterior.
Siguiendo las páginas 13, 11 y 3 del manual, las breves indicaciones dadas en este
apartado y las vistas en clase, explique la trama enviada al CP2003 en el ejemplo anterior y
la trama de respuesta del CP2003. Para determinar el verdadero valor del CRC mire lo
capturado en el windmill de otro grupo trabajando en modo espía.

Pregunta 1: Explique la trama enviada y la respuesta. En este caso y en los siguientes no


es necesario indicar el valor real del CRC enviado, basta con indicar CRC al final de la
trama).

Siguiendo el ejemplo anterior lea el tipo de aparato (ver tabla 1.2.6 del manual del CP2003).
El número de registros a leer es 3. Póngase de acuerdo con el resto de grupos para evitar
demasiadas colisiones a la hora de acceder al CP2003, si está compartido.

Pregunta 2: Explique la trama enviada y la respuesta.

1.3 Lectura de datos del CP2003


En este apartado el alumno comprenderá la problemática de trabajar con información de
varios tipos (byte, cadena de caracteres, palabra o word, datos en coma flotante) distribuida
sobre un esquema rígido de registros de 16 bits.

El CP2003 maneja entre otros los siguientes tipos de datos:


• Byte: ocupa los 8 bits bajos de un registro de 16 bits. La parte alta está a 0.
• Word o palabra: ocupa un registro completo de 16 bits.
• IEEE754 de 32 bits (IEEE32 en adelante): es el formato de coma flotante simple (32
bits) y ocupa 2 registros. Cuando se transmite, primero se envía el registro bajo y
después el registro alto. En el anexo 2 (página 17 del manual del CP2003) se explica
cómo pasar de coma flotante en binario a decimal. Ejemplo: 0x40 0xA0 0x00 0x00
significa 5. El ejemplo anterior cuando se transmite aparece en la trama como 0x00
0x00 0x40 0xA0.
• String o cadena de caracteres: Es una cadena de caracteres que utiliza registros
contiguos, 1 registro por cada 2 caracteres. Es el caso del ejemplo anterior.

1.3.1 Lectura de datos de tipo byte

J.A. Rodríguez Mondejar // J. Matanza Domingo 4 de 13


Comunicaciones Industriales Avanzadas

Siguiendo la tabla del apartado 1.2.6, leer la dirección modbus del equipo. Para ello enviar al
CP2003 la trama:
0x4C,0x04,0x04,0xB5,0x00,0x01,CRC.
El equipo responderá con la dirección del equipo.

Pregunta 3: Explique brevemente la trama enviada y la respuesta.

1.3.2 Lectura de datos de tipo IEEE


Siguiendo la tabla del apartado 1.2.2 del manual del CP2003, leer la escala de intensidad
del aparato. Recuerde que ocupa 2 registros. Comprobar que coincide que lo indicado en la
tabla de características del aparato (5A). Utilice el anexo 2 del manual del CP2003.

Pregunta 4: Explique la trama enviada y la respuesta. Calcule el valor en decimal.

De igual forma preguntar al CP2003 por la escala de tensión.

1.4 Escritura de datos en el CP2003

1.4.1 Manejo de relés para activar pilotos


Mediante la función de escritura (0x06 o 0x10) se puede activar los 2 relés de salida del
CP2003 (RL0 y RL1).
24V

RL0 RL1

HV1 HV2
0V

Para probar el funcionamiento de los relés conecte las salidas RL0 y RL1 según el siguiente
esquema a la placa de pilotos (“pupitre de mando”, ver figura). Como fuente de alimentación
utilice la fuente de alimentación de los bastidores de los autómatas (bornas rojas rotuladas
con +24V y bornas negras – GND, ver figura). Para el resto de convertidores la conexión es
la misma.

J.A. Rodríguez Mondejar // J. Matanza Domingo 5 de 13


Comunicaciones Industriales Avanzadas

Pupitre de control:

Pulsador “de seta”


de Paro de
Emergencia
HV1 HV2 HR

Piloto de
señalización

Pulsadores con SV1 SV2 SR Pulsador con


contacto NO
contacto NC

Conmutador de SC
3 posiciones

Bastidor con PLC:

Fuente de PLC
alimentación
Entradas/s
alidas

24V

0V

J.A. Rodríguez Mondejar // J. Matanza Domingo 6 de 13


Comunicaciones Industriales Avanzadas

Según el manual del CP2003 para trabajar con los relés primero hay que configurarlos en
modo SW y después activarlos o desactivarlos (página 11 del manual). Siga los siguientes
pasos:
1. Envíe la trama siguiente 0x4C,0x06,0x04,0xB9,0x00,0x01,CRC para configurar
los relés en modo SW (Tabla del apartado 1.2.7).
2. Envíe 0x4C,0x06,0x04,0xBA,0x00,0x01,CRC para activar el RL0.
3. Envíe 0x4C,0x06,0x04,0xBA,0x00,0x00,CRC para desactivar el RL0.
Realice la misma maniobra de activar y desactivar con el relé RL1.

Pregunta 5: Indique las tramas enviadas y su respuesta para el caso activar y desactivar
el relé RL1.

1.4.2 Manejo de relés para controlar un motor


En este apartado el alumno comprenderá la importancia de la seguridad y cómo solucionarla
insitu para evitar males mayores. Por desgracia, las comunicaciones tienden a ocultar la
problemática de los sistemas reales. Situaciones que no ocurren cuando se dan órdenes a
un equipo en local pueden ocurrir cuando se dan en remoto, es decir, a través de un sistema
de comunicaciones. Ejemplo: una situación evidente como es no dar orden a un motor para
que gire en dos sentidos simultáneamente, puede presentarse a través de órdenes enviadas
vía comunicación. Esto hace necesario la implantación de circuitos de protección en el
sistema a controlar, como son los enclavamientos.

Monte el siguiente circuito para controlar el giro de los motores mediante RL0 y RL1.

Circuito de control Circuito de potencia


24V 24V

RL0 RL1
12
14

22
24

12
14

22
24
32

32

KA2 KA1 KA1 KA2


A1 31

A1 31

11

21

11

21

KA1 HV1 KA2 HV2


A2

A2

Para ello utilice la placa “pupitre de control” anterior y la placa siguiente “simulador de
planta”.

J.A. Rodríguez Mondejar // J. Matanza Domingo 7 de 13


Comunicaciones Industriales Avanzadas

Simulador de planta:

BI Sensor de
proximidad
inductivo
SF1 SF2
Final de
carrera
M Relé

KA1
KA2

Sensor de Motor
proximidad
capacitivo

El esquema para conexión de los relés es el siguiente:

Un relé es un elemento electromecánico de control formado por contactos (11 con 12 y 14,
21 con 22, 24, etc.) cuya apertura y cierra se controla a través de una bobina (A1, A2).
Cuando no pasa corriente por la bobina el relé está en reposo y se permite el paso de la
corriente a través de 11-12 (21-22 y 31-32), tal como indica la figura. Cuando pasa corriente
suficiente, la bobina se activa y los contactos basculan hacia la posición contraria. Ahora se
permite el paso de la corriente a través de 11-14 (21-24 y 31-34).
Active RL0 y RL1 para arrancar el motor en giro a derechas, giro a izquierdas y pararlo.

Llegado a este punto, avise al profesor para mostrar el correcto funcionamiento.

Pregunta 6: ¿Por qué no ocurre nada catastrófico si simultáneamente se envía orden de


giro a derechas y giro a izquierdas al motor desde el Windmill?

1.4.3 Manejo de salidas analógicas


En este apartado el alumno aprenderá a manejar una salida analógica en intensidad desde
el ordenador y en formato coma flotante.

Siga los siguientes pasos:


1. Conecte un multímetro con la escala en 20 mA o superior a la salida A01 del
multiconvertidor CP2003.
2. Configure la salida A01 como manual escribiendo en la posición de memoria
CONF_MANUAL.

J.A. Rodríguez Mondejar // J. Matanza Domingo 8 de 13


Comunicaciones Industriales Avanzadas

3. Envíe la trama de ejemplo dada en la página 15 del manual del CP2003 para escribir
en la salida A01 (posición AN_OVER0). Calcule qué valor se envía (está en formato
IEEE32). Compruebe el valor que mide el multímetro con el valor enviado.
4. Vuelva a realizar el paso 3 para conseguir que el multímetro marque 20 mA y -20
mA. Si el equipo es de 0-5 mA, en vez de 20 mA utilice 5mA.

Pregunta 7: Indique la trama enviada para conseguir -20 mA (o en su caso -5 mA)

1.5 Manejo de 2 o más equipos desde la red MODBUS


En este apartado el alumno trabajará con dos o más esclavos sobre una única red modbus.
El objetivo es entender la importancia de la dirección física: cada equipo en la red modbus
debe tener una dirección diferente.
Siga los siguientes pasos:
1. Póngase de acuerdo con otros grupos para asignar a cada equipo una dirección
diferente. Por ejemplo: CP2003 del grupo 1 tiene la dirección 1, CP2003 del grupo 2
tiene la dirección 2.
2. Cambie la dirección de su equipo por la dirección asignada. Puede utilizar la
dirección actual del equipo o la dirección 199.
3. Conecte la red RS485 entre varios grupos: por un lado estarán los multiconvertidores
conectados y por otro lado los ordenadores personales. Uno de los ordenadores
actuará como maestro y el resto como espía.
4. Compruebe que se pueden activar y desactivar los relés de cada uno de los
multiconvertidores. Si no se ha desmontado la parte de motores, se puede
comprobar el control de la red de motores.

Pregunta 8: Dibujo de la red RS485 con los equipos conectados y su dirección.

1.6 Programación de un red MODBUS


En este apartado el alumno aprenderá los rudimentos básicos para montar una aplicación
de control sobre una red MODBUS.
Una vez cubierta la fase de familiarización de la red MODBUS y con los equipos conectados
a ella, el siguiente paso es dotarse de las herramientas necesarias para poder montar una
aplicación. Dos tipos de herramientas son necesarias:
1. Preparar una librería que encapsule los detalles de la red MODBUS y las
operaciones repetitivas. Esta librería debería estar formada por:
• Utilidades para preparar la trama como el cálculo del CRC, convertir un número
real a formato IEEE sobre MODBUS y viceversa, etc.
• Funciones para ensamblar y desensamblar la trama.
• Funciones para transmitir y recibir la trama.

J.A. Rodríguez Mondejar // J. Matanza Domingo 9 de 13


Comunicaciones Industriales Avanzadas

2. Programas de prueba más sofisticados que Windmill. Windmill es muy útil pero está
muy limitado: para cualquier comunicación hay que bajar al nivel byte. Si se quiere
probar que los relés de los multiconvertidores funcionan correctamente vendría muy
bien una aplicación del tipo:
> 23 RL0 1
> 23 OK
> 23 RL0 0
> 23 OK
El objetivo de los siguientes apartados es crear un librería que pueda ser utilizada en
prácticas posteriores, y crear un programa de prueba para manejo cómodo de los relés.

1.6.1 Cálculo del CRC


El objetivo es construir una función para el cálculo del CRC.
Siguiendo las notas dadas al final del manual del CP2003 o en la propia documentación
para implantación del MODBUS sobre una línea serie, programe una función para calcular el
CRC con el polinomio del MODBUS.
El prototipo de la función será:

// Obtiene el CRC de 16 bits según MODBUS de una cadena de bytes


void MODBUSCRC(int l, // Tamaño de la cadena
unsigned char *pb, // Dirección de la cadena de bytes
unsigned char *pCRC // Dirección de una cadena de 2
// bytes donde se deposita el CRC
// calculado
);

Para probar la función puede utilizar las propias tramas transmitidas o la que aparece como
respuesta en el apartado 1.2. Como programa de prueba puede utilizar el siguiente:
int main(){
unsigned char mc[5]={0xc7,0x04,0x02,0x53,0x41}; // CRC es CDE1
unsigned char mCRC[2];
MODBUSCRC(5,mc,mCRC);
printf("%02x%02x",mCRC[0],mCRC[1]);
return 0;
}

Para programar utilice el entorno MinGW de la práctica 3 de “Fundamentos de


comunicaciones industriales”:
http://www.iit.upcomillas.es/carlosrg/Docencia/LC/LC.html
Para programar el CRC resultan útiles los siguientes operadores y recomendaciones de C:
• >> permite desplazar hacia la derecha los bits de un número n posiciones (a=b>>n;)

• << para desplazar hacia la izquierda.

• | permite realizar la función OR de dos números bit a bit (a=b|c);

J.A. Rodríguez Mondejar // J. Matanza Domingo 10 de 13


Comunicaciones Industriales Avanzadas

• & permite realizar la función AND de dos números bit a bit (a=b&c);

• Una variable de tipo int ocupa 32 bits, lo mismo que un float (IEEE32).
• Para obtener el byte más alto de un número b de 32 bits: a=b>>24. De la misma
manera se procedería con el resto de bytes.
• Para asignar el byte más alto de un número a un determinado valor respetando el
resto habría que hacer: a=(a&(0x00ffffffL))|(b<<24).

Pregunta 9: Comprobar el cálculo del CRC con una trama de respuesta del CP2003.

1.6.2 Rutina para transmitir y recibir una trama


Programe una función para transmitir una trama y otra para recibir basándose en APIRS232.
Los prototipos de las funciones serán:

// Envía una trama


int MODBUSEnvia( HANDLE hPort,
int l, // Tamaño de la trama
unsigned char *pb // Trama a enviar con CRC incluido
);
// Devuelve 0 si ha habido error en la transmisión, 1 si no ha habido

// Recibe una trama


int MODBUSRecibe( HANDLE hPort,
int lmax, // Tamaño máximo admisible de la trama
unsigned char *pb // Trama recibida
);
// Devuelve 0 si ha habido error en la recepción, >=1 indica la longitud de la trama

Para probar la función se utilizará el siguiente programa de prueba.

int main(){
unsigned char mc[8]={0xc7,0x04,0x04,0xb0,0x00,0x01,0x00,0x00};
unsigned char mcRec[100];
int l;
hPort=OpenSerialPort("COM1",CBR_9600,8,NOPARITY,TWOSTOPBITS,10);

if (hPort==INVALID_HANDLE_VALUE) {
printf("Error abriendo puerto com1");
return 1;
}

MODBUSCRC(6,mc,mc+6);
printf("\nTrama enviada: ");
MODBUSImprime(8,mc);
MODBUSEnvia(hPort,8,mc);

J.A. Rodríguez Mondejar // J. Matanza Domingo 11 de 13


Comunicaciones Industriales Avanzadas

l=MODBUSRecibe(hPort,100,mcRec);
printf("\nTrama recibida: ");
MODBUSImprime(l,mcRec);

CloseSerialPort(hPort);
return 0;
}

La función MODBUSImprime tiene el siguiente código:


// Imprime la trama por pantalla
void MODBUSImprime( int l, unsigned char *pb){
int i;
for(i=0;i<l;i++){
printf("%02x",pb[i]);
}
}

Pregunta 10: Entregar el código para transmitir y recibir.


(jmatanza@dea.icai.upcomillas.es)

1.6.3 Programa de prueba para relés


A partir de las rutinas anteriores, preparar un programa de prueba para relés que permita
activar y desactivar cómodamente los reles de cada multiconvertidor conectado a la red
MODBUS.
La interfaz hombre-máquina de dicho programa será de este estilo en una versión simple:
> 23 RL0 1
> 23 RL0 0
> 2 RL0 1
> 2 RL0 0
El primer caso está dirigido al multiconvertidor con la posición 23 y el segundo al
multiconvertidor con la posición 2.
Llegado a este punto, avise al profesor para mostrar el correcto funcionamiento.

Pregunta 11: Entregar el código para probar los relés (jmatanza@dea.icai.upcomillas.es)

1.6.4 Programa de prueba para relés con chequeo


Mejorar el programa anterior para chequear que la trama de vuelta es correcta. El IHM
(interfaz hombre-máquina) sería ahora:
> 23 RL0 1
> 23 OK
> 23 RL0 0
> 23 OK

J.A. Rodríguez Mondejar // J. Matanza Domingo 12 de 13


Comunicaciones Industriales Avanzadas

> 2 RL0 1
> 2 OK
> 2 RL0 0
> 2 OK

Donde OK indica que la respuesta dada por el multiconvertidor es correcta.

Pregunta 12: Entregar el código para probar los relés (jmatanza@dea.icai.upcomillas.es)

1.6.5 Opcional Programa de prueba para las salidas analógicas


Ampliar el programa anterior para probar las salidas analógicas:
> 23 A01 50
> 23 OK
> 23 A02 75
> 23 OK
> 2 RL0 1
> 2 OK
> 2 A01 100
> 2 OK

Pregunta 13: Opcional. Entregar el código ampliado (jmatanza@dea.icai.upcomillas.es)

J.A. Rodríguez Mondejar // J. Matanza Domingo 13 de 13

También podría gustarte