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: 

Why is my Dataplugin slower than the wizard dataplugin

I've attached my Dataplugin. It works, does a good job, but to do effectively the same thing with a wizard creadted dataplugin, this seems to take many times longer. What I can't do in the wizard is the date/time combining, and I'm hoping to add more features to this plugin anways.

 

Now, one thing I've noticed, is I get little red icons next to my files now rather than a little txt document icon. Is there some pre-processing done by the navigator when the wizard is employed that isn't being done now, and now its doing everything at once?

 

Yes, the data is large, about 172000 lines of 50 channels in each file.

 

Thanks.

 

--Scott

0 Kudos
Message 1 of 4
(4,636 Views)

The AddProcessedChannel breaks some performance speed ups.

 

Option Explicit

Sub ReadStore(File)

  File.Formatter.Delimiters = ","
  File.Formatter.DecimalPoint = "."
  File.Formatter.IgnoreEmptyLines= true
  File.Formatter.TrimCharacters  = """"

  Dim chnNames  : chnNames = Split(File.GetNextLine(), File.Formatter.Delimiters)
  
  Dim grp     : Set grp     = Root.ChannelGroups.Add(File.Info.FileName)
  Dim block : Set block = File.GetStringBlock()
  
  Dim d     : set d = block.Channels.Add(chnNames(0), eTime)
  d.Formatter.TimeFormat = "YYYY/MM/DD"
  grp.Channels.AddDirectAccessChannel d

  Dim t1    : Set t1 = block.Channels.Add(chnNames(1), eTime)
  t1.Formatter.TimeFormat = "hh:mm:ss"
  grp.Channels.AddDirectAccessChannel t1
  
  Dim t2    : Set t2 = block.Channels.Add(chnNames(2), eTime)
  t2.Formatter.TimeFormat = "fff"
  grp.Channels.AddDirectAccessChannel t2
  
  Dim i : For i = 3 to UBound(chnNames)-1
    Dim chn : Set chn = block.Channels.Add(Replace(chnNames(i), """", ""), eR64)
    grp.Channels.AddDirectAccessChannel chn
  Next
End Sub

should have the same performance like the wizard generated plugin.

If you have lots of channels think about doing this and merging the time channels in DIAdem.

 

Call ChnAdd("[1]/Time1","'[1]/Time2' - '[1]/Time3'","[1]/AbsolutTime")

 This is less comfortable but might be worth the speed increasement.

 

Message 2 of 4
(4,620 Views)

Hi Scott,

 

The little red icon in the NAVIGATOR next to certain files means that the attempted DataFinder indexing failed for those files.

 

Brad Turpin

DIAdem Product Support Engineer

National Instruments

0 Kudos
Message 3 of 4
(4,597 Views)

Thanks Andreas.  I had to look again and saw you rewrote the script, Andreas.  Didn't see that at first. Will have to try it out when I get a chance.

 

Thanks Brad for the icon explanation. Now just to figure out how to get it to recognize. 🙂

 

--Scott

0 Kudos
Message 4 of 4
(4,590 Views)