PDF de programación - Communications between PLC and microcontroller using Modbus Protocol

Imágen de pdf Communications between PLC and microcontroller using Modbus Protocol

Communications between PLC and microcontroller using Modbus Protocolgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 28 de Febrero del 2018)
675 visualizaciones desde el 28 de Febrero del 2018
3,2 MB
104 paginas
Creado hace 4a (14/07/2016)
Trabajo Fin de Grado
Grado en Ingeniería de Tecnologías Industriales



Communications between PLC and microcontroller
using Modbus Protocol

Autor: Eduardo Naranjo Piñar

Tutor: Luis Fernando Castaño Castaño

Equation Chapter 1 Section 1

Dpto. Ingeniería de Sistemas y Automática

Escuela Técnica Superior de Ingeniería

Universidad de Sevilla

Sevilla, 2016



i







Communications between PLC and microcontroller using Modbus Protocol



ii


















































ii



iii







Trabajo Fin de Grado

Grado de Ingeniería en Tecnologías Industriales









Communications between PLC and microcontroller

using Modbus Protocol









Autor:

Eduardo Naranjo Piñar





Tutor:

Luis Fernando Castaño Castaño

Doctor Ingeniero Industrial







Dpto. de Ingeniería de Sistemas y Automática

Escuela Técnica Superior de Ingeniería

Universidad de Sevilla

Sevilla, 2016





















iii



Communications between PLC and microcontroller using Modbus Protocol



iv



















































































iv



v



Proyecto Fin de Carrera: Communications between PLC and microcontroller using Modbus Protocol















Autor: Eduardo Naranjo Piñar

Tutor: Luis Fernando Castaño Castaño





El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros:

Presidente:







Vocales:









Secretario:















Acuerdan otorgarle la calificación de:

Sevilla, 2016







v

El Secretario del Tribunal



Communications between PLC and microcontroller using Modbus Protocol



vi









































































vi

vii











Agradecimientos



A toda aquella persona, animal o cosa que me ha tenido que aguantar durante mis años de estudios



























































vii



Communications between PLC and microcontroller using Modbus Protocol



viii



































































viii









Abstract

The main goal of this document is developing multiple Modbus devices to communicate with
different computers and sensors. To explain this, the document will be divided in 3 chapters.

First of all, a small state of the art of the Modbus protocol will be done, explaining how it works
superficially, which are the most used functions, and how it handles the exceptions. Later there
will be an explanation on the development of the Modbus slave (serial and TCP/IP) with an
Arduino Mega board with the goal of sending a sensor output using a PC, and the development
of the Modbus master (serial) for reading data from a MASS-X solar sensor. Finally a Modbus
master which reads data from a solar panel (slave) and will send this data via Web Service in an
XML document has been documented.





















































ix



Communications between PLC and microcontroller using Modbus Protocol



x



















































































x

xi











Introduction

Introduction

Whenever there are sensors in an industrial environment to have a better understatement about
what is happening, a way to send this data to a PLC or computer is necessary, which will read it
to make decisions about how the system has to respond. Because of this, the industry has
developed multiple communication protocols among all these devices, being Modbus the most
used nowadays.



Modbus is a serial protocol developed by Modicon (today Schneider Electric) for use it with
their PLCs. It is very simple and reliable thanks to its CRC, and it has become the standard de
facto protocol. It was written with industrial applications in mind, it is easy to maintain and to
use and royalty-free.



Even though PLCs are extremely reliable and robust computers, these are very expensive
compared to some new controllers such as Arduino from the Arduino Foundation and Raspberry
Pi from Element 14. Because of this, people are starting to use these computers to substitute
PLCs in some applications (like research or low-budget projects).



This is the main reason made this project was made, to make these devices compatible with the
protocol by using different libraries made by the user's community and to develop some user
interfaces to make the data visible for operators.



The first main goal is to program an Arduino Mega to read a sensor output and then send it to a
PLC or PC via Modbus. Thanks to this, the department will not need to buy expensive cards, and
will be able to connect the sensors far away from the PLC in case they are using Modbus
TCP/IP.



The second goal is to develop a Modbus master to read data from a system, which implements a
slave, and later will send this data through a Web Service in an XML format.









xi



Communications between PLC and microcontroller using Modbus Protocol



xii





Resumen en español

