Ignition V7.0.5 (b4679) quality attribute is write only?

I have been trying to use the system.opc.readValue() function
I have successfully read a tag but when I try to reference the “quality” attribute I get

[code]AttributeError: write-only attr: quality

at org.python.core.Py.AttributeError(Py.java)
at org.python.core.PyBeanProperty._doget(PyBeanProperty.java)
at org.python.core.PyObject._doget(PyObject.java)
at org.python.core.PyInstance.__findattr__(PyInstance.java)
at org.python.core.PyInstance.__findattr__(PyInstance.java)
at org.python.core.PyObject.__getattr__(PyObject.java)
at org.python.pycode._pyx275.f$0(<TagChangeScript:ForceOnTop>:4)
at org.python.pycode._pyx275.call_function(<TagChangeScript:ForceOnTop>)
at org.python.core.PyTableCode.call(PyTableCode.java)
at org.python.core.PyCode.call(PyCode.java)
at org.python.core.Py.runCode(Py.java)
at com.inductiveautomation.ignition.common.script.ScriptManager.runCode(ScriptManager.java:367)
at com.inductiveautomation.ignition.common.script.TagChangeScriptManager$TagChangeScriptHandler.tagChanged(TagChangeScriptManager.java:118)
at com.inductiveautomation.ignition.client.sqltags.impl.ChangeNotifier.run(ChangeNotifier.java:37)
at com.inductiveautomation.ignition.client.sqltags.impl.db.DatasourceTagManager$BatchNotifier.run(DatasourceTagManager.java:765)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

[/code]

This is my “test” code

qv = system.opc.readValue("IgnitionOPCUA","[ControlLogixPLC]Global.Tag_To_Be_Read")
#these work
print qv.value
print qv.timestamp
#these cause the error
print qv.quality
print qv.quality.isGood()

Is there something I’m missing?

This is due to a subtle quirk in how Python is looking at that attribute. Try “qv.getQuality()” instead.

Thanks Carl, This works :slight_smile:
The manual doesn’t mention anything about getQuality() - it may need to be added :wink:

Peter