NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Propert Loader "PropertyList" description required

Im looking for a description of the fields in the property loader step.propertiesList :-

step.propertiesList[0].PropertName (Variable to be loaded)
step.propertiesList[0].PropertyType (1 ???)
step.propertiesList[0].DataType (1 - string, 3 - number ???)
step.propertiesList[0].ColumnName ( ??? is this required ??? )
step.propertiesList[0].IsArray ( True for array False none array ?)

Im looking to write a custom step which will at run time change the property list, basically loading of arrays is painful to enter or very slow ( I have tried using the Pre-Expression method to allocate arrays and this adds approx 600ms overhead due to reloading the csv - xls file ), I rekon I should be able to dynamically size and allocat
e values to the Properties list if I know what the required formats are.
With my custom step I can then specify the Array and number of elements and it should create the required number of elements for me.
0 Kudos
Message 1 of 4
(3,332 Views)
Hi Rupert,

Looking at the source file used for the property loader step type, here is what each of these mean:

PropertyName: Variable/Property to be loaded
PropertyType: The location of the property to load. This is an enumerated value with the following values (from TSDBCommon.h):

PropertyType_Step = 0,
PropertyType_Local = 1,
PropertyType_FileGlobal = 2,
PropertyType_StationGlobal = 3,
PropertyType_Other = 4

DataType: The datatype of the value to be loaded. This is an enumerated value with the corresponding values (from tsapicvi.h):

TS_PropValType_Container = 0,
TS_PropValType_String = 1,
TS_PropValType_Boolean = 2,
TS_PropValType_Number = 3,
TS_PropValType_NamedType = 4,
TS_PropValType_Refe
rence = 5

ColumnName: This is required in order to specify column to step property mapping. TestStand uses this to determine the column in the file in which the property is located.

IsArray: True if the value is an array (i.e. Locals.MyArray[x]), false otherwise.

Hope this helps!

Bob
0 Kudos
Message 2 of 4
(3,332 Views)
Excellent ! thanks very much.

The Column name appears to contain some wierd mangled version of my origional "Property name"
ie
PropertyName[1] = "TxNvramAddr.functionName[0]"
ColumnName [1] = "TxNvramAddr_functionName0_S"

Does this only get used if you are loading "Step Properties", and not variables ?
0 Kudos
Message 3 of 4
(3,332 Views)
Hi,

Please have a look at the file \Components\NI\StepTypes\Database\PropertyLoader.c. In this file you will see a function called "BuildColumnName". Have a look at this function, this is where the ColumnName value is created.

Bob
0 Kudos
Message 4 of 4
(3,332 Views)