
Visit our shop for nerds in control lifestyle products.
- PC reliability?
- Windows, real time
- PID loops
- PCs vs. PLCs
- Replacing people
- MS 'monopoly'?
- Software quality
- Where do we go from here?
- Why pay?
this sort of trash.
www.control.com/rss
I am currently in my final year of bachelor of engineering (electrical) and am doing my final year project. Part of the project is to set up some new Automatic Transfer Switches (ATS), which are Modbus compatible to our concurrent SCADA network.
I'm aware I could use RS485 and then program the relay on the ATS from there to work with the SCADA server. HOWEVER, I understand that Modbus is a protocol, much like TCP/IP and stuff like that... but what I don't understand is: is it possible to use Modbus on ethernet? I don't get it, it makes no sense.
Can someone please help a student? :)
Yes. Check out: http://www.modbus.org/
Good luck,
Mark
http://www.peakhmi.com
working with however.
First of all, there exists a version of Modbus called Modbus/TCP; it is very common and the specs can be found on many websites (here for example;
http://www.rtaautomation.com/modbustcp/files/Open_ModbusTCP_Standa rd.pdf).
You could also have a look at the Modbus community links on this forum at the left of this page.
Basically, Modbus/TCP encapsulates the Modbus/RTU data string inside the data section of the TCP frame. It then sets up a client/server exchange between nodes, using TCP/IP addressing to establish connections. Look it up in the specification document I suggested earlier.
I have also seen in certain point-to-point applications using simple serial to Ethernet converters (from B&B Electronics, or Black Box) between Modbus/RTU nodes (basically when you need to extend the distance allowed by the serial protocol specs); however for multinode tasks this can become heavy to manage.
Hope this helps,
Daniel Chartier
The packet of data embedded within TCP/IP is therefore in a Modbus format.
Various PLC/HMI/SCADA manufacturers use Ethernet, Siemens commonly uses ProfiNET (Profibus over Ethernet), Rockwell/Allen Bradley use Ethernet IP.
Assuming you want to use Modbus TCP/IP you need to make sure all devices talk Modbus over TCP/IP, including Ethernet switches.
With Modbus/TCP, you can use ordinary network hardware, as it is a true Ethernet protocol and isn't using time delays to signal end of message.
Yes... and no. Modbus is indeed a protocol. It was originally a serial protocol. It's pretty easy stuff though; send a string out the com port, get a string back. The strings are easy enough to put together and parse apart. The Modbus protocol has now been "ported" to Ethernet, and it's called Modbus/TCP. There are some minor differences, like the fact that you've now got binary data instead of ASCII text, and you don't need the CRC check that the serial version had. (Actually, just to complicate things further there's Modbus/RTU, which is the binary-over-serial version of Modbus. Still has the CRC, though).
So in theory you can just plug a Modbus device in and send commands to it over Ethernet using packets formated as Modbus/TCP. But where exactly would you plug it in? There's no way to physically connect them. Thus, to get a Modbus device onto Ethernet you MUST have an Ethernet-to-serial gateway. Lots of people make these. Some are even industrial protocol aware, so that you can use Modbus/TCP and it will automatically deal with things like the CRC on the serial side. The Digi One IAP comes to mind immediately, but there are plenty of others.
Note that unlike the Modbus/TCP protocol the gateway is going to cost money. Probably more than a $100, but less than $500. Seems crazy, I know, but there it is.
-James Ingraham
Sage Automation, Inc.
Welcome to the world of communication!
First, for Modbus questions, start at http://www.modbus.org You can find the answer to almost all your questions there.
Second, there are at least three ways that I know of to use "Modbus over Ethernet".
First, you can simply encapsulate a "standard Modbus message" in either a TCP/IP packet or a UDP/IP packet and send it. I call this "serial port tunneling" and you can use this method to send almost any serial protocol same as any other serial data stream. Modbus over TCP/IP is pretty common; Modbus over UDP/IP is less common (in my experience).
The biggest gotch'a in doing this is if you are attempting to use standard Modbus RTU protocol. Modbus RTU uses a "silence time" to frame the messages. If you cannot control it, your message may be split between two packets and will be received with a time lapse between frames. All the characters will be there but because of the time lapse, the message will not be received correctly. So, you either need to make sure that the entire message is delivered in one packet or switch to Modbus ASCII that uses specific Start of Message and End of Message characters.
The third method that I know of is Modbus/TCP protocol. The big differences here are in how the connection(s) (there may be several simultaneous
connections in operation) are made and then some differences in the message itself: The "Modbus Address" is replaced by a 6-byte (as I recall) header that has additional connection information and the CRC is removed (because it is automatically handled as part of the IP protocol stack). This is well documented on the Modbus.org site and in many other places as well. The header also includes a message character count so the problem of getting messages in two packets is removed.
Good luck to you in the future.
Jerry Miille
Several companies make them, but the only one I've used is the B&B Electronics model MES1B (for RS-422/485; the RS-232 version is model MES1A).
http://www.bb-elec.com/product_family.asp?Familyid=275
I haven't used it under heavy loads yet, but it works for what I'm using it for, and was fairly easy to set up. My only misgivings so far is with the configuration software installation CD - it doesn't come with the (necessary) older version of Microsoft .NET Framework included, and you have
to download it separately. Don't know if the software *operates* under the newest version, but the installer looks to see if you have the older version installed, and, if not, won't allow installation to continue. In my opinion this is a bit cheesy, but I've seen worse.
ModbusTCP implementation:
http://pvbrowser.de/pvbrowser/sf/manual/rllib/html/classrlModbus.h tml
It is part of our open source hmi/scada framework.
http://pvbrowser.org
- Powerful stuff: World’s largest high-speed VFD
- Multi-zone: PID, data acquisition supports ramp/soak control
- 3U, 16-slot: GE Fanuc Intelligent Platforms announces programmable signal conditioning
- Networks: Production machinery needs better security
- Wireless: Free software enhances remote keyless entry security
- Bridge safety: System uses acoustic emission to detect compromised suspension cables
- PLC origins: Where did PLCs come from? 40th anniversary timeline
- Green engineering: Automated system makes engine repair eco-friendly
- Acoustic measurements: Tutorial on decibels, microphones
- Vision help: Service helps users implement imaging algorithms
Users of this site are benefiting from open source technologies, including PHP, PostgreSQL and Apache. Be happy.
Patronize our advertisers!



