User Message Phase

Sepasoft MES Module Suite

User Message Phase

Use the Message Phase to expose messages to the operator

Acknowledgement can be set to be required.

    • Requires Acknowledgement = False: subsequent Transition controls the flow to the next step.
    • Requires Acknowledgement = True: User Message Phase State runs until the message is acknowledged. A User Prompt Phase and the State runs and automatically is acknowledged when the user enters a value.

    Parameters

    Message

    Message exposed to the operator.

    Calculation supported. Calculation added when building a phase based on this User message phase.

    Calculation values entered in the Phase Manager always override any value entered in the Recipe Editor.

    Message_Date_TimeDate stamp of message display
    Message_Requires_AckTrue/False to require the acknowledgement of a message.
    Message_Ack_ByWho acknowledged the message by Ignition user roles.
    Message_Ack_Date_TimeTime stamp of when the message was acknowledged.
    Message_Ack_ConfirmConfirmation flag that the message was acknowledged.

    Examples

    Get Messages by Unit Path

    The use case for this script function is when an operator oversees multiple Units that can be running various batch recipes. It will return all messages for Batch Recipes that are active for the specified Unit(s).

    Python
    msgList = system.mes.batch.queue.getMessages('Enterprise\Site\Area\Process Cell\Unit ?')
    for m in msgList:
    	print(m)

    The unit path can contain * for multiple character wildcard or ? for single character wildcard.

    The unit path can contain multiple paths.
    For example:

    'Enterprise\Site\Area\Process Cell\Unit 1, Enterprise\Site\Area\Process Cell\Unit 2'
    

    Get Messages by Batch Recipe

    The use case for this script function is when an operator oversees or is just interested in viewing messages for a single batch recipe at a time. It will return all the messages for a single Batch Recipe that is active.

    Python
    qList = system.mes.batch.queue.getEntries(0, 1000, '')
    for q in qList:
    	msgList = system.mes.batch.queue.getMessages(q)
    	for m in msgList:
    		print(m)


    Acknowledge a Message

    Python
    qList = system.mes.batch.queue.getEntries(0, 1000, '')
    for q in qList:
    	msgList = system.mes.batch.queue.getMessages(q)
    	for m in msgList:
    		if m.getStepName() == 'O6' and not m.hasAckBy():
    			m.setAckBy('Tom')
    			system.mes.batch.queue.acknowledgeMessage(m)
    			break


    Sepasoft MES Module Suite