HMI Button Control (HMIBC)
This information applies to the CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370, GuardLogix 5570, Compact GuardLogix 5380, CompactLogix 5380, CompactLogix 5480, ControlLogix 5580, and GuardLogix 5580 controllers.
Use the HMI Button Control (HMIBC) instruction with a
PanelView
5500 Human Machine Interface (HMI) to enable operators to initiate machine control operations, such as jogging a motor or enabling a valve, with a high degree of accuracy and determinism. The HMIBC instruction also provides built-in communications diagnostics that permit the instruction to automatically reset if the communications from the controlling HMI become unavailable.Each Logix controller supports up to 256 HMIBC tags and up to 32
PanelView
5500 HMI's to simultaneously communicate and control the instruction.The HMIBC instruction goes active and enables its output when a PanelView
5500 HMI device initiates a button control operation associated with the instance tag of the instruction.
IMPORTANT:
A PanelView 5000 module must be in the project IO tree to use the HMIBC instruction
To function, the Logix controller I/O configuration must include all of the
PanelView
5500 HMIs that need to interact with the HMIBC instruction. Additionally, the application created for each PanelView
5500 HMI must include button actions configured to reference each tag associated with the HMIBC instructions.
ATTENTION:
Execute this instruction at least once per scan, and do not jump over.
The HMIBC data type:
- Is available at Controller and Program scope.
- Is not available within Add-On Instruction scope.
- Is used in a Jump to Subroutine (JSR).
- Cannot be used with input and output program parameters
- Is not available within a safety program.
- Must have an external access value of Read/Write. You are not given the option to choose other external access values.
The HMIBC tag has import and export formats for .L5K, .L5X, and .CSV.
Available Language
Ladder Diagram
Function Block
TIP:
For the HMIBC tag, use only the Out parameter, and optionally, the ProgFB parameter in Function Block diagrams.
Structured Text
HMIBC (HMIBC tag)
Operands
These operands are located on the instruction.
Operand | Type | Format | Description |
---|---|---|---|
HMIBC tag | HMIBC | tag | Goes active when the data bit is set |
HMIBC Structure
Input parameter | Data Type | Description |
---|---|---|
EnableIn | BOOL | Enable input. If false, the instruction does not execute. |
Prog FB | BOOL | Program Feedback. This value is not processed by the instruction, but transmitted to all registered HMI devices. The purpose or meaning of this value is user defined. For example, use this to determine if the expected action actually executes when pressing the button and displays that status on the HMI device. |
Output parameter | Data Type | Description |
---|---|---|
EnableOut | BOOL | Indicates if instruction is enabled. |
Button State | BOOL | Cleared to false when no registered HMI device buttons are pressed. Set to true when at least one registered HMI button is pressed. Default value is false. |
Out | BOOL | When EnableIn is true: Cleared to false when none of the registered HMI devices buttons are pressed. Set to true when at least one registered HMI button is pressed. When EnableIn is false : Cleared to false Default value is false. |
Affects Math Status Flags
No
Major/Minor Faults
None specific to this instruction. See Index through arrays for array-indexing faults.
Execution
Ladder Diagram
Condition | Action Taken |
---|---|
Prescan | The rung-condition-out is set to false. |
Rung-condition-in is false | The rung-condition-out is set to false. |
Rung-condition-in is true | The rung-condition-out is set to true if any HMI device buttons control operation associated with the instruction instance tag are pressed. Otherwise, rung-condition-out is set to false. |
Postscan | The rung-condition-out is set to false. |
Function Block
Condition/State | Action Taken |
---|---|
Prescan | N/A |
Tag.EnableIn is false | The instruction does not execute. |
Tag.EnableIn is true | The instruction does not execute. |
Instruction first scan | N/A |
Instruction first run | N/A |
Postscan | N/A |
Structured Text
Condition/State | Action Taken |
---|---|
Prescan | The instruction executes. |
Normal Execution | The instruction executes. |
Postscan | The instruction executes. |
Examples
Ladder Diagram
- An HMIBC instruction is an input instruction and cannot be placed on a rung by itself.
- An HMIBC instruction is highlighted when active.
Function Block
The following example shows the HMIBC instruction as it appears in a function block diagram.
Structured Text
HMIBC (HMIBC_Conv);
IF(((Auto AND Run_Conv) Or (NOT Auto AND HMIBC_Conv.Out)) AND NOT Conv_Fault)
THEN Conv_Motor: = 1;
ELSE Conv_Motor : = 0;
END_IF;
Provide Feedback