DIAdem Idea Exchange

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

Using Calculate for basic mathematical functions is like taking a sledgehammer to crack a nut. Cause Calculate takes ages compared to e.g. ChnAdd, ChnMul, ChnDiv etc. But on the other hand it lets you script formulas in an easy-to-read format.

The idea is to have a pre-processor analyzer for scripts that identifies Calculate commands and checks if these commands could be translated into a series of these basic mathematical functions. If yes, then the script engine should be able to do so in the background in order to speed up the calculation.

Since DIAdem 2018, the number of 5 worker objects has been restricted to 5. This is a difficult limitation for those who are enjoying the use of unlimited worker objects in earlier versions of DIAdem, and do not want to purchase the Analysis Server.  

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

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.

It would be a nice featre to do much more comfortable programming. Nearly each Editor suppurt the described feature.

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.

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.

 

Unbenannt.PNG

 

Thanks a lot.

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

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?).

 

Thanks!

-Josh

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"

 

[exam]

test = 3

 

Dears,

I want to propose a check button in settings which would say something like "Automatic CodeCompletion". If you check that, you will see the hint from CodeCompletion anytime you write code not only when you write and hit ctrl + spacebar.

 

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

 

Please include this Funktion into the Script Editor

It would be fantastic if you would develop your own, or put a wrapper around one of the existing public domain, statistics packages and greatly expand on the statistics currently offered in the product.  Evaluating the statistical significance of data seems a natural and powerful feature that should be included as part of data analysis.

Create SQL interface for the datafinder.

 

 

Sometimes it is necessary to call a procedure with an optional argument. VB provides an opportunity to do so: https://msdn.microsoft.com/en-us/library/f25e2b6b.aspx. I created a little workaround which is not working in every case, for example not, when the optional parameter is at the last position of the argument list.

 

Call Example1(1,) 'throws an error message
Call Example1(1) 'throws an error message
Call Example2(1,,3) 'works

' Not working
Sub Example1(param1, param2)
    If VarType(param2) = 10 Then param2 = 0
End Sub

' Working
Sub Example2(param1, param2, param3)
    If VarType(param2) = 10 Then param2 = 0
End Sub

My idea is to introduce optional parameters for procedures in the argument list with the possibility to define a default value.

Sub Example1(param1, Optional ByVal param2 = 0)

 

In the DIAdem interface, there are menubar buttons available that allow the user to "Save ___ As...", whether it's a script, SUD, layout, etc.  In the script editor, there is also a "Save All" button that saves all of the opened scripts.  However, 9 times out of 10 I just want to save the current layout/script/whatever.  It would be great to have a standard "Save" button either in addition to or in place of the "Save As..." button in the menubar.

 

(Yes, I know I can use the keyboard shortcut "Ctrl+S" or click "File --> Save" but these options are not as readily apparent as the "Save As..." or "Save All" icons, so I find myself clicking one of those and then having to click several more times just to get out of it...when all I wanted was a one-click save.)

 

An added benefit would be (like in the Script editor), if the file has not changed then the "Save" icon could be grayed out.  That way the user would know that the current state of the current script/layout/etc was saved to disk.

It should be possible to save .SUD dialogs for previous version so you could open Diadem 2010 Dialogs in Diadem 11.1

Hello

When developing scripts, I frequently add channel groups for analysis results, using

 

call data.root.channelgroups.add("analysis")

 

However, when re-running the scripts, successive groups "analysis1", "analysis2" etc. are created. This is a handy feature that I should not want to miss at some times, BUT

at other times I want to skip the creation of new channel groups. As a work-around I litter my code with 'exist'-statements such as

 

If not call data.root.channelgroups.exists("analysis") then

       call data.root.channelgroups.add("analysis")

end if

Set oResGrp = data.root.channelgroups("analysis")

 

Now, my suggestion is to add a command such as "AddOrReplace" or "Use", which would use the existing group if it exists and creates a new group if not. Pretty much the same behaviour as with the calculator, where

CH("NewChannel")= CH("oldChannel") will create a new channel or overwrite an existing one.

 

So

call data.root.channelgroups.add("analysis")

would work as we know it and

call data.root.channelgroups.Use("analysis")

would create a new object or use the existing one.

Alternatively one could supply an optional paramter to the .Add-method like

call data.root.channelgroups.add("analysis",0)

 as default using the well-known behaviour whereas

call data.root.channelgroups.add("analysis",1)

would change to create or replace.

 

Obviously the same would come in handy for channels or other objects that use an .add-method.

 

Thank you

 

Michael

This idea is another idea borrowed from programmers editors, the idea being to show a search history window that will show all matches for a specific term. If the particluar line is double-clicked then Diadem will jump to that specific file and line showing the search term. Search History