01-27-2015 10:11 AM
Hello,
when I try to deploy my programmatically created system definition I get the following error:
Error -200220 occurred at Project Window.lvlib:Project Window.vi >> Project Window.lvlib:Command Loop.vi >> NI_VS Workspace ExecutionAPI.lvlib:NI VeriStand - Connect to System.vi
Possible reason(s):
Device identifier is invalid.
=========================
NI VeriStand: NIVS_DAQ Measurement Types Plugins.lvlib:DAQmx Create Channel (DO-Digital Output).vi:1<append>
Device Specified: Digital Output
Suggested Device(s): PXI1Slot2, PXI1Slot8, PXI1Slot5, PXI1Slot10
Task Name: PXI1Slot2_DO
I assume the problem is caused by an incorrect physical address of my DAQ digital inputs and outputs. When I add digital IOs using the System Explorer, the physical address starts with the name of the respective DAQ card:
PXI1Slot2/port0/line0
However, when programmatically creating the system definition, the physical address starts with either "Digital Output" or "Digital Input":
Digital Output/port0/line0
How can I change the physical address using the .NET API? I haven't found anything in the docs. My VS version is 2012.
Thanks & Regards
Krid
01-27-2015 09:32 PM
01-28-2015 08:08 AM
Hi Stephen,
I create DAQDevice Objects like this:
# Name Description InputConfiguration AI AO DI DO PortWidth DAQDevices = ((DAQDevice('PXI1Slot2', "Description", DAQDeviceInputConfiguration.Default, 0, 32, 0, 8, 8), 'PXI-6723', True, False), (DAQDevice('PXI1Slot5', "Description", DAQDeviceInputConfiguration.Default, 32, 4, 0, 32, 32), 'PXIe-6363', False, False), (DAQDevice('PXI1Slot8', "Description", DAQDeviceInputConfiguration.Default, 0, 0, 24, 24, 8), 'PXI-6528', True, True), (DAQDevice('PXI1Slot10', "Description", DAQDeviceInputConfiguration.Default, 32, 4, 0, 34, 32), 'PXIe-6363', False, False))
Later I add the devices to the system definition:
chassis = target.GetHardware().GetChassisList()[0] for DAQ in DAQDevices: DAQDev = DAQ[0] ... DAQDev.ProductName = DAQ[1] chassis.GetDAQ().AddDevice(DAQDev)
Of course there is a lot of other code that I left out, but I guess only the Table above is really important.
Thanks
Krid
01-28-2015 01:19 PM
I see this is a bug and I filed it to R&D as CAR 514005
The issue is inside the DAQDevice constructor. To work around this, construct the device with 0 DIO and then add them in yourself with additional invoke nodes on the DAQDevice object.
Sorry for the inconvenience