09-20-2007 11:06 AM - last edited on 01-03-2017 02:20 PM by Christian_L
11-05-2007 11:09 AM
11-08-2007 02:09 PM
07-04-2008 07:30 AM
Hi All,
Let me start by saying that I love the idea of the CVT and it is just the sort of structure I was going to code myself before starting on a compact fieldpoint project. It really looked really good and I jumped into its use with both feet. Here's what I found. Not sure if anyone is going to read this as it seems to be a pretty quiet thread but what the heck...
1. I am using lv 8.5 and I found that the tag editor executable actually did not save the tags correctly. I tested this on both windows and on the cfp and in both cased when the tag file was read back, it was actually corrupted. This was only really clear when you looked at the data structure carefully. Not all fields were corrupted but the label field which I was using for storing the address of IO points on the cfp backplane was corrupted. I ended up having to write my own editor.
2. The biggest problem I have had is that the CVT read and write of doubles which looks perfectly sound, does not work when built into an executable. It works fine when run from the host but when put into an exe, it does not work. I have provided code to NI here in Australia and demonstrated the problem and they are trying to get a resolution. It has been 1.5 weeks and its not looking promising. Meanwhile my whole application which works beautifully when run from the development machine on the CFP does not work when built into an exe. If I am forced to take out the CVT, it will be VERY painful. I am sure it will build character.
3. An interesting thing happened when I went to NI to demonstrate the problem on their hardware. With an old CFP2000 controller, a really simple app using the CVT completely filled up the memory to the point that the app could not run.
My conclusion at present is sadly that
1. The CVT is a great idea, looks well written and is an elegant solution.
2. At present there are bugs which may have more to do with the compilation of the exe for real time than with the actual CVT component. I am using it with no problems on a windows project but avoid it if you are targetting real time.
Oh, I forgot to mention my favourite part of the bug with real time exe and the CVT. If the exe is built with debugging enabled and you connect to it via remote front panel, you will see that the doubles in the CVT dont fnxn (the booleans do). If you then try and perform online debugging, labview downloads a swag of vis to the target to allow the host to see the target in debug mode and then walah! the CVTs function perfectly. If you then exit the debug session and reconnect via a remote front panel, the system continues to look to be working perfectly until you cycle power when of course the system boots up with the freaky exe again.
I love labview but I got to say that everytime I build a real time exe, I feel like I'm about to walk the plank... maybe its just me.
have a good weekend all,
Peter
07-09-2008 11:57 AM
Peter,
Thank you for your detailed feedback. I'd like to help you out with some of the problems you are facing with building the CVT into an executable. Please send me a message at systemseng at ni dot com with your example code.
1. I am using lv 8.5 and I found that the tag editor executable actually did not save the tags correctly. I tested this on both windows and on the cfp and in both cased when the tag file was read back, it was actually corrupted. This was only really clear when you looked at the data structure carefully. Not all fields were corrupted but the label field which I was using for storing the address of IO points on the cfp backplane was corrupted. I ended up having to write my own editor.