Está en la página 1de 11

comunicación Labiew-

Proteous-MpLab
*Reporte de practica

MIRANDA GALINDO LUIS HUMBERTO


15TE0280

Materia: Comunicaciones Industriales


Docente: I. LUIS ANGEL MARTINEZ CABRERA
Introducción

En la comunicación industrial se utilizan diversos componentes que se encargan de llevar a


cabo el enlace entre diferentes dispositivos, tal es el caso del RS-232 el cual es un
componente de comunicación entre dos dispositivos, por el cual se envían datos de uno de
ellos hacia el otro y viceversa.
Para esta práctica se necesitó de tres softwares diferentes tales como: LabView, Proteus y
MPLab, LabView es utilizado como el dispositivo por el cual se transmiten los datos
utilizando el puerto serial, ademas de que en él se desarrolla una interfaz de usuario, en
MPLab se desarrolla el código para que el PIC18F877A sea el encargado de recibir los datos
enviados desde LabView y el software Proteus es el encargado de llevar a cabo la simulación
de la comunicación entre ambos programas de manera que en él se reciben los datos y se
muestran los datos recibidos, ademas de que el microcontrolador se utilizan los pines RX y
TX que se utilizan para la recepción y transmisión de datos respectivamente.

Objetivo
Levar a cabo la simulación de la comunicación serial entre dispositivos con comunicación
serial mediante el uso de software de transmisión, recepción de datos y comunicación de
dispositivos de manera correcta.

Fundamento teórico
El protocolo RS-232 es una norma o estándar mundial que rige los parámetros de uno de los modos
de comunicación serial. Por medio de este protocolo se estandarizan las velocidades de
transferencia de datos, la forma de control que utiliza dicha transferencia, los niveles de voltajes
utilizados, el tipo de cable permitido, las distancias entre equipos, los conectores, etc.
Además de las líneas de transmisión (Tx) y recepción (Rx), las comunicaciones seriales poseen otras
líneas de control de flujo (Hands-hake), donde su uso es opcional dependiendo del dispositivo a
conectar.
A nivel de software, la configuración principal que se debe dar a una conexión a través de puertos
seriales. RS-232 es básicamente la selección de la velocidad en baudios (1200, 2400, 4800, etc.), la
verificación de datos o paridad (parida par o paridad impar o sin paridad), los bits de parada luego
de cada dato(1 ó 2), y la cantidad de bits por dato (7 ó 8), que se utiliza para cada símbolo o carácter
enviado.
La Norma RS-232 fue definida para conectar un ordenador a un modem. Además de transmitirse los
datos de una forma serie asíncrona son necesarias una serie de señales adicionales, que se definen
en la norma. Las tensiones empleadas están comprendidas entre +15/-15 voltios.

Puerta serial full dúplex para comunicación punto a punto a una distancia no superior a 30 metros.
Desde 3 hilos hasta 19 hilos.
Este protocolo está disponible en los puertos seriales de la mayoría de las computadoras personales
(PC).

El primer puerto serial denominado comúnmente COM1 tiene asignada la interrupción IRQ4 y sus
registros empiezan en la dirección de la memoria %3F8, y de ahí en adelante hasta la %3FE. Para las
máquinas que tienen un segundo puerto serial este se denomina COM2, tiene asignada la
interrupción IRQ3 y sus registros se alojan en las direcciones %2F8 hasta la %2FE. Los puertos
denominados COM3 y COM4 a pesar de que se mapean en un espacio diferente de los puertos
anteriores, comparten las interrupciones, COM1 con COM3 y COM2 con COM4, por esto es muy
difícil utilizar los cuatro cuando se trata de hacerlos funcionar mediante interrupciones.

Instrumentos
Para el desarrollo de esta práctica es necesario contar con un equipo de cómputo con cuatro
softwares diferentes y con sistema operativo Windows 8 o mayor
Los softwares a utilizar son:
Configure Virtual Serial Port Driver: el cuál será el encargado de generar puertos seriales
virtuales
LabView: el cual es necesario para desarrollar una interfaz de usuario ademas de que servirá
para realizar la emisión de datos mediante el uso de un puerto seria virtual.
MPLab X IDE: En él se desarrolla el código para la configuración del PIC16F877A para que
reciba los datos provenientes de LabView.
Proteus: En él se desarrolla la simulación del microcontrolador, conectado al RS-232 y a una
pantalla para visualizar los datos recibidos.
No hay ninguna fuente en el documento actual.
No hay ninguna fuente en el documento actual.
Desarrollo
Como primer paso se desarrolló en LabView una interfaz de usuario para que
en ella se introduzcan los datos a enviar por medio de comunicación serial.

