I have a function in the project script where I am trying to change the value of a parameter on a popup view. Its related to visibility for a label. I have a button which runs the function and its supposed to change the visibility on the label. Using the system.util.logger I have confirmed the correct value is being determined based on the script, however it is not actually changing the visibility of the label.
For the view I have a parameter called LblNoGoVis and have it bidirectional. I am defining that parameter as lblNoGoVis in the call to the script and including that as a parameter that is passed into the function.
Here is the script I am calling.
def download_to_cell(cell_id,new_recipe,label_vis):
"""Check if its a new recipe. If so check for 9999 in memory cells
Param:
cell_id (str): Id designation of cell
new_recipe (bool): Is this new recipe
label_vis: visibility of message telling operator to edit recipe
"""
myBad = 0
logger = system.util.getLogger("myLogger")
if new_recipe:
logger.info("New Recipe")
counter = 1
while counter < 36:
#counterToString = counter.toString()
memTag = '[{}]/Cell/Recipe/Memory/{}'.format(cell_id,str(counter))
q1 = system.tag.read(memTag)
memVal = q1.value
if memVal == 9999:
logger.info("Value is 9999")
myBad = 1
label_vis = "true"
logger.info(label_vis)
break
else:
counter = counter + 1
if myBad == 0:
value = 1
label_vis = "false"
logger.info(label_vis)
myTag = '[{}]/Cell/Control/Recipe DownLoad/Request'.format(cell_id)
system.tag.write(myTag, value)
system.perspective.navigate(page = '/Machine')
The logger.info(label_vis) is correctly giving me either true or false based on the function but it is not changing the actual parameter on the view. I do have the visibility of the label binded to the view parameter correctly. What am I doing wrong?