[Bug-8454]Vision Cylindrical Tank - Cant Change Value Without Binding to Tag and Changing Tags Value

Hi Guys,

I am trying to get more engineers up to speed with developing using Ignition's Vision.

The first thing a new guy tried was placing a Cylindrical Tank component on a window and setup a set of buttons to change the tanks level (0, 10, 20, ...) using actionPerformed -> Set Property ->
Set this property: {$\.Cylindrical Tank.value}
To this value: 10.0

Unfortunately this produces an error:

Traceback (most recent call last):
File "event:actionPerformed", line 7, in
AttributeError: read-only attr: value

Ignition v8.0.11 (b2020041411)
Java: Azul Systems, Inc. 11.0.6

I showed him that this could be achieved by creating a memory tag and binding the tanks value property to it and use a 'Set Tag Value' script instead but I was surprised that he wasn't able to do it the way he originally tried... Anyone know why?

Itā€™s actually a bug thatā€™s been around for several years that no one outside the company has brought up, so it just hasnā€™t been fixed. Thereā€™s an error with the Cylindrical Tank in that it believes the value property is read-only (or maybe ā€œprivateā€ and therefore canā€™t be accessed - itā€™s not clear from the ticket).

You can actually get it to work if you use the ā€œsetterā€ for the property within your onActionPerformed script:

event.source.parent.getComponent('Cylindrical Tank').setValue(10)
2 Likes

hi Dion

That was not done because Cylindrical Tank value is only read the value. we can't write value in it. so you was already said it with memory tag that will make the value write.