R
Hi folks: I seem to be getting quite a bit of "why not use Modbus" questions out of this discussion. I hope to fully air my concerns about Modbus and why I think it to be totally inadequate for our primary purpose... First and foremost, the full Modbus spec is NOT open and has absolutely no signs that this will change. Yes, I know about the "open Modbus" protocol that is publically downloadable from Modicon. I beg you to take a full, careful look at this document. Please, tell me where in any of Modicon's publically available documentation I can find the full command and data layout for reading or writing rung data into a processor? Please, can you tell me how to fault reset a processor? How about clear memory or set/reset an access password? I would argue that Modbus is just as open as Allen Bradley's DF1 protocol. You can download the DF1 protocol from AB's website just as easily as you can download the Modbus protocol (AB's document number is 1770-6.5.16). It contains the exact same ommisions - it does not tell you how to do some of the more important stuff; those parts of the spec are NOT open. If we are going to use a spec, any spec, it needs to be FULLY documented. We can't afford to implement our own command for, say, password authentication, only to find that the same command on a "real" Modicon is the memory clear command. That would kinda blow compatibility right out of the water, I dare say. Another reason I would not chose Modbus is because of its specific lack of data typing. The Modbus protocol, as publically published, allows only 4 different data types - all integer based. Data type 0 for Outputs, Data type 1 for Inputs, data type 3 for read only values (direct reads from analog cards for example), and data type 4 for general 16 point integer registers (my primary experience has been with the 984's and micro's. If the Quantum is substantially different in that aspect, it is not documented in the OpenModbus spec). Floating point is supported only in the aspect of "you have to convert it yourself" from integer to IEEE using 2 integer addresses. BORING!!!! Finally, I would not use Modbus without SPECIFIC, EXPRESSED, WRITTEN permission from Modicon. Modbus is a trademarked name. Use of a trademarked name without specific permission (or the general fair-use exemptions) is generally actionable (i.e. lawsuit), at least here in the states. We are going to be marketing a product that is a direct competitor to Modicon - I think they would be "concerned" if we were to use their protocol without their permission. In closing, please keep in mind that I realize and understand that there will be some disagreement with what I have stated here. There will be some who think Modbus is the only logical choice. I understand and respect your opinion. This entire diatribe is just an enumeration of my feeling and position on the subject. This is NOT A FLAME BAIT attempt. I'm sorry if I ruffled any feathers with my words, but I feel the subject NEEDS to be debated! -- Ron Gage - Saginaw, MI ([email protected]) _______________________________________________ LinuxPLC mailing list [email protected] http://linuxplc.org/mailman/listinfo/linuxplc