Communication in asynchronous state

<< Click to Display Table of Contents >>

Navigation:  »No topics above this level«

Communication in asynchronous state

mapp Services V5.16

A module operates in asynchronous state if the command for a state change is controlled by the module itself. The module no longer follows the commands of the higher-level module or the main module automatically. It can operate autonomously.

Whether the module works in the synchronous or asynchronous state depends on the parameters on input "Parameters" of function block MpPackMLModule. A variable of data type MpPackMLModuleParType must be appended to "Parameters". The data type consists of the following structure:

modulepartype_description

This means that this parameter can be used to determine whether commands on the module should be overwritten by the higher-level module and whether command "Abort" can be sent from a module to the higher-level module. For more information about command "Abort" in synchronized state, see here. The behavior of command "Abort" in the asynchronous state is explained in section "Abort command".

By default, all these parameters are set to TRUE. This means that a module always operates in synchronous state by default.

As soon as one of the parameters is set to FALSE, the module no longer operates in synchronous state. The parameters are applied through "Update = TRUE" to MpPackMLModule.

If only "Abort" and/or "Stop" are set to FALSE, all other commands are still controlled by the higher-level module. The communication between the modules is exactly the same as in the synchronous state. Command "Abort" or "Stop" is no longer accepted.

However, if all other commands ("AllOtherCommands") are no longer accepted by the higher-level module, the module works completely autonomously. The state change must be completely controlled by the module. The module can change to other states just like any other modules. A module can also switch from the non-synchronized state to the synchronized state again.

Example:

A machine unit is divided into 6 parts and can produce 5 different products. Module "PreInfeed" is not required for 2 products. The time during which the module is not needed can be used to carry out maintenance work on that part of the machine unit.

unsynchronized_state

The module is changed from the synchronized to the non-synchronized state. This means that the parameters of MpPackMLModule are set to FALSE . The parameters are applied through "Update = TRUE". "PreInfeed" can now be changed to state "Suspend" to carry out maintenance work. Since modules "Conveyor" and "Pusher" are stored under "PreInfeed", these modules automatically follow the command of "PreInfeed", which means that these modules also change to state "Suspend". The requirement for this is that the modules are in the synchronized state, i.e. follow the commands of the higher-level module ("PreInfeed").

If the module is ready again and needed for production, it can be changed back to the synchronized state. The parameters of MpPackMLModule are set to TRUE . The parameters are applied through "Update = TRUE" and the module operates synchronously again. The module now follows the commands of the main module again and also assumes the state of the module above it.

Command "Abort"

Depending on how the parameter structure on MpPackMLModule was structured, command "Abort" is not sent to the higher-level module and/or is not overwritten on the module by the higher-level module.

abort_overwrite


Outfeed.Parameter.Overwrite.Abort = FALSE

abort_escalate


Outfeed.Parameters.Escalate.Abort = FALSE