DCS
Documentation

Version Latest

Read and navigate FHX

The DeltaV FHX language in the text editor: colouring including expressions and module paths, outline, go to definition, find references, hover and completion of the names an export defines.

Verification state: modelled. Tested on hand-written fixtures and on the real DeltaV 14.5.1 export: the whole export (430,087 lines) colours with no string or comment left open; completion offers the export's 293 module tags and 45 classes. The expression syntax is not read from Emerson's books. Not seen in the running Editor; not on Windows.

Colouring

Open a .fhx file (either case of the extension). The status bar language reads DeltaV FHX. Statements, attributes, quoted values with "" escapes, numbers, T and F, both comment forms ((* *) and C-style) and braces are coloured. Inside EXPRESSION, CONFIRM_EXPRESSION, DELAY_EXPRESSION and the other expression values, the expression keywords, strings, operators, :=, comments and the '//module/...' and '^/...' paths stand out.

The language and its colouring are always available, like the Editor's other built-in languages, whether or not the DCS environment is on. Everything below needs the environment.

FeatureHowWhat
OutlineView > Open View > OutlineAreas, classes and modules with their function blocks and parameters
Go to DefinitionCtrl+clickA module named in a path such as '//FIC-101/PID1/OUT.CV', a module's area, a module's class
Find All ReferencesShift+F12 on a module's TAG= or a pathEvery path that names the module
HoverOn a pathThe module's description, area, class and function blocks, or that the export has no such module (it may be in another export)

The index is built once per version of the text, only when asked. References between exports (a path to a module in another file) do not resolve.

Completion

Only names the export defines are offered; nothing is invented.

  • After '// in an expression or REF="//: the export's module tags; after '//TAG/: that module's function blocks and parameters, and its class's.
  • After '^/ (a relative path): the members of what it names. In a module its own and its class's; in a sequence composite those of the module or phase class that runs it; in a value written for an embedded block (FAIL_MONITOR/...) that block's composite; in a phase class its definition's and algorithm's.
  • After MODULE_CLASS=", PLANT_AREA=", CONTROLLER=", DEFINITION=", CLASS=", SET=", COMMAND_SET=" and PRIORITY_NAME=": the names the export defines.

Measured on the real export: module tags in about 1 s the first time (while the shared index is built), under 1 ms after; other lists each in under 125 ms.

To edit values safely, use the tables (Alarms, Edit instances) or edit the text and let the save guard check the save.

Last reviewed 18 October 2026View as Markdown

Read and navigate FHX · Docs · Neural Inverse