I am trying to add TDMS data logging to a project in LabVIEW 2010 sp1 that controls and acquires data from FieldPoint modules through an ethernet connection. When I use the File Dialog or Express Fle Dialog to prompt for a file name, the prompt does not appear and I get an Error 43, "Operation cancelled by user". The File dialog is cancelling the prompt request. Looking through the LV knowledgebase from 2003, I read the following relevant information:
"Certain file I/O VI’s, such as Open/Create/Replace File, Read Characters from File, and others that take a file path as an input, open a file dialogue box that prompts the user to browse for a file path if the file path input is unwired. When using the web publishing tool, this file dialogue box does not show up on the subscribing system, unless the subscribing system is also the publishing system. The result, Error 43, is as if the user pressed the cancel button in the file dialogue box.
To avoid this error, wire a path constant to open or save data at a static location, or wire a path control to allow the subscriber to set the file path. If you choose the latter option, you will need to ensure that the file path is valid on the publishing system."
So I eliminated the file dialog and wired a path constant to the TDMS Open. Then I receive Error 7 that the file cannot be found. I checked many times that the file path was correct and there was a TDMS file in the folder. I also tried changing TDMS Open setting from "Open and Create" to "Create and Replace" and "Create" but I continue to get Error 7. I should mention that I am just adapting the "Write TDMS file.vi" that I've used this many times to log data as a TDMS file. This is the first time I've had trouble. I also logged example data from "Write TDMS file.vi" to the same path and it works.
Something about the project must be affecting the TDMS Open. I would greatly appreciate and comments and suggestions how I might solve this.
I wish to add that I can open the TDMS file and log test data if I open the main vi from a folder rather than opening it from the project. When I open it from the project and initiate the LabVIEW Real-time I get error 7 from the TDMS Open function.
It sounds like this may have to do with where the VI is actually executing. If I'm understanding your setup, it sounds like you have a Compact FieldPoint Real-Time Controller 2xxx that is taking data. Specifically, what cFP hardware are you using? It sounds like you're trying to add a VI that now reads TDMS files and that the VI may have been created under the RT target. If the VI is under the RT target, then it's trying to execute on your Compact FieldPoint controller. Since the TDMS files are located on your computer, it can't find them when it looks for them on the RT controller. As shown in the following picture, Test 1 is running on my computer and test 2 is running on the RT target. You may simply need to move the location of the VI in your project:
You can move the file in your project by left clicking, holding, and dragging the VI out from under the RT target and up to under your computer.
Hope this helps!
Thank you for your reply and identifying the problem.
Here is a image capture of the project that shows the hardware used. I am editing "Skid Control Panel Modified for Switch.vi" to add TDMS data logging of the sensors and valve positions. I see that the VI is under the RT target, not the computer. I will try moving this VI to under My Computer tomorrow, but I'm wondering if it will affect the functionality of this Control Panel VI. I'm not too experienced with the Fieldpoint Real-time Controller. If needed I can create a subVI for the Control Panel that handles the logging and put that under My Computer and keep the Control Panel VI under the RT target in the project.