Вы находитесь на странице: 1из 592

DL205 PLC User Manual

Volume 1 of 2

Manual Number: D2-USER-M


Notes
 WARNING 
Thank you for purchasing automation equipment from Automationdirect.com®, doing business as,
AutomationDirect. We want your new automation equipment to operate safely. Anyone who installs or
uses this equipment should read this publication (and any other relevant publications) before installing or
operating the equipment.
To minimize the risk of potential safety problems, you should follow all applicable local and national codes
that regulate the installation and operation of your equipment. These codes vary from area to area and
usually change with time. It is your responsibility to determine which codes should be followed, and to
verify that the equipment, installation, and operation is in compliance with the latest revision of these
codes.
At a minimum, you should follow all applicable sections of the National Fire Code, National Electrical
Code, and the codes of the National Electrical Manufacturer's Association (NEMA). There may be local
regulatory or government offices that can also help determine which codes and standards are necessary for
safe installation and operation.
Equipment damage or serious injury to personnel can result from the failure to follow all applicable codes
and standards. We do not guarantee the products described in this publication are suitable for your
particular application, nor do we assume any responsibility for your product design, installation, or
operation.
Our products are not fault-tolerant and are not designed, manufactured or intended for use or resale as on-
line control equipment in hazardous environments requiring fail-safe performance, such as in the
operation of nuclear facilities, aircraft navigation or communication systems, air traffic control, direct life
support machines, or weapons systems, in which the failure of the product could lead directly to death,
personal injury, or severe physical or environmental damage ("High Risk Activities"). AutomationDirect
specifically disclaims any expressed or implied warranty of fitness for High Risk Activities.
For additional warranty and safety information, see the Terms and Conditions section of our catalog. If
you have any questions concerning the installation or operation of this equipment, or if you need
additional information, please call us at 770-844-4200.
This publication is based on information that was available at the time it was printed. At
AutomationDirect we constantly strive to improve our products and services, so we reserve the right to
make changes to the products and/or publications at any time without notice and without any obligation.
This publication may also discuss features that may not be available in certain revisions of the product.

Trademarks
This publication may contain references to products produced and/or offered by other companies. The
product and company names may be trademarked and are the sole property of their respective owners.
AutomationDirect disclaims any proprietary interest in the marks and names of others.
Copyright 2010, Automationdirect.com Incorporated
All Rights Reserved
No part of this manual shall be copied, reproduced, or transmitted in any way without the prior, written
consent of Automationdirect.com Incorporated. AutomationDirect retains the exclusive rights to all
information included in this document.
 AVERTISSEMENT 
Nous vous remercions d'avoir acheté l'équipement d'automatisation de Automationdirect.comMC, en faisant des
affaires comme, AutomationDirect. Nous tenons à ce que votre nouvel équipement d'automatisation fonctionne en
toute sécurité. Toute personne qui installe ou utilise cet équipement doit lire la présente publication (et toutes les
autres publications pertinentes) avant de l'installer ou de l'utiliser.
Afin de réduire au minimum le risque d'éventuels problèmes de sécurité, vous devez respecter tous les codes locaux et
nationaux applicables régissant l'installation et le fonctionnement de votre équipement. Ces codes diffèrent d'une
région à l'autre et, habituellement, évoluent au fil du temps. Il vous incombe de déterminer les codes à respecter et
de vous assurer que l'équipement, l'installation et le fonctionnement sont conformes aux exigences de la version la
plus récente de ces codes.
Vous devez, à tout le moins, respecter toutes les sections applicables du Code national de prévention des incendies,
du Code national de l'électricité et des codes de la National Electrical Manufacturer's Association (NEMA). Des
organismes de réglementation ou des services gouvernementaux locaux peuvent également vous aider à déterminer
les codes ainsi que les normes à respecter pour assurer une installation et un fonctionnement sûrs.
L'omission de respecter la totalité des codes et des normes applicables peut entraîner des dommages à l'équipement
ou causer de graves blessures au personnel. Nous ne garantissons pas que les produits décrits dans cette publication
conviennent à votre application particulière et nous n'assumons aucune responsabilité à l'égard de la conception, de
l'installation ou du fonctionnement de votre produit.
Nos produits ne sont pas insensibles aux défaillances et ne sont ni conçus ni fabriqués pour l'utilisation ou la revente
en tant qu'équipement de commande en ligne dans des environnements dangereux nécessitant une sécurité absolue,
par exemple, l'exploitation d'installations nucléaires, les systèmes de navigation aérienne ou de communication, le
contrôle de la circulation aérienne, les équipements de survie ou les systèmes d'armes, pour lesquels la défaillance du
produit peut provoquer la mort, des blessures corporelles ou de graves dommages matériels ou environnementaux
(«activités à risque élevé»). La société AutomationDirect nie toute garantie expresse ou implicite d'aptitude à
l'emploi en ce qui a trait aux activités à risque élevé.
Pour des renseignements additionnels touchant la garantie et la sécurité, veuillez consulter la section Modalités et
conditions de notre documentation. Si vous avez des questions au sujet de l'installation ou du fonctionnement de cet
équipement, ou encore si vous avez besoin de renseignements supplémentaires, n'hésitez pas à nous téléphoner au
770-844-4200.
Cette publication s'appuie sur l'information qui était disponible au moment de l'impression. À la société
AutomationDirect, nous nous efforçons constamment d'améliorer nos produits et services. C'est pourquoi nous
nous réservons le droit d'apporter des modifications aux produits ou aux publications en tout temps, sans préavis ni
quelque obligation que ce soit. La présente publication peut aussi porter sur des caractéristiques susceptibles de ne
pas être offertes dans certaines versions révisées du produit.

Marques de commerce
La présente publication peut contenir des références à des produits fabriqués ou offerts par d'autres entreprises. Les
désignations des produits et des entreprises peuvent être des marques de commerce et appartiennent exclusivement à
leurs propriétaires respectifs. AutomationDirect nie tout intérêt dans les autres marques et désignations.
Copyright 2010, Automationdirect.com Incorporated
Tous droits réservés
Nulle partie de ce manuel ne doit être copiée, reproduite ou transmise de quelque façon que ce soit sans le
consentement préalable écrit de la société Automationdirect.com Incorporated. AutomationDirect conserve les
droits exclusifs à l'égard de tous les renseignements contenus dans le présent document.
DL205 PLC USER MANUAL

Please include the Manual Number and the Manual Issue, both shown below,
when communicating with Technical Support regarding this publication.

Manual Number: D2-USER-M


Issue: 4th Edition, Rev. A
Issue Date: 4/10

Publication History
Issue Date Description of Changes
1st Edition 1/94 original edition
Rev. A 9/95 minor corrections
2nd Edition 6/97 added DL250, downsized manual
Rev. A 5/98 minor corrections
Rev. B 7/99 added torque specs for base and I/O
Rev. C 11/99 minor corrections
Rev. D 3/00 added new PID features, minor corrections
Rev. E 11/00 added CE information, minor corrections
added surge protection info, corrected RLL and DRUM instructions,
Rev. F 11/01
minor corrections
added DL250–1 and DL260 CPUs, local expansion I/O, ASCII and
3rd Edition 6/02
MODBUS instructions, split manual into two volumes
Rev A 8/03 extensive corrections and additions
changed publishing software resulting in change of appearance, addition of IBox
4th Edition 11/08 instructions, changes to PID chapter, added info for ERM and EBC modules, other
changes as necessary
Rev A 4/10 extensive corrections and additions
Notes
VOLUME ONE:
TABLE OF CONTENTS

Volume One: Table of Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .i

Volume Two: Table of Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xi

Chapter 1: Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–1


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–2
The Purpose of this Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–2
Where to Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–2
Supplemental Manuals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–2
Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–2
Conventions Used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–3
Key Topics for Each Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–3
DL205 System Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–4
CPUs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–4
Bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–4
I/O Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–4
I/O Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–4
DL205 System Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–5
Programming Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–7
DirectSOFT Programming for Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–7
Handheld Programmer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–7
DirectLOGIC™ Part Numbering System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–8
Quick Start for PLC Validation and Programming . . . . . . . . . . . . . . . . . . . . . . . . .1–10
Steps to Designing a Successful System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–13

Chapter 2: Installation, Wiring and Specifications . . . . . . . . . . . . . . .2–1


Safety Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–2
Table of Contents

Plan for Safety . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–2


Three Levels of Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–3
Emergency Stops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–3
Emergency Power Disconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–4
Orderly System Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–4
Class 1, Division 2, Approval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–4
Mounting Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–5
Base Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–5
Panel Mounting and Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–6
Enclosures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–7
Environmental Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–8
Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–8
Marine Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–9
Agency Approvals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–9
24 VDC Power Bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–9
Installing DL205 Bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–10
Choosing the Base Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–10
Mounting the Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–10
Using Mounting Rails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–11
Installing Components in the Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–12
Base Wiring Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–13
Base Wiring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–13
I/O Wiring Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–14
PLC Isolation Boundaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–14
Powering I/O Circuits with the Auxiliary Supply . . . . . . . . . . . . . . . . . . . . . . . . . . .2–15
Powering I/O Circuits Using Separate Supplies . . . . . . . . . . . . . . . . . . . . . . . . . . .2–16
Sinking / Sourcing Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–17
I/O “Common” Terminal Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–18
Connecting DC I/O to “Solid State” Field Devices . . . . . . . . . . . . . . . . . . . . . . . . .2–19
Solid State Input Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–19
Solid State Output Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–19
Relay Output Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–21
Surge Suppression For Inductive Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–21
I/O Modules Position, Wiring, and Specification . . . . . . . . . . . . . . . . . . . . . . . . . .2–25
Slot Numbering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–25
Module Placement Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–25

ii DL205 PLC User Manual, 4th Edition, Rev. A


Table of Contents

Special Placement Considerations for Analog Modules . . . . . . . . . . . . . . . . . . . . .2–26


Discrete Input Module Status Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–26
Color Coding of I/O Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–26
Wiring the Different Module Connectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–27
I/O Wiring Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–28
D2-08ND3, DC Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–29
D2-16ND3-2, DC Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–29
D2–32ND3, DC Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–30
D2–32ND3–2, DC Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–31
D2-08NA-1, AC Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–32
D2-08NA-2, AC Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–33
D2-16NA, AC Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–34
F2-08SIM, Input Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–34
D2-04TD1, DC Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–35
D2–08TD1, DC Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–36
D2–08TD2, DC Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–36
D2–16TD1–2, DC Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–37
D2–16TD2–2, DC Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–37
F2–16TD1(2)P, DC Output With Fault Protection . . . . . . . . . . . . . . . . . . . . . . . . .2–38
F2–16TD1P, DC Output With Fault Protection . . . . . . . . . . . . . . . . . . . . . . . . . . .2–39
F2–16TD2P, DC Output with Fault Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–40
D2–32TD1, DC Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–41
D2–32TD2, DC Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–41
F2–08TA, AC Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–42
D2–08TA, AC Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–42
D2–12TA, AC Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–43
D2–04TRS, Relay Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–44
D2–08TR, Relay Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–45
F2–08TR, Relay Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–46
F2–08TRS, Relay Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–47

DL205 PLC User Manual, 4th Edition, Rev. A iii


Table of Contents

D2–12TR, Relay Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–48


D2–08CDR 4 pt., DC Input / 4pt., Relay Output . . . . . . . . . . . . . . . . . . . . . . . . . .2–49
Glossary of Specification Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–50

Chapter 3: CPU Specifications and Operations . . . . . . . . . . . . . . . . . .3–1


CPU Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–2
General CPU Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–2
DL230 CPU Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–2
DL240 CPU Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–2
DL250–1 CPU Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–3
DL260 CPU Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–3
CPU General Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–4
CPU Base Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–5
CPU Hardware Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–6
Communication Port Pinout Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–6
Port 1 Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–7
Port 2 Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–8
Selecting the Program Storage Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–9
Built-in EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–9
EEPROM Sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–9
EEPROM Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–9
Installing the CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–10
Connecting the Programming Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–10
CPU Setup Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–11
Status Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–12
Mode Switch Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–12
Changing Modes in the DL205 PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–13
Mode of Operation at Power-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–13
Using Battery Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–14
DL230 and DL240 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–14
DL250-1 and DL260 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–14
Battery Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–14
Auxiliary Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–15
Clearing an Existing Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–16
Initializing System Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–16

iv DL205 PLC User Manual, 4th Edition, Rev. A


Table of Contents

Setting the Clock and Calendar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–16


Setting the CPU Network Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–17
Setting Retentive Memory Ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–17
Using a Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–18
Setting the Analog Potentiometer Ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–19
CPU Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–21
CPU Operating System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–21
Program Mode Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–22
Run Mode Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–22
Read Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–23
Read Inputs from Specialty and Remote I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–23
Service Peripherals and Force I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–23
CPU Bus Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–24
Update Clock, Special Relays and Special Registers . . . . . . . . . . . . . . . . . . . . . . . .3–24
Solve Application Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–25
Solve PID Loop Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–25
Write Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–25
Write Outputs to Specialty and Remote I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–26
Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–26
I/O Response Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–27
Is Timing Important for Your Application? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–27
Normal Minimum I/O Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–27
Normal Maximum I/O Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–27
Improving Response Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–28
CPU Scan Time Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–29
Initialization Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–30
Reading Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–30
Reading Inputs from Specialty I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–31
Service Peripherals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–31
CPU Bus Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–32
Update Clock/Calendar, Special Relays, Special Registers . . . . . . . . . . . . . . . . . . . .3–32
Writing Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–32
Writing Outputs to Specialty I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–33
Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–33
Application Program Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–34
PLC Numbering Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–35

DL205 PLC User Manual, 4th Edition, Rev. A v


Table of Contents

PLC Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–35


V–Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–36
Binary-Coded Decimal Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–36
Hexadecimal Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–36
Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–37
Octal Numbering System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–37
Discrete and Word Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–37
V–Memory Locations for Discrete Memory Areas . . . . . . . . . . . . . . . . . . . . . . . . . .3–37
Input Points (X Data Type) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–38
Output Points (Y Data Type) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–38
Control Relays (C Data Type) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–38
Timers and Timer Status Bits (T Data type) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–38
Timer Current Values (V Data Type) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–39
Counters and Counter Status Bits (CT Data type) . . . . . . . . . . . . . . . . . . . . . . . . .3–39
Counter Current Values (V Data Type) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–39
Word Memory (V Data Type) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–39
Stages (S Data type) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–40
Special Relays (SP Data Type) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–40
Remote I/O Points (GX Data Type) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–40
DL230 System V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–41
DL240 System V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–43
DL250–1 System V-memory (DL250 also) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–46
DL260 System V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–49
DL205 Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–52
DL230 Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–53
DL240 Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–54
DL250–1 Memory Map (DL250 also) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–55
DL260 Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–56
X Input/Y Output Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–57
Control Relay Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–59
Stage Control/Status Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–63
Timer and Counter Status Bit Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–65
Remote I/O Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–66

vi DL205 PLC User Manual, 4th Edition, Rev. A


Table of Contents

Chapter 4: System Design and Configuration . . . . . . . . . . . . . . . . . . .4–1


DL205 System Design Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–2
I/O System Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–2
Networking Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–2
Module Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–3
Slot Numbering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–3
Module Placement Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–3
Automatic I/O Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–4
Manual I/O Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–4
Removing a Manual Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–5
Power–On I/O Configuration Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–5
I/O Points Required for Each Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–6
Calculating the Power Budget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–7
Managing your Power Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–7
CPU Power Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–7
Module Power Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–7
Power Budget Calculation Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–9
Power Budget Calculation Worksheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–10
Local Expansion I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–11
D2–CM Local Expansion Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–11
D2–EM Local Expansion Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–12
D2–EXCBL–1 Local Expansion Cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–12
DL260 Local Expansion System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–13
DL250–1 Local Expansion System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–14
Expansion Base Output Hold Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–15
Enabling I/O Configuration Check using DirectSOFT . . . . . . . . . . . . . . . . . . . . . . .4–16
Expanding DL205 I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–17
I/O Expansion Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–17
Ethernet Remote Master, H2-ERM(-F) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–17
Ethernet Remote Master Hardware Configuration . . . . . . . . . . . . . . . . . . . . . . . . .4–18
Installing the ERM Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–19
Ethernet Base Controller, H2-EBC(100)(-F) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–22
Install the EBC Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–23
Set the Module ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–23
Insert the EBC Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–23
Network Cabling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–24

DL205 PLC User Manual, 4th Edition, Rev. A vii


Table of Contents

10BaseFL Network Cabling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–25


Maximum Cable Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–25
Add a Serial Remote I/O Master/Slave Module . . . . . . . . . . . . . . . . . . . . . . . . . . .4–26
Configuring the CPU’s Remote I/O Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–27
Configure Remote I/O Slaves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–29
Configuring the Remote I/O Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–29
Remote I/O Setup Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–30
Remote I/O Test Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–31
Network Connections to Modbus and DirectNet . . . . . . . . . . . . . . . . . . . . . . . . . .4–32
Configuring Port 2 For DirectNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–32
Configuring Port 2 For Modbus RTU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–32
Modbus Port Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–33
DirectNET Port Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–34
Network Slave Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–35
Modbus Function Codes Supported . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–35
Determining the Modbus Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–35
If Your Host Software Requires the Data Type and Address . . . . . . . . . . . . . . . . . .4–35
If Your Modbus Host Software Requires an Address ONLY . . . . . . . . . . . . . . . . . . .4–38
Example 1: V2100 584/984 Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–40
Example 2: Y20 584/984 Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–40
Example 3: T10 Current Value 484 Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–40
Example 4: C54 584/984 Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–40
Determining the DirectNET Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–40
Network Master Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–41
Communications from a Ladder Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–44
Multiple Read and Write Interlocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–44
Network Modbus RTU Master Operation (DL260 only) . . . . . . . . . . . . . . . . . . . .4–45
Modbus Function Codes Supported . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–45
Modbus Port Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–46
RS–485 Network (Modbus only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–47
RS–232 Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–47
Modbus Read from Network (MRX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–48
MRX Slave Memory Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–49
MRX Master Memory Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–49
MRX Number of Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–49
MRX Exception Response Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–49
Modbus Write to Network (MWX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–50

viii DL205 PLC User Manual, 4th Edition, Rev. A


Table of Contents

MWX Slave Memory Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–51


MWX Master Memory Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–51
MWX Number of Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–51
MWX Exception Response Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–51
MRX/MWX Example in DirectSOFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–52
Multiple Read and Write Interlocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–52
Non–Sequence Protocol (ASCII In/Out and PRINT) . . . . . . . . . . . . . . . . . . . . . . .4–54
Configure the DL260 Port 2 for Non-Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . .4–54
RS–485 Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–55
RS–232 Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–55
Configure the DL250-1 Port 2 for Non-Sequence . . . . . . . . . . . . . . . . . . . . . . . . .4–56
RS–422 Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–57
RS–232 Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–57

Chapter 5: RLL and Intelligent Box (IBOX) Instructions . . . . . . . . . . .5–1


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–2
Using Boolean Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–5
END Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–5
Simple Rungs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–5
Normally Closed Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–6
Contacts in Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–6
Midline Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–6
Parallel Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–7
Joining Series Branches in Parallel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–7
Joining Parallel Branches in Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–7
Combination Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–7
Comparative Boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–8
Boolean Stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–8
Immediate Boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–9
Boolean Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–10
Comparative Boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–27
Immediate Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–33
Timer, Counter and Shift Register Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . .5–41
Using Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–41
Timer Example Using Discrete Status Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–43

DL205 PLC User Manual, 4th Edition, Rev. A ix


Table of Contents

Timer Example Using Comparative Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–43


Accumulating Timer (TMRA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–44
Accumulating Timer Example using Discrete Status Bits . . . . . . . . . . . . . . . . . . . . .5–45
Accumulator Timer Example Using Comparative Contacts . . . . . . . . . . . . . . . . . . .5–45
Counter Example Using Discrete Status Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–47
Counter Example Using Comparative Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . .5–47
Stage Counter Example Using Discrete Status Bits . . . . . . . . . . . . . . . . . . . . . . . . .5–49
Stage Counter Example Using Comparative Contacts . . . . . . . . . . . . . . . . . . . . . .5–49
Up/Down Counter Example Using Discrete Status Bits . . . . . . . . . . . . . . . . . . . . .5–51
Up/Down Counter Example Using Comparative Contacts . . . . . . . . . . . . . . . . . . .5–51
Accumulator/Stack Load and Output Data Instructions . . . . . . . . . . . . . . . . . . . .5–53
Logical Instructions (Accumulator) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–71
Math Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–88
Transcendental Functions (DL260 only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–121
Bit Operation Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–123
Number Conversion Instructions (Accumulator) . . . . . . . . . . . . . . . . . . . . . . . . .5–130
Table Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–144
Clock/Calendar Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–175
CPU Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–177
Program Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–179
Interrupt Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–187
Intelligent I/O Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–191
Network Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–193
Message Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–197
Modbus RTU Instructions (DL260) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–205
Modbus Read from Network (MRX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–205
Modbus Write to Network (MWX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–208
ASCII Instructions (DL260) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–211
Intelligent Box (IBox) Instructions (DL250-1/DL260) . . . . . . . . . . . . . . . . . . . . .5-230

x DL205 PLC User Manual, 4th Edition, Rev. A


Table of Contents

VOLUME TWO:
TABLE OF CONTENTS
Chapter 6: Drum Instruction Programming (DL250-1/DL260 only) .6–1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–2
Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–2
Drum Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–2
Drum Chart Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–3
Output Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–3
Step Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–4
Drum Instruction Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–4
Timer-Only Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–4
Timer and Event Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–5
Event-Only Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–6
Counter Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–6
Last Step Completion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–7
Overview of Drum Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–8
Drum Instruction Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–8
Powerup State of Drum Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–9
Drum Control Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–10
Drum Control Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–10
Self-Resetting Drum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–11
Initializing Drum Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–11
Using Complex Event Step Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–11
Drum Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–12
Timed Drum with Discrete Outputs (DRUM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–12
Event Drum (EDRUM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–14
Handheld Programmer Drum Mnemonics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–16

DL205 PLC User Manual, 4th Edition, Rev. A xi


Table of Contents

Masked Event Drum with Discrete Outputs (MDRMD) . . . . . . . . . . . . . . . . . . . . .6–19


Masked Event Drum with Word Output (MDRMW) . . . . . . . . . . . . . . . . . . . . . . . .6–21

Chapter 7: RLLPLUS Stage Programming . . . . . . . . . . . . . . . . . . . . . . . .7–1


Introduction to Stage Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–2
Overcoming “Stage Fright” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–2
Learning to Draw State Transition Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–3
Introduction to Process States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–3
The Need for State Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–3
A 2–State Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–3
RLL Equivalent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–4
Stage Equivalent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–4
Let’s Compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–5
Initial Stages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–5
What Stage Bits Do . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–6
Stage Instruction Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–6
Using the Stage Jump Instruction for State Transitions . . . . . . . . . . . . . . . . . . . . .7–7
Stage Jump, Set, and Reset Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–7
Stage Program Example: Toggle On/Off Lamp Controller . . . . . . . . . . . . . . . . . . .7–8
A 4–State Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–8
Four Steps to Writing a Stage Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–9
Stage Program Example: A Garage Door Opener . . . . . . . . . . . . . . . . . . . . . . . . .7–10
Garage Door Opener Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–10
Draw the Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–10
Draw the State Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–11
Add Safety Light Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–12
Modify the Block Diagram and State Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–12
Using a Timer Inside a Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–13
Add Emergency Stop Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–14
Exclusive Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–14
Stage Program Design Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–15
Stage Program Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–15
How Instructions Work Inside Stages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–16
Using a Stage as a Supervisory Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–17
Stage Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–17

xii DL205 PLC User Manual, 4th Edition, Rev. A


Table of Contents

Unconditional Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–18


Power Flow Transition Technique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–18
Parallel Processing Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–19
Parallel Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–19
Converging Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–19
Convergence Stages (CV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–19
Convergence Jump (CVJMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–20
Convergence Stage Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–20
Managing Large Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–21
Stage Blocks (BLK, BEND) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–21
Block Call (BCALL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–22
RLLPLUS (Stage) Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–23
Stage (SG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–23
Initial Stage (ISG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–24
Jump (JMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–24
Not Jump (NJMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–24
Converge Stage (CV) and Converge Jump (CVJMP) . . . . . . . . . . . . . . . . . . . . . . . .7–25
Block Call (BCALL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–27
Block (BLK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–27
Block End (BEND) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–27
Stage View in DirectSOFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–28
Questions and Answers about Stage Programming . . . . . . . . . . . . . . . . . . . . . . .7–29

Chapter 8: PID Loop Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–1


DL250-1 and DL260 PID Loop Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–2
Main Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–2
Introduction to PID Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–4
Why use PID Control? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–4
Introducing DL205 PID Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–6
Process Control Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–8
PID Loop Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–9
Position Form of the PID Equation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–9
Reset Windup Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–10
Freeze Bias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–11
Adjusting the Bias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–11

DL205 PLC User Manual, 4th Edition, Rev. A xiii


Table of Contents

Step Bias Proportional to Step Change in SP . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–12


Eliminating Proportional, Integral or Derivative Action . . . . . . . . . . . . . . . . . . . . . .8–12
Velocity Form of the PID Equation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–12
Bumpless Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–13
Loop Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–13
Loop Operating Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–14
Special Loop Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–14
Ten Steps to Successful Process Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–16
PID Loop Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–18
Some Things to Do and Know Before Starting . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–18
PID Error Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–18
Establishing the Loop Table Size and Location . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–18
Loop Table Word Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–20
PID Mode Setting 1 Bit Descriptions (Addr + 00) . . . . . . . . . . . . . . . . . . . . . . . . . .8–21
PID Mode Setting 2 Bit Descriptions (Addr + 01) . . . . . . . . . . . . . . . . . . . . . . . . . .8–22
Mode/Alarm Monitoring Word (Addr + 06) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–23
Ramp/Soak Table Flags (Addr + 33) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–23
Ramp/Soak Table Location (Addr + 34) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–24
Ramp/Soak Table Programming Error Flags (Addr + 35) . . . . . . . . . . . . . . . . . . . .8–24
PV Auto Transfer (Addr + 36) from I/O Module Base/Slot/Channel Option . . . . . .8–25
PV Auto Transfer (Addr + 36) from V-memory Option . . . . . . . . . . . . . . . . . . . . . .8–25
Control Output Auto Transfer (Addr + 37) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–25
Configure the PID Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–26
PID Loop Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–41
Open-Loop Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–41
Manual Tuning Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–42
Alternative Manual Tuning Procedures by Others . . . . . . . . . . . . . . . . . . . . . . . . .8–44
Tuning PID Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–44
Auto Tuning Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–45
Use DirectSOFT Data View with PID View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–49
Open a New Data View Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–49
Open PID View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–50
Using the Special PID Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–52
How to Change Loop Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–52
Operator Panel Control of PID Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–53
PLC Modes Effect on Loop Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–53

xiv DL205 PLC User Manual, 4th Edition, Rev. A


Table of Contents

Loop Mode Override . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–53


PV Analog Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–54
Creating an Analog Filter in Ladder Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–55
Use the DirectSOFT 5 Filter Intelligent Box (IBOX) Instruction . . . . . . . . . . . . . . .8–56
FilterB Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–56
Ramp/Soak Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–57
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–57
Ramp/Soak Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–58
Ramp/Soak Table Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–60
Ramp/Soak Generator Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–60
Ramp/Soak Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–60
Ramp/Soak Profile Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–61
Ramp/Soak Programming Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–61
Testing Your Ramp/Soak Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–61
DirectSOFT Ramp/Soak Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–62
Setup the Profile in PID Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–62
Program the Ramp/Soak Control in Relay Ladder . . . . . . . . . . . . . . . . . . . . . . . . .8–62
Test the Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–63
Cascade Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–64
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–64
Cascaded Loops in the DL205 CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–65
Tuning Cascaded Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–66
Time-Proportioning Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–67
On/Off Control Program Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–68
Feedforward Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–69
Feedforward Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–70
PID Example Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–71
Program Setup for the PID Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–71
Troubleshooting Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–74
Glossary of PID Loop Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–76
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–78

Chapter 9: Maintenance and Troubleshooting . . . . . . . . . . . . . . . . . .9–1


Hardware Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–2

DL205 PLC User Manual, 4th Edition, Rev. A xv


Table of Contents

Standard Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–2


Air Quality Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–2
Low Battery Indicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–2
CPU Battery Replacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–2
Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–3
Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–3
Fatal Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–3
Non-fatal Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–3
Finding Diagnostic Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–4
V-memory Locations Corresponding to Error Codes . . . . . . . . . . . . . . . . . . . . . . . .9–4
Special Relays (SP) Corresponding to Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . .9–5
I/O Module Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–6
Error Message Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–7
System Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–8
Program Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–9
CPU Error Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–10
PWR Indicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–11
Incorrect Base Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–11
Faulty CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–11
Device or Module causing the Power Supply to Shutdown . . . . . . . . . . . . . . . . . .9–12
Power Budget Exceeded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–12
Run Indicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–13
CPU Indicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–13
BATT Indicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–13
Communications Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–13
I/O Module Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–14
Things to Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–14
I/O Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–14
Some Quick Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–15
Testing Output Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–16
Handheld Programmer Keystrokes Used to Test an Output Point . . . . . . . . . . . . . .9–16
Noise Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–17
Electrical Noise Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–17
Reducing Electrical Noise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–17
Machine Startup and Program Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . .9–18

xvi DL205 PLC User Manual, 4th Edition, Rev. A


Table of Contents

Syntax Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–18


Duplicate Reference Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–19
TEST-PGM and TEST-RUN Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–20
Special Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–22
Run Time Edits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–24
Forcing I/O Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–26
Regular Forcing with Direct Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–28
Bit Override Forcing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–29
Bit Override Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–29

Appendix A: Auxiliary Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–1


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–2
What are Auxiliary Functions? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–2
Accessing AUX Functions via DirectSOFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–3
Accessing AUX Functions via the Handheld Programmer . . . . . . . . . . . . . . . . . . . . .A–3
AUX 2* — RLL Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–4
AUX 21-24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–4
AUX 21 Check Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–4
AUX 22 Change Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–4
AUX 23 Clear Ladder Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–4
AUX 24 Clear Ladders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–4
AUX 3* — V-memory Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–5
AUX 31 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–5
AUX 31 Clear V-Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–5
AUX 4* — I/O Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–5
AUX 41-46 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–5
AUX 41 Show I/O Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–5
AUX 42 I/O Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–5
AUX 44 Power-up Configuration Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–5
AUX 45 Select Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–6
AUX 46 to I/O Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–6
AUX 5* — CPU Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–7
AUX 51-5C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–7
AUX 51 Modify Program Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–7
AUX 52 Display/Change Calendar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–7
AUX 53 Display Scan Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–8

DL205 PLC User Manual, 4th Edition, Rev. A xvii


Table of Contents

AUX 54 Initialize Scratchpad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–8


AUX 55 Set Watchdog Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–8
AUX 56 CPU Network Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–8
AUX 57 Set Retentive Ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–9
AUX 58 Test Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–9
AUX 59 Bit Override . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–10
AUX 5B Counter Interface Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–10
AUX 5C Display Error History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–11
AUX 6* — Handheld Programmer Configuration . . . . . . . . . . . . . . . . . . . . . . . . .A–12
AUX 61, 62 and 65 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–12
AUX 61 Show Revision Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–12
AUX 62 Beeper On/Off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–12
AUX 65 Run Self Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–12
AUX 7* - EEPROM Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–12
AUX 71 - 76 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–12
Transferrable Memory Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–13
AUX 71 CPU to HPP EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–13
AUX 72 HPP EEPROM to CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–13
AUX 73 Compare HPP EEPROM to CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–13
AUX 74 HPP EEPROM Blank Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–13
AUX 75 Erase HPP EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–13
AUX 76 Show EEPROM Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–13
AUX 8* — Password Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–14
AUX 81 - 83 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–14
AUX 81 Modify Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–14
AUX 82 Unlock CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–14
AUX 83 Lock CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–14

Appendix B: DL205 Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .B–1

Appendix C: Instruction Execution Times . . . . . . . . . . . . . . . . . . . . . .C–1


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–2
V-Memory Data Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–2
V-Memory Bit Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–2
How to Read the Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–2
Boolean Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–3

xviii DL205 PLC User Manual, 4th Edition, Rev. A


Table of Contents

Comparative Boolean Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–4


Bit of Word Boolean Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–13
Immediate Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–14
Timer, Counter and Shift Register Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . .C–15
Accumulator Data Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–16
Logical Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–18
Math Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–20
Differential Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–23
Bit Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–24
Number Conversion Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–25
Table Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–25
CPU Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–27
Program Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–27
Interrupt Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–28
Network Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–28
Intelligent I/O Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–28
Message Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–29
RLLPLUS Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–29
DRUM Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–29
Clock / Calender Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–30
Modbus Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–30
ASCII Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–30

Appendix D: Special Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–1


DL230 CPU Special Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–2
Startup and Real-Time Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–2
CPU Status Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–2
System Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–2
Accumulator Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–3
Counter Interface Module Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–3
Equal Relays for Multi-step Presets with Up/Down Counter #1 / DL230
(for use with a Counter Interface Module) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–4

DL205 PLC User Manual, 4th Edition, Rev. A xix


Table of Contents

DL240/DL250-1/DL260 CPU Special Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–5


Startup and Real-Time Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–5
CPU Status Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–5
System Monitoring Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–6
Accumulator Status Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–6
Counter Interface Module Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–7
Communications Monitoring Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–8
Equal Relays for Multi-step Presets with Up/Down Counter #1
(for use with a Counter Interface Module) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–9
Equal Relays for Multi-step Presets with Up/Down Counter #2
(for use with a Counter Interface Module) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–10

Appendix E: PLC Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E-1


DL205 PLC Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E-2
Non-volatile V-memory in the DL205 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E-3

Appendix F: DL205 Product Weight Table . . . . . . . . . . . . . . . . . . . . . .F-1


DL205 Product Weight Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .F-2

Appendix G: ASCII Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .G-1


ASCII Conversion Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .G-2

Appendix H: Numbering Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . .H–1


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .H–2
Binary Numbering System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .H–2
Hexadecimal Numbering System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .H–3
Octal Numbering System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .H–4
Binary Coded Decimal (BCD) Numbering System . . . . . . . . . . . . . . . . . . . . . . . . .H–5
Real (Floating Point) Numbering System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .H–5
BCD/Binary/Decimal/Hex/Octal -What is the Difference? . . . . . . . . . . . . . . . . . . .H–6
Data Type Mismatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .H–7
Signed vs. Unsigned Integers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .H–8
AutomationDirect.com Products and Data Types . . . . . . . . . . . . . . . . . . . . . . . . . .H–9

xx DL205 PLC User Manual, 4th Edition, Rev. A


Table of Contents

DirectLOGIC PLCs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .H–9


C-more/C-more Micro-Graphic Panels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .H–9

Appendix I: European Union Directives (CE) . . . . . . . . . . . . . . . . . . . .I-1


European Union (EU) Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I-2
Member Countries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I-2
Applicable Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I-2
Compliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I-2
General Safety . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I-3
Special Installation Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I-4
Other Sources of Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I-4
Basic EMC Installation Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I-4
Enclosures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I-4
AC Mains Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I-5
Suppression and Fusing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I-5
Internal Enclosure Grounding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I-5
Equi–potential Grounding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I-6
Communications and Shielded Cables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I-6
Analog and RS232 Cables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I-7
Shielded Cables within Enclosures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I-7
Analog Modules and RF Interference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I-8
Network Isolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I-8
DC Powered Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I-8
Items Specific to the DL205 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I-9

Index

DL205 PLC User Manual, 4th Edition, Rev. A xxi


Table of Contents

Notes

xxii DL205 PLC User Manual, 4th Edition, Rev. A


CHAPTER
GETTING STARTED
1
In This Chapter...
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–2
Conventions Used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–3
DL205 System Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–4
Programming Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–7
DirectLOGIC™ Part Numbering System . . . . . . . . . . . . . . . . . . . . . .1–8
Quick Start for PLC Validation and Programming . . . . . . . . . . . . . .1–10
Steps to Designing a Successful System . . . . . . . . . . . . . . . . . . . . .1–13
Chapter 1: Getting Started

Introduction
1
The Purpose of this Manual
2 Thank you for purchasing our DL205 family of products. This manual shows you how to
install, program, and maintain the equipment. It also helps you understand how to interface
3 them to other devices in a control system.
This manual contains important information for personnel who will install DL205 PLCs and
components and for the PLC programmer. If you understand PLC systems, our manuals will
4 provide all the information you need to start and keep your system up and running.
Where to Begin
5 If you already understand PLCs please read Chapter 2, “Installation, Wiring, and
Specifications”, and proceed on to other chapters as needed. Keep this manual handy for
6 reference when you have questions. If you are a new DL205 customer, we suggest you read
this manual completely to understand the wide variety of features in the DL205 family of
7 products. We believe you will be pleasantly surprised with how much you can accomplish
with our products.
8 Supplemental Manuals
If you have purchased operator interfaces or DirectSOFT, you will need to supplement this
manual with the manuals that are written for these products.
9
Technical Support
10 We strive to make our manuals the best in the industry. We rely on your feedback to let us know
if we are reaching our goal. If you cannot find the solution to your particular application, or, if
for any reason you need technical assistance, please call us at:
11 770–844–4200
Our technical support group will work with you to answer your questions. They are available
12 Monday through Friday from 9:00 A.M. to 6:00 P.M. Eastern Time. We also encourage you to
visit our web site where you can find technical and non-technical information about our
13 products and our company.
http://www.automationdirect.com
14 If you have a comment, question or suggestion about any of our products, services, or manuals,
please fill out and return the ‘Suggestions’ card that was included with this manual.
A
B
C
D

1–2 DL205 User Manual, 4th Edition, Rev. A


Chapter 1: Getting Started

Conventions Used
When you see the “notepad” icon in the left–hand margin, the paragraph to its immediate 1
right will be a special note.
The word NOTE in boldface will mark the beginning of the text. 2
When you see the “exclamation mark” icon in the left–hand margin, the paragraph to its 3
immediate right will be a warning. This information could prevent injury, loss of property, or
even death (in extreme cases). 4
The word WARNING in boldface will mark the beginning of the text.
5
Key Topics for Each Chapter
The beginning of each chapter will list the key topics Getting Started CHAPTER
6
that can be found in that chapter. 1
In This Chapter...
General Information
.................................................................1-2
Specifications...........................................................................1-4
7
8
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 1–3


Chapter 1: Getting Started

DL205 System Components


1 The DL205 family is a versatile product line that provides a wide variety of features in an
extremely compact package. The CPUs are small, but offer many instructions normally only
2 found in larger, more expensive systems. The modular design also offers more flexibility in the
fast moving industry of control systems. The following is a summary of the major DL205
system components.
3
CPUs
4 There are four feature-enhanced CPUs in this product line, the DL230, DL240, DL250–1
and DL260. All CPUs include built-in communication ports. Each CPU offers a large
amount of program memory, a substantial instruction set and advanced diagnostics. The
5 DL250–1 features drum timers, floating–point math, 4 built-in PID loops with automatic
tuning and 2 bases of local expansion capability.
6 The DL260 features ASCII IN/OUT and extended MODBUS communications, table and
trigonometric instructions, 16 PID loops with autotuning and up to 4 bases of local
7 expansion. Details of these CPU features and more are covered in Chapter 3, CPU
Specifications and Operation.

8 Bases
Four base sizes are available: 3, 4, 6 and 9 slot. The DL205 PLCs use bases that can be
expanded. The part numbers for these bases end with –1. These bases have a connector for
9 local expansion located on the right end of the base. They can serve in local, local expansion
and remote I/O configurations. All bases include a built-in power supply. The bases with the
10 –1 suffix can replace existing bases without a suffix if expansion is required.
I/O Configuration
11 The DL230 and DL240 CPUs can support up to 256 local I/O points. The DL250–1 can
support up to 768 local I/O points with up to two expansion bases. The DL260 can support
12 up to 1280 local I/O points with up to four expansion bases. These points can be assigned as
input or output points. The DL240, DL250–1 and DL260 systems can also be expanded by
adding remote I/O points. The DL250–1 and DL260 provide a built–in master for remote
13 I/O networks. The I/O configurations are explained in Chapter 4, System Design and
Configuration. I/O Modules
14 I/O Modules
The DL205 has some of the most powerful modules in the industry. A complete range of
A discrete modules which support 24 VDC, 110/220 VAC and up to 10A relay outputs (subject
to derating) are offered. The analog modules provide 12 and 16 bit resolution and several
B selections of input and output signal ranges (including bipolar). Several specialty and
communications modules are also available.

C
D

1–4 DL205 User Manual, 4th Edition, Rev. A


Chapter 1: Getting Started

DL205 System Diagrams


The diagram below shows the major components and configurations of the DL205 system.
The next two pages show specific components for building your system.
1
Machine Packaging Elevators Simple Motion Control 2
Control Conveyors
Flexible solutions in one package
Handheld
Programmer
High-speed counting (up to 100 KHz)
Pulse train output (up to 50KHz
3
High–speed Edge timing
DL240
DL260 with H2–CTRIO High Speed I/O Module
4
5
Stepper Motor
6
RS232C Pulse
(max.50ft/16.2m) Output 7
Programming or
Computer Interface 8
Local I/O Expansion Simple programming
through the RLL Program
Drive
Amplifier
9
10
11
Networking
Programming or
Computer Interface DCM
Operator Interface
12
13
Handheld Programmer 14
RS232C
(max.50ft/16.2m)
(max. RS232C
(max.50ft/16.2m)
A
6.5ft / 2m)
DL240 DL250–1 or DL260

DL305
B
C
RS232/422 RS232/422
D
Convertor Convertor

DL205 User Manual, 4th Edition, Rev. A 1–5


Chapter 1: Getting Started

1 Direct LOGIC DL205 Family


2 DC INPUT
8pt 12–24 VDC
16pt 24 VDC AC INPUT
3 32pt 24 VDC
32pt 5–15 VDC
8pt 110 VAC
16pt 110 VAC

4 DC OUTPUT
4pt 12–24 VDC
AC OUTPUT
8pt 18–220 VAC
RELAY OUTPUT
4pt 5–30 VDC
5–240VAC
8pt 12–24 VDC 12pt 18–110 VAC
2 commons 8pt 5–30 VDC
16pt 12–24 VDC
5 2 Commons
32pt 12–24 VDC
5 –240 VAC
12pt 5–30VDC
5–240VAC
4 Commons (isolated pts.module
6 available)

7
8
9
10
11
CPUs
12 DL230 – 2.0K Built-in EEPROM Memory
DL240 – 2.5K Built-in EEPROM Memory
DL250–1 – 7.6K Built-in Flash Memory

13 DL260 – 15.8K Built-in Flash Memory


BASES
3 Slot Base, 110/220VAC, 24VDC
4 Slot Base, 110/220VAC, 24VDC
14 6 Slot Base, 110/220VAC, 24VDC, 125 VDC
9 Slot Base, 110/220VAC, 24VDC, 125 VDC

A
B SPECIALTY MODULES
High Speed Counters
CPU Slot Controllers
PROGRAMMING ANALOG
4CH INPUT
Handheld Programmer
Remote Masters with Built-in RLL PLUS 8CH INPUT
C Remote Slaves
Communications
Temperature Input
Direct SOFT Programming
for Windows
2CH OUTPUT
8CH OUTPUT
4 IN/2 OUT
Filler Module 8 IN/4 OUT
D

1–6 DL205 User Manual, 4th Edition, Rev. A


Chapter 1: Getting Started

Programming Methods
There are two programming methods available for the DL205 CPUs, RLL (Relay Ladder 1
Logic) and RLLPLUS (Stage Programming). Both the DirectSOFT5 programming package and
the handheld programmer support RLL and Stage. 2
DirectSOFT Programming for Windows.
The DL205 can be programmed with one of the most advanced programming packages in 3
the industry ––DirectSOFT5. DirectSOFT5 is a Windows-based software package that
supports many Windows features you already know, such as cut and paste between
applications, point and click editing, viewing and editing multiple application programs at
4
the same time, etc. DirectSOFT5 universally supports the DirectLOGIC CPU families. This
means you can use the same DirectSOFT5 package to program DL05, DL06, DL105, 5
DL205, DL305, DL405 or any new CPUs we may add to our product line. There is a
separate manual that discusses the DirectSOFT5 programming software which is included
with your software package.
6
Handheld Programmer
All DL205 CPUs have a built-in programming port for use with the handheld programmer
7
(D2–HPP). The handheld programmer can be used to create, modify and debug your
application program. A separate manual that discusses the DL205 Handheld Programmer is 8
available.
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 1–7


Chapter 1: Getting Started

DirectLOGIC™ Part Numbering System


1 As you examine this manual, you will notice there are many different products available.
Sometimes it is difficult to remember the specifications for any given product. However, if
2 you take a few minutes to understand the numbering system, it may save you some time and
confusion. The charts below show how the part numbering systems work for each product
category. Part numbers for accessory items such as cables, batteries, memory cartridges, etc.,
3 are typically an abbreviation of the description for the item.

4 CPUs
Specialty CPUs
DL05/06 Product family D0/F0 D4– 440DC –1
5 DL105 Product family
DL205 Product family
D1/F1
D2/F2
DL305 Product family D3/F3

6 DL405 Product family D4/F4

Class of CPU / Abbreviation 230...,330...,430...

7 Denotes a differentiation between


similar modules
–1, –2, –3, –4

D3– 05B DC

8 Bases
DL205 Product family D2/F2
DL305 Product family
9 DL405 Product family
D3/F3
D4/F4

Number of slots ##B

10 Type of Base DC or empty

D4– 16 N D 2 F

11 Discrete I/O
D3– 16 N D 2 –1

DL05/06 Product family D0/F0


12 DL205 Product family
DL305 Product family
D2/F2
D3/F3
DL405 Product family D4/F4

13 Number of points 04/08/12/16/32/64


Input
p N

14 Output
p
Combination
T
C
AC A
A DC
Either
D
E

B Relay
Current Sinking
g
R
1
Current Sourcing
g 2

C Current Sinking/Sourcing
High
g Current
3
H
Isolation S
D Fast I/O
Denotes a differentiation between
F
–1, –2, –3, –4
similar modules

1–8 DL205 User Manual, 4th Edition, Rev. A


Chapter 1: Getting Started

–8
1
2
Analog I/O
DL05/06 Product family D0/F0
F3– 04 AD S –1
3
DL205 Product
P d t family
f il D2/F2
DL305 Product family
DL405 Product family
D3/F3
D4/F4
4
Number of channels 02/04/08/16 Alternate example of Analog I/O
Input
p (Analog
Output
( g to Digital)
p (Digital
( g
g )
to Analog)
g)
AD
DA
using abbreviations
F3– 08 THM –n
5
Combination
Isolated
AND
S
note: –n indicates thermocouple type
such as: J, K, T, R, S or E 6
Denotes a differentiation between –1, –2, –3, –4
Similar modules

D4– DCM DCM (Data Communication Module)


7
Communication and Networking
D3– HSC HSC (High Speed Counter)
Special I/O and Devices
Programming
D3– HPP HPP (RLL PLUS Handheld Programmer) 8
DL205 Product family D2/F2
DL305 Product family D3/F3 9
DL405 Product family D4/F4
Name Abbreviation see example
10
F4– CP 128 – R
CoProcessors and ASCII BASIC Modules
DL205 Product familyy
DL305 Product familyy
D2/F2
D3/F3
11
DL405 Product family
CoProcessor
D4/F4
CP 12
ASCII BASIC AB
64K memoryy
128K memoryy
64
128
13
512K memory 512
Radio modem
Telephone modem
R
T
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 1–9


Chapter 1: Getting Started

Quick Start for PLC Validation and Programming


1 If you have experience using PLCs, or want to setup a quick example, this section is what you
want to use. This example is not intended to explain everything needed to start-up your
system. It is only intended to provide a general picture of what is needed to get your system
2 powered-up.
Step 1: Unpack the DL205 Equipment
3 Unpack the DL205 equipment and verify you have the parts necessary to build this
demonstration system. The minimum parts needed are as follows:
4 • Base
• CPU
5 • A discrete input module such as a D2–16ND3–2 DC or a F2–08SIM input simulator module
• A discrete output module such as a D2–16TD1–2 DC
6 • *Power cord
• *Hook up wire
7 • *One or more toggle switches (if not using the input simulator module)
• *A screwdriver, blade or Phillips type
8 *These items are not supplied with your PLC.
You will need at least one of the following programming options:
9 • DirectSOFT5 Programming Software, DirectSOFT5 Manual, and a programming cable
(connects the CPU to a personal computer), or
10 • D2–HPP Handheld Programmer and the Handheld Programmer Manual.

11
12
13
14
A
B
C
D

1–10 DL205 User Manual, 4th Edition, Rev. A


Chapter 1: Getting Started

Step 2: Install the CPU and I/O Modules


Insert the CPU and I/O into the base. The CPU
must be inserted into the first slot of the base
(next to the power supply).
1
• Each unit has a plastic retaining clip at the top and
bottom. Slide the retainer clips to the out position
2
before installing the module.
• With the unit square to the base, slide it in using
Retaining Clips
3
the upper and lower guides. CPU must reside in first slot!
• Gently push the unit back until it is firmly seated in the backplane. 4
• Secure the unit to the base by pushing in the retainer clips.
Placement of discrete, analog and relay modules are not critical and may go in any slot in any 5
base, however for this example, install the output module in the slot next to the CPU and the
input module in the next. Limiting factors for other types of modules are discussed in
Chapter 4, System Design and Configuration. You must also make sure you do not exceed
6
the power budget for each base in your system configuration. Power budgeting is also
discussed in Chapter 4. 7
Step 3: Remove Terminal Strip Access Cover
Remove the terminal strip cover. It is a small 8
strip of clear plastic that is located on the base
power supply.
Lift off
9
Step 4: Add I/O Simulation
To finish this quick start exercise or study other examples in this manual, you will need to 10
install an input simulator module (or wire an input switch as shown below), and add an
output module. Using an input simulator is the quickest way to get physical inputs for
checking out the system or a new program. To monitor output status, any discrete output
11
module will work.
12
13
14
A
Toggle switch
Output Input
Module
B
Module

Wire the switches or other field devices prior to applying power to the system to ensure a C
point is not accidentally turned on during the wiring operation. This example uses DC input
and output modules. Wire the input module, X0, to the toggle switch and 24VDC auxiliary
power supply on the CPU terminal strip as shown. Chapter 2, Installation, Wiring, and
D
Specifications provides a list of I/O wiring guidelines.

DL205 User Manual, 4th Edition, Rev. A 1–11


Chapter 1: Getting Started

Step 5: Connect the Power Wiring


1 Connect the wires as shown. Observe all precautions
stated earlier in this manual. For details on wiring see
Line

Neutral
Chapter 2 Installation, Wiring, and Specifications.
2 When the wiring is complete, replace the CPU and
Ground

module covers. Do not apply power at this time.


3 Step 6: Connect the Programmer
Either connect the programming cable connected to
4 a computer loaded with DirectSOFT Programming
Software or a D2-HPP Handheld Programmer
5 (comes with programming cable) to the top port of
the CPU.

6 Step 7: Switch On the System Power


Apply power to the system and ensure the PWR
indicator on the CPU is on. If not, remove power
7 from the system, check all wiring and refer to the troubleshooting section in Chapter 9 for
assistance.
8 Step 8: Enter the Program
Slide the switch on the CPU to the STOP position (250–1 / 260 only) and then back to the
9 TERM position. This puts the CPU in the program mode and allows access to the CPU
program. Edit a DirectSOFT program using the relay ladder diagram below and load it into
10 the PLC. If using an HPP, the PGM indicator should be illuminated on the HPP. Enter the
following keystrokes on the HPP:

11 NOTE: It is not necessary for you to configure the I/O for this system since the DL205 CPUs automatically
examine any installed modules and establish the correct configuration.

12 X0 Y0
Handheld Program Keystrokes

13 $
STR
B
1
ENT

GX C ENT
14 OUT 2 END

A After entering the example program put the CPU in the RUN mode with DirectSOFT or
after entering the program using the HPP, slide the switch from the TERM position to the
B RUN position and back to TERM. The RUN indicator on the CPU will come on indicating
the CPU has entered the run mode. If not repeat Step 8 insuring the program is entered
C properly or refer to the troubleshooting guide in chapter 9.
During Run mode operation, the output status indicator “0” on the output module should
D reflect the switch status. When the switch is on the output should be on.

1–12 DL205 User Manual, 4th Edition, Rev. A


Chapter 1: Getting Started

Steps to Designing a Successful System


1
Step 1: Review the Installation Guidelines
Always make safety your first priority in any system
application. Chapter 2 provides several guidelines that will
2
help provide a safer, more reliable system. This chapter also
includes wiring guidelines for the various system 3
components.
4
Step 2: Understand the CPU Setup Procedures
The CPU is the heart of your automation system and is
5
explained in Chapter 3. Make sure you take time to
understand the various features and setup requirements. 6
Step 3: Understand the I/O System 7
Configurations
It is important to understand how your local 8
16pt 8pt 8pt
I/O system can be configured. It is also
important to understand how the system
Input

X0
Input

X20
Output

Y0
9
Power Budget is calculated. This can affect - - -
X17
your I/O placement and/or configuration
options. See Chapter 4 for more information.
X27 Y7
10
11
Step 4: Determine the I/O Module Specifications and
Wiring Characteristics 12
There are many different I/O modules available with the DL205
system. Chapter 2 provides the specifications and wiring diagrams
for the discrete I/O modules.
13
14
NOTE: Analog and specialty modules have their own manuals and are not included in this manual. A
Step 5: Understand the System Operation Power up B
Before you begin to enter a program, it is very helpful to
understand how the DL205 system processes information.
This involves not only program execution steps, but also
Initialize hardware
C
involves the various modes of operation and memory layout Check I/O module
characteristics. See Chapter 3 for more information. config. and verify D

DL205 User Manual, 4th Edition, Rev. A 1–13


Chapter 1: Getting Started

Step 6: Review the Programming Concepts


The DL205 provides four main approaches to solving the application program, including the
1 PID loop task depicted in the next figure.
• RLL diagram style programming is the best tool for solving boolean logic and general CPU register/
2 accumulator manipulation. It includes dozens of instructions, which will augment drums, stages
and loops.
• The DL250-1 and DL260 have four timer/event drum types, each with up to 16 steps. They offer
3 both time and/or event-based step transitions. Drums are best for a repetitive process based on a
single series of steps.
4 • Stage programming, called RLLPLUS, is based on state-transition diagrams. Stages divide the ladder
program into sections which correspond to the states in a flow chart of your process.

5 • The DL260 PID loop operation uses setup tables to configure 16 loops. The DL250-1 PID loop
operation uses setup to configure 4 loops. Features include: auto tuning, alarms, SP ramp/soak
generation and more.
6 Standard RLL Programming
(see Chapter 5)
Timer/Event Drum Sequencer
(see Chapter 6)

7 X0
LDD
V1076

8 CMPD
K309482
SP62 Y0

9 OUT

10 Stage Programming
(see Chapter 7)
PID Loop Operation
(see Chapter 8)
Push–UP RAISE

11 SP
+ 욾씵 PID Process
DOWN LIGHT UP –
12 Push–
PV
LOWER
DOWN

13
Step 7: Choose the Instructions TMR T1
14 Once you have installed the system and understand K30 CNT CT3
K10
the theory of operation, you can choose from one
A of the most powerful instruction sets available.
Step 8: Understand the Maintenance and
B Troubleshooting Procedures
Equipment failures can occur at any time. Switches
C fail, batteries need to be replaced, etc. In most
cases, the majority of the troubleshooting and
maintenance time is spent trying to locate the
D problem. The DL205 system has many built-in
features that help you quickly identify problems.
Refer to Chapter 9 for diagnostics.

1–14 DL205 User Manual, 4th Edition, Rev. A


INSTALLATION, WIRING CHAPTER
AND SPECIFICATIONS
2
In This Chapter:
Safety Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–2
Mounting Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–5
Installing DL205 Bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–10
Installing Components in the Base . . . . . . . . . . . . . . . . . . . . . . . . .2–12
Base Wiring Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–13
I/O Wiring Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–14
I/O Modules Position, Wiring, and Specification . . . . . . . . . . . . . .2–25
Glossary of Specification Terms . . . . . . . . . . . . . . . . . . . . . . . . . . .2–50
Chapter 2: Installation, Wiring and Specifications

Safety Guidelines
1
NOTE: Products with CE marks perform their required functions safely and adhere to relevant standards as
2 specified by CE directives, provided they are used according to their intended purpose and that the
instructions in this manual are adhered to. The protection provided by the equipment may be impaired if
this equipment is used in a manner not specified in this manual. A listing of our international affiliates is
3 available on our Web site: http://www.automationdirect.com

4 WARNING: Providing a safe operating environment for personnel and equipment is your responsibility
and should be your primary goal during system planning and installation. Automation systems can fail
and may result in situations that can cause serious injury to personnel and/or damage equipment. Do
5 not rely on the automation system alone to provide a safe operating environment. Sufficient emergency
circuits should be provided to stop either partially or totally the operation of the PLC or the controlled
machine or process. These circuits should be routed outside the PLC in the event of controller failure,
6 so that independent and rapid shutdown are available. Devices, such as “mushroom” switches or end
of travel limit switches, should operate motor starter, solenoids, or other devices without being
7 processed by the PLC. These emergency circuits should be designed using simple logic with a
minimum number of highly reliable electromechanical components. Every automation application is
different, so there may be special requirements for your particular application. Make sure all national,
8 state, and local government requirements are followed for the proper installation and use of your
equipment.

9 Plan for Safety


The best way to provide a safe operating environment is to make personnel and equipment
10 safety part of the planning process. You should examine every aspect of the system to
determine which areas are critical to operator or machine safety.
11 If you are not familiar with PLC system installation practices, or your company does not have
established installation guidelines, you should obtain additional information from the
12 following sources.
• NEMA — The National Electrical Manufacturers Association, located in Washington,
13 D.C., publishes many different documents that discuss standards for industrial control
systems. You can order these publications directly from NEMA. Some of these include:
ICS 1, General Standards for Industrial Control and Systems
14 ICS 3, Industrial Systems
ICS 6, Enclosures for Industrial Control Systems
A • NEC — The National Electrical Code provides regulations concerning the installation and
use of various types of electrical equipment. Copies of the NEC Handbook can often be
B obtained from your local electrical equipment distributor or your local library.
• Local and State Agencies — many local governments and state governments have additional
C requirements above and beyond those described in the NEC Handbook. Check with your
local Electrical Inspector or Fire Marshall office for information.
D

2–2 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

Three Levels of Protection


The publications mentioned provide many ideas and requirements for system safety. At a
minimum, you should follow these regulations. Also, you should use the following
1
techniques, which provide three levels of system control.
• Emergency stop switch for disconnecting system power
2
• Mechanical disconnect for output module power
• Orderly system shutdown sequence in the PLC control program
3
4
Emergency Stops
It is recommended that emergency stop circuits be incorporated into the system for every
machine controlled by a PLC. For maximum safety in a PLC system, these circuits must not
5
be wired into the controller, but should be hardwired external to the PLC. The emergency
stop switches should be easily accessed by the operator and are generally wired into a master 6
control relay (MCR) or a safety control relay (SCR) that will remove power from the PLC
I/O system in an emergency. 7
MCRs and SCRs provide a convenient means for removing power from the I/O system
during an emergency situation. By de-energizing an MCR (or SCR) coil, power to the input
(optional) and output devices is removed. This event occurs when any emergency stop switch
8
opens. However, the PLC continues to receive power and operate even though all its inputs
and outputs are disabled. 9
The MCR circuit could be extended by placing a PLC fault relay (closed during normal PLC
operation) in series with any other emergency stop conditions. This would cause the MCR 10
circuit to drop the PLC I/O power in case of a PLC failure (memory error, I/O
communications error, etc.). 11
Use E-Stop and Master Relay

Guard Limit Switch Emergency


E STOP Power On Guard
Limit
Master
Relay 12
Stop

Master Relay Contacts 13


14
A
Output
Master Module Saw
Relay
Contacts
Arbor
B
To disconnect output
module power
C
D

DL205 User Manual, 4th Edition, Rev. A 2–3


Chapter 2: Installation, Wiring and Specifications

Emergency Power Disconnect


1 A properly rated emergency power disconnect should be used to power the PLC controlled
system as a means of removing the power from the entire control system. It may be necessary
to install a capacitor across the disconnect to protect against a condition known as “outrush”.
2 This condition occurs when the output Triacs are turned off by powering off the disconnect,
thus causing the energy stored in the inductive loads to seek the shortest distance to ground,
3 which is often through the Triacs.
After an emergency shutdown or any other type of power interruption, there may be
4 requirements that must be met before the PLC control program can be restarted. For
example, there may be specific register values that must be established (or maintained from
the state prior to the shutdown) before operations can resume. In this case, you may want to
5 use retentive memory locations, or include constants in the control program to insure a
known starting point.
6 Orderly System Shutdown
Ideally, the first level of fault detection is the PLC control
7 program, which can identify machine problems. Certain
shutdown sequences should be performed. The types of
8 problems are usually things such as jammed parts, etc.
that do not pose a risk of personal injury or equipment
damage.
9 Jam
Turn off
Saw
Detect
WARNING: The control program must not be the only form of
10 protection for any problems that may result in a risk of personal
RST

injury or equipment damage. RST

11 Class 1, Division 2, Approval


Retract
Arm

12 This equipment is suitable for use in Class 1, Division 2, Zone 2, groups A, B, C and D or
non-hazardous locations only.

13 WARNING: Explosion Hazard! Substitution of components may impair suitability for Class 1, Division 2,
Zone 2.
14
WARNING: Explosion Hazard - Do not disconnect equipment unless power has been switched off or the
A area is known to be non-hazardous.

WARNING: All DL205 products used with connector accessories must use R/C (ECBT2) mating plugs. All
B mating plugs must have suitable ratings for the devices.

C
D

2–4 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

Mounting Guidelines
Before installing the PLC system you will need to know the dimensions of the components 1
considered. The diagrams on the following pages provide the component dimensions to use
in defining your enclosure specifications. Remember to leave room for potential expansion. 2
NOTE: If you are using other components in your system, refer to the appropriate manual to determine
how those units can affect mounting dimensions. 3
Base Dimensions
The following information shows the proper mounting dimensions. The height dimension is
4
the same for all bases. The depth varies depending on your choice of I/O module. The length
varies as the number of slots increase. Make sure you have followed the installation guidelines 5
for proper spacing.
Mounting depths with: A
6
D2–DSCBL–1
on port 2
5.85”
(148mm) C 7
32pt. ZIPLink cable or
base exp. unit cable
4.45”
(113mm) 3.54” 2.99”
8
(90mm) (76mm)

12 or 16pt I/O
3.62”
(92mm)
9
4 or 8pt. I/O
2.95”
(75mm)
B 10
with D2–EM Expansion Unit 11
D
12
DIN Rail slot. Use rail conforming to 13
DIN EN 50022.
14
Base
A
(Base Total Width)
B
(Mounting Hole)
C D
(Component Width) (Width with Exp. Unit)
A
Inches Millimeters Inches Millimeters Inches Millimeters Inches Millimeters
3-slot 6.77” 172mm 6.41” 163mm 5.8” 148mm 7.24” 184mm
B
4-slot 7.99” 203mm 7.63” 194mm 7.04” 179mm 8.46” 215mm
6-slot 10.43” 265mm 10.07” 256mm 9.48” 241mm 10.90” 277mm C
9-slot 14.09” 358mm 13.74” 349mm 13.14” 334mm 14.56” 370mm

DL205 User Manual, 4th Edition, Rev. A 2–5


Chapter 2: Installation, Wiring and Specifications

Panel Mounting and Layout


1 It is important to design your panel properly to help ensure the DL205 products operate
within their environmental and electrical limits. The system installation should comply with
all appropriate electrical codes and standards. It is important the system also conforms to the
2 operating standards for the application to insure proper performance. The diagrams below
reference the items in the following list.
3 OK
4
5 Airflow

6 1. Mount the bases horizontally to provide proper ventilation.


2. If you place more than one base in a cabinet, there should be a minimum of 7.2” (183mm)
7 between bases.
3. Provide a minimum clearance of 2” (50mm) between the base and all sides of the cabinet. There
should also be at least 1.2” (30mm) of clearance between the base and any wiring ducts.
8 4. There must be a minimum of 2” (50mm) clearance between the panel door and the nearest DL205
component.
9 NOTE: The cabinet configuration below is not suitable for EU installations.
Refer to Appendix I European Union Directives.
10 Temperature
Probe

11
12 2”
50mm
min.

13 2”
50mm
min.
DL205 CPU Base

2”
50mm
Power
14 Source
min.

A 2”
50mm
min.
Panel
B
BUS Bar

C Panel Ground Ground Braid


Panel or
Single Point
Terminal Ground
Earth Ground Copper Lugs
D Star Washers Note: there is a minimum of 2” (50mm)
clearance between the panel door
or any devices mounted in the panel door
and the nearest DL205 component
Star Washers

2–6 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

5. The ground terminal on the DL205 base must be connected to a single point ground. Use copper
stranded wire to achieve a low impedance. Copper eye lugs should be crimped and soldered to the
ends of the stranded wire to ensure good surface contact. Remove anodized finishes and use copper 1
lugs and star washers at termination points. A general rule is to achieve a 0.1 ohm of DC resistance
between the DL205 base and the single point ground.
6. There must be a single point ground (i.e. copper bus bar) for all devices in the panel requiring an
2
earth ground return. The single point of ground must be connected to the panel ground
termination. The panel ground termination must be connected to earth ground. For this 3
connection you should use #12 AWG stranded copper wire as a minimum. Minimum wire sizes,
color coding, and general safety practices should comply with appropriate electrical codes and
standards for your region. A good common ground reference (Earth ground) is essential for proper 4
operation of the DL205. There are several methods of providing an adequate common ground
reference, including: 5
a) Installing a ground rod as close to the panel as possible.
b) Connection to incoming power system ground. 6
7. Properly evaluate any installations where the ambient temperature may approach the lower or
upper limits of the specifications. Place a temperature probe in the panel, close the door and
operate the system until the ambient temperature has stabilized. If the ambient temperature is not 7
within the operating specification for the DL205 system, measures such as installing a
cooling/heating source must be taken to get the ambient temperature within the DL205 operating
specifications.
8
8. Device mounting bolts and ground braid termination bolts should be #10 copper bolts or
equivalent. Tapped holes instead of nut–bolt arrangements should be used whenever possible. To 9
ensure good contact on termination areas impediments such as paint, coating or corrosion should
be removed in the area of contact.
9. The DL205 system is designed to be powered by 110/220 VAC, 24 VDC, or 125 VDC normally
10
available throughout an industrial environment. Electrical power in some areas where the PLCs are
installed is not always stable and storms can cause power surges. Due to this, powerline filters are 11
recommended for protecting the DL205 PLCs from power surges and EMI/RFI noise. The
Automation Powerline Filter, for use with 120 VAC and 240 VAC, 1–5 Amps, is an excellent
choice (can be located at www.automationdirect.com), however, you can use a filter of your choice.
12
These units install easily between the power source and the PLC.
Enclosures 13
Your selection of a proper enclosure is important to ensure safe and proper operation of your
DL205 system. Applications of DL205 systems vary and may require additional features. The 14
minimum considerations for enclosures include:
• Conformance to electrical standards A
• Protection from the elements in an industrial environment
• Common ground reference B
• Maintenance of specified ambient temperature
• Access to equipment C
• Security or restricted access
• Sufficient space for proper installation and maintenance of equipment D

DL205 User Manual, 4th Edition, Rev. A 2–7


Chapter 2: Installation, Wiring and Specifications

Environmental Specifications
1 The following table lists the environmental specifications that generally apply to the DL205
system (CPU, Bases, I/O Modules). The ranges that vary for the Handheld Programmer are
noted at the bottom of this chart. I/O module operation may fluctuate depending on the
2 ambient temperature and your application. Please refer to the appropriate I/O module
specifications for the temperature derating curves applying to specific modules.
3 Specification Rating
Storage temperature –4° F to 158° F (–20° C to 70° C)
4 Ambient operating temperature* 32° F to 131° F (0° C to 55° C)
Ambient humidity** 30% – 95% relative humidity (non–condensing)
5 Vibration resistance MIL STD 810C, Method 514.2
Shock resistance MIL STD 810C, Method 516.2

6 Noise immunity
Atmosphere
NEMA (ICS3–304)
No corrosive gases

7 * Operating temperature for the Handheld Programmer and the DV-1000 is 32° to 122° F (0° to 50° C) Storage temperature
for the Handheld Programmer and the DV-1000 is - 4° to 158° F (- 20° to 70° C).
** Equipment will operate below 30% humidity. However, static electricity problems occur much more frequently at lower
8 humidity levels. Make sure you take adequate precautions when you touch the equipment. Consider using ground
straps, anti-static floor coverings, etc., if you use the equipment in low humidity environments.

9 Power
The power source must be capable of supplying voltage and current complying with the base
power supply specifications.
10
Specification AC Powered Bases 24 VDC Powered Bases 125 VDC Powered Bases
11 Part Numbers
D2–03B–1,
D2–04B–1,
D2–03BDC1–1,
D2–04BDC1–1, D2–06BDC2–1,
D2–06B–1 D2–06BDC1–1, D2–09BDC2–1
12 Input Voltage Range
D2–09B–1 D2–09BDC1–1
100–240 VAC (+10%/ –15%) 10.2 – 28.8VDC (24VDC) with 104–240 VDC
50/60 Hz less than 10% ripple +10% –15%
13 Maximum Inrush Current
Maximum Power
30A
80VA
10A
25W
20A
30W
Voltage Withstand (dielectric) 1 minute @ 1500 VAC between primary, secondary, and field ground
14 Insulation Resistance > 10 MΩ at 500 VDC
20–28 VDC, less than 1V p-p 20–28 VDC, less than 1V p-p
Auxiliary 24 VDC Output None
A Fusing (internal to base power
300mA max.
non–replaceable 2A @ 250V non–replaceable 3.15A @
300mA max.
non–replaceable 2A @ 250V
slow blow fuse; external 250V slow blow fuse; external slow blow fuse; external fusing
supply)
B fusing recommended fusing recommended recommended

C
D

2–8 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

Marine Use
American Bureau of Shipping (ABS) certification requires flame-retarding insulation as per
4-8-3/5.3.6(a). ABS will accept Navy low smoke cables, cable qualified to NEC “Plenum
1
rated” (fire resistant level 4), or other similar flammability resistant rated cables. Use cable
specifications for your system that meet a recognized flame retardant standard (i.e. UL, IEEE, 2
etc.), including evidence of cable test certification (i.e. tests certificate, UL file number, etc.).
NOTE: Wiring needs to be “low smoke” per the above paragraph. Teflon coated wire is also recommended.
3
4
Agency Approvals
Some applications require agency approvals. Typical agency approvals which your application
may require are:
5
• UL (Underwriters’ Laboratories, Inc.)
• CSA (Canadian Standards Association)
6
• FM (Factory Mutual Research Corporation)
• CUL (Canadian Underwriters’ Laboratories, Inc.) 7
24 VDC Power Bases
Follow these additional installation guidelines when installing D2-03BDC1-1, D2-04BDC1- 8
1, D2-06BDC1-1 and D2-09BDC1-1 bases:
• Install these bases in compliance with the enclosure, mounting, spacing, and segregation
requirements of the ultimate application.
9
• These bases must be used within their marked ratings.
• These bases are intended to be installed within an enclosure rated at least IP54.
10
• Provesions should be made to prevent the rated voltage being exceeded by transient disturbances of
more than 40%.
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 2–9


Chapter 2: Installation, Wiring and Specifications

Installing DL205 Bases


1
Choosing the Base Type
2 The DL205 system offers four different sizes of bases and three different power supply
options.
3 The following diagram shows an example of a 6-slot base.

4
5
6
7
Power Wiring CPU Slot I/O Slots
8 Connections

9 Your choice of base depends on three things:


• Number of I/O modules required
10 • Input power requirement (AC or DC power)
• Available power budget
11 Mounting the Base
All I/O configurations of the DL205 may use any of the base configurations. The bases are
12 secured to the equipment panel or mounting location using four M4 screws in the corner tabs
of the base. The full mounting dimensions are given in the previous section on Mounting
13 Guidelines.

14
A Mounting Tabs

B
C
D WARNING: To minimize the risk of electrical shock, personal injury, or equipment damage, always
disconnect the system power before installing or removing any system component.

2–10 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

Using Mounting Rails


The DL205 bases can also be secured to the cabinet by using mounting rails. You should use
rails that conform to DIN EN standard 50 022. Refer to our catalog for a complete line of
1
DIN rail, DINnectors and DIN rail mounted apparatus. These rails are approximately 35mm
high, with a depth of 7.5mm. If you mount the base on a rail, you should also consider using 2
end brackets on each end of the rail. The end brackets help keep the base from sliding
horizontally along the rail. This helps minimize the possibility of accidentally pulling the
wiring loose.
3
If you examine the bottom of the base, you’ll notice small retaining clips. To secure the base
to a DIN rail, place the base onto the rail and gently push up on the retaining clips. The clips
4
lock the base onto the rail.
To remove the base, pull down on the retaining clips, lift up on the base slightly, and pull it 5
away from the rail.
6
7
DIN Rail Dimensions 8
7.5mm
9
10
11
35 mm 12
13
14
Retaining Clips A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 2–11


Chapter 2: Installation, Wiring and Specifications

Installing Components in the Base


1 To insert components into the base: first slide the module retaining clips to the out position
and align the PC board(s) of the module with the grooves on the top and bottom of the base.
2 Push the module straight into the base until it is firmly seated in the backplane connector.
Once the module is inserted into the base, push in the retaining clips to firmly secure the
3 module to the base.

4
5
6
7
8
9
10 CPU must be positioned in
the first slot of the base Align module PC board to
11 slots in base and slide in
Push the retaining
12 clips in to secure the module
to the DL205 base
13
WARNING: Minimize the risk of electrical shock, personal injury, or equipment damage. Always
14 disconnect the system power before installing or removing any system component.

A
B
C
D

2–12 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

Base Wiring Guidelines


1
Base Wiring 110/220 VAC Base T erminal Strip
The diagrams show the terminal 2
connections located on the power supply
of the DL205 bases. The base terminals
can accept up to 16 AWG. You may be
85 – 264 VAC
3
able to use larger wiring depending on
the type of wire used, but 16 AWG is the
G
LG
4
recommended size. Do not overtighten
the connector screws; the recommended
torque value is 7.81 ld-in (0.882 N•m). + 5
24 VDC OUT, 0.3A
6
7
NOTE: You can connect either a 115 VAC or 220 VAC supply to the AC terminals. Special wiring or jumpers
are not required as with some of the other DirectLOGIC. products. 8
12/24 VDC Base Terminal Strip 125 VDC Base Terminal Strip
9
+ + 10
12 – 24 VDC 115 – 264 VDC
– – 11
G G

LG LG 12
+
24 VDC OUT, 0.3A
13

14
WARNING: Once the power wiring is connected, install the plastic protective cover. When the cover is
removed there is a risk of electrical shock if you accidentally touch the wiring or wiring terminals.
A
B
C
D

DL205 User Manual, 4th Edition 2–13


Chapter 2: Installation, Wiring and Specifications

I/O Wiring Strategies


1 The DL205 PLC system is very flexible and will work in many different wiring
configurations. By studying this section before actual installation, you can probably find the
2 best wiring strategy for your application. This will help to lower system cost, wiring errors,
and avoid safety problems.
3 PLC Isolation Boundaries
PLC circuitry is divided into three main regions separated by isolation boundaries, shown in
4 the drawing below. Electrical isolation provides safety, so that a fault in one area does not
damage another. A powerline filter will provide isolation between the power source and the
power supply. A transformer in the power supply provides magnetic isolation between the
5 primary and secondary sides. Opto-couplers provide optical isolation in Input and Output
circuits. This isolates logic circuitry from the field side, where factory machinery connects.
6 Note the discrete inputs are isolated from the discrete outputs, because each is isolated from
the logic side. Isolation boundaries protect the operator interface (and the operator) from
power input faults or field wiring faults. When wiring a PLC, it is extremely important to
7 avoid making external connections that connect logic side circuits to any other.

8 Primary Side Secondary, or


Logic side
Field Side

9 Power
Input
PLC

Main
(backplane) Input
Module
Inputs

Filter Power CPU


10 Supply (backplane) Output
Module
Outputs

11 Isolation
Boundary
Programming Device,
Operator Interface, or Network
Isolation
Boundary

12 In addition to the basic circuits covered above, AC-powered and 125VDC bases include an
auxiliary +24VDC power supply with its own isolation boundary. Since the supply output is
13 isolated from the other three circuits, it can power input and/or output circuits!

14 Primary Side
DL205
PLC Secondary, or
Logic side
Power Main

A Input Filter Power


Supply Internal
CPU Backplane

B Auxiliary
+24VDC Out +24VDC Comm. Input Module Output Module
C Supply

D To Programming
Device, Operator
Inputs Commons Outputs Commons

Field Side Supply for


Interface, Network Output Circuit

2–14 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

Powering I/O Circuits with the Auxiliary Supply


In some cases, using the built-in auxiliary +24VDC supply can result in a cost savings for
your control system. It can power combined loads up to 300mA. Be careful not to exceed the
1
current rating of the supply. If you are the system designer for your application, you may be
able to select and design in field devices which can use the +24VDC auxiliary supply. 2
All AC powered and 125VDC DL205 bases feature the internal auxiliary supply. If input
devices AND output loads need +24VDC power, the auxiliary supply may be able to power 3
both circuits as shown in the following diagram.

AC Power or 125VDC Bases


4
Power Input
DL205 PLC
5
Auxiliary
+24VDC
Input Module Output Module 6
Supply Inputs Com. Outputs Com.
7
+ –

Loads
8
9
The 12/24VDC powered DL205 bases are designed for application environments in which 10
low-voltage DC power is more readily available than AC. These include a wide range of
battery–powered applications, such as remotely-located control, in vehicles, portable
machines, etc. For this application type, all input devices and output loads typically use the
11
same DC power source. Typical wiring for DC-powered applications is shown in the
following diagram. 12
+ + 13
DC Power
– –
14
DL205 PLC
Power Input
Input Module
A
Output Module

Inputs Com. Outputs Com. B


C
Loads
D

DL205 User Manual, 4th Edition, Rev. A 2–15


Chapter 2: Installation, Wiring and Specifications

Powering I/O Circuits Using Separate Supplies


1 In most applications it will be necessary to power the input devices from one power source,
and to power output loads from another source. Loads often require high-energy AC power,
while input sensors use low-energy DC. If a machine operator is likely to come in close
2 contact with input wiring, then safety reasons also require isolation from high-energy output
circuits. It is most convenient if the loads can use the same power source as the PLC, and the
3 input sensors can use the auxiliary supply, as shown to the left in the figure below.
If the loads cannot be powered from the PLC supply, then a separate supply must be used as
4 shown to the right in the figure below.

5 AC Power AC Power

6 Power Input
DL205 PLC
Power Input
DL205 PLC

Auxiliary Input Module Output Module Auxiliary Input Module Output Module
7 +24VDC
Supply Inputs Com. Outputs Com.
+24VDC
Supply Inputs Com. Outputs Com.

8 + – + –

9 Loads Loads Load


Supply

10
Some applications will use the PLC external power source to also power the input circuit.
11 This typically occurs on DC-powered PLCs, as shown in the drawing below to the left. The
inputs share the PLC power source supply, while the outputs have their own separate supply.
A worst-case scenario, from a cost and complexity viewpoint, is an application which requires
12 separate power sources for the PLC, input devices, and output loads. The example wiring
diagram below on the right shows how this can work, but also the auxiliary supply output is
13 an unused resource. You will want to avoid this situation if possible.

+
14 +
DC Power
– – AC Power

A DL205 PLC Power Input


DL205 PLC
Power Input
B Input Module Output Module Auxiliary
+24VDC
Input Module Output Module
Inputs Com. Outputs Com. Supply Inputs Com. Outputs Com.
C –
+
D Loads Load
Supply
Input
Supply
Loads Load
Supply

2–16 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

Sinking / Sourcing Concepts


Before going further in the study of wiring strategies, you must have a solid understanding of
“sinking” and “sourcing” concepts. Use of these terms occurs frequently in input or output
1
circuit discussions. It is the goal of this section to make these concepts easy to understand,
further ensuring your success in installation. First the following short definitions are provided, 2
followed by practical applications.
Sinking = provides a path to supply ground (–) 3
Sourcing = provides a path to supply source (+)
First you will notice these are only associated with DC circuits and not AC, because of the 4
reference to (+) and (–) polarities. Therefore, sinking and sourcing terminology only applies
to DC input and output circuits. Input and output points that are sinking only or sourcing
only can conduct current in only one direction. This means it is possible to connect the
5
external supply and field device to the I/O point with current trying to flow in the wrong
direction, and the circuit will not operate. However, you can successfully connect the supply 6
and field device every time by understanding “sourcing” and “sinking”.
For example, the figure to the right depicts a “sinking” 7
input. To properly connect the external supply, you PLC
will have to connect it so the input provides a path to
ground (–). Start at the PLC input terminal, follow
Input
(sinking) 8
+
through the input sensing circuit, exit at the common
terminal, and connect the supply (–) to the common –
Input
Sensing 9
terminal. By adding the switch, between the supply (+) Common
and the input, the circuit has been completed .
Current flows in the direction of the arrow when the
10
switch is closed.
Apply the circuit principle above to the four possible combinations of input/output
11
sinking/sourcing types as shown below. The I/O module specifications at the end of this
chapter list the input or output type. 12
Sinking Input Sinking Output 13
PLC PLC
Input Output

+ Input Output
Load
+
14
Sensing Switch
– Common Common –
A
Sourcing Input Sourcing Output
B
PLC PLC
Common Common C
+ Input Output +

– Input
Sensing Switch
Output
Load
– D

DL205 User Manual, 4th Edition, Rev. A 2–17


Chapter 2: Installation, Wiring and Specifications

I/O “Common” Terminal Concepts PLC


1 In order for a PLC I/O circuit to operate,
Field
Device
Main Path
(I/O Point) I/O
current must enter at one terminal and exit Circuit
+
2 at another. Therefore, at least two terminals
are associated with every I/O point. In the –
figure to the right, the Input or Output
3 terminal is the main path for the current.
Return Path

One additional terminal must provide the


4 return path to the power supply.
PLC
5 If there was unlimited space and budget for
I/O terminals, every I/O point could have
Input
Sensing
Input 1
two dedicated terminals as the figure above
6 shows. However, providing this level of Input 2
flexibility is not practical or even necessary
7 for most applications. So, most Input or
Output points on PLCs are in groups which
Input 3

share the return path (called commons). The


8 figure to the right shows a group (or bank) of +
Input 4

four input points which share a common


9 return path. In this way, the four inputs – Common
require only five terminals instead of eight.
10 NOTE: In the circuit above, the current in the common path is 4 times any channel’s input current when all
inputs are energized. This is especially important in output circuits, where heavier gauge wire is
11 sometimes necessary on commons.

Most DL205 input and output modules group their I/O IN 24


12 points into banks that share a common return path. A 0
VDC
4
The best indication of I/O common grouping is on the 1 5
13 wiring label, such as the one shown to the right. There
are two circuit banks with eight input points in each. B 3
2
D2–16ND3–2
6
7
The common terminal for each is labeled “CA” and
14 “CB”, respectively.
20-28VDC
8mA
CLASS 2

In the wiring label example, the positive terminal of a 0


CA
A DC supply connects to the common terminals. Some
symbols you will see on the wiring labels, and their
1
2
4
5
6
3
meanings are:
B AC supply DC supply AC or DC supply
NC
0
7
CB
4
1
C – + 2
3
5
6
7

D Input Switch Output Load D2-16ND3-2

2–18 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

Connecting DC I/O to “Solid State” Field Devices


In the previous section on Sourcing and Sinking concepts, the DC I/O circuits were
explained to sometimes only allow current to flow one way. This is also true for many of the
1
field devices which have solid-state (transistor) interfaces. In other words, field devices can
also be sourcing or sinking. When connecting two devices in a series DC circuit, one must be 2
wired as sourcing and the other as sinking.
Solid State Input Sensors 3
Several DL205 DC input modules are flexible because they detect current flow in either
direction, so they can be wired as either sourcing or sinking. In the following circuit, a field 4
device has an open-collector NPN transistor output. It sinks current from the PLC input
point, which sources current. The power supply can be the +24 auxiliary supply or another
supply (+12 VDC or +24VDC), as long as the input specifications are met.
5
Field Device
Output Input
PLC DC Input
6
(sinking) (sourcing)

Ground
Supply
– + Common
7
8
In the next circuit, a field device has an open-collector PNP transistor output. It sources
current to the PLC input point, which sinks the current back to ground. Since the field 9
device is sourcing current, no additional power supply is required.
Field Device
+V PLC DC Input
10
Input

Output (sourcing)
(sinking)
11
Ground Common
12
Solid State Output Loads
Sometimes an application requires connecting a PLC output point to a solid state input on a 13
device. This type of connection is usually made to carry a low-level control signal, not to send
DC power to an actuator. 14
Several of the DL205 DC output modules are the sinking type. This means that each DC
output provides a path to ground when it is energized. In the following circuit, the PLC
output point sinks current to the output common when energized. It is connected to a
A
sourcing input of a field device input.
B
PLC DC Sinking Output Field Device
+DC pwr
Power

Output Input
+V
C
(sinking) + (sourcing)

Common –
10–30 VDC
Ground
D

DL205 User Manual, 4th Edition, Rev. A 2–19


Chapter 2: Installation, Wiring and Specifications

In the next example a PLC sinking DC output point is connected to the sinking input of a
field device. This is a little tricky, because both the PLC output and field device input are
1 sinking type. Since the circuit must have one sourcing and one sinking device, a sourcing
capability needs to be added to the PLC output by using a pull-up resistor. In the circuit
below, a Rpull-up is connected from the output to the DC output circuit power input.
2
PLC DC Output

3 +DC pwr
Power

Field Device
R pull-up
4 (sinking)
(sourcing)
Output Input R input
+ (sinking)

5 Common
Supply
– Ground

6
NOTE 1: DO NOT attempt to drive a heavy load (>25 mA) with this pull-up method
7 NOTE 2: Using the pull-up resistor to implement a sourcing output has the effect of inverting the output
point logic. In other words, the field device input is energized when the PLC output is OFF, from a ladder
8 logic point of view. Your ladder program must comprehend this and generate an inverted output. Or, you
may choose to cancel the effect of the inversion elsewhere, such as in the field device.

9 It is important to choose the correct value of Rpull-up. In order to do so, you need to know
the nominal input current to the field device (Iinput) when the input is energized. If this value
is not known, it can be calculated as shown (a typical value is 15 mA). Then use Iinput and
10 the voltage of the external supply to compute Rpull-up. Then calculate the power Ppull-up (in
watts), in order to size Rpull-up properly.
11 V input (turn–on)
I input =
12 R input
V supply – 0.7 V supply2
R pull-up = – R input P pull-up =
13 I input R pullup
Of course, the easiest way to drive a sinking input field device as shown below is to use a DC
14 sourcing output module. The Darlington NPN stage will have about 1.5 V ON-state
saturation, but this is not a problem with low-current solid-state loads.
A PLC DC Sourcing Output
+DC pwr Common
B Field Device

C Output (sourcing) Input


(sinking)
R input
+
Supply
D – Ground

2–20 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

Relay Output Guidelines


Several output modules in the DL205 I/O family feature relay outputs: D2–04TRS,
D2–08TR, D2–12TR, D2–08CDR, F2–08TR and F2–08TRS. Relays are best for the 1
following applications:
• Loads that require higher currents than the solid-state outputs can deliver 2
• Cost-sensitive applications
• Some output channels need isolation from other outputs (such as when some loads require different
voltages than other loads)
3
Some applications in which NOT to use relays: 4
• Loads that require currents under 10 mA
• Loads which must be switched at high speed or heavy duty cycle 5
Relay outputs in the DL205 output modules are available in
two contact arrangements, shown to the right. The Form A
Relay with Form A contacts 6
type, or SPST (single pole, single throw) type is normally open
and is the simplest to use. The Form C type, or SPDT (single 7
pole, double throw) type has a center contact which moves and
a stationary contact on either side. This provides a normally 8
closed contact and a normally open contact.
Some relay output module’s relays share common terminals,
which connect to the wiper contact in each relay of the bank.
9
Relay with Form C contacts
Other relay modules have relays which are completely isolated
from each other. In all cases, the module drives the relay coil 10
when the corresponding output point is on.
11
Surge Suppression For Inductive Loads
Inductive load devices (devices with a coil) generate transient voltages when de-energized with
12
a relay contact. When a relay contact is closed it “bounces”, which energizes and de-energizes
the coil until the “bouncing” stops. The transient voltages generated are much larger in 13
amplitude than the supply voltage, especially with a DC supply voltage.
When switching a DC-supplied inductive load the full supply voltage is always present when 14
the relay contact opens (or “bounces”). When switching an AC-supplied inductive load there
are two (2) points when the voltage is zero (0) in one complete cycle of a sine wave; therefore,
there are two (2) chances in 60 (60 Hz) or 50 (50 Hz) to stop the current flow at a zero
A
crossover point. If current flow isn’t stopped, the relay contact will open (or “bounce”). If the
voltage is not zero when the relay contact opens there is energy stored in the inductor that is B
released when the voltage to the inductor is suddenly removed. This release of energy is the
cause of the transient voltages.
When inductive load devices (motors, motor starters, interposing relays, solenoids, valves,
C
etc.) are controlled with relay contacts, it is recommended that a surge suppression device be
connected directly across the coil of the field device. If the inductive device has plug-type D
connectors, the suppression device can be installed on the terminal block of the relay output.

DL205 User Manual, 4th Edition, Rev. A 2–21


Chapter 2: Installation, Wiring and Specifications

Transient Voltage Suppressors (TVS or transorb) provide the best surge and transient
suppression of AC and DC powered coils, providing the fastest response with the smallest
1 overshoot.
Metal Oxide Varistors (MOV) provide the next best surge and transient suppression of AC
2 and DC powered coils.
For example, the waveform in the figure below shows the energy released when opening a
3 contact switching a 24 VDC solenoid. Notice the large voltage spike.
+24 VDC
4
5 +24 VDC –24 VDC

6
7 Module Relay Contact

–324 VDC
8 This figure shows the same circuit with a transorb (TVS) across the coil. Notice that
the voltage spike is significantly reduced.
9
+24 VDC
10
+24 VDC –24 VDC

11 –42 VDC

12 Module Relay Contact

13 Use the following table to help select a TVS or MOV suppressor for your application based
on the inductive load voltage.

14 Vendor / Catalog Suppressor Types Inductive Load Voltage Part Number


AutomationDirect 8–channel TVS 24 VDC ZL–TD8–24
A Transient Voltage
Suppressors 8–channel TVS 110 VAC ZL–TD8–120
www.automationdirect.com

B General Instrument Transient Voltage


Suppressors and LiteOn Diodes; from
TVS, MOV
TVS, MOV
110/120 VAC
220/240 VAC Check Digi-Key Corp.
Digi-Key Catalog; www.digikey.com; TVS 12/24 VDC or VAC catalog or website
C Phone: 1-800-344-4539 Diode 12/24 VDC or VAC

2–22 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

Relay contacts wear according to the amount of relay switching, amount of spark created at
the time of open or closure, and presence of airborne contaminants. 1
However, there are some steps you can take to help prolong the life of relay contacts:
• Switch the relay on or off only when the application requires it. 2
• If you have the option, switch the load on or off at a time when it will draw the least current.
• Take measures to suppress inductive voltage spikes from inductive DC loads such as contactors and 3
solenoids (circuit given below).

PLC Relay Output Inductive Field Device


4
Output Input
5
R
6
C Supply
Common + – Common 7
8
Adding external contact protection may extend relay life beyond the number of contact
cycles listed in the specification tables for relay modules. High current inductive loads such as
clutches, brakes, motors, direct-acting solenoid valves, and motor starters will benefit the
9
most from external contact protection.
The RC network must be located close to the relay module output connector. To find the 10
values for the RC snubber network, first determine the voltage across the contacts when open,
and the current through them when closed. If the load supply is AC, then convert the current 11
and voltage values to peak values:
Now you are ready to calculate values for R and C, according to the formulas: 12
2
C (µF) =
I
R ( ) =
V
x
, where x = 1 +
50
V
13
10 10 x I
C minimum = 0.001 µ F, the voltage rating of C must be  V, non-polarized
14
R minimum = 0.5 , 1/2 W, tolerance is ± 5%
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 2–23


Chapter 2: Installation, Wiring and Specifications

For example, suppose a relay contact drives a load at 120VAC, 1/2 A. Since this example has
an AC power source, first calculate the peak values:
1
Ipeak = Irms x 1.414, = 0.5 x 1.414 = 0.707 Amperes
2 Vpeak = Vrms x 1.414 = 120 x 1.414 = 169.7 Volts
3 Now, find the values of R and C,:
4 I
2
0.707
2
C (µ F) = = = 0.05 µF, voltage rating  170 Volts
5 10 10

V 50
6 R () =
10 x I x
, where x= 1 +
V

7 50 169.7
x= 1 + = 1.29 R () = = 26 , 1/2 W, ± 5%
10 x 0.707 1.29
8 169.7

If the contact is switching a DC inductive load, add a diode across the load as near to load
9 coil as possible. When the load is energized the diode is reverse-biased (high impedance).
When the load is turned off, energy stored in its coil is released in the form of a negative-
10 going voltage spike. At this moment the diode is forward-biased (low impedance) and shunts
the energy to ground. This protects the relay contacts from the high voltage arc that would
occur as the contacts are opening.
11 For best results, follow these guidelines in using a noise suppression diode:
12 • DO NOT use this circuit with an AC power supply.
• Place the diode as close to the inductive field device as possible.
13 • Use a diode with a peak inverse voltage rating (PIV) at least 100 PIV, 3A forward current or
larger. Use a fast-recovery type (such as Schottky type). DO NOT use a small-signal diode
such as 1N914, 1N941, etc.
14 • Be sure the diode is in the circuit correctly before operation. If installed backwards, it short-
circuits the supply when the relay energizes.
A
B
C
D

2–24 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

I/O Modules Position, Wiring, and Specification


Slot Numbering 1
The DL205 bases each provide different numbers of slots for use with the I/O modules. You
may notice the bases refer to 3-slot, 4-slot, etc. One of the slots is dedicated to the CPU, so 2
you always have one less I/O slot. For example, you have five I/O slots with a 6-slot base. The
I/O slots are numbered 0 – 4. The CPU slot always contains a PLC CPU or other CPU–slot
controller and is not numbered.
3
Module Placement Restrictions 4
The following table lists the valid Slot 0 Slot 1 Slot 2 Slot 3 Slot 4

locations for all types of modules in a


DL205 system: CPU Slot I/O Slots
5
Module/Unit Local CPU Base Local Expansion Base Remote I/O Base
CPUs CPU Slot Only
6
DC Input Modules .   
AC Input Modules    7
DC Output Modules   
AC Output Modules    8
Relay Output Modules   
Analog Input and Output Modules    9
Local Expansion
Base Expansion Module
Base Controller Module
 
CPU Slot Only
10
Serial Remote I/O
Remote Master 
11
Remote Slave Unit
Ethernet Remote Master 
CPU Slot Only
12
CPU Interface
Ethernet Base Controller Slot 0 Only Slot 0 Only* 13
WinPLC Slot 0 Only
DeviceNet Slot 0 Only 14
Profibus Slot 0 Only
SDS Slot 0 Only A
Specialty Modules
Counter Interface
Counter I/O
Slot 0 Only
 *
B

Data Communications
Ethernet Communications 
C
BASIC CoProcessor 
Simulator    D
Filler   
* When used with H2-ERM Ethernet Remote I/O system

DL205 User Manual, 4th Edition, Rev. A 2–25


Chapter 2: Installation, Wiring and Specifications

Special Placement Considerations for Analog Modules


1 In most cases, the analog modules can be placed in any slot. However, the placement can also
depend on the type of CPU you are using and the other types of modules installed to the left
of the analog modules. If you’re using a DL230 CPU (or a DL240 CPU with firmware earlier
2 than V1.4) you should check the DL205 Analog I/O Manual for any possible placement
restrictions related to your particular module. You can order the DL205 Analog I/O Manual
3 by ordering part number D2–ANLG–M.
Discrete Input Module Status Indicators
4 The discrete modules provide LED status indicators to show the status of the input points.
Status indicators
5
6
7 Terminal

8
9
10
11 Terminal Cover
(installed) Wire tray area
behind terminal cover
12 Color Coding of I/O Modules
The DL205 family of I/O modules have a color coding scheme to help you quickly identify if
13 a module is either an input module, output module, or a specialty module. This is done
through a color bar indicator located on the front of each module. The color scheme is listed
below:
14
A Color Bar

B
C Module Type
Discrete/Analog Output
Color Code
Red
Discrete/Analog Input Blue
D Other White

2–26 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

Wiring the Different Module Connectors


There are two types of module connectors for the DL205 I/O. Some modules have
normal screw terminal connectors. Other modules have connectors with recessed screws.
1
The recessed screws help minimize the risk of someone accidentally touching active
wiring. 2
Both types of connectors can be easily removed. If you examine the connectors closely,
you’ll notice there are squeeze tabs on the top and bottom. To remove the terminal 3
block, press the squeeze tabs and pull the terminal block away from the module.
We also have DIN rail mounted terminal blocks, DINnectors (refer to our catalog for a 4
complete listing of all available products). ZIPLinks come with special pre–assembled
cables with the I/O connectors installed and wired.
WARNING: For some modules, field device power may still be present on the terminal block even
5
though the PLC system is turned off. To minimize the risk of electrical shock, check all field
device power before you remove the connector. 6
7
8
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 2–27


Chapter 2: Installation, Wiring and Specifications

I/O Wiring Checklist


Use the following guidelines when wiring the I/O modules in your system.
1 1. There is a limit to the size of wire the modules can accept. The table below lists the suggested
AWG for each module type. When making terminal connections, follow the suggested torque
2 values.
Module type Suggested AWG Range Suggested Torque
3 4 point 16* – 24 AWG 7.81 lb-inch (0.882 N•m)
8 point 16* – 24 AWG 7.81 lb-inch (0.882 N•m)

4 12 point
16 point
16* – 24 AWG
16* – 24 AWG
2.65 lb-in (0.3 N•m)
2.65 lb-in (0.3 N•m)

5 *NOTE: 16 AWG Type TFFN or Type MTW is recommended. Other types of 16 AWG may be acceptable,
but it really depends on the thickness and stiffness of the wire insulation. If the insulation is too thick or
stiff and a majority of the module’s I/O points are used, then the plastic terminal cover may not close
6 properly or the connector may pull away from the module. This applies especially for high temperature
thermoplastics such as THHN.
7 2. Always use a continuous length of wire, do not combine wires to attain a needed length.
3. Use the shortest possible wire length.
8 4. Use wire trays for routing where possible.
5. Avoid running wires near high energy wiring. Also, avoid running input wiring close to output
9 wiring where possible.
6. To minimize voltage drops when wires must run a long distance , consider using multiple wires for
10 the return line.
7. Avoid running DC wiring in close proximity to AC wiring where possible.
11 8. Avoid creating sharp bends in the wires.
9. To reduce the risk of having a module with a blown fuse, we suggest you add external fuses to your
12 I/O wiring. A fast blow fuse, with a lower current rating than the I/O module fuse can be added to
each common, or a fuse with a rating of slightly less than the maximum current per output point
can be added to each output. Refer to our catalog for a complete line of DINnectors, DIN rail
13 mounted fuse blocks.

DINnector External Fuses


14 (DIN rail mounted Fuses)

A
B
C
D
NOTE: For modules which have soldered or non-replaceable fuses, we recommend you return your module
to us and let us replace your blown fuse(s) since disassembling the module will void your warranty.

2–28 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

D2-08ND3, DC Input D2-16ND3-2, DC Input


D2-08ND3 DC Input D2-16ND3-2 DC Input 1
Inputs per Module 8 (sink/source) Inputs per Module 16 (sink/source)
Commons per Module
Input Voltage Range
1 (2 I/O terminal points)
10.2-26.4 VDC
Commons per Module
2 isolated (8 I/O terminal
points/com)
2
Peak Voltage Input Voltage Range 20-28 VDC
ON Voltage Level
26.4 VDC
9.5 VDC minimum Peak Voltage 30 VDC (10 mA) 3
OFF Voltage Level 3.5 VDC maximum ON Voltage Level 19 VDC minimum
AC Frequency
Input Impedance
N/A
2.7 k
OFF Voltage Level
AC Frequency
7VDC maximum
N/A
4
4.0 mA @ 12 VDC Input Impedance 3.9 k
Input Current 8.5 mA @ 24 VDC Input Current 6 mA @ 24 VDC 5
Minimum ON Current 3.5 mA Minimum ON Current 3.5 mA
Maximum OFF Current
Base Power Required 5VDC
1.5 mA
50 mA
Maximum OFF Current
Base Power Required 5VDC
1.5 mA
100 mA
6
OFF to ON Response 1 to 8 ms OFF to ON Response 3 to 9 ms
ON to OFF Response 1 to 8 ms ON to OFF Response 3 to 9 ms 7
Terminal Type (included) Removable, D2-8IOCON Terminal Type (included) Removable, D2-16IOCON
Status Indicator
Weight
Logic side
2.3 oz. (65 g)
Status Indicator
Weight
Logic side
2.3 oz. (65 g)
8
Points Derating Chart
Points Derating Chart
9
8 16

6 12 10
4 8

0
IN

0
12--24
VDC
4
4

0
IN
A 0
24
VDC
4
11
0 10 20 30 40 50 55 °C 1 5 0 10 20 30 40 50 55 °C 1 5
32 50 68 86 104 122131 °F
Ambient Temperature (°C/°F )
2
3
D2--08ND3
6
7
32 50 68 86 104 122131 ° F
Ambient Temperature (°C/°F )
Source
- +
B 3
2

D2--16ND3--2
6
7 12
12--24VDC 24 VDC - CA
- + Sink +
Source

Sink + - C

0
C
Internally
connected 10.2--26.4VDC
4--12mA
0

1
4

5
20--28VDC
8mA
CLASS2
13
C 2 CA
4 0
1
5 0
C

Source - + NC
3
6

7
1
2
4
5
14
2 4 24 VDC
Sink +
- CB 6
3

3
6

7
1

2
5
0

1
4

5
NC
0
CB
7

4
A
2 1
6

Internal module circuitry


V+
3
7
3
6

7
2
3
5
6
7
B
INP UT

To LE D
D2--08ND3
Internal module circuitry

INP UT
V+
C
To LE D

Sink + -
COM
Optical
Is olator
Sink
+ -
COM
Optical
Is olator D
Source COM Source
- + - +
12--24VDC 24 VDC

DL205 User Manual, 4th Edition, Rev. A 2–29


Chapter 2: Installation, Wiring and Specifications

D2–32ND3, DC Input
1 D2-32ND3 DC Input
Inputs per Module 32 (sink/source)
2 Commons per Module 4 isolated (8 I/O terminal points / com)
Input Voltage Range 20-28 VDC

3 Peak Voltage
ON Voltage Level
30 VDC
19 VDC minimum
OFF Voltage Level 7 VDC maximum
4 AC Frequency N/A
Input Impedance 4.8 k

5 Input Current
Minimum ON Current
8.0 mA @ 24 VDC
3.5 mA
Maximum OFF Current 1.5 mA
6 Base Power Required 5VDC 25 mA
OFF to ON Response 3 to 9 ms

7 ON to OFF Response
Terminal Type (not included)
3 to 9 ms
Removable 40-pin Connector1
Status Indicator Module Activity LED
8 Weight 2.1 oz. (60 g)
1
Connector sold separately. See Terminal Blocks and Wiring for wiring options.

9
10 IN 24
VDC
Points Derating Chart ACT
11 32
A0
A4
A1 D2--32ND3
16 A5
A2

12 0
0 10 20 30 40 50 55 °C
24VDC
-
Sink
+
COM I
A6
A3
A7
A0
A1
A4
A5
+

32 50 68 86 104 122131 °F Source - B0


A2 A6

13 Ambient Temperature (°C/°F )

Sink
B4
B1
B5
B2
B6
A3
CI
B0
A7
CI
B4
- + B3 B1 B5
B7

14 24VDC
COM II B2 B6
+

Source - C0
B3 B7
C4 CII CII
C1
C5 C0 C4

A Internal module circuitry V+


24VDC
-
Sink
+
C2
C6
C3
C7
COM III
C1
C2
C3
C5
C6
C7
+

Source - D0 CIII CIII


B INP UT

To Logic Sink
D4
D1
D5
D2
D0
D1
D2
D4
D5
D6
D6
+ D3 D3 D7
C
-
D7
Optical 24VDC CIV CIV
+

COM IV
+ - COM Is olator -
Sink Source
Source - +

D 24 VDC 22--26VDC
4--6mA
CLAS S 2

2–30 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

D2–32ND3–2, DC Input
D2-32ND3-2 DC Input 1
Inputs per Module 32 (Sink/Source)
Commons per Module 4 isolated (8 I/O terminal points / com) 2
Input Voltage Range 4.50 to 15.6 VDC min. to max.
Peak Voltage
ON Voltage Level
16 VDC
4 VDC minimum
3
OFF Voltage Level 2 VDC maximum
AC Frequency N/A
1.0 k @ 5-15 VDC
4
Input Impedance
Input Current
4 mA @ 5 VDC
11 mA @ 12 VDC
14 mA @ 15 VDC
5
Maximum Input Current 16 mA @ 15.6 VDC
Minimum ON Current 3 mA 6
Maximum OFF Current 0.5 mA
Base Power Required 5VDC
OFF to ON Response
25 mA
3 to 9 ms
7
ON to OFF Response 3 to 9 ms
Terminal Type (not included) Removable 40-pin connector1 8
Status Indicator Module activity LED
Weight
1
Connector sold separately.
2.1 oz (60 g) 9
See Terminal Blocks and Wiring for wiring options.
10
11
12
Sink

5-15VDC
Source
13
Sink
14
5-15VDC
Source A
5-15VDC
Sink
B
Source

C
Sink

5-15VDC D
Source

DL205 User Manual, 4th Edition, Rev. A 2–31


Chapter 2: Installation, Wiring and Specifications

D2-08NA-1, AC Input
1 D2-08NA-1 AC Input
Inputs per Module 8
2 Commons per Module 1 (2 I/O terminal points)
Input Voltage Range 80-132 VAC

3 Peak Voltage
ON Voltage Level
132 VAC
75 VAC minimum
OFF Voltage Level 20 VAC maximum
4 AC Frequency 47-63 Hz
Input Impedance 12 k @ 60 Hz

5 Input Current
13 mA @ 100 VAC, 60 Hz
11 mA @ 100 VAC, 50 Hz
Minimum ON Current 5 mA
6 Maximum OFF Current
Base Power Required 5VDC
2 mA
50 mA
OFF to ON Response 5 to 30 ms
7 ON to OFF Response 10 to 50 ms
Terminal Type (included) Removable; D2-8IOCON
8 Status Indicator
Weight
Logic side
2.5 oz. (70 g)

9 Points
8
Derating Chart

10 6

4
IN 110
11 2

0 0
VAC
4
0 10 20 30 40 50 55 ˚C 1 5

12 32 50 68 86 104 122131 ˚ F
Ambient Temperature (˚C/˚F )
2
3
D2--08NA--1
6
7

110 VAC Internally

13 C

0
C
connected
80-132VAC
10-20mA
50/60Hz

4 C

14 1
5 0
C

2 4

A 3
6

7
1
5
2

B Internal module circuitry


3
6

V+ 7

C INP UT D2--08NA-1

To LE D

D COM Optical
Is olator
Line
110 VAC
COM

2–32 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

D2-08NA-2, AC Input
D2-08NA-2 AC Input Operating Temperature 32ºF to 131ºF (0º to 55ºC) 1
Inputs per Module 8
Storage Temperature -4ºF to 158ºF (-20ºC to 70ºC)

Commons per Module 1 (2 I/O terminal points)


Humidity
Atmosphere
35% to 95% (non-condensing)
No corrosive gases permitted
2
Input Voltage Range 170-265 VAC
Vibration
Peak Voltage
ON Voltage Level
265 VAC
150 VAC minimum
Shock
MIL STD 810C 514.2
MIL STD 810C 516.2 3
Insulation Withstand Voltage 1,500 VAC 1 minute (COM-GND)
OFF Voltage Level
AC Frequency
40 VAC maximum
47-63 Hz
Insulation Resistance 10M  @ 500 VDC
NEMA 1,500V 1 minute
4
Input Impedance 18 k @ 60 Hz Noise Immunity SANKI 1,000V 1 minute
9 mA @ 220 VAC, 50 Hz
11 mA @ 265 VAC, 50 Hz
RFI 150 MHz, 430 MHz 5
Input Current 10 mA @ 220 VAC, 60 Hz

Minimum ON Current
12 mA @ 265 VAC, 60 Hz
10 mA
6
Maximum OFF Current 2 mA
Base Power Required 5VDC 100 mA 7
OFF to ON Response 5 to 30 ms
ON to OFF Response
Terminal Type (included)
10 to 50 ms
Removable; D2-8IOCON
8
Status Indicator Logic side
Weight 2.5 oz. (70 g) 9
Derating Chart
10
Points
8

6
11
4

2 220VAC Internally
12
C connected
0
0
32
10
50
20
68
30
86
40
104
50 55 ˚ C
122131 ˚ F
C
13
0
Ambient Temperature (˚C/˚F )
4
14
1

5
A
Internal module circuitry 2
V+

INP UT
6 B
3
To LE D
7 C
COM Optical
Is olator
220VAC
COM
D

DL205 User Manual, 4th Edition, Rev. A 2–33


Chapter 2: Installation, Wiring and Specifications

D2-16NA, AC Input F2-08SIM, Input Simulator


1 D2-16NA AC Input F2-08SIM Input Simulator
Inputs per Module 16 Inputs per Module 8
2 Commons per Module
Input Voltage Range
2 (isolated)
80-132 VAC
Base Power Required 5VDC 50 mA
Terminal Type None
Peak Voltage 132 VAC Status Indicator Switch side
3 ON Voltage Level 70 VAC minimum Weight 2.65 oz. (75 g)
OFF Voltage Level 20 VAC maximum
4 AC Frequency
Input Impedance
47-63 Hz
12 k @ 60 Hz
11 mA @ 100 VAC, 50 Hz
5 Input Current 13 mA @ 100 VAC, 60 Hz
15 mA @ 132 VAC, 60 Hz
Minimum ON Current 5 mA
6 Maximum OFF Current 2 mA
Base Power Required 5VDC 100 mA
7 OFF to ON Response
ON to OFF Response
5 to 30 ms
10 to 50 ms
Terminal Type (included) Removable; D2-16IOCON
8 Status Indicator Logic side
Weight 2.4 oz. (68g)
9 Points Derating Chart
16

10 12

11 4

0
IN
A 0
110
VAC
4
IN

0
SIM

4
1 5 1 5
12 0
32
10
50
20
68
30
86
40
104
50 55 ˚ C
122131 ˚ F
Ambient Temperature (˚C/˚F ) B 3
2 6
7
2
3
6
7
D2--16NA F 2--08SI M
110 VAC CA

13 0

1
4 80--132VAC
10--20mA
50/60Hz 0 > ON
5

CA
14
2
6 0 1
3 4
7
1
5 2
110 VAC NC 2
6
A
CB
0 3
4 7 3
1
NC
5
CB
0 4
4
B
2
6 1
5
3
7 2 5
6
3

C Internal module circuitry


V+ D2--16NA
7 6

7
INP UT

D To LE D

Optical
COM Is olator

110 VAC

2–34 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

D2-04TD1, DC Output
D2-04TD1 DC Output External DC Required 24 VDC @ 20 mA max.
1
Outputs per Module Base Power Required 5VDC 60 mA
Output Points Consumed
4 (current sinking)
8 points (only first 4 pts. used) OFF to ON Response 1 ms 2
Commons per Module 1 (4 I/O terminal points) ON to OFF Response 1 ms
Output Type
Operating Voltage
NMOS FET (open drain)
10.2-26.4 VDC
Terminal Type (included) Removable; D2-8IOCON
Status Indicator Logic side
3
Peak Voltage Weight 2.8 oz. (80 g)
ON Voltage Drop
40 VDC
0.72 VDC maximum Fuses
4 (1 per point)
(6.3 A slow blow, non-replaceable)
4
AC Frequency N/A
Max Load Current
(resistive)
4A/point
8A/common
5
Max Leakage Current 0.1 mA @ 40 VDC
Max Inrush Current 6A for 100 ms, 15A for 10 ms 6
Minimum Load Current 50 mA
7
Points
4
Derating Chart
2A / Pt.
Inductive Load
Maximum Number of Switching Cycles per Minute
8
3 Load Duration of output in ON s tate

2 3A / Pt.
Current
0.1A
7ms
8000
40ms
1400
100ms
600
9
OUT 12--24
1 4A / Pt. 0.5A 1600 300 120
0 0
1
VDC
1.0A
1.5A
800
540
140
90
60
35
10
0 10 20 30 40 50 55 ˚ C
32 50 68 86 104 122131 ˚ F 2 2.0A 400 70 --
Ambient Temperature (˚C/˚F )
3
D2--04TD1
3.0A
4.0A
270
200
--
--
--
--
11
24VDC Internally
10.2--26.4VDC
50mA--4A
At 40 mS duration, loads of 3.0A or greater cannot be used.
At 100 mS duration, loads of 2.0A or greater cannot be used.
12
+ 0V connected C Find the load current you expect to use and the duration that the

12--24VDC +
C
24V +24V
C
output is ON. The number at the intersection of the row and column
represents the switching cycles per minute. For example, a 1A
inductive load that is on for 100 ms can be switched on and off a
13
0 maximum of 60 times per minute. To convert this to duty cycle
0 percentage use: (duration x cycles)/60. In this example,
L L

L
C

C
1
L
C
1
(60 x .1)/60 = .1, or 10% duty cycle.
14
C 24VDC
L
C
2

3
L
C
2 -- +

0V
Reg
A
L 3
L

D2--04TD1
L
Output
To LE D

B
6.3A
12--24 +
VDC --
Optical
Is olator C
Common
Other
Circuits
D

DL205 User Manual, 4th Edition, Rev. A 2–35


Chapter 2: Installation, Wiring and Specifications

D2–08TD1, DC Output D2–08TD2, DC Output


1 D2-08TD1 DC Output D2-08TD2 DC Output
Outputs per Module 8 (current sinking) Outputs per Module 8 (current sourcing)
2 Commons per Module 1 (2 I/O terminal points) Commons per Module 1
Output Type NPN open collector Output Type PNP open collector
3 Operating Voltage
Peak Voltage
10.2-26.4 VDC
40 VDC
Operating Voltage
Output Voltage
12 to 24 VDC
10.8 to 26.4 VDC
ON Voltage Drop 1.5 VDC maximum Peak Voltage 40 VDC
4 AC Frequency N/A ON Voltage Drop 1.5 VDC
Minimum Load Current 0.5 mA AC Frequency N/A
5 Max Load Current
Max Leakage Current
0.3A/point; 2.4A/common
0.1 mA @ 40 VDC
Minimum Load Current
Max Load Current
N/A
0.3A per point; 2.4A per common
Max Inrush Current 1A for 10 ms Max Leakage Current 1.0 mA @ 40 VDC
6 Base Power Required 5VDC 100 mA Max Inrush Current 1A for 10 ms
OFF to ON Response 1 ms Base Power Required 5VDC 100 mA
7 ON to OFF Response 1 ms
Terminal Type (included) Removable; D2-8IOCON
OFF to ON Response
ON to OFF Response
1 ms
1 ms
Status Indicator Logic side Terminal Type (included) Removable; D2-8IOCON
8 Weight 2.3 oz. (65g) Status Indicator Logic side
Fuses
1 per common Weight 2.1 oz. (60g)
9 5A fast blow, non-replaceable
Fuses
1 per common
5A fast blow, non-replaceable

10 Points
8
Derating Chart

11 6

4
OUT 12--24
2 VDC
12 0
0 10 20 30 40 50 55 ˚ C
0
1
4
5
32 50 68 86 104 122131 ˚ F 2 6
Ambient Temperature (˚C/˚F )

13 12--24VDC
C
Internally
3
D2--08TD1
7

+ connected
10.2--26.4VDC
C 0.2mA-0.3A

14 L
L
0
4 C
1 C
L
5

A L
L
L
2
6
L
L
1
0
4

3
L 5
7

B L
2
6
3

C L
OUTP UT
Internal module circuitry
Optical
Is olator
D2--08TD1
7

D +
12--24VDC

COM

5A
COM

2–36 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

D2–16TD1–2, DC Output D2–16TD2–2, DC Output


D2-16TD1-2 DC Output D2-16TD2-2 DC Output
1
Outputs per Module 16 (current sinking) Outputs per Module 16 (current sourcing)
Commons per Module 1 (2 I/O terminal points) Commons per Module 2 2
Output Type NPN open collector Output Type NPN open collector
External DC required
Operating Voltage
24 VDC ±4V @ 80 mA max
10.2-26.4 VDC
Operating Voltage
Peak Voltage
10.2-26.4 VDC
30 VDC
3
Peak Voltage 30 VDC ON Voltage Drop 1.0 VDC maximum
ON Voltage Drop 0.5 VDC maximum AC Frequency N/A 4
AC Frequency N/A Minimum Load Current 0.2 mA
Minimum Load Current 0.2 mA
0.1A/point
Max Load Current
0.1A/point
1.6A/module
5
Max Load Current 1.6A/common Max Leakage Current 0.1 mA @ 30 VDC
Max Leakage Current 0.1 mA @ 30 VDC Max Inrush Current 150 mA for 10 ms 6
Max Inrush Current 150 mA for 10 ms Base Power Required 5VDC 200 mA
Base Power Required 5VDC
OFF to ON Response
200 mA
0.5 ms
OFF to ON Response
ON to OFF Response
0.5 ms
0.5 ms
7
ON to OFF Response 0.5 ms Terminal Type (included) Removable; D2-16IOCON
Terminal Type (included) Removable; D2-16IOCON Status Indicator Logic side 8
Status Indicator Logic side Weight 2.8 oz. (80g)
Weight
Fuses
2.3 oz. (65g)
None
Fuses None
9
Points Derating Chart
10
16
12
8
4
11
0
OUT 12--24
VDC
0
32
10
50
20
68
30
86
40
104
50 55 ˚C
122131 ˚ F
Ambient Temperature (˚C/˚F )
A 0
1
4
5
12
C 2 6
B 3 7
13
0
L
4
L D2--16TD1--2
1
L
5
L
2 10.2--26.4
L VDC 0.1A
6 CLASS2

12--24VDC
L
L
L
24VDC +
3

+V
7

C
A
0
1
C
4
14
+ 5
0 2
L
L

L
L
1

2
4

5
Internally
connected
3
+V
6
7
C
A
L 0
6 4
1
B
L
3
L
7
5
L 2
6
3
7
+V Internal module circuitry B
+
24VDC

L
OUTP UT
Optical
Is olator
C
D
+
12--24
VDC
COM

COM

* Can also be used with 5VDC supply

DL205 User Manual, 4th Edition, Rev. A 2–37


Chapter 2: Installation, Wiring and Specifications

F2–16TD1(2)P, DC Output With Fault Protection


1 Not supported in D2-230, D2-240 and
D2-250 CPUs.

2 These modules detect the following fault status and


turn the related X bit(s) on.
3 1. Missing external 24VDC for the module
2. Open load1
4 3. Over temperature (the output is shut down)
4. Over load current (the output is shut down)
5 Fault Status X bit Fault Status Indication
Missing external 24VDC All 16 X bits are on.
6 Open load1
Over temperature Only the X bit assigned to the
faulted output is on
7 Over load current

When these module are installed, 16 X


8 bits are automatically assigned as the
fault status indicator. Each X bit
9 indicates the fault status of each output.
In this example, X10-X27 are assigned as the fault Example F2-16TD1P
10 status indicator. D2-250-1 or D2-260 D2-08ND3
or
F2-16TD2P
X10: Fault status indicator for Y0
11 X11: Fault status indicator for Y1

X26: Fault status indicator for Y16


12 X27: Fault status indicator for Y17
Slot 0 Slot 1 Slot 2 Slot 3 Slot 4

13 The fault status indicators (X bits) can be reset by


performing the indicated operations in the
X0 - X7 X10 - X27
Y0 - Y17
14 following table:
Fault Status Operation
A Missing external 24VDC Apply external 24VDC Jumper Switch J6
Open load1 Connect the load.

B Over temperature
Over load current
Turn the output (Y bit) off or
power cycle the PLC
PC Board

C NOTE 1: Open load detection can be disabled by


removing the jumper switch J6 on the module PC
D board.

Continued on next two pages.

2–38 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

F2–16TD1P, DC Output With Fault Protection


Not supported in D2-230, D2-240 and
F2-16TD1P DC Output with Fault Protection
Inputs per module 16 (status indication)
1
D2-250 CPUs.
Outputs per module 16 (current sinking)
Commons per module 1 (2 I/O terminal points) 2
Output type NMOS FET (open drain)
Supporting Firmware:
D2-250-1 must be V4.80 or later
Operating voltage
Peak voltage
10.2 -26.4 VDC, external
40 VDC
3
D2-260 must be V2.60 or later AC frequency N/A
ON voltage drop 0.7 V (output current 0.5 A) 4
Overcurrent trip 0.6 A min., 1.2 A max.
This module does not currently support Maximum load current 0.25
peak
A continuous, 0.5 A 5
Think & Do 8.0. It does not support J6 installed: 200 A;
Maximum OFF current Jumper
Think & Do Live! or Studio. J6 removed: 30 A
Base power required 5V 70 mA
6
OFF to ON response 0.5 ms
ON to OFF response 0.5 ms 7
Terminal type Removable (D2-16IOCON)
Status indicators
Weight
Logic Side
2.0 oz. (25g)
8
Fuses None
Points
16 Derating Chart External DC required 24 VDC /10% @ 50 mA 9
12 External DC overvoltage 27 V, outputs are restored
8
4
OUT 12-24
shutdown when voltage is within limits
10
0 VDC
0
32
10
50
20
68
30
86
40 50 55°C
104 122 131°F
Ambient Temperature (°C/°F)
A 0
1
2
4
5
6
11
0V
B 3 7
L
L

L
0

1
4

5
F2–16TD1P 12
L 10.2-26.4
2 VDC 0.25A
L
L
L
L
3
6

7
CLASS2

A
0
0V
13
24VDC +
24V 4
1
14
12–24VDC 0V
+ 5
L
0
Internally
2
4 connected 6
L 3
1 7
L
5 24V
L
L
L
2

3
6
0
1
0V
4 A
L
7
5
2
L

24V Internal module circuitry


3
B
6
7 B
+
24VDC
OUTPUT
Optical
Isolator C
L

+ 12–24
VDC
0V
When the A/B switch is in the A position,
the LEDs display the output status of the
module’s first 8 output points. Positon B
displays the output status of the mod-
D
ule’s second group of 8 output points.
0V

DL205 User Manual, 4th Edition, Rev. A 2–39


Chapter 2: Installation, Wiring and Specifications

F2–16TD2P, DC Output with Fault Protection


1 Not supported in D2-230, D2-240 and F2-16TD2P DC Output with Fault Protection
D2-250 CPUs. Inputs per module 16 (status indication)
2 Outputs per module 16 (current sourcing)
Commons per module 1
3 Supporting Firmware:
Output type
Operating voltage
NMOS FET (open source)
10.2 -26.4 VDC, external
D2-250-1 must be V4.80 or later Peak voltage 40 VDC
4 D2-260 must be V2.60 or later
AC frequency N/A
ON voltage drop 0.7 V (output current 0.5 A)
5 This module does not currently support
Overcurrent trip 0.6 A min., 1.2A max.
Maximum load current 0.25
peak
A continuous, 0.5 A
Think & Do 8.0. It does not support Think
6 & Do Live! or Studio. Maximum OFF current Jumper J6 installed: 200 A;
J6 removed: 30 A
Base power required 5V 70 mA
7 OFF to ON response 0.5 ms
ON to OFF response 0.5 ms
8 Terminal type
Status indicators
Removable (D2-16IOCON)
Logic Side
Weight 2.0 oz. (25g)
9 Points
16 Derating Chart Fuses None
12 External DC required 24 VDC /10% @ 50 mA
10 8
4
External DC overvoltage 27 V, outputs are restored
shutdown when voltage is within limits
OUT 12-24
0 VDC
11 0
32
10
50
20
68
30
86
40 50 55°C
104 122 131°F
Ambient Temperature (°C/°F)
A 0
1
4
5
12–24VDC
+ V1 2 6

12 L
L

L
0

1
4
B 3
F2–16TD2P
7

5
L 10.2-26.4

13 L
L
L
2

3
6

7
VDC 0.25A
CLASS2

A
V1
L
0
24V 4

14
24VDC +
0V 1
5
L
0 2
4 6
L 3
1 7

A
L
5 24V
L
2
0V
L 0
L
6 4
3
1
L 5

B
7 2
L
6
3
24VDC 7
– + 24V B
Reg

C 12–24VDC
0V
Optical
Isolator
+ V1

D OUTPUT
When the A/B switch is in the A position,
the LEDs display the output status of the
module’s first 8 output points. Positon B
L displays the output status of the mod-
ule’s second group of 8 output points.

2–40 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

D2–32TD1, DC Output D2–32TD2, DC Output


D2-32TD1 DC Output D2-32TD2 DC Output 1
Outputs per Module 32 (current sinking) Outputs per Module 32 (current sourcing)
Commons per Module
Output Type
4 (8 I/O terminal points)
NPN open collector
Commons per Module
Output Type
4 (8 I/O terminal points)
Transistor
2
Operating Voltage 12-24 VDC Operating Voltage 12 to 24 VDC
Peak Voltage 30 VDC Peak Voltage 30 VDC 3
ON Voltage Drop 0.5 VDC maximum ON Voltage Drop 0.5 VDC @ 0.1 A
Minimum Load Current
Max Load Current
0.2 mA
0.1A/point; 3.2A per module
Minimum Load Current
Max Load Current
0.2 mA
0.1A/point; 0.8A/common
4
Max Leakage Current 0.1 mA @ 30 VDC Max Leakage Current 0.1 mA @ 30 VDC
Max Inrush Current 150 mA for 10 ms Max Inrush Current 150 mA @ 10 ms 5
Base Power Required 5VDC 350 mA Base Power Required 5VDC 350 mA
OFF to ON Response
ON to OFF Response
0.5 ms
0.5 ms
OFF to ON Response
ON to OFF Response
0.5 ms
0.5 ms
6
Terminal Type (not included) removable 40-pin connector1 Terminal Type (not included) Removable 40-pin connector1
Status Indicator Module activity (no I/O status
indicators) Status Indicator Module activity (no I/O status
indicators)
7
Weight 2.1 oz. (60g) Weight
Fuses None Fuses
2.1 oz (60g)
None 8
20-28 VDC max. 120 mA (all 1
Connector sold separately.
External DC Power Required
1
Connector sold separately.
points on) See Terminal Blocks and Wiring for wiring options.
9
See Terminal Blocks and Wiring for wiring options.

10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 2–41


Chapter 2: Installation, Wiring and Specifications

F2–08TA, AC Output D2–08TA, AC Output


1 F2-08TA AC Output D2-08TA AC Output
Outputs per Module 8 Outputs per Module 8

2 Commons per Module


Output Type
2 (Isolated)
SSR (Triac with zero crossover)
Commons per Module
Output Type
1 (2 I/O terminal points)
SSR (Triac)
Operating Voltage 24-140 VAC Operating Voltage 15-264 VAC
3 Peak Voltage 140 VAC Peak Voltage 264 VAC
< 1.5 VAC (>0.1A)
ON Voltage Drop 1.6 V(rms) @ 1.5A
ON Voltage Drop < 3.0 VAC (<0.1A)
4 AC Frequency
Minimum Load Current
47 to 63 Hz
50 mA AC Frequency 47 to 63 Hz
1.5A / pt @ 30ºC Minimum Load Current 10 mA

5 Max Load Current 1.0A / pt @ 60ºC


4.0A / common; 8.0A / module
@ 60ºC
Max Load Current 0.5A/point; 4A/common
4 mA (264 VAC, 60 Hz)
Max Leakage Current 0.7 mA(rms) Max Leakage Current 1.2 mA (100 VAC, 60 Hz)
6 Peak One Cycle Surge 15A Max Inrush Current
0.9 mA (100 VAC, 50 Hz)
10A for 10 ms
Current
Base Power Required 5VDC 250 mA
7 Base Power Required 5VDC 250 mA
OFF to ON Response 0.5 ms - 1/2 cycle OFF to ON Response 1 ms

ON to OFF Response 0.5 ms - 1/2 cycle ON to OFF Response 1 ms + 1/2 cycle

8 Terminal Type (included) Removable; D2-8IOCON Terminal Type (included)


Status Indicator
Removable; D2-8IOCON
Logic side
Status Indicator Logic side
Weight 2.8 oz. (80g)
9 Weight
Fuses
3.5 oz.
None Fuses 1 per common, 6.3A slow blow,
non-replaceable

10
11
12
13
14
A
B
C
D

2–42 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

D2–12TA, AC Output
D2-12TA AC Output Max Leakage Current 2mA (132 VAC, 60 Hz) 1
Outputs per Module 12 Max Inrush Current 10A for 10 ms
Outputs Points Consumed
Commons per Module
16 (four unused, see chart below)
2 (isolated)
Base Power Required 5VDC 350 mA
OFF to ON Response 1 ms
2
Output Type SSR (Triac) ON to OFF Response 1 ms + 1/2 cycle
Operating Voltage 15-132 VAC Terminal Type (included) Removable; D2-16IOCON 3
Peak Voltage 132 VAC Status Indicator Logic side

ON Voltage Drop
< 1.5VAC (>50mA)
< 4.0VAC (<50mA)
Weight 2.8 oz. (80g)
(2) 1 per common
4
AC Frequency 47 to 63 Hz Fuses 3.15A slow blow, replaceable
Minimum Load Current 10 mA Order D2-FUSE-1 (5 per pack) 5
Max Load Current 0.3A/point; 1.8A/common

6
7
Points
Derating Chart
250mA / Pt. Addres s es Us ed 8
12 P oints Us ed? P oints Us ed?
9 300mA / Pt.
OUT 18--110
Yn+0
Yn+1
Yes
Yes
Yn+10
Yn+11
Yes
Yes
9
6 VAC Yn+2 Yes Yn+12 Yes
3
A 0
1
4
5
Yn+3
Yn+4
Yes
Yes
Yn+13
Yn+14
Yes
Yes
10
0 2 Yn+5 Yes Yn+15 Yes
0
32
10
50
20
68
30
86
40
104
Ambient Temperature (˚C/˚F )
50 55 ˚C
122131 ˚ F
B 3
D2--12TA
Yn+6
Yn+7
No
No
Yn+16
Yn+17
No
No
11
15--132 VAC

L
0
CA
15--132VAC
10mA--0.3A
50/60 Hz
n is the starting address
12
4 CA
L 0
L
L
L
1

2
5

NC
1
2
4
5
13
Internal module circuitry
3 3
L

15--132 VAC
NC
NC

CB L
OUTP UT Optical
Is olator To LE D
14
CB 0
0 4
L
L
L
1
4

5
1
2
5 A
L
2 3 COM
L

L
3
NC

NC
D2--12TA
15--132
VAC
3.15A B
C
D

DL205 User Manual, 4th Edition, Rev. A 2–43


Chapter 2: Installation, Wiring and Specifications

D2–04TRS, Relay Output


1
D2-04TRS Relay Output Max Leakage Current 0.1 mA @ 264 VAC

2 Outputs per Module


Outputs Points Consumed
4
8 (only 1st 4pts. are used)
Max Inrush Current
Base Power Required 5VDC
5A for < 10 ms
250 mA
Commons per Module 4 (isolated) OFF to ON Response 10 ms
3 Output Type Relay, form A (SPST) ON to OFF Response 10 ms
Operating Voltage 5-30 VDC / 5-240 VAC Terminal Type (included) Removable; D2-8IOCON

4 Peak Voltage
ON Voltage Drop
30 VDC, 264 VAC
0.72 VDC maximum
Status Indicator
Weight
Logic side
2.8 oz. (80 g)
AC Frequency 47 to 63 Hz 1 per point
5 Minimum Load Current 10 mA
Fuses 6.3A slow blow, replaceable
Order D2-FUSE-3 (5 per pack)
Max Load Current (resistive) 4A/point; 8A/module (resistive)

6
Typical Relay Life (Operations)
7 Voltage & Load Current
Type of Load 1A 2A 3A 4A
8 24 VDC Resistive 500k 200k 100k 50k
24 VDC Solenoid 100k 40k –– – Points Derating Chart

9 110 VAC Resistive


110 VAC Solenoid
500k
200k
250k
100k
150k
50k
100k

4 2A /
Pt.
220 VAC Resistive 350k 150k 100k 50k 3 3A /

10 220 VAC Solenoid 100k 50k –– ––


At 24 VDC, solenoid (inductive) loads over 2A cannot be used. 2
Pt.
4A /
Pt.
At 100 VAC, solenoid (inductive) loads over 3A cannot be used.
11 At 220 VAC, solenoid (inductive) loads over 2A cannot be used.
1

0
0 10 20 30 40 50 55 ˚ C

12 OUT

0
RELAY 32 50 68 86 104
Ambient Temperature (˚C/˚F )
122 131 ˚ F

1
13 2
3
D2--04TR S

14 5-240VAC
4A50/60Hz
5--30VDC
10mA--4A
NC
Internal module circuitry

A 5--30 VDC
5--240 VAC C0
NC NC
NC
C0
OUTP UT
0 0 L
L
L

B L
C1
1
C1

L
C2
1
To LE D
C2
2

C L
C3
2
L
C3

L
3 5--30 VDC
COM

6.3A
3 5--240 VAC

D
L
D2--04TR S

2–44 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

D2–08TR, Relay Output


1
D2-08TR Relay Output Max Leakage Current 0.1 mA @265 VAC
Outputs per Module
Outputs Points Consumed
8
8
Max Inrush Current
Output: 3A for 10 ms
Common: 10A for 10 ms 2
Base Power Required 5VDC 250 mA
Commons per Module 1 (2 I/O terminals)
Output Type Relay, form A (SPST)
OFF to ON Response
ON to OFF Response
12 ms
10 ms
3
Operating Voltage 5-30 VDC; 5-240 VAC
Terminal Type (included) Removable; D2-8IOCON
Peak Voltage
ON Voltage Drop
30 VDC, 264 VAC
N/A
Status Indicator Logic side 4
Weight 3.9 oz. (110g)
AC Frequency 47 to 60 Hz
Minimum Load Current 5mA @ 5VDC Fuses
One 6.3A slow blow, replaceable
Order D2-FUSE-3 (5 per pack)
5
Max Load Current (resistive) 1A/point; 4A/common
6
Typical Relay Life (Operations)
Voltage/Load Current Closures 7
24 VDC Resistive 1A 500k
24 VDC Solenoid
110 VDC Resistive
1A
1A
100k
500k
8
110 VDC Solenoid 1A 200k
220 VAC Resistive
220 VAC Solenoid
1A
1A
350k
100k
Points Derating Chart
9
8
0.5A / Pt.
OUT RELAY 6
10
0
1
2
4
5
6
4
1A / Pt.
11
3 7 2
D2--08TR
0
12
5-240VAC

5--30 VDC
5--240 VAC C
Internally
connected
1A50/60Hz
5--30VDC
5mA--1A

C
0
32
10
50
20
68
30
86
40
104
50 55 ˚C
122131 ˚ F
Ambient Temperature (˚C/˚F )
13
C
C

L
0
4
L
0
4
14
L
L
1
L

L
1
5
2
5 Internal module circuitry A
2
6
L

L
3
6
3
7
L
OUTP UT
B
L

L
7
D2--08TR
To LE D
C
COM

5--30 VDC
5--240 VAC
6.3A D

DL205 User Manual, 4th Edition, Rev. A 2–45


Chapter 2: Installation, Wiring and Specifications

F2–08TR, Relay Output


1 F2-08TR Relay Output Typical Relay Life1 (Operations)
Outputs per Module 8 at Room Temperature
2 Outputs Points Consumed
Commons per Module
8
2 (isolated), 4-pts. per common Voltage & Type of Load 2 Load Current
Output Type 8, Form A (SPST normally open) 50 mA 5A 7A
3 Operating Voltage
7A @ 12-28 VDC, 12-250VAC;
24 VDC Resistive
24 VDC Solenoid
10M
-
600k
150k
300k
75k
0.5A @ 120 VDC 110 VDC Resistive – 600k 300k
4 Peak Voltage
ON Voltage Drop
150 VDC, 265 VAC
N/A
110 VDC Solenoid
220 VAC Resistive


500k
300k
200k
150k
220 VAC Solenoid – 250k 100k
AC Frequency 47 to 63Hz
5 Minimum Load Current 10 mA @ 12 VDC
3
1) Contact life may be extended beyond those values shown with
the use of arc suppression techniques described in the DL205 User
Max Load Current (resistive) 10A/point (subject to derating) Manual. Since these modules have no leakage current, they do not
have built-in snubber. For example, if you place a diode across a
6 Max Leakage Current
Max of 10A/common
N/A 24 VDC inductive load, you can significantly increase the life of the
relay.
Max Inrush Current 12A
7 Base Power Required 5VDC
OFF to ON Response
670 mA
15 ms (typical)
2) At 120 VDC 0.5A resistive load, contact life cycle is 200k cycles.
3) Normally closed contacts have 1/2 the current handling
capability of the normally open contacts.
ON to OFF Response 5 ms (typical)
8 Terminal Type (included) Removable; D2-8IOCON
Status Indicator Logic side Derating Chart

9 Weight
Fuses
5.5 oz. (156g)
None
8 2.5 A/pt.

6 3 A/pt.

10 Number
Points On 4 5A/pt.
(100% duty

11 cycle) 2

0
10 A/pt.

0 10 20 30 40 50 55 °C
12 32 50 68 86 104 122 131 °F
Ambient Temperature (°C/°F )
OUT RELAY

13 0
1
4
5
2 6 Typical Circuit
3 7
14 F 2--08TR
12--250VAC
10A50/60Hz
12--28VDC
12--250VAC Internal Circuitry

12--28VDC Common

A L

L
10ma--10A

NO 0
NO 1 L
NO

C0-3

B L

L
NO 2

NO 3
L NO 4

C L NO 5

C4-7
NO 6
L
NO 7

D L

2–46 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

F2–08TRS, Relay Output


F2-08TRS Relay Output Typical Relay Life1 (Operations) at Room 1
Outputs per Module 8 Temperature
Outputs Points Consumed
Commons per Module
8
8 (isolated)
Voltage & Load Current 2
Type of Load 2 50mA 5A 7A
3, Form C (SPDT)
Output Type 5, Form A (SPST normally open)
7A @ 12-28 VDC, 12-250 VAC
24 VDC Resistive
24 VDC Solenoid
10M
-
600k
150k
300k
75k
3
Operating Voltage 0.5A @ 120VDC 110 VDC Resistive – 600k 300k
Peak Voltage
ON Voltage Drop
150 VDC, 265 VAC
N/A
110 VDC Solenoid
220 VAC Resistive


500k
300k
200k
150k
4
220 VAC Solenoid – 250k 100k
AC Frequency
Minimum Load Current
47 to 63Hz
10 mA @ 12 VDC
1) Contact life may be extended beyond those values shown with the
use of arc suppression techniques described in the DL205 User
5
Max Load Current (resistive) 7A/point 3 (subject to derating) Manual. Since these modules have no leakage current, they do not
Max Leakage Current N/A
have built-in snubber. For example, if you place a diode across a
24 VDC inductive load, you can significantly increase the life of the 6
Max Inrush Current 12A relay.
Base Power Required 5VDC
OFF to ON Response
670 mA
15 ms (typical)
2) At 120 VDC 0.5A resistive load, contact life cycle is 200k cycles.
3) Normally closed contacts have 1/2 the current handling
7
ON to OFF Response 5 ms (typical) capability of the normally open contacts.
Terminal Type (included) Removable; D2-16IOCON 8
Status Indicator Logic side Derating Chart

8
Weight
Fuses
5.5oz. (156g)
None 6 5A/pt.
4A/
pt. 9
Number
Points On 4
(100% duty
6A/
pt. 10
cycle) 2 7A/pt.

0
0 10 20 30 40 50 55 ˚C
11
32 50 68 86 104 122131 ˚ F
Ambient Temperature (˚C/˚F )
12
OUT RELAY
13
Typical Circuit
NO 0
0 4 (points 1,2,3,4,5)
12--28VDC
12--250VAC C1

C0
L

12--28VDC
12--250VAC
1
2
3
5
6
7
12--28VDC
12--250VAC Internal Circuitry
14
NO 1 Common
L F 2--08TR S
12--28VDC
12--250VAC C2
NC 0 normally clos ed

C3
L

12--28VDC
12--250VAC
12--250VAC
7A50/60Hz
12--28VDC
10ma--7A
L
NO
A
NO 0
L

12--28VDC
12--250VAC
NO 2

C4
NO 3
L
C1

NO 1

C2
C0

NC 0
B
12--28VDC C3 Typical Circuit
C5 12--250VAC NO 2

L
NO 4

NO 5
L
C4

NO 4
NO 3

C5

NO 5
12--28VDC
12--250VAC
(P oints 0, 6, & 7 only)

Internal Circuitry
C
normally clos ed NC 6 NC 6
NC 7

D
L
C6 Common
NC 7 normally clos ed
L C7
12--28VDC NO 6
12--250VAC C6
NO7 NO
12--28VDC
C7 12--250VAC L

NO 6 NC
L L
NO 7
L

DL205 User Manual, 4th Edition, Rev. A


2–47
Chapter 2: Installation, Wiring and Specifications

D2–12TR, Relay Output


1 D2-12TR Relay Output Typical Relay Life (Operations)
Outputs per Module 12
2 Outputs Points Consumed 16 (four unused, see chart below)
Voltage/Load
24 VDC Resistive
Current
1A
Closures
500k
Commons per Module 2 (6-pts. per common) 24 VDC Solenoid 1A 100k
3 Output Type
Operating Voltage
Relay, form A (SPST)
5-30 VDC; 5-240 VAC
110 VDC Resistive
110 VDC Solenoid
1A
1A
500k
200k
220 VAC Resistive 1A 350k
Peak Voltage 30 VDC; 264 VAC
4 ON Voltage Drop N/A
220 VAC Solenoid 1A 100k

AC Frequency 47 to 60 Hz

5 Minimum Load Current


Max Load Current (resistive)
5 mA @ 5VDC
1.5 A/point; Max of 3A/common
Addresses Used
Max Leakage Current 0.1 mA @ 265 VAC Points Used? Points Used?
6 Max Inrush Current
Output: 3A for 10 ms
Common: 10A for 10 ms
Yn+0
Yn+1
Yes
Yes
Yn+10
Yn+11
Yes
Yes
Base Power Required 5VDC 450 mA Yn+2 Yes Yn+12 Yes
7 OFF to ON Response 10 ms Yn+3 Yes Yn+13 Yes
ON to OFF Response 10 ms Yn+4 Yes Yn+14 Yes
8 Terminal Type (included)
Status Indicator
Removable; D2-16IOCON
Logic side
Yn+5
Yn+6
Yes
No
Yn+15
Yn+16
Yes
No
Weight 4.6 oz. (130g) Yn+7 No Yn+17 No
9 Fuses
(2) 4A slow blow, replaceable
Order D2-FUSE-4 (5 per pack)
n is the starting address

10
Derating Chart
Points

11 12
0.5A / Pt.

OUT RELAY 8

12 A 0 4 4
0.75A / Pt.
1.25A / Pt.

1 5
2 1.5A / Pt.
13 5--30 VDC
B 3
D2--12TR
0
0 10 20 30 40 50 55 ˚C
5--240 VAC CA
32 50 68 86 104 122131 ˚ F
Ambient Temperature (˚C/˚F )
14 L
L

L
0

1
4
5--240VAC
1.5A50/60Hz
5--30VDC
5mA--1.5A

CA
5 0
L
4 Internal module circuitry

A
2
L 1
NC
5
3 2 OUTP UT
L L
NC
3
5--30 VDC

B
NC
5--240 VAC CB CB
0 0 To LE D
L 4
L
4
1
1 5 COM
L 2

C
5
L
2 3 4A
L 5--30 VDC
NC
5--240 VAC
3
L
NC D2--12TR

2–48 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

D2–08CDR, 4 pt. DC Input / 4pt. Relay Output


D2-08CDR 4-pt. DC In / 4pt. Relay Out Output Specifications
Outputs per Module 4
1
General Specifications
Base Power Required 5VDC 200 mA
Terminal Type (included) Removable; D2-8IOCON
Outputs Points Consumed
Commons per Module
8 (only first 4-pts. are used)
1
2
Status Indicator Logic side Output Type Relay, form A (SPST)
Weight 3.5 oz. (100 g) Operating Voltage
Peak Voltage
5-30 VDC; 5-240 VAC
30 VDC; 264 VAC
3
Input Specifications
Inputs per Module
Input Points Consumed
4 (sink/source)
8 (only first 4-pts. are used)
ON Voltage Drop
AC Frequency
N/A
47 to 63 Hz
4
Commons per Module 1 Minimum Load Current 5 mA @ 5 VDC
Input Voltage Range 20-28 VDC Max Load Current (resistive)
Max Leakage Current
1A/point ; 4A/module
0.1 mA @ 264 VAC
5
Peak Voltage 30 VDC
ON Voltage Level
OFF Voltage Level
19 VDC minimum
7 VDC maximum
Max Inrush Current
3A for < 100 ms
10 A for < 10 ms (common) 6
OFF to ON Response 12 ms
AC Frequency N/A
Input Impedance 4.7 k
ON to OFF Response
Fuses (output circuits)
10 ms
1 (6.3A slow blow, replaceable);
7
Input Current 5 mA @ 24 VDC Order D2-FUSE-3 (5 per pack)
Maximum Current
Minimum ON Current
8 mA @ 30 VDC
4.5 mA
8
Maximum OFF Current 1.5 mA
OFF to ON Response 1 to 10 ms Points Derating Chart 9
ON to OFF Response 1 to 10 ms 4 Out-
puts
Fuses (input circuits) None 3

2
1A / Pt.
Inputs
5mA /
10
Typical Relay Life (Operations) Pt.

Voltage/Load Current Closures


IN/ 24VDC
1

0
11
24 VDC Resistive 1A 500k OUT RELAY
0 10 20 30 40 50 55°C
32 50 68 86 104 122131°F
24 VDC Solenoid
110 VAC Resistive
1A
1A
100k
500k
A 0
1
2
0 B
1
2
Ambient Temperature (°C/°F )
12
110 VAC Solenoid 1A 200k 3 3 Internal module circuitry
220 VAC Resistive
220 VAC Solenoid
1A
1A
350k
100k
D2--08CDR

D2--08CDR
20--28VDC
V+
13
8mA INP UT

CA

L
0
To LE D 14
24VD C 0
Optical
Source

Sink
+ --
CA
O
L
1

L
1

2
Sink

Source
+
COM Is olator

A
L
2 24VDC
0

L
1
1 L
3
3

CB OUTP UT
Internal module circuitry B
2 L
L

L
2

3
5--240VAC
1A50/60Hz
5--30VDC
5mA--1A

To LE D
C
3

5--30 VDC
5--240 VAC
CB

5--30 VDC
5--240 VAC
COM

6.3A
D

DL205 User Manual, 4th Edition, Rev. A 2–49


Chapter 2: Installation, Wiring and Specifications

Glossary of Specification Terms


1
Inputs or Outputs Per Module
2 Indicates number of input or output points per module and designates current sinking,
current sourcing, or either.
3 Commons Per Module
Number of commons per module and their electrical characteristics.
4 Input Voltage Range
The operating voltage range of the input circuit.
5 Output Voltage Range
The operating voltage range of the output circuit.
6 Peak Voltage
Maximum voltage allowed for the input circuit.
7
AC Frequency
8 AC modules are designed to operate within a specific frequency range.
ON Voltage Level
9 The voltage level at which the input point will turn ON.
OFF Voltage Level
10 The voltage level at which the input point will turn OFF.
Input impedance
11 Input impedance can be used to calculate input current for a particular operating voltage.
Input Current
12 Typical operating current for an active (ON) input.

13 Minimum ON Current
The minimum current for the input circuit to operate reliably in the ON state.
14 Maximum OFF Current
The maximum current for the input circuit to operate reliably in the OFF state.
A Minimum Load
The minimum load current for the output circuit to operate properly.
B External DC Required
Some output modules require external power for the output circuitry.
C ON Voltage Drop
Sometimes called “saturation voltage”, it is the voltage measured from an output point to its
D common terminal when the output is ON at max. load.

2–50 DL205 User Manual, 4th Edition, Rev. A


Chapter 2: Installation, Wiring and Specifications

Maximum Leakage Current


The maximum current a connected maximum load will receive when the output point is
OFF.
1
Maximum Inrush Current
The maximum current used by a load for a short duration upon an OFF to ON transition of
2
a output point. It is greater than the normal ON state current and is characteristic of
inductive loads in AC circuits. 3
Base Power Required 4
Power from the base power supply is used by the DL205 input modules and varies between
different modules. The guidelines for using module power is explained in the power budget
configuration section in Chapter 4–7. 5
OFF to ON Response
The time the module requires to process an OFF to ON state transition. 6
ON to OFF Response 7
The time the module requires to process an ON to OFF state transition.
Terminal Type
Indicates whether the terminal type is a removable or non-removable connector or a terminal.
8
Status Indicators 9
The LEDs that indicate the ON/OFF status of an input point. These LEDs are electrically
located on either the logic side or the field device side of the input circuit. 10
Weight
Indicates the weight of the module. See Appendix F for a list of the weights for the various
DL205 components.
11
Fuses 12
Protective devices for an output circuit, which stop current flow when current exceeds the
fuse rating. They may be replaceable or non–replaceable, or located externally or internally. 13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 2–51


Chapter 2: Installation, Wiring and Specifications

Notes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D

2–52 DL205 User Manual, 4th Edition, Rev. A


CPU SPECIFICATIONS AND CHAPTER
OPERATIONS
In This Chapter
3
CPU Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–2
CPU General Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–4
CPU Base Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . .3–5
CPU Hardware Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–6
Selecting the Program Storage Media . . . . . . . . . . . . . . . . . . . . . . .3–9
Using Battery Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–14
CPU Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–21
I/O Response Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–27
CPU Scan Time Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . .3–29
PLC Numbering Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–35
Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–37
DL230 System V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–41
DL240 System V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–43
DL250–1 System V-memory (DL250 also) . . . . . . . . . . . . . . . . . . .3–46
DL260 System V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–49
DL205 Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–52
DL230 Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–53
DL240 Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–54
DL250–1 Memory Map (DL250 also) . . . . . . . . . . . . . . . . . . . . . . .3–55
DL260 Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–56
X Input/Y Output Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–57
Control Relay Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–59
Stage Control/Status Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–63
Timer and Counter Status Bit Maps . . . . . . . . . . . . . . . . . . . . . . . .3–65
Remote I/O Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–66
Chapter 3: CPU Specifications and Operations

CPU Overview
1 The Central Processing Unit is the heart of the PLC. Almost all
system operations are controlled by the CPU, so it is important
2 that it is set-up and installed correctly. This chapter provides the
information needed to understand:
3 • The differences between the various models of CPUs
• The steps required to setup and install the CPU
4 General CPU Features
The DL230, DL240, DL250–1 and D2–260 are modular CPUs
5 which can be installed in 3, 4, 6, or 9 slot bases. All I/O modules
in the DL205 family will work with any of the CPUs. The
DL205 CPUs offer a wide range of processing power and program instructions. All offer RLL
6 and Stage program instructions (See Chapter 5). They also provide extensive internal
diagnostics that can be monitored from the application program or from an operator
7 interface.
DL230 CPU Features
8 The DL230 has 2.4K words of memory comprised of 2.0K of ladder memory and
approximately 400 words of V-memory (data registers). It has 92 different instructions
9 available for programming, and supports a maximum of 256 I/O points.
Program storage is in the factory-installed EEPROM. In addition to the EEPROM there is
also RAM on the CPU which will store system parameters, V-memory, and other data which
10 is not in the application program.
The DL230 provides one built-in RS-232 communication port, so you can easily connect a
11 handheld programmer or a personal computer without needing any additional hardware.
DL240 CPU Features
12 The DL240 has a maximum of 3.8K of memory comprised of 2.5K of ladder memory and
approximately 1.3K of V-memory (data registers). There are 129 instructions available for
13 program development and a maximum of 256 points local I/O and 896 points with remote
I/O are supported.
14 Program storage is in the factory-installed EEPROM. In addition to the EEPROM there is
also RAM on the CPU which will store system parameters, V-memory and other data which
is not in the application program.
A The DL240 has two communication ports. The top port is the same port configuration as the
DL230. The bottom port also supports the DirectNET protocol, so you can use the DL240
B in a DirectNET network. Since the port is RS-232, you must use an RS-232/RS-422
converter for multi-drop connections.
C
D

3–2 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

DL250–1 CPU Features


The DL250–1 replaces the DL250 CPU. It offers all the DL240 features, plus more program
instructions and a built–in Remote I/O Master port. It offers all the features of the DL250
1
CPU with the addition of supporting Local expansion I/O. It has a maximum of 14.8K of
program memory comprised of 7.6K of ladder memory and 7.2K of V-memory (data 2
registers). It supports a maximum of 256 points of local I/O and a maximum of 768 I/O
points (max. of two local expansion bases). In addition, port 2 supports up to 2048 points if
you use the DL250–1 as a Remote master. It includes an internal RISC–based microprocessor
3
for greater processing power. The DL250–1 has 240 instructions. The instructions are in
addition to the DL240 instruction set which include drum timers, a print function, floating 4
point math, PID loop control for 4 loops and the Intelligent Box (IBox) instructions.
The DL250–1 has a total of two built–in communications ports. The top port is identical to 5
the top port of the DL240, with the exception of the DirectNet slave feature. The bottom
port is a 15–pin RS-232/RS-422 port. It will interface with DirectSOFT and operator
interfaces, and provides DirectNet and Modbus RTU Master/Slave connections.
6
DL260 CPU Features 7
The DL260 offers all the DL250–1 features, plus ASCII IN/OUT and expanded Modbus
instructions. It also supports up to 1280 local I/O points by using up to four local expansion
bases. It has a maximum of 30.4K of program memory comprised of 15.8K of ladder
8
memory (saved on flash memory) and 14.6K of V-memory (data registers). It also includes an
internal RISC–based microprocessor for greater processing power. The DL260 has 297 9
instructions. In addition to those in the DL250–1 instruction set, the DL260 instruction set
includes table instructions, trigonometric instructions and support for 16 PID loops. 10
The DL260 has a total of two built–in communications ports. The top port is identical to the
top port of the DL250–1. The bottom port is a 15–pin RS-232/RS-422/RS-485 port. It will
interface with DirectSOFT (version 4.0 or later), operator interfaces, and provides DirectNet,
11
Modbus RTU Master/Slave connections. Port 2 also supports ASCII IN/OUT instructions.
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 3–3


Chapter 3: CPU Specifications and Operations

CPU General Specifications


1 Feature DL230 DL240 DL250–1 DL260
Total Program memory (words) 2.4K 3.8K 14.8K 30.4K
2 Ladder memory (words) 2048 2560 7680 (Flash) 15872 (Flash)
V-memory (words) 256 1024 7168 14592
3 Non-volatile V Memory (words)
Boolean execution /K
128
4–6 ms
256
10–12 ms
No
1.9ms
No
1.9ms

4 RLL and RLLPLUS Programming


Handheld programmer
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes (requires
5 DirectSOFT programming for Windows. Yes Yes Yes version 4.0 or
higher)
One RS–232 One RS–232
6 Built-in communication ports One RS–232 Two RS–232 One RS–232 or
RS–422
One RS–232,
RS–422 or RS–485
EEPROM Standard on CPU Standard on CPU Flash Flash
7 Total CPU memory I/O points available 256 (X,Y,CR) 896 (X,Y,CR) 2048 (X,Y,CR) 8192
(X,Y,CR,GX,GY)
Local I/O points available 256 256 256 256
8 Local Expansion I/O points (including N/A N/A 768 (2 exp. bases 1280 (4 exp. bases
local I/O and expansion I/O points) max.) max.)

9 Serial Remote I/O points (including


local I/O and expansion I/O points)
N/A 896 2048 8192

Serial Remote I/O Channels


10 Max Number of Serial Remote Slaves
N/A
N/A
2 8 8
7 Remote / 31 Slice 7 Remote / 31 Slice 7 Remote / 31 Slice

11 Ethernet Remote I/O Discrete points N/A 896 2048 8192


Ethernet Remote I/O Analog I/O N/A Map into V–memory Map into V–memory Map into V–memory
12 channels
Ethernet Remote I/O channels N/A limited by power limited by power limited by power
budget budget budget
13 Max Number of Ethernet slaves per
channel
N/A 16 16 16

16,384 (16 fully 16,384 (16 fully


14 16,384 (limited to
expanded H4–EBC
slaves using
expanded H4–EBC
slaves using
I/O points per Remote channel N/A 896 by CPU) V–memory and V–memory and
A bit–of–word
instructions)
bit–of–word
instructions
I/O Module Point Density 4/8/12/16/32 4/8/12/16/32 4/8/12/16/32 4/8/12/16/32
B Slots per Base 3/4/6/9 3/4/6/9 3/4/6/9 3/4/6/9

C
D

3–4 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

Feature DL230 DL240 DL250–1 DL260


Number of instructions available
(see Chapter 5 for details)
92 129 240 297
1
Control relays
Special relays (system defined)
256
112
256
144
1024
144
2048
144
2
Stages in RLLPLUS 256 512 1024 1024
Timers 64 128 256 256 3
Counters 64 128 128 256
Immediate I/O Yes Yes Yes Yes 4
Interrupt input (hardware / timed) Yes / No Yes / Yes Yes / Yes Yes / Yes
Subroutines
Drum Timers
No
No
Yes
No
Yes
Yes
Yes
Yes
5
Table Instructions No No No Yes
For/Next Loops No Yes Yes Yes 6
Integer, Integer,
Math Integer Integer Floating Point Floating Point,
Trigonometric 7
ASCII No No Yes, OUT Yes, IN/OUT
PID Loop Control, Built In No No Yes, 4 Loops Yes, 16 Loops 8
Time of Day Clock/Calendar No Yes Yes Yes
Run Time Edits
Supports Overrides
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
9
Internal diagnostics Yes Yes Yes Yes
Password security Yes Yes Yes Yes 10
System error log No Yes Yes Yes
User error log No Yes Yes Yes 11
Battery backup Yes (optional) Yes (optional) Yes (optional) Yes (optional)

12
CPU Base Electrical Specifications 13
Specification AC Powered Bases 24 VDC Powered Bases 125 VDC Powered Bases

Part Numbers
D2–03B–1
D2–04B–1
D2–03BDC1–1
D2–04BDC1–1 D2–06BDC2–1 14
D2–06B–1 D2–06BDC1–1 D2–09BDC2–1
D2–09B–1 D2–09BDC1–1
Input Voltage Range 100–240 VAC +10% –15% 10.2–28.8 VDC (24 VDC) 104–240 VDC +10% –15%
A
with less than 10% ripple
Maximum Inrush Current
Maximum Power
30 A
80 VA
10 A
25 W
20 A
30 W
B
Voltage Withstand (dielectric) 1 minute @ 1500 VAC between primary, secondary, field ground, and run relay
Insulation Resistance > 10 M⏲ at 500 VDC C
20–28 VDC, less than 1V p-p None 20–28 VDC, less than 1V p-p
Auxiliary 24 VDC Output

Fusing (internal to base


300 mA max.
non–replaceable 2 A @ 250 V non–replaceable 3.15 A @
300 mA max.
non–replaceable 2 A @ 250 V
D
slow blow fuse; 250 V slow blow fuse; slow blow fuse;
power supply) external fusing recommended external fusing recommended external fusing recommended

DL205 User Manual, 4th Edition, Rev. A 3–5


Chapter 3: CPU Specifications and Operations

CPU Hardware Setup


1
Communication Port Pinout Diagrams
2 Cables are available that allow you to quickly and easily connect a Handheld Programmer or a
personal computer to the DL205 CPUs. However, if you need to build a cable(s), use the
pinout descriptions shown on the following pages. You can also use the Tech Support/Cable
3 Wiring diagrams located on our website.
The DL240, DL250–1 and DL260 CPUs have two ports while the DL230 has only one. All
4 of the CPUs require at least one RJ-12 connector. The DL250-1 and DL260 require one 15
pin D-shell connector.
5
6 Port 1
DL250–1 and DL260 DL260

7 RJ12 Phone Jack


RS-232, 9600 baud
Communication Port
Port 2
DL250–1 and DL260
15-pin HD Connector
Port 2
Additional DL260 Features
–ASCII IN/OUT Instructions
–K-sequence RS-232/RS-422, up to 38.4K baud –Extended Modbus Instructions
8 –DirectNET slave
–Modbus RTU slave
–easily connect
Communication Port
–K-sequence
–RS-485 support

–DirectNET Master/Slave
DirectSOFT, –Modbus RTU Master/Slave
9 handhelds, operator
interfaces, any DirectNet
master
–easily connect
DirectSOFT,
handhelds, operator
interfaces, any DirectNet
10 or Modbus master or slave

11 PWR
BATT
RUN
CPU
Port 1
RJ12 Phone Jack
PWR
BATT
RUN
CPU

DL230 RS-232, 9600 baud


12 CPU Communication Port
–K-sequence
DL240
CPU
RUN
TERM

–easily connect CH1


DirectSOFT, handhelds,
13 operator interfaces, etc.
CH2

CH3

Port 2 CH4

14 PORT
?1 RJ12 Phone Jack
RS-232, up to 19.2K baud
Communication Port
PORT1

–K-sequence
A –DirectNET slave
–easily connect
DirectSOFT, handhelds,
PORT2

operator interfaces, or any


B DirectNet master

C
D

3–6 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

Port 1 Specifications
 230 The operating parameters for Port 1 on the DL230 and DL240 CPUs are fixed. 1
 240 • 6-pin female modular (RJ12 phone jack) type connector
 250-1 • K–sequence protocol (slave only) 2
 260 • RS-232, 9600 baud
• Connect to DirectSOFT, D2–HPP, DV–1000, HMI panels 3
• Fixed station address of 1
• 8 data bits, one stop 4
• Asynchronous, Half–duplex, DTE
• Odd parity 5
Port 1 Pin Descriptions (DL230 and DL240)
1
1 0V Power (–) connection (GND) 6
6 2 5V Power (+) connection
3
4
RXD
TXD
Receive Data (RS-232)
Transmit Data (RS-232)
7
6-pin Female
Modular Connector
5
6
5V
0V
Power (+) connection
Power (–) connection (GND)
8
Port 1 Specifications
The operating parameters for Port 1 on the DL250–1 and DL260 CPU are fixed. This 9
 230 applies to the DL250 as well.
 240 • 6-pin female modular (RJ12 phone jack) type connector 10
 250-1
 260 • K–sequence protocol (slave only)
11
• DirectNET (slave only)
• Modbus RTU (slave only)
• RS-232, 9600 baud 12
• Connect to DirectSOFT, D2–HPP, DV1000 or DirectNET master
• 8 data bits, one start, one stop 13
• Asynchronous, Half–duplex, DTE
• Odd parity 14
Port 1 Pin Descriptions (DL250-1 and DL260) A
1 1 0V Power (–) connection (GND)
6 2
3
5V
RXD
Power (+) connection
Receive Data (RS-232C)
B
4 TXD Transmit Data (RS-232C
6-pin Female 5 5V Power (+) connection C
Modular Connector 6 0V Power (–) connection (GND)
D
NOTE: The 5V pins are rated at 200mA maximum, primarily for use with some operator interface units.

DL205 User Manual, 4th Edition, Rev. A 3–7


Chapter 3: CPU Specifications and Operations

Port 2 Specifications
1  230 The operating parameters for Port 2 on the DL240 CPU are configurable using Aux
functions on a programming device.
 240
2  250-1
• 6-Pin female modular (RJ12 phone jack)
type connector
1

 260
6

• K–sequence protocol, DirectNET (slave),


3 • RS-232, Up to 19.2K baud 6-pin Female
• Address selectable (1–90) Modular Connector
4 • Connect to DirectSOFT, D2–HPP, Port 2 Pin Descriptions (DL240 only)
DV-1000, HMI, or DirectNET master 1 0V Power (–) connection (GND)
5 • 8 data bits, one start, one stop 2
3
5V
RXD
Power (+) connection
Receive Data (RS-232)
• Asynchronous, Half–duplex, DTE
6 • Odd or no parity
4
5
TXD
RTS
Transmit Data (RS-232)
Request to Send
Port 2 Specifications 6 0V Power (–) connection (GND)
7  230 Port 2 on the DL250-1 and DL260 CPUs is located on the 15-pin D-shell connector. It is
configurable using AUX functions on a programming device. This applies to the DL250 as
8  240 well.
 250-1 • 15-Pin female D type connector
6
1 11

9  260 • Protocol: K-sequence, DirectNET


Master/Slave, Modbus RTU Master/Slave,
Remote I/O, (ASCII IN/OUT DL260 only)
10 • RS-232, non-isolated, distance within 15 m 5
10
15
(approx. 50 feet)
11 • RS-422, non-isolated, distance within
15-pin Female
1000 m
D Connector
12 • RS-485, non–isolated, distance within
1000m (DL260 only) Port 2 Pin Descriptions (DL250–1 / DL260)
13 • Up to 38.4K baud
• Address selectable (1–90)
1
2
5V
TXD2
5 VDC
Transmit Data (RS-232)
3 RXD2 Receive Data (RS-232)
14 • Connects to DirectSOFT, D2–HPP, operator
interfaces, any DirectNET or Modbus 4 RTS2 Ready to Send (RS–232)
master/slave, (ASCII devices-DL260 only) 5 CTS2 Clear to Send (RS–232)
A • 8 data bits, one start, one stop 6
7
RXD2 –
0V
Receive Data – (RS–422) (RS–485 DL260)
Logic Ground
• Asynchronous, Half–duplex, DTE Remote
B I/O 8
9
0V
TXD2 +
Logic Ground
Transmit Data + (RS–422) (RS–485 DL260)
• Odd/even/none parity
10 TXD2 – Transmit Data – (RS–422) (RS–485 DL260)
C 11 RTS2 + Request to Send + (RS–422) (RS–485 DL260)
12 RTS2 – Request to Send – (RS–422)(RS–485 DL260)
D 13
14
RXD2 +
CTS2 +
Receive Data + (RS–422) (RS–485 DL260)
Clear to Send + (RS422) (RS–485 DL260)
15 CTS2 – Clear to Send – (RS–422) (RS–485 DL260)

3–8 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

Selecting the Program Storage Media


1
Built-in EEPROM
 230 The DL230 and DL240 CPUs provide built-in EEPROM storage. This type of memory is
non-volatile and is not dependent on battery backup to retain the program. The EEPROM
2
 240 can be electrically reprogrammed without being removed from the CPU. You can also set
 250-1 Jumper 3, which will write protect the EEPROM. The jumper is set at the factory to allow 3
 260 changes to EEPROM. If you select write protection by changing the jumper position, you
cannot make changes to the program. 4
WARNING: Do NOT change Jumper 2. This is for factory test operations. If you change Jumper 2, the
CPU will not operate properly. 5
Jumper in position
shown selects write
protect for EEPROM 6
7
8
EEPROM
9
EEPROM Sizes 10
The DL230 and DL240 CPUs use different sizes of EEPROMs. The CPUs come from the
factory with EEPROMs already installed. However, if you need extra EEPROMs, select one
that is compatible with the following part numbers.
11
CPU Type
DL230
EEPROM Part Number
Hitachi HN58C65P–25
Capacity
8K byte (2Kw)
12
DL240 Hitachi HN58C256P–20 32K byte (3Kw)
13
EEPROM Operations
There are many AUX functions specifically for use with an EEPROM in the Handheld 14
Programmer. This enables you to quickly and easily copy programs between a program
developed offline in the Handheld and the CPU. Also, you can erase EEPROMs, compare
them, etc. See the DL205 Handheld Programmer Manual for details on using these AUX
A
functions with the Handheld Programmer.
NOTE: If the instructions are supported in both CPUs and the program size is within the limits of the
B
DL230, you can move a program between the two CPUs. However, the EEPROM installed in the Handheld
Programmer must be the same size (or larger) than the CPU being used. For example, you could not install C
a DL240 EEPROM in the Handheld Programmer and download the program to a DL230. Instead, if the
program is within the size limits of the DL230, use a DL230 chip in the Handheld when you obtain the
program from the DL240.
D

DL205 User Manual, 4th Edition, Rev. A 3–9


Chapter 3: CPU Specifications and Operations

Installing the CPU


1  230 The CPU must be installed in the first slot in the base (closest to the power supply). You
cannot install the CPU in any other slot. When inserting the CPU into the base, align the
 240 PC board with the grooves on the top and bottom of the base. Push the CPU straight into
2  250-1 the base until it is firmly seated in the backplane connector. Use the retaining clips to secure
 260 the CPU to the base.
3 WARNING: To minimize the risk of electrical shock, personal injury, or equipment damage, always
disconnect the system power before installing or removing any system component.
4
5
6
Retaining Clips
7 CPU must reside in first slot!

Connecting the Programming Devices


8 The Handheld programmer is connected to the CPU with a handheld programmer cable.
(You can connect the Handheld to either port on a DL240 CPU). The handheld programmer
is shipped with a cable. The cable is approximately 6.5 feet (200 cm).
9
10
11
12
Connect Handheld to either Port
13 If you are using a Personal Computer with the DirectSOFT programming package, you can
use either the top or bottom port.
14
A
B
C
D Connect PC to either Port

3–10 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

Status Indicators

PWR
BATT
RUN
CPU
PWR
BATT
RUN
CPU
Mode Switch 1
DL240
DL230
CPU
Port 1
CPU
RUN
TERM

CH1

CH2
2
3
CH3

CH4
Analog
Adjustments
PORT1
PORT1
Port 2

PORT?
2 4
5
6
Status Indicators
7
DL250-1 DL260

Mode Switch
8
Port 1
9
Port 2
10
Battery Slot
11
CPU Setup Information
Even if you have years of experience using PLCs, there are a few things you need to do before 12
you can start entering programs. This section includes some basic things, such as changing
the CPU mode, but it also includes some things that you may never have to use. Here’s a brief
list of the items that are discussed:
13
• Using Auxiliary Functions
• Clearing the program (and other memory areas)
14
• How to initialize system memory
• Setting retentive memory ranges
A
The following paragraphs provide the setup information necessary to get the CPU ready for
programming. They include setup instructions for either type of programming device you are B
using. The D2–HPP Handheld Programmer Manual provides the Handheld keystrokes
required to perform all of these operations. The DirectSOFT Manual provides a description C
of the menus and keystrokes required to perform the setup procedures via DirectSOFT.
D

DL205 User Manual, 4th Edition, Rev. A 3–11


Chapter 3: CPU Specifications and Operations

Status Indicators
The status indicator LEDs on the CPU front panels have specific functions which can help in
1 programming and troubleshooting.

2 Indicator Status Meaning


ON Power good
3 PWR
OFF
ON
Power failure
CPU is in Run Mode

4 RUN OFF
Blinking
CPU is in Stop or program Mode
CPU is in Firmware Upgrade Mode
ON CPU self diagnostics error
5 CPU
OFF CPU self diagnostics good
ON Low battery voltage (only with System
6 BATT
OFF
Memory bit B7633.12 set)
CPU battery voltage is good or disabled

7 Mode Switch Functions


The mode switch on the DL240, DL250–1 and DL260 CPUs provides positions for
8 enabling and disabling program changes in the CPU. Unless the mode switch is in the TERM
position, RUN and STOP mode changes will not be allowed by any interface device,
(handheld programmer, DirectSOFT programing package or operator interface). Programs
9 may be viewed or monitored but no changes may be made. If the switch is in the TERM
position and no program password is in effect, all operating modes as well as program access
10 will be allowed through the connected programming or monitoring device.
There are two ways to change the CPU mode.
11 • 1. Use the CPU mode switch to select the operating mode.
• 2. Place the CPU mode switch in the TERM position and use a programming device to change
12 operating modes. In this position, you can change between Run and Program modes.

NOTE: If the CPU is switched to the RUN Mode without a program in the PLC, the PLC will produce a
13 FATAL ERROR which can be cleared by cycling the power to the PLC.

Mode Switch Position CPU Action


14 RUN (Run Program) CPU is forced into the RUN mode if no errors are encountered. No
changes are allowed by the attached programming/monitoring device.

A TERM (Terminal) RUN, PROGRAM and the TEST modes are available. Mode and program
changes are allowed by the programming/monitoring device.

B STOP (DL250–1 and DL260 only Stop Program) CPU is forced into the STOP mode. No changes are allowed by the
programming/monitoring device.

C
D

3–12 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

Changing Modes in the DL205 PLC


Mode Switch Position CPU Action 1
CPU is forced into the RUN mode if no errors are encountered.
RUN (Run Program) No changes are allowed by the attached
programming/monitoring device. 2
PROGRAM and the TEST modes are available. Mode and
TERM (Terminal) RUN program changes are allowed by the programming/monitoring
device. 3
CPU is forced into the STOP mode. No changes are allowed by
STOP the programming/monitoring device.
4
There are two ways to change the CPU mode. You can use the CPU mode switch to select
the operating mode, or you can place the mode switch in the TERM position and use a
programming device to change operating modes. With the switch in this position, the CPU
5
can be changed between Run and Program modes. You can use either DirectSOFT or the
Handheld Programmer to change the CPU mode of operation. With DirectSOFT use the 6
PLC menu option PLC > Mode or use the Mode button located on the Online
toolbar. With the Handheld Programmer, you use the MODE key. 7
8
9
10
PLC Menu
11
MODE Key
12
Mode of Operation at Power-up 13
The DL205 CPUs will normally power-up in the mode that it was in just prior to the power
interruption. For example, if the CPU was in Program Mode when the power was
disconnected, the CPU will power-up in Program Mode (see warning note below).
14
WARNING: Once the super capacitor has discharged, the system memory may not retain the previous
mode of operation. When this occurs, the PLC can power-up in either Run or Program Mode if the A
mode switch is in the term position. There is no way to determine which mode will be entered as the
startup mode. Failure to adhere to this warning greatly increases the risk of unexpected equipment
startup.
B
The mode which the CPU will power-up in is also determined by the state of System C
Memory bit B7633.13. If the bit is set and the Mode Switch is in the TERM position, the
CPU will power-up in RUN mode. If B7633.13 is not set with the Mode Switch in TERM
position, then the CPU will power-up in the state it was in when it was powered-down.
D

DL205 User Manual, 4th Edition, Rev. A 3–13


Chapter 3: CPU Specifications and Operations

Using Battery Backup


1 An optional lithium battery is available to maintain the system RAM retentive memory when
the DL205 system is without external power. Typical CPU battery life is five years, which
2 includes PLC runtime and normal shutdown periods. However, consider installing a fresh
battery if your battery has not been changed recently and the system will be shut down for a
period of more than ten days.
3
NOTE: Before installing or replacing your CPU battery, back-up your V-memory and system parameters.
4 You can do this by using DirectSOFT to save the program, V-memory, and system parameters to
hard/floppy disk on a personal computer.

5 To install the D2–BAT CPU battery in DL230 or


DL240 CPUs:
6 1. Gently push the battery connector onto the circuit
board connector.
2. Push the battery into the retaining clip. Don’t use
7 excessive force. You may break the retaining clip.
3. Make a note of the date the battery was installed.
8 DL230 and DL240
DL250-1 and DL260
9 -1 To install the D2–BAT–1 CPU battery in the DL250–1/DL260
CPUs: (#CR2354)
10 1. Press the retaining clip on the battery door down and swing the
battery door open.
2. Place the battery into the coin–type slot with the +, or larger, side
11 out.
3. Close the battery door making sure that it locks securely in place.
12 4. Make a note of the date the battery was installed.

13 WARNING: Do not attempt to recharge the battery or dispose of an old battery by fire. The battery may
explode or release hazardous materials.
14
Battery Backup
A The battery backup is available immediately after the battery has been installed in the DL205
CPUs. The battery low (BATT) indicator will turn on if the battery is less than 2.5VDC
(refer to the Status Indicator table on page 3-12). Special Relay 43 (SP43) will also be
B activated. The low battery indication is enabled by setting bit 12 of V7633 (B7633.12). If the
low battery feature is not desired, do not set bit V7633.12.
C The super capacitor will retain memory IF it is configured as retentive regardless of the state
of B7633.12. The battery will be the same, but for a much longer time.
D

3–14 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

Auxiliary Functions
Many CPU setup tasks involve the use of Auxiliary (AUX) Functions. The AUX Functions
perform many different operations, including clearing ladder memory, displaying the scan
1
time, copying programs to EEPROM in the handheld programmer, etc. They are divided into
categories that affect different system parameters. Appendix A provides a description of the 2
AUX functions.
You can access the AUX Functions from DirectSOFT or from the DL205 Handheld 3
Programmer. The manuals for those products provide step-by-step procedures for accessing
the AUX Functions. Some of these AUX Functions are designed specifically for the Handheld
Programmer setup, so they will not be needed (or available) with the DirectSOFT package.
4
The following table shows a list of the Auxiliary functions for the different CPUs and the
Handheld Programmer. 5
NOTE: The Handheld Programmer may have additional AUX functions that are not supported with the
DL205 CPUs. 6
AUX Function and AUX Function and
7
230 240 250–1 260 230 240 250–1 260 HPP
Description Description
AUX 2* — RLL Operations AUX 6* — Handheld Programmer Configuration 8
21 Check Program     61 Show Revision Numbers     –
22 Change Reference     62 Beeper On / Off X X X X  9
23 Clear Ladder Range     65 Run Self Diagnostics X X X X 
24 Clear All Ladders  
AUX 3* — V-Memory Operations
  AUX 7* — EEPROM Operations
Copy CPU memory to
10
71 HPP EEPROM X X X X 
   
31 Clear V Memory
AUX 4* — I/O Configuration 72 Write HPP EEPROM to CPU X X X X  11
41 Show I/O Configuration     73 Compare CPU to X X X X 
42 I/O Diagnostics    
74
HPP EEPROM
Blank Check (HPP EEPROM) X X X X 
12
44 Power-up I/O     75 Erase HPP EEPROM X X X X 
Configuration Check
45 Select Configuration     76 Show EEPROM Type X X X X 
13
(CPU and HPP)
46 Configure I/O X X  
AUX 5* — CPU Configuration AUX 8* — Password Operations
81 Modify Password     –
14
51 Modify Program Name    
   
52
53
Display / Change Calendar X
Display Scan Time 






82 Unlock CPU
83 Lock CPU    


A
   
54
55
Initialize Scratchpad
Set Watchdog Timer    
 Supported
X Not Supported B
- Not Applicable
56 Set CPU Network Address X   
57 Set Retentive Ranges     C
58 Test Operations    
59
5B
Bit Override X
Counter Interface Config. 






D
5C Display Error History X   

DL205 User Manual, 4th Edition, Rev. A 3–15


Chapter 3: CPU Specifications and Operations

Clearing an Existing Program


1 Before you enter a new program, you should always clear ladder memory. You can use AUX
Function 24 to clear the complete program.
2 You can also use other AUX functions to clear other memory areas.
AUX 23 — Clear Ladder Range

3 AUX 24 — Clear all Ladders


AUX 31 — Clear V-Memory

4 Initializing System Memory


The DL205 CPUs maintain system parameters in a memory area often referred to as the
5 “scratchpad”. In some cases, you may make changes to the system setup that will be stored in
system memory. For example, if you specify a range of Control Relays (CRs) as retentive,
these changes are stored. AUX 54 resets the system memory to the default values.
6 WARNING: You may never have to use this feature unless you want to clear any setup information that
is stored in system memory. Usually, you’ll only need to initialize the system memory if you are
7 changing programs and the old program required a special system setup. You can usually change from
program to program without ever initializing system memory. Remember, this AUX function will reset
all system memory. If you have set special parameters such as retentive ranges, etc., they will be
8 erased when AUX 54 is used. Make sure you that you have considered all ramifications of this
operation before you select it.
9 Setting the Clock and Calendar
The DL240, DL250–1 and DL260 also have a Clock/Calendar that can be used for many
10  230 purposes. If you need to use this feature there are also AUX functions available that allow you
 240 to set the date and time. For example, you would use AUX 52, Display/Change Calendar to
11  250-1 set the time and date with the Handheld Programmer. With DirectSOFT you would use the
 260 PLC Setup menu options using K–Sequence protocol only.
12 The CPU uses the following format to display the date and time.
• Date — Year, Month, Date, Day of week (0 – 6, Sunday thru
Handheld Programmer Display
13 Saturday)
• Time — 24 hour format, Hours, Minutes, Seconds
23:08:17 08/02/20
14 You can use the AUX function to change any component
of the date or time. However, the CPU will not automatically correct any discrepancy
between the date and the day of the week. For example, if you change the date to the 15th of
A the month and the 15th is on a Thursday, you will also have to change the day of the week
(unless the CPU already shows the date as Thursday). The day of the week can only be set
B using the handheld programmer.

C
D

3–16 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

Setting the CPU Network Address


 230 The DL240, DL250–1 and DL260 CPUs have built in DirectNet ports. You can use the
Handheld Programmer to set the network address for the port and the port communication
1
 240 parameters. The default settings are:
 250-1 • Station Address 1
2
 260 • Hex Mode
3
• Odd Parity
• 9600 Baud
The DirectNet Manual provides additional information about choosing the communication
4
settings for network operation.
Setting Retentive Memory Ranges
5
The DL205 CPUs provide certain ranges of retentive memory by default. The default ranges
are suitable for many applications, but you can change them if your application requires 6
additional retentive ranges or no retentive ranges at all. The default settings are:

DL230 DL240 DL250–1 DL260


7
Memory
Area
Control Relays
Default Range Avail. Range Default Range
C300 – C377 C0 – C377 C300 – C377
Avail. Range Default Range
C0 – C377 C1000 – C1777
Avail. Range Default Range
C0 – C1777 C1000 – C1777
Avail. Range
C0 – C3777
8
V-Memory V2000 – V7777 V0 – V7777 V2000 – V7777 V0 – V7777 V1400 – V3777 V0 – V17777 V1400 – V3777 V0 – V37777
Timers None by default T0 – T77 None by default T0 – T177 None by default T0 – T377 None by default T0 – T377 9
Counters CT0 – CT77 CT0 – CT77 CT0 – CT177 CT0 – CT177 CT0 – CT177 CT0 – CT177 CT0 – CT377 CT0 – CT377
Stages None by default S0 – S377 None by default S0 – S777 None by default S0 – S1777 None by default S0 – S1777 10
You can use AUX 57 to set the retentive ranges. You can also use DirectSOFT menus to select
the retentive ranges.
11
WARNING: The DL205 CPUs do not come with a battery. The super capacitor will retain the values in
the event of a power loss, but only for a short period of time, depending on conditions. If the retentive
12
ranges are important for your application, make sure you obtain the optional battery.
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 3–17


Chapter 3: CPU Specifications and Operations

Using a Password
1 The DL205 CPUs allow you to use a password to help minimize the risk of unauthorized
program and/or data changes. Once you enter a password you can “lock” the CPU against
access. Once the CPU is locked you must enter the password before you can use a
2 programming device to change any system parameters.
You can select an 8-digit numeric password. The CPUs are shipped from the factory with a
3 password of 00000000. All zeros removes the password protection. If a password has been
entered into the CPU you cannot enter all zeros to remove it. Once you enter the correct
4 password, you can change the password to all zeros to remove the password protection. For
more information on passwords, see the appropriate appendix on auxiliary functions.
5 WARNING: Make sure you remember your password. If you forget your password you will not be able to
access the CPU. The CPU must be returned to the factory to have the password (along with the ladder
project) removed. It is the policy of AutomationDirect to require the memory of the PLC to be cleared
6 along with the password.

You can use the D2–HPP Handheld Programmer or


7 DirectSOFT to enter a password. The following
diagram shows how you can enter a password with the
8 Handheld Programmer.
Direct SOFT D2–HPP

9 Select AUX 81
I B
CLR CLR
8 1
AUX ENT
PASSWORD
10 00000000

11 Enter the new 8-digit password


X X X ENT
PASSWORD
12 XXXXXXXX
Press CLR to clear the display
13 There are three ways to lock the CPU once the password has been entered.
14 1. If the CPU power is disconnected, the CPU will be automatically locked against access.
2. If you enter the password with DirectSOFT, the CPU will be automatically locked against access
when you exit DirectSOFT.
A 3. Use AUX 83 to lock the CPU.
When you use DirectSOFT, you will be prompted for a password if the CPU has been
B locked. If you use the Handheld Programmer, you have to use AUX 82 to unlock the CPU.
Once you enter AUX 82, you will be prompted to enter the password.
C NOTE: The DL240, DL250–1 and DL260 CPUs offer multi–level passwords for even more
password protection of the ladder program. This allows password protection while not locking the
D communication port to an operator interface. The multi-level password can be invoked by creating a
password with an upper case “A” followed by seven numeric characters (e.g. A1234567).

3–18 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

Setting the Analog Potentiometer Ranges


 230 There are 4 analog potentiometers (pots) on the
face plate of the DL240 CPU. These pots can PWR RUN
1
 240 be used to change timer constants, frequency of
BATT CPU

 250-1 pulse train output, value for an analog output


DL240
CPU
RUN

TERM 2
 260 module, etc.
CH1

3
CH2

Each analog channel has corresponding V- Analog Pots CH3

CH4
memory locations for setting lower and upper
limits for each analog channel. PORT1
?
4
To increase the value associated with the analog
pot, turn the pot clockwise. To decrease the
value, turn the pot counter clockwise
PORT2

5
0 Max 6
Turn clockwise to increase value CH1
CH2 7
The table below shows the V-memory locations used for each analog channel. These are the
default location for the analog pots. 8
CH1 CH2 CH3 CH4
Analog Data V3774 V3775 V3776 V3777 9
Analog Data Lower Limit V7640 V7642 V7644 V7646
Analog Data Upper Limit V7641 V7643 V7645 V7647 10
You can use the program logic to load the limits into these locations, or, you can use a
programming device to load the values. The range for each limit is 0 – 9999. 11
These analog pots have a resolution of 256 pieces.
Therefore, if the span between the upper and lower Resolution = H – L 12
256
limits is less than or equal to 256, then you have better
resolution or, more precise control. H = high limit of the range

Use the formula shown to determine the smallest


L = low limit of the range 13
amount of change that can be detected.
For example, a range of 100 – 600 would result in a Example Calculations: 14
resolution of 1.95. Therefore, the smallest increment H = 600
would be 1.95 units. (The actual result depends on L = 100 A
exactly how you’re using the values in the control
program). Resolution = 600–100
256 B
Resolution = 500 C
256

Resolution = 1.95
D

DL205 User Manual, 4th Edition, Rev. A 3–19


Chapter 3: CPU Specifications and Operations

The following example shows how you could use these analog potentiometers to change the
preset value for a timer. See Chapter 5 for details on how these instructions operate.
1
2
3 Program loads ranges into V-memory

DirectSOFT

4 SP0
LD
K100

5 OUT
V7640
Load the lower limit (100) for the analog range on Ch1 into V7640.

LD

6 K600

Load the upper limit (600) for the analog range on Ch1 into V7641.
OUT
V7641

7 X1
TMR T20 Use V3774 as the preset for the timer. This will allow you to quickly
V3774 adjust the preset from 100 to 600 with the CH1 analog pot.
8 T20 Y0

OUT

9
10 Turn all the way counter-clockwise to use lowest value

100 600
Timing Diagram
preset = 100

11 CH1
CH2
X1

T2

12 Y0

0 100 200 300 400 500 600 0

13 Current
Value 1/10 Seconds

14 Turn clockwise to increase the timer preset.


Timing Diagram
100 600
preset = 앑300
A CH1 X1
CH2

B T2

Y0

C Current
Value
0 100 200 300
1/10 Seconds
400 500 600 0

3–20 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

CPU Operation
Achieving the proper control for your equipment or process requires a good understanding of 1
how DL205 CPUs control all aspects of system operation. The flow chart below shows the
main tasks of the CPU operating system. In this section,
we will investigate four aspects of CPU operation:
2
Power up
• CPU Operating System — The CPU manages all aspects of
system control. Initialize hardware
3
• CPU Operating Modes — The three primary modes of
operation are Program Mode, Run Mode, and Test Mode.
Check I/O module
config. and verify
4
• CPU Timing — The two important areas we discuss are the
I/O response time and the CPU scan time.
Initialize various memory
based on retentive
configuration 5
• CPU Memory Map — The CPUs memory map shows the
CPU addresses of various system resources, such as timers,
counters, inputs, and outputs. Update input 6
CPU Operating System
At powerup, the CPU initializes the internal electronic
Read input data from
Specialty and Remote I/O 7
Service peripheral
hardware. Memory initialization starts with examining the
retentive memory settings. In general, the contents of
CPU Bus Communication
8
retentive memory are preserved, and non-retentive
memory is initialized to zero (unless otherwise specified).
Update Clock / Calendar
9
After the one-time powerup tasks, the CPU begins the
cyclical scan activity. The flowchart to the right shows how
the tasks differ, based on the CPU mode and the existence
PGM
Mode?
10
of any errors. The “scan time” is defined as the average
time around the task loop. Note that the CPU is always
RUN

Execute ladder program


11
reading the inputs, even during program mode. This
allows programming tools to monitor input status at any
time.
PID Operations (DL250-1/DL260)
12
Update output
The outputs are only updated in Run mode. In program
mode, they are in the off state. Write output data to
13
Specialty and Remote I/O

In Run Mode, the CPU executes the user ladder program.


Immediately afterwards, any PID loops which are
14
Do diagnostics
configured are executed (DL250-1 and DL260). Then the
CPU writes the output results of these two tasks to the OK YES
A
appropriate output points. OK?

Error detection has two levels. Non-fatal errors are NO B


reported, but the CPU remains in its current mode. If a Report the error, set flag,
register, turn on LED
fatal error occurs, the CPU is forced into program mode
and the outputs go off. Fatal error
NO
C
YES
Force CPU into
D
PGM mode

DL205 User Manual, 4th Edition, Rev. A 3–21


Chapter 3: CPU Specifications and Operations

Program Mode Operation


1 In Program Mode the CPU does not execute
the application program or update the output X0
_ X10
_ Y0
_
X7 X17 Y7
modules. The primary use for Program Mode is
2 to enter or change an application program.
You also use the program mode to set up CPU
3 parameters, such as the network address,
retentive memory areas, etc. Download Program
4 You can use the mode switch on the DL250–1 and DL260 CPUs to select Program Mode
operation. Or, with the switch in TERM position, you can use a programming device such as
the Handheld Programmer to place the CPU in Program Mode.
5 Run Mode Operation
In Run Mode, the CPU executes the
6 application program, does PID calculations for Read Inputs
configured PID loops (DL250-1/DL260), and
7 updates the I/O system. You can perform many Read Inputs from Specialty I/O
operations during Run Mode. Some of these
8 include:
Monitor and change I/O point status
Service Peripherals, Force I/O

CPU Bus Communication


9 Update timer/counter preset values
Update Variable memory locations
Update Clock, Special Relays
10 Run Mode operation can be divided into several
key areas. It is very important you understand
Solve the Application Program
how each of these areas of execution can affect
11 the results of your application program
Solve PID Equations (DL250-1/DL260)
solutions.
12 You can use the mode switch to select Run Write Outputs
Mode operation (DL240, DL250–1 and
13 DL260). Or, with the mode switch in TERM
position, you can use a programming device,
Write Outputs to Specialty I/O

such as the Handheld Programmer to place the


14 CPU in Run Mode. Diagnostics

You can also edit the program during Run


A Mode. The Run Mode Edits are not “bumpless.” Instead, the CPU maintains the outputs in
their last state while it accepts the new program information. If an error is found in the new
B program, then the CPU will turn all the outputs off and enter the Program Mode.
WARNING: Only authorized personnel fully familiar with all aspects of the application should make
changes to the program. Changes during Run Mode become effective immediately. Make sure you
C thoroughly consider the impact of any changes to minimize the risk of personal injury or damage to
equipment.
D

3–22 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

Read Inputs
The CPU reads the status of all inputs, then stores it in the image register. Input image
register locations are designated with an X followed by a memory location. Image register data
1
is used by the CPU when it solves the application program. Of course, an input may change
after the CPU has read the inputs. Generally, the CPU scan time is measured in milliseconds. 2
If you have an application that cannot wait until the next I/O update, you can use
Immediate Instructions. These do not use the status of the input image register to solve the
application program. The Immediate instructions immediately read the input status directly
3
from I/O modules. However, this lengthens the program scan since the CPU has to read the
I/O point status again. A complete list of the Immediate instructions is included in Chapter 4
Five.
Read Inputs from Specialty and Remote I/O _ _ _
5
After the CPU reads the inputs from the input
modules, it reads any input point data from any DL250–1/260 6
Specialty modules that are installed, such as
Counter Interface modules, etc. This is also the
portion of the scan that reads the input status from
RSSS
7
Remote I/O bases. _ _ _
8
NOTE: It may appear the Remote I/O point status is updated every scan. This is not quite true. The CPU will
receive information from the Remote I/O Master module every scan, but the Remote Master may not have
9
received an update from all the Remote slaves. Remember, the Remote I/O link is managed by the Remote
Master, not the CPU. 10
Service Peripherals and Force I/O
After the CPU reads the inputs from the input modules, it reads any attached peripheral
11
devices. This is primarily a communications service for any attached devices. For example, it
would read a programming device to see if any input, output, or other memory type status 12
needs to be modified. There are two basic types of forcing available with the DL205 CPUs.
NOTE: DirectNet protocol does not support bit operations.
13
• Forcing from a peripheral – not a permanent force, good only for one scan 14
• Bit Override (DL240, DL250–1 and DL260) – holds the I/O point (or other bit) in the current
state. Valid bits are X, Y, C, T, CT, and S. (These memory types are discussed in more detail later in
this chapter).
A
Regular Forcing — This type of forcing can temporarily change the status of a discrete bit.
For example, you may want to force an input on, even though it is really off. This allows you B
to change the point status that was stored in the image register. This value will be valid until
the image register location is written to during the next scan. This is primarily useful during
testing situations when you need to force a bit on to trigger another event.
C
D

DL205 User Manual, 4th Edition, Rev. A 3–23


Chapter 3: CPU Specifications and Operations

Bit Override — (DL240, DL250–1 and DL260) Bit override can be enabled on a point-by-
1 point basis by using AUX 59 from the Handheld Programmer or, by a menu option from
within DirectSOFT. Bit override basically disables any changes to the discrete point by the
CPU. For example, if you enable bit override for X1, and X1 is off at the time, then the CPU
2 will not change the state of X1. This means that even if X1 comes on, the CPU will not
acknowledge the change. So, if you used X1 in the program, it would always be evaluated as
3 “off ” in this case. Of course, if X1 was on when the bit override was enabled, then X1 would
always be evaluated as “on”. There is an advantage available when you use the bit override
feature. The regular forcing is not disabled because the bit override is enabled. For example, if
4 you enabled the Bit Override for Y0 and it was off at the time, then the CPU would not
change the state of Y0. However, you can still use a programming device to change the status.
5 Now, if you use the programming device to force Y0 on, it will remain on and the CPU will
not change the state of Y0. If you then force Y0 off, the CPU will maintain Y0 as off. The
CPU will never update the point with the results from the application program or from the
6 I/O update until the bit override is removed. The following diagram shows a brief overview of
the bit override feature. Notice the CPU does not update the Image Register when bit
7 override is enabled

8 Input Update
X128 ... X2 X1 X0
Input Update
OFF ... ON ON OFF
Bit Override OFF Force from Y128 ... Y2 Y1 Y0 Force from Bit Override ON
9 Programmer OFF
C377
OFF
...
...
...
ON
C2
ON
ON
C1
OFF
OFF
C0
OFF
Programmer

Result of Program Image Register (example) Result of Program


10 Solution Solution

CPU Bus Communication


11 Specialty Modules, such as the Data Communications Module, can transfer data to and from
the CPU over the CPU bus on the backplane. This data is more than standard I/O point
12 status. This type of communications can only occur on the CPU (local) base. There is a
portion of the execution cycle used to communicate with these modules. The CPU performs
13 both read and write requests during this segment.
DCM DCM

14 _ _ _ _ _ _
DATA

A
B Update Clock, Special Relays and Special Registers
The DL240 , DL250–1 and DL260 CPUs have an internal real-time clock and calendar
C timer which is accessible to the application program. Special V-memory locations hold this
information. This portion of the execution cycle makes sure these locations get updated on
D every scan. Also, there are several different Special Relays, such as diagnostic relays, etc., that
are also updated during this segment.

3–24 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

Solve Application Program


The CPU evaluates each instruction in the application
program during this segment of the scan cycle. The
Read Inputs
1
instructions define the relationship between input Read Inputs from Specialty I/O

conditions and the system outputs. 2


Service Peripherals, Force I/O
The CPU begins with the first rung of the ladder
program, evaluating it from left to right and from top to CPU Bus Communication
3
bottom. It continues, rung by rung, until it encounters
the END coil instruction. At that point, a new image for
the outputs is complete.
Update Clock, Special Relays 4
X0

C0
X1 Y0
OUT
Solve the Application Program
5
Solve PID equations (DL250-1/DL260)
C100 LD
K10
Write Outputs
6
X5 X10 Y3
OUT

END
Write Outputs to Specialty I/O 7
The internal control relays (C), the stages (S), and the Diagnostics 8
variable memory (V) are also updated in this segment.
You may recall the CPU may have obtained and stored forcing information when it serviced 9
the peripheral devices. If any I/O points or memory data have been forced, the output image
register also contains this information. 10
NOTE: If an output point was used in the application program, the results of the program solution will
overwrite any forcing information that was stored. For example, if Y0 was forced on by the programming
device, and a rung containing Y0 was evaluated such that Y0 should be turned off, then the output image
11
register will show that Y0 should be off. Of course, you can force output points that are not used in the
application program. In this case, the point remains forced because there is no solution that results from 12
the application program execution.

Solve PID Loop Equations


13
The DL260 CPU can process up to 16 PID loops and the DL250–1 can process up to 4
 230 PID loops. The loop calculations are run as a separate task from the ladder program 14
 240 execution, immediately following it. Only loops which have been configured are calculated,
 250-1 and then only according to a built-in loop scheduler. The sample time (calculation interval) of
each loop is programmable. Please refer to Chapter 8, PID Loop Operation, for more on the
A
 260 effects of PID loop calculation on the overall CPU scan time.
B
Write Outputs
Once the application program has solved the instruction logic and constructed the output
image register, the CPU writes the contents of the output image register to the corresponding
C
output points located in the local CPU base or the local expansion bases. Remember, the
CPU also made sure any forcing operation changes were stored in the output image register, D
so the forced points get updated with the status specified earlier.

DL205 User Manual, 4th Edition, Rev. A 3–25


Chapter 3: CPU Specifications and Operations

Write Outputs to Specialty and Remote I/O


1 After the CPU updates the outputs in the local and expansion bases, it sends the output point
information that is required by any Specialty modules which are installed. For example, this is
the portion of the scan that writes the output status from the image register to the Remote
2 I/O racks.

3 NOTE: It may appear the Remote I/O point status is updated every scan. This is not quite true. The CPU will
send the information to the Remote I/O Master module every scan, but the Remote Master will update the
actual remote modules during the next communication sequence between the master and slave modules.
4 Remember, the Remote I/O link communication is managed by the Remote Master, not the CPU.

Diagnostics
5 During this part of the scan, the CPU performs Read Inputs
all system diagnostics and other tasks, such as:
6 • calculating the scan time Read Inputs from Specialty I/O

• updating special relays


7 • resetting the watchdog timer
Service Peripherals, Force I/O

DL205 CPUs automatically detect and report


8 many different error conditions. Appendix B
CPU Bus Communication

contains a listing of the various error codes Update Clock, Special Relays
9 available with the DL205 system.
One of the more important diagnostic tasks is the Solve the Application Program
10 scan time calculation and watchdog timer control.
DL205 CPUs have a “watchdog” timer that stores Solve PID Loop Equations
the maximum time allowed for the CPU to
11 complete the solve application segment of the Write Outputs
scan cycle. The default value set from the factory
12 is 200 mS. If this time is exceeded the CPU will
enter the Program Mode, turn off all outputs, and
Write Outputs to Specialty I/O

report the error. For example, the Handheld


13 Programmer displays “E003 S/W TIMEOUT” Diagnostics
when the scan overrun occurs.
14 You can use AUX 53 to view the minimum, maximum, and current scan time. Use AUX 55
to increase or decrease the watchdog timer value. There is also an RSTWT instruction that
A can be used in the application program to reset the watch dog timer during the CPU scan.

B
C
D

3–26 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

I/O Response Time


1
Is Timing Important for Your Application?
I/O response time is the amount of time required for the control system to sense a change in
an input point and update a corresponding output point. In the majority of applications, the
2
CPU performs this task practically instantaneously. However, some applications do require
extremely fast update times. There are four things that can affect the I/O response time: 3
• The point in the scan period when the field input changes states
• Input module Off to On delay time
4
• CPU scan time
• Output module Off to On delay time
5
Normal Minimum I/O Response 6
The I/O response time is shortest when the module senses the input change before the Read
Inputs portion of the execution cycle. In this case the input status is read, the application
program is solved, and the output point gets updated. The following diagram shows an 7
example of the timing for this situation.
Scan 8
Solve Solve Solve Solve
Scan Program Program Program Program 9
Read Write
Inputs Outputs
10
Field Input

CPU Reads CPU Writes


11
Inputs Outputs
Input Module
Off/On Delay 12
Output Module
Off/On Delay
13
I/O Response Time
14
In this case, you can calculate the response time by simply adding the following items: A
Input Delay + Scan Time + Output Delay = Response Time
Normal Maximum I/O Response B
The I/O response time is longest when the module senses the input change after the Read
Inputs portion of the execution cycle. In this case the new input status does not get read until
the following scan. The following diagram shows an example of the timing for this situation.
C
In this case, you can calculate the response time by simply adding the following items:
Input Delay +(2 x Scan Time) + Output Delay = Response Time
D

DL205 User Manual, 4th Edition, Rev. A 3–27


Chapter 3: CPU Specifications and Operations

Scan

1 Scan
Solve
Program
Solve
Program
Solve
Program
Solve
Program

Read Write
2 Inputs Outputs

Field Input

3 Input Module
CPU Reads
Inputs
CPU Writes
Outputs
Off/On Delay
4 Output Module
Off/On Delay

5 I/O Response Time

Improving Response Time


6 There are a few things you can do the help improve throughput.
• Choose instructions with faster execution times
7 • Use immediate I/O instructions (which update the I/O points during the ladder program
execution segment)
8 • Choose modules that have faster response times
Immediate I/O instructions are probably the most useful technique. The following example
9 shows immediate input and output instructions, and their effect.
Scan

10 Solve Solve Solve Solve


Scan Program Program Program Program

11 Normal Read
Input
Read
Input
Write
Output
Normal
Write
Immediate Immediate Outputs

12 Field Input

Input Module
13 Off/On Delay
Output Module
Off/On Delay
14 I/O Response Time

A In this case, you can calculate the response time by simply adding the following items:
Input Delay + Instruction Execution Time + Output Delay = Response Time
B The instruction execution time is calculated by adding the time for the immediate input
instruction, the immediate output instruction, and all instructions in between.
C NOTE: When the immediate instruction reads the current status from a module, it uses the results to solve
that one instruction without updating the image register. Therefore, any regular instructions that follow will
still use image register values. Any immediate instructions that follow will access the module again to
D update the status.

3–28 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

CPU Scan Time Considerations


The scan time covers all the cyclical tasks 1
that are performed by the operating system. Power up

You can use DirectSOFT or the Handheld


Programmer to display the minimum, Initialize hardware
2
maximum, and current scan times that have
occurred since the previous Program Mode
Check I/O module
config. and verify
3
to Run Mode transition. This information
can be very important when evaluating the
Initialize various memory
based on retentive
configuration
4
performance of a system.
As shown previously, there are several
segments that make up the scan cycle. Each Update input
5
of these segments requires a certain amount
of time to complete. Of all the segments,
Read input data from
Specialty and Remote I/O
6
the only one you really have the most
control over is the amount of time it takes
Service peripheral
7
to execute the application program. This is
CPU Bus Communication
because different instructions take different
amounts of time to execute. So, if you think
8
you need a faster scan, then you can try to Update Clock / Calendar

choose faster instructions. 9


PGM
Your choice of I/O modules and system Mode?
configuration, such as expansion or remote
I/O, can also affect the scan time; however, RUN
10
Execute ladder program
these things are usually dictated by the
application. 11
PID Equations (DL250-1/DL260)
For example, if you have a need to count
pulses at high rates of speed, then you’ll Update output
12
probably have to use a High-Speed Counter
module. Also, if you have I/O points that
need to be located several hundred feet
Write output data to
Specialty and Remote I/O
13
from the CPU, then you need remote I/O
because it’s much faster and cheaper to Do diagnostics
14
install a single remote I/O cable than it is to
run all those signal wires for each individual OK
OK?
YES A
I/O point. The following paragraphs
provide some general information on how
much time some of the segments can
NO
Report the error, set flag,
B
register, turn on LED
require.
NO
C
Fatal error

YES
Force CPU into
D
PGM mode

DL205 User Manual, 4th Edition, Rev. A


3–29
Chapter 3: CPU Specifications and Operations

Initialization Process
1 The CPU performs an initialization task once the system power is on. The initialization task
is performed once at power-up, so it does not affect the scan time for the application
program.
2
Initialization DL230 DL240 DL250–1 DL260
3 Minimum Time
Maximum Time
1.6 Seconds
3.6 Seconds
1.0 Seconds
2.0 Seconds
1.2 Seconds
2.7 Seconds(w/ 2 exp. bases)
1.2 Seconds
3.7 Seconds (w/ 4 exp. bases)

4 Reading Inputs
The time required to read the input status for the input modules depends on which CPU you
5 are using and the number of input points in the base. The following table shows typical
update times required by the CPU.

6 Timing Factors
Overhead 64.0 µs
DL230
32.0 µs
DL240
12.6 µs
DL250–1
12.6 µs
DL260

Per input point 6.0 µs 12.3 µs 2.5 µs 2.5 µs


7 For example, the time required for a DL240 to read two 8-point input modules would be
calculated as follows, where NI is the total number of input points:
8 Formula
9 Time = 32µs + (12.3 x NI)
Example
10 Time = 32µs + (12.3 x 16)
Time = 228.8 µs
11 NOTE: This information provides the amount of time the CPU spends reading the input status from the
modules. Don’t confuse this with the I/O response time that was discussed earlier.
12
13
14
A
B
C
D

3–30 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

Reading Inputs from Specialty I/O


During this portion of the cycle the CPU reads any input points associated with the
following:
1
• Remote I/O
• Specialty Modules (such as High-Speed Counter, etc.)
2
The time required to read any input status from these modules depends on which CPU you
are using, the number of modules, and the number of input points.
3
Remote Module DL230 DL240 DL250–1 DL260 4
Overhead N/A 6.0 µs 1.82 µs 1.82 µs
Per module (with inputs)
Per input point
N/A
N/A
67.0 µs
40.0 µs
17.9 µs
2.0 µs
17.9 µs
2.0 µs
5
For example, the time required for a DL240 to read two 8-point input modules (located in a
Remote base) would be calculated as follows, where NM is the number of modules and NI is
6
the total number of input points:
Remote I/O 7
Formula
Time = 6µs + (67µs x NM) + (40µs x NI) 8
Example
Time = 6µs + (67µs x 2) + (40µs x 16) 9
Time = 780 µs
Service Peripherals
10
Communication requests can occur at any time during the scan, but the CPU only “logs” the
requests for service until the Service Peripherals portion of the scan. The CPU does not spend 11
any time on this if there are no peripherals connected.
12
To Log Request (anytime) DL230 DL240 DL250–1 DL260 13
Nothing Min. & Max. 0 µs 0 µs 0 µs 0 µs
Connected
Send Min. / Max. 22 / 28 µs 23 / 26 µs 3.2/9.2 µs 3.2/9.2 µs
14
Port 1
Rec. Min. / Max. 24 / 58 µs 52 / 70 µs 25.0/35.0 µs 25.0/35.0 µs

Port 2
Send Min. / Max. N/A 26 / 30 µs 3.6/11.5 µs 3.6/11.5 µs A
Rec. Min. / Max. N/A 60 / 75 µs 35.0/44.0 µs 35.0/44.0 µs
B
C
D

DL205 User Manual, 4th Edition, Rev. A 3–31


Chapter 3: CPU Specifications and Operations

During the Service Peripherals portion of the scan, the CPU analyzes the communications
request and responds as appropriate. The amount of time required to service the peripherals
1 depends on the content of the request.

2 To Service Request
Minimum 260 µs
DL230
250 µs
DL240
8 µs
DL250–1
8 µs
DL260

Run Mode Max. 30 ms 20 ms 410 µs 410 µs


3 Program Mode Max. 3.5 Seconds 4 Seconds 2 Seconds 3.7 Seconds

4 CPU Bus Communication


Some specialty modules can also communicate directly with the CPU via the CPU bus.
During this portion of the cycle the CPU completes any CPU bus communications. The
5 actual time required depends on the type of modules installed and the type of request being
processed.
6 NOTE: Some specialty modules can have a considerable impact on the CPU scan time. If timing is critical
in your application, consult the module documentation for any information concerning the impact on the
7 scan time.

8 Update Clock/Calendar, Special Relays, Special Registers


The clock, calendar, and special relays are updated and loaded into special V-memory
locations during this time. This update is performed during both Run and Program Modes.
9
Modes DL230 DL240 DL250–1 DL260
10 Program Mode
Minimum
Maximum
8.0 µs fixed
8.0 µs fixed
35.0 µs
48.0 µs
11.0 µs
11.0 µs
11.0 µs
11.0 µs
Minimum 20.0 µs 60.0 µs 19.0 µs 19.0 µs
11 Run Mode
Maximum 26.0 µs 85.0 µs 26.0 µs 26.0 µs

12 Writing Outputs
The time required to write the output status for the local and expansion I/O modules
13 depends on which CPU you are using and the number of output points in the base. The
following table shows typical update times required by the CPU.
14 Timing Factors DL230 DL240 DL250–1 DL260
Overhead 66.0 µs 33.0 µs 28.1 µs 28.1 µs
A Per output point 8.5 µs 14.6 µs 3.0 µs 3.0 µs
For example, the time required for a DL240 to write data for two 8-point output modules
B would be calculated as follows (where NO is the total number of output points):
Formula
C Time = 33 + (NO x 14.6µs)
Example
D Time = 33 + (16 x 14.6µs)
Time = 266.6µs

3–32 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

Writing Outputs to Specialty I/O


During this portion of the cycle the CPU writes any output points associated with the
following.
1
• Remote I/O
• Specialty Modules (such as High-Speed Counter, etc.)
2
The time required to write any output image register data to these modules depends on which
CPU you are using, the number of modules, and the number of output points.
3
Remote Module
Overhead N/A
DL230
6.0 µs
DL240
1.9 µs
DL250–1
1.9 µs
DL260 4
Per module (with outputs)
Per output point
N/A
N/A
67.5 µs
46.0 µs
17.7 µs
3.2 µs
17.7 µs
3.2 µs 5
For example, the time required for a DL240 to write two 8-point output modules (located in
a Remote base) would be calculated as follows, where NM is the number of modules and NO
6
is the total number of output points:
Remote I/O 7
Formula
Time = 6 µs + (67.5 µs x NM) + (46 µs x NO) 8
Example
Time = 6 µs + (67.5 µs x 2) + (46 µs x 16) 9
Time = 877 µs
NOTE: This total time is the actual time required for the CPU to update these outputs. This does not include
10
any additional time that is required for the CPU to actually service the particular specialty modules.
11
Diagnostics
The DL205 CPUs perform many types of system diagnostics. The amount of time required 12
depends on many things, such as the number of I/O modules installed, etc. The following
table shows the minimum and maximum times that can be expected. 13
Diagnostic Time DL230 DL240 DL250–1 DL260
Minimum 600.0 µs 422.0 µs 26.8 µs 26.8 µs 14
Maximum 900.0 µs 855.0 µs 103.0 µs 103.0 µs
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 3–33


Chapter 3: CPU Specifications and Operations

Application Program Execution


1 The CPU processes the program from the top (address 0) to the END instruction. The CPU
executes the program left to right and top to bottom. As each rung is evaluated the
appropriate image register or memory location is updated.
2 The time required to solve the application program depends on the type and number of
instructions used, and the amount of execution overhead.
3 You can add the execution times for all the instructions in your program to find the total
program execution time. For example, the execution time for a DL240 running the program
4 shown would be calculated as follows:

5 Instruction Time
X0 X1 Y0
OUT

6 STR X0
OR C0
1.4µs
1.0µs
C0

ANDN X1 1.2µs
7 OUT Y0 7.95µs C100
LD
STRN C100 1.6µs K10
8 LD K10
STRN C101
62.0µs
1.6µs C101
OUT V2002
OUT V2002 21.0µs
9 STRN C102 1.6µs
C102
LD K50 62.0µs LD
K50
10 STRN C103
OUT V2006
1.6µs
21.0µs C103
STR X5 1.4µs OUT V2006
11 ANDN X10 1.2µs
OUT Y3 7.95µs X5 X10 Y3

12 END 16.0µs OUT

TOTAL 210.5µs
13 END

14 Appendix C provides a complete list of instruction execution times for DL205 CPUs.

A Program Control Instructions — the DL240, DL250–1 and DL260 CPUs offer additional
instructions that can change the way the program executes. These instructions include
B FOR/NEXT loops, Subroutines, and Interrupt Routines. These instructions can interrupt the
normal program flow and effect the program execution time. Chapter 5 provides detailed
information on how these different types of instructions operate.
C
D

3–34 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

PLC Numbering Systems octal 49.832


?
binary

If you are a new PLC user or are using DirectLOGIC ?


1482 BCD
? 3 0402 ?
1
PLCs for the first time, please take a moment to study 3A9 ASCII
how our PLCs use numbers. You’ll find that each PLC
manufacturer has their own conventions on the use of 1001011011
7
? hexadecimal
2
numbers in their PLCs. Take a moment to familiarize –961428 1011
yourself with how numbers are used in DirectLOGIC decimal
A
?
72B
3
PLCs. The information you learn here applies to all our –300124 177 ?
PLCs. 4
As any good computer does, PLCs store and manipulate numbers in binary form: ones and
zeros. So why do we have to deal with numbers in so many different forms? Numbers have
meaning, and some representations are more convenient than others for particular purposes.
5
Sometimes we use numbers to represent a size or amount of something. Other numbers refer
to locations or addresses, or to time. In science we attach engineering units to numbers to give 6
a particular meaning (see Appendix H for numbering system details).
PLC Resources 7
PLCs offer a fixed amount of resources, depending on the model and configuration. We use
the word “resources” to include variable memory (V-memory), I/O points, timers, counters, 8
etc. Most modular PLCs allow you to add I/O points in groups of eight. In fact, all the
resources of our PLCs are counted in octal. It’s easier for computers to count in groups of
eight than ten, because eight is an even power of 2.
9
Octal means simply counting in groups of eight
things at a time. In the figure to the right, there Decimal 1 2 3 4 5 6 7 8 10
are eight circles. The quantity in decimal is “8”,
but in octal it is “10” (8 and 9 are not valid in 11
octal). In octal, “10” means 1 group of 8 plus 0 Octal 1 2 3 4 5 6 7 10
(no individuals). 12
In the figure below, we have two groups of eight circles. Counting in octal we have “20”
items, meaning 2 groups of eight, plus 0 individuals Don’t say “twenty”, say “two–zero octal”.
This makes a clear distinction between number systems.
13
Decimal 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
14
Octal 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 A
After counting PLC resources, it’s time to access PLC resources (there’s a difference). The CPU
instruction set accesses resources of the PLC using octal addresses. Octal addresses are the
same as octal quantities, except they start counting at zero. The number zero is significant to
B
a computer, so we don’t skip it. X= 0 1 2 3 4 5 6 7
Our circles are in an array of square containers to the right. X C
To access a resource, our PLC instruction will address its
location using the octal references shown. If these were
counters, “CT14” would access the black circle location. 2 X
1X D

DL205 User Manual, 4th Edition, Rev. A 3–35


Chapter 3: CPU Specifications and Operations

V–Memory
1 Variable memory (called “V-memory”) stores data for the ladder program and for configuration settings.
V-memory locations and V-memory addresses are the same thing, and are numbered in octal. For
example, V2073 is a valid location, while V1983 is not valid (“9” and “8” are not valid octal digits).
2 Each V-memory location is one data word wide, meaning 16 bits. For configuration registers, our manuals will
show each bit of a V-memory word. The least significant bit (LSB) will be on the right, and the most significant bit
3 (MSB) on the left. We use the word “significant,” referring to the relative binary weighting of the bits.
V-memory address V-memory data
4 (octal)
MSB
(binary)
LSB
V2017 0 1 0 0 1 1 1 0 0 0 1 0 1 0 0 1
5 V-memory data is 16-bit binary, but we rarely program the data registers one bit at a time. We use
instructions or viewing tools that let us work with binary, decimal, octal, and hexadecimal numbers. All
6 these are converted and stored as binary for us. A frequently-asked question is “How do I tell if a number is
binary, octal, BCD, or hex”? The answer is that we usually cannot tell by looking at the data, but it does not
7 really matter. What matters is: the source or mechanism which writes data into a V-memory location and
the thing which later reads it must both use the same data type (i.e., octal, hex, binary, or whatever). The V-
memory location is a storage box... that’s all. It does not convert or move the data on its own.
8 Binary-Coded Decimal Numbers
Since humans naturally count in decimal, we prefer to enter and view PLC data in decimal as well (via
9 operator interfaces). However, computers are more efficient in using pure binary numbers. A compromise
solution between the two is Binary-Coded Decimal (BCD) representation. A BCD digit ranges from 0 to
10 9, and is stored as four binary bits (a nibble). This permits each V-memory location to store four BCD
digits, with a range of decimal numbers from 0000 to 9999.
11 BCD number
8 4
4
2 1 8 4
9
2 1 8 4
3
2 1 8
6
4 2 1
V-memory storage 0 1 0 0 1 0 0 1 0 0 1 1 0 1 1 0
12 In a pure binary sense, a 16-bit word represents numbers from 0 to 65535. In storing BCD numbers, the
range is reduced to 0 to 9999. Many math instructions use BCD data, and DirectSOFT and the handheld
13 programmer allow us to enter and view data in BCD. Special RLL instructions convert from BCD to
binary, or visa–versa.
14 Hexadecimal Numbers
Hexadecimal numbers are similar to BCD numbers, except they utilize all possible binary values in each 4-
A bit digit. They are base-16 numbers so we need 16 different digits. To extend our decimal digits 0 through
9, we use A through F as shown.
B Decimal
Hexadecimal
0 1 2 3
0 1 2 3
4 5
4 5
6
6
7
7
8 9 10 11 12 13 14 15
8 9 A B C D E F
A 4-digit hexadecimal number can represent all 65536 values in a V-memory word. The range is from
C 0000 to FFFF (hex). PLCs often need this full range for sensor data, etc. Hexadecimal is a convenient way
for humans to view full binary data.
D Hexadecimal number A 7 F 4
V-memory storage 1 0 1 0 0 1 1 1 1 1 1 1 0 1 0 0

3–36 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

Memory Map
With any PLC system, you generally have many different types of information to process. 1
This includes input device status, output device status, various timing elements, parts counts,
etc. It is important to understand how the system represents and stores the various types of
data. For example, you need to know how the system identifies input points, output points,
2
data words, etc. The following paragraphs discuss the various memory types used in the
DL205 CPUs. A memory map overview for the DL230, DL240, DL250–1 and DL260 3
CPUs follows the memory descriptions.
Octal Numbering System 4
All memory locations or areas are numbered in Octal
(base 8). For example, the diagram shows how the
X0
_
X7
X10
_
X17
Y0
_
Y7 5
octal numbering system works for the discrete input
points. Notice the octal system does not contain any
numbers with the digits 8 or 9.
6
X0 X1 X2 X3 X4 X5 X6 X7

7
X10 X11 X12 X13 X14 X15 X16 X17

Discrete and Word Locations 8


As you examine the different memory types, you’ll
Discrete – On or Off, 1 bit
notice two types of memory in the DL205, discrete
and word memory. Discrete memory is one bit that X0 9
can be either a 1 or a 0. Word memory is referred to as
V memory (variable) and is a 16-bit location normally 10
used to manipulate data/numbers, store data/numbers,
etc. Some information is automatically stored in V-
memory. For example, the timer current values are
Word Locations – 16 bits 11
0 1 0 1 00 0 0 0 0 1 0 0 1 0 1
stored in V-memory.
12
V–Memory Locations for Discrete Memory Areas
The discrete memory area is for inputs, outputs, control relays, special relays, stages, timer
13
status bits and counter status bits. However, you can also access the bit data types as a V-
memory word. Each V-memory location contains 16 consecutive discrete locations. For 14
example, the following diagram shows how the X input points are mapped into V-memory
locations. A
16 Discrete (X) Input Points
X17 X16 X15 X14 X13 X12 X11 X10 X7 X6 X5 X4 X3 X2 X1 X0 B
Bit # 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 V40400
C
These discrete memory areas and their corresponding V-memory ranges are listed in the
memory area table for the DL230, DL240, DL250–1 and DL260 CPUs in this chapter.
D

DL205 User Manual, 4th Edition, Rev. A 3–37


Chapter 3: CPU Specifications and Operations

Input Points (X Data Type)


The discrete input points are noted by an X
1 data type. There are up to 512 discrete input
points available with the DL205 CPUs. In this
X0 Y0
OUT
example, the output point Y0 will be turned on
2 when input X0 energizes.
Output Points (Y Data Type)
3 The discrete output points are noted by a Y data
type. There are up to 512 discrete output points
4 available with the DL205 CPUs. In this
X1 Y1
OUT
example, output point Y1 will turn on when
5 input X1 energizes.
Control Relays (C Data Type)
6 Control relays are discrete bits normally used to
control the user program. The control relays do
not represent a real world device, that is, they
7 cannot be physically tied to switches, output
X10 C5
OUT
coils, etc. They are internal to the CPU. Control
8 relays can be programmed as discrete inputs or
discrete outputs. These locations are used in C5 Y10
programming the discrete memory locations (C) OUT
9 or the corresponding word location which has Y20
16 consecutive discrete locations. In this OUT
10 example, memory location C5 will energize
when input X10 turns on. The second rung
shows a simple example of how to use a control
11 relay as an input.

12 Timers and Timer Status Bits (T Data type)


The amount of timers available depends on the
model of CPU you are using. The tables at the
13 end of this section provide the number of timers X0
TMR T1
for the DL230, DL240, D2-250-1 and DL260. K30
14 Regardless of the number of timers, you have
access to timer status bits that reflect the
relationship between the current value and the
A preset value of a specified timer. The timer status T1 Y12
OUT
bit will be on when the current value is equal to
B or greater than the preset value of a
corresponding timer.
C When input X0 turns on, timer T1 will start.
When the timer reaches the preset of 3 seconds
(K of 30) timer status contact T1 turns on.
D When T1 turns on, output Y12 turns on.

3–38 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations
Timer Current Values (V Data Type)
X0
Some information is automatically stored in V-memory, TMR T1
such as the current values associated with timers. For
example, V0 holds the current value for Timer 0, V1 V1 K30
K1000

Y12
1
holds the current value for Timer 1, etc. These are 4- OUT
digit BCD values. V1 K50 Y13
2
The primary reason for this is programming flexibility. OUT
The example shows how you can use relational contacts
V1 K75 V1 K100 Y14
3
to monitor several time intervals from a single timer.
OUT
Counters and Counter Status Bits (CT Data type) 4
You have access to counter status bits that reflect the
relationship between the current value and the preset
value of a specified counter. The counter status bit will
X0
CNT
K10
CT3 5
be on when the current value is equal to or greater than
the preset value of a corresponding counter.
X1
6
CT3 Y12

Each time contact X0 transitions from off to on, the


OUT 7
counter increments by one. (If X1 comes on, the
counter is reset to zero.) When the counter reaches the 8
preset of 10 counts (K of 10) counter status contact
CT3 turns on. When CT3 turns on, output Y12 turns
on.
9
X0
CNT CT3 10
Counter Current Values (V Data Type) K10
Just like the timers, the counter current values are also
automatically stored in V-memory. For example, V1000
X1
11
holds the current value for Counter CT0, V1001 holds
the current value for Counter CT1, etc. These are 4-
V1003 K1 Y12
OUT 12
digit BCD values. The primary reason for this is
programming flexibility. The example shows how you
can use relational contacts to monitor the counter
V1003 K3 Y13
OUT 13
values. V1003 K5 V1003 K8 Y14
OUT
14
Word Memory (V Data Type)
Word memory is referred to as V-memory (variable)
X0
LD
K1345
A
and is a 16-bit location normally used to manipulate
data/numbers, store data/numbers, etc. Some OUT
B
information is automatically stored in V-memory. For V1400
example, the timer current values are stored in V-
memory. The example shows how a four-digit BCD Word Locations – 16 bits
C
constant is loaded into the accumulator and then stored 0 0 0 1 0 0 1 1 0 1 0 0 0 1 0 1
in a V-memory location. D
1 3 4 5

DL205 User Manual, 4th Edition, Rev. A


3–39
Chapter 3: CPU Specifications and Operations

Stages (S Data type) ISG


S0000 Wait forStart
1 Stages are used in RLLPLUS programs to create a
structured program, similar to a flowchart. Each Start S1
JMP
program stage denotes a program segment. When
2 the program segment, or stage, is active, the logic
X0
S500
JMP
within that segment is executed. If the stage is off, SG
Check for a Part
3 or inactive, the logic is not executed and the CPU
skips to the next active stage. (See Chapter 7 for a
S0001

Part
Present S2
JMP
more detailed description of RLLPLUS
4 programming.)
X1
Part
Present S6
JMP
Each stage also has a discrete status bit that can be
5 used as an input to indicate whether the stage is SG
X1

active or inactive. If the stage is active, then the S0002 Clamp the part

6 status bit is on. If the stage is inactive, then the


status bit is off. This status bit can also be turned
Clamp
SET
S400
on or off by other instructions, such as the SET or Part
7 RESET instructions. This allows you to easily
Locked

X2
S3
JMP

control stages throughout the program.


8 Special Relays (SP Data Type)
Special relays are discrete memory locations with
9 pre-defined functionality. There are many different
types of special relays. For example, some aid in SP5 C10
10 program development, others provide system
operating status information, etc. Appendix D
OUT

provides a complete listing of the special relays.


11 In this example, control relay C10 will energize for
50 ms and de–energize for 50 ms because SP5 is a
12 pre–defined relay that will be on for 50 ms and off
SP4: 1 second clock
SP5: 100 ms clock
for 50 ms.
13 Remote I/O Points (GX Data Type)
SP6: 50 ms clock
Remote I/O points are represented by global relays.
14 They are generally used only to control remote
I/O, but they can be used as normal control relays
when remote I/O is not used in the system.
A In this example, memory location GX0 represents
an output point and memory location GX10
B represents an input point.
X3 GX0
OUT

C
GX10 Y12
D OUT

3–40 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

DL230 System V-memory


System Description of Contents Default Values/Ranges
1
V-memory
V2320–V2377
V7620–V7627
The default location for multiple preset values for the UP counter.
Locations for DV–1000 operator interface parameters
N/A 2
V7620 Sets the V-memory location that contains the value.
V7621 Sets the V-memory location that contains the message.
V0 – V2377
V0 - V2377 3
V7622 Sets the total number (1 - 16) of V-memory locations to be displayed. 1 - 16
V7623
V7624
Sets the V-memory location that contains the numbers to be displayed.
Sets the V-memory location that contains the character code to be displayed.
V0 - V2377
V0 - V2377
4
V7625 Sets the bit control pointer. V-memory location for

V7626 Power Up mode change preset value password.


X,Y, or C points used.
0,1,2,3,12 Default = 0000
5
V7627 Reservered for future use.
V7630 Starting location for the multi–step presets for channel 1. The default value is Default: V2320
6
2320, which indicates the first value should be obtained from V2320. Since Range: V0 – V2320
there are 24 presets available, the default range is V2320 – V2377. You can
change the starting point if necessary. 7
V7631–V7632 Not used N/A
V7633 Sets the desired mode for the high speed counter, interrupt, pulse catch, pulse
train, and input filter (see the D2-CTRINT Manual, D2-CTRIF-M for more Default: 0000
Lower Byte Range:
8
information). Location is also used for setting the with/without battery option,
enable/disable CPU mode change, and power-up in Run Mode option. Range: 0 – None
10 – Up
40 – Interrupt
9
50 – Pulse Catch
60 – Filtered discrete In.
Upper Byte Range:
10
Bits 8 – 11, 14,15: Unused
Bit 12: With Batt. installed:
0 = disable BATT LED
11
1 = enable BATT LED
Bit 13: Power-up in Run
Contains set up information for high speed counter, interrupt, pulse catch, pulse Default: 0000
12
V7634 train output, and input filter for X0 (when D2–CTRINT is installed).
V7635 Contains set up information for high speed counter, interrupt, pulse catch, pulse Default: 0000
train output, and input filter for X1 (when D2–CTRINT is installed).
13
V7636 Contains set up information for high speed counter, interrupt, pulse catch, pulse Default: 0000

V7637
train output, and input filter for X2 (when D2–CTRINT is installed).
Contains set up information for high speed counter, interrupt, pulse catch, pulse Default: 0000
14
train output, and input filter for X3 (when D2–CTRINT is installed).
V7640–V7642
V7640
Additional setup parameters for the DV-1000
Timer preset value pointer V2000 - V2377
A
V7641 Counter preset value pointer V2000 - V2377
V7642 Timer preset block size (high byte) / Counter preset block size (low byte) 1 - 99 B
V7643–V7647 Not used N/A
V7751 Fault Message Error Code — stores the 4-digit code used with the FAULT
instruction when the instruction is executed. N/A C
D

DL205 User Manual, 4th Edition, Rev. A 3–41


Chapter 3: CPU Specifications and Operations

System Description of Contents Default Values/Ranges


V-memory
1 V7752 I/O Configuration Error — stores the module ID code for the module that
does not match the current configuration.
N/A
2 V7753
V7754
I/O Configuration Error — stores the correct module ID code.
I/O Configuration Error — identifies the base and slot number.
V7755 Error code — stores the fatal error code. N/A
3 V7756 Error code — stores the major error code.
V7757 Error code — stores the minor error code.
4 V7760–V7764 Module Error — stores the slot number and error code where an I/O error
occurs.
N/A

V7765 Scan — stores the total number of scan cycles that have occurred since the
5 V7666–V7774 Not used
last Program Mode to Run Mode transition.
N/A
V7775 Scan — stores the current scan time (milliseconds). N/A
6 V7776 Scan — stores the minimum scan time that has occurred since the last
Program Mode to Run Mode transition (milliseconds). N/A
Scan — stores the maximum scan time that has occurred since the last
7 V7777 Program Mode to Run Mode transition (milliseconds). N/A

8
9
10
11
12
13
14
A
B
C
D

3–42 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

DL240 System V-memory


1
System Default
Description of Contents
V-memory
V3630–V3707 The default location for multiple preset values for UP/DWN and UP counter 1 or pulse N/A
Values/Ranges 2
output function.
V3710–V3767 The default location for multiple preset values for UP/DWN and UP counter 2.
V3770–V3773 Not used
N/A
N/A
3
V3774–V3777 Default locations for analog potentiometer data (channels 1–4, respectively). Range: 0 – 9999
V7620–V7627 Locations for DV–1000 operator interface parameters
4
V7620 Sets the V-memory location that contains the value. V0 – V3760
V7621 Sets the V-memory location that contains the message.
V7622 Sets the total number (1 – 16) of V-memory locations to be displayed.
V0 – V3760
1 – 16
V0 – V3760
5
V7623 Sets the V-memory location that contains the numbers to be displayed. V0 – V3760
V7624 Sets the V-memory location that contains the character code to be displayed.
V7625 Sets the bit control pointer
V7626 Power Up Mode
V-memory location for
X, Y, or C points used.
6
V7627 Change Preset Value Password. 0,1,2,3,12

Starting location for the multi–step presets for channel 1. Since there are 24 presets
Default=0000
Default: V3630
7
V7630 available, the default range is V3630 – V3707. You can change the starting point if Range: V0 – V3710
necessary.

V7631
Starting location for the multi–step presets for channel 2. Since there are 24 presets
available, the default range is V3710– V3767. You can change the starting point if Default: V3710
8
necessary. Range: V0 – V3710
Default: 2 – 9600 baud
Lower Byte = Baud Rate
9
Lower Byte Range:

Contains the baud rate setting for Port 2. You can use AUX 56 (from the Handheld
00 = 300
01 = 1200
10
Programmer) or, use DirectSOFT to set the port parameters if 9600 baud is 02 = 9600

V7632
unacceptable. Also allows you to set a delay time between the assertion of the RTS
signal and the transmission of data. This is useful for radio modems that require a
03 = 19.2K
Upper Byte = Time Delay 11
key-up delay before data is transmitted. Upper Byte Range:
01 = 2ms
e.g. a value of 0302 sets 10ms Turnaround Delay (TAD) and 9600 baud.
02 = 5ms
03 = 10ms
12
04 = 20ms
05 = 50ms
06 = 100ms 13
07 = 500ms

14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 3–43


Chapter 3: CPU Specifications and Operations

System Default
Description of Contents
V-memory Values/Ranges
1 V7633 Sets the desired mode for the high speed counter, interrupt, pulse catch, pulse train,
Default: 0000
and input filter (see the D2-CTRINT manual, D2-CTRIF-M, for more information).
Location is also used for setting the with/without battery option, enable/disable CPU Lower Byte Range:
2 mode change 0 – None
10 – Up
20 – Up/Dwn.
3 30 – Pulse Out
40 – Interrupt
50 – Pulse Catch
60 – Filtered Dis.
4 Upper Byte Range:
Bits 8 – 11, 15 Unused
Bit 12: With Batt. installed:
5 0 = disable BATT LED
1 = enable BATT LED
Bit 13: Power-up in Run
Bit 14: Mode chg. enable
6 (K-sequence only)

V7634 Contains set up information for high speed counter, interrupt, pulse catch, pulse train Default: 0000
7 V7635
output, and input filter for X0 (when D2–CTRINT is installed).
Contains set up information for high speed counter, interrupt, pulse catch, pulse train Default: 0000
output, and input filter for X1 (when D2–CTRINT is installed).
8 V7636 Contains set up information for high speed counter, interrupt, pulse catch, pulse train
output, and input filter for X2 (when D2–CTRINT is installed). Default: 0000

V7637 Contains set up information for high speed counter, interrupt, pulse catch, pulse train Default: 0000
output, and input filter for X3 (when D2–CTRINT is installed).
9 V7640–V7641 Location for setting the lower and upper limits for the CH1 analog pot. Default: 0000
Range: 0 – 9999
Default: 0000
10 V7642–V7643 Location for setting the lower and upper limits for the CH2 analog pot. Range: 0 – 9999
Default: 0000
V7644–V7645 Location for setting the lower and upper limits for the CH3 analog pot. Range: 0 – 9999
11 V7646–V7647 Location for setting the lower and upper limits for the CH4 analog pot. Default: 0000
Range: 0 – 9999
V7650–V7737 Locations reserved for setup information used with future options (remote I/O and data communications)
12 V7720–V7722 Locations for DV–1000 operator interface parameters.
V7720 Titled Timer preset value pointer V2000–V2377
13 V7721
V7722
Titled Counter preset value pointer
HiByte-Titled Timer preset block size, LoByte-Titled Counter preset block size
V2000–V2377
1–99
V7746 Location contains the battery voltage, accurate to 0.1V. For example, a value of 32 indicates 3.2 volts
14 V7747 Location contains a 10ms counter. This location increments once every 10ms..
Fault Message Error Code — stores the 4-digit code used with the FAULT instruction when the instruction is
A V7751 executed. If you’ve used ASCII messages (DL240 only) then the data label (DLBL) reference number for that
message is stored here.
V7752 I/O configuration Error — stores the module ID code for the module that does not match the current config.
B
C
D

3–44 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

System Description of Contents


V-memory
V7753 I/O Configuration Error — stores the correct module ID code.
1
V7754 I/O Configuration Error — identifies the base and slot number.
V7755 Error code — stores the fatal error code. 2
V7756 Error code — stores the major error code.
V7757
V7760–V7764
Error code — stores the minor error code.
Module Error — stores the slot number and error code where an I/O error occurs.
3
V7765 Scan—stores the number of scan cycles that have occurred since the last Program to Run Mode transition.
V7766 Contains the number of seconds on the clock. (00 to 59). 4
V7767 Contains the number of minutes on the clock. (00 to 59).
V7770
V7771
Contains the number of hours on the clock. (00 to 23).
Contains the day of the week. (Mon, Tue, etc.).
5
V7772 Contains the day of the month (1st, 2nd, etc.).
V7773 Contains the month. (01 to 12) 6
V7774 Contains the year. (00 to 99)
V7775
V7776
Scan — stores the current scan time (milliseconds).
Scan — stores the minimum scan time that has occurred since the last Program Mode to Run Mode transition
7
(milliseconds).
V7777 Scan — stores the maximum scan time that has occurred since the last Program Mode to Run Mode transition
(milliseconds). 8
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 3–45


Chapter 3: CPU Specifications and Operations

DL250–1 System V-memory (DL250 also)


1
System Default
Description of Contents
2 V-memory
The default location for multiple preset values for UP/DWN and UP counter 1 or pulse N/A
Values/Ranges
V3630–V3707 output function
3 V3710–V3767
V3770–V3777
The default location for multiple preset values for UP/DWN and UP counter 2.
Not used
N/A
N/A

4 V7620–V7627
V7620
Locations for DV–1000 operator interface parameters
Sets the V-memory location that contains the value V0 – V3760
V7621 Sets the V-memory location that contains the message V0 – V3760
5 V7622
V7623
Sets the total number (1 – 32) of V-memory locations to be displayed
Sets the V-memory location that contains the numbers to be displayed
1 – 32
V0 – V3760
V7624 Sets the V-memory location that contains the character code to be displayed V0 – V3760
V7625 Sets the bit control pointer V-memory for X, Y, or C
6 V7626
V7627
Sets the power up mode
Change Preset Value password
0,1,2,3,12
Default=0000

7 V7630
Starting location for the multi–step presets for channel 1. Since there are 24 presets
available, the default range is V3630 – V3707. You can change the starting point if
necessary.
Default: V3630
Range: V0 – V3710
Starting location for the multi–step presets for channel 2. Since there are 24 presets
8 V7631 available, the default range is V3710– V3767. You can change the starting point if
necessary.
Default: V3710
Range: V0 – V3710
V7632 Reserved
9 V7633 Sets the desired mode for the high speed counter, interrupt, pulse catch, pulse train,
and input filter (see the D2-CTRINT manual, D2-CTRIF-M, for more information).
Default: 0060
Lower Byte Range:
Location is also used for setting the with/without battery option, enable/disable CPU Range: 0 – None
10 mode change, and power-up in Run Mode option. 10 – Up
20 – Up/Dwn.
30 – Pulse Out
11 40 – Interrupt
50 – Pulse Catch
60 – Filtered Dis.
Upper Byte Range:
12 Bits 8 – 11, 14–15 Unused
Bit 12: With Batt. installed:
0 = disable BATT LED
13 1 = enable BATT LED
Bit 13: Power-up in Run
V7634 Contains set up information for high speed counter, interrupt, pulse catch,pulse train Default: 1006
14 V7635
output, and input filter for X0 (when D2–CTRINT is installed).
Contains set up information for high speed counter, interrupt, pulse catch, pulse train Default: 1006
output, and input filter for X1 (when D2–CTRINT is installed).
A V7636 Contains set up information for high speed counter, interrupt, pulse catch, pulse train
output, and input filter for X2 (when D2–CTRINT is installed). Default: 1006

B
C
D

3–46 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

1
System Description of Contents Default Values/Ranges
V-memory
Contains set up information for high speed counter, interrupt, pulse catch,
2
V7637 pulse train output, and input filter for X3 (when D2–CTRINT is installed). Default: 1006

V7640 Loop Table Beginning address V1400–V7340


V10000–V17740
3
V7641 Number of Loops Enabled 1–4
V7642 Error Code – V–memory Error Location for Loop Table 4
V7643–V7647 Reserved
V7650
V7651
Port 2 End–code setting Setting (A55A), Non–procedure communications start.
Port 2 Data format –Non–procedure communications format setting.
5
V7652 Port 2 Format Type setting – Non–procedure communications type code setting.
V7653 Port 2 Terminate–code setting – Non–procedure communications Termination code setting. 6
V7654 Port 2 Store v–mem address – Non–procedure communication data store V–Memory address
V7655
V7656
Port 2 Setup area –0–7 Comm protocol (flag 0) 8–15 Comm time out/response delay time (flag 1)
Port 2 Setup area – 0–15 Communication (flag 2, flag 3)
7
V7657 Port 2: Setup completion code
V7660–V7717 Set–up Information – Locations reserved for set up information used with future options. 8
V7720–V7722 Locations for DV–1000 operator interface parameters.
V7720
V7721
Titled Timer preset value pointer
Title Counter preset value pointer
9
V7722 HiByte-Titled Timer preset block size, LoByte-Titled Counter preset block size
V7740 Port 2 Communication Auto Reset Timer setup 10
V7741 Output Hold or reset setting: Expansion bases 1 and 2 (DL250–1)
V7747
V7750
Location contains a 10ms counter. This location increments once every 10ms.
Reserved
11
Fault Message Error Code — stores the 4-digit code used with the FAULT instruction when the instruction is
V7751 executed. If you’ve used ASCII messages (DL240 only), then the data label (DLBL) reference number for
that message is stored here.
12
I/O configuration Error — stores the module ID code for the module that does not match the current
V7752
V7753
configuration.
I/O Configuration Error — stores the correct module ID code.
13
V7754 I/O Configuration Error — identifies the base and slot number.
V7755 Error code — stores the fatal error code. 14
V7756 Error code — stores the major error code.
V7757
V7760–V7764
Error code — stores the minor error code.
Module Error — stores the slot number and error code where an I/O error occurs.
A
Scan — stores the total number of scan cycles that have occurred since the last Program Mode to Run
V7765 Mode transition. B
C
D

DL205 User Manual, 4th Edition, Rev. A 3–47


Chapter 3: CPU Specifications and Operations

1 System Description of Contents


V-memory
2 V7766 Contains the number of seconds on the clock. (00 to 59)
V7767 Contains the number of minutes on the clock. (00 to 59)
3 V7770
V7771
Contains the number of hours on the clock. (00 to 23)
Contains the day of the week. (Mon, Tue, etc.)
V7772 Contains the day of the month (1st, 2nd, etc.)
4 V7773 Contains the month. (01 to 12)
V7774 Contains the year. (00 to 99)
5 V7775 Scan — stores the current scan time (milliseconds)
Scan — stores the minimum scan time that has occurred since the last Program Mode to Run
V7776 Mode transition (milliseconds)
6 V7777 Scan — stores the maximum scan time that has occurred since the last Program Mode to Run
Mode transition (milliseconds)
V36000–36057 Analog pointer method for expansion base 1 (DL250–1)
7 V36100–36157 Analog pointer method for expansion base 2 (DL250–1)
V36400–36427 Analog pointer method for local base

8 V37700–37737 Port 2: Setup register for Koyo Remote I/O

The following system control relays are used for Koyo Remote I/O setup on Communications
9 Port 2.

System CRs
10 C740
Description of Contents
Completion of setups – ladder logic must turn this relay on when it has finished writing to the Remote I/O setup
table
11 C741
C743
Erase received data – turning on this flag will erase the received data during a communication error
Re-start – Turning on this relay will resume after a communications hang-up on an error.
Setup Error – The corresponding relay will be ON if the setup table contains an error
12 C750 to C757 (C750 = master, C751 = slave 1 C757 = slave 7)
Communications Ready – The corresponding relay will be ON if the setup table data is valid
C760 to C767 (C760 = master, C761 = slave 1 C767 = slave 7)
13
14
A
B
C
D

3–48 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

DL260 System V-memory


1
System Description of Contents Default Values/Ranges
V-memory
V3630–V3707 The default location for multiple preset values for UP/DWN and UP counter 1 or N/A
2
pulse output function
V3710–V3767 The default location for multiple preset values for UP/DWN and UP counter 2 N/A 3
V3770–V3777 Not used N/A
V7620–V7627
V7620
Locations for DV–1000 operator interface parameters
Sets the V-memory location that contains the value V0 – V3760
4
V7621 Sets the V-memory location that contains the message V0 – V3760
V7622 Sets the total number (1 – 32) of V-memory locations to be displayed 1 – 32
V7623
V7624
Sets the V-memory location that contains the numbers to be displayed
Sets the V-memory location that contains the character code to be displayed
V0 – V3760
V0 – V3760
5
V7625 Sets the bit control pointer V-memory for X, Y, or C
V7626
V7627
Sets the power up mode
Change Preset Value password
0,1,2,3,12
Default=0000
6
Starting location for the multi–step presets for channel 1. Since there are 24
V7630 presets available, the default range is V3630 – V3707. You can change the
starting point if necessary.
Default: V3630
Range: V0 – V3710 7
Starting location for the multi–step presets for channel 2. Since there are 24
V7631 presets available, the default range is V3710– V3767. You can change the starting Default:
point if necessary.
V3710
Range: V0 – V3710
8
V7632
V7633
Reserved
Sets the desired mode for the high speed counter, interrupt, pulse catch, pulse Default: 0060
9
train, and input filter (see the D2-CTRINT manual, D2-CTRIF-M, for more Lower Byte Range:
information). Location is also used for setting the with/without battery option,
enable/disable CPU mode change, and power-up in Run Mode option.
Range: 0 – None
10 – Up
20 – Up/Dwn
10
30 – Pulse Ou
40 – Interrupt
50 – Pulse Catch
11
60 – Fltered Dis.
Upper Byte Range
Bits 8 – 11, 14–15 Unused
Bit 12: With Batt. installed:
12
0 = disable BATT LED
1 = enable BATT LED
Bit 13: Power-up in Run
13
Contains set up information for high speed counter, interrupt, pulse catch, pulse
V7634 train output, and input filter for X0 (when D2–CTRINT is installed)
Contains set up information for high speed counter, interrupt, pulse catch, pulse
Default: 1006
14
V7635 train output, and input filter for X1 (when D2–CTRINT is installed) Default: 1006

V7636 Contains set up information for high speed counter, interrupt, pulse catch, pulse
train output, and input filter for X2 (when D2–CTRINT is installed) Default: 1006 A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 3–49


Chapter 3: CPU Specifications and Operations

System Default
Description of Contents
1 V-memory
V7637 Contains set up information for high speed counter, interrupt, pulse catch, pulse train
Values/Ranges
Default: 1006
output, and input filter for X3 (when D2–CTRINT is installed).
2 V7640 PID Loop Table Beginning address
V400–640
V1400–V7340
V10000–V35740
3 V7641
V7642
Number of Loops Enabled
Error Code – V–memory Error Location for Loop Table
1–16

V7643 - V7647 Reserved


4 V7650 Port 2 End–code Setting (A55A), Nonprocedure communications start.
V7651 Port 2 Data format - Non-procedure communications format setting.
5 V7652
V7653
Port 2 Format Type setting – Non–procedure communications type code setting.
Port 2 Terminate–code setting – Non–procedure communications Termination code setting
V7654 Port 2 Store v–mem address – Non–procedure communication data store V–Memory address.
6 V7655 Port 2 Setup area –0–7 Comm protocol (flag 0) 8–15 Comm time out/response delay time (flag 1)
V7656 Port 2 Setup area – 0–15 Communication (flag 2, flag 3)
7 V7657
V7660–V7717
Port 2: Setup completion code
Set–up Information – Locations reserved for set up information used with future options
V7720–V7722 Locations for DV-1000 operator interface parameters.
8 V7720
V7721
Titled Timer preset value pointer
Title Counter preset value pointer
V7722 HiByte-Titled Timer preset block size, LoByte-Titled Counter preset block size
9 V7740
V7741
Port 2 Communication Auto Reset Timer setup
Output Hold or reset setting: Expansion bases 1 and 2

10 V7742
V7747
Output Hold or reset setting: Expansion bases 3 and 4
Location contains a 10ms counter. This location increments once every 10ms.
V7750 Reserved
11 V7751
Fault Message Error Code — stores the 4-digit code used with the FAULT instruction when the instruction is
executed. If you’ve used ASCII messages (DL240 only) then the data label (DLBL) reference number for that
message is stored here.
12 V7752 I/O configuration Error — stores the module ID code for the module that does not match the current
configuration.
V7753 I/O Configuration Error — stores the correct module ID code.
13 V7754 I/O Configuration Error — identifies the base and slot number.
V7755 Error code — stores the fatal error code.
14 V7756
V7757
Error code — stores the major error code.
Error code — stores the minor error code.
V7763–V7764 Module Error — stores the slot number and error code where an I/O error occurs.
A V7765 Scan — stores the total number of scan cycles that have occurred since the last Program Mode to Run Mode
transition.

B
C
D

3–50 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

System Description of Contents


V-memory
V7766 Contains the number of seconds on the clock.(00 to 59).
1
V7767 Contains the number of minutes on the clock.(00 to 59).
V7770 Contains the number of hours on the clock.(00 to 23). 2
V7771 Contains the day of the week. (Mon, Tue, etc.).
V7772
V7773
Contains the day of the month (1st, 2nd, etc.).
Contains the month. (01 to 12)
3
V7774 Contains the year. (00 to 99)
V7775 Scan — stores the current scan time (milliseconds). 4
V7776 Scan — stores the minimum scan time that has occurred since the last Program Mode to Run Mode transition
(milliseconds).
V7777 Scan — stores the maximum scan time that has occurred since the last Program Mode to Run Mode transition
(milliseconds).
5
V36000–36057 Analog pointer method for expansion base 1
V36100–36157 Analog pointer method for expansion base 2 6
V36200–36257 Analog pointer method for expansion base 3
V36300–36357
V36400–36427
Analog pointer method for expansion base 4
Analog pointer method for local base
7
V37700–37737 Port 2: Setup register for Koyo Remote I/O
8
The following system control relays are used for Koyo Remote I/O setup on Communications
Port 2. 9
System CRs Description of Contents
Completion of setups – ladder logic must turn this relay on when it has finished writing to the Remote I/O setup
10
C740 table
C741 Erase received data – turning on this flag will erase the received data during a communication error. 11
C743 Re-start – Turning on this relay will resume after a communications hang-up on an error.
C750 to C757 Setup Error – The corresponding relay will be ON if the setup table contains an error
(C750 = master, C751 = slave 1... C757= slave 7 12
C760 to C767 Communications Ready – The corresponding relay will be ON if the setup table data is valid
(C760 = master, C761 = slave 1...C767 = slave 7
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 3–51


Chapter 3: CPU Specifications and Operations

DL205 Aliases
1 An alias is an alternate way of referring to certain memory types, such as timer/counter
current values, V-memory locations for I/O points, etc., which simplifies understanding the
2 memory address. The use of the alias is optional, but some users may find the alias to be
helpful when developing a program. The table below shows how the aliases can be used.
3
DL205 Aliases
4 Address Start Alias Start Example
V0 TA0 V0 is the timer accumulator value for timer 0, therefore, it’s
alias is TA0. TA1 is the alias for V1, etc..
5 V1000 CTA0 V1000 is the counter accumulator value for counter 0,
therefore, it’s alias is CTA0. CTA1 is the alias for V1001, etc.
6 V40000 VGX
V40000 is the word memory reference for discrete bits GX0
through GX17, therefore, it’s alias is VGX0. V40001 is the word
memory reference for discrete bits GX20 through GX37,
therefore, it’s alias is VGX20.
7 V40200 is the word memory reference for discrete bits GY0
V40200 VGY through GY17, therefore, it’s alias is VGY0. V40201 is the word
memory reference for discrete bits GY20 through GY37,
8 therefore, it’s alias is VGY20.
V40400 is the word memory reference for discrete bits X0
through X17, therefore, it’s alias is VX0. V40401 is the word
9 V40400 VX0 memory reference for discrete bits X20 through X37, therefore,
it’s alias is VX20.
V40500 is the word memory reference for discrete bits Y0
10 V40500 VY0 through Y17, therefore, it’s alias is VY0. V40501 is the word
memory reference for discrete bits Y20 through Y37, therefore,
it’s alias is VY20.
11 V40600 is the word memory reference for discrete bits C0
through C17, therefore, it’s alias is VC0. V40601 is the word
V40600 VC0 memory reference for discrete bits C20 through C37, therefore,
12 it’s alias is VC20.
V41000 is the word memory reference for discrete bits S0
V41000 VS0 through S17, therefore, it’s alias is VS0. V41001 is the word
13 memory reference for discrete bits S20 through S37, therefore,
it’s alias is VS20.
V41100 is the word memory reference for discrete bits T0
14 V41100 VT0 through T17, therefore, it’s alias is VT0. V41101 is the word
memory reference for discrete bits T20 through T37, therefore,
it’s alias is VT20.

A V41140 VCT0
V41140 is the word memory reference for discrete bits CT0
through CT17, therefore, it’s alias is VCT0. V41141 is the word
memory reference for discrete bits CT20 through CT37,
therefore, it’s alias is VCT20.
B V41200 is the word memory reference for discrete bits SP0
V41200 VSP0 through SP17, therefore, it’s alias is VSP0. V41201 is the word
memory reference for discrete bits SP20 through SP37,
C therefore, it’s alias is VSP20.

3–52 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

DL230 Memory Map


1
Discrete Memory Word Memory
Memory Type Reference (octal) Qty. Decimal Symbol
Reference (octal)
X0
2
Input Points X0 – X177 V40400 – V40407 1281
3
Y0
1281
Output Points Y0 – Y177 V40500 – V40507
4
C0 C0
Control Relays C0 – C377 V40600 – V40617 256 5
Special Relays SP0 – SP117
SP540 – SP577
V41200 – V41204
V41226 – V41227
112
SP0 6
Timers T0 – T77 64 TMR T0
7
K100

V0 K100
8
Timer Current Values None V0 – V77 64
9
T0
Timer Status Bits T0 – T77 V41100 – V41103 64
10
CNT CT0
Counters CT0 – CT77 64 K10 11
Counter Current Values None V1000 – V1077 64
V1000 K100 12
Counter Status Bits CT0 – CT77 V41140 – V41143 64
CT0 13
Data Words None V2000 – V2377 256 None specific, used with many
14
instructions

Data Words Non–volatile None V4000 – V4177 128 None specific, used with many
instructions
A
Stages S0 – S377 V41000 – V41017 256
SG
S001
S0 B
System parameters None
V7620 – V7647
V7750–V7777
48 None specific, used for various
purposes
C
NOTE 1:– The DL230 systems are limited to 256 discrete I/O points (total) with the present system D
hardware available. These can be mixed between inputs and output points as necessary.

DL205 User Manual, 4th Edition, Rev. A 3–53


Chapter 3: CPU Specifications and Operations

DL240 Memory Map


1
Discrete Memory Word Memory
Memory Type Reference(octal) Qty. Decimal Symbol
2 Reference (octal)
X0
Input Points X0 – X477 V40400 – V40423 3201
3
Y0
4 Output Points Y0 – Y477 V40500 – V40523 3201

C0 C0
5 Control Relays C0 – C377 V40600 – V40617 256

6 Special Relays
SP0 – SP137 V41200 – V41205
144
SP0
SP540 – SP617 V41226 – V41230

7 TMR T0
Timers T0 – T177 128
K100
8
V0 K100
Timer Current Values None V0 – V177 128
9
T0
10 Timer Status Bits T0 – T177 V41100 – V41107 128

CNT CT0
11 Counters CT0 – CT177 128 K10

12 Counter Current Values None V1000 – V1177 128


V1000 K100

13 CT0
Counter Status Bits CT0 – CT177 V41140 – V41147 128

14 None specific, used with many


Data Words None V2000 – V3777 1024 instructions
A Data Words Non–volatile None V4000 – V4377 256 None specific, used with many
instructions

B Stages S0 – S777 V41000 – V41037 512


SG
S001
S0

C System parameters None


V7620 – V7737
106 None specific, used for various
purposes
V7746–V7777

D NOTE 1: – The DL240 systems are limited to 256 discrete I/O points (total) with the present system
hardware available. These can be mixed between inputs and output points as necessary.

3–54 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

DL250–1 Memory Map (DL250 also)


1
Discrete Memory Word Memory
Memory Type Reference (octal) Qty. Decimal Symbol
Reference (octal) 2
X0
Input Points X0 – X777 V40400 – V40437 512
3
Y0
Output Points Y0 – Y777 V40500 – V40537 512
4
Control Relays C0 – C1777 V40600 – V40677 1024
C0 C0
5
Special Relays SP0 – SP777 V41200 – V41237 512
SP0 6
TMR T0
7
Timers T0 – T377 256
K100
8
V0 K100
Timer Current Values None V0 – V377 256
9
T0
Timer Status Bits T0 – T377 V41100 – V41117 256
10
CNT CT0
Counters CT0 – CT177 128 K10 11
Counter Current Values None V1000 – V1177 128
V1000 K100 12
CT0
13
Counter Status Bits CT0 – CT177 V41140 – V41147 128
14
Data Words None V1400 – V7377 7168 None specific, used with many
V10000–V17777 instructions
A
SG S0
Stages S0 – S1777 V41000 – V41077 1024
S001 B
System parameters None V7400–V7777
V36000–V37777 768 None specific, used for various
purposes
C
D

DL205 User Manual, 4th Edition, Rev. A 3–55


Chapter 3: CPU Specifications and Operations

DL260 Memory Map


1
Discrete Memory Word Memory
Memory Type Reference (octal) Qty. Decimal Symbol
2 Reference (octal)
X0
Input Points X0 – X1777 V40400 – V40477 1024
3
Y0
4 Output Points Y0 – Y1777 V40500 – V40577 1024

5 Control Relays C0 – C3777 V40600 – V40777 2048


C0 C0

6 Special Relays SP0 – SP777 V41200 – V41237 512


SP0

7 TMR T0
Timers T0 – T377 256
K100
8
V0 K100
Timer Current Values None V0 – V377 256
9
T0
10 Timer Status Bits T0 – T377 V41100 – V41117 256

CNT CT0
11 Counters CT0 – CT377 256 K10

12 Counter Current Values None V1000 – V1377 256


V1000 K100

13 CT0
Counter Status Bits CT0 – CT377 V41140 – V41157 256
14
V400 – V777 None specific, used with many
Data Words None V1400 – V7377 14.6K
A V10000–V35777 instructions

SG S0
B Stages S0 – S1777 V41000 – V41077 1024 S001

GX0 GY0
C Remote Input and
Output Points
GX0 – GX3777 V40000 – V40177 2048
GY0 – GY3777 V40200–V40377 2048

D System parameters None


V7400–V7777
1.2K None specific, used for various
V36000–V37777 purposes

3–56 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

X Input/Y Output Bit Map


This table provides a listing of the individual Input points associated with each V-memory 1
address bit for the DL230, DL240, and DL250–1 and DL260 CPUs. The DL250–1 ranges
apply to the DL250. 2
MSB DL230/DL240/DL250-1/DL260 Input (X) and Output (Y) Points LSB X Input Y Output
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Address Address
3
017 016 015 014 013 012 011 010 007 006 005 004 003 002 001 000 V40400 V40500
037 036 035 034 033 032 031 030 027 026 025 024 023 022 021 020 V40401 V40501 4
057 056 055 054 053 052 051 050 047 046 045 044 043 042 041 040 V40402 V40502
077
117
076
116
075
115
074
114
073
113
072
112
071
111
070
110
067
107
066
106
065
105
064
104
063
103
062
102
061
101
060
100
V40403
V40404
V40503
V40504
5
137 136 135 134 133 132 131 130 127 126 125 124 123 122 121 120 V40405 V40505
157 156 155 154 153 152 151 150 147 146 145 144 143 142 141 140 V40406 V40506 6
177 176 175 174 173 172 171 170 167 166 165 164 163 162 161 160 V40407 V40507

MSB DL240/DL250-1/DL260 Input (X) and Output (Y) Points LSB


7
V40410 V40510
217
237
216
236
215
235
214
234
213
233
212
232
211
231
210
230
207
227
206
226
205
225
204
224
203
223
202
222
201
221
200
220 V40411 V40511 8
257 256 255 254 253 252 251 250 247 246 245 244 243 242 241 240 V40412 V40512
277
317
276
316
275
315
274
314
273
313
272
312
271
311
270
310
267
307
266
306
265
305
264
304
263
303
262
302
261
301
260
300
V40413
V40414
V40513
V40514
9
V40415 V40515
337
357
336
356
335
355
334
354
333
353
332
352
331
351
330
350
327
347
326
346
325
345
324
344
323
343
322
342
321
341
320
340 V40416 V40516 10
377 376 375 374 373 372 371 370 367 366 365 364 363 362 361 360 V40417 V40517
417
437
416
436
415
435
414
434
413
433
412
432
411
431
410
430
407
427
406
426
405
425
404
424
403
423
402
422
401
421
400
420
V40420
V40421
V40520
V40521
11
V40422 V40522
457
477
456
476
455
475
454
474
453
473
452
472
451
471
450
470
447
467
446
466
445
465
444
464
443
463
442
462
441
461
440
460 V40423 V40523 12
MSB Additional DL250-1/DL260 Input (X) and Output (Y) Points LSB 13
517 516 515 514 513 512 511 510 507 506 505 504 503 502 501 500 V40424 V40524
537
557
536
556
535
555
534
554
533
553
532
552
531
551
530
550
527
547
526
546
525
545
524
544
523
543
522
542
521
541
520
540
V40425
V40426
V40525
V40526
14
577 576 575 574 573 572 571 570 567 566 565 564 563 562 561 560 V40427 V40527
617 616 615 614 613 612 611 610 607 606 605 604 603 602 601 600 V40430 V40530 A
637 636 635 634 633 632 631 630 627 626 625 624 623 622 621 620 V40431 V40531
657
677
656
676
655
675
654
674
653
673
652
672
651
671
650
670
647
667
646
666
645
665
644
664
643
663
642
662
641
661
640
660
V40432
V40433
V40532
V40533
B
717 716 715 714 713 712 711 710 707 706 705 704 703 702 701 700 V40434 V40534
737 736 735 734 733 732 731 730 727 726 725 724 723 722 721 720 V40435 V40535 C
757 756 755 754 753 752 751 750 747 746 745 744 743 742 741 740 V40436 V40536
777 776 775 774 773 772 771 770 767 766 765 764 763 762 761 760 V40437 V40537 D

DL205 User Manual, 4th Edition, Rev. A 3–57


Chapter 3: CPU Specifications and Operations

1
2 MSB Additional DL260 Input (X) and Output (Y) Points LSB X Input Y Output
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Address Address
3 1017
1037
1016
1036
1015
1035
1014
1034
1013
1033
1012
1032
1011
1031
1010
1030
1007
1027
1006
1026
1005
1025
1004
1024
1003
1023
1002
1022
1001
1021
1000
1020
V40440
V40441
V40540
V40541
V40442 V40542
4 1057
1077
1056
1076
1055
1075
1054
1074
1053
1073
1052
1072
1051
1071
1050
1070
1047
1067
1046
1066
1045
1065
1044
1064
1043
1063
1042
1062
1041
1061
1040
1060 V40443 V40543
1117 1116 1115 1114 1113 1112 1111 1110 1107 1106 1105 1104 1103 1102 1101 1100 V40444 V40544
5 1137
1157
1136
1156
1135
1155
1134
1154
1133
1153
1132
1152
1131
1151
1130
1150
1127
1147
1126
1146
1125
1145
1124
1144
1123
1143
1122
1142
1121
1141
1120
1140
V40445
V40446
V40545
V40546
V40447 V40547
6 1177
1217
1176
1216
1175
1215
1174
1214
1173
1213
1172
1212
1171
1211
1170
1210
1167
1207
1166
1206
1165
1205
1164
1204
1163
1203
1162
1202
1161
1201
1160
1200 V40450 V40550
1237 1236 1235 1234 1233 1232 1231 1230 1227 1226 1225 1224 1223 1222 1221 1220 V40451 V40551
7 1257
1277
1256
1276
1255
1275
1254
1274
1253
1273
1252
1272
1251
1271
1250
1270
1247
1267
1246
1266
1245
1265
1244
1264
1243
1263
1242
1262
1241
1261
1240
1260
V40452
V40453
V40552
V40553
V40454 V40554
8 1317
1337
1316
1336
1315
1335
1314
1334
1313
1333
1312
1332
1311
1331
1310
1330
1307
1327
1306
1326
1305
1325
1304
1324
1303
1323
1302
1322
1301
1321
1300
1320 V40455 V40555
1357 1356 1355 1354 1353 1352 1351 1350 1347 1346 1345 1344 1343 1342 1341 1340 V40456 V40556
9 1377
1417
1376
1416
1375
1415
1374
1414
1373
1413
1372
1412
1371
1411
1370
1410
1367
1407
1366
1406
1365
1405
1364
1404
1363
1403
1362
1402
1361
1401
1360
1400
V40457
V40460
V40557
V40560
V40461 V40561
10 1437
1457
1436
1456
1435
1455
1434
1454
1433
1453
1432
1452
1431
1451
1430
1450
1427
1447
1426
1446
1425
1445
1424
1444
1423
1443
1422
1442
1421
1441
1420
1440 V40462 V40562
1477 1476 1475 1474 1473 1472 1471 1470 1467 1466 1465 1464 1463 1462 1461 1460 V40463 V40563
11 1517
1537
1516
1536
1515
1535
1514
1534
1513
1533
1512
1532
1511
1531
1510
1530
1507
1527
1506
1526
1505
1525
1504
1524
1503
1523
1502
1522
1501
1521
1500
1520
V40464
V40465
V40564
V40565
1557 1556 1555 1554 1553 1552 1551 1550 1547 1546 1545 1544 1543 1542 1541 1540 V40466 V40566
12 1577 1576 1575 1574 1573 1572 1571 1570 1567 1566 1565 1564 1563 1562 1561 1560 V40467 V40567
1617 1616 1615 1614 1613 1612 1611 1610 1607 1606 1605 1604 1603 1602 1601 1600 V40470 V40570
13 1637
1657
1636
1656
1635
1655
1634
1654
1633
1653
1632
1652
1631
1651
1630
1650
1627
1647
1626
1646
1625
1645
1624
1644
1623
1643
1622
1642
1621
1641
1620
1640
V40471
V40472
V40571
V40572
1677 1676 1675 1674 1673 1672 1671 1670 1667 1666 1665 1664 1663 1662 1661 1660 V40473 V40573
14 1717 1716 1715 1714 1713 1712 1711 1710 1707 1706 1705 1704 1703 1702 1701 1700 V40474 V40574
1737 1736 1735 1734 1733 1732 1731 1730 1727 1726 1725 1724 1723 1722 1721 1720 V40475 V40575
A 1757
1777
1756
1776
1755
1775
1754
1774
1753
1773
1752
1772
1751
1771
1750
1770
1747
1767
1746
1766
1745
1765
1744
1764
1743
1763
1742
1762
1741
1761
1740
1760
V40476
V40477
V40576
V40577
B
C
D

3–58 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

Control Relay Bit Map


This table provides a listing of the individual control relays associated with each V-memory address bit. 1
MSB DL230/DL240/DL250-1/DL260 Control Relays (C) LSB
Address
2
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
017
037
016
036
015
035
014
034
013
033
012
032
011
031
010
030
007
027
006
026
005
025
004
024
003
023
002
022
001
021
000
020
V40600
V40601
3
057 056 055 054 053 052 051 050 047 046 045 044 043 042 041 040 V40602
077 076 075 074 073 072 071 070 067 066 065 064 063 062 061 060 V40603 4
117 116 115 114 113 112 111 110 107 106 105 104 103 102 101 100 V40604
137
157
136
156
135
155
134
154
133
153
132
152
131
151
130
150
127
147
126
146
125
145
124
144
123
143
122
142
121
141
120
140
V40605
V40606
5
177 176 175 174 173 172 171 170 167 166 165 164 163 162 161 160 V40607
217 216 215 214 213 212 211 210 207 206 205 204 203 202 201 200 V40610 6
237 236 235 234 233 232 231 230 227 226 225 224 223 222 221 220 V40611
257
277
256
276
255
275
254
274
253
273
252
272
251
271
250
270
247
267
246
266
245
265
244
264
243
263
242
262
241
261
240
260
V40612
V40613
7
317 316 315 314 313 312 311 310 307 306 305 304 303 302 301 300 V40614
337 336 335 334 333 332 331 330 327 326 325 324 323 322 321 320 V40615 8
357 356 355 354 353 352 351 350 347 346 345 344 343 342 341 340 V40616
377 376 375 374 373 372 371 370 367 366 365 364 363 362 361 360 V40617 9
10
MSB Additional DL250-1/DL260 Control Relays (C) LSB Address
417 416 415 414 413 412 411 410 407 406 405 404 403 402 401 400 V40620 11
437 436 435 434 433 432 431 430 427 426 425 424 423 422 421 420 V40621
457
477
456
476
455
475
454
474
453
473
452
472
451
471
450
470
447
467
446
466
445
465
444
464
443
463
442
462
441
461
440
460
V40622
V40623
12
517 516 515 514 513 512 511 510 507 506 505 504 503 502 501 500 V40624
537 536 535 534 533 532 531 530 527 526 525 524 523 522 521 520 V40625 13
557 556 555 554 553 552 551 550 547 546 545 544 543 542 541 540 V40626
577
617
576
616
575
615
574
614
573
613
572
612
571
611
570
610
567
607
566
606
565
605
564
604
563
603
562
602
561
601
560
600
V40627
V40630
14
637 636 635 634 633 632 631 630 627 626 625 624 623 622 621 620 V40631
657 656 655 654 653 652 651 650 647 646 645 644 643 642 641 640 V40632 A
677 676 675 674 673 672 671 670 667 666 665 664 663 662 661 660 V40633
717
737
716
736
715
735
714
734
713
733
712
732
711
731
710
730
707
727
706
726
705
725
704
724
703
723
702
722
701
721
700
720
V40634
V40635
B
757 756 755 754 753 752 751 750 747 746 745 744 743 742 741 740 V40636
777 776 775 774 773 772 771 770 767 766 765 764 763 762 761 760 V40637 C
D

DL205 User Manual, 4th Edition, Rev. A


3–59
Chapter 3: CPU Specifications and Operations

1 MSB Additional DL250-1/DL260 Control Relays (C) LSB


Address
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
2 1017 1016 1015 1014 1013 1012 1011 1010 1007 1006 1005 1004 1003 1002 1001 1000 V40640
1037 1036 1035 1034 1033 1032 1031 1030 1027 1026 1025 1024 1023 1022 1021 1020 V40641
3 1057
1077
1056
1076
1055
1075
1054
1074
1053
1073
1052
1072
1051
1071
1050
1070
1047
1067
1046
1066
1045
1065
1044
1064
1043
1063
1042
1062
1041
1061
1040
1060
V40642
V40643
1117 1116 1115 1114 1113 1112 1111 1110 1107 1106 1105 1104 1103 1102 1101 1100 V40644
4 1137 1136 1135 1134 1133 1132 1131 1130 1127 1126 1125 1124 1123 1122 1121 1120 V40645
1157 1156 1155 1154 1153 1152 1151 1150 1147 1146 1145 1144 1143 1142 1141 1140 V40646
5 1177
1217
1176
1216
1175
1215
1174
1214
1173
1213
1172
1212
1171
1211
1170
1210
1167
1207
1166
1206
1165
1205
1164
1204
1163
1203
1162
1202
1161
1201
1160
1200
V40647
V40650
1237 1236 1235 1234 1233 1232 1231 1230 1227 1226 1225 1224 1223 1222 1221 1220 V40651
6 1257 1256 1255 1254 1253 1252 1251 1250 1247 1246 1245 1244 1243 1242 1241 1240 V40652
1277 1276 1275 1274 1273 1272 1271 1270 1267 1266 1265 1264 1263 1262 1261 1260 V40653
7 1317
1337
1316
1336
1315
1335
1314
1334
1313
1333
1312
1332
1311
1331
1310
1330
1307
1327
1306
1326
1305
1325
1304
1324
1303
1323
1302
1322
1301
1321
1300
1320
V40654
V40655
1357 1356 1355 1354 1353 1352 1351 1350 1347 1346 1345 1344 1343 1342 1341 1340 V40656
8 1377 1376 1375 1374 1373 1372 1371 1370 1367 1366 1365 1364 1363 1362 1361 1360 V40657
1417 1416 1415 1414 1413 1412 1411 1410 1407 1406 1405 1404 1403 1402 1401 1400 V40660
9 1437
1457
1436
1456
1435
1455
1434
1454
1433
1453
1432
1452
1431
1451
1430
1450
1427
1447
1426
1446
1425
1445
1424
1444
1423
1443
1422
1442
1421
1441
1420
1440
V40661
V40662
1477 1476 1475 1474 1473 1472 1471 1470 1467 1466 1465 1464 1463 1462 1461 1460 V40663
10 1517 1516 1515 1514 1513 1512 1511 1510 1507 1506 1505 1504 1503 1502 1501 1500 V40664
1537 1536 1535 1534 1533 1532 1531 1530 1527 1526 1525 1524 1523 1522 1521 1520 V40665
11 1557
1577
1556
1576
1555
1575
1554
1574
1553
1573
1552
1572
1551
1571
1550
1570
1547
1567
1546
1566
1545
1565
1544
1564
1543
1563
1542
1562
1541
1561
1540
1560
V40666
V40667
1617 1616 1615 1614 1613 1612 1611 1610 1607 1606 1605 1604 1603 1602 1601 1600 V40670
12 1637 1636 1635 1634 1633 1632 1631 1630 1627 1626 1625 1624 1623 1622 1621 1620 V40671
1657 1656 1655 1654 1653 1652 1651 1650 1647 1646 1645 1644 1643 1642 1641 1640 V40672
13 1677
1717
1676
1716
1675
1715
1674
1714
1673
1713
1672
1712
1671
1711
1670
1710
1667
1707
1666
1706
1665
1705
1664
1704
1663
1703
1662
1702
1661
1701
1660
1700
V40673
V40674
1737 1736 1735 1734 1733 1732 1731 1730 1727 1726 1725 1724 1723 1722 1721 1720 V40675
14 1757 1756 1755 1754 1753 1752 1751 1750 1747 1746 1745 1744 1743 1742 1741 1740 V40676
1777 1776 1775 1774 1773 1772 1771 1770 1767 1766 1765 1764 1763 1762 1761 1760 V40677
A
B
C
D

3–60 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

This portion of the table shows additional Control Relays points available with the DL260.

MSB Additional DL260 Control Relays (C) LSB


1
Address
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
2017 2016 2015 2014 2013 2012 2011 2010 2007 2006 2005 2004 2003 2002 2001 2000 V40700 2
2037 2036 2035 2034 2033 2032 2031 2030 2027 2026 2025 2024 2023 2022 2021 2020 V40701
2057
2077
2056
2076
2055
2075
2054
2074
2053
2073
2052
2072
2051
2071
2050
2070
2047
2067
2046
2066
2045
2065
2044
2064
2043
2063
2042
2062
2041
2061
2040
2060
V40702
V40703
3
2117 2116 2115 2114 2113 2112 2111 2110 2107 2106 2105 2104 2103 2102 2101 2100 V40704
2137 2136 2135 2134 2133 2132 2131 2130 2127 2126 2125 2124 2123 2122 2121 2120 V40705 4
2157 2156 2155 2154 2153 2152 2151 2150 2147 2146 2145 2144 2143 2142 2141 2140 V40706
2177
2217
2176
2216
2175
2215
2174
2214
2173
2213
2172
2212
2171
2211
2170
2210
2167
2207
2166
2206
2165
2205
2164
2204
2163
2203
2162
2202
2161
2201
2160
2200
V40707
V40710
5
2237 2236 2235 2234 2233 2232 2231 2230 2227 2226 2225 2224 2223 2222 2221 2220 V40711
2257 2256 2255 2254 2253 2252 2251 2250 2247 2246 2245 2244 2243 2242 2241 2240 V40712 6
2277 2276 2275 2274 2273 2272 2271 2270 2267 2266 2265 2264 2263 2262 2261 2260 V40713
2317
2337
2316
2336
2315
2335
2314
2334
2313
2333
2312
2332
2311
2331
2310
2330
2307
2327
2306
2326
2305
2325
2304
2324
2303
2323
2302
2322
2301
2321
2300
2320
V40714
V40715
7
2357 2356 2355 2354 2353 2352 2351 2350 2347 2346 2345 2344 2343 2342 2341 2340 V40716
2377 2376 2375 2374 2373 2372 2371 2370 2367 2366 2365 2364 2363 2362 2361 2360 V40717 8
2417 2416 2415 2414 2413 2412 2411 2410 2407 2406 2405 2404 2403 2402 2401 2400 V40720
2437
2457
2436
2456
2435
2455
2434
2454
2433
2453
2432
2452
2431
2451
2430
2450
2427
2447
2426
2446
2425
2445
2424
2444
2423
2443
2422
2442
2421
2441
2420
2440
V40721
V40722
9
2477 2476 2475 2474 2473 2472 2471 2470 2467 2466 2465 2464 2463 2462 2461 2460 V40723
2517 2516 2515 2514 2513 2512 2511 2510 2507 2506 2505 2504 2503 2502 2501 2500 V40724 10
2537 2536 2535 2534 2533 2532 2531 2530 2527 2526 2525 2524 2523 2522 2521 2520 V40725
2557
2577
2556
2576
2555
2575
2554
2574
2553
2573
2552
2572
2551
2571
2550
2570
2547
2567
2546
2566
2545
2565
2544
2564
2543
2563
2542
2562
2541
2561
2540
2560
V40726
V40727
11
2617 2616 2615 2614 2613 2612 2611 2610 2607 2606 2605 2604 2603 2602 2601 2600 V40730
2637 2636 2635 2634 2633 2632 2631 2630 2627 2626 2625 2624 2623 2622 2621 2620 V40731 12
2657 2656 2655 2654 2653 2652 2651 2650 2647 2646 2645 2644 2643 2642 2641 2640 V40732
2677
2717
2676
2716
2675
2715
2674
2714
2673
2713
2672
2712
2671
2711
2670
2710
2667
2707
2666
2706
2665
2705
2664
2704
2663
2703
2662
2702
2661
2701
2660
2700
V40733
V40734
13
2737 2736 2735 2734 2733 2732 2731 2730 2727 2726 2725 2724 2723 2722 2721 2720 V40735
2757 2756 2755 2754 2753 2752 2751 2750 2747 2746 2745 2744 2743 2742 2741 2740 V40736 14
2777 2776 2775 2774 2773 2772 2771 2770 2767 2766 2765 2764 2763 2762 2761 2760 V40737
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 3–61


Chapter 3: CPU Specifications and Operations

1
2
MSB Additional DL260 Control Relays (C) LSB
Address
3 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
3017 3016 3015 3014 3013 3012 3011 3010 3007 3006 3005 3004 3003 3002 3001 3000 V40740
4 3037
3057
3036
3056
3035
3055
3034
3054
3033
3053
3032
3052
3031
3051
3030
3050
3027
3047
3026
3046
3025
3045
3024
3044
3023
3043
3022
3042
3021
3041
3020
3040
V40741
V40742
3077 3076 3075 3074 3073 3072 3071 3070 3067 3066 3065 3064 3063 3062 3061 3060 V40743
5 3117 3116 3115 3114 3113 3112 3111 3110 3107 3106 3105 3104 3103 3102 3101 3100 V40744
3137 3136 3135 3134 3133 3132 3131 3130 3127 3126 3125 3124 3123 3122 3121 3120 V40745
6 3157
3177
3156
3176
3155
3175
3154
3174
3153
3173
3152
3172
3151
3171
3150
3170
3147
3167
3146
3166
3145
3165
3144
3164
3143
3163
3142
3162
3141
3161
3140
3160
V40746
V40747
3217 3216 3215 3214 3213 3212 3211 3210 3207 3206 3205 3204 3203 3202 3201 3200 V40750
7 3237 3236 3235 3234 3233 3232 3231 3230 3227 3226 3225 3224 3223 3222 3221 3220 V40751
3257 3256 3255 3254 3253 3252 3251 3250 3247 3246 3245 3244 3243 3242 3241 3240 V40752
8 3277
3317
3276
3316
3275
3315
3274
3314
3273
3313
3272
3312
3271
3311
3270
3310
3267
3307
3266
3306
3265
3305
3264
3304
3263
3303
3262
3302
3261
3301
3260
3300
V40753
V40754
3337 3336 3335 3334 3333 3332 3331 3330 3327 3326 3325 3324 3323 3322 3321 3320 V40755
9 3357 3356 3355 3354 3353 3352 3351 3350 3347 3346 3345 3344 3343 3342 3341 3340 V40756
3377 3376 3375 3374 3373 3372 3371 3370 3367 3366 3365 3364 3363 3362 3361 3360 V40757
10 3417
3437
3416
3436
3415
3435
3414
3434
3413
3433
3412
3432
3411
3431
3410
3430
3407
3427
3406
3426
3405
3425
3404
3424
3403
3423
3402
3422
3401
3421
3400
3420
V40760
V40761
3457 3456 3455 3454 3453 3452 3451 3450 3447 3446 3445 3444 3443 3442 3441 3440 V40762
11 3477 3476 3475 3474 3473 3472 3471 3470 3467 3466 3465 3464 3463 3462 3461 3460 V40763
3517 3516 3515 3514 3513 3512 3511 3510 3507 3506 3505 3504 3503 3502 3501 3500 V40764
12 3537
3557
3536
3556
3535
3555
3534
3554
3533
3553
3532
3552
3531
3551
3530
3550
3527
3547
3526
3546
3525
3545
3524
3544
3523
3543
3522
3542
3521
3541
3520
3540
V40765
V40766
3577 3576 3575 3574 3573 3572 3571 3570 3567 3566 3565 3564 3563 3562 3561 3560 V40767
13 3617 3616 3615 3614 3613 3612 3611 3610 3607 3606 3605 3604 3603 3602 3601 3600 V40770
3637 3636 3635 3634 3633 3632 3631 3630 3627 3626 3625 3624 3623 3622 3621 3620 V40771
14 3657
3677
3656
3676
3655
3675
3654
3674
3653
3673
3652
3672
3651
3671
3650
3670
3647
3667
3646
3666
3645
3665
3644
3664
3643
3663
3642
3662
3641
3661
3640
3660
V40772
V40773
3717 3716 3715 3714 3713 3712 3711 3710 3707 3706 3705 3704 3703 3702 3701 3700 V40774
A 3737 3736 3735 3734 3733 3732 3731 3730 3727 3726 3725 3724 3723 3722 3721 3720 V40775
3757 3756 3755 3754 3753 3752 3751 3750 3747 3746 3745 3744 3743 3742 3741 3740 V40776
B 3777 3776 3775 3774 3773 3772 3771 3770 3767 3766 3765 3764 3763 3762 3761 3760 V40777

C
D

3–62 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

Stage Control/Status Bit Map


This table provides a listing of the individual Stage control bits associated with each V- 1
memory address.
2
MSB DL230/DL240/DL250-1/DL260 Stage (S) Control Bits LSB
Address
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 3
17 16 15 14 13 12 11 10 7 6 5 4 3 2 1 0 V41000
037
057
036
056
035
055
034
054
033
053
032
052
031
051
030
050
027
047
026
046
025
045
024
044
023
043
022
042
021
041
020
040
V41001
V41002
4
077 076 075 074 073 072 071 070 067 066 065 064 063 062 061 060 V41003
117 116 115 114 113 112 111 110 107 106 105 104 103 102 101 100 V41004 5
137 136 135 134 133 132 131 130 127 126 125 124 123 122 121 120 V41005
157
177
156
176
155
175
154
174
153
173
152
172
151
171
150
170
147
167
146
166
145
165
144
164
143
163
142
162
141
161
140
160
V41006
V41007
6
217 216 215 214 213 212 211 210 207 206 205 204 203 202 201 200 V41010
237 236 235 234 233 232 231 230 227 226 225 224 223 222 221 220 V41011 7
257 256 255 254 253 252 251 250 247 246 245 244 243 242 241 240 V41012
277
317
276
316
275
315
274
314
273
313
272
312
271
311
270
310
267
307
266
306
265
305
264
304
263
303
262
302
261
301
260
300
V41013
V41014
8
337 336 335 334 333 332 331 330 327 326 325 324 323 322 321 320 V41015
357 356 355 354 353 352 351 350 347 346 345 344 343 342 341 340 V41016 9
377 376 375 374 373 372 371 370 367 366 365 364 363 362 361 360 V41017
MSB Additional DL240/DL250-1/DL260 Stage (S) Control Bits LSB
Address
10
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
417
437
416
436
415
435
414
434
413
433
412
432
411
431
410
430
407
427
406
426
405
425
404
424
403
423
402
422
401
421
400
420
V41020
V41021
11
V41022
457
477
456
476
455
475
454
474
453
473
452
472
451
471
450
470
447
467
446
466
445
465
444
464
443
463
442
462
441
461
440
460 V41023 12
517 516 515 514 513 512 511 510 507 506 505 504 503 502 501 500 V41024
537
557
536
556
535
555
534
554
533
553
532
552
531
551
530
550
527
547
526
546
525
545
524
544
523
543
522
542
521
541
520
540
V41025
V41026
13
V41027
577
617
576
616
575
615
574
614
573
613
572
612
571
611
570
610
567
607
566
606
565
605
564
604
563
603
562
602
561
601
560
600 V41030 14
637 636 635 634 633 632 631 630 627 626 625 624 623 622 621 620 V41031
657
677
656
676
655
675
654
674
653
673
652
672
651
671
650
670
647
667
646
666
645
665
644
664
643
663
642
662
641
661
640
660
V41032
V41033
A
V41034
717
737
716
736
715
735
714
734
713
733
712
732
711
731
710
730
707
727
706
726
705
725
704
724
703
723
702
722
701
721
700
720 V41035 B
757 756 755 754 753 752 751 750 747 746 745 744 743 742 741 740 V41036
777 776 775 774 773 772 771 770 767 766 765 764 763 762 761 760 V41037 C
D

DL205 User Manual, 4th Edition, Rev. A 3–63


Chapter 3: CPU Specifications and Operations

1
2 MSB Additional DL250-1/DL260 Stage (S) Control Bits LSB
Address
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
3 1017 1016 1015 1014 1013 1012 1011 1010 1007 1006 1005 1004 1003 1002 1001 1000 V41040
1037 1036 1035 1034 1033 1032 1031 1030 1027 1026 1025 1024 1023 1022 1021 1020 V41041
4 1057
1077
1056
1076
1055
1075
1054
1074
1053
1073
1052
1072
1051
1071
1050
1070
1047
1067
1046
1066
1045
1065
1044
1064
1043
1063
1042
1062
1041
1061
1040
1060
V41042
V41043
1117 1116 1115 1114 1113 1112 1111 1110 1107 1106 1105 1104 1103 1102 1101 1100 V41044
5 1137 1136 1135 1134 1133 1132 1131 1130 1127 1126 1125 1124 1123 1122 1121 1120 V41045
1157 1156 1155 1154 1153 1152 1151 1150 1147 1146 1145 1144 1143 1142 1141 1140 V41046
6 1177
1217
1176
1216
1175
1215
1174
1214
1173
1213
1172
1212
1171
1211
1170
1210
1167
1207
1166
1206
1165
1205
1164
1204
1163
1203
1162
1202
1161
1201
1160
1200
V41047
V41050
1237 1236 1235 1234 1233 1232 1231 1230 1227 1226 1225 1224 1223 1222 1221 1220 V41051
7 1257 1256 1255 1254 1253 1252 1251 1250 1247 1246 1245 1244 1243 1242 1241 1240 V41052
1277 1276 1275 1274 1273 1272 1271 1270 1267 1266 1265 1264 1263 1262 1261 1260 V41053
8 1317
1337
1316
1336
1315
1335
1314
1334
1313
1333
1312
1332
1311
1331
1310
1330
1307
1327
1306
1326
1305
1325
1304
1324
1303
1323
1302
1322
1301
1321
1300
1320
V41054
V41055
1357 1356 1355 1354 1353 1352 1351 1350 1347 1346 1345 1344 1343 1342 1341 1340 V41056
9 1377 1376 1375 1374 1373 1372 1371 1370 1367 1366 1365 1364 1363 1362 1361 1360 V41057
1417 1416 1415 1414 1413 1412 1411 1410 1407 1406 1405 1404 1403 1402 1401 1400 V41060
10 1437
1457
1436
1456
1435
1455
1434
1454
1433
1453
1432
1452
1431
1451
1430
1450
1427
1447
1426
1446
1425
1445
1424
1444
1423
1443
1422
1442
1421
1441
1420
1440
V41061
V41062
1477 1476 1475 1474 1473 1472 1471 1470 1467 1466 1465 1464 1463 1462 1461 1460 V41063
11 1517 1516 1515 1514 1513 1512 1511 1510 1507 1506 1505 1504 1503 1502 1501 1500 V41064
1537 1536 1535 1534 1533 1532 1531 1530 1527 1526 1525 1524 1523 1522 1521 1520 V41065
12 1557
1577
1556
1576
1555
1575
1554
1574
1553
1573
1552
1572
1551
1571
1550
1570
1547
1567
1546
1566
1545
1565
1544
1564
1543
1563
1542
1562
1541
1561
1540
1560
V41066
V41067
1617 1616 1615 1614 1613 1612 1611 1610 1607 1606 1605 1604 1603 1602 1601 1600 V41070
13 1637 1636 1635 1634 1633 1632 1631 1630 1627 1626 1625 1624 1623 1622 1621 1620 V41071
1657 1656 1655 1654 1653 1652 1651 1650 1647 1646 1645 1644 1643 1642 1641 1640 V41072
14 1677
1717
1676
1716
1675
1715
1674
1714
1673
1713
1672
1712
1671
1711
1670
1710
1667
1707
1666
1706
1665
1705
1664
1704
1663
1703
1662
1702
1661
1701
1660
1700
V41073
V41074
1737 1736 1735 1734 1733 1732 1731 1730 1727 1726 1725 1724 1723 1722 1721 1720 V41075
A 1757 1756 1755 1754 1753 1752 1751 1750 1747 1746 1745 1744 1743 1742 1741 1740 V41076
1777 1776 1775 1774 1773 1772 1771 1770 1767 1766 1765 1764 1763 1762 1761 1760 V41077
B
C
D

3–64 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

Timer and Counter Status Bit Maps


This table provides a listing of the individual timer and counter contacts associated with each 1
V-memory address bit.
MSB DL230/DL240/DL250-1/DL260 Timer (T) and Counter (CT) Contacts LSB Timer Counter
2
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Address Address
017 016 015 014 013 012 011 010 007 006 005 004 003 002 001 000 V41100 V41140 3
037 036 035 034 033 032 031 030 027 026 025 024 023 022 021 020 V41101 V41141
057
077
056
076
055
075
054
074
053
073
052
072
051
071
050
070
047
067
046
066
045
065
044
064
043
063
042
062
041
061
040
060
V41102
V41103
V41142
V41143
4
This portion of the table shows additional Timer and Counter contacts available with the 5
DL240/250–1/260.
MSB Additional DL240/DL250-1/DL260 Timer (T) and Counter (CT) Contacts LSB Timer Counter 6
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Address Address
117
137
116
136
115
135
114
134
113
133
112
132
111
131
110
130
107
127
106
126
105
125
104
124
103
123
102
122
101
121
100
120
V41104
V41105
V41144
V41145
7
157 156 155 154 153 152 151 150 147 146 145 144 143 142 141 140 V41106 V41146
177 176 175 174 173 172 171 170 167 166 165 164 163 162 161 160 V41107 V41147 8
This portion of the table shows additional Timer contacts available with the DL250-1 and
DL260.
9
MSB
15 14 13 12
Additional DL250-1/DL260 Timer (T) Contacts
11 10 9 8 7 6 5 4 3 2 1
LSB
0
Timer
Address
10
217 216 215 214 213 212 211 210 207 206 205 204 203 202 201 200 V41110
237 236 235 234 233 232 231 230 227 226 225 224 223 222 221 220 V41111 11
257 256 255 254 253 252 251 250 247 246 245 244 243 242 241 240 V41112
277
317
276
316
275
315
274
314
273
313
272
312
271
311
270
310
267
307
266
306
265
305
264
304
263
303
262
302
261
301
260
300
V41113
V41114
12
337 336 335 334 333 332 331 330 327 326 325 324 323 322 321 320 V41115
357 356 355 354 353 352 351 350 347 346 345 344 343 342 341 340 V41116 13
377 376 375 374 373 372 371 370 367 366 365 364 363 362 361 360 V41117

This portion of the table shows additional Counter contacts available with the DL260.
14
MSB
15 14 13 12 11
Additional DL260 Counter (CT) Contacts
10 9 8 7 6 5 4 3 2 1
LSB Counter
0 Address
A
217
237
216
236
215
235
214
234
213
233
212
232
211
231
210
230
207
227
206
226
205
225
204
224
203
223
202
222
201
221
200
220
V41150
V41151
B
257 256 255 254 253 252 251 250 247 246 245 244 243 242 241 240 V41152
277 276 275 274 273 272 271 270 267 266 265 264 263 262 261 260 V41153 C
317 316 315 314 313 312 311 310 307 306 305 304 303 302 301 300 V41154
337
357
336
356
335
355
334
354
333
353
332
352
331
351
330
350
327
347
326
346
325
345
324
344
323
343
322
342
321
341
320
340
V41155
V41156
D
377 376 375 374 373 372 371 370 367 366 365 364 363 362 361 360 V41157

DL205 User Manual, 4th Edition, Rev. A 3–65


Chapter 3: CPU Specifications and Operations

Remote I/O Bit Map


1 This table provides a listing of the individual remote I/O points associated with each
V-memory address bit.
2 MSB DL260 Remote I/O (GX) and (GY) Points LSB GX GY
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Address Address
3 017 016 015 014 013 012 011 010 007 006 005 004 003 002 001 000 V40000 V40200
037 036 035 034 033 032 031 030 027 026 025 024 023 022 021 020 V40001 V40201
4 057
077
056
076
055
075
054
074
053
073
052
072
051
071
050
070
047
067
046
066
045
065
044
064
043
063
042
062
041
061
040
060
V40002
V40003
V40202
V40203
117 116 115 114 113 112 111 110 107 106 105 104 103 102 101 100 V40004 V40204
5 137 136 135 134 133 132 131 130 127 126 125 124 123 122 121 120 V40005 V40205
157 156 155 154 153 152 151 150 147 146 145 144 143 142 141 140 V40006 V40206
6 177
217
176
216
175
215
174
214
173
213
172
212
171
211
170
210
167
207
166
206
165
205
164
204
163
203
162
202
161
201
160
200
V40007
V40010
V40207
V40210
7 237
257
236
256
235
255
234
254
233
253
232
252
231
251
230
250
227
247
226
246
225
245
224
244
223
243
222
242
221
241
220
240
V40011
V40012
V40211
V40212
277 276 275 274 273 272 271 270 267 266 265 264 263 262 261 260 V40013 V40213
8 317 316 315 314 313 312 311 310 307 306 305 304 303 302 301 300 V40004 V40214
337 336 335 334 333 332 331 330 327 326 325 324 323 322 321 320 V40015 V40215
9 357
377
356
376
355
375
354
374
353
373
352
372
351
371
350
370
347
367
346
366
345
365
344
364
343
363
342
362
341
361
340
360
V40016
V40007
V40216
V40217
417 416 415 414 413 412 411 410 407 406 405 404 403 402 401 400 V40020 V40220
10 437 436 435 434 433 432 431 430 427 426 425 424 423 422 421 420 V40021 V40221
457 456 455 454 453 452 451 450 447 446 445 444 443 442 441 440 V40022 V40222
11 477
517
476
516
475
515
474
514
473
513
472
512
471
511
470
510
467
507
466
506
465
505
464
504
463
503
462
502
461
501
460
500
V40023
V40024
V40223
V40224
12 537
557
536
556
535
555
534
554
533
553
532
552
531
551
530
550
527
547
526
546
525
545
524
544
523
543
522
542
521
541
520
540
V40025
V40026
V40225
V40226
577 576 575 574 573 572 571 570 567 566 565 564 563 562 561 560 V40027 V40227
13 617 616 615 614 613 612 611 610 607 606 605 604 603 602 601 600 V40030 V40230
637 636 635 634 633 632 631 630 627 626 625 624 623 622 621 620 V40031 V40231
14 657
677
656
676
655
675
654
674
653
673
652
672
651
671
650
670
647
667
646
666
645
665
644
664
643
663
642
662
641
661
640
660
V40032
V40033
V40232
V40233
717 716 715 714 713 712 711 710 707 706 705 704 703 702 701 700 V40034 V40234
A 737 736 735 734 733 732 731 730 727 726 725 724 723 722 721 720 V40035 V40235
757 756 755 754 753 752 751 750 747 746 745 744 743 742 741 740 V40036 V40236
B 777 776 775 774 773 772 771 770 767 766 765 764 763 762 761 760 V40037 V40237

C
D

3–66 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

1
MSB DL260 Remote I/O (GX) and (GY) Points LSB GX GY
2
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Address Address
1017 1016 1015 1014 1013 1012 1011 1010 1007 1006 1005 1004 1003 1002 1001 1000 V40040 V40240 3
1037 1036 1035 1034 1033 1032 1031 1030 1027 1026 1025 1024 1023 1022 1021 1020 V40041 V40241
1057
1077
1056
1076
1055
1075
1054
1074
1053
1073
1052
1072
1051
1071
1050
1070
1047
1067
1046
1066
1045
1065
1044
1064
1043
1063
1042
1062
1041
1061
1040
1060
V40042
V40043
V40242
V40243
4
1117 1116 1115 1114 1113 1112 1111 1110 1107 1106 1105 1104 1103 1102 1101 1100 V40044 V40244
1137 1136 1135 1134 1133 1132 1131 1130 1127 1126 1125 1124 1123 1122 1121 1120 V40045 V40245 5
1157 1156 1155 1154 1153 1152 1151 1150 1147 1146 1145 1144 1143 1142 1141 1140 V40046 V40246
1177
1217
1176
1216
1175
1215
1174
1214
1173
1213
1172
1212
1171
1211
1170
1210
1167
1207
1166
1206
1165
1205
1164
1204
1163
1203
1162
1202
1161
1201
1160
1200
V40047
V40050
V40247
V40250
6
1237 1236 1235 1234 1233 1232 1231 1230 1227 1226 1225 1224 1223 1222 1221 1220 V40051 V40251
1257 1256 1255 1254 1253 1252 1251 1250 1247 1246 1245 1244 1243 1242 1241 1240 V40052 V40252 7
1277 1276 1275 1274 1273 1272 1271 1270 1267 1266 1265 1264 1263 1262 1261 1260 V40053 V40253
1317
1337
1316
1336
1315
1335
1314
1334
1313
1333
1312
1332
1311
1331
1310
1330
1307
1327
1306
1326
1305
1325
1304
1324
1303
1323
1302
1322
1301
1321
1300
1320
V40054
V40055
V40254
V40255
8
1357 1356 1355 1354 1353 1352 1351 1350 1347 1346 1345 1344 1343 1342 1341 1340 V40056 V40256
1377 1376 1375 1374 1373 1372 1371 1370 1367 1366 1365 1364 1363 1362 1361 1360 V40057 V40257 9
1417 1416 1415 1414 1413 1412 1411 1410 1407 1406 1405 1404 1403 1402 1401 1400 V40060 V40260
1437
1457
1436
1456
1435
1455
1434
1454
1433
1453
1432
1452
1431
1451
1430
1450
1427
1447
1426
1446
1425
1445
1424
1444
1423
1443
1422
1442
1421
1441
1420
1440
V40061
V40062
V40261
V40262
10
1477 1476 1475 1474 1473 1472 1471 1470 1467 1466 1465 1464 1463 1462 1461 1460 V40063 V40263
1517 1516 1515 1514 1513 1512 1511 1510 1507 1506 1505 1504 1503 1502 1501 1500 V40064 V40264 11
1537 1536 1535 1534 1533 1532 1531 1530 1527 1526 1525 1524 1523 1522 1521 1520 V40065 V40265
1557
1577
1556
1576
1555
1575
1554
1574
1553
1573
1552
1572
1551
1571
1550
1570
1547
1567
1546
1566
1545
1565
1544
1564
1543
1563
1542
1562
1541
1561
1540
1560
V40066
V40067
V40266
V40267
12
1617 1616 1615 1614 1613 1612 1611 1610 1607 1606 1605 1604 1603 1602 1601 1600 V40070 V40270
1637 1636 1635 1634 1633 1632 1631 1630 1627 1626 1625 1624 1623 1622 1621 1620 V40071 V40271 13
1657 1656 1655 1654 1653 1652 1651 1650 1647 1646 1645 1644 1643 1642 1641 1640 V40072 V40272
1677
1717
1676
1716
1675
1715
1674
1714
1673
1713
1672
1712
1671
1711
1670
1710
1667
1707
1666
1706
1665
1705
1664
1704
1663
1703
1662
1702
1661
1701
1660
1700
V40073
V40074
V40273
V40274
14
1737 1736 1735 1734 1733 1732 1731 1730 1727 1726 1725 1724 1723 1722 1721 1720 V40075 V40275
1757 1756 1755 1754 1753 1752 1751 1750 1747 1746 1745 1744 1743 1742 1741 1740 V40076 V40276 A
1777 1776 1775 1774 1773 1772 1771 1770 1767 1766 1765 1764 1763 1762 1761 1760 V40077 V40277
B
C
D

DL205 User Manual, 4th Edition, Rev. A 3–67


Chapter 3: CPU Specifications and Operations

1
2 MSB DL260 Remote I/O (GX) and (GY) Points LSB GX GY
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Address Address
3 2017 2016 2015 2014 2013 2012 2011 2010 2007 2006 2005 2004 2003 2002 2001 2000 V40100 V40300
2037 2036 2035 2034 2033 2032 2031 2030 2027 2026 2025 2024 2023 2022 2021 2020 V40101 V40301
4 2057
2077
2056
2076
2055
2075
2054
2074
2053
2073
2052
2072
2051
2071
2050
2070
2047
2067
2046
2066
2045
2065
2044
2064
2043
2063
2042
2062
2041
2061
2040
2060
V40102
V40103
V40302
V40303
V40104 V40304
5 2117
2137
2116
2136
2115
2135
2114
2134
2113
2133
2112
2132
2111
2131
2110
2130
2107
2127
2106
2126
2105
2125
2104
2124
2103
2123
2102
2122
2101
2121
2100
2120 V40105 V40305
2157 2156 2155 2154 2153 2152 2151 2150 2147 2146 2145 2144 2143 2142 2141 2140 V40106 V40306
6 2177
2217
2176
2216
2175
2215
2174
2214
2173
2213
2172
2212
2171
2211
2170
2210
2167
2207
2166
2206
2165
2205
2164
2204
2163
2203
2162
2202
2161
2201
2160
2200
V40107
V40110
V40307
V40310
V40111 V40311
7 2237
2257
2236
2256
2235
2255
2234
2254
2233
2253
2232
2252
2231
2251
2230
2250
2227
2247
2226
2246
2225
2245
2224
2244
2223
2243
2222
2242
2221
2241
2220
2240 V40112 V40312
2277 2276 2275 2274 2273 2272 2271 2270 2267 2266 2265 2264 2263 2262 2261 2260 V40113 V40313
8 2317
2337
2316
2336
2315
2335
2314
2334
2313
2333
2312
2332
2311
2331
2310
2330
2307
2327
2306
2326
2305
2325
2304
2324
2303
2323
2302
2322
2301
2321
2300
2320
V40114
V40115
V40314
V40315
V40116 V40316
9 2357
2377
2356
2376
2355
2375
2354
2374
2353
2373
2352
2372
2351
2371
2350
2370
2347
2367
2346
2366
2345
2365
2344
2364
2343
2363
2342
2362
2341
2361
2340
2360 V40117 V40317
2417 2416 2415 2414 2413 2412 2411 2410 2407 2406 2405 2404 2403 2402 2401 2400 V40120 V40320
10 2437
2457
2436
2456
2435
2455
2434
2454
2433
2453
2432
2452
2431
2451
2430
2450
2427
2447
2426
2446
2425
2445
2424
2444
2423
2443
2422
2442
2421
2441
2420
2440
V40121
V40122
V40321
V40322
V40123 V40323
11 2477
2517
2476
2516
2475
2515
2474
2514
2473
2513
2472
2512
2471
2511
2470
2510
2467
2507
2466
2506
2465
2505
2464
2504
2463
2503
2462
2502
2461
2501
2460
2500 V40124 V40324
2537 2536 2535 2534 2533 2532 2531 2530 2527 2526 2525 2524 2523 2522 2521 2520 V40125 V40325
12 2557
2577
2556
2576
2555
2575
2554
2574
2553
2573
2552
2572
2551
2571
2550
2570
2547
2567
2546
2566
2545
2565
2544
2564
2543
2563
2542
2562
2541
2561
2540
2560
V40126
V40127
V40326
V40327
V40130 V40330
13 2617
2637
2616
2636
2615
2635
2614
2634
2613
2633
2612
2632
2611
2631
2610
2630
2607
2627
2606
2626
2605
2625
2604
2624
2603
2623
2602
2622
2601
2621
2600
2620 V40131 V40331
2657 2656 2655 2654 2653 2652 2651 2650 2647 2646 2645 2644 2643 2642 2641 2640 V40132 V40332
14 2677
2717
2676
2716
2675
2715
2674
2714
2673
2713
2672
2712
2671
2711
2670
2710
2667
2707
2666
2706
2665
2705
2664
2704
2663
2703
2662
2702
2661
2701
2660
2700
V40133
V40134
V40333
V40334
V40135 V40335
A 2737
2757
2736
2756
2735
2755
2734
2754
2733
2753
2732
2752
2731
2751
2730
2750
2727
2747
2726
2736
2725
2735
2724
2734
2723
2733
2722
2732
2721
2731
2720
2730 V40136 V40336
2777 2776 2775 2774 2773 2772 2771 2770 2767 2766 2765 2764 2763 2762 2761 2760 V40137 V40337
B
C
D

3–68 DL205 User Manual, 4th Edition, Rev. A


Chapter 3: CPU Specifications and Operations

1
MSB DL260 Remote I/O (GX) and (GY) Points LSB
2
GX GY
Address Address
15
3017
14
3016
13
3015
12
3014
11
3013
10
3012
9
3011
8
3010
7
3007
6
3006
5
3005
4
3004
3
3003
2
3002
1
3001
0
3000 V40140 V40340
3
3037 3036 3035 3034 3033 3032 3031 3030 3027 3026 3025 3024 3023 3022 3021 3020 V40141 V40341
3057 3056 3055 3054 3053 3052 3051 3050 3047 3046 3045 3044 3043 3042 3041 3040 V40142 V40342 4
3077 3076 3075 3074 3073 3072 3071 3070 3067 3066 3065 3064 3063 3062 3061 3060 V40143 V40343
3117
3137
3116
3136
3115
3135
3114
3134
3113
3133
3112
3132
3111
3131
3110
3130
3107
3127
3106
3126
3105
3125
3104
3124
3103
3123
3102
3122
3101
3121
3100
3120
V40144
V40145
V40344
V40345
5
3157 3156 3155 3154 3153 3152 3151 3150 3147 3146 3145 3144 3143 3142 3141 3140 V40146 V40346
3177 3176 3175 3174 3173 3172 3171 3170 3167 3166 3165 3164 3163 3162 3161 3160 V40147 V40347 6
3217 3216 3215 3214 3213 3212 3211 3210 3207 3206 3205 3204 3203 3202 3201 3200 V40150 V40350
3237
3257
3236
3256
3235
3255
3234
3254
3233
3253
3232
3252
3231
3251
3230
3250
3227
3247
3226
3246
3225
3245
3224
3244
3223
3243
3222
3242
3221
3241
3220
3240
V40151
V40152
V40351
V40352
7
3277 3276 3275 3274 3273 3272 3271 3270 3267 3266 3265 3264 3263 3262 3261 3260 V40153 V40353
3317 3316 3315 3314 3313 3312 3311 3310 3307 3306 3305 3304 3303 3302 3301 3300 V40154 V40354 8
3337 3336 3335 3334 3333 3332 3331 3330 3327 3326 3325 3324 3323 3322 3321 3320 V40155 V40355
3357
3377
3356
3376
3355
3375
3354
3374
3353
3373
3352
3372
3351
3371
3350
3370
3347
3367
3346
3366
3345
3365
3344
3364
3343
3363
3342
3362
3341
3361
3340
3360
V40156
V40157
V40356
V40357
9
3417 3416 3415 3414 3413 3412 3411 3410 3407 3406 3405 3404 3403 3402 3401 3400 V40160 V40360
3437 3436 3435 3434 3433 3432 3431 3430 3427 3426 3425 3424 3423 3422 3421 3420 V40161 V40361 10
3457 3456 3455 3454 3453 3452 3451 3450 3447 3446 3445 3444 3443 3442 3441 3440 V40162 V40362
3477
3517
3476
3516
3475
3515
3474
3514
3473
3513
3472
3512
3471
3511
3470
3510
3467
3507
3466
3506
3465
3505
3464
3504
3463
3503
3462
3502
3461
3501
3460
3500
V40163
V40164
V40363
V40364
11
3537 3536 3535 3534 3533 3532 3531 3530 3527 3526 3525 3524 3523 3522 3521 3520 V40165 V40365
3557 3556 3555 3554 3553 3552 3551 3550 3547 3546 3545 3544 3543 3542 3541 3540 V40166 V40366 12
3577 3576 3575 3574 3573 3572 3571 3570 3567 3566 3565 3564 3563 3562 3561 3560 V40167 V40367
3617
3637
3616
3636
3615
3635
3614
3634
3613
3633
3612
3632
3611
3631
3610
3630
3607
3627
3606
3626
3605
3625
3604
3624
3603
3623
3602
3622
3601
3621
3600
3620
V40170
V40171
V40370
V40371
13
3657 3656 3655 3654 3653 3652 3651 3650 3647 3646 3645 3644 3643 3642 3641 3640 V40172 V40372
3677 3676 3675 3674 3673 3672 3671 3670 3667 3666 3665 3664 3663 3662 3661 3660 V40173 V40373 14
3717 3716 3715 3714 3713 3712 3711 3710 3707 3706 3705 3704 3703 3702 3701 3700 V40174 V40374
3737
3757
3736
3756
3735
3755
3734
3754
3733
3753
3732
3752
3731
3751
3730
3750
3727
3747
3726
3746
3725
3745
3724
3744
3723
3743
3722
3742
3721
3741
3720
3740
V40175
V40176
V40375
V40376
A
3777 3776 3775 3774 3773 3772 3771 3770 3767 3766 3765 3764 3763 3762 3761 3760 V40177 V40377
B
C
D

DL205 User Manual, 4th Edition, Rev. A 3–69


Chapter 3: CPU Specifications and Operations

Notes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D

3–70 DL205 User Manual, 4th Edition, Rev. A


SYSTEM DESIGN AND CHAPTER
CONFIGURATION
4
In This Chapter:
DL205 System Design Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . .4–2
Module Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–3
Calculating the Power Budget . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–7
Local Expansion I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–11
Expanding DL205 I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–17
Network Connections to Modbus and DirectNet . . . . . . . . . . . . . .4–32
Network Slave Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–35
Network Modbus RTU Master Operation (DL260 only) . . . . . . . . .4–45
Non–Sequence Protocol (ASCII In/Out and PRINT) . . . . . . . . . . . .4–54
Chapter 4: System Design and Configuration

DL205 System Design Strategies


1
I/O System Configurations
2 The DL205 PLCs offer the following ways to add I/O to the system:
• Local I/O – consists of I/O modules located in the same base as the CPU.
3 • Local Expansion I/O – consists of I/O modules in expansion bases located close to the CPU local
base. Expansion cables connect the expansion bases and CPU base in daisy–chain format.

4 • Ethernet Remote Master – provides a low-cost, high-speed Ethernet Remote I/O link to Ethernet
Remote Slave I/O
• Ethernet Base Controller – provides a low-cost, high-speed Ethernet link between a network master
5 to AutomationDirect Ethernet Remote Slave I/O
• Remote I/O – consists of I/O modules located in bases which are serially connected to the local
6 CPU base through a Remote Master module, or may connect directly to the bottom port on a
DL250–1 or DL260 CPU.

7 A DL205 system can be developed using many different arrangements of these


configurations. All I/O configurations use the standard complement of DL205 I/O modules
and bases. Local expansion requires using (–1) bases.
8 Networking Configurations
The DL205 PLCs offers the following way to add networking to the system:
9 • Ethernet Communications Module – connects DL205 systems (DL240, DL250–1 or DL260
CPUs only) and DL405 CPU systems in high–speed peer–to–peer networks. Any PLC can initiate
10 communications with any other PLC when using either the ECOM or ECOM100 modules.
• Data Communications Module – connects a DL205 (DL240, DL250–1 and DL260 only) system
11 to devices using the DirectNET protocol, or connects as a slave to a Modbus RTU network.
• DL250–1 Communications Port – The DL250–1 CPU has a 15–Pin connector on Port 2 that
provides a built–in Modbus RTU or DirectNET master/slave connection.
12 • DL260 Communications Port – The DL260 CPU has a 15–Pin connector on Port 2 that provides
a built–in DirectNET master/slave or Modbus RTU master/slave connection with more Modbus
13 function codes than the DL250–1. (The DL260 MRX and MWX instructions allow you to enter
native Modbus addressing in your ladder program with no need to perform octal to decimal
conversions). Port 2 can also be used for ASCII IN or ASCII OUT communications.
14
Module/Unit Master Slave
A DL240 CPU DirectNet, K–Sequence
DL250–1 CPU DirectNet ,Modbus RTU DirectNet, K–Sequence, Modbus RTU

B DL260 CPU
ECOM
DirectNet, Modbus RTU, ASCII
Ethernet
DirectNet, K–Sequence, Modbus RTU, ASCII
Ethernet
ECOM100 Ethernet, Modbus TCP Ethernet, Modbus TCP
C DCM DirectNet DirectNet, K–Sequence, Modbus RTU

4–2 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

Module Placement
Slot Numbering
The DL205 bases each provide different
1
numbers of slots for use with the I/O
modules. You may notice the bases refer to 2
3-slot, 4-slot, etc. One of the slots is Slot 0 Slot 1 Slot 2 Slot 3 Slot 4
dedicated to the CPU, so you always have
one less I/O slot. For example, you have five
3
I/O slots with a 6-slot base. The I/O slots
are numbered 0 – 4. The CPU slot always
Power Wiring
Connections
CPU Slot I/O Slots 4
contains a CPU or a base controller (EBC)
or Remote Slave and is not numbered. 5
Module Placement Restrictions
The following table lists the valid locations for all types of modules in a DL205 system. 6
Module/Unit Local CPU Base Local Expansion Base Remote I/O Base
CPUs CPU Slot Only
  
7
DC Input Modules
  
AC Input Modules
DC Output Modules   
8
AC Output Modules   
Relay Output Modules 





9
Analog Input and Output Modules
Local Expansion
Base Expansion Unit  
10
Base Controller Module CPU Slot Only
Serial Remote I/O 11
Remote Master  (not Slot O)
Remote Slave Unit
Ethernet Remote Master  (not Slot O)
CPU Slot Only
12
Ethernet Slave (EBC) CPU Slot Only
CPU Interface 13
Ethernet Base Controller CPU Slot Only CPU Slot Only*
WinPLC
DeviceNet
CPU Slot Only
CPU Slot Only 
14
Profibus CPU Slot Only
SDS CPU Slot Only A
Specialty Modules
Counter Interface (CTRINT)
Counter I/O (CTRIO)
Slot 0 Only
 *
B
Data Communications  (not Slot O)
Ethernet Communications  (not Slot O) C
BASIC CoProcessor  (not Slot O)
Simulator
Filler






D
*When used in H2–ERM Ethernet Remote I/O systems.

DL205 User Manual, 4th Edition, Rev. A 4–3


Chapter 4: System Design and Configuration

Automatic I/O Configuration


1  230 The DL205 CPUs automatically detect any installed I/O modules (including specialty
modules) at powerup, and establish the correct I/O configuration and addresses. This applies
 240 to modules located in local and local expansion I/O bases. For most applications, you will
2  250-1 never have to change the configuration.

3  260 I/O addresses use octal numbering, starting at X0 and Y0 in the slot next to the CPU. The
addresses are assigned in groups of 8 or 16, depending on the number of points for the I/O
module. The discrete input and output modules can be mixed in any order, but there may be
4 restrictions placed on some specialty modules. The following diagram shows the I/O
numbering convention for an example system.
5 Both the Handheld Programmer and DirectSOFT provide AUX functions that allow you to
automatically configure the I/O. For example, with the Handheld Programmer AUX 46
executes an automatic configuration, which allows the CPU to examine the installed modules
6 and determine the I/O configuration and addressing. With DirectSOFT, the PLC Configure
I/O menu option would be used.
7
8
9
Slot 0 Slot 1 Slot 2 Slot 3
10 Automatic 8pt. Input
X0-X7
16pt. Output
Y0-Y17
16pt. Input
X10-X27
8pt. Input
X30-X37

11 Manual
Slot 0
8pt. Input
Slot 1
16pt. Output
Slot 2
16pt. Input
Slot 3
8pt. Input
X0-X7 Y0-Y17 X100-X117 X20-X27

12
 230 Manual I/O Configuration
13 It may never become necessary, but DL250–1 and DL260 CPUs allow manual I/O address
 240 assignments for any I/O slot(s) in local or local expansion bases. You can manually modify an
14  250-1 auto configuration to match arbitrary I/O numbering. For example, two adjacent input
 260 menu
modules can have starting addresses at X20 and X200. Use DirectSOFT PLC Configure I/O
option to assign manual I/O address.
A In automatic configuration, the addresses are assigned on 8-point boundaries. Manual
configuration, however, assumes that all modules are at least 16 points, so you can only assign
B addresses that are a multiple of 20 (octal). For example, X30 and Y50 are not valid starting
addresses. You can still use 8 point modules, but 16 addresses will be assigned and the upper
eight addresses will be unused.
C WARNING: If you manually configure an I/O slot, the I/O addressing for the other modules may change.
This is because the DL250–1 and DL260 CPUs do not allow you to assign duplicate I/O addresses. You
D must always correct any I/O configuration errors before you place the CPU in RUN mode. Uncorrected
errors can cause unpredictable machine operation that can result in a risk of personal injury or
damage to equipment.

4–4 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

Removing a Manual Configuration


After a manual configuration, the system will automatically retain the new I/O addresses
through a power cycle. You can remove (overwrite) any manual configuration changes by
1
changing all of the manually configured addresses back to automatic.
Power–On I/O Configuration Check
2
The DL205 CPUs can also be set to automatically check the I/O configuration on power-up.
By selecting this feature you can detect any changes that may have occurred while the power 3
was disconnected. For example, if someone places an output module in a slot that previously
held an input module, the CPU will not go into RUN mode and the configuration check will 4
detect the change and print a message on the Handheld Programmer or DirectSOFT screen
(use AUX 44 on the HPP to enable the configuration check).
If the system detects a change in the PLC/Setup/I/O configuration check at power-up, error
5
code E252 will be generated. You can use AUX 42 (HPP) or DirectSOFT I/O diagnostics to
determine the exact base and slot location where the change occurred. When a configuration 6
error is generated, you may actually want to use the new I/O configuration. For example, you
may have intentionally changed an I/O module to use with a program change. You can use 7
PLC/Diagnostics/I/O Diagnostics in DirectSoft or AUX 45 to select the new configuration,
or, keep the existing configuration stored in memory.
WARNING: You should always correct any I/O configuration errors before you place the CPU into RUN
8
mode. Uncorrected errors can cause unpredictable machine operation that can result in a risk of
personal injury or damage to equipment. 9
WARNING: Verify the I/O configuration being selected will work properly with the CPU program. Always
correct any I/O configuration errors before placing the CPU in RUN mode. Uncorrected errors can cause
unpredictable machine operation that can result in a risk of personal injury or damage to equipment.
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 4–5


Chapter 4: System Design and Configuration

I/O Points Required for Each Module


Each type of module requires a certain number of I/O points. This is also true for some
specialty modules, such as analog, counter interface, etc..
1
DC Input Modules Number of I/O Pts. Required Specialty Modules, etc. Number of I/O Pts. Required
2 D2–08ND3 8 Input H2–ECOM(–F) None
D2–16ND3–2 16 Input D2–DCM None
3 D2–32ND3(–2)
AC Input Modules
32 Input H2–ERM(–F)
H2–EBC(–F)
None
None
D2–08NA–1 8 Input D2–RMSM None
4 D2–08NA–2
D2–16NA
8 Input
16 Input
D2–RSSS
F2–CP128
None
None
DC Output Modules H2–CTRIO None
5 D2–04TD1 8 Output (Only the first four D2–CTRINT 8 Input 8 Output
points are used)

6 D2–08TD1
D2–16TD1–2 (2-2)
8 Output
16 Output
F2–DEVNETS–1
H2–PBC
None
None
D2–16TD1(2)P 16 Output F2–SDS–1 None
7 D2–32TD1(–2)
AC Output Modules
32 Output D2–08SIM
D2-EM
8 Input
None
D2–08TA 8 Output D2-CM None
8 F2–08TA 8 Output H2-ECOM(100) None
D2–12TA 16 Output (See note 1)

9 Relay Output Modules


D2–04TRS 8 Output (Only the first four
points are used)
10 D2–08TR
F2–08TRS
8 Output
8 Output
F2–08TR 8 Output
11 D2–12TR
Combination Modules
16 Output (See note 1)

8 In, 8 Out (Only the first four


12 D2–08CDR
Analog Modules
points are used for each type)

13 F2–04AD–1 & 1L
F2–04AD–2 & 2L
16 Input
16 Input
F2–08AD–1 16 Input
14 F2–02DA–1 & 1L
F2–02DA–2 & 2L
16 Output
16 Output
F2–08DA–1 16 Output
A F2–08DA–2
F2–02DAS–1
16 Output
32 Output
F2–02DAS–2 32 Output
B F2–4AD2DA 16 Input & 16 Output
F2–8AD4DA-1 32 Input & 32 Output
C F2–8AD4DA-2
F2–04RTD
32 Input & 32 Output
32 Input
F2–04THM 32 Input
D
NOTE 1: –12pt. modules consume 16 points. The first 6 points are assigned, two are skipped, and then the
next 6 points are assigned. For example, a D2–12TA installed in slot 0 would use Y0–Y5, and Y-10-Y15.
Y6–Y7 and Y16–Y17 would be unused.

4–6 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

Calculating the Power Budget


1
Managing your Power Resource
When you determine the types and quantity of I/O modules you will be using in the DL205
system it is important to remember there is a limited amount of power available from the
2
power supply. We have provided a chart to help you easily see the amount of power available
with each base. The following chart will help you calculate the amount of power you need 3
with your I/O selections. At the end of this section you will also find an example of power
budgeting and a worksheet for your own calculations. 4
If the I/O you choose exceeds the maximum power available from the power supply, you may
need to use local expansion bases or remote I/O bases. 5
WARNING: It is extremely important to calculate the power budget. If you exceed the power budget, the
system may operate in an unpredictable manner which may result in a risk of personal injury or
equipment damage.
6
CPU Power Specifications 7
The following chart shows the amount of current available for the two voltages supplied from
the DL205 base. Use these currents when calculating the power budget for your system. The
Auxiliary 24V Power Source mentioned in the table is a connection at the base terminal strip
8
allowing you to connect to devices or DL205 modules that require 24VDC.
9
Bases 5V Current Supplied Auxiliary 24VDC Current Supplied
D2–03B–1
D2–04B–1
2600 mA
2600 mA
300 mA
300 mA
10
D2–06B–1 2600 mA 300 mA
D2–09B–1 2600 mA 300 mA 11
D2–03BDC1–1 2600 mA None
D2–04BDC1–1
D2–06BDC1–1
2600 mA
2600 mA
None
None
12
D2–09BDC1–1 2600 mA None
D2–06BDC2–1 2600 mA 300 mA
13
D2–09BDC2–1 2600 mA 300 mA

Module Power Requirements 14


Use the power requirements shown on the next page to calculate the power budget for your
system. If an External 24VDC power supply is required, the external 24VDC from the base A
power supply may be used as long as the power budget is not exceeded.
B
C
D

DL205 User Manual, 4th Edition, Rev. A 4–7


Chapter 4: System Design and Configuration

Power Consumed Power Consumed


1 Device 5V (mA) 24V Auxilliary
(mA) Device 5V (mA) 24V Auxilliary
(mA)
CPUs Combination Modules
2 D2–230 120 0 D2–08CDR 200 0
D2–240 120 0 Specialty Modules
3 D2–250–1
D2–260
330
330
0
0
H2–PBC
H2–ECOM
530
450
0
0
DC Input Modules H2–ECOM100 300 0
4 D2–08ND3 50 0 H2–ECOM-F 640 0
D2–16ND3–2 100 0 H2–ERM 320 0
5 D2–32ND3(–2)
AC Input Modules
25 0 H2–ERM–F
H2–EBC
450
320
0
0
D2–08NA–1 50 0 H2–EBC–F 450 0
6 D2–08NA–2 100 0 H2–CTRIO 400 0
D2–16NA 100 0 D2–DCM 300 0

7 DC Output Modules
D2–04TD1 60 20
D2–RMSM
D2–RSSS
200
150
0
0
D2–08TD1(–2) 100 0 D2–CTRINT 50* 0
8 D2–16TD1–2
D2–16TD2–2
200
200
80
0
D2–08SIM
D2–CM
50
100
0
0
D2–32TD1(–2) 350 0 D2–EM 130 0
9 AC Output Modules F2–CP128 235 0
D2–08TA 250 0 F2–DEVNETS–1 160 0
10 F2–08TA
D2–12TA
250
350
0
0
F2–SDS–1 160 0

Relay Output Modules


11 D2–04TRS 250 0
D2–08TR 250 0

12 F2–08TRS
F2–08TR
670
670
0
0
D2–12TR 450 0
13 Analog Modules
F2–04AD–1 50 80 F2–02DAS–1 100 50mA per channel
F2–04AD–1L 100 5mA @ 10-30V F2–02DAS–2 100 60mA per channel
14 F2–04AD–2 110 5mA @ 10-30V F2–4AD2DA 90 80mA**
F2–04AD–2L 60 90mA @ 12V** F2–8AD4DA-1 35 100

A F2–08AD–1
F2–08AD–2
100
100
5mA @ 10-30V
5mA @ 10-30V
F2–8AD4DA-2
F2–04RTD
35
90
80
0
F2–02DA–1 40 60** F2–04THM 110 60
B F2–02DA–1L
F2–02DA–2
40
40
70mA @ 12V**
60
F2–02DA–2L 40 70mA @ 12V**
C F2–08DA–1 30 50mA**
F2–08DA–2 60 140

D *requires external 5VDC for outputs


**add an additional 20mA per loop

4–8 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

Power Budget Calculation Example


The following example shows how to calculate the power budget for the DL205 system. 1
Auxiliary
Base #
0 Module Type 5 VDC (mA) Power Source 2
24 VDC Output (mA)
Available Base Power D2–09B–1 2600 300 3
CPU Slot
Slot 0
D2–260
D2–16ND3–2
+ 330
+ 100 +0
4
Slot 1 D2–16NA + 100 +0
Slot 2 D2–16NA + 100 +0 5
Slot 3 F2–04AD–1 + 50 + 80
Slot 4
Slot 5
F2–02DA–1
D2–08TA
+ 40
+ 250
+ 60
+0
6
Slot 6 D2–08TD1 + 100 +0
Slot 7 D2–08TR + 250 +0 7
Other
Handheld Programmer D2–HPP + 200 +0
8
Total Power Required 1520 140
Remaining Power Available 2600–1520 = 1080 300 – 140 = 160 9
1. Use the power budget table to fill in the power requirements for all the system
components. First, enter the amount of power supplied by the base. Next, list the 10
requirements for the CPU, any I/O modules, and any other devices, such as the Handheld
Programmer, C-more HMI or the DV–1000 operator interface. Remember, even though
the Handheld or the DV–1000 are not installed in the base, they still obtain their power
11
from the system. Also, make sure you obtain any external power requirements, such as the
24VDC power required by the analog modules. 12
2. Add the current columns starting with CPU slot and put the total in the row labeled “Total
power required” 13
3. Subtract the row labeled “Total power required” from the row labeled “Available Base
Power”. Place the difference in the row labeled “Remaining Power Available”. 14
4. If “Total Power Required” is greater than the power available from the base, the power
budget will be exceeded. It will be unsafe to use this configuration and you will need to
restructure your I/O configuration.
A
WARNING: It is extremely important to calculate the power budget. If you exceed the power budget, the
system may operate in an unpredictable manner which may result in a risk of personal injury or
B
equipment damage.
C
D

DL205 User Manual, 4th Edition, Rev. A 4–9


Chapter 4: System Design and Configuration

Power Budget Calculation Worksheet


1 This blank chart is provided for you to copy and use in your power budget calculations.

Auxiliary
2 Base #
0 Module Type 5 VDC (mA) Power Source
24 VDC Output (mA)
3 Available Base Power

CPU Slot
4 Slot 0
Slot 1
5 Slot 2
Slot 3
Slot 4
6 Slot 5
Slot 6
7 Slot 7
Other

8 Total Power Required


Remaining Power Available
9 1. Use the power budget table to fill in the power requirements for all the system
components. This includes the CPU, any I/O modules, and any other devices, such as the
10 Handheld Programmer, C-more HMI or the DV–1000 operator interface. Also, make sure
you obtain any external power requirements, such as the 24VDC power required by the
11 analog modules.
2. Add the current columns starting with CPU slot and put the total in the row labeled
“Total power required”.
12 3. Subtract the row labeled “Total power required” from the row labeled “Available Base
Power”. Place the difference in the row labeled “Remaining Power Available”.
13 4. If “Total Power Required” is greater than the power available from the base, the power
budget will be exceeded. It will be unsafe to use this configuration and you will need to
14 restructure your I/O configuration.
WARNING: It is extremely important to calculate the power budget. If you exceed the power budget, the
A system may operate in an unpredictable manner which may result in a risk of personal injury or
equipment damage.

B
C
D

4–10 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

Local Expansion I/O


Use local expansion when you need more I/O points, a greater power budget than the local 1
CPU base provides or when placing an I/O base at a location away from the CPU base, but
within the expansion cable limits. Each local expansion base requires the D2–CM controller
module in the CPU slot. The local CPU base requires the D2–EM expansion module, as well
2
as each expansion base. All bases in the system must be the new (–1) bases. These bases have a
connector on the right side of the base to which the D2–EM expansion module attaches. All 3
local and local expansion I/O points are updated on every CPU scan.
Use DirectSOFT PLC Configure I/O menu option to view the local expansion system 4
automatic I/O addressing configuration. This menu also allows manual addresses to be
assigned if necessary. 5
DL230 DL240 DL250 DL250-1 DL260
Total number of local / expansion bases per system 3 5
6
Maximum number of expansion bases 2 4
Total I/O (includes CPU base and expansion bases) These CPUs do not support local
expansion systems
768 1280 7
Maximum inputs 512 1024
Maximum outputs
Maximum expansion system cable length
512 1024
30m (98ft.)
8
D2–CM Local Expansion Module
The D2–CM module is placed in the
9
CPU slot of each expansion base. The
rotary switch is used to select the 10
expansion base number. The expansion
base I/O addressing (Xs and Ys) is based
on the numerical order of the rotary
11
switch selection and is recognized by the
CPU on power–up. Duplicate 12
expansion base numbers will not be
recognized by the CPU. 13
The status indicator LEDs on the
D2–CM front panels have specific
functions which can help in
Expansion
Controller 14
programming and troubleshooting.
A
D2–CM Indicators Status Meaning
PWR (Green)
ON
OFF
Power good
Power failure
B
ON D2–CM has established communication with PLC
RUN (Green)
OFF D2–CM has not established communication with PLC C
ON Hardware watch–dog failure
DIAG (Red) ON/OFF
OFF
I/O module failure (ON 500ms / OFF 500ms)
No D2–CM error
D

DL205 User Manual, 4th Edition, Rev. A 4–11


Chapter 4: System Design and Configuration

D2–EM Local Expansion Module


1 The D2–EM expansion unit is attached to the right side of each base in the expansion
system, including the local CPU base. (All bases in the local expansion system must be the
new (–1) bases). The D2–EMs on each end of the expansion system should have the TERM
2 (termination) switch placed in the ON position. The expansion units between the endmost
bases should have the TERM switch placed in the OFF position. The CPU base can be
3 located at any base position in the expansion system. The bases are connected in a
daisy–chain fashion using the D2–EXCBL–1 (category 5 straight–through cable with RJ45
connectors). Either of the RJ45 ports (labelled A and B) can be used to connect one
4 expansion base to another.

5
6
7
8
The status indicator LEDs on the D2–EM front panels have specific functions which can
9 help in programming and troubleshooting.
D2–EM Indicator Status Meaning
10 ACTIVE (Green)
ON D2–EM is communicating with other D2–EM
OFF D2–EM is not communicating with other D2–EM
11 WARNING: Connect/disconnect the expansion cables with the PLC power turned OFF in order for the
ACTIVE indicator to function normally.
12
D2–EXCBL–1 Local Expansion Cable
13 The category 5 straight–through D2–EXCBL–1 (1m) is used to connect the D2–EM
expansion modules together. If longer cable lengths are required, we recommend that you
14 purchase a commercially manufactured cable with RJ45 connectors already attached. The
maximum total expansion system cable length is 30m (98ft.). Do not use Ethernet hubs to
connect the local expansion network together.
A D2–EXCBL–1 Cable

B 1
2
3
4
GRN/WHT GRN/WHT
1
2
3
4
5 5
C 1 2 3 4 5 6 78
8-pin RJ45 Connector
6
7
8
GRN GRN 6
7
8
(8P8C)
RJ45 RJ45
D NOTE: Commercially available Patch (Straight–through) Category 5, UTP cables will work in place of the
D2–EXCBL–1. The D2–EM modules only use the wires connected to pins 3 and 6 as shown above.

4–12 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

DL260 Local Expansion System


The D2–260 supports local expansion up to five total bases ( one CPU base + four local
expansion bases) and up to a maximum of 1280 total I/O points. An example local expansion
1
system is shown below. All local and expansion I/O points are updated on every CPU scan.
No specialty modules can be located in the expansion bases (refer to the Module Placement 2
Table earlier in this chapter for restrictions).

D2–CM Expansion
3
D2–EM Termination
Base Number Selection Switch Settings
4
I/O addressing #5 NOTE: Do not use Ethernet
5
hubs to connect the local
expansion system together 6
I/O addressing #4
7
D2–260
CPU 30m (98ft.) max. cable length
8
I/O addressing #1
NOTE: Use D2-EXCBL-1 (1m)
(Category 5 straight-through
9
cable) to connect the D2-EMs

I/O addressing #2
together 10
11
I/O addressing #3
12
• The CPU base can be located at any base position in the expansion system.
• All discrete and analog modules are supported in the expansion bases. Specialty modules are
not supported in the expansion bases.
13
• The D2–CMs do not have to be in successive numerical order, however, the numerical
rotary selection determines the X and Y addressing order. The CPU will recognize the local
14
and expansion I/O on power–up. Do not duplicate numerical selections.
• The TERM (termination) switch on the two endmost D2–EMs must be in the ON
A
position. The other D2–EMs in between should be in the OFF position.
• Use the D2–EXCBL–1 or equivalent cable to connect the D2–EMs together. Either of the
B
RJ45 ports (labelled A and B) on the D2–EM can be used to connect one base to another.
C
D

DL205 User Manual, 4th Edition, Rev. A 4–13


Chapter 4: System Design and Configuration

NOTE: When applying power to the CPU (DL250–1/260) and local expansion bases, make sure the
1 expansion bases power up at the same time or before the CPU base. Expansion bases that power up after
the CPU base will not be recognized by the CPU. (See chapter 3 Initialization Process timing
specifications).
2
DL250–1 Local Expansion System
3 The D2–250–1 supports local expansion up to three total bases ( one CPU base + two local
expansion bases) and up to a maximum of 768 total I/O points. An example local expansion
system is shown below. All local and expansion I/O points are updated on every CPU scan.
4 No specialty modules can be located in the expansion bases (refer to the Module Placement
Table earlier in this chapter for restrictions).
5
D2–CM Expansion
6 Base Number Selection
D2–EM Termination
Switch Settings

7 Use D2–EXCBL–1 (1m)


(Category 5 straight–
through cable) to connec
8 I/O addressing #3 the D2-EMs together.
.
9 D2–250–1
CPU 30m (98ft.) max. cable length

10 I/O addressing #1

11 Note: Do not use


Ethernet hubs to
12 I/O addressing #2
connect the local
expansion system
together.
13
14 • The CPU base can be located at any base position in the expansion system.
• All discrete and analog modules are supported in the expansion bases. Specialty modules are
A not supported in the expansion bases.
• The D2–CMs do not have to be in successive numerical order, however, the numerical
B rotary selection determines the X and Y addressing order. The CPU will recognize the local
and expansion I/O on power–up. Do not duplicate numerical selections.
C • The TERM (termination) switch on the two endmost D2–EMs must be in the ON
position. The other D2–EMs in between should be in the OFF position.
D • Use the D2–EXCBL–1 or equivalent cable to connect the D2–EMs together. Either of the
RJ45 ports (labelled A and B) on the D2–EM can be used to connect one base to another.

4–14 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

Expansion Base Output Hold Option


The bit settings in V–memory registers V7741 and V7742 determine the expansion bases’
outputs response to a communications failure. The CPU will exit the RUN mode to the
1
STOP mode when an expansion base communications failure occurs. If the Output Hold bit
is ON, the outputs on the corresponding module will hold their last state when a 2
communication error occurs. If OFF (default), the outputs on the module unit will turn off
in response to an error. The setting does not have to be the same for all the modules on an 3
expansion base.
The selection of the output mode will depend on your application. You must consider the
consequences of turning off all the devices in one or all expansion bases at the same time vs.
4
letting the system run “steady state” while unresponsive to input changes. For example, a
conveyor system would typically suffer no harm if the system were shut down all at once. In a 5
way, it is the equivalent of an “E–STOP”. On the other hand, for a continuous process such
as waste water treatment, holding the last state would allow the current state of the process to 6
continue until the operator can intervene manually. V7741 and V7742 are reserved for the
expansion base Output Hold option. The bit definitions are as follows:
Bit = 0 Output Off (Default)
7
Bit = 1 Output Hold 8
D2–CM Expansion Base Hold Output
Expansion
Base No.
V–memory
Register Slot 0 Slot 1 Slot 2 Slot 3 Slot 4 Slot 5 Slot 6 Slot 7
9
Exp. Base 1 0 1 2 3 4 5 6 7
Exp. Base 2
V7741 Bit
8 9 10 11 12 13 14 15 10
Exp. Base 3 0 1 2 3 4 5 6 7
V7742 Bit
Exp. Base 4 8 9 10 11 12 13 14 15 11
WARNING: Selecting “HOLD LAST STATE” means that outputs on the expansion bases will not be under
program control in the event of a communications failure. Consider the consequences to process
12
operation carefully before selecting this mode.
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 4–15


Chapter 4: System Design and Configuration

Enabling I/O Configuration Check using DirectSOFT


1 Enabling the I/O Config Check will force the CPU, at power up, to examine the local and
expansion I/O configuration before entering the RUN mode. If there is a change in the I/O
configuration, the CPU will not enter the RUN mode. For example, if local expansion base
2 #1 does not power up with the CPU and the other expansion bases, the I/O Configuration
Check will prevent the CPU from entering the RUN mode. If the I/O Configuration check is
3 disabled and automatic addressing is used, the CPU would assign addresses from expansion
base #1 to base #2 and possibly enter the RUN mode. This is not desirable, and can be
prevented by enabling the I/O Configuration check.
4 Manual addressing can be used to manually assign addresses to the I/O modules. This will
prevent any automatic addressing re–assignments by the CPU. The I/O Configuration Check
5 can also be used with manual addressing.
To display the I/O Config Check window, use DirectSOFT>PLC menu>Setup>I/O Config
6 Check.

7
8 Select “Yes”, then
save to disk or to
9 PLC, if connected to
the PLC.
10
11
12
13
14
A
B
C
D

4–16 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

Expanding DL205 I/O


1
I/O Expansion Overview
Expanding I/O beyond the local chassis is useful for a system which has a sufficient number
of sensors and other field devices located a relatively long distance from the CPU. There are
2
two forms of communication which can be used to add remote I/O to your system; either a
Ethernet or a serial communication network. A discussion of each method follows. 3
Ethernet Remote Master, H2-ERM(-F) 4
The Ethernet Remote Master, H2-ERM(-F), is a module that provides a low-cost, high-speed
 230 Ethernet Remote I/O link to connect either a DL240, a DL250-1 or a DL260 CPU to slave
5
 240 I/O over a high-speed Ethernet link.

 250-1 Each H2-ERM module can support up to 16 additional H2-EBC systems, 16 Terminator
I/O EBC systems, or 16 fully expanded H4-EBC systems. 6
 260 The H2-ERM connects to
your control network using Specifications
Category 5 UTP cables for Communications
H2-ERM H2-ERM-F 7
10BaseT Ethernet 10BaseFL Ethernet
distances up to 100 meters Data Transfer Rate
(328 ft.). Repeaters are used
10Mbps 8
Link Distance 100 meters (328 ft) 2000 meters (6560 ft)
to extend the distances and
to expand the number of Ethernet
Ethernet
Port
Protocols
RJ45
TCP/IP,
ST-style fiber optic
IPX
9
nodes. The fiber optic
version, H2-ERM-F, uses
industry standard 62.5/125
Power Consumption 320mA @ 5VDC 450mA @ 5VDC
10
ST-style fiber optic cables and can be run up to 2,000 meters (6560 ft.).
The PLC, ERM and EBC slave modules work together to update the remote I/O points. 11
These three scan cycles are occurring at the same time, but asynchronously. We recommend
that critical I/O points that must be monitored every scan be placed in the CPU base. 12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 4–17


Chapter 4: System Design and Configuration

Ethernet Remote Master Hardware Configuration


1 Use a PC equipped with a 10BaseT or a 10BaseFL network adapter card and the Ethernet
Remote Master (ERM) Workbench software configuration utility (included with the ERM
manual, H24-ERM-M) to configure the ERM module and its slaves over the Ethernet remote
2 I/O network.
PC running ERM WorkBench
3 to configure the ERM network
DirectLogic PLC

4
5 Dedicated Hub(s)
for ERM Network ERM
Module

6 DirectLogic DL205 I/O


with EBC Module

7 GS–EDRV
or HA–EDRV2 DirectLogic DL405 I/O
with EBC Module

8 AC Terminator I/O
Drive
9 with EBC Module

When networking ERMs with other Ethernet devices, we recommend that a dedicated
10 Ethernet remote I/O network be used for the ERM and its slaves. While Ethernet networks
can handle an extremely large number of data transactions, and normally very quickly, heavy
11 Ethernet traffic can adversely affect the reliability of the slave I/O and the speed of the I/O
network. Keep ERM networks, multiple ERM networks and ECOM/office networks isolated
from one another.
12 Once the ERM remote I/O network is configured and running, the PC can be removed from
the network.
13 DirectLogic PLC

14
A Dedicated Hub(s)
for ERM Network
ERM
Module

DirectLogic DL205 I/O


B with EBC Module

C GS–EDRV
or HA–EDRV2 DirectLogic DL405 I/O
with EBC Module

D AC
Drive Terminator I/O
with EBC Module

4–18 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

Installing the ERM Module


This section will briefly describe the installation of the ERM module. More detailed
information is available in the Ethernet Remote Master Module manual, H24-ERM-M,
1
which will be needed to configure the communication link to the remote I/O.
In addition to the manual, configuration software will be needed. The ERM Workbench
2
software utility must be used to cofigure the ERM and its slave modules. The utility is
provided on a CD which comes with the ERM manual. The ERM module can be identified 3
by two different methods, either by Module ID (dip switch) or by Ethernet address, which
ever method is used, the ERM Workbench is all that is needed to cofigure the network
modules.
4
NetEdit software utility (included with the ERM Workbench utility) will be needed in
addition to the ERM Workbench if IP addressing (UDP/IP) is necessary or if the Module ID
5
is set with software.
ERM Module ID 6
Set the ERM Module ID before installing the module in the DL205 base. Always set the
module ID to 0. A Module ID can be set in one of two ways: 7
• Use the DIP switches on the module (1-63).
• Use the configuration tools in NetEdit 8
Use the DIP switch to install and change slave modules without using a PC to set the Module
ID. Set the module’s DIP switch, insert the module in the base, and connect the network 9
10
11
ON
12
7 6 5 4
. .
25 24
. .
3.
23
.
2.
22
.
1.
21
.
0
.
20
.
13
(32)(16) (8) (4) (2) (1) Binary Value
Not Used

H2-ERM
14
cable. The Module ID is set on powerup, and it is ready to communicate on the network. A
The Module IDs can also be set or changed on the network from a single PC by using the
tools in NetEdit. B
The Module ID equals the sum of the binary values of the slide switches set in the ON
position. For example, if slide switches 1, 2 and 3 are set to the ON position, the Module ID C
will be 14. This is found by adding 8+4+2=14. The maximum value which can be set on the
DIP switch is 32+16+8+4+2=63. This is achieved by setting switches 0 through 5 to the ON
position. The 6 and 7 switch positions are inactive.
D

DL205 User Manual, 4th Edition, Rev. A 4–19


Chapter 4: System Design and Configuration

Insert the ERM Module


1 The DL205 system only supports the placement of the ERM module in the CPU base. It
does not support installation of the ERM module in either local expansion or remote I/O
bases. The number of useable slots depends on how many slots the base has. All of the DL205
2 CPUs support the ERM module, except the D2-230.

3 DL205 CPU

4
Slot 0 Slot 1 Slot 2 Slot 3 Slot 4

5
6 Do not install the
ERM in Slot 0.

7 NOTE: The module will not work in slot 0 of the DL205 series PLCs, the slot next to the CPU.

8 Network Cabling
Of the two types of ERM modules available, one supports the 10BaseT standard and the
9 other one supports the 10BaseFL standard. The 10BaseT standard uses twisted pairs of
copper wire conductors and the 10BaseFL standard is used with fiber optic cabling.
10 10BaseT 10BaseFL

11 Unshielded 62.5/125 MMF


Twisted-Pair fiber optics cable
12 cable with RJ45 with ST-style
connectors connectors
13
14
A
B
C
D

4–20 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

10BaseT Networks
A patch (straight-through) cable is used to connect a PLC (or PC) to a hub or to a repeater.
Use a crossover cable to connect two Ethernet devices (point-to-point) together. It is
1
recommended that pre-assembled cables be purchased for convenient and reliable networking.
2
Patch (Straight–through) Cable 3
TD+ 1 OR/WHT OR/WHT 1 RD+
TD– 2
RD+ 3
OR
GRN/WHT
BLU
OR
GRN/WHT
BLU
2
3
RD–
TD+
4
4 4
BLU/WHT BLU/WHT
10BaseT 5 5
RD– 6
7
8
GRN
BRN/WHT
BRN
GRN
BRN/WHT
BRN
6
7
8
TD– 5
RJ45 RJ45
6
1 2 3 4 5 6 78 Crossover Cable
8-pin RJ45 Connector
(8P8C) TD+ 1
OR/WHT GRN/WHT
GRN 1 TD+
7
OR
TD– 2 OR/WHT 2 TD–
GRN/WHT
RD+ 3
4
5
BLU
BLU/WHT
BLU
BLU/WHT
3
4
5
RD+
8
GRN OR
RD– 6 6 RD–
BRN/WHT BRN/WHT

RJ45
7
8 BRN BRN
7
8
RJ45
9
The above diagram illustrates the standard wire positions of the RJ45 connector. It is
10
recommended that Catagory 5, UTP cable, be used for all ERM 10BaseT cables.
Refer to the ERM manual for using the fiber optic cable with the H2-ERM-F.
11
An explanation of the use of the ERM Workbench software is too lengthy for this manual.
The full use of the workbench and NetEdit utilities is discussed in the ERM manual. 12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 4–21


Chapter 4: System Design and Configuration

Ethernet Base Controller, H2-EBC(100)(-F)


1 The Ethernet Base Controller module, H2-EBC(100)(-F) provides a low-cost, high-
performance Ethernet link between a network master controller and an DirectLOGIC PLC
I/O slave system. Also, the H2-EBC100 supports the Modbus TCP/IP client/server protocol.
2 The Ethernet Base Controller (EBC) serves as an interface between the master control system
and the DL205/405 I/O modules. The control function is performed by the master
3 controller, not the EBC slave. The EBC occupies the CPU slot in the base and communicates
across the backplane to input and output modules. Various master controllers with EBC
4 slaves are shown in the diagram below.

5 Example EBC Systems: Various Masters with EBC Slaves

6 Modbus TCP/IP Masters


(H2-EBC100 only)
DirectLOGIC PLC/
WinPLC with ERM
PC-based Control System

7 OR OR

8
All H2/H4 Series EBCs

9 UDP/IP, IPX
10Mbps Ethernet
Hub
EBC

Serial HMI
H2-EBC100
10 TCP/IP, UDP/IP, IPX
Modbus TCP/IP
EBC

10/100Mbps

11
12 EBC

13 The H2-EBC module supports industry standard 10BaseT Ethernet communications, the
H2-EBC100 module supports industry standard 10/100BaseT Ethernet communications and
14 the H2-EBC-F module supports 10BaseFL (fiber optic) Ethernet standards.

Specifications H2-EBC H2-EBC100 H2-EBC-F


A Communications 10BaseT Ethernet 10/100BaseT Ethernet 10BaseFL Ethernet
Data Transfer Rate 10Mbps max. 100Mbps max. 10Mbps max.
B Link Distance 100 meters (328 ft) 100 meters (328 ft) 2000 meters (6560 ft)
Ethernet Port RJ45 RJ45 ST-style fiber optic
C Ethernet Protocols TCP/IP, IPX TCP/IP, IPX/Modbus TCP/IP,
DHCP, HTML configuration TCP/IP, IPX
Serial Port RJ12 RJ12 None
D Serial Protocols K-Sequence, ASCII
IN/OUT
K-Sequence, ASCII IN/OUT,
Modbus RTU None
Power Consumption 450mA @ 5VDC 300mA @ 5VDC 640mA @ 5VDC

4–22 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

Install the EBC Module


Like the ERM module discussed in the previous section, this will briefly describe the
installation of the H2 Series EBCs. More detailed information is available in the Ethernet
1
Base Controller manual, H24-EBC-M, which will be needed to configure the remote I/O.
Each EBC module must be assigned at least one unique identifier to make it possible for
2
master controllers to recognize it on the network. Two methods for identifying the EBC
module give it the flexibility to fit most networking schemes. These identifiers are: 3
• Module ID (IPX protocol only)
• IP Address (for TCP/IP and Modbus TCP/IP protocols) 4
Set the Module ID
The two methods which can be used to set the EBC module ID are either by DIP switch or 5
by software. One software method is to use the NetEdit3 program which is included with the
EBC manual. To keep the setup discussion simple here, only the DIP switch method will be
discussed. Refer to the EBC manual for the complete use of NetEdit3.
6
It is recommended to use the DIP switch to set the Module ID because the DIP switch is
simple to set, and the Module ID can be determined by looking at the physical module,
7
without reference to a software utility.
The DIP switch can be used to set the Module ID to a number from 1-63. Do not use
8
Module ID 0 for communication.
If the DIP switch is set to a number greater than 0, the software utilities are disabled from
9
setting the Module ID. Software utilities will only allow changes to the Module ID if the DIP
switch setting is 0 (all switches OFF). 10
NOTE: The DIP switch settings are read at powerup only. The power must be cycled each time the DIP
switches are changed. 11
Setting the Module ID with the DIP switches is identical to setting the DIP switches on the
H2-ERM module. Refer to page 4-19 in this chapter.
12
Insert the EBC Module 13
Once the Module ID DIP switches are set, insert the module in the CPU slot of any DL205
base.
14
A
B
C
Insert H2-EBC in CPU slot D

DL205 User Manual, 4th Edition, Rev. A 4–23


Chapter 4: System Design and Configuration

Network Cabling
1 Of the two types of EBC modules available, one supports the 10/100BaseT standard and the
other one supports the 10BaseFL standard. The 10/100BaseT standard uses twisted pairs of
copper wire conductors and the 10BaseFL standard is used with fiber optic cabling.
2 10/100BaseT
3
4 RJ12
Serial
5 Port
RS232

6 ST-style
Bayonet
7 RJ45 for
10/100BaseT
for
10BaseFL

8 The 10BaseT and 100BaseT EBCs have an eight-pin modular jack that accepts RJ45
connectors. UTP Category 5 (CAT5) cable is highly recommended for use with all Ethernet
10/100BaseT connections. For convenient and reliable networking, purchase commercially
9 manufactured cables which have the connectors already installed.
To connect an EBC, or a PC, to a hub or repeater, use a patch cable (sometimes called a
10 straight-through cable). The cable used to connect a PC directly to an EBC or to connect two
hubs is referred to as a crossover cable.
11 Patch (Straight–through) Cable

12 TD+ 1
TD– 2
OR/WHT
OR
OR/WHT
OR
1
2
RD+
RD–
GRN/WHT GRN/WHT TD+
RD+ 3 3
13 10/100BaseT
4
5
BLU
BLU/WHT
BLU
BLU/WHT
4
5
RD– 6 GRN GRN 6 TD–
BRN/WHT BRN/WHT
14 7
8 BRN BRN
7
8
RJ45 RJ45
A
1 2 3 4 5 6 78 Crossover Cable
B 8-pin RJ45 Connector
(8P8C) OR/WHT GRN/WHT
TD+ 1 OR GRN 1 TD+

C TD– 2
RD+ 3
4
GRN/WHT
BLU
OR/WHT
BLU
2
3
4
TD–
RD+
BLU/WHT BLU/WHT
5 5
D RD– 6
7
GRN
BRN/WHT
OR
BRN/WHT
6
7
RD–

8 BRN BRN 8
RJ45 RJ45

4–24 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

10BaseFL Network Cabling


The H2-EBC-F and the H2-ERM-F modules have two ST-style bayonet connectors. The ST-
style connector uses a quick release coupling which requires a quarter turn to engage or
1
disengage. The connectors provide mechanical and optical alignment of fibers.
Each cable segment requires two strands of fiber; one to transmit data and one to receive data.
2
The ST-style connectors are used to connect the H2-Exx-F module to a PC or a fiber optic
hub or repeater. The modules themselves cannot act as repeaters. 3
The H2-EBC-F and the H2-ERM-F modules accept 62.5/125 multimode fiber optic (MMF)
cable. The glass core diameter is 62.5 micrometers, and the glass cladding is 125 micrometers. 4
The fiber optic cable is highly immune to noise and permits communications over much
greater distances than 10/100BaseT.
Multimode Fiber Optic (MMF) Cable
5
Transmit
Transmit Transmit 6
Receive
Receive Receive 7
Connecting your fiber optic
62.5/125 MMF cable with
bayonet ST-style connectors
EBC to a network adapter
card or fiber optic hub 8
Maximum Cable Length
The maximum distance per 10BaseT cable segment is 100 meters or 328 feet. Repeaters 9
extend the distance. Each cable segment attached to a repeater can be 100 meters. Two
repeaters connected together extend the total range to 300 meters. The maximum distance
per 10BaseFL cable segment is 2,000 meters or 6,560 feet (1.2 miles). Repeaters extend the
10
distance. Each cable segment attached to a repeater can be 2,000 meters. Two repeaters
connected together extend the total range to 6,000 meters. 11
10Base–T Ethernet Control Network shown
(also supports 10Base–FL Networks) 12
13
100 meters 100 meters
14
(328 feet) (328 feet)

10Base–T Hub (required


A
if using more than one
Ethernet slave)
B
100 meters 100 meters
(328 feet) 100 meters
(328 feet)
(328 feet)
C
D

DL205 User Manual, 4th Edition, Rev. A 4–25


Chapter 4: System Design and Configuration

Add a Serial Remote I/O Master/Slave Module


1 In addition to the I/O located in the local base, adding remote I/O can be accomplished via a
 230 shielded twisted-pair cable linking the master CPU to a remote I/O base. The methods of
2  240 adding serial remote I/O are:
• DL240 CPUs: Remote I/O requires a remote master module (D2–RMSM) to be installed in the
 250-1 local base. The CPU updates the remote master, then the remote master handles all communication
3  260 to and from the remote I/O base by communicating to a remote slave module (D2–RSSS) installed
in each remote base.

4 • DL250–1 and D2–260 CPU: The CPU’s comm port 2 features a built-in Remote I/O channel. You
may also use up to 7 D2–RMSM remote masters in the local base as described above (you can use
either or both methods).
5 DL230 DL240 DL250–1 DL260
Maximum number of Remote Masters supported in the local
6 CPU base (1 channel per Remote Master)
CPU built-in Remote I/O channels
none
none
2
none
7
1
7
1
Maximum I/O points supported by each channel none 2048 2048 2048
7 Maximum Remote I/O points supported none Limited by total references available
Maximum number of remote I/O bases per channel(RM–NET) none 7 7 7
8 Maximum number of remote I/O bases per channel (SM–NET) none 31 31 31

Remote I/O points map into different CPU memory locations, therefore it does not reduce
9 the number of local I/O points. Refer to the DL205 Remote I/O manual for details on
remote I/O configuration and numbering. Configuring the built-in remote I/O channel is
10 described in the following section.
The figure below shows one CPU base, and one remote I/O channel with six remote bases. If
11 the CPU is a DL250–1 or DL260, adding the first remote I/O channel does not require
installing a remote master module (use the CPU’s built-in remote I/O channel).
12 Remote Masters
Maximum of: Masters can go in any slot except next to CPU.

13 2 per CPU base (DL240)


7 per CPU base (DL250-1 & DL260)
(for DL250-1 & DL260 the bottom port of
the CPU can serve as an eighth master)

14
A Remote Slaves
Maximum of
7 remote bases

B per channel

C
D Allowable distance is from farthest slave to the remote master.

4–26 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

Configuring the CPU’s Remote I/O Channel


This section describes how to configure the DL250–1 and DL260’s built-in remote I/O
channel. Additional information is in the Remote I/O manual, D2–REMIO–M, which you
1
 230 will need in configuring the Remote slave units on the network. You can use the
 240 D2–REMIO–M manual exclusively when using regular Remote Masters and Remote Slaves 2
 250-1 for remote I/O in any DL205 system.
3
 260 The DL250–1 and DL260 CPU’s built-in remote I/O channel only supports RM–Net which
allows it to communicate with up to seven remote bases containing a maximum of 2048 I/O
points per channel, at a maximum distance of 1000 meters. If required, you can still use
Remote Master modules in the local CPU base (2048 I/O points on each channel).
4
You may recall from the CPU specifications in Chapter 3 that the DL250–1 and DL260’s
Port 2 is capable of several protocols. To configure the port using the Handheld Programmer,
5
use AUX 56 and follow the prompts, making the same choices as indicated below on this
page. To configure the port in DirectSOFT, choose the PLC menu, then Setup, then Setup 6
Secondary Comm Port.
• Port: From the port number list box at the
top, choose “Port 2”.
7
• Protocol: Click the check box to the left of
“Remote I/O” (called “M–NET” on the
8
HPP), and then you’ll see the dialog box
shown below. 9
• Station Number: Choose “0” as the
station number, which makes the
DL250–1 or DL260 the master. Station
10
numbers 1–7 are reserved for remote
slaves. 11
• Baud Rate: The baud rates 19200 and
38400 are available. Choose 38400
initially as the remote I/O baud rate, and 12
revert to 19200 baud if you experience
data errors or noise problems on the link. 13
• Memory Address: Choose a V-memory
address to use as the starting location of a
Remote I/O configuration table (V37700 14
is the default). This table is separate and
independent from the table for any
Remote Master(s) in the system, and it is
A
32 words in length.
Then click the button indicated to send the Port 2 configuration to the CPU, and click B
Close.
C
NOTE: You must configure the baud rate on the Remote Slaves with DIP switches to match the baud rate
selection for the CPU’s Port 2.
D

DL205 User Manual, 4th Edition, Rev. A 4–27


Chapter 4: System Design and Configuration

The next step is to make the connections between all devices on the Remote I/O link.
1 The location of Port 2 on the DL250–1 and DL260 is
on the 15-pin connector , as pictured to the right. DL260

2 • Pin 7
• Pin 9
Signal GND
TXD+ Port 2
3 • Pin 10
• Pin 13
TXD–
RXD+

4 • Pin 6 RXD–
Now we are ready to discuss wiring the DL250–1 or DL260 to the remote slaves on the
remote base(s). The remote I/O link is a 3-wire, half-duplex type. Since Port 2 of the
5 DL250–1 and DL260 CPU is a 5-wire full duplex–capable port, we must jumper its transmit
and receive lines together as shown below (converts it to 3-wire, half-duplex).
6 RXD–
DL250–1 / DL260 CPU Port 2
7 0V
6

7
Remote I/O Master
Cable: Use Belden
Remote I/O Slave Remote I/O Slave
(end of chain)
9842 or equivalent T Jumper T
8 13 RXD+
Termination
Resistor
9 TXD+ / RXD+ 1 1

9 TXD+
10 TXD– / RXD– 2 2
Internal
TXD–
150 ohm
10 Signal GND 3 3 resistor

11 The twisted/shielded pair connects to the DL250–1 or DL260 Port 2 as shown. Be sure to
connect the cable shield wire to the signal ground connection. A termination resistor must be
12 added externally to the CPU, as close as possible to the connector pins. Its purpose is to
minimize electrical reflections that occur over long cables. Be sure to add the jumper at the
last slave to connect the required internal termination resistor.
13 Ideally, the two termination resistors at the cables opposite ends and the cable’s rated
impedance will all match. For cable impedances
14 greater than 150 ohms, add a series resistor at Add series
external
T
the last slave as shown to the right. If less than resistor
1
A 150 ohms, parallel a matching resistance across
the slave’s pins 1 and 2 instead. Remember to
Internal
150 ohm
resistor
2
size the termination resistor at Port 2 to match
B the cables rated impedance. 3
The resistance values should be between 100 and
C 500 ohms.
NOTE: To match termination resistance to Belden 9841, use a 120 ohm resistor across terminals 1 and 2.
D

4–28 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

Configure Remote I/O Slaves


After configuring the DL250–1 or DL260 CPU’s Port 2 and wiring it to the remote slave(s),
use the following checklist to complete the configuration of the remote slaves. Full
1
instructions for these steps are in the Remote I/O manual.
• Set the baud rate to match CPU’s Port 2 setting.
2
• Select a station address for each slave, from 1 to 7. Each device on the remote link must
have a unique station address. There can be only one master (address 0) on the remote link. 3
Configuring the Remote I/O Table 4
The beginning of the configuration table Memory Addr. Pointer 37700
for the built-in remote I/O channel is the
memory address we selected in the Port 2 5
setup. Remote I/O data
The table consists of blocks of four words Reserved V37700 xxxx
6
which correspond to each slave in the
V37701 xxxx
system, as shown to the right. The first
four table locations are reserved. V37702 xxxx 7
V37703 xxxx
The CPU reads data from the table after
powerup, interpreting the four data words
8
Slave 1 V37704 xxxx
in each block with these meanings:
1. Starting address of slave’s input data V37705 xxxx 9
V37706 xxxx
2. Number of slave’s input points
3. Starting address of outputs in slave
V37707 xxxx 10
4. Number of slave’s output points
The table is 32 words long. If your system
11
has fewer than seven remote slave bases,
then the remainder of the table must be Slave 7 V37734 0000 12
filled with zeros. For example, a 3–slave V37735 0000
system will have a remote configuration
table containing 4 reserved words, 12
V37736 0000 13
V37737 0000
words of data and 16 words of “0000”.
A portion of the ladder program must DirectSOFT
14
configure this table (only once) at
powerup. Use the LDA instruction as
SP0
LDA A
shown to the right, to load an address to O40000
place in the table. Use the regular LD
constant to load the number of the slave’s OUT
B
V37704
input or output points. The following
page gives a short program example for LD
C
one slave. K16

OUT
D
V37705

DL205 User Manual, 4th Edition, Rev. A 4–29


Chapter 4: System Design and Configuration

Consider the simple system featuring Remote I/O shown below. The DL250–1 or DL260’s
built-in Remote I/O channel connects to one slave base, which we will assign a station
1 address=1. The baud rates on the master and slave will be 38.4KB.
We can map the remote I/O points as any type of I/O point, simply by choosing the
2 appropriate range of V-memory. Since we have plenty of standard I/O addresses available (X
and Y), we will have the remote I/O points start at the next X and Y addresses after the main
3 base points (X60 and Y40, respectively).
Main Base with CPU as Master Remote Slave Worksheet
4 DL 260
1
Remote Base Address _________(Choose

INPUT
1–7)

OUTPUT
CPU 16 16 16 16 16 Slot Module

5 Port 2 I I I O O
Number Name
0
1
08ND3S
08ND3S
Input Addr.
X060
X070
No. Inputs
8
Output Addr. No.Outputs

6 X0-X17
V40400
X20-X37 X40-X57 Y0-Y17
V40401 V40402 V40500
Y20-Y37
V40501
2
3
08TD1
08TD1
Y040
Y050
8
8
4

7 D2
Remote Slave 5
6
7
RSSS 8 8 8 8
8 Slave
I I O O
Input Bit Start Address: ________V-Memory
X060 Address:V _______
40403

Total Input Points _____


16

9 X60-X67 X70-X77 Y40-Y47 Y50-Y57


Output Bit Start Address: ________V-Memory
Y040 Address:V _______
40502

16
Total Output Points _____
V40403 V40403 V40502 V40502

10 DirectSOFT
Remote I/O Setup Program SP0
11 Using the Remote Slave Worksheet shown above can
help organize our system data in preparation for writing
LDA
O40403
Slave 1
Input

our ladder program (a blank full-page copy of this


12 worksheet is in the Remote I/O Manual). The four key
OUT
V37704
parameters we need to place in our Remote I/O
13 configuration table are in the lower right corner of the LD
K16
worksheet. You can determine the address values by
14 using the memory map given at the end of Chapter 3,
CPU Specifications and Operation.
OUT
V37705

The program segment required to transfer our worksheet


A results to the Remote I/O configuration table is shown
LDA
O40502
Slave 1
Output
to the right. Remember to use the LDA or LD
B instructions appropriately. OUT
V37706
The next page covers the remainder of the required
C program to get this remote I/O link up and running. LD
K16

D OUT
V37707

4–30 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

When configuring a Remote I/O channel for DirectSOFT


fewer than 7 slaves, we must fill the
remainder of the table with zeros. This is LD
1
necessary because the CPU will try to K0
interpret any non-zero number as slave 2
information. OUTD
We continue our setup program from the
previous page by adding a segment which
V37710
3
fills the remainder of the table with zeros.
The example to the right fills zeros for slave 4
numbers 2–7, which do not exist in our
example system.
OUTD
V37736 5
C740
SET
6
7
On the last rung in the example program above, we set a special relay contact C740. This
particular contact indicates to the CPU the ladder program has finished specifying a remote
I/O system. At that moment the CPU begins remote I/O communications. Be sure to include
8
this contact after any Remote I/O setup program.
9
Remote I/O Test Program
Now we can verify the remote I/O link and
setup program operation. A simple quick DirectSOFT
10
check can be done with one rung of ladder,
shown to the right. It connects the first input X60 Y40 11
of the remote base with the first output. OUT
After placing the PLC in RUN mode, we can
go to the remote base and activate its first
12
input. Then its first output should turn on.
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 4–31


Chapter 4: System Design and Configuration

Network Connections to Modbus and DirectNET


1
Configuring Port 2 For DirectNET
2  230
This section describes how to configure the CPU’s built-in networking ports for either
Modbus or DirectNET. This will allow you to connect the DL205 PLC system directly to
 240 Modbus networks using the RTU protocol, or to other devices on a DirectNET network. For
3  250-1 more details on DirectNET, order our DirectNET manual, part number DA–DNET–M.
 260
4 Configuring Port 2 For Modbus RTU
5  230
Modbus hosts system on the network must be capable of issuing the Modbus commands to
read or write the appropriate data. For details on the Modbus protocol, please refer to the
 240 Gould Modbus Protocol reference Guide (P1–MBUS–300 Rev. J). In the event a more recent
6  250-1
 260
version is available, check with your Modbus supplier before ordering the documentation.
You will need to determine whether the network connection is a 3-wire RS–232 type, or a 5-
7 wire RS–422 type. Normally, the RS–232 signals are used for shorter distance (15 meters
max) communications between two devices. RS–422 signals are for longer distance (1000
meters max.) multi-drop networks (from 2 to 247 devices). Use termination resistors at both
8 ends of RS–422 network wiring, matching the impedance rating of the cable (between 100
and 500 ohms).
9
RXD+

10 RS–422
Multi–drop
Network
RXD–
TXD+
TXD–
Signal GND

11 PC/PLC Master
PORT 1: DL250–1, DL260 (slave only)
9 TXD+
10 TXD–
13 RXD+
Termination
Resistor on
last slave only
PORT 2: DL240 (slave only)
6 RXD–

12 RS–232
Point-to-point
DTE Device
1 0V
3 RXD
Signal GND
RXD RS–232
11 RTS+
12 RTS–
14 CTS+ PORT 2
4 Master 15 CTS– (DL250–1, DL260)
TXD RS–422 Slave
13 TXD

Port 1 Pinouts (DL250–1 / DL260)


7 0V

Port 2 Pin Descriptions (DL240 only)


1 0V Power (–) connection (GND) 1 0V Power (–) connection (GND)
14 2
3
4
5V
RXD
TXD
Power (+) conection
Receive Data (RS-232)
Transmit Data (RS-232)
2
3
4
5V
RXD
TXD
Power (+) conection
Receive Data (RS-232)
Transmit Data (RS-232)
5 5V Power (+) conection 5 RTS Request to Send
A 6-pin Female
Modular Connector 6 0V Power (–) connection (GND)

Port 2 Pin Descriptions (DL250–1 / DL260)


6 0V Power (–) connection (GND)

The recommended cable


1 5V 5 VDC
B 1
6
11
2
3
4
TXD2
RXD2
RTS2
Transmit Data (RS-232)
Receive Data (RS-232)
Ready to Send (RS–232)
for RS-232 or RS-422 is
Belden 8102 or equivalent.
The recommended cable
5 CTS2 Clear to Send (RS–232) for RS-485 is Belden 9841
C 6
7
RXD2–
0V
Receive Data – (RS–422) (RS–485 DL260)
Logic Ground
or equivalent.

8 0V Logic Ground Note: The DL260 supports


9 TXD2+ Transmit Data + (RS–422) (RS–485 DL260)
D 5
10
15
10
11
12
TXD2 –
RTS2 +
RTS2 –
Transmit Data – (RS–422) (RS–485 DL260)
Request to Send + (RS–422) (RS–485 DL260)
Request to Send – (RS–422)(RS–485 DL260)
RS–485 multi–drop net-
working. See the Network
Master Operation (DL260
13 RXD2 + Receive Data + (RS–422) (RS–485 DL260) Only) section later in this
15-pin Female chapter for details.
D-Sub connector 14 CTS2 + Clear to Send + (RS422) (RS–485 DL260)
15 CTS2 – Clear to Send – (RS–422) (RS–485 DL260)

4–32 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

Modbus Port Configuration


In DirectSOFT, choose the PLC menu, then Setup, then “Secondary Comm Port”.
1
 230 • Port: From the port number list box at the top, choose “Port 2”.
 240 • Protocol: Click the check box to the left of “MODBUS” (use AUX 56 on the HPP, and select
2
 250-1 “MBUS”), and then you’ll see the dialog box below.
 260 • Timeout: The amount of time the port
will wait after it sends a message to get a 3
response before logging an error.
• RTS On Delay Time: The amount of
time between raising the RTS line and
4
sending the data.
• RTS Off Delay Time: The amount of
5
time between resetting the RTS line after
sending the data. 6
• Station Number: To make the CPU port
a Modbus master, choose “1”. The
possible range for Modbus slave numbers
7
is from 1 to 247, but the DL250–1 and
DL260 WX and RX network instructions
used in Master mode will access only
8
slaves 1 to 90. Each slave must have a
unique number. At powerup, the port is 9
automatically a slave, unless and until the
DL250–1 or DL260 executes ladder logic
network instructions which use the port 10
as a master. Thereafter, the port reverts
back to slave mode until ladder logic
uses the port again. NOTE: The DL250–1 does not support the
11
• Baud Rate: The available baud rates Echo Suppression feature
include 300, 600, 900, 2400, 4800, 12
9600, 19200, and 38400 baud. Choose a higher baud rate initially, reverting to lower baud rates if
you experience data errors or noise problems on the network. Important: You must configure the
baud rates of all devices on the network to the same value. Refer to the appropriate product manual
13
for details.
• Stop Bits: Choose 1 or 2 stop bits for use in the protocol. 14
• Parity: Choose none, even, or odd parity for error checking.
• Echo Suppression: Select the appropriate radio button based on the wiring configuration used on A
port 2.
Then click the button indicated to send the Port configuration to the CPU, and click Close. B
C
D

DL205 User Manual, 4th Edition, Rev. A


4–33
Chapter 4: System Design and Configuration

DirectNET Port Configuration


1  230 In DirectSOFT, choose the PLC menu, then Setup, then “Secondary Comm Port”.
 240 • Port: From the port number list box, choose “Port 2 ”.
2  250-1 • Protocol: Click the check box to the left of “DirectNET” (use AUX 56 on the HPP, then select
 260 “DNET”), and then you’ll see the dialog box below.

3
4
5
6
7
8
9
10
11 • Timeout: The amount of time the port will wait after it sends a message to get a response before
logging an error.
12 • RTS On Delay Time: The amount of time between raising the RTS line and sending the data.
• RTS Off Delay Time: The amount of time between resetting the RTS line after sending the data.
13 • Station Number: To make the CPU port a DirectNET master, choose “1”. The allowable range for
DirectNET slaves is from 1 to 90 (each slave must have a unique number). At powerup, the port is
14 automatically a slave, unless and until the DL250–1 or DL260 executes ladder logic instructions
which attempt to use the port as a master. Thereafter, the port reverts back to slave mode until
ladder logic uses the port again.
A • Baud Rate: The available baud rates include 300, 600, 900, 2400, 4800, 9600, 19200, and 38400
baud. Choose a higher baud rate initially, reverting to lower baud rates if you experience data errors
B or noise problems on the network. Important: You must configure the baud rates of all devices on
the network to the same value.

C • Stop Bits: Choose 1 or 2 stop bits for use in the protocol.


• Parity: Choose none, even, or odd parity for error checking.

D • Format: Choose hex or ASCII formats.


Then click the button indicated to send the Port configuration to the CPU, and click Close.

4–34 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

Network Slave Operation


This section describes how other devices on a network can communicate with a CPU port
 230 that you have configured as a DirectNET slave (DL240/250–1/260) or Modbus slave 1
 240 (DL250–1, DL260). A Modbus host must use the Modbus RTU protocol to communicate
 250-1 with the DL250–1 or DL260 as a slave. The host software must send a Modbus function 2
 260 code and Modbus address to specify a PLC memory location the DL250–1 or DL260
comprehends. The DirectNET host uses normal I/O addresses to access applicable DL205
CPU and system. No CPU ladder logic is required to support either Modbus slave or 3
DirectNET slave operation.

 230 Modbus Function Codes Supported


4
 240 The Modbus function code determines whether the access is a read or a write, and whether to
 250-1 access a single data point or a group of them. The DL250–1 and DL260 support the Modbus 5
 260 function codes described below.
Modbus Function Code Function DL205 Data Types Available 6
01 Read a group of coils Y, C, T, CT
02
05
Read a group of inputs
Set / Reset a single coil (slave only)
X, SP
Y, C, T, CT
7
15 Set / Reset a group of coils Y, C, T, CT
03, 04
06
Read a value from one or more registers
Write a value into a single register (slave only)
V
V
8
16 Write a value into a group of registers
Determining the Modbus Address
V
9
There are typically two ways that most host software conventions allow you to specify a PLC
memory location. These are: 10
• By specifying the Modbus data type and address
• By specifying a Modbus address only. 11
If Your Host Software Requires the Data Type and Address
Many Host software packages allow you to specify the Modbus data type and the Modbus
12
address that corresponds to the PLC memory location. This is the easiest method, but not all
packages allow you to do it this way. 13
The actual equation used to calculate the address depends on the type of PLC data you are
using. The PLC memory types are split into two categories for this purpose. 14
• Discrete – X, SP, Y, C, S, T (contacts), CT (contacts)
• Word – V, Timer current value, Counter current value A
In either case, you basically convert the PLC octal address to decimal and add the appropriate
Modbus address (if required). The following table shows the exact equation used for each
group of data.
B
NOTE: For information about the Modbus protocol see www.Modbus.org and select Technical Resources. For C
more information about the DirectNET protocol, order our DirectNET User Manual, DA-DNET-M, or
download the manual free from our website: www.automationdirect.com. Select Manuals/Docs>Online User
Manuals>Misc.>DA-DNET-M
D

DL205 User Manual, 4th Edition, Rev. A


4–35
Chapter 4: System Design and Configuration

DL250–1 Memory Modbus Address


QTY (Dec.) PLC Range (Octal) Modbus Data Type
1 Type Range (Decimal)
For Discrete Data Types ............. Convert PLC Addr. to Dec. + Start of Range + Data Type
2 Inputs (X) 512 X0
SP0


X777
SP137
2048
3072


2560
3167
Input
Special Relays (SP) 512 SP320 – SP717 3280 – 3535 Input

3 Outputs (Y)
Control Relays (C)
512
1024
Y0
C0


Y777
C1777
2048
3072


2560
4095
Coil
Coil
Timer Contacts (T) 256 T0 – T377 6144 – 6399 Coil
4 Counter Contacts (CT) 128 CT0 – CT177 6400 – 6527 Coil
Stage Status Bits (S) 1024 S0 – S1777 5120 – 6143 Coil
5 For Word Data Types .............................. Convert PLC Addr. to Dec. + Data Type
Timer Current Values (V) 256 V0 – V377 0 – 255 Input Register
6 Counter Current Values (V) 128
3072
V1000
V1400


V1177
V7377
512
768


639
3839
Input Register
V-Memory, user data (V) 4096 V10000 – V17777 4096 – 8191 Holding Register

7 V-Memory, system (V) 256 V7400 – V7777 3480 – 3735 Holding Register

8 Modbus Address
DL260 Memory Type QTY (Dec.) PLC Range (Octal) Modbus Data Type
Range (Decimal)
9 For Discrete Data Types ............. Convert PLC Addr. to Dec. + Start of Range + Data Type
Inputs (X) 1024 X0 – X1777 2048 – 3071 Input
10 Remote Inputs (GX) 2048 GX0 – GX3777 3840 – 18431 Input
Special Relays (SP) 512 SP0 – SP777 3072 – 3583 Input
11 Outputs (Y)
Remote Outputs (GY)
1024
2048
Y0
GY0


Y777
GY3777
2048
18432


3071
20479
Coil
Coil
Control Relays (C) 2048 C0 – C377 3072 – 5159 Coil
12 Timer Contacts (T) 256 T0 – T177 6144 – 6399 Coil
Counter Contacts (CT) 256 CT0 – CT177 6400 – 6655 Coil
13 Stage Status Bits (S) 1024 S0 – S777 5120 – 6143 Coil
For Word Data Types ............................. Convert PLC Addr. to Dec. + Data Type
14 Timer Current Values (V)
Counter Current Values (V)
256
256
V0 – V177
V1000 – V1177
0 – 255
512 – 767
Input Register
Input Register
V400 – V777
A V-Memory, user data (V) 14.6K V1400 – V7377
V10000 – V35777
1024 – 2047 Holding Register

256 V7400 – V7777 3480 – 4095


B V-Memory, system (V) 1024 V36000 – V37777 15360 – 16383 Holding Register

C
D

4–36 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

The following examples show how to generate the Modbus address and data type for hosts
which require this format.
Example 1: V2100 PLC Address (Dec.) + Data Type
1
Find the Modbus address for User
V location V2100.
V2100 = 1088 decimal
1088 + Hold. Reg. = Holding Reg. 1089
2
1. Find V memory in the table.
2. Convert V2100 into decimal (1089).
3
3. Use the Modbus data type from the table.
Timer Current Values (V) 128 V0 - V177 0 - 127 Input Register
4
Counter Current Values (V) 128 V1000 - V1177 512 - 639 Input Register
V Memory, user data (V) 1024 V2000 - -V3777 1024 - 2047 Holding Register 5
Example 2: Y20 PLC Addr. (Dec) + Start Addr. + Data Type
Find the Modbus address for Y20 = 16 decimal 6
output Y20. 16 + 2049 + Coil = Coil 2065
1. Find Y outputs in the table. 7
2. Convert Y20 into decimal
(16).
3. Add the starting address for the range (2049).
8
Outputs (Y) 320 Y0 – Y477 2049 – 2367 Coil
4.
Use
9
Control Relays (CR) 256 C0 – C377 3072 - 3551 Coil the
Modbus data type from the table.
PLC Address (Dec.) + Data Type
10
Example 3: T10 Current Value
Find the Modbus address to obtain the T10 = 8 decimal 11
current value from Timer T10. 8 + Input Reg. = Input Reg. 9
1. Find Timer Current Values in the table. 12
2. Convert T10 into decimal (8).
3. Use the Modbus data type from the table. 13
Timer Current Values (V) 128 V0 – V177 0 – 128 Input Register
Counter Current Values (V)
Example 4: C54
128 V1000 – V1177 512 – 639 Input Register
14
PLC Addr. (Dec) + Start Addr. +Data Type
Find the Modbus address for
Control Relay C54. C54 = 44 decimal A
1. Find Control Relays in the table. 44 + 3073 + Coil = Coil 3117
2. Convert C54 into decimal (44).
B
3. Add the starting address for the range (3073).
4. Use the Modbus data type from the table.
C
Outputs (Y) 320 Y0 – Y477 2048 - 2367 Coil
D
Control Relays (C) 256 C0 – C377 3073 – 3551 Coil

DL205 User Manual, 4th Edition, Rev. A 4–37


Chapter 4: System Design and Configuration

If Your Modbus Host Software Requires an Address ONLY


1 Some host software does not allow you to specify the Modbus data type and address. Instead,
you specify an address only. This method requires another step to determine the address, but
it is not difficult. Basically, Modbus separates the data types by address ranges as well. So this
2 means an address alone can actually describe the type of data and location. This is often
referred to as “adding the offset”. One important thing to remember here is that two different
3 addressing modes may be available in your host software package. These are:
• 484 Mode
4 • 584/984 Mode
We recommend that you use the 584/984 addressing mode if your host software allows you
5 to choose. This is because the 584/984 mode allows access to a higher number of memory
locations within each data type. If your software only supports 484 mode, then there may be
some PLC memory locations that will be unavailable. The actual equation used to calculate
6 the address depends on the type of PLC data you are using. The PLC memory types are split
into two categories for this purpose.
7 • Discrete – X, GX, SP, Y, R, S, T, CT (contacts), C (contacts)
• Word – V, Timer current value, Counter current value
8 In either case, you basically convert the PLC octal address to decimal and add the appropriate
Modbus addresses (as required). The table below shows the exact equation used for each
9 group of data.

10 Discrete Data Types


PLC Range (Octal) Address Range Address Range
DL260 Memory Type
11 (484 Mode) (584/984 Mode) Modbus Data Type
GX0 – GX1746 1001 – 1999 10001 – 10999 Input
Global Inputs (GX)
12 Inputs (X)
GX1747
X0


GX3777
X1777
---
---
11000
12049


12048
13072
Input
Input
Special Relays (SP) SP0 – SP777 --- 13073 – 13584 Input
13 Global Outputs (GY) GY0 – GY3777 1 – 2048 1 – 2048 Output
Outputs (Y) Y0 – Y1777 2049 – 3072 2049 – 3072 Output
14 Control Relays (C)
Timer Contacts (T)
C0
T0


C3777
T377
3073
6145


5120
6400
3073
6145


5120
6400
Output
Output
Counter Contacts (CT) CT0 – CT377 6401 – 6656 6401 – 6656 Output
A Stage Status Bits (S) S0 – S1777 5121 – 6144 5121 – 6144 Output

B
C
D

4–38 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

Word Data Types


Registers PLC Range (Octal) Input/Holding
(484 Mode)*
Input/Holding
(585/984 Mode)*
1
V-Memory (Timers) V0 – V377 3001/4001 30001/40001
V-Memory (Counters) V1000 – V1177 3513/4513 30513/40513 2
V1200 – V1377 3641/4641 30641/40641

V-Memory (Data Words)


V1400
V1747


V1746
V1777
3769/4769
---
30769/40769
31000/41000
3
V2000 – V7377 --- 41025
V10000 – V17777 --- 44097 4
*Modbus: Function 04 5
The DL-250 supports function 04 read input register (Address 30001). To use function 04,
put the number ‘4’ into the most significant position (4xxx) when defining the number of
bytes to read. Four digits must be entered for the instruction to work properly with this
6
mode.
7
The maximum constant possible is 4128. This 8
LD is due to the 128 maximum number of Bytes
K101 that the RX/WX instruction can allow. The
value of 4 in the most significant position of the 9
word will cause the RX to use function 04
LD
K4128
(30001 range). 10
LDA 11
O4000
12
RX
Y0
13
1. Refer to your PLC user manual for the correct memory size of your PLC. Some of the
14
addresses shown above might not pertain to your particular CPU.
2. For an automated Modbus/Koyo address conversion utility, search and download the file A
modbus_conversion.xls from the www.automationdirect.com website.
B
C
D

DL205 User Manual, 4th Edition, Rev. A 4–39


Chapter 4: System Design and Configuration

Example 1: V2100 584/984 Mode


1 Find the Modbus address for User V location
V2100.
PLC Address (Dec.) + Mode Address
V2100 = 1088 decimal
1. Find V memory in the table 1088 + 40001 = 41089
2 2. Convert V2100 into decimal (1088).
3. Add the Modbus starting address for the mode (40001).

3 For Word Data Types...


Timer Current Value (V)
PLC Address (Dec.)
128 V0 - V177
+ Appropriate Mode Address
0 - 127 3001 30001 Input Register
Counter Current Value (V) 128 V1000 - V1177 512 - 639 3001 30001 Input Register
4 V Memory, User Data (V) 1024 V2000 - V3777 1024 - 2047 4001 40001 Hold Register
Example 2: Y20 584/984 Mode
5 Find the Modbus address for output Y20.
1. Find Y outputs in the table.
PLC Addr. (Dec.) + Start Address + Mode
Y20 = 16 decimal
2. Convert Y20 into decimal (16).
6 3. Add the starting address for the range (2048).
16 + 2048 + 1 = 2065
4. Add the Modbus address for the mode (1).
7 Outputs (Y) 320 Y0 - Y477 2048 - 2367 1 1 Coil
Control Relays (CR) 256 C0 - C377 3072 - 3551 1 1 Coil
8 Timer Contacts (T) 128 T0 - T177 6144 - 6271 1 1 Coil

Example 3: T10 Current Value 484 Mode PLC Address (Dec.) + Mode Address
9 Find the Modbus address to obtain the TA10 = 8 decimal
current value from Timer T10.
8 + 3001 = 3009
10 1. Find Timer Current Values in the table.
2. Convert T10 into decimal (8).
3. Add the Modbus starting address for the mode (3001).
11 For Word Data Types... PLC Address (Dec.) + Appropriate Mode Address
Timer Current Value (V) 128 V0 - V177 0 - 127 3001 30001 Input Register
12 Counter Current Value (V)
V Memory, User Data (V)
128
1024
V1000 - V1177
V2000 - V3777
512 - 639
1024 - 2047
3001
4001
30001
40001
Input Register
Hold Register

13 Example 4: C54 584/984 Mode


Find the Modbus address for Control Relay PLC Addr. (Dec.) + Start Address + Mode
14 C54.
1. Find Control Relays in the table.
C54 = 44 decimal
44 + 3072 + 1 = 3117
2. Convert C54 into decimal (44).
A 3. Add the starting address for the range (3072).
4. Add the Modbus address for the mode (1).

B Outputs (Y)
Control Relays (CR)
320
256
Y0 - Y477
C0 - C377
2048 - 2367
3072 - 3551
1
1
1
1
Coil
Coil

C Timer Contacts (T) 128 T0 - T177 6144 - 6271 1 1 Coil

Determining the DirectNET Address


D  230 Addressing the memory types for DirectNET slaves is very easy. Use the ordinary native
 240 address of the slave device itself. To access a slave PLC’s memory address V2000 via
 250-1 DirectNET, for example, the network master will request V2000 from the slave.
 260
4–40 DL205 User Manual, 4th Edition, Rev. A
Chapter 4: System Design and Configuration

Network Master Operation


 230
This section describes how the DL250–1 and DL260 can communicate on a Modbus or
DirectNET network as a master. For Modbus networks, it uses the Modbus RTU protocol,
1
 240 which must be interpreted by all the slaves on the network. Both Modbus and DirectNET are
 250-1 single master/multiple slave networks. The master is the only member of the network that can 2
 260 initiate requests on the network. This section teaches you how to design the required ladder
logic for network master operation. 3
Master
4
5
Slave #1 Slave #2 Slave #3 6
7
Modbus RTU Protocol, or DirectNET 8
When using the DL250–1 or DL260 CPU
as the master station, you use simple RLL Master
9
instructions to initiate the requests. The
WX instruction initiates network write 10
operations, and the RX instruction initiates
network read operations. Before executing
either the WX or RX commands, we will
Slave 11
need to load data related to the read or
write operation onto the CPU’s WX (write) 12
accumulator stack. When the WX or RX RX (read)
instruction executes, it uses the information
on the stack combined with data in the Network
13
instruction box to completely define the
task, which goes to the port. 14
The following step-by-step procedure will provide the information necessary to set up your
ladder program to receive data from a network slave. A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 4–41


Chapter 4: System Design and Configuration

Step 1: Identify Master Port # and Slave # F 1 0 1


1 The first Load (LD) instruction identifies the
communications port number on the network
master (DL250-1/260) and the address of the Slave Address (BCD)
2 slave station. This instruction can address up to CPU bottom port (BCD)
99 Modbus slaves, or 90 DirectNET slaves. The Internal port (hex)
3 format of the word is shown to the right. The
“F1” in the upper byte indicates the use of the LD
bottom port of the DL250-1/260 PLC, port KF101
4 number 2. The lower byte contains the slave
address number in BCD (01 to 99).
5 Step 2: Load Number of Bytes to Transfer 1 2 8
The second Load (LD) instruction determines
6 the number of bytes which will be transferred
between the master and slave in the subsequent # of bytes to transfer
7 WX or RX instruction. The value to be loaded is
in BCD format (decimal), from 1 to 128 bytes. LD
K128

8 The number of bytes specified also depends on


the type of data you want to obtain. For example, the DL205 Input points can be accessed by
V-memory locations or as X input locations. However, if you only want X0 – X27, you’ll have
9 to use the X input data type because the V-memory locations can only be accessed in 2-byte
increments. The following table shows the byte ranges for the various types of
10 DirectLOGIC™. products.

11 V-memory
DL205/405 Memory Bits per unit
16
Bytes
2
T / C current value 16 2
12 Inputs (X, SP) 8 1
Outputs (Y, C, Stage, T/C bits) 8 1
13 Scratch Pad Memory
Diagnostic Status
8
8
1
1

14
DL305 Memory Bits per unit Bytes
A Data registers
T / C accumulator
8
16
1
2

B I/O, internal relays, shift register bits,


T/C bits, stage bits
1 1

Scratch Pad Memory 8 2


C Diagnostic Status(5 word R/W) 16 10

4–42 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

Step 3: Specify Master Memory Area


4 0 6 0 0
The third instruction in the RX or WX sequence is
a Load Address (LDA) instruction. Its purpose is to
(octal) 1
load the starting address of the memory area to be
transferred. Entered as an octal number, the LDA
Starting address of
master transfer area
2
instruction converts it to hex and places the result
in the accumulator.
LDA
3
For a WX instruction, the DL250-1/260 CPU O40600
sends the number of bytes previously specified
from its memory area beginning at the LDA
4
MSB V40600 LSB
address specified.
For an RX instruction, the DL250-1/260 CPU 15 0
5
reads the number of bytes previously specified
from the slave, placing the received data into its MSB V40601 LSB 6
memory area beginning at the LDA address
15 0
specified. 7
NOTE: Since V-memory words are always 16 bits, you may not always use the whole word. For example, if
you only specify 3 bytes and you are reading Y outputs from the slave, you will only get 24 bits of data. In
this case, only the 8 least significant bits of the last word location will be modified. The remaining 8 bits
8
are not affected.
9
Step 4: Specify Slave Memory Area
The last instruction in our sequence is the WX or
SP116
10
RX instruction itself. Use WX to write to the slave, LD
and RX to read from the slave. All four of our
instructions are shown to the right. In the last
KF101
11
instruction, you must specify the starting address LD
and a valid data type for the slave. K128 12
• DirectNET slaves – specify the same address in the
WX and RX instruction as the slave’s native I/O
address
LDA
O40600
13
• Modbus DL405 or DL205 slaves – specify the same
address in the WX and RX instruction as the slave’s
RX 14
native I/O address Y0
• Modbus 305 slaves – use the following table to A
convert DL305 addresses to Modbus addresses
DL305 Series CPU Memory Type–to–Modbus Cross Reference B
PLC Base Modbus PLC Memory PLC Base Modbus
PLC Memory Type Address Base Address Type Address Base Address
TMR/CNT Current Values R600 V0 TMR/CNT CT600 GY600
C
Status Bits
I/O Points
Data Registers
IO 000
R401,R400
GY0
V100
Control Relays
Shift Registers
CR160
SR400
GY160
GY400
D
Stage Status Bits (D3-330P only) S0 GY200

DL205 User Manual, 4th Edition, Rev. A 4–43


Chapter 4: System Design and Configuration

Communications from a Ladder Program


1 Typically, network communications will last
longer than one scan. The program must
Port Communication Error
wait for the communications to finish before SP117
2 starting the next transaction.
Y1
SET
Port 2, which can be a master, has two
3 Special Relay contacts associated with it. SP116
LD
KF201
One indicates “Port busy”(SP116), and the
4 other indicates ”Port Communication
Error”(SP117). The example above shows Port Busy
LD
K3
the use of these contacts for a network
5 master that only reads a device (RX). The LDA
O40600
“Port Busy” bit is on while the PLC
6 communicates with the slave. When the bit
is off the program can initiate the next RX
Y0
network request.
7 The “Port Communication Error” bit turns
on when the PLC has detected an error. Use of this bit is optional. When used, it should be
8 ahead of any network instruction boxes since the error bit is reset when an RX or WX
instruction is executed.
9 Multiple Read and Write Interlocks Interlocking Relay
If you are using multiple reads and writes in the SP116 C100
LD
10 RLL program, you have to interlock the routines to KF201
make sure all the routines are executed. If you don’t
LD
11 use the interlocks, then the CPU will only execute
the first routine. This is because each port can only
K3

handle one transaction at a time. LDA


12 In the example to the right, after the RX instruction
O40600

is executed, C100 is set. When the port has finished RX


13 the communication task, the second routine is
executed and C100 is reset.
Interlocking
Relay
Y0

C100

14 If you’re using RLLPLUS Stage Programming, you can


put each routine in a separate program stage to SP116 C100
SET

LD
ensure proper execution and switch from stage to
A stage allowing only one of them to be active at a
KF201

time. LD
B K3

LDA
C O40400

WX
D VY0

C100
RST

4–44 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

Network Modbus RTU Master Operation (DL260 only)


This section describes how the DL260 can communicate on a Modbus RTU network as a 1
 230 master using the MRX and MWX read/write instructions. These instructions allow you to
 240 enter native Modbus addressing in your ladder logic program with no need to perform octal 2
 250-1 to decimal conversions. Modbus is a single master/multiple slave network. The master is the
only member of the network that can initiate requests on the network. This section teaches
 260 you how to design the required ladder logic for network master operation. 3
4
Master
5
6
Slave #1 Slave #2 Slave #3
7
8
Modbus RTU Protocol 9
Modbus Function Codes Supported
The Modbus function code determines whether the access is a read or a write, and whether to 10
access a single data point or a group of them. The DL260 supports the Modbus function
codes described below. 11
Modbus Function Code
01
Function
Read a group of coils
DL205 Data Types Available
Y, C, T, CT
12
02
05
Read a group of inputs
Set / Reset a single coil (slave only)
X, SP
Y, C, T, CT
13
15 Set / Reset a group of coils Y, C, T, CT
03, 04 Read a value from one or more registers V
14
06 Write a value into a single register (slave only) V
07 Read Exception Status V A
08 Diagnostics V
16 Write a value into a group of registers V B
C
D

DL205 User Manual, 4th Edition, Rev. A 4–45


Chapter 4: System Design and Configuration

Modbus Port Configuration


1 In DirectSOFT, choose the PLC menu, then Setup, then “Secondary Comm Port”.
 230 • Port: From the port number list box at the top, choose “Port 2”.
2  240 • Protocol: Click the check box to the left of “MODBUS” (use AUX 56 on the HPP, and select
“MBUS”), and then you’ll see the dialog box below.
 250-1
3  260
• Timeout: Amount of time the port will wait after it sends a message to get a response before logging
an error.

4
5
6
7
8
9
10
11
12 • RTS On Delay Time: The amount of time between raising the RTS line and sending the data.
• RTS Off Delay Time: The amount of time between resetting the RTS line after sending the data.
13 • Station Number: For making the CPU port a Modbus master, choose “1”. The possible range for
Modbus slave numbers is from 1 to 247. Each slave must have a unique number. At powerup, the
14 port is automatically a slave, unless and until the DL06 executes ladder logic MWX/MRX network
instructions which use the port as a master. Thereafter, the port reverts back to slave mode until
ladder logic uses the port again.
A • Baud Rate: The available baud rates include 300, 600, 900, 2400, 4800, 9600, 19200, and 38400
baud. Choose a higher baud rate initially, reverting to lower baud rates if you experience data errors
B or noise problems on the network. Important: You must configure the baud rates of all devices on
the network to the same value. Refer to the appropriate product manual for details.

C • Stop Bits: Choose 1 or 2 stop bits for use in the protocol.


• Parity: Choose none, even, or odd parity for error checking.

D • Echo Suppression: Select the appropriate radio button based on the wiring configuration used on
port 2.
Then click the button indicated to send the Port configuration to the CPU, and click Close.

4–46 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

RS–485 Network (Modbus only)


 230
RS–485 signals are for longer distances (1000 meters max.), and for multi-drop networks.
Use termination resistors at both ends of RS–485 network wiring, matching the impedance
1
 240 rating of the cable (between 100 and 500 ohms).
2
 250-1 Termination

 260
Resistor
TXD+ / RXD+ TXD+ / RXD+
TXD+ / RXD+
3
TXD– / RXD– TXD– / RXD– TXD– / RXD–

Signal GND Signal GND Signal GND


4
6
RXD– 6 RXD– 5
0V
1
7
11 1
7
11
6
RTS+ 0V RTS+

TXD+ RXD+ RTS– TXD+


RXD+ RTS– 7
CTS+ Cable: Use Belden
CTS+

CTS–
9842 or equivalent

CTS–
8
5 15 5 15
10
TXD–
10
TXD–
9
DL260 CPU Port 2 DL260 CPU Port 2
10
RS–232 Network
Normally, the RS–232 signals are used for shorter distances (15 meters max), for
11
communications between two devices.
12
Port 2 Pin Descriptions (DL260 only)
6
1
2
5V
TXD2
5 VDC
Transmit Data (RS-232)
13
1
11
3 RXD2 Receive Data (RS-232)
GND
RXD
Signal GND
2
7
4 RTS2 Ready to Send (RS–232) 14
TXD 5 CTS2 Clear to Send (RS–232)
TXD
RXD
3 6
7
RXD2–
0V
Receive Data – (RS–422/RS-485)
Logic Ground
A
CTS 4 8 0V Logic Ground
RTS
RTS
5 9 TXD2+ Transmit Data + (RS–422/RS–485) B
CTS 10 15 10 TXD2 – Transmit Data – (RS–422/RS–485)
11
12
RTS2 +
RTS2 –
Request to Send + (RS–422/RS–485)
Request to Send – (RS–422/RS–485)
C
ASCII Device CPU Port 2 13 RXD2 + Receive Data + (RS–422/RS–485)
14 CTS2 + Clear to Send + (RS422/RS–485) D
15 CTS2 – Clear to Send – (RS–422/RS–485)

DL205 User Manual, 4th Edition, Rev. A 4–47


Chapter 4: System Design and Configuration

Modbus Read from Network (MRX)


1  230 The Modbus Read from Network (MRX) instruction is used by the DL260 network master
to read a block of data from a connected slave device and to write the data into V–memory
 240 addresses within the master. The instruction allows the user to specify the Modbus Function
2  250-1 Code, slave station address, starting master and slave memory addresses, number of elements

3  260 to transfer, Modbus data format and the Exception Response Buffer.

4
5
6
7
8
9
10
• Port Number: must be DL260 Port 2 (K2)
11 • Slave Address: specify a slave station address (1–247)
• Function Code: The following Modbus function codes are supported by the MRX instruction:
12 01 – Read a group of coils
02 – Read a group of inputs
13 03 – Read holding registers
04 – Read input registers
14 07 – Read Exception status
• Start Slave Memory Address: specifies the starting slave memory address of the data to be read. See
A the table on the following page.
• Start Master Memory Address: specifies the starting memory address in the master where the data
B will be placed. See the table on the following page.
• Number of Elements: specifies how many coils, input, holding registers or input registers will be
read. See the table on the following page.
C • Modbus Data Format: specifies Modbus 584/984 or 484 data format to be used

D • Exception Response Buffer: specifies the master memory address where the Exception Response
will be placed. See the table on the following page.

4–48 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

MRX Slave Memory Address


MRX Slave Address Ranges
1
Function Code Modbus Data Format Slave Address Range(s)
01 – Read Coil 484 Mode 1–999 2
01 – Read Coil 584/984 Mode 1–65535
02 – Read Input Status 484 Mode 1001–1999
10001–19999 (5 digit) or
3
02 – Read Input Status 584/984 Mode 100001–165535 (6 digit)
03 – Read Holding Register 484 Mode 4001–4999 4
03 – Read Holding Register 584/984 40001–49999 (5 digit) or
4000001–465535 (6 digit)
04 – Read Input Register 484 Mode 3001–3999 5
04 – Read Input Register 584/984 Mode 30001–39999 (5 digit) or

07 – Read Exception Status 484 and 584/984 Mode


3000001–365535 (6 digit)
n/a
6
MRX Master Memory Addresses 7
MRX Master Memory Address Ranges
Operand Data Type DL260 Range 8
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–1777
Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . .
Y
C
0–1777
0–3777
9
Stage Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 0–1777
Timer Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0–377 10
Counter Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CT 0–377
Special Relays. . . . . . . . . . . . . . . . . . . . . . . . . . . .
V–memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SP
V
0–777
All
11
Global Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . GX 0–3777
Global Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . GY 0–3777 12
MRX Number of Elements 13
Number of Elements
Operand Data Type DL260 Range 14
V–memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V All (see page 3-56)
Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K Bits:1–2000 Registers: 1-125 A
MRX Exception Response Buffer
B
Exception Response Buffer
Operand Data Type
V–memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V All (see page 3-56)
DL260 Range C
D

DL205 User Manual, 4th Edition, Rev. A 4–49


Chapter 4: System Design and Configuration

Modbus Write to Network (MWX)


1  230 The Modbus Write to Network (MWX) instruction is used to write a block of data from the
network masters’s (DL260) memory to Modbus memory addresses within a slave device on
 240 the network. The instruction allows the user to specify the Modbus Function Code, slave
2  250-1 station address, starting master and slave memory addresses, number of elements to transfer,
 260 Modbus data format and the Exception Response Buffer.
3
4
5
6
7
8
9
10
11 • Port Number: must be DL260 Port 2 (K2)
• Slave Address: specify a slave station address (0–247)

12 • Function Code: The following Modbus function codes are supported by the MWX instruction:
05 – Force Single coil

13 06 – Preset Single Register


08 – Diagnostics
14 15 – Force Multiple Coils
16 – Preset Multiple Registers
A • Start Slave Memory Address: specifies the starting slave memory address where the data will be
written.
B • Start Master Memory Address: specifies the starting address of the data in the master that is to
written to the slave.
• Number of Elements: specifies how many consecutive coils or registers will be written to. This field
C is only active when either function code 15 or 16 is selected.
• Modbus Data Format: specifies Modbus 584/984 or 484 data format to be used.
D • Exception Response Buffer: specifies the master memory address where the Exception Response
will be placed.

4–50 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

MWX Slave Memory Address


MWX Slave Address Ranges
1
Function Code Modbus Data Format Slave Address Range(s)
05 – Force Single Coil 484 Mode 1–999 2
05 – Force Single Coil 584/984 Mode 1–65535
06 – Preset Single Register 484 Mode 4001–4999
40001–49999 (5 digit) or
3
06 – Preset Single Register 584/984 Mode 400001–465535 (6 digit)
15 – Force Multiple Coils
15 – Force Multiple Coils
484
584/984 Mode
1–999
1–65535
4
16 – Preset Multiple Registers
16 – Preset Multiple Registers
484 Mode
584/984 Mode
4001–4999
40001–49999 (5 digit) or 5
4000001–465535 (6 digit)
6
MWX Master Memory Addresses
MRX Master Memory Address Ranges 7
Operand Data Type DL260 Range
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
X
Y
0–1777
0–1777
8
Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . C 0–3777
Stage Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 0–1777 9
Timer Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0–377
Counter Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Special Relays. . . . . . . . . . . . . . . . . . . . . . . . . . . .
CT
SP
0–377
0–777
10
V–memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V All (see page 3-56)
Global Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . GX 0–3777 11
Global Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . GY 0–3777
12
MWX Number of Elements
Number of Elements 13
Operand Data Type DL260 Range
V–memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
V
K
All (see page 3-56)
Bits: 1–2000 Registers: 1-125
14
MWX Exception Response Buffer A
Exception Response Buffer B
Operand Data Type DL260 Range
V–memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V All (see page 3-56)
C
D

DL205 User Manual, 4th Edition, Rev. A 4–51


Chapter 4: System Design and Configuration

MRX/MWX Example in DirectSOFT


1 DL260 port 2 has two Special Relay contacts associated with it (see Appendix D for comm
port special relays). One indicates “Port busy”(SP116), and the other indicates ”Port
Communication Error”(SP117). The “Port Busy” bit is on while the PLC communicates with
2 the slave. When the bit is off the program can initiate the next network request. The “Port
Communication Error” bit turns on when the PLC has detected an error and use of this bit is
3 optional. When used, it should be ahead of any network instruction boxes since the error bit
is reset when an MRX or MWX instruction is executed. Typically, network communications
will last longer than one CPU scan. The program must wait for the communications to finish
4 before starting the next transaction.
The “Port Communication Error” bit turns on when the PLC has detected an error. Use of
5 this bit is optional. When used, it should be ahead of any network instruction boxes since the
error bit is reset when an RX or WX instruction is executed.
6 Multiple Read and Write Interlocks
7 SP116 will execute every time it attempts to poll the network. You should see this
counting up as you enable the MWX and MRX instructions. Some things that would
prevent this: 1) Com Port RTS and CTS not jumpered. 2) Port not set up for Modbus
8 RTU. 3) Problem in logic that is not allowing the MWX or MRX to enable.

CNT
9 1
Port 2 busy bit
SP116
Number of times that
the PLC has tried to
poll network
10 _FirstScan
CTO
SP0
K9999
11 SP117 will come on when: 1) The slave device sends an "Exception Response." If this
occurs, look at the V-memory location associated with that instruction and consult the
12 MODICON Modbus manual for details. 2) Cabling problem. Consult wiring diagram in
user manual and verify. 3) Setting for communications are not matching. For example:
Baud rates, parities, stop bits all must match. 4) Polling a slave address number that
13 doesn't exist.
Under good conditions, SP116 will be counting up and SP117 will not. You will get an
occasional error in many field environments that introduce electrical/RF noise into the
14 application. Each application will dictate what allowable "percentage" of error is
acceptable. Anything below 10% typically does not affect the throughput very much.

CNT
A Port 2 error bit
SP117
2 Number of times that
B _FirstScan
the PLC has errored
CT1
SP0
K9999
C
D

4–52 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

If you are using multiple reads and writes in the RLL program, you need to interlock the
routines to make sure all the routines are executed. If you don’t use the interlocks, then the
CPU will only execute the first routine. This is because each port can only handle one 1
transaction at a time. In the example, rungs 3 and 4 show that C100 will get set after the RX
instruction has been executed. When the port has finished the communication task, the 2
second routine is executed and C100 is reset. If you’re using RLLPLUS Stage Programming,
you can put each routine in a separate program stage to ensure proper execution and switch
from stage to stage allowing only one of them to be active at a time.
3
4
This rung does a Modbus write to the first holding register 40001 of slave address number one.
5
It writes the values over that reside in V2000. This particular function code only writes to one
register. Use function code 16 to write to multiple registers. Only one Network Instruction
(WX, RX, MWX, MRX) can be enabled in one scan. That is the reason for the interlock bits. For using
6
many network instructions on the same port, use the Shift Register instruction.
Port 2 Busy bit
SP116
Instruction Interlock bit
C100 MWX 7
3 Port Number: K2
Slave Address: K1
Function Code: 06 - Preset Single Register
8
Start Slave Memory Address: 40001
Start Master Memory Address:
Number of Elements:
V2000
n/a
9
Modbus Data Type: 584/984 Mode
Exception Response Buffer:
Instruction interlock bit
V400
10
C100
( SET ) 11
This rung does a Modbus read from the first 32 coils of slave address number one.
It will place the values into 32 bits of the master starting at C0.
12
Port 2 Busy bit Instruction Interlock bit
4 SP116 C100 MRX
Port Number: K2
13
Slave Address: K1
Function Code: 01 - Read Coil Status
Start Slave Memory Address: 1
14
Start Master Memory Address: C0
Number of Elements:
Modbus Data Type:
32
584/984 Mode
A
Exception Response Buffer: V400
Instruction interlock bit B
C100
( RST )
C
D

DL205 User Manual, 4th Edition, Rev. A 4–53


Chapter 4: System Design and Configuration

Non–Sequence Protocol (ASCII In/Out and PRINT)


1
Configure the DL260 Port 2 for Non-Sequence
2 Configuring port 2 on the DL260 for Non–Sequence allows the CPU to use port 2 to either
read or write raw ASCII strings using the ASCII instructions. See the ASCII In/Out
 230 instructions and the PRINT instruction in chapter 5.
3  240 In DirectSOFT, choose the PLC menu, then “Setup Secondary Comm Port”.
 250-1 • Port: From the port number list box at the top, choose “Port 2”.
4  260 • Protocol: Click the check box to the left of “Non–Sequence”.

5
6
7
8
9
10
11
12 • Timeout: Amount of time the port will wait after it sends a message to get a response before logging
an error.
13 • RTS On Delay Time: The amount of time between raising the RTS line and sending the data.
• RTS Off Delay Time: The amount of time between resetting the RTS line after sending the data.
14 • Data Bits: Select either 7–bits or 8–bits to match the number of data bits specified for the
connected devices.
A • Baud Rate: The available baud rates include 300, 600, 900, 2400, 4800, 9600, 19200, and 38400
baud. Choose a higher baud rate initially, reverting to lower baud rates if you experience data errors
or noise problems on the network. Important: You must configure the baud rates of all devices on
B the network to the same value. Refer to the appropriate product manual for details.
• Stop Bits: Choose 1 or 2 stop bits to match the number of stop bits specified for the connected
C devices.
• Parity: Choose none, even, or odd parity for error checking. Be sure to match the parity specified
D for the connected devices.
• Memory Address: Starting V-memory address for ASCII In data storage.

4–54 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

• Xon/Xoff Flow Control: Choose this selection if you have port 2 wired for Hardware Flow Control
(Xon/Xoff ) with RTS and CTS signal connected between all devices.
• RTS Flow Control: Choose this selection if you have Port 2 RTS signal wired between all devices. 1
• Echo Suppression: Select the appropriate radio button based on the wiring configuration used on
port 2. 2
Then click the button indicated to send the Port configuration to the CPU, and click Close.
RS–485 Network 3
RS–485 signals are for long distances (1000 meters max.). Use termination resistors at both
ends of RS–485 network wiring, matching the impedance rating of the cable (between 100
and 500 ohms).
4
TXD+ / RXD+
Termination
Resistor
TXD+ / RXD+ 5
TXD– / RXD– TXD– / RXD–

Signal GND Signal GND


6
6
RXD–
ASCII Device 7
1 11
Cable: Use Belden
0V 7

TXD+ RXD+
RTS+

RTS–
9842 or equivalent 8
CTS+

CTS–
9
5 15
10
TXD– DL260 CPU Port 2 10
RS–232 Network
RS–232 signals are used for shorter distances (15 meters max) and limited to
11
communications between two devices.
12
Port 2 Pin Descriptions (DL260 only)
1
2
5V
TXD2
5 VDC
Transmit Data (RS-232)
13
3 RXD2 Receive Data (RS-232)

1
6
4 RTS2 Ready to Send (RS–232) 14
Signal GND 11 5 CTS2 Clear to Send (RS–232)
GND
RXD
TXD
2
7
6
7
RXD2–
0V
Receive Data – (RS–422/RS-485)
Logic Ground
A
8 0V Logic Ground
TXD

CTS
RXD
3

4 9 TXD2+ Transmit Data + (RS–422/RS–485) B


RTS
10 TXD2 – Transmit Data – (RS–422/RS–485)
RTS
CTS
5
10 15 11
12
RTS2 +
RTS2 –
Request to Send + (RS–422/RS–485)
Request to Send – (RS–422/RS–485)
C
13 RXD2 + Receive Data + (RS–422/RS–485)
ASCII Device CPU Port 2
14 CTS2 + Clear to Send + (RS-422/RS–485) D
15 CTS2 – Clear to Send – (RS–422/RS–485)

DL205 User Manual, 4th Edition, Rev. A 4–55


Chapter 4: System Design and Configuration

Configure the DL250-1 Port 2 for Non-Sequence


Configuring port 2 on the DL250–1 for Non–Sequence enables the CPU to use the PRINT
1  230 instruction to print embedded text or text/data variable message from port 2. See the PRINT
 240 instruction in chapter 5.
2  250-1 In DirectSOFT, choose the PLC menu, then “Setup Secondary Comm Port”.
 260 • Port: From the port number list box at the top, choose “Port 2”.
3 • Protocol: Click the check box to the left of “Non–Sequence”.

4
5
6
7
8
9
10
• Memory Address: Choose a V-memory address to use as the starting location for the port
11 setup parameters listed below. This location is the start of protocol memory buffer. It should
not be used for other purposes.
Buffer size = 2 + (Max receiving data size) / 2 or to allocate the maximum allowable space
12 buffer size = 66 Words (for example V2000-V2102).
• Use For Printing Only: Check the box to enable the port settings described below. Match
13 the settings to the connected device.
• Data Bits: Select either 7–bits or 8–bits to match the number of data bits specified for the
14 connected device.
• Baud Rate: The available baud rates include 300, 600, 900, 2400, 4800, 9600, 19200, and
A 38400 baud. Choose a higher baud rate initially, reverting to lower baud rates if you
experience data errors or noise problems on the network. Important: You must configure
the baud rates of all devices on the network to the same value. Refer to the appropriate
B product manual for details.
• Stop Bits: Choose 1 or 2 stop bits to match the number of stop bits specified for the
C connected device.
• Parity: Choose none, even, or odd parity for error checking. Be sure to match the parity
D specified for the connected device.
Then click the button indicated to send the Port configuration to the CPU, and click Close.

4–56 DL205 User Manual, 4th Edition, Rev. A


Chapter 4: System Design and Configuration

RS–422 Network
RS–422 signals are for long distances (1000 meters max.). Use termination resistors at both
ends of RS–422 network wiring, matching the impedance rating of the cable (between 100
1
and 500 ohms).
NOTE: For RS–422 cabling, we recommend Belden 8103 or equivalent.
2
3
RXD+
RXD–
4
ASCII TXD+
Slave
Device
TXD–
Signal GND
5
9 TXD+
10 TXD–
Termination
Resistor at 6
13 RXD+ both ends of
6 RXD–
11 RTS+
network
7
12 RTS–
PORT 2
14 CTS+
15 CTS–
7 0V
Master 8
9
RS–232 Network 10
RS–232 signals are used for shorter distances (15 meters max.) and limited to
communications between two devices. 11
NOTE: For RS–232 cabling, we recommend Belden 8102 or equivalent.
12
Port 2 Pin Descriptions (DL250-1)
6 1 5V 5 VDC 13
1
2 TXD2 Transmit Data (RS-232)

GND Signal GND


7
11 3
4
RXD2
RTS2
Receive Data (RS-232)
Ready to Send (RS–232)
14
RXD 2
TXD 5 CTS2 Clear to Send (RS–232)
TXD 3 6 RXD2– Receive Data – (RS–422) A
RXD 7 0V Logic Ground
CTS
RTS
4 8
9
0V
TXD2+
Logic Ground
Transmit Data + (RS–422)
B
RTS 5
CTS 10 15 10 TXD2 – Transmit Data – (RS–422)
11 RTS2 + Request to Send + (RS–422) C
ASCII Slave CPU Port 2 12 RTS2 – Request to Send – (RS–422)
ASCII Device
Device CPU Port 2
Master 13
14
RXD2 +
CTS2 +
Receive Data + (RS–422 )
Clear to Send + (RS422)
D
15 CTS2 – Clear to Send – (RS–422)

DL205 User Manual, 4th Edition, Rev. A 4–57


Chapter 4: System Design and Configuration

Notes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D

4–58 DL205 User Manual, 4th Edition, Rev. A


RLL AND INTELLIGENT CHAPTER
BOX INSTRUCTIONS
In This Chapter:
5
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–2
Using Boolean Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–5
Boolean Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–10
Comparative Boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–27
Immediate Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–33
Timer, Counter and Shift Register Instructions . . . . . . . . . . . . . . . .5–41
Accumulator/Stack Load and Output Data Instructions . . . . . . . . .5–53
Logical Instructions (Accumulator) . . . . . . . . . . . . . . . . . . . . . . . . .5–71
Math Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–88
Transcendental Functions (DL260 only) . . . . . . . . . . . . . . . . . . . .5–121
Bit Operation Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–123
Number Conversion Instructions (Accumulator) . . . . . . . . . . . . . .5–130
Table Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–144
Clock/Calendar Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–175
CPU Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–177
Program Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–179
Interrupt Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–187
Intelligent I/O Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–191
Network Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–193
Message Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–197
Modbus RTU Instructions (DL260) . . . . . . . . . . . . . . . . . . . . . . . .5–205
ASCII Instructions (DL260) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–211
Intelligent Box (IBox) Instructions (DL250-1/DL260 Only) . . . . . .5–230
Chapter 5: Standard RLL Instructions

Introduction
1 The DL205 CPUs offer a wide variety of instructions to perform many different types of
operations. There are several instructions that are not available in all of the CPUs. This
2 chapter shows you how to use these individual instructions. There are two ways to quickly
find the instruction you need.
3 • If you know the instruction category (Boolean, Comparative Boolean, etc.), use the header at the
top of the page to find the pages that discuss the instructions in that category.
• If you know the individual instruction name, use the following table to find the page that discusses
4 the instruction.

5 ACON
Instruction
ASCII Constant 5–199
Page
BIN
Instruction
Binary 5–130
Page

ACOSR Arc Cosine Real 5–122 BCALL Block Call (Stage) 7–27
6 ACRB ASCII Clear Buffer 5–229 BEND Block End (Stage) 7–27
ADD Add BCD 5–88 BLK Block (Stage) 7–27
7 ADDB
ADDBD
Add Binary
Add Binary Double
5–101
5–102
BTOR
CMP
Binary to Real
Compare
5–134
5–83
ADDBS Add Binary Top of Stack 5–117
8 ADDD Add Double BCD 5–89
CMPD
CMPF
Compare Double
Compare Formatted
5–84
5–85
ADDF Add Formatted 5–109 CMPR Compare Real Number 5–87
9 ADDR
ADDS
Add Real
Add Top of Stack
5–90
5–113
CMPS Compare Stack 5–86
CMPV ASCII Compare 5–221
AEX ASCII Extract 5–220
10 AFIND ASCII Find 5–217
CNT
COSR
Counter
Cosine Real
5–46
5–121
AIN ASCII IN 5–212
CV Converge (Stage) 7–25
11 AND
AND STR
And for contacts or boxes
And Store
5–14, 5–32, 5–71
5–16
CVJMP Converge Jump (Stage) 7–25
DATE Date 5–175
ANDB And Bit–of–Word 5–15
12 ANDD And Double 5–72
DEC
DECB
Decrement
Decrement Binary
5–100
5–108
ANDE And if Equal 5–29
DECO Decode 5–129
13 ANDF
ANDI
And Formatted
And Immediate
5–73
5–35
DEGR Degree Real Conversion 5–136
DISI Disable Interrupts 5–188
ANDMOV And Move 5–171
14 ANDN And Not 5–14, 5–32
DIV
DIVB
Divide
Divide Binary
5–97
5–106
ANDNB And Not Bit–of–Word 5–15
DIVBS Divide Binary Top of Stack 5–120
A ANDND
ANDNE
And Negative Differential
And if Not Equal
5–23
5–29 DIVD Divide Double 5–98
ANDNI And Not Immediate 5–35 DIVF Divide Formatted 5–112
B ANDPD And Positive Differential 5–23 DIVR Divide Real Number 5–99
ANDS And Stack 5–74 DIVS Divide Top of Stack 5–116

C ASINR
ATANR
Arc Sine Real
Arc Tangent Real
5–121
5–122
DLBL
DRUM
Data Label
Timed Drum
5–199
6–12
ATH ASCII to Hex 5–137 EDRUM Event Drum 6–14
D ATT Add to Top of Table 5–166 ENCO Encode 5–128
BCD Binary Coded Decimal 5–131 END End 5–177
BCDCPL Tens Complement 5–133 ENI Enable Interrupts 5–188

5–2 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions

Instruction Page Instruction Page


FAULT
FDGT
Fault
Find Greater Than
5-197
5-152
NJMP
NOP
Not Jump (Stage)
No Operation
7–24
5-177
1
FILL Fill 5–150 NOT Not 5–19
FIND Find 5–151 OR Or 5–12, 5–31, 5–75 2
FINDB Find Block 5–173 OR OUT Or Out 5–19
FOR
GOTO
For/Next
Goto/Label
5–180
5–179
OR OUTI
OR STR
Or Out Immediate
Or Store
5–36
5–16
3
GRAY Gray Code 5–141 ORB Or Bit–of–Word 5–13
GTS
HTA
Goto Subroutine
Hex to ASCII
5–182
5–138
ORD
ORE
Or Double
Or if Equal
5–76
5–28
4
INC Increment 5–100
INCB Increment Binary 5–107
ORF
ORI
Or Formatted
Or Immediate
5–77
5–34 5
INT Interrupt 5–187 ORMOV Or Move 5–171
INV
IRT
Invert
Interrupt Return
5–132
5–188
ORN
ORNB
Or Not
Or Not Bit–of–Word
5–12, 5–31
5–13
6
IRTC Interrupt Return Conditional 7–188 ORND Or Negative Differential 5–22
ISG
JMP
Initial Stage
Jump
7–24
5–24
ORNE Or if Not Equal 5–28 7
ORNI Or Not Immediate 5–34
LBL Label 5–179
LD Load 5–58
ORPD
ORS
Or Positive Differential
Or Stack
5–22
5–78
8
LDI Load Immediate 5–39
OUT Out 5–17, 5–65
LDIF
LDA
Load Immediate Formatted
Load Address
5–40
5-61
OUTB
OUTD
Out Bit–of–Word
Out Double
5–18
5–66
9
LDD Load Double 5–59
OUTF Out Formatted 5–67
LDF
LDR
Load Formatted
Load Real Number
5–60
5–64
OUTI Out Immediate 5–36 10
OUTIF Out Immediate Formatted 5–37
LDX Load Indexed 5–62
LDLBL Load Label 5–145
OUTL
OUTM
Out Least
Out Most
5–69
5–69
11
LDSX Load Indexed from Constant 5–63
OUTX Out Indexed 5–68
MDRMD
MDRMW
Masked Drum Event Discrete
Masked Drum Event Word
6–19
6–21 PAUSE Pause 5–26 12
MLR Master Line Reset 5–185 PD Positive Differential 5–20
MLS
MOV
Master Line Set
Move
5–185
5–144
POP
PRINT
Pop
Print
5–70
5–201 13
MOVMC Move Memory Cartridge 5–145 PRINTV ASCII Print from V–Memory 5–227
MRX
MWX
Read from MODBUS Network
Write to MODBUS
5–205
5–208
RADR
RD
Radian Real Conversion
Read from Intelligent Module
5–136
5–191
14
RFB Remove from Bottom of Table 5–157
MUL
MULB
Multiply
Multiply Binary
5–94
5–105 RFT Remove from Top of Table 5–163 A
MULBS Multiply Binary top of stack 5–119 ROTL Rotate Left 5–126
MULD
MULF
Multiply Double
Multiply Formatted
5–95
5–111
ROTR
RST
Rotate Right
Reset
5–127
5–24
B
MULR Multiply Real 5–96 RSTB Reset Bit–of–Word 5–25
MULS
NCON
Multiply Top of Stack
Numeric Constand
5–115
5–199
RSTBIT
RSTI
Reset Bit
Reset Immediate
5–148
5–38
C
NEXT Next (For/Next) 5–180 RSTWT Reset Watch Dog Timer 5–178
D

DL205 User Manual, 4th Edition, Rev. A 5–3


Chapter 5: Standard RLL Instructions

Instruction Page Instruction Page


1 RT Subroutine Return 5–182 SUB Subtract 5–91
RTC Subroutine Return Conditional 5–182 SUBB Subtract Binary 5–103
2 RTOB
RX
Real to Binary
Read from Network
5–135
5–193
SUBBD
SUBBS
Subtract Binary Double
Subtract Binary Top of Stack
5–104
5–118
SBR Subroutine (Goto Subroutine) 5–182
3 SEG Segment 5–140
SUBD
SUBF
Subtract Double
Subtract Formatted
5–92
5–110
SET Set 5–24 SUBS Subtract Top of Stack 5–114
4 SETB
SETBIT
Set Bit–of–Word
Set Bit
5–25
5–148
SUBR
SUM
Subtract Real Number
Sum
5–93
5–123
SETI Set Immediate 5–38
5 SFLDGT Shuffle Digits 5–142
SWAP
SWAPB
Swap Table Data
ASCII Swap Bytes
5–174
5–228
SG Stage 7–23 TANR Tangent Real 5–121
6 SGCNT
SHFL
Stage Counter
Shift Left
5–48
5–124
TIME
TMR
Time
Timer
5–176
5–42
SHFR Shift Right 5–125
7 SINR Sine Real 5–121
TMRF
TMRA
Fast Timer
Accumulating Timer
5–42
5–44
SQRTR Square Root Real 5–122 TMRAF Fast Accumulating Timer 5–44
8 SR
STOP
Shift Register
Stop
5–52
5–177
TSHFL
TSHFR
Table Shift Left
Table Shift Right
5–169
5–169
STR Store 5–10, 5–30
9 STRB Store Bit–of–Word 5–11
TTD
UDC
Table to Destination
Up Down Counter
5–154
5–50
STRE Store if Equal 5–27 VPRINT ASCII Print to V–Memory 5–222
10 STRI
STRN
Store Immediate
Store Not
5–33
5–10, 5–30
WT
WX
Write to Intelligent Module
Write to Network
5–192
5–195
STRNB Store Not Bit–of–Word 5–11
11 STRND Store Negative Differential 5–21
XOR
XORD
Exclusive Or
Exclusive Or Double
5–79
5–80
STRNE Store if Not Equal 5–27 XORF Exclusive Or Formatted 5–81
12 STRNI
STRPD
Store Not Immediate
Store Positive Differential
5–33
5–21
XORMOV
XORS
Exclusive Or Move
Exclusive Or Stack
5–171
5–82
STT Source to Table 5–160
13
14
A
B
C
D

5–4 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Boolean

Using Boolean Instructions


Do you ever wonder why so many PLC manufacturers always quote the scan time for a 1K 1
boolean program? Simple. Most all programs utilize many boolean instructions. These are
typically very simple instructions designed to join input and output contacts in various series
and parallel combinations. Our DirectSOFT programming package is a similar program. It
2
uses graphic symbols to develop a program; therefore, you don’t necessarily have to know the
instruction mnemonics in order to develop your program. 3
Many of the instructions in this chapter are not program instructions used in DirectSOFT,
but are implied. In other words, they are not actually keyboard commands, however, they can 4
be seen in a Mnemonic View of the program once the DirectSOFT program has been
developed and accepted (compiled). Each instruction listed in this chapter will have a small
chart to indicate how the instruction is used with DirectSOFT and the HPP.
5
DS
HPP
Implied
Used
6
The following paragraphs show how these instructions are used to build simple ladder
programs.
7
END Statement 8
All DL205 programs require an END statement as the last instruction. This tells the CPU
that this is the end of the program. Normally, any instructions placed after the END
statement will not be executed. There are exceptions to this such as interrupt routines, etc.
9
Chapter 5 discusses the instruction set in detail.
DirectSOFT Example
10
X0 Y0

All programs must have


OUT
11
an END statement
END 12
Simple Rungs 13
You use a contact to start rungs that contain both contacts and coils. The boolean instruction
that does this is called a Store or, STR instruction. The output point is represented by the
Output or, OUT instruction. The following example shows how to enter a single contact and
14
a single output coil.
DirectSOFT Example Handheld Mnemonics
A
X0 Y0
OUT
STR X0
OUT Y0
END
B
C
END

DL205 User Manual, 4th Edition, Rev. A 5–5


Chapter 5: Standard RLL Instructions - Boolean

Normally Closed Contact


1 Normally closed contacts are also very common. This is accomplished with the Store Not, or
STRN instruction. The following example shows a simple rung with a normally closed
contact.
2
DirectSOFT Example Handheld Mnemonics
3 X0 Y0 STRN X0
OUT OUT Y0

4 END

END
5
Contacts in Series
6 Use the AND instruction to join two or more contacts in series. The following example shows
two contacts in series and a single output coil. The instructions used would be STR X0, AND
7 X1, followed by OUT Y0.
DirectSOFT Example Handheld Mnemonics
8 X0 X1 Y0 STR X0
AND X1
OUT OUT Y0
9 END

END
10
Midline Outputs
11 Sometimes it is necessary to use midline outputs to get additional outputs that are conditional
on other contacts. The following example shows how you can use the AND instruction to
12 continue a rung with more conditional outputs.

13 DirectSOFT Example Handheld Mnemonics


STR X0
14 X0 X1
OUT
Y0
AND X1
OUT Y0
AND X2
A X2
OUT
Y1 OUT Y1
AND X3
OUT Y2
B X3 Y2
END

OUT
C
END
D

5–6 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Boolean

Parallel Elements
You may also have to join contacts in parallel. The OR instruction allows you to do this. The
following example shows two contacts in parallel and a single output coil. The instructions
1
would be STR X0, OR X1, followed by OUT Y0.
DirectSOFT Example Handheld Mnemonics
2
X0 Y0
OUT
STR X0
OR X1 3
OUT Y0
X1 END
4
END
5
Joining Series Branches in Parallel
Quite often it is necessary to join several groups of series elements in parallel. The Or Store 6
(ORSTR) instruction allows this operation. The following example shows a simple network
consisting of series elements joined in parallel.
DirectSOFT Example Handheld Mnemonics
7
X0 X1 Y0
OUT
STR X0
AND X1
8
STR X2
X2 X3 AND X3
ORSTR
OUT Y0
9
END END
10
Joining Parallel Branches in Series
You can also join one or more parallel branches in series. The And Store (ANDSTR) 11
instruction allows this operation. The following example shows a simple network with contact
branches in series with parallel contacts. 12
DirectSOFT Example Handheld Mnemonics
X0 X1 Y0
OUT
STR X0
STR X1
13
OR X2
X2 ANDSTR
OUT Y0
END
14
END
A
Combination Networks X0 X2 X5 Y0

You can combine the various types of OUT B


series and parallel branches to solve most X1 X3 X4
any application problem. The following C
example shows a simple combination
X6
network. D
END

DL205 User Manual, 4th Edition, Rev. A 5–7


Chapter 5: Standard RLL Instructions - Boolean

Comparative Boolean
1 Some PLC manufacturers make it really difficult to do a simple comparison of two numbers.
Some of them require you to move the data all over the place before you can actually perform
the comparison. The DL205 Micro PLCs provide Comparative Boolean instructions that
2 allow you to quickly and easily solve this problem. The Comparative Boolean provides
evaluation of two 4-digit values using boolean contacts. The valid evaluations are: equal to,
3 not equal to, equal to or greater than, and less than.
V1400 K1234 Y3
In the example when the BCD value in V-memory
4 location V1400 is equal to the constant value 1234,
Y3 will energize.
OUT

5 Boolean Stack
There are limits to how many elements you can include in a rung. This is because the DL205
CPUs use an 8-level boolean stack to evaluate the various logic elements. The boolean stack is
6 a temporary storage area that solves the logic for the rung. Each time you enter a STR
instruction, the instruction is placed on the top of the boolean stack. Any other STR
7 instructions on the boolean stack are pushed down a level. The ANDSTR, and ORSTR
instructions combine levels of the boolean stack when they are encountered. Since the
8 boolean stack is only eight levels, an error will occur if the CPU encounters a rung that uses
more than the eight levels of the boolean stack.
The following example shows how the boolean stack is used to solve boolean logic.
9
10 STR
X0
STR
X1 ORSTR AND X4 Y0
OUT Output

11 STR
X2 AND X3
ANDSTR

12 X5 OR

13 STR X0
1 STR X0 1
STR X1
STR X1 1
STR X2
STR X2
AND X3
1 STR X2

14 2
3
2
3
STR X0 2
3
STR X1
STR X0
2
3
STR X1
STR X0
4 4 4 4

A ORSTR AND X4 ORNOT X5


1 X1 or (X2 AND X3) 1 X4 AND {X1 or (X2 AND X3)} 1 NOT X5 OR X4 AND {X1 OR (X2 AND X3)}
B 2
3
STR X0 2
3
STR X0 2
3
STR X0

C ANDSTR
1 XO AND (NOT X5 or X4) AND {X1 or (X2 AND X3)}

D 2
3

5–8 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Boolean

Immediate Boolean
The DL205 Micro PLCs can usually complete an operation cycle in a matter of milliseconds.
However, in some applications you may not be able to wait a few milliseconds until the next
1
I/O update occurs. The DL205 PLCs offer Immediate input and outputs which are special
boolean instructions that allow reading directly from inputs and writing directly to outputs 2
during the program execution portion of the CPU cycle. You may recall that this is normally
done during the input or output update portion of the CPU cycle. The immediate
instructions take longer to execute because the program execution is interrupted while the
3
CPU reads or writes the I/O point. This function is not normally done until the read inputs
or the write outputs portion of the CPU cycle. 4
NOTE: Even though the immediate input instruction reads the most current status from the input point, it
only uses the results to solve that one instruction. It does not use the new status to update the image
5
register. Therefore, any regular instructions that follow will still use the image register values. Any
immediate instructions that follow will access the I/O again to update the status. The immediate output
instruction will write the status to the I/O and update the image register.
6
7
X0
_
X7
X10
_
X17
X20
_
X27
X30
_
Y0
_
Y7
Y10
_
Y17
Y20
_
Y27
Y30
_
8
X37 Y37

9
CPU Scan
Th eCPU reads the inputs from
10
the local base and stores the
Read Inputs
status in an input image
register . 11
X128 ... X2 X1 X0
OFF ... ON OFF OFF
Input Image Register
OFF
OFF
X0
X1
12
Read Inputs from Specialty I/O
13
Solve the Application Program
Immediate instruction does
14
not use the input image
X0
I
Y0 register , but instead reads the
status from the module
immediately. I/O Point X0 Changes A
ON
OFF
X0
X1
B
Write Outputs

Write Outputs to Specialty I/O


C
Diagnostics D

DL205 User Manual, 4th Edition, Rev. A 5–9


Chapter 5: Standard RLL Instructions - Boolean

Boolean Instructions
1
Store (STR)
2  230 The Store instruction begins a new rung or an
additional branch in a rung with a normally open Aaaa
 240 contact. Status of the contact will be the same state as
3  250-1 the associated image register point or memory
 260 location.
4 Store Not (STRN)
5  230 The Store Not instruction begins a new rung or an
additional branch in a rung with a normally closed Aaaa
 240 contact. Status of the contact will be opposite the state
6  250-1 of the associated image register point or memory
 260 location.
7 Operand Data Type DL230 Range DL240 Range DL250–1 Range DL260 Range
A aaa aaa aaa aaa
8 Inputs
Outputs
X
Y
0 – 177
0 – 177
0 – 477
0 – 477
0 – 777
0 – 777
0 – 1777
0 – 1777

9 Control Relays
Stage
C
S
0 – 377
0 – 377
0 – 377
0 – 777
0 – 1777
0 – 1777
0 – 3777
0 – 1777
Timer T 0 – 77 0 – 177 0 – 377 0 – 377
10 Counter
Special Relay
CT
SP
0 – 77
0 – 117, 540 – 577
0 – 177
0 – 137 540 – 617
0 – 177
0 – 777
0 – 377
0 – 777

11 Global
Global
GX
GY






0 –3777
0 – 3777
In the following Store example, when input X1 is on output Y2 will energize.
12 DS Used
HPP Used DirectSOFT Handheld Programmer Keystrokes

13 X1 Y2 $
STR
B
1
ENT
OUT
GX C
14 OUT 2
ENT

A
B In the following Store Not example, when input X1 is off output Y2 will energize.
DirectSOFT Handheld Programmer Keystrokes

C X1 Y2

OUT
SP
STRN
B
1
ENT

GX C ENT
D OUT 2

5–10 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Boolean

Store Bit-of-Word (STRB)


 230 The Store Bit-of-Word instruction begins a new rung 1
 240 or an additional branch in a rung with a normally open Aaaa.bb
 250-1 contact. Status of the contact will be the same state as
2
 260 the bit referenced in the associated memory location.
Store Not Bit-of-Word (STRNB)
 230 The Store Not instruction begins a new rung or an 3
 240 additional branch in a rung with a normally closed Aaaa.bb
 250-1 contact. Status of the contact will be opposite the state 4
 260 of the bit referenced in the associated memory
location.
5
Operand Data Type DL250-1 Range DL260 Range
A aaa bb aaa bb 6
V-memory B See page
memory map BCD, 0 to 15 See memory map BCD, 0 to 15
3-55 page 3-56
Pointer PB See page
memory map BCD, 0 to 15 See memory map BCD, 0 to 15
3-55 page 3-56
7
In the following Store Bit-of-Word example, when bit 12 of V-memory location V1400 is on,
output Y2 will energize.
8
DS
HPP
Used
Used
DirectSOFT

B1400.12 Y2
9
OUT
10
Handheld Programmer Keystrokes
11
STR SHFT B V 1 4 0 0 12
K 1 2 ENT

OUT 2 ENT 13
In the following Store Not Bit-of-Word example, when bit 12 of V-memory location V1400
is off, output Y2 will energize. 14
DirectSOFT
B1400.12 Y2 A
OUT

B
Handheld Programmer Keystrokes C
STRN SHFT

K
B

1 2
V

ENT
1 4 0 0
D
OUT 2 ENT

DL205 User Manual, 4th Edition, Rev. A 5–11


Chapter 5: Standard RLL Instructions - Boolean

Or (OR)
1  230 The Or instruction logically ors a normally open
 240 contact in parallel with another contact in a rung. The
Aaaa
2  250-1 status of the contact will be the same state as the
associated image register point or memory location.
 260
Or Not (ORN)
3  230 The Or Not instruction logically ors a normally closed
contact in parallel with another contact in a rung. The
4  240 status of the contact will be opposite the state of the
Aaaa
 250-1 associated image register point or memory location.
 260
5 Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
6 Inputs
A
X
aaa
0-177
aaa
0-477
aaa
0-777
aaa
0-1777
Outputs Y 0-177 0-477 0-777 0-1777
7 Control Relays C 0–377 0–377 0–1777 0–3777
Stage S 0–377 0–777 0–1777 0–1777
8 Timer
Counter
T
CT
0–77
0–77
0–177
0–177
0–377
0–177
0–377
0–377
Special Relay SP 0-117, 540-577 0-137, 540-617 0-137, 540-717 0-137, 540-717
9 Global GX - - - 0-3777
Global GY - - - 0-3777
10 In the following Or example, when input X1 or X2 is on, output Y5 will energize.

11 DS Implied DirectSOFT Handheld Programmer Keystrokes


HPP Used
12 X1 Y5

OUT
$
STR
B
1
ENT

Q C ENT
13 X2
GX
OR
F
2

ENT
OUT 5

14
In the following Or Not example, when input X1 is on or X2 is off, output Y5 will energize.
A
DirectSOFT Handheld Programmer Keystrokes

B X1 Y5 $
STR
B
1
ENT
OUT

C X2
R
ORN
C
2
ENT

GX F ENT

D OUT 5

5–12 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Boolean

Or Bit-of-Word (ORB)
 230 The Or Bit-of-Word instruction logically ors a 1
 240 normally open Bit-of-Word contact in parallel with Aaaa.bb
 250-1 another contact in a rung. Status of the contact will be
2
 260 the same state as the bit referenced in the associated
memory location.
Or Not Bit-of-Word (ORNB) 3
 230 The Or Not Bit-of-Word instruction logically ors a
 240 normally closed Bit-of-Word contact in parallel with Aaaa.bb 4
 250-1 another contact in a rung. Status of the contact will be
 260 opposite the state of the bit referenced in the associated
memory location.
5
Operand Data Type DL250-1 Range DL260 Range 6
A aaa bb aaa bb
V-memory B See page
memory map BCD, 0 to 15 See memory map BCD, 0 to 15
3-55 page 3-56 7
Pointer PB See memory map BCD, 0 to 15 See memory map BCD, 0 to 15
page 3-55 page 3-56
In the following Or Bit-of-Word example, when input X1 or bit 7 of V1400 is on, output Y7
8
will energize.
DS Implied
9
X1 Y7
HPP Used OUT
10
B1400.7

Handheld Programmer Keystrokes


11
STR 1 ENT

OR SHFT B V 1 4 0 0 12
K 7 ENT

OUT 7 ENT
13
In the following Or Not Bit-of-Word example, when input X1 is on or bit 7 of V1400 is off,
output Y7 will energize. 14
DirectSOFT

X1 Y7
A
B1400.7
OUT
B
Handheld Programmer Keystrokes

STR 1 ENT
C
ORN SHFT

K
B

7 ENT
V 1 4 0 0
D
OUT 7 ENT

DL205 User Manual, 4th Edition, Rev. A 5–13


Chapter 5: Standard RLL Instructions - Boolean

And (AND)
1  230 The And instruction logically ands a normally open Aaaa

 240 contact in series with another contact in a rung. The


status of the contact will be the same state as the
2  250-1 associated image register point or memory location.
 260
And Not (ANDN)
3 The And Not instruction logically ands a normally Aaaa
 230 closed contact in series with another contact in a rung.
4  240 The status of the contact will be opposite the state of
 250-1 the associated image register point or memory location.
 260
5
Operand Data Type DL230 Range DL240 Range DL250-1 DL260 Range
6 Inputs
A
X
aaa
0–177
aaa
0–477
aaa
0–777
aaa
0–1777
Outputs Y 0–177 0–477 0–777 0–1777
7 Control Relays C 0–377 0–377 0–1777 0–3777
Stage S 0–377 0–777 0–1777 0–1777
8 Timer
Counter
T
CT
0–77
0–77
0–177
0–177
0–377
0–177
0–377
0–377
Special Relay SP 0-117, 540-577 0-137, 540-617 0-137, 540-717 0-137, 540-717
9 Global GX - - - 0-3777
Global GY - - - 0-3777
10 In the following And example, when input X1 and X2 are on output Y5 will energize.

11 DS Implied
HPP Used
DirectSOFT Handheld Programmer Keystrokes

X1 X2 Y5 $ B
12 OUT
V
STR
C
1
ENT

ENT
AND 2

13 GX
OUT
F
5
ENT

14
In the following And Not example, when input X1 is on and X2 is off output Y5 will
A energize.

B DirectSOFT

X1 X2 Y5
Handheld Programmer Keystrokes

$ B ENT
STR 1
C OUT
W
ANDN
C
2
ENT

D GX
OUT
F
5
ENT

5–14 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Boolean

AND Bit-of-Word (ANDB)


 230 The And Bit-of-Word instruction logically ands a Aaaa.bb 1
 240 normally open contact in series with another contact in
 250-1 a rung. The status of the contact will be the same state
2
 260 as the bit referenced in the associated memory location.
And Not Bit-of-Word (ANDNB)
 230 The And Not Bit-of-Word instruction logically ands a Aaaa.bb 3
 normally closed contact in series with another contact in

240
250-1 a rung. The status of the contact will be opposite the 4
state of the bit referenced in the associated memory
 260
location.
Operand Data Type DL250-1 Range DL260 Range
5
V-memory
A
B See page
aaa
memory map
bb
BCD, 0 to 15
aaa
See memory map
bb
BCD, 0 to 15
6
3-55 page 3-56
Pointer PB See memory
page 3-55
map BCD See memory map
page 3-56 BCD 7
In the following And Bit-of-Word example, when input X1 and bit 4 of V1400 is on output
DirectSOFT
8
DS Implied
HPP Used X1 B1400.4

OUT
Y5
9
10
Handheld Programmer Keystrokes

STR 1 ENT 11
AND SHFT B V 1 4 0 0

K 4 ENT 12
OUT 5 ENT

Y5 will energize. 13
In the following And Not Bit-of-Word example, when input X1 is on and bit 4 of V1400 is
off output Y5 will energize. 14
DirectSOFT

X1 B1400.4 Y5 A
OUT

B
Handheld Programmer Keystrokes

STR 1 ENT
C
ANDN SHFT

K
B

4 ENT
V 1 4 0 0
D
OUT 5 ENT

DL205 User Manual, 4th Edition, Rev. A 5–15


Chapter 5: Standard RLL Instructions - Boolean

And Store (ANDSTR)


1  230 The And Store instruction logically ands two
branches of a rung in series. Both branches must
OUT

 240 begin with the Store instruction.


1 2
2  250-1
 260
In the following And Store example, the branch consisting of contacts X2, X3, and X4 have
3 been anded with the branch consisting of contact X1.

4 DS Implied
HPP Used
DirectSOFT

X1 X2 X3 Y5
Handheld Programmer Keystrokes

$ B ENT
STR 1
5 OUT
$
STR
C
2
ENT
X4

6 V
AND
D
3
ENT

Q E
ENT
OR 4
7 L
ANDST
ENT

8 GX
OUT
F
5
ENT

9
Or Store (ORSTR)
10  230 The Or Store instruction logically ors two branches
1
OUT
 240 of a rung in parallel. Both branches must begin with
11  250-1 the Store instruction. 2
 260
12
In the following Or Store example, the branch consisting of X1 and X2 have been ored with
13 the branch consisting of X3 and X4.

14 DS Implied
HPP Used DirectSOFT Handheld Programmer Keystrokes

A X1 X2 Y5

OUT
$
STR
B
1
ENT

V C
B X3 X4
$
AND
D
2
ENT

ENT
STR 3

C V
AND
E
4
ENT

M
D ORST
GX
ENT

F ENT
OUT 5

5–16 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL - Boolean

Out (OUT)
 230 The Out instruction reflects the status of the rung
(on/off ) and outputs the discrete (on/off ) state to
1
 240 the specified image register point or memory
 250-1 location. Multiple Out instructions referencing the
Aaaa
OUT 2
 260 same discrete location should not be used since only
the last Out instruction in the program will control
the physical output point. Instead, use the next
3
instruction, the Or Out.
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
4
A aaa aaa aaa aaa
Inputs X 0–177 0–477 0–777 0–1777 5
Outputs Y 0–177 0–477 0–777 0–1777
Control Relays
Global
C
GX
0–377
-
0–377
-
0–1777
-
0–3777
0–3777
6
Global GY - - - 0–3777
7
In the following Out example, when input X1 is on, output Y2 and Y5 will energize.
DS Used DirectSOFT Handheld Programmer Keystrokes 8
X1
HPP Used Y2 $ B
OUT
GX
STR
C
1
ENT

ENT
9
OUT 2
Y5

OUT
GX
OUT
F
5
ENT 10
In the following Out example the program contains two Out instructions using the same
location (Y10). The physical output of Y10 is ultimately controlled by the last rung of logic
11
referencing Y10. X1 will override the Y10 output being controlled by X0. To avoid this
situation, multiple outputs using the same location should not be used in programming. If 12
you need to have an output controlled by multiple inputs see the OROUT instruction on
page 5–19. 13
X0 Y10

OUT 14
A
B
X1

OUT
Y10 C
D

DL205 User Manual, 4th Edition, Rev. A 5–17


Chapter 5: Standard RLL Instructions - Boolean

Out Bit-of-Word (OUTB)


1  230
The Out Bit-of-Word instruction reflects the status of
the rung (on/off ) and outputs the discrete (on/off ) state Aaaa.bb

2  240 to the specified bit in the referenced memory location. OUT

 250-1 Multiple Out Bit-of-Word instructions referencing the


same bit of the same word generally should not be used
3  260 since only the last Out instruction in the program will
control the status of the bit.
4 Operand Data Type DL250-1 Range DL260 Range
A aaa bb aaa bb
5 V-memory B See page
memory map
3-55 BCD, 0 to 15 See memory map
page 3-56 BCD, 0 to 15

Pointer PB See page


memory map
3-55 BCD See memory map
page 3-56 BCD
6 In the following Out Bit-of-Word example, when input X1 is on, bit 3 of V1400 and bit 6 of
V1401 will turn on.
7 DS Used DirectSOFT

X1
HPP Used B1400.3

8 OUT

B1401.6
9 Handheld Programmer Keystrokes
OUT

STR 1 ENT
10 OUT SHFT B V 1 4 0 0

K 3 ENT

11 OUT SHFT B V 1 4 0 1

K 6 ENT

12 The following Out Bit-of-Word example contains two Out Bit-of-Word instructions using
the same bit in the same memory word. The final state bit 3 of V1400 is ultimately controlled
13 by the last rung of logic referencing it. X1 will override the logic state controlled by X0. To
avoid this situation, multiple outputs using the same location must not be used in
programming.
14 X0 B1400.3

A OUT

B
C X1 B1400.3

OUT

5–18 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Boolean

Or Out (OROUT)
 230
The Or Out instruction allows more than one rung of discrete
logic to control a single output. Multiple Or Out instructions
A aaa 1
 240 referencing the same output coil may be used, since all
OR OUT

 250-1 contacts controlling the output are logically ORed together. If 2


 260 the status of any rung is on, the output will also be on.

Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
3
Inputs
A
X
aaa
0–177
aaa
0–477
aaa
0–777
aaa
0–1777
4
Outputs Y 0-177 0-477 0-777 0-1777
Control Relays C 0–377 0–377 0–1777 0–3777 5
Global GX - - - 0–3777
Global GY - - - 0–3777
6
In the following example, when X1 or X4 is on, Y2 will energize.
DS
HPP
Used
Used DirectSOFT Handheld Programmer Keystrokes 7
X1 Y2
$ B
OR OUT
O
STR
D F
1
ENT

ENT ENT C ENT


8
INST# 3 5 2

X4
$
STR
E
4
ENT 9
Y2 O D F C
ENT ENT ENT
OR OUT
INST# 3 5 2
10
11
 230 Not (NOT)
The Not instruction inverts the status of the rung at
 240 the point of the instruction. 12
 250-1
 260 In the following example when X1 is off, Y2 will energize. This is because the Not instruction 13
inverts the status of the rung at the Not instruction.
DS Used DirectSOFT Handheld Programmer Keystrokes
14
HPP Used X1 $ B
Y2

OUT
STR
N O
1
ENT

T
A
SHFT ENT
TMR INST# MLR
GX
OUT
C
2
ENT
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–19


Chapter 5: Standard RLL Instructions - Boolean

Positive Differential (PD)


1  230 The Positive Differential instruction is typically
known as a one shot. When the input logic
A aaa

 240 produces an off to on transition, the output will


PD

2  250-1 energize for one CPU scan.


 260
3
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
4 A aaa aaa aaa aaa
Inputs X 0–177 0–477 0–777 0–1777
5 Outputs
Control Relays
Y
C
0–177
0–377
0–477
0–377
0–777
0–1777
0–1777
0–3777

6
In the following example, every time X1 makes an off to on transition, C0 will energize for
7 one scan.
DS Used
8 HPP Used
DirectSOFT Handheld Programmer Keystrokes

9 X1 C0

PD
$
STR
B
1
ENT

SHFT P SHFT D A ENT


10 CV 3 0

11
12 NOTE: To generate a “one–shot” pulse on an on–to–off transition, place a NOT instruction immediately
before the PD instruction. The DL250–1 and DL260 CPUs support the STRND instruction.

13
14
A
B
C
D

5–20 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Boolean

Store Positive Differential (STRPD)


 230 The Store Positive Differential instruction begins a
new rung or an additional branch in a rung with a
Aaaa 1
 240 contact. The contact closes for one CPU scan when
 250-1 the state of the associated image register point makes 2
 260 an Off-to-On transition. Thereafter, the contact
remains open until the next Off-to-On transition (the
symbol inside the contact represents the transition). This function is sometimes called a “one-
3
shot”. 'This contact will also close on a program-to-run transition if it is within a retentative
range and on before the PLC mode transition. 4
Store Negative Differential (STRND)
 230 The Store Negative Differential instruction begins a
5
 240 new rung or an additional branch in a rung with a
 250-1 contact. The contact closes for one CPU scan when Aaaa 6
 260 the state of the associated image register point makes
an On-to-Off transition. Thereafter, the contact
remains open until the next On-to-Off transition
7
(the symbol inside the contact represents the
transition). 8
Operand Data Type DL250-1 Range DL260 Range
A aaa aaa
9
Inputs X 0–777 0–1777
Outputs Y 0–777 0–1777 10
Control Relays C 0–1777 0–3777
Stage
Timer
S
T
0–1777
0–377
0–1777
0–377
11
Counter CT 0–177 0–377
Global GX – 0–3777 12
Global GY – 0–3777

In the following example, each time X1 is makes an Off-to-On transition, Y4 will energize for 13
DS Used one scan.
HPP Used 14
DirectSOFT Handheld Programmer Keystrokes

X1 Y4

OUT
$
STR
SHFT P
CV
D
3
B
1
ENT A
GX E ENT
OUT 4

In the following example, each time X1 is makes an On-to-Off transition, Y4 will energize for
B
one scan.
DirectSOFT Handheld Programmer Keystrokes
C
$ N D B
X1 Y4

OUT GX
STR
SHFT

E
TMR

ENT
3 1
ENT
D
OUT 4

DL205 User Manual, 4th Edition, Rev. A 5–21


Chapter 5: Standard RLL Instructions - Boolean

Or Positive Differential (ORPD)


1  230 The Or Positive Differential instruction logically ORs a
contact in parallel with another contact in a rung. The status Aaaa
 240 of the contact will be open until the associated image register
2  250-1 point makes an Off-to-On transition, closing it for one CPU

3  260 scan. Thereafter, it remains open until another Off-to-On


transition.
Or Negative Differential (ORND)
4  230 The Or Negative Differential instruction logically ORs a Aaaa
contact in parallel with another contact in a rung. The status
5  240 of the contact will be open until the associated image register
 250-1 point makes an On-to-Off transition, closing it for one CPU
 260
scan. Thereafter, it remains open until another On-to-Off
6 transition.
Operand Data Type DL250-1 Range DL260 Range
7 A aaa aaa
Inputs X 0–777 0–1777
8 Outputs
Control Relays
Y
C
0–777
0–1777
0–1777
0–3777
Stage S 0–1777 0–1777
9 Timer T 0–377 0–377
Counter CT 0–177 0–377
10 Global
Global
GX
GY


0–3777
0–3777

11 In the following example, Y 5 will energize whenever X1 is on, or for one CPU scan when X2
transitions from Off to On.
12 DS Implied
HPP Used

13 DirectSOFT

X1 Y5
Handheld Programmer Keystrokes
$ B ENT
STR 1

14 OUT Q
OR
SHFT P
CV
D
3
C
2
ENT

X2 GX F
ENT
OUT 5
A
In the following example, Y 5 will energize whenever X1 is on, or for one CPU scan when X2
B transitions from On to Off.
DirectSOFT Handheld Programmer Keystrokes

C X1 Y5
$
STR
B
1
ENT

OUT Q N D C
SHFT ENT
D X2 GX
OUT
OR
F
TMR

5
ENT
3 2

5–22 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Boolean

And Positive Differential (ANDPD)


 230
The And Positive Differential instruction logically
ANDs a normally open contact in series with another
Aaaa 1
 240 contact in a rung. The status of the contact will be open
2
 250-1 until the associated image register point makes an Off-
to-On transition, closing it for one CPU scan.
 260 Thereafter, it remains open until another Off-to-On 3
transition.
And Negative Differential (ANDND) Aaaa 4
The And Negative Differential instruction logically
 230 ANDs a normally open contact in series with another
5
 240 contact in a rung.The status of the contact will be open
until the associated image register point makes an On-
 250-1 to-Off transition, closing it for one CPU scan. Thereafter, it remains open until another On- 6
 260 to-Off transition.
Operand Data Type DL250-1 Range DL260 Range 7
A aaa aaa
Inputs
Outputs
X
Y
0–777
0–777
0–1777
0–1777
8
Control Relays C 0–1777 0–3777
Stage S 0–1777 0–1777 9
Timer T 0–377 0–377
Counter
Global
CT
GX
0–177

0–377
0–3777
10
Global GY – 0–3777
11
In the following example, Y5 will energize for one CPU scan whenever X1 is on and X2
transitions from Off to On. 12
DS Implied
HPP Used
DirectSOFT Handheld Programmer Keystrokes
13
$ B ENT
X1 X2 Y5

OUT V
STR

SHFT P
1
D C ENT
14
AND CV 3 2
GX
OUT
F
5
ENT
A
In the following example, Y5 will energize for one CPU scan whenever X1 is on and X2
transitions from On to Off. B
DirectSOFT

X1 X2 Y5
Handheld Programmer Keystrokes
$
STR
B
1
ENT
C
OUT V

GX
AND
SHFT N

F
TMR
D
3
C
2
ENT
D
ENT
OUT 5

DL205 User Manual, 4th Edition, Rev. A 5–23


Chapter 5: Standard RLL Instructions - Boolean

Set (SET) Optional


1  230
The Set instruction sets or turns on an image register
point/memory location or a consecutive range of image A aaa
memory range
aaa
 240 register points/memory locations. Once the SET
2  250-1 point/location is set it will remain on until it is reset

3  260 using the Reset instruction. It is not necessary for the


input controlling the Set instruction to remain on.
Reset (RST) Optional
4  230 The Reset instruction resets or turns off an image
A aaa
Memory
aaa
. range
register point/memory location or a range of image
5  240 registers points/memory locations. Once the RST
 250-1 point/location is reset it is not necessary for the input to

6  260 remain on.


Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
7 Inputs X
A aaa
0–177
aaa
0–477
aaa
0–777
aaa
0–1777
Outputs Y 0-177 0-477 0-777 0-1777
8 Control Relays
Stage
C
S
0–377
0-377
0–377
0-777
0–1777
0-1777
0–3777
0-1777
Timer* T 0-77 0-177 0-377 0-377
9 Counter * CT 0-77 0-177 0-177 0-377
Global GX - - - 0–3777
10 Global GY -
* Timer and counter operand data types are not valid using the Set instruction
- - 0–3777

11 NOTE: You cannot set inputs (X’s) that are assigned to input modules

In the following example when X1 is on, Y2 through Y5 will energize.


12
DS Used
13 HPP Used
DirectSOFT Handheld Programmer Keystrokes

14 X1
Y2
SET
Y5 $
STR
B
1
ENT

X C F ENT
A SET 2 5

In the following example when X2 is on, Y2 through Y5 will be reset or de–energized.


B DirectSOFT Handheld Programmer Keystrokes

C X2
Y2
RST
Y5 $
STR
C
2
ENT

S C F ENT
D RST 2 5

5–24 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Boolean

Set Bit-of-Word (SETB)


 230 The Set Bit-of-Word instruction sets or turns on a bit in a V-memory Aaaa.bb
SET
1
 240 location. Once the bit is set it will remain on until it is reset using
the Reset Bit-of-Word instruction. It is not necessary for the input
 250-1 controlling the Set Bit-of-Word instruction to remain on. 2
 260 Reset Bit-of-Word (RSTB)
The Reset Bit-of-Word instruction resets or turns off a bit in a V-memory A aaa.bb 3
 230 location. Once the bit is reset it is not necessary for the input to remain RST

 240 on. 4
 250-1 5
 260 Operand Data Type
A
DL250-1 Range
aaa bb
DL260 Range
aaa bb
V-memory B See memory map BCD, 0 to 15 See memory map BCD, 0 to 15 6
Pointer PB See memory map BCD See memory map BCD

In the following example when X1 turns on, bit 1 in V1400 is set to the on state. 7
DS Used
HPP Used DirectSOFT 8
X1
B1400.1
SET 9
10
Handheld Programmer Keystrokes

STR 1 ENT
11
SET SHFT

K
B

1 ENT
V 1 4 0 0
12
13
In the following example when X2 turns on, bit 1 in V1400 is reset to the off state.
14
DirectSOFT

X2
B1400.1
A
RST

B
Handheld Programmer Keystrokes C
STR 2 ENT

RST SHFT B V 1 4 0 0 D
K 1 ENT

DL205 User Manual, 4th Edition, Rev. A 5–25


Chapter 5: Standard RLL Instructions - Boolean

Pause (PAUSE)
1  230 The Pause instruction disables the output update on a
range of outputs. The ladder program will continue to
 240
Y aaa aaa
run and update the image register. However, the outputs PAUSE
2  250-1 in the range specified in the Pause instruction will be
 260 turned off at the output points.
3 Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
aaa aaa aaa aaa
4 Outputs Y 0-177 0-477 0-777 0-1777

In the following example, when X1 is ON, Y5–Y7 will be turned OFF. The execution of the
5 ladder program will not be affected.

6 DS
HPP
Used
Used
DirectSOFT

X1 Y5 Y7

7 PAUSE

8
Since the D2–HPP Handheld Programmer does not have a specific Pause key, you can use
9 the corresponding instruction number for entry (#960), or type each letter of the command.

10 Handheld Programmer Keystrokes

$ B ENT
STR 1
11 O
INST#
J
9
G
6
A
0
ENT ENT F
5
H
7
ENT

12 In some cases, you may want certain output points in the specified pause range to operate
normally. In that case, use Aux 58 to over-ride the Pause instruction.
13
14
A
B
C
D

5–26 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Boolean

Comparative Boolean
1
Store If Equal (STRE) A aaa B bbb
 230 The Store If Equal instruction begins a new rung or 2
 240 additional branch in a rung with a normally open
 250-1 comparative contact. The contact will be on when Vaaa
equals Bbbb . 3
 260
Store If Not Equal (STRNE) A aaa B bbb
4
 230 The Store If Not Equal instruction begins a new rung or
 240 additional branch in a rung with a normally closed
comparative contact. The contact will be on when Vaaa 5
 250-1 does not equal Bbbb.
 260 6
Operand Data DL230 Range DL240 Range DL250-1 Range DL260 Range
Type
A/B aaa bbb aaa bbb aaa bbb aaa bbb
7
All. (See All. (See All. (See All. (See All. (See All. (See All. (See All. (See
V-memory V memory map memory map memory map memory map memory map
page 3-53) page 3-53) page 3-54) page 3-54) page 3-54)
memory map memory map
page 3-55) page 3-56)
memory map
page 3-56)
8
All. (See All. (See All. (See
Pointer P – – – memory map
page 3-54)
– memory map
page 3-55)
– memory map
page 3-56)
9
Constant K – 0-FFFF – 0-FFFF – 0-FFFF – 0-FFFF
10
DS Implied In the following example, when the value in V-memory location V2000 = 4933 , Y3 will
HPP Used energize. 11
DirectSOFT Handheld Programmer Keystrokes 12
V2000 K4933 Y3 $ SHFT E C A A A

OUT
STR
E
4
J
4

9
D
3
D
2

3
0

ENT
0 0
13
GX D
OUT 3
ENT
14
In the following example, when the value in V-memory location V2000 =/ 5060, Y3 will
A
energize.
B
DirectSOFT Handheld Programmer Keystrokes

V2000 K5060 Y3

OUT
SP
STRN
SHFT E
4
C
2
A
0
A
0
A
0 C
F A G A ENT
5 0 6 0
GX
OUT
D
3
ENT D

DL205 User Manual, 4th Edition, Rev. A 5–27


Chapter 5: Standard RLL Instructions - Boolean

Or If Equal (ORE)
1  230 The Or If Equal instruction connects a normally open
 240 comparative contact in parallel with another contact.
A aaa B bbb
2  250-1 The contact will be on when Vaaa equals Bbbb.
 260
3 Or If Not Equal (ORNE)
 230 The Or If Not Equal instruction connects a normally
closed comparative contact in parallel with another
4  240 contact. The contact will be on when Vaaa does not A aaa B bbb
 250-1 equal Bbbb.
5  260
Operand Data DL230 Range DL240 Range DL250-1 Range DL260 Range
Type
6 A/B aaa bbb aaa bbb aaa bbb aaa bbb
All. (See All. (See All. (See All. (See All. (See All. (See All. (See All. (See
7 V-memory V memory map memory map memory map memory map memory map
page 3-53) page 3-53) page 3-54) page 3-54) page 3-55)
memory map memory map
page 3-55) page 3-56)
memory map
page 3-56)
All. (See All. (See All. (See
8 Pointer P – – – memory map
page 3-54)
– memory map
page 3-55)
– memory map
page 3-56)
Constant K – 0-FFFF – 0-FFFF – 0-FFFF – 0-FFFF
9
In the following example, when the value in V-memory location V2000 = 4500 or V2202 =
10 2345, Y3 will energize.
DS Implied
11 HPP Used
DirectSOFT Handheld Programmer Keystrokes

12 V2000 K4500 Y3
OUT
$
STR
SHFT E
4
C
2
A
0
A
0
A
0
E F A A ENT
4 5 0 0

13 V2002 K2345 Q
OR
SHFT E
4
C
2
A
0
A
0
C
2
C D E F ENT

14 GX
OUT
2 3
D
4

3
5

ENT

A In the following example, when the value in V-memory location V2000 = 3916 or V2002 =/
2500, Y3 will energize.
B DirectSOFT Handheld Programmer Keystrokes

$ E C A A A
V2000 K3916 Y3 SHFT
STR 4 2 0 0 0

C OUT D
3
J
9
B
1
G
6
ENT

V2002 K2500 R SHFT E C A A C


ORN 4 2 0 0 2

D C
2
F
5
A
0
A
0
ENT

GX D ENT
OUT 3

5–28 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Boolean

And If Equal (ANDE)


 230 The And If Equal instruction connects a normally A aaa B bbb
1
 240 open comparative contact in series with another
 250-1 contact. The contact will be on when Vaaa equals
 260 Bbbb. 2
And If Not Equal (ANDNE)
 230 The And If Not Equal instruction connects a
A aaa B bbb 3
 240 normally closed comparative contact in series with
 250-1 another contact. The contact will be on when Vaaa 4
 260 does not equal Bbbb

Operand DL230 Range DL240 Range DL250-1 Range DL260 Range


5
Data Type
A/B aaa bbb aaa bbb aaa bbb aaa bbb 6
All. (See All. (See All. (See All. (See All. (See All. (See All. (See All. (See
V-memory V memory map memory map memory map memory map memory map memory map memory map memory map
page 3-53) page 3-53) page 3-54) page 3-54) page 3-55) page 3-55) page 3-56) page 3-56)
All V-memory. All V-memory. All V-memory.
7
(See memory (See memory (See memory
Pointer P – – – map page
3-54)
– map page
3-55)
– map page
3-56)
8
Constant K – 0-FFFF – 0-FFFF – 0-FFFF – 0-FFFF
9
In the following example, when the value in V-memory location V2000 = 5000 and V2002 =

DS Implied
2345, Y3 will energize. 10
HPP Used
11
DirectSOFT Handheld Programmer Keystrokes

V2000 K5000 V2002 K2345 Y3


OUT
$
STR
SHFT E
4
C
2
A
0
A
0
A
0
12
F A A A ENT

V
AND
5

SHFT
0
E
0

4
0
C
2
A
0
A
0
C
2
13
C D E F ENT

GX
OUT
2 3
D
4

3
5

ENT
14
In the following example, when the value in V-memory location V2000 = 5000 and V2002 =/
2345, Y3 will energize.
A
DirectSOFT

V2000 K5000 V2002 K2345 Y3


Handheld Programmer Keystrokes

$ E C A A A
B
SHFT
STR 4 2 0 0 0
OUT
F
5
A
0
A
0
A
0
ENT C
W SHFT E C A A C
ANDN 4 2 0 0 2
C
2
D
3
E
4
F
5
ENT D
GX D ENT
OUT 3

DL205 User Manual, 4th Edition, Rev. A 5–29


Chapter 5: Standard RLL Instructions - Boolean

Store (STR) A aaa B bbb


1  230 The Comparative Store instruction begins a new rung or
 240 additional branch in a rung with a normally open comparative
contact. The contact will be on when Aaaa is equal to or greater
2  250-1 than Bbbb.
 260
Store Not (STRN)
3  230 The Comparative Store Not instruction begins a new rung or
A aaa B bbb

 240 additional branch in a rung with a normally open comparative


4  250-1 contact. The contact will be on when Aaaa is less than Bbbb.
 260
5 Operand DL230 Range DL240 Range DL250-1 Range DL260 Range
Data Type
6 A/B aaa bbb aaa bbb aaa bbb aaa bbb
All. (See All. (See All. (See All. (See All. (See All. (See All. (See All. (See
V-memory V memory map memory map memory map memory map memory map memory map memory map memory map
7 page 3-53) page 3-53) page 3-54) page 3-54) page 3-55) page 3-55) page 3-56) page 3-56)
All V-memory. All V-memory. All V-memory.
(See memory (See memory (See memory
8 Pointer P – – – map page
3-54)
– map page
3-55)
– map page
3-56)

9 Constant K – 0-FFFF – 0-FFFF – 0-FFFF – 0-FFFF

In the following example, when the value in V-memory location V2000 욷 1000, Y3 will
10 energize.
In the following example, when the value in V-memory location V2000 < 4050, Y3 will
11 DS Implied
energize.

12 HPP Used
DirectSOFT Handheld Programmer Keystrokes

13 V2000 K1000 Y3
OUT
$
STR
B
SHFT

A
V

A
AND
C

A
2
A
0
A
0
A
0

ENT
1 0 0 0

14 GX
OUT
D
3
ENT

A
DirectSOFT Handheld Programmer Keystrokes

B V2000 K4050 Y3 SP
STRN
SHFT V
AND
C
2
A
0
A
0
A
0
OUT

C GX
E
4
A

D
0
F
5

ENT
A
0
ENT

OUT 3

5–30 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Boolean

Or (OR)
 230 The Comparative Or instruction connects a normally 1
 240 open comparative contact in parallel with another contact. A aaa B bbb
 250-1 The contact will be on when Aaaa is equal to or greater
2
than Bbbb.
 260
Or Not (ORN)
 230 The Comparative Or Not instruction connects a 3
 240 normally open comparative contact in parallel with A aaa B bbb

 250-1 another contact. The contact will be on when Aaaa is less 4


than Bbbb.
 260
Operand DL230 Range DL240 Range DL250-1 Range DL260 Range
5
Data Type
A/B aaa
All. (See
bbb
All. (See
aaa
All. (See
bbb
All. (See
aaa
All. (See All. (See
bbb
All. (See All. (See
aaa bbb 6
V-memory V memory map memory map memory map memory map memory map memory map memory map memory map
page 3-53) page 3-53) page 3-54) page 3-54) page 3-55) page 3-55) page 3-56) page 3-56)
All V-memory. All V-memory. All V-memory.
7
(See memory (See memory (See memory
Pointer P – – – map page
3-54)
– map page
3-55)
– map page
3-56)
8
Constant K – 0-FFFF – 0-FFFF – 0-FFFF – 0-FFFF
9
In the following example, when the value in V-memory location V2000 = 6045 or
V2002 욷 2345, Y3 will energize. 10
In the following example when the value in V-memory location V2000 = 1000 or

DS Implied
V2002 < 2500, Y3 will energize.
11
HPP Used
DirectSOFT Handheld Programmer Keystrokes
12
$ E C A A A
V2000 K6045 Y3
OUT G
STR

6
SHFT

A
0
E
4

4
F
5
ENT
2 0 0 0
13
V2002 K2345 Q

C
OR
D
SHFT

E
V

F
AND
C

ENT
2
A
0
A
0
C
2
14
2 3 4 5
GX
OUT
D
3
ENT
A
DirectSOFT

V2000 K1000 Y3
Handheld Programmer Keystrokes
$
STR
SHFT E
4
C
2
A
0
A
0
A
0
B
OUT B

R
1
A
0
A

SHFT
0
A

V
0
ENT

C A A C
C
V2002 K2500 ORN AND 2 0 0 2
C

GX
2
F
5
A

D
0
A
0
ENT
D
ENT
OUT 3

DL205 User Manual, 4th Edition, Rev. A 5–31


Chapter 5: Standard RLL Instructions - Boolean

And (AND)
1  230 The Comparative And instruction connects a normally A aaa B bbb
 240 open comparative contact in series with another
contact. The contact will be on when Aaaa is equal to
2  250-1 or greater than Bbbb.
 260
And Not (ANDN)
3  230 The Comparative And Not instruction connects a A aaa B bbb
 240 normally open comparative contact in series with another
4  250-1 contact. The contact will be on when Aaaa < Bbbb.
 260
5 Operand DL230 Range DL240 Range DL250-1 Range DL260 Range
Data Type
6 A/B aaa bbb aaa bbb aaa bbb aaa bbb
All (See All (See All (See All (See All (See All (See All (See All (See
V-memory V memory map memory map memory map memory map memory map memory map memory map memory map
7 page 3-53) page 3-53) page 3-54) page 3-54) page 3-55) page 3-55) page 3-56) page 3-56)
All V-memory All V-memory All V-memory
(See memory (See memory (See memory
8 Pointer P - - - map page
3-54)
- map page
3-55)
- map page
3-56)
Constant K - 0-FFFF - 0-FFFF - 0-FFFF - 0-FFFF
9
In the following example, when the value in V-memory location V2000 = 5000, and
10 V2002 욷 2345, Y3 will energize.
In the following example, when the value in V-memory location V2000 = 7000 and
11 V2002 < 2500, Y3 will energize.
DS Implied
12 HPP Used
DirectSOFT Handheld Programmer Keystrokes

13 V2000 K5000 V2002 K2345 Y3


OUT
$

F
STR
SHFT

A
E

A
4
A
C
2
A
0
A
0
A
0

ENT
5 0 0 0

14 V
AND
SHFT V
AND
C
2
A
0
A
0
C
2
C D E F ENT
2 3 4 5

A GX
OUT
D
3
ENT

B DirectSOFT Handheld Programmer Keystrokes

$ SHFT E C A A A
V2000 K7000 V2002 K2500 Y3 STR 4 2 0 0 0

C OUT H

W
7
A
0
A
0
A

V
0
ENT

C A A C
SHFT
ANDN AND 2 0 0 2

D C
2
F
5
A
0
A
0
ENT

GX D ENT
OUT 3

5–32 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Immediate

Immediate Instructions
1
Store Immediate (STRI)
 230 The Store Immediate instruction begins a new rung
or additional branch in a rung. The status of the
2
 240 contact will be the same as the status of the
X aaa

 250-1 associated input point at the time the instruction is 3


 260 executed. The image register is not updated.
Store Not Immediate (STRNI) 4
X aaa
 230 The Store Not Immediate instruction begins a new
5
 240 rung or additional branch in a rung. The status of
the contact will be opposite the status of the
 250-1
 260 associated input point at the time the instruction is
executed. The image register is not updated.
6
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
7
aaa aaa aaa aaa
Inputs X 0–177 0–477 0–777 0–1777 8
In the following example when X1 is on, Y2 will energize. 9
DS Implied
HPP Used 10
DirectSOFT Handheld Programmer Keystrokes

X1 Y2 $
STR
SHFT I
8
B
1
ENT
11
OUT
GX
OUT
C
2
ENT
12
13
In the following example when X1 is off, Y2 will energize.

DirectSOFT Handheld Programmer Keystrokes


14
X1 Y2
OUT
SP
STRN
SHFT I
8
B
1
ENT A
GX C ENT
OUT 2
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–33


Chapter 5: Standard RLL Instructions - Immediate

Or Immediate (ORI)
1  230 The Or Immediate connects two contacts in parallel. The
 240 status of the contact will be the same as the status of the X aaa

2  250-1 associated input point at the time the instruction is executed.


 260 The image register is not updated.
Or Not Immediate (ORNI)
3  230 The Or Not Immediate connects two contacts in parallel.
 240 The status of the contact will be opposite the status of the X aaa
4  250-1 associated input point at the time the instruction is executed.
The image register is not updated.
 260
5
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
6 Inputs X
aaa
0–177
aaa
0–477
aaa
0–777
aaa
0–1777

7 In the following example, when X1 or X2 is on, Y5 will energize.


DS Implied
8 HPP Used
DirectSOFT Handheld Programmer Keystrokes
9 X1 Y5 $
STR
B
1
ENT
OUT

10 X2
Q
OR
SHFT I
8
C
2
ENT

GX F ENT
OUT 5
11
12
In the following example, when X1 is on or X2 is off, Y5 will energize.
13
14 DirectSOFT
X1 Y5
Handheld Programmer Keystrokes

$ B ENT
STR 1
A X2
OUT
R
ORN
SHFT I
8
C
2
ENT

B GX
OUT
F
5
ENT

C
D

5–34 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Immediate

And Immediate (ANDI)


 230 The And Immediate connects two contacts in series. The 1
 240 status of the contact will be the same as the status of the X aaa

 250-1 associated input point at the time the instruction is executed.


2
 260 The image register is not updated.
And Not Immediate (ANDNI)
 230 The And Not Immediate connects two contacts in series. X aaa
3
 240 The status of the contact will be opposite the status of the
 250-1 associated input point at the time the instruction is executed. 4
The image register is not updated.
 260
5
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range

Inputs X
aaa
0–177
aaa
0–477
aaa
0–777
aaa
0–1777
6
In the following example, when X1 and X2 are on, Y5 will energize. 7
DS Implied
HPP Used 8
DirectSOFT
X1 X2 Y5
Handheld Programmer Keystrokes

$ B ENT
9
OUT STR 1
V
AND
SHFT I
8
C
2
ENT 10
GX F ENT
OUT 5
11
12
In the following example, when X1 is on and X2 is off, Y5 will energize.
13
DirectSOFT Handheld Programmer Keystrokes
14
X1 X2 Y5 $ B
OUT
W
STR

SHFT I
1
ENT

C ENT
A
ANDN 8 2
GX
OUT
F
5
ENT B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–35


Chapter 5: Standard RLL Instructions - Immediate

Out Immediate (OUTI)


1  230
The Out Immediate instruction reflects the status of the
rung (on/off ) and outputs the discrete (on/off ) status to
 240 the specified module output point and the image register
Y aaa
2  250-1
 260
at the time the instruction is executed. If multiple Out
OUTI

Immediate instructions referencing the same discrete


3 point are used it is possible for the module output status
to change multiple times in a CPU scan. See Or Out
Immediate.
4 Or Out Immediate (OROUTI)
5  230
The Or Out Immediate instruction has been designed to
use more than one rung of discrete logic to control a
 240 single output. Multiple Or Out Immediate instructions
Y aaa

6  250-1 referencing the same output coil may be used, since all
OROUTI

 260 contacts controlling the output are ored together. If the


7 status of any rung is on at the time the instruction is
executed, the output will also be on.

8 Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
aaa aaa aaa aaa
Outputs Y 0–177 0–477 0–777 0–1777
9
In the following example, when X1 is on, output point Y2 on the output module will turn
10 on. For instruction entry on the Handheld Programmer, you can use the instruction number
(#350) as shown, or type each letter of the command.

11 DS
HPP
Used
Used
DirectSOFT Handheld Programmer Keystrokes

12 X1 Y2 $
STR
B
1
ENT
OUTI
O D G A

13 INST#
C
3

ENT
6 0
ENT ENT

14 In the following example, when X1 or X4 is on, Y2 will energize.


DirectSOFT Handheld Programmer Keystrokes
A X1 Y2
$
STR
B
1
ENT

OR OUTI
B O
INST#
D
3
F
5
A
0
ENT ENT

C ENT
X4 Y2
C OR OUTI $
STR
2
E
4
ENT

D O
INST#
D
3
F
5
A
0
ENT ENT

C ENT
2

5–36 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Immediate

Out Immediate Formatted (OUTIF)


 230 The Out Immediate Formatted instruction outputs a 1 to 32
bit binary value from the accumulator to specified output
OUTIF Y aaa 1
 240 points at the time the instruction is executed. Accumulator bits
K bbb
 250-1 that are not used by the instruction are set to zero. 2
 260
Operand Data Type DL260 Range 3
aaa bbb
Outputs
Constant
Y
K
0–1777


1–32
4
In the following example when C0 is on,the binary pattern for X10 –X17 is loaded into the 5
accumulator using the Load Immediate Formatted instruction. The binary pattern in the
accumulator is written to Y30–Y37 using the Out Immediate Formatted instruction. This
technique is useful to quickly copy an input pattern to outputs (without waiting for the CPU
6
scan).
7
DS Used
HPP Used 8
DirectSOFT
CO
LDIF
K8
X10 Location
X10
Constant
K8
X17 X16 X15 X14 X13 X12 X11 X10
9
ON OFF ON ON OFF ON OFF ON
Load the value of 8
consecutive locations into the
accumulator, starting with X10.
Unused accumulator bits
are set to zero 10
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Acc. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1
11
OUTIF Y30
K8

Copy the value in the lower Location Constant Y37 Y36 Y35 Y34 Y33 Y32 Y31 Y30
12
8 bits of the accumulator to
ON OFF ON ON OFF ON OFF ON
Y30-Y37 Y30 K8

13
Handheld Programmer Keystrokes 14
$ NEXT NEXT NEXT NEXT A ENT
STR 0

SHFT L
ANDST
D
3
I
8
F
5
B
1
A
0
I
8
ENT
A
GX
OUT
SHFT I
8
F
5
D
3
A
0
I
8
ENT
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–37


Chapter 5: Standard RLL Instructions - Immediate

Set Immediate (SETI)


1  230
The Set Immediate instruction immediately sets, or
turns on an output or a range of outputs in the image
 240 register and the corresponding output point(s) at the
2  250-1 time the instruction is executed. Once the outputs are
Y aaa
SETI
aaa

 260 set it is not necessary for the input to remain on. The
3 Reset Immediate instruction can be used to reset the
outputs.
4 Reset Immediate (RSTI)
The Reset Immediate instruction immediately resets,
 230
5  240
or turns off an output or a range of outputs in the
image register and the output point(s) at the time the
Y aaa
RSTI
aaa

 250-1 instruction is executed. Once the outputs are reset it is


6  260 not necessary for the input to remain on.

7
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
8 aaa aaa aaa aaa
Outputs Y 0–177 0–477 0–777 0–1777

9 In the following example, when X1 is on, Y2 through Y5 will be set on in the image register
and on the corresponding output points.
10 DS Used
HPP Used
11 DirectSOFT Handheld Programmer Keystrokes

$ B ENT
X1 Y2 Y5
12 SETI X
SET
STR

SHFT I
1

8
C
2
F
5
ENT

13
In the following example, when X1 is on, Y5 through Y22 will be reset (off ) in the image
14 register and on the corresponding output module(s).

A
DirectSOFT

B X1 Y5 Y22
Handheld Programmer Keystrokes

$ B ENT
RSTI STR 1

C S
RST
SHFT I
8
F
5
C
2
C
2
ENT

5–38 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Immediate

Load Immediate (LDI)


 230
The Load Immediate instruction loads a 16-bit V-memory
value into the accumulator. The valid address range includes all LDI 1
 240 input point addresses on the local base. The value reflects the
V aaa

 250-1 current status of the input points at the time the instruction is 2
 260 executed. This instruction may be used instead of the LDIF
instruction which requires you to specify the number of input points. 3
Operand Data Type DL260 Range
aaaaa 4
Inputs V-memory V 40400–40477
In the following example, when C0 is on, the binary pattern of X0–X17 will be loaded into 5
the accumulator using the Load Immediate instruction. The Out Immediate instruction
could be used to copy the 16 bits in the accumulator to output points, such as Y40–Y57. This
technique is useful to quickly copy an input pattern to output points (without waiting for a
6
full CPU scan to occur).
DS Used
7
HPP Used
8
DirectSOFT

C0 LDI

V40400
Location

V40400
X17 X16 X15 X14 X13 X12 X11 X10 X7
ON OFF ON ON OFF ON OFF OFF ON OFF ON ON OFF ON OFF ON
X6 X5 X4 X3 X2 X1 X0
9
Load the inputs from X0 to
X17 into the accumulator,
immediately Unused accumulator bits
are set to zero
10
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9

Acc. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0
8
0
7 6 5
1 0 1
4 3
1 0
2
1 0
1 0
1 11
OUTI

V40502

Output the value in the


12
accumulator to output points
Y40 to Y57 Location

V40502
Y57 Y56 Y55 Y54 Y53 Y52 Y51 Y50 Y47 Y46 Y45 Y44 Y43 Y42 Y41 Y40
ON OFF ON ON OFF ON OFF OFF ON OFF ON ON OFF ON OFF ON 13
14
Handheld Programmer Keystrokes

$ SHFT C A ENT
A
STR 2 0

SHFT L
ANDST
D
3
I
8
E
4
A
0
E
4
A
0
A
0
ENT B
GX SHFT I NEXT E A F A C ENT
OUT 8 4 0 5 0 2
C
D

DL205 User Manual, 4th Edition, Rev. A 5–39


Chapter 5: Standard RLL Instructions - Immediate

Load Immediate Formatted (LDIF)


1  230 The Load Immediate Formatted instruction loads a 1–32 bit binary
value into the accumulator. The value reflects the current status of
LDIF X aaa
 240 the input module(s) at the time the instruction is executed.
K bbb
2  250-1 Accumulator bits that are not used by the instruction are set to zero.
 260
3 Operand Data Type DL260 Range
aaa bbb
4 Intputs
Constant
X
K
0–1777


1–32

5 In the following example, when C0 is on, the binary pattern of X10–X17 will be loaded into
the accumulator using the Load Immediate Formatted instruction. The Out Immediate
6 Formatted instruction could be used to copy the specified number of bits in the accumulator
to the specified outputs on the output module, such as Y30–Y37. This technique is useful to
quickly copy an input pattern to outputs (without waiting for the CPU scan).
7 DS Used

8 HPP Used

DirectSOFT

9 C0 LDIF X10
Location
X10
Constant

K8
X17 X16 X15 X14 X13 X12 X11 X10
K8 ON OFF ON ON OFF ON OFF ON

10 Load the value of 8


consecutive locations into the
accumulator starting with
Unused accumulator bits
are set to zero
X10
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

11 Acc. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1

12 OUTIF
K8
Y30

Location Constant Y37 Y36 Y35 Y34 Y33 Y32 Y31 Y30
Copy the value of the lower

13 8 bits of the accumulator to


Y30 - Y37
Y30 K8 ON OFF ON ON OFF ON OFF ON

14 Handheld Programmer Keystrokes

A $
STR
L
SHFT

D
C

I
2
A

F
0
ENT

B A I
SHFT ENT
ANDST 3 8 5 1 0 8
B GX
OUT
SHFT I
8
F
5
D
3
A
0
I
8
ENT

C
D

5–40 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register

Timer, Counter and Shift Register Instructions


1
Using Timers
Timers are used to time an event for a desired length of time. The single input timer will time
as long as the input is on. When the input changes from on to off the timer current value is
2
reset to 0. There is a tenth of a second and a hundredth of a second timer available with a
maximum time of 999.9 and 99.99 seconds respectively. There is a discrete bit associated with 3
each timer to indicate that the current value is equal to or greater than the preset value. The
timing diagram below shows the relationship between the timer input, associated discrete bit, 4
current value, and timer preset.
5
Seconds
0 1 2 3 4 5 6 7 8 X1
TMR
K30
T1 6
X1

T1
Timer Preset 7
T1 Y0

Current
Value
0 10 20 30
1/10 Seconds
40 50 60 0
OUT 8
9
There are those applications that need an accumulating timer, meaning it has the ability to
time, stop, and then resume from where it previously stopped. The accumulating timer works
10
similarly to the regular timer, but two inputs are required. The enable input starts and stops
the timer. When the timer stops, the elapsed time is maintained. When the timer starts again, 11
the timing continues from the elapsed time. When the reset input is turned on, the elapsed
time is cleared and the timer will start at 0 when it is restarted. There is a tenth of a second
and a hundredth of a second timer available with a maximum time of 9999999.9 and
12
999999.99 seconds respectively. The timing diagram below shows the relationship between
the timer input, timer reset, associated discrete bit, current value, and timer preset. 13
14
Seconds
0 1 2 3 4 5 6 7 8 X1
TMRA
K30
T0
A
X1 Enable

X2
X2 B
T0
Reset Input
C
0 10 10 20 30 40 50 0
Current
Value 1/10 Seconds D

DL205 User Manual, 4th Edition, Rev. A 5–41


Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register

Timer (TMR) and Timer Fast (TMRF)


1  230 The Timer instruction is a 0.1 second single-input timer that
times to a maximum of 999.9 seconds. The Timer Fast
TMR T aaa

2  240 instruction is a 0.01 second single input timer that times up to


B bbb

 250-1 a maximum of 99.99 seconds. These timers will be enabled if


the input logic is true (on) and will be reset to 0 if the input
3  260 logic is false (off ).
Preset Timer#

Instruction Specifications
DS Used
4 HPP Used Timer Reference (Taaa): Specifies the timer number.
TMRF
Preset Value (Bbbb): Constant value (K) or a V-memory T aaa

5 location. (Pointer (P) for DL240, DL250-1 and DL260). B bbb

Current Value: Timer current values are accessed by


6 referencing the associated V or T memory location*. For
example, the timer current value for T3 physically resides in
Preset Timer#

V-memory location V3.


7 Discrete Status Bit: The discrete status bit is referenced by the
associated T memory location. It will be on if the current value is equal to or greater than the
8 preset value. For example, the discrete status bit for Timer 2 would be T2.
NOTE: A V-memory preset is required only if the ladder program or an Operator Interface unit must change
9 the preset.

10 Operand Data
Type DL230 Range DL240 Range DL250-1 Range DL260 Range
B aaa bbb aaa bbb aaa bbb aaa bbb
11 Timers T 0-77 0-177 0-377 0-377
V-memory for – 2000-2377 – 2000-3777 – 1400-7377 – 1400-7377
12 preset values V
Pointers 2000-3777
10000-17777
1400-7377
10000-37777
1400-7377
(presets only) P 10000-17777 10000-37777
13 Constants
(presets only) K – 0-9999 – 0-9999 – 0-9999 – 0-9999
Timer discrete 0-77 or V41100-41103 0-177 or V41100-41107 0-377 or V41100-41117 0-377 or V41100-41117
14 status bits T/V*
Timer current 0-77 0-177 0-377 0-377
values V/T*

A NOTE: * Both the Timer discrete status bits and the current value are accessed with the same data
reference with the HPP. DirectSOFT uses separate references, such as “T2” for discrete status bit for Timer
B T2, and “TA2” for the current value of Timer T2.

You can perform functions when the timer reaches the specified preset using the discrete
C status bit. Or, use the comparative contacts to perform functions at different time intervals
based on one timer. The examples on the following page show these methods of
D programming timers.

5–42 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register

Timer Example Using Discrete Status Bits


In the following example, a single-input timer is used with a preset of 3 seconds. The timer
discrete status bit (T2) will turn on when the timer has timed for 3 seconds.
1
The timer is reset when X1 turns off, turning the discrete status bit off and resetting the timer
current value to 0. 2
3
DirectSOFT Timing Diagram
X1
TMR
K30
T2 0 1 2 3
Seconds
4 5 6 7 8
4
X1
T2
OUT
Y0

T2
5
Handheld Programmer Keystrokes

$ B
Y0

Current 0 10 20 30 40 50 60 0
6
ENT Value
STR 1
N

$
TMR
C
2
T
D

C
3
A
0
ENT
1/10th Seconds 7
SHFT ENT
STR MLR 2
GX
OUT
A
0
ENT
8
Timer Example Using Comparative Contacts
In the following example, a single-input timer is used with a preset of 4.5 seconds. 9
Comparative contacts are used to energize Y3, Y4, and Y5 at one second intervals respectively.
When X1 is turned off the timer will be reset to 0 and the comparative contacts will turn off
Y3, Y4, and Y5.
10
DirectSOFT

X1
TMR T20
Timing Diagram
Seconds
11
K45 0 1 2 3 4 5 6 7 8

TA20 K10 Y3

OUT
X1

Y3
12
TA20 K20 Y4
OUT
Y4
13
Y5

TA20 K30 Y5
OUT
Current
T2

0 10 20 30 40 50 60 0
14
Value

Handheld Programmer Keystrokes

$ B ENT
1/10th Seconds A
STR 1
N

$
TMR
C

SHFT
2
A

T
0
C
E

A
4
F
5
B
ENT

A ENT
B
STR MLR 2 0 1 0
GX

$
OUT

STR
D

SHFT
3
ENT

T
MLR
C
2
A
0
C
2
A
0
ENT
C
GX

$
OUT

STR
E

SHFT
4
ENT

T
MLR
C
2
A
0
D
3
A
0
ENT
D
GX F ENT
OUT 5

DL205 User Manual, 4th Edition, Rev. A 5–43


Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register

Accumulating Timer (TMRA) Enable TMRA T aaa

1  230 The Accumulating Timer is a 0.1 second two-input timer that will B bbb

 240 time to a maximum of 9999999.9. The TMRA uses two timer Reset

registers in V-memory.
2  250-1 Preset Timer

 260 Accumulating Fast Timer (TMRAF)


The Accumulating Fast Timer is a 0.01 second two-input timer
3 that will time to a maximum of 999999.99. The TMRAF uses two
Enable TMRAF
B bbb
T aaa

Reset
timer registers in V-memory.
4  230 These timers have two inputs, an enable and a reset. The timer will Preset

 240
Timer

start timing when the enable is on and stop timing when the enable
5  250-1 is off without resetting the value to 0. The reset will reset the timer
 260 when on and allow the timer to time when off.
6 DS Used
Instruction Specifications
Timer Reference (Taaa): Specifies the timer number.
HPP Used
7 Preset Value (Bbbb): Constant value (K) or two consecutive V-memory locations. (Pointer (P)
for DL240, DL250-1 and DL260).
8 Current Value: Timer current values are accessed by referencing the associated V or T
memory location. For example, the timer current value for T3 resides in V-memory location V3.

9 Discrete Status Bit: The discrete status bit is accessed by referencing the associated T memory
location. It will be on if the current value is equal to or greater than the preset value. For
example, the discrete status bit for Timer 2 would be T2.
10 NOTE: The accumulating timer uses two consecutive V-memory locations for the 8-digit value, therefore
two consecutive timer locations. For example, if TMRA T1 is used, the next available timer number is T3.
11
NOTE: A V-memory preset is required only if the ladder program or an OIT must be used to change the
12 preset.

13 Operand Data DL230 Range DL240 Range DL250-1 Range DL260 Range
Type
14 Timers
B
T
aaa
0-76
bbb aaa
0-176
bbb aaa
0-376
bbb aaa
0-376
bbb

V-memory for 1400-7377 1400-7377


A preset values V
Pointers
– 2000-2377 – 2000-3777 – 10000-17777
1400-7377
– 10000-37777
1400-7377
(presets only) P 2000-3777 10000-17777 10000-37777
B Constants
(presets only) K – 0-99999999 – 0-99999999 – 0-99999999 – 0-99999999
Timer discrete
C status bits T/V*
Timer current
0-76 or V41100-41103 0-176 or V41100-41107 0-376 or V41100-41117 0-376 or V41100-41117

values V/T* 0-76 0-176 0-376 0-376

D NOTE: * Both the Timer discrete status bits and the current value are accessed with the same data
reference with the HPP. DirectSOFT uses separate references, such as “T2” for discrete status bit for Timer
T2, and “TA2” for the current value of Timer T2.

5–44 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register

Accumulating Timer Example using Discrete Status Bits


In the following example, a two input timer (accumulating timer) is used with a preset of 3
seconds. The timer discrete status bit (T6) will turn on when the timer has timed for 3
1
seconds. Notice in this example that the timer times for 1 second , stops for one second, then
resumes timing. The timer will reset when C10 turns on, turning the discrete status bit off 2
and resetting the timer current value to 0.
DirectSOFT Timing Diagram
Seconds
3
X1
0 1 2 3 4 5 6 7 8

C10
TMRA

K30
T6

X1 4
C10

T6 Y10 T6
5
OUT Current 0 10 10 20 30 40 50 0
Value

Handheld Programmer Keystrokes


1/10th Seconds
Handheld Programmer Keystrokes (cont’d)
6
$ B D A

$
STR

STR
SHFT
1
C
ENT

2
B
1
A
0
ENT $
3

STR
0
ENT

SHFT T
MLR
G
6
ENT
7
N A G GX B A
TMR
SHFT
0 6 OUT 1 0
ENT

8
Accumulator Timer Example Using Comparative Contacts
In the following example, a two-input timer is used with a preset of 4.5 seconds. Comparative
contacts are used to energized Y3, Y4, and Y5 at one second intervals respectively. The
9
comparative contacts will turn off when the timer is reset.
Contacts
10
DirectSOFT
Timing Diagram
X1
TMRA

K45
T20

X1
0 1 2 3
Seconds
4 5 6 7 8
11
C10

TA20 K10 TA21 K0 Y3


C10

Y3
12
OUT

TA21 K1
Y4

Y5
13
Y4

14
TA20 K20 TA21 K0 T20
OUT
Current 0 10 10 20 30 40 50 0
TA21 K1 Value
1/10th Seconds

TA20 K30 TA21 K1 Y5

OUT
A
Handheld Programmer Keystrokes

$ B
Handheld Programmer Keystrokes (cont’d)

$ T C A C A
B
ENT SHFT ENT
STR 1 STR MLR 2 0 2 0
$

N
STR

SHFT A
SHFT C
2
B

C
1
A

A
0
ENT

E F ENT
V

Q
AND
SHFT

SHFT
E

E
4

4
SHFT

SHFT
T

T
MLR
C

C
2
B

B
1
A

B
0
ENT

ENT
C
TMR 0 2 0 4 5 OR MLR 2 1 1
$

V
AND
STR

SHFT
E
SHFT

4
T
MLR
C

SHFT
2
A

T
MLR
0
C
2
B

B
1

1
A
0
ENT

A
0
ENT
GX

$
OUT

STR
E

SHFT
4
T
ENT

MLR
C
2
A
0
D
3
A
0
ENT
D
Q E T C B B V E T C B B
SHFT SHFT ENT SHFT SHFT ENT
OR 4 MLR 2 1 1 AND 4 MLR 2 1 1
GX D ENT GX F ENT
OUT 3 OUT 5

DL205 User Manual, 4th Edition, Rev. A 5–45


Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register

Counter (CNT) Counter#


1  230
The Counter is a two-input counter that increments
when the count input logic transitions from off to on.
 240 When the counter reset input is on the counter resets
Count CNT CT aaa
2  250-1 to 0. When the current value equals the preset value,
B bbb

 260 the counter status bit comes on and the counter Reset
3 continues to count up to a maximum count of 9999.
The maximum value will be held until the counter is
DS Used
reset. Preset
4 HPP Used
Instruction Specifications
5 Counter Reference (CTaaa): Specifies the counter number.
Preset Value (Bbbb): Constant value (K) or a V-memory location. (Pointer (P) for DL240,
DL250-1 and DL260.)
6 Current Values: Counter current values are accessed by referencing the associated V or CT
memory locations. The V-memory location is the counter location + 1000. For example, the
7 counter current value for CT3 resides in V-memory location V1003.
Discrete Status Bit: The discrete status bit is accessed by referencing the associated CT
8 memory location. It will be on if the value is equal to or greater than the preset value. For
example the discrete status bit for Counter 2 would be CT2.
9 NOTE: A V-memory preset is required only if the ladder program or an OIT must used to change the preset.

10 Operand Data
Type DL230 Range DL240 Range DL250-1 Range DL260 Range
B aaa bbb aaa bbb aaa bbb aaa bbb
11 Counters CT 0-77 0-177 0-177 0-377
V-memory for – 2000-2377 – 2000-3777 – 1400-7377 – 1400-7377
12 preset values V
Pointers 2000-3777
10000-17777
1400-7377
10000-37777
1400-7377
(presets only) P 10000-17777 10000-37777
13 Constants
(presets only) K – 0-9999 – 0-9999 – 0-9999 – 0-9999
Counter discrete 0-77 or V41140-41143 0-177 or V41140-41147 0-177 or V41140-41147 0-377 or V41100-41157
14 status bits CT/V*
Counter current 1000-1077 1000-1177 1000-1177 1000-1377
values V/CT*

A NOTE: * Both the Counter discrete status bits and the current value are accessed with the same data
reference with the HPP. DirectSOFT uses separate references, such as “CT2” for discrete status bit for
Counter CT2, and “CTA2” for the current value of Counter CT2.
B
C
D

5–46 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register

Counter Example Using Discrete Status Bits


In the following example, when X1 makes an off to on transition, counter CT2 will
increment by one. When the current value reaches the preset value of 3, the counter status bit
1
CT2 will turn on and energize Y7. When the reset C10 turns on, the counter status bit will
turn off and the current value will be 0. The current value for counter CT2 will be held in V- 2
memory location V1002.
DirectSOFT

X1
Counting diagram 3
CNT CT2

C10
K3
X1
4
C10

CT2 Y7
CT2 or
Y7
5
OUT Current Value 1 2 3 4 0

Handheld Programmer Keystrokes Handheld Programmer Keystrokes (cont)


6
$

$
STR

STR
B
1

SHFT
ENT

C
2
B
1
A
0
ENT
$

GX
OUT
STR
SHFT

H
7
C
2

ENT
SHFT T
MLR
C
2
ENT
7
GY
CNT
C
2
D
3
ENT
8
Counter Example Using Comparative Contacts 9
In the following example, when X1 makes an off to on transition, counter CT2 will
increment by one. Comparative contacts are used to energize Y3, Y4, and Y5 at different
counts. When the reset C10 turns on, the counter status bit will turn off and the counter
10
current value will be 0, and the comparative contacts will turn off.
DirectSOFT Counting diagram
11
X1

C10
CNT

K3
CT2
X1 12
C10

CTA2 K1 Y3 Y3
13
OUT

CTA2 K2 Y4
Y4

Y5
14
OUT

CTA2 K3 Y5

OUT
Current
Value
1 2 3 4 0

A
Handheld Programmer Keystrokes

$ B ENT
Handheld Programmer Keystrokes (cont)

$ SHFT C SHFT T C
B
STR 1 STR 2 MLR 2
$

GY
STR
SHFT

C
C
2
B

D
1
A
0

ENT
ENT

GX
C
2
E
ENT

ENT
C
CNT 2 3 OUT 4
$
STR
B
1
SHFT

ENT
C
2
SHFT T
MLR
C
2
$
STR
D
3
SHFT

ENT
C
2
SHFT T
MLR
C
2
D
GX D ENT GX F ENT
OUT 3 OUT 5

DL205 User Manual, 4th Edition, Rev. A 5–47


Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register

Stage Counter (SGCNT)


1  230
The Stage Counter is a single-input counter that
increments when the input logic transitions from off to
Counter#

2  240 on. This counter differs from other counters since it will SGCNT CT aaa

 250-1 hold its current value until reset using the RST
instruction. The Stage Counter is designed for use in
B bbb

3  260 RLLPLUS programs but can be used in relay ladder logic Preset
programs. When the current value equals the preset
DS Used The counter discrete status bit and the
value, the counter status bit turns on and the counter
4 HPP Used continues to count up to a maximum count of 9999. The
current value are not specified in the
counter instruction.
maximum value will be held until the counter is reset.
5 Instruction Specifications
Counter Reference (CTaaa): Specifies the counter number.
6 Preset Value (Bbbb): Constant value (K) or a V-memory location.(Pointer (P) for DL240,
DL250-1 and DL260.)
7 Current Values: Counter current values are accessed by referencing the associated V or CT
memory locations*. The V-memory location is the counter location + 1000. For example, the
8 counter current value for CT3 resides in V-memory location V1003.
Discrete Status Bit: The discrete status bit is accessed by referencing the associated CT
9 memory location. It will be on if the value is equal to or greater than the preset value. For
example, the discrete status bit for Counter 2 would be CT2.
10 NOTE: When using a counter inside a stage, the stage must be active for one scan before the input to the
counter makes a 0-1 transition. Otherwise, there is no real transition and the counter will not count.

11 NOTE: A V-memory preset is required only if the ladder program or an OIT must used to change the preset.

12 Operand Data DL230 Range DL240 Range DL250-1 Range DL260 Range
Type
13 Counters
B
CT
aaa
0-77
bbb aaa
0-177
bbb aaa
0-177
bbb aaa
0-377
bbb

V-memory for 1400-7377 1400-7377


14 preset values V
Pointers
– 2000-2377 – 2000-3777 – 10000-17777
1400-7377
– 10000-37777
1400-7377
(presets only) P 2000-3777 10000-17777 10000-37777
A Constants
(presets only) K – 0-9999 – 0-9999 – 0-9999 – 0-9999
Counter discrete
B status bits CT/V
Counter current
0-77 or V41140-41143 0-177 or V41140-41147 0-177 or V41140-41147 0-377 or V41140-41157

values V/CT 1000-1077 1000-1177 1000-1177 1000-1377


C
NOTE: * Both the Counter discrete status bits and the current value are accessed with the same data
D reference with the HPP. DirectSOFT uses separate references, such as “CT2” for discrete status bit for
Counter CT2, and “CTA2” for the current value of Counter CT2.

5–48 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register

Stage Counter Example Using Discrete Status Bits


In the following example, when X1 makes an off to on transition, stage counter CT7 will
increment by one. When the current value reaches 3, the counter status bit CT7 will turn on
1
and energize Y7. The counter status bit CT7 will remain on until the counter is reset using
the RST instruction. When the counter is reset, the counter status bit will turn off and the 2
counter current value will be 0. The current value for counter CT7 will be held in V-memory
location V1007. 3
DirectSOFT Counting diagram
X1
SGCNT
K3
CT7
X1
4
CT7 Y7 Y7

C5
OUT

CT7
Current
Value
1 2 3 4 0
5
RST
RST CT7

Handheld Programmer Keystrokes Handheld Programmer Keystrokes (cont)


6
$ B ENT GX H ENT
STR

SHFT S
RST
SHFT
1
G
6
SHFT GY
CNT
$
OUT

STR
SHFT
7
C
2
F
5
ENT 7
H D ENT S SHFT C SHFT T H ENT
7 3 RST 2 MLR 7
$
STR
SHFT C
2
SHFT T
MLR
H
7
ENT 8
Stage Counter Example Using Comparative Contacts
In the following example, when X1 makes an off to on transition, counter CT2 will
9
increment by one. Comparative contacts are used to energize Y3, Y4, and Y5 at different
counts. Although this is not shown in the example, when the counter is reset using the Reset 10
instruction, the counter status bit will turn off and the current value will be 0. The current
value for counter CT2 will be held in V-memory location V1002. 11
DirectSOFT Counting diagram
X1
SGCNT
K10
CT2
12
X1

CTA2 K1 Y3

OUT
Y3 13
Y4
CTA2 K2 Y4

OUT
Y5
14
Y5 Current 1 2 3 4 0
CTA2 K3
OUT
Value

RST
CT2
A
Handheld Programmer Keystrokes Handheld Programmer Keystrokes (cont)

$
STR
B
1
ENT $
STR
SHFT C
2
SHFT T
MLR
C
2
B
SHFT S G SHFT GY C ENT
RST 6 CNT 2
C

$
2
B

SHFT
1
A

C
0
ENT

SHFT T C
GX

$
OUT
E

SHFT
4
ENT

C SHFT T C
C
STR 2 MLR 2 STR 2 MLR 2

GX
OUT
B
1
D
ENT

3
ENT GX
OUT
D
3
F
ENT

5
ENT
D

DL205 User Manual, 4th Edition, Rev. A 5–49


Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register

Up Down Counter (UDC) UDC CT aaa


Up
1  230
This Up/Down Counter counts up on each off to on
transition of the Up input and counts down on each
B bbb

 240
Down
off to on transition of the Down input. The counter is Counter #
2  250-1 reset to 0 when the Reset input is on. The count range
is 0 to 99999999. The count input not being used
3  260 must be off in order for the active count input to
Reset
Preset

function.
DS Used
4 HPP Used
Instruction Specification Caution: The UDC uses two
V-memory locations for the 8-digit
Counter Reference (CTaaa): Specifies the counter current value. This means that the
5 number.
Preset Value (Bbbb): Constant value (K) or two
UDC uses two consecutive
counter locations. If UDC CT1 is
consecutive V-memory locations. (Pointer (P) for used in the program, the next
6 DL240, DL250-1 and DL260). available counter is CT3.
Current Values: Current count is a double word value accessed by referencing the associated
7 V or CT memory locations. The V-memory location is the counter location + 1000. For
example, the counter current value for CT5 resides in V-memory location V1005 and V1006.
8 Discrete Status Bit: The discrete status bit is accessed by referencing the associated CT
memory location. It will be on if the value is equal to or greater than the preset value. For
9 example, the discrete status bit for Counter 2 would be CT2.
NOTE: The UDC uses two consecutive V-memory locations for the 8-digit value, therefore two consecutive
10 counter locations. For example, if UDC CT1 is used, the next available counter number is CT3.

11 NOTE: A V-memory preset is required only if the ladder program or an OIT must be used to change the
preset.

12 Operand Data DL230 Range DL240 Range DL250-1 Range DL260 Range
Type
13 Counters
B
CT
aaa
0-76
bbb aaa
0-176
bbb aaa
0-176
bbb aaa
0-376
bbb

V-memory for 1400-7377 1400-7377


14 preset values V
Pointers
– 2000-2377 – 2000-3777 – 10000-17777
1400-7377
– 10000-37777
1400-7377
(presets only) P 2000-3777 10000-17777 10000-37777
A Constants
(presets only) K – 0-99999999 – 0-99999999 – 0-99999999 – 0-99999999
Counter discrete
B status bits CT/V*
Counter current
0-76 or V41140-41143 0-176 or V41140-41147 0-176 or V41140-41147 0-376 or V41100-41157

values V/CT* 1000-1076 1000-1176 1000-1176 1000-1376

C
NOTE: * Both the Counter discrete status bits and the current value are accessed with the same data
D reference with the HPP. DirectSOFT uses separate references, such as “CT2” for discrete status bit for
Counter CT2, and “CTA2” for the current value of Counter CT2.

5–50 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register

Up/Down Counter Example Using Discrete Status Bits


In the following example, if X2 and X3 are off, when X1 toggles from off to on the counter
will increment by one. If X1 and X3 are off the counter will decrement by one when X2
1
toggles from off to on. When the count value reaches the preset value of 3, the counter status
bit will turn on. When the reset X3 turns on, the counter status bit will turn off and the 2
current value will be 0.
DirectSOFT Counting Diagram
3
X1
UDC CT2

X2
K3 X1
4
X2
X3
X3 5
CT2
CT2 Y10
OUT
Current
Value
1 2 1 2 3 0
6
Handheld Programmer Keystrokes Handheld Programmer Keystrokes (cont)
$
STR
B
1
ENT D
3
ENT 7
$ C ENT $ SHFT C SHFT T C ENT
STR 2 STR 2 MLR 2
$
STR
U
D

D
3
ENT

C C
GX
OUT
B
1
A
0
ENT 8
SHFT
ISG 3 2 2

9
Up/Down Counter Example Using Comparative Contacts
In the following example, when X1 makes an off to on transition, counter CT2 will 10
increment by one. Comparative contacts are used to energize Y3 and Y4 at different counts.
When the reset (X3) turns on, the counter status bit will turn off, the current value will be 0,
and the comparative contacts will turn off.
11
DirectSOFT
X1
UDC CT2
Counting Diagram
12
V2000 X1
X2

X3
X2 13
X3

CTA2 K1 Y3
OUT
Y3
14
CTA2 K2 Y4

OUT
Y4

Current
Value
1 2 3 4 0 A
Handheld Programmer Keystrokes

$
STR
B
1
ENT
Handheld Programmer Keystrokes (cont)

B
1
ENT
B
$ C GX D

C
ENT ENT
STR 2 OUT 3
$ D ENT $ SHFT C SHFT T C
STR 3 STR 2 MLR 2

SHFT U D C C C ENT

D
ISG 3 2 2 2

SHFT V C A A A ENT GX E ENT


AND 2 0 0 0 OUT 4
$ SHFT C SHFT T C
STR 2 MLR 2

DL205 User Manual, 4th Edition, Rev. A 5–51


Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register

Shift Register (SR)


1  230 The Shift Register instruction shifts data through a
predefined number of control relays. The control ranges in
DATA SR
 240 the shift register block must start at the beginning of an 8
2  250-1 bit boundary and use 8-bit blocks. CLOCK
From A aaa

 260 The Shift Register has three contacts.


3 • Data — determines the value (1 or 0) that will enter the
RESET
To B bbb
DS Used register
4 HPP Used
• Clock — shifts the bits one position on each low to high
transition
5 • Reset —resets the Shift Register to all zeros.
With each off to on transition of the clock input, the bits which make up the shift register
6 block are shifted by one bit position and the status of the data input is placed into the starting
bit position in the shift register. The direction of the shift depends on the entry in the From
and To fields. From C0 to C17 would define a block of sixteen bits to be shifted from left to
7 right. From C17 to C0 would define a block of sixteen bits, to be shifted from right to left.
The maximum size of the shift register block depends on the number of available control
8 relays. The minimum block size is 8 control relays.
Operand Data DL230 Range DL240 Range DL250-1 Range DL260 Range
Type
9 A/B aaa bbb aaa bbb aaa bbb aaa bbb
Control Relay C 0-377 0-377 0-377 0-377 0-1777 0-1777 0-3777 0-3777
10 DirectSOFT Handheld Programmer Keystrokes

X1 $ B ENT

11 Data Input SR
$
STR

STR
C
1

2
ENT
From C0
X2

12 Clock Input $
STR
S
D
3
ENT

R A
To C17 SHFT SHFT SHFT
X3 RST ORN 0

13 Reset Input
B
1
H
7
ENT

14 Inputs on Successive Scans


Data Clock Reset
Shift Register Bits

C0 C17
A 1 1 0
0 1 0
B 0 1 0
1 1 0
C 0 1 0
0 0 1
D Indicates Indicates
ON OFF

5–52 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data

Accumulator/Stack Load and Output Data Instructions


1
Using the Accumulator
The accumulator in the DL205 series CPUs is a 32-bit register which is used as a temporary
storage location for data that is being copied or manipulated in some manner. For example,
2
you have to use the accumulator to perform math operations, such as, add, subtract, multiply,
etc.. Since there are 32 bits, you can use up to an 8-digit BCD number, or a 32-bit 2’s 3
compliment number. The accumulator is reset to 0 at the end of every CPU scan.
Copying Data to the Accumulator 4
The Load and Out instructions and their variations are used to copy data from a V-memory
location to the accumulator, or to copy data from the accumulator to V-memory. The 5
following example copies data from V-memory location V1400 to V-memory location
V1410. 6
V1400
X1 LD
V1400
8 9 3 5 7
Unused accumulator bits
Copy data from V1400 to the
lower 16 bits of the
accumulator
are set to zero
8
Acc. 0 0 0 0 8 9 3 5

9
OUT
V1410

Copy data from the lower 16 bits


8 9

V1410
3 5
10
of the accumulator to V1410

Since the accumulator is 32 bits and V-memory locations are 16 bits, the Load Double and
11
Out Double (or variations thereof ) use two consecutive V-memory locations or 8-digit BCD
constants to copy data either to the accumulator from a V-memory address or from a V- 12
memory address to the accumulator. For example, if you wanted to copy data from V1400
and V1401 to V1410 and V1411 the most efficient way to perform this function would be as
follows:
13
14
X1 LDD
V1400 6
V1401
7 3 9 5
V1400
0 2 6
A
Copy data from V1400 and
V1401 to the accumulator
B
Acc. 6 7 3 9 5 0 2 6
C
OUTD
V1410 6 7 3 9 5 0 2 6 D
Copy data from the accumulator to
V1410 and V1411 V1411 V1410

DL205 User Manual, 4th Edition, Rev. A 5–53


Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data

Using the Accumulator Stack


1 The accumulator stack is used for instructions that require more than one parameter to
execute a function or for user defined functionality. The accumulator stack is used when more
than one Load instruction is executed without the use of an Out instruction. The first load
2 instruction in the scan places a value into the accumulator. Every Load instruction thereafter
without the use of an Out instruction places a value into the accumulator and the value that
3 was in the accumulator is placed onto the accumulator stack. The Out instruction nullifies
the previous load instruction and does not place the value that was in the accumulator onto
the accumulator stack when the next load instruction is executed. Every time a value is placed
4 onto the accumulator stack the other values in the stack are pushed down one location. The
accumulator is eight levels deep (eight 32-bit registers). If there is a value in the eighth
5 location when a new value is placed onto the stack, the value in the eighth location is pushed
off the stack and cannot be recovered.
6 X1 LD
K3245
Constant

Current Acc. value


3 2 4 5

Accumulator Stack
Load the value 3245 into the accumu- Acc. 0 0 0 0 3 2 4 5

7 lator
Previous Acc. value

Acc. X X X X X
X X X X
Level 1
Level 2
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Level 3 X X X X X X X X

8 Level 4
Level 5
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Level 6 X X X X X X X X

9 LD
K5151
Constant

Current Acc. value


5 1 5 1 Level 7
Level 8
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X

Load the value 5151 into the accumu- Acc. 0 0 0 0 55 1 5 1

10 lator, pushing the value 3245 onto the


stack Previous Acc. value

Acc. 0 0 0 0 33 22 44 55 Level 1 0
Accumulator Stack

0 0 0 3 2 4 5
Bucket

Level 2 X X X X X X X X

11 Level 3
Level 4
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Level 5 X X X X X X X X

12 LD Constant 6 3 6 3
Level 6
Level 7
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Level 8 X X X X X X X X
K6363 Current Acc. value

13 Load the value 6363 into the accumu-


lator, pushing the value 5151 to the 1st
Acc. 0 0 0

Previous Acc. value


0 66 33 66 33

Accumulator Stack
Bucket

stack location and the value 3245 to

14 the 2nd stack location Acc. 0 0 0 0 55 1 5 1 Level 1


Level 2
Level 3
0
0
0
X
0
0
0
X
0 0 5
0 0 3 2 4 5
0 0
X X X X X X
1 5 1

Level 4 X X X X X X X X

A Level 5
Level 6
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Level 7 X X X X X X X X

B Level 8 X X X X X X X X

Bucket

C The POP instruction rotates values upward through the stack into the accumulator. When a
POP is executed the value which was in the accumulator is cleared and the value that was on
D top of the stack is in the accumulator. The values in the stack are shifted up one position in
the stack.

5–54 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data

1
X1 POP Previous Acc. value

Acc. X X X X X
X X
X X X 2
Current Acc. value Accumulator Stack
POP the 1st value on the stack into the
accumulator and move stack values
up one location
Acc. 0 0 0 0 44 55 4 5 Level 1
Level 2
0
0
0
0
0
0
0
0
3
7
7
9
9
3
2
0
3
Level 3 X X X X X X X X

OUT
Level 4
Level 5
?
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
4
V2000 4 5 4 5 Level 6 X X X X X X X X
V2000

Copy data from the accumulator to


V2000
Level 7
Level 8
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
5
POP Previous Acc. value 6
Acc. 0 0 0 0 44 55 44 55

POP the 1st value on the stack into the


accumulator and move stack values
Current Acc. value

Acc. 0 0 0 0 33 77 99 22 Level 1 0
Accumulator Stack

0 0 0 7 9 3 0
7
up one location
Level 2 X X X X X X X X
Level 3
Level 4
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
8
Level 5 X X X X X X X X
OUT
V2001
V2001 3 7 9 2 Level 6
Level 7
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
9
Copy data from the accumulator to Level 8 X X X X X X X X
V2001.

Previous Acc. value


10
POP
Acc. 0 0 0 0 33 47 69 02

POP the 1st value on the stack into the


Current Acc. value Accumulator Stack 11
Acc. X X X X 7 9 3 0 Level 1 X X X X X X X X
accumulator and move stack values
up one location Level 2
Level 3
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X 12
Level 4 X X X X X X X X

OUT
V2002
V2002 7 9 3 0
Level 5
Level 6
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X 13
Level 7 X X X X X X X X
Copy data from the accumulator to
V2002
Level 8 X X X X X X X X
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–55


Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data

Changing the Accumulator Data


1 Instructions that manipulate data also use the accumulator. The result of the manipulated
data resides in the accumulator. The data that was being manipulated is cleared from the
accumulator. The following example loads the constant value 4935 into the accumulator,
2 shifts the data right 4 bits, and outputs the result to V1410.

3 X1 LD
K4935
Constant 4 9 3 5

Load the value 4935 into the

4 accumulator

Acc.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0
8
1
7
0
6 5
0 1
4 3
1 0
2
1
1
0
0
1

5 The upper 16 bits of the accumulator


will be set to 0

Shifted out of
accumulator

6 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SHFR

7 K4

Shift the data in the accumulator


4 bits (K4) to the right
Acc. 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 1

8 OUT
V1410

9 Output the lower 16 bits of the


accumulator to V1410
0 4

V1410
9 3

10 Some of the data manipulation instructions use 32 bits. They use two consecutive V-memory
locations or an 8-digit BCD constant to manipulate data in the accumulator.
11 The following example rotates the value 67053101 two bits to the right and outputs the value
to V1410 and V1411.
12 X1 LDD Constant 6 7 0 5 3 1 0 1
K67053101

13 Load the value 67053101


into the accumulator
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

14 Acc. 0 1 1 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1

A
B ROTR
K2

Rotate the data in the


Acc.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
0 0
1 0 0
1 0
1 1
0 0 0
1 0
1 0
1 0 0 0 0 0 0
1 0 1 0 0 1 1 0
8
0
7
0
6 5
1 0
4 3
0 0
2
0
1
0
0
0

accumulator 2 bits to the right

C
OUTD

D V1410

Output the value in the


accumulator to V1410 and V1411
5 9 C 1 8 C 4 0

V1411 V1410

5–56 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data

Using Pointers
Many of the DL205 series instructions will allow V-memory pointers as a operand. Pointers
can be useful in ladder logic programming, but can be difficult to understand or implement
1
in your application if you do not have prior experience with pointers (commonly known as
indirect addressing). Pointers allow instructions to obtain data from V-memory locations 2
referenced by the pointer value.
NOTE: In the DL205 V-memory addressing is in octal. However the value in the pointer location which will
3
reference a V-memory location is viewed as HEX. Use the Load Address instruction to move an address
into the pointer location. This instruction performs the Octal to Hexadecimal conversion for you. 4
The following example uses a pointer operand in a Load instruction. V-memory location
3000 is the pointer location. V3000 contains the value 400 which is the HEX equivalent of 5
the Octal address V-memory location V2000. The CPU copies the data from V2000 into the
lower word of the accumulator. 6
X1 LD
P3000

V3000 (P3000) contains the value 400


V2000
V2001
2
X
6
X
3
X
5
X
7
Hex. 400 Hex. = 2000 Octal which
contains the value 2635.

0
V3000
4 0 0
V2002
V2003
V2004
X
X
X
X
X
X
X
X
X
X
X
X Accumulator
8
V2005 X X X X 2 6 3 5
OUT
V3100 9
Copy the data from the lower 16 bits of V3100 2 6 3 5
the accumulator to V3100.
V3101 X X X X
10
The following example is similar to the one above, except for the LDA (load address)
instruction which automatically converts the Octal address to the Hex equivalent. 11
X1 Load the lower 16 bits of the
LDA
O 2000
accumulator with Hexadecimal
equivalent to Octal 2000 (400)) 2

Unused accumulator bits


0 0 0

2000 Octal is converted to Hexadecimal


12
400 and loaded into the accumulator
are set to zero
OUT
V 3000
Copy the data from the lower 16 bits of
the accumulator to V3000
Acc. 0 0 0 0 0 4 0 0 13
LD
P 3000
V3000 (P3000) contains the value 400
HEX = 2000 Octal which contains the
value 2635
0 4 0

V3000
0 14
OUT Copy the data from the lower 16 bits of
V 3100
the accumulator to V3100
A
V2000
V2001
2
X
6
X
3
X
5
X
B
V2002 X X X X
Accumulator
0
V3000
4 0 0
V2003
V2004
X
X
X
X
X
X
X
X 0 0 0 0 2 6 3 5 C
V2005 X X X X

D
V3100 2 6 3 5
V3101 X X X X

DL205 User Manual, 4th Edition, Rev. A 5–57


Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data

Load (LD)
1  230 The Load instruction is a 16-bit instruction that loads the value
LD
(Aaaa), which is either a V-memory location or a 4-digit
 240 A aaa
2  250-1
constant, into the lower 16 bits of the accumulator. The upper
16 bits of the accumulator are set to 0.
 260
3 Operand Data DL230 Range DL240 Range DL250-1 Range DL260 Range
Type
4 A aaa aaa aaa aaa bbb
V-memory V All. See Memory map All. See Memory map All See Memory map All See Memory map
5 Pointer P – All V-memory
See Memory map
All V-memory
See Memory map
All V-memory
See Memory map
Constant K 0-FFFF 0-FFFF 0-FFFF 0-FFFF
6 Discrete Bit Flags Description
SP76
7 On when the value loaded into the accumulator by any instruction is zero.

NOTE: Two consecutive Load instructions will place the value of the first load instruction onto the
8 accumulator stack.

In the following example, when X1 is on, the value in V2000 will be loaded into the
9 DS Used accumulator and output to V2010.
HPP Used
10 DirectSOFT
X1
V2000
LD 8 9 3 5

11 V2000

Load the value in V2000 into The unused accumulator


the lower 16 bits of the bits are set to zero

12 accumulator
Acc. 0 0 0 0 88 99 33 55

OUT

13 V2010

8 9 3 5
Copy the value in the lower
16 bits of the accumulator to
14 V2010
V2010

Handheld Programmer Keystrokes

A $
STR
B
1
ENT

L D
B C
SHFT
ANDST
A A
3
A ENT
2 0 0 0
C GX
OUT
SHFT V
AND
C
2
A
0
B
1
A
0
ENT

5–58 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data

Load Double (LDD)


 230 The Load Double instruction is a 32-bit instruction that loads LDD 1
 240 the value (Aaaa), which is either two consecutive V-memory A aaa
 250-1
locations or an 8-digit constant value, into the accumulator.
2
 260
Operand Data DL230 Range DL240 Range DL250-1 Range DL260 Range
3
Type
A aaa aaa aaa aaa bbb 4
V-memory V All. See Memory map All. See Memory map All See Memory map All See Memory map
Pointer P – All V-memory
See Memory map
All V-memory
See Memory map
All V-memory
See Memory map 5
Constant K 0-FFFFFFFF 0-FFFFFFFF 0-FFFFFFFF 0-FFFFFFFF

Discrete Bit Flags Description


6
SP76 On when the value loaded into the accumulator by any instruction is zero.
7
NOTE: Two consecutive Load instructions will place the value of the first load instruction onto the
accumulator stack. 8
In the following example, when X1 is on, the 32-bit value in V2000 and V2001 will be
DS Used loaded into the accumulator and output to V2010 and V2011. 9
HPP Used
DirectSOFT
X1 LDD
V2001 V2000
10
6 7 3 9 5 0 2 6
?
V2000

Load the value in V2000 and


11
V2001 into the 32 bit
accumulator
Acc. 6 7 3 9 65 00 2?
2 66
12
6 7 3 9 5 0 2 6
13
OUTD
V2010

Copy the value in the 32 bit


V2011 V2010
14
accumulator to V2010 and
V2011
A
Handheld Programmer Keystrokes

$
STR
B
1
ENT B
SHFT L D D

C
ANDST
A A
3
A
3

ENT
C
2 0 0 0
GX
OUT
SHFT D
3 D
C A B A ENT
2 0 1 0

DL205 User Manual, 4th Edition, Rev. A 5–59


Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data

Load Formatted (LDF)


1  230 The Load Formatted instruction loads 1 to 32
consecutive bits from discrete memory locations into the LDF A aaa
 240 accumulator. The instruction requires a starting location K bbb
2  250-1 (Aaaa) and the number of bits (Kbbb) to be loaded.
 260 Unused accumulator bit locations are set to zero.
3 Operand Data Type DL240 Range DL250-1 Range DL260 Range
A aaa bbb aaa bbb aaa bbb
4 Inputs
Outputs
X
Y
0–477
0–477


0–777
0–777


0–1777
0–1777

5 Control Relays
Stage bits
C
S
0–377
0–777


0–1777
0–1777


0–3777
0–1777


Timer bits T 0–177 – 0–377 – 0–377 –
6 Counter bits
Special Relays
CT 0–177
SP 0-137, 540-617


0–177
0–777


0–377
0–777

7 Global I/O
Constant
GX/GY
K



1–32



1–32
0–3777


1–32

8 Discrete Bit Flags


SP76
Description
On when the value loaded into the accumulator by any instruction is zero.

9 NOTE: Two consecutive Load instructions will place the value of the first load instruction onto the
accumulator stack.
10 In the following example, when C0 is on, the binary pattern of C10–C16 (7 bits) will be
DS Used loaded into the accumulator using the Load Formatted instruction. The lower 7 bits of the
11 HPP Used accumulator are output to Y0–Y6 using the Out Formatted instruction.
DirectSOFT

12 C0 LDF
K7
C10
Location

C10
Constant

K7
C16 C15 C14 C13 C12 C11 C10
OFF OFF OFF ON ON ON OFF

Load the status of 7

13 consecutive bits (C10–C16)


into the accumulator
The unused accumulator bits are set to zero

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

14 Acc. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0

OUTF Y0

A K7

Copy the value from the


specified number of bits in
Location Constant Y6 Y5
? Y4
? Y3
?
OFF OFF OFF ON ON ON OFF
?
Y2 Y1
? Y0
Y0 K7
the accumulator to Y0 – Y6

B Handheld Programmer Keystrokes

$ SHFT C A ENT
STR 2 0

C SHFT L
ANDST
C
D

B
3
F

A
5
H
SHFT ENT
2 1 0 7

D GX
OUT
SHFT F
5
A H ENT
0 7

5–60 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data

Load Address (LDA)


 230 The Load Address instruction is a 16-bit
instruction. It converts any octal value or address to
LDA 1
 240 the HEX equivalent value and loads the HEX value
O aaa
 250-1 into the accumulator. This instruction is useful 2
 260 when an address parameter is required since all
addresses for the DL205 system are in octal. 3
Operand Data
Type DL230 Range DL240 Range DL250-1 Range DL260 Range 4
aaa aaa aaa aaa
Octal Address O All V-memory All V-memory All V-memory All V-memory
5
See Memory map See Memory map See Memory map See Memory map

Discrete Bit Flags Description


6
SP76 On when the value loaded into the accumulator by any instruction is zero.

NOTE: Two consecutive Load instructions will place the value of the first load instruction onto the
7
accumulator stack.
8
In the following example when X1 is on, the octal number 40400 will be converted to a HEX

DS Used
4100 and loaded into the accumulator using the Load Address instruction. The value in the
lower 16 bits of the accumulator is copied to V2000 using the Out instruction.
9
HPP Used
DirectSOFT
10
X1 Octal Hexadecimal
LDA
O 40400 4 0 4 0 0 4 1 0 0 11
Load The HEX equivalent to
The unused accumulator
the octal number into the
lower 16 bits of the
accumulator
bits are set to zero 12
Acc. 0 0 0 0 4 1 0 0

13
OUT
V2000
4 1 0

V2000
0
14
Copy the value in lower 16
bits of the accumulator to
V2000
A
Handheld Programmer Keystrokes

$ B
B
ENT
STR 1

SHFT L
ANDST
D
3
A
0
C
E

GX
4
A
0
E
4
A

V
0
A

C
0
ENT

A A A
D
SHFT ENT
OUT AND 2 0 0 0

DL205 User Manual, 4th Edition, Rev. A 5–61


Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data

Load Accumulator Indexed (LDX)


1  230 Load Accumulator Indexed is a 16-bit instruction that specifies
a source address (V-memory) which will be offset by the value
LDX

 240 in the first stack location. This instruction interprets the value
A aaa

2  250-1 in the first stack location as HEX. The value in the offset
 260 address (source address + offset) is loaded into the lower 16
3 bits of the accumulator. The upper 16 bits of the accumulator are set to 0.
DS Used Helpful hint: — The Load Address instruction can be used to convert an octal address to a
4 HPP Used HEX address and load the value into the accumulator.
Operand Data Type DL250-1 Range DL260 Range
5 A aaa aaa
V-memory V All. See All. See
memory map memory map
6 Pointer P All V-memory.
See memory map
All V-memory.
See memory map

7 NOTE: Two consecutive Load instructions will place the value of the first load instruction onto the
accumulator stack.
8 In the following example when X1 is on, the HEX equivalent for octal 25 will be loaded into
the accumulator (this value will be placed on the stack when the Load Accumulator Indexed
9 instruction is executed). V-memory location V1410 will be added to the value in the 1st. level
of the stack and the value in this location (V1435 = 2345) is loaded into the lower 16 bits of
10 the accumulator using the Load Accumulator Indexed instruction. The value in the lower 16
bits of the accumulator is output to V1500 using the Out instruction.
11
12 X1 LDA
O 25
Octal
2 5
Hexadecimal
0 0 1 5

Load The HEX equivalent to

13 octal 25 into the lower 16


bits of the accumulator
The unused accumulator
bits are set to zero

Acc. 0 0 0 0 0 0 1 5

14 LDX
V1410
HEX Value in 1st
Accumulator Stack
Octal stack location Octal
Move the offset to the stack.

A Load the accumulator with


the address to be offset
V 1 4 1 0 + 1

The unused accumulator


5 = V 1 4 3 5 Level 1
Level 2
0
X
0
X
0
X
0
X X
0 0
X
1
X
5
X
Level 3 X X X X X X X X
bits are set to zero

B OUT
V1500 Acc. 0 0 0 0 2 3 4 5
Level 4
Level 5
X
X
X
X
X
X
X X
X X
X
X
X
X
X
X
The value in V1435 Level 6 X X X X X X X X
Copy the value in the lower is 2345

C 16 bits of the accumulator


to V1500
2 3 4 5
Level 7
Level 8
X
X
X
X
X
X
X X
X X
X
X
X
X
X
X

V1500

5–62 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data

Load Accumulator Indexed from Data Constants


(LDSX) LDSX 1
 230 The Load Accumulator Indexed from Data Constants is a
K aaa
 240
16-bit instruction. The instruction specifies a Data Label
Area (DLBL) where numerical or ASCII constants are stored.
2
 250-1 This value will be loaded into the lower 16 bits.
 260 The LDSX instruction uses the value in the first level of the accumulator stack as an offset to 3
determine which numerical or ASCII constant within the Data Label Area will be loaded into
DS Used the accumulator. The LDSX instruction interprets the value in the first level of the 4
HPP Used accumulator stack as a HEX value.
Helpful hint: — The Load Address instruction can be used to convert octal to HEX and load
the value into the accumulator.
5
Operand Data Type DL240 Range DL250-1 Range DL260 Range 6
aaa aaa aaa
Constant K 1-FFFF 1-FFFF 1-FFFF 7
NOTE: Two consecutive Load instructions will place the value of the first load instruction onto the
accumulator stack. 8
In the following example when X1 is on, the offset of 1 is loaded into the accumulator. This
value will be placed into the first level of the accumulator stack when the LDSX instruction is 9
executed. The LDSX instruction specifies the Data Label (DLBL K2) where the numerical
constant(s) are located in the program and loads the constant value, indicated by the offset in
the stack, into the lower 16 bits of the accumulator.
10
X1
LD
K1
The unused accumulator
Hexadecimal
0 0 0 1
Value in 1st. level of stack is
used as offset. The value is 1 11
bits are set to zero Accumulator Stack
Load the offset value of 1 (K1) into the lower 16
bits of the accumulator.

LDSX
Acc. 0 0 0 0 0 0 0 1 Level 1
Level 2
Level 3
0
X
X
X
X
0 0
X
X
0
X X
X X
0 0
X
X
0
X
X
1
X
X
12
K2
Constant Level 4 X X X X X X X X
Move the offset to the stack.
Load the accumulator with the data label
number The unused accumulator
bits are set to zero
K 0 0 0 2 Level 5
Level 6
X
X
X
X
X
X
X X
X X
X
X
X
X
X
X
13
Level 7 X X X X X X X X
OUT

.
.
V2000

Copy the value in the lower


Acc. 0 0 0 0 0 0 0 2
Level 8 X X X X X X X X
14
16 bits of the accumulator
. The unused accumulator
to V2000

END
bits are set to zero

Acc. 0 0 0 0 2 3 2 3
A
DLBL K2

NCON
2 3 2 3
B
Offset 0
K3333 V2000

NCON
C
Offset 1
K2323

NCON
D
Offset 2
K4549

DL205 User Manual, 4th Edition, Rev. A 5–63


Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data

$ B ENT Handheld Programmer Keystrokes


STR 1

1 SHFT L
ANDST
D
3
SHFT K
JMP
B
1
ENT

L D S X C

2 SHFT

GX
ANDST

SHFT
3
V
RST
C
SET
A A
2
ENT

A ENT
OUT AND 2 0 0 0

3 SHFT E
4
N
TMR
D
3
ENT

SHFT D L B L C ENT
3 ANDST 1 ANDST 2
4 SHFT N
TMR
C
2
O
INST#
N
TMR
D
3
D
3
D
3
D
3
ENT

N C O N C D C D

5 SHFT

SHFT N
TMR
C
2 INST#
O N
TMR
E
2
F
3
E
2
J
3
ENT

ENT
TMR 2 INST# TMR 4 5 4 9

6 Load Real Number (LDR)


LDR
7  230 The Load Real Number instruction loads a real number
contained in two consecutive V-memory locations, or an 8-
A aaa
 240 digit constant into the accumulator.
8  250-1
 260 Operand Data Type DL250-1 Range DL260 Range
A aaa aaa
9 DS Used
V-memory V All. See memory map All. See memory map
Pointer P All V-memory. See memory map All V-memory. See memory map
HPP N/A
10 Real Constants R -3.402823E+038 to
+3.402823E+038
-3.402823E+038 to
+3.402823E+038

LDR
11 DirectSOFT allows you to enter real numbers directly,
by using the leading “R” to indicate a real number
R3.14159

entry. You can enter a constant such as Pi, shown in


12 the example to the right. To enter negative numbers,
use a minus (–) after the “R”. LDR

13 For very large numbers or very small numbers, you can


R5.3E6

use exponential notation. The number to the right is OUTD


14 5.3 million. The OUTD instruction stores it in V1400
and V1401.
V1400

A These real numbers are in the IEEE 32-bit floating point format, so they occupy two V-
memory locations, regardless of how big or small the number may be! If you view a stored real
number in hex, binary, or even BCD, the number shown will be very difficult to decipher.
B Just like all other number types, you must keep track of real number locations in memory, so
they can be read with the proper instructions later.
C The previous example above stored a real number in V1400
and V1401. Suppose that now we want to retrieve that
number. Just use the Load Real with the V data type, as
D shown to the right. Next we could perform real math on it,
LDR
V1400
or convert it to a binary number.

5–64 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data

Out (OUT)
 230 The Out instruction is a 16-bit instruction that copies
the value in the lower 16 bits of the accumulator to a
OUT 1
 240 specified V-memory location (Aaaa).
A aaa

 250-1 2
 260
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range 3
A aaa aaa aaa aaa
V-memory V All. See
memory map
All. See
memory map
All. See
memory map
All. See
memory map
4
All V-memory. All V-memory. All V-memory.
Pointer P - See memory map See memory map See memory map 5
Discrete Bit Flags Description
SP76 On when the value loaded into the accumulator by any instruction is zero. 6
In the following example, when X1 is on, the value in V2000 will be loaded into the lower 16
bits of the accumulator using the Load instruction. The value in the lower 16 bits of the
7
accumulator are copied to V2010 using the Out instruction.
DS Used
8
DirectSOFT
HPP Used
X1 LD
V2000 8
V2000
9 3 5
9
Load the value in V2000 into
the lower 16 bits of the
accumulator
The unused accumulator
bits are set to zero
10
Acc. 0 0 0 0 88 99 33 55
OUT 11
V2010

Copy the value in the lower


16 bits of the accumulator to 8 9 3 5 12
V2010 V2010

Handheld Programmer Keystrokes


13
$ B
STR
L D
1
ENT
14
SHFT
ANDST 3
C
2
A
0
A
0
A
0
ENT
A
GX
OUT
SHFT V
AND
C
2
A
0
B
1
A
0
ENT
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–65


Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data

Out Double (OUTD)


1  230 The Out Double instruction is a 32-bit instruction that
copies the value in the accumulator to two consecutive OUTD
 240 V-memory locations at a specified starting location A aaa
2  250-1 (Aaaa).
 260
3 Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
A aaa aaa aaa aaa
4 V-memory V All. See All. See All. See All. See
memory map memory map memory map memory map

5 Pointer P - All V-memory.


See memory map
All V-memory. All V-memory.
See memory map See memory map
In the following example, when X1 is on, the 32-bit value in V2000 and V2001 will be
6 loaded into the accumulator using the Load Double instruction. The value in the
accumulator is output to V2010 and V2011 using the Out Double instruction.
7 DS Used
HPP Used

8 DirectSOFT
6
V2001
7 3 9 5
V2000
0 2 6
Handheld Programmer Keystrokes

X1 ? $ B ENT
LDD STR 1

9 V2000

Load the value in V2000 and


SHFT L
ANDST
D
3
D
3
V2001 into the accumulator Acc. 6 7 3 9 55 00 2?
2 66
C A A A ENT
10 OUTD
V2010
GX
OUT
2

SHFT
0
D
0

3
0

6 7 3 9 5 0 2 6
11 Copy the value in the
accumulator to V2010 and
V2011
V2011 V2010
C
2
A
0
B
1
A
0
ENT

12
13
14
A
B
C
D

5–66 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data

Out Formatted (OUTF)


 230 The Out Formatted instruction outputs 1 to 32 bits
from the accumulator to the specified discrete memory
OUTF A aaa 1
 240 locations. The instruction requires a starting location
K bbb

 250-1 (Aaaa) for the destination and the number of bits 2


 260 (Kbbb) to be output.

DS Used
3
Operand Data Type DL240 Range DL250-1 Range DL260 Range
HPP Used
A aaa bbb aaa bbb aaa bbb 4
V-memory All. See
V Memory All See All See

All V-
map Memory map
All V-
Memory map
All V-
5
memory memory memory
Pointer P See Memory
map
See Memory
map
See Memory
map
6
Constant K 1-32 1-32 1-32
7
In the following example, when C0 is on, the binary pattern of C10–C16 (7 bits) will be
loaded into the accumulator using the Load Formatted instruction. The lower 7 bits of the 8
accumulator are output to Y20–Y26 using the Out Formatted instruction.
9
DirectSOFT
C0 LDF
K7
C10
Location

C10
Constant

K7
C16 C15 C14 C13 C12 C11 C10
OFF OFF OFF ON ON ON OFF
10
Load the status of 7
consecutive bits (C10–C16)
into the accumulator
The unused accumulator bits are set to zero

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
11
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
OUTF
K7
Y20
Accumulator 12
Copy the value of the
specified number of bits
from the accumulator to
Y20–Y26 Location

Y20
Constant

K7
Y26 Y25 Y24 Y23 Y22 Y21 Y20
OFF OFF OFF ON ON ON OFF
13
Handheld Programmer Keystrokes

$
STR
SHFT C
2
A
0
ENT 14
SHFT L D F

SHFT
ANDST
C
2
B
3

1
A
5

0
H
7
ENT
A
GX F

C
OUT

2
SHFT

A
0
5
H
7
ENT
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–67


Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data

Out Indexed (OUTX)


1  230
The Out Indexed instruction is a 16-bit instruction. It
copies a 16-bit or 4-digit value from the first level of the O UT X
 240 accumulator stack to a source address offset by the value in A aaa
2  250-1 the accumulator(V-memory + offset).This instruction
 260 interprets the offset value as a HEX number. The upper 16
3 bits of the accumulator are set to zero.
DS Used
Operand Data Type DL250-1 Range DL260 Range
4 HPP Used
A aaa aaa
All. See All. See
5 V-memory V memory map
All V-memory.
memory map
All V-memory.
Pointer P See memory map See memory map
6 In the following example, when X1 is on, the constant value 3544 is loaded into the
accumulator. This is the value that will be output to the specified offset V-memory location
7 (V1525). The value 3544 will be placed onto the stack when the Load Address instruction is
executed. Remember, two consecutive Load instructions places the value of the first load
8 instruction onto the stack. The Load Address instruction converts octal 25 to HEX 15 and
places the value in the accumulator. The Out Indexed instruction outputs the value 3544
which resides in the first level of the accumulator stack to V1525.
9
DirectSOFT

10 X1 LD
K3544
3
Constant
5 4 4

The unused accumulator

11 Load the accumulator with


the value 3544.

Acc.
bits are set to zero.

0 0 0 0 3 5 4 4

12 LDA
Octal
0
HEX
0 1 5
2 5
O25

13 Load the HEX equivalent to


octal 25 into the lower 16 bits
of the accumulator. This is the
The unused accumulator
bits are set to zero.
offset for the Out Indexed 0 0 0 0 0 0 1 5
Acc.

14 instruction, which determines


the final destinaltion address.
Octal Octal Octal
OUTX
V 1 5 0 0 + 2 5 = V 1 5 2 5

A V1500
Copy the value in the first
The hex 15 converts
to 25 octal, which is
added to the base
3 5 4 4 Level 1 0
Accumulator Stack
0 0 0 3 5 4 4
level of the stack to the V1525 Level 2 X X X X X X X X
offset address V1525 address of V1500 to yield

B (V1500+25).
Handheld Programmer Keystrokes
the final destination. Level 3
Level 4
X
X
X
X X
X X
X X
X
X
X
X
X
X
X X
X X
X X
X
X
X
Level 5
$ B

C SHFT
STR
L
ANDST
D
1

3
ENT

PREV D
3
F
5
E
4
E
4
ENT
Level 6
Level 7
Level 8
X
X
X
X X
X X
X X
X
X
X
X
X
X
X X
X X
X X
X
X
X
L D A C F

D SHFT

GX
OUT
ANDST

SHFT X
SET
3 0
B F
2
A
5
A
ENT

ENT
1 5 0 0

5–68 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data

Out Least (OUTL)

 230
The Out Least instruction copies the value in the lower eight
bits of the accumulator to the lower eight bits of the specified
O UT L
A aaa
1
 240 V-memory location (i.e., it copies the low byte of the low word
2
 250-1 of the accumulator).
 260 In the following example, when X1 is on, the value in V1400 will be loaded into the lower 16
3
bits of the accumulator using the Load instruction. The value in the lower 8 bits of the
DS Used accumulator are copied to V1500 using the Out Least instruction.
HPP Used Operand Data Type DL260 Range 4
A aaa
V-memory
Pointer
V
P
All V-memory. See memory map
All V-memory. See memory map
5
X1
LD
V1400
Load the value in V1400 into
the lower 16 bits of the
accumulater
8
V1400
9 3 5 6
The unused accumulator
OUTL
V1500
Copy the value in the lower
8 bits of the accumulator to
V1500
bits are set to zero

Acc.
0 0 0 0 8 9 3 5 7
Handheld Programmer Keystrokes

SHFT
STR
L
B

D
1
ENT

B E A A ENT
0 0 3 5
8
ANDST 3 1 4 0 0 V1500
GX
OUT
SHFT L
ANDST
B
1
F
5
A
0
A
0
ENT
9
Out Most (OUTM)

 230
The Out Most instruction copies the value in the upper eight
bits of the lower sixteen bits of the accumulator to the upper
O UT M 10
A aaa
 240 eight bits of the specified V-memory location (i.e., it copies the
11
 250-1 high byte of the low word of the accumulator).
 260 Operand Data Type DL260 Range
12
A aaa
DS Used V-memory V All V-memory. See memory map
HPP Used Pointer P All V-memory. See memory map 13
In the following example, when X1 is on, the value in V1400 will be loaded into the lower 16
bits of the accumulator using the Load instruction. The value in the upper 8 bits of the lower 14
16 bits of the accumulator are copied to V1500 using the Out Most instruction.
X1
LD Load the value in V1400 into
the lower 16 bits of the
V1400
A
V1400 8 9 3 5
accumulator

OUTM
V1500
Copy the value in the upper
8 bits of the lower 16 bits of
the accumulator to V1500
The unused accumulator
bits are set to zero
B
Acc. 0 0 0 0 8 9 3 5

Handheld Programmer Keystrokes


C
$ B ENT 8 9 0 0
STR 1

SHFT L
ANDST
D
3
B
1
E
4
A
0
A
0
ENT
V1500
D
GX SHFT M B F A A ENT
OUT ORST 1 5 0 0

DL205 User Manual, 4th Edition, Rev. A 5–69


Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data

Pop (POP)
1  230 The Pop instruction moves the value from the first level
of the accumulator stack (32 bits) to the accumulator
POP

 240 and shifts each value in the stack up one level. In the
2  250-1 example below, when C0 is on, the value 4545 that was
 260 on top of the stack is moved into the accumulator using the Pop instruction The value is
3 output to V2000 using the Out instruction. The next Pop moves the value 3792 into the
DS Used accumulator and outputs the value to V2001. The last Pop moves the value 7930 into the
HPP Used accumulator and outputs the value to V2002. Please note if the value in the stack were greater
4 than 16 bits (4 digits) the Out Double instruction would be used and two V-memory
locations for each Out Double must be allocated.
5 Discrete Bit Flags Description
SP63 On when the result of the instruction causes the value in the accumulator to be zero.
6 DirectSOFT
C0
Previous Acc. value
POP
Acc. X X X X X
X X
X X X

7 Pop the 1st. value on the stack into the


accumulator and move stack values
Current Acc. value

Acc. 0 0 0 0 44 55 44 55 Level 1 0
0
Accumulator Stack

0
0
0 0 3 7 9 2
up one location Level 2 0 0 0 0 7 9 3 0

8 OUT
V2000
Level 3
Level 4
Level 5
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
V2000 4 5 4 5 Level 6 X X X X X X X X

9 Copy the value in the lower 16 bits of


the accumulator to V2000 Level 7
Level 8
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X

POP
Previous Acc. value

10 Pop the 1st. value on the stack into the


accumulator and move stack values
Acc. 0 0 0

Current Acc. value


0 44 55 44 55

Accumulator Stack
up one location
Acc. 0 0 0 0 3 7 9 2 Level 1 0 0 0 0 7 9 3 0

11 OUT
V2001
Level 2
Level 3
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Level 4

12 Copy the value in the lower 16 bits of


the accumulator to V2001 V2001 3 7 9 2
Level 5
Level 6
Level 7
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
POP Level 8 X X X X X X X X

13 Pop the 1st. value on the stack into the


accumulator and move stack values
Previous Acc. value

Acc. 0 0 0 0 3 7 9 2
up one location

14 OUT
V2002
Current Acc. value

Acc. 0 0 0 0 7 9 3 0 Level 1
Level 2
X
X
Accumulator Stack

X
X
X
X
X
X
X
X
X
X
X
X
X
X
Level 3 X X X X X X X X

A Copy the value in the lower 16 bits of


the accumulator to V2002

V2002 7 9 3 0
Level 4
Level 5
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Level 6 X X X X X X X X
Handheld Programmer Keystrokes

B $
STR
P
SHFT C

O
2
A

P
0
ENT
Level 7
Level 8
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X

SHFT SHFT ENT


CV INST# CV

C GX
OUT

SHFT P
SHFT

SHFT
V

O
AND
C

P
2
A

ENT
0
A
0
A
0
ENT

CV INST# CV

D GX
OUT

SHFT P
SHFT

SHFT
V

O
AND
C

P
2
A

ENT
0
A
0
B
1
ENT

CV INST# CV
GX SHFT V C A A C ENT
OUT AND 2 0 0 2

5–70 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Logical

Logical Instructions (Accumulator)


1
And (AND)
 230 The And instruction is a 16-bit instruction that logically ANDs
AND
2
 240 the value in the lower 16 bits of the accumulator with a
specified V-memory location (Aaaa). The result resides in the A aaa
 250-1 accumulator. The discrete status flag indicates if the result of the 3
 260 And is zero.
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
4
A aaa aaa aaa aaa
V-memory V All. See All. See All. See All. See 5
memory map memory map memory map memory map
All V-memory. All V-memory. All V-memory.
Pointer P - See memory map See memory map See memory map 6
Discrete Bit Flags
SP63
Description
on when the result of the instruction causes the value in the accumulator to be zero.
7
NOTE: The status flags are only valid until another instruction that uses the same flags is executed. 8
In the following example, when X1 is on, the value in V2000 will be loaded into the
accumulator using the Load instruction. The value in the accumulator is anded with the value 9
in V2006 using the And instruction. The value in the lower 16 bits of the accumulator is
DS Used
HPP Used
output to V2010 using the Out instruction. 10
DirectSOFT
X1 LD
V2000
11
2 8 ?
7 A
V2000

Load the value in V2000 into


the lower 16 bits of the
The upper 16 bits of the accumulator
will be set to 0
12
accumulator
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

AND
Acc. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0 13
V2006

AND the value in the


accumulator with
6A38
Acc.

AND (V2006)
0

0
0

0
0

0
0

0
0

0
0

0
0

0
0

0
0

0
0

0
0

0
0

0
0

0
0

0
0

0
0

0
0

0
0

1 1
1 0

0
1

1
0

0
0

1
0

0
0

0
1 1

0 1
1

1
1

1
0

0
1

0
0

0
14
the value in V2006
0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0

OUT
Acc.
A
V2010

Copy the lower 16 bits of the


accumulator to V2010
2 8

V2010
3 8
B
Handheld Programmer Keystrokes

$
STR
B
1
ENT C
SHFT L D C A A A ENT

V
AND
ANDST

SHFT
3
V
AND
C
2

2
A
0

0
A
0

0
G
0

6
ENT
D
GX SHFT V C A B A ENT
OUT AND 2 0 1 0

DL205 User Manual, 4th Edition, Rev. A 5–71


Chapter 5: Standard RLL Instructions - Logical

And Double (ANDD)


1  230 The And Double is a 32-bit instruction that
logically ANDs the value in the accumulator with ANDD
 240 two consecutive V-memory locations or an 8-digit A aaa
2  250-1 (max.) constant value (Aaaa). The result resides in
 260 the accumulator. Discrete status flags indicate if the
3 result of the And Double is zero or a negative
number (the most significant bit is on).
DS Used
4 HPP Used
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
A aaa aaa aaa aaa
5 V-memory V - - All. See
memory map
All. See
memory map
Pointer P - - All V-memory. All V-memory.
6 Constant K 0-FFFFFFFF 0-FFFFFFFF
See memory map
0-FFFFFFFF
See memory map
0-FFFFFFFF

7 SP63
Discrete Bit Flags
Will be on if the result in the accumulator is zero
Description

SP70 Will be on if the result in the accumulator is negative


8
NOTE: The status flags are only valid until another instruction that uses the same flags is executed.
9 In the following example, when X1 is on, the value in V2000 and V2001 will be loaded into
the accumulator using the Load Double instruction. The value in the accumulator is anded
10 with 36476A38 using the And Double instruction. The value in the accumulator is output to
V2010 and V2011 using the Out Double instruction.
11 DirectSOFT
X1 5
V2000
4 7 E 2
V2000
8 7 A
LDD

12 V2000

Load the value in V2000 and


V2001 into the accumulator
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

13 ANDD
K36476A38
Acc.

Acc.
0

0
1

1
0

0
1

1
0

0
1

1
0

0
0

0
0

0
1

1
1

1
1

1
1 1

1 1
1

1
0

0
0

0
0

0
1

1
0

0
1

1
0

0
0

0
0

0
0

0
1

1 1
1 1

1
1

1
0

0
1

1
0

14 AND the value in the


accumulator with
the constant value
36476A38
AND 36476A38

Acc.
0

0
0

0
1 1

0 0
1
0

0
1 1

1 0
0

0
0

0
1

0
1
0

0
0

0
0

0
1

0
1
1 1

0
1 0
0

0
1

0
1

1
0

0
1

1
0

0
1

0
0

0
0

0
0

0
1 1

1 1
1

1
0

0
0

0
0

A OUTD
V2010 1 4 4 6 2 8 3 8

B Copy the value in the


accumulator to V2010 and
V2011
V2011 V2010

C Handheld Programmer Keystrokes


$ B ENT
STR 1

D SHFT

V
L
ANDST

SHFT
D

D
3
D
3

SHFT
C

K
2
A

D
0
A

G
0
A

E
0
H
ENT

G SHFT A SHFT D I ENT


AND 3 JMP 3 6 4 7 6 0 3 8
GX SHFT D C A B A ENT
OUT 3 2 0 1 0

5–72 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Logical

And Formatted (ANDF)


 230 The And Formatted instruction logically ANDs the binary value in
the accumulator and a specified range of discrete memory bits (1 to
ANDF A aaa 1
 240 32). The instruction requires a starting location (Aaaa) and number
K bbb
 250-1 of bits (Kbbb) to be ANDed. Discrete status flags indicate if the 2
 260 result is zero or a negative number (the most significant bit =1).

DS Used
Operand Data Type DL250-1 Range DL260 Range 3
A aaa bbb aaa bbb
HPP Used Inputs
Outputs
X
Y
0–777
0–777


0–1777
0–1777


4
Control Relays C 0–1777 – 0–3777 –
Stage bits S 0–1777 – 0–1777 – 5
Timer bits T 0–377 – 0–377 –
Counter bits
Special Relays
CT
SP
0–177
0-777


0–377
0–777


6
Global I/O GX/GY - – 0-3777 –
Constant K - 1–32 - 1–32 7
Discrete Bit Flags Description
SP63 Will be on if the result in the accumulator is zero
8
SP70 Will be on if the result in the accumulator is negative

NOTE: Status flags are valid only until another instruction uses the same flag.
9
In the following example, when X1 is on the Load Formatted instruction loads C10–C13
(4 binary bits) into the accumulator. The accumulator contents is logically ANDed with the
10
bit pattern from Y20–Y23 using the And Formatted instruction. The Out Formatted
instruction outputs the accumulator’s lower four bits to C20–C23. 11
DirectSOFT

X1
LDF
K4
C10 Location
C10
Constant
K4
C13 C12 C11 C10
ON ON ON OFF
12
Load the status of 4
consecutive bits (C10-C13)
into the accumulator
The unused accumulator bits are set to zero

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
13
ANDF Y20
K4

And the binary bit pattern


0 0
Accumulator

0 0 0
0 0 0

0 0
0

0
0

0 0
0 0 0

0 0
0

0
0

0 0
0 0 0

0 0
0

0
0

0
0

0 0
0 0 0

0 0
0

0
0

0 0
0 0 0

0 0
0

0
0

0 1
1 1 1

1 1
0

0
14
Acc.
(Y20-Y23) with the value in
the accumulator

OUTF C20
AND (Y20-Y23)
Y23 Y22 Y21 Y20
ON OFF OFF OFF

0 0 0 0 0 0 0 0 0 0 0 0 1
1 0

0
0

0
0

0
A
K4 Acc.

Copy the value in the lower


4 bits in accumulator to
C20-C23
B
Location Constant C23 C22 C21 C20
Handheld Programmer Keystrokes
$
STR
B
1
ENT
C20 K4 ON OFF OFF OFF
C
SHFT L D F NEXT NEXT NEXT NEXT B A E ENT

V
AND
ANDST

SHFT F
3

5
5

NEXT C
2
A
0
E
4
1

ENT
0 4
D
GX SHFT F PREV PREV C A E ENT
OUT 5 2 0 4

DL205 User Manual, 4th Edition, Rev. A 5–73


Chapter 5: Standard RLL Instructions - Logical

And with Stack (ANDS)


1  230
The And with Stack instruction is a 32-bit instruction that
logically ANDs the value in the accumulator with the first level ANDS
 240 of the accumulator stack. The result resides in the accumulator.
2  250-1 The value in the first level of the accumulator stack is removed
 260 from the stack and all values are moved up one level. Discrete
3 status flags indicate if the result of the And with Stack is zero
or a negative number (the most significant bit is on).
DS Used
4 HPP Used
SP63
Discrete Bit Flags Description
Will be on if the result in the accumulator is zero
SP70 Will be on if the result in the accumulator is negative
5
NOTE: Status flags are valid only until another instruction uses the same flag.
6 In the following example, when X1 is on, the binary value in the accumulator will be anded
with the binary value in the first level of the accumulator stack. The result resides in the
7 accumulator. The 32 bit value is then output to V1500 and V1501.

8 DirectSOFT

9 X1 LDD

V1400
5
V1401
4 7 E 2
V1400
8 7 A

Load the value in V1400 and

10 1401 into the accumulator

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Acc. 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0

11 ANDS
Acc. 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0
36476A38
AND the value in the

12 accumulator with the


first level of the
accumulator stack
AND (top of stack)

Acc.
0

0
0

0
1

0 1
0
1 0 1

0 1
1

0
0

0 0
0 1 0

0
1 0
0

0
0

0 1
0
1 1 1

0
1 0
0

0
1

0
1

1 0
0 1 0

1 0
1

0
0

0 0
0 0 1

0 1
1

1
1

1 0
0 0 0

0 0

13 OUTD
V1500
1 4 4 6 2 8 3 8
Copy the value in the
accumulator to V1500

14 and 1501

Handheld Programmer Keystrokes


V1501 V1500

A $

SHFT
STR
L
B

D
1
D
ENT

B E A A ENT
ANDST 3 3 1 4 0 0

B V
AND
GX
SHFT S

D
RST
ENT

B F A A
SHFT ENT
OUT 3 1 5 0 0

C
D

5–74 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Logical

Or (OR)
 230 The Or instruction is a 16-bit instruction that logically
ORs the value in the lower 16 bits of the accumulator with
1
 240 a specified V-memory location (Aaaa). The result resides in
OR
A aaa
 250-1 the accumulator. The discrete status flag indicates if the 2
 260 result of the Or is zero.
3
DS Used Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
HPP Used
A aaa aaa aaa aaa 4
V-memory V All All All All
See memory map See memory map See memory map See memory map
Pointer P - All V-memory.
See memory map
All V-memory.
See memory map
All V-memory.
See memory map
5
Discrete Bit Flags Description 6
SP63 Will be on if the result in the accumulator is zero

NOTE: The status flags are only valid until another instruction that uses the same flags is executed.
7
In the following example, when X1 is on, the value in V2000 will be loaded into the 8
accumulator using the Load instruction. The value in the accumulator is ored with V2006
using the Or instruction. The value in the lower 16 bits of the accumulator are output to
V2010 using the Out instruction.
9
DirectSOFT
X1 LD
2 8
V2000
7 A
10
V2000

Load the value in V2000 into


the lower 16 bits of the
accumulator
The upper 16 bits of the accumulator
will be set to 0 11
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

OR
Acc. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0
12
V2006 Acc. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0

Or the value in the


accumulator with
the value in V2006
6A38
OR (V2006) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 1 1 0 0 0 13
Acc. 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 1 1 1 0 1 0

OUT
V2010
14
Copy the value in the lower
16 bits of the accumulator to
V2010
6 A

V2010
7 A
A
Handheld Programmer Keystrokes

$
STR
B
1
ENT B
SHFT L D C A A A ENT
ANDST 3 2 0 0 0
Q
OR
SHFT V
AND
C
2
A
0
A
0
G
6
ENT C
GX SHFT V C A B A ENT
OUT AND 2 0 1 0
D

DL205 User Manual, 4th Edition, Rev. A 5–75


Chapter 5: Standard RLL Instructions - Logical

Or Double (ORD)
1  230
The Or Double is a 32-bit instruction that ORs the value in
the accumulator with the value (Aaaa) or an 8-digit (max.) ORD
 240 constant value. The result resides in the accumulator. A aaa
2  250-1 Discrete status flags indicate if the result of the Or Double is
 260 zero or a negative number (the most significant bit is on).
3
DS Used Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
4 HPP Used A aaa
-
aaa
- All. See
aaa aaa
All. See
V-memory V memory map memory map
5 Pointer P - - All V-memory.
See memory map
All V-memory.
See memory map
Constant K 0-FFFFFFFF 0-FFFFFFFF 0-FFFFFFFF 0-FFFFFFFF
6 Discrete Bit Flags Description
SP63 Will be on if the result in the accumulator is zero
7 SP70 Will be on if the result in the accumulator is negative

NOTE: The status flags are only valid until another instruction that uses the same flags is executed.
8
In the following example, when X1 is on, the value in V2000 and V2001 will be loaded into
9 the accumulator using the Load Double instruction. The value in the accumulator is ored
with 36476A38 using the Or Double instruction. The value in the accumulator is output to
V2010 and V2011 using the Out Double instruction.
10
DirectSOFT

11 X1 LDD
V2000
5
V2001
4 7 E 2
V2000
8 7 A

Load the value in V2000 and

12 V2001 into accumulator

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Acc. 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0

13 ORD
K36476A38 Acc. 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0

OR the value in the

14 accumulator with
the constant value
36476A38
OR 36476A38

Acc.
0

0
0

0
1
1

0
1 10
1 0

0
1

1 10
1 0

0
0

0
1

0
1
0

0
1
0

0
1
0

1
0 10
1 1

1
0 10
1 0

0
1 1

1 1
0

0
1

1
0

0
1

1
0

0
0

0
0

1
1 1

1 1
1

1
0

0
0

1
0

A OUTD
V2010
6 A 7 A
7 6 7 F
Copy the value in the

B accumulator to V2010 and


V2011

Handheld Programmer Keystrokes


V2011 V2010

C $
STR
L
B

D
1
D
ENT

C A A A
SHFT ENT
ANDST 3 3 2 0 0 0

D Q
OR
SHFT D
3
SHFT K
JMP
D
3
G
6
E
4
H
7
G
6
SHFT A
0
SHFT D
3
I
8
ENT

GX SHFT D C A B A ENT
OUT 3 2 0 1 0

5–76 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Logical

Or Formatted (ORF)
 230 The Or Formatted instruction logically ORs the binary value
in the accumulator and a specified range of discrete bits (1 to ORF A aaa 1
 240 32). The instruction requires a starting location (Aaaa) and K bbb
 250-1 the number of bits (Kbbb) to be ORed. Discrete status flags 2
 260 indicate if the result is zero or negative (the most significant
bit =1). 3
DS Used Operand Data Type DL250-1 Range DL260 Range
HPP Used A aaa bbb aaa bbb 4
Inputs X 0–777 – 0–1777 –
Outputs
Control Relays
Y
C
0–777
0–1777


0–1777
0–3777


5
Stage bits S 0–1777 – 0–1777 –
Timer bits T 0–377 – 0–377 – 6
Counter bits CT 0–177 – 0–377 –
Special Relays
Global I/O
SP
GX/GY
0-777
-


0–777
0-3777


7
Constant K - 1–32 - 1–32

Discrete Bit Flags Description


8
SP63
SP70
Will be on if the result in the accumulator is zero
Will be on if the result in the accumulator is negative 9
NOTE: Status flags are valid only until another instruction uses the same flag. 10
In the following example, when X1 is on the Load Formatted instruction loads C10–C13
(4 binary bits) into the accumulator. The Or Formatted instruction logically ORs the 11
accumulator contents with Y20–Y23 bit pattern. The Out Formatted instruction outputs the

DirectSOFT
accumulator’s lower four bits to C20–C23.
Location Constant
12
C13 C12 C11 C10
X1 LDF

K4
C10 C10

The unused accumulator bits are set to zero


K4 OFF ON ON OFF
13
Load the status of 4
consecutive bits (C10-C13)
into the accumulator

ORF Y20
Acc.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
8
0
7 6 5
0 0 0
4 3
0 0
2
1 1
1 0
0 14
K4
OR the binary bit pattern
(Y20 - Y23) with the value in
the accumulator OR (Y20-- Y23)
Y23 Y22 Y21 Y20
ON OFF OFF OFF 1 0 0 0
A
Acc. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
OUTF

K4
C20

Copy the specified number


B
of bits from the accumulator

Handheld Programmer Keystrokes


$ B
to C20-C23 Location
C20
Constant
K4
C23 C22 C21 C20
ON ON ON OFF C
ENT
STR 1

SHFT

Q
L
ANDST
D

F
3
F
5
NEXT

C
NEXT

A
NEXT NEXT

E
B
1
A
0
E
4
ENT D
SHFT NEXT ENT
OR 5 2 0 4
GX SHFT F PREV PREV C A E ENT
OUT 5 2 0 4

DL205 User Manual, 4th Edition, Rev. A 5–77


Chapter 5: Standard RLL Instructions - Logical

Or with Stack (ORS)


1  230
The Or with Stack instruction is a 32-bit instruction that
logically ORs the value in the accumulator with the first level OR S
 240 of the accumulator stack. The result resides in the
2  250-1 accumulator. The value in the first level of the accumulator
 260 stack is removed from the stack and all values are moved up
3 one level. Discrete status flags indicate if the result of the Or
with Stack is zero or a negative number (the most significant
DS Used
bit is on).
4 HPP Used
Discrete Bit Flags Description
5 SP63
SP70
Will be on if the result in the accumulator is zero
Will be on if the result in the accumulator is negative

6 In the following example, when X1 is on, the binary value in the accumulator will be ORed
with the binary value in the first level of the stack. The result resides in the accumulator.
7 DirectSOFT
X1 V1401 V1400
LDD

8 V1400
Load the value in V1400 and
V1401 in the accumulator
5 4 7 E 2 8 7 A

9 Acc.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9

0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0
8 7
0 0
6 5
1 1
4 3
1 1 0
2 1
1
0
0

ORS

10 OR the value in the


accumulator with the value
36476A38
Acc.

OR (top of stack)
0

0
1

0
0 1

1 1
0

0 1
1 0

1
0 0

0 0
1

1 0
1 1

0
1 1

0 1
1

1 1
0 0

0
0

1
1 0

1 0
1

1 0
0 0

1
0 0

0 0
1

0 1
1 1

1
1 0

1 0
1

0 0
0

in the first level of the

11 accumulator stack

OUTD
Acc. 0 0
1 0 1
1 0 0 1 0
1 0 0 0
1 0
1 0
1 0 1
1 0 0
1 0
1 0 1 1 0 1 0 1 0 0 1 1 1 1 0 1 0

12 V1500
Copy the value in the
accumulator to V1500 and
V1501
7 6

V1501
7 F 6 A

V1500
7 A

13 Handheld Programmer Keystrokes

$ B ENT

14 SHFT
STR
L
ANDST
D
1

3
D
3
B
1
E
4
A
0
A
0
ENT

Q S

A GX
OUT
OR
SHFT

SHFT D
RST

3
ENT

B
1
F
5
A
0
A
0
ENT

B
C
D

5–78 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Logical

Exclusive Or (XOR)
 230 The Exclusive Or instruction is a 16-bit instruction that
performs an exclusive OR of the value in the lower 16 bits of the
1
 240 accumulator and a specified V-memory location (Aaaa). The
XOR
 250-1 result resides in the accumulator. The discrete status flag
A aaa
2
 260 indicates if the result of the XOR is zero.

DS Used
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range 3
A aaa aaa aaa aaa
HPP Used
V-memory V All
See memory map
All
See memory map
All
See memory map
All
See memory map
4
All V-memory. All V-memory. All V-memory.
Pointer P - See memory map See memory map See memory map 5
Discrete Bit Flags Description
SP63 Will be on if the result in the accumulator is zero 6
SP70 Will be on if the result in the accumulator is negative

NOTE: The status flags are only valid until another instruction that uses the same flags is executed.
7
In the following example, when X1 is on, the value in V2000 will be loaded into the 8
accumulator using the Load instruction. The value in the accumulator is exclusive ORed with
V2006 using the Exclusive Or instruction. The value in the lower 16 bits of the accumulator
are output to V2010 using the Out instruction.
9
DirectSOFT
X1 V2000
10
LD
2 8 7 A
V2000

Load the value in V2000 into


the lower 16 bits of the
The upper 16 bits of the accumulator
will be set to 0
11
accumulator
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Acc. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 1 0
12
XOR
V2006

XOR the value in the 6A38


Acc. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 1 0 13
accumulator with XOR (V2006) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 1 1 0 0 0
the value in V2006
Acc. 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 0 0 0 0 1 0 14
OUT
V2010
4 E 4 2
A
Copy the lower 16 bits of the
accumulator to V2010

Handheld Programmer Keystrokes


V2010
B
$ B
STR

SHFT L D
1
ENT

SHFT V C A A A ENT
C
ANDST 3 AND 2 0 0 0

SHFT X
SET
SHFT Q
OR
SHFT V
AND
C
2
A
0
A
0
G
6
ENT
D
GX SHFT V C A B A ENT
OUT AND 2 0 1 0

DL205 User Manual, 4th Edition, Rev. A 5–79


Chapter 5: Standard RLL Instructions - Logical

Exclusive Or Double (XORD)


1  230 The Exclusive Or Double is a 32-bit instruction that
performs an exclusive OR of the value in the XORD
 240 accumulator and the value (Kaaa), which is an K aaa
2  250-1 8-digit (max.) constant. The result resides in the
 260 accumulator. Discrete status flags indicate if the
3 result of the Exclusive Or Double is zero or a
negative number (the most significant bit is on).
DS Used

4 HPP Used
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
aaa aaa aaa aaa
5 Constant K 0-FFFFFFFF 0-FFFFFFFF 0-FFFFFFFF 0-FFFFFFFF

NOTE: The status flags are only valid until another instruction that uses the same flags is executed.
6 In the following example, when X1 is on, the value in V2000 and V2001 will be loaded into

7 SP63
Discrete Bit Flags
Will be on if the result in the accumulator is zero
Description

SP70 Will be on if the result in the accumulator is negative


8 the accumulator using the Load Double instruction. The value in the accumulator is
exclusively ORed with 36476A38 using the Exclusive Or Double instruction. The value in
9 the accumulator is output to V2010 and V2011 using the Out Double instruction.

10
11 DirectSOFT V2001 V2000
X1 LDD 5 4 7 E 2 8 7 A
?

12 V2000

Load the value in V2000 and


V2001 into the accumulator
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

13 XORD
K36476A38
Acc. 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0

XORD the value in the 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0


Acc.

14 accumulator with
the constant value
36476A38 XORD 36476A38 0 0 1 1 0 1 1 0 0 1 0 0 0 1 1 1 0 1 1 0 1 0 1 0 0 0 1 1 1 0 0 0

OUTD Acc. 0 0
1 0
1 0 0 1
0 0
1 0 0 0 0
1 0
1 0
1 0 0 0
1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0

A V2010

Copy the value in the


accumulator to V2010
and V2011

B Handheld Programmer Keystrokes


6 2

V2011
3 9 4 2

V2010
4 2

$ B ENT
STR 1

C SHFT L
ANDST
D
3
D
3
C
2
A
0
A
0
A
0
ENT

SHFT X Q SHFT D SHFT K

D D
3
G
SET

6
E
OR

4
H
7
G
3

6
SHFT A
0
JMP

SHFT D
3
I
8
ENT

GX SHFT D C A B A ENT
OUT 3 2 0 1 0

5–80 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Logical

Exclusive Or Formatted (XORF)


 230
The Exclusive Or Formatted instruction performs an exclusive OR
of the binary value in the accumulator and a specified range of
1
 240 discrete memory bits (1 to 32).
 250-1 The instruction requires a starting location (Aaaa) and the number
XORF
K bbb
A aaa
2
 260 of bits (Kbbb) to be exclusive ORed. Discrete status flags indicate if
the result of the Exclusive Or Formatted is zero or negative (the most 3
DS Used significant bit is on).
HPP Used Operand Data Type DL250-1 Range DL260 Range 4
A aaa bbb aaa bbb
Inputs
Outputs
X
Y
0–777
0–777


0–1777
0–1777


5
Control Relays C 0–1777 – 0–3777 –
Stage bits S 0–1777 – 0–1777 – 6
Timer bits T 0–377 – 0–377 –
Counter bits
Special Relays
CT
SP
0–177
0-777


0–377
0–777


7
Global I/O GX/GY - – 0-3777 –
Constant K - 1–32 - 1–32 8
SP63
Discrete Bit Flags
Will be on if the result in the accumulator is zero
Description 9
SP70 Will be on if the result in the accumulator is negative
10
NOTE: Status flags are valid only until another instruction uses the same flag.

In the following example, when X1 is on, the binary pattern of C10–C13 (4 bits) will be
11
loaded into the accumulator using the Load Formatted instruction. The value in the
accumulator will be logically Exclusive Ored with the bit pattern from Y20–Y23 using the 12
Exclusive Or Formatted instruction. The value in the lower 4 bits of the accumulator are
output to C20–C23 using the Out Formatted instruction.
DirectSOFT
13
Location Constant C13 C12 C11 C10
X1
LDF C10

14
C10 K4 OFF ON ON OFF
K4

Load the status of 4 The unused accumulator bits are set to zero
consecutive bits (C10-C13)
into the accumulator
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
X0RF
K4
Y20

Exclusive OR the binary bit


0 0
Accumulator
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
A
Acc. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
pattern (Y20-Y23) with the

B
value in the accumulator Y23 Y22 Y21 Y20
XORF (Y20-Y23) ON OFF OFF OFF 1 0 0 0
OUTF C20
Acc. 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
K4
Copy the specified number
of bits from the accumulator
to C20-C23

Location Constant C23 C22 C21 C20


C
Handheld Programmer Keystrokes C20 K4 ON ON ON OFF

SHFT
STR
L
ANDST
B

D
1

3
ENT

F
5
NEXT NEXT NEXT NEXT B
1
A
0
E
4
ENT
D
SHFT X Q SHFT F NEXT C A E ENT
SET OR 5 2 0 4
GX SHFT F PREV PREV C A E ENT
OUT 5 2 0 4

DL205 User Manual, 4th Edition, Rev. A 5–81


Chapter 5: Standard RLL Instructions - Logical

Exclusive Or with Stack (XORS)


1  230
The Exclusive Or with Stack instruction is a 32-bit
instruction that performs an Exclusive Or of the value in
 240 the accumulator with the first level of the accumulator XO R S
2  250-1 stack. The result resides in the accumulator. The value in
 260 the first level of the accumulator stack is removed from
3 DS Used
the stack and all values are moved up one level. Discrete
status flags indicate if the result of the Exclusive Or with
Stack is zero or a negative number (the most significant
4 HPP Used
bit is on).
Discrete Bit Flags Description
5 SP63 Will be on if the result in the accumulator is zero
SP70 Will be on if the result in the accumulator is negative
6 NOTE: Status flags are valid only until another instruction uses the same flag.

7 In the following example when X1 is on, the binary value in the accumulator will be
Exclusive ORed with the binary value in the first level of the accumulator stack. The result
8 will reside in the accumulator.

9
DirectSOFT

10 X1 LDD

V1400
5
V1401
4 7 E 2
V1400
8 7 A

11 Load the value in V1400 and


V1401 into the accumulator

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Acc. 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0

12 XORS
Acc. 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0
Exclusive OR the value 36476A38

13 in the accumulator
with the value in the
first level of the
XOR (1st level of Stack) 0

Acc. 0
0

0
1
1 1

0 0
1
0

0
1

1
0
1

0
1
0 0

0 0
1

0
0

0
1
0

0
1
0 1

0 0
1
1

0
1

0
1
0

0
1

1
1 0

0 0
1

0
0

0
1

1
0 0

0 0
0

1
1

0
1

0
1 0

0 0
0

1
0

0
accumulator stack

14 OUTD

V1500
6 2 3 9 4 2 4 2
Copy the value in the

A accumulator to V1500 and V1501 V1501 V1500

Handheld Programmer Keystrokes

B $
STR
B
1
ENT

SHFT L D D B E A A ENT

C SHFT
ANDST
X
SET
Q
3

OR
SHFT
3
S
RST
ENT
1 4 0 0

GX D B F A A

D OUT
SHFT
3 1 5 0 0
ENT

5–82 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Logical

Compare (CMP)
 230
The compare instruction is a 16-bit instruction that
compares the value in the lower 16 bits of the
1
 240 accumulator with the value in a specified V-memory CMP
 250-1 location (Aaaa). The corresponding status flag will be A aaa 2
 260 turned on indicating the result of the comparison.

DS Used
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range 3
A aaa aaa aaa aaa
HPP Used
V-memory All
V See memory map
All
See memory map
All
See memory map
All
See memory map
4
All V-memory. All V-memory. All V-memory.
Pointer P - See memory map See memory map See memory map 5
Discrete Bit Flags Description
SP60
SP61
On when the value in the accumulator is less than the instruction value.
On when the value in the accumulator is equal to the instruction value.
6
SP62 On when the value in the accumulator is greater than the instruction value.
7
NOTE: The status flags are only valid until another instruction that uses the same flags is executed.
8
In the following example when X1 is on, the constant 4526 will be loaded into the lower 16
bits of the accumulator using the Load instruction. The value in the accumulator is compared
with the value in V2000 using the Compare instruction. The corresponding discrete status
9
flag will be turned on indicating the result of the comparison. In this example, if the value in
the accumulator is less than the value specified in the Compare instruction, SP60 will turn 10
on, energizing contact C30.
DirectSOFT
X1
LD CONSTANT
11
K4526 4 5 ?
2 6

Load the constant value


4526 into the lower 16 bits of
the accumulator
The unused accumulator
bits are set to zero
12
Acc. 0 0 0 0 44 55 2?
2 66

13
Compared
with
CMP
V2000
8 9 4 5
14
Compare the value in the
accumulator with the value V2000

SP60
in V2000

C30
A
OUT

Handheld Programmer Keystrokes


B
$ B ENT

SHFT
STR
L
ANDST
D
1

3
SHFT K
JMP
E
4
F
5
C
2
G
6
ENT
C
C M P C A A A
SHFT

$
STR
2
SHFT

SHFT
ORST
SP
STRN
G
CV

6
A
0
ENT
2 0 0 0
ENT

D
GX SHFT C D A ENT
OUT 2 3 0

DL205 User Manual, 4th Edition, Rev. A 5–83


Chapter 5: Standard RLL Instructions - Logical

Compare Double (CMPD)


1  230 The Compare Double instruction is a 32–bit instruction that
compares the value in the accumulator with the value (Aaaa),
CMPD
 240 which is either two consecutive V-memory locations or an 8–digit
A aaa

2  250-1 (max.) constant. The corresponding status flag will be turned on


 260 indicating the result of the comparison.
3 DS Used
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
A aaa aaa aaa aaa
4 HPP Used
V-memory All
V See memory map
All
See memory map
All
See memory map
All
See memory map
All V-memory. All V-memory. All V-memory.
5 Pointer
Constant
P
K
-
0-FFFFFFFF
See memory map
0-FFFFFFFF
See memory map
0-FFFFFFFF
See memory map
0-FFFFFFFF

6 Discrete Bit Flags Description


SP60 On when the value in the accumulator is less than the instruction value.

7 SP61
SP62
On when the value in the accumulator is equal to the instruction value.
On when the value in the accumulator is greater than the instruction value.

8 NOTE: The status flags are only valid until another instruction that uses the same flags is executed.

9 In the following example when X1 is on, the value in V2000 and V2001 will be loaded into
the accumulator using the Load Double instruction. The value in the accumulator is
compared with the value in V2010 and V2011 using the CMPD instruction. The
10 corresponding discrete status flag will be turned on indicating the result of the comparison. In
this example, if the value in the accumulator is less than the value specified in the Compare
11 instruction, SP60 will turn on, energizing contact C30.
DirectSOFT

12 X1 LDD
V2000
4
V2001
5 2 6 7
V2000
2 9 9

Load the value in V2000 and

13 V2001 into the accumulator

Acc. 4 5 ?
2 6 77 72 9 9

Compared

14 CMPD
V2010
6 7 3
with

9 5 0 2 6
Compare the value in the
accumulator with the value V2011 V2010

A SP60
in V2010 and V2011

C30
OUT
B
Handheld Programmer Keystrokes

C $

SHFT
STR
L
B

D
1
D
ENT

C A A A ENT
ANDST 3 3 2 0 0 0

D SHFT

$
C
2
SHFT M
ORST
SP
P

G
CV
D

A
3
C
2
A
0
B
1
A
0
ENT

SHFT ENT
STR STRN 6 0
GX SHFT C D A ENT
OUT 2 3 0

5–84 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Logical

Compare Formatted (CMPF)


 230 The Compare Formatted compares the value in the
accumulator with a specified number of discrete locations
CMPF A aaa 1
 240 (1–32). The instruction requires a starting location (Aaaa)
K bbb

 250-1 and the number of bits (Kbbb) to be compared. The 2


 260 corresponding status flag will be turned on indicating the
result of the comparison. 3
DS Used Operand Data Type DL250-1 Range DL260 Range
HPP Used A aaa bbb aaa bbb 4
Inputs X 0–777 – 0–1777 –
Outputs
Control Relays
Y
C
0–777
0–1777


0–1777
0–3777


5
Stage bits S 0–1777 – 0–1777 –
Timer bits T 0–377 – 0–377 – 6
Counter bits CT 0–177 – 0–377 –
Special Relays
Global I/O
SP
GX/GY
0-777
-


0–777
0-3777


7
Constant K - 1–32 - 1–32

Discrete Bit Flags Description


8
SP60 On when the value in the accumulator is less than the instruction value.
SP61 On when the value in the accumulator is equal to the instruction value. 9
SP62 On when the value in the accumulator is greater than the instruction value.
10
NOTE: Status flags are valid only until another instruction uses the same flag.

In the following example, when X1 is on the Load Formatted instruction loads the binary 11
value (6) from C10–C13 into the accumulator. The CMPF instruction compares the value in
the accumulator to the value in Y20–Y23 (E hex). The corresponding discrete status flag will
be turned on indicating the result of the comparison. In this example, if the value in the
12
accumulator is less than the value specified in the Compare instruction, SP60 will turn on,
energizing C30. 13
DirectSOFT

X1
LDF C10
Load the value of the
Location Constant
C13 C12 C11 C10
14
specified discrete locations C10 K4 OFF ON ON OFF
K4 (C10-- C13) into the
accumulator

Compare the value in the


The unused accumulator
bits are set to zero
A
CMPF Y20 accumulator with the value

SP60
K4

C30
of the specified discrete
location (Y20-- Y23)
Acc.

Y23 Y22 Y21 Y20


0 0 0 0

Compared
0 0 0 6
B
with
OUT ON ON ON OFF
E C
D

DL205 User Manual, 4th Edition, Rev. A 5–85


Chapter 5: Standard RLL Instructions - Logical

Compare with Stack (CMPS)


1  230
The Compare with Stack instruction is a 32-bit
instruction that compares the value in the
C MP S

 240 accumulator with the value in the first level of the


2  250-1 accumulator stack.
 260 The corresponding status flag will be turned on
3 DS Used
indicating the result of the comparison. This does
not affect the value in the accumulator.
HPP Used
4 Discrete Bit Flags Description
SP60 On when the value in the accumulator is less than the instruction value.
5 SP61
SP62
On when the value in the accumulator is equal to the instruction value.
On when the value in the accumulator is greater than the instruction value.

6 NOTE: Status flags are valid only until another instruction uses the same flag.

In the following example when X1 is on, the value in V1400 and V1401 is loaded into the
7 accumulator using the Load Double instruction. The value in V1410 and V1411 is loaded
into the accumulator using the Load Double instruction. The value that was loaded into the
8 accumulator from V1400 and V1401 is placed on top of the stack when the second Load
instruction is executed. The value in the accumulator is compared with the value in the first
9 level of the accumulator stack using the CMPS instruction. The corresponding discrete status
flag will be turned on indicating the result of the comparison. In this example, if the value in
the accumulator is less than the value in the stack, SP60 will turn on, energizing C30.
10 DirectSOFT
V1401 V1400
X1 Load the value in V1400 and 6 5 0 0 3 5 4 4
11 LDD
V1400
V1401 into the accumulator

Load the value in V1410 and 6 5 0 0 3 5 4 4


12 LDD
V1410
V1411 into the accumulator
Acc.

Compare the value in the


13 CMPS accumulator with the value
in the first level of the
accumulator stack
5
V1411
5 0 0 3
V1410
5 4 4

14 SP60 C30
OUT Acc. 5 5 0 0 3 5 4 4

A Handheld Programmer Keystrokes Compared with


Top of Stack
$ B ENT
B SHFT
STR
L D
1
D B E A A ENT
ANDST 3 3 1 4 0 0

C SHFT L
ANDST
D
3
D
3
B
1
E
4
B
1
A
0
ENT

SHFT C SHFT M P S ENT

D $
STR
2

SHFT
ORST
SP
STRN
G
CV

6
A
RST

0
ENT

GX C D A
SHFT 2 3 0 ENT
OUT

5–86 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Logical

Compare Real Number (CMPR)


 230 The Compare Real Number instruction
compares a real number value in the
CMPR 1
 240 accumulator with two consecutive V-memory
A aaa

 250-1 locations containing a real number. The 2


 260 corresponding status flag will be turned on

DS Used
indicating the result of the comparison. Both
numbers being compared are 32 bits long.
3
HPP N/A
Operand Data Type DL250-1 Range DL260 Range 4
A aaa aaa
V-memory V All. See
memory map
All. See
memory map 5
Pointer P All V-memory. All V-memory.
See memory map See memory map
Constant R -3.402823E+038 to
+ 3.402823E+038
-3.402823E+038 to
+ 3.402823E+038
6
Discrete Bit Flags
SP60
Description
On when the value in the accumulator is less than the instruction value.
7
SP61
SP62
On when the value in the accumulator is equal to the instruction value.
On when the value in the accumulator is greater than the instruction value. 8
SP71 On anytime the V-memory specified by a pointer (P) is not valid
SP75 On when a real number instruction is executed and a non-real number encountered. 9
NOTE: Status flags are valid only until another instruction uses the same flag.
10
In the following example when X1 is on, the LDR instruction loads the real number
representation for 7 decimal into the accumulator. The CMPR instruction compares the
accumulator contents with the real representation for decimal 6. Since 7 > 6, the
11
corresponding discrete status flag is turned on (special relay SP62).
12
DirectSOFT
X1 LDR
R7.0
Load the real number
representation for decimal 7
13
into the accumulator Acc. 4 0 E 0 0 0 0 0

CMPR Compare the value with the


14
real number representation
R6.0
for decimal 6 CMPR 4 0 D 0 0 0 0 0 A
SP62 C1

OUT B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–87


Chapter 5: Standard RLL Instructions - Math

Math Instructions
1
Add (ADD)
2  230 Add is a 16-bit instruction that adds a BCD value in the
accumulator with a BCD value in a V-memory location
ADD

 240
A aaa
(Aaaa). (You cannot use a constant (K) as the BCD value in
3  250-1 the box.) The result resides in the accumulator.
 260 Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
4 DS Used A aaa aaa aaa aaa
All All All All
5 HPP Used V-memory V See memory map See memory map
All V-memory.
See memory map
All V-memory.
See memory map
All V-memory.
Pointer P - See memory map See memory map See memory map
6 Discrete Bit Flags Description
SP63 On when the result of the instruction causes the value in the accumulator to be zero
7 SP66 On when the 16 bit addition instruction results in a carry
SP67 On when the 32 bit addition instruction results in a carry
8 SP70
SP75
On anytime the value in the accumulator is negative
On when a BCD instruction is executed and a NON-BCD number is encountered

9 NOTE: The status flags are only valid until another instruction that uses the same flags is executed.

10 In the following example, when X1 is on, the value in V2000 will be loaded into the
accumulator using the Load instruction. The value in the lower 16 bits of the accumulator are
added to the value in V2006 using the Add instruction. The value in the accumulator is
11 copied to V2010 using the Out instruction.
DirectSOFT V2000

12 X1 LD
V2000
4 9 3 5

Load the value in V2000 into

13 the lower 16 bits of the


accumulator
The unused accumulator
bits are set to zero
0 0 0 0 4 9 3 5 (Accumulator)
ADD

14 V2006

Add the value in the lower


+

Acc.
2

7
5

4
0

3
0

5
(V2006)

16 bits of the accumulator


with the value in V2006
A OUT
V2010 7 4 3 5

B Copy the value in the lower


16 bits of the accumulator to
V2010
V2010

Handheld Programmer Keystrokes

C $
STR
B
1
ENT

SHFT L D C A A A ENT

D SHFT
ANDST
A
0
D
3

3
D
3
2
C
0

2
A
0

0
A
0

0
G
6
ENT

GX SHFT V C A B A ENT
OUT AND 2 0 1 0

5–88 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Math

Add Double (ADDD)


 230 Add Double is a 32-bit instruction that adds the BCD
value in the accumulator with a BCD value (Aaaa), which
1
 240 is either two consecutive V-memory locations or an
ADDD
A aaa
 250-1 8–digit (max.) BCD constant. The result resides in the 2
 260 accumulator.
DS Used Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
3
HPP Used A aaa aaa aaa aaa
V-memory V All
See memory map
All
See memory map
All
See memory map
All
See memory map
4
All V-memory. All V-memory. All V-memory.
Pointer P - See memory map See memory map See memory map 5
Constant K 0-99999999 0-99999999 0-99999999 0-99999999

Discrete Bit Flags Description


6
SP63 On when the result of the instruction causes the value in the accumulator to be zero
SP66 On when the 16 bit addition instruction results in a carry 7
SP67 On when the 32 bit addition instruction results in a carry
SP70
SP75
On anytime the value in the accumulator is negative
On when a BCD instruction is executed and a NON-BCD number is encountered
8
NOTE: The status flags are only valid until another instruction that uses the same flags is executed.
9
In the following example, when X1 is on, the value in V2000 and V2001 will be loaded into
the accumulator using the Load Double instruction. The value in the accumulator is added
10
with the value in V2006 and V2007 using the Add Double instruction. The value in the
accumulator is copied to V2010 and V2011 using the Out Double instruction. 11
DirectSOFT V2001 V2000
X1
LDD
V2000
6 7 3 9 5 0 2 6
12
Load the value in V2000 and
V2001 into the accumulator
6 7 3 9 5 0 2 6 (Accumulator)
13
ADDD
+ 2 0 0 0 4 0 4 6 (V2006 and V2007)
V2006

Add the value in the


Acc. 8 7 3 9 9 0 7 2 14
accumulator with the value
in V2006 and V2007

OUTD
A
V2010 8 7 3 9 9 0 7 2

Copy the value in the


accumulator to V2010 and
V2011
V2011 V2010
B
Handheld Programmer Keystrokes
$
STR
B
1
ENT
C
SHFT

SHFT
L
ANDST
A
D

D
3
D

D
3
D
C
2
A

C
0
A

A
0
A

A
0
ENT

G ENT
D
0 3 3 3 2 0 0 6
GX SHFT D SHFT V C A B A ENT
OUT 3 AND 2 0 1 0

DL205 User Manual, 4th Edition, Rev. A 5–89


Chapter 5: Standard RLL Instructions - Math

Add Real (ADDR)


Add Real is a 32-bit instruction that adds a real number, which is
1  230 either two consecutive V-memory locations or a 32-bit constant, ADDR
 240 to a real number in the accumulator. Both numbers must A aaa

2  250-1 conform to the IEEE floating point format. The result is a 32-bit
 260 real number that resides in the accumulator.
3 DS Used
Operand Data Type
A
DL250-1 Range
aaa
DL260 Range
aaa
HPP N/A
All. See All. See
4 V-memory V memory map
All V-memory.
memory map
All V-memory.
Pointer P See memory map See memory map
5 Constant R -3.402823E+038 to
+ 3.402823E+038
-3.402823E+038 to
+ 3.402823E+038

6 SP63
Discrete Bit Flags Description
On when the result of the instruction causes the value in the accumulator to be zero.

7 SP70
SP71
On anytime the value in the accumulator is negative.
On anytime the V-memory specified by a pointer (P) is not valid.
SP72 On anytime the value in the accumulator is an invalid floating point number.
8 SP73
SP74
On when a signed addition or subtraction results in a incorrect sign bit.
On anytime a floating point math operation results in an underflow error.

9 SP75 On when a real number instruction is executed and a non-real number was encountered.

NOTE: Status flags are valid only until another instruction uses the same flag.
10 DirectSOFT

X1 4 0 E 0 0 0 0 0
LDR

11
R7.0

Load the real number 7.0


into the accumulator
7 (decimal) 4 0 E 0 0 0 0 0 (Accumulator)
+ 1 5 + 4 1 7 0 0 0 0 0 (ADDR)

12 ADDR
2 2 Acc. 4 1 B 0 0 0 0 0

R15.0 V1401 V1400

13 Add the real number 15.0 to


the accumulator contents,
which is in real number
format.
4 1 B 0 0 0 0 0 (Hex number)

Real Value

14 OUTD
Acc.
8 4
0 1
2
0
1
0
8
0
4 2
0 0
1
1
8
1
4
0
2 1
1 1
8
0
4
0
2
0
1
0
8 4
0 0
2
0
1
0
8
0
4 2
0 0
1
0
8
0
4
0
2 1
0 0
8
0
4
0
2
0
1
0
V1400

A Copy the result in the accumulator


to V1400 and V1401. Sign Bit Exponent (8 bits) Mantissa (23 bits)

128 + 2 + 1 = 131
B 131 - 127 = 4
Implies 2 (exp 4)
1.011 x 2 (exp 4) = 10110. binary= 22 decimal

C NOTE1: The current HPP does not support real number entry with automatic conversion to the 32-bit IEEE
format. You must use DirectSOFT for this feature.
D NOTE2: If the value being added to a real number is 16,777,216 times smaller than the real number, the
calculation will not work.

5–90 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Math

Subtract (SUB)
Subtract is a 16-bit instruction that subtracts the BCD
 230 value (Aaaa) in a V-memory location from the BCD value SUB 1
 240 in the lower 16 bits of the accumulator. The result resides A aaa
 250-1 in the accumulator. 2
 260
DS Used Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
3
HPP Used A aaa aaa aaa aaa
V-memory V All
See memory map
All
See memory map
All
See memory map
All
See memory map
4
All V-memory. All V-memory. All V-memory.
Pointer P - See memory map See memory map See memory map 5
Discrete Bit Flags Description
SP63 On when the result of the instruction causes the value in the accumulator to be zero 6
SP66 On when the 16 bit addition instruction results in a carry
SP67
SP70
On when the 32 bit addition instruction results in a carry
On anytime the value in the accumulator is negative
7
SP75 On when a BCD instruction is executed and a NON-BCD number is encountered
8
NOTE: A constant (K) cannot be used for the BCD value.
Status flags are only valid until another instruction that uses the same flags is executed. 9
In the following example, when X1 is on, the value in V2000 will be loaded into the
accumulator using the Load instruction. The value in V2006 is subtracted from the value in 10
the accumulator using the Subtract instruction. The value in the accumulator is copied to
V2010 using the Out instruction. 11
Direct SOFT V2000

X1 LD
V2000
2 4 7 5
12
Load the value in V2000 into The unused accumulator
the lower 16 bits of the
accumulator

SUB
bits are set to zero

_
0 0 0 0 2 4 7 5 (Accumulator) 13
1 5 9 2 (V2006)
V2006

Subtract the value in V2006


from the value in the lower
Acc. 0 8 8 3
14
16 bits of the accumulator

OUT
V2010
0 8

V2010
8 3 A
Copy the value in the lower
16 bits of the accumulator to
V2010
Handheld Programmer Keystrokes
B
$ B
STR

SHFT L
ANDST
D
1

3
ENT

C
2
A
0
A
0
A
0
ENT
C
S U B V C A A G
SHFT

GX
OUT
RST

SHFT
ISG
V
AND
1
C
2
SHFT

A
0
B
AND

1
A
2

0
ENT
0 0 6
ENT
D

DL205 User Manual, 4th Edition, Rev. A 5–91


Chapter 5: Standard RLL Instructions - Math

Subtract Double (SUBD)


1  230
Subtract Double is a 32-bit instruction that subtracts the
BCD value (Aaaa), which is either two consecutive V-memory SUBD
 240 locations or an 8-digit (max.) constant, from the BCD value A aaa
2  250-1 in the accumulator. The result resides in the accumulator.
 260
3 Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
A aaa aaa aaa aaa
4 V-memory V All (See page 3 - 53) All (See page 3 - 54) All (See page 3 - 55) All (See page 3 - 56)
All V-memory All V-memory All V-memory
Pointer P -
5 Constant K 0-99999999
(See page 3 - 54)
0-99999999
(See page 3 - 55)
0-99999999
(See page 3 - 56)
0-99999999

6 Discrete Bit Flags Description


SP63 On when the result of the instruction causes the value in the accumulator to be zero.
7 SP64
SP65
On when the 16 bit subtraction instruction results in a borrow.
On when the 32 bit subtraction instruction results in a borrow.
SP70 On anytime the value in the accumulator is negative.
8 SP75 On when a BCD instruction is executed and a NON-BCD number was encountered.

9 NOTE: The status flags are only valid until another instruction that uses the same flags is executed.

In the following example, when X1 is on, the value in V2000 and V2001 will be loaded into
10 the accumulator using the Load Double instruction. The value in V2006 and V2007 is
subtracted from the value in the accumulator. The value in the accumulator is copied to
V2010 and V2011 using the Out Double instruction.
11 DS Used DirectSOFT V2001 V2000
HPP Used X1
0 1 0 6 3 2 7 4

12 LDD
V2000

Load the value in V2000 and


V2001 into the accumulator

13 SUBD
_
0 1
6
0 6
7
3
2
2
3
7
7
4
5

V2006 ACC. 0 0 3 9 0 8 9 9

14 The value in V2006 and V2007


is subtracted from the value in
the accumulator

A OUTD
V2010
0 0
V2011
3 9 0 8 9
V2010
9

Copy the value in the

B accumulator to V2010 and


V2011

Handheld Programmer Keystrokes

C $
STR
L
B

D
1
ENT

D C A A A
SHFT ENT
ANDST 3 3 2 0 0 0

D SHFT S
RST
SHFT U
ISG
B
1
D
3
C
2
A
0
A
0
G
6
ENT

GX SHFT D C A B A ENT
OUT 3 2 0 1 0

5–92 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Math

Subtract Real (SUBR)


 230 The Subtract Real is a 32-bit instruction that subtracts a real
number, which is either two consecutive V-memory locations or SUBR
1
 240 a 32-bit constant, from a real number in the accumulator. The A aaa
 250-1 result is a 32-bit real number that resides in the accumulator. 2
 260 Both numbers must be Real data type (IEEE floating point
format). 3
DS Used Operand Data Type DL250-1 Range DL260 Range
HPP N/A
V-memory
A
V All. (See page 3-55)
aaa
All. (See page 3-56)
aaa 4
Pointer
Constant
P All V-memory (See page 3-55) All V-memory (See page 3-56)
R -3.402823E+038 to -3.402823E+038 to 5
+ 3.402823E+038 + 3.402823E+038

Discrete Bit Flags Description 6


SP63 On when the result of the instruction causes the value in the accumulator to be zero.
SP70
SP71
On anytime the value in the accumulator is negative.
On anytime the V-memory specified by a pointer (P) is not valid.
7
SP72 On anytime the value in the accumulator is an invalid floating point number.
SP73 On when a signed addition or subtraction results in an incorrect sign bit. 8
SP74 On anytime a floating point math operation results in an underflow error.
SP75 On when a real number instruction is executed and a non-real number was encountered.
9
NOTE: Status flags are valid only until another instruction uses the same flag.
10
DirectSOFT

X1 LDR
4 1 B 0 0 0 0 0 11
R22.0

Load the real number


22.0 into the accumulator.
2 2 (decimal) 4 1 B 0 0 0 0 0 (Accumulator)
12
_ 1 5 _ 4 1 7 0 0 0 0 0 (SUBR)

SUBR
7 Acc. 4 0 E 0 0 0 0 0
13
R15.0 V1401 V1400

Subtract the real number


15.0 from the accumulator
contents, which is in real
number format.
4 0 E 0 0 0 0 0 (Hex number)
14
Real Value

OUTD
Acc.
8 4
0 1
2
0
1
0
8
0
4 2
0 0
1
0
8
1
4
1
2 1
1 0
8
0
4
0
2
0
1
0
8 4
0 0
2
0
1
0
8
0
4 2
0 0
1
0
8
0
4
0
2 1
0 0
8
0
4
0
2
0
1
0
A
V1400

Copy the result in the


accumulator to V1400
and V1401.
Sign Bit Exponent (8 bits) Mantissa (23 bits) B
128 + 1 = 129
129 - 127 = 2
Implies 2 (exp 2)
1.11 x 2 (exp 2) = 111. binary= 7 decimal
C
NOTE: The current HPP does not support real number entry with automatic conversion to the 32-bit IEEE D
format. You must use DirectSOFT for this feature.

DL205 User Manual, 4th Edition, Rev. A 5–93


Chapter 5: Standard RLL Instructions - Math

Multiply (MUL)
1  230 Multiply is a 16-bit instruction that multiplies the BCD
value (Aaaa), which is either a V-memory location or a
MUL
 240 4–digit (max.) constant, by the BCD value in the lower 16 A aaa
2  250-1 bits of the accumulator The result can be up to 8 digits and
 260 resides in the accumulator.
3 Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
A aaa aaa aaa aaa
4 V-memory V All (See page 3 - 53) All (See page 3 - 54) All (See page 3 - 55) All (See page 3 - 56)
All V-memory All V-memory All V-memory
Pointer P -
5 Constant K 0-9999
(See page 3 - 54)
0-9999
(See page 3 - 55)
0-9999
(See page 3 - 56)
0-9999

6 SP63
Discrete Bit Flags Description
On when the result of the instruction causes the value in the accumulator to be zero.
SP70 On anytime the value in the accumulator is negative.
7 SP75 On when a BCD instruction is executed and a NON-BCD number was encountered.

NOTE: The status flags are only valid until another instruction that uses the same flags is executed.
8
In the following example, when X1 is on, the value in V2000 will be loaded into the
9 accumulator using the Load instruction. The value in V2006 is multiplied by the value in the
accumulator. The value in the accumulator is copied to V2010 and V2011 using the Out
Double instruction.
10 V2000
DS Used DirectSOFT

11 HPP Used X1 LD
V2000
1 0 0 0

The unused accumulator

12 Load the value in V2000 into


the lower 16 bits of the
accumulator
bits are set to zero
0 0 0 0 1 0 0 0 (Accumulator)
(V2006)
X 2 5
MUL

13 V2006

The value in V2006 is


Acc. 0 0 0 2 5 0 0 0

multiplied by the value in the

14 accumulator

OUTD
0 0 0 2 5 0 0 0

V2011 V2010
V2010
A Copy the value in the
accumulator to V2010 and
V2011

B Handheld Programmer Keystrokes

$ B

C SHFT
STR
L
ANDST
D
1

3
ENT

C
2
A
0
A
0
A
0
ENT

D SHFT

GX
M
ORST

SHFT
U

D
ISG
L
ANDST
C
C

A
2
A

B
0
A

A
0
G

ENT
6
ENT

OUT 3 2 0 1 0

5–94 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Math

Multiply Double (MULD)


 230
Multiply Double is a 32-bit instruction that multiplies the 8-
digit BCD value in the accumulator by the 8-digit BCD value MULD 1
 240 in the two consecutive V-memory locations specified in the A aaa
 250-1 instruction. The lower 8 digits of the results reside in the 2
 260 accumulator. Upper digits of the result reside in the
accumulator stack. 3
Operand Data Type DL250-1 Range DL260 Range

V-memory V
A aaa
All V-mem (See page 3 - 55)
aaa
All V-mem (See page 3 - 56)
4
Pointer P All V-mem (See page 3 - 55) All V-mem (See page 3 - 56)
5
Discrete Bit Flags Description
SP63
SP70
On when the result of the instruction causes the value in the accumulator to be zero.
On anytime the value in the accumulator is negative.
6
SP75 On when a BCD instruction is executed and a NON-BCD number was encountered.

NOTE: Status flags are valid only until another instruction uses the same flag.
7
In the following example, when X1 is on, the constant Kbc614e hex will be loaded into the 8
accumulator. When converted to BCD the number is ”12345678”. That number is stored in
V1400 and V1401. After loading the constant K2 into the accumulator, we multiply it times
12345678, which is 24691356.
9
DS Used DirectSOFT
1 2 3 4 5 6 7 8 (Accumulator)
10
X1
HPP Used LDD Load the hex equivalent

BCD
Kbc614e
of 12345678 decimal into
the accumulator.

Convert the value to


BCD format. It will
V1401 V1400
11
occupy eight BCD digits 1 2 3 4 5 6 7 8

OUTD
V1400
(32 bits).

Output the number to


V1400 and V1401 using
the OUTD instruction.
X 2 (Accumulator) 12
Acc. 2 4 6 9 1 3 5 6

LD
K2
Load the constant K2
into the accumulator. 13
Multiply the accumulator 2 4 6 9 1 3 5 6
MULD
V1400
contents (2) by the
8-digit number in V1400
and V1401.
Move the result in the
V1403 V1402
14
OUTD accumulator to V1402

Handheld Programmer Keystrokes


V1402 and V1403 using the
OUTD instruction.
A
$ B ENT

B
STR 1

SHFT L D D PREV SHFT B C SHFT G B E SHFT E ENT


ANDST 3 3 1 2 6 1 4 4

SHFT B C D ENT
1 2 3
GX
OUT
SHFT

L
D

D
3
B
1
E

C
4
A
0
A
0
ENT
C
SHFT PREV ENT
ANDST 3 2

SHFT

GX
M
ORST

SHFT
U

D
ISG
L
ANDST
D

B
3
E
B

A
1
E

C
4
A

ENT
0
A
0
ENT
D
OUT 3 1 4 0 2

DL205 User Manual, 4th Edition, Rev. A 5–95


Chapter 5: Standard RLL Instructions - Math

Multiply Real (MULR)


1  230 The Multiply Real instruction multiplies a real number in
the accumulator with either a real constant or a real number
MULR
 240 occupying two consecutive V-memory locations. The result A aaa
2  250-1 resides in the accumulator. Both numbers must be Real
 260 data type (IEEE floating point format).
3 DS Used
Operand Data Type DL250-1 Range DL260 Range
HPP N/A A aaa aaa
4 V-memory
Pointer
V All. (See page 3-55) All. (See page 3-56)
P All V-memory (See page 3-55) All V-memory (See page 3-56)

5 Constant R -3.402823E+038 to
+ 3.402823E+038
-3.402823E+038 to
+ 3.402823E+038

Discrete Bit Flags Description


6 SP63 On when the result of the instruction causes the value in the accumulator to be zero.
SP70 On anytime the value in the accumulator is negative.
7 SP71 On anytime the V-memory specified by a pointer (P) is not valid.
SP72 On anytime the value in the accumulator is an invalid floating point number.

8 SP73
SP74
On when a signed addition or subtraction results in an incorrect sign bit.
On anytime a floating point math operation results in an underflow error.
SP75 On when a real number instruction is executed and a non-real number was encountered.
9 NOTE: Status flags are valid only until another instruction uses the same flag.

10 DirectSOFT

11 X1 LDR
R 7.0

Load the real number 7.0


4 0 E 0 0 0 0 0

into the accumulator.

12 x

1
1

0
7
5

5
(decimal)
X 4

Acc. 4
4 0
1

2
E
7

D
0
0

2
0
0

0
0
0

0
0
0

0
0
0

0
(Accumulator)
(MULR)

MULR

13 R 15.0

Multiply the accumulator


contents by the real number
4
V1401
2 D 2 0
V1400
0 0 0 (Hex number)

15.0

14 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2
Real Value

1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1
OUTD
Acc. 0 1 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

A V1400

Copy the result in the accumulator


to V1400 and V1401. Sign Bit Exponent (8 bits) Mantissa (23 bits)

B 128 + 4 + 1 = 133
133 - 127 = 6
1.101001 x 2 (exp 6) = 1101001. binary= 105 decimal

Implies 2 (exp 6)

C NOTE: The current HPP does not support real number entry with automatic conversion to the 32-bit IEEE
format. You must use DirectSOFT for this feature.
D

5–96 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Math

Divide (DIV)
 230 Divide is a 16-bit instruction that divides the BCD value in
the accumulator by a BCD value (Aaaa), which is either a
DIV 1
 240 V-memory location or a 4-digit (max.) constant. The first
A aaa
 250-1 part of the quotient resides in the accumulator and the 2
 260 remainder resides in the first stack location.

Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
3
A aaa aaa aaa aaa
V-memory V All (See page 3 - 53) All (See page 3 - 54) All (See page 3 - 55) All (See page 3 - 56) 4
All V-memory All V-memory All V-memory
Pointer P -

Constant K 1-9999
(See page 3 - 54)
1-9999
(See page 3 - 55)
1-9999
(See page 3 - 56)
1-9999
5
Discrete Bit Flags Description 6
SP53 On when the value of the operand is larger than the accumulator can work with.
SP63
SP70
On when the result of the instruction causes the value in the accumulator to be zero.
On anytime the value in the accumulator is negative.
7
SP75 On when a BCD instruction is executed and a NON-BCD number was encountered.
8
NOTE: The status flags are only valid until another instruction that uses the same flags is executed.

In the following example, when X1 is on, the value in V2000 will be loaded into the
9
accumulator using the Load instruction. The value in the accumulator will be divided by the
value in V2006 using the Divide instruction. The value in the accumulator is copied to 10
V2010 using the Out instruction.
DS Used DirectSOFT V2000
11
HPP Used X1
5 0 0 0
LD
V2000

Load the value in V2000 into The unused accumulator


12
the lower 16 bits of the bits are set to zero
accumulator

DIV ÷
0 0 0 0 5 0 0

5
0

0
(Accumulator)

(V2006)
13
V2006
Acc. 1 0 0 0 0 0 0 0 0 0 0
The value in the
accumulator is divided by
the value in V2006
First stack location contains
the remainder
14
OUT
V2010
1 0

V2010
0
A
Copy the value in the lower
16 bits of the accumulator to
V2010
Handheld Programmer Keystrokes
B
$
STR

SHFT L
B

D
1
ENT

C A A A ENT
C
ANDST 3 2 0 0 0

GX
SHFT D
3
I

SHFT
8
V

V
AND
C
C

A
2
A

B
0
A

A
0
G

ENT
6
ENT
D
OUT AND 2 0 1 0

DL205 User Manual, 4th Edition, Rev. A 5–97


Chapter 5: Standard RLL Instructions - Math

Divide Double (DIVD)


1  230
Divide Double is a 32-bit instruction that divides the BCD
value in the accumulator by a BCD value (Aaaa), which
DIVD
 240 must be obtained from two consecutive V-memory A aaa
2  250-1 locations. (You cannot use a constant as the parameter in
 260 the box.) The first part of the quotient resides in the
3 accumulator and the remainder resides in the first stack location.
DS Used
Operand Data Type DL250-1 Range DL260 Range
4 HPP Used
A aaa aaa
V-memory V All V-memory (See page 3 - 55) All V-memory (See page 3 - 56)
5 Pointer P All V-memory (See page 3 - 55) All V-memory (See page 3 - 56)

Discrete Bit Flags Description


6 SP53 On when the value of the operand is larger than the accumulator can work with.
SP63 On when the result of the instruction causes the value in the accumulator to be zero.
7 SP70
SP75
On anytime the value in the accumulator is negative.
On when a BCD instruction is executed and a NON-BCD number was encountered.

8 NOTE: Status flags are valid only until another instruction uses the same flag.

9 In the following example, when X1 is on, the value in V1400 and V1401 will be loaded into
the accumulator using the Load Double instruction. The value in the accumulator is divided
by the value in V1420 and V1421 using the Divide Double instruction. The first part of the
10 quotient resides in the accumulator and the remainder resides in the first stack location. The
value in the accumulator is copied to V1500 and V1501 using the Out Double instruction.
11 DirectSOFT
V1401 V1400
X1 LDD 0 1 5 0 0 0 0 0

12 V1400

Load the value in V1400 and


V1401 into the accumulator
The unused accumulator
bits are set to zero
0 1 5 0 0 0 0 0 (Accumulator)

13 DIVD
V1420
Acc.
÷ 0

0
0

0
0

0
0

3
0

0
0

0
5

0
0

0
(V1421 and V1420)

0 0 0 0 0 0 0 0
The value in the accumulator First stack location contains

14 is divided by the value in


V1420 and V1421
the remainder

OUTD

A V1500

Copy the value in the


accumulator to V1500
and V1501
0 0 0

V1501
3 0 0 0

V1500
0

B Handheld Programmer Keystrokes


$
STR
B
1
ENT

L D D B E A A
SHFT ENT
ANDST 3 3 1 4 0 0

C SHFT D
3
I
8
V
AND
B
1
E
4
C
2
A
0
ENT

GX SHFT D B F A A ENT
OUT 3 1 5 0 0

5–98 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Math

Divide Real (DIVR)


 230 The Divide Real instruction divides a real number in the
accumulator by either a real constant or a real number DIVR 1
 240 occupying two consecutive V-memory locations. The result A aaa
 250-1 resides in the accumulator. Both numbers must conform to 2
 260 the IEEE floating point format.

DS Used
Operand Data Type DL250-1 Range DL260 Range 3
A aaa aaa
HPP N/A
V-memory V All (See page 3 - 55) All (See page 3 - 56) 4
Pointer P All V mem (See page 3 - 55) All V mem (See page 3 - 56)

Constant R
-3.402823E + 038 to
+ 3.402823E+038
-3.402823E + 038 to
+ 3.402823E+038
5
SP63
Discrete Bit Flags Description
On when the result of the instruction causes the value in the accumulator to be zero.
6
SP70
SP71
On anytime the value in the accumulator is negative.
On anytime the V-memory specified by a pointer (P) is not valid. 7
SP72 On anytime the value in the accumulator is a valid floating point number.
SP73
SP74
On when a signed addition or subtraction results in a incorrect sign bit.
On anytime a floating point math operation results in an underflow error.
8
SP75 On when a real number instruction is executed and a non-real number was encountered.
9
NOTE: Status flags are valid only until another instruction uses the same flag.

DirectSOFT
10
X1 LDR
R15.0
4 1 7 0 0 0 0 0

11
Load the real number 15.0
into the accumulator.

÷ 1
1 5
0

1 . 5
(decimal)
÷ 4
Acc. 3
4 1
1
7
2
0
0
0
0
0
0
0
0
0
0
(Accumulator)
(DIVR ) 12
F C 0 0 0 0 0
DIVR
R10.0

Divide the accumulator contents 3


V1401
F C 0 0
V1400
0 0 0 (Hex number)
13
by the real number 10.0.

Real Value 14
8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1
OUTD
V1400

Copy the result in the accumulator


Acc. 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

A
to V1400 and V1401. Sign Bit Exponent (8 bits) Mantissa (23 bits)
ndard RLL

64 + 32 + 16 + 8 + 4 + 2 + 1 = 127
127 - 127 = 0
1.1 x 2 (exp 0) = 1.1 binary= 1.5 decimal B
Implies 2 (exp 0)

NOTE: The current HPP does not support real number entry with automatic conversion to the 32-bit IEEE
C
format. You must use DirectSOFT for this feature.
D

DL205 User Manual, 4th Edition, Rev. A 5–99


Chapter 5: Standard RLL Instructions - Math

Increment (INC)
1  230 The Increment instruction increments a BCD value in a
specified V-memory location by “1” each time the instruction
INC
 240 is executed.
A aaa
2  250-1
 260
3
Decrement (DEC)
DEC
4  230 The Decrement instruction decrements a BCD value in a
specified V-memory location by “1” each time the instruction A aaa
 240 is executed.
5  250-1
 260
6 DS Used
Operand Data Type DL250-1 Range DL260 Range
HPP Used A aaa aaa
7 V-memory V All V mem (See page 3 - 55) All V mem (See page 3 - 56)
Pointer P All V mem (See page 3 - 55) All V mem (See page 3 - 56)

8 Discrete Bit Flags Description


SP63 On when the result of the instruction causes the value in the accumulator to be zero.
9 SP75 On when a BCD instruction is executed and a NON-BCD number was encountered.

NOTE: Status flags are valid only until another instruction uses the same flag.
10
In the following increment example, the value in V1400 increases by one each time that C5 is
11 closed (true).
DirectSOFT V1400
8 9 3 5

12 C5 INC
V1400

Increment the value in


V1400 by “1”. V1400

13 Handheld Programmer Keystrokes

$
STR
SHFT P
CV
D
3
NEXT NEXT NEXT
8

NEXT
9 3 6

F
5
ENT

I N C B E A A

14 SHFT
8 TMR 2

In the following decrement example, the value in V1400 is decreased by one each time that
1 4 0 0
ENT

C5 is closed (true).
A DirectSOFT V1400
C5 8 9 3 5
DEC

B V1400

Decrement the value in


V1400 by “1”.
V1400
8 9 3 4

C Handheld Programmer Keystrokes

$
STR
SHFT P
CV
D
3
NEXT NEXT NEXT NEXT F
5
ENT

SHFT D E C B E A A ENT
3 4 2 1 4 0 0

D NOTE: Use a pulsed contact closure to INC/DEC the value in V–memory once per closure.

5–100 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Math

Add Binary (ADDB)


The Add Binary instruction adds a 16-bit number (Aaaa) to
 230 the value stored in the accumulator. The number in the ADDB
1
 240 accumulator can be up to 32 bits long. The source of the A aaa
 250-1 16-bit operand can be a constant or a data value located in 2
 260 V-memory. Add Binary performs the addition operation on
the full binary representation of the operands, which distinguishes it from the Add
instruction (see page 5-88), which treats the operands as BCD numbers. Although the 3
DS Used
addition operation is performed on the underlying binary values, the native display format is
HPP Used
hexadecimal. For that reason you will need to load constants in hex. 4
The sum of the Add Binary operation occupies the full 32-bit accumulator and requires an
Out Double to move the sum to V-memory. If the value in the accumulator occupies fewer
than 32 bits, leading zeros are loaded in the left-most empty bit positions.
5
Operand Data Type
A
DL250-1 Range
aaa
DL260 Range
aaa
6
V-memory
Pointer
V
P
All (See page 3 - 55)
All V mem (See page 3 - 55)
All (See page 3 - 56)
All V mem (See page 3 - 56)
7
Constant. K 0-FFFF 0-FFFF

Discrete Bit Flags Description 8


SP63 On when the result of the instruction causes the value in the accumulator to be zero.
SP66 On when the 16-bit addition instruction results in a carry. 9
SP67 On when the 32-bit addition instruction results in a carry.
SP70
SP73
On anytime the value in the accumulator is negative
On when a signed addition or subtraction results in an incorrect sign bit.
10
NOTE: Status flags are valid only until another instruction uses the same flag. 11
In the following example, when X1 is on, the value in V1400 will be loaded into the
accumulator using the Load instruction. The binary value in V1420 is added to the binary 12
value in the accumulator using the Add Binary instruction. The value in the accumulator is
copied to V1500 - V1501 using the Out Double instruction.
DirectSOFT
Use either
V-memory
OR Constant
13
V1400
X1
LD
V1400

Load the value in V1400


LD
K2565
0 A 0 5

14
into the lower 16 bits of BIN The unused accumulator
bits are set to zero

A
the accumulator
0 0 0 0 0 A 0 5 (Accumulator) A05 (Hex) = 2565 (decimal)

ADDB + 1 2 C 4 (V1420) 12C4 (Hex) = 4804 (decimal)

V1420 Acc. 1 C C 9 (Accumulator) 1CC9 (Hex) = 7369 (decimal)

B
The binary value in the
accumulator is added to the
binary value in V1420

OUTD 1 C C 9
V1500
V1500
Copy the value in the lower
16bits of the accumulator to
V1500 and V1501
C
Handheld Programmer Keystrokes

STR

SHFT L
1

D
E NT

1 4 0 0 ENT
D
SHFT A D D B 1 4 2 0 ENT

OUT SHFT D 1 5 0 0 ENT

DL205 User Manual, 4th Edition, Rev. A 5–101


Chapter 5: Standard RLL Instructions - Math

Add Binary Double (ADDBD)


1  230 Add Binary Double is a 32-bit instruction that adds the binary
value in the accumulator with the value (Aaaa), which is either ADDBD
 240 two consecutive V-memory locations or an 8-digit (max.) binary A aaa
2  250-1 constant. The result resides in the accumulator.
 260
3 DS Used
Operand Data Type
A
DL260 Range
aaa

4 HPP Used V-memory


Pointer
V
P
All (See page 3 - 56)
All V mem (See page 3 - 56)
Constant. K 0-FFFFFFFF
5
Discrete Bit Flags Description
6 SP63
SP66
On when the result of the instruction causes the value in the accumulator to be zero.
On when the 16-bit addition instruction results in a carry.
SP67 On when the 32-bit addition instruction results in a carry.
7 SP70 On anytime the value in the accumulator is negative
SP73 On when a signed addition or subtraction results in an incorrect sign bit.
8 NOTE: Status flags are valid only until another instruction uses the same flag.

9 In the following example, when X1 is on, the value in V1400 and V1401 will be loaded into
the accumulator using the Load Double instruction. The binary value in the accumulator is
added with the binary value in V1420 and V1421 using the Add Binary Double instruction.
10 The value in the accumulator is copied to V1500 and V1501 using the Out Double
instruction.
11 Use either OR Constant
DirectSOFT V-memory

12 X1 LDD
V1400
LDD
K2561
0
V1401
0 0 0 0
V1400
A 0 1

13 Load the value in V1400


and V1401 into the
accumulator
BIN
0 0 0 0 0 A 0 1 (Accumulator)
+ 1 0 0 0 C 0 1 0 (V1421 and V1420)

14 ADDBD
V1420
Acc. 1 0 0 0 C A 1 1

The binary value in the

A accumulator is added with the


value in V1420 and V1421

OUTD
1 0 0 0 C A 1 1

V1500 V1501 V1500

B Copy the value in the


accumulator to V1500
and V1501

C Handheld Programmer Keystrokes


STR 1

D LD

ADD
SHFT

SHFT
D

B
SHFT

D
1

SHFT
4

1
0

4
0

2 0

OUT SHFT D SHFT 1 5 0 0

5–102 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Math

Subtract Binary (SUBB)


SUBB
 230 The Subtract Binary instruction subtracts a 16-bit number (Aaaa)
from the value stored in the accumulator. The number in the
A aaa 1
 240 accumulator can be up to 32 bits long. The source of the 16-bit operand can be a constant or
 250-1 a data value located in V-memory. Subtract Binary performs the subtraction operation on the 2
 260 full binary representation of the operands, which distinguishes it from the Subtract

DS Used
instruction (see page 5-91), which treats the operands as BCD numbers. Although the
subtraction operation is performed on the underlying binary values, the native display format
3
is hexadecimal. For that reason you will need to load constants in hex.
HPP Used
The difference (result) of the Subtract Binary operation occupies the full 32 bits of the
4
accumulator and requires an Out Double to move the value to V-memory. If the value in the
accumulator occupies fewer than 32 bits, leading zeros are loaded in the left-most empty bit 5
positions of the accumulator.
Operand Data Type DL250-1 Range DL260 Range 6
A aaa aaa
V-memory
Pointer
V
P
All (See page 3 - 55)
All V mem (See page 3 - 55)
All (See page 3 - 56)
All V mem (See page 3 - 56)
7
Constant K 0-FFFF 0-FFFF
8
Discrete Bit Flags Description
SP63
SP64
On when the result of the instruction causes the value in the accumulator to be zero.
On when the 16-bit subtraction instruction results in a borrow.
9
SP65 On when the 32-bit subtraction instruction results in a borrow.
SP70 On anytime the value in the accumulator is negative. 10
NOTE: Status flags are valid only until another instruction uses the same flag.
11
In the following example, when X1 is on, the value in V1400 will be loaded into the
accumulator using the Load instruction. The binary value in V1420 is subtracted from the
binary value in the accumulator using the Subtract Binary instruction. The value in the
12
accumulator is copied to V1500 - V1501 using the Out Double instruction.
DirectSOFT Use either OR Constant
13
V-memory

X1
LD
V1400
LD
K1024
14
V1400
Load the value in V1400
into the lower 16 bits of
the accumulator

SUBB
BIN

The unused accumulator


1 0 2 4

A
V1420 bits are set to zero

The binary value in V1420 is


subtracted from the value in
the accumulator
-
0 0 0 0

Acc.
0

0
1 0

A 0

6
2

1
4

9
(Accumulator) 1024 (Hex) = 4132 (decimal)

(V1420) A0B (Hex) = 2571 (decimal)

(Accumulator) 619 (Hex) = 1561 (decimal)


B
OUT
V1500

Copy the value in the lower 16


bits of the accumulator to V1500
0 6 1 9
C
Handheld Programmer Keystrokes V1500

STR

SHFT L
1

D
ENT

1 4 0 0 ENT
D
SHFT S SHFT U B B

1 4 2 0 ENT

OUT SHFT 1 5 0 0 ENT

DL205 User Manual, 4th Edition, Rev. A 5–103


Chapter 5: Standard RLL Instructions - Math

Subtract Binary Double (SUBBD)


1  230 Subtract Binary Double is a 32-bit instruction that subtracts
the binary value (Aaaa), which is either two consecutive
SUBBD
 240 V-memory locations or an 8-digit (max.) binary constant, A aaa
2  250-1 from the binary value in the accumulator. The result resides in
 260 the accumulator.
3 DS Used
Operand Data Type DL260 Range
A aaa
4 HPP Used V-memory
Pointer
V
P
All (See page 3 - 56)
All V mem (See page 3 - 56)
Constant K 0-FFFFFFFF
5 Discrete Bit Flags Description
6 SP63
SP64
On when the result of the instruction causes the value in the accumulator to be zero.
On when the 16-bit subtraction instruction results in a borrow.
SP65 On when the 32-bit subtraction instruction results in a borrow.
7 SP70 On anytime the value in the accumulator is negative.

NOTE: Status flags are valid only until another instruction uses the same flag.
8
In the following example, when X1 is on, the value in V1400 and V1401 will be loaded into
9 the accumulator using the Load Double instruction. The binary value in V1420 and V1421 is
subtracted from the binary value in the accumulator using the Subtract Binary Double
instruction. The value in the accumulator is copied to V1500 and V1501 using the Out
10 Double instruction.

11 DirectSOFT
Use either
V-memory
OR Constant

12 X1
LDD
V1400
LDD
K393471 0
V1401
0 0 6 0
V1400
0 F F

Load the value in V1400

13 and V1401 into the


accumulator
BIN

0 0 0 6 0 0 F F (Accumulator)

SUBBD - 0 0 0 0 1 A 0 1 (V1421 and V1420)

14 V1420

The binary value in V1420 and


Acc. 0 0 0 5 E 6 F E

V1421 is subtracted from the

A binary value in the accumulator

OUTD
V1500
0 0 0 5 E 6 F E

B Copy the value in the


accumulator to V1500
and V1501
V1501 V1500

C Handheld Programmer Keystrokes

STR 1 ENT

SHFT L D D 1 4 0 0 ENT

D SHFT S SHFT U B B D

1 4 2 0 ENT

OUT SHFT D 1 5 0 0 ENT

5–104 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Math

Multiply Binary (MULB)


 230 The Multiply Binary instruction multiplies a 16-bit number
A(aaa) by the value stored in the accumulator. The number
MULB 1
 240 in the accumulator can be up to 32 bits long. The source of
A aaa

 250-1 the 16-bit operand can be a constant or a data value located 2


 260 in V-memory. Multiply Binary performs the multiplication operation on the full binary

DS Used
representation of the operands, which distinguishes it from the Multiply instruction (see page
5-94), which treats the operands as BCD numbers. Although the multiplication operation is
3
performed on the underlying binary values, the native display format is hexadecimal. For that
HPP Used
reason you will need to load constants in hex. 4
The product of the Multiply Binary operation occupies the full 32-bit accumulator and
requires an Out Double to move the product to V-memory. If the value in the accumulator 5
occupies fewer than 32 bits, leading zeros are loaded in the left-most empty bit positions.
Operand Data Type DL250-1 Range DL260 Range 6
A aaa aaa
V-memory
Pointer
V
P
All (See page 3 - 55)
All V mem (See page 3 - 55)
All (See page 3 - 56)
All V mem (See page 3 - 56)
7
Constant K 0-FFFF 0-FFFF

Discrete Bit Flags Description


8
SP63
SP70
On when the result of the instruction causes the value in the accumulator to be zero.
On anytime the value in the accumulator is negative.
9
NOTE: Status flags are valid only until another instruction uses the same flag. 10
In the following example, when X1 is on, the value in V1400 will be loaded into the
accumulator using the Load instruction. The binary value in V1420 is multiplied by the 11
binary value in the accumulator using the Multiply Binary instruction. The value in the
accumulator is copied to V1500 - V1501 using the Out Double instruction. 12
Use either OR Constant
DirectSOFT V-memory

X1
LD
LD 0
V1400
A 0 1
13
V1400 K2561
Load the value in V1400
into the lower 16 bits of
the accumulator BIN
The unused accumulator
14
bits are set to zero
(Accumulator) A01 (Hex) = 2561 (decimal)

A
0 0 0 0 0 A 0 1
MULB
x 0 0 2 E (V1420) 2E (Hex) = 46 (decimal)
V1420
Acc. 0 0 0 1 C C 2 E (Accumulator) 1CC2E (Hex) = 117806 (decimal)
The binary value in V1420 is
multiplied by the binary
value in the accumulator

OUTD
B
V1500 0 0 0 1 C C 2 E (V1500 - V1501 value = 117806 decimal)

Copy the value of the accumulator


to V1500 and V1501
V1501 V1500
C
Handheld Programmer Keystrokes

STR

SHFT L D
1 ENT

1 4 0 0 ENT
D
SHFT M U L B 1 4 2 0 ENT

OUT SHFT D 1 5 0 0 ENT

DL205 User Manual, 4th Edition, Rev. A 5–105


Chapter 5: Standard RLL Instructions - Math

Divide Binary (DIVB)


1  230 The Divide Binary instruction divides a 16-bit number
(Aaaa) into the value stored in the accumulator. The
DIVB
 240 number in the accumulator can be up to 32 bits long. The
A aaa
2  250-1 source of the 16-bit divisor can be a constant or a data
 260 value located in V-memory. Divide Binary performs the division operation on the full binary
3 representation of the operands, which distinguishes it from the Divide instruction (see page
5-97), which treats the operands as BCD numbers. Although the division operation is
DS Used
performed on the underlying binary values, the native display format is hexadecimal. For that
4 HPP Used
reason you will need to load constants in hex.
At the completion of the division operation, the quotient resides in the accumulator and the
5 remainder resides in the first stack location.
The quotient occupies the full 32-bit accumulator and requires an Out Double to move the
6 quotient to V-memory. If the value in the accumulator occupies fewer than 32 bits, leading
zeros are loaded in the left-most empty bit positions.
7 Operand Data Type DL250-1 Range DL260 Range
A aaa aaa
8 V-memory
Pointer
V
P
All (See page 3 - 55)
All V mem (See page 3 - 55)
All (See page 3 - 56)
All V mem (See page 3 - 56)
Constant K 0-FFFF 0-FFFF
9 Discrete Bit Flags Description
SP53 On when the value of the operand is larger than the accumulator can work with.
10 SP63 On when the result of the instruction causes the value in the accumulator to be zero.
SP70 On anytime the value in the accumulator is negative.
11 NOTE: Status flags are valid only until another instruction uses the same flag.

12 In the following example, when X1 is on, the value in V1400 will be loaded into the
accumulator using the Load instruction. The binary value in the accumulator is divided by
13 the binary value in V1420 using the Divide Binary instruction. The value in the accumulator
is copied to V1500 using the Out Double instruction.
Use either OR Constant

14 DirectSOFT V-memory

V1400
X1
LD LDD F A 0 1

A V1400

Load the value in V1400


into the lower 16 bits of BIN
K64001

The unused accumulator


bits are set to zero
the accumulator
0 0 0 0 F A 0 1 (Accumulator) FA01 (Hex) = 64001 (decimal)

B DIVB
V1420
_..

0 0 0 0
0

0
0

3
5

2
0

0
(V1420)

(Accumulator)
50 (Hex) = 80 (decimal)

320 (Hex) = 800 (decimal)

0 0 0 0 0 0 0 1 1 (Hex) = 1 (decimal)

C
The binary value in the
accumulator is divided by
Top of stack holds remainder
the binary value in V1420
0 0 0 0 0 3 2 0
OUT V1501 V1500
V1500

D Copy the value in the lower 16


bits of the accumulator to V1500
Handheld Programmer Keystrokes
STR 1 ENT

SHFT L D 1 4 0 0 ENT

SHFT D I V B 1 4 2 0 ENT

OUT SHFT V 1 5 0 0 ENT

5–106 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Math

Increment Binary (INCB)


 230 The Increment Binary instruction increments a binary value
in a specified V-memory location by “1” each time the INCB 1
 240 instruction is executed. A aaa
 250-1 2
 260
DS Used
3
HPP Used
4
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range

V-memory
A
V
aaa
All (See page 3 - 53)
aaa
All (See page 3 - 54)
aaa
All (See page 3 - 55)
aaa
All (See page 3 - 56)
5
Pointer P - All V-memory
(See page 3 - 54)
All V-memory
(See page 3 - 55)
All V-memory
(See page 3 - 56) 6
Discrete Bit Flags Description 7
SP63 On when the result of the instruction causes the value in the accumulator to be zero.

NOTE: The status flags are only valid until another instruction that uses the same flags is executed. 8
In the following example when C5 is on, the binary value in V2000 is increased by 1.
9
10
DirectSOFT V2000 Handheld Programmer Keystrokes
C5 INCB
V2000
4 A 3 C
$
STR
SHFT C
2
F
5
ENT 11
SHFT I N C B C A A A ENT
Increment the binary value 8 TMR 2 1 2 0 0 0
in V2000 by “1”

4
V2000
A 3 D
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–107


Chapter 5: Standard RLL Instructions - Math

Decrement Binary (DECB)


1  230 The Decrement Binary instruction decrements a binary
value in a specified V-memory location by “1” each time the
DECB
 240 instruction is executed. A aaa
2  250-1
 260
3
DS Used

4 HPP Used

Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
5 A aaa aaa aaa aaa
V-memory V All (See page 3 - 53) All (See page 3 - 54) All (See page 3 - 55) All (See page 3 - 56)
6 Pointer P - All V-memory
(See page 3 - 54)
All V-memory
(See page 3 - 55)
All V-memory
(See page 3 - 56)

7 Discrete Bit Flags Description


SP63 On when the result of the instruction causes the value in the accumulator to be zero.
8
NOTE: The status flags are only valid until another instruction that uses the same flag is executed.
9 In the following example when C5 is on, the value in V2000 is decreased by 1.

10 DirectSOFT V2000
Handheld Programmer Keystrokes
4 A ?
3 C

11 C5 DECB
V2000
$
STR
SHFT

D
P

E
CV
D

C
3
B
SHFT C

C
2
F

A
5
A
ENT

A
SHFT ENT
Decrement the binary value 3 4 2 1 2 0 0 0
V2000

12 in V2000 by “1”
4 A ?
3 B

13
14
A
B
C
D

5–108 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Math

Add Formatted (ADDF)


 230 Add Formatted is a 32-bit instruction that adds the BCD value
in the accumulator with the BCD value (Aaaa) which is a range
ADDF A aaa 1
 240 of discrete bits. The specified range (Kbbb) can be 1 to 32
K bbb
 250-1 consecutive bits. The result resides in the accumulator. 2
 260
DS Used
Operand Data Type DL260 Range 3
A aaa bbb
HPP Used
Inputs X 0-1777 - 4
Outputs Y 0-1777 -
Control Relays
Stage Bits
C
S
0-3777
0-1777
-
-
5
Timer Bits T 0-377 -
Counter Bits CT 0-377 - 6
Special Relays SP 0-777 -
Global I/O
Constant
GX/GY
K
0-3777
-
-
1-32
7
SP63
Discrete Bit Flags Description
On when the result of the instruction causes the value in the accumulator to be zero.
8
SP66
SP67
On when the 16-bit addition instruction results in a carry.
On when the 32-bit addition instruction results in a carry.
9
SP70 On anytime the value in the accumulator is negative.
SP75 On when a BCD instruction is executed and a NON-BCD number was encountered. 10
NOTE: Status flags are valid only until another instruction uses the same flag.
11
In the following example, when X6 is on, the value formed by discrete locations X0–X3 is
loaded into the accumulator using the Load Formatted instruction. The value formed by
discrete locations C0–C3 is added to the value in the accumulator using the Add Formatted
12
instruction. The value in the lower four bits of the accumulator is copied to Y10–Y13 using
the Out Formatted instruction. 13
DirectSOFT

X6 LDF
K4
X0 Load the BCD value represented
by discrete locations X0–X3
into the accumulator
X3 X2 X1 X0
ON OFF OFF OFF
14
The unused accumulator
bits are set to zero

ADDF
K4
C0 Add the BCD value in the
accumulator with the value
represented by discrete +
0 0 0 0 0 0 0 8
3
(Accumulator)

(C0-C3)
C3 C2 C1
OFF OFF ON ON
C0 A
location C0–C3
Acc. 0 0 0 1 0 0 0 1

OUTF
K4
Y10 Copy the lower 4 bits of the
accumulator to discrete
locations Y10–Y13
B
Handheld Programmer Keystrokes
$
STR
G
6
ENT
Y13 Y12 Y11 Y10
OFF OFF OFF ON
C
SHFT L D F A E ENT
ANDST 3 5 0 4

SHFT

GX
A
0
D

F
3
D
3
F

B
5
A
NEXT NEXT

E
NEXT NEXT A
0
E
4
ENT D
SHFT ENT
OUT 5 1 0 4

DL205 User Manual, 4th Edition, Rev. A 5–109


Chapter 5: Standard RLL Instructions - Math

Subtract Formatted (SUBF)


1  230 Subtract Formatted is a 32-bit instruction that subtracts the
BCD value (Aaaa), which is a range of discrete bits, from the SUBF A aaa
 240 BCD value in the accumulator. The specified range (Kbbb) K bbb
2  250-1 can be 1 to 32 consecutive bits. The result resides in the
 260 accumulator.
3 DS Used
Operand Data Type DL260 Range
A aaa bbb
4 HPP Used
Inputs X 0-1777 -
Outputs Y 0-1777 -

5 Control Relays
Stage Bits
C
S
0-3777
0-1777
-
-
Timer Bits T 0-377 -
6 Counter Bits CT 0-377 -
Special Relays SP 0-777 -

7 Global I/O
Constant
GX/GY
K
0-3777
-
-
1-32

8 Discrete Bit Flags Description


SP63 On when the result of the instruction causes the value in the accumulator to be zero.
9 SP64
SP65
On when the 16-bit subtraction instruction results in a borrow.
On when the 32-bit subtraction instruction results in a borrow.
SP70 On anytime the value in the accumulator is negative.
10 SP75 On when a BCD instruction is executed and a NON-BCD number was encountered.

NOTE: Status flags are valid only until another instruction uses the same flag.
11
In the following example, when X6 is on, the value formed by discrete locations X0–X3 is
12 loaded into the accumulator using the Load Formatted instruction. The value formed by
discrete location C0–C3 is subtracted from the value in the accumulator using the Subtract
Formatted instruction. The value in the lower four bits of the accumulator is copied to
13 Y10–Y13 using the Out Formatted instruction.
DirectSOFT

14 X6 LDF
K4
X0
Load the BCD value represented
by discrete locations X0-X3 into
X3 X2
ON OFF OFF ON
X1 X0

the accumulator
The unused accumulator

A SUBF
K4
C0 Subtract the BCD value
represented by C0-C3 from
the value in the accumulator
bits are set to zero

_
0 0 0 0 0 0 0 9
8
(Accumulator)

(C0-- C3)
C3 C2 C1
ON OFF OFF OFF
C0

ACC. 0 0 0 0 0 0 0 1

B OUTF
K4
Y10 Copy the lower 4 bits of the
accumulator to discrete
locations Y10-- Y13

Handheld Programmer Keystrokes

C $
STR
G
6
ENT
Y13 Y12 Y11 Y10
OFF OFF OFF ON

SHFT L D F A E ENT

D SHFT
ANDST

S
RST
SHFT
3

U
5

ISG
B
1
F
0

5
NEXT
4

NEXT NEXT NEXT A


0
E
4
ENT

GX SHFT F B A E ENT
OUT 5 1 0 4

5–110 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Math

Multiply Formatted (MULF)


 230 Multiply Formatted is a 16-bit instruction that multiplies the
BCD value in the accumulator by the BCD value (Aaaa)
MULF A aaa 1
 240 which is a range of discrete bits. The specified range (Kbbb) K bbb
 250-1 can be 1 to 16 consecutive bits. The result resides in the 2
 260 accumulator.

DS Used
Operand Data Type DL260 Range 3
A aaa bbb
HPP Used
Inputs X 0-1777 - 4
Outputs Y 0-1777 -
Control Relays
Stage Bits
C
S
0-3777
0-1777
-
-
5
Timer Bits T 0-377 -
Counter Bits CT 0-377 - 6
Special Relays SP 0-777 -
Global I/O
Constant
GX/GY
K
0-3777
-
-
1-16
7
Discrete Bit Flags Description 8
SP63 On when the result of the instruction causes the value in the accumulator to be zero.
SP70
SP75
On anytime the value in the accumulator is negative.
On when a BCD instruction is executed and a NON-BCD number was encountered.
9
NOTE: Status flags are valid only until another instruction uses the same flag. 10
In the following example, when X6 is on, the value formed by discrete locations X0–X3 is
loaded into the accumulator using the Load Formatted instruction. The value formed by 11
discrete locations C0–C3 is multiplied by the value in the accumulator using the Multiply
Formatted instruction. The value in the lower four bits of the accumulator is copied to
Y10–Y13 using the Out Formatted instruction.
12
DirectSOFT
13
X3 X2 X1 X0
X6 LDF
K4
X0
Load the value represented
by discrete locations X0-- X3
into the accumulator
The unused accumulator
OFF OFF ON ON
14
bits are set to zero

MULF
K4
C0
Multiply the value in the
accumulator with the value
represented by discrete
locations C0-- C3
X

Acc. 0
0 0

0
0

0
0

0
0

0
0

0
0

0
3
2

6
(Accumulator)

(C0-- C3)
C3 C2 C1
OFF OFF ON OFF
C0
A
Copy the lower 4 bits of the
OUTF
K4
Y10
accumulator to discrete
locations Y10-- Y13 B
Handheld Programmer Keystrokes
$

SHFT
STR

L
ANDST
G

D
6

3
ENT

F
5
A
0
E
4
ENT
Y13 Y12 Y11 Y10
OFF ON ON OFF
C
SHFT

GX
OUT
M
ORST

SHFT
U

F
ISG

5
L
ANDST
F

B
5

1
A
0
NEXT NEXT

E
4
NEXT

ENT
NEXT A
0
E
4
ENT
D

DL205 User Manual, 4th Edition, Rev. A 5–111


Chapter 5: Standard RLL Instructions - Math

Divide Formatted (DIVF)


1  230 Divide Formatted is a 16-bit instruction that divides the BCD
value in the accumuator by the BCD value (Aaaa), a range of DIVF A aaa
 240 discrete bits. The specified range (Kbbb) can be 1 to 16 K bbb
2  250-1 consecutive bits. The first part of the quotient resides in the
 260 accumulator and the remainder resides in the first stack
3 location.
DS Used Operand Data Type DL260 Range
4 HPP Used
Inputs X
A aaa
0-1777
bbb
-

5 Outputs
Control Relays
Y
C
0-1777
0-3777
-
-
Stage Bits S 0-1777 -
6 Timer Bits
Counter Bits
T
CT
0-377
0-377
-
-

7 Special Relays
Global I/O
SP
GX/GY
0-777
0-3777
-
-
Constant K - 1-16
8 Discrete Bit Flags Description
9 SP63
SP70
On when the result of the instruction causes the value in the accumulator to be zero.
On anytime the value in the accumulator is negative.
SP75 On when a BCD instruction is executed and a NON-BCD number was encountered.
10
NOTE: Status flags are valid only until another instruction uses the same flag.
11 In the following example, when X6 is on, the value formed by discrete locations X0–X3 is
loaded into the accumulator using the Load Formatted instruction. The value in the
12 accumulator is divided by the value formed by discrete location C0–C3 using the Divide
Formatted instruction. The value in the lower four bits of the accumulator is copied to
Y10–Y13 using the Out Formatted instruction.
13
DirectSOFT
X3 X2 X1 X0

14 X6 LDF
K4
X0
Load the value represented
by discrete locations X0-- X3
into the accumulator
The unused accumulator
ON OFF OFF OFF

bits are set to zero

A DIVF
K4
C0
Divide the value in the
accumulator with the value
represented by discrete
location C0-- C3
_..

Acc. 0
0 0

0
0

0
0

0
0

0
0

0
0

0
8
2

4
(Accumulator)

(C0-- C3)

0 0 0 0 0 0
C3

0
C2
OFF OFF ON OFF

0
C1 C0

First stack location contains

B
Copy the lower 4 bits of the
OUTF Y10 accumulator to discrete the remainder
K4 locations Y10-- Y13

Handheld Programmer Keystrokes Y13 Y12 Y11 Y10

C $

SHFT
STR

L
G

D
6
ENT

F A E ENT
OFF ON OFF OFF

ANDST 3 5 0 4

D SHFT

GX
OUT
D

SHFT
3
I

F
8

5
V
AND
F

B
5

1
A
0
NEXT NEXT

E
4
NEXT

ENT
NEXT A
0
E
4
ENT

5–112 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Math

Add Top of Stack (ADDS)


 230 Add Top of Stack is a 32-bit instruction that adds the BCD
value in the accumulator with the BCD value in the first ADDS 1
 240 level of the accumulator stack. The result resides in the
 250-1 accumulator. The value in the first level of the accumulator 2
 260 stack is removed and all stack values are moved up one level.
3
Discrete Bit Flags Description
SP63 On when the result of the instruction causes the value in the accumulator to be zero. 4
SP66 On when the 16-bit addition instruction results in a carry.
SP67
SP70
On when the 32-bit addition instruction results in a carry.
On anytime the value in the accumulator is negative.
5
SP75 On when a BCD instruction is executed and a NON-BCD number was encountered.
6
NOTE: Status flags are valid only until another instruction uses the same flag.

DS Used In the following example, when X1 is on, the value in V1400 and V1401 will be loaded into
7
the accumulator using the Load Double instruction. The value in V1420 and V1421 is
HPP Used
loaded into the accumulator using the Load Double instruction, pushing the value previously 8
loaded in the accumulator onto the accumulator stack. The value in the first level of the
accumulator stack is added with the value in the accumulator using the Add Stack
instruction. The value in the accumulator is copied to V1500 and V1501 using the Out
9
Double instruction.
DirectSOFT
10
V1401 V1400

X1
LDD
V1400
Load the value in V1400 and
V1401 into the accumulator
0 0 3 9 5 0 2 6

Level 1 X
Accumulator stack
after 1st LDD

X X X X X X X
11
Acc. 0 0 3 9 5 0 2 6 Level 2 X X X X X X X X

0
V1421
0 1 7 2
V1420
0 5 6
Level 3
Level 4
Level 5
X
X
X
X
X
X
X
X
X
X X
X X
X X
X
X
X
X
X
X
X
X
X
12
LDD Load the value in V1420 and
V1421 into the accumulator Level 6 X X X X X X X X
V1420

Acc. 0 0 1 7 2 0 5 6
Level 7
Level 8
X
X
X
X
X
X
X X
X X
X
X
X
X
X
X
13
ADDS Add the value in the
accumulator with the value
in the first level of the
accumulator stack
Acc. 0 0 5 6 7 0 8 2
Accumulator stack
14
after 2nd LDD

OUTD
V1500
Copy the value in the
accumulator to V1500
and V1501
Level 1
Level 2
0
X
0
X
3
X
9
X X
5 0
X
2
X
6
X
A
0 0 5 6 7 0 8 2 Level 3 X X X X X X X X

Handheld Programmer Keystrokes

$
STR
B
1
ENT
V1501 V1500
Level 4
Level 5
Level 6
X
X
X
X
X
X
X
X
X
X X
X X
X X
X
X
X
X
X
X
X
X
X
B
Level 7 X X X X X X X X
SHFT

SHFT
L
ANDST

L
ANDST
D

D
3

3
D

D
3

3
B

B
1

1
E

E
4

4
A

C
0

2
A

A
0

0
ENT

ENT
Level 8 X X X X X X X X
C
SHFT

GX
OUT
A

SHFT
0
D

D
3

3
D
3
S

B
RST

1
ENT

F
5
A
0
A
0
ENT
D

DL205 User Manual, 4th Edition, Rev. A 5–113


Chapter 5: Standard RLL Instructions - Math

Subtract Top of Stack (SUBS)


1  230 Subtract Top of Stack is a 32-bit instruction that subtracts
the BCD value in the first level of the accumulator stack S UBS
 240 from the BCD value in the accumulator. The result resides in
2  250-1 the accumulator. The value in the first level of the
 260 accumulator stack is removed and all stack values are moved
3 up one level.
Discrete Bit Flags Description
4 SP63 On when the result of the instruction causes the value in the accumulator to be zero.
SP64 On when the 16-bit subtraction instruction results in a borrow.
5 SP65
SP70
On when the 32-bit subtraction instruction results in a borrow.
On anytime the value in the accumulator is negative.
SP75 On when a BCD instruction is executed and a NON-BCD number was encountered.
6 NOTE: Status flags are valid only until another instruction uses the same flag.

7 In the following example, when X1 is on, the value in V1400 and V1401 will be loaded into
the accumulator using the Load Double instruction. The value in V1420 and V1421 is
DS Used
loaded into the accumulator using the Load Double instruction, pushing the value previously
8 HPP Used
loaded into the accumulator onto the accumulator stack. The BCD value in the first level of
the accumulator stack is subtracted from the BCD value in the accumulator using the
9 Subtract Stack instruction. The value in the accumulator is copied to V1500 and V1501
using the Out Double instruction.
10 DirectSOFT
V1401 V1400
0 0 1 7 2 0 5 6 Accumulator stack

11
X1 LDD Load the value in V1400 and
V1401 into the accumulator after 1st LDD
V1400
Level 1 X X X X X X X X
Acc. 0 0 1 7 2 0 5 6 Level 2 X X X X X X X X

12 LDD
V1420
Load the value in V1420 and
V1421 into the accumulator
0
V1421
0 3 9 5
V1420
0 2 6
Level 3
Level 4
Level 5
X
X
X
X X
X X
X X
X X
X X
X X
X X
X X
X X
X
X
X
Level 6 X X X X X X X X

13 SUBS Subtract the value in the first


level of the accumulator
Acc. 0 0 3 9 5 0 2 6
Level 7
Level 8
X
X
X X
X X
X X
X X
X X
X X
X
X

stack from the value in the

14 accumulator
Acc. 0 0 2 2 2 9 7 0
Accumulator stack
after 2nd LDD
Copy the value in the

A OUTD
V1500
accumulator to V1500
and V1501
0 0 2 2 2 9 7 0
Level 1
Level 2
Level 3
0
X
X
0
X X
X X
1 7
X X
X X
2 0
X X
X X
5 6
X
X
V1501 V1500 Level 4 X X X X X X X X

B Handheld Programmer Keystrokes

$
STR
B
1
ENT
Level 5
Level 6
X
X
X X
X X
X X
X X
X X
X X
X
X
Level 7 X X X X X X X X

C SHFT

SHFT
L
ANDST

L
ANDST
D

D
3

3
D

D
3

3
B

B
1

1
E

E
4

4
A

C
0

2
A

A
0

0
ENT

ENT
Level 8 X X X X X X X X

D SHFT

GX
OUT
S
RST

SHFT
SHFT

D
3
U
ISG
B

B
1

1
S

F
RST

5
A
ENT

0
A
0
ENT

5–114 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Math

Multiply Top of Stack (MULS)


 230 Multiply Top of Stack is a 16-bit instruction that multiplies a
4-digit BCD value in the first level of the accumulator stack MULS
1
 240 by a 4-digit BCD value in the accumulator. The result resides
 250-1 in the accumulator. The value in the first level of the 2
 260 accumulator stack is is removed and all stack values are moved
up one level. 3
Discrete Bit Flags Description
SP63 On when the result of the instruction causes the value in the accumulator to be zero. 4
SP70 On anytime the value in the accumulator is negative.
SP75 On when a BCD instruction is executed and a NON-BCD number was encountered.
5
NOTE: Status flags are valid only until another instruction uses the same flag.

In the following example, when X1 is on, the value in V1400 will be loaded into the
6
accumulator using the Load instruction. The value in V1420 is loaded into the accumulator
DS Used
HPP Used
using the Load instruction, pushing the value previously loaded in the accumulator onto the 7
accumulator stack. The BCD value in the first level of the accumulator stack is multiplied by
the BCD value in the accumulator using the Multiply Stack instruction. The value in the
accumulator is copied to V1500 and V1501 using the Out Double instruction.
8
DirectSOFT
5
V1400
0 0 0
Accumulator stack
after 1st L DD
9
X1 Load the value in V1400 into
LD The unused accumulator
V1400
the accumulator
bits are set to zero

Acc. 0 0 0 0 5 0 0 0
Level 1
Level 2
Level 3
X
X
X
X
X
X
X
X
X
X X
X X
X X
X
X
X
X
X
X
X
X
X
10
Level 4 X X X X X X X X

LD Load the value in V1420 into The unused accumulator


0
V1420
2 0 0
Level 5
Level 6
X
X
X
X
X
X
X X
X X
X
X
X
X
X
X
11
the accumulator bits are set to zero Level 7 X X X X X X X X
V1420

Acc. 0 0 0 0 0 2 0 0
Level 8 X X X X X X X X
12
Multiply the value in
MULS
the accumulator with the
value in the first level
of the accumulator stack
Acc. 0 1 0 0 0 0 0 0 Accumulator stack
after 2nd L DD
13
Level 1 0 0 0 0 5 0 0 0

OUTD
V1500
Copy the value in the
accumulator to V1500
0 1 0 0 0 0 0 0
Level 2
Level 3
X
X
X
X
X
X
X X
X X
X
X
X
X
X
X
14
and V1501 Level 4 X X X X X X X X

Handheld Programmer Keystrokes


V1501 V1500 Level 5
Level 6
Level 7
X
X
X
X
X
X
X
X
X
X X
X X
X X
X
X
X
X
X
X
X
X
X
A
$ B ENT X X X X X X X X

SHFT
STR
L
ANDST
D
1

3
B
1
E
4
A
0
A
0
ENT
Level 8

B
L D B E C A
SHFT

SHFT
ANDST

M
ORST
U
3

ISG
L
ANDST
S
RST
1

ENT
4 2 0
ENT

C
GX D B F A A
OUT
SHFT
3 1 5 0 0
ENT
D

DL205 User Manual, 4th Edition, Rev. A 5–115


Chapter 5: Standard RLL Instructions - Math

Divide by Top of Stack (DIVS)


1  230 Divide Top of Stack is a 32-bit instruction that divides the
8-digit BCD value in the accumulator by a 4-digit BCD DIVS
 240 value in the first level of the accumulator stack. The result
2  250-1 resides in the accumulator and the remainder resides in the
 260 first level of the accumulator stack.
3 Discrete Bit Flags Description
SP53 On when the value of the operand is larger than the accumulator can work with.
4 SP63 On when the result of the instruction causes the value in the accumulator to be zero.
SP70 On anytime the value in the accumulator is negative.
5 SP75 On when a BCD instruction is executed and a NON-BCD number was encountered.

NOTE: Status flags are valid only until another instruction uses the same flag.
6 In the following example, when X1 is on, the Load instruction loads the value in V1400 into
the accumulator. The value in V1420 is loaded into the accumulator using the Load Double
7 DS Used
HPP Used
instruction, pushing the value previously loaded in the accumulator onto the accumulator
stack. The BCD value in the accumulator is divided by the BCD value in the first level of the
8 accumulator stack using the Divide Stack instruction. The Out Double instruction copies the
value in the accumulator to V1500 and V1501.

9 DirectSOFT
V1400 Accumulator stack
0 0 2 0 after 1st L DD
X1

10 LD
V1400
Load the value in V1400 into
the accumulator The unused accumulator
bits are set to zero

Acc. 0 0 0 0 0 0 2 0
Level 1
Level 2
X
X
X
X
X
X
X X
X X
X
X
X
X
X
X
Level 3 X X X X X X X X

11 Load the value V1420 and


0
V1421
0 5 0 0
V1420
0 0 0
Level 4
Level 5
Level 6
X
X
X
X
X
X
X
X
X
X X
X X
X X
X
X
X
X
X
X
X
X
X
LDD
V1421 into the accumulator Level 7 X X X X X X X X
V1420

12 Acc. 0 0 5 0 0 0 0 0
Level 8 X X X X X X X X

Accumulator stack
Divide the value in the
after 2nd L DD

13
DIVS accumulator by the value in
the first level of the 0 0 0 2 5 0 0 0 Level 1 0 0 0 0 0 0 2 0
Acc.
accumulator stack
Level 2 X X X X X X X X
Level 3 X X X X X X X X

14 OUTD
V1500
Copy the value in the
accumulator to V1500
and V1501
0 0 0 2 5 0 0 0
Level 4
Level 5
Level 6
X
X
X
X
X
X
X
X
X
X X
X X
X X
X
X
X
X
X
X
X
X
X
V1501 V1500
Level 7 X X X X X X X X

A Handheld Programmer Keystrokes

$ B ENT
Level 8 X X X X X X X X

The remainder resides in the


STR 1 first stack location

B SHFT

SHFT
L
ANDST

L
D

D
3

D
B
1
E

B
4
A

E
0
A

C
0
ENT

A
ENT
Level 1
Level 2
Level 3
0
X
X
0
X
X
0
X
X
0 0
X X
X X
0
X
X
0
X
X
0
X
X
ANDST 3 3 1 4 2 0
Level 4 X X X X X X X X

C SHFT

GX
D

SHFT
3
I

D
8
V
AND
S

B
RST
F
ENT

A A ENT
Level 5
Level 6
X
X
X
X
X
X
X X
X X
X
X
X
X
X
X
OUT 3 1 5 0 0 Level 7 X X X X X X X X

D Level 8 X X X X X X X X

5–116 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Math

Add Binary Top of Stack (ADDBS)


 230 Add Binary Top of Stack instruction is a 32-bit
instruction that adds the binary value in the accumulator ADDBS
1
 240 with the binary value in the first level of the accumulator
 250-1 stack. The result resides in the accumulator. The value in 2
 260 the first level of the accumulator stack is removed and all
stack values are moved up one level. 3
Discrete Bit Flags Description
SP63
SP66
On when the result of the instruction causes the value in the accumulator to be zero.
On when the 16-bit addition instruction results in a carry.
4
SP67 On when the 32-bit addition instruction results in a carry.
SP70 On anytime the value in the accumulator is negative. 5
SP73 On when a signed addition or subtraction results in a incorrect sign bit.

NOTE: Status flags are valid only until another instruction uses the same flag.
6
In the following example, when X1 is on, the value in V1400 and V1401 will be loaded into
the accumulator using the Load Double instruction. The value in V1420 and V1421 is
7
DS Used
loaded into the accumulator using the Load Double instruction, pushing the value previously
HPP Used
loaded in the accumulator onto the accumulator stack. The binary value in the first level of 8
the accumulator stack is added with the binary value in the accumulator using the Add Stack
instruction. The value in the accumulator is copied to V1500 and V1501 using the Out 9
Double instruction.
10
DirectSOFT V1401 V1400

X1 LDD
V1400
Load the value in V1400 and
V1401 into the accumulator
0 0 3 A 5 0 C 6

Level 1 X
Accumulator stack
after 1st LDD
X X X X X X X
11
Acc. 0 0 3 A 5 0 C 6 Level 2 X X X X X X X X

0
V1421
0 1 7 B
V1420
0 5 F
Level 3
Level 4
Level 5
X
X
X
X
X
X
X
X
X
X X
X X
X X
X
X
X
X
X
X
X
X
X
12
Load the value in V1420 and
LDD
V1421 into the accumulator
V1420

Acc. 0 0 1 7 B 0 5 F
Level 6
Level 7
Level 8
X
X
X
X
X
X
X
X
X
X X
X X
X X
X
X
X
X
X
X
X
X
X
13
ADDBS Add the binary value in the
accumulator with the binary
value in the first level of the
accumulator stack
Acc. 0 0 5 2 0 1 2 5
Accumulator stack
14
after 2nd LDD

OUTD
V1500
Copy the value in the
accumulator to V1500
and V1501 0 0 5 2 0 1 2 5
Level 1
Level 2
0
X
0
X
3
X
A 5
X X
0
X
C
X
6
X
A
Level 3 X X X X X X X X

Handheld Programmer Keystrokes

$ B
Level 4
Level 5
Level 6
X
X
X
X
X
X
X
X
X
X X
X X
X X
X
X
X
X
X
X
X
X
X
B
ENT
STR 1
Level 7 X X X X X X X X
SHFT

SHFT
L
ANDST

L
D

D
3
D

D
3
B

B
1
E

E
4
A

C
0
A

A
0
ENT

ENT
Level 8 X X X X X X X X
C
ANDST 3 3 1 4 2 0

SHFT

GX
A

SHFT
0
D

D
3
D
3
B

B
1
S

F
RST
A
ENT

A ENT
D
OUT 3 1 5 0 0

DL205 User Manual, 4th Edition, Rev. A 5–117


Chapter 5: Standard RLL Instructions - Math

Subtract Binary Top of Stack (SUBBS)


1  230 Subtract Binary Top of Stack is a 32-bit instruction that
subtracts the binary value in the first level of the accumulator
S UBBS
 240 stack from the binary value in the accumulator. The result
2  250-1 resides in the accumulator. The value in the first level of the
 260 accumulator stack is removed and all stack locations are
3 moved up one level.
Discrete Bit Flags Description
4 SP63 On when the result of the instruction causes the value in the accumulator to be zero.
SP64 On when the 16-bit subtraction instruction results in a borrow.
5 SP65
SP70
On when the 32-bit subtraction instruction results in a borrow.
On anytime the value in the accumulator is negative.

6 NOTE: Status flags are valid only until another instruction uses the same flag.

In the following example, when X1 is on, the value in V1400 and V1401 will be loaded into
7 DS Used
the accumulator using the Load Double instruction. The value in V1420 and V1421 is
loaded into the accumulator using the Load Double instruction, pushing the value previously
HPP Used
8 loaded in the accumulator onto the accumulator stack. The binary value in the first level of
the accumulator stack is subtracted from the binary value in the accumulator using the
Subtract Stack instruction. The value in the accumulator is copied to V1500 and V1501
9 using the Out Double instruction.
DirectSOFT

10 X1
LDD Load the value in V1400 and
V1401 into the accumulator
0
V1401
0 1 A 2
V1400
0 5 B Accumulator stack
after 1st LDD
V1400
Level 1 X X X X X X X X

11 Acc. 0 0 1 A 2 0 5 B Level 2
Level 3
X X
X X
X
X
X X
X X
X
X
X
X
X
X
V1421 V1420 Level 4 X X X X X X X X

12 LDD
V1420
Load the value in V1420 and
V1421 into the accumulator
0 0 3 A 5 0 C 6 Level 5
Level 6
X X
X X
X
X
X X
X X
X
X
X
X
X
X
Level 7 X X X X X X X X
Acc. 0 0 3 A 5 0 C 6

13 SUBBS Subtract the binary value in


the first level of the
Level 8 X X X X X X X X

accumulator stack from the 0 0 2 0 3 0 6 B

14 binary value in the


accumulator
Acc.
Accumulator stack
after 2nd LDD

Copy the value in the Level 1 0 0 1 A 2 0 5 B


OUTD
accumulator to V1500

A V1500 and V1501


0 0
V1501
2 0 3 0
V1500
6 B
Level 2
Level 3
Level 4
X X
X X
X X
X
X
X
X X
X X
X X
X
X
X
X
X
X
X
X
X
Handheld Programmer Keystrokes
Level 5 X X X X X X X X

B $
STR
L
B

D
1
D
ENT

B E A A
Level 6
Level 7
X X
X X
X
X
X X
X X
X
X
X
X
X
X
SHFT ENT Level 8 X X X X X X X X
ANDST 3 3 1 4 0 0

C SHFT L
ANDST
D
3
D
3
B
1
E
4
C
2
A
0
ENT

SHFT S U B B S ENT
SHFT
RST ISG 1 1 RST

D GX
OUT
SHFT D
3
B
1
F
5
A
0
A
0
ENT

5–118 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Math

Multiply Binary Top of Stack (MULBS)


 230 Multiply Binary Top of Stack is a 16-bit instruction that
multiplies the 16-bit binary value in the first level of the MULBS
1
 240 accumulator stack by the 16-bit binary value in the
 250-1 accumulator. The result resides in the accumulator and can be 2
 260 32 bits (8 digits max.). The value in the first level of the
accumulator stack is removed and all stack locations are
moved up one level.
3
SP63
Discrete Bit Flags Description
On when the result of the instruction causes the value in the accumulator to be zero.
4
SP70 On anytime the value in the accumulator is negative.
5
NOTE: Status flags are valid only until another instruction uses the same flag.

In the following example, when X1 is on, the Load instruction moves the value in V1400 into
6
the accumulator. The value in V1420 is loaded into the accumulator using the Load
DS Used
HPP Used
instruction, pushing the value previously loaded in the accumulator onto the stack. The 7
binary value in the accumulator stack’s first level is multiplied by the binary value in the
accumulator using the Multiply Binary Stack instruction. The Out Double instruction copies
the value in the accumulator to V1500 and V1501.
8
9
DirectSOFT V1400

X1
LD
V1400
Load the value in V1400 into
the accumulator The unused accumulator
bits are set to zero
C 3 5 0
Level 1 X
Accumulator stack
after 1st LDD
X X X X X X X
10
Level 2 X X X X X X X X
Acc. 0 0 0 0 C 3 5

V1420
0
Level 3
Level 4
X
X
X
X
X
X
X X
X X
X
X
X
X
X
X 11
Level 5 X X X X X X X X
0 0 1 4
LD
V1420
Load the value in V1420 into
the accumulator
The unused accumulator
bits are set to zero
Level 6
Level 7
Level 8
X
X
X
X
X
X
X
X
X
X X
X X
X X
X
X
X
X
X
X
X
X
X
12
Acc. 0 0 0 0 0 0 1 4

MULBS Multiply the binary value in


the accumulator with the
13
0 0 0 F 4 2 4 0 Accumulator stack
binary value in the first level Acc.
of the accumulator stack

Level 1
Level 2
0
X
after 2nd LDD

0
X
0
X
0 C
X X
3
X
5
X
0
X
14
OUTD Copy the value in the
V1500
accumulator to V1500
and V1501
0 0 0

V1501
F 4 2 4

V1500
0
Level 3
Level 4
Level 5
X
X
X
X
X
X
X
X
X
X X
X X
X X
X
X
X
X
X
X
X
X
X
A
Level 6 X X X X X X X X
Handheld Programmer Keystrokes

$
STR
B
1
ENT
Level 7
Level 8
X
X
X
X
X
X
X X
X X
X
X
X
X
X
X
B
SHFT L D B E A A ENT

SHFT
ANDST

L
ANDST
D
3

3
B
1

1
E
4

4
C
0

2
A
0

0
ENT
C
M U L B S
SHFT

GX
OUT
ORST

SHFT D
ISG

3
ANDST
B
1

1
F
RST

5
A
ENT

0
A
0
ENT
D

DL205 User Manual, 4th Edition, Rev. A 5–119


Chapter 5: Standard RLL Instructions - Math

Divide Binary by Top of Stack (DIVBS)


1  230
Divide Binary Top of Stack is a 32-bit instruction that divides
the 32-bit binary value in the accumulator by the 16-bit DIVBS
 240 binary value in the first level of the accumulator stack. The
2  250-1 result resides in the accumulator and the remainder resides in
 260 the first level of the accumulator stack.
3
Discrete Bit Flags Description
4 SP53
SP63
On when the value of the operand is larger than the accumulator can work with.
On when the result of the instruction causes the value in the accumulator to be zero.
SP70 On anytime the value in the accumulator is negative.
5
NOTE: Status flags are valid only until another instruction uses the same flag.
6 In the following example, when X1 is on, the value in V1400 will be loaded into the
accumulator using the Load instruction. The value in V1420 and V1421 is loaded into the
7 DS Used
HPP Used
accumulator using the Load Double instruction, pushing the value previously loaded in the
accumulator onto the accumulator stack. The binary value in the accumulator is divided by
8 the binary value in the first level of the accumulator stack using the Divide Binary Stack
instruction. The value in the accumulator is copied to V1500 and V1501 using the Out
Double instruction.
9 DirectSOFT V1400 Accumulator stack
after 1st LDD
0 0 1 4

10 X1
LD
V1400
Load the value in V1400 into
the accumulator The unused accumulator
bits are set to zero
Level 1
Level 2
X
X
X X
X X
X X
X X
X X
X X
X
X

Acc. 0 0 0 0 0 0 1 4 Level 3 X X X X X X X X

11 V1421 V1420
Level 4
Level 5
X
X
X X
X X
X X
X X
X X
X X
X
X
0 0 0 0 C 3 5 0 Level 6 X X X X X X X X
Load the value in V1420 and

12 LDD
V1420
V1421 into the accumulator

Acc. 0 0 0 0 C 3 5 0
Level 7
Level 8
X
X
X X
X X
X X
X X
X X
X X
X
X

Accumulator stack

13 DIVBS Divide the binary value in


the accumulator by the
Level 1 0
after 2nd LDD

0 0 0 0 0 1 4
binary value in the first level Acc. 0 0 0 0 0 9 C 4 Level 2 X X X X X X X X
of the accumulator stack

14 Level 3
Level 4
Level 5
X
X
X
X X
X X
X X
X X
X X
X X
X X
X X
X X
X
X
X
OUTD Copy the value in the
X X X X X X X X

A V1500
accumulator to V1500
and V1501
0 0 0
V1501
0 0 9 C
V1500
4
Level 6
Level 7
Level 8
X
X
X X
X X
X X
X X
X X
X X
X
X
Handheld Programmer Keystrokes

B $
STR
B
1
ENT
Level 1
The remainder resides in the
first stack location

0 0 0 0 0 0 0 0
SHFT L D B E A A ENT
ANDST 3 1 4 0 0 Level 2 X X X X X X X X

C SHFT L
ANDST
D
3
D
3
B
1
E
4
C
2
A
0
ENT
Level 3
Level 4
X
X
X X
X X
X X
X X
X X
X X
X
X

SHFT D I V B S ENT Level 5 X X X X X X X X

D GX
OUT
SHFT
3
D
8

3
AND
B
1

1
F
RST

5
A
0
A
0
ENT
Level 6
Level 7
X
X
X X
X X
X X
X X
X X
X X
X
X
Level 8 X X X X X X X X

5–120 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Transcendental Functions

Transcendental Functions (DL260 only)


The DL260 CPU features special numerical functions to complement its real number 1
 230 capability. The transcendental functions include the trigonometric sine, cosine, and tangent,
 240 and also their inverses (arc sine, arc cosine, and arc tangent). The square root function is also 2
 250-1 grouped with these other functions.
 260 The transcendental math instructions operate on a real number in the accumulator (it cannot 3
be BCD or binary). The real number result resides in the accumulator. The square root
DS Used function operates on the full range of positive real numbers. The sine, cosine and tangent
HPP N/A functions require numbers expressed in radians. You can work with angles expressed in 4
degrees by first converting them to radians with the Radian (RADR) instruction, then
performing the trig function. All transcendental functions utilize the following flag bits. 5
Discrete Bit Flags Description
SP63
SP70
On when the result of the instruction causes the value in the accumulator to be zero.
On anytime the value in the accumulator is negative.
6
SP72
SP73
On anytime the value in the accumulator is a valid floating point number.
On when a signed addition or subtraction results in a incorrect sign bit.
7
SP75 On when a real number instruction is executed and a non-real number was encountered.

Math Function Range of Argument


8
SP53 On when the value of the operand is larger than the accumulator can work with.
Sine Real (SINR)
9
The Sine Real instruction takes the sine of the real number
stored in the accumulator. The result resides in the SINR 10
accumulator. Both the original number and the result are in
IEEE 32-bit format. 11
Cosine Real (COSR)
The Cosine Real instruction takes the cosine of the real 12
number stored in the accumulator. The result resides in the COSR
accumulator. Both the original number and the result are in
IEEE 32-bit format.
13
Tangent Real (TANR)
The Tangent Real instruction takes the tangent of the real
14
number stored in the accumulator. The result resides in the TANR
accumulator. Both the original number and the result are in A
IEEE 32-bit format.
Arc Sine Real (ASINR) B
The Arc Sine Real instruction takes the inverse sine of the real ASINR
number stored in the accumulator. The result resides in the C
accumulator. Both the original number and the result are in
IEEE 32-bit format. D

DL205 User Manual, 4th Edition, Rev. A 5–121


Chapter 5: Standard RLL Instructions - Transcendental Functions

Arc Cosine Real (ACOSR)


1 The Arc Cosine Real instruction takes the inverse cosine of the
real number stored in the accumulator. The result resides in the
ACOSR

accumulator. Both the original number and the result are in


2 IEEE 32-bit format.
Arc Tangent Real (ATANR)
3 The Arc Tangent Real instruction takes the inverse tangent of ATANR
the real number stored in the accumulator. The result resides in
4 the accumulator. Both the original number and the result are in
IEEE 32-bit format.
5 Square Root Real (SQRTR)
The Square Root Real instruction takes the square root of the SQRTR
6 real number stored in the accumulator. The result resides in the
accumulator. Both the original number and the result are in
IEEE 32-bit format.
7
NOTE: The square root function can be useful in several situations. However, if you are trying to do the
8 square-root extract function for an orifice flow meter measurement as the PV to a PID loop, note that the
PID loop already has the square-root extract function built in.

9 DS Used
The following example takes the sine of 45 degrees. Since these transcendental functions
operate only on real numbers, we do a LDR (Load Real) 45. The trig functions operate only
HPP N/A in radians, so we must convert the degrees to radians by using the RADR command. After
10 using the SINR (Sine Real) instruction, we use an OUTD (Out Double) instruction to move
the result from the accumulator to V-memory. The result is 32-bits wide, requiring the Out
11 Double to move it.
Accumulator contents
DirectSOFT
12 X1 LDR Load the real number 45
(viewed as real number)

R45 into the accumulator. 45.000000


13
RADR Convert the degrees into
0.7358981
14 radians, leaving the result
in the accumulator.

A SINR Take the sine of the number


in the accumulator, which
is in radians.
0.7071067

B OUTD
V2000
Copy the valus in the
accumulator to V2000 0.7071067
and V2001.

C
NOTE: The current HPP does not support real number entry with automatic conversion to the 32-bit IEEE
D format. You must use DirectSOFT for entering real numbers, using the LDR (Load Real) instruction.

5–122 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Bit Operation

Bit Operation Instructions


1
Sum (SUM)
 230 The Sum instruction counts number of bits that are set to “1”
in the accumulator. The HEX result resides in the accumulator. SUM
2
 240
 250-1 3
 260
DS Used SP63
Math Function Range of Argument
On when the result of the instruction causes the value in the accumulator to be zero.
4
HPP Used
In the following example, when X1 is on, the value formed by discrete locations X10–X17 is 5
loaded into the accumulator using the Load Formatted instruction. The number of bits in the
accumulator set to “1” is counted using the Sum instruction. The value in the accumulator is
copied to V1500 using the Out instruction.
6
DirectSOFT
X17 X16 X15 X14 X13 X12 X11 X10
7
X1 LDF
K8
X10
The unused accumulator
bits are set to zero
ON ON OFF OFF ON OFF ON ON
8
Load the value represented by
discrete locations X10–X17
into the accumulator

Acc.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
8
0
7
1 1
6 5
0
4 3
0 1
2
0
1
1 1
0 9
SUM
Acc. 0 0 0 0 0 0 0 5 10
Sum the number of bits in
the accumulator set to “1”
11
OUT 0 0 0 5 12
V1500
V1500
Copy the value in the lower
16 bits of the accumulator
to V1500
13
Handheld Programmer Keystrokes
14
$ B ENT

SHFT
STR
L
ANDST
D
1

3
F
5
B
1
A
0
I
8
ENT
A
SHFT

GX
S
RST
SHFT

PREV
U

PREV
ISG
M
ORST

PREV B F
ENT

A A ENT
B
OUT 1 5 0 0

C
D

DL205 User Manual, 4th Edition, Rev. A 5–123


Chapter 5: Standard RLL Instructions - Bit Operation

Shift Left (SHFL)


1  230 Shift Left is a 32-bit instruction that shifts the bits in the
accumulator a specified number (Aaaa) of places to the left.
SHFL
 240 The vacant positions are filled with zeros and the bits shifted
A aaa
2  250-1 out of the accumulator are lost.
 260
3 Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
A aaa aaa aaa aaa
4 V-memory V All (See page 3 - 53) All (See page 3 - 54) All (See page 3 - 55) All (See page 3 - 56)
Constant K 1-32 1-32 1-32 1-32
5 In the following example, when X1 is on, the value in V2000 and V2001 will be loaded into
the accumulator using the Load Double instruction. The bit pattern in the accumulator is
6 shifted 10 bits to the left using the Shift Left instruction. The value in the accumulator is
copied to V2010 and V2011 using the Out Double instruction.
7 DS Used
HPP Used

8 Direct SOFT
V2001 V2000
X1 LDD 6 7 0 5 3 1 0 1

9 V2000

Load the value in V2000 and


V2001 into the accumulator

10 SHFL
KA
Acc.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
0 1 1 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0
8
1
7
0
6 5
0 0
4 3
0 0
2
0
1
0
0
1

The bit pattern in the

11 accumulator is shifted 10 bit


positions to the left Shifted out of the
accumulator

OUTD

12 V2010

Copy the value in the


accumulator to V2010 and
Acc.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
0 0 0 1
0 0 1 0 0 1
0 1
0 0 0 0 1
0 0 0 0 0 0 0 0 1 0
8
0
7
0
6 5
0 0
4 3
0 0
2
0 0
1 0
0

V2011

13
14 1 4

V2011
C 4 0 4

V2010
0 0

Handheld Programmer Keystrokes

A $

SHFT
STR
L
B

D
1
ENT

D C A A A ENT
ANDST 3 3 2 0 0 0

B SHFT

GX
S
RST

SHFT D
SHFT H
7
F

C
5
L
ANDST
A B A
SHFT A

ENT
0
ENT
Instructions

OUT 3 2 0 1 0

C
D

5–124 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Bit Operation

Shift Right (SHFR)


 230 Shift Right is a 32-bit instruction that shifts the bits in the
accumulator a specified number (Aaaa) of places to the right.
SHFR 1
 240 The vacant positions are filled with zeros and the bits shifted
A aaa
 250-1 out of the accumulator are lost. 2
 260
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
3
A aaa aaa aaa aaa
V-memory V All (See page 3 - 53) All (See page 3 - 54) All (See page 3 - 55) All (See page 3 - 56) 4
Constant K 1-32 1-32 1-32 1-32

In the following example, when X1 is on, the value in V2000 and V2001 will be loaded into
5
the accumulator using the Load Double instruction. The bit pattern in the accumulator is
shifted 10 bits to the right using the Shift Right instruction. The value in the accumulator is 6
copied to V2010 and V2011 using the Out Double instruction.
DS Used 7
HPP Used

Direct SOFT V2001 V2000


8
X1 Constant 6 7 0 5 3 1 0 1
LDD
V2000

Load the value in V2000 and


9
V2001 into the accumulator

SHFR
KA
Acc.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
0 1 1 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0
8
1
7
0
6 5
0 0
4 3
0 0
2
0
1
0
0
1 10
The bit pattern in the
accumulator is shifted 10 bit
positions to the right Shifted out of the
accumulator
11
OUTD
V2010

Copy the value in the Acc. 00


31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
0 0 0 0 0
1 0 0 0 0 0 01 0
1 0 0 1
0 1 1 0 0 0 0 0
8
1 0
7 6 5
1 0
4 3
0 1
2
1
1
0
0
0
12
accumulator to V2010 and
V201
1

13
0 0

V2011
1 9 C 1

V2010
4 C 14
Handheld Programmer Keystrokes

$ B ENT
A
STR 1

SHFT

SHFT
L
ANDST
S
RST
D

SHFT
3
D

H
3

7
F
5
C

R
ORN
2
A
0
A

SHFT
0
A

A
0

0
ENT

ENT
B
GX
OUT
SHFT D
3
C
2
A
0
B
1
A
0
ENT
C
D

DL205 User Manual, 4th Edition, Rev. A 5–125


Chapter 5: Standard RLL Instructions - Bit Operation

Rotate Left (ROTL)


1  230 Rotate Left is a 32-bit instruction that rotates the bits in the
accumulator a specified number (Aaaa) of places to the left.
ROTL
 240 A aaa
2  250-1 Operand Data Type DL250-1 Range DL260 Range
 260 A aaa aaa
3 V-memory V All (See page 3 - 55) All (See page 3 - 56)
Constant K 1-32 1-32
4 In the following example, when X1 is on, the value in V1400 and V1401 will be loaded into
the accumulator using the Load Double instruction. The bit pattern in the accumulator is
5 DS Used rotated 2 bit positions to the left using the Rotate Left instruction. The value in the
HPP Used accumulator is copied to V1500 and V1501 using the Out Double instruction.
6 DirectSOFT
V1401 V1400

7 X1
LDD
V1400
6 7 0 5 3 1 0 1

Load the value in V1400 and

8 V1401 into the accumulator

ROTL 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
K2 Acc. 0 1 1 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1

9 The bit pattern in the


accumulator is rotated 2
bit positions to the left

10 OUTD
V1500

11 Copy the value in the


accumulator to V1500
and V1501
Acc.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
1 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0
8
0
7
0
6
0
5
0
4
0
3
0
2
1
1
0
0
1

12
13 9 C 1 4 C 4 0 5

Handheld Programmer Keystrokes V1501 V1500

14 $
STR
B
1
ENT

SHFT L D D B E A A ENT
ANDST 3 3 1 4 0 0

A SHFT R
ORN
O
INST#
T
MLR
L
ANDST
C
2
ENT

GX SHFT D B F A A ENT

B OUT 3 1 5 0 0

C
D

5–126 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Bit Operation

Rotate Right (ROTR)


 230 Rotate Right is a 32-bit instruction that rotates the bits in the
accumulator a specified number (Aaaa) of places to the right.
ROTR 1
 240 A aaa
 250-1 Operand Data Type DL250-1 Range DL260 Range
2
 260 A aaa aaa
V-memory V All (See page 3 - 55) All (See page 3 - 56) 3
Constant K 1-32 1-32

In the following example, when X1 is on, the value in V1400 and V1401 will be loaded into
4
the accumulator using the Load Double instruction. The bit pattern in the accumulator is
DS Used rotated 2 bit positions to the right using the Rotate Right instruction. The value in the 5
HPP Used
accumulator is copied to V1500 and V1501 using the Out Double instruction.
DirectSOFT
V1401 V1400
6
X1
LDD 6 7 0 5 3 1 0 1
V1400

Load the value in V1400 and


7
V1401 into the accumulator

ROTR
Acc.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
0 1 1 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0
8
1
7
0
6 5
0 0
4 3
0 0
2
0
1
0
0
1
8
K2

The bit pattern in the


accumulator is rotated 2
bit positions to the right
9
OUTD
V1500
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
10
Copy the value in the
accumulator to V1500
and V1501
Acc. 0 0
1 0 0 10 01 0 10 10 10 00 00 00 00 00 10
1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0
11
12
5 9 C 1 4 C 4 0

Handheld Programmer Keystrokes V1501 V1500 13


$ B ENT
STR 1

SHFT L
ANDST
D
3
D
3
B
1
E
4
A
0
A
0
ENT 14
SHFT R O T R C ENT

GX
OUT
ORN

SHFT
INST#
D
3
MLR
B
ORN

1
F
5
A
2

0
A
0
ENT
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–127


Chapter 5: Standard RLL Instructions - Bit Operation

Encode (ENCO)
1  230 The Encode instruction encodes the bit position in the
accumulator having a value of 1, and returns the appropriate ENCO
 240 binary representation. If the most significant bit is set to 1 (Bit
2  250-1 31), the Encode instruction would place the value HEX 1F
 260 (decimal 31) in the accumulator. If the value to be encoded is
3 DS Used
0000 or 0001, the instruction will place a zero in the
accumulator. If the value to be encoded has more than one bit
position set to a “1”, the least significant “1” will be encoded
4 HPP Used
and SP53 will be set on.
Discrete Bit Flags Description
5 SP53 On when the value of the operand is larger than the accumulator can work with.

6 NOTE: The status flags are only valid until another instruction that uses the same flags is executed.

In the following example, when X1 is on, The value in V2000 is loaded into the accumulator
7 using the Load instruction. The bit position set to a “1” in the accumulator is encoded to the
corresponding 5 bit binary value using the Encode instruction. The value in the lower 16 bits
8 of the accumulator is copied to V2010 using the Out instruction.

9 DirectSOFT V2000
1 0 0 0

10 X1 LD
V2000

Load the value in V2000 into

11 the lower 16 bits of the


accumulator
Acc.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
8
0
7
0
6 5
0 0
4 3
0 0
2
0
1
0
0
0

12 Bit postion 12 is
converted
to binary

ENCO

13 Encode the bit position set


31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

to “1” in the accumulator to a Acc. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0

14 5 bit binary value

A OUT
V2010
0 0 0 C
Copy the value in the lower 16 bits
of the accumulator to V2010

B Handheld Programmer Keystrokes


V2010 Binary value
for 12.

$ B

C SHFT
STR
L
ANDST
D
1

3
ENT

C
2
A
0
A
0
A
0
ENT

E N C O

D SHFT

GX
OUT
4 TMR

SHFT V
AND
2 INST#
C
2
ENT

A
0
B
1
A
0
ENT

5–128 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Bit Operation

Decode (DECO)
 230 The Decode instruction decodes a 5 bit binary value of 0 to 31
(0 to 1F HEX) in the accumulator by setting the appropriate
DECO 1
 240 bit position to a 1. If the accumulator contains the value F
 250-1 (HEX), bit 15 will be set in the accumulator. If the value to be 2
 260 decoded is greater than 31, the number is divided by 32 until
the value is less than 32 and then the value is decoded. 3
DS Used In the following example when X1 is on, the value formed by discrete locations X10–X14 is
HPP Used loaded into the accumulator using the Load Formatted instruction. The five bit binary
pattern in the accumulator is decoded by setting the corresponding bit position to a “1” using
4
the Decode instruction.
5
DirectSOFT

X1 LDF X10
X14 X13 X12 X11 X10
OFF ON OFF ON ON
6
K5

Load the value in


represented by discrete
locations X10–X14 into the
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
7
8 7 6 5 4 3 2 1 0
accumulator
Acc. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1
8
The binary vlaue

DECO

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
is converted to
bit position 11.
9
8 7 6 5 4 3 2 1 0
Decode the five bit binary
pattern in the accumulator
and set the corresponding
bit position to a “1”
Acc. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
10
Handheld Programmer Keystrokes

$ B ENT
11
STR 1

SHFT L
ANDST
D
D

E
3
F

C
5
O
B
1
A
0
F
5
ENT
12
SHFT ENT
3 4 2 INST#

13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–129


Chapter 5: Standard RLL Instructions - Number Conversion

Number Conversion Instructions (Accumulator)


1
Binary (BIN)
2  230 The Binary instruction converts a BCD value in the
accumulator to the equivalent binary value. The result resides
BIN

 240 in the accumulator.


3  250-1 In the following example, when X1 is on, the value in V2000 and V2001 is loaded into the
 260 accumulator using the Load Double instruction. The BCD value in the accumulator is
4 converted to the binary (HEX) equivalent using the BIN instruction. The binary value in the
DS Used accumulator is copied to V2010 and V2011 using the Out Double instruction. (The
5 HPP Used
handheld programmer will display the binary value in V2010 and V2011 as a HEX value.)

6 DirectSOFT V2001 V2000

X1 0 0 0 2 8 5 2 9
LDD

7 V2000

Load the value in V2000 and


V2001 into the accumulator

8 Acc.
8 4

0 0
2

0
1

0
8

0
4 2

0 0
1

0
8

0
4

0
2 1

0 0
8

0
4

0
2

1
1

0
8 4

1 0
2

0
1

0
8

0
4 2

1 0
1

1
8

0
4

0
2 1

1 0
8

1
4

0
2

0
1

BCD Value

9 28529 = 16384 + 8192 + 2048 + 1024 + 512 + 256 + 64 + 32 + 16 + 1

10 BIN Binary Equivalent Value

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Convert the BCD value in Acc. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 1 1 1 0 0 0 1
the accumulator to the

11 binary equivalent value 2


1
4
7
1
0
7
3
5
3
6
8
2
6
8
4
1
3
4
2
6
7
1
0
3
3
5
5
1
6
7
7
8
3
8
8
4
1
9
4
2
0
9
7
1
0
4
8
5
2
4
2
2
6
2
1
1
3
1
0
6
5
5
3
3
2
7
6
1
6
3
8
8
1
9
2
4
0
9
6
2
0
4
8
1
0
2
4
5 2
1 5
2 6
1 6
2 4
8
3
2
1 8
6
4 2 1

4 7 7 3 1 8 4 7 6 3 1 5 8 4 7 6 8 4

12 4
8
3
6
4
1
8
2
0
9
1
2
5
4
5
6
7
7
2
8
8
6
4
4
3
2
2
1
6
0
8
0
4
5
2
7
6
8 4 2

4 4

13 8

OUTD

14 V2010

Copy the binary data in the


accumulator to V2010 and V2011
0 0
V2011
0 0 6 F 7
V2010
1
The Binary (HEX)
value copied to
V2010

A Handheld Programmer Keystrokes

$ B

B STR

SHFT L
ANDST
D
1

3
ENT

D
3
C
2
A
0
A
0
A
0
ENT

B I N

C SHFT

GX
OUT
SHFT
1
D
8

3
TMR
C
ENT

2
A
0
B
1
A
0
ENT

5–130 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Number Conversion

Binary Coded Decimal (BCD)


 230 The Binary Coded Decimal instruction converts a binary value
in the accumulator to the equivalent BCD value. The result
BCD 1
 240 resides in the accumulator.
 250-1 In the following example, when X1 is on, the binary (HEX) value in V2000 and V2001 is
2
 260 loaded into the accumulator using the Load Double instruction. The binary value in the
accumulator is converted to the BCD equivalent value using the BCD instruction. The BCD 3
value in the accumulator is copied to V2010 and V2011 using the Out Double instruction.
DS Used
HPP Used 4
DirectSOFT V2001 V2000 5
X1 0 0 0 0 6 F 7 1
LDD
V2000

Load the value in V2000 and


Binary Value
6
V2001 into the accumulator

Acc.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1
8
1
7 6 5
0 1 1
4 3
1 0
2
0 0
1 0
1
7
2 1 5 2 1 6 3 1 8 4 2 1 5 2 1 6 3 1 8 4 2 1 5 2 1 6 3 1 8 4 2 1
1
4
7
4
0
7
3
7
3
6
8
7
6
8
4
3
3
4
2
1
7
1
0
8
3
5
5
4
6
7
7
7
3
8
8
6
1
9
4
3
0
9
7
1
0
4
8
5
2
4
2
8
6
2
1
4
3
1
0
7
5
5
3
6
2
7
6
8
6
3
8
4
1
9
2
0
9
6
0
4
8
0
2
4
1
2
5
6
2 4
8
2 6
8
4 4 0 5 7 8 4 2 0 0 5 7 8 4 2
8 1 9
3
6
4
8
2
4
1
2
4
5
6
7
2
8
6
4
3
2
1
6
8 4 2 6
9
8

BCD
16384 + 8192 + 2048 + 1024 + 512 + 256 + 64 + 32 + 16 + 1 = 28529
10
Convert the binary value in
the accumulator to the BCD
equivalent value 8 4 2 1 8 4 2 1 8 4 2 1 8
BCD Equivalent Value

4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1
11
Acc. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1
12
OUTD
V2010
13
Copy the BCD value in the 0 0 0 2 8 5 2 9 The BCD value
accumulator to V2010 and V2011
V2011 V2010
copied to
V2010 and V2011 14
Handheld Programmer Keystrokes

$
STR
B
1
ENT
A
SHFT

SHFT
L
ANDST
B
D

C
3
D

D
3

ENT
C
2
A
0
A
0
A
0
ENT
B
1 2 3

GX
OUT
SHFT D
3
C
2
A
0
B
1
A
0
ENT
C
D

DL205 User Manual, 4th Edition, Rev. A 5–131


Chapter 5: Standard RLL Instructions - Number Conversion

Invert (INV)
1  230 The Invert instruction inverts or takes the one’s complement of
the 32-bit value in the accumulator. The result resides in the
INV
 240 accumulator.
2  250-1
 260 In the following example, when X1 is on, the value in V2000 and V2001 will be loaded into
3 the accumulator using the Load Double instruction. The value in the accumulator is inverted
DS Used using the Invert instruction. The value in the accumulator is copied to V2010 and V2011
4 HPP Used using the Out Double instruction.

5 DirectSOFT

X1 0
V2001
4 0 5
V2000
00 22 55 00
LDD

6 V2000

Load the value in V2000 and


V2001 into the accumulator
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

7 Acc. 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0

8 INV

Acc.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0
8
1 1
7 6 5
0 1
4 3
0 1
2
1
1
1
0
1
Invert the binary bit pattern

9 in the accumulator

OUTD F B F A F D A F

10 V2010

Copy the value in the


V2011 V2010

accumulator to V2010 and


V2011

11
Handheld Programmer Keystrokes

12 $
STR
B
1
ENT

L D D C A A A

13 SHFT

SHFT
ANDST
I
8
N
TMR
3
V
AND
3

ENT
2 0 0 0
ENT

14 GX
OUT
SHFT D
3
C
2
A
0
B
1
A
0
ENT

A
B
C
D

5–132 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Number Conversion

Ten’s Complement (BCDCPL)


 230 The Ten’s Complement instruction takes the 10’s complement
(BCD) of the 8-digit accumulator. The result resides in the
BCDCPL 1
 240 accumulator. The calculation for this instruction is :
 250-1 2
 260 100000000
— accumulator value
10’s compliment value
3
DS Used
HPP Used
In the following example when X1 is on, the value in V2000 and V2001 is loaded into the
4
accumulator. The 10’s complement is taken for the 8-digit accumulator using the Ten’s
Complement instruction. The value in the accumulator is copied to V2010 and V2011 using 5
the Out Double instruction.
6
DirectSOFT V2001 V2000

X1 LDD
0 0 0 0 0 0 8 7
7
V2000

Load the value in V2000 and


V2001 into the accumulator
Acc. 0 0 0 0 0 0 8 7
8
9
BCDCPL
Acc. 9 9 9 9 9 9 1 3

Takes a 10’s complement of


10
the value in the accumulator

OUTD
11
9 9 9 9 9 9 1 3
V2010

Copy the value in the


V2011 V2010 12
accumulator to V2010 and
V2011
13
Handheld Programmer Keystrokes

$ B
14
ENT
STR 1

SHFT L
ANDST
D
3
D
3
C
2
A
0
A
0
A
0
ENT
A
SHFT B
1
C
2
D
3
C
2
P
CV
L
ANDST
ENT
B
GX SHFT D C A B A ENT
OUT 3 2 0 1 0
C
D

DL205 User Manual, 4th Edition, Rev. A 5–133


Chapter 5: Standard RLL Instructions - Number Conversion

Binary to Real Conversion (BTOR)


1  230 The Binary-to-Real instruction converts a binary value in the
accumulator to its equivalent real number (floating point) BTOR
 240 format. The result resides in the accumulator. Both the binary
2  250-1 and the real number may use all 32 bits of the accumulator.
 260
3 NOTE: This instruction only works with unsigned binary, or decimal values. It will not work with signed
decimal values.
4
Discrete Bit Flags Description
5 SP63
SP70
On when the result of the instruction causes the value in the accumulator to be zero.
On anytime the value in the accumulator is negative.

6 In the following example, when X1 is on, the value in V1400 and V1401 is loaded into the
accumulator using the Load Double instruction. The BTOR instruction converts the binary
7 value in the accumulator the equivalent real number format. The binary weight of the MSB is
converted to the real number exponent by adding it to 127 (decimal). Then the remaining
bits are copied to the mantissa as shown. The value in the accumulator is copied to V1500
8 DS Used
HPP Used and V1501 using the Out Double instruction. The handheld programmer would display the
binary value in V1500 and V1501 as a HEX value.
9 DirectSOFT

0
V1401
0 0 5 7
V1400
2 4 1
X1 LDD

10 V1400

Load the value in V1400 and


V1401 into the accumulator
8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1

11 Acc. 0 0 0 0 0 0 0

2 (exp 18)
0 0 0 0 0 0 1 0 1 0 1

Binary Value
1 1 0 0 1 0 0 0 1 0 0 0 0 1

127 + 18 = 145
12 BTOR
145 = 128 + 16 + 1

13 Convert the binary value in


the accumulator to the real
number equivalent format
Acc. 0 1 0 0 1 0 0 0 1 0 1 0 1 1 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0

14
Sign Bit Exponent (8 bits) Mantissa (23 bits)

A Real Number Format

B OUTD
V1500
4 8 A E 4 8 2 0 The real number (HEX) value
Copy the real value in the copied to V1500
accumulator to V1500 and V1501 V1501 V1500

C Handheld Programmer Keystrokes

$ B ENT

D SHFT
STR
L
ANDST
D
1

3
D
3
B
1
E
4
A
0
A
0
ENT

SHFT B T O R ENT
1 MLR INST# ORN
GX SHFT D B F A A ENT
OUT 3 1 5 0 0

5–134 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Number Conversion

Real to Binary Conversion (RTOB)


 230 The Real-to-Binary instruction converts the real number in
the accumulator to a binary value. The result resides in the
RTOB 1
 240 accumulator. Both the binary and the real number may use all
 250-1 32 bits of the accumulator. 2
 260
NOTE1: The decimal portion of the result will be rounded down (14.1  14 or - 14.1  -15).
3
NOTE2: If the real number is negative, it becomes a signed decimal value.
4
Discrete Bit Flags Description
SP63
SP70
On when the result of the instruction causes the value in the accumulator to be zero.
On anytime the value in the accumulator is negative.
5
SP72
SP73
On anytime the value in the accumulator is a valid floating point number.
On when a signed addition or subtraction results in an incorrect sign bit. 6
SP75 On when a number cannot be converted to binary.

In the following example, when X1 is on, the value in V1400 and V1401 is loaded into the
7
accumulator using the Load Double instruction. The RTOB instruction converts the real
DS Used value in the accumulator the equivalent binary number format. The value in the accumulator 8
HPP Used is copied to V1500 and V1501 using the Out Double instruction. The handheld programmer
would display the binary value in V1500 and V1501 as a HEX value. 9
DirectSOFT

X1 LDD
V1400
4 8 A E 4 8 2 0
V1401 V1400
Real Number Format
10
Load the value in V1400 and Sign Bit Exponent (8 bits) Mantissa (23 bits)
V1401 into the accumulator
11
Acc. 0 1 0 0 1 0 0 0 1 0 1 0 1 1 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0
12
RTOB

Convert the real number in


the accumulator to binary 128 + 16 + 1 = 145
13
format.
127 + 18 = 145

2 (exp 18)
Binary Value
14
8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1
Acc. 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 0 0 1 0 0 0 0 1
A
OUTD
V1500

Copy the real value in the


accumulator to V1500 and V1501 V1501 V1500
B
0 0 0 5 7 2 4 1 The binary number copied to V1400

Handheld Programmer Keystrokes C


$ B ENT
STR 1

SHFT L
ANDST
D
3
D
3
B
1
E
4
A
0
A
0
ENT D
SHFT R T O B ENT
ORN MLR INST# 1
GX SHFT D B F A A ENT
OUT 3 1 5 0 0

DL205 User Manual, 4th Edition, Rev. A 5–135


Chapter 5: Standard RLL Instructions - Number Conversion

Radian Real Conversion (RADR)


1  230 The Radian Real Conversion instruction converts the real RADR
 240 degree value stored in the accumulator to the equivalent real
number in radians. The result resides in the accumulator.
2  250-1
 260
3 Degree Real Conversion (DEGR)
The Degree Real instruction converts the degree real radian
 230 value stored in the accumulator to the equivalent real number
4  240 in degrees. The result resides in the accumulator.
DEGR
 250-1 The two instructions described above convert real numbers in
5  260 the accumulator from degree format to radian format, and
visa-versa. In degree format, a circle contains 360 degrees. In radian format, a circle contains
6 DS Used 2 ⌸. These convert between both positive and negative real numbers, and for angles greater
than a full circle. These functions are very useful when combined with the transcendantal
HPP N/A
trigonometric functions (see the section on math instructions).
7 Discrete Bit Flags Description
8 SP63
SP70
On when the result of the instruction causes the value in the accumulator to be zero.
On anytime the value in the accumulator is negative.
SP71 On anytime the V-memory specified by a pointer (P) is not valid.
9 SP72 On anytime the value in the accumulator is a valid floating point number.
SP74 On anytime a floating point math operation results in an underflow error.

10 SP75 On when a BCD instruction is executed and a NON-BCD number was encountered.

NOTE: The current HPP does not support real number entry with automatic conversion to the 32-bit IEEE
11 format. You must use DirectSOFT for entering real numbers, using the LDR (Load Real) instruction.

The following example takes the sine of 45 degrees. Since transcendental functions operate
12 only on real numbers, we do a LDR (Load Real) 45. The trig functions operate only in
radians, so we must convert the degrees to radians by using the RADR command. After using
the SINR (Sine Real) instruction, we use an OUTD (Out Double) instruction to move the
13 result from the accumulator to V-memory. The result is 32-bits wide, requiring the Out
Double to move it.
14 DirectSOFT Accumulator contents
(viewed as real number)
A X1 LDR
R45
Load the real number 45 into
the accumulator. 45.000000

B RADR Convert the degrees into radians,


leaving the result in the 0.7853982
accumulator.

C SINR Take the sine of the number in


the accumulator, which is in 0.7071067
radians.

D OUTD Copy the value in the


V2000
accumulator to V2000
and V2001.
0.7071067

5–136 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Number Conversion

ASCII to HEX (ATH)


 230 The ASCII TO HEX instruction converts a table of ASCII
values to a specified table of HEX values. ASCII values are
ATH 1
 240 two digits and their HEX equivalents are one digit. V aaa
 250-1 2
 260
This means an ASCII table of four V-memory locations would only require two V-memory
locations for the equivalent HEX table. The function parameters are loaded into the 3
DS Used accumulator stack and the accumulator by two additional instructions. Listed below are the
HPP N/A steps necessary to program an ASCII to HEX table function. The example on the following 4
page shows a program for the ASCII to HEX table function.
Step 1: Load the number of V-memory locations for the ASCII table into the first level of the
accumulator stack.
5
Step 2: Load the starting V-memory location for the ASCII table into the accumulator. This
parameter must be a HEX value. 6
Step 3: Specify the starting V-memory location (Vaaa) for the HEX table in the ATH instruction.
Helpful hint: — For parameters that require HEX values when referencing memory locations,
7
the LDA instruction can be used to convert an octal address to the HEX equivalent and load
the value into the accumulator. 8
Operand Data Type DL250-1 Range DL260 Range
aaa aaa 9
V-memory V All (See page 3 - 55) All (See page 3 - 56)

In the example on the following page, when X1 is ON the constant (K4) is loaded into the 10
accumulator using the Load instruction and will be placed in the first level of the accumulator
stack when the next Load instruction is executed. The starting location for the ASCII table 11
(V1400) is loaded into the accumulator using the Load Address instruction. The starting
location for the HEX table (V1600) is specified in the ASCII to HEX instruction. The table
below lists valid ASCII values for ATH conversion.
12
ASCII Values Valid for ATH Conversion 13
ASCII Hex Value ASCII Value Hex Value
30 0 38 8 14
31 1 39 9
32
33
2
3
41
42
A
B
A
34 4 43 C
35 5 44 D B
36 6 45 E
37 7 46 F
C
D

DL205 User Manual, 4th Edition, Rev. A 5–137


Chapter 5: Standard RLL Instructions - Number Conversion

DirectSOFT Hexadecimal
1 X1 LD Load the constant value
into the lower 16 bits of the
ASCII TABLE Equivalents

K4 accumulator. This value


defines the number of V

2 memory locations in the


ASCII table
V1400 33 34
LDA Convert octal 1400 to HEX
300 and load the value into 1234 V1600

3 O 1400 the accumulator

V1401 31 32
ATH V1600 is the starting

4 V1600
location for the HEX table

Handheld Programmer Keystrokes

5 $
STR
B
1
ENT V1402 37 38
L D E
PREV 5678
6 SHFT

SHFT
ANDST
L
ANDST
D
3

3
A
0
B
4

1
E
ENT

4
A
0
A
0
ENT
V1403 35 36
V1601

A T H B G A A

7 SHFT
0 MLR 7 1 6 0 0
ENT

HEX to ASCII (HTA)


8  230
The HEX to ASCII instruction converts a table of HEX
values to a specified table of ASCII values. HEX values are
HTA
V aaa
9  240 one digit and their ASCII equivalents are two digits.
 250-1 This means a HEX table of two V-memory locations would require four V-memory locations
 260 for the equivalent ASCII table. The function parameters are loaded into the accumulator
10 stack and the accumulator by two additional instructions. Listed below are the steps necessary
to program a HEX to ASCII table function. The example on the following page shows a
11 program for the HEX to ASCII table function.
Step 1: Load the number of V-memory locations in the HEX table into the first level of the
DS Used
12 HPP N/A
accumulator stack.
Step 2: Load the starting V-memory location for the HEX table into the accumulator. This parameter
must be a HEX value.
13 Step 3: Specify the starting V-memory location (Vaaa) for the ASCII table in the HTA instruction.
Helpful hint: — For parameters that require HEX values when referencing memory locations,
14 the LDA instruction can be used to convert an octal address to the HEX equivalent and load
the value into the accumulator.
A Operand Data Type DL250-1 Range DL260 Range
B V-memory V
aaa
All (See page 3 - 55)
aaa
All (See page 3 - 56)

C
D

5–138 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Number Conversion

In the following example, when X1 is ON the constant (K2) is loaded into the accumulator
using the Load instruction. The starting location for the HEX table (V1500) is loaded into
the accumulator using the Load Address instruction. The starting location for the ASCII table 1
(V1400) is specified in the HEX to ASCII instruction.
DirectSOFT
2
Hexadecimal
X1 LD
K2
Equivalents ASCII TABLE
3
Load the constant value into
the lower 16 bits of the
accumulator. This value
defines the number of V
locations in the HEX table.
33 34 V1400 4
V1500 1234
LDA
O 1500
31 32 V1401
5
Convert octal 1500 to HEX
340 and load the value into
the accumulator
6
HTA 37 38 V1402
7
V1400

V1400 is the starting


location for the ASCII table.
V1501 5678 8
The conversion is executed
by this instruction.
35 36 V1403

9
Handheld Programmer Keystrokes

$
STR
B
1
ENT 10
SHFT L D PREV C ENT
ANDST 3 2

SHFT
L
ANDST
D
3
A
0
B
1
F
5
A
0
A
0
ENT 11
SHFT H T A B E A A ENT
7 MLR 0 1 4 0 0
12
The table below lists valid ASCII values for HTA conversion.
13
ASCII Values Valid for HTA Conversion
Hex Value ASCII Value Hex Value ASCII Value 14
0 30 8 38
1
2
31
32
9
A
39
41
A
3 33 B 42
4 34 C 43 B
5 35 D 44
6
7
36
37
E
F
45
46
C
D

DL205 User Manual, 4th Edition, Rev. A 5–139


Chapter 5: Standard RLL Instructions - Number Conversion

Segment (SEG)
1  230 The BCD / Segment instruction converts a four digit HEX
value in the accumulator to seven segment display format.
SEG
 240 The result resides in the accumulator.
2  250-1
 260
In the following example, when X1 is on, the value in V1400 is loaded into the lower 16 bits
3 of the accumulator using the Load instruction. The binary (HEX) value in the accumulator is
DS Used
converted to seven segment format using the Segment instruction. The bit pattern in the
4 HPP Used
accumulator is copied to Y20–Y57 using the Out Formatted instruction.

5 DirectSOFT
V1400

X1 6 F 7 1
LD

6 V1400

Load the value in V1400 nto the


lower 16 bits of the accumulator

7 Acc.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1
8
1
7
0
6 5
1 1
4 3
1 0
2 1
0
0
0 1

SEG

8 Convert the binary (HEX)


value in the accumulator to
seven segment display

9 format

OUTF Y20

10 K32

Copy the value in the 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0


accumulator to Y20-- Y57
Acc. 0 1 1 1 1 1 0 1 0 1 1 1 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0

11 - g f e d c b a - g f e d c b a - g f e d c b a - g f e d c b a Segment
Labels

12 Segment
Labels
f

g
b
Y57 Y56 Y55 Y54 Y53 Y24 Y23 Y22 Y21 Y20
OFF ON ON ON ON OFF OFF ON ON OFF

13 e

d
c

14
Handheld Programmer Keystrokes

A L
$
STR
D
B
1
ENT

B E A A ENT
ANDST 3 1 4 0 0

B SHFT
S
RST
SHFT E
4
G
6
ENT

GX F C A D C
SHFT ENT
OUT 5 2 0 3 2

C
D

5–140 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Number Conversion

Gray Code (GRAY)


 230 The Gray code instruction converts a 16-bit gray code value to
a BCD value. The BCD conversion requires 10 bits of the
GRAY 1
 240 accumulator. The upper 22 bits are set to “0”. This instruction
 250-1 is designed for use with devices (typically encoders) that use 2
 260 the grey code numbering scheme. The Gray Code instruction
will directly convert a gray code number to a BCD number for
devices having a resolution of 512 or 1024 counts per
3
DS Used
revolution. If a device having a resolution of 360 counts per
HPP Used
revolution is to be used you must subtract a BCD value of 76 4
from the converted value to obtain the proper result. For a
device having a resolution of 720 counts per revolution you
must subtract a BCD value of 152.
5
In the following example, when X1 is ON the binary value represented by X10–X27 is loaded
into the accumulator using the Load Formatted instruction. The gray code value in the
6
accumulator is converted to BCD using the Gray Code instruction. The value in the lower 16
bits of the accumulator is copied to V2010. 7
DirectSOFT
X27 X26 X25 X12 X11 X10
8
X1 OFF OFF OFF ON OFF ON
LDF
X10
K16

Load the value represented


9
by X10–X27 into the lower
16 bits of the accumulator

Acc.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
8
0
7
0
6 5
0 0
4 3
0 0
2
1
1
0
0
1
10
GRAY

Convert the 16 bit grey code


value in the accumulator to a
11
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BCD value

OUT
V2010
Acc. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
12
Copy the value in the lower
16 bits of the accumulator to
V2010
Gray Code

0000000000
BCD

0000 0 0 0 6
13
0000000001 0001 V2010
Handheld Programmer Keystrokes

$
STR
B
1
ENT
0000000011
0000000010
0002
0003
14
L D F B A B G 0000000110 0004
SHFT

SHFT
ANDST
G
6
R
ORN
3
A
5

0
Y
MLS
ENT
1 0 1 6
ENT
0000000111
0000000101
0005
0006
A
0000000100 0007
GX
OUT
SHFT V
AND
C
2
A
0
B
1
A
0
ENT




B

1000000001

1022 C
1000000000 1023

DL205 User Manual, 4th Edition, Rev. A 5–141


Chapter 5: Standard RLL Instructions - Number Conversion

Shuffle Digits (SFLDGT)


1  230 The Shuffle Digits instruction shuffles a maximum of 8 digits
rearranging them in a specified order. This function requires
SFLDGT
 240 parameters to be loaded into the first level of the accumulator
2  250-1 stack and the accumulator with two additional instructions.
 260 Listed below are the steps necessary to use the shuffle digit
3 function. The example on the following page shows a program for the Shuffle Digits
function.
4 DS Used
HPP Used
Step 1: Load the value (digits) to be shuffled into the first level of the accumulator stack.
Step 2: Load the order that the digits will be shuffled to into the accumulator.

5 Step 3: Insert the SFLDGT instruction.

NOTE: If the number used to specify the order contains a 0 or 9–F, the corresponding position will be set to
6 0.

See example on the next page.


7 NOTE: If the number used to specify the order contains duplicate numbers, the most significant duplicate
number is valid. The result resides in the accumulator.
8
Shuffle Digits Block Diagram Digits to be
shuffled (first stack location)
9 There are a maximum of 8 digits that can be
shuffled. The bit positions in the first level of the 9 A B C D E F 0

10 accumulator stack defines the digits to be shuffled.


They correspond to the bit positions in the
accumulator that define the order the digits will
11 be shuffled. The digits are shuffled and the result 1 2 8 7 3 6 5 4

resides in the accumulator. Specified order (accumulator)

12 Bit Positions 8 7 6 5 4 3 2 1

13 B C E F 0 D A 9

Result (accumulator)
14
A
B
C
D

5–142 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Number Conversion

In the following example when X1 is on, The value in the first level of the accumulator stack
will be reorganized in the order specified by the value in the accumulator.
Example A shows how the shuffle digits works when 0 or 9 –F is not used when specifying
1
the order the digits are to be shuffled. Also, there are no duplicate numbers in the specified
order. 2
Example B shows how the shuffle digits works when a 0 or 9–F is used when specifying the
order the digits are to be shuffled. Notice when the Shuffle Digits instruction is executed, the 3
bit positions in the first stack location that had a corresponding 0 or 9–F in the accumulator
(order specified) are set to “0”. 4
Example C shows how the shuffle digits works when duplicate numbers are used specifying
the order the digits are to be shuffled. Notice when the Shuffle Digits instruction is executed,
the most significant duplicate number in the order specified is used in the result.
5
6
Direct SOFT
A B C
X1 LDD
V2000 9
V2001
A B C D
V2000
E F 0 0
V2001
F E D C
V2000
B A 9 9
V2001
A B C D
V2000
E F 0
7
Load the value in V2000 and
V2001 into the accumulator
Original
bit
8 7 6 5

Positions 9 A B C
4
D
3
E
2
F
1
0 Acc.
8 7 6 5
0 F E D
4
C
3
B
2
A
1
9 Acc.
8
9
7
A
6
B
5
C
4
D
3
E
2
F
1
0 Acc.
8
LDD
V2006 1
V2007
2 8 7 3
V2006
6 5 4 0
V2007
0 4 3 0
V2006
0 2 1 4
V2007
3 2 1 4
V2006
3 2 1
9
Load the value in V2006 and
V2007 into the accumulator Specified
order
8
1
7
2
6
8
5
7
4
3
3
6
2
5
1
4 Acc.
8
0
7
0
6
4
5
3
4
0
3
0
2
2
1
1 Acc.
8
4
7
3
6
2
5
1
4
4
3
3
2
2
1
1 Acc.
10
SFLDGT
New bit
Positions
8
B
7
C
6
E
5
F
4
0
3
D
2
A
1
9 Acc.
8 7 6 5
0 0 0 0
4
E
3
D
2
A
1
9 Acc.
8
0
7
0
6
0
5
0
4
9
3
A
2
B
1
C Acc. 11
Shuffle the digits in the first
level of the accumulator
stack based on the pattern
in the accumulator. The
result is in the accumulator.
12
OUTD
V2010

Copy the value in the


accumulator to V2010 and
B C E

V2011
F 0 D

V2010
A 9 0 0 0

V2011
0 E D

V2010
A 9 0 0 0

V2011
0 9 A B

V2010
C

13
V2011

Handheld Programmer Keystrokes


14
$ B

SHFT
STR
L
ANDST
D
1

3
ENT

D
3
C
2
A
0
A
0
A
0
ENT
A
L D D C A A G
SHFT

SHFT
ANDST
S
RST
SHFT
3
F
3

5
L
ANDST
D
2

3
G
0

6
T
MLR
0 6

ENT
ENT
B
GX D C A B A
OUT
SHFT
3 2 0 1 0
ENT
C
D

DL205 User Manual, 4th Edition, Rev. A 5–143


Chapter 5: Standard RLL Instructions - Table

Table Instructions
1
Move (MOV)
2  230
The Move instruction moves the values from a V-memory
table to another V-memory table the same length. The MOV

3  240 function parameters are loaded into the first level of the V aaa
 250-1 accumulator stack and the accumulator by two additional

4  260 instructions. Listed below are the steps necessary to program


the Move function.
Step 1: Load the number of V-memory locations to be moved into the first level of the accumulator
DS Used
5 HPP Used
stack. This parameter is a HEX value (KFFF max, 7777 octal).
Step 2: Load the starting V-memory location for the locations to be moved into the accumulator.
This parameter must be a HEX value.
6 Step 3: Insert the MOVE instruction which specifies starting V-memory location (Vaaa) for the
destination table.
7 Helpful hint: — For parameters that require HEX values when referencing memory locations,
the LDA instruction can be used to convert an octal address to the HEX equivalent and load
8 the value into the accumulator.
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
9 aaa aaa aaa aaa
V-memory V All (See page 3 - 53) All (See page 3 - 54) All (See page 3 - 55) All (See page 3 - 56)
10 In the following example, when X1 is on, the constant value (K6) is loaded into the
accumulator using the Load instruction. This value specifies the length of the table and is
11 placed in the first stack location after the Load Address instruction is executed. The octal
address 2000 (V2000), the starting location for the source table is loaded into the
accumulator. The destination table location (V2030) is specified in the Move instruction.
12
13 X1 LD
K6
Load the constant value 6
(HEX) into the lower 16 bits
X X X X V1776 X X X X V2026
of the accumulator

14 LDA
O 2000
Convert octal 2000 to HEX
400 and load the value into
the accumulator
X
0
0
X
1
5
X
2
0
X V1777
3 V2000
0 V2001
X
0
0
X
1
5
X
2
0
X V2027
3 V2030
0 V2031
9 9 9 9 V2002 9 9 9 9 V2032

A MOV
V2030
Copy the specified table
locations to a table
beginning at location V2030
3
8
0
9
7
8
4 V2003
9 V2004
3
8
0
9
7
8
4 V2033
9 V2034
1 0 1 0 V2005 1 0 1 0 V2035
Handheld Programmer Keystrokes

B $
STR
B
1
ENT
X
X
X
X
X
X
X V2006
X V2007
X
X
X
X
X
X
X V2036
X V2037

SHFT L D SHFT K G ENT

C SHFT
ANDST
L
ANDST
D
3

3
A
0
C
JMP

2
A
6

0
A
0
A
0
ENT

SHFT M O V C A D A ENT

D ORST INST# AND 2 0 3 0

5–144 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Table

Move Memory Cartridge (MOVMC)


Load Label (LDLBL) 1
The Move Memory Cartridge instruction is used to copy data
MOVMC
 230 between V-memory and program ladder memory. The Load
V aaa
2
 240 Label instruction is only used with the MOVMC instruction
when copying data from program ladder memory to V-memory.
 250-1 3
 260 To copy data between V-memory and program ladder memory,
the function parameters are loaded into the first two levels of
DS Used
the accumulator stack and the accumulator by two additional
LDLBL
K aaa
4
instructions. Listed below are the steps necessary to program
HPP Used the Move Memory Cartridge and Load Label functions. 5
Step 1: Load the number of words to be copied into the second level of the accumulator stack.
Step 2: Load the offset for the data label area in the program ladder memory and the beginning of the
V-memory block into the first level of the accumulator stack.
6
Step 3: Load the source data label (LDLBL Kaaa) into the accumulator when copying data from
ladder memory to V-memory. Load the source address into the accumulator when copying
7
data from V-memory to ladder memory. This is where the value will be copied from. If the
source address is a V-memory location, the value must be entered in HEX. 8
Step 4: Insert the MOVMC instruction which specifies destination (Aaaa). This is where the value
will be copied to.
9
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
aaa aaa aaa aaa
10
V-memory V All (See page 3 - 53) All (See page 3 - 54) All (See page 3 - 55) All (See page 3 - 56)
Constant K K1-KFFFF K1-KFFFF K1-KFFFF K1-KFFFF 11
WARNING: The offset for this usage of the instruction starts at 0, but may be any number that does not
result in data outside of the source data area being copied into the destination table. When an offset is
12
outside of the source information boundaries, then unknown data values will be transferred into the
destination table. 13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–145


Chapter 5: Standard RLL Instructions - Table

Copy Data From a Data Label Area to V-Memory


1  230
In the following example, data is copied from a Data Label Area to V-memory. When X1 is
on, the constant value (K4) is loaded into the accumulator using the Load instruction. This

2  240 value specifies the length of the table and is placed in the second stack location after the next
Load and Load Label (LDLBL) instructions are executed. The constant value (K0) is loaded
 250-1 into the accumulator using the Load instruction. This value specifies the offset for the source
 260
3 and destination data, and is placed in the first stack location after the LDLBL instruction is
executed. The source address where data is being copied from is loaded into the accumulator
DS Used using the LDLBL instruction. The MOVMC instruction specifies the destination starting
4 HPP Used location and executes the copying of data from the Data Label Area to V-memory.

5 DirectSOFT

X1 LD
Data Label Area
Programmed
After the END
Instruction
K4 X X X X V1777
DLBL K1
6 Load the value 4 into the
accumulator specifying the
number of locations to be
N
K
C O N
1 2 3 4
1 2 3 4 V2000
copied.

7 LD
K0
N
K

N
C O N
4 5

C O N
3 2
4

6
5

1 5
3 2

1
V2001

V2002
Load the value 0 into the

8 accumulator specifying the


offset for source and
destination locations
K

N
K
6 1

C O N
8 8
5

4
1

5
8 8 4 5 V2003

LDLBL
X X X X V2004

9 K1

Load the value 1 into the


accumulator specifying the
Data Label Area K1 as the

10 starting address of the data


to be copied.

MOVMC

11 V2000

V2000 is the destination


starting address for the data
to be copied.

12 Handheld Programmer Keystrokes

$ B ENT
STR 1

13 SHFT L
ANDST
D
3
SHFT K
JMP
E
4
ENT

SHFT L D SHFT K A ENT

14 SHFT
ANDST
L
ANDST
D
3

3
L
ANDST
B
1
L
JMP

ANDST
0
B
1
ENT

SHFT M O V M C C A A A ENT

A ORST INST# AND ORST 2 2 0 0 0

B WARNING: The offset for this usage of the instruction starts at 0, but may be any number that does not
result in data outside of the source data area being copied into the destination table. When an offset is
outside of the source information boundaries, then unknown data values will be transferred into the
C destination table.

5–146 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Table

Copy Data From V-Memory to a Data Label Area

 230
In the following example, data is copied from V-memory to a data label area. When X1 is on,
the constant value (K4) is loaded into the accumulator using the Load instruction. This value
1
 240 specifies the length of the table and is placed in the second stack location after the next Load
2
 250-1 and Load Address instructions are executed. The constant value (K2) is loaded into the
accumulator using the Load instruction. This value specifies the offset for the source and
 260 destination data, and is placed in the first stack location after the Load Address instruction is
executed. The source address where data is being copied from is loaded into the accumulator
3
DS Used using the Load Address instruction. The MOVMC instruction specifies the destination
HPP Used starting location and executes the copying of data from V-memory to the data label area. 4
DirectSOFT

X1 LD
Data Label Area
Programmed
After the END
5
K4
Instruction
Load the value 4 into the
accumulator specifying the
number of locations to be
X X X X V1777 DLBL K1 6
copied.

LD
K2 Offset
1

4
2

5
3

3
4

2
V2000

V2001
N

N
K
C O N
7 0

C O N
4 1
Offset
7
Load the value 2 into the
accumulator specifying the K 4 6 4 8
offset for source and
destination locations.

LDA
6 1 5 1 V2002 N
K
C O N
6 1 5 1
8
O 2000 8 8 4 5 V2003 N C O N

Convert octal 2000 to HEX


400 and load the value into
the accumulator. This
2 5 0 0 V2004 N
K 8 8

C O N
4 5
9
specifies the source location K 2 5 0 0
where the data will be
copied from
6 8 3 5 V2005 N
K
C O N
6 8 3 5
10
MOVMC X X X X V2006
K1

K1 is the data label


destination area where the
11
data will be copied to

Handheld Programmer Keystrokes 12


$ B ENT
STR 1

SHFT L
ANDST
D
3
SHFT K
JMP
E
4
ENT 13
SHFT L D SHFT K C ENT

SHFT
ANDST
L
ANDST
D
3

3
A
0
C
JMP

2
A
2

0
A
0
A
0
ENT 14
SHFT M O V M C SHFT K B ENT
ORST INST# AND ORST 2 JMP 1
A
WARNING: The offset for this usage of the instruction starts at 0. If the offset (or the specified data
table range) is large enough to cause data to be copied from V-memory to beyond the end of the DLBL B
area, then anything after the specified DLBL area will be replaced with invalid instructions.
C
D

DL205 User Manual, 4th Edition, Rev. A 5–147


Chapter 5: Standard RLL Instructions - Table

Set Bit (SETBIT)


1  230
The Set Bit instruction sets a single bit to one within a range
of V-memory locations.
SETBIT
V aaa
2  240
 250-1
3  260
Reset Bit (RSTBIT)
4 The Reset Bit instruction resets a single bit to zero within a RSTBIT
 230 range of V-memory locations. V aaa
5  240
 250-1
6  260 The following description applies to both the Set Bit and Reset Bit table instructions.
Step 1: Load the length of the table (number of V-memory locations) into the first level of the
7 DS Used
HPP Used
accumulator stack. This parameter must be a HEX value, 0 to FF.
Step 2: Load the starting V-memory location for the table into the accumulator. This parameter must
8 be a HEX value. You can use the LDA instruction to convert an octal address to hex.
Step 3: Insert the Set Bit or Reset Bit instruction. This specifies the reference for the bit number of
the bit you want to set or reset. The bit number is in octal, and the first bit in the table is
9 number “0”.
Helpful hint: — Remember that each V-memory location contains 16 bits. So, the bits of the
10 first word of the table are numbered from 0 to 17 octal. For example, if the table length is 6
words, then 6 words = (6 x 16) bits, = 96 bits (decimal), or 140 octal. The permissible range
of bit reference numbers would be 0 to 137 octal. Flag 53 will be set if the bit specified is
11 outside the range of the table.

12 Operand Data Type DL260 Range


aaa
13 V-memory V All (See page 3 - 56)

Discrete Bit Flags Description


14 SP53 On when the bit number which is referred in the Set Bit or Reset Bit exceeds the range of
the table.

A NOTE: Status flags are only valid until the end of the scan or another instruction that uses the same flag is
executed.
B
C
D

5–148 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Table

For example, supppose we have a table starting at V3000 V3000


that is two words long, as shown to the right. Each word MSB LSB

in the table contains 16 bits, or 0 to 17 in octal. To set bit 1


12 in the second word, we use its octal reference (bit 14). 16 bits

Then we compute the bit’s octal address from the start of V3001
2
the table, so 17 + 14 = 34 octal. The following program MSB LSB
shows how to set the bit as shown to a “1”.
1 1 1 1 11 1 1 7 6 5 4 3 2 1 0
7 6 5 4 32 1 0
3
In this ladder example, we will use input X0 to trigger the Set Bit operation. First, we will
load the table length (2 words) into the accumulator stack. Next, we load the starting address
4
into the accumulator. Since V3000 is an octal number we have to convert it to hex by using
the LDA command. Finally, we use the Set Bit (or Reset Bit) instruction and specify the octal 5
address of the bit (bit 34), referenced from the table beginning.

DirectSOFT
6
X0
LD
K2
Load the constant value 2
(Hex.) into the lower 16 bits
of the accumulator. 7
LDA
O 3000
Convert octal 3000 to HEX
and load the value into the
accumulator. This is the
table beginning.
8
SETBIT
O 34
Set bit 34 (octal) in the table
to a ”1”.
9
Handheld Programmer Keystrokes

$ A ENT
10
STR 0

SHFT
L
ANDST
L
D

D
3
A
PREV C

D
2
A
ENT

A A
11
SHFT ENT
ANDST 3 0 3 0 0 0
X
SET
SHFT
B
1
I
8
T
MLR
NEXT D
3
E
4
ENT 12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–149


Chapter 5: Standard RLL Instructions - Table

Fill (FILL)
1 The Fill instruction fills a table of up to 255 V-memory FILL
 230 locations with a value (Aaaa), which is either a V-memory
location or a 4-digit constant. The function parameters are A aaa
2  240 loaded into the first level of the accumulator stack and the
 250-1 accumulator by two additional instructions. Listed below are the steps necessary to program
3  260 the Fill function.
Step 1: Load the number of V-memory locations to be filled into the first level of the accumulator
4 DS Used
HPP Used
stack. This parameter must be a HEX value, 0 to FFFF.
Step 2: Load the starting V-memory location for the table into the accumulator. This parameter must
be a HEX value.
5 Step 3: Insert the Fill instructions which specifies the value to fill the table with.
Helpful hint: — For parameters that require HEX values when referencing memory locations,
6 the LDA instruction can be used to convert an octal address to the HEX equivalent and load
the value into the accumulator.
7 Operand Data Type DL260 Range
A aaa
8 V-memory V All (See page 3 - 56)
Pointer P All V mem (See page 3 - 56)
9 Constant K 0-FFFF

Discrete Bit Flag Description


10 SP53 On if V-memory address is out of range

In the following example, when X1 is on, the constant value (K4) is loaded into the
11 accumulator using the Load instruction. This value specifies the length of the table and is
placed on the first level of the accumulator stack when the Load Address instruction is
12 executed. The octal address 1600 (V1600) is the starting location for the table and is loaded
into the accumulator using the Load Address instruction. The value to fill the table with
(V1400) is specified in the Fill instruction.
13 DirectSOFT

Load the constant value 4

14 X1 LD
K4
(HEX) into the lower 16 bits
of the accumulator
V1576

A LDA
O 1600
Convert the octal address
1600 to HEX 380 and load the
value into the accumulator
2
V1400
5 0 0
2
2
5
5
0
0
V1577
0 V1600
0 V1601
2 5 0 0 V1602

B FILL
V1400
Fill the table with the value
in V1400 2 5 0 0 V1603
V1604
V1605

C Handheld Programmer Keystrokes

$ B ENT
STR 1

D SHFT

SHFT
L
ANDST

L
D

D
3

A
PREV E

B
4

G
ENT

A A ENT
ANDST 3 0 1 6 0 0

SHFT F I L L B E A A ENT
5 8 ANDST ANDST 1 4 0 0

5–150 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Table

Find (FIND)
 230 The Find instruction is used to search for a specified value in a
V-memory table of up to 255 locations. The function FIND 1
 240 parameters are loaded into the first and second levels of the A aaa
 250-1 accumulator stack and the accumulator by three additional 2
 260 instructions. Listed below are the steps necessary to program
the Find function. 3
DS Used Step 1: Load the length of the table (number of V-memory locations) into the second level of the
HPP Used accumulator stack. This parameter must be a HEX value, 0 to FFFF.
Step 2: Load the starting V-memory location for the table into the first level of the accumulator stack.
4
This parameter must be a HEX value.
Step 3: Load the offset from the starting location to begin the search. This parameter must be a HEX 5
value.
Step 4: Insert the Find instruction which specifies the first value to be found in the table. 6
Results: The offset from the starting address to the first V-memory location which contains the search
value is returned to the accumulator as a HEX value. SP53 will be set on if an address outside
the table is specified in the offset or the value is not found. If the value is not found 0 will be
7
returned in the accumulator.
Helpful hint: — For parameters that require HEX values when referencing memory locations,
8
the LDA instruction can be used to convert an octal address to the HEX equivalent and load
the value into the accumulator. 9
Operand Data Type DL260 Range 10
A aaa
V-memory
Constant
V
K
All (See page 3 - 56)
0-FFFF
11
Discrete Bit Flag Description 12
SP53 On if there is no value in the table that is equal to the search value.
13
NOTE: Status flags are only valid until another instruction that uses the same flags is executed. The pointer
for this instruction starts at 0 and resides in the accumulator.
14
In the example on the following page, when X1 is on, the constant value (K6) is loaded into
the accumulator using the Load instruction. This value specifies the length of the table and is A
placed in the second stack location when the following Load Address and Load instruction is
executed. The octal address 1400 (V1400) is the starting location for the table and is loaded
into the accumulator. This value is placed in the first level of the accumulator stack when the
B
following Load instruction is executed. The offset (K2) is loaded into the lower 16 bits of the
accumulator using the Load instruction. The value to be found in the table is specified in the C
Find instruction. If a value is found equal to the search value, the offset (from the starting
location of the table) where the value is located will reside in the accumulator. D

DL205 User Manual, 4th Edition, Rev. A 5–151


Chapter 5: Standard RLL Instructions - Table

DirectSOFT

1 X1 LD
0 1 2 3 V1400 0
Table length
K6 Offset
0 5 0 0
2 Load the constant value 6
(HEX) into the lower 16 bits
of the accumulator
Begin here 9 9 9 9
V1401

V1402
1

2
Accumulator
3 0 7 4 V1403 3

3 LDA
O 1400
8
1
9
0
8
1
9
0
V1404

V1405
4

5
0 0 0 0 0 0

V1404 contains the location


where the match was found.
0 4

X X X X V1406 The value 8989 was the 4th

4 Convert octal 1400 to HEX


300 and load the value into
the accumulator
X X X X V1407
location after the start of the
specified table.

5 LD
K2
Handheld Programmer Keystrokes

6 Load the constant value 2


into the lower 16 bits of
the accumulator
$
STR
B
1
ENT

SHFT L D PREV G ENT


FIND ANDST 3 6

7 K8989 SHFT L
ANDST
D
3
A
0
B
1
E
4
A
0
A
0
ENT

Find the location in the table SHFT L D PREV C ENT

8 where the value 8989 resides


SHFT
ANDST
F
5
I
3

8
N
TMR
D
2

3
NEXT I
8
J
9
I
8
J
9
ENT

9 Find Greater Than (FDGT)


The Find Greater Than instruction is used to search for the first FDGT
 230
10  240
occurrence of a value in a V-memory table that is greater than
the specified value (Aaaa), which can be either a V-memory
A aaa
 250-1 location or a 4-digit constant. The function parameters are
11  260 loaded into the first level of the accumulator stack and the
accumulator by two additional instructions. Listed below are
12 the steps necessary to program the Find Greater Than function.
NOTE: This instruction does not have an offset, such as the one required for the FIND instruction.
13 Step 1: Load the length of the table (up to 255 locations) into the first level of the accumulator stack.
DS Used This parameter must be a HEX value, 0 to FFFF.
14 HPP Used Step 2: Load the starting V-memory location for the table into the accumulator. This parameter must
be a HEX value.
A Step 3: Insert the FDGT instruction which specifies the greater than search value.
Results: The offset from the starting address to the first Vmemory location which contains the greater
B than search value is returned to the accumulator as a HEX value. SP53 will be set on if the
value is not found and 0 will be returned in the accumulator.
Helpful hint: — For parameters that require HEX values when referencing memory locations,
C the LDA instruction can be used to convert an octal address to the HEX equivalent and load
the value into the accumulator.
D

5–152 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Table

Operand Data Type DL260 Range


A aaa 1
V-memory V All (See page 3 - 56)
Constant K 0-FFFF
2
Discrete Bit Flags Description
SP53 On if there is no value in the table that is equal to the search value. 3
NOTE: Status flags are only valid until another instruction that uses the same flags is executed. The pointer
for this instruction starts at 0 and resides in the accumulator. 4
In the following example, when X1 is on, the constant value (K6) is loaded into the
accumulator using the Load instruction. This value specifies the length of the table and is 5
placed in the first stack location after the Load Address instruction is executed. The octal
address 1400 (V1400) is the starting location for the table and is loaded into the accumulator. 6
The greater than search value is specified in the Find Greater Than instruction. If a value is
found greater than the search value, the offset (from the starting location of the table) where
the value is located will reside in the accumulator. If there is no value in the table that is
7
greater than the search value, a zero is stored in the accumulator and SP53 will come ON.
DirectSOFT
8
X1 LD
K6
Begin here 0 1 2 3 V1400 0
Table length 9
0 5 0 0 V1401 1 Accumulator
Load the constant value 6
(HEX) into the lower 16 bits
of the accumulator
9
3
9
0
9
7
9
4
V1402

V1403
2

3
0 0 0 0 0 0

V1402 contains the location


0 2
10
8 9 8 9 where the first value greater
LDA
O1400
1 0 1 0
V1404

V1405
4

5
than the search value was
found. 9999 was the 2nd
location after the start of the
11
X X X X V1406
specified table.
Convert octal 1400 to HEX
300 and load the value into
the accumulator
X X X X V1407
12
FDGT
K8989 13
Find the value in the table
greater than the specified value
14
Handheld Programmer Keystrokes

$
STR
B
1
ENT
A
L D G
SHFT

SHFT
ANDST

L
ANDST
D
3

3
A
0
PREV

B
6

1
ENT

E
4
A
0
A
0
ENT
B
SHFT F
5
D
3
G
6
T
MLR
NEXT I
8
J
9
I
8
J
9
ENT
C
D

DL205 User Manual, 4th Edition, Rev. A 5–153


Chapter 5: Standard RLL Instructions - Table

Table to Destination (TTD)


1  230 The Table To Destination instruction moves a value from a
V-memory table to a V-memory location and increments the
TTD
 240 table pointer by 1. The first V-memory location in the table
Vaaa
2  250-1 contains the table pointer which indicates the next location in
 260 the table to be moved. The instruction will be executed once
3 per scan provided the input remains on. The table pointer will
reset to 1 when the value equals the last location in the table.
DS Used
The function parameters are loaded into the first level of the
4 HPP Used
accumulator stack and the accumulator by two additional
instructions. Listed below are the steps necessary to program
5 the Table To Destination function.
Step 1: Load the length of the data table (number of V-memory locations) into the first level of the
6 accumulator stack. This parameter must be a HEX value, 0 to FF.
Step 2: Load the starting V-memory location for the table into the accumulator. (Remember, the
starting location of the table is used as the table pointer.) This parameter must be a HEX
7 value.
Step 3: Insert the TTD instruction which specifies destination V-memory location (Vaaa).
8 Helpful hint: — For parameters that require HEX values when referencing memory locations,
the LDA instruction can be used to convert an octal address to the HEX equivalent and load
9 the value into the accumulator.
Helpful hint: — The instruction will be executed every scan if the input logic is on. If you do
10 not want the instruction to execute for more than one scan, a one shot (PD) should be used
in the input logic.
11 Helpful hint: — The pointer location should be set to the value where the table operation
will begin. The special relay SP0 or a one shot (PD) should be used so the value will only be
set in one scan and will not affect the instruction operation.
12
Operand Data Type DL260 Range
13 aaa
V-memory V All (See page 3 - 56)
14 Discrete Bit Flags Description
SP53 On if there is no value in the table that is equal to the search value.
A NOTE: Status flags (SPs) are only valid until:
— another instruction that uses the same flag is executed, or
B — the end of the scan.

C The pointer for this instruction starts at 0 and resets when the table length is reached. At first glance it may
appear that the pointer should reset to 0. However, it resets to 1, not 0.

5–154 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Table

In the following example, when X1 is on, the constant value (K6) is loaded into the
accumulator using the Load instruction. This value specifies the length of the table and is
placed in the first stack location after the Load Address instruction is executed. The octal 1
address 1400 (V1400) is the starting location for the source table and is loaded into the
accumulator. Remember, V1400 is used as the pointer location, and is not actually part of the 2
table data source. The destination location (V1500) is specified in the Table to Destination
instruction. The table pointer (V1400 in this case) will be increased by “1” after each
execution of the TTD instruction.
3
DirectSOFT

X1 LD Load the constant value 6


(HEX) into the lower 16 bits
4
K6 of the accumulator

LDA
Convert octal 1400 to HEX
5
300 and load the value into
0 1400 the accumulator. This is the
table pointer location 6
Copy the specified value from
TTD
V1500
the table to the specified
destination (V1500) 7
Handheld Programmer Keystrokes
8
$ B

SHFT
STR
L D
1
ENT

PREV G ENT
9
ANDST 3 6

SHFT L
ANDST
D
3
A
0
B
1
E
4
A
0
A
0
ENT 10
SHFT T T D B F A A ENT
MLR MLR 3 1 5 0 0

Table Table Pointer


11
It is important to understand how the table locations
are numbered. If you examine the example table,
you’ll notice that the first data location, V1401, will
V1401
V1402
0
9
5
9
0
9
0
9
06
1
0 0

Destination
0 0 V1400
12
V1403 3 0 7 4 2
be used when the pointer is equal to zero, and again
when the pointer is equal to six. Why? Because the
V1404
V1405
8
1
9
0
8
1
9
0
3
4
X X X X V1500
13
pointer is only equal to zero before the very first
execution. From then on, it increments from one to
six, and then resets to one.
V1406
V1407
2
X
0
X X
4 6
X
5
14
.
.
DirectSOFT
A
Also, our example uses a normal input contact (X1) to X1
Display (optional latch example using SP56)

C0

control the execution. Since the CPU scan is extremely


fast, and the pointer increments automatically, the table
C1 LD
K6
PD

B
would cycle through the locations very quickly. If this is a Load the constant value 6

problem, you have an option of using SP56 in C0


(HEX) into the lower 16 bits
of the accumulator

C1
C
conjunction with a one-shot (PD) and a latch (C1 for SET

example) to allow the table to cycle through all locations


one time and then stop. The logic shown here is not
SP56

Since Special Relays are


C1
RST
D
reset at the end of the scan,
required, it’s just an optional method. this latch must follow the TTD
instruction in the program.

DL205 User Manual, 4th Edition, Rev. A 5–155


Chapter 5: Standard RLL Instructions - Table

The following diagram shows the scan-by-scan results of the execution for our example
program. Notice how the pointer automatically cycles from 0 to 6, and then starts over at 1
1 instead of 0. Also, notice how SP56 is only on until the end of the scan.

2
3 Scan N Before TTD Execution

Table Table Pointer


After TTD Execution

Table Table Pointer (Automatically Incremented)

4 V1401
V1402
V1403
0
9
3
5
9
0
0
9
7
0
9
4
0 6
1
2
0 0 0

Destination
0 V1400 V1401
V1402
V1403
0
9
3
5
9
0
0
9
7
0
9
4
0 6
1
2
0 0 0

Destination
1 V1400

X X X X V1500 0 5 0 0 V1500
V1404 8 9 8 9 3 V1404 8 9 8 9 3

5 V1405
V1406
1
2
0
0
1
4
0
6
4
5
SP56
SP56 = OFF
V1405
V1406
1
2
0
0
1
4
0
6
4
5
SP56
SP56 = OFF
V1407 X X X X V1407 X X X X

6 .
.
.
.

Scan N+1 Before TTD Execution After TTD Execution

7 V1401 0
Table
5 0 0 0 6
Table Pointer
0 0 0 1 V1400 V1401 0
Table
5 0 0 0 6
Table Pointer (Automatically Incremented)
0 0 0 2 V1400
V1402 9 9 9 9 1 V1402 9 9 9 9 1

8 V1403
V1404
3
8
0
9
7
8
4
9
2
3
Destination
0 5 0 0 V1500
V1403
V1404
3
8
0
9
7
8
4
9
2
3
Destination
9 9 9 9 V1500

V1405 1 0 1 0 4 V1405 1 0 1 0 4

9 V1406
V1407
2
X
0
X X
.
4 6
X
5 SP56
SP56 = OFF
V1406
V1407
2
X
0
X
.
4
X
6
X
5 SP56
SP56 = OFF

. .

10 .
.
.

11 Scan N+5 Before TTD Execution

Table Table Pointer


After TTD Execution

Table Table Pointer (Automatically Incremented)

V1401 0 5 0 0 0 6 0 0 0 5 V1400 V1401 0 5 0 0 0 6 0 0 0 6 V1400

12 V1402
V1403
9
3
9
0
9
7
9
4
1
2
Destination
V1402
V1403
9
3
9
0
9
7
9
4
1
2
Destination
1 0 1 0 V1500 2 0 4 6 V1500
V1404 8 9 8 9 3 V1404 8 9 8 9 3

13 V1405
V1406
1
2
0
0
1
4
0
6
4
5 SP56
SP56 = OFF
V1405
V1406
1
2
0
0
1
4
0
6
4
5 SP56
SP56 = ON
V1407 X X X X V1407 X X X X
until end of scan

14 .
.
.
.
or next instruction
that uses SP56

Scan N+6 Before TTD Execution After TTD Execution

A V1401 0
Table
5 0 0 0 6
Table Pointer
0 0 0 6 V1400 V1401 0
Table
5 0 0 0 6
Table Pointer (Resets to 1, not 0)
0 0 0 1 V1400
V1402 9 9 9 9 1 V1402 9 9 9 9 1

B V1403
V1404
V1405
3
8
1
0
9
0
7
8
1
4
9
0
2
3
4
Destination
2 0 4 6 V1500
V1403
V1404
V1405
3
8
1
0
9
0
7
8
1
4
9
0
2
3
4
Destination
0 5 0 0 V1500

C V1406
V1407
2
X
0
X X
.
4 6
X
5 SP56
SP56 = OFF
V1406
V1407
2
X
0
X
.
4
X
6
X
5 SP56
SP56 = OFF

. .

5–156 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Table

Remove from Bottom (RFB)

 230
The Remove From Bottom instruction moves a value from the
bottom of a V-memory table to a V-memory location and
RFB 1
Vaaa
 240 decrements a table pointer by 1. The first V-memory location in
the table contains the table pointer which indicates the next 2
 250-1 location in the table to be moved. The instruction will be
 260 executed once per scan provided the input remains on. The 3
instruction will stop operation when the pointer equals 0. The
function parameters are loaded into the first level of the
DS Used
HPP Used accumulator stack and the accumulator by two additional 4
instructions. Listed below are the steps necessary to program the
Remove From Bottom function. 5
Step 1: Load the length of the table (number of V-memory locations) into the first level of the
accumulator stack. This parameter must be a HEX value, 0 to FF.
Step 2: Load the starting V-memory location for the table into the accumulator. (Remember, the
6
starting location of the table blank is used as the table pointer.) This parameter must be a
HEX value. 7
Step 3: Insert the RFB instructions which specifies destination V-memory location (Vaaa).
Helpful hint: — For parameters that require HEX values when referencing memory locations, 8
the LDA instruction can be used to convert an octal address to the HEX equivalent and load
the value into the accumulator. 9
Helpful hint: — The instruction will be executed every scan if the input logic is on. If you do
not want the instruction to execute for more than one scan, a one shot (PD) should be used
in the input logic.
10
Helpful hint: — The pointer location should be set to the value where the table operation
will begin. The special relay SP0 or a one shot (PD) should be used so the value will only be
11
set in one scan and will not affect the instruction operation.
Operand Data Type DL260 Range
12
V-memory V
aaa
All (See page 3 - 56)
13
SP56
Discrete Bit Flags
On when the table pointer equals 0
Description 14
NOTE: Status flags (SPs) are only valid until:
— another instruction that uses the same flag is executed, or
A
— the end of the scan.
B
The pointer for this instruction can be set to start anywhere in the table. It is not set automatically. You
have to load a value into the pointer somewhere in your program.
C
D

DL205 User Manual, 4th Edition, Rev. A 5–157


Chapter 5: Standard RLL Instructions - Table

In the following example, when X1 is on, the constant value (K6) is loaded into the
accumulator using the Load instruction. This value specifies the length of the table and is
1 placed in the first stack location after the Load Address instruction is executed. The octal
address 1400 (V1400) is the starting location for the source table and is loaded into the
2 accumulator. Remember, V1400 is used as the pointer location, and is not actually part of the
table data source. The destination location (V1500) is specified in the Remove From Bottom.
3 The table pointer (V1400 in this case) will be decremented by “1” after each execution of the
RFB instruction.

4 DirectSOFT

X1 LD

5 K6

Load the constant value 6


(HEX) into the lower 16 bits

6 of the accumulator

LDA
0 1400

7 Convert octal 1400 to HEX


300 and load the value into
the accumulator. This is the
table pointer location

8 RFB
V1500

9 Copy the specified value from


the table to the specified
destination (V1500)

Handheld Programmer Keystrokes

10 $
STR
B
1
ENT

SHFT L D PREV G ENT


11 SHFT
ANDST

L
ANDST
D
3

3
A
0
B
6

1
E
4
A
0
A
0
ENT

12 SHFT R
ORN
F
5
B
1
B
1
F
5
A
0
A
0
ENT

Table Table Pointer


It is important to understand how the table locations are
13 numbered. If you examine the example table, you’ll
V1401
V1402
V1403
0
9
3
5
9
0
0
9
7
0
9
4
1
2
3
0 0 0

Des tination
0 V1400

notice that the first data location, V1401, will be used V1404 8 9 8 9 4
X X X X V1500

14 when the pointer is equal to one. The second data


location, V1402, will be used when the pointer is equal to
V1405
V1406
1
2
0
0
1
4
0
6
5
6
V1407 X X X X
two, etc.
A S
S

DirectSOFT (optional one-shot method)

B Also, our example uses a normal input contact (X1) to


control the execution. Since the CPU scan is extremely
X1

C0
C0
PD

LD
fast, and the pointer decrements automatically, the table
C would cycle through the locations very quickly. If this is a
K6

Load the constant value 6


(HEX) into the lower 16 bits
of the accumulator
problem for your applicaton, you have an option of using
D a one-shot (PD) to remove one value each time the input
contact transitions from low to high.
LDA
O 1400

Convert octal 1400 to HEX


300 and load the value into
the accumulator. This is the
table pointer location.

5–158 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Table

The following diagram shows the scan-by-scan results of the execution for our example
program. Notice how the pointer automatically decrements from 6 to 0. Also, notice how
SP56 is only on until the end of the scan. 1
Example of Execution
2
Scan N Before RFB Execution

Table Table Pointer


After RFB Execution

Table Table Pointer (Automatically Decremented)


3
V1401 0 5 0 0 1 0 0 0 6 V1400 V1401 0 5 0 0 1 0 0 0 5 V1400
V1402
V1403
9
3
9
0
9
7
9
4
2
3
Destination
V1402
V1403
9
3
9
0
9
7
9
4
2
3
Destination
4
X X X X V1500 2 0 4 6 V1500
V1404 8 9 8 9 4 V1404 8 9 8 9 4

V1405
V1406
1
2
0
0
1
4
0
6
5
6
SP56
SP56 = OFF
V1405
V1406
1
2
0
0
1
4
0
6
5
6
SP56
SP56 = OFF
5
V1407 X X X X V1407 X X X X

.
.
.
. 6
Scan N+1 Before RFB Execution

Table Table Pointer


After RFB Execution

Table Table Pointer (Automatically Decremented) 7


V1401 0 5 0 0 1 0 0 0 5 V1400 V1401 0 5 0 0 1 0 0 0 4 V1400
V1402
V1403
V1404
9
3
8
9
0
9
9
7
8
9
4
9
2
3
4
Destination
2 0 4 6 V1500
V1402
V1403
V1404
9
3
8
9
0
9
9
7
8
9
4
9
2
3
4
Destination
1 0 1 0 V1500
8
V1405
V1406
V1407
1
2
X
0
0
X X
1
4
0
6
X
5
6 SP56
SP56 = OFF
V1405
V1406
V1407
1
2
X
0
0
X
1
4
X
0
6
X
5
6 SP56
SP56 = OFF
9
.
.

.
.
.
10
.

Scan N+4
.
11
Before RFB Execution After RFB Execution

V1401 0
Table
5 0 0 1
Table Pointer
0 0 0 2 V1400 V1401 0
Table
5 0 0 1
Table Pointer (Automatically Decremented)
0 0 0 1 V1400 12
V1402 9 9 9 9 2 V1402 9 9 9 9 2
Destination Destination
V1403
V1404
V1405
3
8
1
0
9
0
7
8
1
4
9
0
3
4
5
3 0 7 4 V1500
V1403
V1404
V1405
3
8
1
0
9
0
7
8
1
4
9
0
3
4
5
9 9 9 9 V1500
13
V1406
V1407
2
X
0
X X
.
4 6
X
6 SP56
SP56 = OFF
V1406
V1407
2
X
0
X
.
4
X
6
X
6 SP56
SP56 = OFF
14
. .

Scan N+5 Before RFB Execution After RFB Execution


A
Table Table Pointer Table Table Pointer
V1401
V1402
0
9
5
9
0
9
0
9
1
2
0 0 0 1 V1400 V1401
V1402
0
9
5
9
0
9
0
9
1
2
0 0 0 0 V1400
B
Destination Destination
V1403 3 0 7 4 3 V1403 3 0 7 4 3

V1404
V1405
8
1
9
0
8
1
9
0
4
5
9 9 9 9 V1500
V1404
V1405
8
1
9
0
8
1
9
0
4
5
0 5 0 0 V1500
C
V1406 2 0 4 6 6 SP56 V1406 2 0 4 6 6 SP56
V1407 X X X
.
.
X
SP56 = OFF
V1407 X X
.
.
X X
SP56 = ON
until end of scan
or next instruction
that uses SP56
D

DL205 User Manual, 4th Edition, Rev. A 5–159


Chapter 5: Standard RLL Instructions - Table

Source to Table (STT)


1  230 The Source To Table instruction moves a value from a
V-memory location into a V-memory table and increments a
ST T
 240 table pointer by 1. When the table pointer reaches the end of
V aaa
2  250-1 the table, it resets to 1. The first V-memory location in the
 260 table contains the table pointer which indicates the next
3 location in the table to store a value. The instruction will be
executed once per scan provided the input remains on. The
DS Used
function parameters are loaded into the first level of the
4 HPP Used
accumulator stack and the accumulator with two additional
instructions. Listed below are the steps necessary to program
5 the Source To Table function.
Step 1: Load the length of the table (number of V-memory locations) into the firstlevel of the
6 accumulator stack. This parameter must be a HEX value, 0 to FF.
Step 2:Load the starting V-memory location for the table into the accumulator. (Remember, the
starting location of the table is used as the table pointer.) This parameter must be a HEX
7 value.
Step 3:Insert the STT instruction which specifies the source V-memory location (Vaaa). This is where
8 the value will be moved from.
Helpful hint: — For parameters that require HEX values when referencing memory locations,
9 the LDA instruction can be used to convert an octal address to the HEX equivalent and load
the value into the accumulator.
10 Helpful hint: — The instruction will be executed every scan if the input logic is on. If you do
not want the instruction to execute for more than one scan, a one shot (PD) should be used
in the input logic.
11 Helpful hint: — The table counter value should be set to indicate the starting point for the
operation. Also, it must be set to a value that is within the length of the table. For example, if
12 the table is 6 words long, then the allowable range of values that could be in the pointer
should be between 0 and 6. If the value is outside of this range, the data will not be moved.
13 Also, a one shot (PD) should be used so the value will only be set in one scan and will not
affect the instruction operation.

14 Operand Data Type DL260 Range


aaa
A V-memory V All (See page 3 - 56)

Discrete Bit Flags Description


B SP56 On when the table pointer equals the table length.

C NOTE: Status flags (SPs) are only valid until:


— another instruction that uses the same flag is executed, or
— the end of the scan
D
The pointer for this instruction starts at 0 and resets to 1 automatically when the table length is reached.

5–160 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Table

In the following example, when X1 is on, the constant value (K6) is loaded into the
accumulator using the Load instruction. This value specifies the length of the table and is
placed in the first stack location after the Load Address instruction is executed. The octal 1
address 1400 (V1400), which is the starting location for the destination table and table
pointer, is loaded into the accumulator. The data source location (V1500) is specified in the 2
Source to Table instruction. The table pointer will be increased by “1” after each time the
instruction is executed.
3
DirectSOFT

X1 LD
4
K6

Load the constant value 6


(HEX) into the the lower 16 bits
of the accumulator
5
LDA
0 1400
Convert octal 1400 to HEX
300 and load the value into
6
the accumulator

STT
V1500
7
Copy the specified value
from the source location
(V1500) to the table

Handheld Programmer Keystrokes


8
$
STR

SHFT L
ANDST
B

D
1

3
ENT

PREV G
6
ENT
9
SHFT

SHFT
L
ANDST

S
RST
D

SHFT
3
A

T
MLR
0

T
MLR
B
1
E

B
4

1
A

F
0

5
A

A
0

0
A
ENT

0
ENT
10
11
It is important to understand how the table locations are Table Table Pointer

numbered. If you examine the example table, you’ll notice


that the first data storage location, V1401, will be used
V1401
V1402
X
X
X
X
X
X
X
X
X
X
X
X
0 6
1
2
0 0 0

Data S ource
0 V1400
12
V1403
0 5 0 0 V1500
when the pointer is equal to zero, and again when the X X X X 3

pointer is equal to six. Why? Because the pointer is only


V1404
V1405
V1406
X
X
X
X
X
X
X
X
4
5
13
equal to zero before the very first execution. From then V1407 X X X X

on, it increments from one to six, and then resets to one. S


S 14
DirectSOFT (optional one-shot method)

Also, our example uses a normal input contact (X1) to X1 C0


PD A
control the execution. Since the CPU scan is extremely C0 LD

fast, and the pointer increments automatically, the source


data would be moved into all the table locations very
K6

Load the constant value 6


(HEX) into the lower 16 bits
B
of the accumulator
quickly. If this is a problem for your applicaton, you have
an option of using a one-shot (PD) to move one value
LDA
O 1400
C
each time the input contact transitions from low to high. Convert octal 1400 to HEX
300 and load the value into
the accumulator. This is the
starting table location. D

DL205 User Manual, 4th Edition, Rev. A 5–161


Chapter 5: Standard RLL Instructions - Table

The following diagram shows the scan-by-scan results of the execution for our example
program. Notice how the pointer automatically cycles from 0 to 6, and then starts over at 1
1 instead of 0. Also, notice how SP56 is affected by the execution. Although our example does
not show it, we are assuming that there is another part of the program that changes the value
2 in V1500 (data source) prior to the execution of the STT instruction. This is not required,
but it makes it easier to see how the data source is copied into the table.
3 Example of Execution
Scan N
4 Before STT Execution

V1401 X
Table
X X X 0 6
Table Pointer
0 0 0 0 V1400 V1401
After STT Execution

0
Table
5 0 0 0 6
Table Pointer (Automatically Incremented)
0 0 0 1 V1400

5 V1402
V1403
V1404
X
X
X
X
X
X
X
X
X
X
X
X
1
2
3
0
Source
5 0 0 V1500
V1402
V1403
V1404
X
X
X
X
X
X
X
X
X
X
X
X
1
2
3
0
Source
5 0 0 V1500

V1405 X X X X 4 V1405 X X X X 4

6 V1406
V1407
X
X
X
X
X
X
X
X
5
SP56
SP56 = OFF
V1406
V1407
X
X
X
X
X
X
X
X
5
SP56
SP56 = OFF

. .

7 Scan N+1
.

Before STT Execution


.

After STT Execution

8 V1401
V1402
0
X
Table
5
X
0
X
0
X
0 6
1
Table Pointer
0 0 0 1 V1400 V1401
V1402
0
9
Table
5
9
0
9
0
9
0 6
1
Table Pointer (Automatically Incremented)
0 0 0 2 V1400

Source Source
V1403 X X X X 2 V1403 X X X X 2

9 V1404
V1405
X
X
X
X
X
X
X
X
3
4
9 9 9 9 V1500
V1404
V1405
X
X
X
X
X
X
X
X
3
4
9 9 9 9 V1500

V1406 X X X X 5 SP56 5 SP56


V1406 X X X X

10 V1407 X X
.
.
X X
SP56 = OFF
V1407 X X
.
.
X X
SP56 = OFF

11 .
.
.

Scan N+5
12 Before STT Execution
Table Table Pointer
After STT Execution
Table Table Pointer (Automatically Incremented)

V1401 0 5 0 0 0 6 0 0 0 5 V1400 V1401 0 5 0 0 0 6 0 0 0 6 V1400

13 V1402
V1403
V1404
9
3
8
9
0
9
9
7
8
9
4
9
1
2
3
2
Source
0 4 6 V1500
V1402
V1403
V1404
9
3
8
9
0
9
9
7
8
9
4
9
1
2
3
2
Source
0 4 6 V1500

14 V1405
V1406
V1407
1
X
X
0
X X
X X
1 0
X
X
4
5 SP56
SP56 = OFF
V1405
V1406
V1407
1
2
X
0
0
X
1
4
X
0
6
X
4
5 SP56
SP56 = ON
until end of scan
. . or next instruction

A Scan N+6
.

Before STT Execution


.

After STT Execution


that uses SP56

B V1401
V1402
0
9
Table
5
9
0
9
0
9
0 6
1
Table Pointer
0 0 0 6 V1400 V1401
V1402
1
9
Table
2
9
3
9
4
9
0 6
1
Table Pointer (Resets to 1, not 0)
0 0 0 1 V1400

Source Source
3 0 7 4 2 3 0 7 4 2

C V1403
V1404
V1405
8
1
9
0
8
1
9
0
3
4
1 2 3 4 V1500
V1403
V1404
V1405
8
1
9
0
8
1
9
0
3
4
1 2 3 4 V1500

V1406 2 0 4 6 5 SP56 V1406 2 0 4 6 5 SP56

D V1407 X X X
.
.
X
SP56 = OFF
V1407 X X
.
.
X X
SP56 = OFF

5–162 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Table

Remove from Table (RFT)


 230 The Remove From Table instruction pops a value off of a table
and stores it in a V-memory location. When a value is removed RFT 1
 240 from the table all other values are shifted up 1 location. The V aaa
 250-1 first V-memory location in the table contains the table length 2
 260 counter. The table counter decrements by 1 each time the
instruction is executed. If the length counter is zero or greater
than the maximum table length (specified in the first level of
3
DS Used
the accumulator stack) the instruction will not execute and
HPP Used
SP56 will be on. 4
The instruction will be executed once per scan provided the input remains on. The function
parameters are loaded into the first level of the accumulator stack and the accumulator by two 5
additional instructions. Listed below are the steps necessary to program the Remove From
Table function. 6
Step 1: Load the length of the table (number of V-memory locations) into the first level of the
accumulator stack. This parameter must be a HEX value, 0 to FF.
Step 2: Load the starting V-memory location for the table into the accumulator. (Remember, the
7
starting location of the table is used as the table length counter.) This parameter must be a
HEX value. 8
Step 3: Insert the RFT instructions which specifies destination V-memory location (Vaaa). This is
where the value will be moved to. 9
Helpful hint: — For parameters that require HEX values when referencing memory locations,
the LDA instruction can be used to convert an octal address to the HEX equivalent and load
the value into the accumulator.
10
Helpful hint: — The instruction will be executed every scan if the input logic is on. If you do
not want the instruction to execute for more than one scan, a one shot (PD) should be used
11
in the input logic.
Helpful hint: — The table counter value should be set to indicate the starting point for the 12
operation. Also, it must be set to a value that is within the length of the table. For example, if
the table is 6 words long, then the allowable range of values that could be in the table counter
should be between 1 and 6. If the value is outside of this range or zero, the data will not be
13
moved from the table. Also, a one shot (PD) should be used so the value will only be set in
one scan and will not affect the instruction operation. 14
Operand Data Type DL260 Range
aaa
A
V-memory V All (See page 3 - 56)

Discrete Bit Flags Description


B
SP56 On when the table counter equals 0.
C
NOTE: Status flags (SPs) are only valid until:
— another instruction that uses the same flag is executed, or
— the end of the scan
D
The pointer for this instruction can be set to start anywhere in the table. It is not set automatically. You
have to load a value into the pointer somewhere in your program.

DL205 User Manual, 4th Edition, Rev. A 5–163


Chapter 5: Standard RLL Instructions - Table

In the following example, when X1 is on, the constant value (K6) is loaded into the
accumulator using the Load instruction. This value specifies the length of the table and is
1 placed in the first stack location after the Load Address instruction is executed. The octal
address 1400 (V1400) is the starting location for the source table and is loaded into the
2 accumulator. The destination location (V1500) is specified in the Remove from Table
instruction. The table counter will be decreased by “1” after the instruction is executed.
3 DirectSOFT

X1 Load the constant value 6


LD
(Hex.) into the lower 16 bits
4 K6 of the accumulator

5 LDA
O 1400
Convert octal 1400 to HEX
300 and load the value into
the accumulator

6 RFT
Copy the specified value
from the table to the
V1500 specified location (V1500)

7
8 Handheld Programmer Keystrokes

$ B ENT
STR 1

9 SHFT L
ANDST
D
3
PREV G
6
ENT

SHFT L D A B E A A ENT
10 SHFT
ANDST

R F
3

T
0

B
1

F
4

A
0

A
0

ENT
ORN 5 MLR 1 5 0 0

11 Since the table counter specifies the range of data Table Table C ounter
0 5 0 0 1 0 0 0 6 V1400
that will be removed from the table, it is important V1401

12 to understand how the table locations are


numbered. If you examine the example table, you’ll
V1402
V1403
9
3
9
0
9
7
9
4
2
3
Des tination
X X X X V1500
V1404 8 9 8 9 4
notice that the data locations are numbered from
13 the top of the table. For example, if the table
V1405
V1406
1
2
0
0
1
4
0
6
5
6

counter started at 6, then all six of the locations V1407 X X X X

14 would be affected during the instruction execution. S


S

A Also, our example uses a normal input contact (X1) DirectSOFT


X1
(optional one-shot method)
C0
to control the execution. Since the CPU scan is PD

B extremely fast, and the pointer decrements


automatically, the data would be removed from the
C0
LD
K6

table very quickly. If this is a problem for your Load the constant value 6

C applicaton, you have an option of using a one-shot


(HEX) into the lower 16 bits
of the accumulator

(PD) to remove one value each time the input contact LDA

D transitions from low to high. O 1400

Convert octal 1400 to HEX


300 and load the value into
the accumulator. This is the
table pointer location.

5–164 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Table

The following diagram shows the scan-by-scan results of the execution for our example
program. In our example we’re showing the table counter set to 4 initially. (Remember, you
can set the table counter to any value that is within the range of the table.) The table counter 1
automatically decrements from 4 to 0 as the instruction is executed. Notice how the last two
table positions, 5 and 6, are not moved up through the table. Also, notice how SP56, which 2
comes on when the table counter is zero, is only on until the end of the scan.
3
Scan N
Before RFT Execution After RFT Execution
Table Counter
4
Table Table Counter Table (Automatically d ecremented)

Table Counter
indicates that
these 4
positions will
V1401
V1402
V1403
0
9
3
5
9
0
0
9
7
0
9
4
1
2
3
0 0 0

Destination
4 V1400 V1401
V1402
V1403
9
4
8
9
0
9
9
7
8
9
9
9
1
2
3
0
5
0
0
0 0 0

Destination
3 V1400
5
be X X X X V1500 0 5 0 0 V1500
8 9 8 9 4 Start here 8 9 8 9 4
used V1404
V1405
V1406
1
2
0
0
1
4
0
6
5
6
SP56
SP56 = OFF
V1404
V1405
V1406
1
2
0
0
1
4
0
6
5
6
SP56
SP56 = OFF
6
V1407 X X X X V1407 X X X X

7
Scan N+1

V1401
Before RFT Execution

9
Table
9 9 9 1
Table Counter
0 0 0 3 V1400
After RFT Execution

V1401 4
Table
0 7 9 1 9
Table Counter
(Automatically decremented)
0 0 0 2 V1400
8
9
4 0 7 9 2 8 9 8 9 2 9
V1402
V1403
V1404
8
8
9
9
8
8
9
9
3
4
Destination
0 5 0 0 V1500
Start here
V1402
V1403
V1404
8
8
9
9
8
8
9
9
3
4
9

9
Destination
9 9 9 V1500
9
V1405 1 0 1 0 5 V1405 1 0 1 0 5

V1406
V1407
2
X
0
X
4
X
6
X
6 SP56
SP56 = OFF
V1406
V1407
2
X
0
X
4
X
6
X
6 SP56
SP56 = OFF 10
Scan N+2 Before RFT Execution After RFT Execution
11
Table Counter

V1401
V1402
4
8
Table
0
9
7
8
9
9
1
2
Table Counter

0 0 0 2 V1400
Start here
V1401
V1402
8
8
Table
9
9
8
8
9
9
1
2
4
0
7
(Automatically decremented)
0 0 0 1 V1400 12
Destination 9
8 9 8 9 3 8 9 8 9 3 Destination
V1403 V1403
V1404
V1405
8
1
9
0
8
1
9
0
4
5
9 9 9 9 V1500
V1404
V1405
8
1
9
0
8
1
9
0
4
5
4 0 7 9 V1500
13
V1406 2 0 4 6 6 SP56 V1406 2 0 4 6 6 SP56
V1407 X X X X
SP56 = OFF
V1407 X X X X
SP56 = OFF
14
Scan N+3 Before RFT Execution

Table
Table Counter
After RFT Execution

Table
Table Counter
(Automatically decremented)
A
V1401 8 9 8 9 1 0 0 0 1 V1400 Start here V1401 8 9 8 9 1 8 0 0 0 0 V1400

V1402
V1403
8
8
9
9
8
8
9
9
2
3
Destinatio
V1402
V1403
8
8
9
9
8
8
9
9
2
3
9
8
9
Destination
B
4 0 7 9 V1500 8 9 8 9 V1500
V1404 8 9 8 9 4 V1404 8 9 8 9 4
V1405
V1406
1
2
0
0
1
4
0
6
5
6 SP56
SP56 = OFF
V1405
V1406
1
2
0
0
1
4
0
6
5
6 SP56
SP56 = ON
C
V1407 X X X X V1407 X X X X
until end of scan
or next instruction
that uses SP56
D

DL205 User Manual, 4th Edition, Rev. A 5–165


Chapter 5: Standard RLL Instructions - Table

Add to Top (ATT)


1  230
The Add To Top instruction pushes a value onto a V-memory
table from a V-memory location. When the value is added to
ATT
V aaa
2  240 the table all other values are pushed down 1 location.
 250-1 The instruction will be executed once per scan provided the input remains on. The function
 260 parameters are loaded into the first level of the accumulator stack and the accumulator by two
3 additional instructions. Listed below are the steps necessary to program the Add To Top
function.
4 DS Used
Step 1: Load the length of the table (number of V-memory locations) into the first level of the
accumulator stack. This parameter must be a HEX value, 0 to FF.
HPP Used
5 Step 2: Load the starting V-memory location for the table into the accumulator. (Remember, the
starting location of the table is used as the table length counter.) This parameter must be a
HEX value.
6 Step 3: Insert the ATT instruction which specifies source V-memory location (Vaaa). This is where
the value will be moved from.
7 Helpful hint: — For parameters that require HEX values when referencing memory locations,
the LDA instruction can be used to convert an octal address to the HEX equivalent and load
8 the value into the accumulator.
Helpful hint: — The instruction will be executed every scan if the input logic is on. If you do
not want the instruction to execute for more than one scan, a one shot (PD) should be used
9 in the input logic.
Helpful hint: — The table counter value should be set to indicate the starting point for the
10 operation. Also, it must be set to a value that is within the length of the table. For example, if
the table is 6 words long, then the allowable range of values that could be in the table counter
11 should be between 1 and 6. If the value is outside of this range or zero, the data will not be
moved into the table. Also, a one shot (PD) should be used so the value will only be set in
one scan and will not affect the instruction operation.
12
Operand Data Type DL260 Range
13 aaa
V-memory V All (See page 3 - 56)

14 Discrete Bit Flags Description


SP56 On when the table counter equals 0.
A
NOTE: Status flags (SPs) are only valid until:
B — another instruction that uses the same flag is executed, or
— the end of the scan

C The pointer for this instruction can be set to start anywhere in the table. It is not set automatically. You
have to load a value into the pointer somewhere in your program.

5–166 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions- Table

In the following example, when X1 is on, the constant value (K6) is loaded into the
accumulator using the Load instruction. This value specifies the length of the table and is
placed in the first stack location after the Load Address instruction is executed. The octal 1
address 1400 (V1400), which is the starting location for the destination table and table
counter, is loaded into the accumulator. The source location (V1500) is specified in the Add 2
to Top instruction. The table counter will be increased by “1” after the instruction is
executed.
DirectSOFT
3
X1 LD
K6 4
Load the constant value 6
(Hex.) into the lower 16 bits
of the accumulator

LDA
5
O 1400

Convert octal 1400 to HEX


300 and load the value into
6
the accumulator

ATT
V1500
7
Copy the specified value
from V1500 to the table
8
Handheld Programmer Keystrokes

$
STR
B
1
ENT 9
L D G
SHFT

SHFT
ANDST

L D
3

A
PREV

B
6
ENT

E A A ENT
10
ANDST 3 0 1 4 0 0

SHFT A
0
T
MLR
T
MLR
B
1
F
5
A
0
A
0
ENT
11
For the ATT instruction, the table counter determines Table Table Counter
the number of additions that can be made before the
instruction will stop executing. So, it is helpful to
V1401 0 5 0 0 1 0 0 0 2 V1400 12
V1402 9 9 9 9 2
understand how the system uses this counter to control V1403 Data Source

the execution. V1404


3
8
0
9
7
8
4
9
3
4
X X X X V1500 13
V1405 1 0 1 0 5
For example, if the table counter was set to 2, and the
table length was 6 words, then there could only be 4
V1406
V1407
2
X
0
X X
4 6
X
6
14
additions of data before the execution was stopped. This
can easily be calculated by: ( e .g .: 6 - 2 = 4 )
A
Table length – table counter = number of executions DirectSOFT (optional one-shot method)

Also, our example uses a normal input contact (X1) to


X1 C0
PD
B
control the execution. Since the CPU scan is extremely C0
LD
K6
fast, and the table counter increments automatically, the
data would be moved into the table very quickly. If this is
Load the constant value 6
(HEX) into the lower 16 bits
of the accumulator
C
a problem for your applicaton, you have an option of LDA

using a one-shot (PD) to add one value each time the O 1400

Convert octal 1400 to HEX


D
input contact transitions from low to high. 300 and load the value into
the accumulator. This is the
starting table location.

DL205 User Manual, 4th Edition, Rev. A 5–167


Chapter 5: Standard RLL Instructions - Table

The following diagram shows the scan-by-scan results of the execution for our example
program. The table counter is set to 2 initially, and it will automatically increment from 2 to
1 6 as the instruction is executed. Notice how SP56 comes on when the table counter is 6,
which is equal to the table length. Plus, although our example does not show it, we are
2 assuming that there is another part of the program that changes the value in V1500 (data
source) prior to the execution of the ATT instruction.
3 Example of Execution
Scan N
4 Before ATT Execution

Table Table counter


After ATT Execution

Table
Table counter
(Automatically Incremented)

V1401 0 5 0 0 1 0 0 0 2 V1400 V1401 1 2 3 4 1 1 0 0 0 3 V1400

5 V1402
V1403
9
3
9
0
9
7
9
4
2
3
Data Source
1 2 3 4 V1500
V1402
V1403
0
9
5
9
0
9
0
9
2
3
2
3
4

1
Data Source
2 3 4 V1500
V1404 8 9 8 9 4 V1404 3 0 7 4 4

6 V1405
V1406
1
2
0
0
1
4
0
6
5
6
SP56
SP56 = OFF
V1405
V1406
8
1
9
0
8
1
9
0
5
6
SP56
SP56 = OFF
V1407 X X X X V1407 X X X X

7 2046
Discard Bucket

Scan N+1 Before ATT Execution After ATT Execution

8 V1401 1
Table
2 3 4 1
Table counter
0 0 0 3 V1400 V1401 5
Table
6 7 8 1 5
Table counter
(Automatically Incremented)
0 0 0 4 V1400
6
0 5 0 0 2 1 2 3 4 2 7

9 V1402
V1403
V1404
9
3
9
0
9
7
9
4
3
4
Data Source
5 6 7 8 V1500
V1402
V1403
V1404
0
9
5
9
0
9
0
9
3
4
8

5
Data Source
6 7 8 V1500

V1405 8 9 8 9 5 V1405 3 0 7 4 5

10 V1406
V1407
1
X
0
X
1
X
0
X
6 SP56
SP56 = OFF
V1406
V1407
8
X
9
X
8
X
9
X
6 SP56
SP56 = OFF

Discard Bucket

11 1010

Scan N+2 Before ATT Execution After ATT Execution Table counter

12 V1401 5
Table
6 7 8 1
Table counter
0 0 0 4 V1400 V1401
Table
4 3 4 3 1 4
3
(Automatically Incremented)
0 0 0 5 V1400

V1402 1 2 3 4 2 V1402 5 6 7 8 2 4
3

13 V1403
V1404
0
9
5
9
0
9
0
9
3
4
Data Source
4 3 3 4 V1500
V1403
V1404
1
0
2
5
3
0
4
0
3
4
4
Data Source
3 4 3 V1500

V1405 3 0 7 4 5 V1405 9 9 9 9 5

14 V1406
V1407
8
X
9
X
8
X
9
X
6 SP56
SP56 = OFF
V1406
V1407
3
X
0
X
7
X
4
X
6 SP56
SP56 = OFF

Discard Bucket
8989

A Scan N+3 Before ATT Execution After ATT Execution Table counter

B V1401
V1402
4
5
Table
3 4
6 7
3
8
1
2
Table counter
0 0 0 5 V1400 V1401
V1402
7
4
Table
7
3
7
4
7
3
1
2
7
7
7
(Automatically Incremented)
0 0 0 6 V1400

Data Source 7
Data Source

C V1403
V1404
V1405
1
0
9
2
5
9
3
0
9
4
0
9
3
4
5
7 7 7 7 V1500
V1403
V1404
V1405
5
1
0
6
2
5
7
3
0
8
4
0
3
4
5
7 7 7 7 V1500

V1406 3 0 7 4 6 SP56 V1406 9 9 9 9 6 SP56

D V1407 X X X X SP56 = OFF


V1407 X X X X
Discard Bucket
SP56 = ON
until end of scan
or next instruction
3074 that uses SP56

5–168 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Table

Table Shift Left (TSHFL)


 230 The Table Shift Left instruction shifts all the bits in a V-memory
table to the left a specified number of bit positions. TSHFL 1
 240 Vaaa
 250-1 2
 260
Table Shift Right (TSHFR) 3
The Table Shift Right instruction shifts all the bits in a V-memory
 230 table to the right a specified number of bit positions. TSHFR
4
 240 Vaaa
 250-1 5
 260 The following description applies to both the Table Shift Left and Table Shift Right
instructions. A table is a range of V-memory locations. The Table Shift Left and Table Shift
Right instructions shift bits serially throughout the entire table. Bits are shifted out the end of 6
one word and into the opposite end of an adjacent word. At the ends of the table, bits are
either discarded, or zeros are shifted into the table. The example tables below are arbitrarily
four words long.
7
DS Used
HPP Used
Table Shift Left
Table Shift Right
8
Shift in zeros Discard Bits
V - xxxx
9
V - xxxx + 1

V - xxxx + 2
10
Discard Bits Shift in zeros 11
Step 1: Load the length of the table (number of V-memory locations) into the first level of the
accumulator stack. This parameter must be a HEX value, 0 to FF.
12
Step 2: Load the starting V-memory location for the table into the accumulator. This parameter must
be a HEX value. You can use the LDA instruction to convert an octal address to hex. 13
Step 3: Insert the Table Shift Left or Table Shift Right instruction. This specifies the number of bit
positions you wish to shift the entire table. The number of bit positions must be in octal. 14
Helpful hint: — Remember that each V-memory location contains 16 bits. The bits of the
first word of the table are numbered from 0 to 17 octal. If you want to shift the entire table
by 20 bits, that is 24 octal. Flag 53 will be set if the number of bits to be shifted is larger than
A
the total bits contained within the table. Flag 67 will be set if the last bit shifted (just before it
is discarded) is a “1”. B
Operand Data Type DL260 Range
C
V-memory V
aaa
All (See page 3 - 56)
D

DL205 User Manual, 4th Edition, Rev. A 5–169


Chapter 5: Standard RLL Instructions - Table

Discrete Bit Flags Description


1 SP53 On when the number of bits to be shifted is larger than the total bits contained within the
table.
SP67 On when the last bit shifted (just before it is discarded) is a “1”.
2
NOTE: Status flags are only valid until:
3 — the end of the scan
— or another instruction that uses the same flag is executed. V 3000 V 3000

4 The example table to the right contains BCD data as 1 2 3 4 6 7 8 1

shown (for demonstration purposes). Suppose we want to 5 6 7 8 1 2 2 5


5 do a table shift right by 3 BCD digits (12 bits).
Converting to octal, 12 bits is 14 octal. Using the Table 1 1 2 2 3 4 4 1
Shift Right instruction and specifying a shift by octal 14,
6 we have the resulting table shown at the far right. Notice 3 3 4 4 5 6 6 3

that the 2–3–4 sequence has been discarded, and the 5 5 6 6 0 0 0 5


7 0–0–0 sequence has been shifted in at the bottom.
The following ladder example assumes the data at V3000 to V3004 already exists as shown
8 above. We will use input X0 to trigger the Table Shift Right operation. First, we will load the
table length (5 words) into the accumulator stack. Next, we load the starting address into the
accumulator. Since V3000 is an octal number we have to convert it to hex by using the LDA
9 command. Finally, we use the Table Shift Right instruction and specify the number of bits to
be shifted (12 decimal), which is 14 octal.
10 DirectSOFT

11 X0
LD
K5
Load the constant value 5
(Hex.) into the lower 16 bits
of the accumulator.

12 LDA
Convert octal 3000 to HEX
and load the value into the
O 3000
13 accumulator. This is the
table beginning.

TSHFR Do a table shift right by 12


14 O 14
bits, which is 14 octal.

A Handheld Programmer Keystrokes

$ A ENT
B SHFT
STR
L D
0

PREV F ENT
ANDST 3 5
C SHFT L
ANDST
D
3
A
0
D
3
A
0
A
0
A
0
ENT

D SHFT T
MLR
SHFT
S
RST
H
7
F
5
R
ORN
NEXT B
1
E
4
ENT

5–170 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Table

AND Move (ANDMOV)


 230
The AND Move instruction copies data from a table to the
specified memory location, ANDing each word with the
ANDMOV
Vaaa
1
 240 accumulator data as it is written.
 250-1 2
 260 ORMOV
Vaaa 3
OR Move (ORMOV)
The Or Move instruction copies data from a table to the
specified memory location, ORing each word with the
4
accumulator contents as it is written. XORMOV
Exclusive OR Move (XORMOV)
Vaaa 5
The Exclusive OR Move instruction copies data from a table to
 230 the specified memory location, XORing each word with the accululator value as it is written. 6
 240 The following description applies to the AND Move, OR Move, and Exclusive OR Move
7
 250-1 instructions. A table is just a range of V-memory locations. These instructions copy the data
of a table to another specified location, preforming a logical operation on each word with the
 260 accumulator contents as the new table is written. 8
Step 1: Load the length of the table (number of V-memory locations) into the first level of the
DS Used
HPP Used
accumulator stack. This parameter must be a HEX value, 0 to FF.
Step 2: Load the starting V-memory location for the table into the accumulator. This parameter must
9
be a HEX value. You can use the LDA instruction to convert an octal address to hex.
Step 3: Load the BCD/hex bit pattern into the accumulator which will be logically combined with
10
the table contents as they are copied.
Step 4: Insert the AND Move, OR Move, or XOR Move instruction. This specifies the starting 11
location of the copy of the original table. This new table will automatically be the same length
as the original table.
12
Operand Data Type DL260 Range
aaa
13
V-memory V All (See page 3 - 56)
14
The example table to the right contains BCD data as
shown (for demonstration purposes). Suppose we want to V 3000 V 3100

move a table of two words at V3000 and AND it with 3 3 3 3 ANDMOV


K 6666
2 2 2 2 A
K6666. The copy of the table at V3100 shows the result F F F F 6 6 6 6
of the AND operation for each word. B
The program on the next page performs the ANDMOV operation example above. It assumes
that the data in the table at V3000 – V3001 already exists. First we load the table length (two
words) into the accumulator. Next we load the starting addrss of the source table, using the
C
LDA instruction. Then we load the data into the accumulator to be ANDed with the table.
In the ANDMOV command, we specify the table destination, V3100. D

DL205 User Manual, 4th Edition, Rev. A 5–171


Chapter 5: Standard RLL Instructions - Table

DirectSOFT
Handheld Programmer Keystrokes X0
1 $
STR
A
0
ENT
LD
K2

SHFT L D PREV C ENT


Load the constant value 2
ANDST 3 2
2 SHFT L
ANDST
D
3
A
0
D
3
A
0
A
0
A
0
ENT
(Hex.) into the lower 16
bits of the accumulator.

LDA
L D G G G G

3 SHFT

V
AND
ANDST

SHFT M
3

ORST
O
INST#
PREV

V
AND
6

D
6

3
B
6

1
A
6

0
ENT

A
0
ENT
0 3000
Convert otal 3000 to HEX
and load the value into the
accumulator. This is the

4 The example to the right shows a table of two words at V3000


table beginning.

LD
K6666
and logically ORs it with K8888. The copy of the table at
5 V3100 shows the result of the OR operation for each word. Load the constant value
6666 (Hex.) into the lower
16 bits of the accumulator.
The program to the right performs the ORMOV example
6 above. It assumes that the data in the table at V3000 – V3001
ANDMOV
0 3100
already exists. First we load the table length (two words) into Copy the table to V3100,

7 the accumulator. Next we load the starting address of the


source table, using the LDA instruction. Then we load
ANDing its contents with the
accumulator as it is written.

the data into the accumulator to be ORed with the table. V 3000 V 3100
8 In the ORMOV command, we specify the table 1 1 1 1 OR MOV
K 8888
9 9 9 9
destination, V3100.
9 1 1 1 1 9 9 9 9

DirectSOFT 32
Handheld Programmer Keystrokes

10 $
STR
A
0
ENT
X0 LD
K2
SHFT L D PREV C ENT

11 SHFT
ANDST

L
ANDST
D
3

3
A
0
D
3
2

A
0
A
0
A
0
ENT
Load the constant value 2
(Hex) into the lower 16 bits
of the accumulator.

LDA
12 SHFT

Q
L
ANDST

SHFT
D

M
3

O
PREV

V
I
8
I

D
8
I

B
8
I

A
8

A
ENT

ENT
0 3000

Convert octal 3000 to HEX


OR ORST INST# AND 3 1 0 0
and load the value into the

13 accumulator. This is the


table beginning.

The example to the right shows a table of two words at V3000 LD

14 and logicall XORs it with K3333. The copy of the table at


V3100 shows the result of the XOR operation for each word.
K8888

Load the constant value


8888 (Hex.) into the lower
16 bits of the accumulator.
A The ladder program example for the XORMOV is similar to
the one above for the ORMOV. Just use the XORMOV ORMOV
0 3100
instruction. On the handheld programmer, you must use the
B SHFT key and spell “XORMOV” explicitly.
Copy the table to V3100,
ORing its contents with the
accumulator as it is written.

C V 3000
X OR MOV
V 3100
1 1 1 1 2 2 2 2
K 3333
D 1 1 1 1 2 2 2 2

5–172 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Table

Find Block (FINDB)


 230 The Find Block instruction searches for an occurrence of a
specified block of values in a V-memory table. The function FINDB
1
 240 parameters are loaded into the first and second levels of the Aaaa
 250-1 accumulator stack and the accumulator by three additional 2
 260 instructions. If the block is found, its starting address will be
stored in the accumulator. If the block is not found, flag SP53
will be set.
3
DS Used
HPP N/A
Operand Data Type DL260 Range 4
A aaa
V-memory V All (See page 3 - 56) 5
V-memory P All (See page 3 - 56)

Discrete Bit Flags Description 6


SP53 On when the Find Block instruction was executed but did not find the block of data in
table specified.
7
The below steps are necessary to program the Find Block function.
Step 1: Load the number of bytes in the block to be located. This parameter must be a decimal value 8
from 1 to 256.
Step 2: Load the length of a table (number of words) to be searched. The Find Block will search
multiple tables that are adjacent in V-memory. This parameter must be a decimal value from 1
9
to 128.
Step 3: Load the ending location for all the tables into the accumulator. This parameter must be a 10
HEX value. You can use the LDA instruction to convert an octal address to hex.
Step 4: Load the table starting location for all the tables into the accumulator. This parameter must be 11
a HEX value. You can use the LDA instruction to convert an octal address to hex.
Step 5: Insert the Find Block instruction. This specifies the starting location of the block of data you
are trying to locate.
12
Start Addr.
Sample Program of FINDB
13
V2000 X1
V2017
V2020
Table 1 16 words LD
K32 14
Table 2 16 words Start Addr.
V2037 LD
V2040

V2057
Table 3 16 words V3000
Block 32 bytes
K16
A
V3017 LDA
 O2777

 LDA
B
V2760 O2000
Table 32 16 words
V2777 FINDB
V3000
C
End Addr.
END
D

DL205 User Manual, 4th Edition, Rev. A 5–173


Chapter 5: Standard RLL Instructions - Table

Swap (SWAP)
1  230 The Swap instruction exchanges the data in two tables of equal
length.
SWAP
 240 V aaa
2  250-1
 260 The following description applies to both the Set Bit and Reset Bit table instructions.
3 Step 1: Load the length of the tables (number of V-memory locations) into the first level of the
DS Used accumulator stack. This parameter must be a HEX value, 0 to FF. Remember that the tables
4 HPP Used must be of equal length.
Step 2: Load the starting V-memory location for the first table into the accumulator. This parameter
5 must be a HEX value. You can use the LDA instruction to convert an octal address to hex.
Step 3: Insert the Swap instruction. This specifies the starting address of the second table.

6 Helpful hint: — The data swap occurs within a single scan. If the instruction executes on
multiple consecutive scans, it will be difficult to know the actual contents of either table at
any particular time. So, remember to swap just on a single scan.
7
Operand Data Type DL260 Range
8 aaa
V-memory V All (See page 3 - 56)
9 The example to the right shows a table of two words at V 3000 V 3100
V3000. We will swap its contents with another table of 1 2 3 4 A B C D
10 two words at V3100 by using the Swap instruction.
S WAP

5 6 7 8 0 0 0 0
11 The example program below uses a PD contact (triggers for one scan for off-to-on transition).
First, we load the length of the tables (two words) into the accumulator. Then we load the
12 address of the first table (V3000) into the accumulator using the LDA instruction, converting
the octal address to hex. Note that it does not matter which table we declare “first”, because
the swap results will be the same.
13
DirectSOFT

14 X0
LD
K2
Load the constant value 2
(Hex.) into the lower 16 bits
of the accumulator.

A LDA
O 3000
Convert octal 3000 to HEX
and load the value into the
accumulator. This is the
table beginning.

B SWAP
V 3100
Swap the contents of the
table in the previous
instruction with the one at
V3100.
Handheld Programmer Keystrokes

C $
STR
SHFT
P
CV
D
3
A
0
ENT

SHFT L D PREV C ENT


ANDST 3 2

D SHFT L
ANDST
D
3
A
0
D
3
A
0
A
0
A
0
ENT

SHFT S W A P D B A A
SHFT ENT
RST ANDN 0 CV 3 1 0 0

5–174 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Clock/Calendar

Clock/Calendar Instructions
1
Date (DATE)
 230
The Date instruction can be used to set the date in the CPU.
The instruction requires two consecutive V-memory locations
DATE 2
V aaa
 240 (Vaaa) to set the date. If the values in the specified locations are
3
 250-1 not valid, the date will not be set. The current date can be read
 260 from 4 consecutive V-memory locations (V7771–V7774).

Date Range V-memory Location (BCD) 4


DS Used (READ Only)
HPP Used Year
Month
0-99
1-12
V7774
V7773
5
Day 1-31 V7772
Day of Week 0-06 V7771 6
The values entered for the day of week are:
0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday. 7
Operand Data Type DL250-1 Range
aaa
DL260 Range
aaa
8
V-memory V All (See page 3 - 55) All (See page 3 - 56)
9
In the following example, when C0 is on, the constant value (K94010301) is loaded into the
accumulator using the Load Double instruction (C0 should be a contact from a one shot
(PD) instruction). The value in the accumulator is output to V2000 using the Out Double
10
instruction. The Date instruction uses the value in V2000 to set the date in the CPU.
DirectSOFT Constant (K)
11
9 4 0 1 0 3 0 1
C0 In this example, the Date
LDD
K94010301

Load the constant Acc. 9 4 0 1 0 3 0 1


instruction uses the value set in
V2000 and V2001 to set the date
12
value (K94010301) in the appropriate V memory
into the accumulator

OUTD Acc. 9 4 0 1 0 3 0 1
locations (V7771-V7774).
13
V2000

Copy the value in


the accumulator to
V2000 and V2001
9 4 0

V2001
1 0 3

V2000
0 1 14
Format
DATE
V2000
V2001 V2000 A
Set the date in the CPU
9 4 0 1 0 3 0 1
using the value in V2000
and 2001

Handheld Programmer Keystrokes Year Month Day Day of Week


B
$

SHFT
STR
L
ANDST
D
NEXT

3
NEXT

D
3
NEXT NEXT

PREV
A

J
0

9
E
ENT

4
A
0
B
1
ENT
C
D
A D A B ENT
0 3 0 1
GX SHFT D C A A A ENT
OUT 3 2 0 0 0

SHFT D A T E C A A A ENT
3 0 MLR 4 2 0 0 0

DL205 User Manual, 4th Edition, Rev. A 5–175


Chapter 5: Standard RLL Instructions - Clock/Calendar

Time (TIME)
1  230 The Time instruction can be used to set the time (24-hour
clock) in the CPU. The instruction requires two consecutive
TIME
 240 V-memory locations (Vaaa) which are used to set the time. If
V aaa
2  250-1 the values in the specified locations are not valid, the time will
 260 not be set. The current time can be read from memory locations V7747 and V7766–V7770.
3 V-memory Location
DS Used Date Range (BCD) (READ Only)
4 HPP Used 1/100 seconds (10ms) 0-99 V7747
Seconds 0-59 V7766
5 Minutes
Hour
0-59
0-23
V7767
V7770

6 Operand Data Type DL250-1 Range DL260 Range


aaa aaa
7 V-memory V All (See page 3 - 55) All (See page 3 - 56)

In the following example, when C0 is on, the constant value (K73000) is loaded into the
8 accumulator using the Load Double instruction (C0 should be a contact from a one shot
(PD) instruction). The value in the accumulator is output to V2000 using the Out Double
instruction. The Time instruction uses the value in V2000 to set the time in the CPU.
9
10 DirectSOFT

C0 LDD
0 0 0
Constant (K)
7 3 0 0 0 The Time instruction uses the
K73000
value set in V2000 and V2001 to
set the time in the appropriate V-
11 Load the constant
value (K73000) into
the accumulator
Acc. 0 0 0 7 3 0 0 0
memory locations (V7766–V7770)

12 OUTD
V2000
Acc. 0 0 0 7 3 0 0 0

Copy the value in the

13 accumulator to V2000
and V2001
0 0

V2001
0 7 3 0

V2000
0 0

Format
V2001 V2000
14 TIME
V2000 0 0 0 7 3 0 0 0
Set the time in the CPU

A using the value in V2000


and V2001

Handheld Programmer Keystrokes


Not Hour Minutes Seconds
Used
B $

SHFT
STR
L
NEXT

D
NEXT

D
NEXT NEXT

PREV
A

H
0
ENT

D A A A ENT
ANDST 3 3 7 3 0 0 0

C GX
OUT
SHFT

T
D
3
I
C

M
2
A

E
0
A
0
A

C
0
ENT

A A A
SHFT SHFT ENT
MLR 8 ORST 4 2 0 0 0

5–176 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - CPU Control

CPU Control Instructions


1
No Operation (NOP)
 230
The No Operation is an empty (not programmed) memory location.
NOP 2
 240 3
 250-1
 260 DirectSOFT Handheld Programmer Keystrokes

N O P
4
SHFT ENT
TMR INST# CV
DS Used
HPP Used
NOP
5
End (END)
6
The End instruction marks the termination point of the normal
 230 program scan. An End instruction is required at the end of the main END
7
 240 program body. If the End instruction is omitted an error will occur and
 250-1 the CPU will not enter the Run Mode. Data labels, subroutines and 8
 260 interrupt routines are placed after the End instruction. The End
instruction is not conditional; therefore, no input contact is allowed.
9
DS Used
HPP Used
DirectSOFT Handheld Programmer Keystrokes

SHFT E
4
N
TMR
D
3
ENT
10
END

11
Stop (STOP) 12
The Stop instruction changes the operational mode of the CPU from
 230 Run to Program (Stop) mode. This instruction is typically used to stop STOP
13
 240 PLC operation in a shutdown condition such as a I/O module failure.
 250-1 14
 260 In the following example, when SP45 comes on indicating a I/O module failure, the CPU
will stop operation and switch to the program mode. A
DS Used DirectSOFT Handheld Programmer Keystrokes

HPP Used SP45

STOP
$
STR
S
SHFT SP
STRN
T
E

O
4
F

P
5
ENT
B
SHFT SHFT ENT
RST MLR INST# CV
SP45 will turn on
if there is an I/O
module failure.
C
D

DL205 User Manual, 4th Edition, Rev. A 5–177


Chapter 5: Standard RLL Instructions - CPU Control

Reset Watch Dog Timer (RSTWT)


1  230
The Reset Watch Dog Timer instruction resets the CPU scan
timer. The default setting for the watch dog timer is 200ms. RSTWT

2  240 Scan times very seldom exceed 200ms, but it is possible.


 250-1 For/next loops, subroutines, interrupt routines, and table
 260 instructions can be programmed such that the scan becomes
3 longer than 200ms. When instructions are used in a manner
that could exceed the watch dog timer setting, this instruction
can be used to reset the timer.
4 DS Used
HPP Used A software timeout error (E003) will occur and the CPU will enter the program mode if the
scan time exceeds the watch dog timer setting. Placement of the RSTWT instruction in the
5 program is very important. The instruction has to be executed before the scan time exceeds
the watch dog timer’s setting.
6 If the scan time is consistently longer than the watch dog timer’s setting, the timeout value
may be permanently increased from the default value of 200ms by AUX 55 on the HPP or
7 the appropriate auxiliary function in your programming package. This eliminates the need for
the RSTWT instruction.

8 In the following example the CPU scan timer will be reset to 0 when the RSTWT instruction
is executed. See the For/Next instruction for a detailed example.

9
10 DirectSOFT Handheld Programmer Keystrokes

R S T W T
SHFT ENT
ORN RST MLR ANDN MLR

11 RSTWT

12
13
14
A
B
C
D

5–178 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Program Control

Program Control Instructions


1
Goto Label (GOTO) (LBL)
 230
The Goto / Label skips all instructions between the Goto
and the corresponding LBL instruction. The operand
K aaa 2
GOTO
 240 value for the Goto and the corresponding LBL
3
 250-1 instruction are the same. The logic between Goto and
 260 LBL instruction is not executed when the Goto
instruction is enabled. Up to 128 Goto instructions and LBL K aaa 4
64 LBL instructions can be used in the program.
DS Used
HPP Used
5
Operand Data Type DL240 Range DL250-1 Range DL260 Range
aaa aaa aaa 6
Constant K 1-FFFF 1-FFFF 1-FFFF
In the following example, when C7 is on, all the program logic between the GOTO
and the corresponding LBL instruction (designated with the same constant Kaaa value) will
7
be skipped. The instructions being skipped will not be executed by the CPU.
8
DirectSOFT Handheld Programmer Keystrokes 9
$ C H
C7 K5 SHFT ENT

GOTO
SHFT
STR
G
6
O
INST#
T
2

MLR
O
7

INST#
F
5
ENT
10
X1 C2
$

GX
STR
B
1
ENT

C C
11
SHFT ENT
OUT 2 2
OUT
12
SHFT L
ANDST
B
1
L
ANDST
F
5
ENT
13
LBL K5 $ F
ENT
STR 5
GX
OUT
C
2
ENT
14
X5 Y2

OUT
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–179


Chapter 5: Standard RLL Instructions - Program Control

For/Next (FOR) (NEXT)


1  230 The For and Next instructions are used to execute a
section of ladder logic between the For and Next
A aaa
 240 instruction a specified numbers of times. When the For
FOR
2  250-1 instruction is enabled, the program will loop the specified
 260 number of times. If the For instruction is not energized
3 the section of ladder logic between the For and Next
instructions is not executed.
DS Used
4 HPP Used
For/Next instructions cannot be nested. Up to 64
For/Next loops may be used in a program. If the
NEXT

maximum number of For / Next loops is exceeded, error


5 E413 will occur. The normal I/O update and CPU
housekeeping is suspended while executing the For/Next
6 loop. The program scan can increase significantly,
depending on the amount of times the logic between the
For and Next instruction is executed. With the exception
7 of immediate I/O instructions, I/O will not be updated
until the program execution is completed for that scan.
8 Depending on the length of time required to complete
the program execution, it may be necessary to reset the
watch dog timer inside of the For/Next loop using the
9 RSTWT instruction.

10 Operand Data Type DL240 Range DL250-1 Range DL260 Range


A aaa aaa aaa
11 V-memory
Constant
V
K
All (See page 3 - 54)
1-9999
All (See page 3 - 55)
1-9999
All (See page 3 - 56)
1-9999

12
13
14
A
B
C
D

5–180 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Program Control

In the following example, when X1 is on, the application program inside the For/Next loop
will be executed three times. If X1 is off the program inside the loop will not be executed.
The immediate instructions may or may not be necessary depending on your application. 1
Also, The RSTWT instruction is not necessary if the For/Next loop does not extend the scan
time larger the Watch Dog Timer setting. For more information on the Watch Dog Timer, 2
refer to the RSTWT instruction.
3
DirectSOFT
X1 K3

FOR
1 2 3
4
5
RSTWT

X20 Y5
6
OUT
7
NEXT 8
Handheld Programmer Keystrokes
9
$
STR
F
B

O
1
R
ENT

D
10
SHFT ENT
5 INST# ORN 3

SHFT R
ORN
S
RST
T
MLR
W
ANDN
T
MLR
ENT 11
$ SHFT I C A ENT

GX
OUT
STR
F
8

5
ENT
2 0
12
SHFT N
TMR
E
4
X
SET
T
MLR
ENT
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–181


Chapter 5: Standard RLL Instructions - Program Control

Goto Subroutine (GTS) (SBR)


1  230 The Goto Subroutine instruction allows a section of
ladder logic to be placed outside the main body of the
K aaa
 240 program and execute only when needed. There can be a
GTS
2  250-1 maximum of 128 GTS instructions and 64 SBR
 260 instructions used in a program. The GTS instructions
3 can be nested up to 8 levels. An error E412 will occur if
the maximum limits are exceeded. Typically this will be
DS Used
used in an application where a block of program logic SBR K aaa
4 HPP Used
may be slow to execute and is not required to execute
every scan. The subroutine label and all associated logic is
5 placed after the End statement in the program. When the
subroutine is called from the main program, the CPU will
execute the subroutine (SBR) with the same constant
6 number (K) as the GTS instruction which called the
subroutine.
7 By placing code in a subroutine it is only scanned and
executed when needed since it resides after the End
8 instruction. Code which is not scanned does not impact
the overall scan time of the program.
9 Operand Data Type DL240 Range DL250-1 Range DL260 Range
aaa aaa aaa
10 Constant K 1-FFFF 1-FFFF 1-FFFF

Subroutine Return (RT)


11  230 When a Subroutine Return is executed in the subroutine,
the CPU will return to the point in the main body of the
 240
12  250-1
program from which it was called. The Subroutine
Return is used as termination of the subroutine, which
RT
 260 must be the last instruction in the subroutine and is a
13 stand alone instruction (no input contact on the rung).
Subroutine Return Conditional (RTC)
14  230 The Subroutine Return Conditional instruction is a
optional instruction used with an input contact to
A  240 implement a conditional return from the subroutine. The RTC
 250-1 Subroutine Return (RT) is still required for termination
B  260 of the Subroutine.

DS Used
C HPP Used

5–182 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Program Control

In the following example, when X1 is on, Subroutine K3 will be called. The CPU will jump
to the Subroutine Label K3 and the ladder logic in the subroutine will be executed. If X35 is
on the CPU will return to the main program at the RTC instruction. If X35 is not on, 1
Y0–Y17 will be reset to off and then the CPU will return to the main body of the program.
2
DirectSOFT X1 K3

GTS
3
C0
LD
K10
4



5
END
6
SBR K3

7
X20 Y5

OUTI
8
X21 Y10

OUTI
9
X35

RTC
10
X35 Y0 Y17

RSTI
11
RT
12
Handheld Programmer Keystrokes

STR

SHFT G
1

T
ENT

S K 3 ENT
13



SHFT E N D ENT
14
SHFT S SHFT B R 1
K 3 ENT

STR

OUT
SHFT

SHFT
I

I
X

Y
2

5
0

ENT
ENT
A
Standard RLL

B
STR SHFT I X 2 1 ENT
Instructions

OUT SHFT I Y 1 0 ENT

STR SHFT I X 3 5 ENT

SHFT

STRN
R

SHFT
T

I
C ENT

X 3 5 ENT
C
RST SHFT I Y 0 Y 1 7 ENT

SHFT R T ENT D

DL205 User Manual, 4th Edition, Rev. A 5–183


Chapter 5: Standard RLL Instructions - Program Control

In the following example, when X1 is on, Subroutine K3 will be called. The CPU will jump
to the Subroutine Label K3 and the ladder logic in the subroutine will be executed. The CPU
1 will return to the main body of the program after the RT instruction is executed.

2 Direct SOFT

X1
3 K3

GTS

4 



5 END

6
SBR K3

7
8 X20 Y5

OUT

9 X21 Y10

OUT

10
11 RT

12 Handheld Programmer Keystrokes

$ B ENT

13 SHFT
STR
G
6
T
MLR
1
S
RST
D
3
ENT

14 


SHFT E N D ENT
A SHFT S
4 TMR

SHFT B
3
R D ENT
RST 1 ORN 3

B $
STR
SHFT I
8
C
2
A
0
ENT

GX F ENT

C $
OUT

STR
SHFT I
5

8
C
2
B
1
ENT

D GX
OUT
R
B

T
1
A
0
ENT

SHFT ENT
ORN MLR

5–184 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Program Control

Master Line Set (MLS)


 230
The Master Line Set instruction allows the program to control
sections of ladder logic by forming a new power rail controlled by the
K aaa 1
 240 main left power rail. The main left rail is always master line 0. When MLS
 250-1 a MLS K1 instruction is used, a new power rail is created at level 1. 2
 260 Master Line Sets and Master Line Resets can be used to nest power
rails up to seven levels deep. Note that unlike stages in RLLPLUS, the logic within the master
control relays is still scanned and updated even though it will not function if the MLS is off.
3
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range 4
aaa aaa aaa aaa
Constant K 1-7 1-7 1-7 1-7 5
Master Line Reset (MLR)
 230
The Master Line Reset instruction marks the end of control for the K aaa 6
corresponding MLS instruction. The MLR reference is one less than MLR
 240 the corresponding MLS. 7
 250-1
 260
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
8
Constant K
aaa
0-6
aaa
0-6
aaa
0-6
aaa
0-6
9
Understanding Master Control Relays 10
The Master Line Set (MLS) and Master Line Reset (MLR) instructions allow you to quickly
enable (or disable) sections of the RLL program. This provides program control flexibility. 11
The following example shows how the MLS and MLR instructions operate by creating a sub

DS Used
power rail for control logic.
DirectSOFT
12
HPP Used X0 K1
MLS
When contact X0 is ON, logic under the first MLS
will be executed.
13
X1 Y7
OUT 14
X2 K2
MLS
When contact X0 and X2 are ON, logic under the
second MLS will be executed. A
X3 Y10
OUT
B
K1
MLR

K0
The MLR instructions note the end of the Master
Control area.
C
MLR

X10 Y11
D
OUT

DL205 User Manual, 4th Edition, Rev. A 5–185


Chapter 5: Standard RLL Instructions - Program Control

MLS/MLR Example
1 In the following MLS/MLR example logic between the first MLS K1 (A) and MLR K0 (B)
will function only if input X0 is on. The logic between the MLS K2 (C) and MLR K1 (D)
will function only if input X10 and X0 is on. The last rung is not controlled by either of the
2 MLS coils.
DirectSOFT
3 X0 K1
Handheld Programmer Keystrokes

$ A
A ENT
MLS STR 0
4 X1
Y
MLS
B
1
ENT
C0

5 OUT $
STR
B
1
ENT

X2 C1 GX SHFT C A ENT
6 OUT
$
OUT
C ENT
2 0

STR 2

7 X3 Y0

OUT
GX
OUT
SHFT C
2
B
1
ENT

$ D
8 X10 K2
C
GX
STR
A
3
ENT

MLS ENT
OUT 0
9 X5 Y1
$
STR
B
1
A
0
ENT

10 X4
OUT Y
MLS
C
2
ENT

Y2 $ F ENT
11 OUT
GX
STR
B
5

ENT
OUT 1
K1
12 MLR
D $
STR
E
4
ENT

GX C
13 X5 C2

OUT T
OUT
B
2
ENT

ENT
MLR 1
14 X6 Y3 $
STR
F
5
ENT
OUT

A K0
GX
OUT
SHFT C
2
C
2
ENT

B
$ G ENT
B MLR

GX
STR
D
6

ENT
X7 Y4 OUT 3

C OUT T
MLR
A
0
ENT

$ H
D STR 7
ENT

GX E ENT
OUT 4

5–186 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Interrupt

Interrupt Instructions
1
Interrupt (INT)
 230
The Interrupt instruction allows a section of ladder logic to
be placed outside the main body of the program and INT O aaa
2
 240 executed when needed. Interrupts can be called from the
 250-1 program or by external interrupts via the counter interface 3
 260 module (D2–CTRINT), which provides 4 interrupts.
4
DS Used The software interrupt uses interrupt #00 which means the hardware interrupt #0 and the
HPP Used software interrupt cannot be used together. 5
Typically, interrupts will be used in an application where a fast response to an input is needed
or a program section needs to execute faster than the normal CPU scan. The interrupt label 6
and all associated logic must be placed after the End statement in the program. When the
interrupt routine is called from the interrupt module or software interrupt, the CPU will
complete execution of the instruction it is currently processing in ladder logic, then execute
7
the designated interrupt routine. Interrupt module interrupts are labeled in octal to
correspond with the hardware input signal (X1 will initiate interrupt INT1). There is only 8
one software interrupt and it is labeled INT 0. The program execution will continue from
where it was before the interrupt occurred once the interrupt is serviced. 9
The software interrupt is setup by programming the interrupt time in V7634. The valid range
is 3 to 999 ms. The value must be a BCD value. The interrupt will not execute if the value is
out of range.
10
NOTE: See the example program of a software interrupt. 11
Operand Data Type DL240 Range
aaa
DL250-1 Range
aaa
DL260 Range
aaa
12
Constant 0 0-3 0-3 0-3
13
DL240/250-1/260 Software DL240/250-1/260 Hardware
Interrupt Input Interrupt Routine Interrupt Input Interrupt Routine 14
V7634 sets interrupt time INT 0 X0 (cannot be used along INT 0
- -
with s/w interrupt)
X1 INT 1
A
- - X2 INT 2
- - X3 INT 3 B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–187


Chapter 5: Standard RLL Instructions - Interrupt

Interrupt Return (IRT)


1  230
When an Interrupt Return is executed in the interrupt routine, the
CPU will return to the point in the main body of the program from
 240 which it was called. The Interrupt Return is programmed as the last
IRT
2  250-1 instruction in an interrupt routine and is a stand alone instruction
 260 (no input contact on the rung).
3 Interrupt Return Conditional (IRTC)
The Interrupt Return Conditional instruction is a optional
4  230 instruction used with an input contact to implement a condtional IRTC
 240 return from the interrupt routine. The Interrupt Return is required to
5  250-1 terminate the interrupt routine.
 260 Enable Interrupts (ENI)
6 The Enable Interrupt instruction is programmed in the main body of
 230 the application program (before the End instruction) to enable ENI
 240 hardware or software interrupts. Once the coil has been energized,
7  250-1 interrupts will be enabled until they are disabled by the Disable
 260 Interrupt instruction.
8 Disable Interrupts (DISI)
The Disable Interrupt instruction is programmed in the main body of
9  230 the application program (before the End instruction) to disable both DISI
 240 hardware or software interrupts. Once the coil has been energized,
10  250-1 interrupts will be disabled until they are enabled by the Enable
 260 Interrupt instruction.
DS Used
11 HPP Used

12
13
14
A
B
C
D

5–188 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Interrupt

Interrupt Example for Interrupt Module


In the following example, when X40 is on, the interrupts will be enabled. When X40 is off
the interrupts will be disabled. When a interrupt signal X1 is received, the CPU will jump to
1
the interrupt label INT O 1. The application ladder logic in the interrupt routine will be
performed. The CPU will return to the main body of the program after the IRT instruction is 2
executed.
DirectSOFT Handheld Programmer Keystrokes
3
X40

ENI
$
STR
E
4
A
0
ENT
4
SHFT E N I ENT
4 TMR 8
SP
STRN
E
4
A
0
ENT
5
X40
DISI
SHFT D
3
I
8
S
RST
I
8
ENT
6
.
. E N D
7
SHFT ENT
. 4 TMR 3

END
SHFT I
8
N
TMR
T
MLR
B
1
ENT 8
$ I C A

INT O1 X
STR
SHFT

I
8
F
2 0
ENT
9
SHFT ENT
SET 8 5

X20 Y5
$
STR
SHFT I
8
C
2
B
1
ENT 10
X I B A
SETI SET

SHFT
SHFT

I R
8
T
1

ENT
0
ENT
11
8 ORN MLR
X21 Y10

SETI 12
IRT
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–189


Chapter 5: Standard RLL Instructions - Interrupt

Interrupt Example for Software Interrupt


1 In the following example, when X1 is on, the value 10 is copied to V7634. This value sets the
software interrupt to 10 ms. When X20 turns on, the interrupt will be enabled. When X20
turns off, the interrupt will be disabled. Every 10 ms the CPU will jump to the interrupt label
2 INT O 0. The application ladder logic in the interrupt routine will be performed. If X35 is
not on Y0–Y17 will be reset to off and then the CPU will return to the main body of the
3 program.
DirectSOFT Handheld Programmer Keystrokes

4 SP0 LD
K40
$

SHFT
STR
L D
SHFT SP
STRN

SHFT
A
0
ENT

K B A ENT
ANDST 3 JMP 4 0
OUT

5 X1
V7633
GX

$
OUT

STR
SHFT

B
1
V

ENT
H
7
G
6
D
3
D
3
ENT

LD

6 K104*

Load the constant value


(K10) into the lower 16 bits
SHFT

GX
OUT
L
ANDST
D

SHFT
3
V
AND
SHFT

H
7
K

G
JMP

6
B

D
1

3
A

E
0

4
E

ENT
4
ENT

of the accumulator *
$ C A

7 OUT
V7634
SHFT
STR
E
4
N
TMR
2
I
0

8
ENT

ENT
Copy the value in the lower
16 bits of the accumulator to SP C A

8 X20
V7634 STRN

SHFT D
3
I
2

8
S
RST
0
I
ENT

8
ENT

E N D

9 ENI SHFT

SHFT I
4

8
N
TMR

TMR
T
MLR
3
ENT

A
0
ENT

$ SHFT I C A ENT

10 X20
DISI X
SET
STR

SHFT I
8

8
F
2

5
ENT
0

. SP SHFT I D F ENT

11 .
.
STRN
S
RST
SHFT I
8

8
A
3

0
5
B
1
H
7
ENT

SHFT I R T ENT
END

12 INT O0
8 ORN MLR

* The value entered, 3-999, must be followed by the digit 4 to complete the instruction.

13 X20 Y5

SETI

14 X35 Y0 Y17

RSTI

A
ard RLL

IRT

B
uctions

C NOTE: Only one software interrupt is allowed and it must be Int0.

5–190 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Intelligent I/O

Intelligent I/O Instructions


Read from Intelligent Module (RD)
1
The Read from Intelligent Module instruction reads a block of data
 230 (1 to 128 bytes maximum) from an intelligent I/O module into the
RD
V aaa
2
 240 CPU’s V-memory. It loads the function parameters into the first and
 250-1 second level of the accumulator stack, and the accumulator by three 3
 260 additional instructions.
Listed below are the steps to program the Read from Intelligent module function. 4
DS Used Step 1: Load the base number (0 to 3) into the first byte and the slot number (0 to 7) into the second
HPP Used byte of the second level of the accumulator stack.
Step 2: Load the number of bytes to be transferred into the first level of the accumulator stack.
5
(maximum of 128 bytes)
Step 3: Load the address from which the data will be read into the accumulator. This parameter must 6
be a HEX value.
Step 4: Insert the RD instruction which specifies the starting V-memory location (Vaaa) where the 7
data will be read into.
Helpful hint: — Use the LDA instruction to convert an octal address to its HEX equivalent
and load it into the accumulator when the hex format is required.
8
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range 9
aaa aaa aaa aaa
V-memory V All (See page 3 - 53) All (See page 3 - 54) All (See page 3 - 55) All (See page 3 - 56)
10
Discrete Bit Flags Description
SP54 On when RX, WX, RD, WT instructions are executed with the wrong parameters. 11
NOTE: Status flags are valid only until another instruction uses the same flag.
12
In the following example when X1 is on, the RD instruction will read six bytes of data from
an intelligent module in base 1, slot 2 starting at address 0 in the intelligent module and copy
the information into V-memory locations V1400–V1402.
13
DirectSOFT
CPU Intelligent Module
14
X1 LD The constant value K0102 V1400 3 4 1 2 Data
specifies the base number 12
K0102 (01) and the base slot
number (02)
V1401 7 8 5 6
V1402 0 1 9 0
V1403 X X X X
34
56
Address 0
Address 1
Address 2
A
The constant value K6 78 Address 3
LD V1404 X X X X
K6
specifies the number of
bytes to be read Handheld Programmer Keystrokes
$ B ENT
90
01
Address 4
Address 5 B
STR 1
The constant value K0
LD
K0
specifies the starting address
in the intelligent module
SHFT

SHFT
L
ANDST

L
D

D
3
PREV

PREV
A

G
0
B

ENT
1
A
0
C
2
ENT
C
ANDST 3 6

RD
V1400
V1400 is the starting location
in the CPU where the
specified data will be stored
SHFT

SHFT
L
ANDST
R
ORN
D

D
3

3
PREV

B
1
A

E
0

4
A
ENT

0
A
0
ENT
D

DL205 User Manual, 4th Edition, Rev. A 5–191


Chapter 5: Standard RLL Instructions - Intelligent I/O

Write to Intelligent Module (WT)


1  230 The Write to Intelligent Module instruction writes a block of data
(1 to 128 bytes maximum) to an intelligent I/O module from a
WT
V aaa
 240 block of V-memory in the CPU. The function parameters are
2  250-1 loaded into the first and second level of the accumulator stack and the accumulator by three
 260 additional instructions. Listed below are the steps necessary to program the Read from
3 Intelligent module function.
Step 1: Load the base number (0 to 3) into the first byte and the slot number (0 to 7) into the second
DS Used
4 HPP Used
byte of the second level of the accumulator stack.
Step 2: Load the number of bytes to be transferred into the first level of the accumulator stack.
(maximum of 128 bytes)
5 Step 3: Load the intelligent module address which will receive the data into the accumulator. This
parameter must be a HEX value.
6 Step 4: Insert the WT instruction which specifies the starting V-memory location (Vaaa) where the
data will be written from in the CPU.
7 Helpful hint: — Use the LDA instruction to convert an octal address to its HEX equivalent
and load it into the accumulator when the hex format is required.
8 Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
aaa aaa aaa aaa
9 V-memory V All (See page 3 - 53) All (See page 3 - 54) All (See page 3 - 55) All (See page 3 - 56)

Discrete Bit Flags Description


10 SP54 On when RX, WX, RD, WT instructions are executed with the wrong parameters.

NOTE: Status flags are valid only until another instruction uses the same flag.
11
In the following example, when X1 is on, the WT instruction will write six bytes of data to an
12 intelligent module in base 1, slot 2 starting at address 0 in the intelligent module and copy
the information from Vmemory locations V1400–V1402.

13 DirectSOFT

X1 LD The constant value K0102


CPU Intelligent Module
Data
specifies the base number
K0102

14 (01) and the base slot


number (02)

The constant value K6


V1377
V1400
X
3
X
4
X
1
X
2
12
34
56
Address 0
Address 1
Address 2
LD V1401 7 8 5 6
specifies the number of 78 Address 3

A K6 bytes to be written

The constant value K0


V1402
V1403
V1404
0
X
X
1
X
X
9
X
X
X
X
0
90
01
Address 4
Address 5
LD
specifies the starting address

B K0 in the intelligent module Handheld Programmer Keystrokes


$
STR
B
1
ENT

WT V1400 is the starting L D A B A C


location in the CPU where SHFT PREV ENT
ANDST 3 0 1 0 2

C V1400 the specified data will be


written from
SHFT L
ANDST
D
3
PREV G
6
ENT

SHFT L D PREV A ENT

D SHFT
ANDST
W
ANDN
T
MLR
3
B
1
E
0

4
A
0
A
0
ENT

5–192 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Network

Network Instructions
1
Read from Network (RX)
 230 The Read from Network instruction is used by the master device on
a network to read a block of data from another CPU. The function
RX
A aaa
2
 240 parameters are loaded into the first and second level of the
 250-1 accumulator stack and the accumulator by three additional 3
 260 instructions. Listed below are the steps necessary to program the Read from Network
function. 4
Step 1: Load the slave address (0 to 90 BCD) into the first byte and the PLC internal port (KF1) or
DS Used
HPP Used
slot number of the master DCM or ECOM (0 to 7) into the second byte of the second level
of the accumulator stack.
5
Step 2: Load the number of bytes (0 to 128 BCD, multiple of 2) to be transferred into the first level
of the accumulator stack. 6
Step 3: Load the address of the data to be read into the accumulator. This parameter requires a HEX
value. 7
Step 4: Insert the RX instruction which specifies the starting V-memory location (Aaaa) where the
data will be read from in the slave. 8
Helpful hint: — For parameters that require HEX values, the LDA instruction can be used to
convert an octal address to the HEX equivalent and load the value into the accumulator.
9
Operand Data Type DL240 Range DL250-1 Range DL260 Range
A aaa aaa aaa 10
V-memory V All (See page 3 - 54) All (See page 3 - 55) All (See page 3 - 56)
Pointer P All V-memory
(See page 3 - 54)
All V-memory
(See page 3 - 55)
All V-memory
(See page 3 - 56) 11
Inputs X 0-477 0-777 0-1777
Outputs
Control Relays
Y
C
0-477
0-377
0-777
0-1777
0-1777
0-3777
12
Stage S 0-777 0-1777 0-1777
Timer T 0-177 0-377 0-377 13
Counter CT 0-177 0-177 0-377
Global I/O
Special Relay
GX/GY
SP
-
0-137 540-617
-
0-777
0-3777
0-777
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–193


Chapter 5: Standard RLL Instructions - Network

In the following example, when X1 is on and the module busy relay SP124 (see special relays)
is not on, the RX instruction will access an ECOM or DCM operating as a master in slot 2.
1 Ten consecutive bytes of data (V2000 – V2004) will be read from a CPU at station address 5
and copied into V-memory locations V2300–V2304 in the CPU with the master DCM or
2 ECOM.

3
DirectSOFT
4 X1 SP124 LD
–or–
LD
K0205 KF105

5 The constant value K0205 specifies


the ECOM/DCM slot number (2) and
the slave address (5)
The constant value KF105
specifies the bottom port
and the slave address (5)
(DL250–1 and DL260 only)
LD

6 K10

The constant value K10


specifies the number of Master Slave
7 bytes to be read

LDA
V2277 X
CPU
X X X X
CPU
X X X V1777
O 2300
V2300 3 4 5 7 3 4 5 7 V2000

8 Octal address 2300 is


converted to 4C0 HEX and
loaded into the accumulator.
V2301
V2302
8
1
5
9
3
3
4
6
8
1
5
9
3
3
4
6
V2001
V2002
V2300 is the starting
location for the Master CPU V2303 9 5 7 1 9 5 7 1 V2003

9 where the specified data will


be read into
V2304
V2305
1
X
4
X
2
X
3
X
1
X
4
X
2
X
3 V2004
X V2005

RX

10 V2000

V2000 is the starting location


in the Slave CPU where the
specified data will be read from

11
Handheld Programmer Keystrokes

12 $
STR
B
1
ENT

W SHFT SP B C E ENT
ANDN STRN 1 2 4

13 SHFT L
ANDST
D
3
SHFT K
JMP
C
2
A
0
F
5
ENT

SHFT L D SHFT K B A ENT

14 SHFT
ANDST
L
ANDST
D
3

3
A
0
C
JMP

2
D
1

3
A
0

0
A
0
ENT

SHFT R X C A A A ENT

A ORN SET 2 0 0 0

B
C
D

5–194 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Network

Write to Network (WX)


 230 The Write to Network instruction is used to write a block of data
from the master device to a slave device on the same network. The
WX 1
 240
A aaa
function parameters are loaded into the first and second level of
 250-1 the accumulator stack and the accumulator by three additional 2
 260 instructions. Listed below are the steps necessary to program the
Write to Network function. 3
DS Used Step 1: Load the slave address (0 to 90 BCD) into the first byte and the PLC internal port (KF1) or
HPP Used
slot number of the master DCM or ECOM (0 to 7) into the second byte of the second level
of the accumulator stack. 4
Step 2: Load the number of bytes (0 to 128 BCD, multiple of 2) to be transferred into the first level
of the accumulator stack. 5
Step 3: Load the address of the data in the master that is to be written to the network into the
accumulator. This parameter requires a HEX value. 6
Step 4: Insert the WX instruction which specifies the starting V-memory location (Aaaa) where the
data will be written to the slave.
Helpful hint: — For parameters that require HEX values, the LDA instruction can be used to
7
convert an octal address to the HEX equivalent and load the value into the accumulator.
8
Operand Data Type DL240 Range DL250-1 Range DL260 Range
A aaa aaa aaa 9
V-memory V All (See page 3 - 54) All (See page 3 - 55) All (See page 3 - 56)
Pointer P All V-memory
(See page 3 - 54)
All V-memory
(See page 3 - 55)
All V-memory
(See page 3 - 56) 10
Inputs X 0-477 0-777 0-1777
Outputs
Control Relays
Y
C
0-477
0-377
0-777
0-1777
0-1777
0-3777
11
Stage S 0-777 0-1777 0-1777
Timer T 0-177 0-377 0-377 12
Counter CT 0-177 0-177 0-377
Global I/O
Special Relay
GX/GY
SP
-
0-137 540-617
-
0-777
0-3777
0-777
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–195


Chapter 5: Standard RLL Instructions - Network

In the following example when X1 is on and the module busy relay SP124 (see special relays)
is not on, the WX instruction will access a DCM or ECOM operating as a master in slot 2.
1 Ten consecutive bytes of data is read from the CPU at station address 5 and copied to V-
memory locations V2000–V2004 in the slave CPU.
2 DirectSOFT

3 X1 SP124 LD
K0205 –or–
LD
KF105

The constant value K0205 specifies The constant value KF105


4 the ECOM/DCM slot number (2) and
the slave address (5)
specifies the bottom port
and the slave address (5)
(DL250–1 and DL260 only)
LD

5 K10

The constant value K10


specifies the number of Master Slave
bytes to write
CPU CPU
6 LDA
O 2300 V2277 X X X X X X X X V1777
V2300 3 4 5 7 3 4 5 7 V2000

7 Octal address 2300 is


converted to 4C0 HEX and
loaded into the accumulator.
V2300 is the starting
V2301
V2302
8
1
5
9
3
3
4
6
8
1
5
9
3
3
4
6
V2001
V2002
location for the Master CPU 9 5 7 1 9 5 7 1
V2303 V2003

8 where the specified data will


be written from. V2304
V2305
1
X
4
X
2
X
3
X
1
X
4
X
2
X
3 V2004
X V2005

9 WX
V2000

V2000 is the starting location


in the Slave CPU where the
10 specified data will be written to.

Handheld Programmer Keystrokes

11 $
STR
B
1
ENT

W SP B C E

12 ANDN

SHFT L
ANDST
SHFT

D
3
STRN

SHFT
1
K
JMP
2
C
4

2
A
ENT

0
F
5
ENT

13 SHFT

SHFT
L
ANDST
L
D

D
3
A
SHFT K
JMP

SHFT
B

O
1
A

C
0
ENT

D A A ENT
ANDST 3 0 INST# 2 3 0 0

14 SHFT W
ANDN
X
SET
SHFT V
AND
C
2
A
0
A
0
A
0
ENT

A
B
C
D

5–196 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Message

Message Instructions
1
Fault (FAULT)
 230
The Fault instruction is used to display a message on the
handheld programmer or DirectSOFT. The message has a FAULT
2
 240 maximum of 23 characters and can be either V-memory A aaa
3
 250-1 data, numerical constant data or ASCII text.
 260 To display the value in a V-memory location, specify the
4
V-memory location in the instruction. To display the data
DS Used
in ACON (ASCII constant) or NCON (Numerical
HPP Used
constant) instructions, specify the constant (K) value for
the corresponding data label area.
5
See Appendix G for the ASCII Conversion Table. 6
Operand Data Type DL240 Range DL250-1 Range DL260 Range
A aaa aaa aaa 7
V-memory V All (See page 3 - 54) All (See page 3 - 55) All (See page 3 - 56)
Constant. K 1-FFFF 1-FFFF 1-FFFF
8
NOTE: The FAULT instruction takes a considerable amount of time to execute. This is because the FAULT
parameters are stored in EEPROM. Make sure you consider the instruction execution times (shown in
Appendix C) if you are attempting to use the FAULT instructions in applications that require faster than
9
normal execution cycles.
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–197


Chapter 5: Standard RLL Instructions - Message

Fault Example
1 In the following example when X1 is on, the message SW 146 will display on the handheld
programmer. The NCONs use the HEX ASCII equivalent of the text to be displayed. (The
HEX ASCII for a blank is 20, a 1 is 31, 4 is 34 ...)
2
DirectSOFT
3 X1 FAULT

4 
K1

5 END
SW 146

6 DLBL
K1

7 ACON
A SW

8 NCON
K 2031

9
10 NCON
K 3436

11
Handheld Programmer Keystrokes

12 $
STR
B
1
ENT

SHFT F A U L T B ENT

13 
5 0 ISG ANDST MLR 1

14 SHFT E

D
4
N

L
TMR
D

B
3
ENT

L B
SHFT ENT
3 ANDST 1 ANDST 1

A SHFT A
0
C
2
O
INST#
N
TMR
S
RST
W
ANDN
ENT

SHFT N C O N C A D B ENT
TMR 2 INST# TMR 2 0 3 1

B SHFT N
TMR
C
2
O
INST#
N
TMR
D
3
E
4
D
3
G
6
ENT

C
D

5–198 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Message

Data Label (DLBL)


 230
The Data Label instruction marks the beginning of an
ASCII / numeric data area. DLBLs are programmed after DLBL
1
 240 the End statement. A maximum of 64 (DL240 and K aaa

 250-1 DL250–1/260) or 32 (DL230) DLBL instructions can be 2


 260 used in a program. Multiple NCONs and ACONs can be
used in a DLBL area. 3
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
aaa aaa aaa aaa 4
Constant K 1-FFFF 1-FFFF 1-FFFF 1-FFFF

ASCII Constant (ACON) 5


The ASCII Constant instruction is used with the DLBL
 230 instruction to store ASCII text for use with other ACON
6
 240
A aaa
instructions. Two ASCII characters can be stored in an
 250-1 ACON instruction. If only one character is stored in a 7
 260 ACON a leading space will be printed in the Fault
message.
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
8
aaa aaa aaa aaa
ASCII A 0-9 A-Z 0-9 A-Z 0-9 A-Z 0-9 A-Z 9
Numerical Constant (NCON)
The Numerical Constant instruction is used with the
10
 230 DLBL instruction to store the HEX ASCII equivalent of
 240 numerical data for use with other instructions. Two digits
NCON
K aaa
11
 250-1 can be stored in an NCON instruction.
 260 12
Operand Data Type DL230 Range
aaa
DL240 Range
aaa
DL250-1 Range
aaa
DL260 Range
aaa
13
Constant K 0-FFFF 0-FFFF 0-FFFF 0-FFFF
14
DS Used A
HPP Used
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–199


Chapter 5: Standard RLL Instructions - Message

Data Label Example


1 In the following example, an ACON and two NCON instructions are used within a DLBL
instruction to build a text message. See the FAULT instruction for information on displaying
messages.
2
DirectSOFT

3
4 END

5
DLBL
6 K1

7 ACON
A SW

8
9 NCON
K 2031
10
11
12 NCON
K 3436

13
Handheld Programmer Keystrokes
14 SHFT E N D ENT
4 TMR 3

A SHFT D
3
L
ANDST
B
1
L
ANDST
B
1
ENT

B SHFT A
0
C
2
O
INST#
N
TMR
S
RST
W
ANDN
ENT

SHFT N C O N C A D B ENT
C N
TMR
C
2 INST#
O N
TMR
D
2
E
0
D
3
G
1

SHFT ENT
TMR 2 INST# TMR 3 4 3 6
D

5–200 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Message

Print Message (PRINT)


 230 The Print Message instruction prints the embedded text
or text/data variable message to the specified PRINT A aaa 1
 240 communications port (2 on the DL250–1/260 CPU), “Hello, this is a PLC message”
 250-1 which must have the communications port configured. 2
 260
DS Used Data Type DL250-1 Range DL260 Range 3
HPP N/A A aaa aaa
Constant K 2 2 4
You may recall from the CPU specifications in Chapter 3 that the DL250–1 and DL260
ports are capable of several protocols. To configure a port using the Handheld Programmer, 5
use AUX 56 and follow the prompts, making the same choices as indicated below on this
page. To configure a port in DirectSOFT, choose the PLC menu, then Setup, then Setup
Secondary Comm Port.
6
• Port: From the port number list box at the top, choose “Port 2”.
• Protocol: Click the check box to the left of “Non-sequence”, and then you’ll see the dialog box
7
shown below.
8
9
10
11
12
13
14
• Memory Address: Choose a V-memory address for DirectSOFT to use to store the port setup
information. You will need to reserve nine words in V-memory for this purpose. Select “Use for
A
printing only” if it applies.
• Baud Rate: Choose the baud rate that matches your printer. B
• Stop Bits, Parity: Choose number of stop bits and parity setting to match your printer.
C
Then click the button indicated to send the Port 2 configuration to the CPU, and click
Close. See Chapter 3 for port wiring information to connect your printer to the DL250-
1/260.
D

DL205 User Manual, 4th Edition, Rev. A 5–201


Chapter 5: Standard RLL Instructions - Message

Port 2 on the DL250–1/260 has standard RS232 levels, and should work with most printer
serial input connections.
1 Text element - this is used for printing character strings. The character strings are defined as
the character (more than 0) ranged by the double quotation marks. Two hex numbers
2 preceded by the dollar sign means an 8-bit ASCII character code. Also, two characters
preceded by the dollar sign is interpreted according to the following table:
3 # Character code Description
1 $$ Dollar sign ($)
4 2 $” Double quotation (“)
3 $L or $1 Line feed (LF)
5 4
5
$N or $n
$P or $p
Carriage return line feed (CRLF)
Form feed
6 $R or $r Carriage return (CR)
6 7 $T or $t Tab

The following examples show various syntax conventions and the length of the output to the
7 printer.
Example:
8 ” ” Length 0 without character
”A” Length 1 with character A
9 ” ” Length 1 with blank
10 ” $” ” Length 1 with double quotation mark
”$R$L” Length 2 with one CR and one LF
11 ”$0D$0A” Length 2 with one CR and one LF
”$$” Length 1 with one $ mark
12 In printing an ordinary line of text, you will need to include double quotation marks before
and after the text string. Error code 499 will occur in the CPU when the print instruction
13 contains invalid text or no quotations. It is important to test your PRINT instruction data
during the application development.
The following example prints the message to port 2. We use a PD contact, which causes the
14 message instruction to be active for just one scan. Note the $N at the end of the message,
which produces a carriage return / line feed on the printer. This prepares the printer to print
A the next line, starting from the left margin.

B X1 PRINT K2 Print the message to Port 2 when


“Hello, this is a PLC message.$N” X1 makes an off-to-on transition.
C
D

5–202 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Message

V-memory element – this is used for printing V-memory contents in the integer format or
real format. Use V-memory number or V-memory number with “:” and data type. The data
types are shown in the table below. The Character code must be capital letters. 1
NOTE: There must be a space entered before and after the V-memory address to separate it from the text
string. Failure to do this will result in an error code 499.
2
# Character code Description 3
1 none 16-bit binary (decimal number)
2
3
:B
:D
4 digit BCD
32-bit binary (decimal number)
4
4 :DB 8 digit BCD
5 :R Floating point number (real number) 5
6 :E Floating point number (real number with exponent)

Example:
6
V2000 Print binary data in V2000 for decimal number
V2000 : B Print BCD data in V2000
7
V2000 : D Print binary number in V2000 and V2001 for decimal number 8
V2000 : D B Print BCD data in V2000 and V2001
V2000 : R Print floating point number in V2000/V2001 as real number 9
V2000 : E Print floating point number in V2000/V2001 as real number with
exponent 10
Example: The following example prints a message containing text and a variable. The “reactor
temperature” labels the data, which is at V2000. You can use the : B qualifier after the V2000
if the data is in BCD format, for example. The final string adds the units of degrees to the
11
line of text, and the $N adds a carriage return / line feed.
12
X1 PRINT K2 Print the message to Port 2
“Reactor temperature = ” V2000 “deg. $N”
^ ^
when X1 makes an off-to-on
transition.
13
Message will read: represents a space
Reactor temperature = 0156 deg.
^
14
V-memory text element – this is used for printing text stored in V-memory. Use the %
followed by the number of characters after V-memory number for representing the text. If A
you assign “0” as the number of characters, the print function will read the character count
from the first location. Then it will start at the next V-memory location and read that number
of ASCII codes for the text from memory.
B
Example:
V2000 % 16 16 characters in V2000 to V2007 are printed.
C
V2000 % 0 The characters in V2001 to Vxxxx (determined by the number in
V2000) will be printed.
D

DL205 User Manual, 4th Edition, Rev. A 5–203


Chapter 5: Standard RLL Instructions - Message

Bit element – this is used for printing the state of the designated bit in V-memory or a relay
bit. The bit element can be assigned by the designating point (.) and bit number preceded by
1 the V-memory number or relay number. The output type is described as shown in the table
below.
2 # Data format Description
1 none Print 1 for an ON state, and 0 for an OFF state
3 2 : BOOL Print “TRUE” for an ON state, and “FALSE” for an OFF state
3 : ONOFF Print “ON” for an ON state, and “OFF” for an OFF state
4 Example:
V2000 . 15 Prints the status of bit 15 in V2000, in 1/0 format
5 C100 Prints the status of C100 in 1/0 format

6 C100 : BOOL
C100 : ON/OFF
Prints the status of C100 in TRUE/FALSE format
Prints the status of C100 in ON/OFF format
7 V2000.15 : BOOL Prints the status of bit 15 in V2000 in TRUE/FALSE format
The maximum numbers of characters you can print is 128. The number of characters for
8 each element is listed in the table below:
Maximum
Element type
9 Text, 1 character
Characters
1
16 bit binary 6
10 32 bit binary 11
4 digit BCD 4
11 8 digit BCD
Floating point (real number)
8
13
Floating point (real with exponent) 13
12 V-memory/text 2
Bit (1/0 format) 1
13 Bit (TRUE/FALSE format)
Bit (ON/OFF format)
5
3

14 The handheld programmer’s mnemonic is “PRINT”, followed by the DEF field.


Special relay flags SP116 and SP117 indicate the status of the DL250–1/260 CPU ports
A (busy, or communications error). See the appendix on special relays for a description.
NOTE: You must use the appropriate special relay in conjunction with the PRINT command to ensure the
B ladder program does not try to PRINT to a port that is still busy from a previous PRINT or WX or RX
instruction.
C
D

5–204 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Modbus

Modbus RTU Instructions (DL260)


Modbus Read from Network (MRX)
1
 230
The Modbus Read from Network (MRX) instruction is used by the DL260 network master
to read a block of data from a connected slave device and to write the data into V–memory
2
 240 addresses within the master. The instruction allows the user to specify the Modbus Function
 250-1 Code, slave station address, starting master and slave memory addresses, number of elements 3
 260 to transfer, Modbus data format and the Exception Response Buffer.
4
DS Used
HPP N/A 5
6
7
8
9
10
• Port Number: must be DL260 Port 2 (K2) 11
• Slave Address: specify a slave station address (1 to 247)
• Function Code: The following Modbus function codes are supported by the MRX instruction: 12
01 – Read a group of coils
02 – Read a group of inputs 13
03 – Read holding registers
04 – Read input registers 14
07 – Read Exception status
• Start Slave Memory Address: specifies the starting slave memory address of the data to be read. See A
the table on the following page.
• Start Master Memory Address: specifies the starting memory address in the master where the data
will be placed. See the table on the following page.
B
• Number of Elements: specifies how many coils, inputs, holding registers or input registers will be
read. See the table on the following page. C
• Modbus Data Format: specifies Modbus 584/984 or 484 data format to be used
D

DL205 User Manual, 4th Edition, Rev. A 5–205


Chapter 5: Standard RLL Instructions - Modbus

• Exception Response Buffer: specifies the master memory address where the Exception Response
will be placed (6-bytes in length). See the table on the following page.The exception response buffer
1 uses 3 words. These bytes are swapped in the MRX/MWX exception response buffer V-memory so:
V-Memory 1 Hi Byte = Function Code Byte (Most Significant Bit Set)
2 V-Memory 1 Lo Byte = Address Byte
V-Memory 2 Hi Byte = One of the CRC Bytes
3 V-Memory 2 Lo Byte = Exception Code
V-Memory 3 Hi Byte = 0
4 V-Memory 3 Lo Byte = Other CRC Byte
MRX Slave Memory Address
5 MRX Slave Address Ranges
6 Function Code
01-Read Coil
Modbus Data Format
484 Mode
Slave Address Range(s)
1-999
01-Read Coil 584/984 Mode 1-65535
7 02-Read Input Status 484 Mode 1001-1999
02-Read Input Status 584/984 Mode 10001-19999 (5 digit) or 100001-
165535 (6 digit)
8 03-Read Holding Register 484 Mode 4001-4999
03-Read Holding Register 584/984 40001-49999 9 (5 digit) or
9 04-Read Input Register 484 Mode
4000001-465535 (6 digit)
3001-3999
04-Read Input Register 584/984 Mode 30001-39999 (5 digit) or 3000001-
10 07-Read ExceptionStatus 484 and 584/984 Mode
365535 (6 digit)
n/a

11 MRX Master Memory Addresses


12 MRX Master Memory Address Ranges
Operand Data Type DL260 Range
13 Inputs
Outputs
X
Y
0-1777
0-1777
Control Relays C 0-3777
14 Stage Bits S 0-1777
Timer Bits T 0-377

A Counter Bits
Special Relays
CT
SP
0-377
0-777
V-memory V all (see page 3-56)
B Global Inputs GX 0-3777
Global Outputs GY 0-3777

C
D

5–206 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Modbus

MRX Number of Elements


Number of Elements 1
Operand Data Type DL260 Range
V-memory V all (see page 3-56)
Bits: 1-2000
2
Constant K
Registers: 1-125

MRX Exception Response Buffer 3


Exception Response Buffer 4
Operand Data Type DL260 Range
V-memory V all (see page 3-56) 5
MRX Example
DL260 port 2 has two Special Relay contacts associated with it (see Appendix D for comm
6
port special relays). One indicates “Port busy” (SP116), and the other indicates ”Port
Communication Error” (SP117). The “Port Busy” bit is on while the PLC communicates 7
with the slave. When the bit is off the program can initiate the next network request. The
“Port Communication Error” bit turns on when the PLC has detected an error. Use of this bit 8
is optional. When used, it should be ahead of any network instruction boxes since the error
bit is reset when an MRX or MWX instruction is executed.
Typically network communications will last longer than one CPU scan. The program must
9
wait for the communications to finish before starting the next transaction.
10
This rung does a Modbus read from the first 32 coils of slave address number one.
It will place the value into 32 bits of the master starting at C0.
11
Port 2 Busy Bit Instruction Interlock Bit MRX 12
CPU/DCM Slot: CPU
SP116 C100
K2
1
Port Number:
Slave Address:
Function Code:
K1
01 - Read Coil Status
13
Start Slave Memory Address: K1
Start Master Memory Address:
Number of Elements:
C0
K32
14
Modbus Data Type: 584/984 Mode
Exception Response Buffer: V400
A
Instruction Interlock Bit
C100 B
RST

C
D

DL205 User Manual, 4th Edition, Rev. A 5–207


Chapter 5: Standard RLL Instructions - Modbus

Modbus Write to Network (MWX)


1  230 The Modbus Write to Network (MWX) instruction is used to write a block of data from the
network master’s (DL260) memory to Modbus memory addresses within a slave device on the
 240 network. The instruction allows the user to specify the Modbus Function Code, slave station
2  250-1 address, starting master and slave memory addresses, number of elements to transfer, Modbus
 260 data format and the Exception Response Buffer.
3
DS Used
4 HPP N/A

5
6
7
8
9
10
11
• Port Number: must be DL260 Port 2 (K2)
12 • Slave Address: specify a slave station address (0 to 247)
• Function Code: The following Modbus function codes are supported by the MWX instruction:
13 05 – Force Single coil
06 – Preset Single Register
14 15 – Force Multiple Coils
16 – Preset Multiple Registers
A • Start Slave Memory Address: specifies the starting slave memory address where the data will be
written.
B • Start Master Memory Address: specifies the starting address of the data in the master that is to be
written to the slave.

C • Number of Elements: specifies how many consecutive coils or registers will be written to. This field
is only active when either function code 15 or 16 is selected.
• Modbus Data Format: specifies Modbus 584/984 or 484 data format to be used
D

5–208 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - Modbus

• Exception Response Buffer: specifies the master memory address where the Exception Response
will be placed (6-bytes in length). See the table on the following page.The exception response buffer
uses 3 words. These bytes are swapped in the MRX/MWX exception response buffer V-memory so: 1
V-Memory 1 Hi Byte = Function Code Byte (Most Significant Bit Set)
V-Memory 1 Lo Byte = Address Byte 2
V-Memory 2 Hi Byte = One of the CRC Bytes
V-Memory 2 Lo Byte = Exception Code 3
V-Memory 3 Hi Byte = 0
V-Memory 3 Lo Byte = Other CRC Byte 4
MWX Slave Memory Address
5
MWX Slave Address Ranges
Function Code Modbus Data Format Slave Address Range(s) 6
05 - Force Sinlge Coil 484 Mode 1-999
05 - Force Single Coil
06 - Preset Single Register
584/984 Mode
484 Mode
1-65535
4001-4999
7
40001-49999 (5 digit) or
06 - Preset Single Register 584/984 Mode
400001-465535 (6 digit) 8
15 - Force Multiple Coils 484 Mode 1-999
15 - Force Multiple Coils
16 - Preset Multiple Registers
584/984 Mode
484 Mode
1-65535
4001-4999
9
40001-49999 (5 digit) or
16 - Preset Multiple Registers 584/984 Mode
4000001-465535 (6 digit) 10
MWX Master Memory Addresses
11
MWX Master Memory Address Ranges
Operand Data Type DL260 Range 12
Inputs X 0-1777
Outputs
Control Relays
Y
C
0-1777
0-3777
13
Stage Bits S 0-1777
Timer Bits T 0-377 14
Counter Bits CT 0-377
Special Relays
V-memory
SP
V
0-777
all (see page 3-56)
A
Global Inputs GX 0-3777
Global Outputs GY 0-3777 B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–209


Chapter 5: Standard RLL Instructions - Modbus

MWX Number of Elements


1 Number of Elements
Operand Data Type DL260 Range
2 V-memory V all (see page 3-56)
Bits: 1-2000
Constant K
3 Registers: 1-125

MWX Exception Response Buffer


4
Exception Response Buffer
5 V-memory
Operand Data Type
V
DL260 Range
all (see page 3-56)

6 MWX Example
DL260 port 2 has two Special Relay contacts associated with it (see Appendix D for comm
7 port special relays). One indicates “Port busy” (SP116), and the other indicates ”Port
Communication Error” (SP117). The “Port Busy” bit is on while the PLC communicates
with the slave. When the bit is off the program can initiate the next network request. The
8 “Port Communication Error” bit turns on when the PLC has detected an error. Use of this bit
is optional. When used, it should be ahead of any network instruction boxes since the error
9 bit is reset when an MRX or MWX instruction is executed.
Typically network communications will last longer than one CPU scan. The program must
10 This rung does a Modbus write to the first holding register 40001 of the slave address 1. It will write the
values to V2000. This particular function code only writes to one register. Use Function Code 16 to write
11 to multiple registers. Only one network instruction (WX, RX, MWX, MRX) can be enabled in each one scan.
That is the reason for the interlock bits. For using many network instructions on the same port, look at
using the shift register instruction.
12 Port 2 Busy Bit Instruction Interlock Bit MWX
CPU/DCM Slot: CPU
13 1
SP116 C100
Port Number:
Slave Address:
K2
K1
Function Code: 05 - Force Single Coil
14 Start Slave Memory Address:
Start Master Memory Address:
40001
V2000
Number of Elements: n/a
Modbus Data Type: 584/984 Mode
A Exception Response Buffer: V400

B Instruction Interlock Bit


C100
RST
C
wait for the communications to finish before starting the next transaction.
D

5–210 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - ASCII

ASCII Instructions (DL260)


The DL260 CPU supports several instructions and methods that allow ASCII strings to be 1
 230 read into and written from the PLC communications ports.
 240 Specifically, port 2 on the DL260 can be used for either reading or writing raw ASCII strings, 2
 250-1 but cannot be used for both on the same CPU.
 260 The DL260 can also decipher ASCII embedded within a supported protocol (K–Sequence, 3
DirectNET, Modbus, Ethernet) via the CPU ports, H2–ECOM or D2–DCM module.
DS Used
HPP N/A ASCII character tables and descriptions can be found at www.asciitable.com. 4
Reading ASCII Input Strings
There are several methods which the DL260 can use to read ASCII input strings: 5
1) ASCII IN (AIN) – This instruction configures port 2 for raw ASCII input strings with parameters
such as fixed and variable length ASCII strings, termination characters, byte swapping options, and
instruction control bits. Use barcode scanners, weight scales, etc. to write raw ASCII input strings
6
into port 2 based on the (AIN) instruction’s parameters.
2) Write embedded ASCII strings directly to V–memory from an external HMI or similar master
7
device via a supported communications protocol using the CPU ports, H2–ECOM or D2–DCM.
The AIN instruction is not used in this case. 8
3) If a DL260 PLC is a master on a network, the Network Read instruction (RX) can be used to read
embedded ASCII data from a slave device via a supported communications protocol using port 2,
H2–ECOM or D2–DCM. The RX instruction places the data directly into V–memory. 9
Writing ASCII Output Strings 10
The following instructions can be used to write ASCII output strings:
1) Print from V–memory (PRINTV) – Use this instruction to write raw ASCII strings out of port 2
to a display panel or a serial printer, etc. The instruction features the starting V–memory address, 11
string length, byte swapping options, etc. When the instruction’s permissive bit is enabled, the
string is written to port 2.
2) Print to V–memory (VPRINT) – Use this instruction to create pre–coded ASCII strings in the
12
PLC (i.e. alarm messages). When the instruction’s permissive bit is enabled, the message is loaded
into a pre–defined V–memory address location. Then use the PRINTV instruction to write the 13
pre–coded ASCII string out of port 2. American, European and Asian Time/Date stamps are
supported. 14
Additionally, if a DL260 PLC is a master on a network, the Network Write instruction (WX)
can be used to write embedded ASCII data to an HMI or slave device directly from
A
V–memory via a supported communications protocol using port 2, H2–ECOM or
D2–DCM. B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–211


Chapter 5: Standard RLL Instructions - ASCII

Managing the ASCII Strings


1 The following instructions can be helpful in managing the ASCII strings within the CPUs
V-memory:
2 ASCII Find (AFIND) – Finds where a specific portion of the ASCII string is located in
continuous V-memory addresses. Forward and reverse searches are supported.
ASCII Extract (AEX) – Extracts a specific portion (usually some data value) from the ASCII
3 find location or other known ASCII data location.
Compare V-memory (CMPV) – This instruction is used to compare two blocks of
4 V-memory addresses and is usually used to detect a change in an ASCII string. Compared
data types must be of the same format (i.e. BCD, ASCII, etc.).
5 Swap Bytes (SWAPB) – usually used to swap V-memory bytes on ASCII data that was
written directly to V-memory from an external HMI or similar master device via a
6 communications protocol. The AIN and AEX instructions have a built–in byte swap feature.

7 ASCII Input (AIN)


The ASCII Input instruction allows the CPU to receive ASCII strings through the specified
8  230 communications port and places the string into a series of specified V-memory registers. The
 240 ASCII data can be received as a fixed number of bytes or as a variable length string with a
9  250-1 specified termination character(s). Other features include, Byte Swap preferences, Character
 260 Timeout, and user defined flag bits for Busy, Complete and Timeout Error.

10 DS Used
HPP N/A
11
12
13
14
A
B
C
D

5–212 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - ASCII

AIN Fixed Length Configuration


• Length Type: select fixed length based on the length of the ASCII string that will be sent to the
CPU port
1
• Port Number: must be DL260 port 2 (K2)
• Data Destination: specifies where the ASCII string will be placed in V–memory
2
• Fixed Length: specifies the length, in bytes, of the fixed length ASCII string the port will receive
• Inter–character Timeout: if the amount of time between incoming ASCII characters exceeds the set
3
time, the specified Timeout Error bit will be set. No data will be stored at the Data Destination
V–memory location. The bit will reset when the AIN instruction permissive bits are disabled. None
selection disables this feature.
4
• First Character Timeout: if the amount of time from when the AIN is enabled to the time the first
character is received exceeds the set time, the specified First Character Timeout bit will be set. The
5
bit will reset when the AIN instruction permissive bits are disabled. None selection disables this
feature. 6
• Byte Swap: swaps the high–byte and low–byte within each V–memory register of the Fixed Length
ASCII string. See the SWAPB instruction for details.
• Busy Bit: is ON while the AIN instruction is receiving ASCII data
7
• Complete Bit: is set once the ASCII data has been received for the specified fixed length and reset
when the AIN instruction permissive bits are disabled.
8
• Inter–character Timeout Error Bit: is set when the Character Timeout is exceed. See Character
Timeout explanation above. 9
• First Character Timeout Error Bit: is set when the First Character Timeout is exceed. See First
Character Timeout explanation above. 10
Parameter DL260 Range 11
Data Destination All V-memory (See page 3 - 56)
Fixed Length
Bits: Busy, Complete, Timeout Error, Overflow
K1-128
C0-3777
12
Discrete Bit Flags Description
13
SP53 On if the CPU cannot execute the instruction.
SP71 On when a value used by the instruction is invalid. 14
SP116 On when CPU port 2 is communicating with another device.
SP117 On when CPU port 2 has experienced a communication error. A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–213


Chapter 5: Standard RLL Instructions - ASCII

AIN Fixed Length Examples


1 Fixed Length example when the PLC is reading the port continuously and timing is not
critical
2
3
4
5
6
7 Fixed Length example when character to character timing is critical

8
9
10
11
12
13
14
A
B
C
D

5–214 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - ASCII

1
2
3
4
5
6
AIN Variable Length Configuration: 7
• Length Type: select Variable Length if the ASCII string length followed by termination characters
will vary in length
• Port Number: must be DL260 port 2 (K2)
8
• Data Destination: specifies where the ASCII string will be placed in V–memory
• Maximum Variable Length: specifies, in bytes, the maximum length of a Variable Length ASCII
9
string the port will receive
• Inter–character Timeout: if the amount of time between incoming ASCII characters exceeds the set 10
time, the Timeout Error bit will be set. No data will be stored at the Data Destination V–memory
location. The Timeout Error bit will reset when the AIN instruction permissive bits are disabled.
None selection disables this feature.
11
• First Character Timeout: if the amount of time from when the AIN is enabled to the time the first
character is received exceeds the set time, the specified First Character Timeout bit will be set. The 12
bit will reset when the AIN instruction permissive bits are disabled. None selection disables this
feature.
• Byte Swap: swaps the high–byte and low–byte within each V–memory register of the Varaible
13
Length ASCII string. See the SWAPB instruction for details.
• Termination Code Length: consists of either 1 or 2 characters. Refer to the ASCII table in
14
Appendix G.
• Overflow Error Bit: is set when the ASCII data received exceeds the Maximum Variable Length A
specified.
• Busy Bit: is ON while the AIN instruction is receiving ASCII data B
• Complete Bit: is set once the ASCII data has been received up to the termination code characters. It
will be reset when the AIN instruction permissive bits are disabled.
• Inter–character Timeout Error Bit: is set when the Character Timeout is exceed. See Character
C
Timeout explanation above.
• First Character Timeout Error Bit: is set when the First Character Timeout is exceed. See First
D
Character Timeout explanation above.

DL205 User Manual, 4th Edition, Rev. A 5–215


Chapter 5: Standard RLL Instructions - ASCII

Parameter DL260 Range


1 Data Destination All V-memory (See page 3 - 56)
Max. Variable Length K1-128
2 Bits: Busy, Complete, Timeout Error, Overflow C0-3777

3 AIN Variable Length Example


AIN Variable Length example used to read barcodes on boxes (PE = photoelectric sensor).
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D

5–216 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - ASCII

ASCII Find (AFIND)


 230
The ASCII Find instruction locates a specific ASCII string or portion of an ASCII string
within a range of V-memory registers and places the string’s Found Index number (byte
1
 240 number where desired string is found), in Hex, into a specified V-memory register. Other
 250-1 features include, Search Starting Index number for skipping over unnecessary bytes before 2
 260 beginning the FIND operation, Forward or Reverse direction search, and From Begining and
From End selections to reference the Found Index Value. 3
• Base Address: specifies the begining V-memory register where the entire ASCII string is stored in
DS Used
HPP N/A
memory
• Total Number of Bytes: specifies the total number of bytes to search for the desired ASCII string
4
• Search Starting Index: specifies which byte to skip to (with respect to the Base Address) before
begining the search 5
• Direction: Forward begins the search from lower numbered V-memory registers to higher
numbered V-memory registers. Reverse does the search from higher numbered V–memory registers 6
to lower numbered V-memory registers.
• Found Index Value: specifies whether the Begining or the End byte of the ASCII string found will
be loaded into the Found Index register
7
• Found Index: specifies the V–memory register where the Found Index Value will be stored. A value
of FFFF will result if the desired string is not located in the memory registers specified. A value of 8
EEEE will result if there is a conflict in the AFIND search parameters specified.
• Search for String: up to 128 characters. 9
10
Parameter
Base Address
DL260 Range
All V-memory (See page 3 - 56)
11
Total Number of Bytes All V-memory (See page 3 - 56)
or K1-128 12
Search Starting Index All V-memory (See page 3 - 56)

Found Index
or K0-127
All V-memory (See page 3 - 56)
13
14
A
B
C
Discrete Bit Flags Description
SP53
SP71
On if the CPU cannot execute the instruction.
On when a value used by the instruction is invalid.
D

DL205 User Manual, 4th Edition, Rev. A 5–217


Chapter 5: Standard RLL Instructions - ASCII

AFIND Search Example


1 In the following example, the AFIND instruction is used to search for the “day” portion of
“Friday” in the ASCII string “Today is Friday.”, which had previously been loaded into
V–memory. Note that a Search Starting Index of constant (K) 5 combined with a Forward
2 Direction Seach is used to prevent finding the “day” portion of the word “Today”. The Found
Index will be placed into V4000.
3
4
5
6
7
8
9
10
11
ASCII Characters

12 HEX Equivalent

Base Address 0 T 54h Low


13 Reverse Direction Search
1
2
o
d
6Fh
64h
High
Low
V3000

3 a High V3001
61h
14 Search start Index Number
4
5
y 79h
20h
Low
High
V3002
6 i 69h Low
A 7
8
s 73h
20h
High
Low
V3003

V3004
Forward Direction Search
9 F 46h High
B 10
11
r
i
72h
69h
Low
High
V3005
Beginning Index Number 12 d 64h Low
V3006
C End Index Number
13
14
a
y
61h
79h
High
Low
V3007
15 . 2Eh High
D
Found Index Number = 0012 V4000

5–218 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - ASCII

AFIND Example Combined with AEX Instruction


When an AIN instruction has executed, its’ Complete bit can be used to trigger an AFIND
instruction to search for a desired portion of the ASCII string. Once the string is found, the
1
AEX instruction can be used to extract the located string.
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–219


Chapter 5: Standard RLL Instructions - ASCII

ASCII Extract (AEX)


1  230 The ASCII Extract instruction extracts a specified number of bytes of ASCII data from one
series of V-memory registers and places it into another series of V-memory registers. Other
 240 features include, Extract at Index for skipping over unnecessary bytes before begining the
2  250-1 Extract operation, Shift ASCII Option, for One Byte Left or One Byte Right, Byte Swap and
 260 Convert data to a BCD format number.
3 • Source Base Address: specifies the begining
DS Used V-memory register where the entire ASCII string
is stored in memory
4 HPP N/A
• Extract at Index: specifies which byte to skip to
(with respect to the Source Base Address) before
5 extracting the data
• Number of Bytes: specifies the number of bytes
6 to be extracted
• Shift ASCII Option: shifts all extracted data one
byte left or one byte right to displace
7 “unwanted” characters if necessary
• Byte Swap: swaps the high–byte and the
8 low–byte within each V-memory register of the
extracted data. See the SWAPB instruction for
details.
9 • Convert BCD(Hex) ASCII to BCD (Hex): if
enabled, this will convert ASCII numerical
10 characters to Hexidecimal numerical values
• Destination Base Address: specifies the
11 V-memory register where the extracted data
will be stored

12 Parameter DL260 Range


Source Base Address All V-memory (See page 3 - 56)
13 Extract at Index All V-memory (See page 3 - 56)
or K0-127
Number of Bytes K1-128
14 Destination Base Address All V-memory (See page 3 - 56)

A Discrete Bit Flags Description


SP53 On if the CPU cannot execute the instruction.
B SP71 On when a value used by the instruction is invalid.

See the previous page for an example using the AEX instruction.
C
D

5–220 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - ASCII

ASCII Compare (CMPV)


 230 The ASCII Compare instruction compares two groups of V–memory registers. The CMPV
will compare any data type (ASCII to ASCII, BCD to BCD, etc.) of one series (group) of
1
 240 V–memory registers to another series of V–memory registers for a specified byte length.
 250-1 “Compare from” Starting Address:
2
 260 specifies the begining V–memory register
of the first group of V–memory registers 3
DS Used to be compared from.
HPP N/A “Compare to” Starting Address: 4
specifies the begining V–memory register
of the second group of V–memory
registers to be compared to.
5
Number of Bytes: specifies the length of
each V–memory group to be compared 6
SP61 = 1 (ON), the result is equal
SP61 = 0 (OFF), the result is not equal
7
Parameter DL260 Range
8
Compare from Starting Address All V-memory (See page 3 - 56)
Compare to Starting Address All V-memory (See page 3 - 56) 9
Number of Bytes All V-memory (See page 3 - 56)
or K0-127
10
Discrete Bit Flags Description
SP53 On if the CPU cannot execute the instruction. 11
SP61 On when result is equal.
SP71 On when a value used by the instruction is invalid. 12
CMPV Example
The CMPV instruction executes when the AIN instruction is complete. If the compared
13
V–memory tables are equal, SP61 will turn ON.
14
AIN Complete

C1
CMPV
A
"Compare from" Starting Address: V3400
"Compare to" Starting Address:
Number of Bytes:
V3500
K12
B
C
Strings are equal
SP61 C11
OUT D

DL205 User Manual, 4th Edition, Rev. A 5–221


Chapter 5: Standard RLL Instructions - ASCII

ASCII Print to V-memory (VPRINT)


1  230
The ASCII Print to V–memory instruction will write a specified ASCII string into a series of
V–memory registers. Other features include Byte Swap, options to suppress or convert
 240 leading zeros or spaces, and _Date and _Time options for U.S., European, and Asian date
2  250-1 formats and 12 or 24 hour time formats.
 260 • Byte Swap: swaps the high–byte and low–byte
3 within each V–memory register the ASCII
string is printed to. See the SWAPB
DS Used instruction for details.
4 HPP N/A
• Print to Starting V–memory Address: specifies
the begining of a series of V–memory
5 addresses where the ASCII string will be
placed by the VPRINT instruction.

6 • Starting V–memory Address: the first


V–memory register of the series of registers
specified will contain the ASCII string’s length
7 in bytes.
• Starting V–memory Address +1: the 2nd and
8 subsequent registers will contain the ASCII
string printed to V–memory.

9 VPRINT Time/Date Stamping


10 Parameter DL260 Range
Print to Starting V-memory Address All V-memory (See page 3 - 56)

11 Discrete Bit Flags Description


12 SP53
SP71
On if the CPU cannot execute the instruction.
On when a value used by the instruction is invalid.

13 The codes in the table below can be used in the VPRINT ASCII string message to “print to
V–memory” the current time and/or date.
14 # Character Code Date/Time Stamp Options
1 _Date:us American standard (month/day/2 digit year)
A 2 _Date:e European standard (day/month/2 digit year)
3 _Date:a Asian standard (2 digit year/month/day)
B 4
5
_Time:12
_Time:24
standard 12 hour clock (0-12 hour:min am/pm)
standard 24 hour clock (0-23 hour:min am/pm)

C
D

5–222 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - ASCII

VPRINT V-memory element


The following modifiers can be used in the VPRINT ASCII string message to “print to
V–memory” register contents in integer format or real format. Use V-memory number or V-
1
memory number with “:” and data type. The data types are shown in the table below. The
Character code must be capital letters. 2
NOTE: There must be a space entered before and after the V-memory address to separate it from the text
string. Failure to do this will result in an error code 499. 3
# Character Code Description 4
1 none 16-bit binary (decimal number)
2
3
:B
:D
4-digit BCD
32-bit binary (decimal number)
5
4 :DB 8-digit BCD
5 :R Floating point number (real number) 6
6 :E Floating point number (real number with exponent)

Examples: 7
V2000 Print binary data in V2000 for decimal number
V2000 : B Print BCD data in V2000
8
V2000 : D Print binary number in V2000 and V2001 for decimal number
V2000 : D B Print BCD data in V2000 and V2001
9
V2000 : R Print floating point number in V2000/V2001 as real number 10
V2000 : E Print floating point number in V2000/V2001 as real number with exponent
The following modifiers can be added to any of the modifies above to suppress or convert
leading zeros or spaces. The character code must be capital letters.
11
# Character Code Description 12
1 S Suppresses leading spaces
2
3
C0
0
Converts leading spaces to zeros
Suppresses leading zeros
13
Example with V2000 = 0018 (binary format) 14
V-memory Register Number of Characters
with Modifier 1 2 3 4 A
V2000 0 0 1 8
V2000:B 0 0 1 2 B
V2000:B0 1 2

C
D

DL205 User Manual, 4th Edition, Rev. A 5–223


Chapter 5: Standard RLL Instructions - ASCII

Example with V2000 = sp sp18 (binary format) where sp = space


1 V-memory Register Number of Characters
with Modifier 1 2 3 4
2 V2000 sp sp 1 8
V2000:B sp sp 1 2
3 V2000:BS
V2000:BC0
1
0
2
0 1 2

4 VPRINT V-memory text element


The following is used for “printing to V-memory” text stored in registers. Use the % followed
5 by the number of characters after V-memory number for representing the text. If you assign
“0” as the number of characters, the function will read the character count from the first
6 location. Then it will start at the next V-memory location and read that number of ASCII
codes for the text from memory.
7 Example:
V2000 % 16 16 characters in V2000 to V2007 are printed.
8 V2000 % 0 The characters in V2001 to Vxxxx (determined by the number in
V2000) will be printed.
9 VPRINT Bit element
The following is used for “printing to V–memory” the state of the designated bit in
10 V-memory or a control relay bit. The bit element can be assigned by the designating point (.)
and bit number preceded by the V-memory number or relay number. The output type is
described as shown in the table below.
11 # Data format Description
1 none Print 1 for an ON state, and 0 for an OFF state
12 2 : BOOL Print “TRUE” for an ON state, and “FALSE” for an OFF
state

13 3 : ONOFF Print “ON” for an ON state, and “OFF” for an OFF state

Example:
14 V2000 . 15 Prints the status of bit 15 in V2000, in 1/0 format
C100 Prints the status of C100 in 1/0 format
A C100 : BOOL Prints the status of C100 in TRUE/FALSE format
C100 : ON/OFF Prints the status of C100 in ON/OFF format
B V2000.15 : BOOL Prints the status of bit 15 in V2000 in TRUE/FALSE format
C
D

5–224 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - ASCII

The maximum numbers of characters you can VPRINT is 128. The number of characters
required for each element, regardless of whether the :S, :C0 or :0 modifiers are used, is listed
in the table below. 1
Maximum
Element Type Characters 2
Text, 1 character 1
16 bit binary
32 bit binary
6
11
3
4 digit BCD 4
8 digit BCD 8 4
Floating point (real number) 13
Floating point (real with exponent)
V-memory/text
13
2
5
Bit (1/0 format) 1
Bit (TRUE/FALSE format) 5 6
Bit (ON/OFF format) 3

Text element 7
The following is used for “printing to V-memory” character strings.The character strings are
defined as the character (more than 0) ranged by the double quotation marks. Two hex 8
numbers preceded by the dollar sign means an 8-bit ASCII character code. Also, two
characters preceded by the dollar sign is interpreted according to the following table: 9
# Character code Description
1 $$ Dollar sign ($) 10
2 $” Double quotation (“)
3
4
$L or $l
$N or $n
Line feed (LF)
Carriage return line feed (CRLF)
11
5 $P or $p Form feed
6 $R or $r Carriage return (CR) 12
7 $T or $t Tab
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–225


Chapter 5: Standard RLL Instructions - ASCII

The following examples show various syntax conventions and the length of the output to the
printer.
1 Example:
2 ” ” Length 0 without character
”A” Length 1 with character A
3 ” ” Length 1 with blank
” $” ” Length 1 with double quotation mark
4 ”$R$L” Length 2 with one CR and one LF
” $ 0 D $ 0 A ” Length 2 with one CR and one LF
5 ”$$” Length 1 with one $ mark
In printing an ordinary line of text, you will need to include double quotation marks before
6 and after the text string. Error code 499 will occur in the CPU when the print instruction
contains invalid text or no quotations. It is important to test your VPRINT instruction data
7 during the application development.

8 VPRINT Example Combined with PRINTV Instruction


The VPRINT instruction is used to create a string in V–memory. The PRINTV is used to
9 print the string out of port 2.

Create string permissive


10 14
C12
VPRINT
Byte Swap: All
“Print to” Address: V4000

11 “STX” V3000:B “$0D”

Delay permissive for VPRINT

12 C13
SET

Delay Permissive for VPRINT TMR


13 15
C13 Delay for VPRINT
to complete
T1

14 K10

A PRINTV
CPU/DCM Slot:
Port Number:
CPU
K2
Delay for VPRINT to complete Start Address: V4000
B 16
T1 Number of Bytes:
Append:
K12
0D (hexadecimal)
Byte Swap: None

C Busy:
Complete:
C0
C1

D Delay permissive for VPRINT


C13
SET

5–226 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - ASCII

ASCII Print from V-memory (PRINTV)

 230
The ASCII Print from V–memory instruction will send an ASCII string out of the designated
communications port from a specified series of V–memory registers for a specified length in
1
 240 number of bytes. Other features include user specified Append Characters to be placed after
2
 250-1 the desired data string for devices that require specific termination character(s), Byte Swap
options, and user specified flags for Busy and Complete.
 260 3
• Port Number: must be DL260 port 2 (K2)
DS Used • Start Address: specifies the begining of series of
HPP N/A
V–memory registers that contain the ASCII string
to print
4
• Number of Bytes: specifies the length of the string
to print 5
• Append Characters: specifies ASCII characters to
be added to the end of the string for devices that
require specific termination characters
6
• Byte Swap: swaps the high–byte and low–byte
within each V–memory register of the string while
7
printing. See the SWAPB instruction for details.
• Busy Bit: will be ON while the instruction is 8
printing ASCII data
• Complete Bit: will be set once the ASCII data has
been printed and reset when the PRINTV
9
instruction permissive bits are disabled.
10
11
Parameter DL260 Range
Port Number port 2 (K2) 12
Start Address All V-memory (See page 3-56)
Number of Bytes
Bits: Busy, Complete
All V-memory (See page 3-56) or K1-128
C0-3777
13
14
Discrete Bit Flags Description
SP53
SP71
On if the CPU cannot execute the instruction.
On when a value used by the instruction is invalid.
A
SP116 On when CPU port 2 is communicating with another device.
SP117 On when CPU port 2 has experienced a communication error. B
See the facing page for an example using the PRINTV instruction. C
D

DL205 User Manual, 4th Edition, Rev. A 5–227


Chapter 5: Standard RLL Instructions - ASCII

ASCII Swap Bytes (SWAPB)


1  230 The ASCII Swap Bytes instruction swaps byte positions (high–byte to low–byte and low–byte
to high–byte) within each V-memory register of a series of V-memory registers for a specified
 240 number of bytes.
2  250-1 • Starting Address: specifies the begining
 260 of a series of V–memory registers the
3 instruction will use to begin byte
swapping
DS Used

4 HPP N/A • Number of Bytes: specifies the number


of bytes, begining with the Starting
Address, to byte swap
5
6
7 Parameter
Starting Address
DL260 Range
All V-memory (See page 3-56)

8 Number of Bytes All V-memory (See page 3-56) or K1 to 128

Discrete Bit Flags Description


9 SP53 On if the CPU cannot execute the instruction.
SP71 On when a value used by the instruction is invalid.
10
Byte Swap No Byte Swapping Byte
11 Preferences (AIN, AEX, PRINTV, VPRINT)
V2000
High Low
0005h
A B C D E V2001 B A
12 V2002
V2003
D
xx
C
E

13 Byte Swap All

A B C D E
Byte
High Low
V2000 0005h
14 V2001
V2002
A
C
B
D
B A D C E V2003 E xx
A
Byte Swap All but Null
B A B C D E Byte
High Low
V2000 0005h
C V2001
V2002
A
C
B
D
B A D C E V2003 xx E
D

5–228 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Standard RLL Instructions - ASCII

SWAPB Example
The AIN Complete bit is used to trigger the SWAPB instruction. Use a one–shot so the
SWAPB only executes once.
1
2
3
4
ASCII Clear Buffer (ACRB) 5
The ASCII Clear Buffer instruction will clear the ASCII receive buffer of the specified
 230 communications port number. 6
 240 Port Number: must be DL260 port 2 (K2)
 250-1 7
 260
8
DS Used
HPP N/A 9
ACRB Example 10
The AIN Complete bit or the AIN diagnostic bits are used to clear the ASCII buffer.
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–229


Chapter 5: Intelligent Box (IBox) Instructions

Intelligent Box (IBox) Instructions (DL250-1/DL260 Only)


1 A new class of instructions, called Ibox Instructions, became available with the introduction
of DirectSOFT. These powerful yet easy-to-use instructions simplify many of the more
complicated tasks that could previously be accomplished only through the use of multiple
2 RLL Instructions. The IBox Instructions are supported by DL250-1 and DL260 PLCs. The
D2-250-1 CPU requires firmware version v4.60 or later, and the D2-260 CPU requires
firmware version v2.40 or later. For more information on DirectSOFT or to download our
3 free version, please visit our Web site at: www.automationdirect.com.
Analog Helper IBoxes
4 Instruction IBox # Page
Analog Input / Output Combo Module Pointer Setup (ANLGCMB) IB-462 5-232
5 Analog Input Module Pointer Setup (ANLGIN) IB-460 5-234
Analog Output Module Pointer Setup (ANLGOUT) IB-461 5-236

6 Analog Scale 12-Bit BCD to BCD (ANSCL)


Analog Scale 12-Bit Binary to Binary (ANSCLB)
IB-423
IB-403
5-238
5-239
Filter Over Time - BCD (FILTER) IB-422 5-240
7 Filter Over Time - Binary (FILTERB) IB-402 5-242
Hi/Low Alarm - BCD (HILOAL) IB-421 5-244

8 Hi/Low Alarm - Binary (HILOALB) IB-401 5-246

Discrete Helper IBoxes


9 Off Delay Timer (OFFDTMR)
Instruction Ibox #
IB-302
Page
5-248

10 On Delay Timer (ONDTMR)


One Shot (ONESHOT)
IB-301
IB-303
5-250
5-252
Push On / Push Off Circuit (PONOFF) IB-300 5-253
11 Memory IBoxes
Instruction Ibox # Page
12 Move Single Word (MOVEW) IB-200 5-254
Move Double Word (MOVED) IB-201 5-255
13 Math IBoxes
Instruction Ibox # Page
14 BCD to Real with Implied Decimal Point (BCDTOR) IB-560 5-256
Double BCD to Real with Implied Decimal Point (BCDTORD) IB-562 5-257
A Math - BCD (MATHBCD)
Math - Binary (MATHBIN)
IB-521
IB-501
5-258
5-260
Math - Real (MATHR) IB-541 5-262
B Real to BCD with Implied Decimal Point and Rounding (RTOBCD) IB-561 5-263
Real to Double BCD with Implied Decimal Point and Rounding (RTOBCDD) IB-563 5-264
C Square BCD (SQUARE)
Square Binary (SQUAREB)
IB-523
IB-503
5-265
5-266
Square Real(SQUARER) IB-543 5-267
D Sum BCD Numbers (SUMBCD) IB-522 5-268
Sum Binary Numbers (SUMBIN) IB-502 5-269
Sum Real Numbers (SUMR) IB-542 5-270

5–230 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

Communication IBoxes
Instruction Ibox # Page
ECOM100 Configuration (ECOM100) IB-710 5-272 1
ECOM100 Disable DHCP (ECDHCPD) IB-736 5-274
ECOM100 Enable DHCP (ECDHCPE)
ECOM100 Query DHCP Setting (ECDHCPQ)
IB-735
IB-734
5-276
5-278
2
ECOM100 Send E-mail (ECEMAIL) IB-711 5-280
ECOM100 Restore Default E-mail Setup (ECEMRDS) IB-713 5-283 3
ECOM100 E-mail Setup (ECEMSUP) IB-712 5-286
ECOM100 IP Setup (ECIPSUP)
ECOM100 Read Description (ECRDDES)
IB-717
IB-726
5-290
5-292
4
ECOM100 Read Gateway Address (ECRDGWA) IB-730 5-294
ECOM100 Read IP Address (ECRDIP) IB-722 5-296 5
ECOM100 Read Module ID (ECRDMID) IB-720 5-298
ECOM100 Read Module Name (ECRDNAM)
ECOM100 Read Subnet Mask (ECRDSNM)
IB-724
IB-732
5-300
5-302
6
ECOM100 Write Description (ECWRDES) IB-727 5-304
ECOM100 Write Gateway Address (ECWRGWA) IB-731 5-306 7
ECOM100 Write IP Address (ECWRIP) IB-723 5-308
ECOM100 Write Module ID (ECWRMID)
ECOM100 Write Name (ECWRNAM)
IB-721
IB-725
5-310
5-312
8
ECOM100 Write Subnet Mask (ECWRSNM) IB-733 5-314
ECOM100 RX Network Read (ECRX) IB-740 5-316 9
ECOM100 WX Network Write(ECWX) IB-741 5-319
NETCFG Network Configuration (NETCFG)
Network RX Read (NETRX)
IB-700
IB-701
5-322
5-324
10
Network WX Write (NETWX) IB-702 5-327

Counter I/O IBoxes


11
CTRIO Configuration (CTRIO)
Instruction Ibox #
IB-1000
Page
5-330
12
CTRIO Add Entry to End of Preset Table (CTRADPT) IB-1005 5-332
CTRIO Clear Preset Table (CTRCLRT) IB-1007 5-335 13
CTRIO Edit Preset Table Entry (CTREDPT) IB-1003 5-338
CTRIO Edit Preset Table Entry and Reload (CTREDRL)
CTRIO Initialize Preset Table (CTRINPT)
IB-1002
IB-1004
5-342
5-346
14
CTRIO Initialize Preset Table (CTRINTR) IB-1010 5-350
CTRIO Load Profile (CTRLDPR) IB-1001 5-354 A
CTRIO Read Error (CTRRDER) IB-1014 5-357
CTRIO Run to Limit Mode (CTRRTLM)
CTRIO Run to Position Mode (CTRRTPM)
IB-1011
IB-1012
5-359
5-362
B
CTRIO Velocity Mode (CTRVELO) IB-1013 5-365
CTRIO Write File to ROM (CTRWFTR) IB-1006 5-368 C
NOTE: Check your CPU firmware version using DirectSOFT: PLC Menu > Diagnostics > System
Information. The latest firmware and update tool are available from: D
http://support.automationdirect.com/firmware/index.html

DL205 User Manual, 4th Edition, Rev. A 5–231


Chapter 5: Intelligent Box (IBox) Instructions

Analog Input/Output Combo Module Pointer Setup (ANLGCMB) (IB-462)


1 The Analog Input/Output Combo Module Pointer Setup instruction generates the logic to
 230 configure the pointer method for an analog input/output combination module on the first
2  240 PLC scan following a Program to Run transition.
 250-1 The ANLGCMB IBox instruction

3  260 determines the data format and Pointer


addresses based on the CPU type, the
Base# and the module Slot#.
4 DS5
HPP
Used
N/A The Input Data Address is the starting
location in user V-memory where the
5 analog input data values will be stored,
one location for each input channel
enabled.
6 The Output Data Address is the starting
location in user V-memory where the
7 analog output data values will be stored
by ladder code or external device, one location for each output channel enabled.
8 Since the IBox logic only executes on the first scan, the instruction cannot have any input logic.

9 ANLGCMB Parameters
• Base # (K0-Local): specifies which base the module is in
10 • Slot #: specifies which slot is occupied by the analog module
• Number of Input Channels: specifies the number of analog input channels to scan
11 • Input Data Format (0-BCD 1-BIN): specifies the analog input data format (BCD or Binary) - the
binary format may be used for displaying data on some OI panels
12 • Input Data Address: specifies the starting V-memory location that will be used to store the analog
input data
• Number of Output Channels: specifies the number of analog output channels that will be used
13 • Output Data Format (0-BCD 1-BIN): specifies the format of the analog output data (BCD or
Binary)
14 • Output Data Address: specifies the starting V-memory location that will be used to source the
analog output data
A NOTE The ANLGCMB instruction does not currently support the F2-8AD4DA-1 or
F2-8AD4DA-2.
B
C
D

5–232 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

Parameter DL205 Range


Base # (K0-Local) . . . . . . . . . . . . . . . . . . . . . . . K
Slot # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
K0-3
K0-7
1
Number of Input Channels . . . . . . . . . . . . . . . . K K1-8
Input Data Format (0-BCD 1-BIN) . . . . . . . . . . . K BCD: K0; Binary: K1 2
Input Data Address . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
Number of Output Channels . . . . . . . . . . . . . . . K
Output Data Format (0-BCD 1-BIN) . . . . . . . . . K
K1-8
BCD: K0; Binary: K1
3
Output Data Address . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
4
ANLGCMB Example
In the following example, the ANLGCMB instruction is used to set up the pointer method 5
for an analog I/O combination module that is installed in option slot 2. Four input channels
are enabled and the analog data will be written to V2000 - V2003 in BCD format. Two
output channels are enabled and the analog values will be read from V2100 - V2101 in BCD
6
format.
7
8
No permissive contact
or input logic is used 9
with this instruction
10
11
NOTE: An Analog I/O IBox instruction is used without a permissive contact. The top line will be identified in
12
BOLD italics, and the instruction name and ID will be in BOLD characters.
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–233


Chapter 5: Intelligent Box (IBox) Instructions

Analog Input Module Pointer Setup (ANLGIN) (IB-460)


1 Analog Input Module Pointer Setup generates the logic to configure the pointer method for
 230 one analog input module on the first PLC scan following a Program to Run transition.
2  240 This IBox determines the data format
 250-1 and Pointer addresses based on the
CPU type, the Base#, and the Slot#.
3  260
The Input Data Address is the starting
location in user V-memory where the
4 DS5
HPP
Used
N/A
analog input data values will be stored,
one location for each input channel
5 enabled.
Since this logic only executes on the
first scan, this IBox cannot have any
6 input logic.

7 ANLGIN Parameters
• Base # (K0-Local): specifies which base the analog module is in
8 • Slot #: specifies which PLC slot is occupied by the analog module
• Number of Input Channels: specifies the number of input channels to scan
9 • Input Data Format (0-BCD 1-BIN): specifies the analog input data format (BCD or Binary) - the
binary format may be used for displaying data on some OI panels
10 • Input Data Address: specifies the starting V-memory location that will be used to store the analog
input data
11 Parameter DL205 Range
Base # (K0-Local) . . . . . . . . . . . . . . . . . . . . . . . K K0-3
12 Slot # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-7
Number of Input Channels . . . . . . . . . . . . . . . . K K1-8
13 Input Data Format (0-BCD 1-BIN) . . . . . . . . . . . K
Input Data Address . . . . . . . . . . . . . . . . . . . . . . V
BCD: K0; Binary: K1
See DL205 V-memory map - Data Words

14
A
B
C
D

5–234 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ANLGIN Example
In the following example, the ANLGIN instruction is used to set up the pointer method for
an analog input module that is installed in option slot 1. Eight input channels are enabled
1
and the analog data will be written to V2000 - V2007 in BCD format.
2
3
No permissive contact or
input logic is used with
4
this instruction
5
6
7
NOTE: An Analog I/O IBox instruction is used without a permissive contact. The top line will be identified in
BOLD italics, and the instruction name and ID will be in BOLD characters. 8
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–235


Chapter 5: Intelligent Box (IBox) Instructions

Analog Output Module Pointer Setup (ANLGOUT) (IB-461)


1 Analog Output Module Pointer Setup generates the logic to configure the pointer method for
one analog output module on the first PLC scan following a Program to Run transition.
 230
2  240 This IBox determines the data format
and Pointer addresses based on the
 250-1 CPU type, the Base#, and the Slot#.
3  260 The Output Data Address is the
starting location in user V-memory
4 DS5
HPP
Used
N/A
where the analog output data values
will be placed by ladder code or
5 external device, one location for each
output channel enabled.
Since this logic only executes on the
6 first scan, this IBox cannot have any
input logic.
7
ANLGOUT Parameters
8 • Base # (K0-Local): specifies which base the analog module is in
• Slot #: specifies which PLC slot is occupied by the analog module
9 • Number of Output Channels: specifies the number of analog output channels that will be used
• Output Data Format (0-BCD 1-BIN): specifies the format of the analog output data (BCD or
10 Binary)
• Output Data Address: specifies the starting V-memory location that will be used to source the
11 analog output data

12 Parameter DL205 Range


Base # (K0-Local) . . . . . . . . . . . . . . . . . . . . . . . K K0-3
13 Slot # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
Number of Output Channels . . . . . . . . . . . . . . . K
K0-7
K1-8
Output Data Format (0-BCD 1-BIN). . . . . . . . . . K BCD: K0; Binary: K1
14 Output Data Address . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words

A
B
C
D

5–236 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ANLGOUT Example
In the following example, the ANLGOUT instruction is used to set up the pointer method
for an analog output module that is installed in option slot 3. Two output channels are
1
enabled and the analog data will be read from V2100 - V2101 in BCD format.
2
3
4
No permissive contact or input logic is
used with this instruction
5
6
NOTE: An Analog I/O IBox instruction is used without a permissive contact. The top line will be identified in
7
BOLD italics, and the instruction name and ID will be in BOLD characters.
8
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–237


Chapter 5: Intelligent Box (IBox) Instructions

Analog Scale 12-Bit BCD to BCD (ANSCL) (IB-423)


1 Analog Scale 12-Bit BCD to BCD scales a 12-bit BCD analog value (0 to 4095 BCD) into
BCD engineering units. You specify the engineering unit high value (when raw is 4095), and
2  230 the engineering low value (when raw is
 240 0), and the output V-memory address
 250-1 where you want to place the scaled
3  260 engineering unit value. The engineering
units are generated as BCD and can be
the full range of 0 to 9999 (see ANSCLB
4 DS5 Used
- Analog Scale 12-Bit Binary to Binary if
HPP N/A your raw units are in Binary format).
5 Note that this IBox only works with
unipolar unsigned raw values. It does
6 NOT work with bipolar or sign plus
magnitude raw values.
7
ANSCL Parameters
8 • Raw (0 to 4095 BCD): specifies the V-memory location of the unipolar unsigned raw 0 to 4095
unscaled value

9 • High Engineering: specifies the high engineering value when the raw input is 4095
• Low Engineering: specifies the low engineering value when the raw input is 0

10 • Engineering (BCD): specifies the V-memory location where the scaled engineering BCD value will
be placed

11 Parameter DL205 Range


Raw (0-4095 BCD) . . . . . . . . . . . . . . . . . . . . . V,P See DL205 V-memory map - Data Words

12 High Engineering . . . . . . . . . . . . . . . . . . . . . . . . K
Low Engineering . . . . . . . . . . . . . . . . . . . . . . . . K
K0-9999
K0-9999
Engineering (BCD). . . . . . . . . . . . . . . . . . . . . . V,P See DL205 V-memory map - Data Words
13
ANSCL Example
14 In the following example, the ANSCL instruction is used to scale a raw value (0 to 4095
BCD) that is in V2000. The engineering scaling range is set 0 to 100 (low engineering value
- high engineering value). The scaled value will be placed in V2100 in BCD format.
A
SP1
B
C
D

5–238 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

Analog Scale 12-Bit Binary to Binary (ANSCLB) (IB-403)


Analog Scale 12-Bit Binary to Binary scales a 12-bit binary analog value (0 to 4095 decimal)
into binary (decimal) engineering units. You specify the engineering unit high value (when
1
 230 raw is 4095), and the engineering low
 240 value (when raw is 0), and the output V- 2
 250-1 memory address where you want to place
 260 the scaled engineering unit value. The
engineering units are generated as binary
3
and can be the full range of 0 to 65535
DS5 Used
(see ANSCL - Analog Scale 12-Bit BCD 4
HPP N/A to BCD if your raw units are in BCD
format). 5
Note that this IBox only works with
unipolar unsigned raw values. It does
NOT work with bipolar, sign plus
6
magnitude, or signed 2's complement raw values.
7
ANSCLB Parameters
• Raw (12-bit binary): specifies the V-memory location of the unipolar unsigned raw decimal
8
unscaled value (12-bit binary = 0 to 4095 decimal)
• High Engineering: specifies the high engineering value when the raw input is 4095 decimal 9
• Low Engineering: specifies the low engineering value when the raw input is 0 decimal
• Engineering (binary): specifies the V-memory location where the scaled engineering decimal value 10
will be placed

Parameter DL205 Range


11
Raw (12-bit binary) . . . . . . . . . . . . . . . . . . . . V,P
High Engineering . . . . . . . . . . . . . . . . . . . . . . . . K
See DL205 V-memory map - Data Words
K0-65535
12
Low Engineering . . . . . . . . . . . . . . . . . . . . . . . . K K0-65535
Engineering (binary) . . . . . . . . . . . . . . . . . . . . V,P See DL205 V-memory map - Data Words 13
ANSCLB Example 14
In the following example, the ANSCLB instruction is used to scale a raw value (0 to 4095
binary) that is in V2000. The engineering scaling range is set 0 to 1000 (low engineering
value - high engineering value). The scaled value will be placed in V2100 in binary format. A
SP1 B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–239


Chapter 5: Intelligent Box (IBox) Instructions

Filter Over Time - BCD (FILTER) (IB-422)


1 Filter Over Time BCD will perform a first-order filter on the Raw Data on a defined time
interval. The equation is:
 230
2  240
New = Old + [(Raw - Old) / FDC]
where,
 250-1 New: New Filtered Value
3  260 Old: Old Filtered Value
FDC: Filter Divisor Constant
4 DS5
HPP
Used
N/A Raw: Raw Data

5 The Filter Divisor Constant is an integer in


the range K1 to K100, such that if it
equaled K1 then no filtering would be
6 done.
The rate at which the calculation is performed is specified by time in hundredths of a second
7 (0.01 seconds) as the Filter Freq Time parameter. Note that this Timer instruction is
embedded in the IBox and must NOT be used anywhere else in your program. Power flow
controls whether the calculation is enabled. If it is disabled, the Filter Value is not updated.
8 On the first scan from Program to Run mode, the Filter Value is initialized to 0 to give the
calculation a consistent starting point.
9
FILTER Parameters
10 • Filter Frequency Timer: specifies the Timer (T) number which is used by the Filter instruction
• Filter Frequency Time (0.01sec): specifies the rate at which the calculation is performed
11 • Raw Data (BCD): specifies the V-memory location of the raw unfiltered BCD value
• Filter Divisor (1 to 100): this constant is used to control the filtering effect. A larger value will
12 increase the smoothing effect of the filter. A value of 1 results with no filtering.
• Filtered Value (BCD): specifies the V-memory location where the filtered BCD value will be placed
13
Parameter DL205 Range
14 Filter Frequency Timer . . . . . . . . . . . . . . . . . . . T
Filter Frequency Time (0.01 sec) . . . . . . . . . . . K
T0-377
K0-9999
Raw Data (BCD) . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
A Filter Divisor (1-100) . . . . . . . . . . . . . . . . . . . . . K K1-100
Filtered Value (BCD) . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words

B
C
D

5–240 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

FILTER Example
In the following example, the Filter instruction is used to filter a BCD value that is in V2000.
Timer(T0) is set to 0.5 sec, the rate at which the filter calculation will be performed. The
1
filter constant is set to 2. A larger value will increase the smoothing effect of the filter. A value
of 1 results with no filtering. The filtered value will be placed in V2100. 2
3
4
SP1
5
6
7
8
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–241


Chapter 5: Intelligent Box (IBox) Instructions

Filter Over Time - Binary (FILTERB) (IB-402)


1 Filter Over Time in Binary (decimal) will perform a first-order filter on the Raw Data on a
defined time interval. The equation is:
 230
2  240 New = Old + [(Raw - Old) / FDC] where
 250-1 New: New Filtered Value
3  260 Old: Old Filtered Value
FDC: Filter Divisor Constant
4 DS5 Used Raw: Raw Data
HPP N/A The Filter Divisor Constant is an integer in the
5 range K1 to K100, such that if it equaled K1
then no filtering would be done.
6 The rate at which the calculation is performed
is specified by time in hundredths of a second (0.01 seconds) as the Filter Freq Time
7 parameter. Note that this Timer instruction is embedded in the IBox and must NOT be used
anywhere else in your program. Power flow controls whether the calculation is enabled. If it is
disabled, the Filter Value is not updated. On the first scan from Program to Run mode, the
8 Filter Value is initialized to 0 to give the calculation a consistent starting point.

9 FILTERB Parameters
10 • Filter Frequency Timer: specifies the Timer (T) number which is used by the Filter instruction
• Filter Frequency Time (0.01sec): specifies the rate at which the calculation is performed

11 • Raw Data (Binary): specifies the V-memory location of the raw unfiltered binary (decimal) value
• Filter Divisor (1 to 100): this constant is used to control the filtering effect. A larger value will
increase the smoothing effect of the filter. A value of 1 results with no filtering.
12 • Filtered Value (Binary): specifies the V-memory location where the filtered binary (decimal) value
will be placed
13
Parameter DL205 Range
14 Filter Frequency Timer . . . . . . . . . . . . . . . . . . . T
Filter Frequency Time (0.01 sec) . . . . . . . . . . . K
T0-377
K0-9999
Raw Data (Binary) . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
A Filter Divisor (1-100) . . . . . . . . . . . . . . . . . . . . . K K1-100
Filtered Value (Binary) . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
B
C
D

5–242 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

FILTERB Example
In the following example, the FILTERB instruction is used to filter a binary value that is in
V2000. Timer(T1) is set to 0.5 sec, the rate at which the filter calculation will be performed.
1
The filter constant is set to 3. A larger value will increase the smoothing effect of the filter. A
value of 1 results with no filtering. The filtered value will be placed in V2100 2
3
SP1
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–243


Chapter 5: Intelligent Box (IBox) Instructions

Hi/Low Alarm - BCD (HILOAL) (IB-421)


1 Hi/Low Alarm - BCD monitors a BCD value V-memory location and sets four possible alarm
states, High-High, High, Low, and Low-Low whenever the IBox has power flow. You enter
 230
2  240
the alarm thresholds as constant (K) BCD values (K0-K9999) and/or BCD value V-memory
locations.
 250-1
3  260
You must ensure that threshold limits are valid,
that is HH >= H > L >= LL. Note that when
the High-High or Low-Low alarm condition is
4 DS5 Used
true, that the High and Low alarms will also be
HPP N/A
set, respectively. This means you may use the
5 same threshold limit and same alarm bit for the
High-High and the High alarms in case you
6 only need one "High" alarm. Also note that the
boundary conditions are inclusive. That is, if
7 the Low boundary is K50, and the Low-Low
boundary is K10, and if the Monitoring Value equals 10, then the Low Alarm AND the Low-
Low alarm will both be ON. If there is no power flow to the IBox, then all alarm bits will be
8 turned off regardless of the value of the Monitoring Value parameter.

9 HILOAL Parameters
10 • Monitoring Value (BCD): specifies the V-memory location of the BCD value to be monitored
• High-High Limit: V-memory location or constant specifies the high-high alarm limit
11 • High-High Alarm: On when the high-high limit is reached
• High Limit: V-memory location or constant specifies the high alarm limit
12 • High Alarm: On when the high limit is reached
• Low Limit: V-memory location or constant specifies the low alarm limit
13 • Low Alarm: On when the low limit is reached
• Low-Low Limit: V-memory location or constant specifies the low-low alarm limit
14 • Low-Low Alarm: On when the low-low limit is reached

Parameter DL205 Range


A Monitoring Value (BCD) . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
High-High Limit . . . . . . . . . . . . . . . . . . . . . . . V, K K0-9999; or see DL205 V-memory map - Data Words
B High-High Alarm . . . . . . . . . . . X, Y, C, GX,GY, B
High Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . V, K
See DL205 V-memory map
K0-9999; or see DL205 V-memory map - Data Words
High Alarm . . . . . . . . . . . . . . . . X, Y, C, GX,GY, B See DL205 V-memory map
C Low Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . V, K K0-9999; or see DL205 V-memory map - Data Words
Low Alarm . . . . . . . . . . . . . . . . X, Y, C, GX,GY,B See DL205 V-memory map
D Low-Low Limit . . . . . . . . . . . . . . . . . . . . . . . V, K
Low-Low Alarm. . . . . . . . . . . . . X, Y, C, GX,GY, B
K0-9999; or see DL205 V-memory map - Data Words
See DL205 V-memory map

5–244 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

HILOAL Example
In the following example, the HILOAL instruction is used to monitor a BCD value that is in
V2000. If the value in V2000 meets/exceeds the high limit of K900, C101 will turn on. If the
1
value continues to increase to meet/exceed the high-high limit, C100 will turn on. Both bits
would be on in this case. The high and high-high limits and alarms can be set to the same 2
value if one “high” limit or alarm is desired to be used.
If the value in V2000 meets or falls below the low limit of K200, C102 will turn on. If the 3
value continues to decrease to meet or fall below the low-low limit of K100, C103 will turn
on. Both bits would be on in this case. The low and low-low limits and alarms can be set to
the same value if one “low” limit or alarm is desired to be used.
4
5
SP1 6
7
8
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–245


Chapter 5: Intelligent Box (IBox) Instructions

Hi/Low Alarm - Binary (HILOALB) (IB-401)


1 Hi/Low Alarm - Binary monitors a binary (decimal) V-memory location and sets four
possible alarm states, High-High, High, Low, and Low-Low whenever the IBox has power
 230
2  240
flow. You enter the alarm thresholds as constant (K) decimal values (K0-K65535) and/or
binary (decimal) V-memory locations.
 250-1
3  260 You must ensure that threshold limits are valid,
that is HH >= H > L >= LL. Note that when
the High-High or Low-Low alarm condition is
4 DS5 Used
true, that the High and Low alarms will also be
HPP N/A
set, respectively. This means you may use the
5 same threshold limit and same alarm bit for the
High-High and the High alarms in case you
6 only need one "High" alarm. Also note that the
boundary conditions are inclusive. That is, if
7 the Low boundary is K50, and the Low-Low
boundary is K10, and if the Monitoring Value
equals 10, then the Low Alarm AND the Low-Low alarm will both be ON. If there is no
8 power flow to the IBox, then all alarm bits will be turned off regardless of the value of the
Monitoring Value parameter.
9 HILOALB Parameters
• Monitoring Value (Binary): specifies the V-memory location of the Binary value to be monitored
10 • High-High Limit: V-memory location or constant specifies the high-high alarm limit
• High-High Alarm: On when the high-high limit is reached
11 • High Limit: V-memory location or constant specifies the high alarm limit
• High Alarm: On when the high limit is reached
12 • Low Limit: V-memory location or constant specifies the low alarm limit
• Low Alarm: On when the low limit is reached
13 • Low-Low Limit: V-memory location or constant specifies the low-low alarm limit
• Low-Low Alarm: On when the low-low limit is reached
14
Parameter DL205 Range
A Monitoring Value (Binary) . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
High-High Limit . . . . . . . . . . . . . . . . . . . . . . . V, K K0-65535; or see DL205 V-memory map - Data Words

B High-High Alarm . . . . . . . . . . . X, Y, C, GX,GY, B


High Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . V, K
See DL205 V-memory map
K0-65535; or see DL205 V-memory map - Data Words
High Alarm . . . . . . . . . . . . . . . . X, Y, C, GX,GY, B See DL205 V-memory map
C Low Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . V, K K0-65535; or see DL205 V-memory map - Data Words
Low Alarm . . . . . . . . . . . . . . . . X, Y, C, GX,GY,B See DL205 V-memory map

D Low-Low Limit . . . . . . . . . . . . . . . . . . . . . . . V, K
Low-Low Alarm. . . . . . . . . . . . . X, Y, C, GX,GY, B
K0-65535; or see DL205 V-memory map - Data Words
See DL205 V-memory map

5–246 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

HILOALB Example
In the following example, the HILOALB instruction is used to monitor a binary value that is
in V2000. If the value in V2000 meets/exceeds the high limit of the binary value in V2011,
1
C101 will turn on. If the value continues to increase to meet/exceed the high-high limit value
in V2010, C100 will turn on. Both bits would be on in this case. The high and high-high 2
limits and alarms can be set to the same V-memory location/value if one “high” limit or alarm
is desired to be used. 3
If the value in V2000 meets or falls below the low limit of the binary value in V2012, C102
will turn on. If the value continues to decrease to meet or fall below the low-low limit in
V2013, C103 will turn on. Both bits would be on in this case. The low and low-low limits
4
and alarms can be set to the same V-memory location/value if one “low” limit or alarm is
desired to be used. 5
SP1
6
7
8
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–247


Chapter 5: Intelligent Box (IBox) Instructions

Off Delay Timer (OFFDTMR) (IB-302)


1 Off Delay Timer will delay the "turning off" of the Output parameter by the specified Off
Delay Time (up to 99.99 seconds) based on the power flow into the IBox. Once the IBox
 230 receives power, the Output bit will turn on
2  240 immediately. When the power flow to the
 250-1 IBox turns off, the Output bit WILL
3  260 REMAIN ON for the specified amount of
time (in hundredths of a second). Once the
Off Delay Time has expired, the output will
4 DS5 Used
turn Off. If the power flow to the IBox comes
HPP N/A
back on BEFORE the Off Delay Time, then
5 the timer is RESET and the Output will
remain On - so you must continuously have
NO power flow to the IBox for AT LEAST
6 the specified Off Delay Time before the Output will turn Off.
This IBox utilizes a Timer resource (TMRF), which cannot be used anywhere else in your
7 program.

8 OFFDTMR Parameters
• Timer Number: specifies the Timer(TMRF) number which is used by the OFFDTMR instruction
9 • Off Delay Time (0.01sec): specifies how long the Output will remain on once power flow to the
Ibox is removed (up to 99.99 seconds).
10 • Output: specifies the output that will be delayed “turning off ” by the Off Delay Time.

11 Parameter
Timer Number . . . . . . . . . . . . . . . . . . . . . . . . . T
DL205 Range
T0-377

12 Off Delay Time . . . . . . . . . . . . . . . . . . . . . . . . K,V


Output . . . . . . . . . . . . . . . . . . . . X, Y, C, GX,GY, B
K0-9999; See DL205 V-memory map - Data Words
See DL205 V-memory map

13
14
A
B
C
D

5–248 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

OFFDTMR Example
In the following example, the OFFDTMR instruction is used to delay the “turning off ”of
output C20. Timer 2 (T2) is set to 5 seconds, the “off-delay” period.
1
When C100 turns on, C20 turns on and will remain on while C100 is on. When C100 turns
off, C20 will remain on for the specified Off Delay Time (5 secs), and then turn off.
2
3
4
5
6
7
8
9
Example timing diagram 10
11
C100
5 sec 5 sec
12
C20 13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–249


Chapter 5: Intelligent Box (IBox) Instructions

On Delay Timer (ONDTMR) (IB-301)


1 On Delay Timer will delay the "turning on" of the Output parameter by the specified
amount of time (up to 99.99 seconds) based on the power flow into the IBox. Once the IBox
 230 loses power, the Output is turned off
2  240 immediately. If the power flow turns off
 250-1 BEFORE the On Delay Time, then the
3  260 timer is RESET and the Output is never
turned on, so you must have continuous
power flow to the IBox for at least the
4 DS5 Used
specified On Delay Time before the
HPP N/A Output turns On.
5 This IBox utilizes a Timer resource
(TMRF), which cannot be used anywhere
6 else in your program.

7 ONDTMR Parameters
• Timer Number: specifies the Timer (TMRF) number which is used by the ONDTMR instruction
8 • On Delay Time (0.01sec): specifies how long the Output will remain on once power flow to the
Ibox is removed (up to 99.99 seconds).
9 • Output: specifies the output that will be delayed “turning on” by the On Delay Time.

10 Parameter
Timer Number . . . . . . . . . . . . . . . . . . . . . . . . . T
DL205 Range
T0-377
On Delay Time . . . . . . . . . . . . . . . . . . . . . . . . K,V K0-9999; See DL205 V-memory map - Data Words
11 Output . . . . . . . . . . . . . . . . . . . . X, Y, C, GX,GY, B See DL205 V-memory map

12
13
14
A
B
C
D

5–250 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ONDTMR Example
In the following example, the ONDTMR instruction is used to delay the “turning on” of
output C21. Timer 1 (T1) is set to 2 seconds, the “on-delay” period.
1
When C101 turns on, C21 is delayed turning on by 2 seconds. When C101 turns off, C21
turns off imediately.
2
3
4
5
6
7
8
9
Example timing diagram
10
11
C101 12
2 sec 2 sec

C21
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–251


Chapter 5: Intelligent Box (IBox) Instructions

One Shot (ONESHOT) (IB-303)


1 One Shot will turn on the given bit output parameter for one scan on an OFF to ON
transition of the power flow into the IBox. This IBox is simply a different name for the PD
 230 Coil (Positive Differential).
2  240
 250-1 ONESHOT Parameters
3  260 • Discrete Output: specifies the output that
will be on for one scan
4 DS5 Used
HPP N/A

5
6 Parameter DL205 Range
Discrete Output . . . . . . . . . . . . . . . . . . . . . X, Y, C See DL205 V-memory map
7 ONESHOT Example
In the following example, the ONESHOT instruction is used to turn C100 on for one PLC
8 scan after C0 goes from an off to on transition. The input logic must produce an off to on
transition to execute the One Shot instruction.
9
10
11
12
Example timing diagram

13
C0
14 Scan time

A C100

B
C
D

5–252 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

Push On/Push Off Circuit (PONOFF) (IB-300)


Push On/Push Off Circuit toggles an output state whenever its input power flow transitions
from off to on. Requires an extra bit parameter for scan-to-scan state information. This extra
1
 230 bit must NOT be used anywhere else in the program. This is also known as a “flip-flop
 240 circuit”. 2
 250-1
 260 PONOFF Parameters 3
• Discrete Input: specifies the input that will
DS5 Used
HPP N/A
toggle the specified output 4
• Discrete Output: specifies the output that
will be “turned on/off ” or toggled 5
• Internal State: specifies a work bit that is
used by the instruction
6
Parameter
Discrete Input . . . . X,Y,C,S,T,CT,GX,GY,SP,B,PB
DL205 Range
See DL205 V-memory map
7
Discrete Output . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
Internal State . . . . . . . . . . . . . . . . . . . . . . . X, Y, C See DL205 V-memory map 8
PONOFF Example 9
In the following example, the PONOFF instruction is used to control the on and off states of
the output C20 with a single input C10. When C10 is pressed once, C20 turns on. When
C10 is pressed again, C20 turns off. C100 is an internal bit used by the instruction.
10
11
12
No permissive contact or input logic is
used with this instruction 13
NOTE: Neither a permissive nor input logic is used with this instruction. 14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–253


Chapter 5: Intelligent Box (IBox) Instructions

Move Single Word (MOVEW) (IB-200)


1 Move Single Word moves (copies) a word to a memory location directly or indirectly via a
pointer, either as a HEX constant, from a memory location, or indirectly through a pointer.
 230
2  240 MOVEW Parameters
 250-1
3  260
• From WORD: specifies the word that will be
moved to another location
• To WORD: specifies the location where the
4 DS5 Used “From WORD” will be moved to
HPP N/A

5
6
Parameter DL205 Range
7 From WORD . . . . . . . . . . . . . . . . . . . . . . . . V,P,K
To WORD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . V,P
K0-FFFF; See DL205 V-memory map - Data Words
See DL205 V-memory map - Data Words

8
9 MOVEW Example
In the following example, the MOVEW instruction is used to move 16 bits of data from
10 V2000 to V3000 when C100 turns on.

11
12
13
14
A
B
C
D

5–254 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

Move Double Word (MOVED) (IB-201)


Move Double Word moves (copies) a double word to two consecutive memory locations
directly or indirectly via a pointer, either as a double HEX constant, from a double memory
1
 230 location, or indirectly through a pointer to a
 240 double memory location. 2
 250-1
 260 MOVED Parameters 3
• From DWORD: specifies the double word
DS5 Used that will be moved to another location 4
HPP N/A • To DWORD: specifies the location where the
“From DWORD” will be moved to 5
6
Parameter DL205 Range
From DWORD . . . . . . . . . . . . . . . . . . . . . . V,P,K K0-FFFFFFFF; See DL205 V-memory map - Data Words
7
To DWORD . . . . . . . . . . . . . . . . . . . . . . . . . . . V,P See DL205 V-memory map - Data Words
8
MOVED Example
9
In the following example, the MOVED instruction is used to move 32 bits of data from
V2000 and V2001 to V3000 and V3001 when C100 turns on.
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–255


Chapter 5: Intelligent Box (IBox) Instructions

BCD to Real with Implied Decimal Point (BCDTOR) (IB-560)


1 BCD to Real with Implied Decimal Point converts the given 4-digit WORD BCD value to a
Real number, with the implied number of decimal points (K0-K4).
 230
2  240
For example, BCDTOR K1234 with an
implied number of decimal points equal to
 250-1 K1, would yield R123.4
3  260
BCDTOR Parameters
4 DS5 Used
• Value (WORD BCD): specifies the word or
HPP N/A constant that will be converted to a Real
5 number
• Number of Decimal Points: specifies the
6 number of implied decimal points in the Result DWORD
• Result (DWORD REAL): specifies the location where the Real number will be placed

7 Parameter DL205 Range


Value (WORD BCD) . . . . . . . . . . . . . . . . . . V,P,K K0-9999; See DL205 V-memory map - Data Words
8 Number of Decimal Points . . . . . . . . . . . . . . . K
Result (DWORD REAL) . . . . . . . . . . . . . . . . . . . V
K0-4
See DL205 V-memory map - Data Words

9 BCDTOR Example
In the following example, the BCDTOR instruction is used to convert the 16-bit data in
10 V2000 from a 4-digit BCD data format to a 32-bit REAL (floating point) data format and
store into V3000 and V3001 when C100 turns on.
11 K2 in the Number of Decimal Points implies the data will have two digits to the right of the
decimal point.
12
13
14
A
B
C
D

5–256 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

Double BCD to Real with Implied Decimal Point (BCDTORD) (IB-562)


Double BCD to Real with Implied Decimal Point converts the given 8-digit DWORD BCD 1
value to a Real number, given an implied
 230 number of decimal points (K0-K8).
2
 240 For example, BCDTORD K12345678 with
 250-1 an implied number of decimal points equal to
 260 K5, would yield R123.45678 3
DS5 Used BCDTORD Parameters
4
HPP N/A • Value (DWORD BCD): specifies the Dword
or constant that will be converted to a Real 5
number
• Number of Decimal Points: specifies the number of implied decimal points in the Result DWORD 6
• Result (DWORD REAL): specifies the location where the Real number will be placed
BCDTORD Example 7
Parameter DL205 Range
Value (DWORD BCD) . . . . . . . . . . . . . . . . . V,P,K K0-99999999; See DL205 V-memory map - Data Words 8
Number of Decimal Points . . . . . . . . . . . . . . . K K0-8
Result (DWORD REAL) . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
9
In the following example, the BCDTORD instruction is used to convert the 32-bit data in
V2000 from an 8-digit BCD data format to a 32-bit REAL (floating point) data format and
store into V3000 and V3001 when C100 turns on.
10
K2 in the Number of Decimal Points implies the data will have two digits to the right of the
decimal point.
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A


5–257
Chapter 5: Intelligent Box (IBox) Instructions

Math - BCD (MATHBCD) (IB-521)


1 Math - BCD Format lets you enter complex
mathematical expressions like you would in
 230 Visual Basic, Excel, or C++ to do complex
2  240 calculations, nesting parentheses up to 4 levels
 250-1 deep. In addition to + - * /, you can do Modulo
3  260 (% aka Remainder), Bit-wise And (&) Or (|)
Xor (^), and some BCD functions - Convert to
BCD (BCD), Convert to Binary (BIN), BCD
4 DS5 Used Complement (BCDCPL), Convert from Gray
HPP N/A Code (GRAY), Invert Bits (INV), and
5 BCD/HEX to Seven Segment Display (SEG).
Example: ((V2000 + V2001) / (V2003 - K100)) * GRAY(V3000 & K001F)
6 Every V-memory reference MUST be to a single-word BCD formatted value. Intermediate
results can go up to 32-bit values, but as long as the final result fits in a 16-bit BCD word, the
7 calculation is valid. Typical example of this is scaling using multiply then divide, (V2000 *
K1000) / K4095. The multiply term most likely will exceed 9999 but fits within 32 bits. The
divide operation will divide 4095 into the 32-bit accumulator, yielding a result that will
8 always fit in 16 bits.
You can reference binary V-memory values by using the BCD conversion function on a V-
9 memory location but NOT an expression. That is BCD(V2000) is okay and will convert
V2000 from Binary to BCD, but BCD(V2000 + V3000) will add V2000 as BCD, to V3000
10 as BCD, then interpret the result as Binary and convert it to BCD - NOT GOOD.
Also, the final result is a 16-bit BCD number and so you could do BIN around the entire
operation to store the result as Binary.
11
12 MATHBCD Parameters
• Result (WORD): specifies the location where the BCD result of the mathematical expression will be
placed (result must fit into 16-bit single V-memory location)
13 • Expression: specifies the mathematical expression to be executed and the result is stored in specified
Result (WORD). Each V-memory location used in the expression must be in BCD format.
14
Parameter DL205 Range
A WORD Result . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Text

B
C
D

5–258 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

MATHBCD Example
In the following example, the MATHBCD instruction is used to calculate the math
expression which multiplies the BCD value in V1200 by 1000 then divides by 4095 and
1
loads the resulting value in V2000 when C100 turns on.
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–259


Chapter 5: Intelligent Box (IBox) Instructions

Math - Binary (MATHBIN) (IB-501)


1 Math - Binary Format lets you enter
complex mathematical expressions like you
 230 would in Visual Basic, Excel, or C++ to do
2  240 complex calculations, nesting parentheses up
 250-1 to 4 levels deep. In addition to + - * /, you
3  260 can do Modulo (% aka Remainder), Shift
Right (>>) and Shift Left (<<), Bit-wise And
(&) Or (|) Xor (^), and some binary
4 DS5 Used functions - Convert to BCD (BCD),
HPP N/A Convert to Binary (BIN), Decode Bits
5 (DECO), Encode Bits (ENCO), Invert Bits
(INV), HEX to Seven Segment Display
(SEG), and Sum Bits (SUM).
6 Example: ((V2000 + V2001) / (V2003 - K10)) * SUM(V3000 & K001F)
7 Every V-memory reference MUST be to a single-word binary formatted value. Intermediate
results can go up to 32-bit values, but as long as the final result fits in a 16-bit binary word,
the calculation is valid. Typical example of this is scaling using multiply then divide, (V2000 *
8 K1000) / K4095. The multiply term most likely will exceed 65535 but fits within 32 bits.
The divide operation will divide 4095 into the 32-bit accumulator, yielding a result that will
9 always fit in 16 bits.
You can reference BCD V-memory values by using the BIN conversion function on a V-
10 memory location but NOT an expression. That is, BIN(V2000) is okay and will convert
V2000 from BCD to Binary, but BIN(V2000 + V3000) will add V2000 as Binary, to V3000
as Binary, then interpret the result as BCD and convert it to Binary - NOT GOOD.
11 Also, the final result is a 16-bit binary number and so you could do BCD around the entire
operation to store the result as BCD.
12
MATHBIN Parameters
13 • Result (WORD): specifies the location where the binary result of the mathematical expression will
be placed (result must fit into 16-bit single V-memory location)
14 • Expression: specifies the mathematical expression to be executed and the result is stored in specified
Result (WORD). Each V-memory location used in the expression must be in binary format.
A Parameter DL205 Range
B WORD Result . . . . . . . . . . . . . . . . . . . . . . . . . . V
Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
See DL205 V-memory map - Data Words
Text

C
D

5–260 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

MATHBIN Example
In the following example, the MATHBIN instruction is used to calculate the math expression
which multiplies the Binary value in V1200 by 1000 then divides by 4095 and loads the
1
resulting value in V2000 when C100 turns on.
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–261


Chapter 5: Intelligent Box (IBox) Instructions

Math - Real (MATHR) (IB-541)


1 Math - Real Format lets you enter complex
mathematical expressions like you would in
2  230 Visual Basic, Excel, or C++ to do complex
 240 calculations, nesting parentheses up to 4
levels deep. In addition to + - * /, you can do
 250-1
3  260
Bit-wise And (&) Or (|) and Xor (^). The
DL260 also supports several Real functions -
Arc Cosine (ACOSR), Arc Sine (ASINR),
4 DS5 Used Arc Tangent (ATANR), Cosine (COSR),
HPP N/A Convert Radians to Degrees (DEGR), Invert
5 Bits (INV), Convert Degrees to Radians
(RADR), HEX to Seven Segment Display
(SEG), Sine (SINR), Square Root (SQRTR),
6 and Tangent (TANR).
Example: ((V2000 + V2002) / (V2004 - R2.5)) * SINR(RADR(V3000 / R10.0))
7 Every V-memory reference MUST be able to fit into a double-word Real formatted value.

8 MATHR Parameters
9 • Result (DWORD): specifies the location where the Real result of the mathematical expression will
be placed (result must fit into a double-word Real formatted location)
• Expression: specifies the mathematical expression to be executed and the result is stored in specified
10 Result (DWORD) location. Each V-memory location used in the expression must be in Real
format.
11
Parameter DL205 Range
12 DWORD Result . . . . . . . . . . . . . . . . . . . . . . . . V
Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
See DL205 V-memory map - Data Words
Text

13 MATHR Example
In the following example, the MATHR instruction is used to calculate the math expression
14 which multiplies the REAL (floating point) value in V1200 by 10.5 then divides by 2.7 and
loads the resulting 32-bit value in V2000 and V2001 when C100 turns on.
A
B
C
D

5–262 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

Real to BCD with Implied Decimal Point and Rounding (RTOBCD) (IB-561)
Real to BCD with Implied Decimal Point and Rounding converts the absolute value of the
given Real number to a 4-digit BCD number, compensating for an implied number of
1
 230 decimal points (K0-K4) and performs
2
 240 rounding.
 250-1 For example, RTOBCD R56.74 with an
 260 implied number of decimal points equal to 3
K1, would yield 567 BCD. If the implied
DS5 Used
number of decimal points was 0, then the
function would yield 57 BCD (note that it
4
HPP N/A rounded up).
If the Real number is negative, the Result will
5
equal its positive, absolute value.
6
RTOBCD Parameters
• Value (DWORD Real): specifies the Real Dword location or number that will be converted and 7
rounded to a BCD number with decimal points
• Number of Decimal Points: specifies the number of implied decimal points in the Result WORD 8
• Result (WORD BCD): specifies the location where the rounded/implied decimal points BCD value
will be placed 9
Parameter DL205 Range 10
Value (DWORD Real) . . . . . . . . . . . . . . . . . V,P,R R ; See DL205 V-memory map - Data Words
Number of Decimal Points . . . . . . . . . . . . . . . K
Result (WORD BCD) . . . . . . . . . . . . . . . . . . . . . V
K0-4
See DL205 V-memory map - Data Words
11
RTOBCD Example 12
In the following example, the RTOBCD instruction is used to convert the 32-bit REAL
(floating point) data format in V3000 and V3001 to the 4-digit BCD data format and store 13
in V2000 when C100 turns on.
K2 in the Number of Decimal Points implies the data will have two implied decimal points. 14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–263


Chapter 5: Intelligent Box (IBox) Instructions

Real to Double BCD with Implied Decimal Point and Rounding (RTOBCDD)
1 (IB-563)
Real to Double BCD with Implied Decimal
2  230
Point and Rounding converts the absolute
value of the given Real number to an 8-digit
 240 DWORD BCD number, compensating for
3  250-1 an implied number of decimal points (K0-
 260 K8) and performs rounding.
4 For example, RTOBCDD R38156.74 with
DS5 Used
an implied number of decimal points equal
5 HPP N/A
to K1, would yield 381567 BCD. If the
implied number of decimal points was 0,
then the function would yield 38157 BCD
6 (note that it rounded up).
If the Real number is negative, the Result will equal its positive, absolute value.
7
RTOBCDD Parameters
8 • Value (DWORD Real): specifies the Dword Real number that will be converted and rounded to a
BCD number with decimal points
9 • Number of Decimal Points: specifies the number of implied decimal points in the Result DWORD
• Result (DWORD BCD): specifies the location where the rounded/implied decimal points
10 DWORD BCD value will be placed

Parameter DL205 Range


11 Value (DWORD Real) . . . . . . . . . . . . . . . . . V,P,R R ; See DL205 V-memory map - Data Words
Number of Decimal Points . . . . . . . . . . . . . . . K K0-8

12 Result (DWORD BCD) . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words

RTOBCDD Example
13 In the following example, the RTOBCDD instruction is used to convert the 32-bit REAL
(floating point) data format in V3000 and V3001 to the 8-digit BCD data format and store
14 in V2000 and V2001 when C100 turns on.
K2 in the Number of Decimal Points implies the data will have two implied decimal points.
A
B
C
D

5–264 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

Square BCD (SQUARE) (IB-523)


Square BCD squares the given 4-digit WORD BCD number and writes it as an 8-digit
DWORD BCD result.
1
 230
 240 SQUARE Parameters
2
 250-1
 260 • Value (WORD BCD): specifies the BCD
Word or constant that will be squared
3
• Result (DWORD BCD): specifies the location
DS5
HPP
Used
N/A
where the squared DWORD BCD value will 4
be placed
5
6
Parameter DL205 Range
Value (WORD BCD) . . . . . . . . . . . . . . . . . . V,P,K K0-9999 ; See DL205 V-memory map - Data Words 7
Result (DWORD BCD) . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words

8
SQUARE Example 9
In the following example, the SQUARE instruction is used to square the 4-digit BCD value
in V2000 and store the 8-digit double word BCD result in V3000 and V3001 when C100
turns on. 10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–265


Chapter 5: Intelligent Box (IBox) Instructions

Square Binary (SQUAREB) (IB-503)


1 Square Binary squares the given 16-bit WORD Binary number and writes it as a 32-bit
DWORD Binary result.
 230
2  240 SQUAREB Parameters
 250-1
3  260 • Value (WORD Binary): specifies the binary
Word or constant that will be squared
• Result (DWORD Binary): specifies the
4 DS5 Used location where the squared DWORD binary
HPP N/A value will be placed
5
6
Parameter DL205 Range
7 Value (WORD Binary) . . . . . . . . . . . . . . . . V,P,K
Result (DWORD Binary) . . . . . . . . . . . . . . . . . . V
K0-65535; See DL205 V-memory map - Data Words
See DL205 V-memory map - Data Words

8
9 SQUAREB Example
In the following example, the SQUAREB instruction is used to square the single-word Binary
value in V2000 and store the 8-digit double-word Binary result in V3000 and V3001 when
10 C100 turns on.

11
12
13
14
A
B
C
D

5–266 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

Square Real (SQUARER) (IB-543)


Square Real squares the given REAL DWORD number and writes it to a REAL DWORD
result.
1
 230
 240 SQUARER Parameters
2
 250-1
 260
• Value (REAL DWORD): specifies the Real
DWORD location or number that will be
3
squared
DS5 Used • Result (REAL DWORD): specifies the 4
HPP N/A location where the squared Real DWORD
value will be placed
5
6
Parameter DL205 Range
Value (REAL DWORD) . . . . . . . . . . . . . . . . V,P,R R ; See DL205 V-memory map - Data Words 7
Result (REAL DWORD) . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
8
SQUARER Example
In the following example, the SQUARER instruction is used to square the 32-bit floating 9
point REAL value in V2000 and V2001 and store the REAL value result in V3000 and
V3001 when C100 turns on. 10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–267


Chapter 5: Intelligent Box (IBox) Instructions

Sum BCD Numbers (SUMBCD) (IB-522)


1 Sum BCD Numbers sums up a list of consecutive 4-digit WORD BCD numbers into an 8-
digit DWORD BCD result.
 230
2  240
You specify the group's starting and ending
V-memory addresses (inclusive). When
 250-1 enabled, this instruction will add up all the
3  260 numbers in the group (so you may want to
place a differential contact driving the
4 DS5 Used
enable).
HPP N/A SUMBCD could be used as the first part of
5 calculating an average.

6 SUMBCD Parameters
• Start Address: specifies the starting address of a block of V-memory location values to be added
together (BCD)
7 • End Addr (inclusive): specifies the ending address of a block of V-memory location values to be
added together (BCD)
8 • Result (DWORD BCD): specifies the location where the sum of the block of V-memory BCD
values will be placed
9
Parameter DL205 Range
10 Start Address . . . . . . . . . . . . . . . . . . . . . . . . . . V
End Address (inclusive) . . . . . . . . . . . . . . . . . . V
See DL205 V-memory map - Data Words
See DL205 V-memory map - Data Words
Result (DWORD BCD) . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
11
SUMBCD Example
12 In the following example, the SUMBCD instruction is used to total the sum of all BCD
values in words V2000 thru V2007 and store the resulting 8-digit double word BCD value in
13 V3000 and V3001 when C100 turns on.

14
A
B
C
D

5–268 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

Sum Binary Numbers (SUMBIN) (IB-502)


Sum Binary Numbers sums up a list of consecutive 16-bit WORD Binary numbers into a 32-
bit DWORD binary result.
1
 230
 240
You specify the group's starting and ending
V-memory addresses (inclusive). When
2
 250-1 enabled, this instruction will add up all the
 260 numbers in the group (so you may want to 3
place a differential contact driving the
DS5 Used
enable). 4
HPP N/A SUMBIN could be used as the first part of
calculating an average.
5
SUMBIN Parameters
• Start Address: specifies the starting address of a block of V-memory location values to be added
6
together (Binary)
• End Addr (inclusive): specifies the ending address of a block of V-memory location values to be
7
added together (Binary)
• Result (DWORD Binary): specifies the location where the sum of the block of V-memory binary 8
values will be placed
9
Parameter DL205 Range
Start Address . . . . . . . . . . . . . . . . . . . . . . . . . . V
End Address (inclusive) . . . . . . . . . . . . . . . . . . V
See DL205 V-memory map - Data Words
See DL205 V-memory map - Data Words
10
Result (DWORD Binary) . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
11
SUMBIN Example
In the following example, the SUMBIN instruction is used to total the sum of all Binary
12
values in words V2000 thru V2007 and store the resulting 8-digit double word Binary value
in V3000 and V3001 when C100 turns on. 13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–269


Chapter 5: Intelligent Box (IBox) Instructions

Sum Real Numbers (SUMR) (IB-542)


1 Sum Real Numbers sums up a list of consecutive REAL DWORD numbers into a REAL
DWORD result.
 230
2  240
You specify the group's starting and ending
V-memory addresses (inclusive).
 250-1 Remember that Real numbers are DWORDs
3  260 and occupy 2 words of V-memory each, so
the number of Real values summed up is
4 DS5 Used equal to half the number of memory
HPP N/A locations. Note that the End Address can be
5 EITHER word of the 2 word ending address,
for example, if you wanted to add the 4 Real
numbers stored in V2000 thru V2007
6 (V2000, V2002, V2004, and V2006), you can specify V2006 OR V2007 for the ending
address and you will get the same result.
7 When enabled, this instruction will add up all the numbers in the group (so you may want to
place a differential contact driving the enable).
8 SUMR could be used as the first part of calculating an average.

9 SUMR Parameters
• Start Address (DWORD): specifies the starting address of a block of V-memory location values to
10 be added together (Real)
• End Addr (inclusive) (DWORD): specifies the ending address of a block of V-memory location
values to be added together (Real)
11 • Result (DWORD): specifies the location where the sum of the block of V-memory Real values will
be placed
12
Parameter DL205 Range
13 Start Address (DWORD) . . . . . . . . . . . . . . . . . V
End Address (inclusive DWORD) . . . . . . . . . . V
See DL205 V-memory map - Data Words
See DL205 V-memory map - Data Words
Result (DWORD) . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
14
A
B
C
D

5–270 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

SUMR Example
In the following example, the SUMR instruction is used to total the sum of all floating point
REAL number values in words V2000 thru V2007 and store the resulting 32-bit floating
1
point REAL number value in V3000 and V3001 when C100 turns on.
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–271


Chapter 5: Intelligent Box (IBox) Instructions

ECOM100 Configuration (ECOM100) (IB-710)


1 ECOM100 Configuration defines all the common information for one specific ECOM100
module which is used by the other ECOM100 IBoxes; for example, ECRX - ECOM100
 230 Network Read , ECEMAIL - ECOM100
2  240 Send EMail, ECIPSUP - ECOM100 IP
 250-1 Setup, etc.
3  260 You MUST have the ECOM100
Configuration IBox at the top of your
4 DS5
HPP
Used
N/A
ladder/stage program with any other
configuration IBoxes. The Message Buffer
parameter specifies the starting address of a
5 65 WORD buffer. This is 101 Octal
addresses (e.g. V1400 thru V1500).
6 If you have more than one ECOM100 in
your PLC, you must have a different ECOM100 Configuration IBox for EACH ECOM100
7 module in your system that utilizes any ECOM IBox instructions.
The Workspace and Status parameters and the entire Message Buffer are internal, private
8 registers used by the ECOM100 Configuration IBox and MUST BE UNIQUE in this one
instruction and MUST NOT be used anywhere else in your program.
In order for MOST ECOM100 IBoxes to function, you must turn ON dip switch 7 on the
9 ECOM100 circuit board. You can keep dip switch 7 off if you are ONLY using ECOM100
Network Read and Write IBoxes (ECRX, ECWX).
10
ECOM100 Parameters
11 • ECOM100#: this is a logical number associated with this specific ECOM100 module in the
specified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module must
12 reference this logical number
• Slot: specifies which PLC slot is occupied by the ECOM100 module
13 • Status: specifies a V-memory location that will be used by the instruction
• Workspace: specifies a V-memory location that will be used by the instruction
14 • Msg Buffer: specifies the starting address of a 65 word buffer that will be used by the module for
configuration

A Parameter DL205 Range


ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
B Slot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-7
Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words

C Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Msg Buffer (65 words used) . . . . . . . . . . . . . . . V
See DL205 V-memory map - Data Words
See DL205 V-memory map - Data Words

5–272 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ECOM100 Example
The ECOM100 Config IBox coordinates all of the interaction with other ECOM100 based
IBoxes (ECxxxx). You must have an ECOM100 Config IBox for each ECOM100 module in
1
your system. Configuration IBoxes must be at the top of your program and must execute
every scan. 2
This IBox defines ECOM100# K0 to be in slot 3. Any ECOM100 IBoxes that need to
reference this specific module (such as ECEMAIL, ECRX, ...) would enter K0 for their 3
ECOM100# parameter.
The Status register is for reporting any completion or error information to other ECOM100 4
IBoxes. This V-memory register must not be used anywhere else in the entire program.
The Workspace register is used to maintain state information about the ECOM100, along
with proper sharing and interlocking with the other ECOM100 IBoxes in the program. This
5
V-memory register must not be used anywhere else in the entire program.
The Message Buffer of 65 words (130 bytes) is a common pool of memory that is used by
6
other ECOM100 IBoxes (such as ECEMAIL). This way, you can have a bunch of
ECEMAIL IBoxes, but only need 1 common buffer for generating and sending each EMail. 7
These V-memory registers must not be used anywhere else in your entire program.
8
9
No permissive contact or input logic is
used with this instruction
10
11
NOTE: An ECOM100 IBox instruction is used without a permissive contact. The top line will be identified in
12
BOLD italics, and the instruction name and ID will be in BOLD characters.
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–273


Chapter 5: Intelligent Box (IBox) Instructions

ECOM100 Disable DHCP (ECDHCPD) (IB-736)


1 ECOM100 Disable DHCP will set up the ECOM100 to use its internal TCP/IP settings on
a leading edge transition to the IBox. To configure the ECOM100's TCP/IP settings
2  230 manually, use the NetEdit3 utility, or you can
 240 do it programmatically from your PLC
program using the ECOM100 IP Setup
 250-1
3  260
(ECIPSUP), or the individual ECOM100
IBoxes: ECOM Write IP Address (ECWRIP),
ECOM Write Gateway Address
4 DS5 Used (ECWRGWA), and ECOM100 Write Subnet
HPP N/A Mask (ECWRSNM).
5 The Workspace parameter is an internal,
private register used by this IBox and MUST
6 BE UNIQUE in this one instruction and
MUST NOT be used anywhere else in your program.
7 Either the Success or Error bit parameter will turn on once the command is complete. If there
is an error, the Error Code parameter will report an ECOM100 error code (less than 100), or
a PLC logic error (greater than 1000).
8 The "Disable DHCP" setting is stored in Flash-ROM in the ECOM100 and the execution of
this IBox will disable the ECOM100 module for at least a half second until it writes the
9 Flash-ROM. Therefore, it is HIGHLY RECOMMENDED that you only execute this IBox
ONCE, on the second scan. Since it requires a LEADING edge to execute, use a
10 NORMALLY CLOSED SP0 (STR NOT First Scan) to drive the power flow to the IBox.
In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on the
ECOM100 circuit board.
11
12 ECDHCPD Parameters
• ECOM100#: this is a logical number associated with this specific ECOM100 module in the
specified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module must
13 reference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
14 • Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
A • Error Code: specifies the location where the Error Code will be written

B Parameter DL205 Range


C ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
K0-255
See DL205 V-memory map - Data Words
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
D Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
Error Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
See DL205 V-memory map
See DL205 V-memory map - Data Words

5–274 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ECDHCPD Example
Rung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of all
ECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 as
1
ECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to move
the module in the base to a different slot, then you only need to change this one IBox. V400 2
is used as a global result status register for the other ECxxxx IBoxes using this specific
ECOM100 module. V401 is used to coordinate/interlock the logic in all of the other ECxxxx
IBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte buffer
3
available for use by the other ECxxxx IBoxes using this specific ECOM100 module.
4
ECOM100 Config
5
1 ECOM100 IB-710
ECOM100#
Slot
K0
K1
6
Status V400
Workspace
Msg Buffer (65 WORDs)
V401
V402-502 7
8
NOTE: An ECOM100 IBox instruction is used without a permissive contact. The top line will be identified in
BOLD italics, and the instruction name and ID will be in BOLD characters. 9
Rung 2: On the 2nd scan, disable DHCP in the ECOM100. DHCP is the same protocol
used by PCs for using a DHCP Server to automatically assign the ECOM100's IP Address, 10
Gateway Address, and Subnet Mask. Typically disabling DHCP is done by assigning a hard-
coded IP Address either in NetEdit or using one of the ECOM100 IP Setup IBoxes, but this
IBox allows you to disable DHCP in the ECOM100 using your ladder program. The
11
ECDHCPD is leading edge triggered, not power-flow driven (similar to a counter input leg).
The command to disable DHCP will be sent to the ECOM100 whenever the power flow 12
into the IBox goes from OFF to ON. If successful, turn on C100. If there is a failure, turn on
C101. If it fails, you can look at V2000 for the specific error code. 13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–275


Chapter 5: Intelligent Box (IBox) Instructions

ECOM100 Enable DHCP (ECDHCPE) (IB-735)


1 ECOM100 Enable DHCP will tell the ECOM100 to obtain its TCP/IP setup from a DHCP
Server on a leading edge transition to the IBox.
 230
2  240
The IBox will be successful once the ECOM100
has received its TCP/IP settings from the DHCP
 250-1 server. Since it is possible for the DHCP server
3  260 to be unavailable, a Timeout parameter is
provided so that the IBox can complete, but
4 DS5 Used with an Error (Error Code = 1004 decimal).
HPP N/A See also the ECOM100 IP Setup (ECIPSUP)
5 IBox 717 to directly set up ALL of the TCP/IP
parameters in a single instruction - IP Address,
Subnet Mask, and Gateway Address.
6 The Workspace parameter is an internal, private register used by this IBox and MUST BE
UNIQUE in this one instruction and MUST NOT be used anywhere else in your program.
7 Either the Success or Error bit parameter will turn on once the command is complete. If there
is an error, the Error Code parameter will report an ECOM100 error code (less than 100), or
8 a PLC logic error (greater than 1000).
The "Enable DHCP" setting is stored in Flash-ROM in the ECOM100 and the execution of
9 this IBox will disable the ECOM100 module for at least a half second until it writes the
Flash-ROM. Therefore, it is HIGHLY RECOMMENDED that you only execute this IBox
ONCE, on the second scan. Since it requires a LEADING edge to execute, use a
10 NORMALLY CLOSED SP0 (STR NOT First Scan) to drive the power flow to the IBox.
In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on the
11 ECOM100 circuit board.
ECDHCPE Parameters
12 • ECOM100#: this is a logical number associated with this specific ECOM100 module in the
specified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module must
13 reference this logical number
• Timeout(sec): specifies a timeout period so that the instruction may have time to complete

14 • Workspace: specifies a V-memory location that will be used by the instruction


• Success: specifies a bit that will turn on once the request is completed successfully

A • Error: specifies a bit that will turn on if the instruction is not successfully completed
• Error Code: specifies the location where the Error Code will be written

B Parameter DL205 Range


ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
C Timeout (sec) . . . . . . . . . . . . . . . . . . . . . . . . . . K K5-127
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
D Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
See DL205 V-memory map
See DL205 V-memory map
Error Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words

5–276 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ECDHCPE Example
Rung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of all
ECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 as
1
ECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to move
the module in the base to a different slot, then you only need to change this one IBox. V400 2
is used as a global result status register for the other ECxxxx IBoxes using this specific
ECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxx
IBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte buffer
3
available for use by the other ECxxxx IBoxes using this specific ECOM100 module.
4
ECOM100
ECOM100 Config
IB-710
5
1
ECOM100# K0
Slot
Status
K1
V400
6
Workspace V401
Msg Buffer (65 WORDs) V402-502
7
8
NOTE: An ECOM100 IBox instruction is used without a permissive contact. The top line will be identified in
BOLD italics, and the instruction name and ID will be in BOLD characters. 9
Rung 2: On the 2nd scan, enable DHCP in the ECOM100. DHCP is the same protocol
used by PCs for using a DHCP Server to automatically assign the ECOM100's IP Address, 10
Gateway Address, and Subnet Mask. Typically this is done using NetEdit, but this IBox
allows you to enable DHCP in the ECOM100 using your ladder program. The ECDHCPE
is leading edge triggered, not power-flow driven (similar to a counter input leg). The
11
commands to enable DHCP will be sent to the ECOM100 whenever the power flow into the
IBox goes from OFF to ON. The ECDHCPE does more than just set the bit to enable 12
DHCP in the ECOM100, it polls the ECOM100 once every second to see if the ECOM100
has found a DHCP server and has a valid IP Address. Therefore, a timeout parameter is
needed in case the ECOM100 cannot find a DHCP server. If a timeout does occur, the Error
13
bit will turn on and the error code will be 1005 decimal. The Success bit will turn on only if
the ECOM100 finds a DHCP Server and is assigned a valid IP Address. If successful, turn on 14
C100. If there is a failure, turn on C101. If it fails, you can look at V2000 for the specific
error code. A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–277


Chapter 5: Intelligent Box (IBox) Instructions

ECOM100 Query DHCP Setting (ECDHCPQ) (IB-734)


1 ECOM100 Query DHCP Setting will determine if DHCP is enabled in the ECOM100 on a
leading edge transition to the IBox. The DHCP Enabled bit parameter will be ON if DHCP
 230 is enabled, OFF if disabled.
2  240 The Workspace parameter is an internal,
 250-1 private register used by this IBox and MUST
3  260 BE UNIQUE in this one instruction and
MUST NOT be used anywhere else in your
4 DS5 Used program.
HPP N/A Either the Success or Error bit parameter will
5 turn on once the command is complete.
In order for this ECOM100 IBox to function,
you must turn ON dip switch 7 on the
6 ECOM100 circuit board.

7 ECDHCPQ Parameters
• ECOM100#: this is a logical number associated with this specific ECOM100 module in the
8 specified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module must
reference this logical number
9 • Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the instruction is completed successfully
10 • Error: specifies a bit that will turn on if the instruction is not successfully completed
• DHCP Enabled: specifies a bit that will turn on if the ECOM100’s DHCP is enabled or remain off
11 if disabled - after instruction query, be sure to check the state of the Success/Error bit state along
with DHCP Enabled bit state to confirm a successful module query

12 Parameter DL205 Range


ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
13 Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
See DL205 V-memory map - Data Words
See DL205 V-memory map
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
14 DHCP Enabled . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map

A
B
C
D

5–278 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ECDHCPQ Example
Rung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of all
ECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 as
1
ECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to move
the module in the base to a different slot, then you only need to change this one IBox. V400 2
is used as a global result status register for the other ECxxxx IBoxes using this specific
ECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxx
IBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte buffer
3
available for use by the other ECxxxx IBoxes using this specific ECOM100 module.
4
ECOM100 Config 5
1 ECOM100 IB-710
ECOM100#
Slot
Status
K0
K1
V400
6
Workspace V401
Msg Buffer (65 WORDs) V402-502 7
8
NOTE: An ECOM100 IBox instruction is used without a permissive contact. The top line will be identified in
BOLD italics, and the instruction name and ID will be in BOLD characters. 9
Rung 2: On the 2nd scan, read whether DHCP is enabled or disabled in the ECOM100 and
store it in C5. DHCP is the same protocol used by PCs for using a DHCP Server to 10
automatically assign the ECOM100's IP Address, Gateway Address, and Subnet Mask. The
ECDHCPQ is leading edge triggered, not power-flow driven (similar to a counter input leg).
The command to read (Query) whether DHCP is enabled or not will be sent to the
11
ECOM100 whenever the power flow into the IBox goes from OFF to ON. If successful, turn
on C100. If there is a failure, turn on C101. 12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–279


Chapter 5: Intelligent Box (IBox) Instructions

ECOM100 Send E-mail (ECEMAIL) (IB-711)


1 ECOM100 Send EMail, on a leading edge transition, will behave as an EMail client and send
an SMTP request to your SMTP Server to send the EMail message to the EMail addresses in
2  230 the To: field and also to those listed in the Cc: list
 240 hard coded in the ECOM100. It will send the SMTP
request based on the specified ECOM100#, which
3  250-1 corresponds to a specific unique ECOM100
 260 Configuration (ECOM100) at the top of your
program.
4 DS5 Used The Body: field supports what the PRINT and
HPP N/A VPRINT instructions support for text and embedded
5 variables, allowing you to embed real-time data in
your EMail (e.g. "V2000 = " V2000:B).
6 The Workspace parameter is an internal, private register used by this IBox and MUST BE
UNIQUE in this one instruction and MUST NOT be used anywhere else in your program.
7 Either the Success or Error bit parameter will turn on once the request is complete. If there is
an error, the Error Code parameter will report an ECOM100 error code (less than 100), an
8 SMPT protocol error (between 100 and 999), or a PLC logic error (greater than 1000).
Since the ECOM100 is only an EMail Client and requires access to an SMTP Server, you
MUST have the SMTP parameters configured properly in the ECOM100 via the
9 ECOM100's Home Page and/or the EMail Setup instruction (ECEMSUP). To get to the
ECOM100's Home Page, use your favorite Internet browser and browse to the ECOM100's
10 IP Address, e.g. http://192.168.12.86
You are limited to approximately 100 characters of message data for the entire instruction,
11 including the To: Subject: and Body: fields. To save space, the ECOM100 supports a hard
coded list of EMail addresses for the Carbon Copy field (cc:) so that you can configure those
IN the ECOM100, and keep the To: field small (or even empty), to leave more room for the
12 Subject: and Body: fields.
In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on the
13 ECOM100 circuit board.
ECEMAIL Parameters
14 • ECOM100#: this is a logical number associated with this specific ECOM100 module in the
specified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module must
A reference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction

B • Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed

C • Error Code: specifies the location where the Error Code will be written
• To: specifies an E-mail address that the message will be sent to
D • Subject: subject of the e-mail message
• Body: supports what the PRINT and VPRINT instructions support for text and embedded
variables, allowing you to embed real-time data in the EMail message

5–280 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

Parameter DL205 Range


ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255 1
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
See DL205 V-memory map
See DL205 V-memory map
2
Error Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map
To: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Text 3
Subject:. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Text
Body:. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . See PRINT and VPRINT instructions 4
ECEMAIL Example 5
Rung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of all
ECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 as
ECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to move 6
the module in the base to a different slot, then you only need to change this one IBox. V400
is used as a global result status register for the other ECxxxx IBoxes using this specific
ECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxx
7
IBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte buffer
available for use by the other ECxxxx IBoxes using this specific ECOM100 module. 8
ECOM100 Config
9
1 ECOM100
ECOM100#
Slot
IB-710
K0
K1
10
Status V400
Workspace
Msg Buffer (65 WORDs)
V401
V402-502
11
12
(example continued on next page) 13
NOTE: An ECOM100 IBox instruction is used without a permissive contact. The top line will be identified in 14
BOLD italics, and the instruction name and ID will be in BOLD characters.
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–281


Chapter 5: Intelligent Box (IBox) Instructions

ECEMAIL Example (cont’d)


1 Rung 2: When a machine goes down, send an email to Joe in maintenance and to the VP
over production showing what machine is down along with the date/time stamp of when it
went down.
2 The ECEMAIL is leading edge triggered, not power-flow driven (similar to a counter input
leg). An email will be sent whenever the power flow into the IBox goes from OFF to ON.
3 This helps prevent self inflicted spamming.
If the EMail is sent, turn on C100. If there is a failure, turn on C101. If it fails, you can look
4 at V2000 for the SMTP error code or other possible error codes.

5
6
7
8
9
10
11
12
13
14
A
B
C
D

5–282 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ECOM100 Restore Default E-mail Setup (ECEMRDS) (IB-713)


ECOM100 Restore Default EMail Setup, on a leading edge transition, will restore the
original EMail Setup data stored in the ECOM100 back to the working copy based on the
1
 230 specified ECOM100#, which corresponds
 240 to a specific unique ECOM100 2
 250-1 Configuration (ECOM100) at the top of
 260 your program. 3
When the ECOM100 is first powered up, it
DS5 Used
copies the EMail setup data stored in ROM
to the working copy in RAM. You can then
4
HPP N/A
modify this working copy from your
program using the ECOM100 EMail Setup 5
(ECEMSUP) IBox. After modifying the
working copy, you can later restore the
original setup data via your program by
6
using this IBox.
The Workspace parameter is an internal, private register used by this IBox and MUST BE
7
UNIQUE in this one instruction and MUST NOT be used anywhere else in your program.
Either the Success or Error bit parameter will turn on once the command is complete. If there
8
is an error, the Error Code parameter will report an ECOM100 error code (less than 100), or
a PLC logic error (greater than 1000). 9
In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on the
ECOM100 circuit board. 10
ECEMRDS Parameters 11
• ECOM100#: this is a logical number associated with this specific ECOM100 module in the
specified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module must
reference this logical number
12
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the request is completed successfully
13
• Error: specifies a bit that will turn on if the instruction is not successfully completed
• Error Code: specifies the location where the Error Code will be written
14
Parameter
ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
DL205 Range
K0-255
A
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
See DL205 V-memory map - Data Words
See DL205 V-memory map
B
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
Error Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words C
D

DL205 User Manual, 4th Edition, Rev. A 5–283


Chapter 5: Intelligent Box (IBox) Instructions

ECEMRDS Example
1 Rung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of all
ECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 as
ECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to move
2 the module in the base to a different slot, then you only need to change this one IBox. V400
is used as a global result status register for the other ECxxxx IBoxes using this specific
3 ECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxx
IBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte buffer
available for use by the other ECxxxx IBoxes using this specific ECOM100 module.
4
5 ECOM100
ECOM100 Config
IB-710
1
ECOM100# K0
6 Slot
Status
K1
V400
Workspace V401
7 Msg Buffer (65 WORDs) V402-502

8
NOTE: An ECOM100 IBox instruction is used without a permissive contact. The top line will be identified in
9 BOLD italics, and the instruction name and ID will be in BOLD characters.

Rung 2: Whenever an EStop is pushed, ensure that the president of the company gets copies
10 of all Emails being sent.
The ECOM100 EMail Setup IBox allows you to set/change the SMTP Email settings stored
11 in the ECOM100.

12
13
14
A
B
C
D (example continued on next page)

5–284 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ECEMRDS Example (cont’d)


Rung 3: Once the EStop is pulled out, take the president off the cc: list by restoring the
default EMail setup in the ECOM100.
1
The ECEMRDS is leading edge triggered, not power-flow driven (similar to a counter input
leg). The ROM based EMail configuration stored in the ECOM100 will be copied over the
2
"working copy" whenever the power flow into the IBox goes from OFF to ON (the working
copy can be changed by using the ECEMSUP IBox). 3
If successful, turn on C102. If there is a failure, turn on C103. If it fails, you can look at
V2001 for the specific error code. 4
5
6
7
8
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–285


Chapter 5: Intelligent Box (IBox) Instructions

ECOM100 E-mail Setup (ECEMSUP) (IB-712)


1 ECOM100 EMail Setup, on a leading edge transition, will modify the working copy of the
EMail setup currently in the ECOM100 based on the specified ECOM100#, which
 230 corresponds to a specific unique ECOM100
2  240 Configuration (ECOM100) at the top of
 250-1 your program.
3  260 You may pick and choose any or all fields to
be modified using this instruction. Note that
4 DS5
HPP
Used
N/A
these changes are cumulative: if you execute
multiple ECOM100 EMail Setup IBoxes,
then all of the changes are made in the order
5 they are executed. Also note that you can
restore the original ECOM100 EMail Setup
6 that is stored in the ECOM100 to the
working copy by using the ECOM100
Restore Default EMail Setup (ECEMRDS) IBox.
7 The Workspace parameter is an internal, private register used by this IBox and MUST BE
UNIQUE in this one instruction and MUST NOT be used anywhere else in your program.
8 Either the Success or Error bit parameter will turn on once the command is complete. If there
is an error, the Error Code parameter will report an ECOM100 error code (less than 100), or
9 a PLC logic error (greater than 1000).
You are limited to approximately 100 characters/bytes of setup data for the entire instruction.
10 So if needed, you could divide the entire setup across multiple ECEMSUP IBoxes on a field-
by-field basis, for example do the Carbon Copy (cc:) field in one ECEMSUP IBox and the
remaining setup parameters in another.
11 In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on the
ECOM100 circuit board.
12
13 ECEMSUP Parameters
• ECOM100#: this is a logical number associated with this specific ECOM100 module in the
specified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module must
14 reference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
A • Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
B • Error Code: specifies the location where the Error Code will be written
• SMTP Server IP Addr: optional parameter that specifies the IP Address of the SMTP Server on the
C ECOM100’s network
• Sender Name: optional parameter that specifies the sender name that will appear in the “From:”
D field to those who receive the e-mail
• Sender EMail: optional parameter that specifies the sender EMail address that will appear in the
“From:” field to those who receive the e-mail

5–286 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ECEMSUP Parameters (cont’d)


• Port Number: optional parameter that specifies the TCP/IP Port Number to send SMTP requests;
usually this does not need to be configured (see your network administrator for information on this
1
setting)
• Timeout (sec): optional parameter that specifies the number of seconds to wait for the SMTP Server 2
to send the EMail to all the recipients
• Cc: optional parameter that specifies a list of “carbon copy” Email addresses to send all EMails to 3
Parameter DL205 Range 4
ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
See DL205 V-memory map - Data Words
See DL205 V-memory map
5
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
Error Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words 6
7
8
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–287


Chapter 5: Intelligent Box (IBox) Instructions

ECEMSUP Example
1 Rung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of all
ECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 as
ECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to move
2 the module in the base to a different slot, then you only need to change this one IBox. V400
is used as a global result status register for the other ECxxxx IBoxes using this specific
3 ECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxx
IBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte buffer
available for use by the other ECxxxx IBoxes using this specific ECOM100 module.
4
5 ECOM100 Config

1 ECOM100 IB-710
ECOM100# K0
6 Slot
Status
K1
V400
Workspace V401
7 Msg Buffer (65 WORDs) V402-502

8 (example continued on next page)

9 NOTE: An ECOM100 IBox instruction is used without a permissive contact. The top line will be identified in
BOLD italics, and the instruction name and ID will be in BOLD characters.
10
11
12
13
14
A
B
C
D

5–288 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ECEMSUP Example (cont’d)


Rung 2: Whenever an EStop is pushed, ensure that president of the company gets copies of
all EMails being sent.The ECOM100 EMail Setup IBox allows you to set/change the SMTP
1
EMail settings stored in the ECOM100. The ECEMSUP is leading edge triggered, not
power-flow driven (similar to a counter input leg). At power-up, the ROM based EMail 2
configuration stored in the ECOM100 is copied to a RAM based "working copy". You can
change this working copy by using the ECEMSUP IBox. To restore the original ROM based
configuration, use the Restore Default EMail Setup ECEMRDS IBox.
3
If successful, turn on C100. If there is a failure, turn on C101. If it fails, you can look at
V2000 for the specific error code.
4
5
6
7
8
9
10
Rung 3: Once the EStop is pulled out, take the president off the cc: list by restoring the
default EMail setup in the ECOM100. 11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–289


Chapter 5: Intelligent Box (IBox) Instructions

ECOM100 IP Setup (ECIPSUP) (IB-717)


1 ECOM100 IP Setup will configure the three TCP/IP parameters in the ECOM100: IP
Address, Subnet Mask, and Gateway Address, on a leading edge transition to the IBox. The
 230 ECOM100 is specified by the ECOM100#,
2  240 which corresponds to a specific unique
 250-1 ECOM100 Configuration (ECOM100) IBox
3  260 at the top of your program.
The Workspace parameter is an internal,
4 DS5 Used
private register used by this IBox and MUST
BE UNIQUE in this one instruction and
HPP N/A
MUST NOT be used anywhere else in your
5 program.
Either the Success or Error bit parameter will
6 turn on once the command is complete. If there is an error, the Error Code parameter will
report an ECOM100 error code (less than 100), or a PLC logic error (greater than 1000).
7 This setup data is stored in Flash-ROM in the ECOM100 and will disable the ECOM100
module for at least a half second until it writes the Flash-ROM. Therefore, it is HIGHLY
8 RECOMMENDED that you only execute this IBox ONCE on the second scan. Since it
requires a LEADING edge to execute, use a NORMALLY CLOSED SP0 (NOT First Scan)
to drive the power flow to the IBox.
9 In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on the
ECOM100 circuit board.
10 ECIPSUP Parameters
• ECOM100#: this is a logical number associated with this specific ECOM100 module in the
11 specified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module must
reference this logical number

12 • Workspace: specifies a V-memory location that will be used by the instruction


• Success: specifies a bit that will turn on once the request is completed successfully

13 • Error: specifies a bit that will turn on if the instruction is not successfully completed
• Error Code: specifies the location where the Error Code will be written

14 • IP Address: specifies the module’s IP Address


• Subnet Mask: specifies the Subnet Mask for the module to use

A • Gateway Address: specifies the Gateway Address for the module to use
Parameter DL205 Range
B ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
K0-255
See DL205 V-memory map - Data Words
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
C Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
Error Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
D IP Address . . . . . . . . . . . . . . . . . . . . . IP Address
Subnet Mask Address . . . . . . . IP Address Mask
0.0.0.1. to 255.255.255.254
0.0.0.1. to 255.255.255.254
Gateway Address . . . . . . . . . . . . . . . . IP Address 0.0.0.1. to 255.255.255.254

5–290 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ECIPSUP Example
Rung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of all
ECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 as
1
ECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to move
the module in the base to a different slot, then you only need to change this one IBox. V400 2
is used as a global result status register for the other ECxxxx IBoxes using this specific
ECOM100 module. V401 is used to coordinate/interlock the logic in all of the other ECxxxx
IBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte buffer
3
available for use by the other ECxxxx IBoxes using this specific ECOM100 module.
4
ECOM100 Config 5
1 ECOM100 IB-710
ECOM100# K0
Slot
Status
K1
V400
6
Workspace V401
Msg Buffer (65 WORDs) V402-502
7
8
NOTE: An ECOM100 IBox instruction is used without a permissive contact. The top line will be identified in
BOLD italics, and the instruction name and ID will be in BOLD characters. 9
Rung 2: On the 2nd scan, configure all of the TCP/IP parameters in the ECOM100:
IP Address: 192.168.12.100
10
Subnet Mask: 255.255.0.0
Gateway Address: 192.168.0.1
11
The ECIPSUP is leading edge triggered, not power-flow driven (similar to a counter input
leg). The command to write the TCP/IP configuration parameters will be sent to the
12
ECOM100 whenever the power flow into the IBox goes from OFF to ON.
If successful, turn on C100. If there is a failure, turn on C101. If it fails, you can look at 13
V2000 for the specific error code.
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–291


Chapter 5: Intelligent Box (IBox) Instructions

ECOM100 Read Description (ECRDDES) (IB-726)


1 ECOM100 Read Description will read the ECOM100's Description field up to the number
of specified characters on a leading edge transition to the IBox.
 230
2  240
The Workspace parameter is an internal,
private register used by this IBox and MUST
 250-1 BE UNIQUE in this one instruction and
3  260 MUST NOT be used anywhere else in your
program.
4 DS5 Used Either the Success or Error bit parameter will
HPP N/A turn on once the command is complete.
5 In order for this ECOM100 IBox to function,
you must turn ON dip switch 7 on the
ECOM100 circuit board.
6
7 ECRDDES Parameters
• ECOM100#: this is a logical number associated with this specific ECOM100 module in the
specified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module must
8 reference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
9 • Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
10 • Description: specifies the starting buffer location where the ECOM100’s Description will be placed
• Num Chars: specifies the number of characters (bytes) to read from the ECOM100’s Description
11 field

12 Parameter DL205 Range


ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
13 Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
See DL205 V-memory map - Data Words
See DL205 V-memory map
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
14 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
Num Chars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K1-128
A
B
C
D

5–292 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ECRDDES Example
Rung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of all
ECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 as
1
ECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to move
the module in the base to a different slot, then you only need to change this one IBox. V400 2
is used as a global result status register for the other ECxxxx IBoxes using this specific
ECOM100 module. V401 is used to coordinate/interlock the logic in all of the other ECxxxx
IBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte buffer
3
available for use by the other ECxxxx IBoxes using this specific ECOM100 module.
4
ECOM100
ECOM100 Config
IB-710
5
1
ECOM100# K0
Slot
Status
K1
V400
6
Workspace V401
Msg Buffer (65 WORDs) V402-502
7
8
NOTE: An ECOM100 IBox instruction is used without a permissive contact. The top line will be identified in
BOLD italics, and the instruction name and ID will be in BOLD characters. 9
Rung 2: On the 2nd scan, read the Module Description of the ECOM100 and store it in
V3000 thru V3007 (16 characters). This text can be displayed by an HMI. 10
The ECRDDES is leading edge triggered, not power-flow driven (similar to a counter input
leg). The command to read the module description will be sent to the ECOM100 whenever 11
the power flow into the IBox goes from OFF to ON.
If successful, turn on C100. If there is a failure, turn on C101. 12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–293


Chapter 5: Intelligent Box (IBox) Instructions

ECOM100 Read Gateway Address (ECRDGWA) (IB-730)


1 ECOM100 Read Gateway Address will read the 4 parts of the Gateway IP address and store
them in 4 consecutive V-memory locations in decimal format, on a leading edge transition to
 230 the IBox.
2  240 The Workspace parameter is an internal,
 250-1 private register used by this IBox and MUST
3  260 BE UNIQUE in this one instruction and
MUST NOT be used anywhere else in your
4 DS5 Used
program.
HPP N/A Either the Success or Error bit parameter will
5 turn on once the command is complete.
In order for this ECOM100 IBox to function,
you must turn ON dip switch 7 on the
6 ECOM100 circuit board.

7 ECRDGWA Parameters
• ECOM100#: this is a logical number associated with this specific ECOM100 module in the
8 specified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module must
reference this logical number
9 • Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the request is completed successfully
10 • Error: specifies a bit that will turn on if the instruction is not successfully completed
• Gateway IP Addr: specifies the starting address where the ECOM100’s Gateway Address will be
11 placed in 4 consecutive V-memory locations

Parameter DL205 Range


12 ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
13 Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map

14 Gateway IP Address (4 Words) . . . . . . . . . . . . . V See DL205 V-memory map - Data Words

A
B
C
D

5–294 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ECRDGWA Example
Rung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of all
ECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 as
1
ECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to move
the module in the base to a different slot, then you only need to change this one IBox. V400 2
is used as a global result status register for the other ECxxxx IBoxes using this specific
ECOM100 module. V401 is used to coordinate/interlock the logic in all of the other ECxxxx
IBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte buffer
3
available for use by the other ECxxxx IBoxes using this specific ECOM100 module.
4
ECOM100 Config 5
1 ECOM100 IB-710
ECOM100#
Slot
Status
K0
K1 6
V400
Workspace V401
Msg Buffer (65 WORDs) V402-502 7
8
NOTE: An ECOM100 IBox instruction is used without a permissive contact. The top line will be identified in
BOLD italics, and the instruction name and ID will be in BOLD characters. 9
Rung 2: On the 2nd scan, read the Gateway Address of the ECOM100 and store it in V3000
thru V3003 (4 decimal numbers). The ECOM100's Gateway Address could be displayed by 10
an HMI.
The ECRDGWA is leading edge triggered, not power-flow driven (similar to a counter input 11
leg). The command to read the Gateway Address will be sent to the ECOM100 whenever the
power flow into the IBox goes from OFF to ON. 12
If successful, turn on C100. If there is a failure, turn on C101.
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–295


Chapter 5: Intelligent Box (IBox) Instructions

ECOM100 Read IP Address (ECRDIP) (IB-722)


1  230
ECOM100 Read IP Address will read the 4 parts of the IP address and store them in 4
consecutive V-memory locations in decimal format, on a leading edge transition to the IBox.
 240
2  250-1
The Workspace parameter is an internal,
private register used by this IBox and MUST
 260 BE UNIQUE in this one instruction and
3 MUST NOT be used anywhere else in your
DS5 Used
program.
4 HPP N/A Either the Success or Error bit parameter will
turn on once the command is complete.
5 In order for this ECOM100 IBox to function,
you must turn ON dip switch 7 on the
ECOM100 circuit board.
6
7 ECRDIP Parameters
• ECOM100#: this is a logical number associated with this specific ECOM100 module in the
specified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module must
8 reference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
9 • Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
10 • IP Address: specifies the starting address where the ECOM100’s IP Address will be placed in 4
consecutive V-memory locations
11
Parameter DL205 Range
12 ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
K0-255
See DL205 V-memory map - Data Words
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
13 Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
IP Address (4 Words) . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
14
A
B
C
D

5–296 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ECRDIP Example
Rung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of all
ECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 as
1
ECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to move
the module in the base to a different slot, then you only need to change this one IBox. V400 2
is used as a global result status register for the other ECxxxx IBoxes using this specific
ECOM100 module. V401 is used to coordinate/interlock the logic in all of the other ECxxxx
IBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte buffer
3
available for use by the other ECxxxx IBoxes using this specific ECOM100 module.
4
ECOM100 Config 5
1 ECOM100 IB-710
ECOM100# K0
Slot
Status
K1
V400
6
Workspace V401
Msg Buffer (65 WORDs) V402-502
7
8
NOTE: An ECOM100 IBox instruction is used without a permissive contact. The top line will be identified in
BOLD italics, and the instruction name and ID will be in BOLD characters. 9
Rung 2: On the 2nd scan, read the IP Address of the ECOM100 and store it in V3000 thru
V3003 (4 decimal numbers). The ECOM100's IP Address could be displayed by an HMI. 10
The ECRDIP is leading edge triggered, not power-flow driven (similar to a counter input
leg). The command to read the IP Address will be sent to the ECOM100 whenever the power 11
flow into the IBox goes from OFF to ON.
If successful, turn on C100. If there is a failure, turn on C101. 12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–297


Chapter 5: Intelligent Box (IBox) Instructions

ECOM100 Read Module ID (ECRDMID) (IB-720)


1 ECOM100 Read Module ID will read the binary (decimal) WORD sized Module ID on a
leading edge transition to the IBox.
 230

2  240 The Workspace parameter is an internal,


private register used by this IBox and MUST
 250-1 BE UNIQUE in this one instruction and
3  260 MUST NOT be used anywhere else in your
program.
4 DS5
HPP
Used
N/A
Either the Success or Error bit parameter will
turn on once the command is complete.
5 In order for this ECOM100 IBox to function,
you must turn ON dip switch 7 on the
ECOM100 circuit board.
6
7 ECRDMID Parameters
• ECOM100#: this is a logical number associated with this specific ECOM100 module in the
specified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module must
8 reference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
9 • Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
10 • Module ID: specifies the location where the ECOM100’s Module ID (decimal) will be placed

11 Parameter DL205 Range


ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
12 Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
See DL205 V-memory map - Data Words
See DL205 V-memory map
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
13 Module ID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words

14
A
B
C
D

5–298 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ECRDMID Example
Rung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of all
ECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 as
1
ECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to move
the module in the base to a different slot, then you only need to change this one IBox. V400 2
is used as a global result status register for the other ECxxxx IBoxes using this specific
ECOM100 module. V401 is used to coordinate/interlock the logic in all of the other ECxxxx
IBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte buffer
3
available for use by the other ECxxxx IBoxes using this specific ECOM100 module.
4
ECOM100 Config 5
1 ECOM100 IB-710
ECOM100#
Slot
Status
K0
K1
V400
6
Workspace V401
Msg Buffer (65 WORDs) V402-502 7
8
NOTE: An ECOM100 IBox instruction is used without a permissive contact. The top line will be identified in
BOLD italics, and the instruction name and ID will be in BOLD characters. 9
Rung 2: On the 2nd scan, read the Module ID of the ECOM100 and store it in V2000.
The ECRDMID is leading edge triggered, not power-flow driven (similar to a counter input
10
leg). The command to read the module ID will be sent to the ECOM100 whenever the
power flow into the IBox goes from OFF to ON. 11
If successful, turn on C100. If there is a failure, turn on C101.
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–299


Chapter 5: Intelligent Box (IBox) Instructions

ECOM100 Read Module Name (ECRDNAM) (IB-724)


1 ECOM100 Read Name will read the Module Name up to the number of specified characters
on a leading edge transition to the IBox.
2  230 The Workspace parameter is an internal,
 240 private register used by this IBox and MUST
 250-1 BE UNIQUE in this one instruction and
3  260 MUST NOT be used anywhere else in your
program.
4 DS5 Used Either the Success or Error bit parameter will
HPP N/A turn on once the command is complete.
5 In order for this ECOM100 IBox to function,
you must turn ON dip switch 7 on the
ECOM100 circuit board.
6
7 ECRDNAM Parameters
• ECOM100#: this is a logical number associated with this specific ECOM100 module in the
specified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module must
8 reference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
9 • Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
10 • Module Name: specifies the starting buffer location where the ECOM100’s Module Name will be
placed
11 • Num Chars: specifies the number of characters (bytes) to read from the ECOM100’s Name field

Parameter DL205 Range


12 ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
13 Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map

14 Module Name . . . . . . . . . . . . . . . . . . . . . . . . . . V
Num Chars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
See DL205 V-memory map - Data Words
K1-128

A
B
C
D

5–300 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ECRDNAM Example
Rung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of all
ECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 as
1
ECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to move
the module in the base to a different slot, then you only need to change this one IBox. V400 2
is used as a global result status register for the other ECxxxx IBoxes using this specific
ECOM100 module. V401 is used to coordinate/interlock the logic in all of the other ECxxxx
IBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte buffer
3
available for use by the other ECxxxx IBoxes using this specific ECOM100 module.
4
ECOM100
ECOM100 Config
IB-710
5
1
ECOM100# K0
Slot
Status
K1
V400
6
Workspace V401
Msg Buffer (65 WORDs) V402-502
7
8
NOTE: An ECOM100 IBox instruction is used without a permissive contact. The top line will be identified in
BOLD italics, and the instruction name and ID will be in BOLD characters. 9
Rung 2: On the 2nd scan, read the Module Name of the ECOM100 and store it in V3000
thru V3003 (8 characters). This text can be displayed by an HMI. 10
The ECRDNAM is leading edge triggered, not power-flow driven (similar to a counter input
leg). The command to read the module name will be sent to the ECOM100 whenever the 11
power flow into the IBox goes from OFF to ON.
If successful, turn on C100. If there is a failure, turn on C101. 12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–301


Chapter 5: Intelligent Box (IBox) Instructions

ECOM100 Read Subnet Mask (ECRDSNM) (IB-732)


1 ECOM100 Read Subnet Mask will read the 4 parts of the Subnet Mask and store them in 4
consecutive V-memory locations in decimal format, on a leading edge transition to the IBox.
 230
2  240
The Workspace parameter is an internal,
private register used by this IBox and MUST
 250-1 BE UNIQUE in this one instruction and
3  260 MUST NOT be used anywhere else in your
program.
4 DS5 Used Either the Success or Error bit parameter will
HPP N/A turn on once the command is complete.
5 In order for this ECOM100 IBox to function,
you must turn ON dip switch 7 on the
ECOM100 circuit board.
6
7 ECRDSNM Parameters
• ECOM100#: this is a logical number associated with this specific ECOM100 module in the
specified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module must
8 reference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
9 • Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
10 • Subnet Mask: specifies the starting address where the ECOM100’s Subnet Mask will be placed in 4
consecutive V-memory locations
11
12 Parameter DL205 Range
ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
13 Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
See DL205 V-memory map - Data Words
See DL205 V-memory map
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
14 Subnet Mask (4 Words). . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words

A
B
C
D

5–302 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ECRDSNM Example
Rung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of all
ECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 as
1
ECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to move
the module in the base to a different slot, then you only need to change this one IBox. V400 2
is used as a global result status register for the other ECxxxx IBoxes using this specific
ECOM100 module. V401 is used to coordinate/interlock the logic in all of the other ECxxxx
IBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte buffer
3
available for use by the other ECxxxx IBoxes using this specific ECOM100 module.
4
ECOM100 Config 5
1 ECOM100 IB-710
ECOM100#
Slot
Status
K0
K1 6
V400
Workspace V401
Msg Buffer (65 WORDs) V402-502 7
8
NOTE: An ECOM100 IBox instruction is used without a permissive contact. The top line will be identified in
BOLD italics, and the instruction name and ID will be in BOLD characters. 9
Rung 2: On the 2nd scan, read the Subnet Mask of the ECOM100 and store it in V3000
thru V3003 (4 decimal numbers). The ECOM100's Subnet Mask could be displayed by an 10
HMI.
The ECRDSNM is leading edge triggered, not power-flow driven (similar to a counter input 11
leg). The command to read the Subnet Mask will be sent to the ECOM100 whenever the
power flow into the IBox goes from OFF to ON. 12
If successful, turn on C100. If there is a failure, turn on C101.
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–303


Chapter 5: Intelligent Box (IBox) Instructions

ECOM100 Write Description (ECWRDES) (IB-727)


1 ECOM100 Write Description will write the given Description to the ECOM100 module on
a leading edge transition to the IBox. If you use a dollar sign ($) or double quote ("), use the
 230 PRINT/VPRINT escape sequence of TWO
2  240 dollar signs ($$) for a single dollar sign or
 250-1 dollar sign-double quote ($") for a double
3  260
quote character.
The Workspace parameter is an internal,
4 DS5 Used
private register used by this IBox and MUST
BE UNIQUE in this one instruction and
HPP N/A
MUST NOT be used anywhere else in your
5 program.
Either the Success or Error bit parameter will
6 turn on once the command is complete. If
there is an error, the Error Code parameter
7 will report an ECOM100 error code (less
than 100), or a PLC logic error (greater than 1000).

8 The Description is stored in Flash-ROM in the ECOM100 and the execution of this IBox
will disable the ECOM100 module for at least a half second until it writes the Flash-ROM.
Therefore, it is HIGHLY RECOMMENDED that you only execute this IBox ONCE on the
9 second scan. Since it requires a LEADING edge to execute, use a NORMALLY CLOSED
SP0 (STR NOT First Scan) to drive the power flow to the IBox.
10 In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on the
ECOM100 circuit board.
11
ECWRDES Parameters
12 • ECOM100#: this is a logical number associated with this specific ECOM100 module in the
specified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module must
reference this logical number
13 • Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the request is completed successfully
14 • Error: specifies a bit that will turn on if the instruction is not successfully completed
• Error Code: specifies the location where the Error Code will be written
A • Description: specifies the Description that will be written to the module

B Parameter
ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
DL205 Range
K0-255
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
C Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
D Error Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
See DL205 V-memory map - Data Words
Text

5–304 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ECWRDES Example
Rung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of all
ECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 as
1
ECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to move
the module in the base to a different slot, then you only need to change this one IBox. V400 2
is used as a global result status register for the other ECxxxx IBoxes using this specific
ECOM100 module. V401 is used to coordinate/interlock the logic in all of the other ECxxxx
IBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte buffer
3
available for use by the other ECxxxx IBoxes using this specific ECOM100 module.
4
ECOM100 Config 5
1 ECOM100 IB-710
ECOM100#
Slot
K0
K1 6
Status V400
Workspace V401
Msg Buffer (65 WORDs) V402-502 7
8
NOTE: An ECOM100 IBox instruction is used without a permissive contact. The top line will be identified in
BOLD italics, and the instruction name and ID will be in BOLD characters. 9
Rung 2: On the 2nd scan, set the Module Description of the ECOM100. Typically this is
done using NetEdit, but this IBox allows you to configure the module description in the 10
ECOM100 using your ladder program.
The ECWRDES is leading edge triggered, not power-flow driven (similar to a counter input 11
leg). The command to write the module description will be sent to the ECOM100 whenever
the power flow into the IBox goes from OFF to ON. 12
If successful, turn on C100. If there is a failure, turn on C101. If it fails, you can look at
V2000 for the specific error code.
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–305


Chapter 5: Intelligent Box (IBox) Instructions

ECOM100 Write Gateway Address (ECWRGWA) (IB-731)


1 ECOM100 Write Gateway Address will write the given Gateway IP Address to the
ECOM100 module on a leading edge transition to the IBox. See also ECOM100 IP Setup
 230 (ECIPSUP) IBox 717 to setup ALL of the
2  240 TCP/IP parameters in a single instruction - IP
 250-1 Address, Subnet Mask, and Gateway Address.
3  260 The Workspace parameter is an internal,
private register used by this IBox and MUST
4 DS5
HPP
Used
N/A
BE UNIQUE in this one instruction and
MUST NOT be used anywhere else in your
program.
5 Either the Success or Error bit parameter will
turn on once the command is complete. If
6 there is an error, the Error Code parameter
will report an ECOM100 error code (less than
7 100), or a PLC logic error (greater than 1000).
The Gateway Address is stored in Flash-ROM in the ECOM100 and the execution of this
8 IBox will disable the ECOM100 module for at least a half second until it writes the Flash-
ROM. Therefore, it is HIGHLY RECOMMENDED that you only execute this IBox
ONCE, on the second scan. Since it requires a LEADING edge to execute, use a
9 NORMALLY CLOSED SP0 (STR NOT First Scan) to drive the power flow to the IBox.
In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on the
10 ECOM100 circuit board.

11 ECWRGWA Parameters
• ECOM100#: this is a logical number associated with this specific ECOM100 module in the
12 specified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module must
reference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
13 • Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
14 • Error Code: specifies the location where the Error Code will be written

A • Gateway Address: specifies the Gateway IP Address that will be written to the module

Parameter DL205 Range


B ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
K0-255
See DL205 V-memory map - Data Words
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
C Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
Error Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
D Gateway Address . . . . . . . . . . . . . . . . . . . . . . . . 0.0.0.1. to 255.255.255.254

5–306 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ECWRGWA Example
Rung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of all
ECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 as
1
ECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to move
the module in the base to a different slot, then you only need to change this one IBox. V400 2
is used as a global result status register for the other ECxxxx IBoxes using this specific
ECOM100 module. V401 is used to coordinate/interlock the logic in all of the other ECxxxx
IBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte buffer
3
available for use by the other ECxxxx IBoxes using this specific ECOM100 module.
4
ECOM100 Config 5
1 ECOM100 IB-710
ECOM100#
Slot
K0
K1 6
Status V400
Workspace
Msg Buffer (65 WORDs)
V401
V402-502 7
8
NOTE: An ECOM100 IBox instruction is used without a permissive contact. The top line will be identified in
BOLD italics, and the instruction name and ID will be in BOLD characters. 9
Rung 2: On the 2nd scan, assign the Gateway Address of the ECOM100 to 192.168.0.1
The ECWRGWA is leading edge triggered, not power-flow driven (similar to a counter input
10
leg). The command to write the Gateway Address will be sent to the ECOM100 whenever
the power flow into the IBox goes from OFF to ON. 11
If successful, turn on C100. If there is a failure, turn on C101. If it fails, you can look at
V2000 for the specific error code. 12
To configure all of the ECOM100 TCP/IP parameters in one IBox, see the ECOM100 IP
Setup (ECIPSUP) IBox. 13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–307


Chapter 5: Intelligent Box (IBox) Instructions

ECOM100 Write IP Address (ECWRIP) (IB-723)


1 ECOM100 Write IP Address will write the given IP Address to the ECOM100 module on a
leading edge transition to the IBox. See also ECOM100 IP Setup (ECIPSUP) IBox 717 to
 230 setup ALL of the TCP/IP parameters in a single
2  240 instruction - IP Address, Subnet Mask, and
 250-1 Gateway Address.
3  260 The Workspace parameter is an internal, private
register used by this IBox and MUST BE
4 DS5 Used
UNIQUE in this one instruction and MUST
NOT be used anywhere else in your program.
HPP N/A
5 Either the Success or Error bit parameter will
turn on once the command is complete. If there
is an error, the Error Code parameter will report
6 an ECOM100 error code (less than 100), or a
PLC logic error (greater than 1000).
7 The IP Address is stored in Flash-ROM in the ECOM100 and the execution of this IBox will
disable the ECOM100 module for at least a half second until it writes the Flash-ROM.
8 Therefore, it is HIGHLY RECOMMENDED that you only execute this IBox ONCE on the
second scan. Since it requires a LEADING edge to execute, use a NORMALLY CLOSED
SP0 (STR NOT First Scan) to drive the power flow to the IBox.
9 In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on the
ECOM100 circuit board.
10
ECWRIP Parameters
11 • ECOM100#: this is a logical number associated with this specific ECOM100 module in the
specified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module must
12 reference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
13 • Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
14 • Error Code: specifies the location where the Error Code will be written
• IP Address: specifies the IP Address that will be written to the module
A Parameter DL205 Range
B ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
K0-255
See DL205 V-memory map - Data Words
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
C Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
Error Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
See DL205 V-memory map
See DL205 V-memory map - Data Words

D IP Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0.0.0.1. to 255.255.255.254

5–308 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ECWRIP Example
Rung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of all
ECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 as
1
ECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to move
the module in the base to a different slot, then you only need to change this one IBox. V400 2
is used as a global result status register for the other ECxxxx IBoxes using this specific
ECOM100 module. V401 is used to coordinate/interlock the logic in all of the other ECxxxx
IBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte buffer
3
available for use by the other ECxxxx IBoxes using this specific ECOM100 module.
4
ECOM100 Config 5
1 ECOM100 IB-710
ECOM100#
Slot
Status
K0
K1 6
V400
Workspace V401
Msg Buffer (65 WORDs) V402-502 7
8
NOTE: An ECOM100 IBox instruction is used without a permissive contact. The top line will be identified in
BOLD italics, and the instruction name and ID will be in BOLD characters. 9
Rung 2: On the 2nd scan, assign the IP Address of the ECOM100 to 192.168.12.100
The ECWRIP is leading edge triggered, not power-flow driven (similar to a counter input
10
leg). The command to write the IP Address will be sent to the ECOM100 whenever the
power flow into the IBox goes from OFF to ON. 11
If successful, turn on C100. If there is a failure, turn on C101. If it fails, you can look at
V2000 for the specific error code. 12
To configure all of the ECOM100 TCP/IP parameters in one IBox, see the ECOM100 IP
Setup (ECIPSUP) IBox. 13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–309


Chapter 5: Intelligent Box (IBox) Instructions

ECOM100 Write Module ID (ECWRMID) (IB-721)


1 ECOM100 Write Module ID will write the given Module ID on a leading edge transition to
the IBox
 230
2  240 If the Module ID is set in the hardware using
the dipswitches, this IBox will fail and return
 250-1 error code 1005 (decimal).
3  260 The Workspace parameter is an internal,
private register used by this IBox and MUST
4 DS5 Used
N/A
BE UNIQUE in this one instruction and
HPP MUST NOT be used anywhere else in your
5 program.
Either the Success or Error bit parameter will
turn on once the command is complete. If
6 there is an error, the Error Code parameter
will report an ECOM100 error code (less
7 than 100), or a PLC logic error (greater than 1000).
The Module ID is stored in Flash-ROM in the ECOM100 and the execution of this IBox
8 will disable the ECOM100 module for at least a half second until it writes the Flash-ROM.
Therefore, it is HIGHLY RECOMMENDED that you only execute this IBox ONCE on the
second scan. Since it requires a LEADING edge to execute, use a NORMALLY CLOSED
9 SP0 (STR NOT First Scan) to drive the power flow to the IBox.
In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on the
10 ECOM100 circuit board.

11 ECWRMID Parameters
• ECOM100#: this is a logical number associated with this specific ECOM100 module in the
12 specified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module must
reference this logical number
13 • Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the request is completed successfully
14 • Error: specifies a bit that will turn on if the instruction is not successfully completed
• Error Code: specifies the location where the Error Code will be written
A • Module ID: specifies the Module ID that will be written to the module

Parameter DL205 Range


B ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
C Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
See DL205 V-memory map
See DL205 V-memory map
Error Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
D Module ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K0-65535

5–310 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ECWRMID Example
Rung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of all
ECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 as
1
ECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to move
the module in the base to a different slot, then you only need to change this one IBox. V400 2
is used as a global result status register for the other ECxxxx IBoxes using this specific
ECOM100 module. V401 is used to coordinate/interlock the logic in all of the other ECxxxx
IBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte buffer
3
available for use by the other ECxxxx IBoxes using this specific ECOM100 module.
4
ECOM100 Config 5
1 ECOM100 IB-710
ECOM100#
Slot
Status
K0
K1 6
V400
Workspace V401
Msg Buffer (65 WORDs) V402-502 7
8
NOTE: An ECOM100 IBox instruction is used without a permissive contact. The top line will be identified in
BOLD italics, and the instruction name and ID will be in BOLD characters. 9
Rung 2: On the 2nd scan, set the Module ID of the ECOM100. Typically this is done using
NetEdit, but this IBox allows you to configure the module ID of the ECOM100 using your 10
ladder program.
The ECWRMID is leading edge triggered, not power-flow driven (similar to a counter input 11
leg). The command to write the module ID will be sent to the ECOM100 whenever the
power flow into the IBox goes from OFF to ON. 12
If successful, turn on C100. If there is a failure, turn on C101. If it fails, you can look at
V2000 for the specific error code.
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–311


Chapter 5: Intelligent Box (IBox) Instructions

ECOM100 Write Name (ECWRNAM) (IB-725)


1 ECOM100 Write Name will write the given Name to the ECOM100 module on a leading
edge transition to the IBox. If you use a dollar sign ($) or double quote ("), use the
 230 PRINT/VPRINT escape sequence of TWO
2  240 dollar signs ($$) for a single dollar sign or
 250-1 dollar sign-double quote ($") for a double
3  260 quote character.
The Workspace parameter is an internal,
4 DS5
HPP
Used
N/A
private register used by this IBox and MUST
BE UNIQUE in this one instruction and
MUST NOT be used anywhere else in your
5 program.
Either the Success or Error bit parameter will
6 turn on once the command is complete. If
there is an error, the Error Code parameter
7 will report an ECOM100 error code (less
than 100), or a PLC logic error (greater than 1000).

8 The Name is stored in Flash-ROM in the ECOM100 and the execution of this IBox will
disable the ECOM100 module for at least a half second until it writes the Flash-ROM.
Therefore, it is HIGHLY RECOMMENDED that you only execute this IBox ONCE on the
9 second scan. Since it requires a LEADING edge to execute, use a NORMALLY CLOSED
SP0 (STR NOT First Scan) to drive the power flow to the IBox.
10 In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on the
ECOM100 circuit board.
11
ECWRNAM Parameters
12 • ECOM100#: this is a logical number associated with this specific ECOM100 module in the
specified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module must
reference this logical number
13 • Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the request is completed successfully
14 • Error: specifies a bit that will turn on if the instruction is not successfully completed
• Error Code: specifies the location where the Error Code will be written
A • Module Name: specifies the Name that will be written to the module

B Parameter DL205 Range


ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
C Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
See DL205 V-memory map - Data Words
See DL205 V-memory map

D Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
Error Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
See DL205 V-memory map
See DL205 V-memory map - Data Words
Module Name . . . . . . . . . . . . . . . . . . . . . . . . . . . Text

5–312 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ECWRNAM Example
Rung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of all
ECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 as
1
ECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to move
the module in the base to a different slot, then you only need to change this one IBox. V400 2
is used as a global result status register for the other ECxxxx IBoxes using this specific
ECOM100 module. V401 is used to coordinate/interlock the logic in all of the other ECxxxx
IBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte buffer
3
available for use by the other ECxxxx IBoxes using this specific ECOM100 module.
4
ECOM100 Config 5
1 ECOM100 IB-710
ECOM100#
Slot
Status
K0
K1 6
V400
Workspace V401
Msg Buffer (65 WORDs) V402-502 7
8
NOTE: An ECOM100 IBox instruction is used without a permissive contact. The top line will be identified in
BOLD italics, and the instruction name and ID will be in BOLD characters. 9
Rung 2: On the 2nd scan, set the Module Name of the ECOM100. Typically this is done
using NetEdit, but this IBox allows you to configure the module name of the ECOM100 10
using your ladder program.
The ECWRNAM is leading edge triggered, not power-flow driven (similar to a counter input 11
leg). The command to write the module name will be sent to the ECOM100 whenever the
power flow into the IBox goes from OFF to ON. 12
If successful, turn on C100. If there is a failure, turn on C101. If it fails, you can look at
V2000 for the specific error code.
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–313


Chapter 5: Intelligent Box (IBox) Instructions

ECOM100 Write Subnet Mask (ECWRSNM) (IB-733)


1 ECOM100 Write Subnet Mask will write the given Subnet Mask to the ECOM100 module
on a leading edge transition to the IBox. See also ECOM100 IP Setup (ECIPSUP) IBox 717
 230 to setup ALL of the TCP/IP parameters in a
2  240 single instruction - IP Address, Subnet Mask,
 250-1 and Gateway Address.
3  260 The Workspace parameter is an internal,
private register used by this IBox and MUST
4 DS5 Used
BE UNIQUE in this one instruction and
MUST NOT be used anywhere else in your
HPP N/A
program.
5 Either the Success or Error bit parameter will
turn on once the command is complete. If
6 there is an error, the Error Code parameter will
report an ECOM100 error code (less than
7 100), or a PLC logic error (greater than 1000).
The Subnet Mask is stored in Flash-ROM in the ECOM100 and the execution of this IBox
8 will disable the ECOM100 module for at least a half second until it writes the Flash-ROM.
Therefore, it is HIGHLY RECOMMENDED that you only execute this IBox ONCE on the
second scan. Since it requires a LEADING edge to execute, use a NORMALLY CLOSED
9 SP0 (STR NOT First Scan) to drive the power flow to the IBox.
In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on the
10 ECOM100 circuit board.

11 ECWRSNM Parameters
• ECOM100#: this is a logical number associated with this specific ECOM100 module in the
12 specified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module must
reference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
13 • Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
14 • Error Code: specifies the location where the Error Code will be written

A • Subnet Mask: specifies the Subnet Mask that will be written to the module

Parameter DL205 Range


B ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
K0-255
See DL205 V-memory map - Data Words
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
C Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
Error Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
D Subnet Mask . . . . . . . . . . . . . . . . . . . . . . . . . . . Masked IP Address

5–314 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ECWRSNM Example
Rung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of all
ECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 as
1
ECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to move
the module in the base to a different slot, then you only need to change this one IBox. V400 2
is used as a global result status register for the other ECxxxx IBoxes using this specific
ECOM100 module. V401 is used to coordinate/interlock the logic in all of the other ECxxxx
IBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte buffer
3
available for use by the other ECxxxx IBoxes using this specific ECOM100 module.
4
ECOM100 Config 5
1 ECOM100 IB-710
ECOM100#
Slot
Status
K0
K1 6
V400
Workspace V401
Msg Buffer (65 WORDs) V402-502 7
8
NOTE: An ECOM100 IBox instruction is used without a permissive contact. The top line will be identified in
BOLD italics, and the instruction name and ID will be in BOLD characters. 9
Rung 2: On the 2nd scan, assign the Subnet Mask of the ECOM100 to 255.255.0.0
The ECWRSNM is leading edge triggered, not power-flow driven (similar to a counter input
10
leg). The command to write the Subnet Mask will be sent to the ECOM100 whenever the
power flow into the IBox goes from OFF to ON. 11
If successful, turn on C100. If there is a failure, turn on C101. If it fails, you can look at
V2000 for the specific error code. 12
To configure all of the ECOM100 TCP/IP parameters in one IBox, see the ECOM100 IP
Setup (ECIPSUP) IBox. 13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–315


Chapter 5: Intelligent Box (IBox) Instructions

ECOM100 RX Network Read (ECRX) (IB-740)


1 ECOM100 RX Network Read performs the RX instruction with built-in interlocking with
all other ECOM100 RX (ECRX) and ECOM100 WX (ECWX) IBoxes in your program to
 230 simplify communications networking. It will
2  240 perform the RX on the specified ECOM100#'s
 250-1 network, which corresponds to a specific
3  260 unique ECOM100 Configuration
(ECOM100) IBox at the top of your program.
4 DS5 Used
The Workspace parameter is an internal,
private register used by this IBox and MUST
HPP N/A BE UNIQUE in this one instruction and
5 MUST NOT be used anywhere else in your
program.
6 Whenever this IBox has power, it will read
element data from the specified slave into the
7 given destination V-memory buffer, giving other ECOM100 RX and ECOM100 WX IBoxes
on that ECOM100# network a chance to execute.

8 For example, if you wish to read and write data continuously from 5 different slaves, you can
have all of these ECRX and ECWX instructions in ONE RUNG driven by SP1 (Always On).
They will execute round-robin style, automatically!
9 ECRX Parameters
• ECOM100#: this is a logical number associated with this specific ECOM100 module in the
10 specified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module must
reference this logical number
11 • Workspace: specifies a V-memory location that will be used by the instruction
• Slave ID: specifies the slave ECOM(100) PLC that will be targeted by the ECRX instruction
12 • From Slave Element (Src): specifies the slave address of the data to be read
• Number of Bytes: specifies the number of bytes to read from the slave ECOM(100) PLC
13 • To Master Element (Dest): specifies the location where the slave data will be placed in the master
ECOM100 PLC
• Success: specifies a bit that will turn on once the request is completed successfully
14 • Error: specifies a bit that will turn on if the instruction is not successfully completed

A Parameter DL205 Range


ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
B Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Slave ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
See DL205 V-memory map - Data Words
K0-90
From Slave Element (Src) X,Y,C,S,T,CT,GX,GY,V See DL205 V-memory map
C Number of Bytes . . . . . . . . . . . . . . . . . . . . . . . K K1-128
To Master Element (Dest) . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
D Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
See DL205 V-memory map
See DL205 V-memory map

5–316 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ECRX Example
Rung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of all
ECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 as
1
ECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to move
the module in the base to a different slot, then you only need to change this one IBox. V400 2
is used as a global result status register for the other ECxxxx IBoxes using this specific
ECOM100 module. V401 is used to coordinate/interlock the logic in all of the other ECxxxx
IBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte buffer
3
available for use by the other ECxxxx IBoxes using this specific ECOM100 module.
4
ECOM100 Config 5
1 ECOM100 IB-710
ECOM100#
Slot
Status
K0
K1
V400
6
Workspace V401
Msg Buffer (65 WORDs) V402-502 7
(example continued on next page)
8
NOTE: An ECOM100 IBox instruction is used without a permissive contact. The top line will be identified in
9
BOLD italics, and the instruction name and ID will be in BOLD characters.
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–317


Chapter 5: Intelligent Box (IBox) Instructions

ECRX Example (cont’d)


1 Rung 2: Using ECOM100# K0, read X0-X7 from Slave K7 and write them to slave K5 as fast
as possible. Store them in this local PLC in C200-C207, and write them to C300-C307 in
slave K5.
2 Both the ECRX and ECWX work with the ECOM100 Config IBox to simplify all
networking by handling all of the interlocks and proper resource sharing. They also provide
3 very simplified error reporting. You no longer need to worry about any SP "busy bits" or
"error bits", or what slot number a module is in, or have any counters or shift registers or any
4 other interlocks for resource management.
In this example, SP1 (always ON) is driving both the ECRX and ECWX IBoxes in the same
5 rung. On the scan that the Network Read completes, the Network Write will start that same
scan. As soon as the Network Write completes, any pending operations below it in the
program would get a turn. If there are no pending ECOM100 IBoxes below the ECWX,
6 then the very next scan the ECRX would start its request again.
Using the ECRX and ECWX for all of your ECOM100 network reads and writes is the
7 fastest the PLC can do networking. For local Serial Ports, DCM modules, or the original
ECOM modules, use the NETCFG and NETRX/NETWX IBoxes.
8
9
10
11
12
13
14
A
B
C
D

5–318 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ECOM100 WX Network Write(ECWX) (IB-741)


ECOM100 WX Network Write performs the WX instruction with built-in interlocking with
all other ECOM100 RX (ECRX) and ECOM100 WX (ECWX) IBoxes in your program to
1
 230 simplify communications networking. It will
 240 perform the WX on the specified 2
 250-1 ECOM100#'s network, which corresponds to
 260 a specific unique ECOM100 Configuration
(ECOM100) IBox at the top of your program.
3
DS5 Used
The Workspace parameter is an internal,
private register used by this IBox and MUST
4
HPP N/A
BE UNIQUE in this one instruction and
MUST NOT be used anywhere else in your 5
program.
Whenever this IBox has power, it will write 6
data from the master's V-memory buffer to the
specified slave starting with the given slave element, giving other ECOM100 RX and
ECOM100 WX IBoxes on that ECOM100# network a chance to execute.
7
For example, if you wish to read and write data continuously from 5 different slaves, you can
have all of these ECRX and ECWX instructions in ONE RUNG driven by SP1 (Always On).
8
They will execute round-robin style, automatically!
ECWX Parameters 9
• ECOM100#: this is a logical number associated with this specific ECOM100 module in the
specified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module must
reference this logical number
10
• Workspace: specifies a V-memory location that will be used by the instruction
• Slave ID: specifies the slave ECOM(100) PLC that will be targeted by the ECWX instruction
11
• From Master Element (Src): specifies the location in the master ECOM100 PLC where the data
will be sourced from
12
• Number of Bytes: specifies the number of bytes to write to the slave ECOM(100) PLC
• To Slave Element (Dest): specifies the slave address the data will be written to
13
• Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
14
Parameter DL205 Range A
ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Slave ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
See DL205 V-memory map - Data Words
K0-90
B
From Master Element (Src) . . . . . . . . . . . . . . . V
Number of Bytes . . . . . . . . . . . . . . . . . . . . . . . K
See DL205 V-memory map - Data Words
K1-128 C
To Slave Element (Dest) . . X,Y,C,S,T,CT,GX,GY,V See DL205 V-memory map
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
See DL205 V-memory map
See DL205 V-memory map
D

DL205 User Manual, 4th Edition, Rev. A 5–319


Chapter 5: Intelligent Box (IBox) Instructions

ECWX Example
1 Rung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of all
ECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 as
ECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to move
2 the module in the base to a different slot, then you only need to change this one IBox. V400
is used as a global result status register for the other ECxxxx IBoxes using this specific
3 ECOM100 module. V401 is used to coordinate/interlock the logic in all of the other ECxxxx
IBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte buffer
available for use by the other ECxxxx IBoxes using this specific ECOM100 module.
4
5 ECOM100 Config
ECOM100 IB-710
6 1
ECOM100#
Slot
K0
K1
Status V400
7 Workspace
Msg Buffer (65 WORDs)
V401
V402-502

8
9 NOTE: An ECOM100 IBox instruction is used without a permissive contact. The top line will be identified in
BOLD italics, and the instruction name and ID will be in BOLD characters.

10
11
12
13
14
A
B
C
D

5–320 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

ECWX Example (cont’d)


Rung 2: Using ECOM100# K0, read X0-X7 from Slave K7 and write them to slave K5 as fast
as possible. Store them in this local PLC in C200-C207, and write them to C300-C307 in
1
slave K5.
Both the ECRX and ECWX work with the ECOM100 Config IBox to simplify all
2
networking by handling all of the interlocks and proper resource sharing. They also provide
very simplified error reporting. You no longer need to worry about any SP "busy bits" or 3
"error bits", or what slot number a module is in, or have any counters or shift registers or any
other interlocks for resource management. 4
In this example, SP1 (always ON) is driving both the ECRX and ECWX IBoxes in the same
rung. On the scan that the Network Read completes, the Network Write will start that same
scan. As soon as the Network Write completes, any pending operations below it in the
5
program would get a turn. If there are no pending ECOM100 IBoxes below the ECWX, then
the very next scan the ECRX would start its request again. 6
Using the ECRX and ECWX for all of your ECOM100 network reads and writes is the
fastest the PLC can do networking. For local Serial Ports, DCM modules, or the original 7
ECOM modules, use the NETCFG and NETRX/NETWX IBoxes.
8
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–321


Chapter 5: Intelligent Box (IBox) Instructions

NETCFG Network Configuration (NETCFG) (IB-700)


1 Network Config defines all the common information necessary for performing RX/WX
Networking using the NETRX and NETWX IBox instructions via a local CPU serial port,
 230 DCM or ECOM module.
2  240 You must have the Network Config
 250-1 instruction at the top of your ladder/stage
3  260 program with any other configuration
IBoxes.
4 DS5
HPP
Used
N/A
If you use more than one local serial port,
DCM or ECOM in your PLC for RX/WX
5 Networking, you must have a different
Network Config instruction and Network #
for EACH RX/WX network in your system
6 that utilizes any NETRX/NETWX IBox
instructions.
7 The 2nd parameter "CPU Port or Slot" is the same value as in the high byte of the first LD
instruction if you were coding the RX or WX rung yourself. This value is CPU and port
8 specific. Use KF1 for local CPU serial port 2. Use K3 if a DCM or ECOM is located in slot 3
of a local 205 base.
The Workspace parameter is an internal, private register used by the Network Config IBox
9 and MUST BE UNIQUE in this one instruction and MUST NOT be used anywhere else in
your program.
10 NETCFG Parameters
• Network#: specifies a unique # for each ECOM(100) or DCM network to use
11 • CPU Port or Slot: specifies the CPU port number or slot number of DCM/ECOM(100) used
• Workspace: specifies a V-memory location that will be used by the instruction
12
Parameter DL205 Range
13 Network# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
CPU Port or Slot . . . . . . . . . . . . . . . . . . . . . . . K K0-FF
14 Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words

A
B
C
D

5–322 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

NETCFG Example
The Network Configuration IBox coordinates all of the interaction with other Network
IBoxes (NETRX/NETWX). You must have a Network Configuration IBox for each serial
1
port network, DCM module network, or original ECOM module network in your system.
Configuration IBoxes must be at the top of your program and must execute every scan. 2
This IBox defines Network# K0 to be for the local CPU serial port #2 (KF1). For local CPU
serial ports or DCM/ECOM modules, use the same value you would use in the most 3
significant byte of the first LD instruction in a normal RX/WX rung to reference the port or
module. Any NETRX or NETWX IBoxes that need to reference this specific network would
enter K0 for their Network# parameter.
4
The Workspace register is used to maintain state information about the port or module, along
with proper sharing and interlocking with the other NETRX and NETWX IBoxes in the
5
program. This V-memory register must not be used anywhere else in the entire program.
6
7
8
9
NOTE: The Network Configuration IBox instruction is used without a permissive contact. The top line will
be identified in BOLD italics, and the instruction name and ID will be in BOLD characters. 10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–323


Chapter 5: Intelligent Box (IBox) Instructions

Network RX Read (NETRX) (IB-701)


1 Network RX Read performs the RX instruction with built-in interlocking with all other
Network RX (NETRX) and Network WX (NETWX) IBoxes in your program to simplify
 230 communications networking. It will perform
2  240 the RX on the specified Network #, which
 250-1 corresponds to a specific unique Network
3  260 Configuration (NETCFG) at the top of your
program.
4 DS5 Used
The Workspace parameter is an internal,
private register used by this IBox and MUST
HPP N/A
BE UNIQUE in this one instruction and
5 MUST NOT be used anywhere else in your
program.
6 Whenever this IBox has power, it will read
element data from the specified slave into the
7 given destination V-memory buffer, giving other Network RX and Network WX IBoxes on
that Network # a chance to execute.

8 For example, if you wish to read and write data continuously from 5 different slaves, you can
have all of these NETRX and NETWX instructions in ONE RUNG driven by SP1 (Always
On). They will execute round-robin style, automatically!
9
NETRX Parameters
10 • Network#: specifies the (CPU port’s, DCM’s, ECOM’s) Network # defined by the NETCFG
instruction
11 • Workspace: specifies a V-memory location that will be used by the instruction
• Slave ID: specifies the slave PLC that will be targeted by the NETRX instruction
12 • From Slave Element (Src): specifies the slave address of the data to be read
• Number of Bytes: specifies the number of bytes to read from the slave device
13 • To Master Element (Dest): specifies the location where the slave data will be placed in the master
PLC
14 • Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
A Parameter DL205 Range
Network# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
B Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
Slave ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-90

C From Slave Element (Src) X,Y,C,S,T,CT,GX,GY,V


Number of Bytes . . . . . . . . . . . . . . . . . . . . . . . K
See DL205 V-memory map
K1-128
To Master Element (Dest) . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
D Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map

5–324 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

NETRX Example
Rung 1: The Network Configuration IBox coordinates all of the interaction with other
Network IBoxes (NETRX/NETWX). You must have a Network Configuration IBox for
1
each serial port network, DCM module network, or original ECOM module network in your
system. Configuration IBoxes must be at the top of your program and must execute every 2
scan.
This IBox defines Network# K0 to be for the local CPU serial port #2 (KF1). For local CPU 3
serial ports or DCM/ECOM modules, use the same value you would use in the most
significant byte of the first LD instruction in a normal RX/WX rung to reference the port or
module. Any NETRX or NETWX IBoxes that need to reference this specific network would
4
enter K0 for their Network# parameter.
The Workspace register is used to maintain state information about the port or module, along
5
with proper sharing and interlocking with the other NETRX and NETWX IBoxes in the
program. This V-memory register must not be used anywhere else in the entire program. 6
7
8
9
(example continued on next page) 10
NOTE: The Network Configuration IBox instruction is used without a permissive contact. The top line will
be identified in BOLD italics, and the instruction name and ID will be in BOLD characters.
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–325


Chapter 5: Intelligent Box (IBox) Instructions

NETRX Example (cont’d)


1 Rung 2: Using Network# K0, read X0-X7 from Slave K7 and write them to slave K5 as fast as
possible. Store them in this local PLC in C200-C207, and write them to C300-C307 in slave
K5.
2 Both the NETRX and NETWX work with the Network Config IBox to simplify all
networking by handling all of the interlocks and proper resource sharing. They also provide
3 very simplified error reporting. You no longer need to worry about any SP "busy bits" or
"error bits", or what port number or slot number a module is in, or have any counters or shift
4 registers or any other interlocks for resource management.
In this example, SP1 (always ON) is driving both the NETRX and NETWX IBoxes in the
5 same rung. On the scan that the Network Read completes, the Network Write will start that
same scan. As soon as the Network Write completes, any pending operations below it in the
program would get a turn. If there are no pending NETRX or NETWX IBoxes below this
6 IBox, then the very next scan the NETRX would start its request again.
Using the NETRX and NETWX for all of your serial port, DCM, or original ECOM
7 network reads and writes is the fastest the PLC can do networking. For ECOM100 modules,
use the ECOM100 and ECRX/ECWX IBoxes.
8
9
10
11
12
13
14
A
B
C
D

5–326 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

Network WX Write (NETWX) (IB-702)


Network WX Write performs the WX instruction with built-in interlocking with all other
Network RX (NETRX) and Network WX (NETWX) IBoxes in your program to simplify
1
 230 communications networking. It will
 240 perform the WX on the specified Network 2
 250-1 #, which corresponds to a specific unique
 260 Network Configuration (NETCFG) at the
top of your program.
3
DS5 Used
The Workspace parameter is an internal,
private register used by this IBox and
4
HPP N/A
MUST BE UNIQUE in this one
instruction and MUST NOT be used 5
anywhere else in your program.
Whenever this IBox has power, it will write 6
data from the master's V-memory buffer to
the specified slave starting with the given slave element, giving other Network RX and
Network WX IBoxes on that Network # a chance to execute.
7
For example, if you wish to read and write data continuously from 5 different slaves, you can
have all of these NETRX and NETWX instructions in ONE RUNG driven by SP1 (Always
8
On). They will execute round-robin style, automatically!
9
NETWX Parameters
• Network#: specifies the (CPU port’s, DCM’s, ECOM’s) Network # defined by the NETCFG 10
instruction
• Workspace: specifies a V-memory location that will be used by the instruction 11
• Slave ID: specifies the slave PLC that will be targeted by the NETWX instruction
• From Master Element (Src): specifies the location in the master PLC where the data will be sourced 12
from
• Number of Bytes: specifies the number of bytes to write to the slave PLC 13
• To Slave Element (Dest): specifies the slave address the data will be written to
• Success: specifies a bit that will turn on once the request is completed successfully 14
• Error: specifies a bit that will turn on if the instruction is not successfully completed

Parameter DL205 Range


A
Network# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words B
Slave ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-90
From Master Element (Src) . . . . . . . . . . . . . . . V
Number of Bytes . . . . . . . . . . . . . . . . . . . . . . . K
See DL205 V-memory map - Data Words
K1-128
C
To Slave Element (Dest) . . X,Y,C,S,T,CT,GX,GY,V See DL205 V-memory map
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map D
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map

DL205 User Manual, 4th Edition, Rev. A 5–327


Chapter 5: Intelligent Box (IBox) Instructions

NETWX Example
1 Rung 1: The Network Configuration IBox coordinates all of the interaction with other
Network IBoxes (NETRX/NETWX). You must have a Network Configuration IBox for
each serial port network, DCM module network, or original ECOM module network in your
2 system. Configuration IBoxes must be at the top of your program and must execute every
scan.
3 This IBox defines Network# K0 to be for the local CPU serial port #2 (KF1). For local CPU
serial ports or DCM/ECOM modules, use the same value you would use in the most
4 significant byte of the first LD instruction in a normal RX/WX rung to reference the port or
module. Any NETRX or NETWX IBoxes that need to reference this specific network would
enter K0 for their Network# parameter.
5 The Workspace register is used to maintain state information about the port or module, along
with proper sharing and interlocking with the other NETRX and NETWX IBoxes in the
6 program. This V-memory register must not be used anywhere else in the entire program.

7
8
9
10 (example continued on next page)

11 NOTE: The Network Configuration IBox instruction is used without a permissive contact. The top line will
be identified in BOLD italics, and the instruction name and ID will be in BOLD characters.

12
13
14
A
B
C
D

5–328 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

NETWX Example (cont’d)


Rung 2: Using Network# K0, read X0-X7 from Slave K7 and write them to slave K5 as fast as
possible. Store them in this local PLC in C200-C207, and write them to C300-C307 in slave
1
K5.
Both the NETRX and NETWX work with the Network Config IBox to simplify all
2
networking by handling all of the interlocks and proper resource sharing. They also provide
very simplified error reporting. You no longer need to worry about any SP "busy bits" or 3
"error bits", or what port number or slot number a module is in, or have any counters or shift
registers or any other interlocks for resource management. 4
In this example, SP1 (always ON) is driving both the NETRX and NETWX IBoxes in the
same rung. On the scan that the Network Read completes, the Network Write will start that
same scan. As soon as the Network Write completes, any pending operations below it in the
5
program would get a turn. If there are no pending NETRX or NETWX IBoxes below this
IBox, then the very next scan the NETRX would start its request again. 6
Using the NETRX and NETWX for all of your serial port, DCM, or original ECOM
network reads and writes is the fastest the PLC can do networking. For ECOM100 modules, 7
use the ECOM100 and ECRX/ECWX IBoxes.
8
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–329


Chapter 5: Intelligent Box (IBox) Instructions

CTRIO Configuration (CTRIO) (IB-1000)


1 CTRIO Config defines all the common information for one specific CTRIO module which
is used by the other CTRIO IBox instructions (for example, CTRLDPR - CTRIO Load
2  230 Profile, CTREDRL - CTRIO Edit and
 240 Reload Preset Table, CTRRTLM -
3  250-1 CTRIO Run to Limit Mode, ...).
 260 The Input/Output parameters for this
instruction can be copied directly from
4 DS5 Used the CTRIO Workbench configuration
HPP N/A for this CTRIO module. Since the
5 behavior is slightly different when the
CTRIO module is in an EBC Base via
6 an ERM, you must specify whether the CTRIO in Local Base CTRIO in EBC Base
CTRIO module is in a local base or in an
7 EBC base.
You must have the CTRIO Config IBox at the top of your ladder/stage program along with
8 any other configuration IBoxes.
If you have more than one CTRIO in your PLC, you must have a different CTRIO Config
9 IBox for EACH CTRIO module in your system that utilizes any CTRIO IBox instructions.
Each CTRIO Config IBox must have a UNIQUE CTRIO# value. This is how the CTRIO
10 IBoxes differentiate between the different CTRIO modules in your system.
The Workspace parameter is an internal, private register used by the CTRIO Config IBox
11 and MUST BE UNIQUE in this one instruction and MUST NOT be used anywhere else in
your program.

12 CTRIO Parameters
• CTRIO#: specifies a specific CTRIO module based on a user defined number
13 • Slot: (local base): specifies which PLC slot is occupied by the module (always K0 for EBC base)
• Workspace: specifies a V-memory location that will be used by the instruction
14 • CTRIO Location: specifies where the module is located (PLC local base or ERM to EBC base)
• Input (local base): This needs to be set to the same V-memory register as is specified in CTRIO
Workbench as ‘Starting V address for inputs’ for this unique CTRIO.
A • Output (local base): This needs to be set to the same V-memory register as is specified in CTRIO
Workbench as ‘Starting V address for outputs’ for this unique CTRIO.
B • Word Input (EBC base): The starting input V-memory address as defined by the I/O configuration
in the ERM Workbench
C • Bit Input (EBC base): The starting input Bit address as defined by the I/O configuration in the
ERM Workbench
D • Word Output (EBC base): The starting output V-memory address as defined by the I/O
configuration in the ERM Workbench
• Bit Output (EBC base): The starting output Bit address as defined by the I/O configuration in the
ERM Workbench

5–330 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

Parameter DL205 Range


CTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
Slot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
K0-255
K0-7
1
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
Input (Word, Bit) . . . . . . . . . . . . . . . . . . . . . . V,B See DL205 V-memory map - Data Words 2
Output (Word, Bit) . . . . . . . . . . . . . . . . . . . . V,B See DL205 V-memory map - Data Words

CTRIO Example (local base) 3


Rung 1: This sets up the CTRIO module in slot 2 of the local base. Each CTRIO module in
the system will need a separate CTRIO Config IBox before any CTRxxxx IBoxes can be used. 4
The CTRIO has been configured to use V2000 through V2025 for its input data, and V2030
through V2061 for its output data. 5
6
7
8
CTRIO Example (EBC base)
Overview: ERM Workbench must first be used to assign memory addresses to the I/O 9
modules in the EBC base. Once the CTRIO module memory addresses are established using
ERM Workbench, they are used in CTRIO Workbench and in a CTRIO IBox instruction to 10
configure and define a specific CTRIO module. For this example, the CTRIO module uses
V2000 - V2017 for its Word Input data and B40416.0 - B40423.15 for its Bit Input data.
The module uses V2100 - V2123 for its Word Output data and B40515.0 - B40522.15 for
11
its Bit Output data. The starting addresses, V2000 and V40416 (for inputs) and V2100 and
V40515 (for outputs) are entered into CTRIO Workbench I/O Map to configure this specific 12
CTRIO module. These starting addresses are the memory locations used in the CTRIO IBox
instruction as the Word Input, Bit Input, Word Output and Bit Output addresses as shown
below. For more information on this topic, refer to the CTRIO User Manual “Program
13
Control” chapter.
14
A
B
C
NOTE: The CTRIO Configuration IBox instructions do not require a permissive contact. The top line will be D
identified in BOLD italics, and the instruction name and ID will be in BOLD characters.

DL205 User Manual, 4th Edition, Rev. A 5–331


Chapter 5: Intelligent Box (IBox) Instructions

CTRIO Add Entry to End of Preset Table (CTRADPT) (IB-1005)


1 CTRIO Add Entry to End of Preset Table, on a leading edge transition to this IBox, will
append an entry to the end of a memory based Preset Table on a specific CTRIO Output
 230 resource. This IBox will take more than one
2  240 PLC scan to execute. Either the Success or
 250-1 Error bit will turn on when the command is
3  260
complete. If the Error Bit is on, you can use
the CTRIO Read Error Code (CTRRDER)
IBox to get extended error information.
4 DS5 Used
Entry Type:
HPP N/A
5 K0: Set
K1: Reset
6 K2: Pulse On (uses Pulse Time)
K3: Pulse Off (uses Pulse Time)
7 K4: Toggle
K5: Reset Count
8 Note that the Pulse Time parameter is ignored by some Entry Types.
The Workspace register is for internal use by this IBox instruction and MUST NOT be used
9 anywhere else in your program.

10 CTRADPT Parameters
• CTRIO#: specifies a specific CTRIO module based on a user defined number (see CTRIO Config)
11 • Output#: specifies a CTRIO output to be used by the instruction
• Entry Type: specifies the Entry Type to be added to the end of a Preset Table
12 • Pulse Time: specifies a pulse time in msecs for the Pulse On and Pulse Off Entry Types
• Preset Count: specifies an initial count value to begin at after Reset
13 • Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the instruction has successfully completed
14 • Error: specifies a bit that will turn on if the instruction does not complete successfully

A Parameter DL205 Range


CTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
B Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
Entry Type . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K
K0-3
K0-5; See DL205 V-memory map - Data Words
Pulse Time . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-65535; See DL205 V-memory map - Data Words
C Preset Count . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-2147434528; See DL205 V-memory map
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
D Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
See DL205 V-memory map
See DL205 V-memory map

5–332 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

CTRADPT Example
Rung 1: This sets up the CTRIO module in slot 2 of the local base. Each CTRIO module in
the system will need a separate CTRIO Config IBox before any CTRxxxx IBoxes can be used.
1
The CTRIO has been configured to use V2000 through V2025 for its input data, and V2030
through V2061 for its output data. 2
3
4
5
NOTE: The CTRIO Configuration IBox instruction does not require a permissive contact. The top line will be 6
identified in BOLD italics, and the instruction name and ID will be in BOLD characters.

Rung 2: This rung is a sample method for enabling the CTRADPT command. A C-bit is
7
used to allow the programmer to control the command from Data View for testing purposes.
Turning on C0 will cause the CTRADPT instruction to add a new preset to the preset table
8
for output #0 on the CTRIO in slot 2. The new preset will be a command to RESET (entry
type K1=reset), pulse time is left at zero as the reset type does not use this, and the count at 9
which it will reset will be 20.
Operating procedure for this example code is to load the CTRADPT_ex1.cwb file to your 10
CTRIO, then enter the code shown here, change to RUN mode, enable output #0 by turning
on C2 in Data View, turn encoder on CTRIO to value above 10 and output #0 light will
come on and stay on for all counts past 10. Now reset the counter with C1, enable C0 to
11
execute CTRADPT command to add a reset for output #0 at a count of 20, turn on C2 to
enable output #0, then turn encoder to value of 10+ (output #0 should turn on) and then 12
continue on to count of 20+ (output #0 should turn off ).
13
14
A
B
C
(example continued on next page)
D

DL205 User Manual, 4th Edition, Rev. A 5–333


Chapter 5: Intelligent Box (IBox) Instructions

CTRADPT Example (cont’d)


1 Rung 3: This rung allows the programmer to reset the counter from the ladder logic.

2
3
4 Rung 4: This rung allows the operator to enable output #0 from the ladder code.
5
6
7
8
9
10
11
12
13
14
A
B
C
D

5–334 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

CTRIO Clear Preset Table (CTRCLRT) (IB-1007)


CTRIO Clear Preset Table will clear the RAM based Preset Table on a leading edge transition
to this IBox. This IBox will take more than
1
 230 one PLC scan to execute. Either the Success
 240 or Error bit will turn on when the command 2
 250-1 is complete. If the Error Bit is on, you can use
 260 the CTRIO Read Error Code (CTRRDER)
IBox to get extended error information.
3
DS5 Used
The Workspace register is for internal use by
this IBox instruction and MUST NOT be
4
HPP N/A
used anywhere else in your program.
5
CTRCLRT Parameters
• CTRIO#: specifies a specific CTRIO module based on a user defined number (see CTRIO Config)
6
• Output#: specifies a CTRIO output to be used by the instruction
• Workspace: specifies a V-memory location that will be used by the instruction
7
• Success: specifies a bit that will turn on once the instruction has successfully completed
• Error: specifies a bit that will turn on if the instruction does not complete successfully
8
Parameter DL205 Range 9
CTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-3 10
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
See DL205 V-memory map
See DL205 V-memory map
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–335


Chapter 5: Intelligent Box (IBox) Instructions

CTRCLRT Example
1 Rung 1: This sets up the CTRIO module in slot 2 of the local base. Each CTRIO module in
the system will need a separate CTRIO Config IBox before any CTRxxxx IBoxes can be used.
The CTRIO has been configured to use V2000 through V2025 for its input data, and V2030
2 through V2061 for its output data.

3
4
5
6
7 NOTE: The CTRIO Configuration IBox instruction does not require a permissive contact. The top line will be
identified in BOLD italics, and the instruction name and ID will be in BOLD characters.

8 Rung 2: This rung is a sample method for enabling the CTRCLRT command. A C-bit is
used to allow the programmer to control the command from Data View for testing purposes.
9 Turning on C0 will cause the CTRCLRT instruction to clear the preset table for output #0
on the CTRIO in slot 2.
10 Operating procedure for this example code is to load the CTRCLRT_ex1.cwb file to your
CTRIO, then enter the code shown here, change to RUN mode, enable output #0 by turning
on C2 in Data View, turn encoder on CTRIO to value above 10 and output #0 light will
11 come on and stay on until a count of 20 is reached, where it will turn off. Now reset the
counter with C1, enable C0 to execute CTRCLRT command to clear the preset table, turn
12 on C2 to enable output #0, then turn encoder to value of 10+ (output #0 should NOT turn
on).
13
14
A
B
C
D

5–336 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

CTRCLRT Example (cont’d)


Rung 3: This rung allows the programmer to reset the counter from the ladder logic. 1
2
3
4
Rung 4: This rung allows the operator to enable output #0 from the ladder code. 5
6
7
8
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–337


Chapter 5: Intelligent Box (IBox) Instructions

CTRIO Edit Preset Table Entry (CTREDPT) (IB-1003)


1 CTRIO Edit Preset Table Entry, on a leading edge transition to this IBox, will edit a single
entry in a Preset Table on a specific CTRIO Output resource. This IBox is good if you are
 230 editing more than one entry in a file at a time.
2  240 If you wish to do just one edit and then reload
 250-1 the table immediately, see the CTRIO Edit
3  260 and Reload Preset Table Entry (CTREDRL)
IBox.
4 DS5 Used
This IBox will take more than one PLC scan to
execute. Either the Success or Error bit will
HPP N/A
turn on when the command is complete. If the
5 Error Bit is on, you can use the CTRIO Read
Error Code (CTRRDER) IBox to get extended
6 error information.
Entry Type:
7 K0: Set
K1: Reset
8 K2: Pulse On (uses Pulse Time)
K3: Pulse Off (uses Pulse Time)
9 K4: Toggle
K5: Reset Count
10 Note that the Pulse Time parameter is ignored by some Entry Types.
The Workspace register is for internal use by this IBox instruction and MUST NOT be used
11 anywhere else in your program.

12 CTREDPT Parameters
• CTRIO#: specifies a specific CTRIO module based on a user defined number (see CTRIO Config
13 Ibox)
• Output#: specifies a CTRIO output to be used by the instruction
14 • Table#: specifies the Table number of which an Entry is to be edited
• Entry#: specifies the Entry location in the Preset Table to be edited
A • Entry Type: specifies the Entry Type to add during the edit
• Pulse Time: specifies a pulse time in msecs for the Pulse On and Pulse Off Entry Types
B • Preset Count: specifies an initial count value to begin at after Reset
• Workspace: specifies a V-memory location that will be used by the instruction
C • Success: specifies a bit that will turn on once the instruction has successfully completed
• Error: specifies a bit that will turn on if the instruction does not complete successfully
D

5–338 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

Parameter DL205 Range


CTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
K0-255
K0-3
1
Table# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-255; See DL205 V-memory map - Data Words
Entry# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-255; See DL205 V-memory map - Data Words 2
Entry Type . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-5; See DL205 V-memory map - Data Words
Pulse Time . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K
Preset Count . . . . . . . . . . . . . . . . . . . . . . . . . V,K
K0-65535; See DL205 V-memory map - Data Words
K0-2147434528; See DL205 V-memory map
3
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map 4
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
5
CTREDPT Example
Rung 1: This sets up the CTRIO module in slot 2 of the local base. Each CTRIO module in
6
the system will need a separate CTRIO Config IBox before any CTRxxxx IBoxes can be used.
The CTRIO has been configured to use V2000 through V2025 for its input data, and V2030 7
through V2061 for its output data.
8
9
10
11
(example continued on next page)
12
NOTE: The CTRIO Configuration IBox instruction does not require a permissive contact. The top line will be
identified in BOLD italics, and the instruction name and ID will be in BOLD characters. 13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–339


Chapter 5: Intelligent Box (IBox) Instructions

CTREDPT Example (cont’d)


1 Rung 2: This rung is a sample method for enabling the CTREDPT command. A C-bit is
used to allow the programmer to control the command from Data View for testing purposes.
2 Turning on C0 will cause the CTREDPT instruction to change the second preset from a reset
at a count of 20 to a reset at a count of 30 for output #0 on the CTRIO in slot 2.
Operating procedure for this example code is to load the CTREDPT_ex1.cwb file to your
3 CTRIO, then enter the code shown here, change to RUN mode, enable output #0 by turning
on C2 in Data View, turn encoder on CTRIO to value above 10 and output #0 light will
4 come on and stay on until a count of 20 is reached, where it will turn off. Now reset the
counter with C1, enable C0 to execute CTREDPT command to change the second preset,
5 turn on C2 to enable output #0, then turn encoder to value of 10+ (output #0 should turn
on) and then continue past a count of 30 (output #0 should turn off ).
Note that we must also reload the profile after changing the preset(s), this is why the
6 CTRLDPR command follows the CTREDPT command in this example.

7
8
9
10
11
12
13
14
A
B
C
D

5–340 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

CTREDPT Example (cont’d)


Rung 3: This rung allows the programmer to reset the counter from the ladder logic. 1
2
3
4
Rung 4: This rung allows the operator to enable output #0 from the ladder code. 5
6
7
8
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–341


Chapter 5: Intelligent Box (IBox) Instructions

CTRIO Edit Preset Table Entry and Reload (CTREDRL) (IB-1002)


1 CTRIO Edit Preset Table Entry and Reload, on a leading edge transition to this IBox, will
perform this dual operation to a CTRIO Output resource in one CTRIO command. This
2  230 IBox will take more than one PLC scan to execute.
 240 Either the Success or Error bit will turn on when the
command is complete. If the Error Bit is on, you can
 250-1
3  260
use the CTRIO Read Error Code (CTRRDER) IBox
to get extended error information.
4 DS5 Used
Entry Type:
HPP N/A K0: Set
5 K1: Reset
K2: Pulse On (uses Pulse Time)
6 K3: Pulse Off (uses Pulse Time)
K4: Toggle
7 K5: Reset Count
Note that the Pulse Time parameter is ignored by some Entry Types.
8 The Workspace register is for internal use by this IBox instruction and MUST NOT be used
anywhere else in your program.
9
CTREDRL Parameters
10 • CTRIO#: specifies a specific CTRIO module based on a user defined number (see CTRIO Config
Ibox)
11 • Output#: specifies a CTRIO output to be used by the instruction
• Table#: specifies the Table number of which an Entry is to be edited
12 • Entry#: specifies the Entry location in the Preset Table to be edited
• Entry Type: specifies the Entry Type to add during the edit
13 • Pulse Time: specifies a pulse time in msecs for the Pulse On and Pulse Off Entry Types
• Preset Count: specifies an initial count value to begin at after Reset
14 • Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the instruction has successfully completed
A • Error: specifies a bit that will turn on if the instruction does not complete successfully

B
C
D

5–342 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

Parameter DL205 Range


CTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
K0-255
K0-3
1
Table# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-255; See DL205 V-memory map - Data Words
Entry# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-255; See DL205 V-memory map - Data Words 2
Entry Type . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-5; See DL205 V-memory map - Data Words
Pulse Time . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K
Preset Count . . . . . . . . . . . . . . . . . . . . . . . . . V,K
K0-65535; See DL205 V-memory map - Data Words
K0-2147434528; See DL205 V-memory map
3
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map 4
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map

CTREDRL Example
5
Rung 1: This sets up the CTRIO module in slot 2 of the local base. Each CTRIO module in
the system will need a separate CTRIO Config IBox before any CTRxxxx IBoxes can be used.
6
The CTRIO has been configured to use V2000 through V2025 for its input data, and V2030
through V2061 for its output data. 7
8
9
10
(example continued on next page)
11
NOTE: The CTRIO Configuration IBox instruction does not require a permissive contact. The top line will be
12
identified in BOLD italics, and the instruction name and ID will be in BOLD characters.
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–343


Chapter 5: Intelligent Box (IBox) Instructions

CTREDRL Example (cont’d)


1 Rung 2: This rung is a sample method for enabling the CTREDRL command. A C-bit is
used to allow the programmer to control the command from Data View for testing purposes.
2 Turning on C0 will cause the CTREDRL instruction to change the second preset in file 1
from a reset value of 20 to a reset value of 30.
Operating procedure for this example code is to load the CTREDRL_ex1.cwb file to your
3 CTRIO, then enter the code shown here, change to RUN mode, enable output #0 by turning
on C2 in Data View, turn encoder on CTRIO to value above 10 and output #0 light will
4 come on, continue to a count above 20 and the output #0 light will turn off. Now reset the
counter with C1, enable C0 to execute CTREDRL command to change the second preset
5 count value to 30, then turn encoder to value of 10+ (output #0 should turn on) and
continue on to a value of 30+ and the output #0 light will turn off.
Note that it is not necessary to reload this file separately, however, the command can only
6 change one value at a time.

7
8
9
10
11
12
13
14
A
B (example continued on next page)

C
D

5–344 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

CTREDRL Example (cont’d)


Rung 3: This rung allows the programmer to reset the counter from the ladder logic. 1
2
3
4
Rung 4: This rung allows the operator to enable output #0 from the ladder code. 5
6
7
8
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–345


Chapter 5: Intelligent Box (IBox) Instructions

CTRIO Initialize Preset Table (CTRINPT) (IB-1004)


1 CTRIO Initialize Preset Table, on a leading edge transition to this IBox, will create a single
entry Preset Table in memory but not as a file, on a specific CTRIO Output resource. This
2  230 IBox will take more than one PLC scan to
 240 execute. Either the Success or Error bit will turn
3  250-1 on when the command is complete. If the Error
 260 Bit is on, you can use the CTRIO Read Error
Code (CTRRDER) IBox to get extended error
4 DS5 Used information.
HPP N/A Entry Type:
5 K0: Set

6 K1: Reset
K2: Pulse On (uses Pulse Time)
7 K3: Pulse Off (uses Pulse Time)
K4: Toggle
8 K5: Reset Count
Note that the Pulse Time parameter is ignored by some Entry Types.
9 The Workspace register is for internal use by this IBox instruction and MUST NOT be used
anywhere else in your program.
10
11 CTRINPT Parameters
• CTRIO#: specifies a specific CTRIO module based on a user defined number (see CTRIO Config
Ibox)
12 • Output#: specifies a CTRIO output to be used by the instruction
• Entry Type: specifies the Entry Type to add during the edit
13 • Pulse Time: specifies a pulse time in msecs for the Pulse On and Pulse Off Entry Types
• Preset Count: specifies an initial count value to begin at after Reset
14 • Workspace: specifies a V-memory location that will be used by the instruction

A • Success: specifies a bit that will turn on once the instruction has successfully completed
• Error: specifies a bit that will turn on if the instruction does not complete successfully

B
C
D

5–346 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

Parameter
CTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
DL205 Range
K0-255
1
Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-3
Entry Type . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-5; See DL205 V-memory map - Data Words 2
Pulse Time . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-65535; See DL205 V-memory map - Data Words
Preset Count . . . . . . . . . . . . . . . . . . . . . . . . . V,K
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
K0-2147434528; See DL205 V-memory map
See DL205 V-memory map - Data Words
3
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map 4
CTRINPT Example 5
Rung 1: This sets up the CTRIO module in slot 2 of the local base. Each CTRIO module in
the system will need a separate CTRIO Config IBox before any CTRxxxx IBoxes can be used.
The CTRIO has been configured to use V2000 through V2025 for its input data, and V2030
6
through V2061 for its output data.
7
8
9
10
(example continued on next page)
11
NOTE: The CTRIO Configuration IBox instruction does not require a permissive contact. The top line will be
identified in BOLD italics, and the instruction name and ID will be in BOLD characters.
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–347


Chapter 5: Intelligent Box (IBox) Instructions

CTRINPT Example (cont’d)


1 Rung 2: This rung is a sample method for enabling the CTRINPT command. A C-bit is used
to allow the programmer to control the command from Data View for testing purposes.
2 Turning on C0 will cause the CTRINPT instruction to create a single entry preset table, but
not as a file, and use it for the output #0. In this case the single preset will be set at a count of
15 for output #0.
3 Operating procedure for this example code is to load the CTRINPT_ex1.cwb file to your
CTRIO, then enter the code shown here, change to RUN mode, enable output #0 by turning
4 on C2 in Data View, turn encoder on CTRIO to value above 15 and output #0 light will not
come on. Now reset the counter with C1, enable C0 to execute CTRINPT command to
5 create a single preset table with a preset to set output#0 at a count of 15, then turn encoder to
value of 15+ (output #0 should turn on).

6
7
8
9
10
11
12
13
14
A
B
C
D

5–348 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

CTRINPT Example (cont’d)


Rung 3: This rung allows the programmer to reset the counter from the ladder logic. 1
2
3
4
Rung 4: This rung allows the operator to enable output #0 from the ladder code.
5
6
7
8
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–349


Chapter 5: Intelligent Box (IBox) Instructions

CTRIO Initialize Preset Table on Reset (CTRINTR) (IB-1010)


1 CTRIO Initialize Preset Table on Reset, on a leading edge transition to this IBox, will create a
single entry Preset Table in memory but not as a file, on a specific CTRIO Output
2  230 resource.This IBox will take more than 1 PLC
 240 scan to execute. Either the Success or Error
 250-1 bit will turn on when the command is
3  260 complete. If the Error Bit is on, you can use
the CTRIO Read Error Code (CTRRDER)
4 DS5 Used IBox to get extended error information.
HPP N/A Entry Type:
5 K0: Set

6 K1: Reset
K2: Pulse On (uses Pulse Time)
7 K3: Pulse Off (uses Pulse Time)
K4: Toggle
8 K5: Reset Count
Note that the Pulse Time parameter is ignored by some Entry Types.
9 The Workspace register is for internal use by this IBox instruction and MUST NOT be used
anywhere else in your program.
10
11 CTRINTR Parameters
• CTRIO#: specifies a specific CTRIO module based on a user defined number (see CTRIO Config
Ibox)
12 • Output#: specifies a CTRIO output to be used by the instruction
• Entry Type: specifies the Entry Type to add during the edit
13 • Pulse Time: specifies a pulse time in msecs for the Pulse On and Pulse Off Entry Types
• Preset Count: specifies an initial count value to begin at after Reset
14 • Workspace: specifies a V-memory location that will be used by the instruction

A • Success: specifies a bit that will turn on once the instruction has successfully completed
• Error: specifies a bit that will turn on if the instruction does not complete successfully

B
C
D

5–350 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

Parameter DL205 Range


CTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
1
Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-3
Entry Type . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K
Pulse Time . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K
K0-5; See DL205 V-memory map - Data Words
K0-65535; See DL205 V-memory map - Data Words
2
Preset Count . . . . . . . . . . . . . . . . . . . . . . . . . V,K
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
K0-2147434528; See DL205 V-memory map
See DL205 V-memory map - Data Words
3
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map 4
CTRINTR Example 5
Rung 1: This sets up the CTRIO module in slot 2 of the local base. Each CTRIO module in
the system will need a separate CTRIO Config IBox before any CTRxxxx IBoxes can be used.
The CTRIO has been configured to use V2000 through V2025 for its input data, and V2030
6
through V2061 for its output data.
7
8
9
10
(example continued on next page)
11
NOTE: The CTRIO Configuration IBox instruction does not require a permissive contact. The top line will be
identified in BOLD italics, and the instruction name and ID will be in BOLD characters. 12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–351


Chapter 5: Intelligent Box (IBox) Instructions

CTRINTR Example (cont’d)


1 Rung 2: This rung is a sample method for enabling the CTRINTR command. A C-bit is
used to allow the programmer to control the command from Data View for testing purposes.
2 Turning on C0 will cause the CTRINTR instruction to create a single entry preset table, but
not as a file, and use it for output #0, the new preset will be loaded when the current count is
reset. In this case the single preset will be a set at a count of 25 for output #0.
3 Operating procedure for this example code is to load the CTRINTR_ex1.cwb file to your
CTRIO, then enter the code shown here, change to RUN mode, enable output #0 by turning
4 on C2 in Data View, turn encoder on CTRIO to value above 10 and output #0 light will
come on. Now turn on C0 to execute the CTRINTR command, reset the counter with C1,
5 then turn encoder to value of 25+ (output #0 should turn on).

6
7
8
9
10
11
12
13
14
A
B
C
D

5–352 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

CTRINTR Example (cont’d)


Rung 3: This rung allows the programmer to reset the counter from the ladder logic. 1
2
3
4
5
6
7
Rung 4: This rung allows the operator to enable output #0 from the ladder code. 8
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–353


Chapter 5: Intelligent Box (IBox) Instructions

CTRIO Load Profile (CTRLDPR) (IB-1001)


1 CTRIO Load Profile loads a CTRIO Profile File to a CTRIO Output resource on a leading
edge transition to this IBox. This IBox will take more than one PLC scan to execute. Either
2  230 the Success or Error bit will turn on when the
 240 command is complete. If the Error Bit is on,
you can use the CTRIO Read Error Code
 250-1
3  260
(CTRRDER) IBox to get extended error
information.
4 DS5 Used
The Workspace register is for internal use by
this IBox instruction and MUST NOT be
HPP N/A
used anywhere else in your program.
5
6
7 CTRLDPR Parameters
• CTRIO#: specifies a specific CTRIO module based on a user defined number (see CTRIO Config)
8 • Output#: specifies a CTRIO output to be used by the instruction
• File#: specifies a CTRIO profile File number to be loaded
9 • Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the instruction has successfully completed
10 • Error: specifies a bit that will turn on if the instruction does not complete successfully

11 Parameter
CTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
DL205 Range
K0-255

12 Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
File# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K
K0-3
K0-255; See DL205 V-memory map - Data Words
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL205 V-memory map - Data Words
13 Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
See DL205 V-memory map
See DL205 V-memory map

14
A
B
C
D

5–354 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

CTRLDPR Example
Rung 1: This sets up the CTRIO module in slot 2 of the local base. Each CTRIO module in
the system will need a separate CTRIO Config IBox before any CTRxxxx IBoxes can be used.
1
The CTRIO has been configured to use V2000 through V2025 for its input data, and V2030
through V2061 for its output data. 2
3
4
5
6
NOTE: The CTRIO Configuration IBox instruction does not require a permissive contact. The top line will be
identified in BOLD italics, and the instruction name and ID will be in BOLD characters.
7
Rung 2: This CTRIO Load Profile IBox will load File #1 into the working memory of 8
Output 0 in CTRIO #1. This example program requires that you load CTRLDPR_IBox.cwb
into your Hx-CTRIO module. 9
10
11
12
13
(example continued on next page) 14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–355


Chapter 5: Intelligent Box (IBox) Instructions

CTRLDPR Example (cont’d)


1 Rung 3: If the file is successfully loaded, set Profile_Loaded.

2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D

5–356 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

CTRIO Read Error (CTRRDER) (IB-1014)


CTRIO Read Error Code, on a leading edge transition to this IBox, will read the decimal
error code value (listed below) from the CTRIO module and place it in the specified Error
1
 230 Code register. This instruction is not supported when the CTRIO is used in an ERM/EBC
 240 configuration. 2
 250-1 Since the Error Code in the CTRIO is only
 260 maintained until another CTRIO command is 3
given, you must use this instruction immediately
DS5
HPP
Used
N/A
after the CTRIO IBox that reports an error via
its Error bit parameter.
4
The Workspace register is for internal use by this
IBox instruction and MUST NOT be used
5
anywhere else in your program.
Error Codes: 6
0: No Error
100: Specified command code is unknown or unsupported
7
101: File number not found in the file system
102: File type is incorrect for specified output function
8
103: Profile type is unknown 9
104: Specified input is not configured as a limit on this output
105: Specified limit input edge is out of range 10
106: Specified input function is unconfigured or invalid
107: Specified input function number is out of range 11
108: Specified preset function is invalid
109: Preset table is full 12
110: Specified Table entry is out of range
111: Specified register number is out of range
13
112: Specified register is an unconfigured input or output
2001: Error reading Error Code - cannot access CTRIO via ERM
14
CTRRDER Parameters
• CTRIO#: specifies a specific CTRIO module based on a user defined number (see CTRIO Config)
A
• Workspace: specifies a V-memory location that will be used by the instruction
• Error Code: specifies the location where the Error Code will be written
B
Parameter DL205 Range C
CTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Error Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
See DL205 V-memory map - Data Words
See DL205 V-memory map - Data Words
D

DL205 User Manual, 4th Edition, Rev. A 5–357


Chapter 5: Intelligent Box (IBox) Instructions

CTRRDER Example
1 Rung 1: This sets up the CTRIO module in slot 2 of the local base. Each CTRIO module in
the system will need a separate CTRIO Config IBox before any CTRxxxx IBoxes can be used.
The CTRIO has been configured to use V2000 through V2025 for its input data, and V2030
2 through V2061 for its output data.

3
4
5
6
7 NOTE: The CTRIO Configuration IBox instruction does not require a permissive contact. The top line will be
identified in BOLD italics, and the instruction name and ID will be in BOLD characters.

8 Rung 2: This CTRIO Read Error Code IBox will read the Extended Error information from
CTRIO #1. This example program requires that you load CTRRDER_IBox.cwb into your
9 Hx-CTRIO module.

10
11
12
13
14
A
B
C
D

5–358 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

CTRIO Run to Limit Mode (CTRRTLM) (IB-1011)


CTRIO Run To Limit Mode, on a leading edge transition to this IBox, loads the Run to
Limit command and given parameters on a specific Output resource. The CTRIO's Input(s)
1
 230 must be configured as Limit(s) for this
 240 function to work. 2
 250-1 Valid Hexadecimal Limit Values:
 260 K00 - Rising Edge of Ch1/C 3
K10 - Falling Edge of Ch1/C
DS5 Used
K20 - Both Edges of Ch1/C
4
HPP N/A
K01 - Rising Edge of Ch1/D
K11 - Falling Edge of Ch1/D
5
K21 - Both Edges of Ch1/D 6
K02 - Rising Edge of Ch2/C
K12 - Falling Edge of Ch2/C 7
K22 - Both Edges of Ch2/C
K03 - Rising Edge of Ch2/D 8
K13 - Falling Edge of Ch2/D
K23 - Both Edges of Ch2/D 9
This IBox will take more than one PLC scan to execute. Either the Success or Error bit will
turn on when the command is complete. If the Error Bit is on, you can use the CTRIO Read 10
Error Code (CTRRDER) IBox to get extended error information.
The Workspace register is for internal use by this IBox instruction and MUST NOT be used 11
anywhere else in your program.
12
CTRRTLM Parameters
• CTRIO#: specifies a specific CTRIO module based on a user defined number (see CTRIO Config 13
Ibox)
• Output#: specifies a CTRIO output to be used by the instruction 14
• Frequency: specifies the output pulse rate (20Hz - 20kHz)
• Limit: the CTRIO's Input(s) must be configured as Limit(s) for this function to operate A
• Duty Cycle: specifies the % of on time versus off time. This is a hex number. Default of 0 is 50%,
also entering 50 will yield 50%. 50% duty cycle is defined as on half the time and off half the time
• Workspace: specifies a V-memory location that will be used by the instruction
B
• Success: specifies a bit that will turn on once the instruction has successfully completed
• Error: specifies a bit that will turn on if the instruction does not complete successfully
C
D

DL205 User Manual, 4th Edition, Rev. A 5–359


Chapter 5: Intelligent Box (IBox) Instructions

Parameter DL205 Range


1 CTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
K0-255
K0-3
Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K20-20000; See DL205 V-memory map - Data Words
2 Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-FF; See DL205 V-memory map - Data Words
Duty Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-99; See DL205 V-memory map - Data Words
3 Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
See DL205 V-memory map - Data Words
See DL205 V-memory map
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
4
CTRRTLM Example
5 Rung 1: This sets up the CTRIO module in slot 2 of the local base. Each CTRIO module in
the system will need a separate CTRIO Config IBox before any CTRxxxx IBoxes can be used.
The CTRIO has been configured to use V2000 through V2025 for its input data, and V2030
6 through V2061 for its output data.

7
8
9
10
11 NOTE: The CTRIO Configuration IBox instruction does not require a permissive contact. The top line will be
identified in BOLD italics, and the instruction name and ID will be in BOLD characters.

12 Rung 2: This CTRIO Run To Limit Mode IBox sets up Output #2 in CTRIO #1 to output
pulses at a Frequency of 1000 Hz until Limit #0 comes on. This example program requires
13 that you load CTRRTLM_IBox.cwb into your Hx-CTRIO module.

14
A
B
C
D

5–360 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

CTRRTLM Example (cont’d)


Rung 3: If the Run To Limit Mode parameters are OK, set the Direction Bit and Enable the
output.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–361


Chapter 5: Intelligent Box (IBox) Instructions

CTRIO Run to Position Mode (CTRRTPM) (IB-1012)


1 CTRIO Run To Position Mode, on a leading edge transition to this IBox, loads the Run to
Position command and given parameters on a specific Output resource.
 230
2  240
Valid Function Values are:

 250-1 00: Less Than Ch1/Fn1


3  260 10: Greater Than Ch1/Fn1
01: Less Than Ch1/Fn2
4 DS5
HPP
Used
N/A
11: Greater Than Ch1/Fn2
02: Less Than Ch2/Fn1
5 12: Greater Than Ch2/Fn1
03: Less Than Ch2/Fn2
6 13: Greater Than Ch2/Fn2

7 This IBox will take more than one PLC scan to execute. Either the Success or Error bit will
turn on when the command is complete. If the Error Bit is on, you can use the CTRIO Read
8 Error Code (CTRRDER) IBox to get extended error information.
The Workspace register is for internal use by this IBox instruction and MUST NOT be used
9 anywhere else in your program.

10 CTRRTPM Parameters
• CTRIO#: specifies a specific CTRIO module based on a user defined number (see CTRIO Config
11 Ibox)
• Output#: specifies a CTRIO output to be used by the instruction
12 • Frequency: specifies the output pulse rate (20Hz - 20kHz)
• Duty Cycle: specifies the % of on time versus off time. This is a hex number. Default of 0 is 50%,
13 also entering 50 will yield 50%. 50% duty cycle is defined as on half the time and off half the time
• Position: specifies the count value, as measured on the encoder input, at which the output pulse
train will be turned off
14 • Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the instruction has successfully completed
A • Error: specifies a bit that will turn on if the instruction does not complete successfully

B
C
D

5–362 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

Parameter DL205 Range


CTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
K0-255
K0-3
1
Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K20-20000; See DL205 V-memory map - Data Words
Duty Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-99; See DL205 V-memory map 2
Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-2147434528; See DL205 V-memory map
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
See DL205 V-memory map - Data Words
See DL205 V-memory map
3
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
4
CTRRTPM Example
Rung 1: This sets up the CTRIO module in slot 2 of the local base. Each CTRIO module in 5
the system will need a separate CTRIO Config IBox before any CTRxxxx IBoxes can be used.
The CTRIO has been configured to use V2000 through V2025 for its input data, and V2030
through V2061 for its output data.
6
7
8
9
10
NOTE: The CTRIO Configuration IBox instruction does not require a permissive contact. The top line will be 11
identified in BOLD italics, and the instruction name and ID will be in BOLD characters.
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–363


Chapter 5: Intelligent Box (IBox) Instructions

CTRRTPM Example (cont’d)


1 Rung 2: This CTRIO Run To Position Mode IBox sets up Output #0 in CTRIO #1 to
output pulses at a Frequency of 1000 Hz, use the 'Greater than Ch1/Fn1' comparison
operator, until the input position of 1500 is reached. This example program requires that you
2 load CTRRTPM_IBox.cwb into your Hx-CTRIO module.

3
4
5
6
7
8
Rung 3: If the Run To Position Mode parameters are OK, set the Direction Bit and Enable
9 the output.

10
11
12
13
14
A
B
C
D

5–364 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

CTRIO Velocity Mode (CTRVELO) (IB-1013)


CTRIO Velocity Mode loads the Velocity command and given parameters on a specific 1
Output resource on a leading edge transition to this IBox.
 230 This IBox will take more than one PLC 2
 240 scan to execute. Either the Success or Error
 250-1
 260
bit will turn on when the command is
complete. If the Error Bit is on, you can
3
use the CTRIO Read Error Code
DS5 Used
(CTRRDER) IBox to get extended error
4
HPP N/A
information.
The Workspace register is for internal use
5
by this IBox instruction and MUST NOT
be used anywhere else in your program. 6
CTRVELO Parameters
7
• CTRIO#: specifies a specific CTRIO module based on a user defined number (see CTRIO Config
Ibox) 8
• Output#: specifies a CTRIO output to be used by the instruction
• Frequency: specifies the output pulse rate (20Hz - 20kHz) 9
• Duty Cycle: specifies the % of on time versus off time. This is a hex number. Default of 0 is 50%,
also entering 50 will yield 50%. 50% duty cycle is defined as on half the time and off half the time 10
• Step Count: specifies the target position as a 32-bit Hex number, a value of Kffffffff will cause the
profile to run continuously as long as the output is enabled 11
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the instruction has successfully completed 12
• Error: specifies a bit that will turn on if the instruction does not complete successfully

Parameter DL205 Range


13
CTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
K0-255
K0-3 14
Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K20-20000; See DL205 V-memory map - Data Words
Duty Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K
Step Count . . . . . . . . . . . . . . . . . . . . . . . . . . V,K
K0-99; See DL205 V-memory map
K0-2147434528; See DL205 V-memory map
A
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
See DL205 V-memory map - Data Words
See DL205 V-memory map B
Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map
C
D

DL205 User Manual, 4th Edition, Rev. A 5–365


Chapter 5: Intelligent Box (IBox) Instructions

CTRVELO Example
1 Rung 1: This sets up the CTRIO module in slot 2 of the local base. Each CTRIO module in
the system will need a separate CTRIO Config IBox before any CTRxxxx IBoxes can be used.
The CTRIO has been configured to use V2000 through V2025 for its input data, and V2030
2 through V2061 for its output data.

3
4
5
6
7 NOTE: The CTRIO Configuration IBox instruction does not require a permissive contact. The top line will be
identified in BOLD italics, and the instruction name and ID will be in BOLD characters.
8
Rung 2: This CTRIO Velocity Mode IBox sets up Output #0 in CTRIO #1 to output
9 10,000 pulses at a Frequency of 1000 Hz. This example program requires that you load
CTRVELO_IBox.cwb into your Hx-CTRIO module.

10
11
12
13
14
A
B
C
D

5–366 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

CTRVELO Example (cont’d)


Rung 3: If the Velocity Mode parameters are OK, set the Direction Bit and Enable the
output.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–367


Chapter 5: Intelligent Box (IBox) Instructions

CTRIO Write File to ROM (CTRWFTR) (IB-1006)


1 CTRIO Write File to ROM writes the runtime changes made to a loaded CTRIO Preset
Table back to Flash ROM on a leading edge transition to this IBox. This IBox will take more
2  230 than one PLC scan to execute. Either the
 240 Success or Error bit will turn on when the
3  250-1 command is complete. If the Error Bit is on,
 260 you can use the CTRIO Read Error Code
(CTRRDER) IBox to get extended error
4 DS5 Used information.
HPP N/A The Workspace register is for internal use by
5 this IBox instruction and MUST NOT be
used anywhere else in your program.
6
CTRWFTR Parameters
7 • CTRIO#: specifies a specific CTRIO module based on a user defined number (see CTRIO Config
Ibox)
8 • Output#: specifies a CTRIO output to be used by the instruction
• Workspace: specifies a V-memory location that will be used by the instruction
9 • Success: specifies a bit that will turn on once the instruction has successfully completed
• Error: specifies a bit that will turn on if the instruction does not complete successfully
10
Parameter DL205 Range
11 CTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-3
12 Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
See DL205 V-memory map - Data Words
See DL205 V-memory map

13 Error . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL205 V-memory map

14
A
B
C
D

5–368 DL205 User Manual, 4th Edition, Rev. A


Chapter 5: Intelligent Box (IBox) Instructions

CTRWFTR Example
Rung 1: This sets up the CTRIO module in slot 2 of the local base. Each CTRIO module in
the system will need a separate CTRIO Config IBox before any CTRxxxx IBoxes can be used.
1
The CTRIO has been configured to use V2000 through V2025 for its input data, and V2030
through V2061 for its output data. 2
3
4
5
6
NOTE: The CTRIO Configuration IBox instruction does not require a permissive contact. The top line will be
identified in BOLD italics, and the instruction name and ID will be in BOLD characters.
7
Rung 2: This CTRIO Edit Preset Table Entry IBox will change Entry 0 in Table #2 to be a 8
RESET at Count 3456. This example program requires that you load CTRWFTR_IBox.cwb
into your Hx-CTRIO module. 9
10
11
12
13
14
(example continued on next page) A
B
C
D

DL205 User Manual, 4th Edition, Rev. A 5–369


Chapter 5: Intelligent Box (IBox) Instructions

CTRWFTR Example (cont’d)


1 Rung 3: If the file is successfully editted, use a Write File To ROM IBox to save the edited
table back to the CTRIO's ROM, thereby making the changes retentive.
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D

5–370 DL205 User Manual, 4th Edition, Rev. A

Вам также может понравиться