From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

Data-Objekt: Index "xy" entspricht keinem Element der Auflistung

Hallo zusammen,

 

beim Versuch über die Script-Schnittstelle für interne Daten auf einen Kanal zu zugreifen bekomme ich die Fehlermeldung: "Der Index THETA5 1 entspricht keinem Element der Auflistung."

 

 

Unter DIAdem 2012 SP1b hat der folgende Code noch funktioniert, unter DIAdem 2014 aber nicht mehr. Hat sich da was geändert?

 

For j = 1 To Data.Root.ChannelGroups.Count
  iPV5UP = Data.Root.ChannelGroups(j).Channels("iPV5UP")(1)
  'ReDim mychnvalue(iPV5UP)
  Set oTheta5Chn = Data.Root.ChannelGroups(j).Channels.Add("THETA5", DataTypeFloat64)
  For k = 1 To iPV5UP
    myChnName = "THETA5" & str(k, "DD")
    oTheta5Chn.Values(k) = Data.Root.ChannelGroups(j).Channels(myChnName)(1)
  Next
Next

 

Wenn man den Kanalnamen direkt als String einträgt (z.B. Channels("THETA5 1") ) und nicht über eine Variable generiert funktioniert es!?

 

 

Danke und Gruss,

 

Elmar

0 Kudos
Message 1 of 4
(5,135 Views)

Hi Elmar,

 

Perhaps something has changed in the str() function.  Anyway, it seems to work with this change:

 

mychnName = "THETA5" & Right("  " & k, 2) ' str(k, "DD")

 

Brad Turpin

DIAdem Product Support Engineer

National Instruments

0 Kudos
Message 2 of 4
(5,096 Views)

Hi Brad,

 

thank you.

Yes, this works. I've changed it in our Scripts.

 

Best regards

 

Elmar

0 Kudos
Message 3 of 4
(5,081 Views)

Hi Elmar,

 

I just had a look at the DIAdem help regarding STR parameters and found a further solution:

 

myChnName = "THETA5" & str(k, "R : 2")

 

Greetings

Walter

0 Kudos
Message 4 of 4
(5,044 Views)