I have a program (CR206, OS v10) with a public variable whose name has exactly 16 characters. Program compiles fine and runs fine, but if I try to update that variable with Device Configuration Utility or PC200W or LoggerNet, it fails and reverts back to the original value. PC200W and LoggerNet give the following message
"Unable to set the value. An invalid table name was specified."
Device Config doesn't give any error message.
If I change the variable name to have have 15 characters, everything works as it should. So, despite the fact that the error message leads me to believe that the problem is with a table name, the problem really is with the length of the variable name.
I tested this in a very simple program as well with just two variables and I got the same results.
I haven't tested with other OS versions.
Thank you for this report. Are you using unit assignments with that public variable? There was a recent bug fix for the CR200X with variables at the maximum character length of 16 and using a units assignment. This is not yet implemented in the CR206. You are correct that the solution is to use a 15 character variable name.
In neither of the programs that I tested this did I use unit assignments. The simple program I tested it in is below and I still had the problem.
Public batt_volt
Public canalstageoffset
DataTable (Test,1,1000)
DataInterval (0,15,min)
Minimum (1,batt_volt,0,0)
Sample (1,canalstageoffset)
EndTable
BeginProg
Scan (5,Sec)
Battery (batt_volt)
CallTable Test
NextScan
EndProg
Thank you for the program. This is an OS issue. It is fixed in a soon-to-be-released CR200X OS, but we are not close to releasing a CR206 OS (since we replaced the CR206 with the CR206X). Thats not say say that it cannot be updated in the future. In the meantime, is using a 15 character variable sufficient for your needs?
I can definitely deal with 15-character variable names.
I mainly just wanted to put it out on the forum in case someone else was dealing with the same issue and had trouble spotting the problem like I did at first.