NI VeriStand Add-Ons Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

AIT ARINC 429 Add-On Feedback

Thanks a lot StephenB.

It's working and the warning disappears once the database is refreshed.

Best regards.

0 Kudos
Message 51 of 193
(4,022 Views)

Hi Stephen B,

We have seen some strange things when switching from Veristand 2011 to 2012 with respect to the A429 custom device.  Our setup is four PXIe-1065 chassis all connected to a RT PC (Dell T3500 workstation) using PCIe-8372/PXIe-8370 communication.  We have another T3500 we use as a host PC.  Each chassis has an AIT A429 card in it, along with a bunch of other cards (6225, 6723, 6511, 6512, 6513, etc.).  Two of the A429 cards are very heavily loaded (huge amount of labels and parameters).  We are using the v1.7 custom device with AIT 3.13.2 labview driver.  The main SDF we use takes about 2 min 45 seconds to compile.  We run it at 100Hz and with VS2011 it has a loop duration of about 635 usec (0.635 miliseconds).  When we run the same project on VS2012 it has a loop duration of 3750 usec.  If we disable the four A429 cards and run the project, we get a loop duration of 270 usec in VS2011 and 290 in VS2012.  So in the VS2011, the A429 cards bring the loop duration from 270 to 635 usec, and in VS2012, they bring the loop duration from 290 to 3750.  Have you seen a similar effect with VS2012?

We also noticed that AIT has posted new drivers (4.6.0) on their website, and we tried installing those (which now adds the capability to add the RT files through MAX rather than manual FTP), but we get Error -2 when we try to deploy the project with VS2012.  Do you know if the custom device is supposed to be compatible with these new drivers?  Here is what the RT Log showed:

Finalizing inline custom devices...
******AIT 429 CUSTOM DEVICE ERROR******
Source:    Owl429.lvlib:Owl429_DefaultErrorHandler.vi:437<ERR>
An API failure occurred. uapiMonInit returned -1. General error.


<b>Complete call chain:</b>
     Owl429.lvlib:Owl429_DefaultErrorHandler.vi:437
     Owl429.lvlib:Owl429_IBoard_resetWithConfig.vi:6
     AIT 429.lvlib:AIT 429 Configure All (BIN).vi:5
     AIT 429.lvlib:AIT 429 Configure Board (BIN).vi:4
     AIT 429 Custom Device.lvlib:429 RT Driver Init.vi:3
     AIT 429 Custom Device.lvlib:AIT 429 RT Driver VI.vi:2
     Custom Devices Storage.lvlib:Initialize Device (HW Interface).vi
     NI VeriStand Engine.lvlib:Initialize Inline Custom Devices.vi
     NI VeriStand Engine.lvlib:VeriStand Engine State Machine.vi
     NI VeriStand Engine.lvlib:VeriStand Engine.vi
     NI VeriStand Engine.lvlib:VeriStand Engine Wrapper (RT).vi
Code:    -2
******AIT 429 CUSTOM DEVICE ERROR******

****************************
System error encountered.
:::Details:::
Error code: -2
Error Message: ****************************

System awaiting new configuration from client.
Finalizing DAQ devices...
Finalizing FPGA devices...
Finalizing data sharing devices...
Finalizing models...
Unloading system definition...
VeriStand Engine idle. Awaiting command...
VeriStand Engine idle. Awaiting command...
Starting NI VeriStand Engine...
Loading c:\ni-rt\NIVeriStand\SystemDefinitionData.nivscfg

System Definition Details
-----------------------------
Name:
Version:
Description:
-----------------------------

****************************
System error encountered.
:::Details:::
Error code: -307729
Error Message: NI VeriStand:  The system definition file is missing. Deploy a valid system definition file from the host computer.
=========================

NI VeriStand:  Missing Configuration
****************************

0 Kudos
Message 52 of 193
(4,022 Views)

One thing I forgot to mention is that with VS2012 (loop duration of 3750 usec), on the RT screen we see that one of the CPUs is at 38% with 37% under Timed Structures.  When running the same project on VS2011 (loop duration of 635 usec), the highest CPU is at 18% with only 4% under timed structures.  If we disable the A429 custom devices and run again on VS2012 (loop duration of 290), we get hardly any CPU load at all (highest core is 5%, timed structure of 3%).  So it seems that the custom device behaves differently in VS2012 compared to VS2011.

VS2012 with A429 (high timed structures):

IMAG0751.jpg

VS2011 with A429 (hardly any timed structures):

   IMAG0750.jpg

VS2012 without A429 (hardly any timed structures):

IMAG0752.jpg

