You are on page 1of 13

ComunicacionesIndustrialesAvanzadas

1 Prctica MODBUS: Bus Modbus


1.1 Objetivos
El objetivo de esta prctica y de las siguientes es la utilizacin y la programacin de una red modbus. El alumno debe ser capaz de: Diferenciar los tres niveles fundamentales de la red modbus: 1. Nivel fsico: RS485. 2. Nivel de protocolo. Trama bsica del protocolo modbus: cabecera, funciones, direcciones, datos, CRC. Organizacin maestro/esclavo. 3. Nivel de aplicacin. Tipos de funciones disponibles en el equipo que se conecta va modbus. Datos que se pueden leer del equipo. Informacin que se puede enviar al equipo. Trabajar la red modbus en modo programacin y en modo mantenimiento: 1. Programacin: 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 versin ms bsica donde el maestro es la herramienta windmill. 2. Mantenimiento: utilizar una herramienta como windmill para capturar la informacin que circula entre maestro y esclavos con el fin de detectar anomalas. La herramienta trabaja como un espa.

1.2 Primeros pasos con el CP2003


En este apartado el alumno aprender a establecer una comunicacin bsica con el multiconvertidor CP2003 a travs de la RS485 mediante protocolo MODBUS para leer informacin. Tambin aprender a trabajar con el windmill en modo maestro de una red modbus y con el windmill en modo espa. 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 ms sencillos que da el fabricante en su manual, etc. El CP2003 es un multiconvertidor que mide tensin, intensidad, potencia, etc. Permite enviar dichas medidas a un ordenador o un centro de control a travs 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: Conexin de alimentacin. Conexiones para RS485: +, - y GND. Bornas 24V, RL0 y RL1. Son dos salidas por contacto que proviene de 2 rels que llevan internamente el multiconvertidor. Los contactos estn colocados entre 24V y RL0, y entre 24V y RL1. A travs del protocolo MODBUS se pueden activar y desactivar dichos contactos. Bornas A01 y A02. Son dos salidas analgicas en intensidad que se pueden regular a travs del protocolo MODBUS. Normalmente estn definidas para que con el valor mximo se obtenga 20 mA y con el valor mnimo 0 mA. J.A.RodrguezMondejar1de13

ComunicacionesIndustrialesAvanzadas Una de las fases de medida de tensin est conectada a travs de un divisor de tensin a 220V. El divisor de tensin est formado por una resistencia fija de 100K y una resistencia variable de 100K, tambin. Adems, hay una conexin externa lateral para conectar una carga al convertidor. Con el potencimetro y la carga, se puede medir tensin, 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 direccin dentro del rango 0x0000 a 0xFFFF, y tiene un tamao 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. Segn el tipo de instrumento no todos los registros estn disponibles y cada uno almacena un determinado tipo de informacin (tensin, intensidad, etc.) o tiene una determinada funcin (activar/desactivar un rel, disparar una alarma, etc.). El protocolo MODBUS permite mediante tramas enviadas a travs de la RS485 consultar o actualizar el valor de dichos registros. Cada trama corresponde a funcin o comando dentro del protocolo. La tabla siguiente presenta las funciones o comandos del protocolo que se van a utilizar en esta prctica:
Tabla 1 Comandos bsicos del protocolo MODBUS Comando 0x04 0x03 0x06 Escritura de un registro Escritura de mltiples registros M->S: MA,0x06,AH,AL,RH,RL,CRCL,CRCH S->M: MA,0x06,AH,AL,RH,RL,CRCL,CRCH M->S: MA,0x10,AH,AL,NH,NL,NB,R0H,R0L,..,CRCL,CRCH S->M: MA,0x10,AH,AL,NH,NL,CRCL,CRCH M->S=Direccin maestro-esclavo S->M=Direccin esclavo-maestro MA=Direccin MODBUS del dispositivo AH,AL=Parte alta y baja de la direccin de un registro NR=Nmero de bytes transmitidos NH,NL=Nmero de registros ocupando 2 bytes NB=Nmero de bytes equivalente al nmero de registros (2*nmero de registros) RxH,RxL o RH,RL=Parte alta y baja de un valor ledo o a escribir en un registro Funcin Lectura de registros Modo de uso M->S: MA,0x04,AH,AL,NH,NL,CRCL,CRCH S->M: MA,0x04,NR,R0H,R0L,R1H,R1L,..,CRCL,CRCH

