I was thinking for very large systems that use the same channel configuration for multiple channels on the system configuration can be very tedious. A work around for this is the API to build a system definition file but for those customer's with limited or no LabVIEW or .NET experience this isn't valid.
Since we can test the IO channels in MAX by creating tasks for all of our hardware I would like to add the ability to pull the configuration information from a task we've created in MAX and apply them to our channels in VeriStand. So in stead of setting MIN, MAX, input configuration, shunt resistor location and value for 100 channels I can configure it in one location (MAX) and apply the settings to all my Current Channels.
The other issue is if the channel doesn't support all the configurations from each page then we need to contact NI support to add functionality. Recently I worked with a LVDT sensor for a SCXI chassis. This allows customers to have an instant workaround rather than having for NI to allocate resources to update the page.
By adding MAX task to act as the template for our channels we can edit the parameters for all channels of the same setup from one location (MAX) vs each individual page. This also allows you to test individual channels instantly in MAX to make sure the configuration is valid without resolving other errors across the whole system definition.
Again this is more for deployments where they have 100s of channel similarly configured where configurating each channel is tedious but they are not unique.
VeriStand suppot 32 and 64-bit aligned fixed point data: http://zone.ni.com/reference/en-XX/help/372846G-01
It would be nice to add a tool like RAD (NI Replication And Deployement utility) directly into MAX.
But a RAD compatible with all Targets LabVIEW Runtimes.
... a kind ok target cloner, saver , restorer ...
The Update Service supposedly already checked in the background and found I needed updates.
Yet when I say “view updates” it makes me wait on a progress bar while it checks for updates.
And then when I click “Upgrades and Service Packs” it has to check AGAIN with another, extra-slow progress bar.
It should just do all the checking in the background, retrieve the full list of updates, and stop interrupting our work to wait on progress bars.
I was asked to post this here instead of in the VLM forum:
Every time there is a new update of LabVIEW we typically hunt down the installation disks from ni.com as soon as they are available, and start the process of making volume license installers...(Or, if the update seems less exciting, we wait patiently for the shipped DVDs).
I wish it the whole provcess could be made smoother. Based on the volume license installers we have, the VLM could simply subscribe to newer versions.
When 2014 comes out, the package would automatically go out to all the VLMs out there, and new volume license installers would pop up on our local VLM as soon as the software was ready...OR, alternatively, the VLM could be hosted by NI instead (possibly supported by a local VLM for offline use), so that the process of creating new installers were really done by NI (or automatically by NI hardware that is) based on whatever setup we as VLM admins had chosen...and the source material from NI.
(This idea came about as a side note to this related discussion about LabVIEW cloud services).
The current Device Driver Installer dialog is not obvious to use. First of all you have to figure out which drivers that you need for your products and then you would probably prefer to remove other unnecessary drivers. However, this is a tedious process with a lot of dependencies.
I have seen many people just installing everything (with its drawbacks) to be safe, eventhough they only needed the NI RIO driver.
I'd like to see a more user friendly dialog where drivers are automatically selected.
My suggestion is that the user instead filters out the drivers on a product level like this:
Let say you choose Modular Instruments. Then next page could let you filter on what type of instrument you have; Scopes, FlexRIO, DMMs, RF, Switching etc...
One of the buttons in the bottom would be something like "Add more products?" so you could iterate this process and finally all needed drivers would be filtered out.
What do you think?
/Pelle - NI Sweden
I/O Trace is extremely useful when debugging system-level text-based applications. Error handling for systems involving multiple drivers + software packages (RF toolkits, for example) is very difficult. After recognizing there was an error, we still have to determine which device threw the error and then query the appropriate driver/toolkit with the correct handle to determine what the error was. NI I/O Trace is a great way to quickly determine which device threw an error and at which function call. Unfortunately, the error reporting returned by I/OTrace is pretty limited. For example, consider the I/O Trace shown below of an application synchronizing two waveform generators. A property is not configured correctly for one of the generators. I/O Trace clearly indicates there is an error, however the exact cause of the error is difficult to discern from the message:
The actual error message is: “The Sample Rate property can not be configured if OSP Enabled is VI_TRUE. “. It would be great if I/O trace could provide the entire error description. Compare this to the LabVIEW error handler:
Send the VLA log automatically as notification to the VLM administrator.
The VLM log can send the logfile automatically to NI, however this is not an option when the server is not connected to the internet. In this case, emails can be send to the administrator. It would be great if the VLA log will be attached to the email, so that the administrator can forward this to NI.
The custom Device allows to include in the name of generated files a timestamp, with this format: %<%I_%M_%S_%p_%d_%m_%y>T
Today, my customer prefer something like %<Y%m%d_%H%M%S>
Tomorrow? I don't know.
Having a format string configurable from System Exlorer would be really convenient.
As the Idea : Controls for macros , it would be nice to add screen controls in order to handle with procedures !
For the moment, VeriStand RT procedures are only launched using alarms !
It could be usefull to be able to launch or stop procedures using screen objects. (Like the Model controller !)
For security reasons, many customers using Volume License Manager to administer licenses to client machines do not authorize users to download and install anything from the web. Therefore, if a critical patch is released, the client machines are unable to download this unless it is distributed by the administrator. It would be useful for the VLM administrator to be able to configure the Update Service such that all Users can run the Update Service but the service has been configured to point to an internal network share rather than an internet location outside the firewall. This way, the administrator could make critical updates and patches available for the client machines and the clients can be notified and install them.
The only way to edit the order of VeriStand workspace screen pages once they're created is to edit the cryptic XML file where screen pages are referred to by numbers. I'd like to be able to reorder the screen pages from within the workspace. Thank you.
When configuring a system definition file in VeriStand, you can spend a lot of time expanding all of the tree items even if there's only one other item under it. I think it would be nice if the tree auto expanded down to the first set of user-added branches. For example, say I have a simple System Definition as shown below:
If I want to get down to the CAN port I've added, I need to expand Controller, Hardware, Chassis, NI-XNET, and CAN. It would be nice if, assuming the only hardware I've added is the CAN Port, that when I expand Hardware it automatically expands all the way down to CAN 1 since it's the first node I've added. Obviously if I'd also added a DAQ card I'd be ok with it only expanding down to under chassis. Alternatively, or in addition, a button that completely expands the currently highlighted section would be nice.
I have many procedures that check for certain conditions before completing its intended function. If a precondition is not met, the procedure exits. It'd be nice to be able to pop up dialogs as necessary. Right now, in order to do so, I have to have the procedure call other alarms if I want any sort of feedback/popup which gets convoluted pretty quickly. Thanks.
The built in CAN information channels for timestamp and time difference are useful. However, to detect a dead CAN network, I'd really like to know the time since a message was last received. The time difference doesn't work because it waits for a next frame before computing the time difference. If I have a 10 Hz frame that is not coming in, it will just display 0.10 s even if no new frames come in. I'd like to have a time since the last message so I can detect if the message is no longer coming in. I was thinking of doing a difference between system time and the most recent receive time, but system time is relative to the start of VeriStand while the CAN receive time seems to refer to real world time. I hear that real world time will be available in VeriStand 2012, so we can more easily do this checking in a calculated channel, but it'd be great to have this feature as a CAN information channel. Thank you.
In LabVIEW, we have a lot of options for saving our projects as seen below:
In VeriStand, currently, you only have the option for a normal save (as shown below). I think it would be nice to have a "Save As" for saving a copy of the project and, if possible, a "Save for Previous Version".
Although user channels and alarms can be created under folders for better organization, I don't see a way to:
- move channels/alarms in folders out of folders (without first deleting them and recreating them outside of the folders)
- move channels/alarms out of folders
Being able to drag and drop in and out of folders would make organization easier. Thank you.
I'd like a way to select/deselect dependencies that get sent to the target upon deployment. I understand that all dependencies are necessary for a project to run. However, I deploy one system definition to many targets, and often there are very minor changes that don't need a transfer of all the dependencies which takes time. Also, the fact that the default is to transfer all dependencies means I need to keep every computer updated and sync'd or else a deployment could fail. I'd like the ability to manage which dependencies to transfer and potentially overwrite. Thank you.