Modbus device ID

B

Thread Starter

btmull

The company I work for is developing a controller that has three communications ports: two RS485 and one TCP. Modbus TCP and Modbus RTU Master/Slave will be implemented. It has been proposed that each
port have a different Modbus device ID, rather than one global ID.

I contend there is no benefit to this, and only adds confusion for integrators. Does anyone know of a precedent for this?
 
I would swear that this situation was addressed here about 3-4 weeks ago. But I failed to find the thread with a number of search terms. This is going to bug me for days . . . . It was interesting because I had never heard of multiple slave IDs on one box/device before. Maybe those participants will pipe up and respond, too.

Unless your device is actually capable of multitasking and handling requests from multiple Modbus masters, what's the point? And even if your device is so capable, what's the likelihood of multiple Modbus masters querying a given slave device on different ports? I've set
up boxes the use an ethernet HTTP port for an internal web server and a separate serial Modbus port that run simultaneously, but
that's not concurrent Modbus operation.

Unless there's some value situation that I've overlooked, multiple ID's seems to be undue complexity that will likely raise your support
costs when users get confused about which port they're hooked up to and what's its ID is.

David
 
I found that thread, "What are common uses of Modbus?", back in late September, 2007.

http://www.control.com/thread/1026239218#1026239410

Check out Mike Lamond's comments on the Rotork PacScan valve network interface that "allow(s) up to 240 devices, but the Modbus port has four sequential Modbus slave address, with 60 valves assigned to each address".

As I re-read it, it doesn't make much sense. It might make sense for the network's Modbus Master, which has to poll 240 devices, to do so by putting 60 slaves on each of 4 master ports. But they'd be master ports, not slave ports.

Why would any central network device handling 60 valves have 4 Modbus slave ports? How would it get the data from the valves?

Rotork.com's server chooses not to reply, so it isn't possible to look and see how they define PacScan.

David
 
Your question is a little vague. As David (previous reply) mentioned, assuming both Modbus ports are acting as slave what is the point of different ID (Node). Assuming one port is configured as a Modbus master, and the other as a slave then obviously one will have Master designation (no address), the other will be a Modbus slave and hence a node / ID.

The Ethernet port will have an IP address, not a Modbus node. modbus, and Modbus TCP/IP use different addressing , Ethernet uses IP address, and standard modbus uses basic modbus addressing normally between 1 and 247.

The Twido controller with inbuilt Etherent can be configured in this way. The use of EXCH3 for Modbus TCP/IP, and the use of EXCH1 or 2 for Modbus Master intiating coms to a modbus slave.
 
Rotork.com's server finally woke up and replied.
Pakscan (not PacScan) is a digital comm master rack mount box which on one side communicates to the actuators and on the other side communicates to DCS/PLC/PC workstation hosts via Modbus.

There is an option for redundancy on the actuator side and a separate option for redundancy on the host side. The host side
communciations are Modbus RTU or Modbus TCP, dedending on hardware module. Clearly, redundancy calls for multiple ports.

The actuator side uses a 15V, 20mA current loop, and the PakScan IIE glossy brochure states (page 12) that it runs a "Pakscan protocol".

The actuators can be fitted with Modbus RTU RS-485 cards, for "direct Modbus RTU control". The actuator cards can have a single port or dual ports for a redundant communication network.

But Direct Modbus comm with the actuators is clearly a different situation than Pakscan which uses a proprietary protocol over a 20mA current loop.

Dual slave ports intended for redundant communications is a special case for multiple slave ports, as suggested originally.

But Rotork's Pakscan, providing multiple Modbus ports for redundant communications on the host side of Pakscan, is not a case of multiple Modbus slave ports on actuators or on the Pakscan master.

Side note:
What's really impressive is Rotork's claim for RS-485 distance:
Data Rate (baud) 300 600 1k2 2k4 (sic)
Max cable length 24km 12km 12km 6km

Note: Each actuator includes up to 0.6 m of cable spur. Calculations based on Belden 8770 cable parameters, 18 AWG, 1mm2 cross section, 3 cores.

Wow.

David
 
Run through the different scenarios.

(Not sure if this will show up correctly)

Network Port 1 & 2 Allowed Comments/Usefulness
-------- --------------- ------- --------------------------
Single same addr No Slaves must have unique ID
Single unique addr Yes Redundency/virtual slaves
Multiple same addr Yes Widely useful
Multiple unique addr Yes Widely useful

I may have missed something. If so feel free to modify the comments.

Check http://www.automatedsolutions.com for Modbus products that will help you test your scenarios.
 
Every Modbus serial device, with multiple ports, that I have worked with, allows the user to adjust the serial port parameters independently. That includes speed (baud rate), data bits (RTU/ASCII), stop bits, and the slave address. The Modbus device you are working on should behave the same way. It may not be essential that the ports use a different slave address, but it will of little bother to you if you allow it. Compared to disparate baud rates, this is easy. Your boss/company is right. Do what he/she says. Given that each serial port is deployed as a slave on a different circuit, it's not your business to force the Modbus address to be the same on each circuit.

The Modbus/TCP slave address (or destination index) is used for routing, not direct addressing. Modicon, Niobrara, Moxa, Digi, and others have products that use destination index in all kinds of clever ways.
 
M
You're right, my reply on 9/22 wasn't clear about the Pakscan port arrangement. The proprietary valve network allows up to 240 devices, using a ring connection to redundant ports on the Pakscan master station. The Modbus RTU slave port, in single or redundant connection, provides the host interface with four consecutive Modbus addresses on each phyical port, with 60 devices assigned to each Modbus address.

If redundant master stations are used, that means four ports exist, each of which provides access to all 240 devices. I found this in the programming documents when I had a IIE on a project about 10 years ago.

Mike
 
B
I guess I need some clarification. I read the original post as meaning Modbus instrument ID, not node address. The instrument ID is a fixed value set by the vendor. One useful purpose is to allow software packages to auto-detect instruments. Is that what you are refering to?
 
Top