Good morning,
About the stop bits number with parity NONE, on Modbus Serial Line Protocol and Implementation Guide V1.02, page 12, i read: "the use of no parity requires 2 stop bits".
Why many Modbus slave or Master with parity none, use only one stop bit? Shouldn't they use two stop bits with no parity?
francescosavino76 [at] yahoo.it
About the stop bits number with parity NONE, on Modbus Serial Line Protocol and Implementation Guide V1.02, page 12, i read: "the use of no parity requires 2 stop bits".
Why many Modbus slave or Master with parity none, use only one stop bit? Shouldn't they use two stop bits with no parity?
francescosavino76 [at] yahoo.it
Yes, but as you've noticed, many do not use two stops for no parity.
In fact, I find it rarer to find either a slave or a master that offers two stop bits for no parity, which assume 1 stop bit, regardless.
Why? Lack of economic sanction on the offenders.
Name a customer who has refused to buy a Modbus device because of its lack of compliance with the Standard in this regard...
David
In fact, I find it rarer to find either a slave or a master that offers two stop bits for no parity, which assume 1 stop bit, regardless.
Why? Lack of economic sanction on the offenders.
Name a customer who has refused to buy a Modbus device because of its lack of compliance with the Standard in this regard...
David
Before all,Thanks a lot for your answers.
The problem was born because two days ago i did some test with Proface touch panel and with Hakko touch panel.
I made a test network with 2 slave with parity none and two stop bits set up and two slave with parity none and one stop bit.
Hakko touch screen, i set up it with parity none and 2 stop bits, read all the slave with 1 or 2 stop bits without any timeout.
Proface touch screen with 2 stop bit set up read only the slave with 2 stop bits and with one stop bit set up only the others with 1 stop bit.
For this i wanted to understand why this discordancy and why i had slaves with parity none and only one stop bit.
Now i've understood: free software implementations!
Thanks again
Regard
Francesco Savino
The problem was born because two days ago i did some test with Proface touch panel and with Hakko touch panel.
I made a test network with 2 slave with parity none and two stop bits set up and two slave with parity none and one stop bit.
Hakko touch screen, i set up it with parity none and 2 stop bits, read all the slave with 1 or 2 stop bits without any timeout.
Proface touch screen with 2 stop bit set up read only the slave with 2 stop bits and with one stop bit set up only the others with 1 stop bit.
For this i wanted to understand why this discordancy and why i had slaves with parity none and only one stop bit.
Now i've understood: free software implementations!
Thanks again
Regard
Francesco Savino
Sure, if they strictly follow the specifications!
But, there are many, many suppliers of "Modbus" equipment and over the years, there are many, many different "versions" out there. Some are compatible and some are not. It is very common with asynchronous serial communication to be able to set the parity bits to Even, Odd, None, Mark or Space and since Modbus RTU is an asynchronous serial protocol, it is very common to see the setting as none and stop bits to one.
There are actually a couple of reasons that this makes sense. First, it adds very little if anything to error detection because Modbus RTU uses a CRC-16 error check and second, it adds another bit time to every byte in the messages. Maybe in some of today's high-speed circuits this is not so important but in the days of 1200 baud (or slower) modem communication every millisecond counts!
It only makes sense to me that to be compatible with the most equipment, that all the serial port parameters be configurable (baud rate, parity and stop bits). The number of data bits must be eight for Modbus RTU.
Jerry Miille
But, there are many, many suppliers of "Modbus" equipment and over the years, there are many, many different "versions" out there. Some are compatible and some are not. It is very common with asynchronous serial communication to be able to set the parity bits to Even, Odd, None, Mark or Space and since Modbus RTU is an asynchronous serial protocol, it is very common to see the setting as none and stop bits to one.
There are actually a couple of reasons that this makes sense. First, it adds very little if anything to error detection because Modbus RTU uses a CRC-16 error check and second, it adds another bit time to every byte in the messages. Maybe in some of today's high-speed circuits this is not so important but in the days of 1200 baud (or slower) modem communication every millisecond counts!
It only makes sense to me that to be compatible with the most equipment, that all the serial port parameters be configurable (baud rate, parity and stop bits). The number of data bits must be eight for Modbus RTU.
Jerry Miille
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-2010 Nerds in Control, LLC. All rights reserved.
Users of this site are benefiting from open source technologies, including PHP, MySQL and Apache. Be happy.
Fortune
Fortune's Office Door Sign of the Week:
Incorrigible punster -- Do not incorrige.



