Problems mapping disk utilization to PLC tag

Version 8.0.2, and AB Control Logix.
I’m trying to communicate the value of this system disk utilization tag to my PLC program. [System]Gateway/Performance/Disk Utilization

Of course it seems like a simple task, but for some reason this is giving me a lot of trouble. I have a PLC tag named “ComputerStorage” of type: LReal, and I dragged that from the OPC Browser into my Ignition Tag Browser. This new ignition tag is type: Double, and uses the default scan class of 1,000ms.

A gateway event timer script (below) runs every minute to write the disk utilization value to the PLC.

DiskUtil = system.tag.read("[System]Gateway/Performance/Disk Utilization")
newDiskUtil = DiskUtil.value*100.00
system.tag.writeAsync(["[default]New Application Tags/ComputerStorage"],[newDiskUtil])
system.tag.writeAsync(["[default]New Application Tags/bkDebugDouble"],[newDiskUtil])

After the script runs, the value of both “ComputerStorage” and “bkDebugDouble” update and are overwritten with the correct value. But after 30 sec or so, the “ComputerStorage” tag (only) disregards that write and displays a new value (seemingly randomly) of between 60.xx and 90.xx. Its value changes every 10 seconds or so, until the script runs again and writes it back to the value it should be.

Anyone know why this is happening? The debug tag that I added “bkDebugDouble” seems to hold its value and doesn’t bounce around.

You may have some code in your PLC overwriting the “ComputerStorage” tag…

Cheers, Sean

1 Like

So the easy solution was just to delete the tag in the PLC and in the Ignition tag tree and create new ones, and cross referencing that tag in the PLC didn’t reveal anything. But anyway, there seems to be some strange behavior in the OPC Server’s memory space.