Analog values scaled without warning when moving from one PC to another

Hi everyone,
I have an old system 7.2.9 wich I’m moving from a Win7 PC to a Win10 (exactly same application, just moving license from one to the other computers.
Most of my tags are acquired by a comm driver developed by us to communicate by serial and tcp ports using UDP & TCP Drivers module.
Details about comm protocol with these devices are not important just scaled values we got in Ignition’s screens when running backup in Win10 PC.
At the moment we haven’t move license from Win7 to Win10 Ignition so running both PC’s is posible during 2hr demo mode from the one not yet licensed.
At the end we got a tag with a value of 9.61 in Win7 but 9,610,000 value in Win10
Ignition running in Win10 is an unmodified backup from Win7 so we don’t know where that scale factor comes from… same history with comm drivers for our devices
Tool found at: [Configuration] [OPC Connections] [Quick Client] shows same value (9.61) at both PCs, so we are worried about a scale factor in beetween UDP/TCP Driver module and Ignition’s HMI at Win10 PC.
Hope this msg is clear enough about the problem we have and somebody could help to just get same application that is in Win7 migrated to Win10 without any versión upgrade.

If you look at the tag in the Ignition Designer tag browser, does it show the expected value on both PCs? Does one of them show different scaling than the other if you edit the tag? And is it one tag or many tags that are doing this?

Hi Witman,
Thanks for your reply to this matter.

  1. Ignition Designer’s Tag browser shows correct value on Win7 but wrong on Win10.

  2. Tags have same scaling in both PCs.

  3. Two groups of tags comming from different devices (but that use the same module (UDP/TCP Driver module) to get tags to Ignition have same problem. I think same will happend with rest of our tags.

I see correct values at our propietary comm driver on both PCs

I also see correct values at Quick Client Tool inside Ingnitions Gateway on both PCs.

Problem happens when tag values are transfered from UDP/TCP Driver module to Ignition HMI screens (Win10 PC only)

As I said before, I did a backup on Win7 PC and I’m using that to restore application on Win10 PC without any changes… that’s the reason I’m worried about this.

Are both machines using the same locale? Your issue sounds like it might be caused by a different decimal separator setting.

1 Like

Hi chi
Thanks for your interest in this matter
I’m not sure to understand… are you referring to amount of decimal places for tag’s configuration?
I have exactly same configuration for tags on both PCs.
I also said that tag values are correct when I look at Quick Client Tool on both PCs.
Everithing is the same because I’m using a backup form Win7 PC in Win10 PC… the ONLY thig that I had to change was IP address on Win10 PC

I’m referring to the locale setting of the operating system. When a comma is used instead of a dot as decimal separator, number parsing may have unexpected results e.g. 1,235.99 vs. 1235,99

Just a suggestion. Try running system.util. Setlocale() on win10 pc. Use the locale code from win 7 pc

Hi chi,
Yes, I have same settings on both PCs… that’s the reason I’m worried about it.

Please show the code that does this part, and a real sample of the data it works with.

Hi tordvd,
Both PCs have seme settings.
I have correct values on tag values when I look at Quick Client Tool

I’m not on site today.
Tomorrow I’ll send some examples

Hi everyone,
Attached are screenshots of tag editing forms for one of the tags that have problem I’m talking about.

Also, I’m attaching a screenshot of OPC Quick Client tool inside the Gateway and of a Ignition’s HMI screen.

Tag that shows a value of 25.42 on OPC Quick Client tool is the one with a value of 25,430,000 (“Temp proceso” on Ignition’s HMI screen)
I’ve checked adjustments on locale settings as was suggested but both PC’s have same settings on that.
These screenshots are from the Win10 PC (as you all can see, is the one running in Demo mode)… this scaling doesn’t happend on Win7 PC.
I don’t have scripts on processing tag values once they are “inside” Ignition, so values on HMI screen should be the same as in OPC Quick Client tool… on the Win7 PC they are the same.

Thanks again for all your help.

You are directly coercing the string from the TCP driver to a floating point tag. This happens in the gateway context, and there is no control anywhere in Ignition for background string-to-float coercion. The PC undoubtedly was originally installed with a European locale, so the background process that the gateway runs in has that locale. The full stop (U.S. “decimal point”) is interpreted as a thousands separator in such case, and the trailing zeroes are therefore not interpreted as fractions.

You must first bring the value into a string tag, then use an float expression tag to manually force interpretation of that string with U.S. locale. If the toFloat() expression function also uses the background locale, you will have to use runScript and custom python to reliably extract the number.

Another possibility would be to use an additional java parameter in the ignition.conf file to set the gateway locale for java.

(Changing the locale for a logged in user at the gateway computer does not affect the locale a background service uses on that computer.)