UserApplicationMonitoring
A sample that displays various information about MORPHEE (assuming that channels named "time", "Secu1", "Secu2" and "Secu3" exist):
from restmapi.services import MAPIServices
with MAPIServices.instance.get_service("UserApplicationMonitoring") as uam:
status_names = ["Start", "Security Red Level", "Stop", "Running", "Security Orange level",
"Manual mode", "Suspended", "Error", "Bench mode loading/unloading",
"In mode Initializing cycle", "In mode stopping cycle"]
mode_names = ["bench", "campaign", "test"]
print(f"MORPHEE status: {status_names[uam.get_status() -1]}")
print(f"MORPHEE mode: {mode_names[uam.get_mode()]}")
# comment next line if time channel does not exist or change the channel name
print(f"time channel value: {uam.get_channel_value('time')}")
# comment next line if Secu1; Secu2, Secu3 channel do not exist or change their name
print(f"channel values (Secu1, Secu2, Secu3): {uam.get_channels_values(['Secu1', 'Secu2', 'Secu3'])}")
print(f"First 10 quantity names: {uam.get_quantities(0, 10)}")
print(f"First quantity properties: {uam.get_quantities_properties(0, 1)[0]}")
A sample that connect MORPHEE and displays MORPHEE events while 300 seconds:
from restmapi.services import MAPIServices
import time
def on_morphee_event(instance, name, params):
print(f"MORPHEE Event {name} raised from instance {instance} with parameters {params}")
with MAPIServices.instance.get_service("UserApplicationMonitoring") as uam:
uam.init_signalr()
uam.register_callback("$CampaignLoading", on_morphee_event);
uam.register_callback("$TestLoading", on_morphee_event);
uam.register_callback("$BenchStarted", on_morphee_event);
uam.register_callback("$CampaignStarted", on_morphee_event);
uam.register_callback("$TestStarted", on_morphee_event);
uam.register_callback("$CampaignTerminated", on_morphee_event);
uam.register_callback("$TestTerminated", on_morphee_event);
uam.register_callback("$CampaignInterrupted", on_morphee_event);
uam.register_callback("$TestInterrupted", on_morphee_event);
uam.register_callback("$CampaignLoadingError", on_morphee_event);
uam.register_callback("$TestLoadingError", on_morphee_event);
uam.register_callback("$UserChanged", on_morphee_event);
uam.register_callback("$RedAlarmRaised", on_morphee_event);
uam.register_callback("$OrangeAlarmRaised", on_morphee_event);
uam.register_callback("$YellowAlarmRaised", on_morphee_event);
uam.register_callback("$AlarmStateChanged", on_morphee_event);
uam.register_callback("$BenchResumed", on_morphee_event);
uam.register_callback("$CampaignResumed", on_morphee_event);
uam.register_callback("$TestResumed", on_morphee_event);
uam.register_callback("$FileClosed", on_morphee_event);
uam.register_callback("$InternalError", on_morphee_event);
uam.register_callback("$BenchTerminated", on_morphee_event);
uam.register_callback("$BenchInterrupted", on_morphee_event);
time.sleep(300)