It's been a couple of days but I wanted to let you know that I have been able to confirm this method works as well, however I do not seem to have the same luck as you with combining multiple commands. I used a modification of my script as well as yours to get:
def valueChanged(tag, tagPath, previousValue, currentValue, initialChange, missedEvents):
ESC='1B'.decode('hex') #ESC
EOT='04'.decode('hex') #Endo of Transmission
#pathToTagA="[.]RequestCommandtoByteArray"
#pathToTagB="[.]7000/WritableBytes"
pathToTagB="[.]7000/Writable"
#tagAValue=system.tag.readBlocking(pathToTagA)
#tageAValue=ESC+'31433F'+EOT
#system.tag.writeBlocking(pathToTagB, tagAValue)
msg = ESC + '1C?' + ESC + 'y?' + EOT
system.tag.writeBlocking(pathToTagB, [msg])
which returns:
1C? and y? both work independently but combining them doesn't seem to work. I also tried:
def valueChanged(tag, tagPath, previousValue, currentValue, initialChange, missedEvents):
ESC='1B'.decode('hex') #ESC
EOT='04'.decode('hex') #Endo of Transmission
pathToTagA="[.]7000/Message"
pathToTagB="[.]7000/Writable"
pathToTagC="[.]Msg1"
pathToTagD="[.]Msg2"
tagAValue=system.tag.readBlocking(pathToTagA)
ret1 = ESC + '1C?' + EOT
system.tag.writeBlocking(pathToTagB, [ret1])
sytem.tag.writeBlocking(pathToTagC,tagAValue)
ret2=ESC + 'y?' + EOT
system.tag.writeBlocking(pathToTagB, [ret2])
sytem.tag.writeBlocking(pathToTagD,tagAValue)
Which returned:
Right now I am not sure which of the methods I will use, but thank you for helping me understand alternative methods.