0 Kudos
Message 53 of 193
(4,022 Views)

Hi Stripes,

Thank you for the very detailed description of the issues. For the driver upgrade deploy error, I suggest trying the latest build of the custom device I just posted. I changed it to depend on the 4.6.0 driver or later. I also made some changes so it works with the latest version of the driver without me having to update it. This has the side effect that you must install the AIT driver to use the custom device, so I updated the readme appropriately.

For the performance issue, that is very strange. Clearly something in the timed loop is taking a lot more time in 2012. Can you test some things for me:

  1. Does the performance improve with the latest version just posted? 1.7.2
  2. Does the performance improve if you delete the custom device from your sysdef and add it back in and reselect your database?
  3. Does the performance improve if you create a brand new sysdef and add the custom device with your database to it?

Thanks

Stephen B
0 Kudos
Message 54 of 193
(4,022 Views)

Hi StephenB,

    I work with Stripes, we just tried your new custom device on a fresh RT install, we cleaned all AIT SDK on our host and reinstalled just 4.6, rebuilt the 1.7.2 custom device from there, and we get the same problem.
We narrowed it down to one of the four cards (which happens to have an older firmware version (35D) that we can’t update).  The other three have firmware updated from SDK 3.5.x (3EA).  We did not attempt to update to new firmware that comes with SDK 4.6.0.  Anyway, if we try our 2nd, 3rd and 4th cards instead, the system definition deploys but we get 6 screen errors "ERROR: could not create shared memory segment for FIFO operation"  between inline custom device initialization and inline custom device start. Same when we undeploy. This error somehow does not get logged in the ni-rt/NIVeriStand/Logs/ folder which lead us to think it is coming from AIT libraries (we run some custom DLLs on other systems and printf from those goes to screen but not to log). We also tried to read a couple of parameters from the bus and they seem to be working.

About your test request, no, there is no improvement. Do you notice the same increase on your test environment if you switch between RT 2011 and RT 2012?

Bye.

0 Kudos
Message 55 of 193
(4,022 Views)

Hi Claudio_G,

No I have not seen that performance issue before. It is very strange because literally the exact same code is compiled for the different versions of NIVS/LV. Do you mind sending me or attaching your xml file so I can try to reproduce?

As far as the deploy errors, yes this is an AIT error. Can you contact AIT?

Thanks!

Stephen B
0 Kudos
Message 56 of 193
(4,022 Views)

Have to check here if we can deliver or not. I'll let you know tomorrow.

0 Kudos
Message 57 of 193
(4,022 Views)

Hi Claudio_G,

I dug up an old board and deployed to it and it errored with -2. However if I navigated to the target's web site (http://<ip address of target>) and clicked console output I saw the full error text:

Finalizing inline custom devices...

******AIT 429 CUSTOM DEVICE ERROR******

Source:    Owl429.lvlib:Owl429_DefaultErrorHandler.vi:428<ERR>

Could not open AIT board with SN: 126 on "local"

An API failure occurred. uapiAdminLogin returned -6. Wrong Firmware Build version

<b>Complete call chain:</b>

     Owl429.lvlib:Owl429_DefaultErrorHandler.vi:428

     Owl429.lvlib:Owl429_IBoardFactory_createBoard.vi:5

     AIT 429.lvlib:AIT 429 Initialize (Serial Number).vi:4

     AIT 429 Custom Device.lvlib:429 RT Driver Init.vi:3

     AIT 429 Custom Device.lvlib:AIT 429 RT Driver VI.vi:2

     Custom Devices Storage.lvlib:Initialize Device (HW Interface).vi

     NI VeriStand Engine.lvlib:Initialize Inline Custom Devices.vi

     NI VeriStand Engine.lvlib:VeriStand Engine State Machine.vi

     NI VeriStand Engine.lvlib:VeriStand Engine.vi

     NI VeriStand Engine.lvlib:VeriStand Engine Wrapper (RT).vi

Code:    -2

******AIT 429 CUSTOM DEVICE ERROR******

I'll flash this up and see what I get.

Stephen B
0 Kudos
Message 58 of 193
(4,022 Views)

I just ran the firmware updater on it and after I saw the same error. this is an older card with a cPCI carrier instead of a PXI carrier. what is yours? I'm grabbing a newer board to test with now.

Stephen B
0 Kudos
Message 59 of 193
(4,022 Views)

Claudio_G,

I found a 4 channel board and it seems to work just fine.

When you get the error can you visit the website for your controller and get the full error text?

Stephen B
0 Kudos
Message 60 of 193
(4,022 Views)