11-07-2008 04:19 AM
Wallace_F wrote:Hello Geir Ove,
I regret that the work-around of creating the tasks programmatically is a show stopper for you. The issue has been reported to R&D for investigation. Currently, there is not a fix for this problem. A fix may be implemented in a future release of the DAQmx driver, but as of yet, no release date has been determined.
Regards,
Wallace F.
Hello,
Thanks for your reply. Your reply worries me: NI has long time ago introduced the feature to define Virtual Channels and Tasks in the
Project Explorer. When a feature is available users tend to rely on it.
We have relied on this particular feature to build a complete framework (VSM - http://objective.no/labview_process_control.htm)
that needs the ability to define Channels and Tasks using names. The names are used by VSM to read IO XML Mapping files outside of the LabView code:
Thus, the final physical mapping of IO channels can be done without writing any LabView code.
When NI says:
"A fix may be implemented in a future release of the DAQmx driver, but as of yet, no release date has been determined".
this makes us very worried: Any defect in a prior introduced feature may be a show stopper to some large project: These kind of bugs
should have the highest priority. If not, it makes it tough to base mission critical projects on LV.
Luckily we have found a Work around, but if this soulution also fails in a future LV release, we are stuck.
Here is the workaround: (You can still use Tasks and Channels names)
As Wallace said in a previous post in this thread: Remove all Channel and Task definitions from the Project File. Instead, we defined
Tasks with the same names in MAX under Remote Systems>>My RT>>Data Neighborhood>>NI-DAQmx Tasks
However, you need to make sure that the MAX Tasks can be seen by your LV code when a Runtime is built: For this to be the case, it seems
that you need to start MAX before you start your project: Ensure that you can see your MAX Tasks by opening a VI in your project where you
have a DSQmx Global Channel entity: Click on it and see that it lists all the MAX Tasks. When it does, you can build your code, and these
Tasks will also be available in the .rtexe code.
It probably would be even better to:
a) Define Virtual Devices under My System>>Devices and Interfaces
b) Define the Tasks under My System>>My RT>>Data Neighborhood>>NI-DAQmx Tasks
This would make the Tasks available even though the RT system is not present. I do not know what happens if you build your .rtexe using
these Tasks; will it automatically work running the build .rtexe on the RT module? At least you have to use the same name for the devices
that you define on the Remote system and those you define under "my System>>Devices and Interfaces"
Defining many MAX tasks is cumbersome: Tasks in the Project Explorer may be copied, and you just modify what you need. Max Tasks cannot be
copied as far as I see. I have not even found a way to move them from e.g. the "Remote System" to "My System" even though the same device
names exist in both "systems".
I do not feel comfortable with my solution: MAX is independent of your project, and if the MAX tasks are deleted at some point in time,
then your project will not work: Defined Channels and Tasks belong in the project where they are used to make the Project a self contained
entity. The tasks may be exported to a separate file; that may be a comforting solution.
I have a few questions as well:
In which file on which computer / RT Module does MAX store the defined Tasks:
a) Tasks defined under "My System" ?
-- In which file on the PC are these Tasks stored?
b) Tasks defubed under "Remote System" ?
-- In which file on the Remote System (RT Module) are these Tasks stored?
Or are they stored on the local PC?
They are only availablw when you have a connection to the RT module!
Geir Ove
Norway
11-10-2008 02:40 PM
Hello Geir Ove,
I believe that you are referring to the config3.mxs files. There is one for your pc and your real time system. I should point out that these files contain all of the configuration data for everything that is set up in MAX. I should also point out that these files are not human-readable, so you wouldn't be able to manipulate them. Have you given consideration to using the MAX Configuration Export Wizard? You can use this tool to export any part of your MAX configuration to another computer, and you can export the configuration file as a .ini file or a .txt file, both of which are human-readable.
Best wishes,
Wallace F.
11-12-2008 09:32 AM
Wallace_F wrote:Hello Geir Ove,
I believe that you are referring to the config3.mxs files. There is one for your pc and your real time system. I should point out that these files contain all of the configuration data for everything that is set up in MAX. I should also point out that these files are not human-readable, so you wouldn't be able to manipulate them. Have you given consideration to using the MAX Configuration Export Wizard? You can use this tool to export any part of your MAX configuration to another computer, and you can export the configuration file as a .ini file or a .txt file, both of which are human-readable.
Best wishes,
Wallace F.
Hello,
I do not need to be able to read the files; and yes, I tested the Export Wizard; that's a way to save the configuration with the project.
However, my question above about where the config files are stored, was asked because I wonder whether a Channell / Task configuration follows RT module or not:
Question:
a) If I create Channels / Tasks in MAX under my "Remote system" as described above, can I then move this RT module to another LV installation and still see the Channels / Tasks defined for this RT modul?
b) If the Channel / Task configuration is stored on the RT module; where on the RT Module? Which File ??
(If I knew, at least I can save this file and copy it onto the RT module again if I need to change in the field it for some reason !)
Geir Ove
11-21-2008 04:18 PM
Hi,
I just came across this post. Give me a bit to read through it and hopefully I can answer some of your Real-Time questions.