I am not interested in the relative merits of control protocols. I just want to make the right choice for my scenario.
I am buying an ultrasonic anemometer (2D - wind speed + direction) that offers me a choice of modbus-rtu or nmea0183
I will build a controller to interface to it to collect the data.
My limited understanding on the differences in the choice is:
1. Modbus - My controller will have to poll the anenometer for the data.
2. Nmea0183 - The anenometer will regularly transmit data and my controller will just be listening.
Is that correct?
This is the first I've heard of Nmea0813.
Why would you use such an obscure system when Modbus is so accepted?
Scroll down the other topics, you will see several on Modbus, not one on Nmea0813. I'm not saying you are wrong, I'm curious.
I'd never heard of NMEA either. So I Googled it. First .pdf hit is the The NMEA 0183 Protocol. 28 pages.
An important note page 1:
"NMEA 0183 is a voluntary industry standard, first released in March of 1983. It has been updated from time to time; the latest release, currently (August 2001) Version 3.0, July 2001, is available from the NMEA office (Warning: the price for non-members is 250 US$)."
There's a paragraph on the 232/422 hardware bus layer, then pages and pages of marine device variables with the format and syntax for the communication 'sentences'.
On page 12 one finds
"MWD Wind Direction & Speed
So, does the $250 updated published specification include the Wind Direction & Speed format and syntax? Or not? If not, how to you program your controller to talk to your wind speed instrument? What format and what syntax do you use?
Please let us know.
Modbus spec is available for download from this site (Communities tab > Modbus) or Modbus.org > Technical Resources > Modbus Specifications
Modbus is a master/slave protocol so you have to send a data request and then receive the answer. This will take two telegrams. The advantage of Modbus is that you can select a higher baudrate.
Even though Modbus is a more common used protocol NMEA0183 is a simple ASCII protocol, and it shouldn't be to hard to decode the received data.
If you use NMEA0183 your Anemometer will be the TALKER, and there can be multiple LISTENERS on the bus. Only one telegram is needed but baudrate is fixed.
Look at http://www.plaisance-pratique.com/IMG/pdf/NMEA0183-2.pdf for an explanation of 'MWD Wind Direction & Speed'