0x10

En la pgina 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 pgina 13 del manual hay ejemplos de las tramas que acepta y de las tramas de respuesta. Para poner en marcha la comunicacin va protocolo MODBUS entre el ordenador, que acta como maestro, y el CP2003, que acta 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 prctica profesional, cuando se recibe un nuevo equipo, el primer paso es

J.A.RodrguezMondejar2de13

ComunicacionesIndustrialesAvanzadas intentar una comunicacin sencilla siguiendo los ejemplos que da el fabricante. En este caso, siguiendo la pgina 13 del manual, utilizaremos el comando 04 para leer el nmero de serie del aparato que se encuentra a partir de la direccin 04B0 y que ocupa 5 registros (10 bytes). Se supone que el equipo tiene la direccin 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 configuracin COM1, 9600, 8 bits, sin paridad y un bit de stop. 4. Enve al CP2003 el siguiente comando escrito en hexadecimal para preguntarle su identidad: 0x4C,0x04,0x04,0xB0,0x00,0x05,CRC. CRC es un nmero 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 automticamente cada vez que se enva 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 estn conectados al mismo instrumento, slo un grupo podr hablar en cada momento con el instrumento. En la ventana de respuesta del windmill del resto de grupos aparecer la conversacin entre el grupo que est hablando (maestro) con el CP2003 (esclavo). Los grupos que slo escuchan estn actuando como espas. El modo espa es muy til en la prctica para detectar problemas en una red modbus o de otro tipo. Por ejemplo: en un windmill en modo espa se puede ver el verdadero CRC que enva el windmill que est trabajando en modo maestro.

J.A.RodrguezMondejar3de13

ComunicacionesIndustrialesAvanzadas Nota importante 2: Si no responde el CP2003 puede ser debido a que la direccin MODBUS utilizada no es la correcta. El CP2003 tiene una direccin MODBUS a la que siempre responde: 0xC7 (199). Esta es una direccin muy til para mantenimiento pero que no debe utilizarse nunca en operacin. Enve la trama cambiando 0x4C por 0xC7. Para saber cul es la direccin del dispositivo en operacin lea el registro situado en la direccin 0x04B5 (0xC7,0x04,0x04,0xB5,0x00,0x01,CRC). Con esta nueva direccin intente nuevamente leer 5 registros a partir de la direccin 0x04B0. En la pgina 13 del manual se describe lo que enva el CP2003 (primer ejemplo). A lo largo del manual del CP2003 aparecen una serie de tablas donde se indica la informacin que se puede encontrar en cada direccin o la funcin que se puede ejecutar. Por desgracia, las direcciones indicadas no son absolutas, sino relativas a una direccin base. En el caso del CP2003 la direccin base es 1000 (si no se modifica). Por ejemplo: en la tabla del apartado 1.2.6 se dice que el nmero de serie se encuentra a partir del registro situado en la direccin 200. La verdadera direccin no es 200 sino 1200 (0x4B0), como ya hemos visto en el ejemplo anterior. Siguiendo las pginas 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 espa. 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 nmero de registros a leer es 3. Pngase 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 problemtica de trabajar con informacin de varios tipos (byte, cadena de caracteres, palabra o word, datos en coma flotante) distribuida sobre un esquema rgido 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 enva el registro bajo y despus el registro alto. En el anexo 2 (pgina 17 del manual del CP2003) se explica cmo 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.RodrguezMondejar4de13

