Skip to content

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
ParentResponseDefinitions[TcEventSeverity.Verbose]  := E_AlarmResponse.NoResponse;
ParentResponseDefinitions[TcEventSeverity.Info]     := E_AlarmResponse.NoResponse;
ParentResponseDefinitions[TcEventSeverity.Warning]  := E_AlarmResponse.Suspend_Immediate;
ParentResponseDefinitions[TcEventSeverity.Error]    := E_AlarmResponse.Abort_ImmediateError;
ParentResponseDefinitions[TcEventSeverity.Critical] := E_AlarmResponse.Abort_ImmediateError;

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
ParentResponseDefinitions[TcEventSeverity.Verbose]  := E_AlarmResponse.NoResponse;
ParentResponseDefinitions[TcEventSeverity.Info]     := E_AlarmResponse.NoResponse;
ParentResponseDefinitions[TcEventSeverity.Warning]  := E_AlarmResponse.Suspend_Immediate;
ParentResponseDefinitions[TcEventSeverity.Error]    := E_AlarmResponse.Abort_ImmediateError;
ParentResponseDefinitions[TcEventSeverity.Critical] := E_AlarmResponse.Abort_ImmediateError;

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.

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