TI505 EDRUM Event Drum Programming and Migration Reference

David Krause13 min read
HMI ProgrammingSiemensTechnical Reference
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Overview

The SIMATIC TI505 (originally Texas Instruments TI500/505) family of PLCs exposes a hardware-style sequencing primitive called the EDRUM (Event Drum). The EDRUM emulates an electromechanical cam timer or drum sequencer and was used heavily in legacy process control, batching, and complex state-machine applications where 16 discrete steps and 15 coil outputs could replace dozens of rungs of ladder logic. Although the TI505 line was formally retired by Siemens, hundreds of installed bases are still in service, and migration paths exist into SIMATIC S7, Control Technology Inc. (CTI) compatible replacements, and Allen-Bradley ControlLogix via RSLogix 5000 / Studio 5000.

This reference consolidates the EDRUM instruction semantics, the TISOFT / 505 Workshop programming environment, the TI505 memory model, and the practical conversion paths an automation engineer will encounter when modernising a 505 system.

EDRUM Functional Architecture

The EDRUM is a single Special Function Program (SFP) block that integrates into a TI505 ladder program. Each instance owns a fixed resource budget:

Parameter Maximum Notes
STEPS 16 Sequential positions 1–16, addressable individually
OUTPUTS (coils) 15 Writes 0 or 1 to the corresponding C-address per the MASK
FLAG inputs 2 ENABLE/RESET and START
EVENT FLAG per step 1 Optional C-address to gate step advance
CNT per step 16-bit Multiplier on the SEC/CNT timebase

When the EDRUM is enabled and started, it steps through positions 1..16. Each position either:

  • Delays by CNT * SEC/CNT timebase units (time-driven step), or
  • Waits for the assigned EVENT FLAG to turn ON (event-driven step), or
  • Combines both: count down, then wait for the event flag, or wait for the event flag and count up to CNT.

EDRUM Parameters in Detail

Field Type Behaviour
ENABLE/RESET FLAG (FLAG1) C-address (BOOL) Must be ON for the drum to run. Falling edge resets STEP to PRESET and clears the C1023 done-bit.
START FLAG (FLAG2) C-address (BOOL) Rising edge starts the drum from PRESET. Falling edge pauses at the current STEP.
PRESET Constant 1..16 STEP to begin on when START is received.
SEC/CNT Float (s) Timebase per CNT unit. Default 0.001 (1 ms). Common settings: 0.010 (10 ms), 0.100 (100 ms), 1.000 (1 s).
DRUM OUTPUT C-address (BOOL) Conventional choice: C1023. Latches ON when STEP 16 completes.
MASK[i][step] 0 or 1 per output Value to write to output i when step is active. 0 = force OFF, 1 = force ON.
CNT[step] 0..65535 Number of timebase ticks to dwell. 0 = no dwell (advance immediately when event-free).
FLAG[step] C-address or null Event gate for the step.
Important: The EDRUM does not merely "set" coils to 1. It writes the entire MASK pattern to the 15 outputs on every step transition. Any bit set to 0 in the MASK is force-cleared, regardless of what other logic in the program is doing. This is the most common source of "phantom OFF" bugs during migration.

Step State Machine

The EDRUM follows this per-step state machine every scan:

  1. If ENABLE/RESET is OFF, force STEP = PRESET, clear DRUM OUTPUT, abort.
  2. If START is OFF, hold current STEP and accumulator (pause).
  3. If FLAG is assigned to this step and is OFF, hold and re-check next scan.
  4. Decrement internal accumulator by 1 timebase tick.
  5. When accumulator reaches 0 (or no CNT was configured), write the MASK to the 15 output addresses, advance STEP, and reload accumulator = CNT[next] × timebase.
  6. If STEP was 16 and just completed, set DRUM OUTPUT (C1023) ON.

Worked Example: 16-Step Time-and-Event Sequence

The following is a canonical EDRUM pattern recovered from a TISOFT archive and commonly seen in bottling, indexing, and small-batch process lines:

STEP CNT FLAG Active Outputs Function
1 1 none (all cleared) Primer – clear all flags before run
2 1 none 100 ms hold
3 1 none 100 ms hold
4 0 C1027 C1010 = 1 Event-gated: start of cycle
5 0 X21 C1012 = 1, C1010 = 0 Event-gated: part-present confirmation
6 5 C1009 = 1, C1013 = 1, C1012 = 0 500 ms debounce on X21
7 0 X20 C1011 = 1 (C1009, C1013 held) Event-gated: second input
8 1 C1009 = 1, C1011 = 1 100 ms hold
9 1 C1009 = 1, C1013 = 0 Drop C1013
10..16 1 Incremental per-step MASK edits Sequenced outputs at 100 ms intervals

