Industrial HMI Design Guidelines
For designers and engineers: when the interface stands behind a production plant that is actually running, let a trained operator on continuous shift read the process state, notice anomalies, tell whether the numbers on screen still count, and, when necessary, safely put a hand on the controls.
6 principles · 36 rules · MUST 28 · SHOULD 8
Contents
For designers and engineers: when the interface stands behind a production plant that is actually running, let a trained operator on continuous shift read the process state, notice anomalies, tell whether the numbers on screen still count, and, when necessary, safely put a hand on the controls.
An industrial HMI is the interface through which an operator monitors and operates a production process in a control room or in the field — SCADA supervisory screens, DCS operator stations, PLC local panels, and the mobile inspection terminals carried on the body. It differs from consumer products in four fundamental ways: the user is a trained professional, but training does not substitute for clear expression of state, objects, and consequences; the shift is continuous, one person faces the same set of screens for a stretch of a shift; consequences land on equipment and on people, the cost of one mis-operation is not absorbed by an undo button; and most of the time is spent in a monitoring state where "nothing is happening" — for the vast majority of the time, the interface's job is not to be used, but to let the person believe that nothing is in fact wrong right now, and to let them know instantly the moment something is.
The most common design mistake in this domain is writing it as an industrial-style visual specification: dark backgrounds, skeuomorphic gauges, three-dimensional piping, sweeping animations, a screen packed full of dials. These decisions are about appearance, and almost none of where this domain goes wrong is about appearance — it is twenty alarms flooding in together within thirty seconds with not one of them actionable, it is a number on screen that has not updated in ten minutes but looks exactly like it does during normal refresh, it is an operator who believes a loop is in automatic when it dropped back to manual two hours ago, it is a point forced to "normal" during maintenance that nobody remembers to release. Correct appearance with any one of the above still true is a non-conforming HMI. These guidelines therefore center on behavioral requirements and give ways to land them in screens, state, and verification; concrete visual parameters are calibrated to the operating environment.
These guidelines consist of six principles and 36 rules: principles state the design direction, rules specify the applicable situation, behavior requirements, and verification method. Each rule belongs to one and only one principle, and the rule number is the principle number (IH3-2 is the second rule under the third principle). The six principles are split by the object they regulate: the presentation of process state on the interface, the class of signal that is an alarm itself, the relationship between a displayed value and the data source behind it, the control mode a device is currently in, the control actions an operator issues, and the shift process that spans time, people, and workstations.
Scope statementThese guidelines constrain the nature of the experience commitments an industrial HMI makes to operators in monitoring and operation, and the mechanisms that honor them; they do not presuppose a single technical architecture, and do not specify configuration software, communication protocols, or screen-building tools. These guidelines do not replace any mandatory safety standard; where a clause of these guidelines conflicts with an applicable mandatory standard, industry code, or site operating procedure, the applicable mandatory standard and procedure govern, and these guidelines yield. Adopting these guidelines cannot substitute for the following dedicated assessments and compliance determinations: determination and certification of functional-safety level (the leveling, verification, and independent assessment of Safety Integrity Levels belong to the functional-safety standards system; these guidelines only write "the interface MUST NOT substitute for a safety function" as a design requirement, and assign no level of any kind), process design and control algorithms (loop tuning, advanced control, optimization strategy, and process parameters are outside the scope of these guidelines), industrial cybersecurity (segmentation, authentication, remote access, and industrial-network protection must be assessed separately against applicable cybersecurity standards), hardware and environmental protection (ingress protection rating, intrinsic safety, explosion protection, vibration resistance, and temperature range are determined by equipment specification), as well as the architectural and ergonomic layout of the control room, personnel qualification and training certification, and accident investigation and liability determination. Where any of the above conflicts with a clause of these guidelines, the applicable regulation, standard, or procedure governs.
Reading order: Chapters 1–3 define the principles and the 36 rules, Chapter 4 unifies terminology, Chapter 5 specifies delivery and acceptance methods; Appendix A provides fault-injection scenarios, Appendix B explains evidence boundaries. Configuration decisions are recorded in Industrial HMI Design Token; for external basis see reference.md.
1. The six principles
The six principles split design responsibility by the object they regulate: each principle governs obligations on one category of object, and each rule belongs to the single principle whose direct regulated object matches its obligation. Different objects mean the principles do not substitute for one another — this is both the basis for the split and the way to test it.
| Principle | Regulated object | Design direction | Governed rules |
|---|---|---|---|
| IH1 Normal is quiet, abnormal stands out | The presentation of process state on the interface: the allocation of visual intensity among values, states, trends | The interface's attention budget is limited, and it should be spent on deviation. Normal operation must not compete for attention, and an anomaly must be reachable by the eye; values must be interpretable, and state must not speak through color alone | IH1-1 ~ IH1-6 |
| IH2 An alarm is a managed resource | The class of signal that is an alarm itself: its conditions for generation, its total volume, its prioritization, its suppression and clearing | An alarm is not "report every anomaly," it is a budgeted list. Every alarm must have something an operator can do about it; the number of alarms is a design metric, not an operational outcome | IH2-1 ~ IH2-6 |
| IH3 Display is no more certain than the data | The relationship between every value on screen and the data source behind it: timeliness, quality, communication, and human intervention | The interface's presented degree of certainty must not exceed what it actually knows. A screen that has stopped refreshing must not look like normal operation, a bad value must not look like a good value, a point that a person has altered must not look like one naturally acquired | IH3-1 ~ IH3-6 |
| IH4 Control mode is always present | The control mode a piece of equipment, loop, or plant is currently in, and the division of labor between automatic and manual | Mode confusion is a classic cause of accidents in this domain. Who is in control right now, what automatic is doing, under what conditions it will exit, and what state falls to the human after it exits — these four things must always be obtainable | IH4-1 ~ IH4-6 |
| IH5 Operation is authorized, verified, and traceable | The control actions an operator issues through the interface | A critical operation must first be selected, then verified, then executed; permission is enforced by a mechanism, not by discipline; a confirmation on screen is not a safety measure; high-consequence actions such as bypass and force MUST leave a trace | IH5-1 ~ IH5-6 |
| IH6 The shift is continuous | The shift process itself, spanning time, people, and workstations | A single operation by one person is only a small part of a longer process. Drilling in must not lose context, a handover must have something to hand over, prolonged monitoring cannot count on sustained vigilance, and a screen change must not happen quietly while someone else is on shift | IH6-1 ~ IH6-6 |
A single scenario can touch several principles at once — at two in the morning on the night shift, a pump's discharge-pressure transmitter loses communication: the product must simultaneously face whether that value should still be presented as a real-time value (IH3-1), whether the resulting alarm is actionable and whether it will cascade into a string of downstream alarms (IH2-1, IH2-5), whether the automatic loop that depends on that measurement point has already dropped back to manual and whether the operator knows it (IH4-2), and whether this event should be a handover item at the four o'clock shift change (IH6-3). This is not a classification error: the four rules constrain obligations on four different regulated objects — one is the presentation of data trustworthiness, one is the alarm signal itself, one is the control mode, one is the continuity of the shift process. Mutual exclusivity and exhaustiveness are a claim this split submits to testing, not a fact established by declaration: when a rule's addition, removal, or attribution is in doubt, verify it against the classification check in Appendix A. If the check fails, what gets revised is the split of principles.
The two boundaries in this split that most need ongoing testing are stated explicitly here: IH1 and IH3 — IH1 governs "how must this value be presented so it can be read, how must this deviation be presented so it can be noticed"; IH3 governs "does this value still represent reality at all." Take the same pressure figure: if the problem is that it has no unit, no range, and no visible sign of rising, it belongs to IH1; if the problem is that it is the last successful reading from five minutes ago but looks identical to a real-time value, it belongs to IH3. IH4 and IH5 — IH4 governs the control-mode state itself: what it is, how it is known, under what conditions it changes; IH5 governs the control action: who has authority to issue it, how it is verified, what trace it leaves. Switching modes touches both sides; attribution follows the direct regulated object of the obligation: the object of "the current mode MUST always be visible" and "the conditions and consequences of an automatic exit MUST be knowable" is the mode state, so it belongs to IH4; the object of "what authority is needed to initiate a mode switch, whether a second check is required, what gets left in the record" is this particular action, so it belongs to IH5. If attribution disputes recur in practice at these two boundaries, the principles should be adjusted rather than adding an intermediate layer.
Principles are for understanding the rules and adjudicating attribution; they are not themselves a separate judgment item. When a principle conflicts with the reading of a specific clause, the applicable clause governs, and the ambiguity needing clarification is recorded.
A rule's attribution is singular; this does not mean a mechanism cannot be reused. A single "data-quality state" both decides how a value is presented (IH3-2), whether an alarm based on that measurement point should be suppressed (IH2-4), and whether the automatic loop depending on it should exit (IH4-6); a single "list of points currently forced and bypassed" is both part of trustworthiness (IH3-4), an object of operational traceability (IH5-5), and content that must be handed over at shift change (IH6-3). One mechanism serving several purposes is the norm; which rule it is written under depends on the direct regulated object of the obligation.
2. How to read the rules
2.1 The structure of each rule
| Part | Function |
|---|---|
| In one sentence | The memorable version of the rule; does not substitute for the main text |
| Applies to | The situations in which this rule takes effect. A product outside the scope of applicability may simply record "not applicable," with no need to force a fit |
| Rule | The normative text, specifying the requirement of this rule |
| Boundary conditions | Together with "Applies to," bounds the scope of the requirement: states what this rule does not require, and under what conditions an exception holds (only some rules have this) |
| Design application / Verification examples / Counterexamples | Explanatory material that helps implementation; adds no further obligation and specifies no single implementation |
| Basis and references | Failure records and implementation references (only some rules have this; for the type and provenance of evidence see Appendix B and reference.md) |
The force of each part in one sentence: the rule text specifies the requirement; "Applies to" and "Boundary conditions" together bound the requirement's scope of application; Design application, Verification examples, Counterexamples, and Basis and references add no further obligation.
A rule writes the nature of the behavior, not the implementation: after a communication loss, the screen MUST be seen to have stopped refreshing — that is product behavior; whether this is driven by a heartbeat, by timestamp comparison, or by a quality code driving an overlay mask is an engineering solution — the two must line up, but they are not the same deliverable.
2.2 Normative terms
The rule text uses three levels of normative terms:
- MUST: not meeting it means non-conformance with these guidelines. Its absence would cause some commitment to the operator to fail under foreseeable conditions — this is the sole basis for marking something MUST.
- MUST NOT: the reverse statement at the same strength as MUST, identifying behavior that must not occur; the main text's two ways of writing this term, one meaning "must not" and the other meaning "forbidden," are equivalent.
- SHOULD: followed by default; when there is genuine reason to deviate, record the reason and the alternative, and accept the same verification. Deviation needs no approval, but it needs a record. "SHOULD NOT" is the reverse statement of SHOULD.
Conformance judgment takes the independent obligation clause in the main text as its unit: a declarative sentence with no normative term carries the strength of the rule heading it sits under; a clause with an explicit normative term is judged at its own strength — a MUST NOT / forbidden clause inside a [SHOULD] rule remains a hard constraint (IH1-4, IH2-6, IH3-5, IH3-6, IH4-6, IH6-2, IH6-4, IH6-5 contain such clauses), and the strength annotation on a rule heading or in the quick-reference table does not substitute for a clause's own binding force. "cannot" in the main text is used only for statements of capability or fact, and expresses no obligation.
Strength denotes binding force, not importance. No strength annotation in these guidelines changes the force of an applicable mandatory safety standard: where the mandatory standard requires more, the mandatory standard governs, and these guidelines are not grounds for relaxation.
2.3 The two sides of a counterexample
Counterexamples come in two sides: "under-delivery" is missing the requirement, "over-delivery" is piling the interface into a different kind of failure in the name of satisfying it. Industrial HMIs get built badly in dense ways at both ends: at one end, every anomaly gets configured as an alarm, every number gets painted red, every jog gets an extra confirmation layer; at the other end, in the name of a "high-performance display," the whole interface is rendered in a wash of gray with almost no readable information in the normal state, so the operator opens a homegrown spreadsheet on the side to watch the numbers instead — driving people to a shadow tool is just as much a failure to get it right. Restraint does not mean hiding information, and caution does not mean making every operation slower.
2.4 Rule quick reference: 36 rules
The table below is a one-sentence memory version of every rule; click a rule's name to jump to the full text in Chapter 3. The quick reference does not substitute for each rule's applicability conditions and full requirement; a few [SHOULD] rules contain forbidding-level clauses (IH1-4, IH2-6, IH3-5, IH3-6, IH4-6, IH6-2, IH6-4, IH6-5), and the main text governs the judgment (see 2.2).
IH1 Normal is quiet, abnormal stands out
| Rule | Strength | In one sentence |
|---|---|---|
| IH1-1 Visual intensity is allocated by deviation | MUST | When everything is normal, the interface should be quiet. |
| IH1-2 Color is not the only code | MUST | It should still read as the right state when printed in grayscale. |
| IH1-3 Values carry a unit, range, and limits | MUST | A number with no unit and no range is not process information. |
| IH1-4 Trend is obtainable | SHOULD | A single point does not show where the process is heading. |
| IH1-5 Screen hierarchy corresponds to the monitoring task | MUST | The first glance must be able to answer "is everything normal right now." |
| IH1-6 Decoration carries no meaning and does not compete for attention | MUST | Three-dimensional piping and skeuomorphic gauges are not a path to reading a value. |
IH2 An alarm is a managed resource
| Rule | Strength | In one sentence |
|---|---|---|
| IH2-1 Every alarm has something an operator can do | MUST | A signal with no operator response action is not configured as an alarm. |
| IH2-2 Alarm load is a design metric | MUST | The number of alarms is fixed at design time, not produced by operation. |
| IH2-3 Priority is based on consequence and remaining response time | MUST | Priority is not decided by how expensive the equipment is or who raised it. |
| IH2-4 Alarm states are distinct, and suppression is visible and recoverable | MUST | An alarm not currently shown can still be counted, and returns by its own condition. |
| IH2-5 A flood period has dedicated presentation and first-out discrimination | MUST | When the flood arrives, a scrolling list does not help. |
| IH2-6 An alarm provides response guidance but does not substitute for procedure | SHOULD | An alarm tells you something is wrong, not everything you should do about it. |
IH3 Display is no more certain than the data
| Rule | Strength | In one sentence |
|---|---|---|
| IH3-1 A real-time value and the last known value are distinguishable | MUST | Is this the number right now, or the last one that was read. |
| IH3-2 Data quality is expressed explicitly | MUST | A bad value MUST NOT render as zero, and MUST NOT render as the last good value. |
| IH3-3 A screen that has stopped refreshing MUST NOT look like normal operation | MUST | A frozen screen is the most dangerous kind of "normal" in this domain. |
| IH3-4 Force, bypass, and simulation MUST be explicit and countable | MUST | Who changed it, to what, and how many are still not restored. |
| IH3-5 Time and sequence are determinable | SHOULD | The order of events is a precondition for judging causation. |
| IH3-6 Derived values and measured values are labeled separately | SHOULD | A calculated value and a measured value must not look the same. |
IH4 Control mode is always present
| Rule | Strength | In one sentence |
|---|---|---|
| IH4-1 The current control mode is persistently visible | MUST | You know who is in control right now without clicking anything open. |
| IH4-2 A mode change is noticeable and traceable | MUST | Even dropping back to manual by itself counts as a change. |
| IH4-3 The scope and exit conditions of automatic are knowable | MUST | What it is doing, on what basis, and when it will let go. |
| IH4-4 The state needed for takeover is given before takeover | MUST | Handing back control authority is not the same as handing back control. |
| IH4-5 A mode with the same name means the same thing everywhere | MUST | "Manual" on two different screens MUST be the same thing. |
| IH4-6 Automatic MUST NOT silently compensate in a way that masks an anomaly | SHOULD | The valve is already wide open — that fact needs to be said. |
IH5 Operation is authorized, verified, and traceable
| Rule | Strength | In one sentence |
|---|---|---|
| IH5-1 A critical operation uses select–verify–execute | MUST | See clearly what got selected, then act. |
| IH5-2 Confirmation carries the consequence, not just a question | MUST | "Are you sure" is not confirmation, it is one extra click. |
| IH5-3 An ordinary confirmation is not evidence of implementing a safety function | MUST | A pop-up is not protection; to count as protection it must go through the safety lifecycle. |
| IH5-4 Permission and duty roles are enforced by a mechanism | MUST | Permission is not hiding the button. |
| IH5-5 Bypass, force, and privilege escalation leave a trace and are reviewed | MUST | The record a high-consequence action leaves must actually be looked at by someone. |
| IH5-6 A command's result is verifiable, and concurrent operations are adjudicated | MUST | When two people move the same pump at once, the adjudication must be explicit, and both sides cannot see "success." |
IH6 The shift is continuous
| Rule | Strength | In one sentence |
|---|---|---|
| IH6-1 Drilling in and returning does not lose context | MUST | Clicking in to see detail should not get you lost. |
| IH6-2 Shared displays and individual workstations have a clear division of labor | SHOULD | The big screen is not the workstation screen enlarged. |
| IH6-3 A shift handover has a verifiable set of handover items | MUST | What gets handed over is the unfinished business, not the word "normal." |
| IH6-4 Prolonged monitoring does not rely on sustained vigilance | SHOULD | Do not count on a person staring at a motionless screen for eight hours. |
| IH6-5 Interface and configuration changes during a shift are controlled | SHOULD | Do not quietly swap the screen while someone else is on shift. |
| IH6-6 The working state of an anomaly response can be continued | MUST | If something is not finished when a shift ends, it must have somewhere to go. |
3. Rules in detail
This chapter unfolds all 36 rules under the six principles. Each rule's structure and the binding force of each part are given in 2.1; the design application, verification examples, and counterexamples within it are only explanatory material that helps implementation — they specify no single component, and require no separate deliverable document.
3.1 IH1 Normal is quiet, abnormal stands out
This principle governs the presentation of process state on the interface. An industrial HMI's attention budget is scarce: for most of a shift, the operator faces a screen with no anomaly, and every extra bit of attention the interface claims is a bit less available when an anomaly appears. The core of this principle is therefore not "make the important thing stand out," but allocating visual intensity by degree of deviation — the normal state yields, the abnormal state draws on it. At the same time, information that is read must be interpretable: a number only constitutes process information once it carries a unit, a range, and its current position relative to the normal range.
IH1-1Visual intensity is allocated by deviationMUST
In one sentence: When everything is normal, the interface should be quiet.
Applies tomonitoring screens that continuously display process state.
RuleAttention resources on a screen — contrast, saturation, blinking, animation, and sound — MUST be allocated by "degree of deviation from normal operation"; values and states within the normal range MUST NOT use a presentation reserved for abnormal states. The product MUST explicitly define which presentation tiers correspond respectively to normal, needs attention, and needs action, and MUST ensure the same tier means the same thing on every screen. When any tier's presentation is used for a non-state purpose (brand color, section background, decoration), it MUST be visually distinguishable from the state tiers.
Boundary conditionsThis rule does not require the interface to be gray, nor does it forbid the use of color — what it requires is the allocation relationship of intensity, not an absolute palette. Both dark and light backgrounds can satisfy this rule; dialing the whole interface down to where values cannot be read does not satisfy this rule (see IH1-3). This rule also does not govern whether an alarm itself should be generated — that is IH2-1.
Design applicationFirst define a low-intensity presentation for "normal," then leave the remaining intensity for deviation; write a criterion for each tier (within the operating range / beyond the operating range but not yet alarmed / alarmed), and drive the criterion from data rather than having a screen author hand-color each one individually.
Verification examples
- User side: take a screenshot while the plant is entirely in normal operation, and check that the screen uses no presentation reserved for abnormal states and that key values are readable; then inject one deviation into the same screen and check whether it can be discovered under the product's defined noticeability conditions. (When everything is normal, there is no process deviation, and the highest-intensity element may be navigation, a primary value, or a selection indicator — this does not invalidate the judgment.)
- Implementation side: check whether the state-tier definitions are managed centrally and referenced by every screen, and whether any screen has a custom, locally defined alarm color.
CounterexamplesUnder-delivery — piping, equipment, and background use large areas of highly saturated color during normal operation, so there is no higher tier available when an anomaly appears; over-delivery — every element is pushed to extremely low contrast, so the operator must lean in close to the screen to read a single number, or falls back to a spreadsheet they maintain themselves.
IH1-2Color is not the only codeMUST
In one sentence: It should still read as the right state when printed in grayscale.
Applies tointerfaces that use color to represent equipment state, data quality, alarm priority, or mode.
RuleWhen color is used to represent state, color MUST NOT be the only coding method; every state distinction carried by color MUST also be independently expressed by at least one of shape, pattern, position, text label, or a value, and that non-color code MUST be obtainable without zooming, hovering, or clicking. Color and non-color codes MUST come from the same state definition; presentations where the two disagree MUST NOT occur. This rule applies equally to large screens, printouts, and mobile terminals; state distinctions MUST still hold on monochrome or low-color-gamut display devices.
In-field discriminability MUST have a stated condition of use: record viewing distance, angle, illuminance, glare, display scaling, and the font size and contrast used, per terminal; a desktop screenshot alone MUST NOT be the only thing checked. Critical states and operation feedback MUST have a perceivable path such as text or a symbol; on terminals that support a keyboard or assistive technology, focus, control names, and state notifications MUST be usable, and a routine refresh MUST NOT steal input focus. An audio cue MUST NOT be the sole clue for a critical anomaly; its audibility SHOULD be verified under actual site noise and actual protective equipment.
Boundary conditionsThis rule does not forbid the use of color, nor does it require a caption for every state; a shape difference or a position difference alone is enough to satisfy "independent expression." This rule does not specify concrete color values or contrast numbers; those are determined by the product against the applicable discriminability requirements and site illuminance, with the basis recorded.
Design applicationMake "state" an object with both a graphical and a textual rendering, both driven by the same field; during design review, walk through the key judgments with the entire screen set rendered in grayscale.
Verification examples
- User side: present key screens in grayscale and ask the operator to judge whether each piece of equipment is running, stopped, faulted, or unavailable; a judgment that fails counts as non-conforming.
- Implementation side: check whether any state-rendering branch changes only the color and no other attribute.
CounterexamplesUnder-delivery — a pump's running and stopped states are distinguished only by green versus gray, which becomes indistinguishable after color-vision difference or screen aging; over-delivery — every graphic element is hung with a caption of state text, filling the screen with text until the layout relationships can no longer be read.
Basis and referencesR09 explains that color must be used discriminably (the same color MUST NOT represent both a critical alarm and equipment stopped); R10's vendor style guide states clearly that state presentation cannot rely on color alone and must additionally use fill, shape, or short text. Both are publicly available design material, not standards requirements; concrete color values and contrast are outside the scope of these guidelines (see reference.md R09, R10).
IH1-3Values carry a unit, range, and limitsMUST
In one sentence: A number with no unit and no range is not process information.
Applies tointerfaces that display process variable values.
RuleWhen displaying a process variable, the engineering unit, the range or normal operating range, and the value's position relative to the configured limits MUST all be obtainable together; a bare value alone MUST NOT be presented. The unit and range may be displayed nearby, or carried by a stable screen convention, but the operator MUST NOT be required to rely on memory or consult documentation to interpret it. The number of significant digits MUST be commensurate with the measurement capability; digits beyond the measurement's resolving capability MUST NOT be used to imply precision. The unit and range for the same variable MUST be consistent across different screens, and any conversion MUST be explicitly stated. When accepting a numeric input (a setpoint, a limit, a parameter), the input control MUST make the value's engineering unit and allowed range obtainable at the same time, and MUST faithfully present the value the system actually accepted after submission — when rounding, quantization, clamping, or rate limiting makes the accepted value differ from the entered value, that difference MUST be made explicit; an echo of the entered value MUST NOT impersonate the value actually in effect.
Boundary conditionsThis rule does not require a range bar drawn next to every number; "position relative to the limits" may be carried by the value's own state presentation (the tiers in IH1-1). This rule does not specify a concrete number of decimal places; that is determined by the product against the measurement chain's actual capability, with the basis recorded.
Design applicationProvide the unit, range, and limits as part of the measurement point's definition, delivered together with the value, rather than as static text on the screen; when a limit changes, the value's presentation changes accordingly, with no need to redraw the screen.
Verification examples
- User side: ask the operator, without consulting reference material, to state a value's unit, normal range, and how far it is from alarming.
- Implementation side: sample screens and count how many values lack a unit or a range source; check that limits come from configuration rather than being hard-coded into the screen.
CounterexamplesUnder-delivery — a row of numbers on screen reads "382 / 1.7 / 96," and only a senior operator knows what each one is; over-delivery — every value is given a range scale, an explanatory caption, and a mini trend, pushing the information density of a single screen so high it cannot be scanned quickly.
IH1-4Trend is obtainableSHOULD
In one sentence: A single point does not show where the process is heading.
Applies tointerfaces that display a process variable that changes continuously over time.
RuleFor key variables used to judge where the process is heading, the product SHOULD provide a way to obtain the trend — a trend line, a direction-of-change indicator, a rate of change, or a comparison with the prior period all qualify; the trend's time span SHOULD be adjustable, with the span and the sampling method explicitly labeled. On a trend chart, missing data, bad values, or data during a communication loss MUST NOT be interpolated into a normal-looking curve (see IH3-2). Which variables count as "key" is determined by the product against the process and the operating task, with the basis recorded — it is not decided by how much screen space is available.
When a trend curve is displayed, the variable, unit, time window, and whether it is following in real time or viewing history MUST be labeled, and the sampling or aggregation method MUST be knowable. Auto-scaling, dual y-axes, smoothing, or downsampling MUST NOT obscure limit excursions, peaks, and the direction of change; a change in the axis MUST be visible, and extreme values MUST be retained where necessary. Looking back at history MUST NOT put historical values into a real-time control panel; after exiting the history view, the operating conditions MUST be re-checked against current data.
Boundary conditionsThis rule does not require a trend curve permanently resident for every measurement point; calling it up on demand, expanding it on hover, or a dedicated trend screen can all satisfy it. This rule does not specify a default time span for the trend.
Design applicationTreat "current value + direction" as a single presentation object; for variables where judging acceleration or deceleration matters, give a rate of change rather than only a direction arrow.
Verification examples
- User side: given a stable value and a value that is slowly rising but has not yet exceeded a limit, ask the operator to distinguish the two.
- Implementation side: create a gap in the data source and check whether the trend curve shows a break or marks the gap as missing, rather than connecting straight through it.
CounterexamplesUnder-delivery — only an alarm lets anyone discover that a temperature has been climbing continuously for four hours; over-delivery — every screen is blanketed with curves, and key variables are visually indistinguishable from irrelevant ones.
IH1-5Screen hierarchy corresponds to the monitoring taskMUST
In one sentence: The first glance must be able to answer "is everything normal right now."
Applies tomonitoring systems composed of multiple screens.
RuleScreen organization MUST correspond to the granularity of the monitoring task: an overview tier MUST exist that can answer "is everything currently normal, and in which area is there an anomaly," and MUST allow navigation from that tier to the corresponding area and equipment detail; operators MUST NOT be required to confirm the overall state is normal by paging through screens one by one. Every tier MUST state which question it is responsible for answering, and the same question MUST NOT be scattered across multiple screens that do not reference one another. The depth of the hierarchy and the basis for dividing it are determined by the product, with the rationale recorded — not dictated by the default structure of a configuration tool.
Boundary conditionsThis rule does not specify a concrete number of tiers or their naming, nor does it require the overview to be a single separate screen — a persistently resident area-status bar can equally serve the overview function. Requirements for cross-screen navigation and returning are in IH6-1; the division of labor between a shared large screen and an individual workstation is in IH6-2.
Design applicationFirst write down the question each tier must answer, then decide what to draw; put "whether there is deviation" and "where the deviation is" on the overview tier, and leave concrete values to the next tier down.
Verification examples
- User side: inject an area-level anomaly at the overview tier, and record the number of steps the operator needs to locate the specific piece of equipment and whether they need to search by paging through screens.
- Implementation side: check whether every screen has a stated responsibility, and whether there are screens with duplicated responsibility and inconsistent content.
CounterexamplesUnder-delivery — there is only one process flow diagram drawn following the piping layout, and judging whether things are normal overall requires opening a dozen-plus diagrams one by one; over-delivery — five tiers of screens are built for "hierarchical completeness," and the operator must click four times to reach the execute button during an emergency response.
Basis and referencesR14 finds that placing related inflow and outflow on separate display pages hindered the operator's judgment, and contrasts this case with another accident's control system that "displayed only a segment of the plant locally, with no complete overview." R15 records that the display window for a critical storage tank was pushed behind other windows, requiring a deliberate action to bring it forward before it could be seen. Both are accident-investigation findings, not display-design rules (see reference.md R14, R15).
IH1-6Decoration carries no meaning and does not compete for attentionMUST
In one sentence: Three-dimensional piping and skeuomorphic gauges are not a path to reading a value.
Applies tointerfaces that use three-dimensional forms, skeuomorphic controls, gradients, shadows, textures, or background imagery.
RuleDecorative presentation MUST NOT be the sole path to reading process information, and MUST NOT use a visual intensity equal to or stronger than the state tiers (IH1-1). Skeuomorphic gauges, three-dimensional piping, gloss, and shadow are not treated as carriers of process information in these guidelines: they may exist, but with them removed the screen MUST still be able to complete every monitoring and operating task. Animation and motion effects are used only to represent an actual process change or system state that is actually occurring; a continuous motion effect MUST NOT be used to represent the un-deviated state of "operating normally."
Boundary conditionsThis rule does not forbid a process flow schematic, nor does it require the interface to be flat two-dimensional; a schematic carries spatial and connection relationships, which is information, not decoration. This rule makes no ruling on color-scheme style.
Design applicationRun a "decoration-stripping test" — turn off all shadow, gradient, texture, and three-dimensional effects, and check whether every state can still be read; where it cannot, the information was hanging on the decoration to begin with.
Verification examples
- User side: have the operator complete a set of typical monitoring tasks on the screen with decoration turned off, and compare errors and time against the decorated version.
- Implementation side: check whether any state is expressed only by gloss, shadow, or a three-dimensional angle.
CounterexamplesUnder-delivery — a valve's open/closed state is expressed only by the angle of a three-dimensional model, indistinguishable from a distance; over-delivery — process connection relationships are stripped away too, in the name of "high performance," turning the screen into a numeric table, and the operator loses the basis for judging material flow.
3.2 IH2 An alarm is a managed resource
This principle governs the class of signal that is an alarm itself. An alarm's function is to pull the operator's attention over from somewhere else, so its total volume MUST be managed as a budget — the number of alarms is a design metric, not an operational outcome. This principle constrains an alarm's conditions for generation, the basis for prioritization, the means of suppression and clearing, and presentation during a flood period. The boundary between this principle and IH1 is: IH1 governs how the interface presents deviation, IH2 governs which deviations deserve an alarm.
IH2-1Every alarm has something an operator can doMUST
In one sentence: A signal with no operator response action is not configured as an alarm.
Applies tosystems that generate alarms.
RuleFor every signal configured as an alarm, there MUST exist a response action executable by the operator under on-duty conditions, and that action MUST still be valid within the time window in which the alarm occurs; when no assessment, control, mitigation, or escalation response that is still useful and concretely executable exists, that signal MUST NOT be configured as an alarm — it may be an event, a log entry, or a status display, but it does not occupy an alarm channel. A consequence having already occurred, or the window for one response having passed, does not automatically cancel the alarm qualification supported by other responses that remain valid: an alarm remains permitted under this rule if a leak has already begun but isolation is still effective, or an over-temperature has already caused loss but evacuation is still necessary. The record of an alarm's qualification MUST state item by item the response action, the effect that action is intended to achieve, the latest time or condition under which it remains useful, and the role responsible for that action; qualification MUST NOT be judged by a blanket "consequence has occurred" boolean; the record MUST be formed at configuration time and be reviewable during alarm review. An event that need only be logged does not gain alarm qualification by being configured with an eye-catching style or a high-priority color. Adding, suppressing, or modifying an alarm MUST go through rationalization and management-of-change; existing protection is retained during suppression, and the suppression state is queryable.
Boundary conditionsThis rule does not require the response action to be completed by the operator in person — "who to notify, where to escalate" is also a response action, but it MUST be concrete enough to execute. This rule does not forbid logging events that need no response; it only forbids putting them into the alarm channel. This rule also does not require a response action to be retrofitted onto a completed, closed event just to preserve its alarm status: "a completion event only worth logging" and "an initial consequence has occurred but immediate mitigation is still needed" are two different categories — the former MUST NOT be hard-coded with a response just to pad the count, and the latter MUST NOT be automatically downgraded to a log entry merely because it has already occurred.
Design applicationAdd a column "what the operator does" to every alarm's configuration item; cancel the alarm status of anything that cannot be written down. Periodically review alarms that have never been responded to — they are typically violations of this rule.
Verification examples
- User side: randomly sample several entries from a period of alarm records and ask the on-duty operator to state each one's response action; an inability to state one is a violation of this rule.
- Implementation side: count how many alarm entries in the configuration have no recorded response action.
CounterexamplesUnder-delivery — equipment power-on, valve in position, and batch start are all configured as alarms, with hundreds unaddressed in a single shift; over-delivery — to shrink the count, genuinely response-worthy low-priority alarms are downgraded to events as well, and the operator loses the chance for early intervention.
Basis and referencesThe alarm definition cited in R04 takes "requires a response" as a defining element, R05 shows that EEMUA 191 treats alert / event / prompt and "not an alarm" as separate topics alongside alarm, and R13 states that process-state indications should not be designated as alarms. R04 is a vendor's interpretation of a standard, and only the public table of contents of R05 was obtained (see reference.md R04, R05, R13).
IH2-2Alarm load is a design metricMUST
In one sentence: The number of alarms is fixed at design time, not produced by operation.
Applies tosystems that generate alarms.
RuleThe product MUST explicitly define alarm-load targets at the design stage — including the steady-state alarm rate, the acceptable peak, and the criteria for determining a "flood" — and make them measurable and continuously observable; when actual load exceeds the target, this MUST trigger a disposition process (reviewing configuration, eliminating the root cause, adjusting limits), and the observed actual rate MUST NOT be taken directly as the acceptable value. The target values, their basis, and the observed results MUST be queryable. When alarms from multiple sources are stacked on the same operating position, load is calculated summed over the position, not calculated separately per subsystem.
Target reasonableness MUST be verified against the operating task: under normal operation, startup/shutdown, condition changeovers, and typical anomalies, separately measure the time spent on detection, understanding, decision, operation, and waiting for effect, and any missed dispositions; the available response window comes from process consequence analysis, and cannot be reverse-derived from the current average alarm rate. Continuously observe high-frequency repeating alarms, long-standing active alarms, the number of suppressions, and items unresponded past their window, to avoid meeting the total-count target alone. When using a deadband, trigger delay, or return delay to manage chatter, its unit, the object it acts on, and its effect on alarm delay MUST be defined, and it MUST be verified that a genuinely fast anomaly still has sufficient response time; hiding repeated events only at the display layer to fake a load reduction MUST NOT be used.
Boundary conditionsThese guidelines give no concrete alarm-rate figure — benchmark values in public literature carry the scope of the survey and the plant-type premise behind them, and transplanting them directly to a different process and a different operating position does not hold automatically. What this rule requires is that the target be explicitly defined, have a basis, be measured, and be used in decisions; the number is determined by the product against applicable industry practice and its own measurement, with the source recorded.
Design applicationFold the alarm rate and flood count into the routine operating report, reviewed alongside process metrics; make "the ten most frequent alarms" a fixed entry point for improvement.
Verification examples
- User side: pull up the alarm-load statistics for a recent period and check whether there is a disposition record for periods that exceeded the target.
- Implementation side: check whether the system can compute the alarm rate and flood events by position, and whether the counting convention is recorded.
CounterexamplesUnder-delivery — the alarm rate is never tallied, and operators default to assuming half the alarms can be ignored; over-delivery — alarms are shut off in bulk to make the statistics hit target, without fixing the root cause or leaving a record (this also violates IH2-4).
Basis and referencesR13 records the number of alarms two operators had to handle in the 11 minutes before an explosion in one accident, and R11 contains a table of alarm performance metrics labeled as a paraphrase of a standard. These guidelines adopt none of these numbers: R11's table comes from a vendor white paper's paraphrase of a standard, and R13's figure is self-labeled as a secondhand citation from a guideline; the standard's original text was not obtained in either case (see reference.md R03, R11, R13 and Appendix B.2 item 1).
IH2-3Priority is based on consequence and remaining response timeMUST
In one sentence: Priority is not decided by how expensive the equipment is or who raised it.
Applies tosystems that classify alarms by priority or level.
RuleAlarm priority MUST be jointly determined by severity of consequence and the response time left to the operator, using a unified basis for judgment; priority MUST NOT be decided by equipment price, the discipline it belongs to, the submitting department, or a vendor default. The presentation and response expectation for each priority MUST differ clearly, and the count of high-priority alarms MUST be controlled — when the proportion of high-priority alarms is such that "priority" loses its meaning, prioritization is considered not implemented. The basis for priority judgment and the rationale for each alarm's assigned level MUST be queryable, and reviewed whenever process or equipment conditions change.
Boundary conditionsThis rule does not specify the number of priority tiers, nor does it specify the proportion for each tier; the proportion is determined by the product against its own process, with the basis recorded. This rule does not address the prioritization of general reminders outside of alarms.
Design applicationTurn leveling into a two-dimensional judgment table (consequence × available response time), and have every discipline level alarms against the same table; set up a separate review for alarms leveled at the highest tier.
Verification examples
- User side: sample several alarms at different priorities and have two people who did not participate in configuration independently level them against the judgment table, and compare consistency.
- Implementation side: tally the distribution of alarm entry counts and actual occurrence counts by priority.
CounterexamplesUnder-delivery — every alarm is "high," or each discipline levels by its own habit; over-delivery — the judgment table is split into a dozen-plus tiers, and the leveling process becomes so complex that no one is willing to review it, and leveling in practice is still just picked casually by experience.
IH2-4Alarm states are distinct, and suppression is visible and recoverableMUST
In one sentence: An alarm not currently shown can still be counted, and returns by its own condition.
Applies tosystems that generate or display alarms; acknowledgment, silencing, latching, suppression, and disabling requirements take effect according to actual supported capability.
RuleThe reason an alarm is not currently presented MUST be distinguishable among operator shelving, automatic suppression under a defined operating condition, maintenance disabling, and other stated mechanisms; a single umbrella term that masks their differing recovery semantics MUST NOT be used. Every item MUST be countable, and MUST carry the reason, the responsible party, the start time, the recovery condition, and the review requirement, visible on a list that can be pulled up at any time. Recovery holds separately for each of the three mechanisms: operator shelving SHOULD have an upper limit and expiration handling, returning automatically on expiry with notification given; suppression by operating condition recovers automatically per its validated condition-clearing criteria; maintenance disabling is cleared per a specified return-to-service verification, and a review deadline passing MUST NOT be automatically treated as equivalent to having met the conditions for return to service. A permanent hidden entry point with no record, no responsible party, and no recovery path MUST NOT be provided. A long-suppressed item MUST enter review, but duration alone is not proof of a configuration error — a shutdown condition lasting a long time does not make suppression-by-condition a violation.
An alarm's activation state, operator acknowledgment state, audible state, and latch state MUST be expressed separately: acknowledgment does not prove the anomaly has cleared, silencing does not prove it has been acknowledged or handled, and a latch reset is not the same as the equipment restarting. An acknowledgment request MUST be bound to the correct alarm and its event state; a newly occurring unacknowledged state MUST NOT be silently overwritten by a stale acknowledgment. After a system restart, the above states MUST be rebuilt or explicitly marked unknown, and MUST NOT default to acknowledged. Acknowledgment MAY silence audibly at the same time per system convention, but the two actual outcomes MUST be recorded separately; silencing MUST NOT be used to infer acknowledgment in reverse. A bulk acknowledgment MUST be bound to the set of events that was explicit at the time of the action, and MUST NOT sweep in alarms that arrive newly during execution. Where latching capability does not exist, mark it not applicable — do not fake an "already reset."
Boundary conditionsThis rule does not forbid suppression — suppression is a legitimate means of controlling alarm load; what it requires is the visibility and recoverability of suppression. Permanently canceling an alarm is a configuration change and goes through the change process, not the suppression mechanism. This rule does not require every category of disabling to be recovered manually, nor does it require every category to recover automatically — what it requires is that each mechanism state its own means of recovery. This rule does not specify which protocol model is used to express these states.
Design applicationMake "currently suppressed alarms" a permanently reachable list, with a count given at the overview tier; when an item returns on expiry, notify the on-duty staff explicitly rather than restoring it quietly.
Verification examples
- User side: shelve an alarm and then hand over the shift; check whether the incoming operator can discover it and know when it returns; also ask the operator to answer, for any given anomaly, the three questions "is it still present, who has acknowledged it, and when and by whom will it be recovered."
- Implementation side: check for any bypass path around the list (an engineering station directly editing configuration, a local screen with a custom filter); construct the eight situations — "active unacknowledged → acknowledged but still active → returned to normal but still unacknowledged → silenced, then a new alarm arrives → an acknowledgment request pointing at an already-closed old event → maintenance not finished but the review deadline has arrived → automatic-suppression condition clears → state rebuilt after restart" — and check that none of these states get collapsed into a single "handled."
CounterexamplesUnder-delivery — a night shift "clicks off" an annoying alarm, and no one ever learns it was turned off afterward; over-delivery — every suppression requires filling out a long form and waiting for approval, so the operator cannot use suppression in time during a flood and pulls the speaker instead.
Basis and referencesR04 explains that shelving, design-based suppression, and disabling are three states with different management meanings, and R12 requires that whether a value alarms be decided by plant mode. R04 is a secondhand verification, and R12 is a nuclear regulatory review guide whose intended audience differs from the process industries (see reference.md R04, R12; state interlocking and event binding are further supported by the public original text of R27, R28).
IH2-5A flood period has dedicated presentation and first-out discriminationMUST
In one sentence: When the flood arrives, a scrolling list does not help.
Applies tosystems that may experience alarm flooding.
RuleThe system MUST provide a presentation for alarm flooding distinct from the steady state, supporting at least: grouping or collapsing by relationship, so the operator sees a number of groups rather than a scrolling stream of individual entries; first-out discrimination or an explicit indeterminate result: where the source has the discriminating capability, indicate the one or the class that occurred first, and where evidence is insufficient, mark it "order not determinable"; and retaining event-sequence evidence and its limitations (see IH3-5), to support after-the-fact analysis. During a flood, reducing what is displayed by discarding, silently truncating, or keeping only the most recent several entries MUST NOT be used, unless the discarded portion is still fully retained and retrievable and this fact is stated explicitly. A scrolling list is not used as the sole presentation during a flood.
List interaction MUST preserve the object of an action: refreshing and reordering MUST NOT let the alarm under the finger at press-down become a different one at release; filtering, collapsing, and pausing scroll MUST show their scope, the count of hidden or newly added items, and MUST retain an entry point for returning to the full view. Local filtering MUST NOT eliminate position-level critical alarm indication. Where the interface shows no entries, it MUST be able to distinguish "currently no alarms," "hidden by a filter," "still syncing," and "data invalid."
Boundary conditionsThis rule does not require the system to automatically produce a root-cause conclusion — grouping and first-out are information that helps a person judge, not a diagnostic result; a correlation inference the system produces MUST be labeled separately from what actually occurred. This rule does not specify the threshold for determining a "flood" — that is defined by IH2-2.
Design applicationPredefine correlation relationships (equipment dependency, process upstream/downstream, common cause) as part of alarm configuration, rather than guessing from timestamps once a flood happens; give the operator a "show only the first of each group" view.
Verification examples
- User side: inject a typical cascading trip, and record how long it takes the operator to identify the event that occurred first and whether they need to search through history afterward.
- Implementation side: check whether any alarms are silently discarded during a flood, and whether discarded items remain fully retrievable.
CounterexamplesUnder-delivery — at the instant of a trip, two hundred alarms scroll past in reverse chronological order, and the one that occurred first is pushed off the list; over-delivery — a grouping algorithm merges unrelated alarms into one, masking an independent new problem.
Basis and referencesR12 §4.1.2-6 explains that first-out handling identifies the parameter that first exceeded a limit among a group of related parameters, and notes that its usefulness is limited where response characteristics vary with time; §4.6-3 requires that the first-out display be available at the primary workstation and at the plant overview. R05 shows that first-out alarm is a separately named topic in EEMUA 191 (only the table of contents was viewed) (see reference.md R12, R05).
IH2-6An alarm provides response guidance but does not substitute for procedureSHOULD
In one sentence: An alarm tells you something is wrong, not everything you should do about it.
Applies tosystems that provide alarm response guidance, disposition prompts, or recommended actions.
RuleEvery alarm SHOULD have response guidance obtainable nearby — likely cause, information that needs confirming, executable actions, and the escalation path; guidance SHOULD stay consistent with the current operating procedure and state its source, applicable condition, and maintenance responsibility. Guidance MUST NOT be presented as a substitute for procedure or as a source of authority to interpret procedure; where guidance conflicts with the applicable procedure, the procedure governs, and the conflict itself SHOULD be recorded and trigger review. A recommended action generated automatically by the system or derived from statistics MUST be labeled separately from content that comes from procedure (see IH3-6).
Boundary conditionsThis rule does not require the entire procedure to be moved into the interface; guidance may be a summary plus an entry point to the procedure. This rule does not require guidance to be written for every low-priority alarm.
Design applicationBind guidance to alarm configuration and link it to the same authoritative procedure source, so that when the procedure is updated, the guidance is invalidated pending update together, rather than two texts maintained separately.
Verification examples
- User side: randomly sample alarms and check whether their guidance is obtainable within the disposition time and whether its content matches the current procedure.
- Implementation side: check the correspondence between guidance content and its linked procedure, and whether any guidance has gone long unupdated.
CounterexamplesUnder-delivery — an alarm has only one line of coded text, and a new employee must call the shift supervisor to ask; over-delivery — every alarm pops up an entire page of disposition steps that forces reading, blocking the operator's access to the controls in an emergency.
3.3 IH3 Display is no more certain than the data
This principle governs the relationship between every value on screen and the data source behind it. An industrial HMI's screen is a layer of retelling: a value travels through sensors, transmitters, controllers, communication links, and a screen refresh before it reaches the eye, and a problem anywhere along that chain can leave the screen still displaying a number that looks perfectly normal. This principle's requirement is a single sentence: the interface's presented degree of certainty must not exceed what it actually knows. It does not require the system to be more accurate; it only requires the system to be honest about the parts of itself that are inaccurate — uncertainty must look uncertain, staleness must look stale, and a value a person has altered must look altered. The boundary between this principle and IH1 is given in Chapter 1: IH1 governs how a value must be presented to be read, IH3 governs whether this value still represents reality at all.
IH3-1A real-time value and the last known value are distinguishableMUST
In one sentence: Is this the number right now, or the last one that was read.
Applies tointerfaces displaying process values from a remote data source.
RuleA value that is actively updating in real time and "the value last successfully read" MUST be distinguishable on the interface, and that distinction MUST be obtainable without hovering, clicking through, or checking a log. When presenting the last known value, the time it was obtained or how long it has been stale MUST be obtainable at the same time; the product MUST define, for each type of value, the condition under which it is judged "no longer real time," and that condition MUST be commensurate with the data source's actual update characteristics. Once a data source has stopped updating, that value MUST NOT continue to be displayed with a real-time presentation. A value whose cycle is inherently long (manually entered lab data, per-shift tallies) is not judged stale merely because of this, but its update cycle MUST be obtainable.
An unchanged value is not the same as acquisition having stopped. Change-of-value reporting, deadband reporting, and periodic sampling MUST each declare their own evidence of liveness; source time, receipt time, and the last successful verification time MUST NOT be mixed together, and refreshing the browser's clock MUST NOT turn a cached value into a new one. A communication heartbeat alone proves link liveness; it does not by itself prove the sensor is measuring normally — where the two cannot be distinguished, this evidentiary limitation MUST be stated.
Boundary conditionsThis rule does not require every value to permanently display a timestamp; a single state indicator plus an obtainable time is sufficient. This rule does not specify a duration for judging staleness — that duration is determined by the product against each data source's actual update cycle, with the basis recorded. A whole screen ceasing to refresh is covered separately in IH3-3; the quality of the value itself is covered separately in IH3-2.
Design applicationProvide "value + time obtained + whether real time" to the screen as a single data object, rather than letting each screen decide on its own whether to show time; for values whose update cycles differ greatly, set staleness criteria by data-source category rather than one threshold for the whole system.
Verification examples
- User side: cut one data source and ask the operator to point out on screen which values are no longer real time, and to state when each one's data is from.
- Implementation side: check whether staleness criteria are configured by data-source category, and whether any screen path caches the previous frame's value directly and renders it as usual.
CounterexamplesUnder-delivery — after a communication loss, a pressure value sits at 1.8 MPa, presented identically to a normal refresh, and the operator concludes on that basis that the plant is stable; over-delivery — every value gets a second-resolution timestamp line, half the characters on screen are constantly ticking, and the actual staleness indicator is drowned out among them.
IH3-2Data quality is expressed explicitlyMUST
In one sentence: A bad value MUST NOT render as zero, and MUST NOT render as the last good value.
Applies tosystems whose data sources can provide quality, status, or validity information, and interfaces where bad values, over-range values, disconnection, and uninitialized values can occur.
RuleA value's quality state MUST be expressed in its presentation, distinguishing at minimum usable, suspect, and unusable; an unusable value MUST NOT be rendered as a number that looks normal — including rendering as zero, rendering as the bottom of the range, rendering as the last valid value, or being filled with a default. Quality state MUST flow together with the value to every consumer where that value actually exists: the screen, trends, reports, and alarm judgment use the same quality information, and a situation where the screen shows a bad value while an alarm still computes from it MUST NOT occur; the product MUST NOT evade this rule by simply not registering some consumer. The concrete meaning and generating conditions of the suspect tier, and whether it may continue to participate in computation under each consuming use, MUST be defined separately and be queryable — suspect does not automatically mean "treat as most conservative"; a report, a trend, and alarm judgment may each apply a different, defined disposition to the same suspect value, but that MUST NOT be left to each one's own default behavior.
Quality, whether quality evidence is known, human override, time obtained, the last time it was successfully verified valid, and protection-bypass state MUST be retained separately, and MUST NOT be merged into a single judgment. When there is no quality evidence, present it as unverified; "refresh is normal" MUST NOT be used as proof that a value is usable; a protection-bypass indicator is bound to the affected protection function and object, not conditioned on whether the measurement source has changed — under a bypassed interlock, the sensor reading may still be true; what has failed is the protection relationship.
Boundary conditionsThis rule does not require the interface to display the underlying protocol's quality codes verbatim to the operator; what it requires is that these quality distinctions not be flattened away. This rule does not specify a finer breakdown beyond the floor on the number of quality tiers, nor does it require every data source to be capable of providing quality information — where it cannot, the product MUST, per IH3-1, use timeliness as an obtainable substitute criterion marked as unverified; normal timeliness does not constitute proof that quality is usable, and this limitation MUST be recorded. This rule does not require every consumer to uniformly discard suspect values; what it requires is that the disposition for each use has been defined.
Design applicationTreat quality as an intrinsic attribute of the value object rather than an add-on decoration; separately confirm, across trends, statistics, and alarms, that the handling of bad values (skip, break, flag) has been explicitly defined, rather than left to each one's default behavior.
Verification examples
- User side: inject a disconnected analog point and ask the operator to judge whether that location currently has a usable reading.
- Implementation side: check whether the handling of a bad value is consistent across the four paths of screen, trend, alarm judgment, and shift report; check for any conversion step that silently replaces a bad value with zero or the previous value.
CounterexamplesUnder-delivery — after a transmitter disconnects, the analog value returns zero per protocol, the screen shows "level 0%," a low-level alarm fires immediately, and the operator responds as for a low level; over-delivery — every suspect value is turned into a sight-blocking, eye-catching marker, and brief suspect states caused by normal fluctuation keep the screen flashing continuously until the operator learns to ignore the marker.
Basis and referencesR17 specifies that the result of a failed status MUST NOT be used and that a client MUST check the status code before use; R18 gives concrete status vocabulary under usable / suspect / unusable (including substitute value, initial value, and last usable value when there is no communication); R12 §14.3 requires an indication for invalid data and marks data that failed an accuracy check as unverified. The protocols specify the data contract; they do not specify how the interface presents it (see reference.md R17, R18, R12).
IH3-3A screen that has stopped refreshing MUST NOT look like normal operationMUST
In one sentence: A frozen screen is the most dangerous kind of "normal" in this domain.
Applies tomonitoring screens that depend on continuous data updates, including workstations, shared large screens, and mobile terminals.
RuleWhen the update chain between a screen and its data source is interrupted, the screen's process stops responding, or a display terminal loses contact with the system, that screen MUST indicate, in a way perceivable by the operator at normal monitoring distance and normal attention level, that it is no longer updating; this indication MUST NOT depend on the operator proactively checking a timestamp tucked in a corner. The product MUST define, for each type of display terminal, the criterion for "still updating" and the presentation for its failure, and MUST ensure that presentation can still be produced when the chain is interrupted — an interruption indicator that depends on the very chain that has been interrupted does not satisfy this rule. This rule applies equally to unattended shared displays.
Restoring communication is not the same as restoring monitoring. After a first connection, a reconnection, or a service switchover, the current value, quality, mode, operating authority, active and unacknowledged alarms, and the intervention list MUST be checked before the failure indication is cleared, and only to the extent that actual synchronization has completed. A stale event MUST NOT overwrite a newly received state; rebuilding the active-alarm list is not the same as backfilling the history for the interruption period, and gaps in history MUST be marked separately. No control command is automatically resent during recovery, and control authority is not restored on the strength of a cache alone. When the screen's own process is hung, a timer inside that same process cannot serve as the fault indicator; there MUST be a watchdog outside the process, an independent signal, or a validated alternative monitoring path.
Boundary conditionsThis rule does not require the screen to clear or go black when contact is lost; retaining the last screen with a clear failure indication overlaid is an acceptable approach (the individual values on that last screen remain governed by IH3-1). This rule does not specify that the means of perception must be visual, nor does it specify the duration for judging an interruption. A planned maintenance window does not exempt this rule — only its indication may include a stated reason.
Design applicationMake "am I still alive" a state that the display terminal itself can determine locally, driven by an independent mechanism on the terminal side, rather than waiting for the server to push a "you have disconnected" message; for unattended terminals such as large screens, design the failure indication to be visible from a distance.
Verification examples
- User side: cut a workstation's data link without the operator's knowledge, and record the process from interruption to the operator's noticing and what cue they relied on.
- Implementation side: separately inject a network interruption, a server stop, and a hung screen process, and confirm all three produce a failure indication; check whether producing that indication depends on the very chain that was interrupted.
CounterexamplesUnder-delivery — a control-room large screen stays frozen on a screen from two hours before a service restart, and on-duty staff believe all night that the plant is stable; over-delivery — a one-second network jitter pops a full-screen interruption overlay that covers the controls, and the operator is blocked by the overlay right when they genuinely need to act.
Basis and referencesR15 records that a stuck servo level gauge made the level display "flatline," and it had already stuck 14 times in the three-plus months before the accident; "last usable value when there is no communication" in R18 is this situation's existing expression at the protocol level (see reference.md R15, R18).
IH3-4Force, bypass, and simulation MUST be explicit and countableMUST
In one sentence: Who changed it, to what, and how many are still not restored.
Applies tosystems that provide point forcing, signal bypass, output override, interlock removal, or simulation-run capability.
RuleAny human intervention that changes the source of a displayed value, a control output, or a protection relationship MUST be explicitly indicated everywhere that value or affected object appears; the indication MUST NOT exist only on an engineering station or a single dedicated screen. The system MUST provide a list of every point currently forced, bypassed, overridden, or in simulation, retrievable at any time, containing who performed it, when, the reason, and the expected restoration condition; the list's current count SHOULD be obtainable within the operator's routine field of view. An intervention path that does not enter this list MUST NOT be provided. Entering or exiting simulation-run mode MUST be an explicit action and be notified to on-duty staff, and a screen under simulation MUST be distinguishable from a screen under actual operation.
Boundary conditionsThis rule does not forbid forcing and bypass — they are legitimate means for maintenance and commissioning; what it requires is that these states cannot go invisible. This rule does not specify a review cycle for the list, nor does it require the system to automatically clear a force; automatic clearing is itself a risk in some scenarios, and whether to set a deadline is determined by the product against its process, with the basis recorded. Suppression of a related alarm is covered separately in IH2-4; the trace and review of the action are covered separately in IH5-5.
Design applicationDeliver intervention state to the screen through the same mechanism as data quality (IH3-2), so that neither "this value was given by a person" nor "this value is bad" can be silently treated as a normal reading; put the list's count on the overview tier, so "how many forces are currently on the plant" is information obtainable at a glance.
Verification examples
- User side: set forces on several points and ask the operator to count the number and location of currently intervened points, comparing their result with the system's list.
- Implementation side: enumerate every entry point that can change a point's source (screen, engineering station, offline configuration, commissioning tool), and confirm every one writes to the same list.
CounterexamplesUnder-delivery — three interlock signals bypassed during maintenance are forgotten by everyone after restart, and are only discovered a month later in an offline configuration during an accident investigation; over-delivery — every forced point is presented with a continuously flashing red box, dozens flash simultaneously on screen during maintenance, and the operator ends up suppressing the entire indicator scheme.
Basis and referencesR18's status vocabulary already includes both simulated value and local force, showing that this kind of intervention is already treated in the existing data contract as a state requiring separate indication; R15 records that control-room permission settings allowed all personnel to change any parameter, including alarm setpoints. Neither specifies how the interface presents it (see reference.md R18, R15).
IH3-5Time and sequence are determinableSHOULD
In one sentence: The order of events is a precondition for judging causation.
Applies tosystems that record events, alarms, and operations, and that may be used for after-the-fact analysis.
RuleAn event's timestamp SHOULD be able to support judging "which came first": the product SHOULD make clear where a timestamp is generated (a field device, a controller, or upper-level software), and ensure that sources participating in judging the same causal chain use a comparable time basis. When time bases are not comparable, clocks are not synchronized, or the order cannot be determined, presentation order MUST NOT be used to imply the order of occurrence — the arrangement of a list does not constitute a temporal conclusion. The time zone and daylight-saving handling of a timestamp SHOULD be made clear, and records spanning shifts and spanning days SHOULD be unambiguous. Sequence information used for first-out discrimination (IH2-5) SHOULD come from a source with the corresponding discriminating capability, with that source noted.
Boundary conditionsThis rule does not require system-wide clock synchronization to any particular precision — the resolution needed depends on the process dynamics being judged, and is determined by the product with the basis recorded. This rule does not require every event to have sequence-determining capability; what it requires is that the boundary of that capability is stated, rather than assumed to exist by default.
Design applicationSave the location where a timestamp was generated as a field of the event record itself; in an after-the-fact analysis view, give records with differing time bases a distinguishable presentation, rather than interleaving them into what looks like a single certain timeline.
Verification examples
- User side: given the record of a cascading event, ask two analysts to independently judge which occurred first, and compare their conclusions and the basis for each.
- Implementation side: create a clock offset between the upper-level software and a controller, and check whether the event list still presents causal order by arrangement without qualification.
CounterexamplesUnder-delivery — an after-the-fact analysis sorts all records by the time the upper-level software received them, network queuing puts the genuinely first event in seventh place, and the investigation reaches a wrong conclusion; over-delivery — in the name of "absolutely reliable ordering," every record is required to carry a high-precision time source, and events that cannot meet that condition simply go unrecorded, losing a large amount of otherwise-usable information instead.
IH3-6Derived values and measured values are labeled separatelySHOULD
In one sentence: A calculated value and a measured value must not look the same.
Applies tointerfaces displaying values obtained through calculation, inference, soft-sensing, statistics, or model estimation.
RuleA value obtained through calculation or estimation SHOULD be distinguishable in presentation from a value obtained through direct measurement, and its computational basis SHOULD be obtainable — the inputs used, the method's name and basis, and its behavior when an input is missing or suspect. A derived value MUST NOT be presented under the name of a measured value. A derived value MUST state its required inputs, redundancy or substitution rules, and validity boundary, and its output quality is judged accordingly: when a required input is unusable (IH3-2) or stale (IH3-1), it MUST NOT continue to be presented as a normal value; where a validated substitute input exists and the input contract is still satisfied, it MAY continue to be presented as a normal value with the input combination used noted. Continuing to present a normal value while the input contract is not satisfied is a failure of this rule. A diagnosis, prediction, or correlation inference produced by a model or statistics SHOULD be labeled separately from a fact that has actually occurred, and stated as an inference.
Boundary conditionsThis rule does not require the formula to be displayed on screen; an obtainable computational basis can be a single explanatory entry point. This rule does not object to the use of soft-sensing and inference — they are valuable when direct measurement is unavailable; what this rule requires is that their nature not be hidden. A simple unit conversion or range scaling is not a derived value in the sense of this rule.
Design applicationTreat a value's source type (measured, calculated, manually entered, estimated) as an attribute of the value object, carried at the same layer as quality and timeliness; for an inference-based diagnostic conclusion, make "what is the basis" reachable from the same entry point as the conclusion itself.
Verification examples
- User side: ask the operator to point out, on one screen, which numbers are measured by an instrument and which are calculated, and compare their judgment with the actual configuration.
- Implementation side: invalidate the input point of a soft-sensing value and check whether the derived value correspondingly shifts to suspect or unusable, rather than continuing to compute from the last valid input.
CounterexamplesUnder-delivery — a column composition derived from three measurement points is used as if it were an online analyzer reading, and one of those three points has been forced without anyone knowing; over-delivery — every derived value is forced to expand its full calculation chain and input list next to it, turning the operating screen into a formula sheet, making key values harder to locate instead.
3.4 IH4 Control mode is always present
This principle governs the control mode a piece of equipment, loop, or plant is currently in, and the division of labor between automatic and manual. Mode confusion is a classic cause of accidents in this domain: a person believes they are in control while automatic is actually acting, or believes automatic is still working when it has already long since exited. Its distinguishing feature is that the person in the moment of the error does not feel they are erring — every action is correct for the mode they believe they are in. This principle is therefore not satisfied by "mode is queryable," but requires mode to be present: in view without asking, without recalling, without clicking anything open. The boundary between this principle and IH5 is given in Chapter 1: the mode state itself belongs to IH4, the action of changing mode belongs to IH5.
IH4-1The current control mode is persistently visibleMUST
In one sentence: You know who is in control right now without clicking anything open.
Applies tosystems where a controlled object has more than one control mode (manual/automatic, local/remote, cascade/series, maintenance/operating, etc.).
RuleA controlled object's current control mode MUST be simultaneously visible with that object's other state, without requiring the operator to take an additional action to learn it; the mode's presentation MUST be bound to that object's position on screen, rather than existing only in a single, centralized mode list. When a screen provides an operating entry point for an object, that object's current mode MUST be obtainable within the same field of view. Mode presentation is governed by IH1-2: it MUST NOT be distinguished by color alone. When mode is unknown or indeterminate, it MUST be presented as unknown; it MUST NOT be presented as the default value of any specific mode.
Control source, control method, and equipment operating state MUST be explained separately: local/remote states where the command comes from, manual/automatic/cascade states the control method, running/stopped/tripped states the equipment's state, and operating authority states who currently may issue commands. They can hold simultaneously; a synthesized, mutually exclusive "local/remote/automatic/stopped" menu MUST NOT be composed. Each dimension is defined against the controlled object's actual capability; a dimension it does not support is not forced in.
Boundary conditionsThis rule does not require every graphic element to carry a line of mode text; a stable shape or position convention is sufficient to carry it. This rule does not specify how modes are divided or named — that is decided by the control system and the process; but the semantic consistency of a mode with the same name is governed by IH4-5. An object with only a single, non-switchable control mode is recorded "not applicable."
Design applicationMake mode and state two attributes of the same display object, so the two cannot be rendered separately; for operating-panel-style interfaces, place mode presentation adjacent to the operating control, so that "I'm about to act on it" and "who currently owns it" complete within the same glance.
Verification examples
- User side: randomly point at several controlled objects on screen and ask the operator to state each one's current control mode without clicking anything.
- Implementation side: check for any screen that provides an operating entry point but does not show mode; check the rendering branch for when mode is unknown.
CounterexamplesUnder-delivery — a pump's start/stop button is right there on the screen, but whether it is local or remote requires opening a separate "control method" screen to find out; over-delivery — every object is stacked with four lines of text for mode, sub-mode, in-service state, and permission, filling the screen with state text and crowding out the actual process information instead.
Basis and referencesR12 §9.4-1 requires that the current mode be indicated by a prominent design feature, and describes mode error as an inappropriate action, or a required action not taken, "resulting from believing the system is in one mode when it is actually in another"; the R20 abstract notes that adding modes without supporting the cognitive demands that come with them produces new forms of error. Only the abstract of R20 was obtained this time (see reference.md R12, R20).
IH4-2A mode change is noticeable and traceableMUST
In one sentence: Even dropping back to manual by itself counts as a change.
Applies tosystems where the control mode may change.
RuleEvery change of control mode MUST be noticeable to the on-duty operator, whether that change is initiated by a person or by the system itself; a system-initiated exit from mode (exiting automatic due to a bad input, an over-limit, actuator saturation, communication loss, or an internal protection function) MUST be presented the same as a manual switch, and its reason MUST be obtainable. Every mode change MUST be recorded, with the record containing the time of change, the mode before and after, the initiator (person or system), and the reason; this record MUST be retrievable afterward alongside the operating record and the alarm record. A mode-change path that produces neither presentation nor a record MUST NOT exist.
Boundary conditionsThis rule does not require every mode change to raise an alarm — whether it is configured as an alarm is judged by IH2-1 and IH2-3; what this rule requires is noticeability and traceability, and a single state change plus one event record is sufficient. This rule does not specify how long the change presentation must persist.
Design applicationTreat "the system spontaneously exiting automatic" as a category of event requiring dedicated design, rather than letting it reuse a generic state refresh; at the design stage, enumerate every condition that could cause an exit from automatic, and confirm the presentation and reason text for each one individually.
Verification examples
- User side: make a loop that is in automatic exit automatic due to a bad input, and record whether the operator notices and whether they can state the reason for the exit.
- Implementation side: enumerate every path that can change mode (the operator, upper-level software, controller-internal logic, a local panel, a configuration download), and confirm that every path produces both a presentation and a record.
CounterexamplesUnder-delivery — a loop drops back to manual overnight due to transmitter chatter, and on screen only a small marker changes from "A" to "M," with no event and no reason, and by the time the day shift takes over the output has drifted far off; over-delivery — every normal batch-sequence mode switch is turned into an eye-catching notice requiring confirmation, and the operator is repeatedly interrupted during normal operation, gradually losing sensitivity to mode-change prompts altogether.
Basis and referencesR12 §9.4-4 through §9.4-6 require a prompt and mandatory manual confirmation for a mode change with significant consequences, separate notification before and at the time an automatic mode change occurs with time allowed to adjust, and that the condition triggering the change be readily obtainable. This document is a nuclear regulatory review guide, and its "should" is addressed to reviewers (see reference.md R12).
IH4-3The scope and exit conditions of automatic are knowableMUST
In one sentence: What it is doing, on what basis, and when it will let go.
Applies tosystems with automatic control, automatic sequencing, automatic optimization, or automatic disposition capability.
RuleFor every automatic function currently in service, the operator MUST be able to obtain three things: which objects it currently acts on, what target or setpoint it currently acts by, and under what conditions it will stop or exit. These three things MUST be obtainable while the automatic function is running, not written only in a design document or in configuration. Where an automatic function has a defined scope of applicability (an operating-condition range, preconditions for being placed in service, dependent measurement points), that boundary MUST be obtainable; when the operating state has approached or gone beyond that boundary, the object MUST NOT be presented as though it were in normal operation only. Where multiple automatic functions act on the same object simultaneously, their relationship and order of priority MUST be obtainable.
For automatic sequences and batch tasks, the current step, the completed steps, the transition condition to the next step, the reason for waiting, and the distinction among pause, stop, abort, and resume MUST be queryable; the interface MUST NOT fabricate progress with a timed animation. When a recipe or step parameter is changed, it MUST be stated whether it acts on the current batch, unexecuted steps, or subsequent batches, and the affected conditions MUST be re-checked per IH5-2; resuming a sequence MUST NOT default to redoing a step that has already produced a physical effect.
Boundary conditionsThis rule does not require the control algorithm or tuning parameters to be shown to the operator; "what basis it acts by" means the target, setpoint, and constraints, not the implementation. This rule does not require a separate description written for every basic loop — loops of the same type may be covered by a unified convention. State handover after an automatic exit is governed by IH4-4.
Design applicationProvide "scope of action, current target, exit conditions" as three standing pieces of information for an automatic function, delivered together with its in-service state; for high-level automatic functions spanning multiple loops (advanced control, automatic start/stop sequences), give the scope it is currently managing at the overview tier.
Verification examples
- User side: while an automatic function is running, ask the operator to state which objects it is controlling, what the target is, and under what conditions it will exit.
- Implementation side: check whether the stated exit conditions and the actual exit criteria in the control logic come from the same source, and check for any exit path that exists only in code and is never presented.
CounterexamplesUnder-delivery — an automatic optimization function changes the setpoints of a dozen-plus loops in the background, and the operator can only see the setpoints changing, with no idea who is changing them or on what basis; over-delivery — the entire control-strategy structure diagram and every parameter are moved onto the operating screen, and the operator needs to understand control-engineering content just to complete routine monitoring.
IH4-4The state needed for takeover is given before takeoverMUST
In one sentence: Handing back control authority is not the same as handing back control.
Applies tosystems where a scenario exists in which automatic hands control over to a person.
RuleWhen an automatic function exits or is switched to manual, the system MUST make the state needed to take over obtainable to the operator: the current output value or actuator position, the target and deviation before the automatic exit, the reason that caused the exit, and the list of objects currently in a manual state. A planned switch MUST occur without disturbance, or the disturbance MUST be stated explicitly — if the switch itself will cause the output to jump, that jump MUST be foreseeable before the switch, and MUST NOT be handed over as a silent jump. A sudden exit triggered by protection, a bad value, or a fault may not have time for advance notice: in that case, without delaying a necessary protective action, the actual output, the reason for the exit, and the current constraints MUST be presented promptly, and the possibility of such an exit and its handover method MUST be knowable in advance; "the interface stated it" MUST NOT be used to legitimize an output jump that is otherwise not permitted — the limits on the output jump itself are determined by the corresponding control and process-safety conventions, not by the interface's wording. When a handover occurs during an abnormal operating condition, the system SHOULD also give which constraints currently apply to that object (interlock state, limits, the effect of other automatic functions). Completed handover MUST NOT be indicated solely by a change in the mode marker.
Boundary conditionsThis rule does not require the system to give disposition recommendations — giving recommendations falls under IH2-6, and must not substitute for procedure. This rule does not specify the presentation form of the information needed for handover, nor does it require complete handover information for every routine manual/automatic switch; handover during an abnormal operating condition is the primary scenario this rule targets.
Design applicationDesign "exiting automatic" as a handover, not a state jump: at the moment of exit, gather the reason, current output, deviation, and constraints at the location the operator is already looking at; for automatic functions that may exit during an abnormality, design their exit presentation in advance.
Verification examples
- User side: trigger an automatic exit during an operating condition with a deviation present, and record whether all the information the operator needs to judge "what to do now" is already at hand, and whether they need to open another screen to find it.
- Implementation side: check whether a planned manual/automatic switch has any path with an output jump, and whether there is a foreseeable notice before the jump; for a sudden exit, check whether the notification mechanism would delay a necessary protective action, and whether the actual output and reason are obtainable promptly after the exit.
CounterexamplesUnder-delivery — advanced control exits entirely overnight because a measurement point became suspect, the loop falls back to manual, and the valve positions all sit at the opening they happened to be at the instant of exit; the operator does not discover the next morning that the column has been drifting the whole time; over-delivery — every exit from automatic forces a page of a handover checklist requiring item-by-item confirmation to pop up, and the operator is blocked by the checklist right when they need to adjust a valve immediately.
Basis and referencesR19 argues that prolonged monitoring of an automated process degrades skill, while a takeover, when needed, in turn demands higher skill under lower workload; R12 §9.4-3 requires stating how the new mode changes automation's operation, its effect on the plant, and the operator's responsibilities. R19 is a 1983 discursive review, not empirical research (see reference.md R19, R12).
IH4-5A mode with the same name means the same thing everywhereMUST
In one sentence: "Manual" on two different screens MUST be the same thing.
Applies tosystems composed of multiple subsystems, multiple vendors' equipment, or multiple generations of screens.
RuleA control mode with a given name MUST refer to the same thing across the entire range visible to the operator; when the same-named mode in different subsystems actually has different semantics, the same name MUST NOT continue to be used in presentation to the operator — it MUST be renamed, qualified, or clearly distinguished in presentation. The mode name, its meaning, and its effect on operation MUST have a single unified source, referenced by every screen; a newly integrated subsystem MUST complete a mode-semantics reconciliation, and MUST NOT simply carry over its own built-in mode naming. For the same object appearing on a local panel and on an upper-level screen, the mode presentation MUST be consistent, or the difference MUST be clearly stated.
Boundary conditionsThis rule does not require unifying the internal mode implementation of different vendors' equipment, nor does it require each subsystem to modify its control logic; what it requires is that the name and semantics presented to the operator are consistent. This rule does not specify a naming convention.
Design applicationWhen integrating a new subsystem, make "mode reconciliation" a fixed deliverable item, confirming the meaning of every mode name in the context of this plant one by one; keep the mode definitions centrally maintained in one place, with screens pulling values from it rather than each hard-coding its own text.
Verification examples
- User side: take one object each from two subsystems with different origins that are both labeled with the same mode name, and ask the operator to state who currently controls each of the two objects and what they themselves can do, comparing their answer against reality.
- Implementation side: inventory every mode name that appears across the whole system and its source of definition, and find entries where the same name has different meanings or different names have the same meaning.
CounterexamplesUnder-delivery — vendor A's "remote" means controlled by the upper-level computer, vendor B's "remote" means controlled by a local control cabinet, and the two are displayed side by side on the same screen; over-delivery — in the name of absolute precision, mode names are turned into a string of long codes prefixed with the subsystem name, and the operator cannot read out their actual meaning in an emergency.
IH4-6Automatic MUST NOT silently compensate in a way that masks an anomalySHOULD
In one sentence: The valve is already wide open — that fact needs to be said.
Applies tosystems with closed-loop control, automatic regulation, or automatic compensation capability.
RuleIn the process of maintaining a controlled variable, automatic control absorbs disturbances, and this process itself can mask an equipment or process condition that is worsening. The product SHOULD make this kind of automatically absorbed deviation noticeable: an actuator approaching or reaching a travel limit, a control output drifting in one direction over the long term, the manipulated quantity needed to maintain the same target continuously increasing, and an automatic function repeatedly triggering the same compensation — these situations SHOULD be identified and presented, and SHOULD NOT be reflected only as "the controlled variable has stayed steady." When an automatic function has no remaining margin to keep compensating, that object MUST NOT continue to be presented as though it were operating normally. Whether the above situations are configured as an alarm is judged per IH2-1 and IH2-3; this rule presupposes nothing about that.
Boundary conditionsThis rule does not require the system to produce a fault-diagnosis conclusion — identifying that "the manipulated quantity is continuously increasing" is a factual presentation, while judging "this is heat-exchanger fouling" is a diagnosis, and if the latter is given, it MUST be labeled as an inference per IH3-6. This rule does not specify concrete values or windows for judging "continuous" or "approaching the limit"; those are determined by the product against equipment characteristics, with the basis recorded.
Design applicationTreat actuator margin as a piece of visible information equally important as the controlled variable itself, rather than something obtainable only on a diagnostic screen; for key loops, fold "the manipulated quantity needed to maintain the current target" into routine trend observation.
Verification examples
- User side: simulate a slowly developing increase in resistance where the controlled variable stays within the normal range the whole time, and record whether the operator can notice it before the actuator reaches its limit.
- Implementation side: check whether states such as actuator saturation and one-directional output drift are captured and presented, or whether they appear for the first time only when automatic is exited.
CounterexamplesUnder-delivery — a temperature display stays steady for eight months until the control valve is fully open at 100% and can no longer compensate, and the plant goes out of control within minutes; over-delivery — every normal regulating action is turned into an "automatic is compensating" notice, with compensation information scrolling continuously on screen, drowning out the genuine exhaustion of margin when it happens.
3.5 IH5 Operation is authorized, verified, and traceable
This principle governs the control actions an operator issues through the interface. A single click on an industrial HMI can start a pump, open a feed line, or reset an interlock — its consequence is not absorbed by an undo button, so the design focus here is not "can it be changed back," but verifying the object and consequence clearly before an action is issued, and leaving a traceable record after the action is issued. At the same time, a line must be drawn clearly: confirmation on the interface is a checking aid for a person, not a safety measure — what it cannot stop must be stopped by an interlock or a safety function. The boundary between this principle and IH4 is given in Chapter 1.
IH5-1A critical operation uses select–verify–executeMUST
In one sentence: See clearly what got selected, then act.
Applies towithin systems where control commands can be issued through the interface, operations whose consequence reaches the critical level defined by the product.
RuleA critical operation MUST consist of three distinguishable steps — selecting the object, verifying the object and the intended action, and issuing execution; between selection and execution, the currently selected object and the action about to be executed MUST be clearly visible, and a critical command MUST NOT be issued with a single click. The selected state MUST be verifiable within the same field of view as the execution action, and the interface MUST NOT automatically switch the selected object while a selection is in effect. The product MUST define which operations count as critical and record the basis; the basis follows consequence, not frequency of operation.
The semantics and end condition of each category of control action MUST be explicitly defined and distinguishable on the interface: ordinary stop, emergency-stop request, fault reset, start, and continuous manipulation (jog, press-and-hold run, continuous adjustment) each change something different, each has its own way of confirming its execution result, and each has its own way of ending on loss of focus, finger release, connection loss, or terminal lock-screen. A continuous manipulation MUST stop by its defined ending method when input is interrupted; it MUST NOT remain in a continuing-action state because the interface lost contact. An emergency-stop request MUST NOT be mechanically delayed by a generic multi-step confirmation; acknowledgment is not the same as energy having been isolated, and a reset is not the same as permission to restart — the three MUST be expressed separately on the interface.
Touch and continuous manipulation MUST be verified against actual field input conditions: gloves, wet hands, vibration, mis-touching an adjacent target, dragging out of the hot zone, multi-touch, and a keyboard long-press must each be considered separately; a critical control MUST NOT be discoverable only through hover or a hidden gesture. A press-and-hold run MUST have a release or loss-of-contact ending mechanism executable on the control side, and MUST NOT rely solely on the browser sending a single release event. An ordinary confirmation, a session lock, or an overlay MUST NOT block an already-assigned, necessary emergency-stop path.
Boundary conditionsAn emergency-stop request is handled per its own action contract and is not bound by the generic three-step confirmation for ordinary critical operations. This rule does not require every operation to go through three steps — a high-frequency routine adjustment (such as a small setpoint change) forced through three steps would distort the operation; whether to include it is judged by consequence. This rule does not specify the concrete physical meaning or timing of stop, reset, and start on a given piece of equipment — that is decided by that equipment's control and safety conventions; what this rule requires is that these meanings be written down and not conflated on the interface. Nor does this rule give generic size or duration figures for touchscreen use, gloved operation, or weak mobile network conditions — the scope of task and permitted actions under these conditions are recorded by the product against the field. This rule does not require the three steps to be completed by three clicks; a single drag plus a single confirming action can also constitute verification and execution, as long as the verification step actually exists and the object is visible. This rule does not concern the content of the confirmation dialog — that is IH5-2.
Design applicationTreat selection as a persistently visible product state rather than a momentary highlight; present "what is being done to which object" on the execution control, so that verification does not require moving one's gaze back and forth between two places.
Verification examples
- User side: on a densely laid-out screen, ask the operator to perform a critical operation on a specified piece of equipment, and record whether they confirmed the object before executing and whether a mis-selection occurred.
- Implementation side: inventory every critical-operation entry point and confirm that no single-click-to-execute path exists, including shortcut keys, right-click menus, and touch gestures.
CounterexamplesUnder-delivery — densely arranged valve graphics on a process flow diagram act on a single tap, and the operator mis-touches an adjacent valve on the touchscreen; over-delivery — even changing a setpoint is turned into a three-step confirmation, and the operator, needing continuous fine adjustment, ends up confirming click after click and switches to changing the value directly on a bypass system instead.
IH5-2Confirmation carries the consequence, not just a questionMUST
In one sentence: "Are you sure" is not confirmation, it is one extra click.
Applies tosystems that provide a confirmation step for an operation.
RuleA confirmation step MUST carry the concrete information of this specific operation: the object, the action, the current state and the expected state after execution, and any known consequence or unmet precondition under the current operating condition; a generic confirmation containing no operation object and no consequence MUST NOT be used. When a precondition for execution is not met (an interlock not reset, upstream not ready, insufficient permission, the object in a mode that does not permit this operation), the confirmation step MUST state that condition, and the operator MUST NOT be made to confirm an operation that is bound to fail. The existence of a confirmation step MUST NOT become a reason to omit upfront validation. When the same operation is repeatedly required to be confirmed in a short period with unchanged content, that confirmation has lost its checking function, and the product SHOULD re-evaluate its configuration.
A precheck does not substitute for a re-check before execution. What is presented before confirmation is the precondition obtainable at that time and its currency; before a command is accepted and takes effect, the control system MUST re-verify permission, mode, interlocks, and action conditions against the authoritative state. If a critical object, parameter, or consequence changes after the confirmation box opens, the earlier check is invalidated, and it MUST be re-verified rather than authorized to continue on stale conditions. A condition that can only be determined at the moment of execution MUST state that limitation, and MUST NOT be disguised as having already been verified before confirmation.
Boundary conditionsThis rule does not require confirmation to be a dialog box; expanding in place, a second press, or a two-key concurrent action can all serve as confirmation. This rule does not require listing every possible consequence — what it requires is listing the key information known for this specific instance, not a generic warning text. This rule does not specify the input method for confirmation.
Design applicationGenerate confirmation content from the operation request itself, rather than writing it as static copy; run precondition validation before confirmation so the confirmation step can present the validation result, while also retaining an independent re-check before execution on the acceptance side — the two answer different questions: "can it be done now" versus "can it still be done at this instant." Write "what change invalidates a prior check" as an explicit list, rather than inferring it from how long the confirmation box has been open.
Verification examples
- User side: ask the operator, when a confirmation step appears, to state what is about to happen and to whom; an inability to state it is a failure to implement this rule.
- Implementation side: sample confirmation copy and tally the proportion that contains no object and no action; check the order between precondition validation and confirmation, and whether an independent pre-execution re-check exists on the acceptance side. Construct the three situations "permission revoked after confirmation," "taken over locally after confirmation," and "interlock state changes after confirmation," and check whether the command is blocked rather than executed on the old conditions.
CounterexamplesUnder-delivery — every operation shares the single line "Are you sure you want to perform this operation?" and the operator develops a reflexive click; over-delivery — every confirmation lists a dozen-plus possible consequences and a disclaimer, and the operator skips straight to the confirm button, with the increased reading load buying no improvement in checking quality.
IH5-3An ordinary confirmation is not evidence of implementing a safety functionMUST
In one sentence: What a pop-up cannot stop must be stopped by something else.
Applies toall industrial HMIs.
RuleAn ordinary HMI confirmation, prompt, warning, or on-screen display of permission is not, by itself, evidence of implementing a safety function; the product MUST NOT reduce, delay, or cancel an applicable interlock or protective measure on the strength of "the interface prompted" or "the operator confirmed" alone. Wherever risk-reduction responsibility is to be assigned to an alarm, an operator response, access control, or another HMI-related mechanism, the applicable safety lifecycle MUST make that assignment of responsibility, independence, performance requirement, human-factors requirement, and verification requirement explicit; these guidelines neither grant nor certify that protective credit, nor do they deny the possibility of such an assignment. When an operation the interface provides may interact with an interlock or protection (reset, bypass, suppression, force, permit override execution), the interface MUST faithfully present the nature of that interaction and the current protection state, and a bypass or removal MUST NOT be presented as an ordinary operation; the interface MUST faithfully distinguish ordinary control, protection state, bypass, reset, and restart, and present its true capability boundary. When an interface mechanism that has not been assigned responsibility by the safety lifecycle is bypassed or fails, the result MUST fall to the mechanism on the safety side, not to the operator's judgment.
Boundary conditionsThis rule does not forbid configuring confirmations and prompts on the interface — they have value in reducing mis-operation; what this rule forbids is counting them as protection without dedicated assignment and verification. This rule makes no determination of any functional-safety level, does not specify the design or verification of interlocks and protection, and does not preemptively deny that a safety lifecycle may assign risk-reduction responsibility to an alarm system or an operator response — whether that assignment holds, and to what degree, is determined by the applicable functional-safety standards system, not by these guidelines (see the scope statement and Appendix B).
Design applicationIn design review, for every hazardous action "stopped by the interface," ask "what happens if this click goes through anyway" — if the answer lands on a personal-injury or equipment consequence, that action needs protection beyond the interface; when writing interface confirmations into design documentation, explicitly label them as a human-factors aid, not a protective measure.
Verification examples
- User side: force a mis-confirmation against an ordinary confirmation, and check whether the related protection still executes per the approved design.
- Implementation side: check the list of hazardous actions and confirm item by item that their blocking mechanism does not exist only at the interface layer; check for any protective item that was removed on the grounds of an interface prompt; for interface mechanisms claimed to carry a safety responsibility, check only for a reference to a dedicated assignment of responsibility and verification evidence — an interface review does not substitute for a safety assessment, and "containing a certified component" does not substitute for verification of the whole function.
CounterexamplesUnder-delivery — a constraint preventing two devices from starting simultaneously exists only in screen logic, and bypassing the screen via an engineering station or a local panel allows simultaneous starting; over-delivery — every interlock's reset entry point is removed from the operating screen in the name of "the interface must never participate in safety," and the operator, needing a normal reset, is forced onto an off-standard path, increasing bypass behavior instead.
Basis and referencesR15 records that a red emergency-stop button was shown on a tank-farm mimic diagram, and multiple on-duty staff did not know it had never been connected to the system. This is a publicly documented instance of a control on the interface not constituting protection; the rest of this rule is derived by working backward from the commitment, citing no functional-safety standard (see reference.md R15 and Appendix B.3).
IH5-4Permission and duty roles are enforced by a mechanismMUST
In one sentence: Permission is not hiding the button.
Applies tosystems that distinguish operating permission, duty role, or workstation responsibility.
RuleOperating permission MUST be enforced on the side that accepts the command, not implemented only by showing and hiding on the interface; the same command issued through another entry point (an engineering station, a configuration tool, a script, an interface call, a local panel) MUST be constrained by the same set of permissions. When permission is insufficient, the interface MUST state that it currently cannot be executed and what condition is needed, rather than letting the control silently fail or vanish without explanation. On-duty identity MUST be determinable: the system MUST be able to resolve, for every operation, the on-duty identity that issued it; a long-term shared account that cannot distinguish individuals MUST NOT be the sole means of tracing a critical operation. A temporary elevation of privilege MUST have a scope, a time limit, and a record, and MUST be automatically revoked on expiry.
Boundary conditionsThis rule does not specify an authentication method, nor does it require re-authentication on every operation — physical access to the control room combined with a workstation login is a reasonable combination in most sites. This rule does not address authentication and access-control requirements for industrial-network security — those must be assessed separately against applicable cybersecurity standards (see the scope statement). This rule does not forbid a shared workstation; what it forbids is a shared workstation making an operation unattributable.
Design applicationPut permission determination on the command-acceptance side, shared by every entry point; bind on-duty identity to the workstation login, so that switching identity at shift change is an explicit action rather than an optional one.
Verification examples
- User side: attempt a critical operation with a low-permission identity and check whether the interface states what condition is missing; issue the same command through another entry point and check whether it is equally rejected.
- Implementation side: inventory every entry point that can issue a control command and verify individually that permission determination takes effect; sample operating records for the proportion that cannot be resolved to a specific individual.
CounterexamplesUnder-delivery — a button is hidden on screen by permission, while the same command can be issued directly through an engineering-station debugging tool with no identity left behind; over-delivery — permission is sliced extremely finely and every cross-category operation requires re-login, so operators log in and share a single high-privilege account long-term to avoid being interrupted during disposition.
Basis and referencesR15 records that control-room permission settings allowed every on-duty staff member to change any parameter, including alarm setpoints. This rule does not address access-control requirements for industrial-network security — those must be assessed separately against applicable standards (see reference.md R15 and the guidelines' scope statement).
IH5-5Bypass, force, and privilege escalation leave a trace and are reviewedMUST
In one sentence: The record a high-consequence action leaves must actually be looked at by someone.
Applies tosystems that provide the capability to bypass, force, remove an interlock, mask an alarm, execute with elevated privilege, or set a parameter beyond its limit.
RuleThe above high-consequence actions MUST leave a record, containing who performed it, when, the object, the value or state before and after the action, the reason, and the expected recovery condition; the reason MUST NOT be filled with an empty value or a system default text. The record MUST be not silently deletable or alterable by the person who performed the action, and MUST be independently retrievable. The product MUST define who is responsible for reviewing these records and when — a record that no one looks at produces no effect from leaving a trace; the review result and any unrestored items MUST be able to enter the shift handover (IH6-3). A bypass or force currently still in effect is simultaneously governed by the list requirement in IH3-4: the record governs "what has happened," the list governs "what is still on right now," and neither substitutes for the other.
Boundary conditionsThis rule does not specify a retention period for the record or a review cycle — those are determined by the product against process consequence and applicable requirements, with the basis recorded. This rule does not require review to be carried out by a dedicated role, but it does require that responsibility be resolvable to a specific role. This rule makes no compliance determination.
Design applicationMake "reason" a required, structured field with selectable categories rather than a free-text box, so it can be tallied by category afterward; make "currently unrestored high-consequence actions" a fixed review entry point and handover item, rather than waiting for someone to go dig through logs on their own initiative.
Verification examples
- User side: pull up the high-consequence action records for a recent period and check for entries with a missing reason, entries unrestored for a long time, and evidence of review.
- Implementation side: attempt to delete or modify one of one's own records from the account that performed the action; check for any bypass path that writes no record.
CounterexamplesUnder-delivery — an interlock removal only changes a bit inside the controller, with no record anywhere in the system, and no one mentions it at shift handover; over-delivery — leaving a trace is turned into a form process requiring approval at multiple levels, so the operator cannot bypass in time during an emergency and instead has someone change it directly in the controller, and the record disappears altogether.
IH5-6A command's result is verifiable, and concurrent operations are adjudicatedMUST
In one sentence: When two people move the same pump at once, the adjudication must be explicit, and both sides cannot see "success."
Applies tosystems that issue control commands through the interface; concurrency adjudication additionally applies to situations where the same object can be operated from multiple entry points, including the control room, local panels, mobile terminals, and remote entry points.
RuleConcurrent operations on the same controlled object MUST have an explicit adjudication rule, and that rule MUST be visible to every party involved: who currently holds operating authority over that object, what other parties can currently do, and how operating authority is obtained and released. A situation MUST NOT occur where two entry points each believe their own command has taken effect while only one actually has — the party that was rejected or overridden MUST receive an explicit result. When one party's operation is taken over or overridden by another, the original party MUST be notified. The priority relationship between local operation and remote operation MUST be explicit and presented consistently on both sides (see also IH4-5).
Command submission or acceptance, controller execution result, equipment feedback, and the expected process effect MUST be expressed separately; where evidence is insufficient, retain "pending verification" or "result unknown," and none of the four MUST be used to impersonate the others — a protocol-layer write success is not the same as the valve being in position, and the valve being in position is not the same as flow having changed. A communication timeout alone is not sufficient proof that the action did not occur. A command that could repeat a physical effect (jog, feed addition, an accumulating increment, start/stop) MUST NOT be automatically resent before its state has been verified or a validated anti-repeat safeguard exists; a reconnection, a workstation switch, or a controller restart does not by itself authorize re-execution.
Boundary conditionsThis rule does not specify which adjudication method to use (exclusive holding, priority, or first-come-first-served are all acceptable), nor does it require operating-authority ownership to be set up for every object — a low-consequence object may go without it, but there MUST still be conflict adjudication and an explicit result on the acceptance side, determined by the product against consequence, with the basis recorded. This rule does not require that only one of two concurrent commands ever actually executes: if the acceptance side processes them serially per a stated adjudication — executing a start and then a higher-priority stop right after — both genuinely occurring does not violate this rule; what this rule requires is that the adjudication is explicit, each party's result is distinguishable, and the final state is not misreported. This rule does not address the implementation of network-layer concurrency consistency.
Design applicationMake operating-authority ownership a visible state of the controlled object, presented at the same layer as control mode (IH4-1); establish an explicit "field takes priority" or "control room takes priority" rule between a mobile inspection terminal and a control-room workstation, and let both sides see the current ownership.
Verification examples
- User side: arrange two operators to issue opposite commands to the same object at the same time from different workstations, and record the result each side sees and the action that actually occurs.
- Implementation side: check whether adjudication logic exists on the command-acceptance side, or whether mutual exclusion exists only at the interface; check whether a rejected command returns an explicit result to the initiator. Additionally construct the four situations "controller accepts but the actuator sticks," "an intermediate system returns an asynchronous success," "the action executed but the receipt was lost," and "repeated clicks after a disconnect-reconnect," and check whether the actual number of actions matches the result stated on the interface, rather than checking only whether the button is grayed out.
CounterexamplesUnder-delivery — the control room issues a pump stop while the field simultaneously presses start, both sides' interfaces show the operation succeeded, and the pump's actual state matches neither person's belief; over-delivery — to avoid conflict, the object-locking period is set very long with no way to force a release, and when one operator leaves the workstation no one else can take over, blocking disposition behind a single lock.
3.6 IH6 The shift is continuous
This principle governs the shift process itself, spanning time, people, and workstations. The regulated objects of the first five principles all sit within a single instant: how this value is presented right now, whether this alarm should fire right now, how this operation should be verified right now. But the process the operator faces does not conclude within a single instant — a matter may span three shifts, one person's judgment depends on what happened while they were not present, and a large screen and a workstation must divide labor rather than duplicate each other. Designing the interface as "one person, at one instant, facing one screen" is a systemic gap in this domain: it degrades shift handover into word of mouth, makes overnight monitoring depend on individual vigilance, and lets a screen revision take effect quietly while someone else is on shift. This principle's object is that continuous process.
IH6-1Drilling in and returning does not lose contextMUST
In one sentence: Clicking in to see detail should not get you lost.
Applies tosystems composed of multiple tiers of screens such as overview, area, and equipment.
RuleWhen entering a lower tier from a higher one, the basis for entering MUST be carried along: entering from a specific anomalous area on the overview, the screen reached MUST point to that area and the specific object that triggered entry, and jumping to a generic screen unrelated to the basis for entry MUST NOT occur. Returning MUST go back to the original position and the original observation state (the screen, time range, filter conditions, object of attention), not to a default home screen. The current position and its level within the whole MUST be obtainable, and the operator MUST NOT be required to rely on memory to maintain their position within the screen structure. Time range and filter conditions across screens SHOULD stay consistent within a single analysis session, and any change SHOULD be made explicit.
Boundary conditionsThis rule does not specify the implementation form of navigation (a hierarchy tree, a back stack, breadcrumbs, and side-by-side views are all acceptable), nor does it require direct reachability between any two arbitrary screens. This rule does not address the division of the screen hierarchy itself — that is IH1-5. The continuation of a working state across shifts is covered by IH6-6.
Design applicationMake "the current observation context" (object, time range, filter) an object that travels with navigation, rather than each screen maintaining its own default; when entering from an alarm entry, carry that alarm along as the basis for entry, so the destination screen points directly at the related object.
Verification examples
- User side: drill three tiers deep from one anomaly on the overview and then return, and record whether the time range and filter conditions need to be reset afterward.
- Implementation side: inventory the entry points for navigation, and check for any path that discards the basis for entry and jumps to a generic screen.
CounterexamplesUnder-delivery — clicking an alarm just opens the entire process screen the equipment belongs to, and the operator must still find which of dozens of graphic elements it is on their own; over-delivery — every jump carries and stacks all of the filter conditions from the tier above, and by the third tier the operator sees an empty screen filtered down layer by layer, with no clarity about what got filtered out.
IH6-2Shared displays and individual workstations have a clear division of laborSHOULD
In one sentence: The big screen is not the workstation screen enlarged.
Applies tosites where a shared display (a control-room large screen, a crew dashboard) and individual workstations coexist.
RuleA shared display and an individual workstation SHOULD carry different responsibilities, each stated explicitly: the shared display serves context jointly held by the crew — whether things are normal overall, where an anomaly is, and what dispositions are currently in progress; the individual workstation serves what this particular person is currently doing. Content that can only be read or read clearly from a specific workstation seat MUST NOT be presented on the shared display; its readability SHOULD be verified at actual viewing distance and angle, not designed to workstation viewing conditions. Shared-display content SHOULD NOT be changed arbitrarily by one person's action; where switching is genuinely needed, the switch SHOULD be visible to those present and able to return to default. A shared display is equally governed by IH3-3: when it stops refreshing, that MUST be noticeable.
Boundary conditionsThis rule does not require a shared display to be provided; a site with no shared display records "not applicable." This rule does not specify the number of screens or the layout of a large display. The division of labor between a mobile inspection terminal and a control-room workstation is not covered by this rule; its operation adjudication is in IH5-6.
Design applicationFirst write down "what the crew needs to see together," then decide what the large screen shows; design large-screen content as a presentation that holds without interaction, rather than an enlarged, operable interface.
Verification examples
- User side: at the actual viewing position, ask crew members to read out the large screen's key information, and record items misread or unreadable.
- Implementation side: check whether the large-screen content has a stated responsibility, whether its readability has been verified against actual viewing conditions, and whether it is noticeable when it stops refreshing. Content matching a workstation screen does not by itself constitute a violation — responsibility, readability, and state continuity are this rule's criteria.
CounterexamplesUnder-delivery — the large screen is simply a workstation screen projected up, and someone sitting in the back can only see a patch of color, so the crew's shared context does not actually exist; over-delivery — the large screen is built as an independent system requiring remote operation, and during an anomaly no one is willing to get up and operate it, so it sits for a long time on an unrelated screen.
IH6-3A shift handover has a verifiable set of handover itemsMUST
In one sentence: What gets handed over is the unfinished business, not the word "normal."
Applies tosites with continuous duty and a shift handover.
RuleThe system MUST be able to generate a verifiable list of handover items, covering at least: alarms currently suppressed or shelved (IH2-4), points currently forced, bypassed, or in simulation (IH3-4), objects currently in a non-normal control mode (IH4-1), high-consequence actions that occurred during this shift and their unrestored items (IH5-5), and unfinished anomaly dispositions (IH6-6). Handover MUST be an explicit action by both parties: the incoming operator confirms receipt, and the handover time and both identities are recorded. The handover list MUST NOT degrade into a piece of free-text notes — notes may exist, but they do not substitute for the verifiable items above. Every item in the handover list MUST be traceable to its source state, not a one-time snapshot of text.
Sign-off MUST correspond to the content actually checked: record the set of items verified at this handover and the time, while retaining a link to the current source state. A bypass, alarm, operating authority, or pending command that is added or changes during the check MUST be presented to the incoming operator as a difference, and MUST NOT be automatically overwritten by a stale sign-off. Transfer of responsibility and transfer of operating authority are confirmed separately; a refusal, a timeout, or an interruption MUST NOT turn a matter into something no one is responsible for, nor MUST browsing the list be treated as handover complete.
Boundary conditionsThis rule does not specify the organizational form or duration of handover, nor does it require the system to replace verbal handover — the judgment and expectation conveyed verbally is something a list cannot carry; what this rule requires is that the list is missing no item. This rule does not specify the ordering or presentation of list items.
Design applicationGenerate the handover list from live system state rather than have it assembled by hand; provide an entry point into detail for every item, so the incoming operator can verify it in place rather than reading only a one-line summary.
Verification examples
- User side: complete a handover while several shelved alarms and forced points exist, and check whether the incoming operator can find and verify every item on the list.
- Implementation side: create all five categories of handover item and confirm each one automatically enters the list; check for any state category that is conveyed only verbally and is not visible to the system.
CounterexamplesUnder-delivery — the handover record reads only "running normally," and two alarms shelved by the previous shift and one unrestored bypass are discovered only two shifts later; over-delivery — the list itemizes every single event of the shift, requiring hundreds of records to be paged through at handover, and the incoming operator skims past the list as a whole.
IH6-4Prolonged monitoring does not rely on sustained vigilanceSHOULD
In one sentence: Do not count on a person staring at a motionless screen for eight hours.
Applies toduty positions whose primary task is continuous monitoring with long stretches of no event.
RuleThe product SHOULD NOT take "the operator will continuously notice minor changes on screen" as a design premise. For deviations that need to be noticed, the product SHOULD provide a noticing path that does not depend on sustained gazing (the intensity allocation of IH1-1, the alarm channel of IH2, or another proactive presentation); a critical deviation carried only by a slowly changing value MUST NOT be the sole means of noticing it. The product SHOULD enable the operator to obtain, between leaving and returning, "what happened during the time I was away" — on return, the state changes, alarms, and operations within that period MUST be obtainable. Night shifts, long shifts, and low-event-rate scenarios SHOULD be included in the design and verification scenarios, rather than designing only to a day-shift level of attention. Forced interaction (a timed click, a periodic acknowledgment) MUST NOT be used as the sole means of sustaining vigilance, nor MUST this rule be considered satisfied on that basis alone.
Boundary conditionsThis rule does not forbid the use of a duty-acknowledgment-type mechanism — it has a role in some sites; what this rule forbids is using it as a substitute for a noticeable presentation design. This rule does not specify shift scheduling, rest policy, or staffing — those belong to a site's operational management and ergonomics (see the scope statement). This rule gives no numeric figure for attention decay over time.
Design applicationFor every category of deviation that needs to be noticed, explicitly write down "what it is noticed by" — where the answer is "the operator will see it," redesign it; make "what happened while away" an obtainable review of the period, rather than requiring the operator to page through the complete history.
Verification examples
- User side: inject a slowly developing deviation during a long, low-event-rate period, and record the time to notice and the cue relied on.
- Implementation side: inventory the categories of deviation that need to be noticed, and confirm individually that their noticing path is not "sustained gazing at a value."
CounterexamplesUnder-delivery — a slowly rising level has no limit configured at all, on the design assumption that the operator will see it on the trend, and in practice no one notices across three consecutive shifts; over-delivery — an on-duty acknowledgment that must be clicked pops up every fifteen minutes, and the operator develops a mechanical response, dismissing it just as mechanically when a genuine response is actually needed.
Basis and referencesR19, citing vigilance research, notes that people find it difficult to sustain effective visual attention over long periods on an information source that changes very rarely, and notes that "a person can copy down a number without attending to its meaning"; R09 states that an operator must monitor low-frequency events over long shifts; R23 reports a measurable, linear-component decline in vigilance with task duration. R23 is a study of an abstract laboratory task, not a control-room study, and these guidelines therefore give no duration figure on this basis (see reference.md R19, R09, R23).
IH6-5Interface and configuration changes during a shift are controlledSHOULD
In one sentence: Do not quietly swap the screen while someone else is on shift.
Applies tosystems where screens, alarm configuration, limits, permissions, and automatic functions can be modified during operation.
RuleA change affecting operator judgment or method of operation — screen layout and graphic-element meaning, alarm addition/removal and limit adjustment, priority re-leveling, permission changes, changes to an automatic function's scope of service — SHOULD be known to on-duty staff before it takes effect, with the change content and effective time obtainable. The semantics of a screen or the position of an operating entry point an operator is currently using MUST NOT be silently changed while that operator is in the middle of an anomaly disposition. A change SHOULD leave a record traceable to its initiator; after a change, it SHOULD be possible to confirm that the operator has been made aware of it, especially for a change taking effect across a shift boundary (see also IH6-3). A change MUST NOT cause an ongoing disposition to lose its original entry point. A rollback path SHOULD exist and be executable during a shift.
Boundary conditionsThis rule does not require every change to be notified in advance — an immediate fix correcting an obvious error may be executed first and reported after, but it must still leave a trace and be reported. This rule does not specify the organizational process or approval level for change management — that belongs to the site's management system.
Design applicationMake "which screens, which alarms, which operating entry points a change affects" a required field at change submission, from which the system generates the notification to on-duty staff; display the change's effect and effective time so the operator can judge what has changed on the current screen.
Verification examples
- User side: after an alarm-limit adjustment that takes effect across a shift boundary, ask the incoming operator whether they are aware of the adjustment and its content.
- Implementation side: check for any configuration-modification path that produces no record and no notification (a direct edit at an engineering station, an offline configuration download, a bulk script modification).
CounterexamplesUnder-delivery — engineering staff adjust the limits of dozens of alarms during the day shift and download directly, and the night-shift operator discovers alarm behavior has changed with no idea what happened; over-delivery — even a single text correction is turned into a change notification requiring confirmation by everyone, and the operator becomes numb to change notifications overall, so the one change that genuinely affects judgment is skipped over as well.
IH6-6The working state of an anomaly response can be continuedMUST
In one sentence: If something is not finished when a shift ends, it must have somewhere to go.
Applies tosystems with anomaly disposition, diagnosis, or tracking tasks that may span more than a single duty period.
RuleAn unfinished anomaly disposition MUST be able to continue as a stateful object, rather than disappearing when the operator leaves the workstation. That object MUST at least make obtainable: the anomaly it corresponds to, what stage it is currently at, what has already been done, what it is currently waiting on, and who is responsible for it. It MUST be able to enter the handover list (IH6-3) and remain continuous once the incoming operator takes over, and the incoming operator MUST NOT be required to reconstruct the disposition process from raw records. When a disposition involves a shelved alarm, a bypassed signal, or a forced point, those items MUST be associated with that disposition object, so that their recovery condition does not depend on individual memory.
Boundary conditionsThis rule does not require the system to take on the responsibilities of existing management systems such as work orders, maintenance, and work permits — where a corresponding system already exists, what this rule requires is that the disposition state and its associated items are obtainable and not lost, which the existing system may carry. This rule does not specify the staging or naming of a disposition object. This rule does not require a disposition object to be created for every minor anomaly; what falls within scope is determined by the product against consequence and duration, with the basis recorded.
Design applicationMake "anomalies currently being disposed of" a visible list alongside the alarm list, rather than scattered across individual notebooks; attach the recovery conditions of a shelve, bypass, or force to the corresponding disposition object, so they can be checked together when the disposition ends.
Verification examples
- User side: perform a handover during a disposition that is not yet finished, and record how long it takes the incoming operator to grasp current progress and whether they need to call the previous shift to ask.
- Implementation side: check whether a disposition object stays linked to its associated shelved and bypassed items; check whether a disposition object still exists after a workstation logout and a system restart.
CounterexamplesUnder-delivery — a night shift's tracking of rising vibration on a machine pump is recorded only in a personal notebook, mentioned verbally at handover, and the day shift starts judging from zero again; over-delivery — a complete disposition record with stage-by-stage fields is required for every minor anomaly, and the operator abandons the mechanism when busy, so the one disposition that genuinely needs continuity also goes unrecorded.
4. Terminology and definitions
This chapter defines only the terms used within these guidelines that are prone to ambiguity. Terms of art in control engineering and functional safety follow the definitions of the applicable standards and codes; the explanations in this chapter serve only to understand the clauses of these guidelines, and do not constitute a redefinition of those terms.
| Term | Definition | Key boundary |
|---|---|---|
| Process state | A description of the current production process, jointly constituted by measurement, computation, and equipment feedback. | It is the description the system holds, not the process itself; its degree of certainty is limited by data quality and timeliness (IH3). |
| Alarm | A signal that alerts the operator that an abnormal condition has occurred requiring their response. | Belongs to a different channel from general events, prompts, and logs; a signal with no executable response action is not an alarm (IH2-1). |
| Alarm load | The number of alarms presented per unit time to a given operating position. | Summed by position, not calculated separately per subsystem; it is a design metric, not a byproduct of operational observation (IH2-2). |
| Alarm flood | A condition in which the number of alarms surging within a short time exceeds the operator's capacity to handle them. | Its determining condition is explicitly defined by the product (IH2-2); these guidelines give no universal figure. |
| Suppression / shelving / maintenance disabling | Three mechanisms that make an alarm temporarily not presented to the operator: operator shelving (initiated by a person, with an upper limit and expiration handling), automatic suppression by operating condition (recovers per a validated condition-clearing criterion), and maintenance disabling (cleared per a specified return-to-service verification). | The recovery semantics of the three differ and MUST NOT be masked by one umbrella term (IH2-4): a review deadline passing is not the same as having met the conditions for return to service, and duration alone does not prove a configuration error either. All three require visibility, a responsible party, and a recovery path as conditions of legitimacy. Permanently canceling an alarm is a configuration change, not suppression. |
| Alarm state dimensions | The four states of an alarm that coexist at the same instant: active, operator-acknowledged, audible, and latched. | The four are expressed separately, with explicit interlocking rules permitted (IH2-4): acknowledgment does not prove the anomaly has cleared, silencing does not prove acknowledgment, and a latch reset is not the same as the equipment restarting; a new unacknowledged state is not overwritten by a stale acknowledgment. |
| First-out discrimination | Indicating, among a group of related, cascade-triggered alarms, the one or the class that occurred first. | Information that helps a person judge, not a root-cause conclusion; its reliability is limited by the comparability of time bases (IH2-5, IH3-5). |
| Data quality | The state of whether a value is usable, suspect, or unusable. | An intrinsic attribute of the value, flowing with it to the screen, trends, reports, and alarm judgment (IH3-2); a separate matter from timeliness (IH3-1). |
| Last known value | The last successfully read value that the interface continues to display after a data source has stopped updating. | It is not a real-time value; its presentation MUST be distinguishable from a real-time value with the time obtained available (IH3-1). |
| Force / bypass / simulation | Human intervention that changes a signal's source, an output, or a protection relationship; a bypass need not change the measured value. | MUST be explicitly indicated everywhere it appears, and MUST enter a countable current list (IH3-4); its occurrence also requires a trace to be left (IH5-5). |
| Control mode | The state of who currently controls a controlled object and by what method. | A state, belonging to IH4; changing mode is an action, belonging to IH5. Unknown is one legitimate value; it MUST NOT be replaced by a default mode. |
| Mode confusion | A condition in which a person's understanding of the system's current control mode does not match reality. | Its distinguishing feature is that the person does not feel they are erring at the moment of the error; this is why mode must be present, not merely queryable (IH4-1). |
| Takeover | The process by which control authority is handed from automatic to a person. | Completed handover is not the same as the person already having control capability; the state needed to take over must be obtainable together with it (IH4-4). |
| Critical operation | An operation whose consequence reaches the critical level defined by the product, requiring select–verify–execute. | The basis follows consequence, not frequency of operation; the basis MUST be recorded (IH5-1). |
| Interface confirmation | A step that requires the operator to verify and re-express execution intent before a command executes. | A human-factors aid; it does not by itself constitute evidence of implementing a safety function, and MUST NOT be used as a reason to reduce, delay, or cancel a protective measure (IH5-3). Assigning risk-reduction responsibility to any HMI-related mechanism requires that assignment and verification by the applicable safety lifecycle; these guidelines neither grant nor deny that assignment. |
| Pre-execution re-check | The re-verification of permission, mode, interlocks, and action conditions that the control system performs against authoritative state before a command is accepted and takes effect. | A separate matter from the precheck before confirmation; the precheck does not substitute for the re-check (IH5-2); a change occurring after the confirmation box opens invalidates the earlier check. |
| Command-result layering | The requirement that command submission/acceptance, controller execution result, equipment feedback, and expected process effect be expressed at four separate layers. | No layer impersonates another; where evidence is insufficient, retain "pending verification" or "result unknown"; a communication timeout does not prove the action did not occur (IH5-6). |
| On-duty identity | The specific individual identity to which an operation can be resolved as its performer, resolvable either directly to a person or to a person via a valid workstation duty record. | Not necessarily the same as the login account; a workstation identifier by itself is not attribution to an individual, and failing to resolve to a person is a failure state, not a compliant value (IH5-4). Where evidence is insufficient, mark it explicitly unconfirmed; a machine name or workstation name MUST NOT be written as the performer. |
| Handover item | A list item generated from system state that must be individually verified at shift handover. | Complements verbal handover rather than substituting for it; MUST NOT degrade into a piece of free-text notes (IH6-3). |
| Disposition object | An unfinished anomaly disposition, treated as a stateful object that can be continued and handed over. | May be carried by an existing work-order or work-permit system, but its state and associated items MUST be obtainable and MUST NOT disappear as personnel leave their post (IH6-6). |
5. From design decisions to acceptance evidence
5.1 Minimum delivery records
Every project completes the following records to the extent of its actual capability. Filling in a token only proves the decision has been recorded; it cannot prove the control mechanism or operator performance has passed verification.
| Deliverable | Required content | Primary responsibility |
|---|---|---|
| Task and environment inventory | Positions, terminals, viewing and input conditions; monitoring, startup/shutdown, anomaly disposition, maintenance recovery, and handover tasks; success and failure consequences | Operations personnel and designers |
| Object and state table | Measurement points, equipment, alarms, commands, sequences, intervention and disposition objects; authoritative sources, unknown states, transition conditions, and retention method | Control engineers and designers |
| Screen and action specification | The question each tier answers; selection, verification, submission, feedback, failure, recovery; transitions that must not occur | Designers |
| Configuration decisions | The applicable token's explicit value or resolvable reference, responsible party, basis, dependency, and restricted use when invalid | Control engineers and designers |
| Verification and disposition records | Test cases, scenarios, raw evidence, results, failed items, remediation responsibility, and re-verification scope | Test personnel and an operations representative |
The design MUST cover normal operation, startup/shutdown, anomaly, maintenance, loss-of-contact recovery, and handover within the declared scope; unsupported tasks are explicitly excluded, and complete coverage of a position MUST NOT be claimed by showing only the normal-operation screen.
5.2 Verify three categories of fact separately
| Check layer | Evidence required | Material that cannot substitute for it |
|---|---|---|
| Documentation completeness | Field definitions, dependencies, sources, units, and applicable conditions with no gaps or conflicts | Review scoring, a designer's verbal explanation |
| Mechanism effectiveness | State transitions, command counts, acceptance-side adjudication, and equipment feedback recorded in a simulated or authorized test environment | A grayed-out button, a screenshot, simulated-success copy |
| Operator usability | A representative, trained operator completing judgment and operation under actual equivalent viewing, input, noise, and task load | A developer's fluent demonstration, a static contrast check |
Every test case records at minimum: the object and operating condition, the fault or trigger, the actual input, the expected and actual result, the measured start and end events, any mis-operation or omission, the location of evidence, and the person who made the determination. Time-to-notice is measured from the moment the anomaly holds true at the authoritative source, with acquisition, transmission, presentation, and human-response time recorded separately; timing MUST NOT start only when a pop-up appears, ignoring the delay before it.
5.3 Thresholds do not offset one another
- Prohibited behaviors: a bad value impersonating a normal real-time value, an unauthorized critical command taking effect, an action repeated after its result is unknown, a stale acknowledgment overwriting a new alarm, continuous manipulation not ending on loss of contact. Any one of these occurring in a test within the declared scope of applicability is a failure, and no other metric offsets it.
- Task performance: success rate and time for locating an anomaly, understanding mode, identifying the object, and completing the correct action. The project states its targets, sample, and rationale before testing; missed dispositions and incorrect target selection are itemized separately and MUST NOT be hidden within an average time.
- Response time: total elapsed time across alarm detection and transmission, presentation, human judgment and action, and necessary equipment and process response, MUST fall within the available response window with a documented margin retained. Where this cannot be achieved, adjust the assignment of responsibility, control, or protection design — not merely raise the intensity of sound and color.
- Sustained operation: duty load, repeated alarms, commands pending verification past their window, long-standing interventions, and unhandled-over items all have a responsible party and follow-up disposition, and fault-recovery paths are actually usable.
The conclusion is one of "passes within declared scope," "restricted use," or "does not pass." Restricted use MUST state the actual limitation and the substitute safeguard, for example a read-only terminal with a separate, already-validated control and alarm path; a passing condition MUST NOT be manufactured by disabling necessary alarms, clearing existing interventions, or having the operator monitor from memory. An in-service system MUST NOT be automatically shut down, have its protection disabled, or have its operating state erased merely because one configuration check failed.
5.4 Check for omission and over-design at the same time
An anomaly must be discoverable, and it must also be tested whether the normal state stays quiet and readable; a critical action must be verifiable, and it must also be tested whether routine fine adjustments are slowed down by repeated confirmation; a frozen screen must have an indication, and it must also be tested whether that indication blocks an entry point for a disposition still in effect; a handover must be complete, and it must also be tested whether a key difference can be found within routine records. When a representative task or environmental condition changes, re-check the affected evidence; actual missed detections, mis-touches, failed takeovers, and unrestored interventions feed into subsequent verification scenarios.
Appendix A: Fault-injection verification checklist and classification check
This checklist verifies whether the clauses actually take effect; it adds no new obligation. Inject item by item and record the system's actual behavior; recording "not applicable" is a valid result, recording "not tested" is not. Injection tests MUST be conducted without affecting actual production or personnel safety — carried out in a simulation environment, a standby system, or an approved shutdown window; this appendix is not a basis for conducting these tests on an in-service plant.
A.1 Presentation and readability
| Injection | Expected behavior | Related rule |
|---|---|---|
| Take a screenshot while the whole plant is in normal operation | No presentation reserved for abnormal states is used; key values are readable | IH1-1 |
| Inject one deviation into the same screen | Discoverable under the product's defined noticeability conditions | IH1-1 |
| Present key screens in grayscale | Running, stopped, faulted, unavailable remain distinguishable | IH1-2 |
| Randomly sample a value on screen and ask its unit, normal range, and margin to alarming | All answerable without consulting reference material | IH1-3 |
| Create a gap in trend data | The curve shows a break or marks the gap as missing, not connected straight through by interpolation | IH1-4 |
| Inject one area-level anomaly at the overview tier | Locatable to the area without paging through screens one by one | IH1-5 |
| Turn off all decorative presentation (shadow, gradient, three-dimensional, texture) | Every monitoring task can still be completed | IH1-6 |
A.2 Alarms
| Injection | Expected behavior | Related rule |
|---|---|---|
| Sample alarms that actually occurred over a period and ask the on-duty operator to state each one's response action | All statable and executable under on-duty conditions | IH2-1 |
| Take a matched pair: "a completion event only worth logging" and "an anomaly whose initial consequence has occurred but still needs immediate mitigation" | The former is not hard-coded with a response just to preserve alarm status, the latter is not automatically downgraded to a log entry | IH2-1 |
| Pull up alarm-load statistics and the target values | The target is defined, has a basis, and has a disposition record when exceeded | IH2-2 |
| Have two people who did not participate in configuration independently level the same batch of alarms against the judgment table | Conclusions comparable, differences explainable | IH2-3 |
| Shelve an alarm and cross a shift handover | The incoming operator can discover it and knows when it returns | IH2-4, IH6-3 |
| Separately construct maintenance not finished with the review deadline arrived, and automatic suppression persisting through a long shutdown condition | The former does not automatically return to service, the latter is not judged a configuration error | IH2-4 |
| In sequence construct active unacknowledged, acknowledged but still active, returned to normal but still unacknowledged, silenced then a new alarm arrives, an acknowledgment request pointing at a stale event, and a system restart | The four states are each readable, a stale acknowledgment does not overwrite a new unacknowledged state, and state is rebuilt or explicitly marked unknown after restart | IH2-4 |
| Inject a cascading trip that triggers a large number of alarms in a short time | Presented grouped or collapsed; first-out is discriminable or explicitly marked indeterminate, with no silent discarding | IH2-5 |
| Sample an alarm's response guidance and compare it against the current procedure | Consistent, or the conflict has been recorded and triggered review | IH2-6 |
A.3 Data trustworthiness
| Injection | Expected behavior | Related rule |
|---|---|---|
| Cut one data source while keeping the screen open | The related value is identifiable as non-real-time, with the time obtained available | IH3-1 |
| Disconnect an analog point so it returns zero per protocol | Presented as unusable, not shown as 0, with alarm judgment kept in step | IH3-2 |
| Take a value that refreshes normally but has no quality evidence; then take a value with good quality whose interlock has been bypassed | The former is presented as unverified rather than usable; the latter's bypass indicator is bound to the affected protection function | IH3-2 |
| Separately inject a network interruption, a server stop, and a hung screen process | All three produce a failure indication perceivable under normal monitoring conditions | IH3-3 |
| Set forces on several points and ask the operator to count current interventions | The count matches the system's list | IH3-4 |
| Create a clock offset between the upper-level software and a controller | When order is indeterminate, presentation order does not imply causation | IH3-5 |
| Separately invalidate a required input of a soft-sensing value and a redundant input that has a validated substitute | The former shifts to suspect or unusable, the latter continues per its stated substitution rule with the input combination used noted | IH3-6 |
A.4 Mode and takeover
| Injection | Expected behavior | Related rule |
|---|---|---|
| Randomly point at several controlled objects with no clicking | Current control mode directly readable in every case | IH4-1 |
| Make an automatic loop exit on its own due to a bad input | The change is noticed, the reason is obtainable, the event is recorded | IH4-2 |
| While an automatic function is running, ask its object of action, current target, and exit conditions | All three obtainable | IH4-3 |
| Trigger a planned switch during an operating condition with a deviation present | Output, deviation, reason, and constraints at hand; switch is disturbance-free or the disturbance is foreseeable | IH4-4 |
| Trigger a sudden exit via a bad value | Notification does not delay necessary protection; actual output, reason, and constraints obtainable promptly after exit | IH4-4 |
| Take objects with the same mode name from two subsystems of different origin | Semantics consistent, or the difference is distinguished in presentation | IH4-5 |
| Simulate a slowly developing increase in resistance with the controlled variable staying normal throughout | Noticeable before actuator margin is exhausted | IH4-6 |
A.5 Operation and authorization
| Injection | Expected behavior | Related rule |
|---|---|---|
| Require a critical operation on densely packed graphics | A verifiable selected state exists; no single-click-to-execute path | IH5-1 |
| Initiate an operation when a precondition is not met | The confirmation step states the condition; the operator is not made to confirm an operation bound to fail | IH5-2 |
| Revoke permission, take over locally, or change interlock state after the confirmation box opens, then click execute | The acceptance-side pre-execution re-check blocks the command, not executed on stale conditions | IH5-2 |
| Disconnect the network or lock the screen during continuous manipulation; separately run a generic confirmation on an emergency-stop request | Continuous action stops by its defined ending method; emergency stop is not delayed by a generic multi-step confirmation | IH5-1 |
| Assume the operator mis-confirms a hazardous action | An independent mechanism outside the interface still prevents its consequence | IH5-3 |
| Issue the same command via an engineering station or script with a low-permission identity | Equally rejected, stating what condition is missing | IH5-4 |
| Attempt to have the performer themselves delete or alter their own high-consequence action record | Not silently deletable or alterable; the record has a review responsibility and timing | IH5-5 |
| Issue opposite commands to the same object from two workstations at the same time | Handled per the stated adjudication, each party's result distinguishable, final state not misreported | IH5-6 |
| Construct: controller accepts but the actuator sticks; an intermediate system returns an asynchronous success; the action executed but the receipt was lost; repeated clicks after a disconnect-reconnect | The four layers of result each expressed separately, "result unknown" retained when evidence is insufficient; a command that could repeat a physical effect is not automatically resent | IH5-6 |
A.6 Continuity of duty
| Injection | Expected behavior | Related rule |
|---|---|---|
| Drill three tiers deep continuously and then return | Returns to the original position and observation state, with no need to reset time range and filters | IH6-1 |
| Read key information from a shared display at the actual viewing position | Readable; responsibility stated; noticeable when it stops refreshing (matching a workstation's content is not by itself a violation) | IH6-2, IH3-3 |
| Perform a handover with shelved alarms, forced points, and an unrestored bypass present | All five categories of handover item automatically enter the list, both identities recorded | IH6-3 |
| Inject one slowly developing deviation during a long, low-event-rate period | Noticing does not depend on sustained gazing, and is not substituted by timed acknowledgment | IH6-4 |
| Take an alarm-limit adjustment effective across a shift boundary | The incoming operator is aware of its content and effective time; the change is traceable and revertible | IH6-5 |
| Perform a handover and a workstation logout during an unfinished disposition | The disposition object remains present, with associated shelved and bypassed items still attached | IH6-6 |
A.7 Combined faults and complete tasks
| Injection | Expected behavior | Related rule |
|---|---|---|
| An alarm returns to normal and then activates again, while an acknowledgment for the prior event is sent | The new event still requires acknowledgment; the action on the old event does not change the new event | IH2-4 |
| Freeze the list during a flood and filter to one area while a high-priority alarm occurs in another area | The selected object does not drift, the count of new and hidden items is visible, position-level critical indication is still obtainable | IH2-5 |
| An input chatters near its limit and then quickly exceeds it | Chatter is managed without eating into the genuine anomaly's effective response window | IH2-2 |
| A data value stays unchanged for a long time while valid acquisition continues; separately inject a stuck upstream source with a normal network heartbeat | The former is not mistaken for loss of contact, and the latter's heartbeat does not serve as proof its measurement is valid | IH3-1, IH3-2 |
| A stale snapshot and new events arrive interleaved on reconnection, with some data sources not yet synced | New state is not rolled back, the unsynced scope is still marked, and history gaps are not misreported as backfilled | IH3-3, IH2-4 |
| Look back at a historical trend first, then open the real-time control panel | The history window is clearly labeled; execution is re-checked against current state | IH1-4, IH5-2 |
| Change a subsequent step's parameter while a batch is paused, then resume | Scope of effect is clear, completed steps are not redone by default, waiting and transition conditions are queryable | IH4-3, IH5-6 |
| Select densely packed equipment wearing actual gloves, then drag out of the control, lose focus, or disconnect during a press-and-hold run | The object is verifiable, input interruption ends via a valid mechanism, and the emergency path is not blocked by a generic confirmation | IH5-1, IH5-3 |
| A new bypass and a result-unknown command appear before the handover confirmation, followed by an interrupted handover | The difference is itemized separately, the original sign-off does not cover the new item, and responsibility and operating authority are not lost to the interruption | IH6-3, IH6-6 |
A.8 Classification check
Used to verify whether the split in Chapter 1 holds: take 10 to 15 concrete requirements (drawn from these guidelines' own clauses, or from actual review comments and incident-investigation findings), and have at least three reviewers who did not participate in writing these guidelines independently judge which principle each belongs to. When attribution disagreement concentrates between a particular pair of principles, that shows the regulated objects of those two principles have not been split apart — at that point the principles should be adjusted, rather than adding an intermediate layer or a mapping note. The two boundaries known to need priority testing are stated explicitly in Chapter 1 (IH1 and IH3, IH4 and IH5). The reviewer count and the disagreement criterion are an internal check method these guidelines propose, not a standard method validated by literature.
Appendix B: Evidence boundaries and source types
B.1 Criteria for normative terms
The sole basis for marking something "MUST" is: without it, some commitment to the operator would fail under foreseeable conditions. The three categories of evidence below provide different kinds of support; they are not three independent sources of mandate — the existence of an industry standard, or the fact that some product has done it this way, is not by itself sufficient to warrant marking something "MUST" —
| Source | Explanation | Example |
|---|---|---|
| A public failure record | A public accident investigation, incident report, or research record shows this commitment fails under real conditions | IH2-5 (handleability during a flood), IH4-1 (mode confusion) |
| Derived from the commitment itself | Given that the product presents process state at all, the presentation would necessarily lose its meaning without this mechanism | IH3-1, IH3-3 (a screen that has stopped refreshing looks like normal operation) |
| Consistent with existing engineering practice | A practice that has existed in the industry for a long time, as evidence that "this kind of mechanism is workable" | IH2-4 (the suppression list), IH5-1 (select–verify–execute) |
The eight rules marked "SHOULD" (IH1-4, IH2-6, IH3-5, IH3-6, IH4-6, IH6-2, IH6-4, IH6-5) are all matters of trade-off, not matters of a hard floor: a deviation may have legitimate reason, but it must leave a trace and accept the same verification. Several of them contain forbidding-level clauses (see 2.2); the clause itself remains a hard constraint.
B.2 The three thinnest points of evidence in these guidelines
Listed explicitly, not masked by the tone of a clause:
- IH2-2 gives no alarm-load figure of any kind. The benchmark values circulating in public literature and industry practice carry premises about their survey scope, plant type, and counting convention, and no verifiable primary basis was obtained this time to support any universal figure. These guidelines therefore only require "the target be explicitly defined, have a basis, be measured, and be used in decisions." Accordingly, IH2-2 requires target reasonableness to be verified in conjunction with complete response time and missed-disposition data (source R26, R31); Chapter 5 defines how evidence is recorded — relaxing the target cannot substitute for verification.
- The noticing path in IH6-4 lacks verifiable evidence of effectiveness. That prolonged, low-event-rate monitoring weakens the capacity to notice is discussed in the research; but there is no conclusion about "which category of presentation is effective over how long a shift" that can be directly transplanted to a specific plant. These guidelines only require that the noticing path not be "sustained gazing," without making an effectiveness promise about any substitute.
- The allocation of presentation intensity in each IH1 rule lacks a cross-scenario quantitative basis. "Normal is quiet, abnormal stands out" has broad engineering consensus as a direction, but the concrete division of intensity tiers, contrast values, and their performance under different field-illuminance conditions must be measured by the product itself. These guidelines give the criterion for the allocation relationship, not a directly adoptable visual parameter.
B.3 What these guidelines do not do
They make no determination or certification of functional-safety level, do not specify the design or verification of interlocks and protection functions, do not specify process design or control algorithms, make no compliance assessment of industrial cybersecurity, do not specify hardware and environmental protection ratings, do not specify the control room's architectural and ergonomic layout, personnel qualification, or training certification, give no concrete figures for alarm rate, response deadline, contrast, or refresh cycle, do not specify configuration software, communication protocols, or screen-building tools, and give no color scheme or control appearance. These are decisions for the standards system, engineering disciplines, and the product; these guidelines specify only that the decisions relevant to the operator's monitoring and operating experience MUST be made, MUST be testable, and which values are not permitted. Adopting these guidelines does not constitute any proof of compliance.
B.4 Sources
The complete source catalog, verification status, and retrieval record are in reference.md. The full text of most relevant standards is behind paywalled access, and the original text was not obtained this time; reference.md distinguishes public sources that were read, records of existing material, and leads pending verification. A clause in these guidelines does not hold merely because some standard exists, nor merely because some vendor has done it this way; a source proves that this kind of mechanism or this kind of failure exists, and does not directly prove that a given requirement applies to every product.
Implementation acceptance scenarios
The scenarios below turn the existing clauses into reviewable acceptance input, without setting any additional general-purpose performance threshold. Select per the product's applicable capability, supplementing actual equipment, users, input sequences, and evidence; record the reason where not applicable, and an item not executed MUST NOT be recorded as passed.
| Clause | Test input and anomaly | Expected behavior and failure criterion |
|---|---|---|
| IH3-2 | An input has just updated but has no quality evidence; another value has good quality but is stale. | Quality and timeliness are presented separately; neither proves the other. |
| IH2-4 | A shift handover occurs while an alarm is shelved, and the alarm then returns. | The holder, condition, deadline, and any unfinished disposition are queryable, not lost to the handover. |
| IH5-6 | Two workstations concurrently control the same object, with one receipt arriving late. | The actual adjudication and the user-facing result agree; both sides MUST NOT be able to claim their own state succeeded. |
Each scenario separately verifies the configuration's effective value, the execution record, and a result the user can understand. Retain the version, target, event timing, failure scope, and recovery result; where an external result is unknown, it is not filled in as either success or failure.
Usage notes
This dictionary is a behavior vocabulary, not a visual vocabulary. It specifies the expression of decisions such as "what counts as normal, what signal deserves an alarm, under what condition a value no longer counts as real time, who finds out when a mode changes, which operations must be verified first, what a shift handover must hand over." Appearance values bind to the product's style resources through ihmi.presentation.state.levels.ref; viewing and input conditions are recorded separately in environment.profile and control.interaction.profile. State is driven by process fact, and cannot be reverse-derived from a color value.
This dictionary is used together with Industrial HMI Design Guidelines, inheriting its applicability requirements and scope statement; the dictionary does not substitute for the full guidelines, nor does it constitute proof of compliance with functional safety, industrial cybersecurity, occupational health, or any mandatory standard. Where a value in this dictionary conflicts with an applicable mandatory standard, industry code, or site operating procedure, the latter governs. Field names are uniformly prefixed with ihmi..
One reading rule that runs through the whole table: the values in this dictionary are a declaration of "what commitment this product has made in monitoring and operation," not a score where more is better. An empty set or "not provided" may be used only where the field explicitly permits it; where the actual condition does not hold, record "not applicable" in the configuration record. A field MUST NOT be arbitrarily given an off tier. This dictionary provides no universal production threshold. Alarm load, staleness duration, font size, touch-target size, and response window must be determined by process, position, and the field. Configuration MUST be filled with an effective value carrying a unit or a resolvable reference; "to be determined by the field" MUST NOT be treated as a completed configuration. The examples in Section 10 only illustrate the manner of filling it in.
Six categories at a glance
| Category | Prefix | Required | Optional | Total | What it is responsible for |
|---|---|---|---|---|---|
| Presentation | ihmi.presentation | 4 | 5 | 9 | What counts as normal, how intensity is allocated, what a value carries, how many tiers a screen has |
| Alarm | ihmi.alarm | 2 | 9 | 11 | What deserves an alarm, the total-volume target, how it is prioritized, how it is turned off and how it comes back |
| Data | ihmi.data | 4 | 7 | 11 | Whether this value still counts: timeliness, quality, loss of contact, human intervention, time, derivation |
| Mode | ihmi.mode | 3 | 6 | 9 | Who is in control right now, who finds out when it changes, what automatic manages, what it hands over when it lets go |
| Operation | ihmi.control | 3 | 11 | 14 | Which operations must be verified, what goes in a confirmation, where permission is enforced, what trace is left |
| Duty | ihmi.shift | 2 | 7 | 9 | What drilling in carries, what the large screen manages, what a handover hands over, where unfinished items go |
Required and optional
| Level | Meaning | How to configure |
|---|---|---|
| Required | A basic decision that must be made explicit whenever the corresponding applicable condition holds: no default means undefined behavior. Required does not mean "every product must fill it in" — it means "when the condition holds, it cannot be missing." | It may inherit a product preset or a site convention, or express a limitation with a legitimate "not provided" or the most conservative value; item-by-item manual filling is not required. A purely offline configuration tool, a reporting tool, or a system that presents no real-time process state may simply record the whole dictionary "not applicable." |
| Optional | A parameter adopted only under a specific capability or a specific site condition. | Not configured where the corresponding capability is absent; once a capability is enabled, its necessary dependencies MUST have an explicit value or an executable inheritance rule (see Section 7). |
Configuration resolution has only three outcomes: resolved, not_applicable, invalid. The operational fact unknown is stored separately, and MUST NOT be conflated with a configuration-resolution outcome:
| Outcome | Meaning | Consequence |
|---|---|---|
resolved | Has a direct value, or inheritance resolvable to a definite source. | Executed per that value. |
not_applicable | The factual condition does not hold (the object has only a single, non-switchable control mode; the terminal genuinely provides no control entry point; the site genuinely has no shift handover), with the basis for the judgment recorded. | Does not carry the obligation derived from that field; does not release the product's other basic obligations. |
invalid | The capability exists but a required dependency is missing, or values conflict with one another. | Configuration is invalid: the feature depending on that field is not enabled, and it is recorded as pending remediation; it MUST NOT fall back to "no obligation" or the most permissive tier. |
"Not claiming to support a capability" only changes the marketing claim; it does not change the facts still occurring in the field: a shift handover still happens, an intervention is still in effect, an operation still needs attribution. The "when not met" column of the interlock tables therefore describes how restricted use and existing obligations continue to be met, not the cancellation of an obligation.
Boundaries of the state-tier, alarm, intervention, mode, and disposition objects
| Object | What it is responsible for | Key boundary |
|---|---|---|
| State tier | The classification of whether a value or piece of equipment is currently normal, needs attention, or needs action, and the presentation intensity corresponding to each tier. | This is the basis for allocating presentation, not the basis for generating an alarm. A value entering the needs-attention tier does not imply it should generate an alarm (that is judged by alarm.eligibility). |
| Alarm | A signal that alerts the operator that an abnormal condition has occurred requiring their response. | Alarm eligibility and the state tier are two decisions each requiring their own rationale. A signal with no executable response action may be an event, a log entry, or a status display, but does not occupy the alarm channel. |
| Data quality and timeliness | Whether a value is usable / suspect / unusable, and whether it is real time. | The two are independent: a value just acquired can be a bad value, and a good value from five minutes ago is still stale. Quality flows with the value to every consumer that actually exists — the screen, trends, reports, and alarm judgment — and is not handled separately just at the screen. |
| Human intervention | Force, bypass, override, interlock removal, and simulation run. | It may change a signal's source, an output, or a protection relationship; a protection bypass does not necessarily change the measured value. Each dimension is indicated separately, enters the list, and leaves a trace. The list manages "what is still on right now," the record manages "what has happened" — neither substitutes for the other. |
| Control mode | Who currently controls a controlled object and by what method. | A state, not an action. Changing mode is an operation, configured per ihmi.control.*. Unknown is one legitimate value, and MUST NOT be replaced by the default value of any specific mode. |
| Disposition object | An anomaly disposition that has not yet been completed. | A stateful object that exists across shifts, not a note. It may be carried by an existing work-order or work-permit system, but its state and the associated shelved and bypassed items MUST be obtainable and MUST NOT disappear as personnel leave their post. |
The same mechanism appearing in multiple places is the norm: data quality decides how a value is presented, whether an alarm should be suppressed, and whether an automatic loop should exit. In the dictionary it is defined once (data.quality.*) and referenced by every other category, not duplicated into three separately configurable values.
Field-reading convention
Each section's prefix concatenates with a field in the table to form the full name, for example ihmi.alarm and suppression.registry combine into ihmi.alarm.suppression.registry. All six categories uniformly use five columns: Level, Design decision, Token field, Type and legal values, Applicable condition and effect.
A duration carries a unit, a rate carries a unit and a window; a scope reference must be resolvable to a definite set of objects, a position, or a data-source category. A set is not selected in full by default. When multiple hard limits are in effect simultaneously, the commonly permitted range applies; a later configuration does not relax an earlier one by "overriding" it, and a workstation-level or individual-level configuration MUST NOT relax a site-level or position-level setting.
Unknown determines current behavior by the conservative tier, but does not rewrite the recorded state. An unknown timeliness MUST NOT be treated as real time; an unknown control mode is treated as unknown (not as automatic, not as manual); unknown operating-authority ownership is treated as not held; an unknown position alarm load is treated as target not yet met, pending measurement; an unknown command result is retained as "result unknown," not treated as success or as failure.
Data quality's unknown has a separate convention: when a data source provides no quality evidence, it is recorded as unverified (not "suspect"); whether it may be used for display, trends, reports, and alarm judgment is defined separately for each use by quality.use_policy.ref, not decided on its behalf by a single, uniform conservative default — "suspect" is a defined quality tier, "unverified" is evidence not having been obtained, and the two are not merged. Normal timeliness does not constitute proof that quality is usable.
Presentation binding and operational fact
state.levels.ref resolves to the foreground, background, icon, line style, text, and motion-effect resources for every semantic state. The binding covers at minimum process deviation, alarm priority, data quality, timeliness, bypass, mode, and selection feedback; they may stack, and MUST NOT be flattened by a single "most severe color" that erases the other facts. Normal-state text MUST be readable, an abnormal color MUST NOT double as ordinary decoration, blinking may express only a clearly defined pending-response state, and MUST have a static, discriminable expression as well. Light and dark themes are verified separately, and MUST NOT simply be color-inverted.
Process values, current alarm state, execution results, and the responsible party belong to operational objects; the token stores the field requirement, the determination policy, and the source reference. A field with a .ref suffix points to a resolvable definition or policy, and MUST NOT be filled with only a name; other structural fields that describe a dynamic object likewise store only its contract, with the instance stored separately. The JSON in this document is a behavior-configuration example; it does not claim that any of its structures are a DTCG standard type — when visual tokens need to be exchanged, export them separately per the supported color, size, duration, and other types.
1. Presentation: what counts as normal, how intensity is allocated, what a value carries, how many tiers a screen has
Prefix: ihmi.presentation
| Level | Design decision | Token field | Type and legal values | Applicable condition and effect |
|---|---|---|---|---|
| Required | State-tier definition | state.levels | Set; each tier contains a name, a criterion (driven by data, not hand-colored screen by screen), and the presentation intensity assigned to it. MUST separately carry the three semantic responsibilities of normal, needs attention, and needs action; where a proof exists that a given object class does not have one of these situations, that responsibility MAY be recorded "not applicable" with the basis stated, but configuring only two tiers MUST NOT leave "needs attention" and "needs action" indistinguishable in presentation. The presentation used for the normal tier MUST NOT overlap with any deviation tier. | Decides "what counts as normal" and where intensity is allocated; tier definitions are centrally managed and referenced by every screen (corresponds to IH1-1). |
| Required | Non-color coding method | state.encoding | Set: shape, pattern, position, text label, value. An empty set does not hold — color MUST NOT be the only code, and the chosen method MUST be obtainable without zooming, hovering, or clicking. | Decides what, besides color, carries the state distinction; MUST still hold on monochrome and low-color-gamut display devices (corresponds to IH1-2). |
| Required | Value-accompanying information | value.context | Set: engineering unit, range or normal range, position relative to a configured limit, basis for significant digits. The first three MUST NOT be empty; they may be shown nearby, or carried by a stable screen convention, but MUST NOT require reliance on memory or consulting documentation. | Decides how a number constitutes process information; limits come from configuration, not hard-coded into the screen (corresponds to IH1-3). |
| Optional | Visual-tier reference | state.levels.ref | Reference: a single, definite source in the visual-token set carrying the values for each state tier. The referenced values MUST be able to distinguish each tier under the stated viewing conditions. | Configured where an existing visual system exists; used to bind state presentation uniformly (corresponds to IH1-1, IH1-2). |
| Optional | Trend-obtaining method | trend.availability | Enum: not provided / called up on demand / direction or rate of change shown with the value / permanently resident trend. Gaps and bad-value segments MUST NOT be interpolated across — they MUST be shown broken or marked. Where the time span is adjustable, the span and sampling method MUST be explicitly labeled. | Configured where a key variable changes continuously over time; which variables count as key is determined by the product against the process and operating task, with the basis recorded (corresponds to IH1-4). |
| Optional | Screen-hierarchy responsibility | screen.hierarchy | Set; each tier contains the question it is responsible for answering and how to reach the tier below it. A tier that can answer "is everything normal overall, and in which area is there an anomaly" MUST exist; the same question MUST NOT be scattered across multiple screens that do not reference one another. | Configured when composed of multiple screens; the number of tiers and the basis for dividing them is recorded with rationale by the product, not dictated by the configuration tool's default structure (corresponds to IH1-5). |
| Optional | Allowed scope of decorative presentation | decoration.policy | Enum: no decorative presentation used / permitted but carries no meaning. The second tier requires that, with all decoration removed, the screen can still complete monitoring and operating tasks, and a continuous motion effect MUST NOT be used to represent un-deviated normal operation. | Configured when using three-dimensional forms, skeuomorphism, gradients, shadow, or texture; process connection relationships are information and are not counted as decoration (corresponds to IH1-6). |
| Required | Viewing environment and readability | environment.profile | Structure: terminal_class (control-room workstation / field panel / shared display / mobile terminal), viewing_distance_mm (positive interval), lighting_lux (non-negative interval), display_scale (positive number), style_ref (the concrete value set for font size, line height, contrast, symbols, and theme), validation_ref (discriminability test cases and evidence under an actual equivalent environment). Both the condition range and the style values MUST be definite; filling in "as appropriate" is not sufficient. | Made explicit when presenting process state; large-screen far viewing, field glare, and a night-shift theme are verified separately (IH1-2, IH6-2). |
| Optional | Trend axis and sampling strategy | trend.policy | Structure: default_window (positive duration), axis_mode (fixed / auto with the change made explicit), sampling_ref (raw / aggregated and the extreme-value retention rule), history_label (non-empty copy), follow_live (whether real-time following is on by default, boolean), gap_marking (broken / broken and labeled). Unit and variable identification are required; a historical value MUST NOT enter a real-time control input. | Made explicit when trend.availability provides a curve; verified against fast limit excursions, missing measurements, scaling, and history look-back (IH1-4). |
Boundaries: tiers govern presentation intensity, encoding governs the method of distinction, accompanying information governs interpretability. The three tighten independently: defining tiers does not mean a tier may be expressed by color alone, and choosing a non-color encoding does not exempt it from providing a unit and a range. This category makes no determination of whether any tier generates an alarm — that belongs to ihmi.alarm.eligibility.
2. Alarm: what deserves an alarm, the total-volume target, how it is prioritized, how it is turned off and how it comes back
Prefix: ihmi.alarm
| Level | Design decision | Token field | Type and legal values | Applicable condition and effect |
|---|---|---|---|---|
| Required | Alarm-eligibility criterion | eligibility | Reference or structure: every alarm MUST record response_action (the response action), intended_effect (the effect that action is intended to achieve), latest_useful_time/condition (the latest time or condition under which it remains useful), responsible_role (the role responsible for that action). Where no assessment, control, mitigation, or escalation response exists that is still useful and concretely executable, alarm eligibility MUST NOT be gained; a consequence having already occurred, or one response's window having passed, does not automatically cancel the eligibility supported by other valid responses, and MUST NOT be judged by a blanket "consequence has occurred" boolean. | Decides what occupies the alarm channel; an entry for which no response action can be written has its alarm status canceled (corresponds to IH2-1). |
| Required | Load target and flood criterion | load.target | Structure (members and types; the numbers are measured by the product): scope_ref (a resolvable position and the set of alarm sources included), operating_mode_ref (the operating-condition classification definition), steady{max_count: non-negative integer, window: positive duration, window_kind: rolling or fixed}, peak{same as above}, flood{entry_rule_ref, exit_rule_ref}, counting_rule_ref (how a first alarm / a repeated alarm / an acknowledgment / a repeated event / a suppressed item are counted), rationale_ref (position task load, available response window, and verification basis), review_owner_ref, breach_response_ref. Calculated summed by position, not separately per subsystem; the count is expressed as "the number within a given window," with no separately stored per-minute rate that could contradict it — a displayed rate is computed from it. This dictionary gives no figure; the observed actual rate MUST NOT be taken directly as the target, and setting max_count to zero does not mean a necessary alarm may be deleted — eligibility determination holds independently per eligibility. | Decides the budget for total alarm volume; exceeding the target MUST trigger a disposition process rather than raising the target (corresponds to IH2-2). |
| Optional | Prioritization criterion | priority.basis | Structure: a unified basis for judgment combining severity of consequence × response time left to the operator, including the presentation difference and response expectation for each tier. Equipment price, discipline, submitting department, or a vendor default MUST NOT be used as the basis. | Configured when classifying priority; the leveling rationale for each entry MUST be queryable and reviewed when process or equipment conditions change (corresponds to IH2-3). |
| Optional | High-priority proportion observation | priority.top_share | Structure: how the entry count and actual occurrence count of the highest-priority alarm are observed, and who is responsible for review. Considered unimplemented prioritization when the proportion makes "priority" lose its meaning; this dictionary gives no proportion figure. | Configured together with prioritization; without this item, prioritization erodes in operation with no one noticing (corresponds to IH2-3). |
| Optional | Suppression-mechanism tiers | suppression.mode | Capability set: operator shelving / automatic suppression by operating condition / maintenance disabling / group interlock. An empty set means no suppression capability is provided at all (no separate "not provided" tier is set, to avoid confusion with "not configured"). Contains no "permanent mask" tier — permanently canceling an alarm is a configuration change and goes through the change process. Each item MUST reference its own recovery policy separately: shelving includes an upper limit and expiration handling, condition-based suppression includes a validated clearing condition, maintenance disabling includes return-to-service verification; a review deadline passing MUST NOT be resolved as already having met the conditions for return to service. | Configured when suppression capability is provided; suppression is a legitimate means of controlling load, conditioned on visibility and recoverability (corresponds to IH2-4). |
| Optional | Suppression list and recovery | suppression.registry | Reference: the list's source and the definition of its required record fields, containing at minimum mechanism category, reason, responsible party, start time, recovery condition or deadline, review requirement, and the notification method on expiry or recovery; the current count is obtainable at the overview tier. List content is operational fact; this field defines only its source and required fields. A suppression path that does not enter this list MUST NOT exist; the list's size MUST be observed, but duration alone is not a criterion for a configuration error. | MUST be made explicit together when configuring suppression.mode (see Section 7); the list's size itself MUST be observed (corresponds to IH2-4, IH6-3). |
| Optional | Alarm-state dimensions | state.contract.ref | Reference: whether the product provides acknowledgment, silencing, and latch-reset operations, each one's scope of effect (single item / group / all) and permission policy, and how the four states (active, acknowledged, audible, latched) are obtained separately. The four are expressed separately, and any interlocking MUST be stated: acknowledgment does not mean the anomaly has cleared, silencing does not mean it has been acknowledged, and a latch reset does not mean the equipment has restarted. Acknowledgment MAY silence at the same time per a defined rule, but the two results are each stored separately, and silencing MUST NOT be used to infer acknowledgment in reverse. An acknowledgment request MUST be bound to a specific alarm and its event state; a bulk acknowledgment locks onto the explicit set of events at that time and does not cover an alarm newly arriving during the operation; a newly occurring unacknowledged state MUST NOT be overwritten by a stale acknowledgment. Where latching capability does not exist, mark it not applicable — do not fabricate an "already reset." The state-rebuild method after a system restart MUST be stated. The current value of each state is operational fact and is not written into this dictionary. | Configured when alarm state is displayed or when acknowledgment, silencing, or latch-reset operations are provided; missing this item implements "I have seen it" as "the anomaly has cleared" (corresponds to IH2-4). |
| Optional | Flood-period presentation | flood.presentation | Structure: grouping_ref (the correlation-grouping or collapsing rule), sequence_evidence_ref (sequence evidence and its limitations), first_out_mode (source discrimination / explicit indeterminate), list_interaction_ref (filter scope, new-item count, selected-event stability, and a global-view prompt). Required members are grouping or collapsing, sequence evidence and its limitations, and first-out discrimination or an explicit indeterminate result; when first-out discrimination is claimed, first_out.source MUST be stated explicitly. A scrolling list is not the sole presentation during a flood; silent discarding or truncation MUST NOT occur, unless the discarded portion is fully retained, retrievable, and this fact is stated explicitly. | Configured where alarm flooding may occur; grouping and first-out are information that helps a person judge, not a diagnostic result (corresponds to IH2-5). |
| Optional | First-out discrimination source | first_out.source | Reference: the source providing sequence information and a statement of its discriminating capability; MUST be consistent with data.time.basis. Where order is indeterminate, output "indeterminate," not a list arrangement standing in for it. | MUST be made explicit together when first-out discrimination is provided (see Section 7); corresponds to IH2-5, IH3-5. |
| Optional | Response-guidance source | guidance.ref | Reference: a single, definite source for guidance content, linked to the same authoritative source as the current operating procedure. Guidance MUST NOT be presented as a substitute for procedure or as a source of authority to interpret procedure; a recommendation generated by the system or derived from statistics MUST be labeled separately from content that comes from procedure. | Configured when alarm response guidance is provided; guidance is invalidated pending update together when the procedure is updated (corresponds to IH2-6, IH3-6). |
| Optional | Alarm-chatter management | conditioning.policy | Structure: scope_ref (the applicable alarm category), deadband (a non-negative quantity, carrying an engineering unit or a range-percentage basis), on_delay, off_delay (non-negative durations), response_budget_ref (the time budget including acquisition, transmission, human response, and process effect), validation_ref (a paired test case of chatter and a fast anomaly). Zero means this item applies no delay and no deadband, not that it is unconfigured. | Made explicit when using a deadband or delay to handle a repeating alarm; the setpoint itself is engineering configuration — the HMI records the source and behavior contract, and does not itself alter the control threshold (IH2-2). |
Boundaries: eligibility governs "does it qualify," load governs "how many," prioritization governs "who to look at first," suppression governs "how to temporarily not look." The four cannot substitute for one another — using suppression to lower the load statistic without changing the configuration is the most typical evasion in this domain; using a downgrade as a substitute for canceling eligibility buries a signal that needs early intervention along with it.
3. Data: does this value still count
Prefix: ihmi.data
| Level | Design decision | Token field | Type and legal values | Applicable condition and effect |
|---|---|---|---|---|
| Required | Staleness determination | staleness.policy | Structure: defines the criterion for "no longer real time" and its presentation separately per data-source category, including how the time obtained or elapsed staleness is obtained. The criterion MUST be commensurate with each data source's actual update characteristics; no universal default duration is set; each source category MUST state source_class (source category), reporting_mode (periodic / change-of-value / manually updated), liveness_ref (evidence of acquisition liveness), expiry_rule_ref (the staleness condition, with unit and time basis), display_ref (the staleness indicator). An unchanged value does not prove staleness, and a downstream heartbeat does not prove the measurement is valid. | Decides how a real-time value and the last known value are distinguished; a value whose cycle is inherently long is not judged stale merely because of this, but its update cycle MUST be obtainable (corresponds to IH3-1). |
| Required | Quality tiers | quality.levels | Enum set: distinguishes at minimum usable, suspect, unusable, with a separate unverified tier meaning no quality evidence was obtained (kept separate from "suspect," which is a defined quality conclusion). The meaning and generating condition of the suspect tier MUST be defined and queryable. Unusable MUST NOT be rendered as zero, the bottom of the range, the last valid value, or any default fill value. | Decides how a bad value is presented; where a data source cannot provide quality information, staleness.policy serves as the obtainable substitute criterion, presented as unverified with the limitation recorded — normal timeliness does not prove quality is usable (corresponds to IH3-2). |
| Required | Consumers of quality | quality.propagation | Set: quality MUST propagate to every consumer where that value actually exists (screen, trend, report, alarm judgment, and any other consumer path the product actually has); a consumer that does not exist MAY be recorded "not applicable" with the basis stated, but omitting registration of a consumer MUST NOT be used to evade this rule. Each item's handling of a bad value (skip, break, flag, exclude from computation) MUST be explicitly defined separately, not left to each one's default behavior. | Decides where quality information flows; a screen showing a bad value while an alarm still computes from it is the most common failure of this category (corresponds to IH3-2, IH1-4). |
| Required | Link-failure indication | link.failure.indication | Structure: defines the criterion for "still updating" and its failure presentation per display-terminal category, covering the three cases of network interruption, server stop, and hung screen process. Detection source and valid presentation path MUST be stated fault by fault; a hung screen requires a watchdog outside the process, an independent signal, or a validated alternative monitoring path, and MUST NOT rely on a timer inside the same screen process. MUST NOT depend on the very link that has been interrupted to be produced; applies equally to unattended shared displays. | Decides how a screen that has stopped refreshing is noticed; the noticing method MUST hold at normal monitoring distance and attention level (corresponds to IH3-3, IH6-2). |
| Optional | Per-use quality-use policy | quality.use_policy.ref | Reference: defines, separately by consuming use (display, trend, report, alarm judgment, control and automatic loops), whether each quality tier (usable / suspect / unusable / unverified) may participate, how it is labeled when it does, and the substitute disposition when it may not. The same suspect value is permitted to receive different, defined dispositions under different uses; a single, uniform conservative default MUST NOT substitute for a per-use definition, nor MUST every use be required to uniformly discard it. | Made explicit together when configuring quality.levels (see Section 7); without this item, "what can suspect participate in" has no answer (corresponds to IH3-2, IH3-6). |
| Optional | Permitted intervention types | intervention.scope | Set (an empty set means no intervention capability is provided): point forcing / signal bypass / output override / interlock removal / simulation run. A protection-bypass indicator MUST be bound to the affected protection function and object, not conditioned on whether the measurement source has changed — under a bypassed interlock, the sensor reading may still be true; what has failed is the protection relationship. Each selected item MUST be explicitly indicated everywhere it or the affected object appears; the indication MUST NOT exist only on one dedicated screen. | Configured when human-intervention capability is provided; entering or exiting simulation run MUST be an explicit action and be notified to on-duty staff (corresponds to IH3-4). |
| Optional | Intervention list | intervention.registry | Structure: the data contract and authoritative source for the intervention list, specifying performer, time, reason, affected object or protection function, and expected recovery condition; the current list instance is stored separately; the current count is obtainable within the operator's routine field of view. An intervention path that does not enter this list MUST NOT exist, including an engineering station, offline configuration, or a commissioning tool. | MUST be made explicit together when configuring intervention.scope (see Section 7); whether to set an automatic-clearing deadline is determined by the product against the process, with the basis recorded (corresponds to IH3-4, IH5-5). |
| Optional | Time basis | time.basis | Structure: where a timestamp is generated (field device / controller / upper-level software), a statement of comparability among sources, and time-zone and daylight-saving handling. Where not comparable, presentation order MUST NOT be used to imply the order of occurrence. The resolution needed is determined by the process dynamics being judged, with the basis recorded. | Configured when event records may be used for after-the-fact analysis; the capability boundary MUST be stated, not assumed to exist by default (corresponds to IH3-5). |
| Optional | Derived-value labeling | derivation.marking | Structure: the value's source type (measured / calculated / manually entered / estimated), how the computational basis is obtained (inputs, method name and basis), and the input-validity contract: required_inputs (required inputs), redundancy_rule (the redundancy or substitution rule and its verification status), validity_bounds (validity boundary), on_contract_unmet (output quality when the contract is not met). When a required input is unusable or stale, it MUST NOT continue to be presented as a normal value; where a validated substitute exists and the contract is still satisfied, it MAY continue, with the input combination used noted. A derived value MUST NOT be presented under the name of a measured value; unit conversion and range scaling are not counted. | Configured when displaying a soft-sensing, statistical, or model-estimated value; a diagnosis or prediction MUST be labeled as an inference (corresponds to IH3-6). |
| Optional | Simulation-run labeling | simulation.marking | Enum: simulation not provided / a simulation screen is distinguishable from an actual-operation screen across its entire extent. The second tier requires the distinction to hold on every sub-screen and every terminal, with switching an explicit action. | MUST be configured when a simulation, training, or offline drill mode is provided and shares screens with the real system (see Section 7); corresponds to IH3-4. |
| Optional | Reconnection-recovery check | reconnect.policy.ref | Reference: defines the sync scope, authoritative-snapshot and incremental-merge rule, evidence of sync completion, history-gap labeling, and the threshold for control recovery after a first connection, a reconnection, or a service switchover. Current value, quality, mode, operating authority, active and unacknowledged alarms, and the intervention list are covered to the extent of actual capability; a stale snapshot MUST NOT overwrite a new fact, and control commands are not automatically resent. | Made explicit where connection recovery or service switchover exists; sync state is presented per data source or area, not stood in for by a single "online" (IH3-3, IH5-6). |
Boundaries: timeliness governs "is this from now," quality governs "is this genuinely true," intervention governs "was this given by a person," derivation governs "was this calculated." The four are mutually independent, and flattening any one of them makes a value look more certain than it is. This category only defines the expression of these states; it does not specify the measurement chain, communication protocol, or acquisition implementation.
4. Mode: who is in control right now, who finds out when it changes, what automatic manages
Prefix: ihmi.mode
| Level | Design decision | Token field | Type and legal values | Applicable condition and effect |
|---|---|---|---|---|
| Required | Mode set and semantics | set | Structure: maintains, per dimension, the name, meaning, and operating effect of control source (local / remote, etc.) and control method (manual / automatic / cascade, etc.), with each actual dimension including unknown. Equipment operating state and operating authority are stored separately; "stopped" and "remote" MUST NOT be made into mutually exclusive modes. Where the same name has different meanings, it MUST be renamed or qualified; a newly integrated subsystem MUST complete a mode-semantics reconciliation, and MUST NOT simply carry over its own built-in naming. | Decides what "manual," "remote," "automatic" mean in this plant; presentation on a local panel and an upper-level screen MUST be consistent or the difference MUST be stated (corresponds to IH4-5). |
| Required | Persistent-presentation requirement | visibility | Enum: simultaneously visible with the object's state. "Visible only in a centralized list" is not a legal value — a centralized list may only supplement, not carry, this field; this limitation is not relaxed because a screen is read-only (the requirement of IH4-1 is not limited to operable screens). Presentation is governed by presentation.state.encoding. | Decides whether mode is present; when mode is unknown, it is presented as unknown, and MUST NOT be replaced by the default value of any specific mode (corresponds to IH4-1). |
| Required | Change-notification scope | change.notification | Set: manual switch, system-initiated switch, or exit. Neither item may be missing; a system-initiated exit MUST make its reason obtainable. Every change MUST record the time, the mode before and after, the initiator, and the reason, and MUST be retrievable together with the operating record and the alarm record. | Decides how a mode change is noticed and traced; whether it is configured as an alarm is judged by alarm.eligibility and priority.basis, which this field presupposes nothing about (corresponds to IH4-2). |
| Optional | Automatic-function scope of action | automation.scope | Structure: the contract for an automatic function's objects of action and target source, specifying the set of objects, how the target or setpoint is read (the current value is stored separately), and its applicable boundary (operating-condition range, in-service precondition, dependent measurement points). When the operating state approaches or exceeds the boundary, it MUST NOT be presented as though it were operating normally only. | Configured when equipped with automatic control, automatic sequencing, or automatic optimization capability; does not require the algorithm or tuning parameters to be shown (corresponds to IH4-3). |
| Optional | Exit conditions | automation.exit.conditions | Set: the conditions under which each automatic function stops or exits, coming from the same source as the actual exit criteria in the control logic. No exit path may exist only in the implementation and not be presented. | MUST be made explicit together when configuring automation.scope (see Section 7); corresponds to IH4-3, IH4-2. |
| Optional | Priority order among automatic functions | automation.overlap | Structure: the relationship and order of priority when multiple automatic functions act on the same object simultaneously, and how this is made obtainable to the operator. | Configured when multiple tiers or sets of automatic functions exist; without this item, the operator cannot explain why a setpoint is changing (corresponds to IH4-3). |
| Optional | State needed for takeover | handover.payload | Set: the current output value or actuator position, the target and deviation before exit, the reason for exit, the list of objects currently in a manual state, and the constraints currently in effect. An output jump from a planned switch MUST be foreseeable beforehand; a sudden exit MUST NOT delay protection while waiting for confirmation, and MUST present the actual output, reason, and constraints promptly after exit — a silent-jump handover MUST NOT occur. | Configured where a scenario exists in which automatic hands over to manual; completed handover MUST NOT be indicated solely by a change in the mode marker (corresponds to IH4-4). |
| Optional | Compensation-margin signals | margin.signals | Set: an actuator approaching or reaching a travel limit, a control output drifting in one direction over the long term, the manipulated quantity needed to maintain the same target continuously increasing, and the same compensation repeatedly triggering. When automatic has no remaining margin to keep compensating, that object MUST NOT continue to be presented as though it were operating normally; the values for judging "continuous" and "approaching" are determined by the product against equipment characteristics, with the basis recorded. | Configured where closed-loop control or automatic-compensation capability exists; identification is a factual presentation, judging the cause is a diagnosis, and the latter MUST be labeled per data.derivation.marking (corresponds to IH4-6). |
| Optional | Sequence and batch contract | sequence.contract.ref | Reference: how the current step, completed steps, the next transition condition, and the reason for waiting are obtained; the control semantics of pause / stop / abort / resume; the rule for whether a parameter change acts on the current or a subsequent batch; the verification method for already-executed steps after resumption. Actual batch number, step progress, and parameter instances are stored separately. | Made explicit when providing automatic sequencing or batch control; progress does not come from a front-end timed animation, and resumption does not default to redoing a physical action (IH4-3, IH5-2, IH5-6). |
Boundaries: the mode set governs semantics, persistent presentation governs presence, change notification governs noticing and traceability, and automatic's scope and exit govern predictability. This category only expresses the mode state itself; what permission is needed to initiate a mode switch, whether it needs verification, and what record it leaves belong to ihmi.control.*.
5. Operation: which operations must be verified, what goes in a confirmation, where permission is enforced
Prefix: ihmi.control
| Level | Design decision | Token field | Type and legal values | Applicable condition and effect |
|---|---|---|---|---|
| Required | Critical-operation criterion | critical.criteria | Structure: the basis for determining whether an operation counts as critical, and the resulting list. The basis follows consequence, not frequency of operation; the basis MUST be recorded. An ordinary critical operation on the list MUST consist of three distinguishable steps — select, verify, execute; an emergency-stop request uses an independent action contract and is not delayed by a generic multi-step confirmation. An ordinary critical operation MUST NOT have a single-click-to-execute path (including shortcut keys, right-click menus, and touch gestures). | Decides which operations must be verified first; whether a high-frequency routine fine adjustment is included is judged by consequence, not by how neat the process looks (corresponds to IH5-1). |
| Required | Confirmation content | confirm.content | Set: the operation object, the action, the current state, the expected state after execution, and any currently known consequence or unmet precondition. A generic confirmation with no object and no action does not hold; an unmet precondition MUST be stated, and the operator MUST NOT be made to confirm an operation that is bound to fail. Content is generated from the operation request, not written as static copy. | Decides whether the confirmation step carries a checking function; the existence of confirmation MUST NOT become a reason to omit upfront validation (corresponds to IH5-2). |
| Required | Permission-enforcement point | authz.enforcement | Enum: enforced on the command-acceptance side (the only legal value). The same command issued through an engineering station, a configuration tool, a script, an interface call, or a local panel MUST be constrained by the same set of permissions. When permission is insufficient, what currently cannot be executed and the condition needed MUST be stated; it MUST NOT silently fail. "Implemented only by showing and hiding on the interface" is a non-conforming counterexample, not a selectable tier; a design field referencing supporting evidence is permitted, but listing the violation as a legal value is not. | Decides whether permission is genuinely enforced; an ordinary interface confirmation or permission display does not by itself constitute evidence of implementing a safety function (corresponds to IH5-4, IH5-3). |
| Optional | Confirmation form | confirm.mode | Enum: no confirmation set / expand in place / a separate confirmation step / two-action concurrent. No tier by itself constitutes evidence of implementing a safety function, and none MUST be used to reduce, delay, or cancel an applicable protection; assigning risk-reduction responsibility to an HMI mechanism requires that assignment and verification by the applicable safety lifecycle, which this dictionary neither grants nor certifies. When the same operation is repeatedly required to confirm unchanged content in a short period, its configuration MUST be re-evaluated. | Configured when a confirmation step is set; the form is decided by the operating context, not unilaterally by consequence level (corresponds to IH5-2, IH5-3). |
| Optional | Precondition-check timing | precondition.check | Structure (all three MUST be made explicit — not a choice between two): preview_check_ref (the precondition information obtainable before confirmation and its currency, feeding into confirm.content), execution_guard_ref (the re-check performed by the acceptance side against authoritative state before the command takes effect), invalidation_conditions (the changes that invalidate an earlier check: critical object, parameter, permission, mode, interlock, consequence). A precheck does not substitute for a pre-execution re-check; a condition determinable only at the moment of execution MUST state that limitation, and MUST NOT be disguised as already verified before confirmation. | MUST be configured where an interlock, readiness condition, or mode restriction exists (see Section 7); decides whether the confirmation step can present true feasibility, and whether a stale condition would continue to authorize (corresponds to IH5-2). |
| Optional | Command-result layering and verification | result.verification.ref | Reference: defines, per command category, how each of the four layers of result is obtained and its completion evidence — command submission or acceptance, controller execution result, equipment feedback, expected process effect — and the rule for retaining "pending verification" or "result unknown" when evidence is insufficient. A communication timeout alone MUST NOT prove the action did not occur; no layer MUST impersonate another. The contract MUST also include a waiting deadline for each stage (with unit, basis, and the starting event), the verification path after a timeout, and the responsibility and escalation condition; a deadline expiring only triggers verification, and does not turn unknown into failure. The current receipt for a given command is operational fact and is not written into this dictionary. | MUST be configured wherever control commands are issued through the interface (see Section 7); corresponds to IH5-6, IH5-2. |
| Optional | Resend and anti-repeat boundary | retry.policy.ref | Reference: defines, per command category, the anti-repeat window, an idempotency identifier or an equivalent anti-repeat safeguard, and the handling after a reconnection, workstation switch, or controller restart. A command that could repeat a physical effect (jog, feed addition, an accumulating increment, start/stop) MUST NOT be automatically resent before its state has been verified or a validated anti-repeat safeguard exists; a reconnection or restart does not authorize re-execution. | MUST be configured where a command that could repeat a physical effect exists (see Section 7); corresponds to IH5-6. |
| Optional | Control-object semantic contract | object.contract.ref | Reference: defines, per equipment or object class, what ordinary stop, emergency-stop request, fault reset, start, and continuous manipulation (jog, press-and-hold run, continuous adjustment) each change, how their execution result is confirmed, and how each ends on loss of focus, finger release, connection loss, or terminal lock-screen. Continuous manipulation stops by its defined method when input is interrupted, and MUST NOT remain in a continuing-action state due to loss of contact; an emergency-stop request MUST NOT be mechanically delayed by a generic multi-step confirmation; acknowledgment is not the same as energy having been isolated, and a reset is not the same as permission to restart — the three are expressed separately. Includes the applicable scope and permitted actions for a local PLC panel and a mobile inspection terminal. | Configured when any of the above action categories is provided; this dictionary gives no universal figure for touchscreen size, gloved operation, or weak-network conditions (corresponds to IH5-1, IH5-3). |
| Optional | Numeric-input contract | value.entry | Structure: the engineering unit, allowed range, and step or resolution of an enterable quantity, and the presentation when the entered value and the value actually accepted by the system differ (rounding, quantization, clamping, rate limiting). The accepted value MUST be faithfully echoed back; an entered value MUST NOT impersonate the value actually in effect. | Configured when the interface accepts a setpoint, limit, or parameter input; corresponds to IH1-3, IH5-2. |
| Optional | On-duty identity resolution | identity.resolution | Enum: resolves directly to a specific individual / resolves to a specific individual via a valid workstation duty record. "Resolvable only to a workstation" and "unresolvable" are both not legal values — a workstation identifier by itself is not attribution to an individual, and a resolution gap is a failure state. When it cannot be resolved to a person, a critical operation requiring individual attribution MUST NOT be opened, and that operation's performer MUST be explicitly marked unconfirmed — a machine name or workstation name MUST NOT be written as the performer. Does not specify an authentication method. | Configured when distinguishing operating permission or duty roles; does not address access-control requirements for industrial-network security, which must be assessed separately (corresponds to IH5-4). |
| Optional | Temporary elevation | elevation.temporary | Structure: scope, time limit, recording method, and automatic revocation on expiry. No unlimited-duration elevation is provided; the elevation record MUST be queryable together with the high-consequence-action record. | Configured where a scenario exists that needs to temporarily exceed routine permission; without this item, elevation occurs in the form of long-term sharing of a high-privilege account (corresponds to IH5-4, IH5-5). |
| Optional | Trace scope and review | audit.scope | Structure: the set of high-consequence actions requiring a trace (bypass, force, interlock removal, alarm masking, elevated-privilege execution, parameter-limit setting beyond range), with each record containing performer, time, object, value or state before and after, reason, expected recovery condition; the reason MUST NOT be filled with an empty value or a system default text, and the record MUST NOT be silently altered or deleted by the performer. Review responsibility and timing MUST be defined together. | MUST be configured wherever the above high-consequence actions are provided (see Section 7); a record no one looks at produces no effect from leaving a trace (corresponds to IH5-5, IH6-3). |
| Optional | Concurrency adjudication | concurrency.arbitration | Structure: ownership (no ownership set / exclusive holding), decision_rule_ref (the authoritative adjudication rule, including priority or first-come-first-served and the conflict result), release_rule_ref (release and takeover conditions). Even with no ownership set, an adjudication rule MUST still exist. The chosen method MUST be visible to every party involved (who holds it, what others can do, how it is obtained and released); the three states accepted, rejected, and overridden MUST be distinguishable, and a situation where two entry points each believe their command has taken effect while only one actually has MUST NOT occur. The priority relationship between local and remote MUST be presented consistently on both sides. | Configured when the same object can be operated from more than one workstation, terminal, or person; a low-consequence object may go without ownership set, with the basis recorded (corresponds to IH5-6, IH4-5). |
| Optional | Input conditions and interaction scale | interaction.profile | Structure: input_modes (keyboard / pointer / touch, a non-empty set), ppe_conditions (actual conditions such as gloves, may be empty), target_min_mm (target width and height, both positive numbers), gap_min_mm (non-negative number), focus_policy_ref (selection, focus-loss, and keyboard behavior), validation_ref (mis-touch, drag-out, multi-touch, and input-interruption test cases). The physical size and its mapping to actual pixels MUST be verified on the target device. | Made explicit where a terminal provides an operating entry point; a desktop pixel size does not prove usability for gloved field operation (IH5-1, IH1-2). |
Boundaries: the critical-operation criterion governs "whether it needs verification," confirmation content governs "what is verified," the permission-enforcement point governs "whether it can actually be stopped," and trace scope governs "whether it can be found afterward." The four cannot substitute for one another — however complete a confirmation step is, it is still not a protective measure, and putting permission determination at the interface layer is the same as not putting it anywhere.
6. Duty: what drilling in carries, what the large screen manages, what a handover hands over, where unfinished items go
Prefix: ihmi.shift
| Level | Design decision | Token field | Type and legal values | Applicable condition and effect |
|---|---|---|---|---|
| Required | Handover-item set | handover.items | Set: suppressed or shelved alarms, points that are forced / bypassed / in simulation, objects in a non-normal control mode, this shift's high-consequence actions and unrestored items, and unfinished disposition objects. None of the five categories may be missing; each item MUST be traceable to its source state, generated live from system state, and MUST NOT degrade into a piece of free-text notes. | Decides what a handover hands over; notes may exist but do not substitute for the verifiable items above (corresponds to IH6-3). |
| Required | Handover acknowledgment | handover.ack | Structure: the incoming operator's explicit action of confirming receipt, the handover time, and how both identities are recorded. Does not specify the organizational form or duration of handover, and does not substitute for verbal handover. | Decides whether the handover actually happened; without this item, the list is just an unsigned report (corresponds to IH6-3, IH5-4). |
| Optional | Navigation-context retention | navigation.context | Set: the current screen, time range, filter conditions, and object of attention. Entering the next tier MUST carry along the basis for entry, and MUST NOT jump to a generic screen unrelated to that basis; returning MUST go back to the original position and observation state. Time range and filters across screens SHOULD stay consistent within a single analysis session, with any change made explicit. | Configured when composed of multiple tiers of screens; does not specify the implementation form of navigation (corresponds to IH6-1). |
| Optional | Shared-display responsibility | shared.display.role | Structure: the content a shared display is responsible for, its stated responsibility, and the method for verifying readability at actual viewing distance and angle. Content readable or legible only from a specific workstation MUST NOT be presented; content SHOULD NOT be changed arbitrarily by one person's action, and any switch MUST be visible and able to return to default. | Configured where a control-room large screen or crew dashboard exists; a shared display is equally governed by data.link.failure.indication (corresponds to IH6-2, IH3-3). |
| Optional | Noticing-support method | vigilance.support | Set: state-tier intensity allocation, the alarm channel, another proactive presentation method, and a period review for while away. A critical deviation carried only by a slowly changing value MUST NOT be the sole means of noticing it; a timed-acknowledgment-type mechanism MUST NOT be the sole means of sustaining vigilance, nor treated as satisfying this on that basis alone. | Configured for positions whose primary task is continuous monitoring with a low event rate; does not specify shift scheduling, rest policy, or staffing (corresponds to IH6-4). |
| Optional | Absence review | absence.recap | Structure: the content of the period review obtainable on returning to the workstation (state changes, alarms, and operations within that period) and how it is obtained. The review MUST be obtainable by period, without requiring the complete history to be paged through. | Made explicit together when configuring vigilance.support (see Section 7); corresponds to IH6-4, IH6-3. |
| Optional | Change-notification scope | change.notice | Set: screen layout and graphic-element meaning, alarm addition/removal and limit adjustment, priority re-leveling, permission changes, and an automatic function's in-service scope. By default, on-duty staff MUST be made aware before it takes effect, with the content and effective time obtainable; a defined emergency fix (correcting an obvious error) MAY be executed first and reported after, but the reason, scope of effect, and time MUST be recorded. The semantics of a screen or the position of an operating entry point an operator is currently using MUST NOT be silently changed while that operator is in the middle of an anomaly disposition; a change MUST NOT cause an ongoing disposition to lose its original entry point. It MUST leave a trace, traceable to its initiator. A rollback path exists by default and can be executed during a shift; a change that genuinely cannot be rolled back MUST have an applicable recovery or substitute path with its limitation stated, and "already notified" MUST NOT substitute for that statement. | Configured where the above items can be modified during operation; does not specify the organizational process or approval level for change management (corresponds to IH6-5). |
| Optional | Disposition object | case.object | Structure: the data contract and source for a disposition object, specifying the corresponding anomaly, current stage, actions already taken, items being waited on, the responsible party, and the associated shelved, bypassed, and forced items; the current instance is stored separately. MUST be able to enter handover.items and remain continuous after handover, the incoming operator MUST NOT be required to reconstruct the disposition process from raw records; MUST still exist after a workstation logout and a system restart. | Configured where a disposition or tracking task may span more than one duty period; may be carried by an existing work-order or work-permit system (corresponds to IH6-6). |
| Optional | Consistency during handover | handover.consistency.ref | Reference: defines the storage of the checked set and time, the prompt for a newly added or changed item, sign-off of the difference, the transfer of responsibility between both parties, and attribution after a refusal / timeout / interruption; transfer of operating authority is handled separately. Current sign-off, items, and personnel are stored separately. | Made explicit where a shift handover exists; a stale sign-off does not cover a newly added item, retaining a link to the current source state (IH6-3). |
Boundaries: the handover-item set governs "what is handed over," acknowledgment governs "whether it was handed over," and the disposition object governs "what happens to what wasn't finished." The three form a chain: a disposition object is one category of source for a handover item, and handover acknowledgment is the closing action of that chain. Missing any link, continuity across shifts falls back to individual memory.
7. Interlock requirements for optional items
A capability may go unenabled; once enabled, its dependencies MUST be complete. The table below adds no new field or a third level; the related values may be inherited from a product rule or a site convention. The common prefix ihmi. is omitted within the table. "When not met" refers to handling before design acceptance or enablement: a configuration failure in an in-service system MUST NOT automatically turn off a necessary alarm, shut down, release protection, clear an intervention, or cancel duty responsibility; a validated, effective configuration is retained, the scope of failure is marked, and it enters controlled disposition. A read-only terminal may record not_applicable only when it provides no control capability at all; where control capability exists but configuration is missing, invalid MUST be recorded.
| Capability or commitment | Dependency that must be explicit | When not met |
|---|---|---|
| Presenting process state | presentation.state.levels, state.encoding, value.context, and presentation.environment.profile are all present, with tier definitions centrally managed and referenced by every screen. | Not used for process monitoring; the screen is not claimed usable for judging whether the plant is normal. |
| Generating alarms | alarm.eligibility, load.target, and state.contract.ref are all present, with load measurable summed by position. | Does not pass acceptance for alarm use; complete the configuration or provide a validated alternative alarm path — a necessary alarm MUST NOT be downgraded to a log entry. |
| Prioritizing alarms | alarm.priority.basis and priority.top_share, with a unified basis for judgment and each entry's leveling rationale queryable. | Does not pass acceptance for prioritization use; identical priority across the board MUST NOT mask an existing response-priority difference. |
| Providing alarm suppression or shelving | alarm.suppression.mode is non-empty and each mechanism references its own recovery policy separately; suppression.registry defines the list's source and required fields; no suppression path exists outside the list. | suppression.mode takes an empty set: no suppression provided; load issues are resolved back through eligibility and configuration change. |
| Alarm flooding may occur | alarm.flood.presentation; where first-out discrimination is included, first_out.source MUST exist and be consistent with data.time.basis. | Does not pass acceptance for flood-handling use; where evidence is insufficient, mark first-out as indeterminate, still requiring grouping, retained records, and a global-view prompt. |
| Displaying alarm state or providing acknowledgment, silencing, latch reset | alarm.state.contract.ref has defined how the four states are obtained, each operation's scope of effect and permission policy, and the state-rebuild method after restart. | The related operations are not enabled; active and unacknowledged states are still retained, and an unknown acknowledgment result MUST NOT be treated as acknowledged. |
| Providing alarm response guidance | alarm.guidance.ref is resolvable to a single, definite source, and is linked to an authoritative source together with the current procedure. | No guidance is provided at the alarm; point to the procedure's entry point rather than restating its content. |
| Presenting a value from a remote data source | The five items data.staleness.policy, quality.levels, quality.propagation, quality.use_policy.ref, link.failure.indication are all present; quality.propagation covers every consumer where the value actually exists. | No real-time process value is presented; only historical or statistical data with the time obtained labeled is presented. |
| Providing force, bypass, override, or interlock removal | data.intervention.scope is non-empty, with intervention.registry; a protection-bypass indicator is bound to the affected protection function and object; control.audit.scope covers that action category. | intervention.scope takes an empty set: no such intervention entry point is provided; maintenance needs are handled through the change process and leave a trace. |
| Providing simulation or a training mode that shares screens with the real system | data.simulation.marking is set to the distinguishable tier, with switching an explicit action notified to on-duty staff. | Simulation and actual operation use separate, non-shared environments and terminals. |
| Event records used for after-the-fact sequence analysis | data.time.basis states the comparability of each source explicitly; where not comparable, output "indeterminate." | Recorded order does not support a causal judgment; the analysis conclusion notes that order has not been determined. |
| Displaying a soft-sensing, statistical, or model-estimated value | data.derivation.marking covers the source type and computational basis, with behavior defined for when an input fails. | The derived value is not used for real-time judgment or control; the analysis view still states its source, quality, and input limitation. |
| A controlled object has more than one control mode | The three items mode.set, visibility, change.notification are all present, including an unknown tier and system-initiated exit. | not_applicable is recorded only when the object genuinely has only a single, non-switchable mode. Where multiple modes exist but a dependency is missing, invalid is recorded: that object does not pass acceptance for mode information, the interface shows "unknown / configuration missing," and an operation depending on a known mode is not enabled. |
| Equipped with automatic control, automatic sequencing, or automatic optimization | mode.automation.scope and automation.exit.conditions; where a scenario exists in which automatic hands over to manual, handover.payload MUST exist, distinguishing the notification method for a planned switch versus a sudden exit; where multiple sets of automation coexist, automation.overlap MUST exist. | Automatic function is not placed in service; or its scope of service and exit conditions are carried by a site procedure and made obtainable on the interface. |
| Issuing control commands through the interface | The three items control.critical.criteria, confirm.content, authz.enforcement are all present; result.verification.ref has defined the four-layer result and unknown-handling; where an interlock or readiness condition exists, the three items of precondition.check are all present; where a command that could repeat a physical effect exists, retry.policy.ref is defined. | Where control capability already exists, invalid is recorded, and the related entry point is not enabled before remediation; not_applicable is recorded only where it is in fact a pure monitoring terminal. |
| Distinguishing operating permission or duty roles | control.identity.resolution is resolvable to a specific individual (directly, or via a valid duty record); where temporary elevation exists, elevation.temporary MUST exist. | A critical operation requiring individual attribution is not enabled, or a verifiable duty-attribution mechanism is connected first; an operation that has already occurred marks its performer unconfirmed. Permission is still enforced on the acceptance side, and is not relaxed because attribution is missing. |
| Providing a stop, emergency-stop request, reset, start, or continuous-manipulation entry point | control.object.contract.ref has defined each action's semantics, result-confirmation method, and ending method on input interruption. | This category of entry point does not pass acceptance for enablement; a validated, actual operating path is provided, and the interface still faithfully presents the obtainable equipment and protection state. |
| The interface accepts a numeric input | control.value.entry has defined the unit, allowed range, and the presentation of a difference between entered and accepted value. | The interface does not accept numeric input; a parameter change is handled through the configuration-change process. |
| Providing a high-consequence action | control.audit.scope completely states the record content, non-silent-alterability, review responsibility, and review timing. | No entry point for that category of action is provided. |
| The same object can be operated from more than one entry point | control.concurrency.arbitration is made explicit, with the three states accepted, rejected, and overridden distinguishable to every party; result.verification.ref and retry.policy.ref are made explicit. | A low-consequence object may set ownership to "no ownership set," but conflict adjudication and an explicit result on the acceptance side must still exist; a high-consequence object chooses a stronger adjudication method per assessment, or is restricted to a single operating entry point with the remaining entry points monitoring-only. |
| Continuous duty, with a shift handover | All five categories of shift.handover.items are present and generated from system state, with handover.ack made explicit. | Where carried by an external procedure or system, there MUST be an explicit source, responsible party, and link to source state, verified for completeness through the same list and confirmed on handover; "not claiming to support handover" does not release the obtainability, association, and verification obligations of IH6-3 — the shift handover is still happening in the field. |
| A control-room large screen or crew dashboard exists | shift.shared.display.role has stated its responsibility and been verified against actual viewing conditions. | No shared display is configured; the crew's shared context is established by another means. |
| A position whose primary task is continuous monitoring with a low event rate | shift.vigilance.support and absence.recap; the noticing path for a critical deviation is not sustained gazing. | Not designed for the condition of no one proactively checking; the position's responsibilities explicitly define a timed-patrol method with its limitation recorded. |
| Screen or alarm configuration can be modified during operation | shift.change.notice covers the five categories of change; a rollback path can be executed during a shift, or the recovery and substitute path is stated for when it genuinely cannot be rolled back; the "execute first, notify after" branch of an emergency fix has its determination and record requirement defined. | The change is executed only during shutdown or a non-duty window, with notification completed before duty resumes. |
| An anomaly disposition spans more than one duty period | shift.case.object is resolvable, and remains linked to its associated shelved and bypassed items. | Where carried by an external work-order or work-permit system, there MUST be an explicit source and a link to state, verified for completeness through the same means and confirmed on handover; "not claiming disposition can be continued" does not release the obligation of IH6-6 — the unfinished disposition is still there in the field. |
| Providing a trend curve | presentation.trend.availability and presentation.trend.policy, with bad-value quality propagation defined. | Does not pass acceptance for trend use; a missing measurement MUST NOT be filled in by a smoothed connecting line. |
| Using an alarm deadband or delay | alarm.conditioning.policy includes a time budget and verification evidence. | An unverified tuning value is not enabled; a necessary alarm retains its validated policy pending review. |
| A first connection, reconnection, or service switchover | data.reconnect.policy.ref makes the sync scope, merge rule, and control-recovery evidence explicit. | The affected scope is kept "sync not complete," and control authority is not restored on the strength of online status alone. |
| Providing automatic sequencing or batch control | mode.sequence.contract.ref and control.result.verification.ref, including a recovery check. | This capability is not enabled; a process already running is handled per already-validated control and operating procedure. |
| The terminal provides an operating entry point | control.interaction.profile and control.object.contract.ref (where it provides the applicable actions). | This input condition does not pass acceptance, and is not substituted by a desktop demonstration. |
| A shift handover exists | shift.handover.consistency.ref and shift.handover.items, shift.handover.ack. | Original responsibility is retained, and a controlled handover path is completed; an interruption does not sign off automatically. |
(For the complete requirements on configuration metadata and inheritance, see Section 8.)
8. Configuration resolution and consistency
8.1 What each configuration carries
The applicable site, position, object class, and terminal, determining the responsible party, the source of the value, the verification basis, the inheritance chain, the actual scope of effect, and the effective condition. A reference MUST resolve to definite content; it MUST NOT read only "as default" or "by engineering configuration." Real-time process values, the current alarm list, or the current execution result MUST NOT be placed in it.
8.2 Types and empty values
A duration is uniformly expressed as { "value": 2, "unit": "s" }, with the unit taking ms, s, min, or h, converted before comparison; a numeric value MUST be finite and satisfy the field's positive or non-negative constraint. A physical quantity states its engineering unit explicitly; a range uses { "min": 600, "max": 800 }, with the lower bound not exceeding the upper bound, and its unit stated by the field. A target's width and height use { "width": 18, "height": 18 }. A set is deduplicated, and an empty set represents no capability only where the field explicitly permits it. null does not represent zero, default, unknown, or not applicable. A reference may use a locator string pointing into a definition registry, which contains at minimum definite content, content responsibility, and applicable scope; a reference's contract must also state its required members, value domain, unit, and handling when missing.
not_applicable is an applicability outcome of a configuration record, not a string that can be stuffed into any field; the operational fact unknown is instead stored by the data source and operational state. The two are not mixed.
8.3 Resolution order and effective boundary
- Determine actual capability and scenario, and list the conditionally required fields; a capability MUST NOT be claimed absent by simply deleting the field.
- Resolve from site to position/object class, then to terminal. A hard limit takes the commonly permitted range; an ordinary display preference overrides only within an already-declared overridable scope. A set is not uniformly intersected: the scope of capability may narrow, but required evidence and handover items MUST NOT be reduced.
- Check reference reachability, type, unit, required members, circular references, dependencies, and combination constraints. Unresolvable or conflicting cases are
invalid; the most permissive value MUST NOT be silently chosen. - Generate the effective-configuration list, with each item carrying its final value, source chain, and actual scope of effect. Operational fact is still obtained from the authoritative object.
- Apply per the stated effective condition; a change affecting an ongoing operation, alarm, or handover is handled per IH6-5. On a failure to take effect, the validated configuration is retained with the limitation marked; where no effective configuration exists, the related use is not enabled, and the physical process is not automatically changed either.
8.4 Combination checks
| Check | Failing example | Correct handling |
|---|---|---|
| Conditionally required | A trend is provided but presentation.trend.policy is missing | Record invalid, complete the axis, sampling, and history-state definitions |
| Fixed semantics | control.confirm.mode is set to no confirmation, but the action is already on the critical-operation list | Bypassing select–verify–execute is not permitted; an emergency-stop request is handled per its own dedicated action semantics |
| Declaration versus fact | Multiple control modes still exist in the field, but the configuration records mode as not applicable | Record invalid, and an unknown presentation does not impersonate manual or automatic |
| Dependency cycle | A references B, and B references A back | Refuse to resolve, identifying the cycle; MUST NOT fall back to a vendor default |
| Lower-level relaxation | A workstation configuration permits bypassing a site-level check or permission requirement | Refuse the override, retaining the effective limitation |
| Use kept separate | The same suspect value may be displayed, but is thereby also automatically used in closed-loop control | Apply data.quality.use_policy.ref per use |
| First-out evidence | Time bases are not comparable, but the interface still marks a definite first-out | Display indeterminate, retaining the record and the limitation on its source |
Field checks, mechanism verification, and operator verification each record their own conclusion; a dictionary passing resolution does not mean the product passes acceptance.
9. Fixed floor: cannot be turned off by configuration
The table below is used to review whether a configuration can hold; it is a summary of rules, and does not substitute for the full set of applicable requirements in Design Guidelines. Obligations not listed still take effect.
| Domain | Behavior that cannot be relaxed | Primary rule |
|---|---|---|
| Presentation | Normal is readable and does not occupy an abnormal presentation; color has an independent code; unit, range, and trend gaps are discriminable; history and real time are kept separate | IH1 |
| Alarm | Alarm eligibility is gained only with a valid response; load is verified summed by position; acknowledgment, audible, active, and latch are expressed separately; suppression is countable and recovers by category; a new alarm is not overwritten by a stale acknowledgment | IH2 |
| Data | Quality, timeliness, source, and protection intervention are each expressed and propagated separately; a bad value does not impersonate normal; sync not complete is not disguised as already recovered; insufficient sequence evidence does not fabricate a first-out | IH3 |
| Mode | Control source and method are clear; unknown is not padded with a default; an automatic exit has a reason, output, and constraints; sequence resumption does not default to repeating an action | IH4 |
| Operation | Permission is enforced on the acceptance side; an ordinary critical action has object verification and a pre-execution re-check; results are layered with unknown retained; a command that could repeat a physical effect is not blindly resent; continuous manipulation has a valid ending mechanism, and an emergency-stop request is not delayed by a generic confirmation | IH5 |
| Duty | Unfinished items, interventions, and pending-verification results can be handed over; a new difference is not overwritten by a stale sign-off; identity, item responsibility, and operating authority are handled separately; an ongoing disposition does not disappear due to an interface change or a logout | IH6 |
An ordinary interface confirmation or permission display cannot alone prove a safety function is effective. If some HMI mechanism carries risk-reduction responsibility, its assignment and verification are decided by the applicable safety lifecycle; this capability cannot be gained through a token's boolean switch. Configuration failure also does not constitute authorization to disable protection, cancel a necessary alarm, or delete in-service state.
10. Configuration examples and how to derive values
10.1 Bound the use first, then choose values
| Use | Required configuration focus | Not-applicable determination |
|---|---|---|
| Control-room multi-area monitoring and operation | All six categories checked; position-level alarm load, mode and operating authority, control feedback, handover differences | Where a single terminal has no shared display, shared-display responsibility may be not applicable |
| Local single-unit touch panel | Presentation, data, mode, and control; actual gloved conditions, jog, and input interruption | Where only a single, non-switchable mode exists, the mode fields may be not applicable |
| Mobile read-only inspection | Viewing environment, quality and timeliness, reconnection, history labeling | Control-category fields may be recorded not applicable only where no control entry point genuinely exists; if alarms are displayed, its state and sync contract are still needed |
A project first selects the task scope, then resolves every required field within that scope. The table is not a complete production preset, and does not mean a capability not listed may be enabled unconditionally.
10.2 A resolvable trend configuration fragment
The following only demonstrates how to fill in ihmi.presentation.trend.policy. The example project assumes the operator observes a relatively slow process change, and therefore chooses a 30-minute window; this is not a standard recommended duration. The project must still verify this window against the process dynamics, and configure the remaining required fields.
Example definition registry entry: the content of example:trend-sampling is "aggregate by the display window, retaining the minimum and maximum value for each display interval, and retaining an entry point to the raw data; do not connect across a missing interval," maintained by the example project's data-engineering owner, applicable to this example's trend chart. What is provided here is the contract definition, not an implemented or validated algorithm.
{
"ihmi.presentation.trend.policy": {
"default_window": { "value": 30, "unit": "min" },
"axis_mode": "fixed",
"sampling_ref": "example:trend-sampling",
"history_label": "History look-back · not real time",
"follow_live": true,
"gap_marking": "broken and labeled"
}
}
Resolution conclusion: this field's type, required members, and the reference within the example are resolvable; the complete configuration and mechanism acceptance are not yet finished. To be verified: a peak remains discoverable after scaling, a missing measurement shows as broken, the look-back label is visible, and current state is used after returning to the control panel.
10.3 A fragment that should not pass
{
"ihmi.presentation.trend.policy": {
"default_window": { "value": 0, "unit": "min" },
"axis_mode": "auto with the change made explicit",
"history_label": "",
"follow_live": true,
"gap_marking": "broken and labeled"
}
}
Resolution conclusion: invalid. The default window must be a positive duration, the history label must be non-empty, and sampling_ref is missing. When fixing it, handle the three items separately — do not automatically fill in a vendor default, and do not treat a missing reference as not applicable.
10.4 Expressing not-applicable through a configuration record
Below is the outer metadata of a configuration record; it is not a new token field, nor is it writing a string into ihmi.control.*.
{
"scope": "A mobile inspection terminal that only displays state and provides no control entry point",
"token_group": "ihmi.control",
"resolution": "not_applicable",
"reason": "This terminal genuinely provides no control-command entry point"
}
If remote start or setpoint modification is later provided, the applicability condition changes accordingly, and the control contract must be completed before it can be enabled. Connection state, data quality, and alarm sync are not exempted merely because the control category is not applicable.
10.5 How a parameter's verification basis is obtained
| Parameter | Determining input | Verification method |
|---|---|---|
| Font size, contrast, and icons | Viewing distance, angle, illuminance, theme, screen scaling, and the key discrimination task | A representative operator identifies values, states, and units in an actual equivalent environment |
| Touch targets and spacing | Device pixel mapping, gloves, vibration, the consequence of a mis-touch, and operating density | Target selection, adjacent mis-touch, drag-out, focus-loss, and multi-touch tasks |
| Data-staleness criterion | Periodic or change-of-value reporting method, liveness evidence, transmission delay, rate of process change | Paired injection of a stable valid value and an upstream failure with a normal downstream heartbeat |
| Alarm load and delay | Position task, consequence window, acquisition and transmission delay, actual response capability | Steady-state and anomaly load tested together with chatter and a fast limit excursion; missed dispositions itemized separately |
| Control-feedback waiting | Command category, actual actuator action time, obtainable completion evidence | Accepted but not yet acted on, receipt lost after action, timeout and reconnection; actual actions counted |
Record the measurement conditions, sample, criterion, and location of evidence. Without these inputs, a number can only be a candidate value, and cannot be marked as a validated production preset.
Configuration delivery and verification
A non-color code must be non-empty and obtainable under actual display conditions; a legal string does not prove the screen has implemented that expression. Alarm, deviation, data quality, timeliness, bypass, and selection are dimensions that can coexist, and MUST NOT be displayed as only the "most severe single color" among them. The example verifies only the encoding set.
The accompanying executable example covers only ihmi.presentation.state.encoding; the remaining fields are verified item by item against this dictionary; not being covered does not mean not applicable or already passed. The example is a format positive/negative case for the selected field, not a product preset that directly enables every capability. A complete product delivery additionally includes applicability, dependencies, evidence, execution mapping, and the effective boundary for an ongoing operation.
Update referencing parties and acceptance examples whenever a field name, type, or meaning changes; where only the explanation is modified without changing legal behavior, the existing field name is retained. A caller reads the resolved, effective configuration, and does not reverse-derive permission, measurement, or completion fact from a UI control, an animation, or model text. See corresponding scenarios.
References
This document provides the source entries for Design Guidelines and Design Token. Rules are local design requirements; a source only supports the fact or method it explicitly covers, and does not automatically prove these guidelines conform to any standard.
1. How to understand the evidence
"Read" means this round directly read the public page or the listed section; "Existing record" means the reading record from prior material is retained, the full text was not revisited this round, and this does not raise its evidentiary level; "Pending verification" serves only as a lead. Where the paid full text of a standard such as ISA, EEMUA, or ISO was not obtained, a clause, figure, or compliance conclusion MUST NOT be inferred from a table of contents or a sales page. Links retain the path needed to locate the source.
2. Source catalog
| No. and source | Reading scope | Content supported and limitations |
|---|---|---|
| R01 ISA: introduction to the ISA-101 series | Read the publisher's overview | Covers HMI design, implementation, operation, and ongoing management; the companion report discusses design policy, usability, and performance separately. Supports organizing design by task and accepting it with evidence. The standard's full text was not obtained; clause conformance is not claimed on this basis. |
| R02 ISA InTech: Human Machine Interfaces for Process Automation Systems | Existing record of the original text | Committee authors explain design policy, style, usability, and mobile-platform topics. Used to confirm practice topics; the author's article is not treated as standard text. |
| R03 ISA: Management of Alarm Systems for the Process Industries | Pending verification of the full text | The product page is used only to locate the alarm-management standard; it does not carry evidence for an alarm rate, priority proportion, or specific requirement. |
| R04 PAS: Understanding and Applying the ISA Alarm Management Standard | Existing record of a vendor's interpretation | Discusses that an alarm needs a response, rationalization, the lifecycle, and the distinction among shelving, design-based suppression, and disabling. Background reference for IH2-1, IH2-4; not treated as ISA's original text. |
| R05 EEMUA Publication 191: public table of contents | Existing record of the table of contents | The table of contents lists the alarm/event distinction, response time, first-out, remote operation, and measurement verification as separate topics. Only proves the topic exists; does not prove the body text's requirement or threshold. |
| R06 EEMUA Publication 191: publisher's introduction | Existing record of the product page | Introduces the design, management, and procurement topics for an industrial process alarm system. A sales page does not substitute for the guideline's body text. |
| R07 ISO 11064-5: Displays and controls | Existing record of a distributor's summary | A scope lead for control-center displays and controls. The ISO full text was not obtained; not used to assert a specific interface requirement. |
| R08 BSI: entry point for the control-center displays and controls standard | Pending verification of the full text | Serves only as a standard-retrieval entry point; carries no argument for an interface behavior requirement. |
| R09 Bullemer et al.: Why Gray Backgrounds for DCS Operating Displays? | Existing record of the original-text section | Argues for differentiated color coding and attention allocation. Background for IH1, IH6-4; a gray background or a vendor's specific presentation is not set as a universal requirement. |
| R10 Rockwell Automation: Process HMI Style Guide | Existing record of the original-text section | Gives practices such as screen hierarchy, alarm color, and shape. Supports the implementation feasibility of IH1; the number of tiers, color values, and blinking method belong to the vendor's own scheme. |
| R11 Siemens: Setting a new standard in alarm management | Existing record of a vendor's interpretation | Lists metrics for alarm load, repeated alarms, long-standing alarms, and priority distribution. The figures in the table come from a paraphrase, and are not adopted as a universal production target. |
| R12 NRC: Human-System Interface Design Review Guidelines | Existing record of the original-text section | The existing record reads the sections on data quality, mode change, and first-out; used as background and for state breakdown in IH3, IH4. A nuclear regulatory review guide does not directly become a mandatory requirement for the process industries, and was not re-verified page by page this round. |
| R13 HSE: Better alarm handling | Existing record of the original-text section | Analyzes excessive alarms, poor prioritization, and difficulty understanding the screen; supports the design of alarm load and overall situational presentation. A rate quoted secondhand from the material is not used as a universal threshold. |
| R14 U.S. CSB: investigation of the BP Texas City refinery explosion | Existing record of the original-text section | The report discusses failures such as inflow and outflow placed on separate pages and a lack of information for overall judgment. Supports IH1-5; an accident finding is not the same as a design standard. |
| R15 COMAH: Buncefield — Why did it happen? | Existing record of the original-text section | Records a stuck level display, overlapping windows, a shutdown control not connected to the system, and permission issues. Supports data trustworthiness, global visibility, and the distinction of actual control capability; a universal failure rate is not derived from it. |
| R16 UK Government: response to the Buncefield investigation | Existing record of the original-text section | Background on protection and overflow control; a specific interface failure is taken as a lead from the investigation report, not an HMI color-scheme or control rule derived from the government's response. |
| R17 OPC Foundation: StatusCode | Existing record of the original-text section | Distinguishes Good, Uncertain, Bad, and requires a consumer to check the status code. Supports the quality semantics of IH3-2; does not specify visual style. |
| R18 OPC Foundation: Data Access status codes | Existing record of the original-text section | Includes data states such as last usable value, substitute, simulated, and local force. Supports the fine-grained expression in IH3; good quality does not guarantee the absence of human intervention. |
| R19 Bainbridge: Ironies of Automation | Existing record of the original text | Discusses the monitoring and takeover difficulty automation leaves for a person. Supports the problem model of IH4-4, IH6-4; a safe shift duration is not given on this basis. |
| R20 Sarter and Woods: Mode Error and Awareness in Supervisory Control | Existing record of the abstract | Adding modes without supporting the corresponding cognitive demand produces mode error. Used for IH4's problem statement; the full text was not obtained, and no sample, incident, or quantitative conclusion is cited. |
| R21 Endsley: Situation Awareness in Dynamic Systems | Existing record of the abstract | A situation-awareness framework of perception, comprehension, and projection. Used for the approach to task and information organization; the full text was not obtained, and no detailed inference of research findings is made. |
| R22 Parasuraman and Riley: Humans and Automation | Pending verification of the full text | Retained as a lead on the topics of automation use, misuse, and disuse; carries no mandatory requirement or effect conclusion for these guidelines. |
| R23 Martínez-Pérez et al.: Vigilance decrement and mind-wandering | Existing record of the original-text section | A study of vigilance decrement in a sustained-attention laboratory task. Supports that the problem exists; does not prove the effective duration or staffing of any particular control-room scheme. |
| R24 Design Tokens Community Group: Format Module | Read the public format specification | Supports the type and reference expression of design values such as color, size, and duration. This document's behavior contracts do not automatically become native DTCG types, nor does a correctly exported format by itself satisfy a runtime behavior requirement. |
| R25 W3C: Use of Color and Status Messages | Read the official explainer page | Color cannot carry meaning alone, and a state change can be expressed to assistive technology. Used for the discriminability and accessibility check of IH1-2; a Web requirement does not substitute for verification under actual viewing and protective equipment. |
| R26 HSE: Alarm management | Read the relevant public body text | An alarm should have a concrete response with sufficient time left for disposition. Used for the acceptance approach of IH2-1, IH2-2, and complete response time; the on-site time budget must still be measured. |
| R27 OPC Foundation: Acknowledgeable Condition Model | Read the relevant public body text | Acknowledgment is bound to a specific event state, a historical branch and a new state can be separately pending acknowledgment; it cannot be restored to acknowledged after a restart with no basis. Supports IH2-4; the product's interface copy and bulk-acknowledgment boundary are design requirements formed on this basis. |
| R28 OPC Foundation: Alarm model | Read the relevant public body text | Active, suppressed, shelved, audible, and latched have different semantics, and acknowledgment can interlock with silencing; trigger and return delays are used to manage a chattering alarm. Used for IH2-2, IH2-4. Separate expression must not be mistakenly written as no interlocking among all states at all; the protocol provides no default on-site delay value. |
| R29 OPC Foundation: Condition state synchronization | Read the relevant public body text | Subscribing to new events alone cannot obtain every currently active alarm; a refresh sync must handle a stale snapshot interleaved with new events, and a state refresh is not a history replay either. Used for IH3-3 and the reconnection-recovery contract; adopting this specific protocol is not required. |
| R30 OPC Foundation: DataValue | Read the relevant public body text | Defines value, quality, source timestamp, and server timestamp separately; the source timestamp may reflect the most recent change in the value or the quality. Supports IH3-1's distinction among a stable value, acquisition liveness, and cache time; a universal staleness criterion is determined by the product against its actual acquisition method. |
| R31 HSE: Specific topic 1 — Alarm handling | Read the relevant public body text | Checks normal and abnormal operating conditions, human-factors capability, repeated and long-standing alarms, a clear list, and ongoing assessment. Used for IH2 and the task-scenario matrix; the figures and regulatory context of this checking tool are not transplanted into a universal threshold. |
A supplementary entry for R25's status messages: W3C Status Messages. The section locations retained for R12 come from its already-recorded original source; a formal engineering citation must check the obtained document, and this table does not substitute for the original text.
3. From source to design decision
| Design problem | Approach these guidelines adopt | Source and scope of derivation |
|---|---|---|
| Only a normal screen exists, unable to cover the complete position | Deliver by task, object, state, action, recovery, and evidence, adding startup/shutdown, maintenance, and handover | R01, R31 support lifecycle and operating-condition coverage; the concrete delivery table is this document's own method |
| Reducing the alarm count instead delays a genuine anomaly | Verify chatter management and fast-anomaly response together, measuring the complete response time | R26, R28, R31; the time budget must come from this plant, not copied as a threshold from an article |
| Acknowledgment, silencing, and return-to-normal are merged | Store each state separately, explicitly define interlocking, and bind acknowledgment to an event | R27, R28 provide protocol semantics; interface mapping and cross-entry-point consistency need engineering verification |
| An "online" marker masks an un-synced alarm | Separate connection recovery, state sync, and history backfill | R29; an equivalent sync mechanism may be used, and implementing the specified protocol is not required |
| A stable process value is mistaken for frozen | Distinguish change time, acquisition liveness, quality, and the time a cached value was received | R30; the concrete liveness evidence must be stated per data source |
| A static screenshot passes but the field cannot use it | Verify against viewing distance, illuminance, gloves, noise, and actual input conditions | R09, R10, R25 support the direction of presentation and discriminability; parameters and effect are still obtained from on-site testing |
| Completing the field-filling is treated as the product passing | Separate documentation, mechanism, and personnel evidence, with prohibited behaviors that cannot be offset by an average | R01, R31 provide the lifecycle and human-factors perspective; the threshold table is this document's own method |
4. Evidence the project still needs to obtain
- Alarm time budgets, load targets, thresholds, and deadbands: determined jointly by process consequence analysis, measurement of the acquisition and control chain, and representative-operator testing.
- Watchdog, first-out sequencing, mode and operating authority, command anti-repeat: proven by fault-injection records from the actual control system and terminals.
- Font size, contrast, touch-target size, and audio: verified under the stated illuminance, viewing distance, scaling, noise, and protective equipment.
- Batch recovery, parameter scope of effect, and handover differences: verified through cross-step, cross-shift, and interruption-recovery tasks.
This round of work completed documentation and source organization; it did not include actual-plant testing, operator research, or a dedicated safety assessment. The design examples and configuration examples cannot be used directly as a basis for commissioning.