Files
x03da/script/monitoring.py
2016-11-04 16:05:50 +01:00

43 lines
1.3 KiB
Python

print "Monitoring"
if controller.state == State.Ready and Scienta.state.isInitialized():
scientaCurrentImageCount = Scienta.getCurrentImageCount()
_scientaRestart = False
if scientaCurrentImageCount>0:
#Criteria is: currentImageCount decreated
if globals().has_key("scientaLastImageCount"):
if scientaCurrentImageCount < scientaLastImageCount:
_scientaRestart = True
else:
#Criteria: first communication after timeout
retries = 3
for i in range(retries):
try:
Scienta.getImageCounter().read()
break
except:
print "Com failure: retrying"
pass
if i < retries-1:
#Communication ok
print "Communication ok"
if globals().has_key("scientaTimeOut"):
if scientaTimeOut:
_scientaRestart = True
scientaTimeOut = False
else:
print "Scienta timeout"
scientaTimeOut = True
if _scientaRestart:
print "Restarting Scienta..."
Scienta.initialize()
print "Finished Scienta restart..."
scientaLastImageCount = scientaCurrentImageCount