04-06-2009 08:00 AM
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
Solved! Go to Solution.
04-06-2009 08:29 AM
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
04-06-2009 09:07 AM