I’m trying to scale a timer preset from a SLC 5/05. It is in hundredths of seconds, so an integer value in the PLC of 272 represents 2.72 seconds. I’m using the Ignition OPC-UA driver.
Raw 0-1000
Scaled 0-10
If the value in PLC is 272, Ignition reads 3.00 into my tag.
If I write a value of 2.72 to the tag, Ignition writes an integer value of 300 to the PLC register.
Tag is currently a Float4.
Am I doing something wrong?
Update -
I think I’ve found the problem. I originally built tag as INT2. I built a new tag as a Float4 addressing the same PLC register, and both tags started working.
Sorry, i jumped the gun on posting this as an issue at all. It was user error. I had a bi-directional binding to the integer value property on a numeric text field for the tag. That was converting each value I read or wrote to an integer.
I had copied the component and reused it. I later changed my tag type from INT2 to Float4 and applied the scaling, but it didn’t occur to me that I needed to change the binding to bind it to the float value property.
So - just a newbie issue, but maybe it’ll help someone else avoid the same trouble.