Certification

cancel
Showing results for 
Search instead for 
Did you mean: 

CLA Question on ATM Sample Exam

Hello,

 

I have a question on the CLA Sample exam

 

How would the DB module send the balance data to the controller module?  I was thinking maybe there would be a case in the Contoller module like recieve data and then store it in a shift register.  The documentation says to develop an API.   How would that API work?

Contoller.lvlib_Controller Module_BD.png

I don't understand what the "Get Ballance" api would look like.

 

Thoughts?

 

Config Database.lvlib_DB Module_BD.png

Dan Shangraw, P.E.


   

0 Kudos
Message 1 of 5
(5,669 Views)

Hi ASTDan, 

 

This is one of the pitfalls of using the QHM template for the Database/Error handler module. 

 

Since the database is set up as an asynchronous process, the only method of communication between modules is through some kind of message (and usually a queue). So the database API would probably look like a series of messages that send data to the controller. As you realized, the controller needs to have cases to process these incoming messages, and should do so in such a way that it is order-independent. 

 

"Get" messages are usually a sign that something is going wrong, as it indicates that there will be an immediate response, which cannot be guaranteed with an asynchronous module. A module (actor) should not command any other module (actor) to perform an action. They should send requests or data to one another, this way one module shouldn't get hung up waiting on data from another. 

 

For example:

Request Balance (from controller): Send a message to the DB for the current balance

Send Balance (from DB): Send a message to the controller with the current balance

Update Balance (controller method): process the "Send Balance" message from the DB and update the current balance in memory

 

 

 

In any case, it is much simpler to just use an FGV for the DB/Error handler modules...

 

Best Regards,

 

Nathanael Letchford

Certified LabVIEW Architect | Certified Teststand Developer

Certification Engineer | Global Customer Education

National Instruments

National Instruments
Staff Certification Engineer
Message 2 of 5
(5,662 Views)

Thanks for you response Nathanael,

 

That makes sense to have the DB module a FGV.  That would work nicely.

 

Hopefully taking the CLA soon...

 

Dan

Dan Shangraw, P.E.


   

0 Kudos
Message 3 of 5
(5,657 Views)

Hi Dan, 

 

Best of luck!  There's some good information in our quarterly webinar sessions on what to prepare for. Unfortunately they were held last week, but the recording is available here: https://ni.adobeconnect.com/p9jvxq1jg5u/

 

Best Regards,

 

Nathanael Letchford

Certified LabVIEW Architect | Certified Teststand Developer

Certification Engineer | Global Customer Education

National Instruments

National Instruments
Staff Certification Engineer
Message 4 of 5
(5,650 Views)

Hello Nathanael,

 

I have doubt on the ATM Sample exam in errror handler. Can you please correct me if my understanding is wrong.

 

As the way error handling is being implemented in the ATM (QMH) even if the error comes and display the error to the user and suppose the error handler is being waiting for user input like clear or cont. with error..

Application is being waiting for user interaction to clear error or cont. Even in this waiting time also controller is running contiously..Idlely controller stop(halt) and wait for user to clear or cont..

Is this understand is correct or i have understood something wrong.

I think FGV is well suited for error handler.

Can you please help me regarding the above.

 

Hemant

 

 

 

 

 

 

 

0 Kudos
Message 5 of 5
(4,176 Views)