DIAdem Idea Exchange

Community Browser
About DIAdem Idea Exchange

Do you have a feature idea for how to improve NI DIAdem? Submit and vote on ideas now!

  1. Browse by label or search in the DIAdem Idea Exchange to see if your idea has previously been submitted. If your idea exists sure to vote for the idea by giving it kudos to indicate your approval!
  2. If your idea has not been submitted click Post New Idea to submit a product idea. Be sure to submit a separate post for each idea. Note: the DIAdem Idea Exchange is not the appropriate forum to submit technical support questions.
  3. Watch as the community gives your idea kudos and adds their input.
  4. As NI R&D considers the idea, they will change the idea status.
  5. Give kudos to other ideas that you would like to see implemented!

The DIAdem R&D team is committed to reviewing every idea submitted via the DIAdem Idea Exchange. However, we cannot guarantee the implementation of any DIAdem Idea Exchange submission until further documented.

Showing results for 
Search instead for 
Did you mean: 
Post an idea

Changing the order of opened scripts (tabs) manually would be awesome feature. Now its a bit frustrating when u got scripts in different folders and you would like to change the order when you work on more than one script.


When working in DIAdem SCRIPT, it is often necessary to work on more than one file at once. The way this is implemented at the moment is with tabs:


script before.png


However, it can be quite tedious to switch back and forth between 2 scripts for things like copy/pasting, comparing code or simply editing code on 2 files concurrently.

My suggestion would be for a SCRIPT editor with split screen functionality, roughly like this:


script after.png


With many users working with widescreens today, this would better make use of screen real-estate.

Hello everybody,
My suggestion concern the SCRIPT tab. I think that it is necessary to implement a real automatic indentation function as you can find in most of Integrated Development Environment.
Indeed, when you write a VBS code, you have to structure your code manually while DIAdem could structure it automatically.
For instance, after an "if" and until "end if" DIAdem could insert a tabulation.




It should be possible to use the code completion functionality for classes one has written, even when the class is in another VBS file and included by “ScriptInclude”. Now that competion feature works only if the class is defined within the same VBS file as one writes the code which uses this class. That would make the developers live much easier, I am sure I am not the only one who writes code which is distributed over several files Smiley Wink

Lately there has been a need by many individuals to shift data for one reason or another.  Possibly the data was collected without using a trigger to synch everything or just collected with an inevitable delay.


Would R&D look into a function that could mark two points in a customer's data and then align/shift the data so a comparison may be done of one data set against another?



it is not possible to see which values are in an array.

on normal variables i can follow what happend while debuging the script.


it yould be great to show whats going on with my array.

display like an excel, or in first step like (22.5; 21; 99; ...) when you turn you mouse over the variable


My idea is to add the capability of word highlighting in scripts, much like most other programmers editors, this facilitates easy searching throughout a script and is an alternate way of finding a search match other than repeated F3 presses.


Word Highlight


I was fiddling with some DIADem Scripts and manage to crash DIADem twice, unfortunatly my VIEW, REPORTS and SCRIPTS weren't auto-saved.


That is kinda bad, so please add an autosave option.



This idea is borrowed from other programmers editors where you can select a sub-routine name or function name and then right click on this name to jump to where it is defined. The path to search for could be based on the currently open scripts within Diadem Script editor or it could be extended to all user commands currently loaded.

Goto Defined


It was nice to have a conditional breakpoint, so only if a variable reaches a value

the executions stops and i can continue with debugging.




Thanks a lot.


I am sure that this is far from a 'new idea'.  I have been using DiAdem 11.1, and have not looked at the new features of 2010 yet.  The new idea...use LabVIEW code to make scripts.  I know LabVIEW very well, that is how I make the TDMS files; but the idea of data analysis or automation comes to a standstill when you tell me I need to learn VB to manipulate or work with the data I just gathered beyond the canned toolsets already in DiAdem.  DiAdem needs to be like Teststand in this regard.  You can use different code types with Teststand, and it works.  And this needs to work in all the different categories of scripting or automation (Navigator, View, Analysis, etc.)  Any software package NI creates should have LabVIEW as the center point, and always require seamless integration of LabVIEW code.  I think that comes down to plain-jane good marketing strategy.

We use scripts extensively to automate many tasks in a consistent manner, so we back these scripts up in a version control system to track changes and revert back to a know version if issues arise.


