Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

How to know if board has already been intialized

Solved!
Go to solution

Hello,

   I am trying to automate a microscopy stage.  I need to be able to move the stage in XY with blended motion, and in Z with single axis control.  I have been able to do this but I still have one glaring problem.  The module for the XY stage may be loaded first, or the Z stage may be loaded first.  The one that get loaded first needs to initialize the board, and then the rest need to just run on the board.  I do not know beforehand which one will be first and I have not been able to figure out how to transfer this information between the programs as I have multiple boards that are running from this system and the user may decide to control the stage with one board and the Z focus with a different one.  

 

So with all of that, is there a function that will tell you if the board has been initialized.  Here is what I want to do

 

Start .dll

Get properties (Board ID, Axis, blend mode....)

Check if board is initialized.   If not then flex_initialize_controller (BOARDID,null);

Set up axis...

Run program.

 

Thanks

0 Kudos
Message 1 of 3
(3,724 Views)
Solution
Accepted by topic author ochensati

When an NI 73xx motion control board is not initialized (e. g. after a power cycle or a board reset), the board is in Power-Up Reset state. The initialization routine needs to reset this flag to prepare the board for normal operation. You can read the Power-Up Reset flag with flex_read_csr_rtn().

 

I hope this helps,

Jochen Klier

National Instruments

0 Kudos
Message 2 of 3
(3,723 Views)
That worked.  Thank you very much
0 Kudos
Message 3 of 3
(3,721 Views)