‎09-13-2013 02:51 AM
Thanks a lot StephenB.
It's working and the warning disappears once the database is refreshed.
Best regards.
‎10-16-2013 07:10 AM
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
****************************
‎10-16-2013 09:37 AM
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):
VS2011 with A429 (hardly any timed structures):
VS2012 without A429 (hardly any timed structures):
‎10-16-2013 11:11 PM
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:
Thanks
‎10-17-2013 09:12 AM
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.
‎10-17-2013 09:54 AM
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!
‎10-17-2013 09:57 AM
Have to check here if we can deliver or not. I'll let you know tomorrow.
‎10-17-2013 10:47 AM
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.
‎10-17-2013 11:57 AM
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.
‎10-17-2013 01:44 PM
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?