1: Protocolo de comunicación Modbus



Modbus es un protocolo de mensajes posicionado en el nivel 7 del modelo OSI (Open System
Interconnection), que provee comunicación maestro/esclavo entre dispositivos conectados en diferentes tipos
de redes. Es un protocolo de pedido/respuesta y ofrece servicios especificados por diferentes códigos de
función.

Figura 1.1 Tabla del modelo OSI





El protocolo tiene cuatro tipos de objetos:



1-Bit

16-Bits

Sólo lectura

Discrete Input

Input Register

Lectura/Escritura

Coil

Holding Register

Tabla 1.1 Tabla de variables Modbus



Las versiones más importantes del protocolo son:

 Modbus RTU (Remote Terminal Unit)

 Modbus ASCII (American Standard Code for Information Interchange)

 Modbus TCP/IP (Transmission Control Protocol/Internet Protocol)

 Modbus sobre TCP/IP





xii



xiii





Resumen en español

Cada dispositivo esclavo tiene asignado un único número de identificación. En Modbus serie sólo al maestro
se le permite iniciar una petición. Sobre Ethernet cualquier dispositivo puede hacerlo, sin embargo
normalmente es el maestro el que lo hace. La trama Modbus en su modalidad serie contiene el número de
esclavo con el que queremos comunicarnos y sólo el dispositivo con ese número responderá a la trama, incluso
aunque otros dispositivos también la reciban. Todas las tramas contienen información de redundancia para
detectar errores de transmisión.



La PDU (Protocol Data Unit) contiene toda la información necesaria para el esclavo y consta de los siguientes
elementos:

 Código de función

 Dirección del primer elemento

 Número de elementos a leer o bytes de información



Los dispositivos se pueden dividir en dos tipos según la organización de los datos:

 4 bloques diferentes (uno para cada tipo de objeto)

Figura 1.2 Dispositivo de 4 bloques





 1 único bloque

Figura 1.3 Dispositivo de 4 bloques



xiii





Communications between PLC and microcontroller using Modbus Protocol



xiv





Los códigos de función más importantes son los siguientes:

 01: Leer coils

 02: Leer discrete inputs

 03: Leer holding registers

 04: Leer input registers

 05: Escribir un sólo coil

 06: Escribir un solo holding register

 15: Escribir múltiples coils

 16: Escribir múltiples holding registers



Cuando un maestro envía un pedido a un dispositivo esclavo, éste espera una respuesta normal. Uno de los
siguientes cuatro posibles eventos pueden ocurrir cuando el esclavo recibe la trama:

 Si el esclavo recibe la trama sin errores de comunicación, y puede manejar la trama de manera

normal, devuelve una respuesta normal.

 Si el esclavo no recibe la trama debido a un problema de comunicación, no se devuelve una respuesta.

El programa maestro eventualmente procesa una condición de timeout.

 Si el esclavo recibe la trama, pero detecta un error de comunicación, no se devuelve una respuesta. El

programa maestro eventualmente procesa una condición de timeout.

 Si el esclavo recibe un pedido sin error de comunicación, pero no puede manejar el pedido, éste
devuelve una respuesta de excepción informando al maestro de la naturaleza del error. El primer Byte
es el código de función sumando a 0x80, y el segundo es el código de excepción.









































xiv



xv

2: Microcontrolador Mega 2560







Resumen en español

El microcontrolador Arduino Mega 2560 es una placa basada el chip ATmega560. Tiene 54 pines digitales de
entrada/salida (de los cuales 15 pueden ser usados como salidas PWM (Pulse-Width Modulation)), 16 entradas
analógicas, 4 puertos serie, un cristal oscilador de 16MH, conexión USB, puerto de alimentación tipo jack, y
botón de reinicio, y es además compatibles con la mayoría de los complementos para el Arduino Uno.

Figura 2.1 Arduino Mega





El mega 2560 se puede programar con el software de Arduino, y viene preprogramado con un boot-loader que
te permite subir un nuevo programa sin necesidad de hardware de programación. Usa librerías de C, y la
sintaxis de programación es muy similar.

La placa se puede alimentar vía USB o mediante una fuente externa (AC/DC (Alternating Current / D
  • Links de descarga
http://lwp-l.com/pdf9119

Comentarios de: Communications between PLC and microcontroller using Modbus Protocol (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad