LabVIEW-DCAF / CVTModule

Tag bus module interface for transferring data to or from CVT
https://decibel.ni.com/content/projects/reference-designs-for-distributed-control-systems
Other
7 stars 4 forks source link

CVT Configuration Can Be Corrupted By Renaming Tags #6

Closed Beazurt closed 9 years ago

Beazurt commented 9 years ago

Steps to Reproduce:

  1. Create a tag.
  2. Add the CVT module and add that tag to the module.
  3. Rename the tag and create a second tag with the original name of the first tag.
  4. Try to add both tags back to to the CVT module.
Beazurt commented 9 years ago

Looks like we Generate Table VI in the Refresh event tries to rename its local channels to reflect the tag name change, but doesn't do anything with the mappings in the engine.

Should be able to fix this pretty easy, but there are two approaches:

  1. Should we delete a CVT channel if it detects a change to the Tag?
  2. Should we try to make the channel and mappings reflect the changes that occurred in the Tag?
smithed commented 9 years ago

I intended the direct- map ones like the cvt to fix themselves. It should look at every channel, ask the engine what that exact channel is mapped to, and then apply any changes. Since we ask the engine for the mapping this should handle the situation you listed, the original channel will be renamed before you can add the second.

smithed commented 9 years ago

I see what you mean, this will happen to all of them

Beazurt commented 9 years ago

Just tested this again and it looks like its still broken. I think the mappings in the engine need to be updated with changes to the channel name in the module.

smithed commented 9 years ago

lol, its temporarily fixed..unfortunately it doesn't save those changes

Beazurt commented 9 years ago

This last change seemed to break the module in the UI. It now shows all tags as writable, and sometimes doesn't show any tags in the UI list at all.