d2-08td2 User Manual
d2-08td2 User Manual
Volume 1 of 2
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 2017, 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.
~ ADVERTENCIA ~
Gracias por comprar equipo de automatización de Automationdirect.com®. Deseamos que su nuevo equipo
de automatización opere de manera segura. Cualquier persona que instale o use este equipo debe leer esta
publicación (y cualquier otra publicación pertinente) antes de instalar u operar el equipo.
Para reducir al mínimo el riesgo debido a problemas de seguridad, debe seguir todos los códigos de seguridad
locales o nacionales aplicables que regulan la instalación y operación de su equipo. Estos códigos varian de
área en área y usualmente cambian con el tiempo. Es su responsabilidad determinar cuales códigos deben ser
seguidos y verificar que el equipo, instalación y operación estén en cumplimiento con la revisión mas reciente
de estos códigos.
Como mínimo, debe seguir las secciones aplicables del Código Nacional de Incendio, Código Nacional Eléctrico,
y los códigos de (NEMA) la Asociación Nacional de Fabricantes Eléctricos de USA. Puede haber oficinas de
normas locales o del gobierno que pueden ayudar a determinar cuales códigos y normas son necesarios para una
instalación y operación segura.
Si no se siguen todos los códigos y normas aplicables, puede resultar en daños al equipo o lesiones
serias a personas. No garantizamos los productos descritos en esta publicación para ser adecuados
para su aplicación en particular, ni asumimos ninguna responsabilidad por el diseño de su producto, la
instalación u operación.
Nuestros productos no son tolerantes a fallas y no han sido diseñados, fabricados o intencionados para uso
o reventa como equipo de control en línea en ambientes peligrosos que requieren una ejecución sin fallas,
tales como operación en instalaciones nucleares, sistemas de navegación aérea, o de comunicación, control de
tráfico aéreo, máquinas de soporte de vida o sistemas de armamentos en las cuales la falla del producto puede
resultar directamente en muerte, heridas personales, o daños físicos o ambientales severos (“Actividades de Alto
Riesgo”). Automationdirect.com específicamente rechaza cualquier garantía ya sea expresada o implicada
para actividades de alto riesgo.
Para información adicional acerca de garantía e información de seguridad, vea la sección de Términos y
Condiciones de nuestro catálogo. Si tiene alguna pregunta sobre instalación u operación de este equipo, o si
necesita información adicional, por favor llámenos al número 1-770-844-4200 en Estados Unidos.
Esta publicación está basada en la información disponible al momento de impresión. En Automationdirect.
com nos esforzamos constantemente para mejorar nuestros productos y servicios, así que nos reservamos el
derecho de hacer cambios al producto y/o a las publicaciones en cualquier momento sin notificación y sin
ninguna obligación. Esta publicación también puede discutir características que no estén disponibles en ciertas
revisiones del producto.
Marcas Registradas
Esta publicación puede contener referencias a productos producidos y/u ofrecidos por otras compañías. Los nombres de las compañías
y productos pueden tener marcas registradas y son propiedad única de sus respectivos dueños. Automationdirect.com, renuncia
cualquier interés propietario en las marcas y nombres de otros.
PROPIEDAD LITERARIA 2017, AUTOMATIONDIRECT.COM® INCORPORATED
Todos los derechos reservados
No se permite copiar, reproducir, o transmitir de ninguna forma ninguna parte de este manual sin previo consentimiento por escrito
de Automationdirect.com® Incorprated. Automationdirect.com retiene los derechos exclusivos a toda la información incluida en
este documento. Los usuarios de este equipo pueden copiar este documento solamente para instalar, configurar y mantener el equipo
correspondiente. También las instituciones de enseñanza pueden usar este manual para propósitos educativos.
~ AVERTISSEMENT ~
Nous vous remercions d’avoir acheté l’équipement d’automatisation de Automationdirect.com®, 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
1-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 2017, 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.
Notes:
DL205 PLC USER MANUAL
Please include the Manual Number and the Manual Issue, both shown below,
when communicating with Technical Support regarding this publication.
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, minor
Rev. F 11/01
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
Corrected number of memory registers needed in the print message instruction.
Rev. B 2/13 Added new transient suppression for inductive loads to Chapter 2.
Added H2-CTRIO2 and H2-ERM100 references.
Minor corrections with general updates.
Rev. C 4/17
ECEMAIL Decimal Status Codes added, Chapter 5
Rev. D 10/17 Minor corrections with general updates
Notes
Volume One:
Table of Contents
Volume One: Table of Contents i
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
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
Notes
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
them to other devices in a control system.
3 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 reference when you
6 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 products. We believe you will
7 be pleasantly surprised with how much you can accomplish with our products.
Supplemental Manuals
8 If you have purchased operator interfaces or DirectSOFT, you will need to supplement this
manual with the manuals that are written for those products.
9 Technical Support
We strive to make our manuals the best in the industry. We rely on your feedback to let us
10 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 included with this manual.
A
B
C
D
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
1
that can be found in that chapter. In This Chapter...
General Information
.................................................................1-2
Specifications...........................................................................1-4
7
8
9
10
11
12
13
14
A
B
C
D
CPUs
4 This product line includes four feature-enhanced CPUs: the DL230, DL240, DL250–1 and
DL260. All CPUs include built-in communication ports. Each CPU offers a large amount
5 of program memory, a substantial instruction set and advanced diagnostics. The 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 expansion.
7 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.
9 The part numbers for these bases end with –1. These bases have a connector for local expansion
located on the right end of the base. They can serve in local, local expansion and remote I/O
10 configurations. All bases include a built-in power supply. The bases with the –1 suffix can
replace existing bases without a suffix if expansion is required.
11 I/O Configuration
The DL230 and DL240 CPUs can support up to 256 local I/O points. The DL250–1 can
12 support up to 768 local I/O points with up to two expansion bases. The DL260 can support
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
13 by adding remote I/O points. The DL250–1 and DL260 provide a built–in master for
remote I/O networks. The I/O configurations are explained in Chapter 4, System Design and
14 Configuration. I/O Modules
I/O Modules
A The DL205 has some of the most powerful modules in the industry. A complete range of
discrete modules which support 24 VDC, 110/220 VAC and up to 10A relay outputs
B (subject to derating) are offered. The analog modules provide 12- and 16-bit resolution and
several selections of input and output signal ranges (including bipolar). Several specialty and
communications modules are also available.
C
D
Getting Started
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(2) 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
Networking
11
Programming or Operator Interface
Computer Interface DCM
12
13
Handheld Programmer 14
RS232C
(max.50ft/16.2m)
(max.
6.5ft / 2m)
RS232C
(max.50ft/16.2m)
A
DL250–1 or DL260
DL240
DL305
B
C
RS232/422 RS232/422 D
Convertor Convertor
3 32pt 24 VDC
32pt 5–15 VDC
8pt 110 VAC
16pt 110 VAC
RELAY OUTPUT
4 DC OUTPUT
4pt 12–24 VDC
8pt 12–24 VDC
AC OUTPUT
8pt 18–220 VAC
12pt 18–110 VAC
4pt 5–30 VDC
5–240VAC
2 commons 8pt 5–30 VDC
16pt 12–24 VDC
5 2 Commons
32pt 12–24 VDC
4 Commons
5 –240 VAC
12pt 5–30VDC
5–240VAC
(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
DL260 – 15.8K Built-in Flash Memory
13 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 PROGRAMMING ANALOG
CPU Slot Controllers Handheld Programmer 4CH INPUT
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
Programming Methods
Two programming methods are available for the DL205 CPUs: Relay Ladder Logic (RLL) 1
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 the 3
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 the same time, etc.
4
DirectSOFT5 universally supports the DirectLOGIC CPU families. This means you can use
the same DirectSOFT5 package to program DL05, DL06, DL105, DL205, DL305, DL405 or 5
any new CPUs we may add to our product line. A separate manual 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
available.
8
9
10
11
12
13
14
A
B
C
D
4 CPUs
Specialty CPUs
DL05/06 Product family D0/F0 D4– 440DC –1
D3– 05B DC
8 Bases
DL205 Product family D2/F2
DL305 Product family D3/F3
9 DL405 Product family D4/F4
D4– 16 N D 2 F
11 Discrete I/O
D3– 16 N D 2 –1
13 Number of points
Input
p
04/08/12/16/32/64
N
14 Output
p
Combination
T
C
AC A
A DC
Either
D
E
Relay R
B Current Sinking
g
Current Sourcing
g
1
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
1
2
3
Analog I/O F3– 04 AD S –1
DL05/06 Product family D0/F0
DL205 Product
P d t ffamily
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
6
Combination AND note: –n indicates thermocouple type
Isolated S such as: J, K, T, R, S or E
Denotes a differentiation between –1, –2, –3, –4
Similar modules
F4– CP 128 – R
10
CoProcessors and ASCII BASIC Modules
DL205 Product family
y
DL305 Product family
y
D2/F2
D3/F3
11
12
DL405 Product family D4/F4
CoProcessor CP
ASCII BASIC AB
64K memoryy
128K memory
y
64
128 13
512K memory 512
Radio modem
Telephone modem
R
T
14
A
B
C
D
11
12
13
14
A
B
C
D
Neutral
wiring see Chapter 2 Installation, Wiring, and
2 Specifications. When the wiring is complete, replace
Ground
ENT
OUT 2 END
A
B 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 RUN
C 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 ensuring the program is entered properly
or refer to the troubleshooting guide in Chapter 9.
D During Run mode operation, the output status indicator “0” on the output module should
reflect the switch status. When the switch is on, the output should be on.
10
X27 Y7
your I/O placement and/or configuration
options. See Chapter 4 for more information.
11
Step 4: Determine the I/O Module Specifications and
Wiring Characteristics 12
Many different I/O modules are 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.
Initialize hardware
C
This involves not only program execution steps, but also
involves the various modes of operation and memory layout
characteristics. See Chapter 3 for more information.
Check I/O module
config. and verify
D
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.
• The DL260 PID loop operation uses set-up tables to configure 16 loops. The DL250-1 PID loop
5 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 SP62
CMPD
K309482
Y0
OUT
9
Stage Programming PID Loop Operation
10 (see Chapter 7) (see Chapter 8)
Push–UP RAISE
11 SP
+ PID Process
DOWN LIGHT UP –
12 LOWER Push–
PV
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.
In This Chapter:
12
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–26
Glossary of Specification Terms.........................................................2–51
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 specified by CE directives, provided they are used according to their intended purpose and that the
2 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 available
3 on our Web site: http://www.automationdirect.com
WARNING: Providing a safe operating environment for personnel and equipment is your responsibility
4 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 is available. Devices, such as “mushroom” switches or end of
travel limit switches, should operate motor starter, solenoids, or other devices without being processed
by the PLC. These emergency circuits should be designed using simple logic with a minimum number of
7 highly reliable electromechanical components. Every automation application is different, so there may
be special requirements for your particular application. Make sure to follow all national, state, and local
8 government requirements for the proper installation and use of your equipment.
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
obtained from your local electrical equipment distributor or your local library.
B • Local and State Agencies — many local and state governments have additional requirements
above and beyond those described in the NEC Handbook. Check with your local Electrical
C Inspector or Fire Marshall office for information.
B
Relay Arbor
Contacts
To disconnect output
module power
C
D
RST
14 WARNING: Explosion Hazard! Do not disconnect equipment unless power has been switched off or the
area is known to be non-hazardous.
A WARNING: All models used with connector accessories must use R/C (ECBT2) mating plug for all
applicable models. All mating plugs shall have suitable ratings for device.
B WARNING: This equipment is designed for use in Pollution Degree 2 environments (installed within an
WARNING: Transient suppression must be provided to prevent the rated voltage from being exceeded
D by 140%.
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 4
The following information shows the proper mounting dimensions. The height dimension is
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
A
(Base Total Width)
B
(Mounting Hole)
C
(Component Width)
D
(Width with Exp. A
Base Unit)
3-slot
Inches
6.77
Millimeters
172
Inches
6.41
Millimeters
163
Inches
5.8
Millimeters
148
Inches
7.24
Millimeters
184
B
4-slot
6-slot
7.99
10.43
203
265
7.63
10.07
194
256
7.04
9.48
179
241
8.46
10.90
215
277
C
9-slot 14.09 358 13.74 349 13.14 334 14.56 370
D
11
12 2”
50mm
min.
13
2” DL205 CPU Base
Safety Guidelines
50mm
min.
2”
50mm
Power
14
min.
Source
A 2”
50mm
min.
Panel
B
BUS Bar
5. T
he 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
lugs and star washers at termination points. A general rule is to achieve a 0.1 ohm of DC resistance
1
between the DL205 base and the single point ground.
6. T
here 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 connection you should
use #12 AWG stranded copper wire at a minimum. Minimum wire sizes, color coding, and general
3
safety practices should comply with appropriate electrical codes and standards for your region. A
good common ground reference (Earth ground) is essential for proper operation of the DL205. 4
Methods of providing an adequate common ground reference include:
• Installing a ground rod as close to the panel as possible. 5
• Connection to incoming power system ground.
7. P
roperly 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
6
system until the ambient temperature has stabilized. If the ambient temperature is not within the
operating specification for the DL205 system, measures such as installing a cooling/heating source 7
must be taken to get the ambient temperature within the DL205 operating specifications.
8. D
evice 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 ensure good
8
contact on termination areas, impediments such as paint, coating or corrosion should be removed
in the area of contact. 9
9. T
he DL205 system is designed to be powered by 110/220 VAC, 24VDC, or 125VDC normally
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
10
are recommended for protecting the DL205 PLCs from power surges and EMI/RFI noise. The
Automation Powerline Filter, for use with 120VAC and 240VAC, 1–5 Amps, is an excellent choice 11
(can be located at www.automationdirect.com); however, you can use a filter of your choice. These
units install easily between the power source and the PLC.
12
Enclosures
Your selection of a proper enclosure is important to ensure safe and proper operation of your 13
DL205 system. Applications of DL205 systems vary and may require additional features. The
minimum considerations for enclosures include:
• Conformance to electrical standards
14
• Protection from the elements in an industrial environment
• Common ground reference
A
• Maintenance of specified ambient temperature
• Access to equipment
B
• Security or restricted access
• Sufficient space for proper installation and maintenance of equipment
C
D
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. 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
Shock Resistance
MIL STD 810C, Method 514.2
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).
8 ** Equipment will operate below 30% humidity. However, static electricity problems occur much more frequently at lower
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
10 power supply specifications.
100–240 VAC (+10%/ –15%) 10.2 – 28.8 VDC (24VDC) with 104–240 VDC
Input Voltage Range
13 Maximum Inrush Current
50/60Hz
30A
less than 10% ripple
10A
+10% –15%
20A
Maximum Power 80VA 25W 30W
14 Voltage Withstand (dielectric) 1 minute @ 1500VAC between primary, secondary, and field ground
Insulation Resistance > 10 MΩ at 500VDC
A Auxiliary 24 VDC Output
20–28 VDC, less than 1V p-p
300mA max.
None
20–28 VDC, less than 1V p-p
300mA max.
Fusing (internal to base power
B supply)
Non–replaceable 2A @ 250V Non–replaceable 3.15A @
slow blow fuse 250V slow blow fuse
Non–replaceable 2A @ 250V
slow blow fuse
C
D
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 that your application 5
may require are:
• UL (Underwriters Laboratories, LLC)
• CSA (Canadian Standards Association)
6
• FM (Factory Mutual Research Corporation)
• CUL (Underwriters Laboratories of Canada) 7
24 VDC Power Bases
Follow these additional installation guidelines when installing D2-03BDC1-1, D2-04BDC1-1,
8
D2-06BDC1-1 and D2-09BDC1-1 bases:
• Install these bases in compliance with the enclosure, mounting, spacing, and segregation 9
requirements of the ultimate application.
• These bases must be used within their marked ratings. 10
• These bases are intended to be installed within an enclosure rated at least IP54.
• Provisions 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
4
5
6
7
Power Wiring CPU Slot I/O Slots
8 Connections
14
Mounting Tabs
A
B
C
WARNING: To minimize the risk of electrical shock, personal injury, or equipment damage, always
D disconnect the system power before installing or removing any system component.
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
disconnect the system power before installing or removing any system component.
14
A
B
C
D
WARNING: Once the power wiring is connected, install the plastic protective cover. When the cover is
7
removed there is a risk of electrical shock if you accidentally touch the wiring or wiring terminals.
8
12/24 VDC Base Terminal Strip 125 VDC Base Terminal Strip 9
+ + 10
12 – 24 VDC 115 – 264 VDC
– –
11
G G
12
+
24 VDC OUT, 0.3A
13
–
14
A
B
C
D
9 Power
Input
PLC
Main
(backplane) Input
Module
Inputs
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
isolated from the other three circuits, it can power input and/or output circuits!
13
Safety Guidelines
14 Primary Side
Main
DL205
PLC Secondary, or
Logic side
Power
Filter
A Input Power
Supply Internal
CPU Backplane
B Auxiliary
+24VDC Out +24VDC Comm. Input Module Output Module
C Supply
D To Programming
Device, Operator
Inputs Commons
Field Side
Outputs Commons
Supply for
Interface, Network Output Circuit
–
7
+
Loads 8
9
The 12/24 VDC-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, 11
etc. For this application type, all input devices and output loads typically use the same DC
power source. Typical wiring for DC-powered applications is shown in the following diagram. 12
+ +
DC Power
13
– –
14
DL205 PLC
Power Input
Input Module Output Module
A
Inputs Com. Outputs Com. B
C
Loads
D
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 + – + –
10
Some applications will use the PLC external power source to also power the input circuit. This
11 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 separate
12 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 an unused
13 resource. You will want to avoid this situation if possible.
+
14 – –
+
DC Power
AC Power
D Loads Load
Supply
Input
Supply
Loads Load
Supply
+ 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
4 power supply.
PLC
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 sometimes
11 necessary on commons.
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 A
point sinks current to the output common when energized. It is connected to a sourcing input
of a field device input.
PLC DC Sinking Output Field Device
B
C
Power +V
+DC pwr
Output Input
(sinking) + (sourcing)
Common –
10–30 VDC
Ground D
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 sinking
1 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
Power
+DC pwr
Field Device
R pull-up
(sourcing)
4 (sinking) Output Input
(sinking)
R input
+
5 Common
Supply
– Ground
6
NOTE 1: DO NOT attempt to drive a heavy load (>25mA) 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
logic point of view. Your ladder program must comprehend this and generate an inverted output. Or, you
8 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 15mA). Then use Iinput and the
10 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
14 Of course, the easiest way to drive a sinking input field device as shown below is to use a
DC 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
1 Oscilloscope Volts
160
2 140
120
100
+
3 24 VDC
- Relay Coil
80
60
40
(24V/125mA/3W,
4 AutomationDirect part no.
750-2C-24D)
20
0
-20
5 In the same circuit, replacing the relay with a larger 24V/290mA/7W relay will generate a
transient voltage exceeding 800V (not shown). Transient voltages like this can cause many
6 problems, including:
• Relay contacts driving the coil may experience arcing, which can pit the contacts and reduce the
7 relay’s lifespan.
• Solid state (transistor) outputs driving the coil can be damaged if the transient voltage exceeds the
8 transistor’s ratings. In extreme cases, complete failure of the output can occur the very first time a
coil is de-energized.
9 • Input circuits, which might be connected to monitor the coil or the output driver, can also be
damaged by the transient voltage.
A very destructive side-effect of the arcing across relay contacts is the electromagnetic
10 interference (EMI) it can cause. This occurs because the arcing causes a current surge, which
releases RF energy. The entire length of wire between the relay contacts, the coil, and the
11 power source carries the current surge and becomes an antenna that radiates the RF energy. It
will readily couple into parallel wiring and may disrupt the PLC and other electronics in the
area. This EMI can make an otherwise stable control system behave unpredictably at times.
12 PLC’s Integrated Transient Suppressors
13 Although the PLC’s outputs typically have integrated suppressors to protect against transients,
they are not capable of handling them all. It is usually necessary to have some additional
transient suppression for an inductive load.
14 The next example uses the same 24V/125mA/3W relay used earlier. This example measures
the PNP transistor output of a D0-06DD2 PLC, which incorporates an integrated Zener diode
A for transient suppression. Instead of the 140V peak in the first example, the transient voltage
here is limited to about 40V by the Zener diode. While the PLC will probably tolerate repeated
B transients in this range for some time, the 40V is still beyond the module’s peak output voltage
rating of 30V.
C
D
9ROWV
1
2
)RUWKLVH[DPSOHD9P$:
UHOD\LVXVHG $XWRPDWLRQ'LUHFW
SDUWQR&'
3
9'&
5HOD\
&RLO
4
5
The next example uses the same circuit as above, but with a larger 24V/290mA/7W relay, 6
thereby creating a larger inductive load. As you can see, the transient voltage generated is much
worse, peaking at over 50V. Driving an inductive load of this size without additional transient
suppression is very likely to permanently damage the PLC output.
7
Example: Larger Inductive Load with Only Integrated Suppression 8
2VFLOORVFRSH
)RUWKLVH[DPSOHDP$:
9ROWV
9
UHOD\LVXVHG $XWRPDWLRQ'LUHFW
10
SDUWQR6&(*9'&
9'&
5HOD\
11
&RLO
12
13
Additional transient suppression should be used in both these examples. If you are unable
to measure the transients generated by the connected loads of your control system, using 14
additional transient suppression on all inductive loads would be the safest practice.
A
B
C
D
1 DC Coils:
The most effective protection against transients from a DC coil is a flyback diode. A flyback
2 diode can reduce the transient to roughly 1V over the supply voltage, as shown in this example.
DC Flyback Circuit
3 Oscilloscope
Volts
30
25
4 24 VDC
+
_
20
15
5
10
6 Sinking Sourcing
-5
7 Many AutomationDirect socketed relays and motor starters have add-on flyback diodes
that plug or screw into the base, such as the AD-ASMD-250 protection diode module and
8 784-4C-SKT-1 socket module shown below. If an add-on flyback diode is not available for
your inductive load, an easy way to add one is to use AutomationDirect’s DN-D10DR-A
diode terminal block, a 600VDC power diode mounted in a slim DIN rail housing.
9
10
11
12
13
AD-ASMD-250 784-4C-SKT-1 DN-D10DR-A
14 Protection Diode Module Relay Socket Diode Terminal Block
A
B
C
D
Two more common options for DC coils are Metal Oxide Varistors (MOV) or TVS diodes.
These devices should be connected across the driver (PLC output) for best protection as shown
below. The optimum voltage rating for the suppressor is the lowest rated voltage available that 1
will NOT conduct at the supply voltage, while allowing a safe margin.
AutomationDirect’s ZL-TSD8-24 transorb module is a good choice for 24VDC circuits. It is 2
a bank of 8 uni-directional 30V TVS diodes. Since they are uni-directional, be sure to observe
the polarity during installation. MOVs or bi-directional TVS diodes would install at the same
location, but have no polarity concerns.
3
DC MOV or TVS Diode Circuit
4
+
5
24 VDC _
6
7
Sinking Sourcing
AC Coils: 8
Two options for AC coils are MOVs or bi-directional TVS diodes. These devices are most
effective at protecting the driver from a transient voltage when connected across the driver
(PLC output) but are also commonly connected across the coil. The optimum voltage rating
9
for the suppressor is the lowest rated voltage available that will NOT conduct at the supply
voltage, while allowing a safe margin. 10
AutomationDirect’s ZL-TSD8-120 transorb module is a good choice for 120VAC circuits. It
is a bank of eight bi-directional 180V TVS diodes. 11
AC MOV or Bi-Directional Diode Circuit
12
VAC
13
14
NOTE: Manufacturers of devices with coils frequently offer MOV or TVS diode suppressors as an add-on
A
option which mount conveniently across the coil. Before using them, carefully check the suppressor’s
ratings. Just because the suppressor is made specifically for that part does not mean it will reduce the B
transient voltages to an acceptable level.
For example, a MOV or TVS diode rated for use on 24-48 VDC coils would need to have a C
high enough voltage rating to NOT conduct at 48V. That suppressor might typically start
conducting at roughly 60VDC. If it were mounted across a 24V coil, transients of roughly
84V (if sinking output) or -60V (if sourcing output) could reach the PLC output. Many
D
semiconductor PLC outputs cannot tolerate such levels.
Module/Unit Local CPU Base Local Expansion Base Remote I/O Base
6 CPUs CPU Slot Only
DC Input Modules . A A A
7 AC Input Modules
DC Output Modules
A
A
A
A
A
A
8 AC Output Modules
Relay Output Modules
A
A
A
A
A
A
14 DeviceNet
Profibus
Slot 0 Only
Slot 0 Only
A SDS
Specialty Modules
Slot 0 Only
B Counter Interface
Counter I/O
Slot 0 Only
A A*
Data Communications A
C Ethernet Communications A
BASIC CoProcessor A
D Simulator A A A
Filler A A A
* When used with H2-ERM(100) Ethernet Remote I/O system
2. Always use a continuous length of wire, do not combine wires to attain a needed length. 7
3. Use the shortest possible wire length.
4. Use wire trays for routing where possible. 8
5. A
void running wires near high energy wiring. Also, avoid running input wiring close to output
wiring where possible. 9
6. T
o minimize voltage drops when wires must run a long distance, consider using multiple wires for
the return line.
7. Avoid running DC wiring in close proximity to AC wiring where possible.
10
8. Avoid creating sharp bends in the wires.
9. T
o reduce the risk of having a module with a blown fuse, we suggest you add external fuses to
11
your 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 12
per output point can be added to each output. Refer to our catalog for a complete line of
Safety Guidelines
DINnectors, DIN-rail mounted fuse blocks. 13
DINnector External Fuses
(DIN rail mounted Fuses) 14
A
B
C
D
4 AC Frequency
Input Impedance
N/A
2.7 kq
OFF Voltage Level
AC Frequency
7VDC maximum
N/A
Input Impedance 3.9 kq
5 Input Current
4.0 mA @ 12VDC
8.5 mA @ 24VDC Input Current 6mA @ 24VDC
Minimum ON Current 3.5 mA Minimum ON Current 3.5 mA
8 Status Indicator
Weight
Logic side
2.3 oz. (65g)
Status Indicator
Weight
Logic side
2.3 oz. (65g)
10 6
4
12
11 2
0
IN
0
12--24
VDC
4
4
0
IN
A 0
24
VDC
4
0 10 20 30 40 50 55 °C 1 5 0 10 20 30 40 50 55 °C 1 5
12 32 50
12--24VDC
68 86 104 122131 °F
Ambient Temperature (°C/°F )
2
3
D2--08ND3
6
7
32
24 VDC
50 68 86 104 122131 ° F
Ambient Temperature (°C/°F )
Source
Sink
-
+
+
- CA
B 3
2
D2--16ND3--2
6
7
Source
- +
13
Internally 0
Sink + - C connected 10.2--26.4VDC 4
20--28VDC
C 4--12mA 1 8mA
CLASS2
5
0
C 2 CA
4 0
14
6
1 C 3 4
1
5 0 7 5
Source - + NC 2
2 4 24 VDC
Sink - CB 6
+
3
A
6 1 0
7
3
4 NC
5 1 CB
7 5 0
2 4
2 1
6
B
6 5
2
3 3
6
7
Internal module circuitry 3
7 7
V+
C
Internal module circuitry V+
D2--08ND3
INP UT
INP UT
To LE D
To LE D
D Sink
Source
+ -
COM
Optical
Is olator
Sink
Source
+ -
COM
Optical
Is olator
COM
- + - +
12--24VDC 24 VDC
D2–32ND3, DC Input
D2-32ND3 DC Input 1
Inputs per Module 32 (sink/source)
Commons per Module
Input Voltage Range
4 isolated (8 I/O terminal points / com)
20-28 VDC
2
Peak Voltage
ON Voltage Level
30VDC
19VDC minimum 3
OFF Voltage Level 7VDC maximum
AC Frequency
Input Impedance
N/A
4.8 kq
4
Input Current
Minimum ON Current
8.0 mA @ 24 VDC
3.5 mA
5
Maximum OFF Current 1.5 mA
Base Power Required 5VDC 25mA 6
OFF to ON Response 3 to 9 ms
ON to OFF Response
Terminal Type (not included)
3 to 9 ms
Removable 40-pin Connector1
7
Status Indicator Module Activity LED
Weight 2.1 oz. (60 g) 8
1
Connector sold separately. See Terminal Blocks and Wiring for wiring options.
9
Points
IN 24
VDC
10
Derating Chart ACT
32
16
A0
A4
A1
A5
D2--32ND3
11
A2
12
Sink A6
0 - + A3 A0 A4
24VDC A7
10 20 30 40 50 55 °C A1 A5
0 COM I
+
13
Ambient Temperature (°C/°F ) B4 A3 A7
B1
B5 CI CI
Sink
B2
B6
B0 B4
- + B3 B1 B5
B7
14
24VDC B2 B6
COM II
+
Source - C0
B3 B7
C4 CII CII
C1
C5 C0 C4
A
C2
Sink C6
C1 C5
- + C3 C2 C6
C7
Internal module circuitry 24VDC C3 C7
V+ COM III
+
To Logic Sink
+
D4
D1
D5
D2
D6
D0
D1
D2
D4
D5
D6
B
D3 D3 D7
C
-
D7
Optical 24VDC COM IV CIV CIV
+
+ - COM Is olator -
Sink Source
Source - +
D
24 VDC 22--26VDC
4--6mA
CLAS S 2
D2–32ND3–2, DC Input
1 D2-32ND3-2 DC Input
Inputs per Module 32 (Sink/Source)
2 Commons per Module
Input Voltage Range
4 isolated (8 I/O terminal points / com)
4.50 to 15.6 VDC min. to max.
3 Peak Voltage
ON Voltage Level
16VDC
4VDC minimum
OFF Voltage Level 2VDC maximum
4 AC Frequency
Input Impedance
N/A
1.0 kq @ 5–5 VDC
5 Input Current
4mA @ 5VDC
11mA @ 12VDC
14mA @ 15VDC
Maximum Input Current 16mA @ 15.6 VDC
6 Minimum ON Current 3mA
Maximum OFF Current 0.5 mA
13 5-15VDC
Source
14 Sink
5-15VDC
A Source
B 5-15VDC
Sink
C
Source
Sink
D 5-15VDC
Source
D2-08NA-1, AC Input
D2-08NA-1 AC Input 1
Inputs per Module 8
Commons per Module
Input Voltage Range
1 (2 I/O terminal points)
80–132 VAC
2
Peak Voltage
ON Voltage Level
132VAC
75VAC minimum
3
OFF Voltage Level 20VAC maximum
AC Frequency 47–63 Hz 4
Input Impedance 12kq @ 60Hz
Input Current
13mA @ 100VAC, 60Hz
11mA @ 100 VAC, 50Hz 5
Minimum ON Current 5mA
Maximum OFF Current
Base Power Required 5VDC
2mA
50mA
6
OFF to ON Response
ON to OFF Response
5 to 30 ms
10 to 50 ms 7
Terminal Type (included) Removable; D2-8IOCON
Status Indicator
Weight
Logic side
2.5 oz. (70g)
8
Points
8
Derating Chart
9
6
4
10
IN 110
2
0 0
1
VAC
4
5
11
0 10 20 30 40 50 55 ˚C
2 6
12
32 50 68 86 104 122131 ˚ F
Ambient Temperature (˚C/˚F ) 3 7
D2--08NA--1
110 VAC Internally
13
C connected
80-132VAC
C 10-20mA
50/60Hz
0
4 C
1
2
5 0
C
4
14
A
6
1
3
5
7
2
7
B
INP UT
To LE D
D2--08NA-1
C
Line
110 VAC
COM Optical
Is olator D
COM
D2-08NA-2, AC Input
1 D2-08NA-2 AC Input Operating Temperature 32ºF to 131ºF (0º to 55ºC)
Storage Temperature -4ºF to 158ºF (-20ºC to 70ºC)
Inputs per Module 8
2 Commons per Module 1 (2 I/O terminal points)
Humidity
Atmosphere
35% to 95% (non-condensing)
No corrosive gases permitted
Input Voltage Range 170–265 VAC
Vibration
3 Peak Voltage
ON Voltage Level
265VAC
150VAC minimum
Shock
MIL STD 810C 514.2
MIL STD 810C 516.2
Insulation Withstand Voltage 1,500VAC 1 minute (COM-GND)
4 OFF Voltage Level
AC Frequency
40VAC maximum
47–63 Hz
Insulation Resistance 10M Q @ 500VDC
NEMA 1,500V 1 minute
Input Impedance 18kq @ 60Hz Noise Immunity SANKI 1,000V 1 minute
5 9mA @ 220VAC, 50Hz
11mA @ 265VAC, 50Hz
RFI 150MHz, 430MHz
Input Current 10mA @ 220VAC, 60Hz
6 Minimum ON Current
12mA @ 265VAC, 60Hz
10mA
Maximum OFF Current 2mA
7 Base Power Required 5VDC 100mA
OFF to ON Response 5 to 30 ms
8 ON to OFF Response
Terminal Type (included)
10 to 50 ms
Removable; D2-8IOCON
Status Indicator Logic side
9 Weight 2.5 oz. (70g)
10 Points
Derating Chart
11
8
12 4
2 220VAC
C
Internally
connected
13 0
0
32
10
50
20
68
30
86
40
104
50 55 ˚ C
122131 ˚ F 0
C
14 1
4
V+
B INP UT
3
6
C
To LE D
7
COM Optical
Is olator
D 220VAC
COM
Points
16
Derating Chart 9
12
8
10
IN 110
11
IN SIM
4 VAC
A 0 4
0 0 4
0 10 20 30 40 50 55 ˚ C 1 5 1 5
32 50 68 86 104 122131 ˚ F
Ambient Temperature (˚C/˚F ) B 3
2
D2--16NA
6
7
2
3
6
7 12
110 VAC CA F 2--08SI M
0
1
4
5
80--132VAC
10--20mA
50/60Hz 0 > ON
13
2 CA
3
NC
6
7
0
1
2
4
5
1
2
14
110 VAC
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
7
C
6
Internal module circuitry
V+ D2--16NA 7
INP UT
To LE D
Optical
D
COM Is olator
110 VAC
D2-04TD1, DC Output
1 D2-04TD1 DC Output External DC Required 24VDC @ 20 mA max.
Outputs per Module Base Power Required 5VDC 60mA
2 Output Points Consumed
4 (current sinking)
8 points (only first 4 pts. used) OFF to ON Response 1ms
Commons per Module 1 (4 I/O terminal points) ON to OFF Response 1ms
3 Output Type
Operating Voltage
NMOS FET (open drain)
10.2-26.4 VDC
Terminal Type (included)
Status Indicator
Removable; D2-8IOCON
Logic side
Weight 2.8 oz. (80 g)
4 Peak Voltage
ON Voltage Drop
40VDC
0.72 VDC maximum Fuses
4 (1 per point)
(6.3 A slow blow, non-replaceable)
AC Frequency N/A
5 Max Load Current
(resistive)
4A/point
8A/common
Max Leakage Current
6 Max Inrush Current
0.1 mA @ 40 VDC
6A for 100 ms, 15A for 10 ms
Minimum Load Current 50 mA
7
8 Points
4
Derating Chart
2A / Pt.
Inductive Load
Maximum Number of Switching Cycles per Minute
3 Load Duration of output in ON s tate
9 2 3A / Pt.
OUT 12--24
Current
0.1A
7ms
8000
40ms
1400
100ms
600
1 4A / Pt. VDC 0.5A 1600 300 120
10 0
0 10 20 30 40 50 55 ˚ C
0
1
1.0A
1.5A
800
540
140
90
60
35
32 50 68 86 104 122131 ˚ F 2 2.0A 400 70 --
11 Ambient Temperature (˚C/˚F )
3
D2--04TD1
3.0A
4.0A
270
200
--
--
--
--
12 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.
+ 0V connected C Find the load current you expect to use and the duration that the
13 24V output is ON. The number at the intersection of the row and column
+24V
represents the switching cycles per minute. For example, a 1A
C inductive load that is on for 100 ms can be switched on and off a
12--24VDC + C
0 maximum of 60 times per minute. To convert this to duty cycle
0
L L percentage use: (duration x cycles)/60. In this example,
14
C
(60 x .1)/60 = .1, or 10% duty cycle.
1
C
L 1
C L
C 24VDC
A
2 -- +
L 2
C L Reg
3 C 0V
L 3
L
B
To LE D
D2--04TD1 Output
L
6.3A
12--24 +
C
Optical
VDC --
Is olator
Common
D
Other
Circuits
4
OUT 12--24
2 VDC
0
0
32
10
50
20
68
30
86
40
104
50 55 ˚ C
122131 ˚ F
0
1
2
4
5
6
12
Ambient Temperature (˚C/˚F ) 3 7
12--24VDC
+ C
Internally
connected
D2--08TD1
10.2--26.4VDC
13
C 0.2mA-0.3A
L
L
L
0
1
4 C
C
14
5
0
L
A
L
2
L 4
6 L
L 1
3
L 5
7
B
L
2
6
3
C
Internal module circuitry 7
Optical
OUTP UT Is olator
L
D2--08TD1
D
+
12--24VDC
COM
5A
COM
3 External DC required
Operating Voltage
24VDC ±4V @ 80 mA max
10.2-26.4 VDC
Operating Voltage
Peak Voltage
10.2-26.4 VDC
30VDC
Peak Voltage 30VDC ON Voltage Drop 1.0 VDC maximum
4 ON Voltage Drop 0.5 VDC maximum AC Frequency N/A
AC Frequency N/A Minimum Load Current 0.2 mA
9 Weight
Fuses
2.3 oz. (65g)
None
Fuses None
10 Points
16
Derating Chart
11
12
8
4
0
OUT 12--24
VDC
12 0
32
10
50
20
68
30
86
40
104
50 55 ˚C
122131 ˚ F
Ambient Temperature (˚C/˚F )
C
A 0
1
2
4
5
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
14
L
3 A
L C
L
7 0
24VDC + +V 4
12--24VDC C 1
+ 5
0 2
A
Internally
L
4 connected 6
L 3
1 7
L
5 +V
L
2 C
L 0
6 4
B
L
3
1
L
7
5
L 2
6
3
7
+V Internal module circuitry B
C +
24VDC
L
OUTP UT
Optical
Is olator
D
+
12--24
VDC
COM
COM
4 AC frequency
ON voltage drop
N/A
0.7 V (output current 0.5 A)
Overcurrent trip 0.6A, min., 1.2A, max.
5 Minimum load current 0.2mA
10 8
4
0
OUT 12-24
Weight
Fuses
2.0 oz. (25g)
None
VDC External DC required
11 A 0 24VDC ±10% @ 50mA
0 10 20 30 40 50 55°C
32 50 68 86 104 122 131°F 4
Ambient Temperature (°C/°F) 1 5
0V 2 6 External DC overvoltage 27V, outputs are restored when
B 3 7
shutdown voltage is within limits
12
0
L
L
4
F2–16TD1P
1
L
5
L 10.2-26.4
2 VDC 0.25A
13
L CLASS2
6
L
3 A
L 0V
L
7 0
24VDC +
24V 4
0V 1
14
12–24VDC
+ 5
0
Internally
2
L
4 connected 6
L 3
1 7
L
5 24V
A 0V
L
2
L 0
6 4
L
3
1
L
7
5
2
B
L
6
3
7
B
24V Internal module circuitry
C
+
24VDC Optical
Isolator
OUTPUT
L
D
When the A/B switch is in the A position,
+ 12–24
the LEDs display the output status of the
VDC
0V module’s first 8 output points. Positon B
displays the output status of the mod-
ule’s second group of 8 output points.
0V
4
OUT 12-24
Weight
Fuses
2.0 oz. (25g)
None
10
VDC External DC required
0
32
10
50
20
68
12–24VDC
30
86
40 50 55°C
104 122 131°F
C
A 0
1
2
4
5
6 External DC overvoltage
24VDC ±10% @ 50mA
13
2 VDC 0.25A
CLASS2
A
V1
0
24VDC 24V 4
14
+
V 1
5
2
L
4 6
L 3
7
A
L
24V
L
2
0V
L 0
4
L
1
L 5
B
L 2
6
3
24VDC 7
– + 24V B
Reg
12–24VDC
+
0V
0V
O
C
L
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
displays the output status of the mod-
D
ule’s second group of 8 output points.
10
11
12
13
14
A
B
C
D
D2–12TA, AC Output
1 D2-12TA AC Output Max Leakage Current 2mA (132VAC, 60Hz)
Outputs per Module 12 Max Inrush Current 10A for 10ms
4 ON Voltage Drop
< 1.5 VAC (>50mA)
< 4.0 VAC (<50mA)
Weight 2.8 oz. (80g)
(2) 1 per common
AC Frequency 47 to 63 Hz Fuses 3.15 A slow blow, replaceable
5 Minimum Load Current 10mA Order D2-FUSE-1 (5 per pack)
Max Load Current 0.3 A/point; 1.8 A/common
6
7
8 Points
12
Derating Chart
250mA / Pt.
P oints
Addres s es Us ed
Us ed? P oints Us ed?
9 9 300mA / Pt.
OUT 18--110
Yn+0
Yn+1
Yes
Yes
Yn+10
Yn+11
Yes
Yes
6 VAC Yn+2 Yes Yn+12 Yes
10 3
A 0
1
2
4
5
Yn+3
Yn+4
Yes
Yes
Yn+13
Yn+14
Yes
Yes
0 Yn+5 Yes Yn+15 Yes
11 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
12
15--132VAC n is the starting address
10mA--0.3A
15--132 VAC CA 50/60 Hz
0
L
4 CA
L 0
13 4
1
L
5 1
L
2 5
L
NC
2
Internal module circuitry
3 3
14
L
NC
OUTP UT Optical
15--132 VAC
NC CB L
Is olator To LE D
CB 0
0 4
A
L
4 1
L 5
L
1
2
5
L
2 3 COM
L
B
NC
3
L 15--132 3.15A
NC VAC
D2--12TA
C
D
6
Typical Relay Life (Operations)
Voltage & Load Current
7
Type of Load 1A 2A 3A 4A
24VDC Resistive 500k 200k 100k 50k
8
24VDC Solenoid 100k 40k –– – Points Derating Chart
0
RELAY 32 50 68 86 104
Ambient Temperature (˚C/˚F )
122 131 ˚ F
12
1
2
3
D2--04TR S
13
NC
5-240VAC
4A50/60Hz
5--30VDC
10mA--4A
14
Internal module circuitry
A
NC NC
5--30 VDC NC
5--240 VAC C0 C0
OUTP UT
0 0 L
L
L
B
C1 C1
1
1 L
L C2 To LE D
C2
2
C
L COM
2
L C3
C3 3 6.3A
L 5--30 VDC
3 5--240 VAC
L
D2--04TR S
8 24VDC Solenoid
110VDC Resistive
1A
1A
100k
500k
110VDC Solenoid 1A 200k
9 220VAC Resistive
220VAC Solenoid
1A
1A
350k
100k Points Derating Chart
10 OUT RELAY 6
0.5A / Pt.
11 0
1
2
4
5
6
4
1A / Pt.
3 7 2
12 D2--08TR
0
5-240VAC
13 0 10 20 30 40 50 55 ˚C
1A50/60Hz
5--30 VDC 5--30VDC
Internally 5mA--1A
32 50 68 86 104 122131 ˚ F
5--240 VAC C connected C Ambient Temperature (˚C/˚F )
C
C
14 L
0
4
L
0
L
4
L
1
A
1
L 5 Internal module circuitry
5
L 2
2
6
B
L OUTP UT
6 L
L 3
3 7
L
7
C L
D2--08TR
COM
To LE D
D 5--30 VDC
5--240 VAC
6.3A
Operating Voltage
7A @ 12–28 VDC, 12–250VAC;
0.5 A @ 120VDC
24 VDC Resistive
24 VDC Solenoid
10M
-
600k
150k
300k
75k
3
110 VDC Resistive – 600k 300k
Peak Voltage
ON Voltage Drop
150VDC, 265VAC
N/A
110 VDC Solenoid
220 VAC Resistive
–
–
500k
300k
200k
150k
4
AC Frequency 47 to 63 Hz 220 VAC Solenoid – 250k 100k
Minimum Load Current 10 mA @ 12 VDC
10A/point 3 (subject to derating)
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) Manual. Since these modules have no leakage current, they do not
Max Leakage Current
Max of 10A/common
N/A
have built-in snubber. For example, if you place a diode across a
24VDC inductive load, you can significantly increase the life of the
6
Max Inrush Current 12A relay.
Base Power Required 5VDC
OFF to ON Response
670mA
15ms (typical)
2) At 120VDC 0.5 A resistive load, contact life cycle is 200k cycles. 7
3) Normally closed contacts have 1/2 the current handling
ON to OFF Response
Terminal Type (included)
5ms (typical)
Removable; D2-8IOCON
capability of the normally open contacts.
Derating Chart
8
Status Indicator Logic side
Weight
Fuses
5.5 oz. (156g)
None
8
6
2.5 A/pt.
9
3 A/pt.
Number
Points On 4
(100% duty
5A/pt. 10
cycle) 2
11
10 A/pt.
0
0 10 20 30 40 50 55 °C
OUT RELAY
32 50 68 86 104 122 131 °F
Ambient Temperature (°C/°F ) 12
0
1
2
4
5
6 Typical Circuit
13
3 7
F 2--08TR
12--250VAC
10A50/60Hz
12--28VDC
12--28VDC
12--250VAC Internal Circuitry 14
Common
A
10ma--10A
L
L NO 0
NO
NO 1 L
C0-3
L
L
NO 2
NO 3
NO 4
B
C
L NO 5
C4-7
NO 6
L
NO 7
D
L
5 AC Frequency
Minimum Load Current
47 to 63Hz
10mA @ 12VDC
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) 7A/point 3 (subject to derating) Manual. Since these modules have no leakage current, they do not
9
4A/
Weight 5.5 oz. (156g) pt.
10 Points On 4 6A/
(100% duty pt.
cycle) 2 7A/pt.
11
0
0 10 20 30 40 50 55 ˚C
32 50 68 86 104 122131 ˚ F
Ambient Temperature (˚C/˚F )
12
13
OUT RELAY
Typical Circuit
12--28VDC
NO 0
L
0 4 (points 1,2,3,4,5)
12--250VAC C1 1 5 12--28VDC
12--28VDC 2 6 12--250VAC
12--250VAC Internal Circuitry
14
C0
3 7
NO 1 Common
L F 2--08TR S
normally clos ed
NC 0
12--28VDC L 12--250VAC
12--250VAC C2 7A50/60Hz NO
12--28VDC 12--28VDC L
A
C3 12--250VAC 10ma--7A
NO 2 NO 0
C1
L
C0
NO 3 NO 1
12--28VDC L NC 0
12--250VAC C4 C2
B
12--28VDC C3 Typical Circuit
C5 12--250VAC NO 2
NO 3 (P oints 0, 6, & 7 only)
NO 4 C4
L C5 12--28VDC
NO 5 NO 4 12--250VAC Internal Circuitry
L NO 5
normally clos ed NC 6 NC 6
C
L NC 7
C6 Common
NC 7 normally clos ed
C7
12--28VDC L
NO 6
12--250VAC C6
NO7 NO
12--28VDC
C7 12--250VAC L
D
NO 6 NC
L L
NO 7
L
Fuses
(2) 4A slow blow, replaceable
Order D2-FUSE-4 (5 per pack)
n is the starting address 9
Derating Chart
10
Points
12
0.5A / Pt. 11
OUT RELAY 8
A 0
1
4
5
4
0.75A / Pt.
1.25A / Pt.
12
2 1.5A / Pt.
5--30 VDC
5--240 VAC CA
B 3
D2--12TR
0
0
32
10
50
20
68
30
86
40
104
50 55 ˚C
122131 ˚ F
13
Ambient Temperature (˚C/˚F )
14
5--240VAC
0 1.5A50/60Hz
L 5--30VDC
4 5mA--1.5A
L
1
L 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
6 ON Voltage Level
OFF Voltage Level
19VDC minimum
7VDC maximum
Max Inrush Current
3A for < 100ms
10A for < 10ms (common)
OFF to ON Response 12ms
AC Frequency N/A
7 Input Impedance 4.7 kq
ON to OFF Response
Fuses (output circuits)
10ms
1 (6.3 A slow blow, replaceable);
Input Current 5mA @ 24VDC
Order D2-FUSE-3 (5 per pack)
8 Maximum Current
Minimum ON Current
8mA @ 30VDC
4.5 mA
Maximum OFF Current 1.5 mA
9 OFF to ON Response 1 to 10 ms Points Derating Chart
ON to OFF Response 1 to 10 ms 4 Out-
10
puts
Fuses (input circuits) None 3 1A / Pt.
Inputs
2 5mA /
Pt.
0
Voltage/Load Current Closures IN/ 24VDC 0 10 20 30 40 50 55°C
12
OUT RELAY 32 50 68 86 104 122131°F
24VDC Resistive 1A 500k A 0 0 B Ambient Temperature (°C/°F )
24VDC Solenoid 1A 100k 1 1
2 2
110VAC Resistive 1A 500k
13
3 3 Internal module circuitry
110VAC Solenoid 1A 200k D2--08CDR V+
14
8mA
CA
To LE D
0
L
24VD C 0
A
Optical
Source 1 COM Is olator
L +
Sink CA 1
Sink
+ --
O 2 Source
L
L
B
2 24VDC
0
3
1 L
Internal module circuitry
L 3
1
CB OUTP UT
C
2 L
L 5--240VAC
1A50/60Hz
2 5--30VDC
5mA--1A
3 To LE D
L
3
D 5--30 VDC
5--240 VAC
CB
5--30 VDC
5--240 VAC
COM
6.3A
AC Frequency
7
AC modules are designed to operate within a specific frequency range.
8
ON Voltage Level
The voltage level at which the input point will turn ON. 9
OFF Voltage Level
The voltage level at which the input point will turn OFF. 10
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.
Minimum ON Current
13
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 C
Some output modules require external power for the output circuitry.
ON Voltage Drop D
Sometimes called “saturation voltage,” it is the voltage measured from an output point to its
common terminal when the output is ON at maximum load.
5 OFF to ON Response
The time the module requires to process an OFF to ON state transition.
6 ON to OFF Response
The time the module requires to process an ON to OFF state transition.
7
Terminal Type
8 Indicates whether the terminal type is a removable or non-removable connector or a terminal.
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
11 Indicates the weight of the module. See Appendix F for a list of the weights for the various
DL205 components.
12 Fuses
Protective devices for an output circuit, which stop current flow when current exceeds the fuse
13 rating. They may be replaceable or non–replaceable, or located externally or internally.
14
A
B
C
D
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, and
• The steps required to set up and install the CPU.
11 Max Number of Serial Remote Slaves N/A 7 Remote / 31 Slice 7 Remote / 31 Slice 7 Remote / 31 Slice
7
RJ12 Phone Jack Port 2 Port 2
RS-232, 9600 baud DL250–1 and DL260 Additional DL260 Features
Communication Port 15-pin HD Connector –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
–DirectNET Master/Slave
–RS-485 support
11 PWR
BATT
RUN
CPU
Port 1
RJ12 Phone Jack
PWR
BATT
RUN
CPU
CH1
DirectSOFT, handhelds,
13
CH2
operator interfaces, etc.
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
B DirectNet master
C
D
Port 1 Specifications
230 The operating parameters for Port 1 on the DL230 and DL240 CPUs are fixed.
• 6-pin female modular (RJ12 phone jack) type connector
1
240
250-1
260
• K–sequence protocol (slave only)
• RS-232, 9600 baud
2
• Connect to DirectSOFT, D2–HPP, DV–1000, HMI panels
• Fixed station address of 1
3
• 8 data bits, one stop
• Asynchronous, Half–duplex, DTE
4
• 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
230 The operating parameters for Port 1 on the DL250–1 and DL260 CPU are fixed. This applies
9
240 to the DL250 as well.
250-1 • 6-pin female modular (RJ12 phone jack) type connector 10
260 • K–sequence protocol (slave only)
• DirectNET (slave only) 11
• Modbus RTU (slave only) - supported only on D2-250-1 and D2-260
• 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)
1
1 0V Power (–) connection (GND) A
2 5V Power (+) connection
6
3
4
RXD
TXD
Receive Data (RS-232C)
Transmit Data (RS-232C
B
6-pin Female
Modular Connector
5
6
5V
0V
Power (+) connection
Power (–) connection (GND) C
NOTE: The 5V pins are rated at 200mA maximum, primarily for use with some operator interface units. D
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 • 6-Pin female modular (RJ12 phone jack) 1
250-1 type connector 6
260 • 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
240 is located on the 15-pin D-shell connector. It is configurable using AUX functions on a
8 250-1 programming device. This applies to the
DL250 as well. 1
6
11
260
9 • 15-Pin female D type connector
• Protocol: K-sequence, DirectNET Master/
10 Slave, Modbus RTU Master/Slave, Remote
I/O, (ASCII IN/OUT DL260 only) 5
10
15
4
5
6
Retaining Clips
7 CPU must reside in first slot!
10
11
12
Connect Handheld to either Port
13
If you are using a Personal Computer with the DirectSOFT programming package, you can
14 use either the top or bottom port.
A
B
C
D Connect PC to either Port
Status Indicators
PWR
BATT
RUN
CPU
PWR
BATT
RUN
CPU
Mode Switch
1
Port 1 DL240
2
RUN
DL230 CPU TERM
CPU
CH1
CH2
CH3
CH4
PORT1
Analog
Adjustments 3
PORT1
Port 2
PORT?
2
4
5
6
Status Indicators
DL260
7
DL250-1
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 tasks you need to do before
you can start entering programs. This section includes some basic tasks, such as changing the
12
CPU mode, but it also includes some tasks 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 ready the CPU for
programming, including set-up 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 of
the menus and keystrokes required to perform the setup procedures via DirectSOFT.
C
D
Status Indicators
The status indicator LEDs on the CPU front panels have specific functions that can help in
1 programming and troubleshooting.
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
NOTE: If the PLC is switched to the RUN Mode without a program in the CPU, the CPU will produce a
13 FATAL ERROR which can be cleared by cycling the power to the PLC.
14
Mode Switch Position CPU Action
A 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.
B TERM (Terminal) RUN, PROGRAM and the TEST modes are available. Mode and
program changes are allowed by the programming/monitoring device.
C STOP (DL250–1 and DL260 only Stop Program) CPU is forced into the STOP mode. No changes are allowed by the
programming/monitoring device.
7 2. P
ush the battery into the retaining clip. Don’t use
excessive force. You may break the retaining clip.
3. Make a note of the date the battery was installed.
8 DL250-1 and DL260
DL230 and DL240
DL230 and DL240
9 -1
To install the D2–BAT–1 CPU battery in the DL250–1/DL260
CPUs: (#CR2354)
10 1. P
ress the retaining clip on the battery door down and swing the
battery door open.
11 2. P
lace the battery into the coin–type slot with the +, or larger, side
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
B to the Status Indicator table on page 3-12). Special Relay 43 (SP43) will also be 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
Auxiliary Functions
Many CPU set-up 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 2
the AUX functions.
You can access the AUX Functions from DirectSOFT or from the DL205 Handheld
Programmer. The manuals for those products provide step-by-step procedures for accessing
3
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 X X X X ü
HPP EEPROM
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 ü ü ü ü Compare CPU to
73 X X X X ü
42 I/O Diagnostics ü ü ü ü
74
HPP EEPROM
Blank Check (HPP EEPROM) X X X X ü
12
Power-up I/O
44 ü ü ü ü 75 Erase HPP EEPROM X X X X
Configuration Check
45 Select Configuration ü ü ü ü 76
Show EEPROM Type
X X X X
ü
ü
13
46 Configure I/O X X ü ü (CPU and HPP)
2 You can also use other AUX functions to clear other memory areas.
AUX 23 — Clear Ladder Range
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 programming
2 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
6 cleared along with the password.
14 •If the CPU power is disconnected, the CPU will be automatically locked against access.
•If you enter the password with DirectSOFT, the CPU will be automatically locked against access
when you exit DirectSOFT.
A •Use AUX 83 to lock the CPU.
When you use DirectSOFT, you will be prompted for a password if the CPU has been locked.
B 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 communication port
D 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).
DL240
2
RUN
250-1 pulse train output, value for an analog output CPU TERM
3
CH2
CH4
V-memory locations for setting lower and upper
limits for each analog channel.
To increase the value associated with the analog
PORT1
?
4
pot, turn the pot clockwise. To decrease the
5
PORT2
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
Load the lower limit (100) for the analog range on Ch1 into V7640.
5
OUT
V7640
LD
6
K600
OUT Load the upper limit (600) for the analog range on Ch1 into V7641.
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
Timing Diagram
100 600 preset = 100
11 CH1
CH2
X1
T2
12 Y0
100 600
Timing Diagram
preset = 300
A CH1 X1
CH2
B T2
Y0
C Current
Value
0 100 200 300
1/10 Seconds
400 500 600 0
CPU Operation
Achieving the proper control for your equipment or process requires a good understanding 1
of how DL205 CPUs control all aspects of system operation. The flowchart 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 Initialize various memory
At power up, the CPU initializes the internal electronic Service peripheral
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
6 In Run Mode, the CPU executes the application
program, does PID calculations for configured
Read Inputs
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 is used 1
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. If 2
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 from I/O
3
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 5. 4
Read Inputs from Specialty and Remote I/O
After the CPU reads the inputs from the input
_ _ _ 5
modules, it reads any input point data from any
Specialty modules that are installed, such as Counter
DL250–1/260
6
Interface modules, etc. This is also the portion of
the scan that reads the input status from Remote I/O
bases.
RSSS
7
8
_ _ _
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. Now, if
5 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 I/O update until
6 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 override is enabled
7
Input Update Input Update
8 Bit Override OFF Force from
X128
OFF
Y128
...
...
...
X2
ON
Y2
X1
ON
Y1
X0
OFF
Y0 Force from Bit Override ON
Programmer OFF ... ON ON OFF
9
Programmer
C377 ... C2 C1 C0
OFF ... ON OFF OFF
Result of Program Image Register (example) Result of Program
Solution Solution
10
11 CPU Bus Communication
Specialty Modules, such as the Data Communications Module, can transfer data to and from
12 the CPU over the CPU bus on the backplane. This data is more than standard I/O point
status. This type of communications can only occur on the CPU (local) base. A portion of the
execution cycle is used to communicate with these modules. The CPU performs both read and
13 write requests during this segment.
DCM DCM
14
_ _ _ _ _ _
A DATA
B
Update Clock, Special Relays and Special Registers
C The DL240 , DL250–1 and DL260 CPUs have an internal real-time clock and calendar
timer which are accessible to the application program. Special V-memory locations hold this
D information. This portion of the execution cycle makes sure these locations get updated on
every scan. Several different Special Relays, such as diagnostic relays, etc., are also updated
during this segment.
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
variable memory (V) are also updated in this segment.
Diagnostics
8
You may recall the CPU may have obtained and stored forcing information when it serviced
the peripheral devices. If any I/O points or memory data have been forced, the output image
9
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
the application program execution.
12
Solve PID Loop Equations
13
230
The DL260 CPU can process up to 16 PID loops and the DL250–1 can process up to 4 PID
loops. The loop calculations are run as a separate task from the ladder program execution, 14
240 immediately following it. Only loops that have been configured are calculated, and then only
250-1 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 effects of PID
A
260 loop calculation on the overall CPU scan time.
B
Write Outputs
Once the application program has solved the instruction logic and constructed the output C
image register, the CPU writes the contents of the output image register to the corresponding
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, so the
D
forced points get updated with the status specified earlier.
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
4 modules. Remember, the Remote I/O link communication is managed by the Remote Master, not the CPU.
5 Diagnostics
During this part of the scan, the CPU performs all Read Inputs
B 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 Solve the Application Program
B
C
D
Read
Program
Write
Program Program
9
10
Inputs Outputs
Field Input
Scan
1 Scan
Solve
Program
Solve
Program
Solve
Program
Solve
Program
Read Write
2 Field Input
Inputs Outputs
3 Input Module
CPU Reads
Inputs
CPU Writes
Outputs
Off/On Delay
4 Output Module
Off/On Delay
10 Scan
Solve
Program
Solve
Program
Solve
Program
Solve
Program
11 Normal Read
Input
Read
Input
Immediate
Write
Output
Immediate
Normal
Write
Outputs
12 Field Input
Input Module
13 Off/On Delay
Output Module
Off/On Delay
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
D 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
update the status.
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 Reading Inputs
Initialization DL230 DL240 DL250–1 DL260
3 Minimum Time 1.6 Seconds 1.0 Seconds 1.2 Seconds 1.2 Seconds
Maximum Time 3.6 Seconds 2.0 Seconds 2.7 Seconds(w/ 2 exp. bases) 3.7 Seconds (w/ 4 exp. bases)
4
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 For example, the time required for a DL240 to read two 8-point input modules would be
9 Formula
Time = 32µs + (12.3 x NI)
10 Example
Time = 32µs + (12.3 x 16)
11 Time = 228.8 µs
12 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.
13
14
A
B
C
D
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
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.
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 scan
time.
7
Update Clock/Calendar, Special Relays, Special Registers
8 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
Minimum 8.0 µs fixed 35.0 µs 11.0 µs 11.0 µs
10 Program Mode
Maximum
Minimum
8.0 µs fixed
20.0 µs
48.0 µs
60.0 µs
11.0 µs
19.0 µs
11.0 µs
19.0 µs
Run Mode
11 Maximum 26.0 µs 85.0 µs 26.0 µs 26.0 µs
Writing Outputs
12 The time required to write the output status for the local and expansion I/O modules depends
on which CPU you are using and the number of output points in the base. The following table
13 shows typical update times required by the CPU.
14 Timing Factors
Overhead 66.0 µs
DL230
33.0 µs
DL240 DL250–1
28.1 µs 28.1 µs
DL260
D Example
Time = 33 + (16 x 14.6 µs)
Time = 266.6 µs
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
STRN C100
7.95µs
1.6µs
C100
LD
K10
8 LD K10
STRN C101
62.0µs
1.6µs C101
OUT V2002
OUT V2002 21.0µs
9 STRN C102
LD K50
1.6µs
62.0µs C102
LD
STRN C103 K50
10 OUT V2006
1.6µs
21.0µs C103
STR X5 1.4µs OUT V2006
11 ANDN X10
OUT Y3
1.2µs
7.95µs X5 X10 Y3
END 16.0µs
12 210.5µs
OUT
TOTAL
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 FOR/
NEXT loops, Subroutines, and Interrupt Routines. These instructions can interrupt the
B normal program flow and affect the program execution time. Chapter 5 provides detailed
information on how these different types of instructions operate.
C
D
PLC Resources
7
PLCs offer a fixed number 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 two.
9
Octal means simply counting in groups of eight. Decimal 1 2 3 4 5 6 7 8
In the figure to the right, there are eight circles.
10
The quantity in decimal is “8,” but in octal it is
“10” (8 and 9 are not valid in octal). In octal, Octal 1 2 3 4 5 6 7 10
11
“10” means 1 group of 8 plus 0 (no individuals).
In the figure below, we have two groups of eight circles. Counting in octal we have “20.”items, 12
meaning two groups of eight, plus zero 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
B
same as octal quantities, except they start counting at zero. The number zero is significant to a
computer, so we don’t skip it. X= 0 1 2 3 4 5 6 7
C
Our circles are in an array of square containers to the right.
To access a resource, our PLC instruction will address its
X
D
location using the octal references shown. If these were X 1
counters, “CT14” would access the black circle location. 2 X
5 instructions or viewing tools that let us work with binary, decimal, octal, and hexadecimal numbers. All
these are converted and stored as binary for us. A frequently-asked question is “How do I tell if a number is
6 binary, octal, BCD, or hex”? The answer is that we usually cannot tell by looking at the data, but it does not
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
7 V-memory location is a storage box, that’s all. It does not convert or move the data on its own.
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-bit
A 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
C A 4-digit hexadecimal number can represent all 65536 values in a V-memory word. The range is from 0000
to FFFF (hex). PLCs often need this full range for sensor data, etc. Hexadecimal is a convenient way for
D humans to view full binary data.
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
Memory Map
With any PLC system, you generally have many different types of information to process. This 1
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, data words,
2
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 CPUs follows the 3
memory descriptions.
These discrete memory areas and their corresponding V-memory ranges are listed in the
D
memory area table for the DL230, DL240, DL250–1 and DL260 CPUs in this chapter.
X2
S3
JMP
D OUT
V7636
pulse train output, and input filter for X1 (when D2–CTRINT is installed).
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
14
V7637 Contains set-up information for high-speed counter, interrupt, pulse catch,
pulse train output, and input filter for X3 (when D2–CTRINT is installed). Default: 0000 A
V7640–V7642 Additional setup parameters for the DV-1000
V7640
V7641
Timer preset value pointer
Counter preset value pointer
V2000–V2377
V2000–V2377
B
Timer preset block size (high byte) / Counter preset block size (low byte)
V7642
V7643–V7647 Not used
1–99
N/A C
Fault Message Error Code — stores the 4-digit code used with the FAULT
V7751 instruction when the instruction is executed. N/A
D
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
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
Upper Byte Range:
11
key-up delay before data is transmitted.
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
07 = 500ms
13
14
A
B
C
D
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
output, and input filter for X1 (when D2–CTRINT is installed). Default: 0000
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).
Contains set-up information for high-speed counter, interrupt, pulse catch, pulse train
Default: 0000
V7637 output, and input filter for X3 (when D2–CTRINT is installed). Default: 0000
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
12 V7650–V7737
V7720–V7722
Locations reserved for set-up information used with future options (remote I/O and data communications).
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
14 V7746
V7747
Location contains the battery voltage, accurate to 0.1V. For example, a value of 32 indicates 3.2 volts.
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 configuration.
B
C
D
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
V7756
Error code — stores the fatal error code.
Error code — stores the major error code.
2
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
V7767
Contains the number of seconds on the clock. (00 to 59).
Contains the number of minutes on the clock. (00 to 59).
4
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
V7774
Contains the month. (01 to 12)
Contains the year. (00 to 99)
6
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
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
V7624
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
Sets the V-memory location that contains the character code to be displayed
1 – 32
V0 – V3760
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
Contains set-up information for high-speed counter, interrupt, pulse catch,pulse train Default: 1006
14 V7634
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 Default: 1006
output, and input filter for X2 (when D2–CTRINT is installed).
B
C
D
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
1 System
V-memory
Description of Contents
2 V7766
V7767
Contains the number of seconds on the clock. (00 to 59)
Contains the number of minutes on the clock. (00 to 59)
V7770 Contains the number of hours on the clock. (00 to 23)
3 V7771
V7772
Contains the day of the week. (Mon, Tue, etc.)
Contains the day of the month (1st, 2nd, etc.)
4 V7773
V7774
Contains the month. (01 to 12)
Contains the year. (00 to 99)
V7775 Scan — stores the current scan time (milliseconds)
5 V7776 Scan — stores the minimum scan time that has occurred since the last Program Mode to Run
Mode transition (milliseconds)
Scan — stores the maximum scan time that has occurred since the last Program Mode to Run
6 V7777
V36000–36057
Mode transition (milliseconds)
Analog pointer method for expansion base 1 (DL250–1)
V36100–36157 Analog pointer method for expansion base 2 (DL250–1)
7 V36400–36427 Analog pointer method for local base
V37700–37737 Port 2: Setup register for Koyo Remote I/O
8
9
10 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
11 C740
C741
table.
Erase received data – turning on this flag will erase the received data during a communication error.
12 C743
C750 to C757
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.
(C750 = master, C751 = slave 1 C757 = slave 7)
13 C760 to C767 Communications Ready – The corresponding relay will be ON if the set-up table data is valid.
(C760 = master, C761 = slave 1 C767 = slave 7)
14
A
B
C
D
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
4 V7643 - V7647
V7650
Reserved.
Port 2 End–code Setting (A55A), Non-procedure 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
6 V7654
V7655
Port 2 Store v–mem address – Non–procedure communication data store V–Memory address.
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.
8 V7720–V7722
V7720
Locations for DV-1000 operator interface parameters.
Titled Timer preset value pointer.
Title Counter preset value pointer.
V7721
HiByte-Titled Timer preset block size, LoByte-Titled Counter preset block size.
9 V7740
V7722
Port 2 Communication Auto Reset Timer setup.
V7741 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.
11 V7750 Reserved.
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
12 V7752
message is stored here.
I/O configuration Error — stores the module ID code for the module that does not match the current
configuration.
13 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.
14 V7756 Error code — stores the major error code.
V7757 Error code — stores the minor error code.
A V7763–V7764 Module Error — stores the slot number and error code where an I/O error occurs.
Scan — stores the total number of scan cycles that have occurred since the last Program Mode to Run Mode
V7765
transition.
B
C
D
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
V7777
(milliseconds).
Scan — stores the maximum scan time that has occurred since the last Program Mode to Run Mode transition
(milliseconds).
5
V36000–36057
V36100–36157
Analog pointer method for expansion base 1
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: Set-up register for Koyo Remote I/O
8
The following system control relays are used for Koyo Remote I/O setup on Communications 9
Port 2.
System CRs Description of Contents
10
Completion of setups – ladder logic must turn this relay on when it has finished writing to the Remote I/O setup
C740
C741
table.
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 set-up 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 set-up table data is valid.
(C760 = master, C761 = slave 1...C767 = slave 7 13
14
A
B
C
D
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 memory
2 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 is the timer accumulator value for timer 0, therefore, its
V0 TA0 alias is TA0. TA1 is the alias for V1, etc.
5 V1000 CTA0 V1000 is the counter accumulator value for counter 0,
therefore, its 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, its alias is VGX0. V40001 is the
word memory reference for discrete bits GX20 through GX37,
therefore, its alias is VGX20.
7 V40200 is the word memory reference for discrete bits GY0
through GY17, therefore, its alias is VGY0. V40201 is the
V40200 VGY word memory reference for discrete bits GY20 through GY37,
8 therefore, its alias is VGY20.
V40400 is the word memory reference for discrete bits X0
through X17, therefore, its alias is VX0. V40401 is the word
9 V40400 VX0 memory reference for discrete bits X20 through X37, therefore,
its alias is VX20.
V40500 is the word memory reference for discrete bits Y0
10 V40500 VY0 through Y17, therefore, its alias is VY0. V40501 is the word
memory reference for discrete bits Y20 through Y37, therefore,
its alias is VY20.
11 V40600 VC0
V40600 is the word memory reference for discrete bits C0
through C17, therefore, its alias is VC0. V40601 is the word
memory reference for discrete bits C20 through C37, therefore,
12 its alias is VC20.
V41000 is the word memory reference for discrete bits S0
V41000 VS0 through S17, therefore, its alias is VS0. V41001 is the word
13 memory reference for discrete bits S20 through S37, therefore,
its alias is VS20.
V41100 is the word memory reference for discrete bits T0
14 V41100 VT0 through T17, therefore, its alias is VT0. V41101 is the word
memory reference for discrete bits T20 through T37, therefore,
its alias is VT20.
A V41140 VCT0
V41140 is the word memory reference for discrete bits CT0
through CT17, therefore, its alias is VCT0. V41141 is the
word memory reference for discrete bits CT20 through CT37,
therefore, its alias is VCT20.
B V41200 is the word memory reference for discrete bits SP0
through SP17, therefore, its alias is VSP0. V41201 is the
V41200 VSP0 word memory reference for discrete bits SP20 through SP37,
C therefore, its alias is VSP20.
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
C0 C0
5 Control Relays C0 – C377 V40600 – V40617 256
6 Special Relays
SP0 – SP137
SP540 – SP617
V41200 – V41205
V41226 – V41230
144
SP0
CNT CT0
11 Counters CT0 – CT177 128 K10
7 TMR T0
Timers T0 – T377 256 K100
8
V0 K100
Timer Current Values None V0 – V377 256
9
10
T0
Timer Status Bits T0 – T377 V41100 – V41117 256
13 CT0
Counter Status Bits CT0 – CT377 V41140 – V41157 256
14 V400 – V777
None specific, used with many
A Data Words None V1400 – V7377 V10000–
V35777
14.6K
instructions
SG S0
B Stages S0 – S1777 V41000 – V41077 1024 S001
GX0 GY0
C Remote Input and
Output Points
GX0 – GX3777 V40000 – V40177 2048
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
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
V40447
V40450
V40547
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
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
V40454
V40455
V40554
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
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
V40461
V40462
V40561
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
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
V40466
V40467
V40566
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
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
V40473
V40474
V40573
V40574
1737 1736 1735 1734 1733 1732 1731 1730 1727 1726 1725 1724 1723 1722 1721 1720 V40475 V40575
A 1757 1756 1755 1754 1753 1752 1751 1750 1747 1746 1745 1744 1743 1742 1741 1740 V40476 V40576
1777 1776 1775 1774 1773 1772 1771 1770 1767 1766 1765 1764 1763 1762 1761 1760 V40477 V40577
B
C
D
12 1617
1637
1616
1636
1615
1635
1614
1634
1613
1633
1612
1632
1611
1631
1610
1630
1607
1627
1606
1626
1605
1625
1604
1624
1603
1623
1602
1622
1601
1621
1600
1620
V40670
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
14 1737
1757
1736
1756
1735
1755
1734
1754
1733
1753
1732
1752
1731
1751
1730
1750
1727
1747
1726
1746
1725
1745
1724
1744
1723
1743
1722
1742
1721
1741
1720
1740
V40675
V40676
1777 1776 1775 1774 1773 1772 1771 1770 1767 1766 1765 1764 1763 1762 1761 1760 V40677
A
B
C
D
This portion of the table shows additional Control Relays points available with the DL260.
5 3177
3217
3176
3216
3175
3215
3174
3214
3173
3213
3172
3212
3171
3211
3170
3210
3167
3207
3166
3206
3165
3205
3164
3204
3163
3203
3162
3202
3161
3201
3160
3200
V40747
V40750
3237 3236 3235 3234 3233 3232 3231 3230 3227 3226 3225 3224 3223 3222 3221 3220 V40751
6 3257
3277
3256
3276
3255
3275
3254
3274
3253
3273
3252
3272
3251
3271
3250
3270
3247
3267
3246
3266
3245
3265
3244
3264
3243
3263
3242
3262
3241
3261
3240
3260
V40752
V40753
7 3317
3337
3316
3336
3315
3335
3314
3334
3313
3333
3312
3332
3311
3331
3310
3330
3307
3327
3306
3326
3305
3325
3304
3324
3303
3323
3302
3322
3301
3321
3300
3320
V40754
V40755
3357 3356 3355 3354 3353 3352 3351 3350 3347 3346 3345 3344 3343 3342 3341 3340 V40756
8 3377
3417
3376
3416
3375
3415
3374
3414
3373
3413
3372
3412
3371
3411
3370
3410
3367
3407
3366
3406
3365
3405
3364
3404
3363
3403
3362
3402
3361
3401
3360
3400
V40757
V40760
9 3437
3457
3436
3456
3435
3455
3434
3454
3433
3453
3432
3452
3431
3451
3430
3450
3427
3447
3426
3446
3425
3445
3424
3444
3423
3443
3422
3442
3421
3441
3420
3440
V40761
V40762
3477 3476 3475 3474 3473 3472 3471 3470 3467 3466 3465 3464 3463 3462 3461 3460 V40763
10 3517 3516 3515 3514 3513 3512 3511 3510 3507 3506 3505 3504 3503 3502 3501 3500 V40764
3537 3536 3535 3534 3533 3532 3531 3530 3527 3526 3525 3524 3523 3522 3521 3520 V40765
11 3557
3577
3556
3576
3555
3575
3554
3574
3553
3573
3552
3572
3551
3571
3550
3570
3547
3567
3546
3566
3545
3565
3544
3564
3543
3563
3542
3562
3541
3561
3540
3560
V40766
V40767
3617 3616 3615 3614 3613 3612 3611 3610 3607 3606 3605 3604 3603 3602 3601 3600 V40770
12 3637 3636 3635 3634 3633 3632 3631 3630 3627 3626 3625 3624 3623 3622 3621 3620 V40771
3657 3656 3655 3654 3653 3652 3651 3650 3647 3646 3645 3644 3643 3642 3641 3640 V40772
13 3677
3717
3676
3716
3675
3715
3674
3714
3673
3713
3672
3712
3671
3711
3670
3710
3667
3707
3666
3706
3665
3705
3664
3704
3663
3703
3662
3702
3661
3701
3660
3700
V40773
V40774
3737 3736 3735 3734 3733 3732 3731 3730 3727 3726 3725 3724 3723 3722 3721 3720 V40775
14 3757 3756 3755 3754 3753 3752 3751 3750 3747 3746 3745 3744 3743 3742 3741 3740 V40776
3777 3776 3775 3774 3773 3772 3771 3770 3767 3766 3765 3764 3763 3762 3761 3760 V40777
A
B
C
D
B
C
D
A 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
V40034
V40035
V40234
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
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
V40044 V40244
1117
1137
1116
1136
1115
1135
1114
1134
1113
1133
1112
1132
1111
1131
1110
1130
1107
1127
1106
1126
1105
1125
1104
1124
1103
1123
1102
1122
1101
1121
1100
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
1257
1236
1256
1235
1255
1234
1254
1233
1253
1232
1252
1231
1251
1230
1250
1227
1247
1226
1246
1225
1245
1224
1244
1223
1243
1222
1242
1221
1241
1220
1240
V40051
V40052
V40251
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
1377
1356
1376
1355
1375
1354
1374
1353
1373
1352
1372
1351
1371
1350
1370
1347
1367
1346
1366
1345
1365
1344
1364
1343
1363
1342
1362
1341
1361
1340
1360
V40056
V40057
V40256
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
1517
1476
1516
1475
1515
1474
1514
1473
1513
1472
1512
1471
1511
1470
1510
1467
1507
1466
1506
1465
1505
1464
1504
1463
1503
1462
1502
1461
1501
1460
1500
V40063
V40064
V40263
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
1637
1616
1636
1615
1635
1614
1634
1613
1633
1612
1632
1611
1631
1610
1630
1607
1627
1606
1626
1605
1625
1604
1624
1603
1623
1602
1622
1601
1621
1600
1620
V40070
V40071
V40270
V40271
13
1657 1656 1655 1654 1653 1652 1651 1650 1647 1646 1645 1644 1643 1642 1641 1640 V40072 V40272
1677 1676 1675 1674 1673 1672 1671 1670 1667 1666 1665 1664 1663 1662 1661 1660 V40073 V40273 14
1717 1716 1715 1714 1713 1712 1711 1710 1707 1706 1705 1704 1703 1702 1701 1700 V40074 V40274
1737
1757
1736
1756
1735
1755
1734
1754
1733
1753
1732
1752
1731
1751
1730
1750
1727
1747
1726
1746
1725
1745
1724
1744
1723
1743
1722
1742
1721
1741
1720
1740
V40075
V40076
V40275
V40276
A
1777 1776 1775 1774 1773 1772 1771 1770 1767 1766 1765 1764 1763 1762 1761 1760 V40077 V40277
B
C
D
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
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
V40111
V40112
V40311
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
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
V40116
V40117
V40316
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
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
V40123
V40124
V40323
V40324
2537 2536 2535 2534 2533 2532 2531 2530 2527 2526 2525 2524 2523 2522 2521 2520 V40125 V40325
12 2557 2556 2555 2554 2553 2552 2551 2550 2547 2546 2545 2544 2543 2542 2541 2540 V40126 V40326
2577 2576 2575 2574 2573 2572 2571 2570 2567 2566 2565 2564 2563 2562 2561 2560 V40127 V40327
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
V40130
V40131
V40330
V40331
2657 2656 2655 2654 2653 2652 2651 2650 2647 2646 2645 2644 2643 2642 2641 2640 V40132 V40332
14 2677 2676 2675 2674 2673 2672 2671 2670 2667 2666 2665 2664 2663 2662 2661 2660 V40133 V40333
2717 2716 2715 2714 2713 2712 2711 2710 2707 2706 2705 2704 2703 2702 2701 2700 V40134 V40334
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
V40135
V40136
V40335
V40336
2777 2776 2775 2774 2773 2772 2771 2770 2767 2766 2765 2764 2763 2762 2761 2760 V40137 V40337
B
C
D
1
MSB DL260 Remote I/O (GX) and (GY) Points LSB GX GY
2
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
3077
3056
3076
3055
3075
3054
3074
3053
3073
3052
3072
3051
3071
3050
3070
3047
3067
3046
3066
3045
3065
3044
3064
3043
3063
3042
3062
3041
3061
3040
3060
V40142
V40143
V40342
V40343
4
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
V40177 V40377
3777 3776 3775 3774 3773 3772 3771 3770 3767 3766 3765 3764 3763 3762 3761 3760
B
C
D
Notes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
3 •L
ocal 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.
•E
thernet Remote Master – provides a low-cost, high-speed Ethernet Remote I/O link to Ethernet
4 Remote Slave I/O.
•E
thernet Base Controller – provides a low-cost, high-speed Ethernet link between a network master
5 to AutomationDirect Ethernet Remote Slave I/O.
•R
emote I/O – consists of I/O modules located in bases which are serially connected to the local CPU
6 base through a Remote Master module, or may connect directly to the bottom port on a DL250–1
or DL260 CPU.
A DL205 system can be developed using many different arrangements of these configurations.
7 All I/O configurations use the standard complement of DL205 I/O modules and bases. Local
expansion requires using (–1) bases.
8 Networking Configurations
9 The DL205 PLCs offers the following way to add networking to the system:
• E
thernet 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.
• D
ata Communications Module – connects a DL205 (DL240, DL250–1 and DL260 only) system
11 • D
to devices using the DirectNET protocol, or connects as a slave to a Modbus RTU network.
L250–1 Communications Port – The DL250–1 CPU has a 15–Pin connector on Port 2 that
14 conversions.) Port 2 can also be used for ASCII IN or ASCII OUT communications.
A Module/Unit
DL240 CPU
Master
DirectNet, K–Sequence
Slave
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 2
to 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 A A A
AC Input Modules
DC Output Modules
A
A
A
A
A
A
8
AC Output Modules
Relay Output Modules
A
A
A
A
A
A 9
Analog Input and Output Modules A A A
Local Expansion
Base Expansion Unit A A
10
Base Controller Module
Serial Remote I/O
CPU Slot Only
11
Remote Master A (not Slot O)
Remote Slave Unit CPU Slot Only 12
Ethernet Remote Master A (not Slot O)
Ethernet Slave (EBC)
CPU Interface
CPU Slot Only
13
Ethernet Base Controller CPU Slot Only CPU Slot Only*
WinPLC CPU Slot Only 14
DeviceNet CPU Slot Only A
Profibus
SDS
CPU Slot Only
CPU Slot Only
A
Specialty Modules
Counter Interface (CTRINT) Slot 0 Only B
Counter I/O (CTRIO) A A*
Data Communications
Ethernet Communications
A (not Slot O)
A (not Slot O)
C
BASIC CoProcessor
Simulator
A (not Slot O)
A A A D
Filler A A A
*When used in H2–ERM(100) Ethernet Remote I/O systems.
10
Automatic 8pt. Input 16pt. Output 16pt. Input 8pt. Input
X0-X7 Y0-Y17 X10-X27 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 240 Itassignments
may never become necessary, but DL250–1 and DL260 CPUs allow manual I/O address
for any I/O slot(s) in local or local expansion bases. You can manually modify
250-1 an auto configuration to match arbitrary I/O numbering. For example, two adjacent input
14 260 modules can have starting addresses at X20 and X200. Use DirectSOFT PLC Configure I/O
menu 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.
5 D2–04TD1
8 Output (Only the first four
points are used)
D2–CTRINT 8 Input 8 Output
D2–08TD1 8 Output F2–DEVNETS–1 None
6 D2–16TD1–2 (2-2)
D2–16TD1(2)P
16 Output
16 Output
H2–PBC
F2–SDS–1
None
None
D2–32TD1(–2) 32 Output D2–08SIM 8 Input
7 AC Output Modules
D2–08TA 8 Output
D2-EM
D2-CM
None
None
8 F2–08TA
D2–12TA
8 Output
16 Output (See note 1)
H2-ECOM(100) None
11 D2–12TR
Combination Modules
16 Output (See note 1)
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
F2–8AD4DA-1
16 Input & 16 Output
32 Input & 32 Output
C F2–8AD4DA-2
F2–04RTD
32 Input & 32 Output
32 Input
F2–04THM 32 Input
D NOTE: 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.
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
14 F2–04AD–1L
F2–04AD–2
100
110
5mA @ 10-30V
5mA @ 10-30V
F2–02DAS–2
F2–4AD2DA
100
90
60mA per channel
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
C F2–02DA–2L
F2–08DA–1
40
30
70mA @ 12V**
50mA**
F2–08DA–2 60 140
D *requires external 5VDC for outputs
**add an additional 20mA per loop
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
RUN (Green)
OFF
ON
Power failure
D2–CM has established communication with PLC C
OFF D2–CM has not established communication with PLC
DIAG (Red)
ON
ON/OFF
Hardware watch–dog failure
I/O module failure (ON 500ms / OFF 500ms)
D
OFF No D2–CM error
10 D2–EM Indicator
ON
Status Meaning
D2–EM is communicating with other D2–EM
ACTIVE (Green)
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
12 ACTIVE indicator to function normally.
C 1 2 3 4 5 6 78
4
5
6 GRN
4
5
GRN 6
D
8 8
(8P8C)
RJ45 RJ45
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
I/O addressing #5
NOTE: Do not use Ethernet hubs
to connect the local expansion
5
system together.
6
D2–260
I/O addressing #4
7
8
CPU 30m (98ft.) max. cable length
NOTE: When applying power to the CPU (DL250–1/260) and local expansion bases, make sure the expansion
bases power up at the same time or before the CPU base. Expansion bases that power up after the CPU base
1 will not be recognized by the CPU. (See chapter 3 Initialization Process timing specifications).
CPU
9 30m (98ft.) max. cable length
10 I/O addressing #1
13
• The CPU base can be located at any base position in the expansion system.
14 • All discrete and analog modules are supported in the expansion bases. Specialty modules are
not supported in the expansion bases.
A • 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 and
B 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 position.
C 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
D RJ45 ports (labelled A and B) on the D2–EM can be used to connect one base to another.
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
Power Consumption
HTML configuration
320mA @ 5VDC 450mA @ 5VDC
13
14
A
B
C
D
4
5 Dedicated Hub(s)
for ERM Network ERM
Module
7 GS–EDRV
or HA–EDRV2 DirectLogic DL405 I/O
with EBC Module
8 AC Terminator I/O
Drive with EBC Module
9
When networking ERMs with other Ethernet devices, we recommend that a dedicated Ethernet
10 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 Ethernet
traffic can adversely affect the reliability of the slave I/O and the speed of the I/O network.
11 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
GS–EDRV
C or HA–EDRV2 DirectLogic DL405 I/O
with EBC Module
D AC
Drive Terminator I/O
with EBC Module
H2-ERM(100)
14
The Module IDs can also be set or changed on the network from a single PC by using the tools
A
in NetEdit.
B
Safety Guidelines
Installation and
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 will be 14.
This is found by adding 8+4+2=14. The maximum value which can be set on the DIP switch C
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
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 usable slots depends on how many slots the base has. All of the DL205 CPUs
2 support the ERM module, except the D2-230.
3 DL205 CPU
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 three types of ERM modules available, one supports the 10BaseT standard, another
9 supports 10/100BaseT 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
10 fiber optic cabling.
10/100BaseT 10BaseFL
11
Unshielded 62.5/125 MMF
12 Twisted-Pair fiber optics cable
cable with RJ45 with ST-style
13 connectors connectors
14
A
B
C
D
10/100BaseT 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 recommended
1
that pre-assembled cables be purchased for convenient and reliable networking.
The above diagram illustrates the standard wire positions of the RJ45 connector. It is 2
recommended that Catagory 5, UTP cable be used for all ERM 10/100BaseT cables.
3
Patch (Straight–through) Cable
TD+ 1 OR/WHT
OR
OR/WHT
OR
1 RD+
4
TD– 2 2 RD–
GRN/WHT GRN/WHT
5
RD+ 3 3 TD+
4 BLU BLU 4
BLU/WHT BLU/WHT
10/100BaseT 5
GRN GRN
5
RD– 6 6 TD–
BRN/WHT BRN/WHT
7
8
RJ45
BRN BRN
7
8
RJ45
6
1 2 3 4 5 6 78
8-pin RJ45 Connector
Crossover Cable 7
GRN/WHT
8
(8P8C) OR/WHT
TD+ 1 OR GRN 1 TD+
TD– 2 OR/WHT 2 TD–
GRN/WHT
RD+ 3 3 RD+
4 BLU BLU 4
9
BLU/WHT BLU/WHT
5 5
GRN OR
RD– 6 6 RD–
BRN/WHT BRN/WHT
7 7
8 BRN BRN 8
RJ45 RJ45
10
Refer to the ERM manual for using the fiber optic cable with the H2-ERM-F.
An explanation of the use of the ERM Workbench software is too lengthy for this manual. The
11
full use of the workbench and NetEdit utilities is discussed in the ERM manual.
12
13
14
A
B
C
D
7 OR OR
8
All H2/H4 Series EBCs
EBC
9 UDP/IP, IPX
10Mbps Ethernet
Hub
Serial HMI
H2-EBC100
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.
Network Cabling
Of the two types of EBC modules available, one supports the 10/100BaseT standard and the
1 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
ST-style
Bayonet
Port
5 RS232
for
10BaseFL
6 RJ45 for
10/100BaseT
7
The 10BaseT and 100BaseT EBCs have an eight-pin modular jack that accepts RJ45
8 connectors. UTP Category 5 (CAT5) cable is highly recommended for use with all
Ethernet 10/100BaseT connections. For convenient and reliable networking, purchase
9 commercially 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.
12 TD+ 1
TD– 2
OR/WHT
OR
OR/WHT
OR
1
2
RD+
RD–
GRN/WHT GRN/WHT
13 10/100BaseT
RD+ 3
4
5
BLU
BLU/WHT
BLU
BLU/WHT
3
4
5
TD+
C TD– 2
RD+ 3
4
GRN/WHT
BLU
OR/WHT
BLU
2
3
4
TD–
RD+
BLU/WHT BLU/WHT
D RD– 6
5
7
GRN
BRN/WHT
OR
BRN/WHT
5
6
7
RD–
8 BRN BRN 8
RJ45 RJ45
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 seven 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 none 2 7 7
6 CPU base (1 channel per Remote Master)
CPU built-in Remote I/O channels none none 1 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
9 Remote I/O points map into different CPU memory locations, therefore it does not reduce the
number of local I/O points. Refer to the DL205 Remote I/O manual for details on remote
10 I/O configuration and numbering. Configuring the built-in remote I/O channel is described
in the following section.
11 The figure below shows one CPU base, and one remote I/O channel with six remote bases.
If 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
13 Maximum of:
2 per CPU base (DL240)
7 per CPU base (DL250-1 & DL260)
Masters can go in any slot except next to CPU.
A Remote Slaves
B Maximum of
7 remote bases
per channel
C
D
Allowable distance is from farthest slave to the remote master.
The next step is to make the connections between all devices on the Remote I/O link.
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 DL250–1 and
5 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 D2-RSSS D2-RSSS
6
7 0V
7
Remote I/O Master Remote I/O Slave
Cable: Use AutomationDirect L19954
(Belden 9842) or equivalent
Remote I/O Slave
(end of chain)
T Jumper T
8 9
13 RXD+
120 ohms
Termination Resistor
TXD+ / RXD+ 1 1
9 TXD+
TXD–
10
(TXD, RXD are
TXD– / RXD– 2 2
Internal 150 ohms
twisted pair) resistor not used
3 3
10 (use 2 grounds leads - twisted pair)
Signal GND with 120 ohms cable
11 The twisted/shielded pair connects to the DL250–1 or DL260 Port 2 as shown. A termination
resistor must be added externally to the CPU, as close as possible to the connector pins. Its
12 purpose is to minimize electrical reflections that occur over long cables. A termination resistor
must be present at both physical ends of the network.
Ideally, the two termination resistors at the cable’s opposite ends and the cable’s rated
13 impedance will all match. For cable impedances
greater than 150 ohms, add a series resistor Add series T
14 at the last slave as shown to the right. If less
than 150 ohms, parallel a matching resistance
external
resistor
1 Internal
150 ohm
OUT
D
V37705
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 appropriate
2 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 base points
3 (X60 and Y40, respectively).
Main Base with CPU as Master Remote Slave Worksheet
4 DL 260
CPU 16 16 16 16 16 Slot Module
1
Remote Base Address _________(Choose
INPUT
1–7)
OUTPUT
Number Name Input Addr. No. Inputs Output Addr. No.Outputs
5 Port 2 I I I O O 0
1
08ND3S
08ND3S
X060
X070
8
8
8
6
2 08TD1 Y040
X0-X17 X20-X37 X40-X57 Y0-Y17 Y20-Y37
3 08TD1 Y050 8
V40400 V40401 V40402 V40500 V40501
4
Remote Slave
7
5
6
D2
7
RSSS 8 8 8 8
8 Slave
I I O O
Input Bit Start Address: ________V-Memory
X060 Address:V _______
40403
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
D OUT
V37707
10 Multi–drop
Network
TXD+
TXD–
Signal GND
PC/PLC Master
11
9 TXD+ Termination
10 TXD– Resistor on
PORT 1: DL250–1, DL260 (slave only) 13 RXD+ last slave only
PORT 2: DL240 (slave only)
6 RXD–
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)
B
1 5V 5 VDC
2 TXD2 Transmit Data (RS-232)
for RS-232 or RS-422 is
6 3 RXD2 Receive Data (RS-232) AutomationDirect L19772
1 11
4 RTS2 Ready to Send (RS–232) (Belden 8102) or equivalent.
C
5 CTS2 Clear to Send (RS–232) The recommended cable for
6 RXD2– Receive Data – (RS–422) (RS–485 DL260) RS-485 is AutomationDirect L19827
7 0V Logic Ground (Belden 9841) or equivalent.
8 0V Logic Ground
D 5
10
15
9
10
11
TXD2+
TXD2 –
RTS2 +
Transmit Data + (RS–422) (RS–485 DL260)
Transmit Data – (RS–422) (RS–485 DL260)
Request to Send + (RS–422) (RS–485 DL260)
Note: The DL260 supports
RS–485 multi–drop net-
working. See the Network
12 RTS2 – Request to Send – (RS–422)(RS–485 DL260)
13 RXD2 + Receive Data + (RS–422) (RS–485 DL260) Master Operation (DL260
15-pin Female Only) section later in this
D-Sub connector 14 CTS2 + Clear to Send + (RS422) (RS–485 DL260)
15 CTS2 – Clear to Send – (RS–422) (RS–485 DL260) chapter for details.
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,
14 the port is 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.
• Stop Bits: Choose 1 or 2 stop bits for use in the protocol.
C • Parity: Choose none, even, or odd parity for error checking.
• Format: Choose hex or ASCII formats.
D Then click the button indicated to send the Port configuration to the CPU, and click Close.
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)
Special Relays (SP)
2048
512
GX0
SP0
–
–
GX3777
SP777
3840
3072
–
–
18431
3583
Input
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)
Counter Contacts (CT)
256
256
T0
CT0
–
–
T177
CT177
6144
6400
–
–
6399
6655
Coil
Coil
C
D
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.
Find the Modbus address for output Y20. + Data Type 6
1. Find Y outputs in the table. Y20 = 16 decimal
2. Convert Y20 into decimal (16). 16 + 2049 + Coil = Coil 2065 7
3. Add the starting address for the range (2049).
4. Use the Modbus data type from the table. 8
Outputs (Y)
Control Relays (CR)
320
256
Y0 – Y477
C0 – C377
2049 – 2367
3072 - 3551
Coil
Coil 9
Example 3: T10 Current Value PLC Address (Dec.) + Data Type
Find the Modbus address to obtain the current T10 = 8 decimal
10
value from Timer T10.
1. Find Timer Current Values in the table.
8 + Input Reg. = Input Reg. 9 11
2. Convert T10 into decimal (8).
3. Use the Modbus data type from the table.
12
Timer Current Values (V)
Counter Current Values (V)
128
128
V0 – V177
V1000 – V1177
0 – 128
512 – 639
Input Register
Input Register
13
Example 4: C54
Find the Modbus address for Control
PLC Addr. (Dec) + Start Addr. +Data Type
C54 = 44 decimal
14
Relay C54.
1. Find Control Relays in the table.
44 + 3073 + Coil = Coil 3117 A
2. Convert C54 into decimal (44).
3. Add the starting address for the B
range (3073).
4. Use the Modbus data type from the
table.
C
Outputs (Y)
Control Relays (C)
320
256
Y0 – Y477
C0 – C377
2048 - 2367
3073 – 3551
Coil
Coil
D
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 group
9 of data.
B
C
D
7 Outputs (Y)
Control Relays (CR)
320
256
Y0 - Y477
C0 - C377
2048 - 2367
3072 - 3551
1
1
1
1
Coil
Coil
Example 3: T10 Current Value 484 Mode PLC Address (Dec.) + Mode Address
9 Find the Modbus address to obtain the
current value from Timer T10.
TA10 = 8 decimal
8 + 3001 = 3009
1. Find Timer Current Values in the table.
10 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
B Outputs (Y)
Control Relays (CR)
320
256
Y0 - Y477
C0 - C377
2048 - 2367
3072 - 3551
1
1
1
1
Coil
Coil
11 V-memory
DL205/405 Memory Bits per unit
16
Bytes
2
T / C current value 16 2
12 Inputs (X, SP)
Outputs (Y, C, Stage, T/C bits)
8
8
1
1
14
DL305 Memory Bits per unit Bytes
A Data registers
T / C accumulator
8
16
1
2
I/O, internal relays, shift register bits,
B T/C bits, stage bits
1 1
LDA
12 In the example to the right, after the RX instruction
is executed, C100 is set. When the port has finished
O40600
C100
If you’re using RLLPLUS Stage Programming, you
14 can put each routine in a separate program stage to
ensure proper execution and switch from stage to SP116 C100
SET
LD
LD
B K3
LDA
O40400
C
WX
VY0
D C100
RST
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 • Timeout: Amount of time the port will wait after it sends a message to get a response before logging
3 260 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.
• Stop Bits: Choose 1 or 2 stop bits for use in the protocol.
C • Parity: Choose none, even, or odd parity for error checking.
• Echo Suppression: Select the appropriate radio button based on the wiring configuration used on
D port 2.
Then click the button indicated to send the Port configuration to the CPU, and click Close.
3
TXD– / RXD– TXD– / RXD– TXD– / RXD–
RTS+ 0V
1
7
11
RTS+
6
TXD+ RXD+ RTS– TXD+
RXD+ RTS– 7
CTS+ CTS+
5 15
CTS–
5
CTS– 8
15
9
10 Cable: Use AutomationDirect L19954 10
(Belden 9842) or equivalent
TXD– TXD–
DL260 CPU Port 2 DL260 CPU Port 2
10
11
RS–232 Network
Normally, the RS–232 signals are used for shorter distances (15 meters maximum), for
communications between two devices.
12
Port 2 Pin Descriptions (DL260 only)
6
1
1
2
5V
TXD2
5 VDC
Transmit Data (RS-232)
13
Signal GND 11
3 RXD2 Receive Data (RS-232)
GND
RXD
TXD
2
7
4 RTS2 Ready to Send (RS–232) 14
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
RTS
RTS
CTS
5
10 15
9
0V
TXD2+
Logic Ground
Transmit Data + (RS–422/RS–485) B
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
14
RXD2 +
CTS2 +
Receive Data + (RS–422/RS–485)
Clear to Send + (RS422/RS–485) D
15 CTS2 – Clear to Send – (RS–422/RS–485)
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 MWX instruction supports the following Modbus function codes:
05 – Force Single coil
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
C 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 • Exception Response Buffer: specifies the master memory address where the Exception Response
will be placed.
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
SP0 CTO
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
CNT
A 2
Port 2 error bit
SP117 Number of times that
B _FirstScan
the PLC has errored
CT1
SP0
K9999
C
D
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 second
routine is executed and C100 is reset. If you’re using RLLPLUS Stage Programming, you can
2
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.
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
5
many network instructions on the same port, use the Shift Register instruction.
Port 2 Busy bit Instruction Interlock bit
MWX
6
SP116 C100
Port Number: K2
3
Slave Address: K1
Function Code: 06 - Preset Single Register
7
Start Slave Memory Address: 40001
Start Master Memory Address:
Number of Elements:
V2000
n/a
8
Modbus Data Type: 584/984 Mode
Exception Response Buffer: V400 9
Instruction interlock bit
C100
( SET )
10
This rung does a Modbus read from the first 32 coils of slave address number one. 11
It will place the values into 32 bits of the master starting at C0.
4
Port 2 Busy bit
SP116
Instruction Interlock bit
C100 MRX
Port Number: K2
12
Slave Address: K1
Function Code: 01 - Read Coil Status
Start Slave Memory Address: 1
13
Start Master Memory Address: C0
Number of Elements:
Modbus Data Type:
32
584/984 Mode
14
Exception Response Buffer: V400
Instruction interlock bit A
C100
( RST ) B
C
D
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
13 an error.
•R
TS On Delay Time: The amount of time between raising the RTS line and sending the data.
14 •R
TS Off Delay Time: The amount of time between resetting the RTS line after sending the data.
•D
ata Bits: Select either 7–bits or 8–bits to match the number of data bits specified for the
A connected devices.
•B
aud 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 •S
top Bits: Choose 1 or 2 stop bits to match the number of stop bits specified for the connected
devices.
D •P
arity: Choose none, even, or odd parity for error checking. Be sure to match the parity specified
for the connected devices.
• Memory Address: Starting V-memory address for ASCII In data storage.
8
TXD– / RXD–
6
RXD–
ASCII Device 9
1 11
0V 7
TXD+ RXD+
RTS+
RTS–
Cable: Use AutomationDirect L19954
(Belden 9842) or equivalent 10
15
CTS+
CTS–
11
5
10
TXD– DL260 CPU Port 2 12
Port 2 Pin Descriptions (DL260 only)
RS–232 Network 1 5V 5 VDC 13
RS–232 signals are used for shorter 2 TXD2 Transmit Data (RS-232)
distances (15 meters maximum) and 3 RXD2 Receive Data (RS-232)
14
limited to communications between 4 RTS2 Ready to Send (RS–232)
5 CTS2 Clear to Send (RS–232)
two devices.
1
6
6
7
RXD2–
0V
Receive Data – (RS–422/RS-485)
Logic Ground
A
Signal GND 11
GND
RXD
TXD
2
7 8
9
0V
TXD2+
Logic Ground
Transmit Data + (RS–422/RS–485) B
3 10 TXD2 – Transmit Data – (RS–422/RS–485)
TXD
CTS
RXD
RTS
4
11
12
RTS2 +
RTS2 –
Request to Send + (RS–422/RS–485)
Request to Send – (RS–422/RS–485)
C
RTS
CTS
5
10 15
13
14
RXD2 +
CTS2 +
Receive Data + (RS–422/RS–485)
Clear to Send + (RS-422/RS–485) D
15 CTS2 – Clear to Send – (RS–422/RS–485)
ASCII Device CPU Port 2
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 and 1
500 ohms).
NOTE: For RS–422 cabling, we recommend AutomationDirect L19853 (Belden 8103) or equivalent.
2
3
RXD+
RXD–
4
ASCII TXD+
Slave
Device
TXD–
Signal GND
5
9 TXD+
10 TXD–
13 RXD+
Termination
Resistor at
both ends of
6
6 RXD– network
11 RTS+
12 RTS–
7
14 CTS+ PORT 2
15 CTS–
7 0V
Master
8
9
RS–232 Network 10
RS–232 signals are used for shorter distances (15 meters maximum) and limited to
communications between two devices. 11
NOTE: For RS–232 cabling, we recommend AutomationDirect L19772 (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
RXD
3 6 RXD2– Receive Data – (RS–422) A
7 0V Logic Ground
CTS
RTS
RTS
4
5
8
9
0V
TXD2+
Logic Ground
Transmit Data + (RS–422)
B
CTS 10 15 10 TXD2 – Transmit Data – (RS–422)
ASCII Slave
11 RTS2 + Request to Send + (RS–422) C
CPU Port 2 12 RTS2 – Request to Send – (RS–422)
ASCII Device CPU Port 2
Device Master 13
14
RXD2 +
CTS2 +
Receive Data + (RS–422 )
Clear to Send + (RS422)
D
15 CTS2 – Clear to Send – (RS–422)
Notes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Introduction
1 The DL205 CPUs offer a wide variety of instructions to perform many different types of
operations. Several instructions are not available in all of the CPUs. This chapter shows you
2 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.
4 • If you know the individual instruction name, use the following table to find the page that discusses
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
CMPV
Compare Stack
ASCII Compare
5–86
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
13 ANDF
ANDI
And Formatted
And Immediate
5–73
5–35
DECO
DEGR
Decode
Degree Real Conversion
5–129
5–136
DISI Disable Interrupts 5–188
14 ANDMOV
ANDN
And Move
And Not
5–171
5–14, 5–32
DIV
DIVB
Divide
Divide Binary
5–97
5–106
ANDNB And Not Bit–of–Word 5–15
A ANDND
ANDNE
And Negative Differential
And if Not Equal
5–23
5–29
DIVBS
DIVD
Divide Binary Top of Stack
Divide Double
5–120
5–98
DIVF Divide Formatted 5–112
B ANDNI
ANDPD
And Not Immediate
And Positive Differential
5–35
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
EDRUM Event Drum 6–14
D ATH
ATT
ASCII to Hex
Add to Top of Table
5–137
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 SETI
SFLDGT
Set Immediate
Shuffle Digits
5–38
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
7 SHFR
SINR
Shift Right
Sine Real
5–125
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
9 STR
STRB
Store
Store Bit–of–Word
5–10, 5–30
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 Write to Intelligent Module 5–192
WX Write to Network 5–195
11 STRNB
STRND
Store Not Bit–of–Word
Store Negative Differential
5–11
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 Exclusive Or Move 5–171
XORS Exclusive Or Stack 5–82
13 STT Source to Table 5–160
14
A
B
C
D
END Statement
All DL205 programs require an END statement as the last instruction. This tells the CPU that 8
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. Chapter 5 9
discusses the instruction set in detail.
DirectSOFT Example
10
X0 Y0
Output or, OUT instruction. The following example shows how to enter a single contact and
a single output coil.
DirectSOFT Example Handheld Mnemonics
A
X0 Y0
OUT
STR X0
OUT Y0 B
END
C
END
3 X0 Y0
OUT
STRN X0
OUT Y0
END
4 END
5 Contacts in Series
Use the AND instruction to join two or more contacts in series. The following example shows
6 two contacts in series and a single output coil. The instructions used would be STR X0, AND
X1, followed by OUT Y0.
7 DirectSOFT Example Handheld Mnemonics
STR X0
8 X0 X1 Y0
OUT
AND X1
OUT Y0
END
9 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
continue a rung with more conditional outputs.
12
DirectSOFT Example Handheld Mnemonics
13 X0 X1 Y0 STR X0
AND X1
OUT OUT Y0
14 X2 Y1
AND X2
OUT Y1
AND X3
A OUT OUT Y2
END
X3 Y2
B OUT
C END
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
OUT Y0
3
X1 END
4
END
5
Joining Series Branches in Parallel 6
Quite often it is necessary to join several groups of series elements in parallel. The Or Store
(ORSTR) instruction allows this operation. The following example shows a simple network
consisting of series elements joined in parallel.
7
DirectSOFT Example Handheld Mnemonics
X0 X1 Y0 STR X0 8
OUT AND X1
X2 X3
STR X2
AND X3
ORSTR
9
OUT Y0
END END
10
Joining Parallel Branches in Series
You can also join one or more parallel branches in series. The And Store (ANDSTR) instruction
11
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
X0 X2 X5 Y0
Combination Networks OUT B
You can combine the various types of X1 X3 X4
series and parallel branches to solve most
any application problem. The following
C
example shows a simple combination X6
network. D
END
Comparative Boolean
1 The DL205 Micro PLCs provide Comparative Boolean instructions that allow you to quickly
and easily solve compare two numbers. The Comparative Boolean provides evaluation of two
4-digit values using boolean contacts. The valid evaluations are: equal to, not equal to, equal
2 to or greater than, and less than.
In the example ,when the BCD value in V-memory location V1400 is equal to the constant
3 value 1234, Y3 will energize. V1400 K1234 Y3
OUT
Boolean Stack
4 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
5 the various logic elements. The boolean stack is 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
6 of the boolean stack. Any other STR 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 boolean stack is only eight levels, an error will occur if the CPU
7 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.
8
X0 X1 ORSTR AND X4 Y0
9 STR
STR
OUT Output
10 STR
X2 AND X3
ANDSTR
11 X5 OR
12 STR X0
1 STR X0 1
STR X1
STR X1 1
STR X2
STR X2
AND X3
1 STR X2
2 2 STR X0 2 STR X1 2 STR X1
13 3
4
3
4
3
4
STR X0 3
4
STR X0
14 ORSTR
1
AND X4 ORNOT X5
X1 or (X2 AND X3) 1 X4 AND {X1 or (X2 AND X3)} 1 NOT X5 OR X4 AND {X1 OR (X2 AND X3)}
A 2
3
STR X0 2
3
STR X0 2
3
STR X0
B ANDSTR
1 XO AND (NOT X5 or X4) AND {X1 or (X2 AND X3)}
2
C 3
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 CPU reads or
3
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
uses the results to solve that one instruction. It does not use the new status to update the image register. 5
NOTE: Even though the immediate input instruction reads the most current status from the input point, it only
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 6
write the status to the I/O and update the image register.
7
X0
_
X7
X10
_
X17
X20
_
X27
X30
_
X37
Y0
_
Y7
Y10
_
Y17
Y20
_
Y27
Y30
_
Y37
8
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
not use the input image
14
register , but instead reads the
X0
I
Y0
status from the module
immediately. I/O Point X0 Changes A
ON
OFF
X0
X1
B
Write Outputs
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 contact. Status Aaaa
240 of the contact will be the same state as the associated
3 250-1 image register point or memory location.
260 Store Not (STRN)
4 The Store Not instruction begins a new rung or an
230 additional branch in a rung with a normally closed
5 240 contact. Status of the contact will be opposite the
Aaaa
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
X1
Handheld Programmer Keystrokes
$ B
Y2 ENT
STR 1
14 OUT
GX
OUT
C
2
ENT
A
B In the following Store Not example, when input X1 is off output Y2 will energize.
C DirectSOFT
X1
Handheld Programmer Keystrokes
Y2 SP B ENT
D OUT STRN
GX C
1
ENT
OUT 2
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
K
B
1 2
V
ENT
1 4 0 0
12
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
OUT
A
B
Handheld Programmer Keystrokes C
STRN SHFT B V 1 4 0 0
K 1 2 ENT D
OUT 2 ENT
Or (OR)
1 230
240
The Or instruction logically ors a normally open contact
in parallel with another contact in a rung. The status of Aaaa
250-1 the contact will be the same state as the associated image
2 260 register point or memory location.
Or Not (ORN)
3 230 The Or Not instruction logically ors a normally closed
240 contact in parallel with another contact in a rung. The Aaaa
4 250-1 status of the contact will be opposite the state of the
260 associated image register point or memory location.
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.
OUT
$
STR
B
1
ENT
Q C ENT
13 X2
GX
OUT
OR
F
2
5
ENT
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
OUT
$
STR
B
1
ENT
C X2
R
ORN
GX
C
F
2
ENT
ENT
OUT 5
D
Or Bit-of-Word (ORB)
240
230 The Or Bit-of-Word instruction logically ors a normally
open Bit-of-Word contact in parallel with another Aaaa.bb
1
contact in a rung. Status of the contact will be the same
250-1
260 state as the bit referenced in the associated memory 2
location.
11
B1400.7
12
STR 1 ENT
OR SHFT B V 1 4 0 0
13
K 7 ENT
OUT 7 ENT
In the following Or Not Bit-of-Word example, when input X1 is on or bit 7 of V1400 is off, 14
output Y7 will energize.
DirectSOFT A
X1 Y7
OUT B
B1400.7
D
ENT
ORN SHFT B V 1 4 0 0
K 7 ENT
OUT 7 ENT
And (AND)
1 230
240
The AND instruction logically ands a normally open
contact in series with another contact in a rung. The
Aaaa
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
Stage
C
S
0–377
0–377
0–377
0–777
0–1777
0–1777
0–3777
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
12
Y5 $ B ENT
STR 1
OUT
V C 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 energize.
A
B DirectSOFT
X1 X2 Y5
Handheld Programmer Keystrokes
$ B ENT
STR 1
C
OUT
W C ENT
ANDN 2
D
GX F ENT
OUT 5
In the following And Bit-of-Word example, when input X1 and bit 4 of V1400 is on output 7
Y5 will energize.
DirectSOFT
8
DS Implied X1 B1400.4 Y5
HPP Used OUT
9
Handheld Programmer Keystrokes 10
11
STR 1 ENT
AND SHFT B V 1 4 0 0
4 ENT
12
K
OUT 5 ENT
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. 13
DirectSOFT
X1 B1400.4 Y5
14
OUT
A
Handheld Programmer Keystrokes B
STR 1 ENT
ANDN SHFT B V 1 4 0 C 0
K 4 ENT
OUT 5 ENT D
4 DS Implied
HPP Used
DirectSOFT
X1 X2 X3 Y5
Handheld Programmer Keystrokes
$ B ENT
STR 1
5 X4
OUT
$
STR
C
2
ENT
6
V D
ENT
AND 3
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 OR’d 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
ENT
B X3 X4
$
AND
D
2
ENT
STR 3
C V
AND
E
4
ENT
M ENT
D ORST
GX F ENT
OUT 5
Out (OUT)
230 The Out instruction reflects the status of the rung
(on/off) and outputs the discrete (on/off) state to the 1
240 specified image register point or memory location. Aaaa
250-1
260
Multiple Out instructions referencing the same OUT 2
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 5 0–1777
Outputs Y 0–177 0–477 0–777 0–1777
Control Relays
Global
C
GX
0–377
-
0–377
-
0–1777
-
6 0–3777
0–3777
Global GY - - -
7 0–3777
DS Used
In the following Out example, when input X1 is on, output Y2 and Y5 will energize.
DirectSOFT Handheld Programmer Keystrokes
8
HPP Used
X1 Y2
OUT
$
STR
B
1
ENT 9
GX C ENT
Y5
OUT
OUT
GX
OUT
F
2
5
ENT
10
In the following Out example, the program contains two Out instructions using the same
11
location (Y10). The physical output of Y10 is ultimately controlled by the last rung of logic
referencing Y10. X1 will override the Y10 output being controlled by X0. To avoid this 12
situation, multiple outputs using the same location should not be used in programming. If
you need to have an output controlled by multiple inputs, see the OROUT instruction on 13
page 5–19.
X0 Y10 14
OUT
A
B
X1 Y10
OUT
C
D
8 X1 B1400.3
OUT
OUT
10 STR
OUT SHFT
1
B
ENT
V 1 4 0 0
11 OUT
K
SHFT
3
B
ENT
V 1 4 0 1
12 K 6 ENT
The following Out Bit-of-Word example contains two Out Bit-of-Word instructions using the
13 same bit in the same memory word. The final state bit 3 of V1400 is ultimately controlled 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 location must not be used in programming.
A X0 B1400.3
OUT
B
C X1 B1400.3
D
OUT
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
1 A aaa
OR OUT
240 referencing the same output coil may be used, since all contacts
250-1 controlling the output are logically OR’d together. If the status 2
260 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 aaa
4
0–777 0–1777
Outputs Y 0-177 0-477 0-777 0-1777
Control Relays
Global
C
GX
0–377
-
0–377
- -
5
0–1777 0–3777
0–3777
Global GY - - -
6 0–3777
OR OUT
$
STR
B
1
ENT 8
O D F ENT ENT C ENT
INST#
$
STR
3
E
5
4
ENT
9 2
X4
10
Y2 O D F C
ENT ENT ENT
INST# 3 5 2
OR OUT
11
230
Not (NOT)
240 The Not instruction inverts the status of the rung at 12
250-1 the point of the instruction.
260 13
In the following example, when X1 is off, Y2 will energize. This is because the Not instruction
inverts the status of the rung at the Not instruction. 14
DS Used DirectSOFT Handheld Programmer Keystrokes
HPP Used X1 Y2 $
STR
A B
1
ENT
OUT
SHFT
GX
N
TMR B O
INST#
C
T
MLR
ENT
ENT
OUT 2
C
D
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
one scan.
7 DS Used
HPP Used
8 DirectSOFT
X1
Handheld Programmer Keystrokes
$ B
C0 ENT
9
STR 1
PD
SHFT P SHFT D A ENT
CV 3 0
10
11 NOTE: To generate a “one–shot” pulse on an on–to–off transition, place a NOT instruction immediately before
12 the PD instruction. The DL250–1 and DL260 CPUs support the STRND instruction.
13
14
A
B
C
D
In the following example, each time X1 is makes an off-to-on transition, Y4 will energize for one scan. 13
DS Used
HPP Used
DirectSOFT Handheld Programmer Keystrokes
14
X1 Y4
OUT
$
GX
STR
SHFT P
E
CV
D
3
B
1 A
ENT
ENT
OUT 4
In the following example, each time X1 makes an on-to-off transition, Y4 will energize for one
B
scan.
C
DirectSOFT
X1 Y4
Handheld Programmer Keystrokes
$
STR
SHFT N
TMR
D
3
B
1
D
ENT
OUT GX E
ENT
OUT 4
11 In the following example, Y5 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
$
STR
B
1
ENT
14 X2
OUT Q
GX
OR
SHFT P
F
CV
D
3
C
2
ENT
ENT
OUT 5
A
In the following example, Y5 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
D
SHFT ENT
OR TMR 3 2
X2 GX F
ENT
OUT 5
In the following example, Y5 will energize for one CPU scan whenever X1 is on and X2
transitions from off to on.
DS Implied
12
HPP Used
DirectSOFT Handheld Programmer Keystrokes 13
$ B ENT
14
X1 X2 Y5 STR 1
OUT V SHFT P D C ENT
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
C
DirectSOFT Handheld Programmer Keystrokes
X2 $ B ENT
X1 Y5 STR 1
OUT
D
V SHFT N D C ENT
AND TMR 3 2
GX F
ENT
OUT 5
10 Global GY -
* Timer and counter operand data types are not valid using the Set instruction
- - 0–3777
11 NOTE: You cannot set inputs (Xs) that are assigned to input modules
13 HPP Used
14 X1
Y2 Y5 $
STR
B
1
ENT
SET
A
X C F ENT
SET 2 5
C X2
Y2 Y5 $
STR
C
2
ENT
RST
D
S C F ENT
RST 2 5
X1
8
B1400.1
SET
9
Handheld Programmer Keystrokes
10
STR 1 ENT
11
SET SHFT B V 1 4 0 0
K 1 ENT 12
In the following example, when X2 turns on, bit 1 in V1400 is reset to the off state. 13
DirectSOFT
X2
14
B1400.1
RST
A
Handheld Programmer Keystrokes
B
STR 2 ENT C
RST SHFT B V 1 4 0 0
K 1 ENT D
Pause (PAUSE)
1 230 The Pause instruction disables the output update on a
range of outputs. The ladder program will continue to Y aaa aaa
240 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
5 In the following example, when X1 is ON, Y5–Y7 will be turned OFF. The execution of the
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 the
9 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 override the Pause instruction.
13
14
A
B
C
D
Comparative Boolean
Store If Equal (STRE)
1
A aaa B bbb
230
240
The Store If Equal instruction begins a new rung or
additional branch in a rung with a normally open 2
comparative contact. The contact will be on when Vaaa
250-1
260
equals Bbbb . 3
Store If Not Equal (STRNE)
230 The Store If Not Equal instruction begins a new rung
A aaa B bbb
4
or additional branch in a rung with a normally closed
240
comparative contact. The contact will be on when Vaaa
250-1
does not equal Bbbb.
5
260
Operand Data
6
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
8
page 3-55) page 3-56)
memory map
page 3-56)
All. (See All. (See All. (See
Pointer P – – – memory map
page 3-54)
– memory map
page 3-55)
–
9 memory map
page 3-56)
Constant K – 0-FFFF – 0-FFFF – 0-FFFF
10 – 0-FFFF
DS Implied
HPP Used
In the following example, when the value in V-memory location V2000 = 4933 , Y3 will
energize.
11
DirectSOFT Handheld Programmer Keystrokes 12
V2000 K4933 Y3 $ SHFT E C A A A
13
STR 4 2 0 0 0
OUT
E J D D ENT
4 9 3 3
GX D
14
ENT
OUT 3
In the following example, when the value in V-memory location V2000 =/ 5060, Y3 will energize. A
OUT
SP
STRN
SHFT
F
E
A
4
G
C
A
C2
A
0
A
0
A
0
ENT
5 0 6 0
GX
OUT
D
3
ENT D
Or If Equal (ORE)
1 230
240
The Or If Equal instruction connects a normally open
comparative contact in parallel with another contact.
The contact will be on when Vaaa equals Bbbb. A aaa B bbb
250-1
2 260
3 230
Or If Not Equal (ORNE)
The Or If Not Equal instruction connects a normally
4 240
250-1
closed comparative contact in parallel with another
contact. The contact will be on when Vaaa does not
A aaa B bbb
11 HPP Used
DirectSOFT Handheld Programmer Keystrokes
12 V2000 K4500 Y3
OUT
$
E
STR
SHFT
F
E
A
4
A
C
2
ENT
A
0
A
0
A
0
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
2 3 4 5
GX D ENT
OUT 3
A In the following example, when the value in V-memory location V2000 = 3916 or V2002 =/
2500, Y3 will energize.
B DirectSOFT
V2000 K3916 Y3
Handheld Programmer Keystrokes
$ SHFT E C A A A
STR 4 2 0 0 0
C V2002 K2500
OUT D
R
3
J
SHFT
9
B
E
1
G
6
C
ENT
A A C
ORN 4 2 0 0 2
D C
GX
2
F
5
A
D
0
A
0
ENT
ENT
OUT 3
240
The And If Equal instruction connects a normally open
comparative contact in series with another contact. The 1 A aaa B bbb
260
In the following example, when the value in V-memory
location V2000 = 5000 and V2002 = 2345, Y3 will
energize. 5
Operand
Data Type
A/B
DL230 Range
aaa bbb
DL240 Range
aaa bbb
DL250-1 Range
aaa bbb
DL260 Range
aaa bbb
6
V-memory
All. (See All. (See All. (See All. (See All. (See All. (See All. (See
7
V memory map memory map memory map memory map memory map memory map memory map memory map
All. (See
page 3-53) page 3-53) page 3-54) page 3-54) page 3-55) page 3-55) page 3-56) page 3-56)
Pointer P – – –
All V-memory.
(See memory
–
All V-memory.
(See memory
–
8
All V-memory.
(See memory
map page map page map page
3-54) 3-55)
9 3-56)
Constant K – 0-FFFF – 0-FFFF – 0-FFFF – 0-FFFF
10
In the following example, when the value in V-memory location V2000 = 5000 and V2002 =/
DS Implied
HPP Used
2345, Y3 will energize.
11
DirectSOFT
E
4
C
2
A
0
A
0
A
0
OUT
F
V
5
A
SHFT
13
0
A
E
0
A
0
C
ENT
A A C
AND 4 2 0 0 2
C
GX
2
D
14
3
E
D
4
F
5
ENT
ENT
OUT 3
A
DirectSOFT Handheld Programmer Keystrokes
W
ANDN
5
SHFT
0
C E
0
4
0
C
2
A
0
A
0
C
2
C D E F
D
ENT
2 3 4 5
GX D ENT
OUT 3
Store (STR)
1 230
240
The Comparative Store instruction begins a new rung or additional
branch in a rung with a normally open comparative contact. The
A aaa B bbb
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)
All V-memory.
page 3-55) page 3-55)
All V-memory.
page 3-56) page 3-56)
All V-memory.
(See memory (See memory (See memory
8 Pointer P – – – map page
3-54)
– map page
3-55)
– map page
3-56)
In the following example, when the value in V-memory location V2000 M 1000, Y3 will
10 energize.
DS Implied
11 HPP Used DirectSOFT Handheld Programmer Keystrokes
12
STR AND 2 0 0 0
OUT
B A A A ENT
1 0 0 0
GX D
13
ENT
OUT 3
14 In the following example, when the value in V-memory location V2000 < 4050, Y3 will
energize.
SP V C A A A
B
V2000 K4050 Y3 SHFT
STRN AND 2 0 0 0
OUT
E A F A ENT
4 0 5 0
C GX
OUT
D
3
ENT
Or (OR)
230
240
The Comparative Or instruction connects a normally open
comparative contact in parallel with another contact. The 1
contact will be on when Aaaa is equal to or greater than A aaa B bbb
250-1
260 Bbbb. 2
Or Not (ORN)
230 The Comparative Or Not instruction connects a normally
3
240 open comparative contact in parallel with another contact.
250-1 The contact will be on when Aaaa is less than Bbbb. 4 A aaa B bbb
260
Operand
Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range 5
A/B aaa
All. (See
bbb
All. (See
aaa
All. (See
bbb
All. (See
aaa bbb
All. (See
aaa bbb
All. (See
6All. (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)
All V-memory.
page 3-55) page 3-55)
All V-memory.
7
page 3-56) page 3-56)
All V-memory.
(See memory (See memory (See memory
Pointer P – – – map page
3-54)
– map page
3-55)
8 – 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 = 6045 or
V2002 M 2345, Y3 will energize. 10
DS Implied Handheld Programmer Keystrokes
DirectSOFT
HPP Used
V2000 K6045 Y3
OUT
$
STR
SHFT E
4 11 C
2
A
0
A
0
A
0
G A E F ENT
12
6 0 4 5
13
ENT
2 3 4 5
GX D ENT
OUT 3
14
In the following example when the value in V-memory location V2000 = 1000 or
V2002 < 2500, Y3 will energize.
DirectSOFT
A
Handheld Programmer Keystrokes
B
$ SHFT E C A A A
V2000 K1000 Y3 STR 4 2 0 0 0
OUT B A A A ENT
1 0 0 0
V2002 K2500
R
C
ORN
F
SHFT
A
CV
A
AND
C
ENT
2
A
0
A
0
C
2
2 5 0 0
GX
OUT
D
3 D ENT
And (AND)
1 230
240
The Comparative And instruction connects a normally
open comparative contact in series with another contact.
A aaa B bbb
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)
All V-memory
page 3-55) page 3-55)
All V-memory
page 3-56) page 3-56)
All V-memory
(See memory (See memory (See memory
8 Pointer P - - - map page
3-54)
- map page - map page
3-55) 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 = 5000, and V2002
10 M 2345, Y3 will energize.
DS Implied
11 HPP Used
12 DirectSOFT
$
STR
SHFT E
4
C
2
A
0
A
0
A
0
13
F A A A ENT
5 0 0 0
V SHFT V C A A C
AND AND 2 0 0 2
14 C
GX
2
D
3
E
D
4
F
5
ENT
ENT
OUT 3
A In the following example, when the value in V-memory location V2000 = 7000 and
V2002 < 2500, Y3 will energize.
B DirectSOFT
$
STR
SHFT E
4
C
2
A
0
A
0
A
0
C
OUT H A A A ENT
7 0 0 0
W SHFT V C A A C
ANDN AND 2 0 0 2
D C
GX
2
F
5
A
D
0
A
0
ENT
ENT
OUT 3
Immediate Instructions
Store Immediate (STRI)
1
230
The Store Immediate instruction begins a new rung or
additional branch in a rung. The status of the contact X aaa
2
240 will be the same as the status of the associated input point
250-1
260
at the time the instruction is executed. The image register 3
is not updated.
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.
B
OUT 2
C
D
Or Immediate (ORI)
1 230
240
The Or Immediate connects two contacts in parallel. The
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.
9 X1 Y5
OUT
$
STR
B
1
ENT
10
Q SHFT I C ENT
X2 OR 8 2
GX F ENT
OUT 5
11
12
In the following example, when X1 is on or X2 is off, Y5 will energize.
13
14
Handheld Programmer Keystrokes
DirectSOFT
X1 Y5 $ B ENT
OUT STR 1
A X2
R
ORN
SHFT I
8
C
2
ENT
GX F
B OUT 5
ENT
C
D
240
The And Immediate connects two contacts in series. The
status of the contact will be the same as the status of the X aaa 1
250-1 associated input point at the time the instruction is executed.
260 The image register is not updated. 2
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
260 The image register is not updated.
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
5
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
$
STR
B
1
ENT
9
OUT
V
AND
SHFT I
8
C
2
ENT
10
GX F ENT
11
OUT 5
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
A
ENT
STR 1
OUT
W SHFT I C ENT
ANDN 8 2
GX
OUT
F
5
ENT
B
C
D
8 Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
aaa aaa aaa aaa
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
OUTI
$
STR
B
1
ENT
O D G A
13
ENT ENT
INST# 3 6 0
C ENT
2
A X1 Y2
$
STR
B
1
ENT
OR OUTI
B O
INST#
D
C
3
F
5
A
0
ENT ENT
X4 Y2 ENT
2
C OR OUTI $
STR
E
4
ENT
D O
INST#
D
C
3
F
5
A
0
ENT ENT
ENT
2
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).
DS Used
7
HPP Used
8
DirectSOFT
CO
LDIF
K8
X10
9 Location
X10
Constant
K8
X17 X16 X15 X14 X13 X12 X11 X10
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
11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1
OUTIF Y30
K8
13
Y30-Y37
SHFT L
ANDST
D
3
I
8
F
5
A B
1
A
0
I
8
ENT
B
GX SHFT I F D A I ENT
OUT 8 5 3 0 8
C
D
7
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
8 Outputs Y
aaa
0–177
aaa
0–477
aaa
0–777
aaa
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
X1 Y2 Y5
Handheld Programmer Keystrokes
$
STR
B
1
ENT
12
SETI X I C F
SHFT ENT
SET 8 2 5
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
X1 Y5 Y22
Handheld Programmer Keystrokes
$ B
B
ENT
RSTI STR 1
S SHFT I F C C ENT
RST 8 5 2 2
C
D
DirectSOFT
8
C0 LDI
V40400
Location
V40400 9
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
OUTI
Acc. 0 0 0 0 0 0 0 0 0 0 0
11
0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1
V40502
13
Y57 Y56 Y55 Y54 Y53 Y52 Y51 Y50 Y47 Y46 Y45 Y44 Y43 Y42 Y41 Y40
V40502 ON OFF ON ON OFF ON OFF OFF ON OFF ON ON OFF ON OFF ON
14
Handheld Programmer Keystrokes
$
STR
SHFT C
2
A
0
ENT
A
SHFT L
ANDST
D
3
I
8
E
4 B A
0
E
4
A
0
A
0
ENT
C
OUT 8 4 0 5 0 2
2 250-1
260
bits that are not used by the instruction are set to zero.
Operand Data Type DL260 Range
3 aaa bbb
Intputs X 0–1777 –
4 Constant K – 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
K8
X10
Location
X10
Constant
K8
X17 X16 X15 X14 X13 X12 X11 X10
ON OFF ON ON OFF ON OFF ON
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
Y30 K8 ON OFF ON ON OFF ON OFF ON
8 bits of the accumulator to
Y30 - Y37
$ C A
A STR
SHFT L
SHFT
D I
2
F
0
ENT
B A I 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
is 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. A discrete bit is associated with each 3
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, current
value, and timer preset.
4
5
Seconds
X1
0 1 2 3 4 5 6 7 8 X1
TMR
K30
6T1
T1
Timer Preset
7
T1 Y0
Current
Value
0 10 20 30
1/10 Seconds
40 50 60 0 8
OUT
9
Some 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 similarly 10
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, the timing 11
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. A tenth of a second and a hundredth of
a second timers are available with a maximum time of 9999999.9 and 999999.99 seconds 12
respectively. The timing diagram below shows the relationship between the timer input, timer
reset, associated discrete bit, current value, and timer preset. 13
0 1 2 3
Seconds
4 5 6 7 8 X1
14
TMRA T0
X1 Enable
K30
A
X2
X2
Reset Input
B
T0
Current 0 10 10 20 30 40 50 0
C
Value 1/10 Seconds
9 NOTE: A V-memory preset is required only if the ladder program or an Operator Interface unit must 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 Timers T 0-77 0-177 0-377 0-377
V-memory for 1400-7377 1400-7377
– 2000-2377 – 2000-3777 – –
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 T2, and
B “TA2” for the current value of Timer T2.
C You can perform functions when the timer reaches the specified preset using the discrete 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 programming timers.
D
X1
4
T2 Y0
OUT
T2
$
STR
B
1
ENT
5 Y0
Current
Value 0 10 20 30 40 50 60 0
6
N C D A 1/10th Seconds
ENT
TMR 2 3 0
$ SHFT T C ENT
STR MLR 2
GX
OUT
A
0
ENT
7
Timer Example Using Comparative Contacts
In the following example, a single-input timer is used with a preset of 4.5 seconds. Comparative 8
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 9
Y5.
DirectSOFT
X1
10 Timing Diagram
Seconds
TMR T20
0 1 2 3 4 5 6 7 8
11
K45
Y3 X1
TA20 K10
OUT
Y3
TA20 K20 Y4
OUT
12 Y4
13
Y5
TA20 K30 Y5
T2
OUT
Current 0 10 20 30 40 50 60 0
14
Value
1/10th Seconds
Handheld Programmer Keystrokes
$ B ENT
A
STR 1
N C A E F ENT
TMR 2 0 4 5
$ SHFT T C A B A ENT
B
STR MLR 2 0 1 0
GX D ENT
OUT 3
$ SHFT T C A C A ENT
STR MLR 2 0 2 0
GX
$
OUT
E
SHFT
4
ENT
T C A D
C A ENT
STR MLR 2 0 3 0
GX
OUT
F
5
ENT
D
240 will time to a maximum of 9999999.9. The TMRA uses two timer
registers in V-memory.
B bbb
2 250-1
260 Accumulating Fast Timer (TMRAF)
Reset
Preset Timer
registers in V-memory.
4 230
240 These timers have two inputs: an enable and a reset. The timer will
Reset
start timing when the enable is on and stop timing when the enable Preset Timer
5 250-1
260
is off without resetting the value to 0. The reset will reset the timer
when on and allow the timer to time when off.
6 DS Used
Instruction Specifications
HPP Used
Timer Reference (Taaa): Specifies the timer number.
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,
11 two consecutive timer locations. For example, if TMRA T1 is used, the next available timer number is T3.
NOTE: A V-memory preset is required only if the ladder program or an OIT must be used to change the preset.
12
13 Operand Data
Type DL230 Range DL240 Range DL250-1 Range DL260 Range
B aaa bbb aaa bbb aaa bbb aaa bbb
14 Timers T 0-76 0-176 0-376 0-376
V-memory for 1400-7377 1400-7377
– 2000-2377 – 2000-3777 – –
A preset values V
Pointers
2000-3777
10000-17777
1400-7377
10000-37777
1400-7377
(presets only) P 10000-17777 10000-37777
B Constants
(presets only) K
– 0-99999999 – 0-99999999 – 0-99999999 – 0-99999999
Timer discrete
0-76 or V41100-41103 0-176 or V41100-41107 0-376 or V41100-41117 0-376 or V41100-41117
C status bits T/V*
Timer current
0-76 0-176 0-376 0-376
values V/T*
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.
X1 Seconds
0 1 2 3 4 5 6 7 8
TMRA T6
4
X1
K30
C10
C10
T6
5 Y10
OUT
T6
Current
Value
0 10 10 20 30 40 50 0
6
1/10th Seconds
Handheld Programmer Keystrokes Handheld Programmer Keystrokes (cont’d)
$ B ENT D A ENT
STR 1 3 0
$
N
TMR
STR
SHFT
SHFT
A
0
C
2
B
G
1
6
A
0
7
ENT $
GX
OUT
STR
SHFT
B
1
T
A
MLR
0
G
ENT
6
ENT
DirectSOFT
Contacts
10 Timing Diagram
X1
Seconds
C10
TMRA
K45 11
T20
X1
0 1 2 3 4 5 6 7 8
12
C10
13
Y4
TA21 K1
Y5
TA21 K1
OUT
14 Current
Value
0 10 10 20 30 40 50 0
OUT
A 1/10th Seconds
$
STR
B
1
ENT
B Handheld Programmer Keystrokes (cont’d)
$
STR
SHFT T
MLR
C
2
A
0
C
2
A
0
ENT
C
$ C B A V E T C B A
SHFT ENT SHFT SHFT ENT
STR 2 1 0 AND 4 MLR 2 1 0
N A C A E F Q E T C B B
SHFT ENT SHFT SHFT ENT
TMR 0 2 0 4 5 OR 4 MLR 2 1 1
$ SHFT T C A B A ENT GX E
D
ENT
STR MLR 2 0 1 0 OUT 4
V E T C B A $ T C A D A
SHFT SHFT ENT SHFT ENT
AND 4 MLR 2 1 0 STR MLR 2 0 3 0
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
260 value, the counter status bit comes on and the counter Reset
3 DS Used
continues to count up to a maximum count of 9999.
The maximum value will be held until the counter is
reset. Preset
4 HPP Used
Instruction Specifications
Counter Reference (CTaaa): Specifies the counter number.
5 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 memory
8 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 DL230 Range DL240 Range DL250-1 Range DL260 Range
Type
11 B aaa bbb aaa bbb aaa bbb aaa bbb
Counters CT 0-77 0-177 0-177 0-377
12 V-memory for
preset values V
– 2000-2377 – 2000-3777 –
1400-7377
10000-17777
–
1400-7377
10000-37777
Pointers 1400-7377 1400-7377
13 (presets only) P
Constants
2000-3777
10000-17777 10000-37777
– 0-9999 – 0-9999 – 0-9999 – 0-9999
(presets only) K
14 Counter discrete
status bits CT/V*
0-77 or V41140-41143 0-177 or V41140-41147 0-177 or V41140-41147 0-377 or V41100-41157
Counter current
A values V/CT*
1000-1077 1000-1177 1000-1177 1000-1377
NOTE: * Both the Counter discrete status bits and the current value are accessed with the same data reference
B 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.
C
D
X1
CNT CT2
X1
C10
K3
4 C10
CT2 Y7
OUT
5 CT2 or
Y7
Current Value 1 2 3 4 0
$ B ENT
6 Handheld Programmer Keystrokes (cont)
GY
STR
SHFT
C
C
2
B
D
1
A
0
ENT
7 GX
OUT
H
7
ENT
ENT
CNT 2 3
8
Counter Example Using Comparative Contacts
In the following example, when X1 makes an off-to-on transition, counter CT2 will increment
9
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 current value will be 10
0, and the comparative contacts will turn off.
DirectSOFT
X1
11 Counting diagram
12
CNT CT2
X1
K3
C10
C10
CTA2 K1 Y3
OUT
13 Y3
Y4
CTA2 K2 Y4
OUT
14 Y5
Current 1 2 3 4 0
CTA2 K3 Y5
OUT
A Value
$
STR
B
1
ENT
B Handheld Programmer Keystrokes (cont)
$
STR
SHFT C
2
SHFT T
MLR
C
2
C
$ SHFT C B A ENT C ENT
STR 2 1 0 2
GY C D ENT GX E ENT
CNT 2 3 OUT 4
$ C T C $ C T C
D
SHFT SHFT SHFT SHFT
STR 2 MLR 2 STR 2 MLR 2
B ENT D ENT
1 3
GX D ENT GX F ENT
OUT 3 OUT 5
240 to on. This counter differs from other counters since SGCNT CT aaa
2 250-1 it will hold its current value until reset using the RST B bbb
instruction. The Stage Counter is designed for use in
260
3 RLLPLUS programs but can be used in relay ladder logic
programs. When the current value equals the preset value,
Preset
DS Used the counter status bit turns on and the counter continues The counter discrete status bit and the
4 HPP Used to count up to a maximum count of 9999. The maximum
current value are not specified in the
counter instruction.
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 memory
9 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 B aaa bbb aaa bbb aaa bbb aaa bbb
Counters CT 0-77 0-177 0-177 0-377
14 V-memory for
preset values V
– 2000-2377 – 2000-3777 –
1400-7377
10000-17777
–
1400-7377
10000-37777
Pointers 1400-7377 1400-7377
2000-3777
A (presets only) P
Constants
– 0-9999 – 0-9999 –
10000-17777
0-9999 –
10000-37777
0-9999
(presets only) K
B Counter discrete
status bits CT/V
0-77 or V41140-41143 0-177 or V41140-41147 0-177 or V41140-41147 0-377 or V41140-41157
Counter current
1000-1077 1000-1177 1000-1177 1000-1377
C values V/CT
D 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.
C5
OUT
CT7
Current
Value
RST
5 1 2 3 4 0
RST CT7
$ B ENT GX H ENT
7
STR 1 OUT 7
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
X1
12
CTA2 K1 Y3
OUT
Y3
13
Y4
14
CTA2 K2 Y4
OUT
Y5
Y5 Current 1 2 3 4 0
CTA2 K3
A
Value
OUT
RST
CT2
SHFT
STR
S
B
G
1
ENT
SHFT GY
B $
STR
C
SHFT
ENT
C
2
SHFT T
MLR
C
2
RST 6 CNT 2
C
$
2
STR
B
SHFT
1
A
C
0
2
ENT
SHFT T
MLR
C
2
C GX
$
OUT
STR
E
SHFT
4
ENT
C
2
SHFT T
MLR
C
2
D
B ENT D ENT
1 3
GX D ENT GX F ENT
OUT 3 OUT 5
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
Down
240 off to on transition of the Down input. The counter Counter #
2 250-1 is reset to 0 when the Reset input is on. The count
range is 0 to 99999999. The count input not being Reset
260 Preset
3 used must be off in order for the active count input to
function.
DS Used
4 HPP Used
Instruction Specification Caution: The UDC uses two
Counter Reference (CTaaa): Specifies the counter V-memory locations for the 8-digit
current value. This means that the
number.
5 UDC uses two consecutive
Preset Value (Bbbb): Constant value (K) or two 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
7 accessed by referencing the associated V or CT memory locations. The V-memory location
is the counter location + 1000. For example, the counter current value for CT5 resides in
8 V-memory location V1005 and V1006.
Discrete Status Bit: The discrete status bit is accessed by referencing the associated CT memory
9 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: The UDC uses two consecutive V-memory locations for the 8-digit value, therefore two consecutive
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 B aaa bbb aaa bbb aaa bbb aaa bbb
Counters CT 0-76 0-176 0-176 0-376
14 V-memory for
preset values V
– 2000-2377 – 2000-3777 –
1400-7377
10000-17777
–
1400-7377
10000-37777
Pointers 1400-7377 1400-7377
A (presets only) P
Constants
2000-3777
10000-17777 10000-37777
– 0-99999999 – 0-99999999 – 0-99999999 – 0-99999999
(presets only) K
B Counter discrete
status bits CT/V*
0-76 or V41140-41143 0-176 or V41140-41147 0-176 or V41140-41147 0-376 or V41100-41157
Counter current
C values V/CT*
1000-1076 1000-1176 1000-1176 1000-1376
D 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.
UDC CT2
X2
K3 X1
X2
4
5
X3
X3
CT2
6
CT2 Y10
Current 1 2 1 2 3 0
OUT Value
$
STR
B
C
1
ENT
ENT $
7 D
3
ENT
SHFT
STR
U
D
D
3
ENT
C C
GX
8
OUT
B
1
A
0
ENT
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 increment 10
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
V2000
CT2
X1
12 Counting Diagram
X2
X3
X2
13
X3
CTA2 K1 Y3
OUT
Y3 14
Y4
CTA2 K2 Y4
OUT
Current
Value A 1 2 3 4 0
$
STR
B
1
ENT B Handheld Programmer Keystrokes (cont)
B
1
ENT
$ C ENT GX D ENT
C
STR 2 OUT 3
$ D ENT $ SHFT C SHFT T C
STR 3 STR 2 MLR 2
SHFT U D C C C ENT
ISG 3 2 2 2
$
SHFT V
AND
C
SHFT
2
A
C
0
A
SHFT
0
A
T
0
C
ENT
D GX
OUT
E
4
ENT
STR 2 MLR 2
register
4 HPP Used
• Clock — shifts the bits one position on each low to high
transition
11 X1
Data Input SR
$
$
STR
B
C
1
ENT
ENT
STR 2
12 X2
Clock Input
From C0
$
STR
D
3
ENT
S R A
A
Data Clock Reset
C0 C17
1 1 0
0 1 0
B 0 1 0
C 1
0
1
1
0
0
D 0 0 1
Indicates Indicates
ON OFF
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 compliment 3
number. The accumulator is reset to 0 at the end of every CPU scan.
X1 LD
6 V1400
8 9 3 5
7
V1400
Unused accumulator bits
Copy data from V1400 to the
are set to zero
lower 16 bits of the
accumulator
Acc. 0 0 0 0 8
8 9 3 5
OUT
V1410 8
9 9 3 5
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-memory
address to the accumulator. For example, if you wanted to copy data from V1400 and V1401 12
to V1410 and V1411, the most efficient way to perform this function would be as follows:
13
X1 V1401 V1400
14
LDD
V1400 6 7 3 9 5 0 2 6
OUTD
B
C
V1410 6 7 3 9 5 0 2 6
Copy data from the accumulator to
V1410 and V1411 V1411 V1410
6 X1 LD
K3245
Constant
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
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
X
X
X
X
X
X
X
X
X
X
X
X
X
X
8 Level 4 X X X X X X X X
Level 5 X X X X X X X X
Level 6 X X X X X X X X
9
Constant 5 1 5 1 Level 7 X X X X X X X X
LD
K5151 Level 8 X X X X X X X X
Current Acc. value
10
lator, pushing the value 3245 onto the Bucket
Previous Acc. value Accumulator Stack
stack
Acc. 0 0 0 0 33 22 44 55 Level 1 0 0 0 0 3 2 4 5
Level 2 X X X X X X X X
11 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 LD Constant 6 3 6 3
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
K6363 Current Acc. value
Accumulator Stack
Bucket
14
the 2nd stack location Acc. 0 0 0 0 55 1 5 1 Level 1
Level 2 0 0 0 0 3 2 4 5
0 0 0 0
Level 3 X X X X X X X X
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 that 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.
11
X1
22
POP Previous Acc. value
Acc. X X 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 44
V2000 4 5 4 5 Level 6 X X X X X X X X
V2000
Acc. 0 0 0 0 44 55 44 55
66
POP the 1st value on the stack into the
accumulator and move stack values
up one location
Current Acc. value
Acc. 0 0 0 0 33 77 99 22 Level 1 0
Accumulator Stack
0 0 0 7 9 3 0 77
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
88
Level 5 X X X X X X X X
99
OUT
V2001 3 7 9 2 Level 6 X X X X X X X X
V2001
Level 7 X X X X X X X X
Cop data rom the accum ulator to Level 8 X X X X X X X X
10
10
V2001.
Acc. X X X X 7 9 3 0 Level 1 X
Accumulator Stack
X X X X X X X
11
11
accumulator and move stack values
12
12
up one location Level 2 X X X X X X X X
Level 3 X X X X X X X X
Level 4 X X X X X X X X
13
13
Level 5 X X X X X X X X
OUT V2002 7 9 3 0 Level 6 X X X X X X X X
V2002
Level 7 X X X X X X X X
14
14
Cop data rom the accum ulator to Level 8 X X X X X X X X
V2002
AA
BB
CC
DD
3 X1 LD
K4935
Constant 4 9 3 5
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 will be set to 0
Shifted out of
accumulator
6 SHFR 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
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
7
K4 Acc.
8 OUT
V1410
9
0 4 9 3
Output the lower 16 bits of the
accumulator to V1410 V1410
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
K67053101
Constant 6 7 0 5 3 1 0 1
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
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 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 0 0 1 0 0 0 0 0 0
Rotate the data in the
accumulator 2 bits to the right
C OUTD
D
V1410
Using Pointers
Many of the DL205 series instructions will allow V-memory pointers as an 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.
X1
6
LD
P3000
8
V2002
V3000 V2003 X X X X
0 4 0 0 V2004 X X X X Accumulator
V2005 X X X X 2 6 3 5
OUT
V3100
10
the accumulator to V3100.
V3101 X X X X
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))
12 2
13
OUT
the accumulator to V3000
V 3000 Acc. 0 0 0 0 0 4 0 0
14
LD V3000 (P3000) contains the value 400
HEX = 2000 Octal which contains the 0 4 0 0
P 3000
value 2635
V3000
OUT Copy the data from the lower 16 bits of
V 3100
the accumulator to V3100
A
B V2000
V2001
2
X
6
X
3
X
5
X
V2002 X X X X
Accumulator
0
V3000
4 0 0 C V2003
V2004
V2005
X
X
X
X
X
X
X
X
X
X
X
X
0 0 0 0 2 6 3 5
D V3100 2 6 3 5
V3101 X X X X
Load (LD)
1 230 The Load instruction is a 16-bit instruction that loads the value
(Aaaa), which is either a V-memory location or a 4-digit constant, LD
240 A aaa
2 250-1
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 On when the value loaded into the accumulator by any instruction is zero.
7
8 NOTE: Two consecutive Load instructions will place the value of the first Load instruction onto the
accumulator stack.
9 DS Used
HPP Used
In the following example, when X1 is on, the value in V2000 will be loaded into the accumulator
and output to V2010.
10 DirectSOFT
V2000
X1 LD
11 V2000
8
13 OUT
V2010
B SHFT L
ANDST
D
3
C A A A ENT
C GX
OUT
2 0
SHFT
0
V
AND
0
C
2
A
0
B
1
A
0
ENT
V-memory
A
V
aaa
All. See Memory map
aaa aaa
All. See Memory map
aaa bbb
All See Memory map
4 All See Memory map
Pointer P –
All V-memory
See Memory map
All V-memory
See Memory map 5 All V-memory
See Memory map
Constant K 0-FFFFFFFF 0-FFFFFFFF 0-FFFFFFFF 0-FFFFFFFF
NOTE: Two consecutive Load instructions will place the value of the first load instruction onto the 8
accumulator stack.
DS Used In the following example, when X1 is on, the 32-bit value in V2000 and V2001 will be loaded 9
HPP Used into the accumulator and output to V2010 and V2011.
DirectSOFT
X1 V2001
10 V2000
LDD
6 7 3 9 5 0 2 6
V2000
6 7 3
13 9 5 0 2 6
OUTD
V2010
V2011
14 V2010
A
accumulator to V2010 and
V2011
$
STR
B
1
ENT B
C
SHFT L D D
ANDST 3 3
C A A A ENT
2 0 0 0
GX
OUT
SHFT D
3
D
C A B A ENT
2 0 1 0
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
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
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 0 0 0 0 1 1 1 0
14 OUTF Y0
A K7
Y0
Constant
K7
Y6 Y5
? Y4
? Y3
?
OFF OFF OFF ON ON ON OFF
?
Y2 Y1
? Y0
the accumulator to Y0 – Y6
$
STR
SHFT C
2
A
0
ENT
C SHFT
SHFT
L
ANDST
C
D
B
3
F
A
5
H ENT
2 1 0 7
D GX
A
OUT
SHFT F
H
5
ENT
0 7
In the following example, when X1 is on, the octal number 40400 will be converted to a HEX
8
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 LDA Octal Hexadecimal
O 40400 4 0 4 0 0
11 4 1 0 0
13
14
4 1 0 0
OUT
V2000 V2000
A
Copy the value in lower 16
bits of the accumulator to
V2000
$ B ENT
B
STR 1
SHFT L
ANDST
D
3
A
0
C
E A E A A
GX
4 0
SHFT
4
V
0
C
0
ENT
A A A ENT
D
OUT AND 2 0 0 0
3 DS Used
accumulator. The upper 16 bits of the accumulator are set to 0.
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.
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 first 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
13
The unused accumulator
octal 25 into the lower 16 bits are set to zero
bits of the accumulator
Acc. 0 0 0 0 0 0 1 5
14 LDX
V1410
Octal
HEX Value in 1st
stack location Octal Accumulator Stack
Move the offset to the stack.
B
OUT Level 4 X X X X X X X X
V1500 Acc. 0 0 0 0 2 3 4 5
Level 5 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
V1500
Constant
aaa
K
aaa
1-FFFF
aaa 6 1-FFFF 1-FFFF
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 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 9
is 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
11
Hexadecimal
X1 Value in 1st. level of stack is
LD 0 0 0 1 used as offset. The value is 1
K1
The unused accumulator
bits are set to zero Accumulator Stack
Load the offset value of 1 (K1) into the lower 16
bits of the accumulator.
LDSX
K2
Acc. 0 0 0
120 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
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
13K 0 0 0 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
OUT
14
Acc. 0 0 0 0 0 0 0 2
Level 8 X X X X X X X X
V2000
A
to V2000
bits are set to zero
END
Acc. 0 0 0 0 2 3 2 3
DLBL K2
NCON
Offset 0
B 2 3
V2000
2 3
K3333
NCON
Offset 1
C
K2323
NCON
Offset 2
D
K4549
1 SHFT L
ANDST
D
3
SHFT K
JMP
B
1
ENT
SHFT L D S X C ENT
2 GX
OUT
ANDST
SHFT
3
V
RST
AND
C
SET
2
A
0
A
2
0
A
0
ENT
3 SHFT
SHFT
E
D
4
N
L
TMR
D
B
3
ENT
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 ENT
TMR 2 INST# TMR 2 3 2 3
SHFT N C O N E F E J ENT
TMR 2 INST# TMR 4 5 4 9
250-1
8 260 Operand Data Type DL250-1 Range DL260 Range
A aaa aaa
9 DS Used
V-memory
Pointer
V All. See memory map All. See memory map
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
OUTD
14 5.3 million. The OUTD instruction stores it in V1400
and V1401.
V1400
These real numbers are in the IEEE 32-bit floating point format, so they occupy two V-memory
A 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. Just like all
B 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
LDR
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,
V1400
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 specified 1 OUT
A aaa
240 V-memory location (Aaaa).
250-1
260
2
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
4 All. See
memory map
All. See
memory map
All V-memory. All V-memory. All V-memory.
Pointer P - See memory map
5 See memory map See memory map
In the following example, when X1 is on, the value in V2000 will be loaded into the lower 7
16 bits of the accumulator using the Load instruction. The value in the lower 16 bits of the
DS Used
accumulator are copied to V2010 using the Out instruction. 8
HPP Used
9
DirectSOFT
X1 LD V2000
V2000 8 9 3 5
OUT
Acc. 0
11 0 0 0 88 99 33 55
V2010
$
STR
B
1
ENT 14
L D
A
SHFT
ANDST 3
C A A A ENT
2 0 0 0
GX
OUT
SHFT V
AND
C
2
A
0
B
B
1
A
0
ENT
C
D
2 250-1
260
3 Operand Data Type
A
DL230 Range
aaa
DL240 Range DL250-1 Range DL260 Range
aaa aaa aaa
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. All V-memory. All V-memory.
5 See memory map See memory map See memory map
6 In the following example, when X1 is on, the 32-bit value in V2000 and V2001 will be loaded
into the accumulator using the Load Double instruction. The value in the accumulator is
7 DS Used
HPP Used
output to V2010 and V2011 using the Out Double instruction.
8 DirectSOFT
X1
6
V2001
7
?
3 9 5
V2000
0 2 6
Handheld Programmer Keystrokes
$ B
LDD ENT
STR 1
9 V2000
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 C A B A ENT
accumulator to V2010 and V2011 V2010 2 0 1 0
V2011
12
13
14
A
B
C
D
In the following example, when C0 is on, the binary pattern of C10–C16 (7 bits) will be 5
loaded into the accumulator using the Load Formatted instruction. The lower 7 bits of the
accumulator are output to Y20–Y26 using the Out Formatted instruction. 6
DirectSOFT
C0 LDF C10
7 Location Constant
C16 C15 C14 C13 C12 C11 C10
K7 C10 K7 OFF OFF OFF ON ON ON OFF
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
9
8 7 6 5 4 3 2 1 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
OUTF Y20
Accumulator
K7
$ SHFT C A ENT
STR 2 0
SHFT L
ANDST
C
D
B
3
F
A
5
H
12
SHFT ENT
2 1 0 7
GX
OUT
SHFT F
5 13
C A H ENT
14
2 0 7
A
B
C
D
10 X1 LD
K3544
3
Constant
5 4 4
Acc.
bits are set to zero.
0 0 0 0 3 5 4 4
12 LDA
Octal
2 5 0
HEX
0 1 5
O25
14
instruction, which determines
the final destinaltion address.
Octal Octal Octal
OUTX
V 1 5 0 0 + 2 5 = V 1 5 2 5
C STR 1 Level 6 X X X X X X X X
Level 7 X X X X X X X X
SHFT L D PREV D F E E ENT
ANDST 3 3 5 4 4 Level 8 X X X X X X X X
L D A C F
D
SHFT ENT
ANDST 3 0 2 5
GX SHFT X B F A A ENT
OUT SET 1 5 0 0
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
250-1 of the accumulator). 2
260 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 lower 8 bits of the
accumulator are copied to V1500 using the Out Least instruction.
3
DS Used
HPP Used Operand Data Type DL260 Range 4
A aaa
V-memory
Pointer
V
P
5
All V-memory. See memory map
All V-memory. See memory map
X1
LD
V1400
Load the value in V1400 into
the lower 16 bits of the
6 8
V1400
9 3 5
accumulater
OUTL
V1500
Copy the value in the lower
8 bits of the accumulator to
V1500
7 The unused accumulator
bits are set to zero
Acc. 0 0 0 0 8 9 3 5
8
Handheld Programmer Keystrokes
$ B ENT
STR 1
0 0 3 5
SHFT L D B E A A ENT
9
ANDST 3 1 4 0 0 V1500
GX SHFT L B F A A ENT
OUT ANDST 1 5 0 0
230
Out Most (OUTM) 10
The Out Most instruction copies the value in the upper eight bits O UT M
240
250-1
of the lower 16 bits of the accumulator to the upper eight bits of
the specified V-memory location (i.e., it copies the high byte of
A aaa 11
260 the low word of the accumulator).
Operand Data Type DL260 Range
12
DS Used
HPP Used
V-memory
aaa A
V
13
All V-memory. See memory map
Pointer P All V-memory. See memory map
In the following example, when X1 is on, the value in V1400 will be loaded into the lower 16
14
bits of the accumulator using the Load instruction. The value in the upper 8 bits of the lower
16 bits of the accumulator are copied to V1500 using the Out Most instruction. A
X1 Load the value in V1400 into V1400
B
LD
the lower 16 bits of the
V1400 8 9 3 5
accumulator
C
8 bits of the lower 16 bits of
V1500 the accumulator to V1500 0 0 0 0 8 9 3 5
Acc.
$
STR
L
B
D
1
ENT
B E A A
D 8 9
V1500
0 0
SHFT ENT
ANDST 3 1 4 0 0
GX SHFT M B F A A ENT
OUT ORST 1 5 0 0
Pop (POP)
1 230 The Pop instruction moves the value from the first level
of the accumulator stack (32 bits) to the accumulator and POP
240 shifts each value in the stack up one level. In the example
2 250-1 below, when C0 is on, the value 4545 that was on top of
260 the stack is moved into the accumulator using the Pop
3 instruction. The value is output to V2000 using the Out instruction. The next Pop moves
DS Used the value 3792 into the accumulator and outputs the value to V2001. The last Pop moves the
HPP Used value 7930 into the accumulator and outputs the value to V2002. Please note if the value in
4 the stack were greater 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
Previous Acc. value
C0 POP
7
Acc. X X X X X
X X
X X X
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
9
V2000 4 5 4 5 Level 6 X X X X X X X X
Copy the value in the lower 16 bits of
the accumulator to V2000 Level 7 X X X X X X X X
Level 8 X X X X X X X X
POP
Acc. 0 0 0
Accumulator Stack
up one location
11
Acc. 0 0 0 0 3 7 9 2 Level 1 0 0 0 0 7 9 3 0
Level 2 X X X X X X X X
OUT Level 3 X X X X X X X X
V2001
Level 4 X X X X X X X X
13
Level 8 X X X X X X X X
Pop the 1st. value on the stack into the Previous Acc. value
accumulator and move stack values
up one location Acc. 0 0 0 0 3 7 9 2
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
A
Level 3 X X X X X X X X
Copy the value in the lower 16 bits of
the accumulator to V2002 Level 4 X X X X X X X X
Level 5 X X X X X X X X
V2002 7 9 3 0 Level 6 X X X X X X X X
B
Handheld Programmer Keystrokes
Level 7 X X X X X X X X
$ SHFT C A ENT Level 8 X X X X X X X X
STR 2 0
C
CV INST# CV
GX SHFT V C A A A ENT
OUT AND 2 0 0 0
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
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 9
using the Load instruction. The value in the accumulator is anded with the value in V2006
DS Used
HPP Used
using the And instruction. The value in the lower 16 bits of the accumulator is output to
V2010 using the Out instruction.
10
DirectSOFT
X1
11 V2000
LD
12
2 8 ?
7 A
V2000
Load the value in V2000 into The upper 16 bits of the accumulator
the lower 16 bits of the will be set to 0
accumulator
Acc. 0 0 0 0 0 0 0 0 0 13
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 1 0 1 0 0
8
0
7
0
6 5
1 1 1
4 3
1
2
0
1
1
0
0
AND
V2006
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
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
the value in V2006
OUT
Acc. 0 0 0 0 0 1
0 0 0 0
A0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0
V2010
V2010
3 8
C
Handheld Programmer Keystrokes
$ B ENT
STR 1
D
SHFT L D C A A A ENT
ANDST 3 2 0 0 0
V SHFT V C A A G ENT
AND AND 2 0 0 6
GX SHFT V C A B A ENT
OUT AND 2 0 1 0
4 HPP Used
Operand Data Type
A
DL230 Range
aaa
DL240 Range DL250-1 Range DL260 Range
aaa aaa aaa
5 V-memory V
- - All. See
memory map
All. See
memory map
- - All V-memory. All V-memory.
Pointer P
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
V2000
13
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
ANDD
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
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
D SHFT L D D C A A A ENT
ANDST 3 3 2 0 0 0
V SHFT D SHFT K D G E H 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
DS Used
Operand Data Type DL250-1 Range DL260 Range 3
A aaa bbb aaa bbb
HPP Used
Inputs
Outputs
X
Y
4
0–777
0–777
–
–
0–1777
0–1777
–
–
Control Relays C 0–1777 – 0–3777 –
Stage bits S 5
0–1777 – 0–1777 –
Timer bits T 0–377 – 0–377 –
Counter bits
Special Relays
CT
SP
6
0–177
0-777
–
–
0–377
0–777
–
–
Global I/O GX/GY - – 0-3777 –
Constant K 7
- 1–32 - 1–32
SP63
Discrete Bit Flags Description
8
Will be on if the result in the accumulator is zero
SP70 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.
In the following example, when X1 is on, the Load Formatted instruction loads C10–C13
10
(4 binary bits) into the accumulator. The accumulator content is logically ANDed with the bit
pattern from Y20–Y23 using the And Formatted instruction. The Out Formatted instruction 11
outputs the accumulator’s lower four bits to C20–C23.
DirectSOFT
X1
LDF C10
12 Location Constant C13 C12 C11 C10
K4 C10 K4 ON ON ON OFF
ANDF
K4
Y20
0 0
Accumulator
0 0 014
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
8
0
7 6 5
0 0 0
4 3
0 1
2
1 1
1 0
0
A
And the binary bit pattern 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
Acc.
(Y20-Y23) with the value in
the accumulator Y23 Y22 Y21 Y20
AND (Y20-Y23) ON OFF OFF OFF 1 0 0 0
OUTF C20
K4
B Acc. 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
ndard RLL
C
C20-C23
Location Constant C23 C22 C21 C20
Handheld Programmer Keystrokes
C20 K4 ON OFF OFF OFF
$ B ENT
STR 1
V
SHFT L
ANDST
D
F
3
F
5
NEXT
C
NEXT
A
NEXT NEXT
E
DB
1
A
0
E
4
ENT
6 NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the binary value in the accumulator will be anded
7 with the binary value in the first level of the accumulator stack. The result resides in the
accumulator. The 32-bit value is then output to V1500 and V1501.
8 DirectSOFT
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
36476A38
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
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
14
V1500
and 1501
A
$ B ENT
STR 1
SHFT L D D B E A A ENT
ANDST 3 3 1 4 0 0
B V
AND
GX
SHFT
SHFT
S
D
RST
ENT
B F A A ENT
OUT 3 1 5 0 0
C
D
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 OR
240 a specified V-memory location (Aaaa). The result resides A aaa
250-1 in the accumulator. The discrete status flag indicates if the 2
260 result of the OR is zero.
DS Used
3
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
HPP Used
A aaa aaa
All
aaa aaa
All
4 All All
V-memory V See memory map See memory map See memory map See memory map
Pointer P - 5
All V-memory.
See memory map
All V-memory.
See memory map
All V-memory.
See memory map
SP63
Discrete Bit Flags Description 6
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 accumulator 8
using the Load instruction. The value in the accumulator is OR’d 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
V2000
10 2 8
V2000
7 A
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
V2006
Acc. 0 0 0 0 0 0 0 0 0 0 0
12
0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0
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
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
6 A 7 A
Copy the value in the lower
16 bits of the accumulator to
V2010
Handheld Programmer Keystrokes
A V2010
SHFT
STR
L
B
D
1
ENT
C A A A ENT
B
ANDST 3 2 0 0 0
Q
GX
OR
SHFT V
V
AND
C
C
2
A
A
0
A
B
0
G
A
6
ENT
C
SHFT ENT
D
OUT AND 2 0 1 0
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
A aaa
240 constant value. The result resides in the accumulator.
2 250-1 Discrete status flags indicate if the result of the Or Double
260 is zero or a negative number (the most significant bit is on).
3 Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
DS Used
4 HPP Used
V-memory
A
V
aaa
-
aaa
- All. See
aaa aaa
All. See
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
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 OR’d
with 36476A38 using the Or Double instruction. The value in the accumulator is output to
10 V2010 and V2011 using the Out Double instruction.
11
DirectSOFT
X1 V2001 V2000
LDD
5 4 7 E 2 8 7 A
V2000
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
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
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
Acc.
0
0
0
1
0
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 1
0
0 1 1
0
1 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
7 6 7 F 6 A 7 A
B
Copy the value in the
accumulator to V2010 and V2011 V2010
V2011
C $
STR
B
1
ENT
SHFT L D D C A A A ENT
D
ANDST 3 3 2 0 0 0
Q SHFT D SHFT K D G E H G SHFT A SHFT D I ENT
OR 3 JMP 3 6 4 7 6 0 3 8
GX SHFT D C A B A ENT
OUT 3 2 0 1 0
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 1 ORF A aaa
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
Inputs
A aaa
X
bbb aaa bbb
0–777
4 – 0–1777 –
Outputs
Control Relays
Y
C
0–777
0–1777 5 –
–
0–1777
0–3777
–
–
Stage bits S 0–1777 – 0–1777 –
Timer bits
Counter bits
T
CT
0–377
0–177
6 –
–
0–377
0–377
–
–
Special Relays
Global I/O
SP
GX/GY
0-777
- 7 –
–
0–777
0-3777
–
–
Constant K - 1–32 - 1–32
8
Discrete Bit Flags Description
SP63
SP70
9
Will be on if the result in the accumulator is zero
Will be on if the result in the accumulator is negative
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
accumulator’s lower four bits to C20–C23.
DirectSOFT
12 Location Constant C13 C12 C11 C10
X1 LDF
K4
C10
13 C10
14
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
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
ORF Y20
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
A 1 0 0 0
B
OUTF C20 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
K4
Copy the specified number
of bits from the accumulator
ENT
D
STR 1
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
8
V1401 V1400
LDD
5 4 7 E 2 8 7 A
V1400
Load the value in V1400 and
V1401 in the accumulator
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
10 ORS
OUTD
12 V1500
Copy the value in the
accumulator to V1500 and
7 6 7 F 6 A 7 A
V1501 V1500
V1501
14 $
SHFT
STR
L
B
D
1
ENT
D B E A A ENT
ANDST 3 3 1 4 0 0
A Q
GX
OR
SHFT
SHFT
S
D
RST
ENT
B F A A ENT
OUT 3 1 5 0 0
B
C
D
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 1
240 the accumulator and a specified V-memory location (Aaaa). The
XOR
250-1 result resides in the accumulator. The discrete status flag indicates 2 A aaa
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 4
See memory map
All
See memory map
All
See memory map
All V-memory. All V-memory. All V-memory.
Pointer P -
5
See memory map See memory map See memory map
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 accumulator 8
using the Load instruction. The value in the accumulator is exclusive OR’d 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 LD
10 V2000
2 8 7 A
11
V2000
Load the value in V2000 into The upper 16 bits of the accumulator
the lower 16 bits of the will be set to 0
accumulator
12
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
XOR
V2006
OUT
V2010
C
ENT
STR 1
SHFT
GX
X
SET
SHFT
SHFT
Q
V
OR
C A
SHFT V
B
AND
C
A
2
A
ENT
0
A
0
G
6
ENT
D
OUT AND 2 0 1 0
4 HPP Used
Operand Data Type DL230 Range
aaa
DL240 Range DL250-1 Range DL260 Range
aaa aaa aaa
5 Constant K 0-FFFFFFFF 0-FFFFFFFF 0-FFFFFFFF 0-FFFFFFFF
6 NOTE: The status flags are only valid until another instruction that uses the same flags is executed.
11
DirectSOFT V2001 V2000
X1 LDD 5 4 7 E 2 8 7 A
?
V2000
XORD Acc.
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
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
K36476A38
14
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
V2010
$ B ENT
STR 1
L D D C A A A
C
SHFT ENT
ANDST 3 3 2 0 0 0
D
D G E H G SHFT A SHFT D I ENT
3 6 4 7 6 0 3 8
GX SHFT D C A B A ENT
OUT 3 2 0 1 0
In the following example, when X1 is on, the binary pattern of C10–C13 (4 bits) will be loaded
11
into the accumulator using the Load Formatted instruction. The value in the accumulator
will be logically Exclusive OR’d with the bit pattern from Y20–Y23 using the Exclusive Or 12
Formatted instruction. The value in the lower 4 bits of the accumulator are output to C20–
C23 using the Out Formatted instruction.
DirectSOFT32
13 Location Constant C13 C12 C11 C10
X1
LDF C10 C10 K4
14
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
0 0 0
0 0
0 0
A
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
0
0
pattern (Y20-Y23) with the
Y23 Y22 Y21 Y20
B
value in the accumulator
XORF (Y20-Y23) ON OFF ON OFF 1 0 1 0
OUTF C20
Acc. 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0
K4
Standard RLL
C
of bits from the accumulator
to C20-C23
$
STR
SHFT L
ANDST
B
D
1
3
ENT
F
5
NEXT NEXT NEXT NEXT
D
B
1
A
0
E
4
ENT
7 In the following example, when X1 is on, the binary value in the accumulator will be Exclusive
OR’d with the binary value in the first level of the accumulator stack. The result will reside in
8 the accumulator.
9 DirectSOFT
10 X1 LDD
V1400
5
V1401
4 7 E 2
V1400
8 7 A
11
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
14 V1500
B $
STR
L
B
D
1
D
ENT
B E A A
SHFT ENT
ANDST 3 3 1 4 0 0
C SHFT
GX
X
SET
Q
D
OR
SHFT S
B
RST
F
ENT
A A
SHFT ENT
D
OUT 3 1 5 0 0
Compare (CMP)
230
The compare instruction is a 16-bit instruction that
compares the value in the lower 16 bits of the accumulator 1 CMP
240 with the value in a specified V-memory location (Aaaa). A aaa
250-1 The corresponding status flag will be turned on indicating 2
260 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
4 All
See memory map
All
See memory map
All V-memory. All V-memory. All V-memory.
Pointer P - See memory map 5 See memory map See memory map
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 on, 10
energizing contact C30.
DirectSOFT
X1
LD
11 CONSTANT
K4526 4 5 ?
2 6
Acc. 0 0 0 0 44 55 2?
2 66
13
Compared
14
with
CMP
V2000
8 9 4 5
Compare the value in the
V2000
A
accumulator with the value
in V2000
SP60 C30
OUT
C
ENT
STR 1
D
SHFT C SHFT M P C A A A ENT
2 ORST CV 2 0 0 0
$ SHFT SP G A ENT
STR STRN 6 0
GX SHFT C D A ENT
OUT 2 3 0
6 SP60
Discrete Bit Flags 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 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 corresponding discrete
10 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 instruction, SP60 will
11 turn on, energizing contact C30.
DirectSOFT
12 X1 LDD
V2000
4
V2001
5 2 6 7
V2000
2 9 9
13
V2001 into the accumulator
Acc. 4 5 ?
2 6 77 72 9 9
Compared
14 CMPD with
V2010
6 7 3 9 5 0 2 6
Compare the value in the
accumulator with the value V2011 V2010
A SP60
in V2010 and V2011
C30
OUT
C $
SHFT
STR
L
ANDST
B
D
1
3
D
ENT
3
C
2
A
0
A
0
A
0
ENT
D SHFT
$
STR
C
2
SHFT
SHFT
M
ORST
SP
STRN
P
G
CV
6
D
A
3
0
ENT
C
2
A
0
B
1
A
0
ENT
GX SHFT C D A ENT
OUT 2 3 0
DS Used
result of the comparison.
3
Operand Data Type DL250-1 Range DL260 Range
HPP Used
Inputs
A aaa
X
bbb
0–777
aaa
–
bbb 4 0–1777 –
Outputs
Control Relays
Y
C
0–777
0–1777
–
– 5 0–1777
0–3777
–
–
Stage bits S 0–1777 – 0–1777 –
Timer bits
Counter bits
T
CT
0–377
0–177
–
–
6 0–377
0–377
–
–
Special Relays
Global I/O
SP
GX/GY
0-777
-
–
– 7 0–777
0-3777
–
–
Constant K - 1–32 - 1–32
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 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 12
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 on,
energizing C30. 13
14
DirectSOFT
Location Constant
X1 Load the value of the C13 C12 C11 C10
LDF C10 specified discrete locations C10 K4 OFF ON ON OFF
K4 (C10-- C13) into the
CMPF Y20
accumulator
B
K4 of the specified discrete Acc.
location (Y20-- Y23)
SP60 C30 Compared
Y23 Y22 Y21 Y20 with
OUT ON ON ON OFF
C E
SP62
Accumulator Stack
On when the value in the Accumulator is greater than the first level value in the
Accumulator Stack
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 is loaded into the
accumulator using the Load Double instruction. The value in V1410 and V1411 is loaded
8 into the accumulator using the Load Double instruction. The value that was loaded into the
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
10 the accumulator is less than the value in the stack, SP60 will turn on, energizing C30.
DirectSOFT
V1401 V1400
11 X1 LDD
V1400
Load the value in V1400 and
V1401 into the accumulator
6 5 0 0 3 5 4 4
12 LDD
V1410
Load the value in V1410 and
V1411 into the accumulator
Acc. 6 5 0 0 3 5 4 4
13 CMPS
Compare the value in the
accumulator with the value
in the first level of the 5
V1411
5 0 0 3
V1410
5 4 4
accumulator stack
14 SP60 C30
OUT Acc. 5 5 0 0 3 5 4 4
B
$ B ENT
STR 1
SHFT L D 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
C M P S
D SHFT
$
2
SHFT
SHFT
ORST
SP G
CV
A
RST
ENT
ENT
STR STRN 6 0
GX C D A
SHFT 2 3 0 ENT
OUT
DS Used
32 bits long.
3
Operand Data Type DL250-1 Range DL260 Range
HPP N/A
A aaa
All. See
aaa 4
All. See
V-memory V memory map memory map
Pointer P All V-memory.
See memory map
5
All V-memory.
See memory map
-3.402823E+038 to -3.402823E+038 to
Constant R + 3.402823E+038 6
+ 3.402823E+038
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 11
accumulator contents with the real representation for decimal 6. Since 7 > 6, the corresponding
discrete status flag is turned on (special relay SP62). 12
DirectSOFT
X1 LDR Load the real number
representation for decimal 7
13
R7.0
into the accumulator Acc. 4 0 E
14
0 0 0 0 0
SP62 C1
OUT
B
C
D
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 (Aaaa).
ADD
A aaa
240 (You cannot use a constant (K) as the BCD value in the box.)
3 250-1 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
HPP Used All All All All
5 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 copied to V2010
11 using the Out instruction.
DirectSOFT V2000
12 X1 LD
V2000
4 9 3 5
14
+ 2 5 0 0 (V2006)
V2006
Acc. 7 4 3 5
Add the value in the lower
16 bits of the accumulator
with the value in V2006
A OUT
V2010 7 4 3 5
C $
STR
B
1
ENT
SHFT L D C A A A ENT
D
ANDST 3 2 0 0 0
SHFT A D D C A A G ENT
0 3 3 2 0 0 6
GX SHFT V C A B A ENT
OUT AND 2 0 1 0
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
4 All
See memory map
All
See memory map
All V-memory. All V-memory. All V-memory.
Pointer P - See memory map 5 See memory map See memory map
Constant K 0-99999999 0-99999999 0-99999999 0-99999999
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 10
the accumulator using the Load Double instruction. The value in the accumulator is added
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
12
DirectSOFT V2001 V2000
X1 6 7 3 9 5 0 2 6
LDD
V2000
14
+ 2 0 0 0 4 0 4 6 (V2006 and V2007)
V2006
Acc. 8 7 3 9 9 0 7 2
Add the value in the
accumulator with the value
in V2006 and V2007
OUTD
A
V2010 8 7 3 9 9 0 7 2
D
3
D
D
3
D
C
2
A
C
0
A
A
0
A
A
0 D ENT
G
SHFT ENT
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
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
10 NOTE: Status flags are valid only until another instruction uses the same flag.
DirectSOFT
11 X1
LDR
R7.0
4 0 E 0 0 0 0 0
+ 1
7
5
(decimal)
+ 4
4 0
1
E
7
0
0
0
0
0
0
0
0
0
0
(Accumulator)
(ADDR)
2 2 Acc. 4 1 B 0 0 0 0 0
13 ADDR
R15.0
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
A OUTD
V1400
to V1400 and V1401. Sign Bit Exponent (8 bits) Mantissa (23 bits)
C Implies 2 (exp 4)
NOTE1: 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.
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.
Subtract (SUB)
Subtract is a 16-bit instruction that subtracts the BCD
230
240
value (Aaaa) in a V-memory location from the BCD value 1 SUB
A aaa
in the lower 16 bits of the accumulator. The result resides
250-1
260
in the accumulator. 2
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
4 All
See memory map
All
See memory map
Pointer P - All V-memory.
See memory map 5 All V-memory.
See memory map
All V-memory.
See memory map
in the accumulator using the Subtract instruction. The value in the accumulator is copied to
V2010 using the Out instruction.
Direct SOFT
11 V2000
12
2 4 7 5
X1 LD
V2000
13
the lower 16 bits of the bits are set to zero
accumulator
0 0 0 0 2 4 7 5 (Accumulator)
SUB _ 1 5 9 2 (V2006)
V2006
OUT
V2010 A 0 8
V2010
8 3
B
16 bits of the accumulator to
V2010
Handheld Programmer Keystrokes
$ B
C
ENT
STR 1
SHFT L D C A A A ENT
ANDST 3 2 0 0 0
S U B V C A A G
D
SHFT SHFT ENT
RST ISG 1 AND 2 0 0 6
GX SHFT V C A B A ENT
OUT AND 2 0 1 0
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
10 into 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
11 DS Used
V2010 and V2011 using the Out Double instruction.
DirectSOFT V2001 V2000
HPP Used 0 1 0 6 3 2 7 4
12
X1 LDD
V2000
13
V2001 into the accumulator
0 1 0 6 3 2 7 4
_ 6 7 2 3 7 5
SUBD
V2006 ACC. 0 0 3 9 0 8 9 9
A OUTD
V2010
0 0
V2011
3 9 0 8 9
V2010
9
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
DS Used
Operand Data Type DL250-1 Range DL260 Range 3
A aaa aaa
HPP N/A
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)
4
Constant R -3.402823E+038 to
+ 3.402823E+038
-3.402823E+038 to
+ 3.402823E+038 5
Discrete Bit Flags
SP63
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 an invalid floating point number
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
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.
10
11
DirectSOFT
X1 4 1 B 0 0 0 0 0
LDR
R22.0
_
2
1
2
5
(decimal) 4
_ 4
1
1
B
7
0
0
0
0
0
0
0
0
0
0
(Accumulator)
(SUBR)
12
SUBR
R15.0
7 Acc. 4 0 E
V1401
0 0 0 0
V1400
0
13
14
Subtract the real number 4 0 E 0 0 0 0 0 (Hex number)
15.0 from the accumulator
contents, which is in real
number format.
Real Value
OUTD
V1400
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
Copy the result in the
accumulator to V1400
and V1401.
Sign Bit Exponent (8 bits) Mantissa (23 bits)
B
ndard RLL
structions
C
128 + 1 = 129 1.11 x 2 (exp 2) = 111. binary= 7 decimal
129 - 127 = 2
Implies 2 (exp 2)
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.
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 4–digit
MUL
240 A aaa
(max) constant, by the BCD value in the lower 16 bits of the
2 250-1 accumulator The result can be up to 8 digits and resides in
260 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 V-memory
All (See page 3-55)
All V-memory
All (See page 3-56)
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.
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: 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 will be loaded into the
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
10 Double instruction.
V2000
DS Used DirectSOFT
11 HPP Used X1 LD
V2000
1 0 0 0
13 V2006
14 accumulator
0 0 0 2 5 0 0 0
OUTD
V2011 V2010
A V2010
C
$ B ENT
STR 1
SHFT L D C A A A ENT
ANDST 3 2 0 0 0
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
V-memory
A
V
aaa
All V-mem (See page 3-55)
aaa 4 All V-mem (See page 3-56)
Pointer P All V-mem (See page 3-55)
5 All V-mem (See page 3-56)
NOTE: Status flags are valid only until another instruction uses the same flag.
8
In the following example, when X1 is on, the constant Kbc614e hex will be loaded into the
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
9
12345678, which is 24691356.
DS Used DirectSOFT
10 1 2 3 4 5 6 7 8 (Accumulator)
X1
HPP Used LDD Load the hex equivalent
BCD
Kbc614e
of 12345678 decimal into
the accumulator.
OUTD
V1400
(32 bits).
Acc. 2 4 6 9 1 3 5 6
LD
K2
Load the constant K2
into the accumulator. 13
2 4 6 9 1 3 5 6
14
Multiply the accumulator
MULD contents (2) by the
V1400 8-digit number in V1400 V1403 V1402
and V1401.
Move the result in the
OUTD accumulator to V1402
B
STR 1
SHFT B C D ENT
C
1 2 3
GX SHFT D B E A A ENT
OUT 3 1 4 0 0
SHFT
GX
M
ORST
SHFT
U
D
ISG
L
ANDST
D
B
3
E
B
A
1
E
C
4
A
D
ENT
0
A
0
ENT
OUT 3 1 4 0 2
5 Constant R -3.402823E+038 to
+ 3.402823E+038
-3.402823E+038 to
+ 3.402823E+038
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
4 0 E 0 0 0 0 0
11
X1 LDR
R 7.0
12
7 (decimal) 4 0 E 0 0 0 0 0 (Accumulator)
x 1 5 X 4 1 7 0 0 0 0 0 (MULR)
1 0 5 Acc. 4 2 D 2 0 0 0 0
MULR
13 R 15.0
14 OUTD
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
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
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
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 1 DIV
240 A aaa
a V-memory location or a 4-digit (max) constant. The first
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) 4 All (See page 3-55) All (See page 3-56)
All V-memory All V-memory All V-memory
Pointer P -
Constant K 1-9999
(See page 3-54)
1-9999
5 (See page 3-55)
1-9999
(See page 3-56)
1-9999
In the following example, when X1 is on, the value in V2000 will be loaded into the accumulator 9
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 V2010 using the Out 10
instruction.
DS Used
HPP Used
DirectSOFT 11 5
V2000
0 0 0
X1 LD
V2000
DIV
V2006
÷
0 0 0 0 5
13 0 0
5
0
0
(Accumulator)
(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 14 First stack location contains
the remainder
OUT
V2010 A 1 0
V2010
0
B
16 bits of the accumulator to
V2010
Handheld Programmer Keystrokes
$ B
C
ENT
STR 1
SHFT L D C A A A ENT
ANDST 3 2 0 0 0
D
SHFT D I V C A A G ENT
3 8 AND 2 0 0 6
GX SHFT V C A B A ENT
OUT AND 2 0 1 0
V-memory
A
V
aaa
All V-memory (See page 3-55)
aaa
All V-memory (See page 3-56)
5 Pointer P All V-memory (See page 3-55) All V-memory (See page 3-56)
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 0 1 5 0 0 0 0 0
12
LDD
V1400
13
0 1 5 0 0 0 0 0 (Accumulator)
OUTD
A V1500 0 0 0 3 0 0 0 0
L D D B E A A
SHFT ENT
C
ANDST 3 3 1 4 0 0
SHFT D I V B E C A ENT
3 8 AND 1 4 2 0
GX SHFT D B F A A ENT
D
OUT 3 1 5 0 0
DS Used
Operand Data Type DL250-1 Range DL260 Range 3
A aaa aaa
HPP N/A
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)
4
Constant R
-3.402823E + 038 to
+ 3.402823E+038
-3.402823E + 038 to
+ 3.402823E+038 5
Discrete Bit Flags
SP63
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
11
X1 4 1 7 0 0 0 0 0
LDR
R15.0
÷ 1
1 5
0
1 . 5
(decimal)
÷ 4
Acc. 3
4 1
1
F
7
2
C
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
(Accumulator)
(DIVR )
12
DIVR
R10.0
1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1
14
OUTD
A
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
V1400
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
Increment (INC)
1 The Increment instruction increments a BCD value in a
230 specified V-memory location by “1” each time the instruction INC
A aaa
240 is executed.
2 250-1
260 Decrement (DEC)
3 The Decrement instruction decrements a BCD value in a
specified V-memory location by “1” each time the instruction DEC
is executed.
4 230 A aaa
240
5 250-1
260
Operand Data Type DL250-1 Range DL260 Range
A aaa aaa
6 DS Used V-memory
Pointer
V
P
All V mem (See page 3-55)
All V mem (See page 3-55)
All V mem (See page 3-56)
All V mem (See page 3-56)
HPP Used
7 Discrete Bit Flags Description
SP63 On when the result of the instruction causes the value in the accumulator to be zero.
8 SP75 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 increment example, the value in V1400 increases by one each time that C5 is
closed (true).
11
DirectSOFT V1400
C5 8 9 3 5
INC
V1400
12
Increment the value in
V1400 by “1”. V1400
8 9 3 6
Handheld Programmer Keystrokes
13
STR CV 3 5
SHFT I N C B E A A ENT
8 TMR 2 1 4 0 0
14 In the following decrement example, the value in V1400 is decreased by one each time that C5
is closed (true).
A DirectSOFT
C5 DEC
8
V1400
9 3 5
V1400
8
V1400
9 3 4
Handheld Programmer Keystrokes
C $
STR
SHFT
SHFT
D
3
P
E
CV
4
D
C
3
2
NEXT
B
1
NEXT
E
4
NEXT
A
0
NEXT
A
0
F
5
ENT
ENT
D NOTE: Use a pulsed contact closure to INC/DEC the value in V–memory once per closure.
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 value in the 12
accumulator using the Add Binary instruction. The value in the accumulator is copied to
V1500 - V1501 using the Out Double instruction.
Use either OR Constant
13
DirectSOFT V-memory
X1 LD
V1400
LD
K2565
14 0
V1400
A 0 5
A
into the lower 16 bits of BIN The unused accumulator
the accumulator bits are set to zero
0 0 0 0 0 A 0 5 (Accumulator) A05 (Hex) = 2565 (decimal)
V1420
B
Acc. 1 C C 9 (Accumulator) 1CC9 (Hex) = 7369 (decimal)
OUTD 1 C C 9
C
V1500
V1500
Copy the value in the lower
16bits of the accumulator to
V1500 and V1501
STR
L
1
D
E NT
1 4 0 0
D
SHFT ENT
SHFT A D D B 1 4 2 0 ENT
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
10 with the binary value in V1420 and V1421 using the Add Binary Double instruction. The
value in the accumulator is copied to V1500 and V1501 using the Out Double instruction.
11 DirectSOFT
Use either
V-memory
OR Constant
V1401 V1400
12 X1 LDD
V1400
LDD
K2561
0 0 0 0 0 A 0 1
ADDBD 1 0 0 0 C A 1 1
14
Acc.
V1420
A
value in V1420 and V1421
1 0 0 0 C A 1 1
OUTD
V1500 V1501 V1500
LD SHFT D SHFT 1 4 0 0
D ADD
OUT
SHFT
SHFT
B
D
D
SHFT
SHFT
1
1
5
4
0
2
0
0
DS Used
it from the Subtract 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
3
display format 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)
7 All (See page 3-56)
All V-mem (See page 3-56)
Constant K 0-FFFF
8 0-FFFF
In the following example, when X1 is on, the value in V1400 will be loaded into the accumulator
11
the accumulator using the Subtract Binary instruction. The value in the accumulator is copied 12
using the Load instruction. The binary value in V1420 is subtracted from the binary value in
X1 LD
V1400
LD
K1024
14
A
V1400
Load the value in V1400
into the lower 16 bits of BIN 1 0 2 4
the accumulator
B
V1420 bits are set to zero
0 0 0 0 1 0 2 4 (Accumulator) 1024 (Hex) = 4132 (decimal)
The binary value in V1420 is
subtracted from the value in
the accumulator
- 0 A 0 B (V1420) A0B (Hex) = 2571 (decimal)
C
OUT
V1500
D
Handheld Programmer Keystrokes V1500
STR 1 ENT
SHFT L D 1 4 0 0 ENT
SHFT S SHFT U B B
1 4 2 0 ENT
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 V1420 and V1421
is subtracted from the binary value in the accumulator using the Subtract Binary Double
10 instruction. The value in the accumulator is copied to V1500 and V1501 using the Out
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
(Accumulator)
0 0 0 6 0 0 F F
14 SUBBD
V1420
-
Acc.
0
0
0
0
0
0
0
5
1
E 6
A 0
F
1
E
(V1421 and V1420)
OUTD
0 0 0 5 E 6 F E
V1500
STR 1 ENT
D SHFT
SHFT
L
S
D
SHFT
D
U B
1
B
4
D
0 0 ENT
1 4 2 0 ENT
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
HPP Used performed on the underlying binary values, the native display format is hexadecimal. For that
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 occupies 5
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)
7
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
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 binary value in the 11
accumulator using the Multiply Binary instruction. The value in the accumulator is copied to
V1500 - V1501 using the Out Double instruction.
Use either OR Constant
12
V-memory
13
DirectSOFT
X1 V1400
LD
LD 0 A 0 1
V1400 K2561
Load the value in V1400
into the lower 16 bits of
the accumulator BIN 14
The unused accumulator
bits are set to zero
0 0 0 0 0 A 0 1 (Accumulator) A01 (Hex) = 2561 (decimal)
MULB
V1420
Acc.
A
0 0 0 1
0
C
0
C
2
2
E
E
(V1420) 2E (Hex) = 46 (decimal)
OUTD
V1500
B
0 0 0 1 C C 2 E (V1500 - V1501 value = 117806 decimal)
STR
SHFT L D
1 ENT
1 4 0 0
D
ENT
SHFT M U L B 1 4 2 0 ENT
A X1 V1400
LD LDD F A 0 1
V1400 K64001
B
BIN bits are set to zero
the accumulator
0 0 0 0 F A 0 1 (Accumulator) FA01 (Hex) = 64001 (decimal)
_.. 0 0 5 0 (V1420) 50 (Hex) = 80 (decimal)
DIVB
0 0 0 0 0 3 2 0 (Accumulator) 320 (Hex) = 800 (decimal)
V1420
D
OUT V1501 V1500
V1500
Handheld Programmer Keystrokes
Copy the value in the lower 16
bits of the accumulator to V1500 STR 1 ENT
SHFT L D 1 4 0 0 ENT
SHFT D I V B 1 4 2 0 ENT
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
SP63
Discrete Bit Flags 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 C5 is on, the binary value in V2000 is increased by 1. 9
DirectSOFT V2000
10
Handheld Programmer Keystrokes
C5 INCB
V2000
4 A 3 C
$
STR
I
SHFT
N
C
C
2
F
B
5
ENT
C A A A
11
SHFT 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
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)
10 DirectSOFT V2000
Handheld Programmer Keystrokes
4 A ?
3 C
11
C5 DECB $ P D C F
SHFT SHFT ENT
STR CV 3 2 5
V2000
SHFT D E C B C A A A 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
SP63
Discrete Bit Flags Description 8
On when the result of the instruction causes the value in the accumulator to be zero
SP66
SP67 9
On when the 16-bit addition instruction results in a carry
On when the 32-bit addition instruction results in a carry
SP70 On anytime the value in the accumulator is negative
SP75 10
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
loaded into the accumulator using the Load Formatted instruction. The value formed by 12
In the following example, when X6 is on, the value formed by discrete locations X0–X3 is
discrete locations C0–C3 is added to the value in the accumulator using the Add Formatted
instruction. The value in the lower four bits of the accumulator is copied to Y10–Y13 using 13
the Out Formatted instruction.
DirectSOFT
X6 LDF X0
14
Load the BCD value represented
by discrete locations X0–X3
X3 X2 X1 X0
ON OFF OFF OFF
OUTF Y10
location C0–C3
K4 locations Y10–Y13
SHFT
SHFT
L
ANDST
A
0
D
D
3
3
F
D
5
3
F
5
A
0
NEXT
E
NEXT
4
D ENT
NEXT NEXT A
0
E
4
ENT
GX SHFT F B A E ENT
OUT 5 1 0 4
5 Control Relays
Stage Bits
C
S
0-3777
0-1777
-
-
Timer Bits T 0-377 -
6 Counter Bits
Special Relays
CT
SP
0-377
0-777
-
-
7 Global I/O
Constant
GX/GY
K
0-3777
-
-
1-32
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
11 NOTE: Status flags are valid only until another instruction uses the same flag.
12 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 location C0–C3 is subtracted from the value in the accumulator using the Subtract
13 Formatted instruction. The value in the lower four bits of the accumulator is copied to Y10–
Y13 using the Out Formatted instruction.
14 DirectSOFT
X6 LDF X0
Load the BCD value represented
X3 X2
ON OFF OFF ON
X1 X0
A
K4 the accumulator
The unused accumulator
bits are set to zero
B
K4 the value in the accumulator
ACC. 0 0 0 0 0 0 0 1
$ G ENT
Y13 Y12 Y11 Y10
OFF OFF OFF ON
STR 6
D SHFT
SHFT
L
ANDST
S
D
SHFT
3
F
U
5
ISG
B
1
A
F
0
5
E
NEXT
4
NEXT
ENT
NEXT NEXT A
0
E
4
ENT
RST
GX SHFT F B A E ENT
OUT 5 1 0 4
SP63
Discrete Bit Flags Description 8
On when the result of the instruction causes the value in the accumulator to be zero
SP70
SP75 9
On anytime the value in the accumulator is negative
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 example, when X6 is on, the value formed by discrete locations X0–X3 is 11
loaded into the accumulator using the Load Formatted instruction. The value formed by
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–
12
Y13 using the Out Formatted instruction.
DirectSOFT
13
14
X3 X2 X1 X0
X6 Load the value represented OFF OFF ON ON
LDF X0 by discrete locations X0-- X3
K4 into the accumulator
The unused accumulator
bits are set to zero
MULF
K4
C0
Multiply the value in the
accumulator with the value
represented by discrete
locations C0-- C3
A X
0 0 0 0 0 0 0 3
2
(Accumulator)
(C0-- C3)
C3 C2 C1
OFF OFF ON OFF
C0
Acc. 0 0 0 0 0 0 0 6
OUTF
K4
Y10
Copy the lower 4 bits of the
accumulator to discrete
locations Y10-- Y13 B
Handheld Programmer Keystrokes
$
SHFT
STR
L
G
D
6
ENT
F A E ENT
C Y13 Y12 Y11 Y10
OFF ON ON OFF
ANDST 3 5 0 4
SHFT
GX
M
ORST
SHFT
U
F
ISG
L
ANDST
F
B
5
A
NEXT NEXT
E
NEXT
ENT
DNEXT A
0
E
4
ENT
OUT 5 1 0 4
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
14
X3 X2 X1 X0
X6 Load the value represented ON OFF OFF OFF
LDF X0 by discrete locations X0-- X3
K4 into the accumulator
The unused accumulator
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
B
Copy the lower 4 bits of the First stack location contains
OUTF Y10 accumulator to discrete the remainder
K4 locations Y10-- Y13
C
Y13 Y12 Y11 Y10
SHFT L D F A E ENT
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
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 7
DS Used the accumulator using the Load Double instruction. The value in V1420 and V1421 is loaded
HPP Used into the accumulator using the Load Double instruction, pushing the value previously loaded
in the accumulator onto the accumulator stack. The value in the first level of the accumulator 8
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 Double instruction. 9
10
DirectSOFT
V1401 V1400
V1421
9 5 0 2
V1420
6 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
12
0 0 1 7 2 0 5 6 Level 5 X X X X X X X X
LDD Load the value in V1420 and
V1421 into the accumulator Level 6 X X X X X X X X
V1420
Level 7 X X X X X X X X
Acc. 0 0 1 7 2 0 5 6
Level 8 X X X X X X X X
14
accumulator stack
Accumulator stack
after 2nd LDD
A
V1500 and V1501
0 0 5 6 7 0 8 2 Level 3 X X X X X X X X
B
ENT X X X X X X X X
STR 1 Level 6
L D D B E A A Level 7 X X X X X X X X
SHFT ENT
ANDST 3 3 1 4 0 0 X X X X X X X X
Level 8
L D D B E C A
C
SHFT ENT
ANDST 3 3 1 4 2 0
SHFT A D D S ENT
0 3 3 RST
GX D B F A A
D
SHFT ENT
OUT 3 1 5 0 0
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
DS Used
the accumulator using the Load Double instruction. The value in V1420 and V1421 is loaded
8 HPP Used into the accumulator using the Load Double instruction, pushing the value previously loaded
into the accumulator onto the accumulator stack. The BCD value in the first level of the
9 accumulator stack is subtracted from the BCD value in the accumulator using the Subtract
Stack instruction. The value in the accumulator is copied to V1500 and V1501 using the Out
Double instruction.
10 DirectSOFT
V1401 V1400
11
LDD after 1st LDD
V1401 into the accumulator
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
Level 3 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 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
13 SUBS
Subtract the value in the first
level of the accumulator
stack from the value in the
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
14
accumulator
Acc. 0 0 2 2 2 9 7 0
Accumulator stack
after 2nd LDD
Copy the value in the
A
OUTD Level 1 0 0 1 7 2 0 5 6
accumulator to V1500
V1500 and V1501 Level 2 X X X X X X X X
0 0 2 2 2 9 7 0 Level 3 X X X X X X X X
V1501 V1500 Level 4 X X X X X X X X
$
STR
B
1
ENT
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
L D D B E A A
C
SHFT ENT Level 8 X X X X X X X X
ANDST 3 3 1 4 0 0
SHFT L D D B E C A ENT
ANDST 3 3 1 4 2 0
S U B S
D
SHFT SHFT ENT
RST ISG 1 RST
GX SHFT D B F A A ENT
OUT 3 1 5 0 0
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 accumulator 6
using the Load instruction. The value in V1420 is loaded into the accumulator using the Load
instruction, pushing the value previously loaded in the accumulator onto the accumulator 7
DS Used
HPP Used
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
Acc. 0 0 10
0 0 5 0 0 0
Level 2
Level 3
X
X
X
X
X
X
X X
X X
X
X
X
X
X
X
Level 4 X X X X X X X X
Acc. 0 0
12
0 0 0 2 0 0
Level 8 X X X X X X X X
Level 1 0 0 0 0 5 0 0 0
OUTD
V1500
Copy the value in the
accumulator to V1500
and V1501
0 1
14
0 0 0 0 0 0
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
V1501 V1500
A
Level 5 X X X X X X X X
Level 6 X X X X X X X X
Handheld Programmer Keystrokes
Level 7 X X X X X X X X
$ B ENT Level 8 X X X X X X X X
B
STR 1
SHFT L D B E A A ENT
ANDST 3 1 4 0 0
SHFT L D B E C A
ENT
C
ANDST 3 1 4 2 0
SHFT M U L S ENT
ORST ISG ANDST RST
GX D B F A A
D
SHFT ENT
OUT 3 1 5 0 0
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.
In the following example, when X1 is on, the Load instruction loads the value in V1400 into
7 DS Used
HPP Used
the accumulator. The value in V1420 is loaded into the accumulator using the Load Double
instruction, pushing the value previously loaded in the accumulator onto the accumulator
8 stack. The BCD value in the accumulator is divided by the BCD value in the first level of the
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 Load the value in V1400 into
10
LD The unused accumulator
the accumulator Level 1 X X X X X X X X
V1400 bits are set to zero
Level 2 X X X X X X X X
0 0 0 0 0 0 2 0
Acc. Level 3 X X X X X X X X
11
Level 4 X X X X X X X X
V1421 V1420 Level 5 X X X X X X X X
0 0 5 0 0 0 0 0 Level 6 X X X X X X X X
LDD Load the value V1420 and
V1421 into the accumulator Level 7 X X X X X X X X
V1420
Accumulator stack
X X
13
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 Level 4 X X X X X X X X
OUTD Copy the value in the
accumulator to V1500 Level 5 X X X X X X X X
V1500 0 0 0 2 5 0 0 0
and V1501 X X X X X X X X
Level 6
V1501 V1500
Level 7 X X X X X X X X
$
STR
B
1
ENT
Level 8 X X X X X X X X
B L D B E A A Level 1 0 0 0 0 0 0 0 0
SHFT ENT
ANDST 3 1 4 0 0 X X X X X X X X
Level 2
SHFT L D D B E C A Level 3 X X X X X X X X
ENT
ANDST 3 3 1 4 2 0
Level 4 X X X X X X X X
C SHFT
GX
OUT
D
SHFT
3
I
D
8
3
V
AND
S
B
RST
1
F
ENT
5
A
0
A
0
ENT
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
D
Level 8 X X X X X X X X
In the following example, when X1 is on, the value in V1400 and V1401 will be loaded into the
7
DS Used
accumulator using the Load Double instruction. The value in V1420 and V1421 is loaded into
HPP Used the accumulator using the Load Double instruction, pushing the value previously loaded in the 8
accumulator onto the accumulator stack. The binary value in the first level of the accumulator
stack is added with the binary value in the accumulator using the Add Stack instruction. The 9
value in the accumulator is copied to V1500 and V1501 using the Out Double instruction.
DirectSOFT
10 V1401 V1400
11
X1 Load the value in V1400 and 0 0 3 A 5 0 C 6 Accumulator stack
LDD after 1st LDD
V1401 into the accumulator
V1400
Level 1 X X X X X X X X
Acc. 0 0 3 A 5 0 C 6 Level 2 X X X X X X X X
13
V1420
Level 7 X X X X X X X X
Acc. 0 0 1 7 B 0 5 F
Level 8 X X X X X X X X
OUTD
V1500
Copy the value in the
accumulator to V1500
and V1501
A 0 0 5 2 0 1 2 5
Level 1
Level 2
Level 3
0
X
X
0
X
X
3
X
X
A 5
X X
X X
0
X
X
C
X
X
6
X
X
B
Level 4 X X X X X X X X
Handheld Programmer Keystrokes
Level 5 X X X X X X X X
$ B Level 6 X X X X X X X X
ENT
STR 1
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
C Level 8 X X X X X X X X
SHFT
GX
OUT
A
SHFT
0
D
D
3
3
D
3
B
B
1
1
S
F
RST
5
A
ENT
0
A
0
ENT
D
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.
7 DS Used
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 loaded
HPP Used
8 into the accumulator using the Load Double instruction, pushing the value previously 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
9 Stack instruction. The value in the accumulator is copied to V1500 and V1501 using the Out
Double instruction.
10 DirectSOFT
X1
LDD Load the value in V1400 and
0
V1401
0 1 A 2
V1400
0 5 B Accumulator stack
V1401 into the accumulator after 1st LDD
11
V1400
Level 1 X X X X X X X X
Acc. 0 0 1 A 2 0 5 B Level 2 X X X X X X X X
Level 3 X X X X X X X X
12
V1421 V1420 Level 4 X X X X X X X X
A
Copy the value in the Level 1 0 0 1 A 2 0 5 B
OUTD
accumulator to V1500 Level 2 X X X X X X X X
V1500 and V1501
0 0 2 0 3 0 6 B Level 3 X X X X X X X X
V1501 V1500 X X X X X X X X
Level 4
B
Handheld Programmer Keystrokes
Level 5 X X X X X X X X
$ B ENT Level 6 X X X X X X X X
STR 1
Level 7 X X X X X X X X
L D D B E A A
C
SHFT ENT Level 8 X X X X X X X X
ANDST 3 3 1 4 0 0
SHFT L D D B E C A ENT
ANDST 3 3 1 4 2 0
D
SHFT S U B B S ENT
SHFT
RST ISG 1 1 RST
GX SHFT D B F A A ENT
OUT 3 1 5 0 0
using the Multiply Binary Stack instruction. The Out Double instruction copies the value in 8
value in the accumulator stack’s first level is multiplied by the binary value in the accumulator
11
Acc. Level 3 X X X X X X X X
Level 4 X X X X X X X X
V1420 Level 5 X X X X X X X X
0 0 1 4
12
Level 6 X X X X X X X X
LD Load the value in V1420 into The unused accumulator
the accumulator bits are set to zero Level 7 X X X X X X X X
V1420
Level 8 X X X X X X X X
Acc. 0 0 0 0 0 0 1 4
14
of the accumulator stack after 2nd LDD
Level 1 0 0 0 0 C 3 5 0
Level 2 X X X X X X X X
OUTD Copy the value in the
Level 3 X X X X X X X X
A
accumulator to V1500
V1500 0 0 0 F 4 2 4 0
and V1501 Level 4 X X X X X X X X
V1501 V1500 Level 5 X X X X X X X X
Level 6 X X X X X X X X
B
Handheld Programmer Keystrokes
Level 7 X X X X X X X X
$ B ENT
STR 1 Level 8 X X X X X X X X
SHFT L D B E A A ENT
C
ANDST 3 1 4 0 0
SHFT L D B E C A
ENT
ANDST 3 1 4 2 0
M U L B S
D
SHFT ENT
ORST ISG ANDST 1 RST
GX SHFT D B F A A ENT
OUT 3 1 5 0 0
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 will be loaded into the accumulator
7 DS Used
HPP Used
using the Load instruction. The value in V1420 and V1421 is loaded into the accumulator
using the Load Double instruction, pushing the value previously loaded in the accumulator
8 onto the accumulator stack. The binary value in the accumulator is divided by 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 Accumulator stack
V1400
10
after 1st LDD
X1 Load the value in V1400 into 0 0 1 4
LD The unused accumulator Level 1 X X X X X X X X
the accumulator
V1400 bits are set to zero
Level 2 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
12 LDD
V1420
Load the value in V1420 and
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
13
Accumulator stack
after 2nd LDD
DIVBS Divide the binary value in
the accumulator by the Level 1 0 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
14
of the accumulator stack
Level 3 X X X X X X X X
Level 4 X X X X X X X X
Level 5 X X X X X X X X
A
Copy the value in the
OUTD Level 6 X X X X X X X X
accumulator to V1500
V1500 0 0 0 0 0 9 C 4
and V1501 Level 7 X X X X X X X X
V1501 V1500
Level 8 X X X X X X X X
B
Handheld Programmer Keystrokes
The remainder resides in the
$ B ENT first stack location
STR 1
Level 1 0 0 0 0 0 0 0 0
L D B E A A
C
SHFT ENT
ANDST 3 1 4 0 0 Level 2 X X X X X X X X
L D D B E C A Level 3 X X X X X X X X
SHFT ENT
ANDST 3 3 1 4 2 0 Level 4 X X X X X X X X
9 DS Used
The following example takes the sine of 45 degrees. Since these transcendental functions
HPP N/A
operate only on real numbers, we do a LDR (Load Real) 45. The trig functions operate only
10 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 result from the accumulator to V-memory. The result is 32-bits wide, requiring the Out
11 Double to move it.
Accumulator contents
12 DirectSOFT
X1
LDR Load the real number 45
(viewed as real number)
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.
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
7 X17 X16 X15 X14 X13 X12 X11 X10
ON ON OFF OFF ON OFF ON ON
8
X1 LDF X10
K8 The unused accumulator
bits are set to zero
Load the value represented by
discrete locations X10–X17
into the accumulator
Acc. 0 0 0 0 0 0 0 0 0
9
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
8
0
7
1 1
6 5
0
4 3
0 1
2
0
1
1 1
0
SUM
10 Acc. 0 0 0 0 0 0 0 5
V1500
Copy the value in the lower
16 bits of the accumulator
to V1500
13
Handheld Programmer Keystrokes 14
$ B ENT
A
STR 1
SHFT L D F B A I ENT
ANDST 3 5 1 0 8
S U M
B
SHFT SHFT ENT
RST ISG ORST
GX PREV PREV PREV B F A A ENT
OUT 1 5 0 0
C
D
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
X1 6
V2001
7 0 5 3
V2000
1 0 1
LDD
9 V2000
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
SHFL cc 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
K10
11
accumulator is shifted 10 bit
positions to the left Shifted out of the
accumulator
OUTD
12 V2010
V2011
13
14 Handheld Programmer Keystrokes
1 4
V2011
C 4 0 4
V2010
0 0
A STR
SHFT L
NDST
D
1
3
ENT
D
3
C
2 0 0 0
ENT
B SHFT
X
S
RST
D
SHFT H
7
F
C
5
L
NDST 1 0
ENT
Standard RLL
SHFT ENT
OUT 3 2 0 1 0
Instructions
C
D
10
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
SHFR cc 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
K10
OUTD
V2010
12
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
V2011 V2010
B
STR 1
SHFT L D D C T
DST 3 3 2 0 0 0
SHFT S SHFT H F R T
1
C
RST 7 5 OR 0
X SHFT D C T
OUT 3 2 0 1 0
7 LDD
V1400
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
10 OUTD
V1500
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
Copy the value in the
accumulator to V1500 Acc. 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 0 1
and V1501
12
13 Handheld Programmer Keystrokes
9 C 1 4
V1501
C 4 0 5
V1500
14 $
STR
L
B
D
1
D
ENT
B E A A
SHFT 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
In the following example, when X1 is on, the value in V1400 and V1401 will be loaded into the 4
accumulator using the Load Double instruction. The bit pattern in the accumulator is rotated
DS Used
2 bit positions to the right using the Rotate Right instruction. The value in the accumulator is 5
HPP Used
copied to V1500 and V1501 using the Out Double instruction.
DirectSOFT 6 V1401 V1400
X1 LDD 6 7 0 5 3 1 0 1
V1400
ROTR
K2
Acc. 0 1 1 0 0 1 1 1 0 0 0
8
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 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
11
Acc.
accumulator to V1500
and V1501
12
5 9 C 1 4 C 4 0
$ B
V1501
13 V1500
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
A
ORN INST# MLR ORN 2
GX SHFT D B F A A ENT
OUT 3 1 5 0 0
B
C
D
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
2 250-1 1 (Bit 31), the Encode instruction would place the value
260 HEX 1F (decimal 31) in the accumulator. If the value to be
3 DS Used
encoded is 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
and SP53 will be set on.
4 HPP Used
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.
DirectSOFT V2000
9 X1 LD
V2000
1 0 0 0
11 Bit postion 12 is
converted
to binary
12 ENCO
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
Encode the bit position set
14 OUT
V2010
B $
STR
L
B
D
1
ENT
C A A A
SHFT ENT
ANDST 3 2 0 0 0
C SHFT E
4
N
TMR
C
2
O
INST#
ENT
GX SHFT V C A B A ENT
D
OUT AND 2 0 1 0
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 bit DECO 1
240 position to a 1. If the accumulator contains the value F (HEX),
250-1 bit 15 will be set in the accumulator. If the value to be decoded 2
260 is greater than 31, the number is divided by 32 until the value is
DS Used
less than 32 and then the value is decoded.
In the following example, when X1 is on, the value formed by discrete locations X10–X14 is
3
HPP Used loaded into the accumulator using the Load Formatted instruction. The 5-bit binary pattern in
the accumulator is decoded by setting the corresponding bit position to a “1” using the Decode 4
instruction.
5
DirectSOFT
X14 X13 X12 X11 X10
X1 LDF
K5
X10
OFF ON OFF ON ON
6
7
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 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
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
Decode the five bit binary 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
pattern in the accumulator
and set the corresponding
bit position to a “1”
$
STR
B
1
ENT 11
L D F B A F
12
SHFT ENT
ANDST 3 5 1 0 5
SHFT D E C O ENT
3 4 2 INST#
13
14
A
B
C
D
6 DirectSOFT
0
V2001
0 0 2 8
V2000
5 2 9
X1
LDD
7 V2000
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
BCD Value
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
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
4 7 7 3 1 8 4 7 6 3 1 5 8 4 7 6 8 4
12
4 4 0 5 7 8 4 2 0 0 5 7 8 4 2
8 1 9 4 7 6 3 1 8 4 2 6
3 8 1 5 2 4 2 6
6 2 2 6 8
4 4
8
13 OUTD
14 V2010
$ B
B
ENT
STR 1
L D D C A A A
SHFT ENT
ANDST 3 3 2 0 0 0
B I N
C
SHFT ENT
1 8 TMR
GX D C A B A
SHFT ENT
OUT 3 2 0 1 0
X1 0
V2001
0 0 0 6
V2000
F 7 1
5
LDD
6
V2000 Binary Value
7
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 1 1 0 1 1 1 1 0 1 1 1 0 0 0 1
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 0 3 6 3 7 3 6 3 1 0 0 2 6 3 5 2 6 1 0 0 0 1 5 2 4 2 6
4
7
4
4
7
3
7
4
6
8
7
0
8
4
3
5
4
2
1
7
1
0
8
8
5
5
4
4
7
7
7
2
8
8
6
0
9
4
3
0
9
7
1
5
4
8
5
7
4
2
8
8
2
1
4
4
1
0
7
2
5
3
6
7
6
8
3
8
4
9
2
9
6
4
8
2
4
2 6 8
8
8 1 9 4 7 6 3 1 8 4 2 6
3
6
4
8
8
2
4
1
2
5
6
2
8
4 2 6
9
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
14
accumulator to V2010 and V2011 copied to
V2011 V2010 V2010 and V2011
$
STR
B
1
ENT A
L D D C A A A
B
SHFT ENT
ANDST 3 3 2 0 0 0
B C D
SHFT ENT
1 2 3
GX
OUT
SHFT D
3
C
2
A
0
B
1
A
0
ENT
C
D
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 INV
240 the accumulator.
2 250-1
260 In the following example, when X1 is on, the value in V2000 and V2001 will be loaded into
3 DS Used
the accumulator using the Load Double instruction. The value in the accumulator is inverted
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 LDD
0
V2001
4 0 5
V2000
00 22 55 00
V2000
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
in the accumulator
9
OUTD F B F A F D A F
10 V2010
V2011
11
Handheld Programmer Keystrokes
12 $
STR
B
1
ENT
SHFT L D D C A A A ENT
13 SHFT
ANDST
I
8
N
TMR
3
V
AND
3
ENT
2 0 0 0
GX D C A B A
14
SHFT ENT
OUT 3 2 0 1 0
A
B
C
D
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 55
the Out Double instruction.
DirectSOFT
66
V2001 V2000
X1 LDD
V2000
0 0
77
0 0 0 0 8 7
BCDCPL
99
Acc. 9 9 9 9 9 9 1 3
OUTD 9 9
11
11
9 9 9 9 1 3
12
12
V2010
V2011 V2010
Copy the value in the
accumulator to V2010 and
V2011
13
13
Handheld Programmer Keystrokes
$ B ENT
14
14
STR 1
SHFT L
ANDST
D
3
D
3
C
2
A
0
A
0
AA
A
0
ENT
SHFT
GX
B
1
C
D
2
D
3
C
C
2
P
A
CV
L
ANDST
B
ENT
A
BB
SHFT ENT
OUT 3 2 0 1 0
CC
DD
3 NOTE: This instruction only works with unsigned binary, or decimal values. It will not work with signed
decimal values.
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
X1 0
V1401
0 0 5 7
V1400
2 4 1
LDD
10
V1400
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
14
Sign Bit Exponent (8 bits) Mantissa (23 bits)
B OUTD
V1500
$ B ENT
D
STR 1
SHFT L D D B E A A ENT
ANDST 3 3 1 4 0 0
SHFT B T O R ENT
1 MLR INST# ORN
GX SHFT D B F A A ENT
OUT 3 1 5 0 0
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.
DirectSOFT
9
X1 LDD
V1400 10 4 8 A
V1401
4 8 2 0
V1400
Real umber Format
Load the value in V1400 and Si n Bit ponent 8 bit anti a 2 bit
11
V1401 into the accumulator
12
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
RTOB
8 4 2 1 8
2
4
14
2
e p 18
1 8 4 2 1 8 4 2
Binary Value
1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1
OUTD
Acc. 0 0 0 0 0 0
A0 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
V1500
0 0 0 5
V1500
andheld ro rammer
B
ey tro e
T
C
STR 1
S FT
S FT
L
A DST
R
D
T
D
O
D B
B
1
T
4
A
0
A
0
T
OR LR ST 1
X S FT D B F A A T
OUT 1 5 0 0
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
13 (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 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
V-memory V
aaa
All (See page 3-55)
aaa
All (See page 3-56)
9
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
31
0
1
38
39
8
9
14
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
DirectSOFT Hexadecimal
1 X1 LD
K4
Load the constant value
into the lower 16 bits of the
accumulator. This value
ASCII TABLE Equivalents
2 LDA
memory locations in the
ASCII table
3
O 1400 the accumulator
V1401 31 32
ATH V1600 is the starting
4 V1600
location for the HEX table
5 $
STR
B
1
ENT V1402 37 38
SHFT L D PREV E ENT 5678 V1601
6 SHFT
ANDST
L
ANDST
D
3
3
A
0
B
4
1
E
4
A
0
A
0
ENT
V1403 35 36
A T H B G A A
7
SHFT ENT
0 MLR 7 1 6 0 0
C
D
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
Hexadecimal
2
X1 Equivalents ASCII TABLE
LD
K2
D
1
ENT
C
10
SHFT PREV 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
12
7 MLR 0 1 4 0 0
The table below lists valid ASCII values for HTA conversion. 13
Hex Value
ASCII Values Valid for HTA Conversion
ASCII Value Hex Value ASCII Value
14
0
1
30
31
8
9
38
39 A
2 32 A 41
3
4
33
34
B
C
42
43
B
5
6
35
36
D
E
44
45 C
7 37 F 46
D
Segment (SEG)
1 230 The BCD / Segment instruction converts a 4digit HEX value
in the accumulator to a 7-segment display format. The result
SEG
240 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 DS Used
of the accumulator using the Load instruction. The binary (HEX) value in the accumulator
is converted to 7-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
X1 LD
6
V1400
F 7 1
6
V1400
7
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 1 1 0 1 1 1 1 0 1 1 1 0 0 0 1
SEG
9
format
OUTF Y20
10 K32
11 a
- 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
OFF ON ON ON ON
Y24 Y23 Y22 Y21 Y20
OFF OFF ON ON OFF
13 e
d
c
A L
$
STR
D
B
1
ENT
B E A A ENT
ANDST 3 1 4 0 0
B SHFT
GX
S
RST
SHFT
F
E
4
G
C
6
ENT
A D C
SHFT ENT
OUT 5 2 0 3 2
C
D
DS Used
will directly convert a gray code number to a BCD number
for devices having a resolution of 512 or 1024 counts per
3
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
9
LDF K16
X10
GRAY
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
Convert the 16 bit grey code
value in the accumulator to a
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
BCD value
12
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
OUT
V2010
13
Copy the value in the lower
16 bits of the accumulator to Gray Code BCD
V2010
0000000000 0000 0 0 0 6
$
STR
B
1
ENT
0000000011
0000000010
0002
0003
14
L D F B A B G 0000000110 0004
A
SHFT ENT
ANDST 3 5 1 0 1 6
0000000111 0005
SHFT G R A Y ENT
6 ORN 0 MLS 0000000101 0006
0000000100 0007
B
GX SHFT V C A B A ENT
OUT AND 2 0 1 0 • •
• •
C
• •
1000000001 1022
1000000000 1023
4 DS Used
HPP Used
Step 2: Load the order that the digits will be shuffled to into the accumulator.
Step 3: Insert the SFLDGT instruction.
5 NOTE: If the number used to specify the order contains a 0 or 9–F, the corresponding position will be set
to 0.
6 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.
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
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 the
1
order the digits are to be shuffled. Also, there are no duplicate numbers in the specified order.
Example B shows how the shuffle digits works when a 0 or 9–F is used when specifying the 2
order the digits are to be shuffled. Notice when the Shuffle Digits instruction is executed, the
bit positions in the first stack location that had a corresponding 0 or 9–F in the accumulator
(order specified) are set to “0”.
3
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
4
most significant duplicate number in the order specified is used in the result.
5
6
Direct SOFT
A B C
X1 LDD V2001 V2000 V2001 V2000 V2001 V2000
V2000 9 A B C D E F 0 0 F E D C B A 9 9 A B C D E F 0
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.
7
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
8
9
Load the value in V2006 and
V2007 into the accumulator Specified 8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1
order
1 2 8 7 3 6 5 4 Acc. 0 0 4 3 0 0 2 1 Acc. 4 3 2 1 4 3 2 1 Acc.
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.
10
Shuffle the digits in the first
level of the accumulator
stack based on the pattern
in the accumulator. The
result is in the accumulator.
11
12
OUTD
B C E F 0 D A 9 0 0 0 0 E D A 9 0 0 0 0 9 A B C
V2010
V2011 V2010 V2011 V2010 V2011 V2010
Copy the value in the
accumulator to V2010 and
13
V2011
SHFT
STR
L
B
D
1
ENT
D C A A A ENT
14
ANDST 3 3 2 0 0 0
SHFT
SHFT
L
ANDST
S
RST
D
SHFT
3
D
F
3
5
L
ANDST
C
D
2
3
A
G
0
6
A
T
MLR
0
G
6
ENT
ENT
A
GX
OUT
SHFT D
3
C
2
A
0
B
1
A
0
ENT
B
C
D
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
240 function parameters are loaded into the first level of the V aaa
3 250-1 accumulator stack and the accumulator by two additional
instructions. Listed below are the steps necessary to program
260
4 the Move function.
Step 1: L
oad 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: L
oad the starting V-memory location for the locations to be moved into the accumulator.
This parameter must be a HEX value.
6 Step 3: I nsert 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 Pointer P All (See page 3-53) All (See page 3-54) All (See page 3-55) All (See page 3-56)
11 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 address 2000 (V2000),
12 the starting location for the source table is loaded into the accumulator. The destination table
location (V2030) is specified in the Move instruction.
13 X1 LD Load the constant value 6
14 LDA
K6 (HEX) into the lower 16 bits
of the accumulator
A
O 2000
the accumulator 0 5 0 0 V2001 0 5 0 0 V2031
9 9 9 9 V2002 9 9 9 9 V2032
Copy the specified table
MOV 3 0 7 4 V2003 3 0 7 4 V2033
locations to a table
V2030 beginning at location V2030
B
8 9 8 9 V2004 8 9 8 9 V2034
1 0 1 0 V2005 1 0 1 0 V2035
Handheld Programmer Keystrokes
X X X X V2006 X X X X V2036
E
C
SR 1 X X X X V2007 X X X X V2037
SH L D SH K E
A DS 3 MP 6
SH L D A C A A A E
D
A DS 3 0 2 0 0 0
SH M O V C A D A E
ORS IS AD 2 0 3 0
5
DirectSOFT Data Label Area
Programmed
X1 LD After the END
Instruction X X X X V1777
K4
7 LD
K0
N
K
C O N
4 5 3 2
4 5 3 2 V2001
N C O N 6 1 5 1 V2002
N
6 1
C O N
5 1
8 8 4 5 V2003
9
K 8 8 4 5
LDLBL
K1 X X X X V2004
11 MOVMC
V2000
12
V2000 is the destination
starting address for the data
to be copied.
$
STR
B
1
ENT
14 SHFT L
ANDST
L
D
D
3
SHFT K
K
JMP
E
A
4
ENT
A SHFT L
ANDST
D
3
L
ANDST
B
1
L
ANDST
B
1
ENT
SHFT M O V M C C A A A ENT
C 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
D is outside of the source information boundaries, then unknown data values will be transferred into the
destination table.
X1 LD
K4
5
Data Label Area
Programmed
After the END
Instruction
Load the value 4 into the
accumulator specifying the
number of locations to be
DLBL K1
X X X X V1777 6
copied.
LD
K2 Offset
1 2 3 4 V2000 N
K
7 C O N
7 0 4 1
Offset
4 5 3 2 V2001 N C O N
8
Load the value 2 into the
accumulator specifying the K 4 6 4 8
offset for source and
destination locations. 6 1 5 1 V2002 N C O N
9
K 6 1 5 1
LDA
O 2000 8 8 4 5 V2003 N C O N
K 8 8 4 5
Convert octal 2000 to HEX
400 and load the value into
the accumulator. This
specifies the source location
where the data will be
2 5 0 0 V2004 N
K10 C O N
2 5 0 0
6 8 3 5 V2005 N C O N
copied from
MOVMC X X X X V2006
K
11 6 8 3 5
K1
SHFT L
ANDST
D
1
3
SHFT K
JMP
E
4
ENT
14
SHFT
SHFT
L
ANDST
L
D
D
3
A
SHFT K
C
JMP
C
A
2
A
ENT
A ENT
A
ANDST 3 0 2 0 0 0
SHFT M
ORST
O
INST#
V
AND
M
ORST
C
2
SHFT K
JMP
B
1
ENT B
WARNING: The offset for this usage of the instruction starts at 0. If the offset (or the specified data table C
range) is large enough to cause data to be copied from V-memory to beyond the end of the DLBL area,
then anything after the specified DLBL area will be replaced with invalid instructions.
D
C
D
the table length (two words) into the accumulator stack. Next, we load the starting address 4
In this ladder example, we will use input X0 to trigger the Set Bit operation. First, we will load
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.
6
DirectSOFT
X0
LD
K2
Load the constant value 2
(Hex.) into the lower 16 bits
of the accumulator.
7
LDA
Convert octal 3000 to HEX
8
and load the value into the
9
O 3000 accumulator. This is the
table beginning.
O 34
to a ”1”.
10
Handheld Programmer Keystrokes
$ A
11
ENT
12
STR 0
L D C ENT
SHFT PREV
ANDST 3 2
SHFT L
ANDST
D
B
3
A
0
D
3
A
0
A
0
A
0
ENT
13
X SHFT I T NEXT D E ENT
14
SET 1 8 MLR 3 4
A
B
C
D
Fill (FILL)
1
The Fill instruction fills a table of up to 255 V-memory locations
with a value (Aaaa), which is either a V-memory location or a
FILL
230
4-digit constant. The function parameters are loaded into the
A aaa
2 240
250-1
first level of the accumulator stack and the accumulator by two
additional instructions. Listed below are the steps necessary to
3 260 program the Fill function.
Step 1: L
oad 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: L
oad 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, the
6 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
11 In the following example, when X1 is on, the constant value (K4) is loaded into the accumulator
using the Load instruction. This value specifies the length of the table and is placed on the
12 first level of the accumulator stack when the Load Address instruction is 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
13 Fill instruction.
DirectSOFT
14 X1 LD
K4
Load the constant value 4
(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 V1400
2
2
5
5
0
0
V1577
0 V1600
0 V1601
2 5 0 0
B FILL
V1400
Fill the table with the value
in V1400
2
2
5
5
0
0
0 V1602
0 V1603
V1604
C
V1605
$ B ENT
STR 1
D SHFT L
ANDST
L
D
D
3
A
PREV E
B
4
G
ENT
A A
SHFT 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
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.
Step 1: L oad the length of the table (number of V-memory locations) into the second level of the
3
DS Used
HPP Used
accumulator stack. This parameter must be a HEX value, 0 to FFFF.
Step 2: L oad 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: L oad the offset from the starting location to begin the search. This parameter must be a HEX 5
value.
Step 4: I nsert 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
outside the table is specified in the offset or the value is not found. If the value is not found, 7
search value is returned to the accumulator as a HEX value. SP53 will be set on if an address
executed. The octal address 1400 (V1400) is the starting location for the table and is loaded B
placed in the second stack location when the following Load Address and Load instruction is
into the accumulator. This value is placed in the first level of the accumulator stack when the
following Load instruction is executed. The offset (K2) is loaded into the lower 16 bits of the C
accumulator using the Load instruction. The value to be found in the table is specified in the
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
DirectSOFT
1 X1
LD
K6
0 1 2 3 V1400 0
Table length
Offset
0 5 0 0
2
V1401 1
Load the constant value 6 Begin here
(HEX) into the lower 16 bits
9 9 9 9 V1402 2
of the accumulator 3 0 7 4 V1403 3
Accumulator
0 0 0 0 0 0 0 4
3 LDA
O 1400
8
1
9
0
8
1
9
0
V1404
V1405
4
5
V1404 contains the location
where the match was found.
X X X X V1406 The value 8989 was the 4th
5 LD
K2
Handheld Programmer Keystrokes
6
Load the constant value 2
into the lower 16 bits of $ B ENT
the accumulator STR 1
7 K8989 SHFT L
ANDST
D
3
A
0
B
1
E
4
A
0
A
0
ENT
SHFT F I N D NEXT I J I J
ENT
5 8 TMR 3 8 9 8 9
NOTE: Status flags are only valid until another instruction that uses the same flags is executed. The 4
pointer for this instruction starts at 0 and resides in the accumulator.
In the following example, when X1 is on, the constant value (K6) is loaded into the accumulator
5
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 address 1400 (V1400) 6
is the starting location for the table and is loaded into the accumulator. The greater than search
value is specified in the Find Greater Than instruction. If a value is found greater than the 7
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 greater than the search value,
a zero is stored in the accumulator and SP53 will come ON. 8
DirectSOFT
X1
LD
9
Begin here 0 1 2 3 Table length
V1400 0
K6
Load the constant value 6
0
9
5
9
0
9
10
0
9
V1401
V1402
1
2 0 0
Accumulator
0 0 0 0 0 2
(HEX) into the lower 16 bits
11
of the accumulator 3 0 7 4 V1403 3 V1402 contains the location
8 9 8 9 where the first value greater
V1404 4
LDA than the search value was
1 0 1 0 V1405 5 found. 9999 was the 2nd
O1400
the accumulator
FDGT 13
K8989
B
STR 1
L D A B E A A
C
SHFT ENT
ANDST 3 0 1 4 0 0
SHFT F D G T NEXT I J I J
ENT
5 3 6 MLR 8 9 8 9
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 V-memory V
aaa
All (See page 3 - 56)
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.
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 address 1400 1
(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 table data
source. The destination location (V1500) is specified in the Table to Destination instruction.
2
The table pointer (V1400 in this case) will be increased by “1” after each execution of the TTD
instruction. 3
DirectSOFT
X1 LD
K6
Load the constant value 6
(HEX) into the lower 16 bits
4
of the accumulator
LDA
Convert octal 1400 to HEX
300 and load the value into
5
0 1400
6
the accumulator. This is the
table pointer location
9
ENT
STR 1
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
11
MLR MLR 3 1 5 0 0
C1
fast, and the pointer increments automatically, the table LD
K6
would cycle through the locations very quickly. If this is a Load the constant value 6
C
(HEX) into the lower 16 bits
of the accumulator
problem, you have an option of using SP56 in conjunction C0 C1
with a one-shot (PD) and a latch (C1 for example) to SET
allow the table to cycle through all locations one time and
D
SP56 C1
RST
then stop. The logic shown here is not required, it’s just Since Special Relays are
reset at the end of the scan,
an optional method. this latch must follow the TTD
instruction in the program.
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
4
V1401 0 5 0 0 0 6 V1401 0 5 0 0 0 6
V1402 9 9 9 9 1 V1402 9 9 9 9 1
Destination Destination
V1403 3 0 7 4 2 V1403 3 0 7 4 2
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
V1407
1
2
X
0
0
X X
1
4
0
6
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 = OFF
6 .
.
.
.
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
Destination Destination
V1403 3 0 7 4 2 V1403 3 0 7 4 2
0 5 0 0 V1500 9 9 9 9 V1500
V1404 8 9 8 9 3 V1404 8 9 8 9 3
V1405 1 0 1 0 4 V1405 1 0 1 0 4
9
V1406 2 0 4 6 5 SP56 V1406 2 0 4 6 5 SP56
SP56 = OFF SP56 = OFF
V1407 X X X X V1407 X X X X
. .
. .
10 .
.
.
12 V1402
V1403
9
3
9
0
9
7
9
4
1
2
Destination
1 0 1 0 V1500
V1402
V1403
9
3
9
0
9
7
9
4
1
2
Destination
2 0 4 6 V1500
V1404 8 9 8 9 3 V1404 8 9 8 9 3
13 V1405
V1406
V1407
1
2
X
0
0
X X
1
4
0
6
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
14
. . or next instruction
. . that uses SP56
A V1401
V1402
0
9
Table
5
9
0
9
0
9
0 6
1
Table Pointer
0 0 0 6 V1400 V1401
V1402
0
9
Table
5
9
0
9
0
9
0 6
1
Table Pointer (Resets to 1, not 0)
0 0 0 1 V1400
Destination Destination
B V1403 3 0 7 4 2 V1403 3 0 7 4 2
2 0 4 6 V1500 0 5 0 0 V1500
V1404 8 9 8 9 3 V1404 8 9 8 9 3
V1405 1 0 1 0 4 V1405 1 0 1 0 4
2 0 4 6 5 SP56 2 0 4 6 5 SP56
C
V1406 V1406
V1407 SP56 = OFF SP56 = OFF
X X X X V1407 X X X X
. .
. .
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
decrements a table pointer by 1. The first V-memory location Vaaa
240
250-1 in the table contains the table pointer which indicates the next
location in the table to be moved. The instruction will be executed
2
260 once per scan provided the input remains on. The instruction
will stop operation when the pointer equals 0. The function 3
DS Used parameters are loaded into the first level of the accumulator stack
HPP Used and the accumulator by 2 additional instructions. Listed below 4
are the steps necessary to program the Remove From Bottom
function.
Step 1: L oad the length of the table (number of V-memory locations) into the first level of the
5
Step 2: L
accumulator stack. This parameter must be a HEX value, 0 to FF.
oad 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: I nsert the RFB instructions which specifies destination V-memory location (Vaaa).
Helpful hint: For parameters that require HEX values when referencing memory locations, the 8
LDA instruction can be used to convert an octal address to the HEX equivalent and load the
value into the accumulator.
Helpful hint: The instruction will be executed every scan if the input logic is on. If you do not
9
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 set in 11
one scan and will not affect the instruction operation.
Operand Data Type DL260 Range
12
aaa
V-memory V 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:
A
— another instruction that uses the same flag is executed, or
— 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
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
1 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 accumulator. Remember,
2 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. The table pointer
3 (V1400 in this case) will be decremented by “1” after each execution of the RFB instruction.
DirectSOFT
4 X1 LD
K6
5
Load the constant value 6
(HEX) into the lower 16 bits
of the accumulator
LDA
6 0 1400
7
the accumulator. This is the
table pointer location
RFB
8
V1500
Copy the specified value from
the table to the specified
destination (V1500)
$ B ENT
STR 1
10 SHFT L
ANDST
D
3
PREV G
6
ENT
SHFT L D A B E A A ENT
11
ANDST 3 0 1 4 0 0
SHFT R F B B F A A ENT
ORN 5 1 1 5 0 0
12 It is important to understand how the table locations are Table Table Pointer
numbered. If you examine the example table, you’ll notice
13 V1401 0 5 0 0 1 0 0 0 0 V1400
that the first data location, V1401, will be used when the V1402 9
3
9
0
9
7
9
4
2
3
Des tination
V1403
pointer is equal to one. The second data location, V1402, V1404 8 9 8 9 4
X X X X V1500
C0 LD
C0
PD
a one-shot (PD) to remove one value each time the input Load the constant value 6
(HEX) into the lower 16 bits
of the accumulator
contact transitions from low to high.
D
LDA
O 1400
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
V1402
V1403
9
3
9
0
9
7
9
4
2
3
Destination
X X X X V1500
V1402
V1403
9
3
9
0
9
7
9
4
2
3
Destination
2 0 4 6 V1500
4
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
7
Before RFB Execution After RFB Execution
8
V1402 9 9 9 9 2 V1402 9 9 9 9 2
Destination Destination
V1403 3 0 7 4 3 V1403 3 0 7 4 3
2 0 4 6 V1500 1 0 1 0 V1500
V1404 8 9 8 9 4 V1404 8 9 8 9 4
9
V1405 1 0 1 0 5 V1405 1 0 1 0 5
2 0 4 6 6 SP56 2 0 4 6 6 SP56
V1406 V1406
SP56 = OFF SP56 = OFF
V1407 X X X X V1407 X X X X
. .
.
.
.
10
.
11
.
12
Table Table Pointer Table Table Pointer (Automatically Decremented)
V1401 0 5 0 0 1 0 0 0 2 V1400 V1401 0 5 0 0 1 0 0 0 1 V1400
V1402 9 9 9 9 2 V1402 9 9 9 9 2
Destination Destination
13
V1403 3 0 7 4 3 V1403 3 0 7 4 3
3 0 7 4 V1500 9 9 9 9 V1500
V1404 8 9 8 9 4 V1404 8 9 8 9 4
V1405 1 0 1 0 5 V1405 1 0 1 0 5
14
V1406 2 0 4 6 6 SP56 V1406 2 0 4 6 6 SP56
SP56 = OFF SP56 = OFF
V1407 X X X X V1407 X X X X
. .
. .
Destination
1 V1400 V1401
V1402
0
9
3
5
9
0
0
9
7
0
9
4
1
2
3
0 0 0
Destination
0 V1400
B
V1403 V1403
C
9 9 9 9 V1500 0 5 0 0 V1500
V1404 8 9 8 9 4 V1404 8 9 8 9 4
V1405 1 0 1 0 5 V1405 1 0 1 0 5
D
SP56 = OFF SP56 = ON
V1407 X X X X V1407 X X X X
until end of scan
. . or next instruction
. . that uses SP56
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. Also, a
13 one shot (PD) should be used so the value will only be set in one scan and will not affect the
instruction operation.
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 address 1400 (V1400), 1
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 Source to Table instruction.
The table pointer will be increased by “1” after each time the instruction is executed.
2
DirectSOFT
X1 LD
3
4
K6
LDA
0 1400
STT
6
V1500
$
STR
L
B
D
1
ENT
G
8
SHFT PREV ENT
ANDST 3 6
SHFT L
ANDST
S
D
3
A
T
0
T
B
1
E
B
4
A
F
0
A
A
0
ENT
A
9
SHFT SHFT ENT
RST MLR MLR 1 5 0 0
13
V1406
14
S
then resets to 1.
DirectSOFT (optional one-shot method)
B
LD
CPU scan is extremely fast, and the pointer
K6
increments automatically, the source data
Load the constant value 6
would be moved into all the table locations
C
(HEX) into the lower 16 bits
very quickly. If this is a problem for your of the accumulator
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 in
2 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 After STT Execution
5
V1402 V1402
Source Source
V1403 X X X X 2 V1403 X X X X 2
0 5 0 0 V1500 0 5 0 0 V1500
V1404 X X X X 3 V1404 X X X X 3
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
. .
8
Table Table Pointer (Automatically Incremented)
V1401 0 5 0 0 0 6 0 0 0 1 V1400 V1401 0 5 0 0 0 6 0 0 0 2 V1400
V1402 X X X X 1 V1402 9 9 9 9 1
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
SP56
9 9 V1500
V1404
V1405
X
X
X
X
X
X
X
X
3
4
9 9
SP56
9 9 V1500
V1406 X X X X 5 V1406 X X X X 5
SP56 = OFF SP56 = OFF
10 V1407 X X
.
.
X X V1407 X X
.
.
X X
11
.
.
.
Scan N+5
12 Before STT Execution
V1401 0
Table
5 0 0 0 6
Table Pointer
0 0 0 5 V1400 V1401
After STT Execution
0
Table
5 0 0 0 6
Table Pointer (Automatically Incremented)
0 0 0 6 V1400
13
V1402 9 9 9 9 1 V1402 9 9 9 9 1
Source Source
V1403 3 0 7 4 2 V1403 3 0 7 4 2
2 0 4 6 V1500 2 0 4 6 V1500
V1404 8 9 8 9 3 V1404 8 9 8 9 3
V1405 1 0 1 0 4 V1405 1 0 1 0 4
14 V1406
V1407
X
X
X X
X X
X
X
5 SP56
SP56 = OFF
V1406
V1407
2
X
0
X
4
X
6
X
5 SP56
SP56 = ON
until end of scan
. . or next instruction
A
. . that uses SP56
B
Table Table Pointer Table Table Pointer (Resets to 1, not 0)
V1402 9 9 9 9 1 V1402 9 9 9 9 1
Source Source
V1403 3 0 7 4 2 V1403 3 0 7 4 2
C V1404
V1405
8
1
9
0
8
1
9
0
3
4
1 2 3 4 V1500
V1404
V1405
8
1
9
0
8
1
9
0
3
4
1 2 3 4 V1500
D V1407 X X X
.
.
X SP56 = OFF V1407 X X
.
.
X X
SP56 = OFF
DS Used
instruction is executed. If the length counter is 0 or greater than the maximum table length
(specified in the first level of the accumulator stack), the instruction will not execute and SP56
3
will be on.
HPP Used
The instruction will be executed once per scan provided the input remains on. The function 4
parameters are loaded into the first level of the accumulator stack and the accumulator by 2
additional instructions. Listed below are the steps necessary to program the Remove From 5
Table function.
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.
6
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 7
HEX value.
Step 3: Insert the RFT instructions which specifies destination V-memory location (Vaaa). This is 8
where the value will be moved to.
Helpful hint: For parameters that require HEX values when referencing memory locations, the 9
LDA instruction can be used to convert an octal address to the HEX equivalent and load the
value into the accumulator.
Helpful hint: The instruction will be executed every scan if the input logic is on. If you do not
10
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 table counter
should be between 1 and 6. If the value is outside of this range or 0, the data will not be moved 13
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.
Operand Data Type DL260 Range
14
V-memory V
aaa
All (See page 3-56)
A
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.
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
1 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 accumulator. The destination
2 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
LD
Load the constant value 6
(Hex.) into the lower 16 bits
4 K6 of the accumulator
5 LDA
O 1400
300 and load the value into
the accumulator
6 RFT
V1500
Copy the specified value
from the table to the
specified location (V1500)
7
8 Handheld Programmer Keystrokes
$
STR
B
1
ENT
9 SHFT L
ANDST
D
3
PREV G
6
ENT
SHFT L D A B E A A ENT
10
ANDST 3 0 1 4 0 0
SHFT R F T B F A A ENT
ORN 5 MLR 1 5 0 0
11 Since the table counter specifies the range of data Table Table C ounter
X1
(optional one-shot method)
C0
PD
If this is a problem for your application, you have the Load the constant value 6
LDA
D high. O 1400
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 2 table
positions, 5 and 6, are not moved up through the table. Also, notice how SP56, which comes
on when the table counter is 0, is only on until the end of the scan.
2
3
Scan N
Before RFT Execution
Table
Table Counter
(Automatically d ecremented)
4
5
Table Counter V1401 0 5 0 0 1 0 0 0 4 V1400 V1401 9 9 9 9 1 0 0 0 0 3 V1400
indicates that 5
V1402 9 9 9 9 2 V1402 4 0 7 9 2 0
these 4 Destination 0
Destination
positions will V1403 3 0 7 4 3 V1403 8 9 8 9 3
be X X X X V1500 0 5 0 0 V1500
V1404 8 9 8 9 4 Start here V1404 8 9 8 9 4
6
used
V1405 1 0 1 0 5 V1405 1 0 1 0 5
SP56 SP56
V1406 2 0 4 6 6 V1406 2 0 4 6 6
SP56 = OFF SP56 = OFF
V1407 X X X X V1407 X X X X
7
Scan N+1
8
Before RFT Execution After RFT Execution
Table Counter
Table Table Counter Table (Automatically decremented)
V1401 9 9 9 9 1 0 0 0 3 V1400 V1401 4 0 7 9 1 9 0 0 0 2 V1400
9
V1402 4 0 7 9 2 V1402 8 9 8 9 2 9
9
Destination 9 Destination
V1403 8 9 8 9 3 Start here V1403 8 9 8 9 3
0 5 0 0 V1500 9 9 9 9 V1500
V1404 8 9 8 9 4 V1404 8 9 8 9 4
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
12
Table Counter (Automatically decremented)
Table Table
V1401 4 0 7 9 1 0 0 0 2 V1400 V1401 8 9 8 9 1 4 0 0 0 1 V1400
0
V1402 8 9 8 9 2 Start here V1402 8 9 8 9 2 7
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
14
SP56 = OFF SP56 = OFF
V1407 X X X X V1407 X X X X
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
B
9
V1402 8 9 8 9 2 V1402 8 9 8 9 2 8
Destinatio 9
V1403 8 9 8 9 3 V1403 8 9 8 9 3 Destination
4 0 7 9 V1500 8 9 8 9 V1500
V1404 8 9 8 9 4 V1404 8 9 8 9 4
V1405
V1406
V1407
1
2
X
0
0
X
1
4
X
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 = ON
C
until end of scan
D
or next instruction
that uses SP56
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 the
value into the accumulator.
8 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
9 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 V-memory V
aaa
All (See page 3-56)
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.
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 address 1400 (V1400), 1
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 to Top instruction. The
table counter will be increased by “1” after the instruction is executed.
2
DirectSOFT
X1 LD
3
4
K6
LDA
O 1400
5
Convert octal 1400 to HEX
300 and load the value into
the accumulator 6
ATT
V1500
9
ENT
STR 1
SHFT L
ANDST
A
D
T
3
A
T
0
B
B
1
E
F
4
A
A
0
A
A
0
ENT
10
SHFT ENT
0 MLR MLR 1 5 0 0
11
For the ATT instruction, the table counter determines Table Table Counter
the number of additions that can be made before the V1401
instruction will stop executing. So, it is helpful to V1402
0
9
5
9
0
9
0
9
1
2
0 0 0 2 V1400
12
understand how the system uses this counter to control V1403 Data Source
13
3 0 7 4 3
X X X X V1500
the execution. V1404 8 9 8 9 4
V1405 1 0 1 0 5
For example, if the table counter was set to 2, and the V1406
table length was 6 words, then there could only be 4 V1407
additions of data before the execution was stopped. This
2
X
0
X X
4 6
X
6
14
can be calculated easily by:
Table length – table counter = number of executions
( e .g .: 6 - 2 = 4 )
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 6
1 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 assuming that
2 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
(Automatically Incremented)
0 0 0 3 V1400
V1401 0 5 0 0 1 V1401 1 2 3 4 1 1
2
5 V1402
V1403
V1404
9
3
8
9
0
9
9
7
8
9
4
9
2
3
4
Data Source
1 2 3 4 V1500
V1402
V1403
V1404
0
9
3
5
9
0
0
9
7
0
9
4
2
3
4
3
4
1
Data Source
2 3 4 V1500
6 V1405
V1406
V1407
1
2
X
0
0
X X
1
4
0
6
X
5
6
SP56
SP56 = OFF
V1405
V1406
V1407
8
1
X
9
0
X
8
1
X
9
0
X
5
6
SP56
SP56 = OFF
7 2046
Discard Bucket
8 V1401 1
Table
2 3 4 1
Table counter
0 0 0 3 V1400 V1401 5
Table
6 7 8 1 5
6
Table counter
(Automatically Incremented)
0 0 0 4 V1400
V1402 0 5 0 0 2 V1402 1 2 3 4 2 7
9 V1403
V1404
9
3
9
0
9
7
9
4
3
4
Data Source
5 6 7 8 V1500
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
12 V1401
V1402
5
1
Table
6 7
2 3
8
4
1
2
Table counter
0 0 0 4 V1400 V1401
V1402
Table
4 3 4
5 6 7
3
8
1
2
4
3
4
(Automatically Incremented)
0 0 0 5 V1400
3 Data Source
13
Data Source
V1403 0 5 0 0 3 V1403 1 2 3 4 3
4 3 3 4 V1500 4 3 4 3 V1500
V1404 9 9 9 9 4 V1404 0 5 0 0 4
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
Discard Bucket
SP56
SP56 = OFF
8989
A Scan N+3 Before ATT Execution After ATT Execution Table counter
B
Table Table counter Table (Automatically Incremented)
C V1404
V1405
0
9
5
9
0
9
0
9
4
5
7 7 7 7 V1500
V1404
V1405
1
0
2
5
3
0
4
0
4
5
7 7 7 7 V1500
D V1407 X X X X
SP56 = OFF
V1407 X X X X
3074
Discard Bucket
SP56 = ON
until end of scan
or next instruction
that uses SP56
V - xxxx + 1
9
V - xxxx + 2
5 6 7 8
6 7 8 1
1 2 2 5
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 accumulator. This is the
13 table beginning.
14 O 14
bits, which is 14 octal.
$ 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
DirectSOFT
Handheld Programmer Keystrokes X0
1
LD
$ A ENT
STR 0 K2
2 SHFT L
ANDST
D
3
A
0
D
3
A
0
A
0
A
0
ENT
bits of the accumulator.
LDA
SHFT L D PREV G G G G ENT
3 ANDST 3 6 6 6 6 0 3000
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 already exists. First we load the table length (two
ANDMOV
0 3100
Then we load the data into the accumulator to be ORed V 3000 V 3100
8 with the table. In the ORMOV command, we specify 1 1 1 1 OR MOV
K 8888
9 9 9 9
the table destination, V3100.
9 1 1 1 1
DirectSOFT 32
9 9 9 9
10 $
STR
L D
A
0
ENT
C
X0 LD
K2
SHFT PREV ENT
ANDST 3 2
11
Load the constant value 2
(Hex) into the lower 16 bits
SHFT L D A D A A A ENT
ANDST 3 0 3 0 0 0 of the accumulator.
L D I I I I LDA
12
SHFT PREV ENT
ANDST 3 8 8 8 8
0 3000
Q SHFT M O V D B A A ENT
OR ORST INST# AND 3 1 0 0 Convert octal 3000 to HEX
and load the value into the
14
K8888
V3000 and logical XORs it with K3333. The copy of the
table at V3100 shows the result of the XOR operation for Load the constant value
8888 (Hex.) into the lower
each word. 16 bits of the accumulator.
multiple tables that are adjacent in V-memory. This parameter must be a decimal value from 9
Step 2: Load the length of a table (number of words) to be searched. The Find Block will search
1 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.
V2000 X1
Sample Program of FINDB 13
Table 1 16 words LD
V2017
V2020
V2037
Table 2 16 words Start Addr.
LD
K32
14
V2040 V3000 K16
A
Table 3 16 words
V2057 Block 32 bytes
V3017 LDA
O2777
V2760
Table 32 16 words
LDA
O2000 B
V2777
C
FINDB
V3000
End Addr.
END
Swap (SWAP)
1 230 The Swap instruction exchanges the data in two tables of equal
length.
SWAP
V aaa
240
2 250-1
The following steps apply to both the Set Bit and Reset Bit table
260
instructions.
3 DS Used
Step 1: L
oad the length of the tables (number of V-memory locations) into the first level of the
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: L
oad 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: I nsert 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
aaa
8 V-memory V All (See page 3-56)
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
address of the first table (V3000) into the accumulator using the LDA instruction, converting
12 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
X0
LD
Load the constant value 2
(Hex.) into the lower 16 bits
14
K2 of the accumulator.
B V 3100
C
$ P D A ENT
SHFT
STR CV 3 0
D SHFT
SHFT
L
ANDST
S
D
3
A
W
0
A
D
P
3
A
0
A
D
0
A
B
0
ENT
A A
SHFT ENT
RST ANDN 0 CV 3 1 0 0
Clock/Calendar Instructions
Date (DATE)
1
230
The Date instruction can be used to set the date in the CPU.
The instruction requires two consecutive V-memory locations
DATE
V aaa
2
240 (Vaaa) to set the date. If the values in the specified locations
250-1 are not valid, the date will not be set. The current date can be 3
read from 4 consecutive V-memory locations (V7771–V7774).
260
Date Range V-memory Location (BCD) 4
DS Used (READ Only)
HPP Used Year
Month
5
0-99
1-12
V7774
V7773
Day 1-31 V7772
Day of Week 6
0-06 V7771
The values entered for the day of week are:
7
0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday.
In the following example, when C0 is on, the constant value (K94010301) is loaded into
9
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 11
Constant (K)
9 4 0 1 0 3 0 1
C0 LDD In this example, the Date
K94010301
13
into the accumulator
locations (V7771-V7774).
9 4 0 1 0 3 0 1
OUTD Acc.
V2000
V2001
0
14
1 0 3
V2000
0 1
Format
DATE
V2000 A 9
V2001
4 0 1 0
V2000
3 0 1
Set the date in the CPU
B
using the value in V2000
and 2001
C
NEXT NEXT NEXT NEXT ENT
STR 0
D
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
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 aaa
V-memory locations (Vaaa) which are used to set the time. If
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 Date Range V-memory Location
DS Used (BCD) (READ Only)
4 HPP Used 1/100 seconds (10ms)
Seconds
0-99
0-59
V7747
V7766
5 Minutes
Hour
0-59
0-23
V7767
V7770
8 In the following example, when C0 is on, the constant value (K73000) 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
9 instruction. The Time instruction uses the value in V2000 to set the time in the CPU.
10 DirectSOFT
C0 LDD
0 0
Constant (K)
0 7 3 0 0 0 The Time instruction uses the
value set in V2000 and V2001 to
11
K73000
set the time in the appropriate V-
Acc. 0 0 0 7 3 0 0 0
Load the constant
value (K73000) into
memory locations (V7766–V7770)
the accumulator
12 OUTD
V2000
Acc. 0 0 0 7 3 0 0 0
V2001
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
SHFT 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
D
MLR 8 ORST 4 2 0 0 0
250-1 3
260
DirectSOFT Handheld Programmer Keystrokes
SHFT N O P
4 ENT
NOP TMR INST# CV
DS Used
HPP Used 5
End (END)
6
230
The End instruction marks the termination point of the normal program
scan. An End instruction is required at the end of the main program END 7
240body. If the End instruction is omitted, an error will occur and the CPU
will not enter the Run Mode. Data labels, subroutines and interrupt
250-1
routines are placed after the End instruction. The End instruction is not
8
260
conditional; therefore, no input contact is allowed.
9
DS Used
10
DirectSOFT Handheld Programmer Keystrokes
HPP Used E N D
SHFT ENT
4 TMR 3
END
11
Stop (STOP) 12
The Stop instruction changes the operational mode of the CPU from STOP
230
240
Run to Program (Stop) mode. This instruction is typically used to stop 13
PLC operation in a shutdown condition such as an I/O module failure.
250-1
260
14
In the following example, when SP45 comes on indicating an I/O module failure, the CPU will
stop operation and switch to the program mode.
DS Used DirectSOFT Handheld Programmer Keystrokes
A
HPP Used SP45
STOP
$
SHFT
STR
S
SHFT
SHFT
SP
STRN
T
E
O
4
B
F
P
5
ENT
ENT
RST MLR INST# CV
C
SP45 will turn on
if there is an I/O
module failure.
SHFT R S T W T ENT
10 RSTWT
ORN RST MLR ANDN MLR
11
12
13
14
A
B
C
D
Constant K
aaa
1-FFFF
aaa
1-FFFF
aaa
1-FFFF
6
In the following example, when C7 is on, all the program logic between the GOTO and the
7
corresponding LBL instruction (designated with the same constant Kaaa value) will be skipped.
The instructions being skipped will not be executed by the CPU. 8
DirectSOFT Handheld Programmer Keystrokes
9
C7 K5
GOTO
$
STR
G
SHFT
O
C
T
2
H
O
7
ENT
10 F
SHFT ENT
6 INST# MLR INST# 5
$
STR
B
1
ENT 11
X1 C2
12
GX C C
SHFT ENT
OUT OUT 2 2
SHFT L
ANDST
B
1
L
ANDST
F 13
5
ENT
LBL K5 $
GX
STR
F
C
5
ENT
14
ENT
OUT 2
X5 Y2 A
OUT
B
C
D
9 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
10
11
12
13
14
A
B
C
D
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. Also, 1
The RSTWT instruction is not necessary if the For/Next loop does not extend the scan time
larger the Watchdog Timer setting. For more information on the Watchdog Timer, refer to
the RSTWT instruction.
2
DirectSOFT
X1 K3
1 2 3
3
FOR
4
RSTWT 5
X20 Y5 6
OUT
7
NEXT
8
Handheld Programmer Keystrokes
9
$
STR
B
1
ENT
10
SHFT F O R D ENT
SHFT R
ORN
5 INST#
S
RST
T
ORN
MLR
W
ANDN
T
MLR
3
ENT
11
$
GX
STR
SHFT I
F
8
C
2
A
0
ENT
12
ENT
13
OUT 5
SHFT N E X T ENT
TMR 4 SET MLR
14
A
B
C
D
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, Y0–Y17 1
will be reset to off and then the CPU will return to the main body of the program.
2
DirectSOFT X1 K3
GTS
3
4
C0
LD
K10
5
6
END
SBR K3
X20
7
Y5
X21
OUTI
8
Y10
X35
OUTI
9
X35 Y0
RTC
Y17
10
RSTI
11
RT
12
Handheld Programmer Keystrokes
STR
SHFT G
1
T
ENT
S K 3 ENT
13
14
SHFT E N D ENT
SHFT S SHFT B R K
1 3 ENT
STR
OUT
SHFT
SHFT
I
I
X
Y
2
5
0
ENT
ENT
A
Standard RLL
B
Instructions
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
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 K3
3 GTS
4
5 END
6
SBR K3
7
8 X20 Y5
OUT
9 X21 Y10
OUT
10
11 RT
$ B ENT
STR 1
13 SHFT G
6
T
MLR
S
RST
D
3
ENT
14
SHFT E N D ENT
A SHFT S
RST
4 TMR
SHFT B
3
1
R
ORN
D
3
ENT
B $
GX
STR
SHFT I
F
8
C
2
A
0
ENT
ENT
OUT 5
C $
STR
SHFT I
8
C
2
B
1
ENT
GX B A
D OUT
SHFT R T
1
ENT
0
ENT
ORN MLR
230
Master Line Reset (MLR) K aaa 6
The Master Line Reset instruction marks the end of control for the
240 MLR
corresponding MLS instruction. The MLR reference is one less than
250-1
the corresponding MLS.
7
260
Operand Data Type DL230 Range DL240 Range DL250-1 Range DL260 Range
8
aaa aaa aaa aaa
Constant K 0-6 0-6 0-6 9 0-6
DS Used
power rail for control logic.
DirectSOFT
12
HPP Used X0 K1
MLS 13
When contact X0 is ON, logic under the first MLS
will be executed.
X1 Y7
OUT 14
K2
A
X2
When contact X0 and X2 are ON, logic under the
MLS
second MLS will be executed.
X3 Y10
OUT
K1
B
C
MLR
The MLR instructions note the end of the Master
K0 Control area.
MLR
X10 Y11
OUT
D
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
Handheld Programmer Keystrokes
X0 K1
A $ A ENT
MLS STR 0
4 X1 C0
Y
MLS
B
1
ENT
5 OUT $
STR
B
1
ENT
X2 C1 GX SHFT C A ENT
6 OUT
$
OUT
STR
C
2
ENT
2 0
7
X3 Y0
GX SHFT C B ENT
OUT OUT 2 1
$ D
8 X10 K2
MLS
C
GX
STR
A
3
ENT
ENT
OUT 0
9 X5 Y1
$
STR
B
1
A
0
ENT
OUT
10 X4 Y2
Y
MLS
C
2
ENT
$ F ENT
11 OUT
GX
OUT
STR
B
5
1
ENT
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
B
GX
OUT
SHFT C
2
C
2
ENT
$ G ENT
MLR
B X7 Y4
GX
STR
D
6
ENT
OUT 3
C OUT T
MLR
A
0
ENT
$ H
D GX
STR
E
7
ENT
ENT
OUT 4
Interrupt Instructions
Interrupt (INT)
1
230
The Interrupt instruction allows a section of ladder logic to
be placed outside the main body of the program and executed INT O aaa 2
240 when needed. Interrupts can be called from the program or
250-1 by external interrupts via the counter interface module (D2– 3
260 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 the 7
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 one software 8
interrupt, and it is labeled INT 0. The program execution will continue from the point it was
before the interrupt occurred once the interrupt is serviced.
The software interrupt is set up by programming the interrupt time in V7634. The valid range
9
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 DL250-1 Range DL260 Range
aaa aaa 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
240 used with an input contact to implement a conditional return from the
IRTC
interrupts will be disabled until they are enabled by the Enable Interrupt
10 250-1
260 instruction.
DS Used
11 HPP Used
12
13
14
A
B
C
D
6
SHFT D I S I ENT
DISI 3 8 RST 8
.
.
SHFT E N D ENT
7
. 4 TMR 3
END
SHFT I
8
N
TMR
T
MLR
B
1
ENT 8
$ I C A
9
SHFT ENT
STR 8 2 0
INT O1 X I F
SHFT ENT
SET 8 5
X20 Y5
$
STR
SHFT I
8
C
2
B
1
ENT 10
X SHFT I B A ENT
SETI SET
SHFT I
8
R
ORN
8
T
MLR
1
ENT
0
11
X21 Y10
SETI 12
IRT
13
14
A
B
C
D
4
SP0 LD $ SP A
SHFT ENT
STR STRN 0
K40
SHFT L D SHFT K B A ENT
ANDST 3 JMP 4 0
OUT
5
GX SHFT V H G D D ENT
V7633 OUT 7 6 3 3
$ B ENT
X1 STR 1
LD
L D K B A E
6
K104* SHFT SHFT ENT
ANDST 3 JMP 1 0 4
Load the constant value
GX SHFT V H G D E ENT
(K10) into the lower 16 bits
OUT AND 7 6 3 4
of the accumulator *
$ C A
7
ENT
OUT STR 2 0
V7634 E N I
SHFT ENT
4 TMR 8
Copy the value in the lower
16 bits of the accumulator to SP C A
8
ENT
V7634 STRN 2 0
SHFT D I S I ENT
3 8 RST 8
X20
SHFT E N D ENT
9
ENI 4 TMR 3
SHFT I N T A ENT
8 TMR MLR 0
$ SHFT I C A ENT
10
X20 STR 8 2 0
DISI X I F
SHFT ENT
SET 8 5
. SP SHFT I D F ENT
11
STRN 8 3 5
.
S I A B H
. RST
SHFT
8 0 1 7
ENT
SHFT I R T ENT
END 8 ORN MLR
12 INT O0 * 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
IRT
Standard RLL
B
Instructions
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: L
oad 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: L
oad the number of bytes to be transferred into the first level of the accumulator stack
5
(maximum of 128 bytes).
Step 3: L
oad the address from which the data will be read into the accumulator. This parameter
6
must be a HEX value.
Step 4:Insert the RD instruction that specifies the starting V-memory location (Vaaa) into which the 7
data will be read.
Helpful hint: Use the LDA instruction to convert an octal address to its HEX equivalent and 8
load it into the accumulator when the hex format is required.
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) 10
All (See page 3-55) All (See page 3-56)
A
V1401 7 8 5 6 12 Address 0
K0102 (01) and the base slot
number (02) 34 Address 1
V1402 0 1 9 0
56 Address 2
V1403 X X X X
The constant value K6 78 Address 3
LD V1404 X X X X
B
specifies the number of 90 Address 4
K6 bytes to be read Handheld Programmer Keystrokes 01 Address 5
$ B ENT
STR 1
The constant value K0
C
LD SHFT L D PREV A B A C ENT
specifies the starting address ANDST 3 0 1 0 2
K0 in the intelligent module
SHFT L D PREV G ENT
ANDST 3 6
D
V1400 is the starting location SHFT L D PREV A ENT
RD ANDST 3 0
in the CPU where the
V1400 specified data will be stored R D B E A A
SHFT ENT
ORN 3 1 4 0 0
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)
11 NOTE: Status flags are valid only until another instruction uses the same flag.
12 In the following example, when X1 is on, the WT instruction will write six bytes of data to an
Standard
intelligent module in base 1, slot 2 starting at address 0 in the intelligent module and copy the
information from V-memory locations V1400–V1402.
13 DirectSOFT
14
specifies the base number
K0102 (01) and the base slot 12
X X X X Address 0
number (02) V1377
34 Address 1
V1400 3 4 1 2
The constant value K6 56 Address 2
LD V1401 7 8 5 6
A
specifies the number of 78 Address 3
K6 bytes to be written V1402 0 1 9 0
90 Address 4
V1403 X X X X
01 Address 5
V1404 X X X X
LD The constant value K0
B
specifies the starting address
K0 in the intelligent module Handheld Programmer Keystrokes
$ B ENT
STR 1
C
location in the CPU where SHFT PREV ENT
ANDST 3 0 1 0 2
V1400 the specified data will be
written from L D G
SHFT PREV ENT
ANDST 3 6
L D A
D
SHFT PREV ENT
ANDST 3 0
SHFT W T B E A A ENT
ANDN MLR 1 4 0 0
Network Instructions
Read from Network (RX)
1
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 RX 2
240 function parameters are loaded into the first and second levels of A aaa
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. Ten
1 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 ECOM.
2
3
DirectSOFT
4 X1 SP124 LD
K0205 –or–
LD
KF105
6 K10
LDA
V2277 X X X X X X X X V1777
O 2300
V2300 3 4 5 7 3 4 5 7 V2000
RX
10 V2000
12 $
W
STR
B
1
SHFT
ENT
SP B C E ENT
ANDN STRN 1 2 4
13 SHFT L
ANDST
L
D
D
3
SHFT K
K
JMP
C
B
2
A
A
0
F
5
ENT
14 SHFT L
ANDST
D
3
A
0
C
2
D
3
A
0
A
0
ENT
SHFT R X C A A A ENT
A
ORN SET 2 0 0 0
B
C
D
Instructions
V-memory V
A aaa
All (See page 3 - 54)
aaa
All (See page 3 - 55)
aaa
All (See page 3 - 56)
9
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
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. Ten
1 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
LD
specifies the bottom port
and the slave address (5)
(DL250–1 and DL260 only)
5
K10
7
Octal address 2300 is
converted to 4C0 HEX and V2301 8 5 3 4 8 5 3 4 V2001
loaded into the accumulator.
V2300 is the starting V2302 1 9 3 6 1 9 3 6 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 1 4 2 3 1 4 2 3 V2004
V2305 X X X X X X X X V2005
9
WX
V2000
11 $
STR
B
1
ENT
W SHFT SP B C E ENT
12 ANDN
SHFT L
ANDST
D
3
STRN
SHFT
1
K
JMP
2
C
4
2
A
0
F
5
ENT
14 SHFT W
ANDN
X
SET
SHFT V
AND
C
2
A
0
A
0
A
0
ENT
A
B
C
D
Message Instructions
Fault (FAULT)
1
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 data, A aaa
250-1 numerical constant data, or ASCII text. See Appendix G for the 3
ASCII Conversion Table.
260
To display the value in a V-memory location, specify the
V-memory location in the instruction. To display the data
4
DS Used
HPP Used
in ACON (ASCII constant) or NCON (Numerical constant)
instructions, specify the constant (K) value for the corresponding 5
data label area.
Operand Data Type DL240 Range DL250-1 Range DL260 Range
6
A aaa aaa aaa
V-memory V All (See page 3-54) All (See page 3-55) All (See page 3-56) 7
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 9
Appendix C) if you are attempting to use the FAULT instructions in applications that require faster than
normal execution cycles.
10
11
12
13
14
A
B
C
D
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
K1
4
5 END
SW 146
6 DLBL
K1
7 ACON
A SW
8 NCON
K 2031
9
10 NCON
K 3436
12 $
STR
B
1
ENT
SHFT F A U L T B ENT
13
5 0 ISG ANDST MLR 1
14 SHFT
SHFT
E
D
4
N
L
TMR
D
B
3
ENT
L B ENT
3 ANDST 1 ANDST 1
A SHFT A
N
0
C
C
2
O
INST#
O
N
N
TMR
S
C
RST
W
ANDN
A
ENT
D B
SHFT 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
Instructions
Constant K
aaa
1-FFFF
aaa
1-FFFF
aaa
1-FFFF
aaa
1-FFFF
4
ASCII Constant (ACON) 5
The ASCII Constant instruction is used with the DLBL
230
240
instruction to store ASCII text for use with other ACON
A aaa
6
instructions. Two ASCII characters can be stored in an
250-1
260
ACON instruction. If only one character is stored in
an ACON, a leading space will be printed in the Fault
7
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) 10
230 The Numerical Constant instruction is used with the
240 DLBL instruction to store the HEX ASCII equivalent of
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 DL240 Range DL250-1 Range DL260 Range
aaa aaa aaa aaa
13
Constant K 0-FFFF 0-FFFF 0-FFFF 0-FFFF
14
DS Used
HPP Used
A
B
C
D
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
4
N
TMR
D
3
ENT
A SHFT D
3
L
ANDST
B
1
L
ANDST
B
1
ENT
A C O N S W
B SHFT
0 2 INST# TMR RST ANDN
ENT
SHFT N C O N C A D B ENT
C SHFT N
TMR
C
2 INST#
O N
TMR
D
2
E
0
D
3
G
1
ENT
TMR 2 INST# TMR 3 4 3 6
D
Port 2 on the DL250–1/260 has standard RS232 levels, and should work with most printer
serial input connections.
1 Text element - 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 preceded
2 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
3
$”
$L or $1
Double quotation (“)
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 ” $” ”
” $ R $ L ”
Length 1 with double quotation mark
Length 2 with one CR and one LF
11 ” $ 0 D $ 0 A ”
” $ $ ”
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.
V-memory element – 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
1
# Character code
none
Description
16-bit binary (decimal number)
3
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
V2000 : D B
Print binary number in V2000 and V2001 for decimal number
Print BCD data in V2000 and V2001
8
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
Example: The following example prints a message containing text and a variable. The “reactor
10
if the data is in BCD format, for example. The final string adds the units of degrees to the line 11
temperature” labels the data, which is at V2000. You can use the ‘: B’ qualifier after the V2000
X1
12
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 – 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 you assign A
“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
Bit element – 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 the
1 V-memory number or relay number. The output type is described as shown in the table below.
2 #
1
Data format
none
Description
Print 1 for an ON state, and 0 for an OFF state
2 : BOOL Print “TRUE” for an ON state, and “FALSE” for an OFF state
3 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
C100 : BOOL Prints the status of C100 in TRUE/FALSE format
6 C100 : ON/OFF Prints the status of C100 in ON/OFF format
Maximum
Element type
9 Text, 1 character
Characters
1
10 16-bit binary
32-bit binary
6
11
4-digit BCD 4
11 8-digit BCD
Floating point (real number)
8
13
•E
xception 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
1 buffer uses 3 words. These bytes are swapped in the MRX/MWX exception response buffer
V-memory so:
6 Function Code
MRX Slave Address Ranges
Modbus Data Format Slave Address Range(s)
7 01-Read Coil
01-Read Coil
484 Mode
584/984 Mode
1-999
1-65535
02-Read Input Status 484 Mode 1001-1999
8 02-Read Input Status 584/984 Mode 10001-19999 (5 digit) or 100001-
165535 (6 digit)
03-Read Holding Register 484 Mode 4001-4999
9 03-Read Holding Register 584/984 40001-49999 9 (5 digit) or
4000001-465535 (6 digit)
C V-memory
Global Inputs
V
GX
all (see page 3-56)
0-3777
Global Outputs GY 0-3777
D
1
SP116 C100 CPU/DCM Slot:
Port Number:
13 CPU
K2
Slave Address: K1
Function Code:
14 01 - Read Coil Status
Start Slave Memory Address: K1
Start Master Memory Address: C0
Number of Elements:
Modbus Data Type: A
Exception Response Buffer:
K32
584/984 Mode
V400
B
Instruction Interlock Bit
C100
C
RST
4 HPP N/A
5
6
7
8
9
10
11
•P
ort Number: must be DL260 Port 2 (K2)
12 •S
lave Address: specify a slave station address (0 to 247)
•F
unction 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 •S
tart Slave Memory Address: specifies the starting slave memory address where the data will be
written
B •S
tart Master Memory Address: specifies the starting address of the data in the master that is to be
written to the slave
C •N
umber 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
•M
odbus Data Format: specifies Modbus 584/984 or 484 data format to be used
D
•E
xception 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 584/984 Mode 1-65535 7
06 - Preset Single Register 484 Mode 4001-4999
6
MWX Example
7 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
8 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
9 “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 bit
is reset when an MRX or MWX instruction is executed.
10 Typically, network communications will last longer than one CPU scan. The program must
wait for the communications to finish before starting the next transaction.
11 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
12 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.
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 communications
6 protocol. The AIN and AEX instructions have a built–in byte swap feature.
10 DS Used
HPP N/A
11
12
13
14
A
B
C
D
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 Fixed Length
6
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 exceeded. See First
Character Timeout explanation above. 10
Parameter DL260 Range
Data Destination All V-memory (See page 3 -56) 11
Fixed Length K1-128
Bits: Busy, Complete, Timeout Error, Overflow C0-3777 12
Discrete Bit Flags Description 13
SP53 On if the CPU cannot execute the instruction
SP71
SP116
On when a value used by the instruction is invalid
On when CPU port 2 is communicating with another device
14
SP117 On when CPU port 2 has experienced a communication error
A
B
C
D
1
2
3
4
5
6
AIN Variable Length Configuration: 7
•L ength 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
character is received exceeds the set time, the specified First Character Timeout bit will be set. The 12
• First Character Timeout: if the amount of time from when the AIN is enabled to the time the first
bit will reset when the AIN instruction permissive bits are disabled. None selection disables this
feature. 13
• Byte Swap: swaps the high–byte and low–byte within each V–memory register of the Varaible
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. C
• Inter–character Timeout Error Bit: is set when the Character Timeout is exceed. See Character
Timeout explanation above.
• First Character Timeout Error Bit: is set when the First Character Timeout is exceeded. See First
D
Character Timeout explanation above.
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
12 HEX Equivalent
3 a High V3001
61h
14 Search start Index Number
4
5
y 79h
20h
Low
High
V3002
6 i 69h Low
A Forward Direction Search
7
8
s 73h
20h
High
Low
V3003
V3004
9 F 46h High
D
Found Index Number = 0012 V4000
12 Parameter
Source Base Address
DL260 Range
All V-memory (See page 3-56)
See the previous page for an example using the AEX instruction.
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.
C
D
Number of Bytes
All V-memory (See page 3-56)
C1
CMPV
C
Strings are equal
SP61 C11
OUT D
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
14 Example:
V2000.15 Prints the status of bit 15 in V2000, in 1/0 format
A C100
C100 : BOOL
Prints the status of C100 in 1/0 format
Prints the status of C100 in TRUE/FALSE format
B C100 : ON/OFF Prints the status of C100 in ON/OFF format
V2000.15 : BOOL Prints the status of bit 15 in V2000 in TRUE/FALSE format
C
D
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
8-digit BCD
4
8 4
Floating point (real number) 13
Floating point (real with exponent)
V-memory/text
13
2
5
Bit (1/0 format)
Bit (TRUE/FALSE format)
1
5 6
Bit (ON/OFF format) 3
7
Text element
The following is used for “printing to V-memory” character strings. The character strings 8
are defined as the character (more than 0) ranged by the double quotation marks. Two hex
numbers preceded by the dollar sign means an 8-bit ASCII character code. Also, two characters 9
preceded by the dollar sign is interpreted according to the following table:
The following examples show various syntax conventions and the length of the output to the
printer.
1 Example:
2 ” ”
”A”
Length 0 without character
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 application development.
12 C13
SET
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:
Byte Swap:
K12
0D (hexadecimal)
None
C
Busy: C0
Complete: C1
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
250-1 the desired data string for devices that require specific termination character(s), Byte Swap 2
options, and user specified flags for Busy and Complete.
260
• Port Number: must be DL260 port 2 (K2). 3
• Start Address: specifies the beginning of series of
DS Used
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
Start Address
port 2 (K2)
All V-memory (See page 3-56)
12
Number of Bytes All V-memory (See page 3-56) or K1-128
Bits: Busy, Complete C0-3777 13
See the facing page for an example using the PRINTV instruction.
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
C
D
12 V2002
V2003
D
xx
C
E
A B C D E
Byte
High Low
14
V2000 0005h
V2001 A B
V2002 C D
V2003 E xx
A
B A D C E
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
230 ASCII receive buffer of the specified communications 6
240 port number.
250-1 Port Number: must be DL260 port 2 (K2) 7
260
8
DS Used
HPP N/A
ACRB Example
9
The AIN Complete bit or the AIN diagnostic bits are used to clear the ASCII buffer.
10
11
12
13
14
A
B
C
D
Communication IBoxes
Instruction Ibox # Page
ECOM100 Configuration (ECOM100)
ECOM100 Disable DHCP (ECDHCPD)
IB-710
IB-736
5-272
5-274
1
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)
ECOM100 E-mail Setup (ECEMSUP)
IB-713
IB-712
5-283
5-286
3
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
9 ANLGCMB Parameters
10 • Base # (K0-Local): specifies which base the module is in.
• Slot #: specifies which slot is occupied by the analog module.
11 • Number of Input Channels: specifies the number of analog input channels to scan.
• Input Data Format (0-BCD 1-BIN): specifies the analog input data format (BCD or Binary) - the
12 binary format may be used for displaying data on some OI panels.
• Input Data Address: specifies the starting V-memory location that will be used to store the analog
input data.
13 • 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
14 Binary).
• Output Data Address: specifies the starting V-memory location that will be used to source the
A analog output data.
NOTE The ANLGCMB instruction does not currently support the F2-8AD4DA-1 or F2-8AD4DA-2.
B
C
D
channels are enabled and the analog values will be read from V2100 - V2101 in BCD format. 6
enabled and the analog data will be written to V2000 - V2003 in BCD format. Two output
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
2 240
250-1
This IBox determines the data format and Pointer addresses based on the CPU type, the Base#,
and the Slot#.
The Input Data Address is the starting
3 260
location in user V-memory where the
analog input data values will be stored,
4 DS5
HPP
Used
N/A
one location for each input channel
enabled.
5 Since this logic only executes on the
first scan, this IBox cannot have any
input logic.
6
7 ANLGIN Parameters
• Base # (K0-Local): specifies which base the analog module is in.
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.
• Input Data Address: specifies the starting V-memory location that will be used to store the analog
10 input data.
11 Parameter
Base # (K0-Local) ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ K
DL205 Range
K0-3
12 Slot # ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ K
Number of Input Channels ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ K
K0-7
K1-8
Input Data Format (0-BCD 1-BIN)⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ K BCD: K0; Binary: K1
13 Input Data Address ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ V See DL205 V-memory map - Data Words
14
A
B
C
D
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 and 1
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
12 Parameter
Base # (K0-Local) ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ K
DL205 Range
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
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 enabled 1
and the analog data will be read from V2100 - V2101 in BCD format.
2
3
No permissive contact or input logic is
4
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
10 ANSCL Example
11 Parameter
Raw (0-4095 BCD) ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠V,P
DL205 Range
See DL205 V-memory map - Data Words
A
SP1
B
C
D
ANSCLB Example
10
Parameter DL205 Range
11
Raw (12-bit binary) ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠V,P
High Engineering ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ K 12
See DL205 V-memory map - Data Words
K0-65535
Low Engineering ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ K K0-65535
Engineering (binary)⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠V,P 13
See DL205 V-memory map - Data Words
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 14
- high engineering value). The scaled value will be placed in V2100 in binary format.
A
SP1 B
C
D
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
increase the smoothing effect of the filter. A value of 1 results with no filtering.
12 • 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
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 filter 1
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
SP1 3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
4 DS5 Used
HPP N/A
Raw: Raw Data
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 parameter. Note that this Timer instruction is embedded
7 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 Filter Value is initialized to 0 to give the calculation
8 a consistent starting point.
9 FILTERB Parameters
10 • Filter Frequency Timer: specifies the Timer (T) number that 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
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
SP1 3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
13 • Low Limit: V-memory location or constant specifies the low alarm limit
• Low Alarm: On when the low limit is reached
14 • 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
A Parameter
Monitoring Value (BCD) ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ V
DL205 Range
See DL205 V-memory map - Data Words
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
value continues to decrease to meet or fall below the Low-Low limit of K100, C103 will turn
3
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
SP1 5
6
7
8
9
10
11
12
13
14
A
B
C
D
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.
If the value in V2000 meets or falls below the low limit of the binary value in V2012, C102 will
3
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 and 4
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
12
13
14
A
B
C
D
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
Example timing diagram
7
C100
5 sec 5 sec
8
C20
9
10
11
12
13
14
A
B
C
D
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 immediately. 2
3
4
5
6
Example timing diagram 7
8
C101
2 sec 2 sec 9
C21
10
11
12
13
14
A
B
C
D
5
6 Parameter DL205 Range
Discrete Output⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ X, Y, C See DL205 V-memory map
7 ONESHOT Example
8 In the following example, the ONESHOT instruction is used to turn C100 on for one PLC
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 Example Timing Diagram
12
C0
13 Scan time
14 C100
A
B
C
D
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 10
C10 is pressed again, C20 turns off. C100 is an internal bit used by the instruction.
11
12
No permissive contact or input logic is
used with this instruction 13
14
NOTE: Neither a permissive nor input logic is required with this instruction.
A
B
C
D
4 DS5 Used
HPP N/A
• To WORD: specifies the location to which
where the “From WORD” will be moved
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
MOVEW Example
9 In the following example, the MOVEW instruction is used to move 16 bits of data from
V2000 to V3000 when C100 turns on.
10
11
12
13
14
A
B
C
D
BCDTOR Example
10 In the following example, the BCDTOR instruction is used to convert the 16-bit data in
V2000 from a 4-digit BCD data format to a 32-bit REAL (floating point) data format and store
11 into V3000 and V3001 when C100 turns on.
K2 in the Number of Decimal Points implies the data will have two digits to the right of the
12 decimal point.
13
14
A
B
C
D
240
For example, BCDTORD K12345678 with an implied number of decimal points equal to K5,
would yield R123.45678
2
250-1
260
BCDTORD Parameters
3
DS5 Used
• Value (DWORD BCD): specifies the Dword
or constant that will be converted to a Real
4
HPP N/A number
• Number of Decimal Points: specifies the 5
number of implied decimal points in the
•
Result DWORD
Result (DWORD REAL): specifies the
6
location where the Real number will be placed
7
Parameter DL205 Range
Value (DWORD BCD) ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠V,P,K 8
K0-99999999; See DL205 V-memory map - Data Words
Number of Decimal Points ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ K K0-8
Result (DWORD REAL)⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ V
9
See DL205 V-memory map - Data Words
BCDTORD Example 10
V2000 from an 8-digit BCD data format to a 32-bit REAL (floating point) data format and 11
In the following example, the BCDTORD instruction is used to convert the 32-bit data in
B
C
D
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 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
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
always fit in 16 bits.
9 You can reference BCD V-memory values by using the BIN conversion function on a
V-memory location but NOT an expression. That is, BIN(V2000) is okay and will convert
10 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.
C
D
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
7 Every V-memory reference MUST be able to fit into a double-word Real formatted value.
8 MATHR Parameters
• Result (DWORD): specifies the location where the Real result of the mathematical expression will
9 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
Result (DWORD) location. Each V-memory location used in the expression must be in Real
10 format.
11 Parameter
DWORD Result ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ V
DL205 Range
See DL205 V-memory map - Data Words
Expression⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ Text
12
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
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 decimal 1
230 points (K0-K4) and performs rounding.
240 For example, RTOBCD R56.74 with an implied number of decimal points equal to K1, would 2
250-1 yield 567 BCD. If the implied number of decimal points was 0, then the function would yield
260 57 BCD (note that it rounded up). 3
If the Real number is negative, the Result will equal its positive, absolute value.
DS5 Used 4
HPP N/ARTOBCD Parameters
• Value (DWORD Real): specifies the Real 5
Dword location or number that will be
converted and rounded to a BCD number
with decimal points
6
• Number of Decimal Points: specifies the
number of implied decimal points in the 7
Result WORD
• Result (WORD BCD): specifies the location
where the rounded/implied decimal points
8
BCD value will be placed
9
Parameter DL205 Range
Value (DWORD Real) ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ V,P,R
Number of Decimal Points ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ K
10
R ; See DL205 V-memory map - Data Words
K0-4
Result (WORD BCD)⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ V
11
See DL205 V-memory map - Data Words
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 in 13
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
Real to Double BCD with Implied Decimal Point and Rounding (RTOBCDD)
1 (IB-563)
Real to Double BCD with Implied Decimal Point and Rounding converts the absolute value
2 230
of the given Real number to an 8-digit DWORD BCD number, compensating for an implied
number of decimal points (K0-K8) and performs rounding.
240
3 250-1 For example, RTOBCDD R38156.74 with an implied number of decimal points equal to K1,
would yield 381567 BCD. If the implied number of decimal points was 0, then the function
260 would yield 38157 BCD (note that it rounded up).
4 If the Real number is negative, the Result will equal its positive, absolute value.
DS5 Used
5 HPP N/A
RTOBCDD Parameters
6 • Value (DWORD Real): specifies the Dword
Real number that will be converted and
rounded to a BCD number with decimal
7 points
•
Number of Decimal Points: specifies the
8 number of implied decimal points in the
Result DWORD
13 RTOBCDD Example
In the following example, the RTOBCDD instruction is used to convert the 32-bit REAL
14 (floating point) data format in V3000 and V3001 to the 8-digit BCD data format and store 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
240
SQUARE Parameters
2
250-1
260 • Value (WORD BCD): specifies the BCD
Word or constant that will be squared 3
DS5
HPP
Used
N/A
• Result (DWORD BCD): specifies the location
where the squared DWORD BCD value will 4
be placed
5
Parameter DL205 Range 6
Value (WORD BCD) ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠V,P,K K0-9999 ; See DL205 V-memory map - Data Words
Result (DWORD BCD)⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ V 7
See DL205 V-memory map - Data Words
SQUARE Example
8
In the following example, the SQUARE instruction is used to square the 4-digit BCD value in 9
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
4 DS5
HPP
Used
N/A
• Result (DWORD Binary): specifies the
location where the squared DWORD
binary value will be placed
5
6 Parameter DL205 Range
Value (WORD Binary) ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠V,P,K K0-65535; See DL205 V-memory map - Data Words
8 SQUAREB Example
In the following example, the SQUAREB instruction is used to square the single-word Binary
9 value in V2000 and store the 8-digit double-word Binary result in V3000 and V3001 when
C100 turns on.
10
11
12
13
14
A
B
C
D
SQUARER Example 8
In the following example, the SQUARER instruction is used to square the 32-bit floating point
REAL value in V2000 and V2001 and store the REAL value result in V3000 and V3001 when
9
C100 turns on.
10
11
12
13
14
A
B
C
D
4 DS5 Used
SUMBCD Parameters
HPP N/A
11
12 SUMBCD Example
In the following example, the SUMBCD instruction is used to total the sum of all BCD values
13 in words V2000 thru V2007 and store the resulting 8-digit double word BCD value in V3000
and V3001 when C100 turns on.
14
A
B
C
D
240
You specify the group’s starting and ending V-memory addresses (inclusive). When enabled,
2
this instruction will add all the numbers in the group (so you may want to place a differential
250-1 contact driving the enable).
260 SUMBIN could be used as the first part of calculating an average. 3
DS5 Used
SUMBIN Parameters 4
HPP N/A
• Start Address: specifies the starting address
of a block of V-memory location values to 5
be added together (Binary)
• End Addr (inclusive): specifies the ending
address of a block of V-memory location
6
values to be added together (Binary)
• Result (DWORD Binary): specifies the
7
location where the sum of the block of
V-memory binary values will be placed 8
Parameter DL205 Range
Start Address ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ V
9
See DL205 V-memory map - Data Words
End Address (inclusive) ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ V
Result (DWORD Binary)⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ V
10
See DL205 V-memory map - Data Words
See DL205 V-memory map - Data Words
SUMBIN Example
11
In the following example, the SUMBIN instruction is used to total the sum of all Binary values 12
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
7 SUMR Parameters
• Start Address (DWORD): specifies the
8 starting address of a block of V-memory
location values to be added together (Real)
• End Addr (inclusive) (DWORD):
9 specifies the ending address of a block of
V-memory location values to be added
10 together (Real)
• Result (DWORD): specifies the location
where the sum of the block of V-memory
11 Real values will be placed
14
A
B
C
D
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 point 1
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
8 ECOM100 Parameters
•
ECOM100#: this is a logical number
9 associated with this specific ECOM100
module in the specified slot. All other
10 ECxxxx IBoxes that need to reference this
ECOM100 module must reference this
logical number.
11 • Slot: specifies which PLC slot is occupied by
the ECOM100 module.
12 • Status: specifies a V-memory location that
will be used by the instruction.
A Parameter
ECOM100# ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ K
DL205 Range
K0-255
Slot ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ K K0-7
B Status ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ V See DL205 V-memory map - Data Words
Workspace ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ V See DL205 V-memory map - Data Words
C Msg Buffer (65 words used)⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ V See DL205 V-memory map - Data Words
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 1
in 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
ECOM100# parameter.
3
The Status register is for reporting any completion or error information to other ECOM100
IBoxes. This V-memory register must not be used anywhere else in the entire program.
4
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. These 7
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
9 ECDHCPD Parameters
10 • ECOM100#: this is a logical number associated with
this specific ECOM100 module in the specified
slot. All other ECxxxx IBoxes that need to reference
11 this ECOM100 module must reference this logical
number
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 is 2
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 available for use
3
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, 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, Gateway 10
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 11
you to disable DHCP in the ECOM100 using your ladder program. The 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 into the IBox goes 12
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
B Parameter
ECOM100# ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ K
DL205 Range
K0-255
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 is 2
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 available for use
3
by the other ECxxxx IBoxes using this specific ECOM100 module.
4
1 ECOM100
ECOM100 Config
IB-710
5
ECOM100# K0
Slot
Status
Workspace
K1
V400
V401
6
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 second 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 11
leading edge triggered, not power-flow driven (similar to a counter input leg). The 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 DHCP in the 12
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 13
ECOM100 cannot find a DHCP server. If a timeout does occur, the Error 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 C100. If there is a 14
failure, turn on C101. If it fails, you can look at V2000 for the specific error code.
A
B
C
D
5 ECDHCPQ Parameters
• ECOM100#: this is a logical number associated
6 with this specific ECOM100 module in the
specified slot. All other ECxxxx IBoxes that
7 need to reference this ECOM100 module must
reference this logical number.
• Workspace: specifies a V-memory location that
8 will be used by the instruction.
• Success: specifies a bit that will turn on once the
9 instruction is completed successfully.
• Error: specifies a bit that will turn on if the
10 instruction is not completed successfully.
• DHCP Enabled: specifies a bit that will turn on if the ECOM100’s DHCP is enabled or remain
off if disabled - after instruction query, be sure to check the state of the Success/Error bit state along
11 with DHCP Enabled bit state to confirm a successful module query.
12 Parameter
ECOM100# ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ K
DL205 Range
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
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 is 2
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 available for use
3
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 second 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). 11
The command to read (Query) whether DHCP is enabled or not will be sent to the 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
14 In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on the
ECOM100 circuit board.
A
B
C
D
ECEMAIL 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 1
reference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction 2
• 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 completed successfully 3
• 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 4
• Subject: subject of the e-mail message
• Body: supports what the PRINT and VPRINT instructions support for text and embedded 5
variables, allowing you to embed real-time data in the EMail message
2 ECOM100 Status codes can be classified into four different areas based on its decimal value.
ECOM100 Status Code Areas
3 0-1
2-99
Normal Status - no error
Internal ECOM100 errors
100-999 Standard TCP/IP protocol errors (SMTP, HTTP, etc)
4 1000+ IBox ladder logic assigned errors (SP Slot Error, etc)
5 For the ECOM100 Send EMail IBOX, the status codes below are specific to this IBox.
Normal Status 0 - 1
7 1 Busy - ECEMAIL IBOX logic sets the Error register to this value when the ECEMAIL starts a new request.
10 20
21
TCP Write Error
No Sendee
22 Invalid State
11 23
24
Invalid Data
Invalid SMTP Configuration
A
B
C
D
2 538
550
Encryption required for requested authentication mechanism.
Requested action not taken; mailbox unavailable.
551 User not local; please try <forward path>
3 552 Requested mail action aborted; exceeded storage allocation
553 Requested action not taken; mailbox name not allowed.
4 554 Transaction failed
5
6
7
8
9
10
11
12
13
14
A
B
C
D
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.
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
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 completed successfully
14 • Error Code: specifies the location where the Error Code will be written
ECEMRDS 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 is 2
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 available for use
3
by the other ECxxxx IBoxes using this specific ECOM100 module.
4
1 ECOM100
ECOM100 Config
IB-710
5
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: Whenever an EStop is pushed, ensure that the president of the company gets copies
of all Emails being sent. 10
The ECOM100 EMail Setup IBox allows you to set/change the SMTP Email settings stored
in the ECOM100. 11
12
13
14
A
B
C
(Example continued on next page) D
2 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
“working copy” whenever the power flow into the IBox goes from OFF to ON (the working
3 copy can be changed by using the ECEMSUP IBox).
If successful, turn on C102. If there is a failure, turn on C103. If it fails, you can look at
4 V2001 for the specific error code.
5
6
7
8
9
10
11
12
13
14
A
B
C
D
1 • 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
setting).
2 • Timeout (sec): optional parameter that specifies the number of seconds to wait for the SMTP Server
to send the EMail to all the recipients.
3 • Cc: optional parameter that specifies a list of “carbon copy” Email addresses to send all EMails to.
4 Parameter
ECOM100# ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ K
DL205 Range
K0-255
5 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
6 Error Code⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ V See DL205 V-memory map - Data Words
7
8
9
10
11
12
13
14
A
B
C
D
ECEMSUP 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 is 2
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 available for use
3
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
(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
4 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.
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
11 EMail setup in the ECOM100.
12
13
14
A
B
C
D
ECIPSUP 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 ECOM100
3 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
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: On the second scan, configure all of the TCP/IP parameters in the ECOM100:
10 IP Address: 192.168.12.100
Subnet Mask: 255.255.0.0
11 Gateway Address: 192.168.0.1
12 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 ECOM100
whenever the power flow into the IBox goes from OFF to ON.
13 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.
14
A
B
C
D
A
B
C
D
ECRDDES 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 ECOM100
3 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 1 ECOM100
ECOM100 Config
IB-710
ECOM100# K0
6 Slot
Status
Workspace
K1
V400
V401
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: On the 2nd scan, read the Module Description of the ECOM100 and store it in
10 V3000 thru V3007 (16 characters). This text can be displayed by an HMI.
The ECRDDES is leading edge triggered, not power-flow driven (similar to a counter input
11 leg). The command to read 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.
13
14
A
B
C
D
ECRDGWA Parameters 5
• ECOM100#: this is a logical number
associated with this specific ECOM100 6
module in the specified slot. All other
ECxxxx IBoxes that need to reference this
ECOM100 module must reference this 7
logical number.
• Workspace: specifies a V-memory location
that will be used by the instruction.
8
• Success: specifies a bit that will turn on once
the request is completed successfully.
9
• Error: specifies a bit that will turn on if the instruction is not completed successfully.
• Gateway IP Addr: specifies the starting address where the ECOM100’s Gateway Address will be
10
placed in 4 consecutive V-memory locations.
14
A
B
C
D
ECRDGWA 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 ECOM100
3 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
6 ECOM100#
Slot
Status
K0
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: On the second scan, read the Gateway Address of the ECOM100 and store it in V3000
10 thru V3003 (4 decimal numbers). The ECOM100’s Gateway Address could be displayed by
an HMI.
11 The ECRDGWA is leading edge triggered, not power-flow driven (similar to a counter input
leg). The command to read the Gateway Address will be sent to the ECOM100 whenever the
12 power flow into the IBox goes from OFF to ON.
If successful, turn on C100. If there is a failure, turn on C101.
13
14
A
B
C
D
ECRDIP 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 ECOM100
3 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
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: On the second scan, read the IP Address of the ECOM100 and store it in V3000 thru
10 V3003 (four decimal numbers). The ECOM100’s IP Address could be displayed by an HMI.
The ECRDIP is leading edge triggered, not power-flow driven (similar to a counter input leg).
11 The command to read the IP 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
240
250-1
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. 2
Either the Success or Error bit parameter will turn on once the command is complete.
260
In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on the
3
ECOM100 circuit board.
DS5
HPP
Used
N/A 4
ECRDMID Parameters
• ECOM100#: this is a logical number associated
5
with this specific ECOM100 module in the
specified slot. All other ECxxxx IBoxes that need
to reference this ECOM100 module must reference
6
this logical number
• Workspace: specifies a V-memory location that will
7
be used by the instruction
• Success: specifies a bit that will turn on once the 8
request is completed successfully
• Error: specifies a bit that will turn on if the
instruction is not completed successfully
9
• Module ID: specifies the location where the ECOM100’s Module ID (decimal) will be placed
10
Parameter DL205 Range
ECOM100# ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ K K0-255 11
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
12
Module ID⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ V See DL205 V-memory map - Data Words
13
14
A
B
C
D
ECRDMID 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 ECOM100
3 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
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: On the second scan, read the Module ID of the ECOM100 and store it in V2000.
10 The ECRDMID is leading edge triggered, not power-flow driven (similar to a counter input
leg). The command to read the module ID 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
ECRDNAM 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 ECOM100
3 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 1 ECOM100
ECOM100 Config
IB-710
ECOM100# K0
6 Slot
Status
Workspace
K1
V400
V401
Msg Buffer (65 WORDs)
7
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: On the second scan, read the Module Name of the ECOM100 and store it in V3000
10 thru V3003 (8 characters). This text can be displayed by an HMI.
The ECRDNAM is leading edge triggered, not power-flow driven (similar to a counter input
11 leg). The command to read 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.
13
14
A
B
C
D
ECRDSNM 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 ECOM100
3 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
4 by the other ECxxxx IBoxes using this specific ECOM100 module.
5 ECOM100 Config
1 ECOM100 IB-710
6 ECOM100#
Slot
Status
K0
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: On the second scan, read the Subnet Mask of the ECOM100 and store it in V3000
10 thru V3003 (4 decimal numbers). The ECOM100’s Subnet Mask could be displayed by an
HMI.
11 The ECRDSNM is leading edge triggered, not power-flow driven (similar to a counter input
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
ECWRDES 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 ECOM100
3 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
6 ECOM100#
Slot
Status
K0
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: On the second scan, set the Module Description of the ECOM100. Typically this
10 is done using NetEdit, but this IBox allows you to configure the module description in the
ECOM100 using your ladder program.
11 The ECWRDES is leading edge triggered, not power-flow driven (similar to a counter input
leg). The command to write the module description will be sent to the ECOM100 whenever
12 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
ECWRGWA 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 ECOM100
3 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
6 ECOM100#
Slot
Status
K0
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: On the second scan, assign the Gateway Address of the ECOM100 to 192.168.0.1
10 The ECWRGWA is leading edge triggered, not power-flow driven (similar to a counter input
leg). The command to write the Gateway Address 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. If it fails, you can look at
12 V2000 for the specific error code.
To configure all of the ECOM100 TCP/IP parameters in one IBox, see the ECOM100 IP
13 Setup (ECIPSUP) IBox.
14
A
B
C
D
• IP Address: specifies the IP Address that will be written to the module
ECWRIP 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 ECOM100
3 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
6 ECOM100#
Slot
Status
K0
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: On the second scan, assign the IP Address of the ECOM100 to 192.168.12.100
10 The ECWRIP is leading edge triggered, not power-flow driven (similar to a counter input leg).
The command to write the IP Address will be sent to the ECOM100 whenever the power flow
11 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
12 V2000 for the specific error code.
To configure all of the ECOM100 TCP/IP parameters in one IBox, see the ECOM100 IP
13 Setup (ECIPSUP) IBox.
14
A
B
C
D
ECWRMID 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 ECOM100
3 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
6 ECOM100#
Slot
Status
K0
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: On the second scan, set the Module ID of the ECOM100. Typically this is done
10 using NetEdit, but this IBox allows you to configure the module ID of the ECOM100 using
your ladder program.
11 The ECWRMID is leading edge triggered, not power-flow driven (similar to a counter input
leg). The command to write the module ID will be sent to the ECOM100 whenever the power
12 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
ECWRNAM 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 ECOM100
3 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
4 by the other ECxxxx IBoxes using this specific ECOM100 module.
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 Rung 2: On the second 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 using
11 your ladder program.
The ECWRNAM is leading edge triggered, not power-flow driven (similar to a counter input
leg). The command to write the module name will be sent to the ECOM100 whenever the
12 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
ECWRSNM 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 ECOM100
3 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
6 ECOM100#
Slot
Status
K0
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: On the second scan, assign the Subnet Mask of the ECOM100 to 255.255.0.0
10 The ECWRSNM is leading edge triggered, not power-flow driven (similar to a counter input
leg). The command to write the Subnet Mask 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. If it fails, you can look at
12 V2000 for the specific error code.
To configure all of the ECOM100 TCP/IP parameters in one IBox, see the ECOM100 IP
13 Setup (ECIPSUP) IBox.
14
A
B
C
D
ECRX 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 ECOM100
3 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
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
A Parameter
ECOM100# ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ K
DL205 Range
K0-255
B Workspace ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ V
Slave ID ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ K
See DL205 V-memory map - Data Words
K0-90
From Master Element (Src) ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ V See DL205 V-memory map - Data Words
C Number of Bytes ⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠⸠ K
To Slave Element (Dest) ⸠⸠⸠⸠⸠⸠⸠⸠⸠X,Y,C,S,T,CT,GX,GY,V
K1-128
See DL205 V-memory map
ECWX 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 number 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. 2
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
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
ECOM100 IB-710
1
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 9
BOLD italics, and the instruction name and ID will be in BOLD characters.
10
11
12
13
14
A
B
C
D
14
A
B
C
D
NETCFG Example
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 system.
2 Configuration IBoxes must be at the top of your program and must execute every 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
4 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
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
10 identified in BOLD italics, and the instruction name and ID will be in BOLD characters.
11
12
13
14
A
B
C
D
NETRX 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.
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
4 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
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
11 •
targeted by the NETWX instruction
From Master Element (Src): specifies the
location in the master PLC where the data will
12 be sourced
• Number of Bytes: specifies the number of bytes
13 to write to the slave PLC
• To Slave Element (Dest): specifies the slave address the data will be written to
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 completed successfully
NETWX 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 scan. 2
serial ports or DCM/ECOM modules, use the same value you would use in the most significant 3
This IBox defines Network# K0 to be for the local CPU serial port #2 (KF1). For local CPU
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 4
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
6
7
8
9 CTRIO Example (EBC base)
Overview: ERM Workbench must first be used to assign memory addresses to the I/O modules
10 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
configure and define a specific CTRIO module. For this example, the CTRIO module uses
11 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
12 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
CTRIO module. These starting addresses are the memory locations used in the CTRIO IBox
13 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
14 Control” chapter.
A
B
C
D
NOTE: The CTRIO Configuration IBox instructions do 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.
CTRADPT 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 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 rung is a sample method for enabling the CTRADPT command. A C-bit is used
to allow the programmer to control the command from Data View for testing purposes.
8 Turning on C0 will cause the CTRADPT instruction to add a new preset to the preset table for
output #0 on the CTRIO in slot 2. The new preset will be a command to RESET (entry type
9 K1=reset), pulse time is left at zero as the reset type does not use this, and the count at which
it will reset will be 20.
10 Operating procedure for this example code is to load the CTRADPT_ex1.cwb file to your
CTRIO, then enter the code shown here, change to RUN mode, enable output #0 by turning
11 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 execute
CTRADPT command to add a reset for output #0 at a count of 20, turn on C2 to enable
12 output #0, then turn encoder to value of 10+ (output #0 should turn on) and then continue on
to count of 20+ (output #0 should turn off).
13
14
A
B
C
D (Example continued on next page)
4 DS5
HPP
Used
N/A CTRCLRT Parameters
5 • CTRIO#: specifies a specific CTRIO module based
on a user-defined number (see CTRIO Config)
CTRCLRT 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 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. 8
Turning on C0 will cause the CTRCLRT instruction to clear the preset table for output #0 on
the CTRIO in slot 2. 9
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 10
on C2 in Data View, turn encoder on CTRIO to value above 10 and output #0 light will come
C1, enable C0 to execute CTRCLRT command to clear the preset table, turn on C2 to enable 11
on and stay on until a count of 20 is reached, where it will turn off. Now reset the counter with
output #0, then turn encoder to value of 10+ (output #0 should NOT turn on).
12
13
14
A
B
C
D
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
NOTE: The CTRIO Configuration IBox instruction does not require a permissive contact. The top line will be
13 identified in BOLD italics, and the instruction name and ID will be in BOLD characters.
14
A
B
C
D
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
6 CTREDRL 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.
7 The CTRIO has been configured to use V2000 through V2025 for its input data, and V2030
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
on, continue to a count above 20 and the output #0 light will turn off. Now reset the counter 4
on C2 in Data View, turn encoder on CTRIO to value above 10 and output #0 light will come
with C1, enable C0 to execute CTREDRL command to change the second preset count value
to 30, then turn encoder to value of 10+ (output #0 should turn on) and continue on to a value 5
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
(Example continued on next page)
14
A
B
C
D
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
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.
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
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
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.
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
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
CTRLDPR 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 Load Profile IBox will load File #1 into the working memory of Output
0 in CTRIO #1. This example program requires that you load CTRLDPR_IBox.cwb into
9 your Hx-CTRIO(2) module.
10
11
12
13
14 (Example continued on next page)
A
B
C
D
CTRRDER 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 7
identified in BOLD italics, and the instruction name and ID will be in BOLD characters.
Rung 2: This CTRIO Read Error Code IBox will read the Extended Error information from 8
CTRIO #1. This example program requires that you load CTRRDER_IBox.cwb into your
Hx-CTRIO(2) module. 9
10
11
12
13
14
A
B
C
D
11 The Workspace register is for internal use by this IBox instruction and MUST NOT be used
anywhere else in your program.
12 CTRRTLM Parameters
• CTRIO#: specifies a specific CTRIO module based on a
CTRRTLM 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 6
through V2061 for its output data.
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.
Rung 2: This CTRIO Run To Limit Mode IBox sets up Output #2 in CTRIO #1 to output
12
pulses at a Frequency of 1000 Hz until Limit #0 comes on. This example program requires
that you load CTRRTLM_IBox.cwb into your Hx-CTRIO(2) module. 13
14
A
B
C
D
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
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
CTRRTPM 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
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
5 CTRVELO Parameters
• CTRIO#: specifies a specific CTRIO module based on a
6 user defined number (see CTRIO Config Ibox)
• Output#: specifies a CTRIO output to be used by the
instruction
7 • Frequency: specifies the output pulse rate (H2-CTRIO:
20Hz - 25KHz / H2-CTRIO2: 20Hz - 250 KHz)
8 • Duty Cycle: specifies the % of on time versus off time.
This is a hex number. Default of 0 is 50%, also entering
9 50 will yield 50%. 50% duty cycle is defined as on half
the time and off half the time
• Step Count: This DWORD value specifies the number
10 of pulses to output. A Step Count value of -1 (or
0xFFFFFFFF) causes the CTRIO to output pulses continuously. Negative Step Count values must
11 be V-Memory references.
• Workspace: specifies a V-memory location that will be used by the instruction
12 • 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
CTRVELO 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 7
identified in BOLD italics, and the instruction name and ID will be in BOLD characters.
Rung 2: This CTRIO Velocity Mode IBox sets up Output #0 in CTRIO #1 to output 10,000 8
pulses at a Frequency of 1000 Hz. This example program requires that you load CTRVELO_
IBox.cwb into your Hx-CTRIO(2) module. 9
10
11
12
13
14
A
B
C
D
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
13
14
A
B
C
D
CTRWFTR 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
NOTE: The CTRIO Configuration IBox instruction does not require a permissive contact. The top line will be
7 identified in BOLD italics, and the instruction name and ID will be in BOLD characters.
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(2) module.
9
10
11
12
13
14
(Example continued on next page)
A
B
C
D
Notes:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D