Transferring a 205-260 Program to a DL06 PLC Safely

Brian Holt8 min read
AutomationDirectOther TopicTutorial / How-to
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

A 205-260-to-DL06 change is not an I/O-only edit: the DL06 has a different memory map, and the project must be checked for instruction support, V-memory use, system references, and I/O addressing before it runs the machine.

Save a rollback copy before editing the 205-260 project

Keep the original project unchanged. Make a working copy so you can compare logic and recover the known 205-260 program if the conversion exposes an unexpected dependency. Treat the new CPU as a separate target project rather than assuming that changing a project setting converts every address correctly.

  1. Open the existing project in DirectSOFT.
  2. Use File > Save As to make a separate working copy.
  3. Record the present CPU configuration, I/O assignments, analog output setup, and any project comments that explain address use.
  4. Keep the original program available for comparison while reviewing and editing the copy.

Do not use the converted project as the only backup. Check: confirm that the original project remains unchanged and that the working copy opens before making edits.

Reject the I/O-only shortcut before changing the rack

Matching the required I/O quantity does not prove that the programs are interchangeable. The 205-260 and DL06 differ in memory size and map, and the DL06 has built-in I/O represented as slot 0. The first expansion slot on the DL06 is slot 1, not slot 0. A program that treats the first expansion module as slot 0 can address the wrong point or fail to represent the installed hardware correctly.

Review every I/O reference against the actual DL06 installation. Separate built-in points from expansion-module points; do not simply preserve the old slot assumptions or copy an I/O count. Recheck analog output configuration as a separate task, because the original question specifically identifies it as a change and I/O quantity alone does not configure analog behavior.

Quick assumption Why it fails What to check
Same I/O quantity means same program addresses Slot numbering and built-in I/O can change the point mapping. Match each logic reference to the DL06 built-in point or installed expansion slot.
Analog output logic can stay untouched The output configuration must be reviewed for the target CPU arrangement. Compare the analog output setup and its use in the program against the DL06 configuration.
Only I/O and analog settings need edits Memory locations and instruction support also differ. Complete instruction-set and memory-map reviews before downloading.

Check: produce an I/O list that identifies each referenced point as built-in or expansion I/O and identifies the analog output configuration that must be recreated or verified.

Compare the 205-260 and DL06 instruction sets

Do not infer command compatibility from family resemblance. The CPUs may share many commands, but that does not establish that every instruction used by this project is supported by the DL06. DirectSOFT provides an instruction-set comparison: in Rel 4 or Rel 5, use Help > PLC Instruction Set Matrix and compare the 205-260 with the DL06. Identify each instruction in the actual program that the matrix does not show as supported on the target.

Software behavior also affects the download check. DirectSOFT 5 prevents downloading a program containing an instruction supported by the 205-260 but not the DL06. Earlier releases may prevent inserting such an instruction while still allowing a program that already contains it to download. Therefore, download acceptance in an older release is not proof that the target supports every command.

  1. Review the project for every instruction used, including instructions inside less frequently executed branches.
  2. Compare each instruction against both CPUs in the instruction-set matrix.
  3. Replace unsupported instructions with supported logic only after checking that the replacement preserves the required machine behavior.
  4. Use the target-CPU project and software validation as an additional check; do not substitute a successful download for the matrix review.

Check: account for every instruction identified as unsupported or uncertain, and confirm the selected DL06 logic uses only commands shown as supported for the target.

Remap V memory, system V references, and SP references

A V-memory address that exists on both CPUs can still have a different purpose. For example, V400 may be user V memory in one CPU and a timer accumulator for TMR400 in another. Reusing the address without checking its target meaning can make logic read or overwrite data that serves a different function.

Open PLC > Memory Map for the DL06 and inspect every used V-memory address against its listed range and purpose. Review all system V references and all SP references as well; do not assume these special references transfer unchanged. If a location is outside the available user range or serves a different purpose on the DL06, choose a valid target location and update every read, write, contact, and associated tag consistently.

The replace function can help change address references and carry tag names to new locations. Use it as an editing aid, not as a substitute for reviewing the resulting addresses: a broad replacement can affect references that need a different treatment.

  1. Inventory V-memory, system V, and SP references in the working copy.
  2. Compare each reference with the DL06 memory map.
  3. Identify out-of-range addresses and addresses with a changed function.
  4. Replace or reassign affected references, then inspect each changed rung and tag.

