<< Click to Display Table of Contents >> Navigation: »No topics above this level« Using the PackML PackTags structure |
mapp Services V5.16
If mapp PackML is used in the Synchronized mode, only the information of the main module is recorded for structure PackTag.
MpPackML provides the possibility of communicating using the PackTags structure specified by OMAC. This structure must be created by the user. The standard structure shown below can be used. Tags contained in the description "[Covered by MpPackMLCore PackTags]" are automatically filled out by MpPackML; the user does not have to worry about these.
•Show advanced parameter
Name |
||||||
PMLc |
||||||
PMLs |
||||||
PMLa |
||||||
PML_CommandType |
||||||
UnitMode |
||||||
UnitModeChangeRequest |
||||||
MachSpeed |
||||||
MaterialInterlocks |
||||||
CntrlCmd |
||||||
CmdChangeRequest |
||||||
RemoteInterface |
||||||
Parameter |
||||||
Product |
||||||
PML_StatusType |
||||||
UnitModeCurrent |
||||||
UnitModeRequested |
||||||
UnitModeChangeInProcess |
||||||
StateCurrent |
||||||
StateRequested |
||||||
StateChangeInProcess |
||||||
MachSpeed |
||||||
CurMachSpeed |
||||||
MaterialInterlock |
||||||
EquipmentInterlock |
||||||
RemoteInterface |
||||||
Parameter |
||||||
Product |
||||||
PML_AdminType |
||||||
Parameter |
||||||
Alarm |
||||||
AlarmExtent |
||||||
AlarmHistory |
||||||
AlarmHistoryExtent |
||||||
StopReason |
||||||
StopReasonExtent |
||||||
Warning |
||||||
WarningExtent |
||||||
ModeCurrentTime |
||||||
ModeCumulativeTime |
||||||
StateCurrentTime |
||||||
StateCumulativeTime |
||||||
ProdConsumedCount |
||||||
ProdProcessedCount |
||||||
ProdDefectiveCount |
||||||
AccTimeSinceReset |
||||||
MachDesignSpeed |
||||||
StatesDisabled |
||||||
PLCDateTime |
||||||
PML_RemoteInterfaceType |
||||||
Number |
||||||
ControlCmdNumber |
||||||
CmdValue |
||||||
Parameter |
||||||
PML_ParameterType |
||||||
ID |
||||||
Name |
||||||
Unit |
||||||
Value |
||||||
PML_ProductType |
||||||
ProductID |
||||||
ProcessVariable |
||||||
Ingredients |
||||||
PML_AlarmType |
||||||
Trigger |
||||||
ID |
||||||
Value |
||||||
Message |
||||||
Category |
||||||
AlmDateTime |
||||||
AckDateTime |
||||||
PML_IngredientsType |
||||||
IngredientID |
||||||
Parameter |
||||||
PML_ProdCountType |
||||||
ID |
||||||
Name |
||||||
Unit |
||||||
Count |
||||||
AccCount |
||||||
PML_ModeStateType |
||||||
State |
||||||
PML_EquipmentInterlockType |
||||||
Blocked |
||||||
Starved |
||||||
PML_DateTimeType |
||||||
Year |
||||||
Month |
||||||
Day |
||||||
Hour |
||||||
Min |
||||||
Sec |
||||||
uSec |
The structure shown above depicts the complete PackTags structure. If the complete structure is not needed, then the reduced PackTags structure can be used. The tags that belong to the reduced PackTags structure are identified by "[Basic type]" in the description. This makes it possible for the user to use a simplified version of PackTags.
PackTags consist of 3 areas:
•PMLc (PackML command): With the command structure, the administrator is able to execute commands such as changing the PackML mode or state.
•PMLs (PackML status): The status structure shows status information such as the current mode.
•PMLa (PackML administration): The administration structure consists of statistical information such as the total runtime of a mode.
The tags below are supported by MpPackML. The required tags must be included in the respective structure.
Structure |
Day |
PMLc |
UnitMode |
UnitModeChangeRequest |
|
CntrlCmd Possible values: 0 = Undefined 1 = Reset 2 = Start 3 = Stop 4 = Hold 5 = Unhold 6 = Suspend 7 = Unsuspend 8 = Abort 9 = Clear 10 = StateComplete |
|
CmdChangeRequest |
|
PMLs |
UnitModeCurrent |
UnitModeRequested |
|
UnitModeChangeInProcess |
|
StateCurrent |
|
StateRequested |
|
StateChangeInProcess |
|
Equipment interlock |
|
PMLa |
ModeCurrentTime |
ModeCumulativeTime |
|
StateCurrentTime |
|
StateCumulativeTime |
|
AccTimeSinceReset |
|
PLCDateTime |
Reduced PackTags structure
This structure contains the reduced parameters according to the PackML standard: PackMLTagsBasic.PackMLTagsBasic
Complete PackTags structure
This structure contains the complete PackTags structure: PackMLTagsFull
The PackTag structures listed here can be used directly in Automation Studio. This is done by downloading and opening the desired structure. In Automation Studio, the Types.typ file is opened in the desired program as text. The contents of the structure can then be copied to the type file.
The use of PackTags is enabled in the MpPackML configuration. A variable of a suitable data type is created for each of the 3 structures.
The variable for the correct structure is then selected under "PackTags handling". In other words, the variable "PMLc" is specified as the command structure under "Command structure name", etc.
If the structure is stored locally, then the program name is specified before the structure name ("PackMLProgram:PMLc").
In this case, the structures are created globally:
In order for the variables from the different stations on the production line to communicate, they are enabled via OPC UA, for example.
The current status of PackTags is indicated in structure MpPackMLCoreInfoType under "PackTagsStatus". During initialization of PackTags, the status is "mpPACKML_PACKTAGS_INIT". "MpPACKML_PACKTAGS_OK" indicates that initialization was successful and the PackTags structures are returning valid values.
Commands:
OMAC defines recipe parameters, for example, as "Product" and parameters that are not used in production (i.e. machine parameters) as "ProcessVariables" in the command structure (PMLc). Recipe parameters can be saved as a file using MpRecipe, for example. To do so, parameter "Product" is added to MpRecipeRegPar as a process variable.
Status:
The current mode can be queried in the status structure, for example. It is shown under "PMLs.UnitModeCurrent". This query can be used as a condition for commands. If the desired mode is active, the "OpenDoor" command can be enabled, for example.
Administration:
Statistical information is displayed in the administration structure. Here it is possible to query things like the value "PMLa.StateCurrentTime", which displays how long the current mode is already active. This can be used for checking purposes, for example. If the value "PMLa.StateCurrentTime" reaches a user-defined maximum time, a user alarm (e.g. "ReachedMaxTime") can be triggered.
The PMLa structure should be marked as "Retain" so that the statistical information it contains is not lost. This way, the information will still be available after the controller is restarted.
If the PackTags structure is changed at runtime, the MpPackMLCore component must be re-enabled! This ensures that all changes to the structure are applied.