when running the MC Tank Demo HMI NavigationEngine Example, which uses the CCC I get the following error-message on the client side:
"Error -8701 occurred at CVT_Bool_TagList: Tag is not initialized.
This error code is undefined. No one has provided a description for this code, or you might have wired a number that is not an error code to the error code input."
Any ideas what's going wrong???
Can you be more specific where this error is generated. This error is coming from the CVT (Current Value Table) and indicates that somewhere the application is trying to read or write a tag in the CVT which has not been initialized. (The CVT is used inside the CCC as well as the TAE and other VIs in this example.) All of the CVT tags are initialized in the main VI based on a list of tags read from the configuration file.
Can you dig into the VI a bit more and find where specifically the error is generated and what the name of the tag is that the application is trying to read?
One of the changes we are planning for the CVT to be published in a couple of months is to provide more detailed error information which will identify the missing tag name in this type of situation.
|Any attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system, or for |
use in hazardous environments. You assume all risks for use of the Code, and use of the Code is subject to the Sample Code License.
Thank you for the quick reply. The error occurs within the CCC VI for reading tags on the client side when it tries to read the status of the heater in that example. I probed the Name of the Tag inside the CCC VI and inside the CVT_Binary_Tag_List.vi. Interestingly on some occasions the CCC side probe says "Heater Switch" while the CVT side, which receives this value, delivers only "Heater" in the probe... This creates the error. Some kind of strange...
I'm using the CVT to read from Compact RIO modules and it works really well. However, I have not been successful writing to the output module. I suspect I'm making a simple mistake. Just to let you know, I have configured the AO-00 tags on both host and target in the tag editor to write and the AI-00 tags on host and target to read. Can someone spot my mistake and tell me what it is?
Here is a snippet of the code on the target:
I am using CVT double read on port AI0 to put the data into the tag AI-00. And CVT double write on AO0 from tag AO-00.
On the Host VI, I've got this:
CVT double read from CVT tag AI-00 to a double field on the front panel (numeric). CVT double write from double field on the front panel (numeric3) to the CVT tag AO-00.
Again, reading from AI works, writing to AO does not and I have configured the AO-00 tags on both host and target in the tag editor to write and the AI-00 tags on host and target to read. How can 1 work and not the other?
I've tried to implement the architecture from the Sample Referecence Application: PackML MAchine control Reference Application.
I have got these system:
LabVIEW 2009 with RT,TOUCH and FPGA extension
The application don't work because there are problem with CCC library.
the communication work fine from TPC to cRIO ( write TAG) but it is impossible to read TAGS from CRIO
The TAG is configured in this fragment:
<hmi> <Name>TPC-2106T</Name> <Description></Description> <TagFolder> <Name>Machine Status</Name> <Description></Description> <NetworkTag> <Name>TemperatureSolution</Name> <Description></Description> <DataType>Float (Double)</DataType> <Default>0.000000</Default> <Log>False</Log> <BindToTag>CRIO-9074\Machine Status\TemperatureSolution</BindToTag> <ReadTWriteF>True</ReadTWriteF> </NetworkTag> </TagFolder> </hmi>
The controller section in the xml file is:
<controller> <Name>CRIO-9074</Name> <Description></Description> <TagFolder> <Name>Machine Status</Name> <Description></Description> <LocalTag> <Name>TemperatureSolution</Name> <Description></Description> <DataType>Float (Double)</DataType> <Default>0.000000</Default> <Log>False</Log> </LocalTag> </TagFolder> </controller>
The problem is in the block CCCRead.
To verify the mechanism I tried to remove the block CCCWrite and the TAG in write mode didn't work.
I've tried to debug the application in TPC windows CE but the data read is alway null
This sounds like the tags aren't configured properly. Download the tag configuration editor (TCE), open your tag configuration file and view your tag's properties on there. You must have an HMI version on the local PC, and a target version on the RIO side (separately saved in the TCE). Verify all the tag properties. Make sure you configure the tag with read for tags you will be reading from the target and write for tags you will be sending to the target.
Let me know if this helps,
I had to modify the CCC Client Write.vi and CCC Client Read.vi to allow for a "forced init." The way was it was written it only initialized (sent the controller the list of indices) on first call. I allow for the controller to disconnect and reconnect while the HMI code stays running. So when the HMI reconnected with the cRIO it would not resend the list of indices.
Here is a screen shot of the change I made.
I've installed the TCE and I've verified the xml and I copied the file on Touch Panel and on cRIO 9074 but the problem persist.
So I leaved this framework for a simple implementation with network shared variable because I have to develop the prototype in some days.
I like the CCC architecture but in my opinion there is some problem on the pocket pc 5 platform for the HMI host.
I had to make the same modification as StevePVI did above, as I stated in the CVT forum post, but for different reasons. I was leaving the server running and restarting the CCC Client with a different set of tags (a different section of the Tag Configuration). This required a reinitialization of the CCC Client so that it would send all of the data properly. This change should definitely be implemented in any future revision.