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
Have questions or feedback about this documentation? Please submit your feedback here.