Breaking Changes
Naming optimizations were made to the PackML standard which will require changes to the PackML Modes, States, and Commands. The following changes were made:
E_PMLProtectedUnitMode
The enumeration members used within the E_PMLProtectedUnitMode have been given shorter names:
PackML V2 | PackML V3 |
---|---|
E_PMLProtectedUnitMode.ePMLProtectedUnitMode_Invalid | E_PMLProtectedUnitMode.Invalid |
E_PMLProtectedUnitMode.ePMLProtectedUnitMode_Production | E_PMLProtectedUnitMode.Production |
E_PMLProtectedUnitMode.ePMLProtectedUnitMode_Maintenance | E_PMLProtectedUnitMode.Maintenance |
E_PMLProtectedUnitMode.ePMLProtectedUnitMode_Manual | E_PMLProtectedUnitMode.Manual |
E_PMLUnitMode
The enumeration members used within the E_PMLUnitMode of the SPT Base Types library have been given shorter names:
SPT V3 | SPT V4 |
---|---|
E_PMLUnitMode.ePMLUnitMode_Invalid | E_PMLUnitMode.Invalid |
E_PMLUnitMode.ePMLUnitMode_Production | E_PMLUnitMode.Production |
E_PMLUnitMode.ePMLUnitMode_Manual | E_PMLUnitMode.Manual |
E_PMLUnitMode.ePMLUnitMode_Maintenance | E_PMLUnitMode.Maintenance |
E_PMLUnitMode.ePMLUnitMode_UserMode1 | E_PMLUnitMode.UserMode1 |
... | ... |
E_PMLUnitMode.ePMLUnitMode_UserMode28 | E_PMLUnitMode.UserMode28 |
E_PMLState
The enumeration members used within the E_PMLState have been given shorter names:
PackML V2 | PackML V3 |
---|---|
E_PMLState.ePMLState_Aborting | E_PMLState.Aborting |
E_PMLState.ePMLState_Aborted | E_PMLState.Aborted |
E_PMLState.ePMLState_Clearing | E_PMLState.Clearing |
E_PMLState.ePMLState_Stopping | E_PMLState.Stopping |
E_PMLState.ePMLState_Stopped | E_PMLState.Stopped |
E_PMLState.ePMLState_Resetting | E_PMLState.Resetting |
E_PMLState.ePMLState_Idle | E_PMLState.Idle |
E_PMLState.ePMLState_Starting | E_PMLState.Starting |
E_PMLState.ePMLState_Execute | E_PMLState.Execute |
E_PMLState.ePMLState_Completing | E_PMLState.Completing |
E_PMLState.ePMLState_Complete | E_PMLState.Completed |
E_PMLState.ePMLState_Suspending | E_PMLState.Suspending |
E_PMLState.ePMLState_Suspended | E_PMLState.Suspended |
E_PMLState.ePMLState_Unsuspending | E_PMLState.Unsuspending |
E_PMLState.ePMLState_Holding | E_PMLState.Holding |
E_PMLState.ePMLState_Held | E_PMLState.Held |
E_PMLState.ePMLState_Unholding | E_PMLState.Unholding |
Note
The Complete state has been renamed to Completed. This is a change in the PackML standard and not a change in the TwinCAT implementation.
E_PMLCommand
The enumeration members used within the E_PMLCommand have been given shorter names:
PackML V2 | PackML V3 |
---|---|
E_PMLCommand.ePMLCommand_Abort | E_PMLCommand.Abort |
E_PMLCommand.ePMLCommand_Clear | E_PMLCommand.Clear |
E_PMLCommand.ePMLCommand_Stop | E_PMLCommand.Stop |
E_PMLCommand.ePMLCommand_Reset | E_PMLCommand.Reset |
E_PMLCommand.ePMLCommand_Start | E_PMLCommand.Start |
E_PMLCommand.ePMLCommand_Complete | E_PMLCommand.Complete |
E_PMLCommand.ePMLCommand_Hold | E_PMLCommand.Hold |
E_PMLCommand.ePMLCommand_Unhold | E_PMLCommand.Unhold |
E_PMLCommand.ePMLCommand_Suspend | E_PMLCommand.Suspend |
E_PMLCommand.ePMLCommand_Unsuspend | E_PMLCommand.Unsuspend |
Note
The PackML V2 standard did not have a Complete command, but instead used the StateComplete method just as the other acting states. However, the TwinCAT implementation of PackML V2 did have a Complete command that would provide the same functionality. The PackML V3 standard has added the Complete command to the enumeration. The TwinCAT implementation has been updated to match the PackML V3 standard.
Function Names:
PackML V2 | PackML V3 |
---|---|
F_UnitModeToString | F_PMLUnitModeToString |
Pack Tags
Here is a short list of some of the Pack Tags that have been renamed.
PackML V2 | PackML V3 |
---|---|
Tc3_PackML_V2.MaxAlarms | Tc3_PackML_V3.cMaxAlarms |
Tc3_PackML_V2.ST_PMLa | Tc3_PackML_V3.ST_PMLa |
Tc3_PackML_V2.ST_Alarm | Tc3_PackML_V3.ST_PMLEvent |
Tc3_PackML_V2.MaxStopReasons | No Equivalent |
Tc3_PackML_V2.MaxWarnings | Tc3_PackML_V3.cMaxWarnings |
Tc3_PackML_V2.MaxHistoryAlarms | Tc3_PackML_V3.cMaxHistoryAlarms |