FST Programming on the Emerson ROC800 — Function Sequence Tables
Key Takeaway
How to write FST (Function Sequence Table) programs on the ROC800 — step-based programming, opcodes, conditional logic, and practical automation examples.
Quick Answer
FST (Function Sequence Table) is the ROC800's native programming language — a step-based sequence of instructions using numbered opcodes for math, logic, comparison, and I/O operations. FST programs execute sequentially through numbered steps, with conditional branching via GOTO and IF opcodes. FST is unique to the ROC platform and differs fundamentally from IEC 61131-3 languages used in Allen-Bradley PLCs and SCADAPack.
What Is an FST Program?
An FST is a table of numbered steps. Each step contains an opcode (operation code) and operands. Steps execute in sequence. Conditional opcodes (IF, GOTO) branch execution to different steps based on conditions.
How Do You Create an FST Program?
- Navigate to FST in ROCLINK 800 device tree
- Select an available FST slot
- Open the FST editor
- Enter steps with opcodes and operands
- Compile and check for errors
- Write FST to the ROC device
- Enable the FST for execution
Common FST Opcodes
- ADD, SUB, MUL, DIV — Arithmetic
- AND, OR, NOT — Boolean logic
- IF, GOTO — Conditional branching
- MOVE — Copy value between registers
- TIMER — Time delay
- COMPARE — Value comparison (EQ, NE, GT, LT)
Example: High-Level Alarm with Shutdown
Step 1: IF AI.1 > 450.0 GOTO 3
Step 2: GOTO 5
Step 3: DO.1 = 1 (activate shutdown relay)
Step 4: ALARM.1 = 1 (set alarm flag)
Step 5: ENDFST vs IEC 61131-3
FST is unique to ROC and uses a step/opcode model rather than graphical ladder or structured text. Engineers familiar with ladder logic will find FST conceptually different but functionally capable for most field automation tasks.
Frequently Asked Questions
FST (Function Sequence Table) is a step-based programming language using numbered opcodes for math, logic, comparison, and I/O operations. It is unique to the ROC platform.
No. FST uses a step-based sequential model with opcodes rather than graphical relay-style rungs. Different programming paradigm from IEC 61131-3 languages.
The ROC800 supports multiple concurrent FST programs, the exact number depending on firmware version and available memory. Each FST runs independently with its own execution cycle.