ComunicacionesIndustrialesAvanzadas Siguiendo la tabla del apartado 1.2.6, leer la direccin modbus del equipo. Para ello enviar al CP2003 la trama: 0x4C,0x04,0x04,0xB5,0x00,0x01,CRC. El equipo responder con la direccin 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 leer la escala de intensidad del aparato. Recuerde que ocupa 2 registros. Comprobar que coincide que lo indicado en la tabla de caractersticas 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 tensin. Pregunta 5: Calcule el valor en decimal de la respuesta. De igual forma preguntar al CP2003 por un valor de tensin en una de las entradas. Hay que descubrir entre qu fases est conectado el potencimetro, a partir de los manuales del aparato. Pregunta 6: Calcule el valor en decimal de la respuesta con el potencimetro al mximo y al mnimo. Opcional. Colocar una carga y leer el valor en intensidad de la carga. Hay que descubrir a qu fase est conectada la carga. Pregunta 7: Opcional. Calcule el valor en decimal de la respuesta.

1.4 Escritura de datos en el CP2003 1.4.1 Manejo de rels para activar pilotos
Mediante la funcin de escritura (0x06 o 0x10) se puede activar los 2 rels de salida del CP2003 (RL0 y RL1).

J.A.RodrguezMondejar5de13

ComunicacionesIndustrialesAvanzadas
24V RL0 RL1

HV1 0V

HV2

Para probar el funcionamiento de los rels conecte las salidas RL0 y RL1 segn el siguiente esquema a la placa de pilotos (pupitre de mando, ver figura). Como fuente de alimentacin utilice la fuente de alimentacin de los bastidores de los autmatas (bornas rojas rotuladas con +24V y bornas negras GND, ver figura). Para el resto de convertidores la conexin es la misma. Pupitre de control:

Pulsador de seta de Paro de Emergencia


HV1 HV2 HR

Piloto de sealizacin Pulsadores con contacto NO


SV1 SV2 SR

Pulsador con contacto NC

Conmutador de 3 posiciones

SC

J.A.RodrguezMondejar6de13

ComunicacionesIndustrialesAvanzadas Bastidor con PLC:

Fuente de alimentacin

PLC

Entradas/s

24V 0V

Segn el manual del CP2003 para trabajar con los rels primero hay que configurarlos en modo SW y despus activarlos o desactivarlos (pgina 11 del manual). Siga los siguientes pasos: 1. Enve la trama siguiente 0x4C,0x06,0x04,0xB9,0x00,0x01,CRC para configurar los rels en modo SW (Tabla del apartado 1.2.7). 2. Enve 0x4C,0x06,0x04,0xBA,0x00,0x01,CRC para activar el RL0. 3. Enve 0x4C,0x06,0x04,0xBA,0x00,0x00,CRC para desactivar el RL0. Realice la misma maniobra de activar y desactivar con el rel RL1. Pregunta 8: Indique las tramas enviadas y su respuesta para el caso activar y desactivar el rel RL1.

1.4.2 Manejo de rels para controlar un motor


En este apartado el alumno comprender la importancia de la seguridad y cmo solucionarla insitu para evitar males mayores. Por desgracia, las comunicaciones tienden a ocultar la problemtica 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 travs de un sistema de comunicaciones. Ejemplo: una situacin evidente como es no dar orden a un motor para que gire en dos sentidos simultneamente, puede presentarse a travs de rdenes enviadas va comunicacin. Esto hace necesario la implantacin de circuitos de proteccin en el sistema a controlar, como son los enclavamientos.

J.A.RodrguezMondejar7de13

ComunicacionesIndustrialesAvanzadas Monte el siguiente circuito para controlar el giro de los motores mediante RL0 y RL1. Circuito de control
24V RL0
32

Circuito de potencia
24V

RL1
12 14 22 24 12 14

KA2
A1 31

KA1
A1 31

32

KA1
11 21

KA2
11 21

KA1
A2

HV1

KA2
A2

HV2
M

Para ello utilice la placa pupitre de control anterior y la placa siguiente simulador de planta. Simulador de planta:
BI

Final de carrera
KA1

SF1 M

SF2

Sensor de proximidad inductivo

Rel
KA2

Sensor de proximidad capacitivo

Motor

El esquema para conexin de los rels es el siguiente:

