SAT9/.resources/6547187772d7c4629b90421e1653dad1fdf0dc7f451e07ab6f749bd4a8ed8ffc

55 lines
1.5 KiB
Plaintext

import time
def close_websckt():
"""
This function disconnects the web socket and exits any loops.
Should be called when a project is saved or modified to stop
multiple threads running.
Args:
None
Returns:
N/A
Raises:
N/A
"""
fc = system.tag.readBlocking(["Configuration/FC"])
fc_value = fc[0].value
tag_provider = "[%s_SCADA_TAG_PROVIDER]" % (fc_value)
system.tag.writeBlocking([tag_provider + "System/close_socket"],[0])
running = system.util.getGlobals().get(fc_value, {}).get("wbsckt_running", 0)
if running:
system.util.getGlobals()[fc_value]["wbsckt_running"] = False
system.tag.writeBlocking(tag_provider + "System/wbsckt_running", [0])
time.sleep(2)
system.tag.writeBlocking([tag_provider + "System/close_socket"],[1])
logger = system.util.getLogger("%s-WebSocket-Restart" % (fc))
logger.info("Web-Socket closed due to restart, AWS.wbsckt_abort.close_websckt()")
def check_web_socket():
"""
This function checks to see if the "System/close_socket" tag is active
(boolean on) or inactive (boolean off). If the tag is active the web
socket will run, if it is inactive then the web socket will stop running.
This function is called from the main web socket gateway event.
Used to exit the web socket gateway event.
Args:
None
Returns:
True or False
Raises:
N/A
"""
request_to_close = system.tag.readBlocking(["System/close_socket"])
request_to_close_val = request_to_close[0].value
if not request_to_close_val:
return True
else:
return False