Ilustración 1 Interfaz de usuario

Ilustración 2 Diagrama de bloques correspondiente a la interfaz de usuario

Después, se desarrolló el código que configura el microcontrolador para que reciba


mediante el RS-232 los datos provenientes de LabView.
#include "config_PIC16F877A.h"

#define _XTAL_FREQ 20000000

#include <xc.h>

#include <stdio.h>

void UART_send_char(char);

char UART_get_char(void);

void main(){

char RXByte;

//Registro SPBRG

SPBRG = 129;

//Registro TXSTA

//TXSTA = 0b00100100;

//TXSTAbits.CSRC=0; //Modo esclavo en modo sincrono

TXSTAbits.TX9=0; //Transmisión en modo 8bits

TXSTAbits.TXEN=1; //Habilita transmisión

TXSTAbits.SYNC=0; //Modo comuncación asíncrona

TXSTAbits.BRGH=1; //Modo de alta tasa de baudaje activado

//Registro RCSTA

//RCSTA = 0b10000000; //serial port enable

RCSTAbits.RX9=0;

//RCSTAbits.SREN=0; //No importa en modo asíncrono

RCSTAbits.CREN=1; //Recepción contínua apagada

RCSTAbits.ADDEN=0; //Detector de dirección deshabilitado

RCSTAbits.SPEN=1; //Habilitación de la comunicación


while(1){

//__delay_ms(1000);

RXByte=UART_get_char();

//__delay_ms(50);

UART_send_char(RXByte);

//__delay_ms(50);

void UART_send_char(char bt) {

while(!TXIF); //Hold the program till TX buffer is free

TXREG = bt; //Load the transmitter buffer with the received value

char UART_get_char(void){

if(OERR){ // check for Error

CREN = 0; //If error -> Reset

CREN = 1; //If error -> Reset

while(!RCIF); //Hold the program till RX buffer is free

RCIF=0; //Se limpia la bandera de interrupción

return RCREG; //Receive the value and send it to main function

Por último, se llevó a cabo la conexión de los componentes involucrados en el software


Proteus:
Ilustración 3 Simulación de los componentes en Proteus

A continuación, se llevó a cabo la prueba del funcionamiento en los tres programas.


Primero se debe correr la interfaz de usuario en LabView:

Ilustración 4 Run Continuosly

Se configura la interfaz de usuario a 8 bits y se elige el puerto serial virtual


correspondiente

Ilustración 5 Configuración de la interfaz


Después se debe poner a correr el software MPLab para que este a su vez lleve a cabo la
simulación en Proteus:

Ilustración 6 Correr el código en MPLab

Y a hacer lo anterior automáticamente se pone en marcha la simulación de Proteus.

Ilustración 7 Configuración del RS-232 en Proteus


Ilustración 8 Primer dato enviado

Ilustración 9 Segundo dato enviado


Ilustración 10 Cadena de caracteres enviada
Resultados y conclusiones
Mediante el desarrollo de esta práctica se demostró que se puede llevar a cabo la
simulación de una comunicación serial entre dos dispositivos mediante el modulo RS-232
y el uso de software en ambos dispositivos y el uso de microcontroladores.
Ademas en necesario llevar a cabo la conexión de los pines de comunicación y transmisión
en el microcontrolador.
Es posible enviar diferentes datos desde un punto a otro, ya sea un solo bit u hacer que 8
bits se transmitan.

Referencias

Bernabueu, C. (2006). Hacia la siguinete generación de buses industriales. Automatica e


instrumentacion.

Cócera, P. M. (2000). Comunicaciones industriales. Praninfo, Thomson Learning.

Colmenar, M. C. (1999). Guia multimedia: sistemas basicos de comonicaciones. RA-MA.

R. Horak, H. N. (2002). Comunications system and networks. Wiley.

Zurawski, R. (2005). The industrial comunication tecnology handbook. CRC Press.

También podría gustarte