<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic CVT vs Shared Variable Engine in Components</title>
    <link>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/1874809#M795</link>
    <description>&lt;P&gt;CVT vs. Shared Variable Enginer&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Given some constraints....My application requires no network comms to another NI product.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What would be a 'pro' argument for implementing CVT vs using the shared variable engine? Because as far as I can tell they are a dead heat in CPU usage.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;cRIO-9074 Chassis w/&lt;/P&gt;
&lt;P&gt;2 NI 9213&lt;/P&gt;
&lt;P&gt;1 NI 9205&lt;/P&gt;
&lt;P&gt;2 NI 9425&lt;/P&gt;
&lt;P&gt;1 NI 9476&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Talking via ModbusTCP to (3) Slaves&lt;/P&gt;
&lt;P&gt;Talking via Ethernet/IP to (1) SCADA&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In early coding, I had established ModbusTCP to the 3 slaves: Came to discover that CPU usage was @ 100%!!. As I have since found out, this was because I had all project tags set to Network Published. Why? Being new to NI, I read that this was necessary for NI distributed system manager to see variables - and I wanted visibility into the data when the project deployed 'run as startup'.&lt;/P&gt;
&lt;P&gt;CVT was suggested as a good scalable solution but in my testing it is no better than the shared variable engine with network publishing turned OFF.&lt;/P&gt;
&lt;P&gt;CPU Utilization:&lt;/P&gt;
&lt;P&gt;Entire Project SVE w/NP: &lt;STRONG&gt;99%&lt;/STRONG&gt; vs. No NP = &lt;STRONG&gt;31%&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Single Slave SVE w/NP: &lt;STRONG&gt;36%&lt;/STRONG&gt; vs. No NP = &lt;STRONG&gt;18.8%&lt;/STRONG&gt; vs CVT Implemented for that slave = &lt;STRONG&gt;18.5 %&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;All were deployed as 'run as startup' to avoid front panel coms effecting measurement.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As I see it CVT has some cons associated with it compared to the Shared Variable Engine...&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Another utility I must use....TCE&lt;/LI&gt;
&lt;LI&gt;FTPing the xml output over to the runtime&lt;/LI&gt;
&lt;LI&gt;Having to manually edit all static references throughout the project vs. just renaming the shared variable in the project tree&lt;/LI&gt;
&lt;LI&gt;Typo possibility...&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;A single failure on a CVT Static Read seems to stop subsequent reads from working...I had a typo within a series string of CVT Static Reads, the reads downstream from the typo returned nothing until I fixed the typo. (Even though I cut-n-pasted from the TCE while implementing CVT I still managed to mess at least one up....With the shared variable engine I can't make a typo.)&lt;/LI&gt;
&lt;/UL&gt;
&lt;/UL&gt;
&lt;P&gt;A rough estimate of 200 tags in half dozen libraries currently - expect tag count to grow a bit say 350 - 400 tags when done.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 13 Feb 2012 20:18:15 GMT</pubDate>
    <dc:creator>S1ack</dc:creator>
    <dc:date>2012-02-13T20:18:15Z</dc:date>
    <item>
      <title>Current Value Table (CVT)</title>
      <link>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/583424#M1</link>
      <description>&lt;DIV&gt;
&lt;DIV&gt;Post your questions or feedback on the &lt;A href="https://ni.lithium.com/t5/Reference-Design-Portal/LabVIEW-Current-Value-Table-CVT-Library/ta-p/3514251" target="_blank"&gt;Current Value Table (CVT) &lt;/A&gt;component here.&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Tue, 03 Jan 2017 20:20:06 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/583424#M1</guid>
      <dc:creator>Doug_S</dc:creator>
      <dc:date>2017-01-03T20:20:06Z</dc:date>
    </item>
    <item>
      <title>Installation minimum OS mismatch</title>
      <link>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/606337#M23</link>
      <description>Tried to install to a Windows 2000 SP4 system with LabVIEW 8.2.1 and received message:&lt;BR /&gt;&lt;BR /&gt;"This computer does not meet the minimum operating system requirements for this product. Consult the documentation for operating system requirements."&lt;BR /&gt;&lt;BR /&gt;The readme_CVT.rtf file states that that there are None under System Requiremtns and under Supported Targets it lists LabVIEW 8.2.1 for Windows Vista/XP/2000.&amp;nbsp;&amp;nbsp; What gives?&lt;BR /&gt;&lt;BR /&gt;Thanks!&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 05 Nov 2007 17:09:41 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/606337#M23</guid>
      <dc:creator>Imaginatics</dc:creator>
      <dc:date>2007-11-05T17:09:41Z</dc:date>
    </item>
    <item>
      <title>Re: Installation minimum OS mismatch</title>
      <link>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/608667#M25</link>
      <description>&lt;DIV&gt;&lt;/DIV&gt;An updated installer for the CVT component has been posted on DevZone in the &lt;A href="http://zone.ni.com/devzone/cda/epd/p/id/5326" target="_blank"&gt;CVT example document&lt;/A&gt;. The updated installer includes support for installation on Windows 2000.</description>
      <pubDate>Thu, 08 Nov 2007 20:09:49 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/608667#M25</guid>
      <dc:creator>Christian_L</dc:creator>
      <dc:date>2007-11-08T20:09:49Z</dc:date>
    </item>
    <item>
      <title>Re: Current Value Table (CVT)</title>
      <link>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/737636#M41</link>
      <description>&lt;DIV&gt;&lt;/DIV&gt;
&lt;P&gt;Hi All,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;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.&amp;nbsp; It really looked really good and I jumped into its use with both feet.&amp;nbsp; Here's what I found.&amp;nbsp; Not sure if anyone is going to read this as it seems to be a pretty quiet thread but what the heck...&lt;/P&gt;
&lt;P&gt;1.&amp;nbsp; I am using lv 8.5 and I found that the tag editor executable actually did not save the tags correctly.&amp;nbsp; 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.&amp;nbsp; This was only really clear when you looked at the data structure carefully.&amp;nbsp; 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.&amp;nbsp; I ended up having to write my own editor.&lt;/P&gt;
&lt;P&gt;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.&amp;nbsp;&amp;nbsp; It works fine when run from the host but when put into an exe, it does not work.&amp;nbsp; I have provided code to NI here in Australia and demonstrated the problem and they are trying to get a resolution.&amp;nbsp; It has been 1.5 weeks and its not looking promising.&amp;nbsp; Meanwhile my whole application which works beautifully when run from the development machine on the CFP does not work when built into an exe.&amp;nbsp; If I am forced to take out the CVT, it will be VERY painful.&amp;nbsp; I am sure it will build character.&lt;/P&gt;
&lt;P&gt;3. An interesting thing happened when I went to NI to demonstrate the problem on their hardware.&amp;nbsp; 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. &lt;/P&gt;
&lt;P&gt;My conclusion at present is sadly that &lt;/P&gt;
&lt;P&gt;1.&amp;nbsp; The CVT is a great idea, looks well written and is an elegant solution.&lt;/P&gt;
&lt;P&gt;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.&amp;nbsp; I am using it with no problems on a windows project but avoid it if you are targetting real time.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Oh, I forgot to mention my favourite part of the bug with real time exe and the CVT.&amp;nbsp; 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.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;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.&lt;/P&gt;
&lt;P&gt;have&amp;nbsp;a good weekend all,&lt;/P&gt;
&lt;P&gt;Peter&lt;/P&gt;</description>
      <pubDate>Fri, 04 Jul 2008 12:30:54 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/737636#M41</guid>
      <dc:creator>Gryphon</dc:creator>
      <dc:date>2008-07-04T12:30:54Z</dc:date>
    </item>
    <item>
      <title>Re: Current Value Table (CVT)</title>
      <link>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/740666#M42</link>
      <description>&lt;DIV&gt;&lt;/DIV&gt;
&lt;P&gt;Peter,&lt;/P&gt;
&lt;P&gt;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. &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;DIV&gt;
&lt;HR /&gt;

&lt;DIV&gt;&lt;/DIV&gt;
&lt;P&gt;1.&amp;nbsp; I am using lv 8.5 and I found that the tag editor executable actually did not save the tags correctly.&amp;nbsp; 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.&amp;nbsp; This was only really clear when you looked at the data structure carefully.&amp;nbsp; 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.&amp;nbsp; I ended up having to write my own editor.&lt;/P&gt;
&lt;HR /&gt;
&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;DIV&gt;The label field is used for a different purpose in conjunction with the HMI portion of the machine control acrchitecture and therefore the contents will look slightly different than what you may expect. In&amp;nbsp; short the label is designed to be used as a label for front panel controls and indicators and supports up to five different languages. These are stored in the label field&amp;nbsp;and are parsed automatically in another set of functions on the HMI. For your purpose the Address field is more appropriate, but unfortunately in the current version is can only be edited using the provided dialog based on the Protocol chosen. We are planning on providing an updated version of the TCE including source code which will allow you to make changes to the editor and configuration file. It will also provide a simple method&amp;nbsp; to add support for other protocol or interface configuration such as FP. &lt;/DIV&gt;</description>
      <pubDate>Wed, 09 Jul 2008 16:57:25 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/740666#M42</guid>
      <dc:creator>Christian_L</dc:creator>
      <dc:date>2008-07-09T16:57:25Z</dc:date>
    </item>
    <item>
      <title>Re: Current Value Table (CVT)</title>
      <link>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/741900#M43</link>
      <description>&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR /&gt;&lt;/DIV&gt;
&lt;BLOCKQUOTE&gt;
&lt;DIV&gt;
&lt;HR /&gt;
Gryphon wrote:&lt;BR /&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;P&gt;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.&amp;nbsp;&amp;nbsp; It works fine when run from the host but when put into an exe, it does not work.&amp;nbsp; I have provided code to NI here in Australia and demonstrated the problem and they are trying to get a resolution.&amp;nbsp; It has been 1.5 weeks and its not looking promising.&amp;nbsp; Meanwhile my whole application which works beautifully when run from the development machine on the CFP does not work when built into an exe.&amp;nbsp; If I am forced to take out the CVT, it will be VERY painful.&amp;nbsp; I am sure it will build character.&lt;/P&gt;
&lt;HR /&gt;
&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;DIV&gt;Peter,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;I debugged your code and the problem was not with the CVT. It works fine&amp;nbsp;in an executable. The problem was that you used a front panel control property node in one of your subVIs. Property nodes are not supported and do not work in RT executables. (They do work in RT VIs run from the development environment, which is an unfortuante inconsistency.) Because the property node returned no data (empty string array) the FP Read VI was never being called correctly and no data was passed to the CVT. By removing the property node and rewriting the code around it, your example works as expected in an executable.&lt;/DIV&gt;</description>
      <pubDate>Thu, 10 Jul 2008 22:44:10 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/741900#M43</guid>
      <dc:creator>Christian_L</dc:creator>
      <dc:date>2008-07-10T22:44:10Z</dc:date>
    </item>
    <item>
      <title>Re: Current Value Table (CVT)</title>
      <link>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/742160#M44</link>
      <description>&lt;DIV&gt;&lt;/DIV&gt;
&lt;P&gt;Christian!!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Man, you are a star.&amp;nbsp; Thanks very much for your support with this problem.&amp;nbsp; I received the modified subvi you sent to support here in australia and support in Australia tested the fix on their hardware and it works.&amp;nbsp; Woohoo!!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;I must say that I did not initially suspect the CVT because it is written in straight labview code and there is nothing mysterious in the implementation but everyone I spoke to at NI said it must be the CVT and I guess I got sucked in a little.&amp;nbsp; Apologies for casting aspersions on a great little piece of work.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; I attached my code in the zip file and your modifications to the read input vi so others can see the way I implemented stuff and how you fixed it up as well.&amp;nbsp; Comments are more than welcome.&amp;nbsp; I am really glad that your fix worked as it means I can at least move forward.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Now that I have gushed,&amp;nbsp;I do have a few questions.&lt;/P&gt;
&lt;P&gt;1.&amp;nbsp; The use of property nodes.&amp;nbsp; I found that with cRIO that it was absolutely suicidal to try and use property nodes and as such stayed away from them in the compact field point as well.&amp;nbsp; Unfortunately the problem I had 1st manifested itself as a chart not updating with any value other than 0.&amp;nbsp; Support over here told me that I should be using property nodes because on RT targets, local variables would modify values on the block diagram and property nodes had to be written to for the front panel to be updated as well.&amp;nbsp; I was shown a very convincing knowledge base artilce that stated this.&amp;nbsp; I can't find it at the moment but I will post a link as soon as I can find it.&amp;nbsp; The other reason that I felt safe in using property nodes is because the implementation of the data logger on compact field point (anothe excellent piece of NI example code which I really like) has quite a bit of it in use.&amp;nbsp; This project is found at &lt;/P&gt;
&lt;P&gt;&lt;A href="http://zone.ni.com/devzone/cda/epd/p/id/3221" target="_blank"&gt;http://zone.ni.com/devzone/cda/epd/p/id/3221&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;It has property nodes used and builds into a real time executable and appears to work just fine.&lt;/P&gt;
&lt;P&gt;2.&amp;nbsp; The way that I was experiencing failures was that only values from analog cards could not be read and written to using the CVT.&amp;nbsp; It worked perfectly when communicating with digital input and output cards.&amp;nbsp; Falling through to defaul cases would not have explained this either.&amp;nbsp; What do you think could have caused this?&amp;nbsp; Also, while you removed the use of a property node in the read inputs sub vi, the updating of the chart was being done by passing a sub vi a reference to a chart which then updated the value of the chart using a property node.&amp;nbsp; That still works fine as well.&lt;/P&gt;
&lt;P&gt;3. I have to ask.&amp;nbsp; How did you debug the problem?&amp;nbsp; When I tried debugging my exe, it was meaningless because everything started working perfectly when I tried to connect to it and labview did its download of support vis to the target.&amp;nbsp; Also lots of property nodes (as described above) were working fine and this made me think that the use of property nodes may have been more acceptable of cfp compared to crio.&lt;/P&gt;
&lt;P&gt;4.&amp;nbsp; One of the cooles things about all the real time targets is&amp;nbsp; the ability to serve remote front panels over web browsers.&amp;nbsp; If you had an application (as I do) with more than a 100 I/O points which you need to display on the front panel over sets of tabs (like is done with the data logger example) how would you go about writing to the display elements.&amp;nbsp; The vi would take up a heck of a lot of real estate if updates of the front panel was not being done in sub vis.&amp;nbsp; Have I completely missed out some way of doing this without references and property nodes from these references?&amp;nbsp; What is your recomendation.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;I think I'll leave it here for now but I am really keen to understand how to use this stuff well and any insights you can provide into the design intent would be greatly appreciated. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;Once again thanks for your help and for going over my code. If anyone has questions about the code, please post here and I'll do my best to explain what I was trying to do.&amp;nbsp; Feel free to laugh out loud at my code.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;cheers&lt;/P&gt;
&lt;P&gt;Peter&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 11 Jul 2008 10:37:49 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/742160#M44</guid>
      <dc:creator>Gryphon</dc:creator>
      <dc:date>2008-07-11T10:37:49Z</dc:date>
    </item>
    <item>
      <title>Re: Current Value Table (CVT)</title>
      <link>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/742388#M45</link>
      <description>&lt;DIV&gt;&lt;/DIV&gt;
&lt;BLOCKQUOTE&gt;
&lt;DIV&gt;
&lt;HR /&gt;
Gryphon wrote:&lt;BR /&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;P&gt;1.&amp;nbsp; The use of property nodes.&amp;nbsp; I found that with cRIO that it was absolutely suicidal to try and use property nodes and as such stayed away from them in the compact field point as well.&amp;nbsp; Unfortunately the problem I had 1st manifested itself as a chart not updating with any value other than 0.&amp;nbsp; Support over here told me that I should be using property nodes because on RT targets, local variables would modify values on the block diagram and property nodes had to be written to for the front panel to be updated as well.&amp;nbsp; I was shown a very convincing knowledge base artilce that stated this.&amp;nbsp; I can't find it at the moment but I will post a link as soon as I can find it.&amp;nbsp; The other reason that I felt safe in using property nodes is because the implementation of the data logger on compact field point (anothe excellent piece of NI example code which I really like) has quite a bit of it in use.&amp;nbsp; This project is found at &lt;/P&gt;
&lt;P&gt;&lt;A href="http://zone.ni.com/devzone/cda/epd/p/id/3221" target="_blank"&gt;http://zone.ni.com/devzone/cda/epd/p/id/3221&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;It has property nodes used and builds into a real time executable and appears to work just fine.&lt;/P&gt;
&lt;HR /&gt;
&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;DIV&gt;I need to modify my earlier statement. &lt;STRONG&gt;Some&lt;/STRONG&gt; property nodes do not work in RT executables. Unfortunately I do not know of a list that tells us which work and which don't. Basically if you want to use property nodes you need to verify yourself that the ones you want to use will work in RT executables. Doing some simple testing I noticed that the Strings[] property node works for Rings, but not Enums. There are some underlying reasons why certain property nodes work and some don't. It is not that NI decided to only implement some. i.e. the property nodes that work do so because they need to work for other reasons.&lt;/DIV&gt;</description>
      <pubDate>Fri, 11 Jul 2008 15:17:10 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/742388#M45</guid>
      <dc:creator>Christian_L</dc:creator>
      <dc:date>2008-07-11T15:17:10Z</dc:date>
    </item>
    <item>
      <title>Re: Current Value Table (CVT)</title>
      <link>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/742422#M46</link>
      <description>&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;BLOCKQUOTE&gt;
&lt;DIV&gt;
&lt;HR /&gt;
Gryphon wrote:&lt;BR /&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;P&gt;2.&amp;nbsp; The way that I was experiencing failures was that only values from analog cards could not be read and written to using the CVT.&amp;nbsp; It worked perfectly when communicating with digital input and output cards.&amp;nbsp; Falling through to defaul cases would not have explained this either.&amp;nbsp; What do you think could have caused this?&amp;nbsp; Also, while you removed the use of a property node in the read inputs sub vi, the updating of the chart was being done by passing a sub vi a reference to a chart which then updated the value of the chart using a property node.&amp;nbsp; That still works fine as well.&lt;/P&gt;
&lt;P&gt;3. I have to ask.&amp;nbsp; How did you debug the problem?&amp;nbsp; When I tried debugging my exe, it was meaningless because everything started working perfectly when I tried to connect to it and labview did its download of support vis to the target.&amp;nbsp; Also lots of property nodes (as described above) were working fine and this made me think that the use of property nodes may have been more acceptable of cfp compared to crio. 
&lt;/P&gt;&lt;HR /&gt;

&lt;P&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;DIV&gt;When the property node returned an emtpy string array your logic did not fall through to the default case but the 'cFP-2120' case instead. This case performs the digital I/O so those worked in the executable.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;In the example you sent the chart was updated directly. But as I mentioned in my previous post it turns out some of the property nodes will work in executables, but I can't tell you easily which ones.&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR /&gt;Debugging: lots of changes to the VI and a lot of Build/Deploy/Reboot/Connect Remote Front Panel. In the end I added a lot of indicators to the subVI and pulled them out to the front panel of the main VI, so that I could see what was going on inside&amp;nbsp;of the subVI while running as an executable. &lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Another idea for debugging in the subVI would be to open a TCP or UDP connection to an external system and send debugging strings to the remote system for display. I put together a set of Syslog VIs that would be perfect for this purpose. I guess I need to post them somewhere online.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;IMG src="http://forums.ni.com/attachments/ni/Components/46/1/sc1.png" /&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;IMG src="http://forums.ni.com/attachments/ni/Components/46/2/sc2.png" /&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;Message Edited by Christian L on &lt;SPAN class="date_text"&gt;07-11-2008&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;11:01 AM&lt;/SPAN&gt;</description>
      <pubDate>Fri, 11 Jul 2008 16:01:47 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/742422#M46</guid>
      <dc:creator>Christian_L</dc:creator>
      <dc:date>2008-07-11T16:01:47Z</dc:date>
    </item>
    <item>
      <title>Re: Current Value Table (CVT)</title>
      <link>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/742467#M47</link>
      <description>&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR /&gt;
&lt;BLOCKQUOTE&gt;
&lt;DIV&gt;
&lt;HR /&gt;
Gryphon wrote:&lt;BR /&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;P&gt;3. I have to ask.&amp;nbsp; How did you debug the problem?&amp;nbsp; When I tried debugging my exe, it was meaningless because everything started working perfectly when I tried to connect to it and labview did its download of support vis to the target.&amp;nbsp; Also lots of property nodes (as described above) were working fine and this made me think that the use of property nodes may have been more acceptable of cfp compared to crio.&lt;/P&gt;
&lt;P&gt;4.&amp;nbsp; One of the cooles things about all the real time targets is&amp;nbsp; the ability to serve remote front panels over web browsers.&amp;nbsp; If you had an application (as I do) with more than a 100 I/O points which you need to display on the front panel over sets of tabs (like is done with the data logger example) how would you go about writing to the display elements.&amp;nbsp; The vi would take up a heck of a lot of real estate if updates of the front panel was not being done in sub vis.&amp;nbsp; Have I completely missed out some way of doing this without references and property nodes from these references?&amp;nbsp; What is your recomendation.&lt;/P&gt;
&lt;HR /&gt;
&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;I forgot to mention in my previous post, from a LV RT perspective cRIO (9002/9004) and cFP are virtually identical. Except for the I/O the controllers are very similar and how the SW behaves will be very similar. The newer cRIO controllers (9012/9014/9072/9074) use a different RTOS underneath so there may be slightly more differences, but if you are programming in pure G most things will still be the same. Some DLL/shared library dependent drivers/functions/toolkits may behave differently.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Back to the property nodes, I think most of the Value property nodes for front panel indicators will work with control references in subVIs. I just tested the Chart and it works. Of course you will want to verify any other indiciators that you may be using in your application.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Another idea is to use a Case structure&amp;nbsp;in your main diagram that matches the different tabs in your tab control. In each case you only update the indicators on the specific tab being shown. Of course for charts you will want to update them all the time to keep the continuous trace going.&lt;/DIV&gt;</description>
      <pubDate>Fri, 11 Jul 2008 16:35:47 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/742467#M47</guid>
      <dc:creator>Christian_L</dc:creator>
      <dc:date>2008-07-11T16:35:47Z</dc:date>
    </item>
    <item>
      <title>Re: Current Value Table (CVT)</title>
      <link>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/742778#M48</link>
      <description>&lt;DIV&gt;&lt;/DIV&gt;
&lt;P&gt;Hi Christian,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;thanks for your response and explainations.&amp;nbsp; I guess the bottom line is to be really cautious with the use of property nodes and do early builds into executables to test their functionlaity.&amp;nbsp; The easy trap is to design and develop the application with tests being done from the host computer (without building exes).&amp;nbsp;&amp;nbsp;I have in the past been told by NI that what works when run from the host should just work when run as an exe but this is clearly only true for a subset of stuff.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;I still have a niggling doubt about why the digital IO worked.&amp;nbsp; From the code subset that you saw, the only digital IO was on the processor but in the actual application, all the digital IO worked and this included 2 DO-401 &lt;/P&gt;</description>
      <pubDate>Sat, 12 Jul 2008 07:05:28 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/742778#M48</guid>
      <dc:creator>Gryphon</dc:creator>
      <dc:date>2008-07-12T07:05:28Z</dc:date>
    </item>
    <item>
      <title>Re: Current Value Table (CVT)</title>
      <link>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/742780#M49</link>
      <description>&lt;DIV&gt;&lt;/DIV&gt;
&lt;P&gt;whoops, premature post.&amp;nbsp; Continued from above.&amp;nbsp; There was also a DI module.&amp;nbsp; All the digital inputs and outputs were being read and written to correctly and this was really puzzling.&amp;nbsp; I am not sure I understand how getting an empty string from the value property node would have given me the proper handling of the digital IO which were spread across different positions on the backplane.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;I understand that it will need to be a case of testing for the behaviour of the property nodes but it is pretty spooky to get confusing behaviour as I observed.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;Bottom line though is that I can move forward at present and that is really great.&amp;nbsp; Thanks again for your help.&lt;/P&gt;
&lt;P&gt;Peter&lt;/P&gt;</description>
      <pubDate>Sat, 12 Jul 2008 07:33:40 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/742780#M49</guid>
      <dc:creator>Gryphon</dc:creator>
      <dc:date>2008-07-12T07:33:40Z</dc:date>
    </item>
    <item>
      <title>Re: Current Value Table (CVT)</title>
      <link>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/1069928#M358</link>
      <description>&lt;P&gt;I think when I install the &lt;A href="ftp://ftp.ni.com/pub/devzone/epd/cvt200_installer.zip" target="_blank"&gt;cvt200_installer.zip&lt;/A&gt; I am missing the &amp;lt;user.lib&amp;gt;\CVT\_compatibility\CVT Enum Read.vi. However, it seems to be included in &lt;A href="ftp://ftp.ni.com/pub/devzone/epd/cvt200_zip.zip" target="_blank"&gt;cvt200_zip.zip&lt;/A&gt;. Is there a reason the installer installs a different set of VIs? Or did I miss something?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-Nate &lt;/P&gt;</description>
      <pubDate>Wed, 10 Feb 2010 19:21:58 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/1069928#M358</guid>
      <dc:creator>wireman</dc:creator>
      <dc:date>2010-02-10T19:21:58Z</dc:date>
    </item>
    <item>
      <title>Re: Current Value Table (CVT) missing VIs</title>
      <link>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/1069931#M359</link>
      <description>&lt;P&gt;Actually, now I seem to missing &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;lt;user.lib&amp;gt;\CVT\CVT String GetLabel.vi&lt;/P&gt;&lt;P&gt;&amp;lt;user.lib&amp;gt;\CVT\CVT Double GetLabel.vi&lt;/P&gt;&lt;P&gt;&amp;lt;user.lib&amp;gt;\CVT\CVT I32 GetLabel.vi &lt;/P&gt;&lt;P&gt;&amp;lt;user.lib&amp;gt;\CVT\CVT Bool GetLabel.vi &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any idea where to get these? These are linked from the &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;C:\Program Files\National Instruments\LabVIEW 2009\user.lib\TAE\Display\TAE Format Alarm History Display.vi &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-Nate &lt;/P&gt;</description>
      <pubDate>Wed, 10 Feb 2010 19:27:20 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/1069931#M359</guid>
      <dc:creator>wireman</dc:creator>
      <dc:date>2010-02-10T19:27:20Z</dc:date>
    </item>
    <item>
      <title>Re: Current Value Table (CVT) missing VIs</title>
      <link>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/1070824#M364</link>
      <description>&lt;P&gt;The GetLabel VIs were renamed to GetDescription to be more accurate in their purpose. This change was noted in the Readme file which is included in the CVT installer, but unfortunately is not included in the ZIP distribution.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To correct the error (missing VIs) in the TAE, please replace the GetLabel VIs with the corresponding GetDescription VIs for each of the four data types. &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For the Enum datatype you do not need to make this replacement as the Enum CVT was removed from the public API and&amp;nbsp;moved to the Compatibility directory. It&amp;nbsp;includes the older GetLabel VI.&lt;/P&gt;</description>
      <pubDate>Thu, 11 Feb 2010 17:46:27 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/1070824#M364</guid>
      <dc:creator>Christian_L</dc:creator>
      <dc:date>2010-02-11T17:46:27Z</dc:date>
    </item>
    <item>
      <title>Re: Current Value Table (CVT) Save Tag List</title>
      <link>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/1071708#M365</link>
      <description>&lt;P&gt;Thanks very much!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is it possible we could have a CVT Save Tag List.vi that is analogous to the CVT Load Tag list.vi? &lt;/P&gt;</description>
      <pubDate>Fri, 12 Feb 2010 21:06:41 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/1071708#M365</guid>
      <dc:creator>wireman</dc:creator>
      <dc:date>2010-02-12T21:06:41Z</dc:date>
    </item>
    <item>
      <title>Listing the Benefits of CVT will be Useful</title>
      <link>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/1295456#M525</link>
      <description>&lt;P&gt;I can see how CVT's can be applied in a number of applications, both Windows and RT based. From a learning perspective it would be useful to list the benefits of using CVT's, compared to other methods (local/global variables is a prime candidate). This information would be very useful for developers wishing to understand why they should go to the trouble of implementing CVT's in place of 'simpler' data strategies. &lt;/P&gt;</description>
      <pubDate>Fri, 29 Oct 2010 14:11:41 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/1295456#M525</guid>
      <dc:creator>AustinManinTown</dc:creator>
      <dc:date>2010-10-29T14:11:41Z</dc:date>
    </item>
    <item>
      <title>Re: Current Value Table (CVT)</title>
      <link>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/1509452#M594</link>
      <description>&lt;P&gt;I know I am almost 3 years too late with this comment, but I feel I should throw this out there anyway so that it may help someone.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The problem Gryphon described of having an RT VI work in development but not in the compilation has been, at least&amp;nbsp;in my experience, solely due to timing issues. Running the VIs in development or in debug mode slows them down to the point of working properly; however, when they are compiled, the speed is too much and the RT processor gets jammed up.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This problem is inevitably solved by&amp;nbsp;being sure to always&amp;nbsp;including&amp;nbsp;some amount of&amp;nbsp;delay in any loop that is not extremely tight. (Yes, this includes For loops too!) Without inserting the delays, the (otherwise untimed) loop runs at full speed,&amp;nbsp;starving the processor and disrupting normal operations. Of course, this does not apply to timed loops since they already have a delay built in.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My only problems related to property nodes have been&amp;nbsp;using too many of them! Property nodes can be an extremely slow way to update things like charts, and removing charts from compiled RT programs (since you can't see them anyway) is always a good thing for the best performance. I usually have some charts in my RT apps for debug purposes (monitoring loops times for abnormal spikes, for example), but when final compile time comes I always either disable the chart updates or remove the chart altogether.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hope this helps someone out there!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-Richard&lt;/P&gt;</description>
      <pubDate>Fri, 01 Apr 2011 20:42:02 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/1509452#M594</guid>
      <dc:creator>rwunderl</dc:creator>
      <dc:date>2011-04-01T20:42:02Z</dc:date>
    </item>
    <item>
      <title>Re: Current Value Table (CVT)</title>
      <link>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/1510134#M595</link>
      <description>&lt;P&gt;Hi Richard,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for trying to help with this point. &amp;nbsp;I do have to say though that your point was not completely accurate.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There are SOME property nodes that are not supported and / or do not function in the expected way in real time targets. &amp;nbsp;The documentation these days is a lot better at spelling this out but I will give one simple example and try and explain it as best as I can.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For the example consider the common case of trying to offer the user a list of configuration files in a ring control. &amp;nbsp;The application reads a directory to see what files are available and lists them on the ring control.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The real time targets do not have a REAL front panel and so while it is possible to pull up a front panel for all the controls that are in the vi, the wya in which your interaction with this front panel behaves is not exactly the same. &amp;nbsp;Again it is important to bear in mind that what we are talking about here is connecting a remote front panel in a browser to a deployed executable running on a real time target. &amp;nbsp;This is not the same as clicking run on a vi which is open in labview when connected to a real time target (crio, cfp etc).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Simple example is you can pull up a remote front pane which has a ring control on it. &amp;nbsp;If you power up you device and programatically assign text items to the ring control, this will execute without any errors. &amp;nbsp;If however you now (after the device has executed this code assiginig text to the ring control) fire up a browser and view the ring control, the ring control will be empty. &amp;nbsp;I am not talking about items that were put in in edit mode in the vi in labview. &amp;nbsp;I am talking about assigning text items using the property node of the ring control.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you have code that tries to read the selected item in the ring control and then tries to use the string item that is associated with the selection, the code will come back with an empty string because the front panel came into existence AFTER the coder that assigned the text values executed on the PHANTOM front panel. &amp;nbsp;This phantom front panel allows code that tries to read and write property nodes to work with out throwing errors but the actual behaviour is very dependent on whether a front panel was open at the time.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So back to our empty ring control. &amp;nbsp;If you have a button that causes the execution of the code that assigns text values to the ring control again, you will see the ring control values updated as expected. &amp;nbsp;This happens because the browser front panel instance takes on the phantom front panel and starts to behave a little more like you expect. You will now be able to use the enumerated selection and use the string value to execute code as you expect. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you now close the browser window and fire up a remote front panel on another machine, the ring control will be empty again. &amp;nbsp;What happened? &amp;nbsp;The previous instance of the remote front panel data was lost when the browser session was closed. &amp;nbsp;The PHANTOM front panel became again the only front panel and it does not store data in the way you expect (for some properties). &amp;nbsp;The new front panel is again empty until you click the button to repopulate the ring programatically.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;OK, lots of words but I hope it helps reinforce the point. &amp;nbsp;When you use remote front panels or are running on real time targets, be very careful to test the functionality that depends on property nodes. &amp;nbsp;Check the documentation and DO NOT assume that things that work on a PC or in debug mode will automatically work when run as embedded executables. &amp;nbsp;It is still a fantastic enabling technology but do take the time to test before deploying (or doing important demos). &amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Peace to all&lt;/P&gt;
&lt;P&gt;Peter&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 04 Apr 2011 01:24:45 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/1510134#M595</guid>
      <dc:creator>Gryphon</dc:creator>
      <dc:date>2011-04-04T01:24:45Z</dc:date>
    </item>
    <item>
      <title>CVT Core</title>
      <link>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/1571622#M633</link>
      <description>&lt;P&gt;Would it not be better to sort the tag list and perform a binary (getindex) search? The way the table is built now, frequent access to the table will be much slower than it could have been. In many cases it is even quicker to do a sort, and then a binary search -&amp;nbsp;than it is to run&amp;nbsp;the current sequential search.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;People will adopt this component very quickly (because it is a great concept) so it should be as optimized as possible, otherwise people might get into trouble&amp;nbsp;late in the development cycle&amp;nbsp;due to the performance with large tables.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;(Using variant attribues to store the values could be an alternative as these already have such optimized search functionality in-built...- And you could support alternative data types with variants as well, but that brings in other overhead.)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 24 May 2011 10:46:51 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Components/Current-Value-Table-CVT/m-p/1571622#M633</guid>
      <dc:creator>Mads</dc:creator>
      <dc:date>2011-05-24T10:46:51Z</dc:date>
    </item>
  </channel>
</rss>

