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:
Benefit: Simplify the process and reduce errors when using FPGA personalities
Idea: Querry the user-generated FPGA diagram and automatically create the XML file. Additionally, have some kind of editor/viewer for the XML file that would present the information similar to how it is presented in the System Explorer but allow the user to edit certain values (or just make it editable in the system explorer). Some items would be read-only (items specific to the bitfile communication) and others would be editable (heirarchy, scaling, etc).
Ultimately, the process for using FPGA Personalities would be:
- create FPGA VI using NIVS interface/template
- select interface in "utility/view" or System Explorer (XML file automatically generated)
- edit default settings if desired
Mapping in VeriStand 2011 consists of only text, but user could grasp the whole mapping if the number of connections is increasing. So, visualized mapping tool like dSPACE ConfigurationDesk as below image must be good user interface for users.
If you want to exchange a model you have to reconfigure many things. You could use Aliases to reduce the effort for the Workspace and Workspace Tools.
But in the System Explorer you can only use Aliases for Calculated Channels.
Please make it possible to use Aliases also for Mappings, Alarms and Procedures.
Make the Measurement & Automation Explorer ( MAX ) Import Assistant Window resizable, because now not all informations are visible to the user:
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.
To raise the visibility of the increasing number of NI VeriStand add-ons available on the website, I suggest we put a button on the Getting Started Window of NI VeriStand that takes the user to www.ni.com/veristand/addons.htm
This doesn't have to be a button on the window, it could be in the menu.. under file, tools or help.
Editing the NI VeriStand Workspace is a very time-consuming job. Especially after arranging a huge number of controls and indicators it is a pain to drag and drop each object in order to move the whole arrangement to another place.
Improvement: If the user could mark multiple objects at one time he could move them all together. The selection could be done by holding the Shift or Ctrl key or just by framing them with a selection box.
Today we need to configure the hardware in MAX and in System Explorer.
Allow VS to import the hardware configuration from MAX and eliminate the DIO number of ports and port size manual definition.
I guessed the PXI2569 and PXI2570 configuration in a trial and fail matter till I found the number that did not cause an error during deploy.
Import all board I/O configuration and let the user remove what is unused later.
In System Explorer, you can not change the order of items by drag & drop. It is better for users to change the order of items like Calculated Channel.
However, I guess better mapping usablitity will resolve this problems. If the mapping is like below image and the order can be changed, it is better for users to map all things.
Is there any development in improving the pallet of Calculated Channels? The new stimulus profile editor has a very large list of mathematical and logical functions while the Calculated Channels pallet is very limited. Thanks.
Also, it'd be great if the conditional could be a bit more flexible (e.g., allow multiple conditions) or be changed to a switch/case type function.
I'd like to see the Calculated Channels in System Explorer displayed in something other than the evaluation order. I'd like to sort by name due to the large number of calculated channels that I have.
The Project Explorer is inoperable when the System Definition File is open.
I frequently want to open the Workspace or Stimulus Profile Editor while working on the System Definition File.
This should be possible because it is already possible to let the Workspace open before you start the System Definition File.
Custom Device development does not have a very good design/develop/test work flow. To improve this, the custom device template tool needs to be rewritten so that it better incorporates design before creating the project/library/VIs.
In order to better incorporate design into the process, I envision a custom device template tool that is configuration based. From this tool, a developer would be able to specify the pages, actions, RTM, dynamic buttons, help topics, and glyphs. The developer should also be able to specify any options the custom device or a given page, RTM, or button may use such as multiple target support RT driver VIs, delete protection, rename protection, RTM/button dependencies and behavior, etc.
Once the developer finishes designing the custom device, the XML should be fully implemented and all the necessary VIs (actions, pages, RTMs, etc.) would be created in the library. This would greatly cut down on the overhead of creating new files from templates and modifying the XML over and over. It also encourages developers to do more design of the custom device up front instead of designing while they code.
For completeness, it would also be nice if the tool had the capability of linking into Requirements Gateway or something so they could do requirements tracking. I'm not sure how this would work, but it's something that maybe should be investigated.
The final aspect of this idea is that there is a need for better testing of custom device developments. I find it difficult to do good tests because my code is always tightly coupled to Item Properties or other things that require VeriStand references. I think this tool could also script some high level test code that would be able to run the pages or RT driver VIs outside of the VeriStand executable. In order to accomplish this, I think VIs could be developed that use the SysDef API to load system definition item information outside of the VeriStand executable so that the references could then be passed to the appropriate page or driver VI. I envision the test VIs are wrappers that wrap up the page, action, RTM, or driver being tested. In the case of pages, the custom device would need to be added to a SysDef and the Init VI would need to be executed. Some pages would also require the section or channel being added to the appropriate section or channel as well. If the configuration tool could script most of this work, I think it would be very helpful.
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.
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.
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.
Now you can't drag&drop to move sequence files in Project Explorer. To workaround this, you have to add files under folders after creating folders. The way to workaround is time-consuming.
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.