NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

-17325 wrong number of array indices

Solved!
Go to solution
Ausgangsdaten is a bytearray and Ausgangsdaten[8] is the status byte of the bytearray. I want to test if it is 64.
Where can i set the initial value to Ausgangsdaten[0].
0 Kudos
Message 11 of 19
(2,835 Views)
Hi,
 
Can you post a small test sequence file with one of your custom step types?
oh and the code to your step type.
 
regards
ray


Message Edited by Ray Farmer on 04-08-2008 08:06 PM
Regards
Ray Farmer
0 Kudos
Message 12 of 19
(2,824 Views)
Yes. I hope that is enuogh. You can exchange the missing vi`s with dummy data. If all is fine on the output get a byte array. Is no communication possible there is nothing at the output.
 
schwede 
0 Kudos
Message 13 of 19
(2,814 Views)

Hi schwede,

I had a quick look at you routines yesterday. I think its probably due to Ausgangsdaten being an empty array right up until the code module VI (EasyDriveControl.VI) returns with Ausgangsdaten defined in size and values.

Try writing the array back to TestStand before you return from EasyDriveControl.VI using the TestStand PropertyObject.SetVal method.

Regards

Ray Farmer



Message Edited by Ray Farmer on 04-10-2008 06:36 AM
Regards
Ray Farmer
0 Kudos
Message 14 of 19
(2,789 Views)

Hello,

 

your are right, there is something with the vi. I have tried to use the standard numericarray (which is not been used in the vi). And it works, i get no error. But i have no data from the vi!!!!!

Have you a short example for me, i don`t know which elements you mean and where to build in.

 

thankyou

 

schwede

0 Kudos
Message 15 of 19
(2,784 Views)

Hi,

I will try to sort something out this evening for you.

Regards

Ray Farmer

Regards
Ray Farmer
0 Kudos
Message 16 of 19
(2,774 Views)
Hello Ray,
 
now i have taken an other solution. I have split the array in numbers and transmit them parallel. For each number a variable. This work fine, but is not the best solution.
The questions is why doesn´t work it with an array?
 
 
greetings schwede 
0 Kudos
Message 17 of 19
(2,772 Views)

Hi Schwede,

I have looked at your problem and its down to not handling your data flow correctly in EasyDriveControl.VI.

At the end of the VI you write to Step.Ausgangsdaten the contents of Ausgangsdaten. Unfortunately when the VI starts it passes the empty array the TestStand - SetVal Property VI because it has no dependancy on the while loop which is where the Ausgangsdaten terminal is populated.

The next time, because the VI remains in memory the contents of Ausgangsdaten is no longer empty and therefore passes something back to TestStand even though its probably wrong.

I have placed a sequence frame around it so as to define a dependancy on the output of the while loop before the valves are past to TestStand. But equally you could have used a shift register on the While loop and then connected the output of the shift register straight to the TestStand VI input and therefore avoided the use of the Local variable.

But equally you could have just taken the output of the VI and connected to Step.Ausgangsdaten when you specify the inputs and outputs within TestStand Editor and therefore you dont need the TestStand -Set Value Property.VI.

Notice, I have connected Ausgangsdaten to Step.Ausgangsdaten back in TestStand and therefore you dont need the TestStand - Set Value Property.VI at the end of EasyDriveControl.vi.

 

Hope this helps

Regards

Ray Farmer



Message Edited by Ray Farmer on 04-10-2008 09:28 PM
Regards
Ray Farmer
Message 18 of 19
(2,763 Views)
Solution
Accepted by Schwede
Thankyou Ray that`s it!
0 Kudos
Message 19 of 19
(2,755 Views)