ISA's MODBUS CAP Question

ISA's Modbus CAP question fails with a grade of F

The ISA (formerly Instrument Society of America, more recently the International Society of Automation) web site has a sample CAP (Certified Automation Professional) program study guide question that happens to be about Modbus. It's an awful question with the wrong answer. It deserves a grade of F.

The text below between the dashed lines is copied from ISA's site for purposes of fair-use discussion. The original is here:

https://www.isa.org/standards-and-p.../2007/november/certification-review-nov-2007/

or here:
http://tinyurl.com/kdftqdq
-----------------------------------------------------------------------------------
ISA Certified Automation Professional (CAP) program
Certified Automation Professionals (CAPs) are responsible for the direction, design, and deployment of systems and equipment for manufacturing and control systems.

The following question comes from the CAP study guide, Performance Domain III, System Design: Design, specify, and procure the hardware/software used in the system

CAP question

Using Modbus, what is the MAXIMUM level of precision available?
A. 8-bits
B. 16-bits
C. 24-bits
D. 32-bits

CAP answer

The correct answer is B, 16-bits.

Common Modbus uses two 8-bit bytes for each data register.
2 x 8 bits = 16 bits

To achieve more precision special programming or a specialized version of Modbus is necessary.

Eight bits is less precise than 16-bits; 24-bits and 32-bits require uncommon means to achieve.

Reference: Bella Liptak, Instrument Engineers Handbook, Volume 3 (3rd Edition), Process Software and Digital Networks; ISA, 2002

Modbus transmits over serial lines between devices. The simplest setup would be a single serial cable connecting the serial ports on two devices, a Master and a Slave.

The data transmits as series of ones and zeroes (bits). Each bit is a voltage. Zeroes are positive voltages, and ones are negative voltages. The bits transmit very quickly. A typical transmission speed is 9600 baud (bits per second).

Reference: http://www.simplymodbus.ca
--------------------------------------------------------------------------------------------
My comments:
I couldn't find what I consider the correct answer to the stated question,
e) it depends on how many registers constitute a data word

I suspect the question intends to ask,

What is the standard Modbus register size? 8, 16, 24 or 32 bits

but messes the question up by
- assuming Modbus communication is somehow limited to a single register

- mixing in the concept of precision, which is outside the domain of Modbus given its OSI tasks.

Without defining a specific data word format, a determination of Modbus-related precision is moot.

My commentary on their answer's explanation:

>The correct answer is B, 16-bits.

Wrong, the correct answer is E) it depends, or given the ubiquitous use of 32 bit floating point or 32 bit long integer data, D) 32 bits

>Common Modbus uses two 8-bit bytes for each data register.
>2 x 8 bits = 16 bits

Agreed.

>To achieve more precision

To achieve more precision, more bits in a data word is required. More precision through more bits is routinely accomplished by using more than one register.

Common examples of greater precision are
- 32 bit IEEE 754 floating point or
- 32 bit long integer registers or
- Enron/Daniels 64 bit floating point used in flow computers.

> special programming

In Modbus, there is nothing 'special' about reading or writing multiple registers.

The open, published Modbus Standard defines function codes for multiple register read and write operations and has done so for decades. Specifically, Modbus Function codes 03 and 04 read multiple registers; Function code 10h/16decimal writes multiple registers.

> or a specialized version of Modus is necessary.

If the reference to a 'specialized' version of Modbus refers to Modbus Plus (a licensed product whose primary distinction is multiple masters enabled through token sharing), Modbus Plus claims no greater or lesser precision than open Modbus, so its mention does not apply to the argument.

>Eight bits is less precise than 16-bits;

Agreed.

>24-bits and 32-bits require uncommon means to achieve.

No. Well, admittedly, 24 bits might require some packing and unpacking and bit-banging, but the bit banging is done by the firmware/software app, NOT BY MODBUS. 32 bits is just double register chocolate flavor to a single register’s vanilla flavor. There is nothing uncommon about 32 bit data words being handled by Modbus. Just pick your flavor.

How can 'Uncommon means' apply to the use of standard, published Function Codes for multiple register read/writes, which probably constitute 50% of the Modbus discussion on this forum? If Modbus is crippled by exclusion of Function codes 03/04/10h/16decimal, then the assertion has merit. But no such stipulation was inferred or made.

By asking what the maximum precision of Modbus is, the stated question betrays a lack of understanding of where Modbus fits in communication's OSI model (not good for the institution charged with certifying the industry's professionals).

Modbus is at the lower OSI level. Modbus does the heavy lifting, it carries data bits from point A to point B; Modbus does not define the interpretation of what those data bits mean. Modbus lives downstairs in the OSI servants' quarters.

The interpretation task occurs at a higher OSI level. It's up to the upstairs OSI gentry, the firmware/software application, to interpret what constitutes a data word (how many bits, how many registers, hence the data word's precision), and finally, what exactly the data bits in the data word mean.

