Overview
Collection of function blocks implementing I_ComponentBase
. All components follow the pattern laid out in HMI DUT Pattern.
PackML is not required to be used alongside these components, but they are made to fit directly into FB_PackML_BaseModule.
Design Notes
HMI DUT Pattern
If a function block is intended to be controlled via HMI, a DUT should be created to contain:
- Configuration Variables
- Commands
- Status Information
- A wrapper DUT should also be created to aggregate these data (see class diagram).
Function blocks inheriting FB_ComponentBase will automatically include basic functions (including a Reset command)--see ComponentBaseHMI in FB_ComponentBase. Similarly, inheriting FB_PackML_BaseModule will give you basic mode/state commands, etc. in PackMLModuleBaseHMI.
The idea is to give all components/PackML modules the same basic capabilities. Component or Equipment Module-specific functions should be exposed through their own group of DUTs. This pattern makes the development of User Controls on the HMI side much smoother.