Un rel es un elemento electromecnico de control formado por contactos (11 con 12 y 14, 21 con 22, 24, etc.) cuya apertura y cierra se controla a travs 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 travs 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 posicin contraria. Ahora se permite el paso de la corriente a travs 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.

J.A.RodrguezMondejar8de13

22 24

ComunicacionesIndustrialesAvanzadas Pregunta 9: Por qu no ocurre nada catastrfico si simultneamente se enva orden de giro a derechas y giro a izquierdas al motor desde el Windmill?

1.4.3 Manejo de salidas analgicas


En este apartado el alumno aprender a manejar una salida analgica en intensidad desde el ordenador y en formato coma flotante. Siga los siguientes pasos: 1. Conecte un multmetro 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 posicin de memoria CONF_MANUAL. 3. Enve la trama de ejemplo dada en la pgina 15 para escribir en la salida A01 (posicin AN_OVER0). Calcule qu valor se enva (est en formato IEEE32). Compruebe el valor que mide el multmetro con el valor enviado. 4. Vuelva a realizar el paso 3 para conseguir que el multmetro marque 20 mA y -20 mA. Si el equipo es de 0-5 mA, en vez de 20 mA utilice 5mA. Pregunta 10: Indique la trama enviada para conseguir -20 mA (o en su caso -5 mA)

1.5 Manejo de 2 o ms equipos desde la red MODBUS


En este apartado el alumno trabajar con dos o ms esclavos sobre una nica red modbus. El objetivo es entender la importancia de la direccin fsica: cada equipo en la red modbus debe tener una direccin diferente. Siga los siguientes pasos: 1. Pngase de acuerdo con otros grupos para asignar a cada equipo una direccin diferente. Por ejemplo: CP2003 del grupo 1 tiene la direccin 1, CP2003 del grupo 2 tiene la direccin 2. 2. Cambie la direccin de su equipo por la direccin asignada. Puede utilizar la direccin actual del equipo o la direccin 199. 3. Conecte la red RS485 entre varios grupos: por un lado estarn los multiconvertidores conectados y por otro lado los ordenadores personales. Uno de los ordenadores actuar como maestro y el resto como espa. 4. Compruebe que se pueden activar y desactivar los rels 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 11: Dibujo de la red RS485 con los equipos conectados y su direccin.

1.6 Programacin de un red MODBUS


En este apartado el alumno aprender los rudimentos bsicos para montar una aplicacin de control sobre una red MODBUS.

J.A.RodrguezMondejar9de13

ComunicacionesIndustrialesAvanzadas Una vez cubierta la fase de familiarizacin de la red MODBUS y con los equipos conectados a ella, el siguiente paso es dotarse de las herramientas necesarias para poder montar una aplicacin. Dos tipos de herramientas son necesarias: 1. Preparar una librera que encapsule los detalles de la red MODBUS y las operaciones repetitivas. Esta librera debera estar formada por: Utilidades para preparar la trama como el clculo del CRC, convertir un nmero real a formato IEEE sobre MODBUS y viceversa, etc. Funciones para ensamblar y desensamblar la trama. Funciones para transmitir y recibir la trama.

2. Programas de prueba ms sofisticados que Windmill. Windmill es muy til pero est muy limitado: para cualquier comunicacin hay que bajar al nivel byte. Si se quiere probar que los rels de los multiconvertidores funcionan correctamente vendra muy bien una aplicacin del tipo:
> 23 RL0 1 > 23 OK > 23 RL0 0 > 23 OK

El objetivo de los siguientes apartados es crear un librera que pueda ser utilizada en prcticas posteriores, y crear un programa de prueba para manejo cmodo de los rels.

1.6.1 Clculo del CRC


El objetivo es construir una funcin para el clculo del CRC. Siguiendo las notas dadas al final del manual del CP2003 o en la propia documentacin para implantacin del MODBUS sobre una lnea serie, programe una funcin para calcular el CRC con el polinomio del MODBUS. El prototipo de la funcin ser:
// Obtiene el CRC de 16 bits segn MODBUS de una cadena de bytes unsigned char *MODBUSCRC(int l, unsigned char *pb, unsigned char *pCRC // Tamao de la cadena // Direccin de la cadena de bytes // Direccin de una cadena de 2 // bytes donde se deposita el CRC // calculado ); // Devuelve la direccin de dicha cadena

