Random Ramblings on LabVIEW Design

Community Browser
Labels
cancel
Showing results for 
Search instead for 
Did you mean: 

Synchronizing Multiple Chassis #2

swatts
Active Participant

Hi there my lovelies!

This article wraps up the subject started here Synchronizing Multiple Chassis

And I left it with the PXI Trigger Routing set up in MAX. I wanted to do this in software, because I don't like systems that need lots of different programs to work.

We use the PXI Trigger lines to route signals along the Racks backplane to connect all cards. An 18 slot chassis is split into 3 buses so we need to connect these buses to transfer signals along the backplane.

PXI_Trig0

We have allocated PXI_Trig0 for the Start Trigger Line and this tells the cards to start acquiring data. This is generated from the trigger card (Card2) so needs routing from bus 1 along 2 and 3.

PXI_Trig2

We also use PXI_Trig2 for the Sync Pulse. This comes from PFI2 of the 6674T in slot 10. So will need routing outwards from bus 2.


PXI_Trig1 and PXI_Trig3 are left-overs from development and can be ignored (but I'm at a fragile point of my testing so they stay in!)

So to do it in MAX you open up the rack like this.

Max.PNG

In my opinion it has a pretty weird API and quite a few caveats, so stay with me.

First of all I wanted my software interface to look similar to the one provided by MAX.

BackplaneRoutingComponent.PNG

It's been good practice to clear all of the trigger assignments before allocating new ones. This is because if a routing has already been assigned it will throw an error.

Here's a breakdown of the commands

Initialise

Initialise.PNG

VISA Search for something with BACKPLANE in its reference and that's our kiddy. Stick her into a shift register for further use.

Away From Bus 1

AwayFromBus1.PNG

The VISA Unmap Trigger.vi is probably over-kill but for now it stays in until it's fully tested (it's pretty early release yet),

Away From Bus 2

AwayFromBus2.PNG

Away From Bus 3

AwayFromBus3.PNG

Remove All

RemoveAll.PNG

Without throwing errors just run through all combinations to clear any bad house-keeping up.

Close

Close.PNG

Finally close the reference when done.

Now the hard work starts in adding all of this to my server architecture.

Edit: This is version D1:04 (I'm working on D1:06 currently), but it shows the sync nicely.

Hope it's been of use to someone.

Lots of Love

Steve

Steve


Opportunity to learn from experienced developers / entrepeneurs (Fab,Joerg and Brian amongst them):
DSH Pragmatic Software Development Workshop


Random Ramblings Index
My Profile