However, because we also use Diadem dialogs we need to create SUD files to house not only the menus but also the scripts that can be built into them. These SUD files are binary in nature and cannot be compared in the version control system, which is primarily a text based tool, and because the fileformat is unknown any differences at the binary level are not easily understood.


My idea is to have a tool that can parse a SUD file to extract the script associated with each dialog and export that script to a VBS file in a programmatic manner, such that multiple VBS files can be created quickly instead of having to open each SUD file and its many dialogs and then capturing the scripts. The benefit this brings is that there will now be the ability to track script differences in any text diff tool of your choice, it would not address any changes of a graphical nature within the SUD file, but that is not the motivation for this idea.


Rather than asking for a change to the "Repeat Marker" to plot all the points (we'd prefer "Repeat Marker" in DIAdem VIEW to be "Every N Points" where N = 1 rather than "Up to N Points" where N = 100), I think it would be great if we could have a configurable DIAdem default set of VIEW items that could be saved via usercommand, script, or a file configuration so we could conveniently spread it to our users.

This could include colors, points and/or lines, "Repeat Markers" configuration, line width/size/fill.


The "Repeat Markers" option is the most important to us because we have had users in the past who didn't realize that they were only seeing 100 points of their data, which can be a very bad thing (for example if you've turned off curve color and are looking for outliers in 150 points of data).  On the other hand, I can understand not wanting to plot 2 billion points on a graph, hence the ability for an administrative body (or individual users) to configure the graph defaults.



Diadem currently has a copy function for curves within the user interface, as shown below: 





However, there is no copy function within the scripting api. This means to duplicate a curve programmatically multiple functions. one for each of the properties in the curve, need to be called as shown below: 


Dim oMyReportObj, oMyNew2DCurve,

Set oMyReportObj = Report.ActiveSheet.Objects.Item(1)

Set oMyNew2DCurve = oMyReportObj.Curves2D.Add(e2DShapeLine, oMyReportObj.Curves2D.Item(oMyReportObj.Curves2D.Count).Name &"_copy")
oMyNew2DCurve.Shape.XChannel.Reference = oMyReportObj.Curves2D.Item(oMyReportObj.Curves2D.Count-1).Shape.XChannel.Reference
oMyNew2DCurve.Shape.YChannel.Reference = oMyReportObj.Curves2D.Item(oMyReportObj.Curves2D.Count-1).Shape.YChannel.Reference
oMyNew2DCurve.Shape.Settings.Line.Width = eLineWidth0100



It would be far easier if there were a call to copy a curve directly: 


Dim oMyReportObj, oMyNew2DCurve,

Set oMyReportObj = Report.ActiveSheet.Objects.Item(1)

Set oMyNew2DCurve = oMyReportObj.Curves2D.Copy(1)




I've been spoiled by using other scripting environments lately, and thought I'd suggest a few features that I feel would make scripting in DIAdem a little more convenient:

  • Check for un-dimmed variables when Option Explicit is turned on
  • Check for unused dimmed variables (very helpful for cleanup)
  • Check for variables that are used, but never initialized to a value

I feel these would be really useful for identifying and fixing bugs (especially for inexperienced script writers) and cleaning up old scripts, while not requiring major changes to the interface (although they could get really annoying if implemented incorrectly, may be difficult to implement in the back end, and may even require manual compilation to detect?).




Create a version of Diadem that has no user interface. This version would merely run scripts for use in delivered custom solutions.


it is not possible to search the Diadem Help with




or    *Chn*

or    Fi*Dlg




you always have to know the right word you search.



the possibility to search with * makes it much more easier to findes command when you only have an idea how they could be named





Please include commands to handle INI Files (like CVI)


at the moment we have to handle and search for goups completle manual


it would be much more easier to get 1 command to geht the Value from "test"



test = 3



when i want to compare 2 Script Files i always have to use Notepad++


Please include this Funktion into the Script Editor


Simplify how to create a DataPlugin. I should be able to define a binary layout like a telemetry stream and directly assign channels.


For example, A new GUI would be created. I define the telemetry stream which has three floating point numbers then an integer, repeat. Assign channel names Volts, Amps, Power Out, and Setting. Perhaps set the built-in properties. Press a button the plug in is automatically created.