by Paul Smart | Updated: 09/02/2015 | Comments: 2
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.
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.
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.
Many of our customers leverage Modbus communication to provide environmental data to SCADA systems, grid operators, and utilities.
This capability enables you to acquire and transfer data from sensors or other devices that are compatible with Modbus.
You can use the Modbus protocol with Campbell Scientific data loggers for a variety of purposes. Some practical examples include the following:
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.
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.