Interfaces
Framework Base
I_BaseFB
Defines the most basic functionality of any function block used within the framework
Properties
| Property | Type | Access | Description |
|---|---|---|---|
| Busy | BOOL | R | Function block is performing some action |
| Error | BOOL | R | Function block has encountered an error condition |
| ErrorID | UDINT | R | Error-specific identifier |
I_CyclicFB
(extends I_BaseFB)
Adds to I_BaseFB the concept of initialization, as well as a unified entry point for cyclical code to be called. You may have collections of I_CyclicFB which are iterated through, calling CyclicLogic() on each.
Properties
| Property | Type | Access | Description |
|---|---|---|---|
| InitComplete | BOOL | R | Flag indicating that the function block is ready to use |
Methods
| Method | Return Type | Description |
|---|---|---|
| CyclicLogic | null | Entry point for code execution |
Component Base
I_ComponentBase
(extends I_CyclicFB)
Defines basic required functionality for component-level function blocks
Note
This interface was previously located in the SPT_Component_Base library. It was consolidated into this library as of v3.1.0. Previous library releases are still included in this repository but are no longer maintained.
Info
See I_BaseFB for more information.
Properties
| Property | Type | Access | Description |
|---|---|---|---|
| CurrentAlarmSeverity | TcEventSeverity | R | Returns the highest severity of any currently active events |
| InSimulation | BOOL | RW | Flag to indicate to component/parent that this component is running simulation code (defined per component) |
| Name | STRING | RW | Name of this component |
| ParentResponseDefinitions | ARRAY[0..4] OF E_AlarmResponse | RW | Defines how the parent of this component should react to each event severity |
ParentResponseDefinitions
PROPERTY ParentResponseDefinitions : ARRAY[0..4] OF E_AlarmResponse
The expected response type of a component's parent can be specified. The actual response logic is determined by the component's parent. The parent should observe CurrentAlarmSeverity and then decide what to do in response.
Example
1 2 3 4 5 | |
Methods
| Method | Return Type | Description |
|---|---|---|
| AllowHMIControl | null | Signal to this component that external functions via HMI should be allowed |
| BlockHMIControl | null | Signal to this component that external functions via HMI should be blocked |
| Reset | BOOL | Command this component to execute its fault reset routine |
PackML Base
I_PackML_BaseModule
(extends I_CyclicFB, I_PackML_Control)
Defines basic state & mode controls & status information required of all PackML modules (Machine Modules & Equipment Modules)
Note
This interface was previously located in the SPT_PackML_Base library. It was consolidated into this library as of v3.1.0. Previous library releases are still included in this repository but are no longer maintained.
Info
See I_BaseFB and I_PackML_Control for more information.
Properties
| Property | Type | Access | Description |
|---|---|---|---|
| CurrentAlarmSeverity | TcEventSeverity | R | Highest severity of any currently active event(s) |
| LogModeChanges | BOOL | RW | Enable/Disable logging of mode changes |
| LogStateChanges | BOOL | RW | Enable/Disable logging of PackML state changes |
| DisableSubModuleModeChange | BOOL | RW | Enable/Disable SubModule Mode change if Mode of this instanz is changed |
| Name | STRING | RW | Name of this module |
| ParentResponseDefinitions | ARRAY[0..4] OF E_AlarmResponse | RW | Defines how the parent of this module should react to each event severity |
ParentResponseDefinitions
PROPERTY ParentResponseDefinitions : ARRAY[0..4] OF E_AlarmResponse
The expected response type of a module's parent can be specified. The actual response logic is handled by the module's parent. The parent can observe CurrentAlarmSeverity and then decide what to do in response.
Example
1 2 3 4 5 | |
I_PackML_Control
Defines basic control and feedback mechanisms for control of PackML modules
Note
This interface was previously located in the SPT_PackML_Base library. It was consolidated into this library as of v3.1.0. Previous library releases are still included in this repository but are no longer maintained.
Properties
| Property | Type | Access | Description |
|---|---|---|---|
| CurrentMode | E_PMLUnitMode | R | Current PackML mode |
| CurrentState | E_PMLState | R | Current PackML state |
| ModeCommand | DINT | RW | Commanded PackML mode |
| StateCommand | E_PMLCommand | RW | Commanded PackML state |
Note
You can request a mode/state change using the method call ChangeState()/ChangeMode() or by setting the StateCommand/ModeCommand properties; they both do the same thing.
Methods
| Method | Return Type | Description |
|---|---|---|
| ChangeMode | null | Request to enter a given mode |
| ChangeState | null | Issue a specific PackML state command |
I_PackML_ExternalController
(extends I_CyclicFB, I_PackML_Control)
Defines complete means of external control of a PackML module's commanded mode and state. A module can have many different external controllers registered with it-these could be pushbutton groups, HMIs, SCADA systems, etc.
Note
This interface was previously located in the SPT_PackML_Base library. It was consolidated into this library as of v3.1.0. Previous library releases are still included in this repository but are no longer maintained.
Info
See I_CyclicFB and I_PackML_Control for more information.
Note
See FB_PackML_BaseModule.RegisterExternalController() and See FB_ControlSource for more information.
Properties
| Property | Type | Access | Description |
|---|---|---|---|
| Control | I_PackML_Control | W | Interface pointer to control interface of module |
Methods
| Method | Return Type | Description |
|---|---|---|
| ModeChanged | null | Serves as a callback notification to external controllers that the module's mode has changed |
| StateChanged | null | Serves as a callback notification to external controllers that the module's state has changed |