A colleague says Modbus is a Mule with Rules; it carries data and like its equine counterpart, doesn't care about the load it carries, it just bears the burden. It doesn't know or care whether the data word is part of a register (a single bit or packed bits), a single register or multiple registers. It doesn't need to. It just delivers the bits.

> Reference: Bella Liptak

I believe he spells it Bela Liptak

I contend that Modbus is fully capable of 8, 16, 24 or 32 bit precision, depending on the firmware/software app being used, so the correct answer to the stated question is actually D) 32 bits.

I'm glad my clients don't care about CAP certification, because I'd flunk given that the part I know best, I got wrong.
 
> ISA's Modbus CAP question fails with a grade of F

This comment by David F exhibits his extensive knowledge about Modbus, but his lack of understanding about the CAP program or its administration. First, the question to which he refers is truly a bad question. For that reason it has been removed from to pool of questions used for the CAP exam. In fact, all of the questions on the ISA CAP review site are no longer used in the CAP exams, and have been removed for many reasons. In this case, there is only a vague association between A/D converter precision and the length of a Modbus register. You may ASSUME that the A/D register can be up to 16 bits and will fit into one Modbus word with no programming. The implication is that you cannot fit a 24-bit or 32-bit A/D register into a Modbus word that is only 16-bits long, and that use of two Modbus registers to hold the additional 8 or 16 bits is beyond the capability of an automation engineer. Clearly, the underlying assumption is incorrect - which makes this a bad question and the reason it is not used in the CAP exam.

The only way you can pass the CAP exam is to be sure that you have read, studied, and retained the contents of the <i><b>Guide to the Automation Body of Knowledge</i></b>, the textbook for the ISA EC00 CAP Exam Preparation course that I teach several times each year. When I teach this course, I don't ask my students to memorize the book, but to understand the basic underlying science so that they have a sound technology base with which to answer the CAP Exam questions.

The CAP Exam is difficult, but not because the questions are tricky - they are not. The exam covers more than 26 different topics from basic process control applications to strategies in project management. I admire my students who have passed this exam and earned their CAP certificate. Their employers and clients can be sure that they are well qualified to address a wide variety of situations involved in an automation project.

The process of creating the questions for the CAP exam dates back more than 10 years ago when several select groups were formed for the purpose of creating CAP Exam questions, and a second group was formed to evaluate the questions and their answers. The CAP Exam is administered by a professional exam support organization hired by ISA. When any question has a record of being answered incorrectly by a very high percentage of the applicants, or even when a question is too easy and answered correctly by practically all exam takers, they are flagged for review. At the same time, these questions are removed from the pool of CAP Exam questions. Typically the question and the answers are edited by experts and placed back into the pool of questions. The rejects are now made public and can be used in the review sessions and on ISA's website. This is what David saw and commented upon.

David's analysis is correct - read it and learn. When you take the CAP exam you may see a much better question on the same topic and you will be well qualified to select the right answer.

Dick Caro, CAP, ISA Life Fellow.
 
Thank you, Dick, for your detailed explanation. Well done.

I'm delighted to hear that the question has been abandoned for the exam. It's too bad that the web page isn't clear that it's an abandoned question, because it sure looks like the example of study question.
 
Hi Mr. Dick,

I appeared for the CAP test 26th July 2015 after almost an year of self preparation with ABOK which I ordered from ISA after registering for the program last year. (Gone through the entire book)

Unfortunately I failed, the questions were completely new format, not seen in any practice sessions nor on the books(ABOK, Handbook) and references (2012 notes from training and MCQ to cram which I received from mentor)

Could you kindly guide me to the right track to prepare for the exam that I plan to reappear end of September 2015.

I am a control system engineer from Saudi arabia with 10 years of experience (last 7 years with home (Running plant) team).

Appreciating any help/guidance,

Best regards,
Akbar
 
Here are some pages from ISA EC00, the CAP Exam Preparation course that I teach:

CAP Exam Questions
-Computer-based testing
-Multiple choice, four choices
-No penalty for wrong answers
-No "all of the above" or "none of the above" types
-All answers to a question have similar format
-Location of correct answer has been shuffled
-No trick questions
-Passing score developed by team of professionals and adjusted for problem
questions
-New questions developed continuously
-Problem questions have been eliminated
---Become examples

How to Prepare
-Take this course EC00; ask questions, review notes
-Go over study guide to identify less familiar areas
-Study selected topics using suggested books
-Take short courses in areas where most help is needed
-Read the AutoBoK (A Guide to the Automation Body of Knowledge)

How to Take the Exam
Answer all of the questions you know first!
Postpone questions that take too much time to analyze
- Mark these for more review later
Then for the marked questions:
Eliminate answers you suspect may be wrong
Select from the remaining answers
Guess as much as necessary
If a question seems too easy, it probably is
If you can eliminate 2 answers, your guess between the other 2 will have 50% chance of being correct

Do not leave any questions unanswered:
there is no penalty for wrong answers

I don't know about any changes in the format of the exam questions. Remember that there are often two answers that are correct, but always one will be more correct or complete than the other.

Good luck next time.

Dick Caro
 
Top