Member Login
member
passwd
remember me on this computer.

- join now -

Search

Past & Future Posts
Neat Stuff

Visit our shop for nerds in control lifestyle products.

Cool stuff
Select a topic of interest:
...and press:
Fortune
need to wrap system in aluminum foil to fix problem
RSS Feed
RSS feed Use this link to get an RSS feed of the Control.com article flow, for private, non-commercial use only:
www.control.com/rss
Select a Page Style
Select one of the following styles:
- BluFu
- Classic
(cookies required)
from the Automation List department...
Modbus Function Code 8, Sub Function Code 00
Networking topic
advertisement
Posted by Scott Alexander on 15 February, 2007 - 12:13 am
I'm looking into implementing Modbus function
code 8, sub function Code 00.

The Modbus Application Protocol Spec V1.1a shows the Data section of the message to be N x 2 bytes in size, yet the message does not contain any additional byte count information. This may be ok for Serial ASCII which wraps each message in special characters (':"<message>"\n") but Serial RTU does not. It is unclear to me how a
Modbus Slave could determine the end of such a message.

Does anyone have any input on this? could this be a typo in the spec? All additional function code 8 sub function codes show fixed size (two
byte) Data sections.

Thanks.

Posted by Max Power on 16 February, 2007 - 12:01 am
FYI: Many devices do not support this function in either master or slave mode.

Each subfunction has it's own special definition for the packet.

From the book:
"Most of the diagnostic queries use a *two–byte* data field to send diagnostic data or control information to the slave."

Function 8, sub function 0000 only has a fixed length, 2 bytes long, data field. Therefore there is no need to send 'N' and it should be easy to determine the end of the packet.

FYI: One of the methods used to determine the end of the packet is to use the packet timeout which is typically 3.5t (byte-time) (and a fixed time for fast baud rates).

-Max

Posted by Andrzej on 16 February, 2007 - 12:28 am
Hello,

In Modbus RTU the interval of at least 3.5 character times marks the end of the message. A new message can begin after this interval.

Regards,
Andrzej
www.modbus.pl

Posted by Scott Alexander on 16 February, 2007 - 12:58 am
A more complete discussion here:

http://groups.google.com/group/NModbus-discuss/browse_thread/threa d/d642162d5f68a36c

From Control Engineering magazine...
Related articles from Control Engineering magazine
Above articles copyright 2008 Reed Business Information. Subject to its Terms of Use.

Your use of this site is subject to the terms and conditions set forth under Legal Notices and the Privacy Policy. Please read those terms and conditions carefully. Subject to the rights expressly reserved to others under Legal Notices, the content of this site and the compilation thereof is © 1999-2008 Control Technology Corporation. All rights reserved.

Users of this site are benefiting from open source technologies, including PHP, PostgreSQL and Apache. Be happy.

Advertisement
Our Advertisers
Help keep our servers running...
Patronize our advertisers!