Property change

I have success in writing a script which writes a string on a label if a condition is true, BUT when the tag value changes, again, the string does not change according to the script but it remains static. WHY ?

value = system.tag.read("Depuratore/Gestione Motori/MXR VASCA 2/Sel_Modo_Aut_0_Man_V2").value
if value== 0:
	event.source.text = "STOP"
elif value == 1:
	event.source.text = "MANUALE"
else: event.source.text = "AUTOMATICO"

it change once !

Where did you put this script? In other words, what makes it run when the tag changes value?
Typically, I would bind the tag to a custom property (probably of the label in this case). Then use a property change event on that property name to run that script.
Or better yet, use the switch() expression function.