Para probar la funcin 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; }

J.A.RodrguezMondejar10de13

ComunicacionesIndustrialesAvanzadas Para programar utilice el entorno MinGW de la prctica 3 de Fundamentos de comunicaciones industriales: http://www.dea.icai.upco.es/jarm/LabFundamentosComunicacionesIndustriales.htm Para programar el CRC resultan tiles los siguientes operadores y recomendaciones de C:
>> permite desplazar hacia la derecha los bits de un nmero n posiciones (a=b>>n;) << para desplazar hacia la izquierda. | permite realizar la funcin OR de dos nmeros bit a bit (a=b|c); & permite realizar la funcin AND de dos nmeros bit a bit (a=b&c);

Una variable de tipo int ocupa 32 bits, lo mismo que un float (IEEE32). Para obtener el byte ms alto de un nmero b de 32 bits: a=b>>24. De la misma manera se procedera con el resto de bytes. Para asignar el byte ms alto de un nmero a un determinado valor respetando el resto habra que hacer: a=(a&(0x00ffffffL))|(b<<24). Comprobar el clculo del CRC con una trama de respuesta del CP2003.

Pregunta 12:

1.6.2 Rutina para transmitir y recibir una trama


Programe una funcin para transmitir una trama y otra para recibir basndose en APIRS232. Los prototipos de las funciones sern:
// Enva una trama int MODBUSEnvia( HANDLE hPort, int l, unsigned char *pb ); // Devuelve 0 si ha habido error en la transmisin, 1 si no ha habido // Tamao de la trama // Trama a enviar con CRC incluido

// Recibe una trama int MODBUSRecibe( HANDLE hPort, int lmax, unsigned char *pb ); // Devuelve 0 si ha habido error en la recepcin, >=1 indica la longitud de la trama // Tamao mximo admisible de la trama // Trama recibida

Para probar la funcin 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);

J.A.RodrguezMondejar11de13

ComunicacionesIndustrialesAvanzadas
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); l=MODBUSRecibe(hPort,100,mcRec); printf("\nTrama recibida: "); MODBUSImprime(l,mcRec);

CloseSerialPort(hPort); return 0; }

La funcin MODBUSImprime tiene el siguiente cdigo:


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

Pregunta 13:

Entregar el cdigo para transmitir y recibir (mondejar@upcomillas.es)

1.6.3 Programa de prueba para rels


A partir de las rutinas anteriores, preparar un programa de prueba para rels que permita activar y desactivar cmodamente los reles de cada multiconvertidor conectado a la red MODBUS. La interfaz hombre-mquina de dicho programa ser de este estilo en una versin simple:
> 23 RL0 1 > 23 RL0 0 > 2 RL0 1 > 2 RL0 0

El primer caso est dirigido al multiconvertidor con la posicin 23 y el segundo al multiconvertidor con la posicin 2. Pregunta 14: Entregar el cdigo para probar los rels (mondejar@upcomillas.es)

J.A.RodrguezMondejar12de13

ComunicacionesIndustrialesAvanzadas

1.6.4 Opcional Programa de prueba para rels con chequeo


Mejorar el programa anterior para chequear que la trama de vuelta es correcta. El IHM (interfaz hombre-mquina) sera ahora:
> 23 RL0 1 > 23 OK > 23 RL0 0 > 23 OK > 2 RL0 1 > 2 OK > 2 RL0 0 > 2 OK

Donde OK indica que la respuesta dada por el multiconvertidor es correcta. Pregunta 15: Opcional. Entregar el cdigo para probar los rels (mondejar@upcomillas.es)

1.6.5 Opcional Programa de prueba para las salidas analgicas


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

Pregunta 16:

Opcional. Entregar el cdigo ampliado (mondejar@upcomillas.es)

J.A.RodrguezMondejar13de13

You might also like