Waiting for a module

<< Click to Display Table of Contents >>

Navigation:  »No topics above this level«

Waiting for a module

mapp Services V5.16

This section explains how to find out which module to wait for during a state change.

In order to use this function, the modules must communicate with each other in the synchronized state.

Example:

blocked_starved_explanation

The machine was divided into 5 different modules. "Infeed" is assigned to the front part of the machine, whereas "Outfeed" refers to the rear part. Module "Infeed" contains two subordinate modules called "Conveyor" and "Pusher".

To start the production process, command "Start" is triggered in the main module. This command will be forwarded to all subordinate modules. The modules then change to state "Starting". In this state, a module completes all steps that must be executed before production starts. In "Conveyor", the positioning of the conveyor belt is checked and in "Infeed", the correct recipe is loaded. When all steps have been processed, command "StateComplete" is started on the individual modules. This causes the machine unit to change from state "Starting" to state "Execute". The production is now started.

The steps executed in state "Starting" may vary in time. Some modules are faster while others need to make more time-consuming preparations.

Function "Waiting for module" can be used to find out which module is currently being waited for. For this, a process variable of data type MpPackMLModulePVType is specified under "Waiting for module" in the MpPackMLCore configuration.

waiting_for_module_structure

While waiting for a module during a state change, the information of the module is sent to the process variable in "Waiting for module". The process variable returns the name of the module and its current state. As soon as the module changes the state, the information of process variable "Waiting for module" is updated. If the respective module contains modules that are still below it, the module that is at the bottom of the hierarchy is displayed.

If multiple modules are waited for at the same time, the module with the task of the highest priority is displayed on the process variable. As soon as the module leaves the state, the information on the process variable can be updated again. The next module that is currently being waited for can be displayed, etc.

If all the modules are in the desired state, the default values of the process variable are displayed.