Skip to content

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)