Total cycle time to STEP 16: 300 ms priming + event latency + 6 × 100 ms + 500 ms + remaining time-driven steps. The DRUM OUTPUT (C1023) latches at the end and is typically used to reset ENABLE/RESET or to cascade into a second EDRUM.

ENABLE/RESET and START Flag Semantics

The two flag inputs are not symmetrical and the distinction trips up most first-time TISOFT programmers:

  • ENABLE/RESET (FLAG1) falling edge: the drum is force-reset to the PRESET step and the DRUM OUTPUT is cleared. The drum is now armed but not running.
  • START (FLAG2) rising edge: with ENABLE/RESET already ON, the drum begins from PRESET.
  • START (FLAG2) falling edge: drum pauses at the current STEP; accumulator state is preserved. A subsequent rising edge resumes from the same point.
  • ENABLE/RESET OFF while START ON: drum is held in reset, not running.
TISOFT convention: ENABLE/RESET is almost always wired to C1000 and START to C1007. Always search for these addresses first when reverse-engineering a program.

TI505 Memory Map

Prefix Width Usage
X / Y BOOL Digital inputs / outputs (rack and slot address encoded)
WX / WY INT16 Analogue I/O words or specialty module words
C BOOL Internal control relays (contacts/coils). The EDRUM's primary scratchpad.
V INT16 Signed or unsigned 16-bit integer variable
V. INT32 / Float 32-bit integer or IEEE-754 float; addressed with the V. prefix on two consecutive V words
TC / TCP / TCC BOOL / INT16 / INT16 Timer/Counter: TC is the done bit, TCP is the preset, TCC is the accumulated value
STW INT16 Status words from the CPU (scan time, faults, mode)
K Constant Decimal constant used inline in rungs

Reserved internal ranges that the EDRUM and most SFPs treat as scratch:

  • C1000 – generic enable/reset
  • C1007 – generic start
  • C1023 – drum done-bit / system flag
  • C0000 – defined as "unusable" by convention; an EDRUM with a MASK entry of 0 against an output whose address resolves to C0000 is intentionally a no-op.

Special Function Programs (SFPs / SFPGM)

SFPs are the TI505's text-format subroutines, conceptually similar to structured text on later platforms. Common SFPs encountered during migration include:

SFP Function
SCALE Linear scaling of an analogue input word to engineering units
UNSCALE Reverse scaling of an engineering value back to a raw word
PID PID loop with auto/manual and bumpless transfer
HSCTIM / HSC High-speed counter preset/accumulator handling for the HSC224, HSC232 cards
DRUM / EDRUM Event drum sequencer
MATH Floating-point arithmetic block

SFPs are stored as SFPGMx blocks in the project tree and can be edited in TISOFT as structured text. Each SFP call from ladder passes its arguments by reference; the EDRUM's FLAG and MASK parameters are typically the SFP call's inputs.

TISOFT Programming Environment

TISOFT is the original DOS-based programming tool for the TI505 family. Practical notes for engineers re-installing it today:

  • The most recent widely circulated version is TISOFT 6.3. Older programs (TISOFT 1.x / 2.x) require TICONV to migrate to the current format.
  • TISOFT runs reliably under Windows 7 / 10 / 11 in Windows XP compatibility mode with administrator rights. A DOS virtual machine (MS-DOS 6.22 under VirtualBox or VMware) is more stable for full project offline editing.
  • To start offline editing: launch TI505.BATOffline mode → Open Project → point at the converted .PRJ file.
  • To save a program from a live 545 / 555 processor over serial: select OnlineReceive Program from PLC. A direct RS-232 to the CPU programming port at 9600 / 19200 baud is the standard path; later 545 CPUs also accept the TI wayport protocol.
  • For modern Windows workflows, 505 Workshop (FasTrak Soft) imports TISOFT programs, but the conversion is one-way: .PRJ → .FSS files. Always retain the original TISOFT archive.

