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.
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.
04-16-2020 07:27 AM
Hey everyone,
I am currently planing the (re-) development of the control software for a experimental setup in the field of cold atom physics. Currently the machine is run by an actor framework based program that I wrote.
The essential task is to control several analog (~30) and digital (~100) signals over the course of around 15 seconds. Each analog channel consists of a large number of events (~100) that have to be user controlled and organized into blocks (voltage ramps, jumps etc.). The essential part of the interface currently looks like this:
The Interface works quite well but there are a few problems that I would like to fix:
-Analog and Digital Channels are separated (top and bottom array) but all channels in one of the blocks are listed in a single long array. It is hard to see the actual time order of different events. In addition one has to scroll through the hole list to see which events are active for a given channel.
-Adding new types of events (e.g. something else than a linear ramp) is not straightforward. I would prefer to go for an object oriented approach here.
My idea is to go for an interface similar to what video editing software typically uses:
I.e. each physical channel of the machine gets one line on the Y- axis while time is running on the X-axis. Events should be objects that are can be added to each of the channels. It should be possible to group events across multiple channels (i.e. "Initialization" etc.). Ideally drag and drop reorganization of the event order would be possible.
Now as I see it this seems quite far away from the standard interface options that LabVIEW offers. Now, I need some help to figure out where to start and to see what is feasible in a reasonable amount of time (I am working on this on my own). What is the best LabVIEW structure to use for an interface like this (subpanels?, images?). Does something already exists that I can build on?
Any Ideas are appreciated! (Also completely different suggestions of how to build the interface).
Solved! Go to Solution.
04-16-2020 10:49 AM
I'd use a picture control, or a graphs picture overlay.
This provides a standalone canvas (picture control), or the scales of a graph combined with a canvas.
See this post (and the thread in general):
https://forums.ni.com/t5/LabVIEW/Plotting-Types/m-p/3688630#M1037212
04-16-2020 02:06 PM
Thanks a lot! These picture overlays simplify the creation of custom Interfaces a lot, I did not know about them.
I am still happy to receive any further input or ideas but this is allready something that I can build on.