Why Modbus Matters: An Introduction

by Paul Smart | Updated: 09/02/2015 | Comments: 2

Blog Topics


Search the Blog


Subscribe to the Blog

Get an email when a new article is posted. Choose the topics that interest you most.


Enter your email address:



Suggest an Article

Is there a topic you would like to learn more about? Let us know.

Leave this field empty

Modbus

You may have heard of Modbus (a widely used communications protocol), but do you know why it is often used with Campbell Scientific data loggers? Do you know how to use Modbus for communication between your data loggers and other Modbus-capable devices? Modbus is just one of the communications protocols that you can use with your Campbell Scientific data loggers. In this article, we’ll introduce the Modbus protocol and briefly explain how you can use it in your network.

Why Modbus Has Become Popular

Modbus is likely the most widely used open-standards communications protocol in the area of industrial supervisory control and data acquisition (SCADA) systems. For example, SCADA systems often use Modbus to connect remote terminal units (RTUs) with a supervisory computer to relay measurement data, device status, control commands, and configuration information.

Over the last 35 years, because of its popularity and the ease with which Modbus can be implemented, the protocol has been used by many devices and adapted to many communication link types. You will find many devices, including those offered by Campbell Scientific, which support or facilitate Modbus communication over wired or wireless connections. Not only can intelligent devices such as microcontrollers and programmable logic controllers (PLCs) communicate with Modbus, but many intelligent sensors have a Modbus interface that enables them to send their data to host systems.

The popularity of Modbus has grown because its messaging structure is independent of the type of physical interface or connection that is used. Modbus can coexist with other types of connections at the same physical interface at the same time. You can operate the protocol over several data links and physical layers.

How Modbus Communication Works

In a standard Modbus network, there is a client-server relationship between the devices. A single Modbus client device initiates requests for information, sending the requests to one or more Modbus server devices on the same network. Only the Modbus client can initiate communication. Modbus servers, in turn, only communicate when responding to the requests from the Modbus client. While the Modbus client does not have a Modbus address, each Modbus server on a shared network has a unique address from 1 to 247. (A maximum of 247 server devices can be connected to the same Modbus network.) For these reasons, Modbus is very good at providing you with a polled and contention-less network.

We have incorporated the Modbus protocol in the operating systems for the majority of our data loggers. Campbell Scientific data loggers can function as Modbus clients and Modbus servers–or even both at the same time! This proves particularly helpful when your data logger needs to use Modbus to query data (as a client) from localized sensors or other data sources, and then serve that data up to another Modbus client on a wider area network.

How You Can Use Modbus

Many of our customers leverage Modbus communication to provide environmental data to SCADA systems, grid operators, and utilities.

Modbus communication between a weather station and a SCADA system

This capability enables you to acquire and transfer data from sensors or other devices that are compatible with Modbus.

Modbus communication between devices and a datalogger and then to a SCADA system

You can use the Modbus protocol with Campbell Scientific data loggers for a variety of purposes. Some practical examples include the following:

  • To interface data loggers and Modbus-enabled sensors
  • To send and retrieve data between data loggers and other industrial devices
  • To deliver environmental data to SCADA systems
  • To integrate Modbus data into PakBus* networks, or PakBus data into Modbus networks

    * PakBus is Campbell Scientific's packet-based communications protocol.

Conclusion

We hope this brief introductory article has helped you better understand what the Modbus protocol is, how it works, and how you can leverage it with your Campbell Scientific data loggers. Future blog articles will offer more details on the communications protocols that you can use with your Campbell Scientific data loggers.

Do you have Modbus comments or questions? Feel free to share them.


Share This Article


About the Author

paul smart Paul Smart is the Vice President of Sales and Marketing at Campbell Scientific, Inc. His first experience with Campbell Scientific equipment came soon after graduating from college while working on a series of plant-growing experiments conducted on the International Space Station. Paul enjoys leveraging unique Campbell Scientific technology to solve challenging measurement problems. He has a bachelor’s degree in electrical engineering and an MBA. Paul also enjoys the outdoors, fly fishing, and spending time with his family.

View all articles by this author.


Comments

GliRam | 07/27/2024 at 03:43 PM

Buen dia, esperando se encuentre de la mejor manera  posible, solicito la aclaracion de una duda.Cuando en este artuculo se menciona que un datalogger se puede utilizar como maestro para llamar datos de sensores, y como esclavo para proporcionar datos a un sistema SCADA, entiendo que debe ser maestro para llamar incluso a sensores que estan conectado a este mismo, y debe ser declarado como esclavo para que esta coleccion de datos pueda ser llevada al sistema SCADA, es correcto??

Hago esta pregunta, porque tengo un cr310 conectado a un am16/32 con una cantidad de sensores analogicos, y lo tengo programado como esclavo, pero al momento de conectarlo con un simulador Modbus maestro, no logro llamar los datos que quiero conocer. Espero haber dado a entender mi duda, gracias.

LizR | 07/29/2024 at 09:15 PM

Good day, GilRam, 

In order to poll or to have the data logger poll other modbus sensors it must first be declared with the ModbusMaster/ModbusClient instruction or ModbusSlave/ModbusServer instruction. 

Any variables that you want to share over modbus should be placed in an array that is then referenced in the ModbusServer instruction. 

Here is a link to one of our technical paper titled "Modbus: Using Campbell Scientific Dataloggers as Modbus Slave Devices in a SCADA Network" that may offer further illumination: 

https://s.campbellsci.com/documents/us/technical-papers/dataloggers-as-modbus-slave-devices.pdf 

Fell free to reach out to our technical support department for further assitance: 435.227.9100 or submit a ticket online here: 

https://www.campbellsci.com/questions?qtype=2

Best,
Liz

Please log in or register to comment.