Procedure: Recovering a Program from a Live TI545

  1. Connect a null-modem RS-232 cable between the laptop and the 545 CPU programming port (DB-25 or DE-9S depending on CPU revision).
  2. In TISOFT, set the port parameters to match the CPU: COM1, 19200, 8, N, 1 (default for most 545s).
  3. Place the CPU in PROGRAM mode via the keyswitch on the CPU front panel.
  4. In TISOFT: Online → Connect. Confirm successful handshake ("Online with PLC" status).
  5. Select PLC → Receive Program. TISOFT will read the entire program image, including all SFPs and the EDRUM tables, into a .PRJ archive on the local disk.
  6. Open the recovered project offline and review the EDRUM table (steps 1..16, MASK, CNT, FLAG).
Always back up the recovered project to two physical media before any modification. TISOFT has no native undo for online writes.

Migration Path 1: To SIMATIC S7 (TI505-S7 Converter)

Siemens offers a TI505-S7 converter library and a documented methodology for migrating TI505 ladder and SFP code into STEP 7 / TIA Portal. The converter handles:

  • Mapping X / Y / C / V addresses to S7 I, Q, M, and DB equivalents.
  • Translating the EDRUM into a STEP 7 FB (function block) that implements the same 16-step state machine with FLAG / CNT / MASK semantics.
  • Translating SCALE / UNSCALE / PID SFPs into their S7 library counterparts.

The TI505-S7 library does not cover all legacy SFPs one-to-one; review the migration audit report for unconverted blocks and rebuild those by hand. Refer to the SiePortal TI–>S7 library thread for current revision notes and known gaps.

Migration Path 2: To CTI Compatible Hardware

Control Technology Inc. (CTI) manufactures a Siemens/TI505-compatible rack, CPU, and I/O family that runs existing 505 programs without source conversion. A drop-in CTI 2500-RIO or 2550 system:

  • Executes the original .PRJ / .FSS image directly.
  • Preserves the EDRUM, SFP, and HSC behaviour bit-for-bit.
  • Adds modern Ethernet and web diagnostics on top of the legacy programming port.

This is the lowest-risk path when the installed base is large and the goal is to defer code rewrites while retiring aging Siemens/TI hardware. CTI publishes a cross-reference catalogue for legacy 505 I/O modules, including the 4-channel HSC card used in the example system above.

Migration Path 3: To Allen-Bradley ControlLogix (RSLogix 5000 / Studio 5000)

A direct ladder port to RSLogix 5000 treats the EDRUM as a state machine in software. The recommended approach:

  1. For each EDRUM instance, create an AOI (Add-On Instruction) named EDRUM_16 with the following parameters:
  • EnableIn (BOOL), StartIn (BOOL), PresetStep (DINT), TimeBase_s (REAL), DrumOutput (BOOL)
  • Input arrays StepCNT[1..16] (DINT), StepFLAG[1..16] (BOOL), OutputMASK[1..15,1..16] (BOOL)
  • Output CurrentStep (DINT), DrumDone (BOOL)
  1. Implement the state machine in structured text inside the AOI exactly per the TI505 semantics: ENABLE falling edge resets, START falling edge pauses, FLAG gating, and the MASK force-write on every step transition.
  2. Replace direct C-address references in ladder with explicit tag references; do not rely on implicit global coil behaviour, as the EDRUM's "force 0" writes must be preserved or downstream logic will retain stale ON states.
  3. Migrate HSC handling to the appropriate ControlLogix high-speed counter module (1756-HSC, 5069-HSC, or 1734-IJH) and replicate any SFP scaling in a periodic task at the original timebase (10 ms / 100 ms / 1 s).

Verification should include running the rebuilt AOI in parallel with the original TI program on a simulated I/O image for at least one full 16-step cycle, comparing every C-flag bit by bit.

EDRUM Timebase Conversion Cheat Sheet

TI505 SEC/CNT (s) Tick (ms) RSLogix 5000 task Use
0.001 1 1 ms periodic (1794-ACNR15 or similar) Very high-speed indexers
0.010 10 10 ms periodic (default) General sequencing
0.100 100 100 ms periodic (or use a TON) Slow process / debounce
1.000 1000 1000 ms periodic (or a TON) Operator-paced steps

Specifications Reference (SIMATIC TI505)

