NI VeriStand Add-Ons Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

AIT ARINC 429 Add-On Feedback

Hey Stephen question on uploading databases.  We have a working XML but it was only a partial ARINC list, now we are going to our full ARINC list (adding ~150 labels per channel) and it looks to be formatted exaclty as our original but we are getting the following error.  Any thoughts?ARINC Upload Error.bmp

0 Kudos
Message 111 of 193
(1,677 Views)

You might have hit known issue #12

Stephen B
0 Kudos
Message 112 of 193
(1,677 Views)

Does that issue only apply to a single channel or all channels identified within the xml? So i can not have label 100 twice within channel 1 but is it ok to still have Label 100 on Channel 1 and Channel 3, correct??

0 Kudos
Message 113 of 193
(1,677 Views)

Single channel

Stephen B
0 Kudos
Message 114 of 193
(1,677 Views)

Stephen,

    we got to the point were our test environment got frozen and duplicated, during the duplication process the need to have a single veristand setup able to run on both environments arose so I had to workaround the limitation of having to address the ARINC cards by S/N.

I added a boolean tickmark on the custom device main page called "Use as Board Index?" and in the driver init I added a translation VI that gets called if the tickmark is set and on that case it gets the pseudo S/N which is an index and look the index up in a local text file that defines the link between index and serial number, this way each RT machine has its own index definition file and in the setup we just use the pseudo S/N as the index.

i.e. in the setup we have 4 ARINC cards and i set my new tickmark and the S/N to be 1, 2, 3, 4 then each RT machine has a file and my new VI gets the 1, 2, 3, 4 and looks it up in the file and recover the correct serial for that environment.

Do you think there is a better way to achieve this?

Does it look like a nice feature to have?

Would it be possible to have this feature implemented in future custom devices so that whenever you make an update I will not have to go and modify your custom device every time?

Thanks,

    Claudio

0 Kudos
Message 115 of 193
(1,677 Views)

Hi Claudio,

As I had the same problem (but I didn't take time to update the Custom Device : I use Notepad to change the serial number in the system definition file), I would suggest another way.

If I believe the AIT documentation, you should not need a texte file with the Serial number because the API has a initialize function using the index instead of the serial number AIT_initialize.png

Another approach will be to use alias. But I didn't see a function in the AIT driver to open the device using a resource name.

Thanks for this works

Regards,

Hubert Robitaille

0 Kudos
Message 116 of 193
(1,677 Views)

Good point Hubert!

Yes this is a painful item on the custom device (known issue 13). Good news is, I wasn't able to fix it before since there was no other way in the AIT driver.... now I can. I just updated the code and I'm testing now. I'll post asap.

Stephen B
0 Kudos
Message 117 of 193
(1,677 Views)

Done    

Stephen B
0 Kudos
Message 118 of 193
(1,677 Views)

Thanks Hubert, I havent even looked at that but you are correct, you can initialize by index.

The problem is that there is no way of knowing the index through max, at least I could not figure it out.

I made a copy of the AIT 429 Initialize (Index) code in another .vi and modified to cycle through the array and I got

index: 0

board: 284

index: 1

board: 334

index: 2

board: 331

index: 3

board: 332

now, we have a multi chassis environment with all chassis connected to a workstation, each with one A429 card. What you see as index 0 is our chassis 4 card and it seems they are listed in reverse order, index 0 being chassis 4 and index 3 being chassis 1.

I ran the same enumerator on the 2nd test environment and i got the same reverse indexing with a caveat, on there we have loaned chassis 4 card to another test rig and the indexing get screwed up because its obviously shifted down by one.

We often use to loan cards around, especially 429 and we just go into the SDF and disable the related custom device.

Problem is that if i use index 0=card4, 1=card3, 2=card2, 3=card1 and then i remove card 4 and disable the related custom device then the remaining custom devices would fail too beacuse if i set index 1 in the custom device for card3, when i run without card4 my card3 would be index 0.

For our particular use I would guess that having a text file with index to S/N translation would be the best way as even by disabling a custom device and removing the related card would still translate the remaining indexed card to the correct S/N.

0 Kudos
Message 119 of 193
(1,677 Views)

I understand your problem. It is why I suggested an approach with alias to define a resource name.

But, at this time, I don't know how we can make the link between the "VISA" alias and the AIT index.

If we know the address location of the Serial Number on the AIT board, you could open a VISA session using the resource name and read the serial number before to initialize the AIT board with this serial number.

I didn't find this information in the AIT documentation but when we had a problem with a serial number (the serial number on the sticker was not the serial number of the board), we have use the NI IO Trace tool to find the serial number of the board.

Good luck.

0 Kudos
Message 120 of 193
(1,677 Views)