Comunicación Modbus

Niple permite realizar comunicaciones mediante el protocolo “MODBUS RTU”, ampliamente utilizado en electrónica industrial y controladores lógicos programables (PLCs). Accedemos desde la barra de herramientas a la opción Declaración de Dispositivos:

001

Luego seguimos la ruta: Nuevo Dispositivo » Comunicaciones » MODBUS

002

Los parámetros a configurar son los siguientes:

Tipo. Comunicación mediante periférico USART o código.

Datos. 16 bits.

Modo. RTU (no editable).

Velocidad (Bd). Velocidad de comunicación en baudios: 1200, 2400, 4800, 9600, 19200.

Pines. Configurar los pines del microcontrolador: TX, RX y SEL.

Dirección. Deberemos cargarla en el registro “rtu_dir” (rango válido: 1 a 247).

Para poder acceder a los registros y a los pines del microcontrolador es necesario armar tablas de memoria y de E/S. Simplemente hacemos clic en los registros y pines declarados y se cargan de forma automática en las tablas.

003

Registro PIC. Todos los registros declarados en el PIC. Solo de 16 bits.

Pines. Pines del PIC.

Tabla de memoria. Definir cargando los registros. Podemos borrar elementos presionando la tecla suprimir.

Tabla de E/S. Definir cargando los pines. Podemos borrar elementos presionando la tecla suprimir.

Pulsando el botón “Esquema” podemos acceder a un esquema representativo del conexionado del PIC y el dispositivo.

004

Una vez concluida la configuración de la comunicación modbus podemos comenzar con la programación. El primer paso es declarar la dirección del dispositivo asignando un valor decimal comprendido entre 1 y 247 al registro “rtu_dir”.

007

A continuación insertamos el bloque de inicialización desde Bloques » Comunicaciones » Inicializar.

008

005

Continuamos insertando el bloque para recibir la trama de datos desde Bloques » Comunicaciones » Recibir_Trama. Este bloque nos generará una rutina de interrupción por RC USART. En la misma también colocaremos el bloque de ejecución de comandos, desde Bloques » Comunicaciones » Ejecutar_Comando.

009

Comandos implementados:

0x01. Lee estado de los pines del PIC declarados en la “Tabla E/S”.

0x03. Lee registros declarados en la “Tabla de memoria”.

0x05. Asigna valores a un pin (0/1).

0x06. Asigna valores a un registro.

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInShare on TumblrPin on PinterestDigg thisShare on RedditEmail this to someonePrint this page