Shift decimal place Numeric Text Field to PLC

Hi all, upgrading a plant from Wonderware to Igntion HMI. The PLC (Schneider Quantum) was programmed using Integers for all values, so any numbers that have decimal place(s) are off by factors from what you see on the HMI (ie. a temp reading on the HMI of 45.2 is written to the PLC as 452). If there are 2 decimal places, it will 4520 in the PLC.

The HMI numbers look ‘normal’ to the operator and numbers entered are converted to match the PLC by Wonderware formatting. I can’t find a way to duplicate this in Ignition. Well I have found a way through scripting, but it is a lot of work (a lot of tags), and hoping there is a better way using decimal formatting or something else?
Thanks!!!

Try out the scaling feature in the tag properties.

https://docs.inductiveautomation.com/display/DOC79/Tag+Scaling+Properties

1 Like

Depending on if you know the range those values could have scaling be an option.

Another potential route could be a derived tag. You can define an expression to convert the value and have a separate write back function if that is needed.

https://docs.inductiveautomation.com/display/DOC79/Types+of+Tags#TypesofTags-DerivedTags

Thanks, derived tags could work, but I’d rather not make hundreds of them. I’m hoping there is something I can do with the Numeric Text field component in my template. Right now I have a script that takes the operator entered value and multiplies it (by 10, 100, or 1000) and writes that to the PLC. But I am thinking it could be problematic.

If your just offsetting the value the easiest way is in the tag using scaling like Tim mentioned. The screen shot below is from 7.9 but you can do the same in 8.0 and it would do what you described without creating extra tags.

1 Like

Scaling would be the right answer - you’ll never have to deal with “raw” values unless you go out of your way to do raw OPC writes instead of dealing with Ignition tags.

Thanks for all the prompt responses. I’ll play around with scaling. Still have a lot of tags to change, but hopefully I can do group changes.

One more question! If you choose No_Clamp, what happens if any values are outside the highs and lows?

It keeps scaling outside of the range typed in when None is selected for clamp mode.

1 Like