Item Value
CPU families TI520, TI525, TI530, TI535, TI545, TI555, TI560/565
I/O addressing 8-, 16-, 32-point modules, mixed racks
Scan time (545-1102) approx. 0.8 ms per 1 K of ladder
EDRUM per CPU Hardware-implemented, no per-instance count limit (memory-bound)
HSC modules PPX:505-7004 series, 4 channels per card
Programming software TISOFT (DOS), 505 Workshop (Windows), APT
Manual reference (I/O) SIMATIC 505-8105-2 I/O Modules Manual
Manual reference (programming) SIMATIC 505-8104-5 Programming Reference Manual

Troubleshooting Matrix

Symptom Likely Cause Remediation
EDRUM never starts ENABLE/RESET (C1000) not latched ON before START Force C1000 ON in monitor mode; verify start-of-cycle logic
Drum runs but skips a step FLAG for that step was already ON at entry; event gate is bypassed when the flag is true on first scan Add a one-shot around the FLAG or use a CNT-only step
Output "fights" with external logic EDRUM MASK writes 0 to an output that other rungs also drive to 1 Move the conflicting coil to an internal C and use that C as the source for the external drive
Drum pauses mid-cycle START (C1007) dropped out Trace the rung driving C1007; check for conditional interlocks
TISOFT 2 will not open file File is TISOFT 1.x format Run TICONV to upgrade before opening
505 Workshop will not open file File is still legacy TISOFT Convert with TISOFT first, save as 505 Workshop native (.FSS) only as last step
Recovered program is incomplete after PLC upload Receive Program interrupted or wrong baud Retry at 19200 8N1 with a shielded null-modem cable under 3 m

Field-Commissioning Notes

  • When converting a TI505 program to a new platform, document every C-address that the EDRUM writes to (its 15 output slots). These addresses are the only places where the drum's behaviour is non-idempotent and will surprise the new logic if left as plain coils.
  • If a CTI replacement is used, retain the original TISOFT project and label the new CPU's CF card with the source .PRJ filename and conversion date.
  • When porting to S7, allocate a dedicated instance DB per EDRUM and place the MASK array in a UDT so that the converter can map 16-step drums uniformly.
  • When porting to RSLogix 5000 / Studio 5000, never collapse the EDRUM AOI into inline rungs; the 16-step atomicity of the MASK write must be preserved or output races will appear at high cycle rates.
  • Verify the migration by forcing the drum's ENABLE/RESET, START, and each FLAG in sequence and comparing drum output against the documented expected sequence from the original TISOFT printout.

Standards and Reference Documentation

For complete electrical, mechanical, and programming specifications, always cross-check the latest manufacturer-issued manuals before any re-installation, conversion, or field service. The current SIMATIC 505 I/O Modules manual and the SIMATIC 505 Programming Reference Manual cover the full EDRUM, SFP, and HSC behaviour described above. For new installations, the CTI products catalogue provides drop-in compatible CPUs and I/O that preserve the TI505 memory model and instruction set verbatim.

What is the maximum number of steps and outputs for a TI505 EDRUM?

The EDRUM supports 16 sequential steps and 15 outputs per drum instance. Each step can have its own CNT, FLAG, and 15-bit MASK, and the drum can be cascaded by feeding the DRUM OUTPUT (C1023) into the next drum's ENABLE.

How do ENABLE/RESET and START differ on the TI505 EDRUM?

ENABLE/RESET (typically C1000) arms the drum and clears it to the PRESET step on its falling edge. START (typically C1007) begins the sequence on a rising edge and pauses on its falling edge. Both must be ON for the drum to advance.

What software opens legacy TISOFT project files today?

TISOFT 6.3 in DOS, or a Windows XP-mode compatibility-mode session, opens original .PRJ files. 505 Workshop from FasTrak Soft opens them on Windows but converts to its own .FSS format, which is one-way. Use TICONV for files from TISOFT 1.x or 2.x.

Can a TI505 program run unmodified on new hardware?

Yes. Control Technology Inc. (CTI) builds a Siemens/TI505-compatible CPU and I/O family that executes the original ladder and SFP image bit-for-bit, including EDRUM, PID, and HSC blocks, with no source conversion required.

How is the TI505 EDRUM converted to RSLogix 5000 or Studio 5000?

Create an AOI named EDRUM_16 with input arrays for the 16 step CNTs, FLAGs, and the 15×16 MASK, plus ENABLE, START, PRESET, and TIMEBASE inputs. Implement the same state machine (FLAG gating, CNT countdown, full-MASK force-write on each step transition) in structured text. Verify with a parallel-run against the original TI image for at least one full 16-step cycle.

Back to blog