Check: verify that every used target address is valid for the DL06 and has the intended purpose in the DL06 memory map.

Build a DL06 project and transfer the reviewed logic

After checking commands and memory, create a new project for the DL06. Copying the reviewed logic into a project configured for the target makes the target CPU selection explicit and gives the programming software a chance to validate the program against that CPU.

  1. Create a new DirectSOFT project and select the DL06 as its CPU.
  2. Return to the edited working copy, select the reviewed rungs, and copy them.
  3. Paste the rungs into the new DL06 project.
  4. Resolve any validation messages by checking the specific instruction or address rather than dismissing the message or making unrelated edits.
  5. Save the DL06 project separately from both the original and the edited 205-260 copy.

When replacing addresses, review the full rung context and confirm that copied tag names still describe the new locations. A successful copy operation only transfers logic; it does not prove the CPU memory assignments or I/O mapping are correct.

Check: reopen the saved DL06 project, confirm its target CPU, and resolve all program checks before connecting for a download.

Reconcile DL06 slot addressing and analog outputs

Use the installed DL06 I/O arrangement as the reference for point-by-point reconciliation. Slot 0 is occupied by built-in I/O; the first expansion slot is slot 1. Trace every old I/O reference to the specific target point it must control or read. If the old program assumes the expansion module occupies slot 0, correct those references instead of shifting them by guesswork.

Review analog outputs independently from discrete I/O. Re-enter or confirm their configuration for the target arrangement, then trace each analog value from its source in the program to the intended output. The source identifies analog output configuration as a required consideration but provides no channel range or scaling values; read those values from the installed module and project configuration rather than importing an unverified setting.

  • Confirm every referenced built-in point against the DL06 built-in I/O.
  • Confirm every expansion point against its actual slot and channel.
  • Check analog output configuration and the logic that writes each output value.
  • Verify that any tag/address replacement did not leave duplicate or stale I/O references.

Check: reconcile the project I/O references with the actual installed DL06 points and confirm that analog outputs have the intended configuration before attempting machine operation.

Verify the converted machine sequence before release

Keep the original 205-260 project available as the rollback option until the DL06 program passes its checks. Before placing outputs in control of the machine, compare the converted rungs with the original sequence and test the target program in a controlled commissioning state. Confirm the input conditions, output assignments, memory values, and analog commands used by the machine instead of treating a clean compile or successful download as proof of correct operation.

  1. Confirm the DL06 project targets the intended CPU and passes the instruction and memory reviews.
  2. Check live input status against the documented I/O mapping, including the built-in slot 0 and expansion slot numbering.
  3. Exercise logic in a controlled manner and verify that each output responds to its intended input and sequence condition.
  4. Verify analog output configuration and commanded values at the destination using the machine's normal commissioning checks.
  5. Run the required operating sequence and check for incorrect addressing, unexpected output changes, or sequence differences from the original program.

Do not release the conversion while any instruction, memory reference, or I/O point remains unresolved. Check: release only after the target program's sequence and all mapped outputs behave as intended through the machine's required operating checks.

Frequently asked questions

Why does a 205-260 program need more than I/O changes for a DL06?

The CPUs differ in memory size and map, and the DL06 uses slot 0 for built-in I/O with the first expansion slot numbered 1. Review instruction support, V-memory and special references, I/O addressing, and analog output configuration.

Why can the same V-memory address mean something different on the DL06?

Memory maps assign locations different purposes across CPUs. V400, for example, can be user V memory on one CPU and a timer accumulator for TMR400 on another; check every used address in PLC > Memory Map.

Why did DirectSOFT let an unsupported instruction download?

DirectSOFT 5 blocks downloading an instruction unsupported by the DL06, but earlier releases may block insertion without blocking download of an existing instruction. Compare the CPUs in Help > PLC Instruction Set Matrix instead of relying only on a successful download.

Why is the first DL06 expansion slot not slot 0?

The DL06 built-in I/O occupies slot 0, so its first expansion slot is slot 1. Map each project I/O reference to the actual built-in point or expansion-module slot.

When should I stop the conversion and contact support?

Stop before machine release if the DL06 memory map, instruction support, I/O mapping, or analog output configuration remains unresolved, or if controlled checks produce unexpected behavior. Contact AutomationDirect official support with the CPU projects, target memory-map findings, instruction comparison, and I/O mapping so the unresolved compatibility issue can be reviewed.

Back to blog