DL06 Micro PLC User Manual
Volume 1 of 2
Manual Number: D0-06USER-M
�� WARNING ��Thank you for purchasing automation equipment from Automationdirect.com®, doing business as,AutomationDirect. We want your new automation equipment to operate safely. Anyone who installs oruses this equipment should read this publication (and any other relevant publications) before installing oroperating the equipment.
To minimize the risk of potential safety problems, you should follow all applicable local and national codesthat regulate the installation and operation of your equipment. These codes vary from area to area andusually change with time. It is your responsibility to determine which codes should be followed, and toverify that the equipment, installation, and operation is in compliance with the latest revision of thesecodes.
At a minimum, you should follow all applicable sections of the National Fire Code, National ElectricalCode, and the codes of the National Electrical Manufacturer's Association (NEMA). There may be localregulatory or government offices that can also help determine which codes and standards are necessary forsafe installation and operation.
Equipment damage or serious injury to personnel can result from the failure to follow all applicable codesand standards. We do not guarantee the products described in this publication are suitable for yourparticular application, nor do we assume any responsibility for your product design, installation, oroperation.
Our products are not fault-tolerant and are not designed, manufactured or intended for use or resale as on-line control equipment in hazardous environments requiring fail-safe performance, such as in theoperation of nuclear facilities, aircraft navigation or communication systems, air traffic control, direct lifesupport machines, or weapons systems, in which the failure of the product could lead directly to death,personal injury, or severe physical or environmental damage ("High Risk Activities"). AutomationDirectspecifically disclaims any expressed or implied warranty of fitness for High Risk Activities.
For additional warranty and safety information, see the Terms and Conditions section of our catalog. Ifyou have any questions concerning the installation or operation of this equipment, or if you needadditional information, please call us at 770-844-4200.
This publication is based on information that was available at the time it was printed. AtAutomationDirect we constantly strive to improve our products and services, so we reserve the right tomake changes to the products and/or publications at any time without notice and without any obligation.This publication may also discuss features that may not be available in certain revisions of the product.
TrademarksThis publication may contain references to products produced and/or offered by other companies. Theproduct 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 2013, Automationdirect.com IncorporatedAll Rights Reserved
No part of this manual shall be copied, reproduced, or transmitted in any way without the prior, writtenconsent of Automationdirect.com Incorporated. AutomationDirect retains the exclusive rights to allinformation included in this document.
�� AVERTISSEMENT ��Nous vous remercions d'avoir acheté l'équipement d'automatisation de Automationdirect.comMC, en faisant desaffaires comme, AutomationDirect. Nous tenons à ce que votre nouvel équipement d'automatisation fonctionne entoute sécurité. Toute personne qui installe ou utilise cet équipement doit lire la présente publication (et toutes lesautres 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 etnationaux applicables régissant l'installation et le fonctionnement de votre équipement. Ces codes diffèrent d'unerégion à l'autre et, habituellement, évoluent au fil du temps. Il vous incombe de déterminer les codes à respecter etde vous assurer que l'équipement, l'installation et le fonctionnement sont conformes aux exigences de la version laplus 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). Desorganismes de réglementation ou des services gouvernementaux locaux peuvent également vous aider à déterminerles 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'équipementou causer de graves blessures au personnel. Nous ne garantissons pas que les produits décrits dans cette publicationconviennent à votre application particulière et nous n'assumons aucune responsabilité à l'égard de la conception, del'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 reventeen 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, lecontrôle de la circulation aérienne, les équipements de survie ou les systèmes d'armes, pour lesquels la défaillance duproduit 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 etconditions 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 au770-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 nousnous réservons le droit d'apporter des modifications aux produits ou aux publications en tout temps, sans préavis niquelque obligation que ce soit. La présente publication peut aussi porter sur des caractéristiques susceptibles de nepas être offertes dans certaines versions révisées du produit.
Marques de commerceLa présente publication peut contenir des références à des produits fabriqués ou offerts par d'autres entreprises. Lesdé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 2013, Automationdirect.com IncorporatedTous 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 leconsentement préalable écrit de la société Automationdirect.com Incorporated. AutomationDirect conserve lesdroits exclusifs à l'égard de tous les renseignements contenus dans le présent document.
DL06 MICRO PLC USER MANUAL
Please include the Manual Number and the Manual Issue, both shown below,when communicating with Technical Support regarding this publication.
Manual Number: D0-06USER-M
Issue: 3rd Edition, Rev. C
Issue Date: 2/13
Publication HistoryIssue Date Description of Changes
First Edition 7/02 OriginalRev. A 10/02 Updated drawing images and made minor corrections.Rev. B 6/03 Added new PLC and made numerous corrections.
2nd Edition 3/04 Added two appendices, removed discrete module data and made numerouscorrections.
3rd Edition 3/07
Corrected all tables, many corrections to Chapters 2, 3, 4, 5, 6, and 7; Chapter 3(HSIO) was moved to the Appendices and Chapter 4 was divided into Chapters 3 &4; added DS5 Intelligent Boxes to Chapter 5; added Ramp/Soak example to Chapter8; Numbering Systems and Serial Communications were added to Appendices; manyminor corrections were made throughout manual.
Rev. A 5/07 Minor corrections and updates.
Rev. B 6/11Updated Chapter 5 with current DirectSOFT dialog views, corrected number ofregisters needed to use the print message instruction, removed fuses and correctedI/O wiring drawings, and other minor corrections and updates.
Rev. C 2/13Added H0-CTRIO2 references.Minor corrections and updates.Added transient suppression for inductive loads.
VOLUME ONE:TABLE OF CONTENTS
Chapter 1: Getting Started
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–2The Purpose of this Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–2Supplemental Manuals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–2Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–2
Conventions Used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–3Key Topics for Each Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–3
DL06 Micro PLC Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–4The DL06 PLC Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–4DirectSOFT Programming for Windows™ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–4Handheld Programmer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–5
I/O Quick Selection Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–5
Quick Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–6
Steps to Designing a Successful System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–10
Questions and Answers about DL06 Micro PLCs . . . . . . . . . . . . . . . . . . . . . . . . . . .1–12
Chapter 2: Installation, Wiring, and Specifications
Safety Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–2Plan for Safety . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–2Three Levels of Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–3Emergency Stops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–3Emergency Power Disconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–4Orderly System Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–4Class 1, Division 2 Approval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–4
Orientation to DL06 Front Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–5Terminal Block Removal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–6
Mounting Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–7Unit Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–7Enclosures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–7Panel Layout & Clearances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–8Using Mounting Rails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–9Environmental Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–10Agency Approvals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–10Marine Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–10
Wiring Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–11External Power Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–12Planning the Wiring Routes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–12Fuse Protection for Input and Output Circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–13I/O Point Numbering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–13
System Wiring Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–14PLC Isolation Boundaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–14Connecting Operator Interface Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–15Connecting Programming Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–15Sinking / Sourcing Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–16I/O “Common” Terminal Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–17Connecting DC I/O to “Solid State” Field Devices . . . . . . . . . . . . . . . . . . . . . . . . .2–18Solid State Input Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–18Solid State Output Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–18Relay Output Wiring Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–20Relay Outputs-Transient Suppression For Inductive Loads in a Control System . . . .2–21Prolonging Relay Contact Life . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–26DC Input Wiring Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–27DC Output Wiring Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–28High-Speed I/O Wiring Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–29
Wiring Diagrams and Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–30D0–06AA I/O Wiring Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–30D0–06AR I/O Wiring Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–32D0–06DA I/O Wiring Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–34D0–06DD1 I/O Wiring Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–36D0–06DD2 I/O Wiring Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–38D0–06DR I/O Wiring Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–40D0–06DD1–D I/O Wiring Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–42D0–06DD2–D I/O Wiring Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–44
DL06 Micro PLC User Manual, 3rd Edition, Rev. Cii
Table of Contents
D0–06DR–D I/O Wiring Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–46
Glossary of Specification Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–48
Chapter 3: CPU Specifications and Operation
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–2DL06 CPU Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–2
CPU Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–3
CPU Hardware Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–4Communication Port Pinout Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–4Connecting the Programming Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–5CPU Setup Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–5Status Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–6Mode Switch Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–6Changing Modes in the DL06 PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–7Mode of Operation at Power-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–7
Using Battery Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–8Battery Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–8Auxiliary Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–9Clearing an Existing Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–9Initializing System Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–9Setting Retentive Memory Ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–10Using a Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–11
CPU Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–12CPU Operating System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–12Program Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–13Run Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–13Read Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–14Service Peripherals and Force I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–14CPU Bus Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–15Update Clock, Special Relays and Special Registers . . . . . . . . . . . . . . . . . . . . . . . . .3–15Solve Application Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–16Solve PID Loop Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–16Write Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–16Write Outputs to Specialty I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–16Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–17
DL06 Micro PLC User Manual, 3rd Edition, Rev. C iii
Table of Contents
I/O Response Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–17Is Timing Important for Your Application? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–17Normal Minimum I/O Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–18Normal Maximum I/O Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–18Improving Response Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–19
CPU Scan Time Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–20Reading Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–20Writing Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–20Service Peripherals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–21CPU Bus Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–21Update Clock/Calendar, Special Relays, Special Registers . . . . . . . . . . . . . . . . . . . .3–21Application Program Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–22PLC Numbering Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–23PLC Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–23V–Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–24Binary-Coded Decimal Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–24Hexadecimal Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–24
Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–25Octal Numbering System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–25Discrete and Word Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–25V-memory Locations for Discrete Memory Areas . . . . . . . . . . . . . . . . . . . . . . . . . . .3–25Input Points (X Data Type) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–26Output Points (Y Data Type) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–26Control Relays (C Data Type) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–26Timers and Timer Status Bits (T Data Type) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–26Timer Current Values (V Data Type) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–27Counters and Counter Status Bits (CT Data type) . . . . . . . . . . . . . . . . . . . . . . . . . .3–27Counter Current Values (V Data Type) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–27Word Memory (V Data Type) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–28Stages (S Data type) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–28Special Relays (SP Data Type) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–28
DL06 System V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–29System Parameters and Default Data Locations (V Data Type) . . . . . . . . . . . . . . . .3–29
DL06 Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–31
DL06 Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–32
X Input/Y Output Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–33
DL06 Micro PLC User Manual, 3rd Edition, Rev. Civ
Table of Contents
Stage Control/Status Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–34
Control Relay Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–36
Timer Status Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–38
Counter Status Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–38
GX and GY I/O Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–39
Chapter 4: System Design and Configuration
DL06 System Design Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–2I/O System Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–2Networking Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–2
Module Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–3Slot Numbering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–3Automatic I/O Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–4Manual I/O Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–4
Power Budgeting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–5Power supplied . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–5Power required by base unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–5Power required by option cards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–5
Configuring the DL06’s Comm Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–7DL06 Port Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–7DL06 Port Pinouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–7Choosing a Network Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–8RS-232 Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–8RS-422 Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–8RS-485 Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–8
Connecting to MODBUS and DirectNET Networks . . . . . . . . . . . . . . . . . . . . . . . . .4–9MODBUS Port Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–9DirectNET Port Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–10
Non–Sequence Protocol (ASCII In/Out and PRINT) . . . . . . . . . . . . . . . . . . . . . . . .4–11Non-Sequence Port Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–11
Network Slave Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–12MODBUS Function Codes Supported . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–12Determining the MODBUS Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–12If Your Host Software Requires the Data Type and Address . . . . . . . . . . . . . . . . . . .4–13
DL06 Micro PLC User Manual, 3rd Edition, Rev. C v
Table of Contents
Example 1: V2100 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–14Example 2: Y20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–14Example 3: T10 Current Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–14Example 4: C54 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–14If Your MODBUS Host Software Requires an Address ONLY . . . . . . . . . . . . . . . . . .4–15Example 1: V2100 584/984 Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–17Example 2: Y20 584/984 Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–17Example 3: T10 Current Value 484 Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–17Example 4: C54 584/984 Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–17
Network Master Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–18Step 1: Identify Master Port # and Slave # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–19Step 2: Load Number of Bytes to Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–19Step 3: Specify Master Memory Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–20Step 4: Specify Slave Memory Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–20Communications from a Ladder Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–21Multiple Read and Write Interlocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–21
Network Master Operation (using MRX and MWX Instructions) . . . . . . . . . . . . .4–22MODBUS Function Codes Supported . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–22MODBUS Read from Network(MRX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–23MRX Slave Memory Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–24MRX Master Memory Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–24MRX Number of Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–24MRX Exception Response Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–24MODBUS Write to Network (MWX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–25MWX Slave Memory Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–26MWX Master Memory Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–26MWX Number of Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–26MWX Exception Response Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–26MRX/MWX Example in DirectSOFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–27Multiple Read and Write Interlocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–27
Chapter 5: Standard RLL Instructions
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–2
Using Boolean Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–5END Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–5Simple Rungs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–5
DL06 Micro PLC User Manual, 3rd Edition, Rev. Cvi
Table of Contents
Normally Closed Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–6Contacts in Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–6Midline Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–6Parallel Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–7Joining Series Branches in Parallel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–7Joining Parallel Branches in Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–7Combination Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–7Comparative Boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–8Boolean Stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–8Immediate Boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–9
Boolean Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–10
Comparative Boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–26
Immediate Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–32
Timer, Counter and Shift Register Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . .5–39Using Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–39Timer Example Using Discrete Status Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–41Timer Example Using Comparative Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–41Accumulating Timer Example using Discrete Status Bits . . . . . . . . . . . . . . . . . . . . .5–43Accumulator Timer Example Using Comparative Contacts . . . . . . . . . . . . . . . . . . .5–43Using Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–44Counter Example Using Discrete Status Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–46Counter Example Using Comparative Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . .5–46Stage Counter Example Using Discrete Status Bits . . . . . . . . . . . . . . . . . . . . . . . . .5–48Stage Counter Example Using Comparative Contacts . . . . . . . . . . . . . . . . . . . . . . .5–48Up / Down Counter Example Using Discrete Status Bits . . . . . . . . . . . . . . . . . . . . .5–50Up / Down Counter Example Using Comparative Contacts . . . . . . . . . . . . . . . . . .5–50
Accumulator/Stack Load and Output Data Instructions . . . . . . . . . . . . . . . . . . . .5–52Using the Accumulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–52Copying Data to the Accumulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–52Changing the Accumulator Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–53Using the Accumulator Stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–54Using Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–55
Logical Instructions (Accumulator) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–69
Math Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–86
Transcendental Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–118
DL06 Micro PLC User Manual, 3rd Edition, Rev. C vii
Table of Contents
Bit Operation Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–120
Number Conversion Instructions (Accumulator) . . . . . . . . . . . . . . . . . . . . . . . . .5–127Shuffle Digits Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–139
Table Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–141Copy Data From a Data Label Area to V-memory . . . . . . . . . . . . . . . . . . . . . . . . .5–143
Clock/Calendar Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–171
CPU Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–173
Program Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–175
Interrupt Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–183
Message Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–186Move Block Instruction (MOVBLK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–189Copy Data From a Data Label Area to V-memory . . . . . . . . . . . . . . . . . . . . . . . . .5–189
Intelligent I/O Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–194Read from Intelligent Module (RD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–194Write to Intelligent Module (WT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–195
Network Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–196Direct Text Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–200Embedding date and/or time variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–201Embedding V-memory data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–201Data Format Suffixes for Embedded V-memory Data . . . . . . . . . . . . . . . . . . . . . .5–202Text Entry from V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–203
MODBUS RTU Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–204MRX Slave Address Ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–205MWX Slave Address Ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–208MWX Master Memory Address Ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–208MWX Number of Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–208MWX Exception Response Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–208
ASCII Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–210Reading ASCII Input Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–210Writing ASCII Output Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–210Managing the ASCII Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–211
Intelligent Box (IBox) Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–230
DL06 Micro PLC User Manual, 3rd Edition, Rev. Cviii
Table of Contents
DL06 Micro PLC User Manual, 3rd Edition, Rev. C ix
Table of Contents
Chapter 6: Drum Instruction Programming
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–2Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–2Drum Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–2Drum Chart Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–3Output Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–3
Step Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–4Drum Instruction Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–4Timer-Only Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–4Timer and Event Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–5Event-Only Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–6Counter Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–6Last Step Completion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–7
Overview of Drum Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–8Drum Instruction Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–8Powerup State of Drum Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–9
Drum Control Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–10Drum Control Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–10Self-Resetting Drum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–11Initializing Drum Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–11Using Complex Event Step Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–11
Drum Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–12Timed Drum with Discrete Outputs (DRUM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–12Event Drum (EDRUM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–14Handheld Programmer Drum Mnemonics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–16
VOLUME TWO:TABLE OF CONTENTS
DL06 Micro PLC User Manual, 3rd Edition, Rev. Cx
Table of Contents
Masked Event Drum with Discrete Outputs (MDRMD) . . . . . . . . . . . . . . . . . . . . . .6–19Masked Event Drum with Word Output (MDRMW) . . . . . . . . . . . . . . . . . . . . . . . .6–21
Chapter 7: RLLPLUS Stage Programming
Introduction to Stage Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–2Overcoming “Stage Fright” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–2
Learning to Draw State Transition Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–3Introduction to Process States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–3The Need for State Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–3A 2–State Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–3RLL Equivalent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–4Stage Equivalent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–4Let’s Compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–5Initial Stages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–5What Stage Bits Do . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–6Stage Instruction Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–6
Using the Stage Jump Instruction for State Transitions . . . . . . . . . . . . . . . . . . . . . .7–7Stage Jump, Set, and Reset Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–7
Stage Program Example: Toggle On/Off Lamp Controller . . . . . . . . . . . . . . . . . . .7–8A 4–State Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–8
Four Steps to Writing a Stage Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–91. Write a Word Description of the application. . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–92. Draw the Block Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–93. Draw the State Transition Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–94. Write the Stage Program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–9
Stage Program Example: A Garage Door Opener . . . . . . . . . . . . . . . . . . . . . . . . .7–10Garage Door Opener Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–10Draw the Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–10Draw the State Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–11Add Safety Light Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–12Modify the Block Diagram and State Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–12Using a Timer Inside a Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–13Add Emergency Stop Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–14Exclusive Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–14
Stage Program Design Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–15
Stage Program Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–15How Instructions Work Inside Stages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–16Using a Stage as a Supervisory Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–17Stage Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–17Power Flow Transition Technique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–18Stage View in DirectSOFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–18
Parallel Processing Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–19Parallel Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–19Converging Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–19Convergence Stages (CV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–19Convergence Jump (CVJMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–20Convergence Stage Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–20
RLLPLUS (Stage) Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–21Stage (SG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–21Initial Stage (ISG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–22Jump (JMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–22Not Jump (NJMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–22Converge Stage (CV) and Converge Jump (CVJMP) . . . . . . . . . . . . . . . . . . . . . . . .7–23Block Call (BCALL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–25Block (BLK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–25Block End (BEND) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7–25
Questions and Answers about Stage Programming . . . . . . . . . . . . . . . . . . . . . . . .7–27
Chapter 8: PID Loop Operation
DL06 PID Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–2DL06 PID Control Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–2
Introduction to PID Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–4What is PID Control? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–4
Introducing DL06 PID Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–6Process Control Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–8
PID Loop Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–9Position Form of the PID Equation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–9Reset Windup Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–10Freeze Bias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–11Adjusting the Bias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–11
DL06 Micro PLC User Manual, 3rd Edition, Rev. C xi
Table of Contents
Step Bias Proportional to Step Change in SP . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–12Eliminating Proportional, Integral or Derivative Action . . . . . . . . . . . . . . . . . . . . . .8–12Velocity Form of the PID Equation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–12Bumpless Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–13Loop Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–13Loop Operating Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–14Special Loop Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–14
Ten Steps to Successful Process Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–16
PID Loop Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–18Some Things to Do and Know Before Starting . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–18PID Error Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–18Establishing the Loop Table Size and Location . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–18Loop Table Word Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–20PID Mode Setting 1 Bit Descriptions (Addr + 00) . . . . . . . . . . . . . . . . . . . . . . . . . .8–21PID Mode Setting 2 Bit Descriptions (Addr + 01) . . . . . . . . . . . . . . . . . . . . . . . . . .8–22Mode/Alarm Monitoring Word (Addr + 06) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–23Ramp/Soak Table Flags (Addr + 33) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–23Ramp/Soak Table Location (Addr + 34) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–24Ramp/Soak Table Programming Error Flags (Addr + 35) . . . . . . . . . . . . . . . . . . . . .8–24Configure the PID Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–25
PID Loop Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–40Open-Loop Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–40Manual Tuning Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–41Alternative Manual Tuning Procedures by Others . . . . . . . . . . . . . . . . . . . . . . . . . .8–44Tuning PID Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–44Auto Tuning Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–45Use DirectSOFT 5 Data View with PID View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–49Open a New Data View Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–49Open PID View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–50
Using the Special PID Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–53How to Change Loop Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–53Operator Panel Control of PID Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–54PLC Modes Effect on Loop Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–54Loop Mode Override . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–54PV Analog Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–55Creating an Analog Filter in Ladder Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–56
DL06 Micro PLC User Manual, 3rd Edition, Rev. Cxii
Table of Contents
Use the DirectSOFT Filter Intelligent Box Instructions . . . . . . . . . . . . . . . . . . . . . . .8-57FilterB Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-57
Ramp/Soak Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–58Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–58Ramp/Soak Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–59Ramp/Soak Table Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–61Ramp/Soak Generator Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–61Ramp/Soak Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–61Ramp/Soak Profile Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–62Ramp/Soak Programming Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–62Testing Your Ramp/Soak Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–62
DirectSOFT Ramp/Soak Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-63Setup the Profile in PID Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-63Program the Ramp/Soak Control in Relay Ladder . . . . . . . . . . . . . . . . . . . . . . . . . .8-63Test the Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-64
Cascade Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–65Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–65Cascaded Loops in the DL06 CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–66Tuning Cascaded Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–67
Time-Proportioning Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–68On/Off Control Program Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–69
Feedforward Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–70Feedforward Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–71
PID Example Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–72Program Setup for the PID Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–72
Troubleshooting Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–75
Glossary of PID Loop Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–77
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8–79
Chapter 9: Maintenance and Troubleshooting
Hardware System Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–2Standard Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–2
Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–2Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–2
DL06 Micro PLC User Manual, 3rd Edition, Rev. C xiii
Table of Contents
Fatal Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–2Non-fatal Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–2V-memory Error Code Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–3Special Relays (SP) Corresponding to Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . .9–3DL06 Micro PLC Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–4Program Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–5
CPU Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–6PWR Indicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–6RUN Indicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–7CPU Indicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–7
Communications Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–7
I/O Point Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–8Possible Causes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–8Some Quick Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–8Handheld Programmer Keystrokes Used to Test an Output Point . . . . . . . . . . . . . . .9–9
Noise Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–10Electrical Noise Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–10Reducing Electrical Noise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–10
Machine Startup and Program Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . .9–11Syntax Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–11Special Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–12Duplicate Reference Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–13Run Time Edits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–14Run Time Edit Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–15Forcing I/O Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–16Regular Forcing with Direct Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–18Bit Override Forcing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–19Bit Override Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9–19
Chapter 10: LCD Display Panel
Introduction to the DL06 LCD Display Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–2
Keypad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–2
Snap-in installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–3
Display Priority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–4
DL06 Micro PLC User Manual, 3rd Edition, Rev. Cxiv
Table of Contents
Menu Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–5
Confirm PLC Type, Firmware Revision Level, Memory Usage, Etc. . . . . . . . . . . . .10–6
Examining Option Slot Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–8Menu 2, M2:SYSTEM CFG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–8
Monitoring and Changing Data Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–10Menu 3, M3:MONITOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–10Data Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–10V-memory values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–10Pointer values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–12
Bit Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–13Bit status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–13
Changing Date and Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–14Menu 4, M4 : CALENDAR R/W . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–14
Setting Password and Locking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–17Menu 5, M5 : PASSWORD R/W . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–17
Reviewing Error History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–20Menu 6, M6 : ERR HISTORY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–20
Toggle Light and Beeper, Test Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–21Menu 7, M7 : LCD TEST&SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–21
PLC Memory Information for the LCD Display Panel . . . . . . . . . . . . . . . . . . . . . .10–22Data Format Suffixes for Embedded V-memory Data . . . . . . . . . . . . . . . . . . . . . .10–22Reserved memory registers for the LCD Display Panel . . . . . . . . . . . . . . . . . . . . .10–23V7742 bit definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–24
Changing the Default Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–25Example program for setting the default screen message . . . . . . . . . . . . . . . . . . .10–25
DL06 LCD Display Panel Instruction (LCD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–26Source of message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–26ASCII Character Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10–27Example program: alarm with embedded date/time stamp . . . . . . . . . . . . . . . . .10–28Example program: alarm with embedded V-memory data . . . . . . . . . . . . . . . . . .10–29Example program: alarm text from V-memory with embedded V-memory data . .10–30
Appendix A: Auxiliary Functions
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–2
DL06 Micro PLC User Manual, 3rd Edition, Rev. C xv
Table of Contents
Purpose of Auxiliary Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–2Accessing AUX Functions via DirectSOFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–3Accessing AUX Functions via the Handheld Programmer . . . . . . . . . . . . . . . . . . . . .A–3
AUX 2* — RLL Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–4AUX 21 Check Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–4AUX 22 Change Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–4AUX 23 Clear Ladder Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–4AUX 24 Clear Ladders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–4
AUX 3* — V-memory Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–4AUX 31 Clear V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–4
AUX 4* — I/O Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–5AUX 41 Show I/O Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–5
AUX 5* — CPU Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–5AUX 51 Modify Program Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–5AUX 53 Display Scan Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–5AUX 54 Initialize Scratchpad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–5AUX 55 Set Watchdog Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–5AUX 56 CPU Network Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–6AUX 57 Set Retentive Ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–6AUX 58 Test Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–6AUX 59 Bit Override . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–7AUX 5B Counter Interface Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–7AUX 5D Select PLC Scan Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–7
AUX 6* — Handheld Programmer Configuration . . . . . . . . . . . . . . . . . . . . . . . . . .A–8AUX 61 Show Revision Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–8AUX 62 Beeper On/Off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–8AUX 65 Run Self Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–8
AUX 7* — EEPROM Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–8Transferrable Memory Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–8AUX 71 CPU to HPP EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–8AUX 72 HPP EEPROM to CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–9AUX 73 Compare HPP EEPROM to CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–9AUX 74 HPP EEPROM Blank Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–9AUX 75 Erase HPP EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–9AUX 76 Show EEPROM Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–9
DL06 Micro PLC User Manual, 3rd Edition, Rev. Cxvi
Table of Contents
AUX 8* — Password Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–9AUX 81 Modify Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–9AUX 82 Unlock CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–10AUX 83 Lock CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A–10
Appenedix B: DL06 Error codes
DL06 Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .B–2
Appendix C: Instruction Execution Times
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–2V-Memory Data Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–2V-Memory Bit Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–2How to Read the Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–2
Instruction Execution Times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–3Boolean Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–3Comparative Boolean Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–4Immediate Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–11Bit of Word Boolean Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–12Timer, Counter and Shift Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–13Accumulator Data Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–14Logical Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–15Math Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–16Differential Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–19Bit Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–19Number Conversion Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–20Table Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–20CPU Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–22Program Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–22Interrupt Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–22Network Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–22Intelligent I/O Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–23Message Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–23RLLPLUS Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–23Drum Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–23Clock/Calendar Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–24MODBUS Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–24
DL06 Micro PLC User Manual, 3rd Edition, Rev. C xvii
Table of Contents
DL06 Micro PLC User Manual, 3rd Edition, Rev. Cxviii
Table of Contents
ASCII Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C–24
Appendix D: Special Relays
DL06 PLC Special Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–2Startup and Real-Time Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–2CPU Status Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–2System Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–3Accumulator Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–3HSIO Input Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–4HSIO Pulse Output Relay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–4Communication Monitoring Relay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–4Option Slot Communication Monitoring Relay . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–4Option Slot Special Relay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–4Counter 1 Mode 10 Equal Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–5Counter 2 Mode 10 Equal Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D–6
Appendix E: High-speed Input and Pulse Output Features
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–2Built-in Motion Control Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–2Availability of HSIO Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–2Dedicated High- Speed I/O Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–3Wiring Diagrams for Each HSIO Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–3
Choosing the HSIO Operating Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–4Understanding the Six Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–4Default Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–5Configuring the HSIO Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–6Configuring Inputs X0 – X3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–6
Mode 10: High-Speed Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–7Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–7Functional Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–7Wiring Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–8Interfacing to Counter Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–8Setup for Mode 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–9Presets and Special Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–9Absolute and Incremental Presets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–10Preset Data Starting Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–11Using Fewer than 24 Presets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–11
Equal Relay Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–12Calculating Your Preset Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–13X Input Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–14Writing Your Control Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–15Program Example 1: Counter Without Presets . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–16Program Example 2: Counter With Presets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–18Program Example 3: Counter With Preload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–21Troubleshooting Guide for Mode 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–23Symptom: The counter does not count. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–23Symptom: The counter counts but the presets do not function. . . . . . . . . . . . . . . .E–23Symptom: The counter counts up but will not reset. . . . . . . . . . . . . . . . . . . . . . . .E–23
Mode 20: Up/Down Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–24Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–24Functional Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–24Quadrature Encoder Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–25Wiring Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–25Interfacing to Encoder Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–26Setup for Mode 20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–27Presets and Special Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–27X Input Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–28Mode 20 Up/Down Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–28Writing Your Control Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–29Program Example 1: Quadrature Counting with an Interrupt . . . . . . . . . . . . . . . . .E–30Program Example 2: Up/Down Counting with Standard Inputs . . . . . . . . . . . . . . .E–32Program Example 3: Quadrature Counting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–34Troubleshooting Guide for Mode 20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–37Symptom: The counter does not count. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–37Symptom: The counter counts in the wrong direction . . . . . . . . . . . . . . . . . . . . . .E–37Symptom: The counter counts up and down but will not reset. . . . . . . . . . . . . . . .E–37
Mode 30: Pulse Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–38Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–38Functional Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–39Wiring Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–40Interfacing to Drive Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–40Motion Profile Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–41Physical I/O Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–41Logical I/O Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–41
DL06 Micro PLC User Manual, 3rd Edition, Rev. C xix
Table of Contents
Setup for Mode 30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–42Profile/Velocity Select Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–43Profile Parameter Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–43Automatic Trapezoidal Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–43Step Trapezoidal Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–44Velocity Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–44Step Trapezoidal Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–44Choosing the Profile Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–45Automatic Trapezoidal Profile Defined . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–45Step Trapezoidal Profiles Defined . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–46Velocity Control Defined . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–46Automatic Trapezoidal Profile Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–47Program Example 1: Automatic Trapezoidal Profile without External Interrupt . . . .E–48Preload Position Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–49Program Example 2: Automatic Trapezoidal Profile with External Interrupt . . . . . . .E–50Program Example 3: Automatic Trapezoidal Profile with Home Search . . . . . . . . . .E–53Step Trapezoidal Profile Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–58Program Example 4: Step Trapezoidal Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–59Velocity Profile Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–62Program Example 5: Velocity Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–63Automatic Trapezoidal Profile Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–65Troubleshooting Guide for Mode 30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–65Symptom: The stepper motor does not rotate. . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–65Symptom: The motor turns in the wrong direction. . . . . . . . . . . . . . . . . . . . . . . . .E–66
Mode 40: High-Speed Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–67Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–67Functional Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–67Setup for Mode 40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–68Interrupts and the Ladder Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–68External Interrupt Timing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–69Timed Interrupt Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–69X Input/Timed INT Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–69Program Example 1: External Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–70Program Example 2: Timed Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–71
Mode 50: Pulse Catch Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–72Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–72Functional Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–72
DL06 Micro PLC User Manual, 3rd Edition, Rev. Cxx
Table of Contents
Pulse Catch Timing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–72Setup for Mode 50 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–73X Input Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–74Program Example 1: Pulse Catch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–75
Mode 60: Discrete Inputs with Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–76Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–76Functional Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–76Input Filter Timing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–76Setup for Mode 60 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–77X Input Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–77Program Example: Filtered Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .E–78
Appendix F: PLC Memory
DL06 PLC Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .F-2Non-volatile V-memory in the DL06 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .F-3
Appendix G: ASCII TableASCII Conversion Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .G-2
Appendix H: Product Weights
Product Weight Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .H–2
Appendix I: Numbering Systems
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I–2
Binary Numbering System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I–2
Hexadecimal Numbering System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I–3
Octal Numbering System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I–4
Binary Coded Decimal (BCD) Numbering System . . . . . . . . . . . . . . . . . . . . . . . . . .I–5
Real (Floating Point) Numbering System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I–5
BCD/Binary/Decimal/Hex/Octal -What is the Difference? . . . . . . . . . . . . . . . . . . . .I–6
Data Type Mismatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I–7
Signed vs. Unsigned Integers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I–8
AutomationDirect.com Products and Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . .I–9
DL06 Micro PLC User Manual, 3rd Edition, Rev. C xxi
Table of Contents
DirectLOGIC PLCs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I–9C-more/C-more Micro-Graphic Panels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I–9
Appendix J: European Union Directives (CE)
European Union (EU) Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .J-2Member Countries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .J-2Applicable Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .J-2Compliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .J-2General Safety . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .J-3Special Installation Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .J-4Other Sources of Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .J-4
Basic EMC Installation Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .J-5Enclosures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .J-5Electrostatic Discharge (ESD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .J-5AC Mains Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .J-6Suppression and Fusing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .J-6Internal Enclosure Grounding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .J-6Equi–potential Grounding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .J-7Communications and Shielded Cables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .J-7Analog and RS232 Cables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .J-8Multidrop Cables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .J-8Shielded Cables within Enclosures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .J-8Analog Modules and RF Interference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .J-9Network Isolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .J-9DC Powered Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .J-9Items Specific to the DL06 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .J-10
Appendix K: Introduction to Serial Communications
Introduction to Serial Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .K–2Wiring Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .K–2Communications Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .K–3DL06 Port Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .K–5DL06 Port Pinouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .K–5Port Setup Using DirectSOFT 5 or Ladder Logic Instructions . . . . . . . . . . . . . . . . . . .K–6Port 2 Setup for RLL Using K-Sequence, DirectNET or MODBUS RTU . . . . . . . . . . . .K–7K-Sequence Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .K–10
DL06 Micro PLC User Manual, 3rd Edition, Rev. Cxxii
Table of Contents
DirectNET Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .K–10Step 1: Identify Master Port # and Slave # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .K–10Step 2: Load Number of Bytes to Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .K–10Step 3: Specify Master Memory Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .K–11Step 4: Specify Slave Memory Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .K–12Communications from a Ladder Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .K–13Multiple Read and Write Interlocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .K–13MODBUS RTU Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .K–14ASCII Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .K–14
Index
DL06 Micro PLC User Manual, 3rd Edition, Rev. C xxiii
Table of Contents
GETTING STARTED 11CHAPTERCHAPTER
1111CHAPTER
In This Chapter...Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–2Conventions Used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–3DL06 Micro PLC Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–4I/O Quick Selection Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–5Quick Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1–6Steps to Designing a Successful System . . . . . . . . . . . . . . . . . . . . .1–10Questions and Answers about DL06 Micro PLCs . . . . . . . . . . . . . .1–12
Introduction
The Purpose of this ManualThank you for purchasing a DL06 Micro PLC. This manual shows you how to install,program, and maintain all PLCs in the DL06 family. It also helps you understand how tointerface them to other devices in a control system.This manual contains importantinformation for personnel who will install DL06 PLCs and for the PLC programmer. Thisuser manual will provide the information you need to get and keep your system up andrunning.
Supplemental ManualsThe D0–OPTIONS–M manual contains technical information about the option cardsavailable for the DL06 PLCs. This information includes specifications and wiring diagramsthat will be indispensable if you use any of the optional I/O or communications cards. If youhave purchased one of our operator interface panels or DirectSOFT™ programmingsoftware, you will want to refer to the manuals that are written for these products.
Technical SupportWe strive to make our manuals the best in the industry. We rely on your feedback to let usknow if we are reaching our goal. If you cannot find the solution to your particularapplication, or, if for any reason you need technical assistance, please call us at
770–844–4200
Our technical support group will work with you to answer your questions. They are availableMonday through Friday from 9:00 A.M. to 6:00 P.M. Eastern Time. We also encourage youto visit our web site where you can find technical and non-technical information about ourproducts and our company.
http://www.automationdirect.com
If you have a comment, question or suggestion about any of our products, services, ormanuals, please fill out and return the Suggestions card included with this manual.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C1–2
Chapter 1: Getting Started
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Conventions Used
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 1–3
Chapter 1: Getting Started
1
2
3
4
5
67
8
9
10
1112
13
14
A
B
C
D
Getting Started CHAPTER1
In This Chapter...
.................................................................1-2
...........................................................................1-4Specifications
General Information
Key Topics for Each ChapterThe beginning of each chapter will list the key topicsthat can be found in that chapter.
When you see the exclamation point icon in the left-hand margin, the paragraph to itsimmediate right will be a warning. This information could prevent injury, loss ofproperty, or even death in extreme cases. Any warning in this manual should beregarded as critical information that should be read in its entirety. The word WARNING in boldface type will mark the beginning of the text.
When you see the notepad icon in the left-hand margin, the paragraph to itsimmediate right will be a special note. Notes represent information that may makeyour work quicker or more efficient. The word NOTE in boldface type will mark the beginning of the text.
DL06 Micro PLC OverviewThe DL06 micro PLC family is a versatile product line thatcombines powerful features and a very compact footprint.The DL06 PLCs offer expandable I/O, high-speed counter,floating point, PID, etc. There are a number ofcommunication options and an optional LCD display.
The DL06 PLC FeaturesThe DL06 Micro PLC family includes nine differentversions. All have the same appearance and CPUperformance. The CPU offers an instruction set very similar to our powerful new DL260CPU including new easy to use ASCII and MODBUS instructions. All DL06 PLCs have twobuilt-in communications ports that can be used for programming, operator interface,networking, etc.
Units with DC inputs have selectable high-speed input features on four input points. Unitswith DC outputs offer selectable pulse output capability on the first and second outputpoints. Details of these features and more are covered in Chapter 3, CPU Specifications andOperation. There are nine versions of the DL06 PLC. The most common industrial I/Otypes and power supply voltages are available. Consult the following table to find the modelnumber of the PLC that best fits your application.
DDiirreeccttSOFT 5 Programming for Windows™The DL06 Micro PLC can be programmed with DirectSOFT 5, Ver. 5 or later, a Windows-based software package that supports familiar features such as cut-and-paste betweenapplications, point-and-click editing, viewing and editing multiple application programs atthe same time, floating views, intelligent boxes, etc. Firmware version 2.10 is needed in orderto use the intelligent boxes.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C1–4
Chapter 1: Getting Started
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DL06 Micro PLC FamilyDL06 PartNumber
Discrete InputType
Discrete OutputType External Power High-Speed
Input Pulse Output
D0–06AA AC AC 95–240 VAC No NoD0–06AR AC Relay 95–240 VAC No NoD0–06DA DC AC 95–240 VAC Yes NoD0–06DD1 DC DC Sinking 95–240 VAC Yes YesD0–06DD2 DC DC Sourcing 95–240 VAC Yes YesD0–06DR DC Relay 95–240 VAC Yes NoD0–06DD1–D DC DC Sinking 12–24 VDC Yes YesD0–06DD2–D DC DC Sourcing 12–24 VDC Yes Yes D0–06DR–D DC Relay 12–24 VDC Yes No
DirectSOFT 5 (part number PC-DSOFT5) supports the DirectLOGIC CPU families. Youcan use DirectSOFT 5 to program the DL05, DL06, DL105, DL205, DL305, and DL405CPUs. A separate manual discusses DirectSOFT 5 programming software. Earlierprogramming software versions such as DirectSOFT32, version 4.0 can also be used toprogram the DL06.
Handheld ProgrammerAll DL06 Micro PLCs have a built-in programming port for use with the handheldprogrammer (D2–HPP), the same programmer used with the DL05, DL105 and DL205families. The handheld programmer can be used to create, modify and debug yourapplication program. A separate manual discusses the Handheld Programmer. OnlyD2–HPPs with firmware version 2.0 or later will program the DL06.
NOTE: Not all instructions are available to use with the HPP - the real number instructions, forexample. DirectSOFT will be needed to program instructions such as these.
I/OQuick Selection GuideThe nine versions of the DL06 have input/output circuits which can interface to a widevariety of field devices. In several instances a particular input or output circuit can interface toeither DC or AC voltages, or both sinking and sourcing circuit arrangements. Check thisguide to find the proper DL06 Micro PLC to interface to the field devices in your application.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 1–5
Chapter 1: Getting Started
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
I/O Selection Guide
DL06 PartNumber
INPUTS OUTPUTSI/O type/commons Sink/Source
VoltageRanges
I/O type/commons Sink/Source Voltage/ Current Ratings*
D0–06AA AC / 5 – 90 – 120 VAC AC / 4 – 17 – 240 VAC, 50/60 Hz 0.5A
D0–06AR AC / 5 – 90 – 120 VAC Relay / 4 Sink or Source 6 – 27VDC, 2A 6 – 240 VAC, 2A D0–06DA DC / 5 Sink or Source 12 – 24 VDC AC / 4 – 17 – 240 VAC, 50/60 Hz 0.5A
D0–06DD1 DC / 5 Sink or Source 12 – 24 VDC DC / 4 Sink 6 – 27 VDC, 0.5A (Y0–Y1)6 – 27 VDC, 1.0A (Y2–Y17)
D0–06DD2 DC / 5 Sink or Source 12 – 24 VDC DC / 4 Source 12 – 24 VDC, 0.5A (Y0–Y1)12 – 24 VDC, 1.0A (Y2–Y17)
D0–06DR DC / 5 Sink or Source 12 – 24 VDC Relay / 4 Sink or Source 6 – 27VDC, 2A 6 – 240 VAC, 2A
D0–06DD1–D DC / 5 Sink or Source 12 – 24 VDC DC / 4 Sink 6 – 27 VDC, 0.5A (Y0–Y1) 6 – 27 VDC, 1.0A (Y2–Y17)
D0–06DD2–D DC / 5 Sink or Source 12 – 24 VDC DC / 4 Source 12 – 24 VDC, 0.5A (Y0–Y1)12 – 24 VDC, 1.0A (Y2–Y17)
D0–06DR–D DC / 5 Sink or Source 12 – 24 VDC Relay / 4 Sink or Source 6 – 27 VDC, 2A 6 – 240 VAC, 2A
* See Chapter 2, Specifications for more information about a particular DL06 version.
Quick StartThis example is not intended to tell you everything you need to know about programmingand starting up a complex control system. It is only intended to give you an opportunity todemonstrate to yourself and others the basic steps necessary to power up the PLC andconfirm its operation. Please look for warnings and notes throughout this manual forimportant information you will not want to overlook.
Step 1: Unpack the DL06 EquipmentUnpack the DL06 and gather the parts necessary to build this demonstration system. Therecommended components are:• DL06 Micro PLC
• AC power cord or DC power supply
• Toggle switches (see Step 2 on next page)
• Hook-up wire, 16-22 AWG
• DL06 User Manual (this manual)
• A small screwdriver, 5/8” flat or #1 Philips type
You will need at least one of the following programming options:• DirectSOFT 5 Programming Software V5.0 or later (PC-DSOFT5), DirectSOFT 5 ProgrammingSoftware Manual (included with the software), and a programming cable (D2-DSCBL connects theDL06 to a personal computer).
or
• D2-HPP Handheld Programmer, firmware version 2.0 or later, (comes with programming cable).Please purchase Handheld Programmer Manual D2-HPP-M separately.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C1–6
Chapter 1: Getting Started
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
LOGICKoyo06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V0V
N.C.C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1LGG
AC(L)
D0-06DR2.0AOUTPUT: 6-240V 50 - 60Hz 2.0A, 6 - 27V
INPUT: 12 - 24V 3 - 15mA
YX
40VA50-60HzPWR: 100-240V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
PORT1 PORT2
TERM
RUN STOP
PWRRUNCPUTX1RX1TX2RX2
Step 2: Connect Switches to Input TerminalsTo proceed with this quick-start exercise or to follow other examples in this manual, you willneed to connect one or more input switches as shown below. If you have DC inputs on anAC-supply DL06, you can use the auxiliary 24VDC supply on the output terminal block orother external 12-24VDC power supply. Be sure to follow the instructions in theaccompanying WARNING on this page.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 1–7
Chapter 1: Getting Started
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
LOGICKoyo06
fuse
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V0V
+VC1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1LGG
AC(L)OUTPUT: Sinking Output 6 - 27V 1.0A
INPUT: 12 - 24V 3 - 15mA
YX
D0-06DD140VA50-60HzPWR: 100-240V
+24 VDC+
-
L LL L L LL LL LL L L LL L
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
12 - 24 VDC+
-
LOGICKoyo06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
fuse
AC(N) 24V0V
N.C.C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1LGG
AC(L)
D0-06AA40VA50-60HzPWR: 100-240VOUTPUT: 17-240V 50 - 60Hz 0.5A
YX
7 - 15mAINPUT: 90 - 120V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
fuse
WARNING: Remove power and unplug the DL06 when wiringthe switches. Use only UL-approved switches rated for atleast 250VAC, 1A for AC inputs. Firmly mount the switchesbefore using.
D0-06AA and D0-06ARAC input only
D0-06DA, D0-06DD1, D0-06DD2, D0-06DR,
D0-DD1-D, and D0-06DR1-DDC Input
Toggle SwitchesUL Listed
Toggle SwitchesUL Listed
90 - 120 VAC
Step 3: Connect the Power WiringConnect the power input wiring for the DL06. Observe all precautions stated earlier in thismanual. For more details on wiring, see Chapter 2 on Installation, Wiring, and Specifications.When the wiring is complete, close the connector covers. Do not apply power at this time.
Step 4: Connect the Programming DeviceMost programmers will use DirectSOFT programming software, installed on a personalcomputer. An alternative, if you need a compact portable programming device, is theHandheld Programmer (firmware version 2.20 or later). Both devices will connect to COMport 1 of the DL06 via the appropriate cable.
NOTE: The Handheld Programmer cannot create or access LCD, ASCII or MODBUS instructions.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C1–8
Chapter 1: Getting Started
1
2
3
4
5
6
7
8
9
1011
12
13
14
A
B
CD
LOGICKoyo06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V0V
N.C.C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1LGG
AC(L)
D0-06AA40VA50-60HzPWR: 100-240VOUTPUT: 17-240V 50 - 60Hz 0.5A
YX
7 - 15mAINPUT: 90 - 120V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
fuse
LOGICKoyo06
DCSupply
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1 +V+ -
LGN.C.
N.C.G
OUTPUT: Sinking Output 6 - 27V 1.0A
INPUT: 12 - 24V 3 - 15mA
YX
PWR: 12-24 20WD0-06DD1-D
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
+ -12 - 24 VDC
110/220 VAC Power Input 12/24 VDC Power Input
Use cable part #D2–DSCBL
For replacementcable, use part #
DV–1000CBL
(cable comes with HPP)
LOGIC
Koyo
06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.
C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V
0V
N.C.
C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1
LGG
AC(L)
D0-06DR2.0AOUTPUT: 6-240V 50 - 60Hz 2.0A, 6 - 27V
INPUT: 12 - 24V 3 - 15mA
Y
X
40VA50-60HzPWR: 100-240V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
PORT1 PORT2
TERM
RUN STOP
PWR
RUN
CPU
TX1
RX1
TX2
RX2
LOGIC
Koyo
06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.
C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V
0V
N.C.
C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1
LGG
AC(L)
D0-06DR2.0AOUTPUT: 6-240V 50 - 60Hz 2.0A, 6 - 27V
INPUT: 12 - 24V 3 - 15mA
Y
X
40VA50-60HzPWR: 100-240V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
PORT1 PORT2
TERM
RUN STOP
PWR
RUN
CPU
TX1
RX1
TX2
RX2
Step 5: Switch on the System PowerApply power to the system and ensure the PWR indicator on the DL06 is on. If not, removepower from the system and check all wiring and refer to the troubleshooting section inChapter 9 for assistance.
Step 6: Initialize Scratchpad MemoryIt’s a good precaution to always clear the system memory (scratchpad memory) on a newDL06. There are two ways to clear the system memory: • In DirectSOFT, select the PLC menu, then Setup and Initialize Scratch Pad. Initializing Scratch Padwill return secondary comm port settings and retentive range settings to default. If you have madeany changes to these, you will need to note these changes and re-enter them after initializingScratchpad.
• For the Handheld Programmer, use the AUX key and execute AUX 54.
See the Handheld Programmer Manual for additional information.
Step 7: Enter a Ladder ProgramAt this point, DirectSOFT 5 programmers need to refer to Chapter 2 (Quick Start) in theDirectSOFT 5 Programming Software Manual. There you will learn how to establish acommunications link with the DL06 PLC, change CPU modes to Run or Program, and entera program.
If you are learning how to program with the Handheld Programmer, make sure the CPU is inProgram Mode (the RUN LED on the front of the DL06 should be off ). If the RUN LED ison, use the MODE key on the Handheld Programmer to put the PLC in Program Mode,then switch to TERM. Enter the following keystrokes on the Handheld Programmer.
After entering the simple example program, put the PLC in Run mode by using the Modekey on the Handheld Programmer.
The RUN indicator on the PLC will illuminate, indicating the CPU has entered the Runmode. If not, repeat this step, ensuring the program is entered properly or refer to thetroubleshooting guide in chapter 9.
After the CPU enters the run mode, the output status indicator for Y0 should follow theswitch status on input channel X0. When the switch is on, the output will be on.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 1–9
Chapter 1: Getting Started
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ENT CLR
3D
TMRN
4ESHFT
CLR CLR
2C
4E AUX ENT
NEXT STR$
0A ENT
OUTGX
0A ENT
ENT
Clear the Program
Move to the firstaddress and enterX0 contact
Enter output Y0
Enter the ENDstatement
END
X0
OUTY0
Equivalent DirectSOFT display
Steps to Designing a Successful System
Step 1: Review the Installation GuidelinesAlways make safety the first priority in any systemdesign. Chapter 2 provides several guidelines thatwill help you design a safer, more reliable system.This chapter also includes wiring guidelines for thevarious versions of the DL06 PLC.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C1–10
Chapter 1: Getting Started
1
2
3
45
67
89
1011
12
13
14A
B
C
D
+
–
InputSensing
PLCInput
Common
20 Inputs Commons
Commons16 OutputsPower InputPLCDL06
+ –
Loads
+24 VDC
ACPower
Power Up
Initialize Hardware
Step 5: Understand the System OperationBefore you begin to enter a program, it is veryhelpful to understand how the DL06 systemprocesses information. This involves not onlyprogram execution steps, but also involves thevarious modes of operation and memorylayout characteristics.
Step 4: Choose a System Wiring StrategyIt is important to understand the varioussystem design options that are available beforewiring field devices and field-side powersupplies to the Micro PLC.
Step 2: Understand the PLC Setup ProceduresThe PLC is the heart of your automation system.Make sure you take time to understand the variousfeatures and setup requirements.
Step 3: Review the I/O Selection CriteriaThere are many considerations involved when youselect your I/O type and field devices. Take time tounderstand how the various types of sensors andloads can affect your choice of I/O type.
Step 6: Review the Programming ConceptsThe DL06 PLC instruction set provides for three main approaches to solving the applicationprogram, depicted in the figure below.• RLL diagram-style programming is the best tool for solving boolean logic and general CPUregister/accumulator manipulation. It includes dozens of instructions, which will also be needed toaugment drums and stages.
• The Timer/Event Drum Sequencer features up to 16 steps and offers both time and/or event-basedstep transitions. The DRUM instruction is best for a repetitive process based on a single series ofsteps.
• Stage programming (also called RLLPLUS) is based on state-transition diagrams. Stages divide theladder program into sections which correspond to the states in a flow chart you draw for yourprocess.
After reviewing the programming concepts above, you’ll be equipped with a variety of tools towrite your application program.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 1–11
Chapter 1: Getting Started
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
TMRT1K30
CNT
CT3K10
Standard RLL Programming(see Chapter 5)
X0LDDV1076
CMPDK309482
SP62OUTY0
Timer/Event Drum Sequencer(see Chapter 6)
Push–DOWN
Push–UP
UPDOWN
LOWER
RAISE
LIGHT
Stage Programming(see Chapter 7)
Step 8: Understand the Maintenance andTroubleshooting Procedures
Sometimes equipment failures occur when we leastexpect it. Switches fail, loads short and need to bereplaced, etc. In most cases, the majority of thetroubleshooting and maintenance time is spenttrying to locate the problem. The DL06 MicroPLC has many built-in features, such as errorcodes, that can help you quickly identifyproblems.
Step 7: Choose the InstructionsOnce you have installed the Micro PLC andunderstand the main programming concepts, youcan begin writing your application program. Atthat time you will begin to use one of the mostpowerful instruction sets available in a small PLC.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C1–12
Chapter 1: Getting Started
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Questions and Answers about DL06 Micro PLCs
Q. What is the instruction set like?A. The instruction set is very close to that of our DL260 CPU. The DL06 instructions
include the drum sequencing instruction, networking, ASCII, MODBUS, LCD,intelligent boxes and High-Speed I/O capabilities. High-Speed inputs are available onunits with DC inputs only; high-speed outputs are available on units with DC outputsonly.
Q. Do I have to buy the full DDiirreeccttSOFT 5 programming package to programthe DL06?
A. Yes. The part number for DirectSOFT 5 (PC-DSOFT5) is now used for all PLCs in theDirectLOGIC family, and the price is very affordable.
Q. Is the DL06 expandable?A. Yes, the DL06 series function as stand-alone PLCs. However, option card slots allow you
to expand the system without changing the footprint.
Q. Does the DL06 have motion control capability?A. Yes, the DL06 has limited motion control capabilities. The High-Speed I/O features offer
either encoder inputs with high-speed counting and presets with interrupt, or apulse/direction output for stepper control. Three types of motion profiles are available,which are explained in Appendix E. The H0-CTRIO(2) option module can also be usedto provide more motion functionality.
Q. Are the ladder programs stored in a removable EEPROM?A. No. The DL06 contains a non-removable FLASH memory for program storage, which
may be written and erased thousands of times. You may transfer programs to/fromDirectSOFT on a PC.
Q. Does the DL06 contain fuses for its outputs?A. There are no output circuit fuses. Therefore, we recommend fusing each channel, or fusing
each common. See Chapter 2 for I/O wiring guidelines.
Q. Is the DL06 Micro PLC U.L. approved?A. The Micro PLC has met the requirements of UL (Underwriters’ Laboratories, Inc.), and
CUL (Canadian Underwriters’ Laboratories, Inc.). See our website,www.Automationdirect.com, for complete details.
Q. Does the DL06 Micro PLC comply with European Union (EU) Directives?A. The Micro PLC has met the requirements of the European Union Directives (CE). See ourwebsite, www.Automationdirect.com, for complete details.
Q. Which devices can I connect to the communication ports of the DL06?A. Port 1: The port is RS-232C, fixed at 9600 baud, odd parity, address 1, and uses theproprietary K-sequence protocol. The DL06 can also connect to MODBUS RTU andDirectNET networks as a slave device through port 1. The port communicates with thefollowing devices:• DV-1000 Data Access Unit, C-more, DirectTouch, LookoutDirect, DSData or OptimationOperator interface panels
• DirectSOFT (running on a personal computer)
• D2-HPP handheld programmer
• Other devices which communicate via K-sequence, Directnet, MODBUS RTU protocols shouldwork with the DL06 Micro PLC. Contact the vendor for details.
A. Port 2: This is a multi-function port. It supports RS-232C, RS422, or RS485, withselective baud rates (300 - 38,400 bps), address and parity. It also supports the proprietary K-sequence protocol as well as DirectNet and MODBUS RTU, ASCII In/Out and non-sequence/print protocols.
Q. Can the DL06 accept 5VDC inputs?A. No. 5 volts is lower than the DC input ON threshold. However, many TTL logic circuitscan drive the inputs if they are wired as open collector (sinking) inputs. See Chapter 2 for I/Owiring guidelines.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 1–13
Chapter 1: Getting Started
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
INSTALLATION, WIRING,AND SPECIFICATIONS 22
CHAPTERCHAPTER
2222CHAPTER
In This Chapter...Safety Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–2Orientation to DL06 Front Panel . . . . . . . . . . . . . . . . . . . . . . . . . . .2–5Mounting Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–7Wiring Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–11System Wiring Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–14Wiring Diagrams and Specifications . . . . . . . . . . . . . . . . . . . . . . . .2–30Glossary of Specification Terms . . . . . . . . . . . . . . . . . . . . . . . . . . .2–48
Safety Guidelines
NOTE: Products with CE marks perform their required functions safely and adhere to relevantstandards as specified by CE directives, provided they are used according to their intended purpose,and the instructions in this manual are strictly followed. The protection provided by the equipmentmay be impaired if this equipment is used in a manner not specified in this manual. A listing of ourinternational affiliates is available on our Web site: http://www.automationdirect.com
WARNING: Providing a safe operating environment for personnel and equipment is yourresponsibility 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 topersonnel and/or damage equipment. Do not rely on the automation system alone to provide asafe operating environment. Sufficient emergency circuits should be provided to stop theoperation of the PLC or the controlled machine or process, either partially or totally. Thesecircuits should be routed outside the PLC in the event of controller failure, so that independentand rapid shutdown are available. Devices, such as mushroom switches or end of travel limitswitches, should operate motor starter, solenoids, or other devices without being processed bythe PLC. These emergency circuits should be designed using simple logic with a minimumnumber of highly reliable electromechanical components. Every automation application isdifferent, so there may be special requirements for your particular application. Make sure allnational, state, and local government requirements are followed for the proper installation anduse of your equipment.
Plan for SafetyThe best way to provide a safe operating environment is to make personnel and equipmentsafety part of the planning process. You should examine every aspect of the system todetermine which areas are critical to operator or machine safety. If you are not familiar withPLC system installation practices, or your company does not have established installationguidelines, you should obtain additional information from the following sources.• NEMA — The National Electrical Manufacturers Association, located in Washington, D.C.,publishes many different documents that discuss standards for industrial control systems. You canorder these publications directly from NEMA. Some of these include: ICS 1, General Standards for Industrial Control and Systems ICS 3, Industrial Systems ICS 6, Enclosures for Industrial Control Systems
• NEC — The National Electrical Code provides regulations concerning the installation and use ofvarious types of electrical equipment. Copies of the NEC Handbook can often be obtained from yourlocal electrical equipment distributor or your local library.
• Local and State Agencies — many local governments and state governments have additionalrequirements above and beyond those described in the NEC Handbook. Check with your localElectrical Inspector or Fire Marshall office for information.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–2
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Three Levels of ProtectionThe publications mentioned provide many ideas and requirements for system safety. At aminimum, you should follow these regulations. Also, you should use the followingtechniques, which provide three levels of system control.• Emergency stop switch for disconnecting system power
• Mechanical disconnect for output module power
• Orderly system shutdown sequence in the PLC control program
Emergency StopsIt is recommended that emergency stop circuits be incorporated into the system for everymachine controlled by a PLC. For maximum safety in a PLC system, these circuits must notbe wired into the controller, but should be hardwired external to the PLC. The emergencystop switches should be easily accessed by the operator and are generally wired into a mastercontrol relay (MCR) or a safety control relay (SCR) that will remove power from the PLCI/O system in an emergency.
MCRs and SCRs provide a convenient means for removing power from the I/O systemduring an emergency situation. By de-energizing an MCR (or SCR) coil, power to the input(optional) and output devices is removed. This event occurs when any emergency stop switchopens. However, the PLC continues to receive power and operate even though all its inputsand outputs are disabled.
The MCR circuit could be extended by placing a PLC fault relay (closed during normal PLCoperation) in series with any other emergency stop conditions. This would cause the MCRcircuit to drop the PLC I/O power in case of a PLC failure (memory error, I/Ocommunications error, etc.).
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 2–3
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Emergency Stop
Guard Line SwitchSaw Arbor
E STOP Power On
Use E-Stop and Master Relay
Guard Link
L O G I C K o y o 0 6
C0 C4 C2 X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C. C1 C3 X2 X5 X7 X10 X12 X15 X17 X20 X22 X0 N.C.
AC(N) 24V 0V
N.C. C1 C3 Y0 Y15 Y12 Y10 Y17 Y7 Y5 Y2
C0 C2 Y16 Y14 Y13 Y11 Y6 Y4 Y3 Y1 LG G
AC(L)
D0-06DR 2.0A OUTPUT: 6-240V 50 - 60Hz 2.0A, 6 - 27V
INPUT: 12 - 24V 3 - 15mA
Y X
40VA 50-60Hz PWR: 100-240V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
PORT1 PORT2
TERM
RUN STOP
PWR RUN CPU TX1 RX1 TX2 RX2
Master Control Relay
MCR
L1 to Input Supply (optional)
MCR
L1 to Output Supply
HOT NEUTRAL
Emergency Power DisconnectA properly rated emergency power disconnect should be used to power the PLC controlledsystem as a means of removing the power from the entire control system. It may be necessaryto install a capacitor across the disconnect to protect against a condition known as outrush.This condition occurs when the output Triacs are turned off by powering off the disconnect,thus causing the energy stored in the inductive loads to seek the shortest distance to ground,which is often through the Triacs.
After an emergency shutdown or any other type of power interruption, there may berequirements that must be met before the PLC control program can be restarted. Forexample, there may be specific register values that must be established (or maintained fromthe state prior to the shutdown) before operations can resume. In this case, you may want touse retentive memory locations, or include constants in the control program to insure aknown starting point.
Orderly System ShutdownIdeally, the first level of fault detection is the PLC controlprogram, which can identify machine problems. Certainshutdown sequences should be performed. The types ofproblems are usually things such as jammed parts, etc.,that do not pose a risk of personal injury or equipmentdamage.
WARNING: The control program must not be the only formof protection for any problems that may result in a risk ofpersonal injury or equipment damage.
Class 1, Division 2 ApprovalThis equipment is suitable for use in Class 1, Division 2, groups A, B, C and D or non-hazardous locations only.
WARNING: Explosion Hazard! - Substitution of components may impair suitability for Class 1,Division 2.
WARNING: Explosion Hazard! - Do not disconnect equipment unless power has been switched offor area is known to be non-hazardous.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–4
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
JamDetect
RST
RST
Retract Arm
Turn off Saw
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 2–5
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Orientation to DL06 Front PanelMost connections, indicators and labels on the DL06 Micro PLCs are located on its frontpanel. The communication ports are located on front of the PLC, as are the option card slotsand the mode selector switch. Please refer to the drawing below.
The output and power connector accepts external power and logic and chassis groundconnections on the indicated terminals. The remaining terminals are for connectingcommons and output connections Y0 through Y17. The sixteen output terminals arenumbered in octal, Y0-Y7 and Y10-Y17. On DC output units, the end terminal on the rightaccepts power for the output stage. The input side connector provides the location forconnecting the inputs X0 and X23 and the associated commons.
WARNING: For some applications, field device power may still be present on the terminal blockeven though the Micro PLC is turned off. To minimize the risk of electrical shock, check all fielddevice power before you expose or remove either connector.
LOGIC
Koyo
06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.
C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V
0V
N.C.
C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1
LGG
AC(L)
D0-06DR2.0AOUTPUT: 6-240V 50 - 60Hz 2.0A, 6 - 27V
INPUT: 12 - 24V 3 - 15mA
Y
X
40VA50-60HzPWR: 100-240V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
PORT1 PORT2
TERM
RUN STOP
PWR
RUN
CPU
TX1
RX1
TX2
RX2
Mode SwitchOption Slots
Output StatusIndicators
CommunicationPorts
Output CircuitPower Input
(for DC output versions only)
Input StatusIndicators
StatusIndicators
Power Inputs
Discrete Outputs
Discrete Inputs
Mounting Tab
Mounting Tab
Terminal Block RemovalThe DL06 terminals are divided into two groups. Each group has its own terminal block. Theoutputs and power wiring are on one block, and the input wiring is on the other. In someinstances, it may be desirable to remove the terminal block for easy wiring. The terminal block isdesigned for easy removal with just a small screwdriver. The drawing below shows the procedurefor removing one of the terminal blocks.
1. Loosen the retention screws on each end of the connector block.
2. From the center of the connector block, pry upward with the screwdriver until theconnector is loose.
The terminal blocks on DL06 PLCs have regular (m3 size) screw terminals, which will accepteither standard blade-type or #1 Philips screwdriver tips. Use No. 16 to 22 AWGsolid/stranded wire. Be careful not to over-tighten; maximum torque is 0.882 to 1.020 Nm(7.806 to 9.028 inch-lbs).
Spare terminal blocks are available in an accessory kit. Please refer to part number D0-ACC-2. You can find this and other accessories on our web site.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–6
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Mounting GuidelinesIn addition to the panel layout guidelines, other specifications can affect the installation of aPLC system. Always consider the following:• Environmental Specifications
• Power Requirements
• Agency Approvals
• Enclosure Selection and Component Dimensions
Unit DimensionsThe following diagram shows the outside dimensions and mounting hole locations for allversions of the DL06. Make sure you follow the installation guidelines to allow properspacing from other components.
EnclosuresYour selection of a proper enclosure is important to ensure safe and proper operation of yourDL06 system. Applications of DL06 systems vary and may require additional features. Theminimum considerations for enclosures include:• Conformance to electrical standards
• Protection from the elements in an industrial environment
• Common ground reference
• Maintenance of specified ambient temperature
• Access to equipment
• Security or restricted access
• Sufficient space for proper installation and maintenance of equipment
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 2–7
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
1.46"37mm
0.71"18mm
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–8
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Panel Layout & ClearancesThere are many things to consider when designing the panel layout. The following itemscorrespond to the diagram shown. Note: there may be additional requirements, depending onyour application and use of other components in the cabinet.1. Mount the PLCs horizontally as shown below toprovide proper ventilation. You cannot mount theDL06 units vertically, upside down, or on a flathorizontal surface. If you place more than one unitin a cabinet, there must be a minimum of 7.2”(183 mm) between the units.
2. Provide a minimum clearance of 1.5” (39 mm)between the unit and all sides of the cabinet.Remember to allow for any operator panels orother items mounted in the door.
3. There should also be at least 3” (78 mm) ofclearance between the unit and any wiring ductsthat run parallel to the terminals.
4. The ground terminal on the DL06 base must beconnected to a single point ground. Use copper
stranded wire to achieve a lowimpedance. Copper eye lugsshould be crimped and solderedto the ends of the stranded wireto ensure good surface contact.
5. There must be a single point ground(i.e., copper bus bar) for all devices in the panelrequiring an earth ground return. The single point of groundmust be connected to the panel ground termination. The panelground termination must be connected to earth ground. Minimum wire sizes,color coding, and general safety practices should comply with appropriate electricalcodes and standards for your area.
NOTE: There is a minimum clearancerequirement of 1.5” (38 mm)between the panel door (or anydevices mounted in the panel door)and the nearest DL06 component.
1.5"38mmmin
1.5"38mmmin
1.5"38mmmin
Panel
Star Washers
Earth Ground
Ground braidcopper lugs
Star Washers
Temperature Probe
Power Source
Panel Ground Terminal
Panel or singlepoint ground
6. A good common ground reference (Earth ground) is essential for proper operation of the DL06.One side of all control and power circuits and the ground lead on flexible shielded cable must beproperly connected to Earth ground. There are several methods of providing an adequate commonground reference, including:a) Installing a ground rod as close to the panel as possibleb) Connection to incoming power system ground
7. Evaluate any installations where the ambient temperature may approach the lower or upper limitsof the specifications. If you suspect the ambient temperature will not be within the operatingspecification for the DL06 system, measures such as installing a cooling/heating source must be takento get the ambient temperature within the range of specifications.
8. The DL06 systems are designed to be powered by 95-240 VAC or 12–24 VDC normally availablethroughout an industrial environment. Electrical power in some areas where the PLCs are installed isnot always stable and storms can cause power surges. Due to this, powerline filters are recommendedfor protecting the DL06 PLCs from power surges and EMI/RFI noise. The Automation PowerlineFilter, for use with 120 VAC and 240 VAC, 1–5 Amps, is an excellent choice (locate atwww.automationdirect.com); however, you can use a filter of your choice. These units install easilybetween the power source and the PLC.
NOTE: If you are using other components in your system, make sure you refer to the appropriatemanual to determine how those units can affect mounting dimensions.
Using Mounting RailsDL06 Micro PLCs can be secured to a panel by using mounting rails. We recommend railsthat conform to DIN EN standard 50022. They are approximately 35 mm high, with a depthof 7 mm. If you mount the Micro PLC on a rail, do consider using end brackets on each sideof the PLC. The end bracket helps keep the PLC from sliding horizontally along the rail,reducing the possibility of accidentally pulling the wiring loose. On the bottom of the PLCare two small retaining clips. To secure the PLC to a DIN rail, place it onto the rail and gentlypush up on the clips to lock it onto the rail. To remove the PLC, pull down on the retainingclips, lift up on the PLC slightly, then pull it away from the rail.
NOTE: Refer to our catalog or web site for a complete listing of DINnector connection systems.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 2–9
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
35mm
7mm
DIN Rail Dimensions
Retaining Clip
DIN rail slot is designed for 35 mm x 7 mm railconforming to DIN EN 50022
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–10
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Environmental SpecificationsThe following table lists the environmental specifications that generally apply to DL06 MicroPLCs. The ranges that vary for the Handheld Programmer are noted at the bottom of thischart. Certain output circuit types may have derating curves, depending on the ambienttemperature and the number of outputs ON. Please refer to the appropriate section in thischapter pertaining to your particular DL06 PLC.
* Operating temperature for the Handheld Programmer and the DV–1000 is 32° to 122°F (0° to 50°C) Storage temperaturefor the Handheld Programmer and the DV–1000 is –4° to 158°F (–20° to 70°C). **Equipment will operate down to 5% relative humidity; however, static electricity problems occur much more frequently atlow humidity levels (below 30%). Make sure you take adequate precautions when you touch the equipment. Consider usingground straps, anti-static floor coverings, etc. if you use the equipment in low-humidity environments.
Agency ApprovalsSome applications require agency approvals for particular components. The DL06 MicroPLC agency approvals are listed below:• UL (Underwriters’ Laboratories, Inc.)
• CUL (Canadian Underwriters’ Laboratories, Inc.)
• CE (European Economic Union)
Marine UseAmerican Bureau of Shipping (ABS) certification requires flame-retarding insulation as per4-8-3/5.3.6(a). ABS will accept Navy low smoke cables, cable qualified to NEC Plenum rated(fire resistant level 4), or other similar flammability resistant rated cables. Use cablespecifications for your system that meet a recognized flame retardant standard (i.e., UL,IEEE, etc.), including evidence of cable test certification (i.e., tests certificate, UL filenumber, etc.).
NOTE: Wiring must be low smoke per the above paragraph. Teflon coated wire is also recommended.
Environmental SpecificationsSpecification Rating
Storage temperature –4°F to 158°F (–20°C to 70°C)Ambient operating temperature* 32°F to 131°F (0°C to 55°C)
Ambient humidity** 5% – 95% relative humidity (non–condensing)Vibration resistance MIL STD 810C, Method 514.2Shock resistance MIL STD 810C, Method 516.2Noise immunity NEMA (ICS3–304)Atmosphere No corrosive gases
Agency approvals UL, CE (C1D2), FCC class A
Wiring GuidelinesConnect the power input wiring for the DL06. Observe all precautions stated earlier in thismanual. When the wiring is complete, close the connector covers. Do not apply power at thistime.
WARNING: Once the power wiring is connected, secure the terminal block cover in the closedposition. There is a risk of electrical shock if you accidentally touch the connection terminals orpower wiring when the cover is open.
External Power SourceThe power source must be capable of suppling voltage and current complying with individualMicro PLC specifications, according to the following specifications:
NOTE: The rating between all internal circuits is BASIC INSULATION ONLY.
NOTE: Recommended wire size for field devices is 16 - 22 AWG solid/stranded. Tighten terminalscrews to 7.81 lb-in (0.882 N*m) to 9.03 lb-in (1.02 N*m).
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 2–11
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
LOGICKoyo06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V0V
N.C.C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1LGG
AC(L)
D0-06AA40VA50-60HzPWR: 100-240VOUTPUT: 17-240V 50 - 60Hz 0.5A
YX
7 - 15mAINPUT: 90 - 120V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
fuse
LOGICKoyo06
DCSupply
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1 +V+ -
LGN.C.
N.C.G
OUTPUT: Sinking Output 6 - 27V 1.0A
INPUT: 12 - 24V 3 - 15mA
YX
PWR: 12-24 20WD0-06DD1-D
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
+ -12 - 24 VDC
110/220 VAC Power Input 12/24 VDC Power Input
Power Source SpecificationsItem DL06 AC Powered Units DL06 DC Powered Units
Input Voltage Range 110/220 VAC (100–240 VAC/50-60 Hz) 12–24 VDC (10.8–26.4 VDC)
Maximum Inrush Current 13 A, 1ms (100–240 VAC)15 A, 1ms (240–264 VAC) 10A
Maximum Power 30 VA 20 WVoltage Withstand (dielectric) 1 minute @ 1500 VAC between primary, secondary, field groundInsulation Resistance > 10 M� at 500 VDC
Planning the Wiring RoutesThe following guidelines provide general information on how to wire the I/O connections toDL06 Micro PLCs. Refer to the corresponding specification sheet which appears later in thischapter for specific information on wiring a particular PLC .1. Each terminal connection of the DL06 PLC can accept one 16 AWG wire or two 18 AWG sizewires. Do not exceed this recommended capacity.
2. Always use a continuous length of wire. Do not splice wires to attain a needed length.
3. Use the shortest possible wire length.
4. Use wire trays for routing where possible.
5. Avoid running wires near high energy wiring.
6. Avoid running input wiring close to output wiring where possible.
7. To minimize voltage drops when wires must run a long distance, consider using multiple wires forthe return line.
8. Avoid running DC wiring in close proximity to AC wiring where possible.
9. Avoid creating sharp bends in the wires.
10. Install the recommended powerline filter to reduce power surges and EMI/RFI noise.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–12
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Fuse Protection for Input and Output CircuitsInput and Output circuits on DL06 Micro PLCs do not have internal fuses. In order toprotect your Micro PLC, we suggest you add external fuses to your I/O wiring. A fast-blowfuse, with a lower current rating than the I/O bank’s common current rating, can be wired toeach common. Or, a fuse with a rating of slightly less than the maximum current per outputpoint can be added to each output. Refer to the Micro PLC specification sheets further in thischapter to find the maximum current per output point or per output common. Adding theexternal fuse does not guarantee the prevention of Micro PLC damage, but it will provideadded protection.
I/O Point NumberingAll DL06 Micro PLCs have a fixed I/O configuration. It follows the same octal numberingsystem used on other DirectLogic family PLCs, starting at X0 and Y0. The letter X is alwaysused to indicate inputs and the letter Y is always used for outputs.
The I/O numbering always starts at zero and does not include the digits 8 or 9. The addressesare typically assigned in groups of 8 or 16, depending on the number of points in an I/Ogroup. For the DL06, the twenty inputs use reference numbers X0 – X23. The sixteen outputpoints use references Y0 – Y17.
Additional I/O modules can be installed in the four option slots. See the DL05/06 OptionModules User Manual, D0-OPTIONS-M, for a complete selection of modules and how toaddresss them in the DL06. This manual can either be ordered from Automatindirect ordownloaded from our website.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 2–13
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
LOGIC
Koyo
06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.
C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V
0V
N.C.
C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1
LGG
AC(L)
D0-06DR2.0AOUTPUT: 6-240V 50 - 60Hz 2.0A, 6 - 27V
INPUT: 12 - 24V 3 - 15mA
Y
X
40VA50-60HzPWR: 100-240V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
PORT1 PORT2
TERM
RUN STOP
PWR
RUN
CPU
TX1
RX1
TX2
RX2
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–14
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
System Wiring StrategiesThe DL06 Micro PLC is very flexible and will work in many different wiring configurations.By studying this section before actual installation, you can probably find the best wiringstrategy for your application. This will help to lower system cost and wiring errors, and avoidsafety problems.
PLC Isolation BoundariesPLC circuitry is divided into three main regions separated by isolation boundaries, shown inthe drawing below. Electrical isolation provides safety, so that a fault in one area does notdamage another. A powerline filter will provide isolation between the power source and thepower supply. A transformer in the power supply provides magnetic isolation between theprimary and secondary sides. Opto-couplers provide optical isolation in Input and Outputcircuits. This isolates logic circuitry from the field side, where factory machinery connects.Note that the discrete inputs are isolated from the discrete outputs, because each is isolatedfrom the logic side. Isolation boundaries protect the operator interface (and the operator)from power input faults or field wiring faults. When wiring a PLC, it is extremely important toavoid making external connections that connect logic side circuits to any other.
The next figure shows the internal layout of DL06 PLCs, as viewed from the front panel.
LCD monitor
4 Optional
card slots
2 comm. ports
Power
Input16 Discrete Outputs
To programming device
or Operator interface20 discrete Inputs
Isolation
boundary
Output circuit
Input circuit
Power
Supply CPU
Output Circuit
Input Circuit
CCPPUU
2 Comm.Ports
MainPowerSupply
To Programming De-vice, Operator Interface
or networking20 Discrete
InputsCommons
Commons16 Discrete Outputs
PLCDL06
Optional
FilterPower Input
Card Slots
LCD Monitor
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 2–15
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Connecting Operator Interface DevicesOperator interfaces require data and power connections. Some operator interfaces usuallyrequire separate AC power. However, other operator interface devices like the popular DV-1000 Data Access Unit may be powered directly from the DL06 Micro PLC. Connectthe DV-1000 to communication port 1 on the DL06 Micro PLC using the cable shownbelow. A single cable contains transmit/receive data wires and +5 V power.
C-more operator interface touch panels use a provided 24 VDC plug-in power supply.Connect the DL06 to the serial connector on the rear of the C-more panel using the cableshown below.
Connecting Programming DevicesDL06 Micro PLCs can be programmed with either a handheld programmer or withDirectSOFT on a PC. Connect the DL06 to a PC using the cable shown below.
The D2-HPP Handheld Programmer comes with a communications cable. For a replacementpart, use the cable shown below.
DL06 Micro PLC
DV-1000
Use cable part no.DV–1000CBL
RJ12phone style
RJ12phone style
LOGIC
Koyo
06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.
C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V
0V
N.C.
C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1
LGG
AC(L)
D0-06DR2.0AOUTPUT: 6-240V 50 - 60Hz 2.0A, 6 - 27V
INPUT: 12 - 24V 3 - 15mA
Y
X
40VA50-60HzPWR: 100-240V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
PORT1 PORT2
TERM
RUN STOP
PWR
RUN
CPU
TX1
RX1
TX2
RX2
Use cable part no. EA-2CBL-1
15-pin D-shellmale
15-pinVGA male
DL06 Micro PLC
LOGICKoyo06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V0V
N.C.C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1LGG
AC(L)
D0-06DR2.0AOUTPUT: 6-240V 50 - 60Hz 2.0A, 6 - 27V
INPUT: 12 - 24V 3 - 15mA
YX
40VA50-60HzPWR: 100-240V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
PORT1 PORT2
TERM
RUN STOP
PWRRUNCPUTX1RX1TX2RX2
Use cable part no.D2–DSCBL
9-pin D-shellfemale
RJ12phone style
DL06 Micro PLC
LOGIC
Koyo
06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.
C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V
0V
N.C.
C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1
LGG
AC(L)
D0-06DR2.0AOUTPUT: 6-240V 50 - 60Hz 2.0A, 6 - 27V
INPUT: 12 - 24V 3 - 15mA
Y
X
40VA50-60HzPWR: 100-240V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
PORT1 PORT2
TERM
RUN STOP
PWR
RUN
CPU
TX1
RX1
TX2
RX2
For replacementcable, use part no.
DV–1000CBL
RJ12phone style
RJ12phone style
(cable comes with HPP)
D2–HPP
DL06 Micro PLC
LOGIC
Koyo
06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.
C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V
0V
N.C.
C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1
LGG
AC(L)
D0-06DR2.0AOUTPUT: 6-240V 50 - 60Hz 2.0A, 6 - 27V
INPUT: 12 - 24V 3 - 15mA
Y
X
40VA50-60HzPWR: 100-240V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
PORT1 PORT2
TERM
RUN STOP
PWR
RUN
CPU
TX1
RX1
TX2
RX2
Sinking / Sourcing ConceptsBefore going further in our presentation of wiring strategies, we need to introduce theconcepts of sinking and sourcing. These terms apply to typical input or output circuits. It isthe goal of this section to make these concepts easy to understand. First, we give the followingshort definitions, followed by practical applications.Sinking = Path to supply ground (–)
Sourcing = Path to supply source (+)
Notice the reference to (+) and (–) polarities. Sinking and sourcing terminology applies only toDC input and output circuits. Input and output points that are either sinking or sourcing canconduct current in only one direction. This means it is possible to connect the external supplyand field device to the I/O point with current trying to flow in the wrong direction, and thecircuit will not operate. However, we can successfully connect the supply and field deviceevery time by understanding sourcing and sinking.
For example, the figure to the right depicts a sinking input. To properly connect the externalsupply, we just have to connect it so the input provides a path to ground (–). So, we start at thePLC input terminal, follow through the inputsensing circuit, exit at the common terminal, andconnect the supply (–) to the common terminal.By adding the switch, between the supply (+) andthe input, we have completed the circuit. Currentflows in the direction of the arrow when the switchis closed.
By applying the circuit principle above to the fourpossible combinations of input/output sinking/sourcing types, we have the four circuits asshown below. The DC-powered DL06 Micro PLCs have selectable sinking or sourcing inputsand either sinking or sourcing outputs. Any pair of input/output circuits shown below ispossible with one of the DL06 models.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–16
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
+
–
InputSensing
PLC
Common
Input(sinking)
+
–
Input Sensing
Load
Sinking Input Sinking Output
Sourcing Input Sourcing Output
PLCInput
Common
+
–
OutputSwitch
PLCOutput
Common
+
–
Input Sensing
Load
PLC
Input
Common
+
–
OutputSwitch
PLC
Output
Common
I/O Common Terminal ConceptsIn order for a PLC I/O circuit to operate,current must enter at one terminal and exitat another. This means at least twoterminals are associated with every I/Opoint. In the figure to the right, the inputor output terminal is the main path for thecurrent. One additional terminal mustprovide the return path to the power supply.
Most input or output point groups onPLCs share the return path among twoor more I/O points. The figure to theright shows a group (or bank) of 4input points which share a commonreturn path. In this way, the fourinputs require only five terminalsinstead of eight.
NOTE: In the circuit to the right, thecurrent in the common path is 4 times anychannel’s input current when all inputs areenergized. This is especially important inoutput circuits, where heavier gauge wireis sometimes necessary on commons.
Most DL06 input and output circuits are grouped into banks that share a common returnpath. The best indication of I/O common grouping is on the wiring label. The I/O commongroups are separated by a bold line. A thinner lineseparates the inputs associated with that common. Tothe right, notice that X0, X1, X2, and X3 share thecommon terminal C0, located to the left of X1.
The following complete set of labels shows five banks offour inputs and four banks of four outputs. Onecommon is provided for each bank.
This set of labels is for DC (sinking) output versions such as the D0-06DD1 and D0-06DD1-D. One common is provided for each group of four outputs, and one designatedterminal on the output side accepts power for the output stage.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 2–17
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
+
–
I/O Circuit
Return Path
Main Path (I/O point)
FieldDevice
PLC
+
–
Input Sensing
Input 4
Common
Input 3
Input 2
PLC
Input 1
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V0V
N.C.C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1LGG
AC(L)
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V0V
+VC1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1LGG
AC(L)
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–18
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Connecting DC I/O to Solid State Field DevicesIn the previous section on sinking and sourcing concepts, we discussed DC I/O circuits thatonly allow current to flow one way. This is also true for many of the field devices which havesolid-state (transistor) interfaces. In other words, field devices can also be sourcing or sinking.When connecting two devices in a series DC circuit (as is the case when wiring a field device to aPLC DC input or output), one must be wired as sourcing and the other as sinking.
Solid State Input SensorsThe DL06’s DC inputs are flexible in that they detect current flow in either direction, so theycan be wired as either sourcing or sinking. In the following circuit, a field device has an open-collector NPN transistor output. It sinks current from the PLC input point, which sourcescurrent. The power supply can be the included auxiliary 24 VDC power supply or anothersupply (+12 VDC or +24 VDC), as long as the input specifications are met.
In the next circuit, a field device has an open-emitter PNP transistor output. It sourcescurrent to the PLC input point, which sinks the current back to ground. Since the fielddevice is sourcing current, no additional power supply is required between the device and thePLC DC Input.
Solid State Output LoadsSometimes an application requires connecting a PLC output point to a solid state input on adevice. This type of connection is usually made to carry a low-level signal, not to send DCpower to an actuator.
The DL06 PLC family offers DC outputs that are sinking only or DC outputs that aresourcing. All sixteen outputs have the same electrical common, even though there are fourcommon terminal screws. In the following circuit, the PLC output point sinks current to theoutput common when energized. It is connected to a sourcing input of a field device input.
Field Device
+–
PLC DC Input
Output
Ground
Common
Supply
(sinking)
Input(sourcing)
Field DevicePLC DC Input
Output (sourcing) Ground Common
=>
Input(sinking)
Field Device
Output
Common
=>
PLC DC Output
+DC Power
+
–
(sourcing) (sinking)
Power
2 .25 >
Input
Ground
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–19
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
In the next example we connect a PLC DC output point to the sinking input of a fielddevice. This is a bit tricky, because both the PLC output and field device input are sinkingtype. Since the circuit must have one sourcing and one sinking device, we add sourcingcapability to the PLC output by using a pull-up resistor. In the circuit below, we connectRpull-up from the output to the DC output circuit power input.
NOTE 1: DO NOT attempt to drive a heavy load (>25 mA) with this pull-up method. NOTE 2: Using the pull-up resistor to implement a sourcing output has the effect of inverting theoutput 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 aninverted output. Or, you may choose to cancel the effect of the inversion elsewhere, such as in thefield device.
It is important to choose the correct value of Rpull-up. In order to do so, we need to know thenominal input current to the field device (Iinput) when the input is energized. If this value isnot known, it can be calculated as shown (a typical value is 15 mA). Then use Iinput and thevoltage of the external supply to compute Rpull-up. Then calculate the power Ppull-up (inwatts), in order to size Rpull-up properly.
Field Device
Output
Ground
Input
Common
PLC DC Output
+DC pwr
+
–
(sourcing)
(sinking)
Power
(sinking)
pull-up
Supply
R
inputR
pull-upR inputR=supplyV – 0.7
–inputI
inputI =input (turn–on)V
inputR
pull-upP =supplyV 2
pullupR
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–20
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Relay Output Wiring MethodsThe D0–06AR and the D0–06DR models feature relay outputs. Relays are best for thefollowing applications:• Loads that require higher currents than the solid-state DL06 outputs can deliver
• Cost-sensitive applications
• Some output channels need isolation from other outputs (such as when some loads require ACwhile others require DC)
Some applications in which NOT to use relays:• Loads that require currents under 10 mA
• Loads which must be switched at high speed and duty cycle
This section presents various ways to wire relay outputs to the loads. The relay output DL06shave sixteen normally-open SPST relays available. They are organized with four relays percommon. The figure below shows the relays and the internal wiring of the PLC. Note thateach group is isolated from the other group of outputs.
In the circuit below, all loads use the same AC power supply which powers the DL06 PLC. Inthis example, all commons are connected together.
In the circuit on the following page, loads for Y0 – Y3 use the same AC power supply whichpowers the DL06 PLC. Loads for Y4 – Y7 use a separate DC supply. In this example, thecommons are separated according to which supply powers the associated load.
Y0 Common Y1 Y2 Y3 Y4 Common Y5 Y6 Y7
LOGICKoyo06
ACSupply
L LL L
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
L LL LL LL L L LL L
AC(N) 24V0V
N.C.C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1LGG
AC(L)
D0-06AR40VA50-60HzPWR: 100-240V2.0AOUTPUT: 6-240V 50 - 60Hz 2.0A, 6 - 27V
YX
7 - 15mAINPUT: 90 - 120V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 2–21
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Relay Outputs – Transient Suppression for Inductive Loads in a ControlSystem
The following pages are intended to give a quick overview of the negative effects of transientvoltages on a control system and provide some simple advice on how to effectively minimizethem. The need for transient suppression is often not apparent to the newcomers in theautomation world. Many mysterious errors that can afflict an installation can be traced backto a lack of transient suppression.What is a Transient Voltage and Why is it Bad?
Inductive loads (devices with a coil) generate transient voltages as they transition from beingenergized to being de-energized. If not suppressed, the transient can be many times greaterthan the voltage applied to the coil. These transient voltages can damage PLC outputs orother electronic devices connected to the circuit, and cause unreliable operation of otherelectronics in the general area. Transients must be managed with suppressors for longcomponent life and reliable operation of the control system.
This example shows a simple circuit with a small 24 V/125 mA/3 W relay. As you can see,when the switch is opened, thereby de-energizing the coil, the transient voltage generatedacross the switch contacts peaks at 140 V.
LOGICKoyo06
ACSupply
L LL L
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
L LL L
AC(N) 24V0V
N.C.C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1LGG
AC(L)
D0-06AR40VA50-60HzPWR: 100-240V2.0AOUTPUT: 6-240V 50 - 60Hz 2.0A, 6 - 27V
YX
7 - 15mAINPUT: 90 - 120V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
fuse
+24 VDC
+ -NL
Oscilloscope
Relay Coil(24V/125mA/3W, AutomationDirect part no.750-2C-24D)
24 VDC+
-
160140120
100
40
20
-20
Volts
80
60
0
Example: Circuit with no Suppression
In the same circuit on the previous page, replacing the relay with a larger 24 V/290 mA/7 Wrelay will generate a transient voltage exceeding 800 V (not shown). Transient voltages like thiscan cause many problems, including:• Relay contacts driving the coil may experience arcing, which can pit the contacts and reduce therelay's lifespan.
• Solid state (transistor) outputs driving the coil can be damaged if the transient voltage exceeds thetransistor's ratings. In extreme cases, complete failure of the output can occur the very first time acoil is de-energized.
• Input circuits, which might be connected to monitor the coil or the output driver, can also bedamaged by the transient voltage.
A very destructive side-effect of the arcing across relay contacts is the electromagneticinterference (EMI) it can cause. This occurs because the arcing causes a current surge, whichreleases RF energy. The entire length of wire between the relay contacts, the coil, and the powersource carries the current surge and becomes an antenna that radiates the RF energy. It willreadily 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.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–22
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
PLC's Integrated Transient Suppressors
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 additionaltransient suppression for an inductive load.
Here is another example using the same 24 V/125 mA/3 W relay used earlier. This examplemeasures the PNP transistor output of a D0-06DD2 PLC, which incorporates an integratedZener diode for transient suppression. Instead of the 140V peak in the first example, thetransient voltage here is limited to about 40 V by the Zener diode. While the PLC will probablytolerate repeated transients in this range for some time, the 40 V is still beyond the module'speak output voltage rating of 30 V.
Relay Coil*
24VDC
Oscilloscope
* For this example, a 24V/125mA/3W relay is used (AutomationDirect
part no. 750-2C-24D)
454035
30
1510
0-5
Volts
25
20
5
Example: Small Inductive Load with Only Integrated Suppression
The next example uses the same circuit as above, but with a larger 24 V/290 mA/7 W relay,thereby creating a larger inductive load. As you can see, the transient voltage generated is muchworse, peaking at over 50 V. Driving an inductive load of this size without additional transientsuppression is very likely to permanently damage the PLC output.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 2–23
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Example: Larger Inductive Load with Only Integrated Suppression
Relay Coil*
24VDC
Oscilloscope
* For this example, a 24/290mA/7W relay is used (AutomationDirect
part no. SC-E03G-24VDC)
60
50
40
30
20
10
0
-10
Volts
Additional transient suppression should be used in both these examples. If you are unable tomeasure the transients generated by the connected loads of your control system, usingadditional transient suppression on all inductive loads would be the safest practice.
Types of Additional Transient Protection
DC Coils:
The most effective protection against transients from a DC coil is a flyback diode. A flybackdiode can reduce the transient to roughly 1V over the supply voltage, as shown in this example.
Oscilloscope
24 VDC
DC Flyback Circuit
Sinking Sourcing
+_
30
25
20
15
10
5
0
-5
Volts
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–24
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Many AutomationDirect socketed relays and motor starters have add-on flyback diodes thatplug or screw into the base, such as the AD-ASMD-250 protection diode module and 784-4C-SKT-1 socket module shown below. If an add-on flyback diode is not available for yourinductive load, an easy way to add one is to use AutomationDirect's DN-D10DR-A diodeterminal block, a 600 VDC power diode mounted in a slim DIN rail housing.
DN-D10DR-ADiode Terminal Block
AD-ASMD-250Protection Diode Module
784-4C-SKT-1 Relay Socket
24 VDC
DC MOV or TVS Diode Circuit
Sinking Sourcing
+_
ZL-TSD8-24 Transorb Module
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 shownbelow. The optimum voltage rating for the suppressor is the lowest rated voltage available thatwill NOT conduct at the supply voltage, while allowing a safe margin.
AutomationDirect's ZL-TSD8-24 transorb module is a good choice for 24 VDC circuits. It isa bank of 8 uni-directional 30 V TVS diodes. Since they are uni-directional, be sure to observethe polarity during installation. MOVs or bi-directional TVS diodes would install at the samelocation, but have no polarity concerns.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 2–25
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
AC Coils:
Two options for AC coils are MOVs or bi-directional TVS diodes. These devices are mosteffective at protecting the driver from a transient voltage when connected across the driver (PLCoutput) but are also commonly connected across the coil. The optimum voltage rating for thesuppressor is the lowest rated voltage available that will NOT conduct at the supply voltage,while allowing a safe margin.
AutomationDirect's ZL-TSD8-120 transorb module is a good choice for 120 VAC circuits. Itis a bank of eight bi-directional 180 V TVS diodes.
VAC
AC MOV or Bi-Directional Diode Circuit
ZL-TSD8-120Transorb Module
NOTE: Manufacturers of devices with coils frequently offer MOV or TVS diode suppressors as anadd-on option which mount conveniently across the coil. Before using them, carefully check thesuppressor's ratings. Just because the suppressor is made specifically for that part does not mean itwill reduce the 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 ahigh enough voltage rating to NOT conduct at 48 V. That suppressor might typically startconducting at roughly 60 VDC. If it were mounted across a 24 V coil, transients of roughly84 V (if sinking output) or -60 V (if sourcing output) could reach the PLC output. Manysemiconductor PLC outputs cannot tolerate such levels.
Prolonging Relay Contact LifeRelay contacts wear according to the amount of relay switching, amount of spark created atthe time of open or closure, and presence of airborne contaminants. There are some steps youcan take to help prolong the life of relay contacts, such as switching the relay on or off onlywhen it is necessary, and if possible, switching the load on or off at a time when it will drawthe least current. Also, take measures to suppress inductive voltage spikes from inductive DCloads such as contactors and solenoids.
For inductive loads in DC circuits we recommend using a suppression diode as shown in thefollowing diagram (DO NOT use this circuit with an AC power supply). When the load isenergized the diode is reverse-biased (high impedance). When the load is turned off, energystored in its coil is released in the form of a negative-going voltage spike. At this moment thediode is forward-biased (low impedance) and shunts the energy to ground. This protects therelay contacts from the high voltage arc that would occur just as the contacts are opening.
Place the diode as close to the inductive field device as possible. Use a diode with a peakinverse voltage rating (PIV) at least 100 PIV, 3 A forward current or larger. Use a fast-recoverytype (such as Schottky type). DO NOT use a small-signal diode such as 1N914, 1N941, etc.Be sure the diode is in the circuit correctly before operation. If installed backwards, it short-circuits the supply when the relay energizes.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–26
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Inductive Field Device
+ –
PLC Relay Output
Output
Common
Input
Common
DC Input Wiring MethodsDL06 Micro PLCs with DC inputs areparticularly flexible because they can be wired aseither sinking or sourcing. The dual diodes(shown to the right) allow 10.8 – 26.4 VDC. Thetarget applications are +12 VDC and +24 VDC.You can actually wire each group of inputsassociated common group of inputs as DCsinking and the other half as DC sourcing. Inputs grouped by a common must be all sinkingor all sourcing.
In the first and simplest example below, all commons are connected together and all inputsare sinking.
In the next example, the first eight inputs are sinking, and the last twelve are sourcing.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 2–27
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
PLC DC Input
Common
Input
LOGICKoyo06
fuse
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V0V
+VC1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1LGG
AC(L)OUTPUT: Sinking Output 6 - 27V 1.0A
INPUT: 12 - 24V 3 - 15mA
YX
D0-06DD140VA50-60HzPWR: 100-240V
+24 VDC+
-
L LL L L LL LL LL L L LL L
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
+24 VDC
+
-
LOGICKoyo06
fuse
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V0V
+VC1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1LGG
AC(L)OUTPUT: Sinking Output 6 - 27V 1.0A
INPUT: 12 - 24V 3 - 15mA
YX
D0-06DD140VA50-60HzPWR: 100-240V
+24 VDC
+
-
L LL L L LL LL LL L L LL L
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
+12 VDC
+
-
+24 VDC
+
-+
-
+12 VDC
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–28
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DC Output Wiring MethodsDL06 DC output circuits are high-performance transistor switches with low on-resistanceand fast switching times. Please note the following characteristics which are unique to the DCoutput type:• There is only one electrical common for all sixteen outputs. All sixteen outputs belong to one bank.
• The output switches are current-sinking only or current sourcing only. Refer to the detailedspecifications in this manual to determine which type output is present on a particular model.
• The output circuit inside the PLC requires external power. The supply (–) must be connected to acommon terminal, and the supply (+) connects the right-most terminal on the upper connector(+V).
In the example below, all sixteen outputs share a common supply.
In the next example below, the outputs have split supplies. The first eight outputs are using a+12 VDC supply, and the last eight are using a +24 VDC supply. However, you can split theoutputs among any number of supplies, as long as:• all supply voltages are within the specified range
• all output points are wired as sinking
• all source (–) terminals are connected together
Warning: The maximum output current from the Auxiliary 24 VDC power depends on the I/Oconfiguration. Refer to Chapter 4, page 4-6, to determine how much current can be drawn fromthe Auxiliary 24 VDC power for your particular I/O configuration.
LOGICKoyo06
DCSupply
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V0V
+VC1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1LGG
AC(L)OUTPUT: Sinking Output 6 - 27V 1.0A
INPUT: 12 - 24V 3 - 15mA
YX
D0-06DD140VA50-60HzPWR: 100-240V
+24 VDC+
-
L LL L L LL LL LL L L LL L
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
LOGICKoyo06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V0V
+VC1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1LGG
AC(L)OUTPUT: Sinking Output 6 - 27V 1.0A
INPUT: 12 - 24V 3 - 15mA
YX
D0-06DD140VA50-60HzPWR: 100-240V
+24 VDC
+
-
L LL L L LL LL LL L L LL L
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
+12 VDC
+
-
+24 VDC
+
-+
-
+12 VDC
High-Speed I/O Wiring MethodsDL06 versions with DC type input or output points contain a dedicated High-Speed I/Ocircuit (HSIO). The circuit configuration is programmable, and it processes specific I/Opoints independently from the CPU scan. Appendix E discusses the programming options forHSIO. While the HSIO circuit has six modes, we show wiring diagrams for two of the mostpopular modes in this chapter. The high-speed input interfaces to points X0 – X3. Properlyconfigured, the DL06 can count quadrature pulses at up to 7 kHz from an incrementalencoder as shown below.
NOTE: Do not use this drawing to wire your device. This is a general example and is not specific toany PLC model, stepper or encoder. Always refer to the device documentaion for proper wiringconnections.
DL06 versions with DC type output points can use the High Speed I/O Pulse Outputfeature. It can generate high-speed pulses at up to 10 kHz for specialized control such asstepper motor / intelligent drive systems. Output Y0 and Y1 can generate pulse and directionsignals, or it can generate CCW and CW pulse signals respectively. See Appendix E on high-speed input and pulse output options.
NOTE: Do not use this drawing to wire your device. This is a general example and is not specific toany PLC model, stepper or encoder. Always refer to the device documentaion for proper wiringconnections.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 2–29
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
LOGICKoyo06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V0V
+VC1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1LGG
AC(L)OUTPUT: Sinking Output 6 - 27V 1.0A
INPUT: 12 - 24V 3 - 15mA
YX
D0-06DD140VA50-60HzPWR: 100-240V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
+
-+24 VDC
Motor
Power Input
Amplifier
Signal Common
PulseDirection
LOGICKoyo06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V0V
+VC1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1LGG
AC(L)OUTPUT: Sinking Output 6 - 27V 1.0A
INPUT: 12 - 24V 3 - 15mA
YX
D0-06DD140VA50-60HzPWR: 100-240V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
+
-+24 VDC
Motor
Power Input
Amplifier
Signal Common
PulseDirection
Phase A = X0Phase B = X1
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–30
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Wiring Diagrams and SpecificationsThe remainder of this chapter provides detailed technical information for the DL06 PLCs. Abasic wiring diagram, equivalent I/O circuits, and specification tables are laid out for each PLC.
D0–06AA I/O Wiring DiagramThe D0–06AA PLC has twenty AC inputs and sixteen AC outputs. The following diagram showsa typical field wiring example. The AC external power connection uses four terminals as shown.
Inputs are organized into five banks of four. Each bank has an isolated common terminal. Thewiring example below shows all commons connected together, but separate supplies and commoncircuits may be used. The equivalent input circuit shows one channel of a typical bank.
Outputs are organized into four banks of four triac switches. Each bank has a common terminal.The wiring example below shows all commons connected together, but separate supplies andcommon circuits may be used. The equivalent output circuit shows one channel of a typical bank.
LOGICKoyo06
L LL L
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
L LL LL LL L L LL L
AC(N) 24V0V
N.C.C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1LGG
AC(L)
D0-06AA40VA50-60HzPWR: 100-240V2.0AOUTPUT: 6-240V 50 - 60Hz 2.0A, 6 - 27V
YX
7 - 15mAINPUT: 90 - 120V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
OUTPUTpoint wiring
17-240V VAC
POWERinput wiring
100-240V VAC
INPUT point wiring
90-120V VAC
90-120VAC
0
4
12
16
Points
Ambient Temperature ( ˚C/ ˚F)
0 32
1050
2068
3086
40104
50122
55˚C131˚F
Y0 - Y70.5 A
Y10 - Y178
AA
OpticalIsolator
To LED
Internal module circuitry
L
+VOUTPUT
COM
Equivalent Input Circuit Equivalent Output Circuit
Derating Chart for AC Outputs
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 2–31
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
D0-06AA General SpecificationsExternal Power Requirements 100– 240 VAC/50-60 Hz, 40 VA maximum
Communication Port 1 9600 baud (Fixed),8 data bits, 1 stop bit odd parity K–Sequence (Slave), DirectNET (Slave), MODBUS (Slave)
Communication Port 2 9600 baud (default)8 data bits, 1 stop bit odd parity
K–Sequence (Slave),DirectNET (Master/Slave), MODBUS(Master/Slave), Non-sequence / print, ASCII in/out
Programming cable type D2–DSCBLOperating Temperature 32 to 131°F (0 to 55°C)Storage Temperature –4 to 158°F (–20 to 70°C)Relative Humidity 5 to 95% (non-condensing)Environmental air No corrosive gases permitted
Vibration MIL STD 810C 514.2Shock MIL STD 810C 516.2
Noise Immunity NEMA ICS3–304Terminal Type RemovableWire Gauge One 16 AWG or two 18 AWG, 24 AWG minimum
AC Input SpecificationsInput Voltage Range (Min. - Max.) 80 – 132 VAC, 47 - 63 Hz
Operating Voltage Range 90 – 120 VAC, 47 - 63 Hz
Input Current 8 mA @100 VAC at 50 Hz 10 mA @100 VAC at 60 Hz
Max. Input Current 12 mA @132 VAC at 50 Hz 15 mA @132 VAC at 60 Hz
Input Impedance 14K� @50 Hz, 12K� @60HzON Current/Voltage > 6 mA @ 75 VACOFF Current/Voltage < 2 mA @ 20 VACOFF to ON Response < 40 msON to OFF Response < 40 msStatus Indicators Logic Side
Commons 4 channels / common x 5 banks (isolated)
AC Output SpecificationsOutput Voltage Range (Min. - Max.) 15 – 264 VAC, 47 – 63 Hz
Operating Voltage 17 – 240 VAC, 47 – 63 HzOn Voltage Drop 1.5 VAC (>50mA) 4.0 VAC (<50mA)Max Current 0.5 A / point, 1.5 A / common
Max leakage current <4 mA @ 264 VACMax inrush current 10 A for 10 msMinimum Load 10 mA
OFF to ON Response 1 msON to OFF Response 1 ms +1/2 cycleStatus Indicators Logic Side
Commons 4 channels / common x 4 banks (isolated)Fuses None (external recommended)
D0–06AR I/O Wiring DiagramThe D0–06AR PLC has twenty AC inputs and sixteen relay contact outputs. The followingdiagram shows a typical field wiring example. The AC external power connection uses fourterminals at the left as shown.
The twenty AC input channels use terminals on the bottom of the connector. Inputs areorganized into five banks of four. Each bank has a common terminal. The wiring examplebelow shows all commons connected together, but separate supplies and common circuitsmay be used. The equivalent input circuit shows one channel of a typical bank.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–32
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
LOGICKoyo06
L LL L
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
L LL LL LL L L LL L
AC(N) 24V0V
N.C.C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1LGG
AC(L)
D0-06AR40VA50-60HzPWR: 100-240V2.0AOUTPUT: 6-240V 50 - 60Hz 2.0A, 6 - 27V
YX
7 - 15mAINPUT: 90 - 120V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
OUTPUT point wiring
6-240 VAC or 6-27 VDC
POWERinput wiring
100-240V VAC
INPUT point wiring
90-120V VAC
90-120VAC
0
4
12
16
Points
Ambient Temperature ( ˚C/ ˚F)
0 32
1050
2068
3086
40104
50122
55˚C131˚F
Y0 - Y72.0A
Y10 - Y178
AR
Derating Chart for Relay Outputs
Equivalent Input Circuit Equivalent Output Circuit
Typical Relay Life (Operations) atRoom Temperature
Voltage & LoadType
Load CurrentAt 1A At 2A
24VDC Resistive 500K 250K 24VDC Inductive 100K 50K 110VAC Resistive 500K 250K 110VAC Inductive 200K 100K 220VAC Resistive 350K 200K 220VAC Inductive 100K 50K
The sixteen relay output channels use terminals on the right side top connector. Outputs areorganized into four banks of four normally-open relay contacts. Each bank has a commonterminal. The wiring example on the last page shows all commons connected together, butseparate supplies and common circuits may be used. The equivalent output circuit shows onechannel of a typical bank. The relay contacts can switch AC or DC voltages.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 2–33
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
D0-06AR General SpecificationsExternal Power Requirements 100– 240 VAC/50-60 Hz, 40 VA maximum
Communication Port 1 9600 baud (Fixed), 8 databits, 1 stop bit, odd parity K–Sequence (Slave), DirectNET (Slave), MODBUS (Slave)
Communication Port 2 9600 baud (default), 8 databits, 1 stop bit, odd parity
K–Sequence (Slave), DirectNET (Master/Slave), MODBUS(Master/Slave), Non-sequence / print, ASCII in/out
Programming cable type D2–DSCBLOperating Temperature 32 to 131°F (0 to 55°C)Storage Temperature –4 to 158°F (–20 to 70°C)Relative Humidity 5 to 95% (non-condensing)Environmental air No corrosive gases permitted
Vibration MIL STD 810C 514.2Shock MIL STD 810C 516.2
Noise Immunity NEMA ICS3–304Terminal Type RemovableWire Gauge One 16 AWG or two 18 AWG, 24 AWG minimum
AC Input Specifications X0-X23Input Voltage Range (Min. - Max.) 80 – 132 VAC, 47 - 63 Hz
Operating Voltage Range 90 – 120 VAC, 47 -63 HzInput Current 8 mA @ 100 VAC at 50 Hz 10 mA @ 100 VAC at 60 Hz
Max. Input Current 12 mA @ 132 VAC at 50 Hz 15 mA @ 132 VAC at 60 HzInput Impedance 14K� @50 Hz, 12K� @60 HzON Current/Voltage >6 mA @ 75 VACOFF Current/Voltage <2 mA @ 20 VACOFF to ON Response < 40 msON to OFF Response < 40 msStatus Indicators Logic Side
Commons 4 channels / common x 5 banks (isolated)
Relay Output Specifications Y0-Y17Output Voltage Range (Min. – Max.) 5 – 264 VAC (47 -63 Hz), 5 – 30 VDC
Operating Voltage Range 6 – 240 VAC (47 -63 Hz), 6 – 27 VDCOutput Current 2A / point, 6A / common
Max. leakage current 0.1 mA @264VACSmallest Recommended Load 5 mA @5 VDC
OFF to ON Response < 15 msON to OFF Response < 10 msStatus Indicators Logic Side
Commons 4 channels / common x 4 banks (isolated)Fuses None (external recommended)
D0–06DA I/O Wiring DiagramThe D0–06DA PLC has twenty DC inputs and sixteen AC outputs. The following diagram showsa typical field wiring example. The AC external power connection uses four terminals as shown.
Inputs are organized into five banks of four. Each bank has an isolated common terminal, andmay be wired as sinking or sourcing. The wiring example below shows all commons connectedtogether, but separate supplies and common circuits may be used. The equivalent circuit forstandard inputs is shown below, and the high-speed input circuit is shown to the left.
Outputs are organized into four banks of four triac switches. Each bank has a common terminal.The wiring example below shows all commons connected together, but separate supplies andcommon circuits may be used. The equivalent output circuit shows one channel of a typical bank.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–34
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D12-24VDC
SinkSource
12-24VDC
SinkSource
High Speed Inputs (X0-X3)Standard Inputs (X4-X23)
Powerinput wiring
Input point wiring
Output point wiring100-240 VAC
17-240VAC
12-24VDC SinkSource
0
4
12
16
Points
Ambient Temperature ( ˚C/ ˚F)
0 32
1050
2068
3086
40104
50122
55˚C131˚F
Y0 - Y70.5 A
Y10 - Y178
Derating Chart for AC Outputs
OpticalIsolator
To LED
Internal module circuitry
L
+VOUTPUT
COM
Equivalent Output Circuit
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 2–35
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
D0-06DA General SpecificationsExternal Power Requirements 100– 240 VAC/50-60 Hz, 40 VA maximum
Communication Port 1 9600 baud (Fixed), 8 databits, 1 stop bit, odd parity
K–Sequence (Slave), DirectNET (Slave),MODBUS (Slave)
Communication Port 2 9600 baud (default), 8 databits, 1 stop bit, odd parity
K–Sequence (Slave), DirectNET (Master/Slave),MODBUS (Master/Slave), Non-sequence/print, ASCII in/out
Programming cable type D2–DSCBLOperating Temperature 32 to 131°F (0 to 55°C)Storage Temperature –4 to 158°F (–20 to 70°C)Relative Humidity 5 to 95% (non-condensing)Environmental air No corrosive gases permitted
Vibration MIL STD 810C 514.2Shock MIL STD 810C 516.2
Noise Immunity NEMA ICS3–304Terminal Type RemovableWire Gauge One 16 AWG or two 18 AWG, 24 AWG minimum
DC Input SpecificationsParameter High–Speed Inputs, X0 – X3 Standard DC Inputs X4 – X23
Input Voltage Range 10.8 – 26.4 VDC 10.8 – 26.4 VDCOperating Voltage Range 12 – 24 VDC 12 – 24 VDC
Maximum Voltage 30 VDC (7 kHz maximum frequency) 30 VDCMinimum Pulse Width 70 µs N/AON Voltage Level > 10 VDC > 10 VDCOFF Voltage Level < 2.0 VDC < 2.0 VDCInput Impedance 1.8 k� @ 12 – 24 VDC 2.8 k� @ 12 – 24 VDC
Minimum ON Current >5 mA >4 mAMaximum OFF Current < 0.5 mA <0.5 mAOFF to ON Response <70 µs 2 – 8 ms, 4 ms typicalON to OFF Response <70 µs 2 – 8 ms, 4 ms typicalStatus Indicators Logic side Logic side
Commons 4 channels / common x 5 bank (isolated)
AC Output SpecificationsOutput Voltage Range (Min. - Max.) 15 – 264 VAC, 47 – 63 Hz
Operating Voltage 17 – 240 VAC, 47 – 63 HzOn Voltage Drop 1.5 VAC @> 50mA, 4 VAC @< 50mAMax Current 0.5 A / point, 1.5 A / common
Max leakage current < 4 mA @ 264 VAC, 60HzMax inrush current 10 A for 10 msMinimum Load 10 mA
OFF to ON Response 1 msON to OFF Response 1 ms +1/2 cycleStatus Indicators Logic Side
Commons 4 channels / common x 4 banks (isolated)Fuses None (external recommended)
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–36
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D12-24VDC
SinkSource
20-28VDC
0
4
12
16
Points
Ambient Temperature ( °C/°F)
032
1050
2068
3086
40104
50122
55°C131°F
1.0 AY0-Y17
8
0.75A
12-24VDC
SinkSource
20-28VDC
DC Standard Inputs (X4-X23)
DC Pulse Outputs (Y0-Y1)
DC Standard Outputs (Y2-Y17)
High Speed Inputs (X0-X3)
Derating Chart for DC Outputs
D0–06DD1 I/O Wiring DiagramThe D0-06DD1 PLC has twenty sinking/sourcing DC inputs and sixteen sinking DC outputs. Thefollowing diagram shows a typical field wiring example. The AC external power connection uses fourterminals as shown.
Inputs are organized into five banks of four. Each bank has an isolated common terminal,and may be wired as either sinking or sourcing inputs. The wiring example below shows allcommons connected together, but separate supplies and common circuits may be used.
Outputs all share the same common. Note the requirement for external power.
Powerinput wiring
Input point wiring
Output point wiring
6-27VDC
20-28VDC
12-24 VDC
100-240VAC
SinkSource
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 2–37
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
D0-06DD1 General SpecificationsExternal Power Requirements 100– 240 VAC/50-60 Hz, 40 VA maximum
Communication Port 1 9600 baud (Fixed), 8 data bits, 1 stop bit, odd parity
K–Sequence (Slave), DirectNET (Slave), MODBUS (Slave)
Communication Port 2 9600 baud (default),8 data bits, 1 stop bit, odd parity
K–Sequence (Slave), DirectNET (Master/Slave), MODBUS (Master/Slave), Non-sequence / print, ASCII in/out
Programming cable type D2–DSCBLOperating Temperature 32 to 131°F (0 to 55°C)Storage Temperature –4 to 158°F (–20 to 70°C)Relative Humidity 5 to 95% (non-condensing)Environmental air No corrosive gases permitted
Vibration MIL STD 810C 514.2Shock MIL STD 810C 516.2
Noise Immunity NEMA ICS3–304Terminal Type RemovableWire Gauge One 16 AWG or two 18 AWG, 24 AWG minimum
DC Input SpecificationsParameter High–Speed Inputs, X0 – X3 Standard DC Inputs X4 – X23
Min. - Max. Voltage Range 10.8 – 26.4 VDC 10.8 – 26.4 VDCOperating Voltage Range 12 – 24 VDC 12 – 24 VDC
Peak Voltage 30 VDC (7 kHz maximum frequency) 30 VDCMinimum Pulse Width 100 µs N/AON Voltage Level > 10.0 VDC > 10.0 VDCOFF Voltage Level < 2.0 VDC < 2.0 VDCMax. Input Current 6mA @12VDC, 13mA @24VDC 4mA @12VDC, 8.5mA @24VDCInput Impedance 1.8 �k @ 12 – 24 VDC 2.8 �k @ 12 – 24 VDC
Minimum ON Current >5 mA >4 mAMaximum OFF Current < 0.5 mA <0.5 mAOFF to ON Response <70 µs 2 – 8 ms, 4 ms typicalON to OFF Response <70 µs 2 – 8 ms, 4 ms typicalStatus Indicators Logic side Logic side
Commons 4 channels / common x 5 banks isolated
DC Output SpecificationsParameter Pulse Outputs Y0 – Y1 Standard Outputs Y2 – Y17
Min. - Max. Voltage Range 5 – 30 VDC 5 – 30 VDCOperating Voltage 6 – 27 VDC 6 – 27 VDCPeak Voltage < 50 VDC (10 kHz max. frequency) < 50 VDC
On Voltage Drop 0.3 VDC @ 1 A 0.3 VDC @ 1 AMax Current (resistive) 0.5 A / pt., 1A / pt. as standard pt. 1.0 A / pointMax leakage current 15µA @ 30 VDC 15µA @ 30 VDCMax inrush current 2 A for 100 ms 2 A for 100 ms
External DC power required 20 - 28 VDC Max 150mA 20 - 28 VDC Max 280mA (Aux. 24VDCpowers V+ terminal (sinking outputs)
OFF to ON Response < 10 µs < 10 µsON to OFF Response < 20 µs < 60 µsStatus Indicators Logic Side Logic Side
Commons 4 channels / common x 4 banks non-isolatedFuses None (external recommended)
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–38
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
D0–06DD2 I/O Wiring DiagramThe D0–06DD2 PLC has twenty sinking/sourcing DC inputs and sixteen sourcing DC outputs. Thefollowing diagram shows a typical field wiring example. The AC external power connection uses fourterminals as shown.
Inputs are organized into four banks of four. Each bank has an isolated common terminal,and may be wired as either sinking or sourcing inputs. The wiring example below shows allcommons connected together, but separate supplies and common circuits may be used.
All outputs share the same common. Note the requirement for external power.
12-24VDC
12-24VDC
SinkSource
12-24VDC
DC Standard Inputs (X4-X23)
DC Pulse Outputs (Y0-Y1)
DC Standard Outputs (Y2-Y17)
Power input wiring
Input point wiring
Output point wiring100-240
VAC 12-24VDC
12-24 VDC
SinkSource
0
4
12
16
Points
Ambient Temperature ( ˚C/ ˚F)
0 32
1050
2068
3086
40104
50122
55˚C131˚F
Y0 - Y71.0 A Y10 - Y17
8
0.75A
Derating Chart for DC Outputs
12-24VDC
SinkSource
High Speed Inputs (X0-X3)
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 2–39
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
D0-06DD2 General SpecificationsExternal Power Requirements 100– 240 VAC/50-60 Hz, 40 VA maximum
Communication Port 1 9600 baud (Fixed), 8 data bits, 1 stop bit, odd parity
K–Sequence (Slave), DirectNET (Slave), MODBUS (Slave)
Communication Port 2 9600 baud (default),8 data bits, 1 stop bit, odd parity
K–Sequence (Slave), DirectNET (Master/Slave), MODBUS (Master/Slave), Non-sequence / print, ASCII in/out
Programming cable type D2–DSCBLOperating Temperature 32 to 131°F (0 to 55°C)Storage Temperature –4 to 158°F (–20 to 70°C)Relative Humidity 5 to 95% (non-condensing)Environmental air No corrosive gases permitted
Vibration MIL STD 810C 514.2Shock MIL STD 810C 516.2
Noise Immunity NEMA ICS3–304Terminal Type RemovableWire Gauge One 16 AWG or two 18 AWG, 24 AWG minimum
DC Input SpecificationsParameter High–Speed Inputs, X0 – X3 Standard DC Inputs X4 – X23
Min. - Max. Voltage Range 10.8 – 26.4 VDC 10.8 – 26.4 VDCOperating Voltage Range 12 – 24 VDC 12 – 24 VDC
Peak Voltage 30 VDC (7 kHz maximum frequency) 30 VDCMinimum Pulse Width 70 µs N/AON Voltage Level > 10.0 VDC > 10.0 VDCOFF Voltage Level < 2.0 VDC < 2.0 VDCMax. Input Current 6mA @12VDC, 13mA @24VDC 4mA @12VDC, 8.5mA @24VDCInput Impedance 1.8 �k @ 12 – 24 VDC 2.8 �k @ 12 – 24 VDC
Minimum ON Current >5 mA >4 mAMaximum OFF Current < 0.5 mA <0.5 mAOFF to ON Response <70 µs 2 – 8 ms, 4 ms typicalON to OFF Response <70 µs 2 – 8 ms, 4 ms typicalStatus Indicators Logic side Logic side
Commons 4 channels/common x 5 banks (isolated)
DC Output SpecificationsParameter Pulse Outputs Y0 – Y1 Standard Outputs Y2 – Y17
Min. - Max. Voltage Range 10.8 -26.4 VDC 10.8 -26.4 VDCOperating Voltage 12-24 VDC 12-24 VDCPeak Voltage < 50 VDC (10 kHz max. frequency) < 50 VDC
On Voltage Drop 0.5VDC @ 1 A 1.2 VDC @ 1 AMax Current (resistive) 0.5 A / pt., 1A / pt. as standard pt. 1.0 A / pointMax leakage current 15 µA @ 30 VDC 15 µA @ 30 VDCMax inrush current 2 A for 100 ms 2 A for 100 ms
External DC power required 12 - 24 VDC 12 -24 VDCOFF to ON Response < 10µs < 10 µsON to OFF Response < 20 µs < 0.5 µsStatus Indicators Logic Side Logic Side
Commons 4 channels / common x 4 banks (non-isolated)Fuses None (external recommended)
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–40
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
D0–06DR I/O Wiring DiagramThe D0–06DR PLCs feature twenty DC inputs and sixteen relay contact outputs. The following diagramshows a typical field wiring example. The AC external power connection uses four terminals as shown.
Inputs are organized into five banks of four. Each bank has an isolated common terminal, andmay be wired as either sinking or sourcing inputs. The wiring example below shows all commonsconnected together, but separate supplies and common circuits may be used. The equivalentcircuit for standard inputs is shown below, and the high-speed input circuit is shown to the left.
Outputs are organized into four banks of four normally-open relay contacts. Each bank has acommon terminal. The wiring example below shows all commons connected together, butseparate supplies and common circuits may be used. The equivalent output circuit shows onechannel of a typical bank. The relay contacts can switch AC or DC voltages.
Power input wiring
Input point wiring
Output point wiring
100-240VAC
6-240VACor6-27VDC
12-24VDC SinkSource
12-24VDC
SinkSource
F
Equivalent Circuit, High-speed Inputs (X0-X3)
Derating Chart for Relay Outputs
12-24VDC
SinkSource
Typical Relay Life (Operations) atRoom Temperature
Equivalent Circuit, Standard Inputs (X4-X23)
Voltage & LoadType
Load CurrentAt 1A At 2A
24VDC Resistive 500K 250K 24VDC Inductive 100K 50K 110VAC Resistive 500K 250K 110VAC Inductive 200K 100K 220VAC Resistive 350K 200K 220VAC Inductive 100K 50K
Equivalent Output Circuit
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 2–41
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
D0-06DR General SpecificationsExternal Power Requirements 100– 240 VAC/50-60 Hz, 40 VA maximum
Communication Port 1 9600 baud (Fixed), 8 databits, 1 stop bit, odd parity K–Sequence (Slave), DirectNET (Slave), MODBUS (Slave)
Communication Port 2 9600 baud (default), 8 databits, 1 stop bit, odd parity
K–Sequence (Slave), DirectNET (Master/Slave), MODBUS(Master/Slave), Non-sequence /print, ASCII in/out
Programming cable type D2–DSCBLOperating Temperature 32 to 131°F (0 to 55°C)Storage Temperature –4 to 158°F (–20 to 70°C)Relative Humidity 5 to 95% (non-condensing)Environmental air No corrosive gases permitted
Vibration MIL STD 810C 514.2Shock MIL STD 810C 516.2
Noise Immunity NEMA ICS3–304Terminal Type RemovableWire Gauge One 16 AWG or two 18 AWG, 24 AWG minimum
DC Input SpecificationsParameter High–Speed Inputs, X0 – X3 Standard DC Inputs X4 – X23
Min. - Max. Voltage Range 10.8 – 26.4 VDC 10.8 – 26.4 VDCOperating Voltage Range 12 -24 VDC 12 -24 VDC
Peak Voltage 30 VDC (7 kHz maximum frequency) 30 VDCMinimum Pulse Width 70 µs N/AON Voltage Level > 10 VDC > 10 VDCOFF Voltage Level < 2.0 VDC < 2.0 VDCInput Impedance 1.8 k� @ 12 – 24 VDC 2.8 k� @ 12 – 24 VDCMax. Input Current 6mA @12VDC 13mA @24VDC 4mA @12VDC 8.5mA @24VDCMinimum ON Current >5 mA >4 mAMaximum OFF Current < 0.5 mA <0.5 mAOFF to ON Response <70 µs 2 – 8 ms, 4 ms typicalON to OFF Response <70 µs 2 – 8 ms, 4 ms typicalStatus Indicators Logic side Logic side
Commons 4 channels / common x 5 banks (isolated)
Relay Output SpecificationsOutput Voltage Range (Min. - Max.) 5 -264 VAC (47 -63 Hz), 5 - 30 VDC
Operating Voltage 6 -240 VAC (47 -63 Hz), 6 - 27 VDCOutput Current 2A / point 6A / common
Maximum Voltage 264 VAC, 30 VDCMax leakage current 0.1 mA @264 VAC
Smallest Recommended Load 5 mAOFF to ON Response < 15 msON to OFF Response < 10 msStatus Indicators Logic Side
Commons 4 channels / common x 4 banks (isolated)Fuses None (external recommended)
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–42
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
0–06DD1–D I/O Wiring DiagramThese micro PLCs feature twenty DC inputs and sixteen sinking DC outputs. The followingdiagram shows a typical field wiring example. The DC external power connection uses fourterminals at the left as shown.
Inputs are organized intofive banks of four. Eachbank has an isolatedcommon terminal, andmay be wired as eithersinking or sourcinginputs. The wiringexample below shows allcommons connectedtogether, but separatesupplies and commoncircuits may be used.
All outputs actuallyshare the same common.Note the requirementfor external power.
20-28VDC
0
4
12
16
Points
Ambient Temperature ( °C/°F)
032
1050
2068
3086
40104
50122
55°C131°F
1.0 AY0-Y17
8
0.75A
Derating Chart for DC Outputs
Powerinput wiring
Input point wiring
Output point wiring
D0-06DD1-D
+ -12 - 24 VDC
+ - N.C.12-24V12-24V 20W
6-27VDC
20-28VDC
12-24 VDC
SinkSource
20-28VDC
DC Pulse Outputs (Y0-Y1)
DC Standard Outputs (Y2-Y17)
12-24VDC
SinkSource
Standard Input Circuit (X4-X23)
12-24VDC
SinkSource
High Speed Inputs (X0-X3)
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 2–43
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
D0-06DD1-D General SpecificationsExternal Power Requirements 12 – 24 VDC, 20 W maximum,
Communication Port 1: 9600 baud (Fixed),8 data bits, 1 stop bit, odd parity
K–Sequence (Slave), DirectNET (Slave),MODBUS (Slave)
Communication Port 2: 9600 baud (default),8 data bits, 1 stop bit,odd parity
K–Sequence (Slave), DirectNET (Master/Slave), MODBUS (Master/Slave), Non-sequence/print, ASCII in/out
Programming cable type D2–DSCBLOperating Temperature 32 to 131°F (0 to 55°C)Storage Temperature –4 to 158°F (–20 to 70°C)Relative Humidity 5 to 95% (non-condensing)Environmental air No corrosive gases permitted
Vibration MIL STD 810C 514.2Shock MIL STD 810C 516.2
Noise Immunity NEMA ICS3–304Terminal Type RemovableWire Gauge One 16 AWG or two 18 AWG, 24 AWG minimum
DC Input SpecificationsParameter High–Speed Inputs, X0 – X3 Standard DC Inputs X4 – X23
Min. - Max. Voltage Range 10.8 – 26.4 VDC 10.8 – 26.4 VDCOperating Voltage Range 12 – 24 VDC 12 – 24 VDC
Peak Voltage 30 VDC (7 kHz maximum frequency) 30 VDCMinimum Pulse Width 70 µs N/AON Voltage Level >10.0 VDC > 10.0 VDCOFF Voltage Level < 2.0 VDC < 2.0 VDCMax. Input Current 6mA @12VDC, 13mA @24VDC 4mA @12VDC, 8.5mA @24VDCInput Impedance 1.8 k� @ 12 – 24 VDC 2.8 k� @ 12 – 24 VDC
Minimum ON Current >5 mA >4 mAMaximum OFF Current < 0.5 mA <0.5 mAOFF to ON Response <70 µs 2 – 8 ms, 4 ms typicalON to OFF Response <70 µs 2 – 8 ms, 4 ms typicalStatus Indicators Logic side Logic side
Commons 4 channels / common x 5 banks (isolated)
DC Output SpecificationsParameter Pulse Outputs, Y0 – Y1 Standard Outputs, Y2 – Y17
Min. - Max. Voltage Range 5 – 30 VDC 5 – 30 VDCOperating Voltage 6 – 27 VDC 6 – 27 VDCPeak Voltage < 50 VDC (10 kHz max. frequency) < 50 VDC
On Voltage Drop 0.3 VDC @ 1 A 0.3 VDC @ 1 AMax Current (resistive) 0.5 A / pt., 1A / pt. as standard pt. 1.0 A / pointMax leakage current 15 µA @ 30 VDC 15 µA @ 30 VDCMax inrush current 2 A for 100 ms 2 A for 100 ms
External DC power required 20 - 28 VDC Max 150mA 20 - 28 VDC Max 150mAOFF to ON Response < 10 µs < 10 µsON to OFF Response < 20 µs < 60 µsStatus Indicators Logic Side Logic Side
Commons 4 channels / common x 4 banks (non-isolated)Fuses None (external recommended)
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–44
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
D0–06DD2–D I/O Wiring DiagramThese micro PLCs feature twenty DC inputs and sixteen sourcing DC outputs. The followingdiagram shows a typical field wiring example. The DC external power connection uses fourterminals at the left as shown.
Inputs are organized into five banks of four. Each bank has an isolated common terminal, andmay be wired as eithersinking or sourcinginputs. The wiringexample below shows allcommons connectedtogether, but separatesupplies and commoncircuits may be used.
All outputs actually sharethe same common. Notethe requirement forexternal power.
LOGICKoyo06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
V1 V3Y0 Y15Y12Y10 Y17Y7Y5Y2V0 V2 Y16Y14Y13Y11Y6Y4Y3Y1 C0+ -
LGN.C.
N.C.G
OUTPUT: Sourcing Output 12-24V 1.0A
INPUT: 12 - 24V 3 - 15mA
YX
PWR: 12-24V 20WD0-06DD2-D
12 - 24VDC
+-
L LL L L LL LL LL L L LL L
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
+ -12 - 24 VDC
Powerinput wiring
Input point wiring
Output point wiring
12-24 VDC
SinkSource
12-24VDC
SinkSource
12-24VDC
Standard Input Circuit (X4-X23)
High Speed Inputs (X0-X3)
12-24VDC
SinkSource
12-24VDC
DC Pulse Outputs (Y0-Y1)
0
4
12
16
Points
Ambient Temperature ( ˚C/ ˚F)
0 32
1050
2068
3086
40104
50122
55˚C131˚F
Y0 - Y71.0 A Y10 - Y17
8
0.75A
Derating Chart for DC Outputs
DC Standard Outputs (Y2-Y17)
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 2–45
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
D0-06DD2-D General SpecificationsExternal Power Requirements 12 – 24 VDC, 20 W maximum,
Communication Port 1: 9600 baud (Fixed),8 data bits, 1 stop bit, odd parity
K–Sequence (Slave), DirectNET (Slave),MODBUS (Slave)
Communication Port 2: 9600 baud (default),8 data bits, 1 stop bit, odd parity
K–Sequence (Slave), DirectNET (Master/Slave), MODBUS (Master/Slave), Non-sequence/print, ASCII in/out
Programming cable type D2–DSCBLOperating Temperature 32 to 131°F (0 to 55°C)Storage Temperature –4 to 158°F (–20 to 70°C)Relative Humidity 5 to 95% (non-condensing)Environmental air No corrosive gases permitted
Vibration MIL STD 810C 514.2Shock MIL STD 810C 516.2
Noise Immunity NEMA ICS3–304Terminal Type RemovableWire Gauge One 16 AWG or two 18 AWG, 24 AWG minimum
DC Input SpecificationsParameter High–Speed Inputs, X0 – X3 Standard DC Inputs X4 – X23
Min. - Max. Voltage Range 10.8 – 26.4 VDC 10.8 – 26.4 VDCOperating Voltage Range 12 – 24 VDC 12 – 24 VDC
Peak Voltage 30 VDC (7 kHz maximum frequency) 30 VDCMinimum Pulse Width 70 µs N/AON Voltage Level >10.0 VDC > 10.0 VDCOFF Voltage Level < 2.0 VDC < 2.0 VDCMax. Input Current 15mA @26.4VDC 11mA @26.4VDCInput Impedance 1.8 k� @ 12 – 24 VDC 2.8 k� @ 12 – 24 VDC
Minimum ON Current 5 mA 3 mAMaximum OFF Current 0.5 mA 0.5 mAOFF to ON Response <70 µs 2 – 8 ms, 4 ms typicalON to OFF Response <70 µs 2 – 8 ms, 4 ms typicalStatus Indicators Logic side Logic side
Commons 4 channels / common x 5 banks (isolated)
DC Output SpecificationsParameter Pulse Outputs, Y0 – Y1 Standard Outputs, Y2 – Y17
Min. - Max. Voltage Range 10.8 – 26.4 VDC 10.8 – 26.4 VDCOperating Voltage 12 – 24 VDC 12 – 24 VDCPeak Voltage 30 VDC (10 kHz max. frequency) 30 VDC
On Voltage Drop 0.5 VDC @ 1 A 1.2 VDC @ 1 AMax Current (resistive) 0.5 A / pt., 1A / pt. as standard pt. 1.0 A / pointMax leakage current 15 µA @ 30 VDC 15 µA @ 30 VDCMax inrush current 2 A for 100 ms 2 A for 100 ms
External DC power required N/A N/AOFF to ON Response < 10 µs < 10 µsON to OFF Response < 20 µs < 0.5 msStatus Indicators Logic Side Logic Side
Commons 4 channels / common x 4 banks (non-isolated)Fuses None (external recommended)
D0–06DR–D I/O Wiring DiagramThe D0–06DR–D PLC has twenty DC inputs and sixteen relay contact outputs. Thefollowing diagram shows a typical field wiring example. The DC external power connectionuses three terminals as shown.
Inputs are organized into five banks of four. Each bank has an isolated common terminal, andmay be wired as either sinking or sourcing inputs. The wiring example above shows allcommons connected together, but separate supplies and common circuits may be used.
Outputs are organized into fourbanks of four normally-openrelay contacts. Each bank has acommon terminal. The wiringexample above shows allcommons connected together,but separate supplies andcommon circuits may be used.The equivalent output circuitshows one channel of a typicalbank. The relay contacts canswitch AC or DC voltages.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–46
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
12-24VDC
SinkSource
High-speed Input Circuit (X0-X3)
Standard Input Circuit (X4-X23)
Standard Output Circuit
Powerinput wiring
Input point wiring
Output point wiring6-240VACor
6-27VDC
12-24 VDC
SinkSource
0
4
12
16
Points
Ambient Temperature ( ˚C/ ˚F)
0 32
1050
2068
3086
40104
50122
55˚C131˚F
Y0 - Y72.0A
Y10 - Y178
DR-D
Derating Chart for Relay Outputs
12-24VDC
SinkSource
Typical Relay Life (Operations) atRoom Temperature
Voltage & LoadType
Load CurrentAt 1A At 2A
24VDC Resistive 500K 250K 24VDC Inductive 100K 50K 110VAC Resistive 500K 250K 110VAC Inductive 200K 100K 220VAC Resistive 350K 200K 220VAC Inductive 100K 50K
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 2–47
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
D0-06DR-D General SpecificationsExternal Power Requirements 12 – 24 VDC, 20 W maximum,
Communication Port 1 9600 baud (Fixed),8 data bits, 1 stop bit, odd parity K–Sequence (Slave), DirectNET (Slave), MODBUS (Slave)
Communication Port 2 9600 baud (default),8 data bits, 1 stop bit, odd parity
K–Sequence (Slave), DirectNET (Master/Slave), MODBUS (Master/Slave),Non-sequence/print, ASCII in/out
Programming cable type D2–DSCBLOperating Temperature 32 to 131°F (0 to 55°C)Storage Temperature –4 to 158°F (–20 to 70°C)Relative Humidity 5 to 95% (non-condensing)Environmental air No corrosive gases permitted
Vibration MIL STD 810C 514.2Shock MIL STD 810C 516.2
Noise Immunity NEMA ICS3–304Terminal Type RemovableWire Gauge One 16 AWG or two 18AWG, 24AWG minimum
DC Input SpecificationsParameter High–Speed Inputs, X0 – X3 Standard DC Inputs X4 – X23
Min. - Max. Voltage Range 10.8 – 26.4 VDC 10.8 – 26.4 VDCOperating Voltage Range 12 -24 VDC 12 -24 VDC
Peak Voltage 30 VDC (7 kHz maximum frequency) 30 VDCMinimum Pulse Width 70 µs N/AON Voltage Level > 10 VDC > 10 VDCOFF Voltage Level < 2.0 VDC < 2.0 VDCInput Impedance 1.8 k� @ 12 – 24 VDC 2.8 k� @ 12 – 24 VDCMax. Input Current 6mA @12VDC 13mA @24VDC 4mA @12VDC 8.5mA @24VDCMinimum ON Current >5 mA >4 mAMaximum OFF Current < 0.5 mA <0.5 mAOFF to ON Response <70 µs 2 – 8 ms, 4 ms typicalON to OFF Response < 70 µs 2 – 8 ms, 4 ms typicalStatus Indicators Logic side Logic side
Commons 4 channels / common x 5 banks (isolated)
Relay Output SpecificationsOutput Voltage Range (Min. - Max.) 5 -264 VAC (47 -63 Hz), 5 - 30 VDC
Operating Voltage 6 -240 VAC (47 -63 Hz), 6 - 27 VDCOutput Current 2A / point 6A / common
Maximum Voltage 264 VAC, 30 VDCMax leakage current 0.1 mA @264 VAC
Smallest Recommended Load 5 mAOFF to ON Response < 15 msON to OFF Response < 10 msStatus Indicators Logic Side
Commons 4 channels / common x 4 banks isolated commonsFuses None (external recommended)
Glossary of Specification Terms
Discrete InputOne of twenty input connections to the PLC which converts an electrical signal from a fielddevice to a binary status (off or on), which is read by the internal CPU each PLC scan.
Discrete OutputOne of sixteen output connections from the PLC which converts an internal ladder programresult (0 or 1) to turn On or Off an output switching device. This enables the program toturn on and off large field loads.
I/O CommonA connection in the input or output terminals which is shared by multiple I/O circuits. Itusually is in the return path to the power supply of the I/O circuit.
Input Voltage RangeThe operating voltage range of the input circuit.
Maximum VoltageMaximum voltage allowed for the input circuit.
ON Voltage LevelThe minimum voltage level at which the input point will turn ON.
OFF Voltage LevelThe maximum voltage level at which the input point will turn OFF
Input ImpedanceInput impedance can be used to calculate input current for a particular operating voltage.
Input CurrentTypical operating current for an active (ON) input.
Minimum ON CurrentThe minimum current for the input circuit to operate reliably in the ON state.
Maximum OFF CurrentThe maximum current for the input circuit to operate reliably in the OFF state.
OFF to ON ResponseThe time the module requires to process an OFF to ON state transition.
ON to OFF ResponseThe time the module requires to process an ON to OFF state transition.
Status IndicatorsThe LEDs that indicate the ON/OFF status of an input or output point. All LEDs on DL06Micro PLCs are electrically located on the logic side of the input or output circuit.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C2–48
Chapter 2: Installation, Wiring, and Specifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
CPU SPECIFICATIONS ANDOPERATION
CHAPTERCHAPTER
3333CHAPTER
In This ChapterOverview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–2CPU Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–3CPU Hardware Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–4Using Battery Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–8CPU Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–12I/O Response Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–17CPU Scan Time Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . .3–20Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–25DL06 System V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–29DL06 Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–31DL06 Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–32X Input/Y Output Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–33Stage Control/Status Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–34Control Relay Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–36Timer Status Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–38Counter Status Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–38GX and GY I/O Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3–39
OverviewThe Central Processing Unit (CPU) is the heart of the Micro PLC. Almost all PLCoperations are controlled by the CPU, so it is important that it is set up correctly. Thischapter provides the information needed to understand:
• Steps required to set up the CPU
• Operation of ladder programs
• Organization of Variable Memory
NOTE: The High-Speed I/O function (HSIO) consists of dedicated but configurable hardware in theDL06. It is not considered part of the CPU because it does not execute the ladder program. For moreon HSIO operation, see Appendix E.
DL06 CPU FeaturesThe DL06 Micro PLC has 14.8K words of memory comprised of 7.6K of ladder memoryand 7.6K words of V-memory (data registers). Program storage is in the FLASH memorywhich is a part of the CPU board in the PLC. In addition, there is RAM with the CPU whichwill store system parameters, V-memory, and other data not in the application program. TheRAM is backed up by a super-capacitor, storing the data for several hours in the event of apower outage. The capacitor automatically charges during powered operation of the PLC.
The DL06 supports fixed I/O which includes twenty discrete input points and sixteen outputpoints.
Over 220 different instructions are available for program development as well as extensiveinternal diagnostics that can be monitored from the application program or from an operatorinterface. Chapters 5, 6, and 7 provide detailed descriptions of the instructions.
The DL06 provides two built-in communication ports, so you can easily connect a handheldprogrammer, operator interface, or a personal computer without needing any additionalhardware.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C3–2
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
LCD monitor
4 Optional
card slots
2 comm. ports
Power
Input 16 Discrete Outputs
To programming device
or Operator interface20 discrete Inputs
Isolation
boundary
Output circuit
Input circuit
Power
Supply CPU
CPU Specifications
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 3–3
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
SpecificationsFeature DL06
Total Program memory (words) 14.8KLadder memory (words) 7680Total V-memory (words) 7616User V-memory (words) 7488Non-volatile V Memory (words) 128Contact execution (boolean) <0.6usTypical scan (1k boolean) 1-2msRLL Ladder style Programming YesRLL and RLLPLUS Programming YesRun Time Edits YesSupports Overrides YesScan Variable / fixedHandheld programmer YesDirectSOFT programming for Windows YesBuilt-in communication ports (RS232C) YesFLASH Memory Standard on CPULocal Discrete I/O points available 36Local Analog input / output channels maximum NoneHigh-Speed I/O (quad., pulse out, interrupt, pulse catch, etc.) Yes, 2I/O Point Density 20 inputs, 16 outputsNumber of instructions available (see Chapter 5 for details) 229Control relays 1024Special relays (system defined) 512
Stages in RLLPLUS 1024
Timers 256Counters 128Immediate I/O YesInterrupt input (external / timed) YesSubroutines YesFor/Next Loops YesMath (Integer and floating point) YesDrum Sequencer Instruction YesTime of Day Clock/Calendar YesInternal diagnostics YesPassword security YesSystem error log YesUser error log Yes
Battery backup Optional D2-BAT-1 available (not included with unit)
CPU Hardware Setup
Communication Port Pinout DiagramsCables are available that allow you to quickly and easily connect a Handheld Programmer or apersonal computer to the DL06 PLCs. However, if you need to build your cable(s), use thepinout descriptions shown below, or use the Tech Support/Cable Wiring Diagrams located onour website. The DL06 PLCs require an RJ-12 phone plug for port 1 (D2-DSCBL) and a 15-pin SVGA DSub for port 2 (D2-DSCBL-1).
The DL06 PLC has two built-in serial communication ports. Port 1 (RS232C only) isgenerally used for connecting to a D2-HPP, Direct SOFT, operator interface, MODBUSslave only, or a DirectNET slave only. The baud rate is fixed at 9600 baud for port 1. Port 2(RS232C/RS422/RS485) can be used to connect to a D2-HPP, Direct SOFT, operatorinterface, MODBUS master/slave, DirectNET master/slave or ASCII in/out. Port 2 has arange of speeds from 300 baud to 38.4K baud.
NOTE: The 5V pins are rated at 220mA maximum, primarily for use with some operator interfaceunits.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C3–4
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Port 2 Pin Descriptions1 5V Power (+) connection2 TXD Transmit data (RS-232C)3 RXD Receive data (RS-232C)4 RTS Ready to send5 CTS Clear to send6 RXD- Receive data (-) (RS-422/485)7 0V Power (-) connection (GND)8 0V Power (-) connection (GND)9 TXD+ Transmit data (+) (RS-422/485)10 TXD- Transmit data (-) (RS-422/485)11 RTS+ Ready to send (+) (RS-422/485)12 RTS- Ready to send (-) (RS-422/485)13 RXD+ Receive data (+) (RS-422/485)14 CTS+ Clear to send (+) (RS-422/485)15 CTS- Clear to send (-) (RS-422/485)
Communications Port 2
Com 2
Connects to HPP, DirectSOFT, operator interfaces,etc.15-pin, multifunction port, RS232C, RS422, RS485(RS485 with 2-wire is only available for MODBUSand Non-sequence.)Communication speed (baud): 300, 600, 1200,2400, 4800, 9600, 19200, 38400Parity: odd (default), even, noneStation Address: 1 (default)8 data bits1 start, 1 stop bitAsynchronous, half-duplex, DTEProtocol (auto-select): K-sequence (slave only),DirectNET (master/slave), MODBUS (master/slave),non-sequence/print/ASCII in/out
PORT1 PORT2
TERM
RUN STOP
PORT1 PORT2
16
34 25
15
610
1115
Port 1 Pin Descriptions1 0V Power (-) connection (GND)2 5V Power (-) 220 mA max3 RXD Receive data (RS-232C)4 TXD Transmit data (RS-232C)5 5V Power (+) connection6 0V Power (-) connection (GND)
Communications Port 1
Com 1
Connects to HPP, DirectSOFT, operator interfaces,etc.6-pin, RS232CCommunication speed (baud): 9600 (fixed)Parity: odd (fixed)Station Address: 1 (fixed)8 data bits1 start, 1 stop bitAsynchronous, half-duplex, DTEProtocol (auto-select): K-sequence (slave only),DirectNET (slave only), MODBUS (slave only)
Connecting the Programming DevicesIf you’re using a Personal Computer with the DirectSOFT programming package, you canconnect the computer to either of the DL06’s serial ports. For an engineering officeenvironment (typical during program development), this is the preferred method ofprogramming.
The Handheld programmer D2-HPP is connected to the CPU with a handheld programmercable. This device is ideal for maintaining existing installations or making small programchanges. The handheld programmer is shipped with a cable, which is approximately 6.5 feet(200 cm) long.
CPU Setup InformationEven if you have years of experience using PLCs, there are a few things you need to do beforeyou can start entering programs. This section includes some basic things, such as changingthe CPU mode, but it also includes some things that you may never have to use. Here’s a brieflist of the items that are discussed:
• Using Auxiliary Functions
• Clearing the program (and other memory areas)
• How to initialize system memory
• Setting retentive memory ranges
The following paragraphs provide the setup information necessary to get the CPU ready forprogramming. They include setup instructions for either type of programming device you areusing. The D2–HPP Handheld Programmer Manual provides the Handheld keystrokesrequired to perform all of these operations. The DirectSOFT Manual provides a descriptionof the menus and keystrokes required to perform the setup procedures via DirectSOFT.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 3–5
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
For replacementcable, use part no.
DV–1000CBL
LOGIC
Koyo
06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.
C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V
0V
N.C.
C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1
LGG
AC(L)
D0-06DR2.0AOUTPUT: 6-240V 50 - 60Hz 2.0A, 6 - 27V
INPUT: 12 - 24V 3 - 15mA
Y
X
40VA50-60HzPWR: 100-240V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
PORT1 PORT2
TERM
RUN STOP
PWR
RUN
CPU
TX1
RX1
TX2
RX2
Use cable part no.D2–DSCBL
LOGIC
Koyo
06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.
C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V
0V
N.C.
C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1
LGG
AC(L)
D0-06DR2.0AOUTPUT: 6-240V 50 - 60Hz 2.0A, 6 - 27V
INPUT: 12 - 24V 3 - 15mA
Y
X
40VA50-60HzPWR: 100-240V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
PORT1 PORT2
TERM
RUN STOP
PWR
RUN
CPU
TX1
RX1
TX2
RX2
Status IndicatorsThe status indicator LEDs on the CPU front panels have specific functions which can help inprogramming and troubleshooting.
Mode Switch FunctionsThe mode switch on the DL06 PLC provides positions for enabling and disabling programchanges in the CPU. Unless the mode switch is in the TERM position, RUN and STOPmode changes will not be allowed by any interface device, (handheld programmer,DirectSOFT programming package or operator interface). Programs may be viewed ormonitored but no changes may be made. If the switch is in the TERM position and noprogram password is in effect, all operating modes as well as program access will be allowedthrough the connected programming or monitoring device.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C3–6
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
LOGICKoyo06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V0V
N.C.C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1LGG
AC(L)
D0-06DR2.0AOUTPUT: 6-240V 50 - 60Hz 2.0A, 6 - 27V
INPUT: 12 - 24V 3 - 15mA
YX
40VA50-60HzPWR: 100-240V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
PORT1 PORT2
TERM
RUN STOP
PWRRUNCPUTX1RX1TX2RX2
Indicator Status Meaning
PWR ON Power goodOFF Power failure
RUN ON CPU is in Run ModeOFF CPU is in Stop or Program Mode
Blinking CPU is in firmware upgrade mode
CPU ON CPU self diagnostics errorOFF CPU self diagnostics good
Blinking The CPU indicator will blink if the battery is less than 2.5 VDC
TX1 ON Data is being transmitted by the CPU - Port 1OFF No data is being transmitted by the CPU - Port 1
RX1 ON Data is being received by the CPU - Port 1OFF No data is being received by the CPU - Port 1
TX2 ON Data is being transmitted by the CPU - Port 2OFF No data is being transmitted by the CPU - Port 2
RX2 ON Data is being received by the CPU - Port 2OFF No data is being received by the CPU - Port 2
status indicators
mode switch
Changing Modes in the DL06 PLC
There are two ways to change the CPU mode. You can use the CPU mode switch to selectthe operating mode, or you can place the mode switch in the TERM position and use aprogramming device to change operating modes. With the switch in this position, the CPUcan be changed between Run and Program modes. You can use either DirectSOFT or theHandheld Programmer to change the CPU mode of operation. With DirectSOFT use thePLC menu option PLC > Mode or use the Mode button located on the Onlinetoolbar. With the Handheld Programmer, you use the MODE key.
Mode of Operation at Power-upThe DL06 CPU will normally power-up in the mode that it was in just prior to the powerinterruption. For example, if the CPU was in Program Mode when the power wasdisconnected, the CPU will power-up in Program Mode (see warning note below).
WARNING: Once the super capacitor has discharged, the system memory may not retain theprevious mode of operation. When this occurs, the PLC can power-up in either Run or ProgramMode if the mode switch is in the term position. There is no way to determine which mode will beentered as the startup mode. Failure to adhere to this warning greatly increases the risk ofunexpected equipment startup.
The mode which the CPU will power-up in is also determined by the state of B7633.13. Ifthe bit is set and the Mode Switch is in the TERM position, the CPU will power-up in RUNmode. If B7633.13 is not set with the Mode Switch in TERM position, then the CPU willpower-up in the state it was in when it was powered-down.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 3–7
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Mode Switch Position CPU Action
RUN (Run Program) CPU is forced into the RUN mode if no errors are encountered.
No changes are allowed by the attachedprogramming/monitoring device.
TERM (Terminal) RUNPROGRAM and the TEST modes are available. Mode and
program changes are allowed by the programming/monitoringdevice.
STOP CPU is forced into the STOP mode. No changes are allowed bythe programming/monitoring device.
PLC Menu
MODE Key
DL06 Micro PLC User Manual, 3rd Edition, Rev. C3–8
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Using Battery BackupAn optional lithium battery is available to maintain the system RAM retentive memory whenthe DL06 system is without external power. Typical CPU battery life is five years, whichincludes PLC runtime and normal shutdown periods. However, consider installing a freshbattery if your battery has not been changed recently and the system will be shut down for aperiod of more than ten days.
NOTE: Before installing or replacing your CPU battery, back-up your V-memory and systemparameters. You can do this by using DirectSOFT to save the program, V-memory, and systemparameters to hard/floppy disk on a personal computer.
To install the D2–BAT–1 CPU battery in the DL06 CPU:1. Press the retaining clip on the battery door down and swing the battery door open.
2. Place the battery into the coin–type slot with the +, or larger, side out.
3. Close the battery door making sure that it locks securely in place.
4. Make a note of the date the battery was installed
WARNING: Do not attempt to recharge the battery or dispose of an old battery by fire. The batterymay explode or release hazardous materials.
Battery BackupThe battery backup is available immediately after the battery has been installed. The CPUindicator will blink if the battery is low (refer to the table on page 3-6). Special Relay 43(SP43) will also be set when the battery is low. The low battery indication is enabled bysetting bit 12 of V7633 (B7633.12). If the low battery feature is not desired, do not set bitV7633.12. The super capacitor will retain memory IF it is configured as retentive regardlessof the state of B7633.12. The battery will do the same, but for a much longer time.
Battery door
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 3–9
Chapter 3: CPU Specifications and Operation
Auxiliary FunctionsMany CPU setup tasks involve the use of Auxiliary (AUX) Functions. The AUX Functionsperform many different operations, ranging from clearing ladder memory, displaying the scantime, copying programs to EEPROM in the handheld programmer, etc. They are divided intocategories that affect different system parameters. Appendix A provides a description of theAUX functions.
You can access the AUX Functions from DirectSOFT or from the D2–HPP HandheldProgrammer. The manuals for those products provide step-by-step procedures for accessingthe AUX Functions. Some of these AUX Functions are designed specifically for the HandheldProgrammer setup, so they will not be needed (or available) with the DirectSOFT package.The following table shows a list of the Auxiliary functions for the Handheld Programmer.
Clearing an Existing ProgramBefore you enter a new program, be sure to always clear ladder memory. You can use AUXFunction 24 to clear the complete program.You can also use other AUX functions to clearother memory areas.
• AUX 23 — Clear Ladder Range
• AUX 24 — Clear all Ladders
• AUX 31 — Clear V-memory
Initializing System MemoryThe DL06 Micro PLC maintains system parameters in a memory area often referred to as thescratchpad. In some cases, you may make changes to the system setup that will be stored insystem memory. For example, if you specify a range of Control Relays (CRs) as retentive, thesechanges are stored in system memory. AUX 54 resets the system memory to the default values.
Auxiliary Functions (cont’d)57 Set Retentive Ranges 58 Test Operations 59 Override Setup5B HSIO Configuration5C Display Error History5D Scan Control Setup
AUX 6* — Handheld Programmer Configuration61 Show Revision Numbers62 Beeper On / Off65 Run Self DiagnosticsAUX 7* — EEPROM Operations
71 Copy CPU memory to HPP EEPROM72 Write HPP EEPROM to CPU73 Compare CPU to HPP EEPROM74 Blank Check (HPP EEPROM)75 Erase HPP EEPROM76 Show EEPROM Type (CPU and HPP)AUX 8* — Password Operations
81 Modify Password82 Unlock CPU83 Lock CPU
Auxiliary FunctionsAUX 2* — RLL Operations
21 Check Program 22 Change Reference 23 Clear Ladder Range 24 Clear All LaddersAUX 3* — V-Memory Operations
31 Clear V-memory AUX 4* — I/O Configuration
41 Show I/O Configuration 42 I/O Diagnostics44 Power Up I/O Configuration check45 Select Configuration46 Configure I/O
AUX 5* — CPU Configuration 51 Modify Program Name 52 Display/Change Calendar53 Display Scan Time 54 Initialize Scratchpad 55 Set Watchdog Timer 56 Set Communication Port 2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DL06 Micro PLC User Manual, 3rd Edition, Rev. C3–10
Chapter 3: CPU Specifications and Operation
WARNING: You may never have to use this feature unless you want to clear any setup informationthat is stored in system memory. Usually, you’ll only need to initialize the system memory if youare changing programs and the old program required a special system setup. You can usuallyload in new programs without ever initializing system memory.
Remember, this AUX function will reset all system memory. If you have set special parameterssuch as retentive ranges, for example, they will be erased when AUX 54 is used. Make surethat you have considered all ramifications of this operation before you select it. See AppendixF for additional information in reference to PLC memory.
Setting Retentive Memory RangesThe DL06 PLCs provide certain ranges of retentive memory by default. The default rangesare suitable for many applications, but you can change them if your application requiresadditional retentive ranges or no retentive ranges at all. The default settings are:
You can use AUX 57 to set the retentive ranges. You can also use DirectSOFT menus to selectthe retentive ranges. Appendix A contains detailed information about auxiliary functions.
WARNING: The DL06 CPUs do not come with a battery. The super capacitor will retain the valuesin the event of a power loss, but only for a short period of time, depending on conditions(typically 4 to 7 days). If the retentive ranges are important for your application, make sure youobtain the optional battery.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Memory Area DL06Default Range Available Range
Control Relays C1000 – C1777 C0 – C1777V-Memory V400 – V37777 V0 – V37777Timers None by default T0 – T377Counters CT0 – CT177 CT0 – CT177Stages None by default S0 – S1777
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 3–11
Chapter 3: CPU Specifications and Operation
Using a PasswordThe DL06 PLCs allow you to use a password to help minimize the risk of unauthorizedprogram and/or data changes. Once you enter a password you can lock the PLC againstaccess. Once the CPU is locked you must enter the password before you can use aprogramming device to change any system parameters.
You can select an 8-digit numeric password. The Micro PLCs are shipped from the factorywith a password of 00000000. All zeros removes the password protection. If a password hasbeen entered into the CPU you cannot just enter all zeros to remove it. Once you enter thecorrect password, you can change the password to all zeros to remove the passwordprotection.
WARNING: Make sure you remember your password. If you forget your password you will not beable to access the CPU. The Micro PLC must be returned to the factory to have the password(along with the ladder project) removed. It is the policy of Automationdirect to require thememory of the PLC to be cleared along with the password.
You can use the D2–HPP Handheld Programmer orDirectSOFT. to enter a password. The followingdiagram shows how you can enter a password with theHandheld Programmer.
There are three ways to lock the CPU once the password has been entered.1. If the CPU power is disconnected, the CPU will be automatically locked against access.
2. If you enter the password with DirectSOFT, the CPU will be automatically locked against accesswhen you exit DirectSOFT.
3. Use AUX 83 to lock the CPU.
When you use DirectSOFT, you will be prompted for a password if the CPU has beenlocked. 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.
NOTE: The DL06 CPUs support multi-level password protection of the ladder program. This allowspassword protection while not locking the communication port to an operator interface. The multi-level password can be invoked by creating a password with an upper case A followed by sevennumeric characters (e.g. A1234567).
D2–HPPDirectSOFT 5
PASSWORD 00000000
PASSWORD XXXXXXXX
CLR CLR AUX8
I1
B ENT
X X ENTX
Select AUX 81
Enter the new 8-digit password
Press CLR to clear the display
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
CPU OperationAchieving the proper control for your equipment or process requires a good understanding ofhow DL06 CPUs control all aspects of system operation. There are four main areas tounderstand before you create your application program:
• CPU Operating System — the CPU manages all aspects of system control. A quick overview of allthe steps is provided in the next section.
• CPU Operating Modes — The two primary modes of operation are Program Mode and RunMode.
• CPU Timing — The two important areas we discuss are the I/O response time and the CPU scantime.
• CPU Memory Map — DL06 CPUs offer a wide variety of resources, such as timers, counters,inputs, etc. The memory map section shows the organization and availability of these data types.
CPU Operating SystemAt powerup, the CPU initializes the internal electronichardware. Memory initialization starts with examiningthe retentive memory settings. In general, the contentsof retentive memory is preserved, and non-retentivememory is initialized to zero (unless otherwisespecified).
After the one-time powerup tasks, the CPU begins thecyclical scan activity. The flowchart to the right showshow the tasks differ, based on the CPU mode and theexistence of any errors. The scan time is defined as theaverage time around the task loop. Note that the CPU isalways reading the inputs, even during program mode.This allows programming tools to monitor input statusat any time.
The outputs are only updated in Run mode. In programmode, they are in the off state.
Error detection has two levels. Non-fatal errors arereported, but the CPU remains in its current mode. If afatal error occurs, the CPU is forced into program modeand the outputs go off.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C3–12
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
DYES
Power up
Initialize hardware
Initialize various memorybased on retentive
configuration
Update input
Service peripheral
PGMMode?
RUN
Execute program
Update output
Do diagnostics
NO
NOFatal error
Force CPU intoPGM mode
OK?
Report error , set flagregister , turn on LED
YES
Update Special Relays
Program ModeIn Program Mode, the CPU does not execute the application program or update the outputpoints. The primary use for Program Mode is to enter or change an application program. Youalso use program mode to set up the CPU parameters, such as HSIO features, retentivememory areas, etc.
You can use a programming device, such asDirectSOFT, the D2–HPP (HandheldProgrammer) or the CPU mode switch to placethe CPU in Program Mode.
Run ModeIn Run Mode, the CPU executes theapplication program and updates the I/Osystem. You can perform many operationsduring Run Mode. Some of these include:
• Monitor and change I/O point status
• Change timer/counter preset values
• Change variable memory locations
Run Mode operation can be divided intoseveral key areas. For the vast majority ofapplications, some of these execution segmentsare more important than others. For example,you need to understand how the CPU updatesthe I/O points, handles forcing operations, andsolves the application program. The remainingsegments are not that important for mostapplications.
You can use DirectSOFT, the D2–HPP(Handheld Programmer) or the CPU modeswitch to place the CPU in Run Mode.
You can also edit the program during Run Mode.The Run Mode Edits are not bumpless to theoutputs. Instead, the CPU ignores the inputs andmaintains the outputs in their last state while itaccepts the new program information. If an erroris found in the new program, then the CPU willturn all the outputs off and enter the ProgramMode. This feature is discussed in more detail inChapter 9.
WARNING: Only authorized personnel fully familiar with all aspects of the application shouldmake changes to the program. Changes during Run Mode become effective immediately. Makesure you thoroughly consider the impact of any changes to minimize the risk of personal injury ordamage to equipment.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 3–13
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DownloadProgram
LOGICKoyo06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V0V
N.C.C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1LGG
AC(L)
D0-06DR2.0AOUTPUT: 6-240V 50 - 60Hz 2.0A, 6 - 27V
INPUT: 12 - 24V 3 - 15mA
YX
40VA50-60HzPWR: 100-240V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
PORT1 PORT2
TERM
RUN STOP
PWRRUNCPUTX1RX1TX2RX2
Read Inputs
Read Inputs from Specialty I/O
Solve the Application Program
Write Outputs
Diagnostics
Service Peripherals
Write Outputs to Specialty I/O
Update Clock, Special Relays
Write Outputs
Normal Run mode scan
Read InputsThe CPU reads the status of all inputs, then stores it in the image register. Input imageregister locations are designated with an X followed by a memory location. Image register datais used by the CPU when it solves the application program.
Of course, an input may change after the CPU has just read the inputs. Generally, the CPUscan time is measured in milliseconds. If you have an application that cannot wait until thenext I/O update, you can use Immediate Instructions. These do not use the status of theinput image register to solve the application program. The Immediate instructionsimmediately read the input status directly from the I/O modules. However, this lengthens theprogram scan since the CPU has to read the I/O point status again. A complete list of theImmediate instructions is included in Chapter 5.
Service Peripherals and Force I/OAfter the CPU reads the inputs from the input modules, it reads any attached peripheraldevices. This is primarily a communications service for any attached devices. For example, itwould read a programming device to see if any input, output, or other memory type statusneeds to be modified. There are two basic types of forcing available with the DL06 CPUs:
• Forcing from a peripheral – not a permanent force, good only for one scan
• Bit Override – holds the I/O point (or other bit) in the current state. Valid bits are X, Y, C, T, CT,and S. (These memory types are discussed in more detail later in this chapter).
Regular Forcing— This type of forcing can temporarily change the status of a discrete bit.For example, you may want to force an input on, even though it is really off. This allows youto change the point status that was stored in the image register. This value will be valid untilthe image register location is written to during the next scan. This is primarily useful duringtesting situations when you need to force a bit on to trigger another event.
Bit Override— Bit override can be enabled on a point-by-point basis by using AUX 59 fromthe Handheld Programmer or, by a menu option from within DirectSOFT. Bit overridebasically disables any changes to the discrete point by the CPU. For example, if you enable bitoverride for X1, and X1 is off at the time, then the CPU will not change the state of X1. Thismeans that even if X1 comes on, the CPU will not acknowledge the change. So, if you usedX1 in the program, it would always be evaluated as Off in this case. Of course, if X1 was onwhen 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 isnot disabled because the bit override is enabled. For example, if you enabled the Bit Overridefor 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 you use theprogramming device to force Y0 on, it will remain on and the CPU will not change the stateof Y0. If you then force Y0 off, the CPU will maintain Y0 as off. The CPU will never updatethe point with the results from the application program or from the I/O update until the bitoverride 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.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C3–14
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
WARNING: Only authorized personnel fully familiar with all aspects of the application shouldmake changes to the program. Make sure you thoroughly consider the impact of any changes tominimize the risk of personal injury or damage to equipment.
CPU Bus CommunicationIt is possible to transfer data to and from the CPU over the CPU bus on the backplane. Thisdata is more than standard I/O point status. This type of communications can only occur onthe CPU (local) base. There is a portion of the execution cycle used to communicate withthese modules. The CPU performs both read and write requests during this segment.
Update Clock, Special Relays and Special RegistersThe DL06 CPUs have an internal real-time clock and calendar timer which is accessible tothe application program. Special V-memory locations hold this information. This portion ofthe execution cycle makes sure these locations get updated on every scan. Also, there areseveral different Special Relays, such as diagnostic relays, for example, that are also updatedduring this segment.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 3–15
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Input Update
Result of ProgramSolution
OFF
Image Register (example)
Y1Y2...Y128ONON...OFF
C0C1C2...C377OFFOFFON...OFF
Y0OFF
X1X2...X128ONON...OFF
X0
Bit Override OFF Force fromProgrammer
Input Update
Result of ProgramSolution
Bit Override ONForce fromProgrammer
Solve Application ProgramThe CPU evaluates each instruction in theapplication program during this segment of the scancycle. The instructions define the relationshipbetween the input conditions and the desired outputresponse. The CPU uses the output image registerarea to store the status of the desired action for theoutputs. Output image register locations aredesignated with a Y followed by a memory location.The actual outputs are updated during the writeoutputs segment of the scan cycle. There areimmediate output instructions available that willupdate the output points immediately instead ofwaiting until the write output segment. A completelist of the Immediate instructions is provided inChapter 5.
The internal control relays (C), the stages (S), andthe variable memory (V) are also updated in thissegment.
You may recall that you can force various types ofpoints in the system, discussed earlier in this chapter.If any I/O points or memory data have been forced,the output image register also contains thisinformation.
Solve PID Loop EquationsThe DL06 CPU can process up to 8 PID loops. The loop calculations are run as a separatetask from the ladder program execution, immediately following it. Only loops which havebeen configured are calculated, and then only according to a built-in loop scheduler. Thesample time (calculation interval) of each loop is programmable. Please refer to Chapter 8,PID Loop Operation, for more on the effects of PID loop calculation on the overall CPUscan time.
Write OutputsOnce the application program has solved the instruction logic and constructed the outputimage register, the CPU writes the contents of the output image register to the correspondingoutput points. Remember, the CPU also made sure that any forcing operation changes werestored in the output image register, so the forced points get updated with the status specifiedearlier.
Write Outputs to Specialty I/OAfter the CPU updates the outputs in the local and expansion bases, it sends the output pointinformation that is required by any Specialty modules which are installed. Specialty moduleshave built-in microprocessors which communicate to the CPU via the backplane. Some ofthese modules can process data. Refer to the specific Specialty module user manual fordetailed information.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C3–16
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DownloadProgram
Read Inputs from Specialty I/O
Solve the Application Program
Write Outputs
Diagnostics
Update Special Relays
Service Peripherals
Normal Run mode scan
LOGIC
Koyo
06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.
C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V
0V
N.C.
C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1
LGG
AC(L)
D0-06DR2.0AOUTPUT: 6-240V 50 - 60Hz 2.0A, 6 - 27V
INPUT: 12 - 24V 3 - 15mA
Y
X
40VA50-60HzPWR: 100-240V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
PORT1 PORT2
TERM
RUN STOP
PWR
RUN
CPU
TX1
RX1
TX2
RX2
LOGIC
Koyo
06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.
C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V
0V
N.C.
C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1
LGG
AC(L)
D0-06DR2.0AOUTPUT: 6-240V 50 - 60Hz 2.0A, 6 - 27V
INPUT: 12 - 24V 3 - 15mA
Y
X
40VA50-60HzPWR: 100-240V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
PORT1 PORT2
TERM
RUN STOP
PWR
RUN
CPU
TX1
RX1
TX2
RX2
from Specialty I/O
DiagnosticsDuring this part of the scan, the CPU performs all system diagnostics and other tasks such ascalculating the scan time and resetting the watchdog timer. There are many different errorconditions that are automatically detected and reported by the DL06 PLCs. Appendix Bcontains a listing of the various error codes.
Probably one of the more important things that occurs during this segment is the scan timecalculation and watchdog timer control. The DL06 CPU has a watchdog timer that storesthe maximum time allowed for the CPU to complete the solve application segment of thescan cycle. If this time is exceeded, the CPU will enter the Program Mode and turn off alloutputs. The default value set from the factory is 200 ms. An error is automatically reported.For example, the Handheld Programmer would display the following message “E003 S/WTIMEOUT” when the scan overrun occurs.
You can use AUX 53 to view the minimum, maximum, and current scan time. Use AUX 55to increase or decrease the watchdog timer value.
I/O Response Time
Is Timing Important for Your Application?I/O response time is the amount of time required for the control system to sense a change inan input point and update a corresponding output point. In the majority of applications, theCPU performs this task in such a short period of time that you may never have to concernyourself with the aspects of system timing. However, some applications do require extremelyfast update times. In these cases, you may need to know how to determine the amount oftime spent during the various segments of operation.
There are four things that can affect the I/O response time.• The point in the scan cycle when the field input changes states
• Input Off to On delay time
• CPU scan time
• Output Off to On delay time
The next paragraphs show how these items interact to affect the response time.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 3–17
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Normal Minimum I/O ResponseThe I/O response time is shortest when the input changes just before the Read Inputs portionof the execution cycle. In this case the input status is read, the application program is solved,and the output point gets updated. The following diagram shows an example of the timingfor this situation.
In this case, you can calculate the response time by simply adding the following items:Input Delay + Scan Time + Output Delay = Response Time
Normal Maximum I/O ResponseThe I/O response time is longest when the input changes just after the Read Inputs portionof the execution cycle. In this case the new input status is not read until the following scan.The following diagram shows an example of the timing for this situation.
In this case, you can calculate the response time by simply adding the following items:Input Delay +(2 x Scan Time) + Output Delay = Response Time
DL06 Micro PLC User Manual, 3rd Edition, Rev. C3–18
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
SolveProgram
ReadInputs
WriteOutputs
SolveProgramScan
SolveProgram
Field Input
Input Off/On Delay
CPU ReadsInputs
OutputOff/On Delay
I/O Response T ime
Scan
SolveProgram
CPU WritesOutputs
SolveProgram
ReadInputs
WriteOutputs
SolveProgramScan
SolveProgram
Field Input
InputOff/On Delay
CPU ReadsInputs
OutputOff/On Delay
I/O Response T ime
Scan
SolveProgram
CPU WritesOutputs
Improving Response TimeThere are a few things you can do to help improve throughput.
• You can choose instructions with faster execution times
• You can use immediate I/O instructions (which update the I/O points during the programexecution)
• You can use the HSIO Mode 50 Pulse Catch features designed to operate in high-speedenvironments. See Appendix E for details on using this feature.
• You can change Mode 60 filter to 0 msec for X0, X1, X2, and X3.
Of these three things the Immediate I/O instructions are probably the most important
and most useful. The following example shows how an immediate input instruction
and immediate output instruction would affect the response time.
In this case, you can calculate the response time by simply adding the following items.Input Delay + Instruction Execution Time + Output Delay = Response Time
The instruction execution time would be calculated by adding the time for the immediateinput instruction, the immediate output instruction, and any other instructions in betweenthe two.
NOTE: Even though the immediate instruction reads the most current status from I/O, it only uses theresults to solve that one instruction. It does not use the new status to update the image register.Therefore, any regular instructions that follow will still use the image register values. Any immediateinstructions that follow will access the I/O again to update the status.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 3–19
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
SolveProgram
ReadInput
Immediate
NormalWrite
Outputs
SolveProgramScan
SolveProgram
Field Input
InputOff/On Delay
OutputOff/On Delay
I/O Response Time
Scan
SolveProgram
NormalReadInput
WriteOutput
Immediate
CPU Scan Time ConsiderationsThe scan time covers all the cyclical tasks that areperformed by the operating system. You can useDirectSOFT or the Handheld Programmer to display theminimum, maximum, and current scan times that haveoccurred since the previous Program Mode to Run Modetransition. This information can be very important whenevaluating the performance of a system. As we’ve shownpreviously there are several segments that make up thescan cycle. Each of these segments requires a certainamount of time to complete. Of all the segments, thefollowing are the most important:
• Input Update
• Peripheral Service
• Program Execution
• Output Update
• Timed Interrupt Execution
The one you have the most control over is the amount oftime it takes to execute the application program. This isbecause different instructions take different amounts oftime to execute. So, if you think you need a faster scan,then you can try to choose faster instructions.
Your choice of I/O type and peripheral devices can alsoaffect the scan time. However, these things are usuallydictated by the application.
The following paragraphs provide some generalinformation on how much time some of the segmentscan require.
Reading InputsThe time required during each scan to read the inputstatus of built-in inputs is 52.6 µs. Don’t confuse thiswith the I/O response time that was discussed earlier.
Writing OutputsThe time required to write the output status of built-inoutputs is 41.1 µS. Don’t confuse this with the I/Oresponse time that was discussed earlier.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C3–20
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D YES
Power up
Initialize hardware
Check I/O moduleconfig. and verify
Initialize various memorybased on retentive
configuration
Update input
Read input data fromSpecialty and Remote I/O
Service peripheral
PGMMode?
RUN
Execute ladder program
Update output
Write output data toSpecialty and Remote I/O
Do diagnostics
OK
NO
NOFatal error
Force CPU intoPGM mode
OK?
Report the error, set flag,register, turn on LED
YES
CPU Bus Communication
Update Clock / Calendar
PID Equations (DL250)
Service PeripheralsCommunication requests can occur at any time during the scan, but the CPU only logs therequests for service until the Service Peripherals portion of the scan. The CPU does not spendany time on this if there are no peripherals connected.
During the Service Peripherals portion of the scan, the CPU analyzes the communicationsrequest and responds as appropriate. The amount of time required to service the peripheralsdepends on the content of the request.
CPU Bus CommunicationSome specialty modules can also communicate directly with the CPU via the CPU bus.During this portion of the cycle the CPU completes any CPU bus communications. Theactual time required depends on the type of modules installed and the type of request beingprocessed.
Update Clock/Calendar, Special Relays, Special RegistersThe clock, calendar, and special relays are updated and loaded into special V-memorylocations during this time. This update is performed during both Run and Program Modes.
NOTE: The Clock/Calendar is updated while there is energy on the super-capacitor. If the super-capacitor is discharged, the real time and date is lost.
To Log Request (anytime) DL06Nothing Connected Min. & Max 0µs
Port 1 Send Min. / Max. 5.8/11.8 µsRec. Min. / Max. 12.5/25.2 µs
Port 2 Send Min. / Max. 6.2/14.3 µsRec. Min. / Max. 14.2/31.9 µs
LCD Min. / Max. 4.8/49.2 µs
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 3–21
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
To Service Request DL06 DL06Minimum 9 µs
Run Mode Max. 412 µsProgram Mode Max. 2.5 second
Modes DL06
Program ModeMinimum 12.0 µsMaximum 12.0 µs
Run Mode Minimum 20.0 µsMaximum 27.0 µs
Application Program ExecutionThe CPU processes the program from address 0 to the END instruction. The CPU executesthe program left to right and top to bottom. As each rung is evaluated the appropriate imageregister or memory location is updated. The time required to solve the application programdepends on the type and number of instructions used, and the amount of execution overhead.
Just add the execution times for all the instructions in your program to determine to totalexecution time. Appendix C provides a complete list of the instruction execution times for theDL06 Micro PLC. For example, the execution time for running the program shown below iscalculated as follows:
TOTAL TIME = (Program execution time + Overhead) x 1.18
The program above takes only 51.11 µs to execute during each scan. The DL06 spends0.18ms on internal timed interrupt management, for every 1ms of instruction time. The totalscan time is calculated by adding the program execution time to the overhead (shown above)and multiplying the result (ms) by 1.18. Overhead includes all other housekeeping anddiagnostic tasks. The scan time will vary slightly from one scan to the next, because offluctuation in overhead tasks.
Program Control Instructions— the DL06 CPUs offer additional instructions that canchange the way the program executes. These instructions include FOR/NEXT loops,Subroutines, and Interrupt Routines. These instructions can interrupt the normal programflow and affect the program execution time. Chapter 5 provides detailed information on howthese different types of instructions operate.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C3–22
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
X0 X1 Y0OUT
C0
C100 LDK10
C101 OUT V2002
C102 LDK50
C103 OUT V2006
X5 X10 Y3OUT
END
Instruction Time
STR X0 .67 µsOR C0 .51 µsANDN X1 .51 µsOUT Y0 1.82 µsSTRN C100 .67 µsLD K10 9.00 µsSTRN C101 .67 µsOUT V2002 9.3 µsSTRN C102 .67 µsLD K50 9.00 µsSTRN C103 .67 µsOUT V2006 1.82 µsSTR X5 .67 µsANDN X10 .51 µsOUT Y3 1.82 µsEND 12.80 µs
SUBTOTAL 51.11 µs
Overhead DL06Minimum 746.2 µsMaximum 4352.4 µs
TOTAL TIME = (Program execution time + Overhead) x 1.18
PLC Numbering SystemsIf you are a new PLC user or are usingAutomationDirect PLCs for the first time, please takea moment to study how our PLCs use numbers.You’ll find that each PLC manufacturer has their ownconventions on the use of numbers in their PLCs.We want to take just a moment to familiarize youwith how numbers are used in AutomationDirectPLCs. The information you learn here applies to all of our PLCs.
As any good computer does, PLCs store and manipulate numbers in binary form - just onesand zeros. So, why do we have to deal with numbers in so many different forms? Numbershave meaning, and some representations are more convenient than others for particularpurposes. Sometimes we use numbers to represent a size or amount of something. Othernumbers refer to locations or addresses, or to time. In science we attach engineering units tonumbers to give a particular meaning (see Appendix I for numbering system details).
PLC ResourcesPLCs offer a fixed amount of resources, depending on the model and configuration. We usethe word resources to include variable memory (V-memory), I/O points, timers, counters,etc. Most modular PLCs allow you to add I/O points in groups of eight. In fact, all theresources of our PLCs are counted in octal. It’s easier for computers to count in groups ofeight than ten, because eight is an even power of 2 (see Appendix I for more details).
Octal means simply counting in groups of eight thingsat a time. In the figure to the right, there are eightcircles. The quantity in decimal is 8, but in octal it is 10(8 and 9 are not valid in octal). In octal, 10 means 1group of 8 plus 0 (no individuals).
In the figure below, we have two groups of eight circles. Counting in octal we have 20 items,meaning 2 groups of eight, plus 0 individuals Don’t say “twenty”, say “two–zero octal”. Thismakes a clear distinction between number systems.
After counting PLC resources, it’s time to access PLC resources (there’s a difference). TheCPU instruction set accesses resources of the PLC using octal addresses. Octal addresses arethe same as octal quantities, except they start counting at zero. The number zero is significantto a computer, so we don’t skip it.
Our circles are in an array of square containers tothe right. To access a resource, our PLC instructionwill address its location using the octal referencesshown. If these were counters, CT14 would accessthe black circle location.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 3–23
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
14820402
10010110117
33A9
? ??
?BCD
binary
decimal
octal
hexadecimalASCII
1011
–961428
177 ?
–300124A 72B ?
0 1 2 3 4 5 6 7
2 X
1 X
X
X=
Decimal 1 2 3 4 5 6 7 8
Octal 1 2 3 4 5 6 7 10
9 10 11 12 13 14 15 16
11 12 13 14 15 16 17 20
Decimal 1 2 3 4 5 6 7 8
Octal 1 2 3 4 5 6 7 10
V–MemoryVariable memory (V-memory) stores data for the ladder program and for configurationsettings. V-memory locations and V-memory addresses are the same thing, and are numberedin octal. For example, V2073 is a valid location, while V1983 is not valid (9 and 8 are notvalid octal digits).
Each V-memory location is one data word wide, meaning 16 bits. For configuration registers,our manuals will show each bit of a V-memory word. The least significant bit (LSB) will beon the right, and the most significant bit (MSB) on the left. We use the word “significant”,referring to the relative binary weighting of the bits.
V-memory data is 16-bit binary, but we rarely program the data registers one bit at a time. Weuse instructions or viewing tools that let us work with decimal, octal, and hexadecimalnumbers. All these are converted and stored as binary for us.A frequently-asked question is “How do I tell if a number is octal, BCD, or hex?” The answeris that we usually cannot tell just by looking at the data ... but it does not really matter. Whatmatters is, the source or mechanism which writes data into a V-memory location and thething which later reads it must both use the same data type (i.e., octal, hex, binary, orwhatever). The V-memory location is just a storage box ... that’s all. It does not convert ormove the data on its own.
Binary-Coded Decimal NumbersSince humans naturally count indecimal (10 fingers, 10 toes), we preferto enter and view PLC data in decimal as well. However, computers are more efficient inusing pure binary numbers. A compromise solution between the two is Binary-CodedDecimal (BCD) representation. A BCD digit ranges from 0 to 9, and is stored as four binarybits (a nibble). This permits each V-memory location to store four BCD digits, with a rangeof decimal numbers from 0000 to 9999.In a pure binary sense, a 16-bit word can represent numbers from 0 to 65535. In storingBCD numbers, the range is reduced to only 0 to 9999. Many math instructions use Binary-Coded Decimal (BCD) data, and DirectSOFT and the handheld programmer allow us toenter and view data in BCD.
Hexadecimal NumbersHexadecimal numbers are similar to BCD numbers, except they utilize all possible binaryvalues in each 4-bit digit. They are base-16 numbers so we need 16 different digits. To extendour decimal digits 0 through 9, we use A through F as shown.
A 4-digit hexadecimal number can represent all 65536 values in a V-memory word. The rangeis from 0000 to FFFF (hex). PLCs often need this full range for sensor data, etc. Hexadecimalis just a convenient way for humans to view full binary data.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C3–24
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
0 1 0 0 1 1 1 0 0 0 1 0 1 0 0 1
MSB LSB
V-memory data(binary)
V-memory address(octal)
V2017
0 1 0 0 1 0 0 1 0 0 1 1 0 1 1 0
4 9 3 6
V-memory storage
BCD number
1 0 1 0 0 1 1 1 1 1 1 1 0 1 0 0
A 7 F 4
V-memory storage
Hexadecimal number
8 9 10 11 12 13 14 150 1 2 3 4 5 6 78 9 A B C D E F0 1 2 3 4 5 6 7
DecimalHexadecimal
Memory MapWith any PLC system, you generally have many different types of information to process.This includes input device status, output device status, various timing elements, parts counts,etc. It is important to understand how the system represents and stores the various types ofdata. For example, you need to know how the system identifies input points, output points,data words, etc. The following paragraphs discuss the various memory types used in DL06Micro PLCs. A memory map overview for theCPU follows the memory descriptions.
Octal Numbering SystemAll memory locations and resources arenumbered in Octal (base 8). For example, thediagram shows how the octal numbering systemworks for the discrete input points. Notice theoctal system does not contain any numbers withthe digits 8 or 9.
Discrete and Word LocationsAs you examine the different memory types,you’ll notice two types of memory in the DL06,discrete and word memory. Discrete memory isone bit that can be either a 1 or a 0. Wordmemory is referred to as V-memory (variable)and is a 16-bit location normally used tomanipulate data/numbers, storedata/numbers, etc.
Some information is automatically storedin V-memory. For example, the timercurrent values are stored in V-memory.
V-memory Locations for Discrete Memory AreasThe discrete memory area is for inputs, outputs, control relays, special relays, stages, timerstatus bits and counter status bits. However, you can also access the bit data types as a V-memory word. Each V-memory location contains 16 consecutive discrete locations. Forexample, the following diagram shows how the X input points are mapped into V-memorylocations.
These discrete memory areas and their corresponding V-memory ranges are listed in thememory area table for DL06 Micro PLCs on the following pages.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 3–25
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
X0 X1 X2 X3 X4 X5 X6 X7
X10 X11
LOGIC
Koyo
06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.
C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V
0V
N.C.
C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1
LGG
AC(L)
D0-06DR2.0AOUTPUT: 6-240V 50 - 60Hz 2.0A, 6 - 27V
INPUT: 12 - 24V 3 - 15mA
Y
X
40VA50-60HzPWR: 100-240V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
PORT1 PORT2
TERM
RUN STOP
PWR
RUN
CPU
TX1
RX1
TX2
RX2
X0Discrete – On or Off, 1 bit
0 11 0 1 0 0 0 0 0 0 1 0 0 1 0
Word Locations – 16 bits
X0X1X2X3X4X5X6X7
0123456789101112131415 V40400Bit #
8 Discrete (X) Input Points
Input Points (X Data Type)The discrete input points are noted by an X datatype. There are 20 discrete input points and 256discrete input addresses available with DL06CPUs. In this example, the output point Y0 willbe turned on when input X0 energizes.
Output Points (Y Data Type)The discrete output points are noted by a Y datatype. There are 16 discrete outputs and 256discrete output addresses available with DL06CPUs. In this example, output point Y1 will beturned on when input X1 energizes.
Control Relays (C Data Type)Control relays are discrete bits normally used tocontrol the user program. The control relays donot represent a real world device, that is, theycannot be physically tied to switches, output coils,etc. There are 1024 control relays internal to theCPU. Because of this, control relays can beprogrammed as discrete inputs or discrete outputs.These locations are used in programming thediscrete memory locations (C) or thecorresponding word location which contains 16consecutive discrete locations.
In this example, memory location C5 will energizewhen input X6 turns on. The second rung shows asimple example of how to use a control relay as aninput.
Timers and Timer Status Bits (T Data Type)There are 256 timers available in the CPU. Timerstatus bits reflect the relationship between thecurrent value and the preset value of a specifiedtimer. The timer status bit will be on when thecurrent value is equal or greater than the presetvalue of a corresponding timer.
When input X0 turns on, timer T1 will start.When the timer reaches the preset of 3 seconds (Kof 30) timer status contact T1 turns on. When T1turns on, output Y12 turns on. Turning off X0resets the timer.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C3–26
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Y0OUT
X0
Y1OUT
X1
C5OUT
X6
Y10OUT
C5
Y20OUT
Y12OUT
T1
TMR T1K30
X0
Timer Current Values (V Data Type)As mentioned earlier, some information is automaticallystored in V-memory. This is true for the current valuesassociated with timers. For example: V0 holds thecurrent value for Timer 0; V1 holds the current valuefor Timer 1; and so on. These can also be designated as TA0 (Timer Accumulated) for Timer 0, and TA1 forTimer 1.
The primary reason for this is programming flexibility.The example shows how you can use relational contactsto monitor several time intervals from a single timer.
Counters and Counter Status Bits (CT Data type)There are 128 counters available in the CPU. Counterstatus bits that reflect the relationship between thecurrent value and the preset value of a specified counter.The counter status bit will be on when the current valueis equal to or greater than the preset value of acorresponding counter.
Each time contact X0 transitions from off to on, thecounter increments by one. (If X1 comes on, thecounter is reset to zero.) When the counter reaches thepreset of 10 counts (K of 10) counter status contactCT3 turns on. When CT3 turns on, output Y2 turnson.
Counter Current Values (V Data Type)Just like the timers, the counter current values are alsoautomatically stored in V-memory. For example, V1000holds the current value for Counter CT0, V1001 holdsthe current value for Counter CT1, etc. These can alsobe designated as CTA0 (Counter Accumulated) forCounter 0 and CTA01 for Counter 1.
The primary reason for this is programming flexibility.The example shows how you can use relational contactsto monitor the counter values.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 3–27
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
V1 K100
TMR T1K1000
X0
V1 K30 Y2OUT
V1 K50 Y3OUT
V1 K75 Y4OUT
Y2OUT
CT3
X0 CNT CT3K10
X1
V1003 K8
V1003 K1 Y2OUT
V1003 K3 Y3OUT
V1003 K5 Y4OUT
X0 CNT CT3K10
X1
Word Memory (V Data Type)Word memory is referred to as V-memory (variable)and is a 16-bit location normally used to manipulatedata/numbers, store data/numbers, etc. Someinformation is automatically stored in V-memory.For example, the timer current values are stored inV-memory. The example shows how a four-digitBCD constant is loaded into the accumulator andthen stored in a V-memory location.
Stages (S Data type)Stages are used in RLLPLUS programs to create astructured program, similar to a flowchart. Eachprogram Stage denotes a program segment. When theprogram segment, or Stage, is active, the logic withinthat segment is executed. If the Stage is off, orinactive, the logic is not executed and the CPU skipsto the next active Stage. (See Chapter 7 for a moredetailed description of RLLPLUS programming.)
Each Stage also has a discrete status bit that can beused as an input to indicate whether the Stage isactive or inactive. If the Stage is active, then the statusbit is on. If the Stage is inactive, then the status bit isoff. This status bit can also be turned on or off byother instructions, such as the SET or RESETinstructions. This allows you to easily control stagesthroughout the program.
Special Relays (SP Data Type)Special relays are discrete memory locations with pre-defined functionality. There are many different typesof special relays. For example, some aid in programdevelopment, others provide system operating statusinformation, etc. Appendix D provides a completelisting of the special relays.
In this example, control relay C10 will energize for50 ms and de-energize for 50 ms because SP5 is apre–defined relay that will be on for 50 ms and offfor 50 ms.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C3–28
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
X0 LDK1345
OUT V2000
0 10 0 1 0 0 1 1 0 1 0 0 0 1 0
Word Locations – 16 bits
1 3 4 5
Ladder Representation
ISGS0000
Start S1JMP
SGS0001
Present S2JMP
Part
X1
X0
S6JMP
PresentPart
X1
SGS0002
ClampSET
S3JMP
LockedPart
X2
S400
Wait for Start
Check for a Part
Clamp the part
S500JMP
C10OUT
SP5
SP4: 1 second clockSP5: 100 ms clockSP6: 50 ms clock
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 3–29
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DL06 System V-memory
System Parameters and Default Data Locations (V Data Type)The DL06 PLCs reserve several V-memory locations for storing system parameters or certaintypes of system data. These memory locations store things like the error codes, High-SpeedI/O data, and other types of system setup information.
System V-memory Description of Contents Default Values /
RangesV700-V707 Sets the V-memory location for option card in slot 1 N/AV710-V717 Sets the V-memory location for option card in slot 2 N/AV720-V727 Sets the V-memory location for option card in slot 3 N/AV730-V737 Sets the V-memory location for option card in slot 4 N/A
V3630–V3707 The default location for multiple preset values for UP/DWN and UP Counter 1 orpulse catch function N/A
V3710-V3767 The default location for multiple preset values for UP/DWN and UP Counter 2 N/AV7620–V7627 Locations for DV–1000 operator interface parameters
V7620 Sets the V-memory location that contains the value V0 – V3760V7621 Sets the V-memory location that contains the message V0 – V3760V7622 Sets the total number (1 – 32) of V-memory locations to be displayed 1 - 32V7623 Sets the V-memory location containing the numbers to be displayed V0 – V3760V7624 Sets the V-memory location that contains the character code to be displayed V0 – V3760V7625 Contains the function number that can be assigned to each key V-memory for X, Y, or CV7626 Powerup operational mode 0,1, 2, 3, 12V7627 Change preset value 0000 to 9999
V7630Starting location for the multi–step presets for channel 1. The default value is3630, which indicates the first value should be obtained from V3630. Since thereare 24 presets available, the default range is V3630 – V3707. You can change thestarting point if necessary.
Default: V3630Range: V0- V3710
V7631Starting location for the multi–step presets for channel 2. The default value is3710, which indicates the first value should be obtained from V3710. Since thereare 24 presets available, the default range is V3710 – V3767. You can change thestarting point if necessary.
Default: V3710Range: V0- V3710
V7632 Setup Register for Pulse Output N/A
V7633Sets the desired function code for the high speed counter, interrupt, pulse catch,pulse train, and input filter. This location can also be used to set the power-up in Run Mode option.
Default: 0060Lower Byte Range: Range:10 – Counter 20 –Quadrature 30 – Pulse Out40 – Interrupt 50 – PulseCatch 60 – Filtered discreteIn. Upper Byte Range: Bits8–11, 14, 15: Unused, Bit13: Power–up in RUN, onlyif Mode Switch is inTERMposition. Bit 12 is used toenable the low batteryindications.
V7634 X0 Setup Register for High-Speed I/O functions for input X0 Default: 1006V7635 X1 Setup Register for High-Speed I/O functions for input X1 Default: 1006V7636 X2 Setup Register for High-Speed I/O functions for input X2 Default: 1006V7637 X3 Setup Register for High-Speed I/O functions for input X3 Default: 1006
DL06 Micro PLC User Manual, 3rd Edition, Rev. C3–30
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
System V-memory Description of Contents Default Values /
RangesV7640 PID Loop table beginning address V1200 - V7377
V10000 - v17777V7641 Number of PID loops 1-8V7642 Error Code - V-memory Error location for Loop TableV7643-V7647 Reserved
V7650 Port 2: Setup for V-memory address for Non-Sequence protocol V1200 – V7377V10000 - V17777
V7653 Port 2: Setup for terminate code for Non-Sequence protocolV7655 Port 2: Setup for the protocol, time-out, and the response delay timeV7656 Port 2: Setup for the station number, baud rate, STOP bit, and parityV7657 Port 2: Setup completion code used to notify the completion of the parameter setup 0400h reset port 2V7660 Scan control setup: Keeps the scan control mode
V7661 Setup timer over counter: Counts the times the actual scan time exceeds the usersetup time
V7662–V7717 ReservedV7720–V7722 Locations for DV–1000 operator interface parametersV7720 Titled Timer preset value pointerV7721 Titled Counter preset value pointerV7722 HiByte-Titled Timer preset block size, LoByte-Titled Counter preset block sizeV7723–V7737 ReservedV7740 Port 1 and Port 2: Communication Auto Reset Timer Setup Default: 3030V7741–V7746 ReservedV7747 Location contains a 10 ms counter (0-99). This location increments once every 10 msV7750 Reserved
V7751 Fault Message Error Code — stores the 4-digit code used with the FAULT instructionwhen the instruction is executed
V7752 I/O Configuration Error: Current ID code of error slotV7753 I/O Configuration Error: Old ID code of error slotV7754 I/O Configuration Error: error slot numberV7755 Error code — stores the fatal error codeV7756 Error code — stores the major error codeV7757 Error code — stores the minor error codeV7760–V7762 ReservedV7763 Program address where syntax error existsV7764 Syntax error code
V7765 Scan counter — stores the total number of scan cycles that have occurred since thelast Program Mode to Run Mode transition (in decimal)
V7766 Contains the number of seconds on the clock (00-59)V7767 Contains the number of minutes on the clock (00-59)V7770 Contains the number of hours on the clock (00-23)V7771 Contains the day of the week (Mon., Tues., Wed., etc.)V7772 Contains the day of the month (01, 02, etc.)V7773 Contains the month (01 to 12)V7774 Contains the year (00 to 99)V7775 Scan — stores the current scan time (milliseconds)
V7776 Scan — stores the minimum scan time that has occurred since the last ProgramMode to Run Mode transition (milliseconds)
V7777 Scan — stores the maximum scan rate since the last power cycle (milliseconds)
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 3–31
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DL06 AliasesAn alias is an alternate way of referring to certain memory types, such as timer/countercurrent values, V-memory locations for I/O points, etc., which simplifies understanding thememory address. The use of the alias is optional, but some users may find the alias to behelpful when developing a program. The table below shows how the aliases can be used.
DL06 AliasesAddress Start Alias Start Example
V0 TA0 V0 is the timer accumulator value for timer 0, therefore, itsalias is TA0. TA1 is the alias for V1, etc..
V1000 CTA0 V1000 is the counter accumulator value for counter 0,therefore, its alias is CTA0. CTA1 is the alias for V1001, etc.
V40000 VGXV40000 is the word memory reference for discrete bits GX0through GX17, therefore, its alias is VGX0. V40001 is the wordmemory reference for discrete bits GX20 through GX 37,therefore, its alias is VGX20.
V40200 VGYV40200 is the word memory reference for discrete bits GY0through GY17, therefore, its alias is VGY0. V40201 is the wordmemory reference for discrete bits GY20 through GY 37,therefore, its alias is VGY20.
V40400 VX0V40400 is the word memory reference for discrete bits X0through X17, therefore, its alias is VX0. V40401 is the wordmemory reference for discrete bits X20 through X37, therefore,its alias is VX20.
V40500 VY0V40500 is the word memory reference for discrete bits Y0through Y17, therefore, its alias is VY0. V40501 is the wordmemory reference for discrete bits Y20 through Y37, therefore,its alias is VY20.
V40600 VC0V40600 is the word memory reference for discrete bits C0through C17, therefore, its alias is VC0. V40601 is the wordmemory reference for discrete bits C20 through C37, therefore,its alias is VC20.
V41000 VS0V41000 is the word memory reference for discrete bits S0through S17, therefore, its alias is VS0. V41001 is the wordmemory reference for discrete bits S20 through S37, therefore,its alias is VS20.
V41100 VT0V41100 is the word memory reference for discrete bits T0through T17, therefore, its alias is VT0. V41101 is the wordmemory reference for discrete bits T20 through T37, therefore,its alias is VT20.
V41140 VCT0V41140 is the word memory reference for discrete bits CT0through CT17, therefore, its alias is VCT0. V41141 is the wordmemory reference for discrete bits CT20 through CT37,therefore, its alias is VCT20.
V41200 VSP0V41200 is the word memory reference for discrete bits SP0through SP17, therefore, its alias is VSP0. V41201 is the wordmemory reference for discrete bits SP20 through SP37,therefore, its alias is VSP20.
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DL06 Memory Map
NOTE 1: This area can be used for additional Data Words.NOTE 2: The DL06 systems have 20 fixed discrete inputs and 16 fixed discrete outputs, but the totalcan be increased by up to 64 inputs or 64 outputs, or a combination of both.
Memory TypeDiscrete Memory
Reference (octal)
Word MemoryReference (octal)
Decimal Symbol
Input Points X0 – X777 V40400 - V40437 512X0
Output Points Y0 – Y777 V40500 – V40537 512Y0
Control Relays C0 – C1777 V40600 - V40677 1024C0C0
Special Relays SP0 – SP777 V41200 – V41237 512SP0
Timers T0 – T377 V41100 – V41117 256 TMR
K100
T0
Timer Current Values None V0 – V377 256V0 K100
Timer Status Bits T0 – T377 V41100 – V41117 256T0
Counters CT0 – CT177 V41140 – V41147 128CNT
K10
CT0
Counter Current Values None V1000 – V1177 128
V1000 K100
Counter Status Bits CT0 – CT177 V41140 – V41147 128CT0
Data Words(See Appendix F) None
V400-V677V1200 – V7377V10000 - V17777
19232004096
None specific, used with manyinstructions.
Data WordsEEPROM(See Appendix F)
None V7400 – V7577 128
None specific, used with manyinstructions. May be non-volatile if MOV inst. is used.Data can be rewritten to EEPROM at least100,000 times before it fails.
Stages S0 – S1777 V41000 – V41017 1024 SP0SG
S001
Remote I/O (future use)(See Note 1)
GX0-GX3777GY0-GY3777
V40000-V40177V40200-V40377
20482048
GX0 GY0
System parameters NoneV700-V777V7600 – V7777V36000-V37777
641281024
None specific, used for various purposes
DL06 Micro PLC User Manual, 3rd Edition, Rev. C3–32
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 3–33
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
X Input/Y Output Bit MapThis table provides a listing of individual input and output points associated with each V-memory address bit for the DL06’s twenty integrated physical inputs and 16 integratedphysical outputs in addition to up to 64 inputs and 64 outputs for option cards. Actualavailable references are X0 to X777 (V40400 – V40437) and Y0 to Y777 (V40500 -V40537).
617 616 615 614 613 612 611 610 607 606 605 604 603 602 601 600 V40430 V40530637 636 635 634 633 632 631 630 627 626 625 624 623 622 621 620 V40431 V40531657 656 655 654 653 652 651 650 647 646 645 644 643 642 641 640 V40432 V40532677 676 675 674 673 672 671 670 667 666 665 664 663 662 661 660 V40433 V40533717 716 715 714 713 712 711 710 707 706 705 704 703 702 701 700 V40434 V40534737 736 735 734 733 732 731 730 727 726 725 724 723 722 721 720 V40435 V40535757 756 755 754 753 752 751 750 747 746 745 744 743 742 741 740 V40436 V40536777 776 775 774 773 772 771 770 767 766 765 764 763 762 761 760 V40437 V40537
217 216 215 214 213 212 211 210 207 206 205 204 203 202 201 200 V40410 V40510237 236 235 234 233 232 231 230 227 226 225 224 223 222 221 220 V40411 V40511257 256 255 254 253 252 251 250 247 246 245 244 243 242 241 240 V40412 V40512277 276 275 274 273 272 271 270 267 266 265 264 263 262 261 260 V40413 V40513317 316 315 314 313 312 311 310 307 306 305 304 303 302 301 300 V40414 V40514337 336 335 334 333 332 331 330 327 326 325 324 323 322 321 320 V40415 V40515357 356 355 354 353 352 351 350 347 346 345 344 343 342 341 340 V40416 V40516377 376 375 374 373 372 371 370 367 366 365 364 363 362 361 360 V40417 V40517
MSB DL06 Input (X) and Output (Y) Points LSB X InputAddress
Y OutputAddress15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
017 016 015 014 013 012 011 010 007 006 005 004 003 002 001 000 V40400 V40500037 036 035 034 033 032 031 030 027 026 025 024 023 022 021 020 V40401 V40501057 056 055 054 053 052 051 050 047 046 045 044 043 042 041 040 V40402 V40502077 076 075 074 073 072 071 070 067 066 065 064 063 062 061 060 V40403 V40503117 116 115 114 113 112 111 110 107 106 105 104 103 102 101 100 V40404 V40504137 136 135 134 133 132 131 130 127 126 125 124 123 122 121 120 V40405 V40505157 156 155 154 153 152 151 150 147 146 145 144 143 142 141 140 V40406 V40506177 176 175 174 173 172 171 170 167 166 165 164 163 162 161 160 V40407 V40507
417 416 415 414 413 412 411 410 407 406 405 404 403 402 401 400 V40420 V40520437 436 435 434 433 432 431 430 427 426 425 424 423 422 421 420 V40421 V40521457 456 455 454 453 452 451 450 447 446 445 444 443 442 441 440 V40422 V40522477 476 475 474 473 472 471 470 467 466 465 464 463 462 461 460 V40423 V40523517 516 515 514 513 512 511 510 507 506 505 504 503 502 501 500 V40424 V40524537 536 535 534 533 532 531 530 527 526 525 524 523 522 521 520 V40425 V40525557 556 555 554 553 552 551 550 547 546 545 544 543 542 541 540 V40426 V40526577 576 575 574 573 572 571 570 567 566 565 564 563 562 561 560 V40427 V40527
Stage Control/Status Bit MapThis table provides a listing of individual Stage control bits associated with each V-memoryaddress bit.
This table is continued on the next page.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C3–34
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
MSB DL06 Stage (S) Control Bits LSB Address15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0017 016 015 014 013 012 011 010 007 006 005 004 003 002 001 000 V41000037 036 035 034 033 032 031 030 027 026 025 024 023 022 021 020 V41001057 056 055 054 053 052 051 050 047 046 045 044 043 042 041 040 V41002077 076 075 074 073 072 071 070 067 066 065 064 063 062 061 060 V41003117 116 115 114 113 112 111 110 107 106 105 104 103 102 101 100 V41004137 136 135 134 133 132 131 130 127 126 125 124 123 122 121 120 V41005157 156 155 154 153 152 151 150 147 146 145 144 143 142 141 140 V41006177 176 175 174 173 172 171 170 167 166 165 164 163 162 161 160 V41007
217 216 215 214 213 212 211 210 207 206 205 204 203 202 201 200 V41010237 236 235 234 233 232 231 230 227 226 225 224 223 222 221 220 V41011257 256 255 254 253 252 251 250 247 246 245 244 243 242 241 240 V41012277 276 275 274 273 272 271 270 267 266 265 264 263 262 261 260 V41013317 316 315 314 313 312 311 310 307 306 305 304 303 302 301 300 V41014337 336 335 334 333 332 331 330 327 326 325 324 323 322 321 320 V41015357 356 355 354 353 352 351 350 347 346 345 344 343 342 341 340 V41016377 376 375 374 373 372 371 370 367 366 365 364 363 362 361 360 V41017
417 416 415 414 413 412 411 410 407 406 405 404 403 402 401 400 V41020437 436 435 434 433 432 431 430 427 426 425 424 423 422 421 420 V41021457 456 455 454 453 452 451 450 447 446 445 444 443 442 441 440 V41022477 476 475 474 473 472 471 470 467 466 465 464 463 462 461 460 V41023517 516 515 514 513 512 511 510 507 506 505 504 503 502 501 500 V41024537 536 535 534 533 532 531 530 527 526 525 524 523 522 521 520 V41025557 556 555 554 553 552 551 550 547 546 545 544 543 542 541 540 V41026577 576 575 574 573 572 571 570 567 566 565 564 563 562 561 560 V41027
617 616 615 614 613 612 611 610 607 606 605 604 603 602 601 600 V41030637 636 635 634 633 632 631 630 627 626 625 624 623 622 621 620 V41031657 656 655 654 653 652 651 650 647 646 645 644 643 642 641 640 V41032677 676 675 674 673 672 671 670 667 666 665 664 663 662 661 660 V41033717 716 715 714 713 712 711 710 707 706 705 704 703 702 701 700 V41034737 736 735 734 733 732 731 730 727 726 725 724 723 722 721 720 V41035757 756 755 754 753 752 751 750 747 746 745 744 743 742 741 740 V41036777 776 775 774 773 772 771 770 767 766 765 764 763 762 761 760 V41037
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 3–35
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
MSB DL06 Stage (S) Control Bits (cont’d) LSB Address15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 01017 1016 1015 1014 1013 1012 1011 1010 1007 1006 1005 1004 1003 1002 1001 1000 V410401037 1036 1035 1034 1033 1032 1031 1030 1027 1026 1025 1024 1023 1022 1021 1020 V410411057 1056 1055 1054 1053 1052 1051 1050 1047 1046 1045 1044 1043 1042 1041 1040 V410421077 1076 1075 1074 1073 1072 1071 1070 1067 1066 1065 1064 1063 1062 1061 1060 V410431117 1116 1115 1114 1113 1112 1111 1110 1107 1106 1105 1104 1103 1102 1101 1100 V410441137 1136 1135 1134 1133 1132 1131 1130 1127 1126 1125 1124 1123 1122 1121 1120 V410451157 1156 1155 1154 1153 1152 1151 1150 1147 1146 1145 1144 1143 1142 1141 1140 V410461177 1176 1175 1174 1173 1172 1171 1170 1167 1166 1165 1164 1163 1162 1161 1160 V41047
1217 1216 1215 1214 1213 1212 1211 1210 1207 1206 1205 1204 1203 1202 1201 1200 V410501237 1236 1235 1234 1233 1232 1231 1230 1227 1226 1225 1224 1223 1222 1221 1220 V410511257 1256 1255 1254 1253 1252 1251 1250 1247 1246 1245 1244 1243 1242 1241 1240 V410521277 1276 1275 1274 1273 1272 1271 1270 1267 1266 1265 1264 1263 1262 1261 1260 V410531317 1316 1315 1314 1313 1312 1311 1310 1307 1306 1305 1304 1303 1302 1301 1300 V410541337 1336 1335 1334 1333 1332 1331 1330 1327 1326 1325 1324 1323 1322 1321 1320 V410551357 1356 1355 1354 1353 1352 1351 1350 1347 1346 1345 1344 1343 1342 1341 1340 V410561377 1376 1375 1374 1373 1372 1371 1370 1367 1366 1365 1364 1363 1362 1361 1360 V41057
1417 1416 1415 1414 1413 1412 1411 1410 1407 1406 1405 1404 1403 1402 1401 1400 V410601437 1436 1435 1434 1433 1432 1431 1430 1427 1426 1425 1424 1423 1422 1421 1420 V410611457 1456 1455 1454 1453 1452 1451 1450 1447 1446 1445 1444 1443 1442 1441 1440 V410621477 1476 1475 1474 1473 1472 1471 1470 1467 1466 1465 1464 1463 1462 1461 1460 V410631517 1516 1515 1514 1513 1512 1511 1510 1507 1506 1505 1504 1503 1502 1501 1500 V410641537 1536 1535 1534 1533 1532 1531 1530 1527 1526 1525 1524 1523 1522 1521 1520 V410651557 1556 1555 1554 1553 1552 1551 1550 1547 1546 1545 1544 1543 1542 1541 1540 V410661577 1576 1575 1574 1573 1572 1571 1570 1567 1566 1565 1564 1563 1562 1561 1560 V41067
1617 1616 1615 1614 1613 1612 1611 1610 1607 1606 1605 1604 1603 1602 1601 1600 V410701637 1636 1635 1634 1633 1632 1631 1630 1627 1626 1625 1624 1623 1622 1621 1620 V410711657 1656 1655 1654 1653 1652 1651 1650 1647 1646 1645 1644 1643 1642 1641 1640 V410721677 1676 1675 1674 1673 1672 1671 1670 1667 1666 1665 1664 1663 1662 1661 1660 V410731717 1716 1715 1714 1713 1712 1711 1710 1707 1706 1705 1704 1703 1702 1701 1700 V410741737 1736 1735 1734 1733 1732 1731 1730 1727 1726 1725 1724 1723 1722 1721 1720 V410751757 1756 1755 1754 1753 1752 1751 1750 1747 1746 1745 1744 1743 1742 1741 1740 V410761777 1776 1775 1774 1773 1772 1771 1770 1767 1766 1765 1764 1763 1762 1761 1760 V41077
Control Relay Bit MapThis table provides a listing of the individual control relays associated with each V-memoryaddress bit.
This table is continued on the next page.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C3–36
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
MSB DL06 Control Relays (C) LSB Address15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0017 016 015 014 013 012 011 010 007 006 005 004 003 002 001 000 V40600037 036 035 034 033 032 031 030 027 026 025 024 023 022 021 020 V40601057 056 055 054 053 052 051 050 047 046 045 044 043 042 041 040 V40602077 076 075 074 073 072 071 070 067 066 065 064 063 062 061 060 V40603117 116 115 114 113 112 111 110 107 106 105 104 103 102 101 100 V40604137 136 135 134 133 132 131 130 127 126 125 124 123 122 121 120 V40605157 156 155 154 153 152 151 150 147 146 145 144 143 142 141 140 V40606177 176 175 174 173 172 171 170 167 166 165 164 163 162 161 160 V40607
617 616 615 614 613 612 611 610 607 606 605 604 603 602 601 600 V40630637 636 635 634 633 632 631 630 627 626 625 624 623 622 621 620 V40631657 656 655 654 653 652 651 650 647 646 645 644 643 642 641 640 V40632677 676 675 674 673 672 671 670 667 666 665 664 663 662 661 660 V40633717 716 715 714 713 712 711 710 707 706 705 704 703 702 701 700 V40634737 736 735 734 733 732 731 730 727 726 725 724 723 722 721 720 V40635757 756 755 754 753 752 751 750 747 746 745 744 743 742 741 740 V40636777 776 775 774 773 772 771 770 767 766 765 764 763 762 761 760 V40637
417 416 415 414 413 412 411 410 407 406 405 404 403 402 401 400 V40620437 436 435 434 433 432 431 430 427 426 425 424 423 422 421 420 V40621457 456 455 454 453 452 451 450 447 446 445 444 443 442 441 440 V40622477 476 475 474 473 472 471 470 467 466 465 464 463 462 461 460 V40623517 516 515 514 513 512 511 510 507 506 505 504 503 502 501 500 V40624537 536 535 534 533 532 531 530 527 526 525 524 523 522 521 520 V40625557 556 555 554 553 552 551 550 547 546 545 544 543 542 541 540 V40626577 576 575 574 573 572 571 570 567 566 565 564 563 562 561 560 V40627
217 216 215 214 213 212 211 210 207 206 205 204 203 202 201 200 V40610237 236 235 234 233 232 231 230 227 226 225 224 223 222 221 220 V40611257 256 255 254 253 252 251 250 247 246 245 244 243 242 241 240 V40612277 276 275 274 273 272 271 270 267 266 265 264 263 262 261 260 V40613317 316 315 314 313 312 311 310 307 306 305 304 303 302 301 300 V40614337 336 335 334 333 332 331 330 327 326 325 324 323 322 321 320 V40615357 356 355 354 353 352 351 350 347 346 345 344 343 342 341 340 V40616377 376 375 374 373 372 371 370 367 366 365 364 363 362 361 360 V40617
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 3–37
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
MSB DL06 Control Relays (C) (cont’d) LSBAddress
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 01017 1016 1015 1014 1013 1012 1011 1010 1007 1006 1005 1004 1003 1002 1001 1000 V406401037 1036 1035 1034 1033 1032 1031 1030 1027 1026 1025 1024 1023 1022 1021 1020 V406411057 1056 1055 1054 1053 1052 1051 1050 1047 1046 1045 1044 1043 1042 1041 1040 V406421077 1076 1075 1074 1073 1072 1071 1070 1067 1066 1065 1064 1063 1062 1061 1060 V406431117 1116 1115 1114 1113 1112 1111 1110 1107 1106 1105 1104 1103 1102 1101 1100 V406441137 1136 1135 1134 1133 1132 1131 1130 1127 1126 1125 1124 1123 1122 1121 1120 V406451157 1156 1155 1154 1153 1152 1151 1150 1147 1146 1145 1144 1143 1142 1141 1140 V406461177 1176 1175 1174 1173 1172 1171 1170 1167 1166 1165 1164 1163 1162 1161 1160 V40647
1617 1616 1615 1614 1613 1612 1611 1610 1607 1606 1605 1604 1603 1602 1601 1600 V406701637 1636 1635 1634 1633 1632 1631 1630 1627 1626 1625 1624 1623 1622 1621 1620 V406711657 1656 1655 1654 1653 1652 1651 1650 1647 1646 1645 1644 1643 1642 1641 1640 V406721677 1676 1675 1674 1673 1672 1671 1670 1667 1666 1665 1664 1663 1662 1661 1660 V406731717 1716 1715 1714 1713 1712 1711 1710 1707 1706 1705 1704 1703 1702 1701 1700 V406741737 1736 1735 1734 1733 1732 1731 1730 1727 1726 1725 1724 1723 1722 1721 1720 V406751757 1756 1755 1754 1753 1752 1751 1750 1747 1746 1745 1744 1743 1742 1741 1740 V406761777 1776 1775 1774 1773 1772 1771 1770 1767 1766 1765 1764 1763 1762 1761 1760 V40677
1417 1416 1415 1414 1413 1412 1411 1410 1407 1406 1405 1404 1403 1402 1401 1400 V406601437 1436 1435 1434 1433 1432 1431 1430 1427 1426 1425 1424 1423 1422 1421 1420 V406611457 1456 1455 1454 1453 1452 1451 1450 1447 1446 1445 1444 1443 1442 1441 1440 V406621477 1476 1475 1474 1473 1472 1471 1470 1467 1466 1465 1464 1463 1462 1461 1460 V406631517 1516 1515 1514 1513 1512 1511 1510 1507 1506 1505 1504 1503 1502 1501 1500 V406641537 1536 1535 1534 1533 1532 1531 1530 1527 1526 1525 1524 1523 1522 1521 1520 V406651557 1556 1555 1554 1553 1552 1551 1550 1547 1546 1545 1544 1543 1542 1541 1540 V406661577 1576 1575 1574 1573 1572 1571 1570 1567 1566 1565 1564 1563 1562 1561 1560 V40667
1217 1216 1215 1214 1213 1212 1211 1210 1207 1206 1205 1204 1203 1202 1201 1200 V406501237 1236 1235 1234 1233 1232 1231 1230 1227 1226 1225 1224 1223 1222 1221 1220 V406511257 1256 1255 1254 1253 1252 1251 1250 1247 1246 1245 1244 1243 1242 1241 1240 V406521277 1276 1275 1274 1273 1272 1271 1270 1267 1266 1265 1264 1263 1262 1261 1260 V406531317 1316 1315 1314 1313 1312 1311 1310 1307 1306 1305 1304 1303 1302 1301 1300 V406541337 1336 1335 1334 1333 1332 1331 1330 1327 1326 1325 1324 1323 1322 1321 1320 V406551357 1356 1355 1354 1353 1352 1351 1350 1347 1346 1345 1344 1343 1342 1341 1340 V406561377 1376 1375 1374 1373 1372 1371 1370 1367 1366 1365 1364 1363 1362 1361 1360 V40657
DL06 Micro PLC User Manual, 3rd Edition, Rev. C3–38
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Timer Status Bit MapThis table provides a listing of individual timer contacts associated with each V-memoryaddress bit.
Counter Status Bit MapThis table provides a listing of individual counter contacts associated with each V-memoryaddress bit.
MSB DL06 Counter (CT) Contacts LSB Address15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0017 016 015 014 013 012 011 010 007 006 005 004 003 002 001 000 V41140037 036 035 034 033 032 031 030 027 026 025 024 023 022 021 020 V41141057 056 055 054 053 052 051 050 047 046 045 044 043 042 041 040 V41142077 076 075 074 073 072 071 070 067 066 065 064 063 062 061 060 V41143117 116 115 114 113 112 111 110 107 106 105 104 103 102 101 100 V41144137 136 135 134 133 132 131 130 127 126 125 124 123 122 121 120 V41145157 156 155 154 153 152 151 150 147 146 145 144 143 142 141 140 V41146177 176 175 174 173 172 171 170 167 166 165 164 163 162 161 160 V41147
MSB DL06 Timer (T) Contacts LSB Address15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0017 016 015 014 013 012 011 010 007 006 005 004 003 002 001 000 V41100037 036 035 034 033 032 031 030 027 026 025 024 023 022 021 020 V41101057 056 055 054 053 052 051 050 047 046 045 044 043 042 041 040 V41102077 076 075 074 073 072 071 070 067 066 065 064 063 062 061 060 V41103117 116 115 114 113 112 111 110 107 106 105 104 103 102 101 100 V41104137 136 135 134 133 132 131 130 127 126 125 124 123 122 121 120 V41105157 156 155 154 153 152 151 150 147 146 145 144 143 142 141 140 V41106177 176 175 174 173 172 171 170 167 166 165 164 163 162 161 160 V41107
217 216 215 214 213 212 211 210 207 206 205 204 203 202 201 200 V41110237 236 235 234 233 232 231 230 227 226 225 224 223 222 221 220 V41111257 256 255 254 253 252 251 250 247 246 245 244 243 242 241 240 V41112277 276 275 274 273 272 271 270 267 266 265 264 263 262 261 260 V41113317 316 315 314 313 312 311 310 307 306 305 304 303 302 301 300 V41114337 336 335 334 333 332 331 330 327 326 325 324 323 322 321 320 V41115357 356 355 354 353 352 351 350 347 346 345 344 343 342 341 340 V41116377 376 375 374 373 372 371 370 367 366 365 364 363 362 361 360 V41117
GX and GY I/O Bit MapThis table provides a listing of the individual global I/O points associated with eachV-memory address bit.
This table is continued on the next page.
NOTE: This memory area can be used for additional Data Words.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 3–39
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
MSB DL06 GX and GY I/O Points LSB GXAddress
GYAddress15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
017 016 015 014 013 012 011 010 007 006 005 004 003 002 001 000 V40000 V40200037 036 035 034 033 032 031 030 027 026 025 024 023 022 021 020 V40001 V40201057 056 055 054 053 052 051 050 047 046 045 044 043 042 041 040 V40002 V40202077 076 075 074 073 072 071 070 067 066 065 064 063 062 061 060 V40003 V40203117 116 115 114 113 112 111 110 107 106 105 104 103 102 101 100 V40004 V40204137 136 135 134 133 132 131 130 127 126 125 124 123 122 121 120 V40005 V40205157 156 155 154 153 152 151 150 147 146 145 144 143 142 141 140 V40006 V40206177 176 175 174 173 172 171 170 167 166 165 164 163 162 161 160 V40007 V40207
217 216 215 214 213 212 211 210 207 206 205 204 203 202 201 200 V40010 V40210237 236 235 234 233 232 231 230 227 226 225 224 223 222 221 220 V40011 V40211257 256 255 254 253 252 251 250 247 246 245 244 243 242 241 240 V40012 V40212277 276 275 274 273 272 271 270 267 266 265 264 263 262 261 260 V40013 V40213317 316 315 314 313 312 311 310 307 306 305 304 303 302 301 300 V40004 V40214337 336 335 334 333 332 331 330 327 326 325 324 323 322 321 320 V40015 V40215357 356 355 354 353 352 351 350 347 346 345 344 343 342 341 340 V40016 V40216377 376 375 374 373 372 371 370 367 366 365 364 363 362 361 360 V40007 V40217
617 616 615 614 613 612 611 610 607 606 605 604 603 602 601 600 V40030 V40230637 636 635 634 633 632 631 630 627 626 625 624 623 622 621 620 V40031 V40231657 656 655 654 653 652 651 650 647 646 645 644 643 642 641 640 V40032 V40232677 676 675 674 673 672 671 670 667 666 665 664 663 662 661 660 V40033 V40233717 716 715 714 713 712 711 710 707 706 705 704 703 702 701 700 V40034 V40234737 736 735 734 733 732 731 730 727 726 725 724 723 722 721 720 V40035 V40235757 756 755 754 753 752 751 750 747 746 745 744 743 742 741 740 V40036 V40236777 776 775 774 773 772 771 770 767 766 765 764 763 762 761 760 V40037 V40237
417 416 415 414 413 412 411 410 407 406 405 404 403 402 401 400 V40020 V40220437 436 435 434 433 432 431 430 427 426 425 424 423 422 421 420 V40021 V40221457 456 455 454 453 452 451 450 447 446 445 444 443 442 441 440 V40022 V40222477 476 475 474 473 472 471 470 467 466 465 464 463 462 461 460 V40023 V40223517 516 515 514 513 512 511 510 507 506 505 504 503 502 501 500 V40024 V40224537 536 535 534 533 532 531 530 527 526 525 524 523 522 521 520 V40025 V40225557 556 555 554 553 552 551 550 547 546 545 544 543 542 541 540 V40026 V40226577 576 575 574 573 572 571 570 567 566 565 564 563 562 561 560 V40027 V40227
This table is continued on the next page.
NOTE: This memory area can be used for additional Data Words.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C3–40
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
MSB DL06 GX and GY I/O Points (cont’d) LSB GXAddress
GYAddress15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1017 1016 1015 1014 1013 1012 1011 1010 1007 1006 1005 1004 1003 1002 1001 1000 V40040 V402401037 1036 1035 1034 1033 1032 1031 1030 1027 1026 1025 1024 1023 1022 1021 1020 V40041 V402411057 1056 1055 1054 1053 1052 1051 1050 1047 1046 1045 1044 1043 1042 1041 1040 V40042 V402421077 1076 1075 1074 1073 1072 1071 1070 1067 1066 1065 1064 1063 1062 1061 1060 V40043 V402431117 1116 1115 1114 1113 1112 1111 1110 1107 1106 1105 1104 1103 1102 1101 1100 V40044 V402441137 1136 1135 1134 1133 1132 1131 1130 1127 1126 1125 1124 1123 1122 1121 1120 V40045 V402451157 1156 1155 1154 1153 1152 1151 1150 1147 1146 1145 1144 1143 1142 1141 1140 V40046 V402461177 1176 1175 1174 1173 1172 1171 1170 1167 1166 1165 1164 1163 1162 1161 1160 V40047 V40247
1617 1616 1615 1614 1613 1612 1611 1610 1607 1606 1605 1604 1603 1602 1601 1600 V40070 V402701637 1636 1635 1634 1633 1632 1631 1630 1627 1626 1625 1624 1623 1622 1621 1620 V40071 V402711657 1656 1655 1654 1653 1652 1651 1650 1647 1646 1645 1644 1643 1642 1641 1640 V40072 V402721677 1676 1675 1674 1673 1672 1671 1670 1667 1666 1665 1664 1663 1662 1661 1660 V40073 V402731717 1716 1715 1714 1713 1712 1711 1710 1707 1706 1705 1704 1703 1702 1701 1700 V40074 V402741737 1736 1735 1734 1733 1732 1731 1730 1727 1726 1725 1724 1723 1722 1721 1720 V40075 V402751757 1756 1755 1754 1753 1752 1751 1750 1747 1746 1745 1744 1743 1742 1741 1740 V40076 V402761777 1776 1775 1774 1773 1772 1771 1770 1767 1766 1765 1764 1763 1762 1761 1760 V40077 V40277
1417 1416 1415 1414 1413 1412 1411 1410 1407 1406 1405 1404 1403 1402 1401 1400 V40060 V402601437 1436 1435 1434 1433 1432 1431 1430 1427 1426 1425 1424 1423 1422 1421 1420 V40061 V402611457 1456 1455 1454 1453 1452 1451 1450 1447 1446 1445 1444 1443 1442 1441 1440 V40062 V402621477 1476 1475 1474 1473 1472 1471 1470 1467 1466 1465 1464 1463 1462 1461 1460 V40063 V402631517 1516 1515 1514 1513 1512 1511 1510 1507 1506 1505 1504 1503 1502 1501 1500 V40064 V402641537 1536 1535 1534 1533 1532 1531 1530 1527 1526 1525 1524 1523 1522 1521 1520 V40065 V402651557 1556 1555 1554 1553 1552 1551 1550 1547 1546 1545 1544 1543 1542 1541 1540 V40066 V402661577 1576 1575 1574 1573 1572 1571 1570 1567 1566 1565 1564 1563 1562 1561 1560 V40067 V40267
1217 1216 1215 1214 1213 1212 1211 1210 1207 1206 1205 1204 1203 1202 1201 1200 V40050 V402501237 1236 1235 1234 1233 1232 1231 1230 1227 1226 1225 1224 1223 1222 1221 1220 V40051 V402511257 1256 1255 1254 1253 1252 1251 1250 1247 1246 1245 1244 1243 1242 1241 1240 V40052 V402521277 1276 1275 1274 1273 1272 1271 1270 1267 1266 1265 1264 1263 1262 1261 1260 V40053 V402531317 1316 1315 1314 1313 1312 1311 1310 1307 1306 1305 1304 1303 1302 1301 1300 V40054 V402541337 1336 1335 1334 1333 1332 1331 1330 1327 1326 1325 1324 1323 1322 1321 1320 V40055 V402551357 1356 1355 1354 1353 1352 1351 1350 1347 1346 1345 1344 1343 1342 1341 1340 V40056 V402561377 1376 1375 1374 1373 1372 1371 1370 1367 1366 1365 1364 1363 1362 1361 1360 V40057 V40257
This table is continued on the next page.
NOTE: This memory area can be used for additional Data Words.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 3–41
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
MSB DL06 GX and GY I/O Points (cont’d) LSB GXAddress
GYAddress15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
2017 2016 2015 2014 2013 2012 2011 2010 2007 2006 2005 2004 2003 2002 2001 2000 V40100 V403002037 2036 2035 2034 2033 2032 2031 2030 2027 2026 2025 2024 2023 2022 2021 2020 V40101 V403012057 2056 2055 2054 2053 2052 2051 2050 2047 2046 2045 2044 2043 2042 2041 2040 V40102 V403022077 2076 2075 2074 2073 2072 2071 2070 2067 2066 2065 2064 2063 2062 2061 2060 V40103 V403032117 2116 2115 2114 2113 2112 2111 2110 2107 2106 2105 2104 2103 2102 2101 2100 V40104 V403042137 2136 2135 2134 2133 2132 2131 2130 2127 2126 2125 2124 2123 2122 2121 2120 V40105 V403052157 2156 2155 2154 2153 2152 2151 2150 2147 2146 2145 2144 2143 2142 2141 2140 V40106 V403062177 2176 2175 2174 2173 2172 2171 2170 2167 2166 2165 2164 2163 2162 2161 2160 V40107 V40307
2617 2616 2615 2614 2613 2612 2611 2610 2607 2606 2605 2604 2603 2602 2601 2600 V40130 V403302637 2636 2635 2634 2633 2632 2631 2630 2627 2626 2625 2624 2623 2622 2621 2620 V40131 V403312657 2656 2655 2654 2653 2652 2651 2650 2647 2646 2645 2644 2643 2642 2641 2640 V40132 V403322677 2676 2675 2674 2673 2672 2671 2670 2667 2666 2665 2664 2663 2662 2661 2660 V40133 V403332717 2716 2715 2714 2713 2712 2711 2710 2707 2706 2705 2704 2703 2702 2701 2700 V40134 V403342737 2736 2735 2734 2733 2732 2731 2730 2727 2726 2725 2724 2723 2722 2721 2720 V40135 V403352757 2756 2755 2754 2753 2752 2751 2750 2747 2736 2735 2734 2733 2732 2731 2730 V40136 V403362777 2776 2775 2774 2773 2772 2771 2770 2767 2766 2765 2764 2763 2762 2761 2760 V40137 V40337
2417 2416 2415 2414 2413 2412 2411 2410 2407 2406 2405 2404 2403 2402 2401 2400 V40120 V403202437 2436 2435 2434 2433 2432 2431 2430 2427 2426 2425 2424 2423 2422 2421 2420 V40121 V403212457 2456 2455 2454 2453 2452 2451 2450 2447 2446 2445 2444 2443 2442 2441 2440 V40122 V403222477 2476 2475 2474 2473 2472 2471 2470 2467 2466 2465 2464 2463 2462 2461 2460 V40123 V403232517 2516 2515 2514 2513 2512 2511 2510 2507 2506 2505 2504 2503 2502 2501 2500 V40124 V403242537 2536 2535 2534 2533 2532 2531 2530 2527 2526 2525 2524 2523 2522 2521 2520 V40125 V403252557 2556 2555 2554 2553 2552 2551 2550 2547 2546 2545 2544 2543 2542 2541 2540 V40126 V403262577 2576 2575 2574 2573 2572 2571 2570 2567 2566 2565 2564 2563 2562 2561 2560 V40127 V40327
2217 2216 2215 2214 2213 2212 2211 2210 2207 2206 2205 2204 2203 2202 2201 2200 V40110 V403102237 2236 2235 2234 2233 2232 2231 2230 2227 2226 2225 2224 2223 2222 2221 2220 V40111 V403112257 2256 2255 2254 2253 2252 2251 2250 2247 2246 2245 2244 2243 2242 2241 2240 V40112 V403122277 2276 2275 2274 2273 2272 2271 2270 2267 2266 2265 2264 2263 2262 2261 2260 V40113 V403132317 2316 2315 2314 2313 2312 2311 2310 2307 2306 2305 2304 2303 2302 2301 2300 V40114 V403142337 2336 2335 2334 2333 2332 2331 2330 2327 2326 2325 2324 2323 2322 2321 2320 V40115 V403152357 2356 2355 2354 2353 2352 2351 2350 2347 2346 2345 2344 2343 2342 2341 2340 V40116 V403162377 2376 2375 2374 2373 2372 2371 2370 2367 2366 2365 2364 2363 2362 2361 2360 V40117 V40317
NOTE: This memory area can be used for additional Data Words.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C3–42
Chapter 3: CPU Specifications and Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
MSB DL06 GX and GY I/O Points (cont’d) LSB GXAddress
GYAddress 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
3017 3016 3015 3014 3013 3012 3011 3010 3007 3006 3005 3004 3003 3002 3001 3000 V40140 V403403037 3036 3035 3034 3033 3032 3031 3030 3027 3026 3025 3024 3023 3022 3021 3020 V40141 V403413057 3056 3055 3054 3053 3052 3051 3050 3047 3046 3045 3044 3043 3042 3041 3040 V40142 V403423077 3076 3075 3074 3073 3072 3071 3070 3067 3066 3065 3064 3063 3062 3061 3060 V40143 V403433117 3116 3115 3114 3113 3112 3111 3110 3107 3106 3105 3104 3103 3102 3101 3100 V40144 V403443137 3136 3135 3134 3133 3132 3131 3130 3127 3126 3125 3124 3123 3122 3121 3120 V40145 V403453157 3156 3155 3154 3153 3152 3151 3150 3147 3146 3145 3144 3143 3142 3141 3140 V40146 V403463177 3176 3175 3174 3173 3172 3171 3170 3167 3166 3165 3164 3163 3162 3161 3160 V40147 V40347
3617 3616 3615 3614 3613 3612 3611 3610 3607 3606 3605 3604 3603 3602 3601 3600 V40170 V403703637 3636 3635 3634 3633 3632 3631 3630 3627 3626 3625 3624 3623 3622 3621 3620 V40171 V403713657 3656 3655 3654 3653 3652 3651 3650 3647 3646 3645 3644 3643 3642 3641 3640 V40172 V403723677 3676 3675 3674 3673 3672 3671 3670 3667 3666 3665 3664 3663 3662 3661 3660 V40173 V403733717 3716 3715 3714 3713 3712 3711 3710 3707 3706 3705 3704 3703 3702 3701 3700 V40174 V403743737 3736 3735 3734 3733 3732 3731 3730 3727 3726 3725 3724 3723 3722 3721 3720 V40175 V403753757 3756 3755 3754 3753 3752 3751 3750 3747 3746 3745 3744 3743 3742 3741 3740 V40176 V403763777 3776 3775 3774 3773 3772 3771 3770 3767 3766 3765 3764 3763 3762 3761 3760 V40177 V40377
3417 3416 3415 3414 3413 3412 3411 3410 3407 3406 3405 3404 3403 3402 3401 3400 V40160 V403603437 3436 3435 3434 3433 3432 3431 3430 3427 3426 3425 3424 3423 3422 3421 3420 V40161 V403613457 3456 3455 3454 3453 3452 3451 3450 3447 3446 3445 3444 3443 3442 3441 3440 V40162 V403623477 3476 3475 3474 3473 3472 3471 3470 3467 3466 3465 3464 3463 3462 3461 3460 V40163 V403633517 3516 3515 3514 3513 3512 3511 3510 3507 3506 3505 3504 3503 3502 3501 3500 V40164 V403643537 3536 3535 3534 3533 3532 3531 3530 3527 3526 3525 3524 3523 3522 3521 3520 V40165 V403653557 3556 3555 3554 3553 3552 3551 3550 3547 3546 3545 3544 3543 3542 3541 3540 V40166 V403663577 3576 3575 3574 3573 3572 3571 3570 3567 3566 3565 3564 3563 3562 3561 3560 V40167 V40367
3217 3216 3215 3214 3213 3212 3211 3210 3207 3206 3205 3204 3203 3202 3201 3200 V40150 V403503237 3236 3235 3234 3233 3232 3231 3230 3227 3226 3225 3224 3223 3222 3221 3220 V40151 V403513257 3256 3255 3254 3253 3252 3251 3250 3247 3246 3245 3244 3243 3242 3241 3240 V40152 V403523277 3276 3275 3274 3273 3272 3271 3270 3267 3266 3265 3264 3263 3262 3261 3260 V40153 V403533317 3316 3315 3314 3313 3312 3311 3310 3307 3306 3305 3304 3303 3302 3301 3300 V40154 V403543337 3336 3335 3334 3333 3332 3331 3330 3327 3326 3325 3324 3323 3322 3321 3320 V40155 V403553357 3356 3355 3354 3353 3352 3351 3350 3347 3346 3345 3344 3343 3342 3341 3340 V40156 V403563377 3376 3375 3374 3373 3372 3371 3370 3367 3366 3365 3364 3363 3362 3361 3360 V40157 V40357
SYSTEM DESIGN ANDCONFIGURATION 44
CHAPTERCHAPTER
4444CHAPTER
In This ChapterDL06 System Design Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–2Module Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–3Power Budgeting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–5Configuring the DL06’s Comm Ports . . . . . . . . . . . . . . . . . . . . . . . .4–7Connecting to MODBUS and DirectNET Networks . . . . . . . . . . . . .4–9Non–Sequence Protocol (ASCII In/Out and PRINT) . . . . . . . . . . . .4–11Network Slave Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–12Network Master Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4–18Network Master Operation (using MRX and MWX Instructions) . .4–22
DL06 System Design Strategies
I/O System ConfigurationsThe DL06 PLCs offer a number of different I/O configurations. Choose the configurationthat is right for your application, and keep in mind that the DL06 PLCs offer the ability toadd I/O with the use of option cards. Although remote I/O isn’t available, there are manyoption cards available. For instance:• Various A/C and D/C I/O modules
• Combination I/O modules
• Analog I/O modules
• Combination Analog I/O modules
A DL06 system can be developed using several different arrangements using the optionmodules. See our DL05/06 Options Modules User Manual (D0-OPTIONS-M) on thewebsite, www.automationdirect.com for detailed selection information.
Networking ConfigurationsThe DL06 PLCs offers the following ways to add networking:• Ethernet Communications Module � connects a DL06 to high-speed peer-to-peer networks. AnyPLC can initiate communications with any other PLC or operator interfaces, such as C-more, whenusing the ECOM modules.
• Data Communications Modules � connects a DL06 to devices using either DeviceNet or Profibusto link to master controllers, as well as a D0-DCM.
• Communications Port 1 � The DL06 has a 6-pin RJ12 connector on Port 1 that supports (asslave) K-sequence, MODBUS RTU or DirectNET protocols.
• Communications Port 2 � The DL06 has a 15-pin connector on Port 2 that supports eithermaster/slave MODBUS RTU or DirectNET protocols, or K-sequence protocol as slave. MRX andMWX instructions allow you to enter native MODBUS addressing in your ladder program with noneed to perform octal to decimal conversions. Port 2 can also be used for ASCII IN/OUTcommunications.
DL06 Micro PLC User Manual; 3rd Edition, Rev. C4–2
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Module Placement
Slot NumberingThe DL06 has four slots, which are numbered as follows:
DL06 Micro PLC User Manual; 3rd Edition, Rev. C 4–3
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Slot 1
Slot 2
Slot 3
Slot 4
DL06 Micro PLC User Manual; 3rd Edition, Rev. C4–4
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Automatic I/O ConfigurationThe DL06 CPUs automatically detect any installed I/O modules (including specialtymodules) at powerup, and establish the correct I/O configuration and addresses. This appliesto modules located in the local base. For most applications, you will never have to change theconfiguration.
I/O addresses use octal numbering, starting at X100 and Y100 in the slot next to the CPU.The addresses are assigned in groups of 8, or 16 depending on the number of points for theI/O module. The discrete input and output modules can be mixed in any order. Thefollowing diagram shows the I/O numbering convention for an example system. Both theHandheld Programmer and DirectSOFT provide AUX functions that allow you toautomatically configure the I/O. For example, with the Handheld Programmer, AUX 46executes an automatic configuration, which allows the CPU to examine the installed modulesand determine the I/O configuration and addressing. With DirectSOFT, the PLC ConfigureI/O menu option would be used.
Automatic
Manual
Manual I/O ConfigurationIt may never become necessary, but DL06 CPUs allow manual I/O address assignments forany I/O slot(s) . You can manually modify an auto configuration to match arbitrary I/Onumbering. For example, two adjacent input modules can have starting addresses at X100and X200. Use DirectSOFT PLC Configure I/O menu option to assign manual I/O address.In automatic configuration, the addresses are assigned on 8-point boundaries. Manualconfiguration, however, assumes that all modules are at least 16 points, so you can only assignaddresses that are a multiple of 20 (octal). You can still use 8 point modules, but 16 addresseswill be assigned and the upper eight addresses will be unused.
WARNING: If you manually configure an I/O slot, the I/O addressing for the other modules maychange. This is because the DL06 CPUs do not allow you to assign duplicate I/O addresses. Youmust 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 ofpersonal injury or damage to equipment.
Slot 18pt. InputX100–X107
Slot 216pt. OutputY100–Y117
Slot 316pt. InputX110–X127
Slot 48pt. InputX130–X137
Slot 18pt. InputX100–X107
Slot 216pt. OutputY100–Y117
Slot 316pt. InputX200–X217
Slot 48pt. InputX120–X127
Power BudgetingThe DL06 has four option card slots. To determine whether the combination of cards youselect will have sufficient power, you will need to perform a power budget calculation.
Power supplied Power is supplied from two sources: the internal base unit power supply and, if required, anexternal supply (customer furnished). The D0-06xx (AC powered) PLCs supply a limitedamount of 24VDC power. The 24VDC output can be used to power external devices.
For power budgeting, start by considering the power supplied by the base unit. The DL06PLCs supply different amounts of 5VDC backplane power based on model type and 24VDCauxiliary supply usage. Only the AC units offer 24VDC auxiliary power. Be aware of thetrade-off between 5VDC power and 24VDC power. The amount of 5VDC power availabledepends on the amount of 24VDC power being used, and the amount of 24VDC poweravailable depends on the amount of 5VDC power consumed. Determine the amount ofinternally supplied power from the table on the following page.
Power required by base unit Because of the different I/O configurations available in the DL06 family, the powerconsumed by the base unit itself varies from model to model. Subtract the amount of powerrequired by the base unit from the amount of power supplied by the base unit. Be sure tosubtract 5VDC and 24VDC amounts.
Power required by option cards Next, subtract the amount of power required by the option cards you are planning to use.Again, remember to subtract both 5VDC and 24VDC. If your power budget analysis showssurplus power available, you should have a workable configuration.
DL06 Micro PLC User Manual; 3rd Edition, Rev. C 4–5
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DL06 Micro PLC User Manual; 3rd Edition, Rev. C4–6
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
DNOTE 1: Auxiliary 24VDC used to power V+ terminal of D0-06DD1/-D sinking outputs.NOTE 2: If the PLC’s auxiliary 24VDC power source is used to power the sinking outputs,
use power choice A, above.
Power Budgeting Example
Power Source 5VDC power (mA)
24VDCpower (mA)
D0-06DD1(select rowA or row B)
A 1500mA 300mA
B 2000mA 200mA
Current Required 5VDC power (mA)
24VDC power (mA)
D0-06DD1 600mA 280mA, note 1D0-16ND3 35mA 0D0-10TD1 150mA 0D0-08TR 280mA 0F0-4AD2DA-2 100mA 0D0-06LCD 50mA 0Total Used 1215mA 280mA
RemainingA 285mA 20mAB 785mA note 2
DL06 Power Supplied by Base UnitsPart Number 5 VDC (mA) 24 VDC (mA)
D0-06xx<1500mA 300mA<2000mA 200mA
D0-06xx-D 1500mA none
DL06 Power Consumed by Other DevicesPart Number 5 VDC (mA) 24 VDC (mA)
D0-06LCD 50mA noneD2-HPP 200mA noneDV1000 150mA noneEA1-S3ML 210mA noneEA1-S3MLW 210mA none
DL06 Base Unit Power RequiredPart Number 5 VDC (mA) 24 VDC (mA)
D0-06AA 800mA noneD0-06AR 900mA noneD0-06DA 800mA noneD0-06DD1 600mA 280mA, note 1D0-06DD2 600mA noneD0-06DR 950mA noneD0-06DD1-D 600mA 280mA, note 1D0-06DD2-D 600mA noneD0-06DR-D 950mA none
If the 5VDC loading is less than 2000mA, but more than1500mA, then available 24VDC supply current is 200mA.
If the 5VDC loading is less than 1500mA, then theavailable 24VDC current is 300mA.
NOTE: See the DL05/DL06 OPTIONSmanual for the module data for your
DL06 Power Consumed by Option Cards
Part Number 5 VDC (mA) 24 VDC (mA)D0-07CDR 130mA noneD0-08CDD1 100mA noneD0-08TR 280mA noneD0-10ND3 35mA noneD0-10ND3F 35mA noneD0-10TD1 150mA noneD0-10TD2 150mA noneD0-16ND3 35mA noneD0-16TD1 200mA noneD0-16TD2 200mA noneD0-DCM 250mA noneD0-DEVNETS 45mA noneF0-04TRS 250mA noneF0-08NA-1 5mA noneF0-04AD-1 50mA noneF0-04AD-2 75mA noneF0-2AD2DA-2 50mA 30mAF0-4AD2DA-1 100mA 40mAF0-4AD2DA-2 100mA noneF0-04RTD 70mA noneF0-04THM 30mA noneF0-CP128 150mA noneH0-PSCM 530mA noneH0-ECOM 250mA noneH0-CTRIO(2) 250mA none
DL06 Micro PLC User Manual; 3rd Edition, Rev. C 4–7
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DL06 Port Pinouts
Configuring the DL06’s Comm PortsThis section describes how to configure the CPU’s built-in networking ports for eitherMODBUS or DirectNET. This will allow you to connect the DL06 PLC system directly toMODBUS networks using the RTU protocol, or to other devices on a DirectNET network.MODBUS masters on the network must be capable of issuing the MODBUS commands toread or write the appropriate data. For details on the MODBUS protocol, please refer to theGould MODBUS Protocol reference Guide (P1–MBUS–300 Rev. B). In the event a morerecent version is available, check with your MODBUS supplier before ordering thedocumentation. For more details on DirectNET, order our DirectNET manual, part numberDA–DNET–M.
NOTE: For information about the MODBUS protocol see the Group Schneider Web site at:www.schneiderautomation.com. At the main menu, select Support/Services, Modbus, ModbusTechnical Manuals, PI-MBUS-300 Modbus Protocol Reference Guide or search for PIMBUS300. Formore information about the DirectNET protocol, order our DirectNET user manual, part numberDA–DNET–M, or download it free from our Web site: www.automationdirect.com. SelectManuals/Docs > Product Manuals > Misc./DA-DNET-M.
Communications Port 2
Port 2
Connects to HPP, DirectSOFT, operator interfaces, etc.15-pin, multifunction port, RS232C, RS422, RS485(RS485 with 2-wire is only available for MODBUS andNon-sequence.)Communication speed (baud): 300, 600, 1200, 2400,4800, 9600, 19200, 38400Parity: odd (default), even, noneStation Address: 1 (default)8 data bits1 start, 1 stop bitAsynchronous, half-duplex, DTEProtocol (auto-select): K-sequence (slave only),DirectNET (master/slave), MODBUS (master/slave), non-sequence/print/ASCII in/out
Port 1 Pin Descriptions1 0V Power (-) connection (GND)2 5V Power (+) connection3 RXD Receive data (RS-232C)4 TXD Transmit data (RS-232C)5 5V Power (+) connection6 0V Power (-) connection (GND)
Port 2 Pin Descriptions1 5V Power (+) connection2 TXD Transmit data (RS-232C)3 RXD Receive data (RS-232C)4 RTS Ready to send (RS-232C)5 CTS Clear to send (RS232C)6 RXD- Receive data (-) (RS-422/485)7 0V Power (-) connection (GND)8 0V Power (-) connection (GND)9 TXD+ Transmit data (+) (RS-422/485)10 TXD- Transmit data (-) (RS-422/485)11 RTS+ Ready to send (+) (RS-422/485)12 RTS- Ready to send (-) (RS-422/485)13 RXD+ Receive data (+) (RS-422/485)14 CTS+ Clear to send (+) (RS-422/485)15 CTS- Clear to send (-) (RS-422/485)
Communications Port 1
Port 1
Connects to HPP, DirectSOFT, operator interfaces,etc.6-pin, RS232CCommunication speed (baud): 9600 (fixed)Parity: odd (fixed)Station Address: 1 (fixed)8 data bits1 start, 1 stop bitAsynchronous, half-duplex, DTEProtocol (auto-select): K-sequence (slave only),DirectNET (slave only), MODBUS (slave only)
DL06 Port Specifications
PORT1 PORT2
TERM
RUN STOPPORT1 PORT2 RUNRUN
PORT1 PORT2
1634 25
15610
1115
DL06 Micro PLC User Manual; 3rd Edition, Rev. C4–8
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
RS-232 NetworkNormally, the RS-232signals are used forshorter distances (15meters maximum), forcommunicationsbetween two devices.
RS-422 NetworkRS-422 signals are forlong distances ( 1000meters maximum). Useterminator resistors atboth ends of RS-422network wiring,matching the impedancerating of the cable(between 100 and 500 ohms).
RS-485 NetworkRS-485 signals are forlonger distances (1000meters max) and formulti-drop networks.Use terminationresistors at both endsof RS-485 networkwiring, matching theimpedance rating ofthe cable (between100 and 500 ohms).
Choosing a Network SpecificationThe DL06 PLC’s multi-function port gives you the option of using RS-232C, RS-422, orRS-485 specifications. First, determine whether the network will be a 2-wire RS–232C type,a 4-wire RS–422 type, or a 2-wire/4-wire RS-485 type.
The RS–232C specification is simple to implement for networks of shorter distances (15meters max) and where communication is only required between two devices. The RS–422and RS-485 signals are for networks that cover longer distances (1000 meters max.) and formulti-drop networks (from 2 to 247 devices).
NOTE: Termination resistors are required at both ends of RS–422 and RS-485 networks. It isnecessary to select resistors that match the impedance rating of the cable (between 100 and 500ohms).
DL06 CPU Port 2
TXD+ / RXD+
TXD– / RXD–
Termination Resistor
Signal GND
Connect shieldto signal ground
TXD+
TXD–
RXD–
RXD+
0V
TXD+
TXD–
RXD–
RXD+
0V
TXD+ / RXD+
TXD– / RXD–
Signal GND
TXD+ / RXD+
TXD– / RXD–
Signal GND
RTS+
RTS–
CTS+
CTS–
RTS+
RTS–
CTS+
CTS–
DL06 CPU Port 2
1
6
11 1
6
11
5
10
15 5
10
15
The recommended cable for RS422 is AutomationDirect L19954 (Belden 9842) or equivalent.
RXD+ RXD– TXD+ TXD– Signal GND
PORT 2 Master
9 TXD+ 10 TXD– 13 RXD+ 6 RXD– 1 1 R TS+ 12 R TS– 14 CTS+ 15 CTS– 7 0 V
T ermination Resistor at both ends of network The recommended cable for RS422 is
AutomationDirect L19772 (Belden 8102)or equivalent.
Signal GND
RXD
TXD
TXD
RXD
GND
RTS
CTSRTS
CTS
RTS
CTS
ORLoopBack
PORT1
6P6C
Phone Jack
Point-to-point
DTE Device
Signal GND
RXD RXD
TXD TXD
0V1
4
3
1
6
11
5 10 15
Connections on Port 2Connections on Port 1
DL06 Micro PLC User Manual; 3rd Edition, Rev. C 4–9
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Connecting to MODBUS and DirectNETNetworks
MODBUS Port ConfigurationIn DirectSOFT, choose the PLC menu, then Setup, then Secondary Comm Port.• Port: From the port number list box at the top, choose Port 2.
• Protocol: Check the box to the left of MODBUS (use AUX 56 on the HPP, and select MBUS),and then you’ll see the box below.
• Timeout: amount of time the port will wait after it sends a message to get a response before loggingan error.
• RTS ON / OFF Delay Time: The RTS ON Delay Time specifies the time the DL06 waits to sendthe data after it has raised the RTS signal line. The RTS OFF Delay Time specifies the time theDL06 waits to release the RTS signal line after the data has been sent. When using the DL06 on amulti-drop network, the RTS ON Delay time must be set to 5ms or more and the RTS OFF Delay timemust be set to 2ms or more. If you encounter problems, the time can be increased.
• Station Number: For making the CPU port a MODBUS master, choose 1. The possible range forMODBUS slave numbers is from 1 to 247, but the DL06 network instructions used in Mastermode will access only slaves 1 to 99. Each slave must have a unique number. At powerup, the portis automatically a slave, unless and until the DL06 executes ladder logic network instructions whichuse the port as a master. Thereafter, the port reverts back to slave mode until ladder logic uses theport again.
• Baud Rate: The available baud rates include 300, 600, 1200, 2400, 4800, 9600, 19200, and 38400baud. Choose a higher baud rate initially, reverting to lower baud rates if you experience data errorsor noise problems on the network. Important: You must configure the baud rates of all devices onthe 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.
• Parity: Choose none, even, or odd parity for error checking.
•Echo Suppression: Select the appropriate wiring configuration used on Port 2.
Then click the button indicated to send the Port configuration to the CPU, and clickClose.
DDiirreeccttNET Port ConfigurationIn DirectSOFT, choose the PLC menu, then Setup, then Secondary Comm Port.• Port: From the port number list box, choose Port 2 .
• Protocol: Check the box to the left of DirectNET (use AUX 56 on the HPP, then select DNET),and then you’ll see the dialog below.
• Timeout: Amount of time the port will wait after it sends a message to get a response before loggingan error.
• RTS ON / OFF Delay Time: The RTS ON Delay Time specifies the time the DL06 waits to sendthe data after it has raised the RTS signal line. The RTS OFF Delay Time specifies the time theDL06 waits to release the RTS signal line after the data has been sent. When using the DL06 on amulti-drop network, the RTS ON Delay time must be set to 5ms or more and the RTS OFF Delay timemust be set to 2ms or more. If you encounter problems, the time can be increased.
• Station Number: For making the CPU port a DirectNET master, choose 1. The allowable range forDirectNET slaves is from 1 to 90 (each slave must have a unique number). At powerup, the port isautomatically a slave, unless and until the DL06 executes ladder logic instructions which attempt touse the port as a master. Thereafter, the port reverts back to slave mode until ladder logic uses theport again.
• Baud Rate: The available baud rates include 300, 600, 1200, 2400, 4800, 9600, 19200, and 38400baud. Choose a higher baud rate initially, reverting to lower baud rates if you experience data errorsor noise problems on the network. Important: You must configure the baud rates of all devices onthe network to the same value.
• Stop Bits: Choose 1 or 2 stop bits for use in the protocol.
• Parity: Choose none, even, or odd parity for error checking.
• Format: Choose between hex or ASCII formats.
Then click the button indicated to send the Port configuration to the CPU, and clickClose.
DL06 Micro PLC User Manual; 3rd Edition, Rev. C4–10
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DL06 Micro PLC User Manual; 3rd Edition, Rev. C 4–11
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Non–Sequence Protocol (ASCII In/Out and PRINT)
Non-Sequence Port ConfigurationConfiguring port 2 on the DL06 for Non–Sequence allows the CPU to use port 2 to eitherread or write raw ASCII strings using the ASCII instructions. See the ASCII In/Outinstructions and the PRINT instruction in chapter 5.
In DirectSOFT, choose the PLC menu, then Setup, then Secondary Comm Port.• Port: From the port number list box at the top, choose Port 2.
• Protocol: Check the box to the left of Non–Sequence.
• Timeout: Amount of time the port will wait after itsends a message to get a response before logging anerror.
• RTS On Delay Time: The amount of time betweenraising the RTS line and sending the data.
• RTS Off Delay Time: The amount of time betweenresetting the RTS line after sending the data.
• Data Bits: Select either 7–bits or 8–bits to match thenumber of data bits specified for the connected devices.
• 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 lowerbaud rates if you experience data errors or noise problems on the network. Important: You mustconfigure the baud rates of all devices on the network to the same value. Refer to the appropriateproduct manual for details.
• Stop Bits: Choose 1 or 2 stop bits to match the number of stop bits specified for the connecteddevices.
• Parity: Choose none, even, or odd parity for error checking. Be sure to match the parity specified forthe connected devices.
• Echo Suppression: Select the appropriate radio button based on the wiring configuration used onport 2.
• Xon/Xoff Flow Control: When this function is enabled, the PLC will send data (PRINT command)until it receives a XOFF (0x13) Pause transmission command. It will continue to wait until it thensees a XON (0x11) Resume transmission command. This selection is only available when the "Non-Sequence(ASCII)" option has been selected and only functions when the PLC is sending data (notreceiving with AIN command).
• RTS Flow Control: When this function is enabled, the PLC will assert the RTS signal(s) of the portand wait to see the CTS signal(s) go true before sending data (PRINT command). This selection isonly available when the "Non-Sequence(ASCII)" option has been selected and only functions whenthe PLC is sending data (not receiving with AIN command).
Click the button indicated to send the port configuration to the CPU, and click Close.
• Memory Address: Starting V-memory address for ASCII IN data storage, 128 byte maximum (seeAIN instruction).
Network SlaveOperationThis section describes how other devices on a network can communicate with a CPU portthat you have configured as a DirectNET slave or MODBUS slave (DL06). A MODBUShost must use the MODBUS RTU protocol to communicate with the DL06 as a slave. Thehost software must send a MODBUS function code and MODBUS address to specify a PLCmemory location the DL06 comprehends. The DirectNET host uses normal I/O addresses toaccess applicable DL06 CPU and system. No CPU ladder logic is required to support eitherMODBUS slave or DirectNET slave operation.
NOTE: For more information on DirectNET proprietary protocol, see the DirectNET referencemanual, DA-DNET-M, available on our website.
MODBUS Function Codes Supported
The MODBUS function code determines whether the access is a read or a write, and whetherto access a single data point or a group of them. The DL06 supports the MODBUS functioncodes described below.
Determining the MODBUS AddressThere are typically two ways that most host software conventions allow you to specify a PLCmemory location. These are:• By specifying the MODBUS data type and address
• By specifying a MODBUS address only
DL06 Micro PLC User Manual; 3rd Edition, Rev. C4–12
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
MODBUS Function Code Function DL06 Data Types Available01 Read a group of coils Y, CR, T, CT02 Read a group of inputs X, SP05 Set / Reset a single coil Y, CR, T, CT15 Set / Reset a group of coils Y, CR, T, CT
03, 04 Read a value from one or more registers V06 Write a value into a single register V16 Write a value into a group of registers V
If Your Host Software Requires the Data Type and AddressMany host software packages allow you to specify the MODBUS data type and theMODBUS address that corresponds to the PLC memory location. This is the easiest method,but not all packages allow you to do it this way.
The actual equation used to calculate the address depends on the type of PLC data you areusing. The PLC memory types are split into two categories for this purpose.• Discrete – X, SP, Y, CR, S, T, C (contacts)
• Word – V, Timer current value, Counter current value
In either case, you basically convert the PLC octal address to decimal and add the appropriateMODBUS address (if required). The table below shows the exact equation used for eachgroup of data.
DL06 Micro PLC User Manual; 3rd Edition, Rev. C 4–13
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DL06 Memory Type QTY(Decimal)
PLC Range(Octal)
MODBUS AddressRange
(Decimal)MODBUS Data Type
For Discrete Data Types .... Convert PLC Addr. to Dec. + Start of Range + Data TypeInputs (X) 512 X0 – X777 2048 – 2559 Input
Special Relays(SP) 512 SP0 – SP777 3072 – 3583 InputOutputs (Y) 512 Y0 – Y777 2048 – 2559 Coil
Control Relays (CR) 1024 C0 – C1777 3072 – 4095 CoilTimer Contacts (T) 256 T0 – T377 6144 – 6399 Coil
Counter Contacts (CT) 128 CT0 – CT177 6400 – 6527 CoilStage Status Bits(S) 1024 S0 – S1777 5120 – 6143 Coil
For Word Data Types .... Convert PLC Addr. to Dec. + Data TypeTimer Current Values (V) 256 V0 – V377 0 – 255 Input RegisterCounter Current Values (V) 128 V1000 – V1177 512 – 639 Input Register
V-Memory, user data (V) 3200 V1200 – V7377 640 – 3839 Holding Register4096 V10000 - V17777 4096 - 8191 Holding Register
V-Memory, non-volatile (V) 128 V7400 – V7577 3840 – 3967 Holding Register
DL06 Micro PLC User Manual; 3rd Edition, Rev. C4–14
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
The following examples show how to generate the MODBUS address and data type for hostswhich require this format.
Example 1: V2100Find the MODBUS address for User V location V2100.1. Find V-memory in the table.
2. Convert V2100 into decimal (1088).
3. Use the MODBUS data type from the table.
Example 2: Y20Find the MODBUS address for output Y20.1. Find Y outputs in the table.
2. Convert Y20 into decimal (16).
3. Add the starting address for the range (2048).
4. Use the MODBUS data type from the table.
Example 3: T10 Current ValueFind the MODBUS address to obtain the current value from Timer T10.1. Find Timer Current Values in the table.
2. Convert T10 into decimal (8).
3. Use the MODBUS data type from the table.
Example 4: C54Find the MODBUS address for Control Relay C54.1. Find Control Relays in the table.
2. Convert C54 into decimal (44).
3. Add the starting address for the range (3072).
4. Use the MODBUS data type from the table.
V-memory, user data (V) 3200 V1200 – V7377 640 – 3839 Holding Register
Control Relays (CR) 512 C0 – C77 3072 – 3583 Coil
Outputs (V) 256 Y0 – Y377 2048 - 2303 Coil
Timer Current Values (V) 128 V0 – V177 0 - 127 Input Register
Coil 2064
Coil 3116
Holding Reg 1088
Input Reg. 8
DL06 Micro PLC User Manual; 3rd Edition, Rev. C 4–15
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
If Your MODBUS Host Software Requires an Address ONLYSome host software does not allow you to specify the MODBUS data type and address.Instead, you specify an address only. This method requires another step to determine theaddress, but it’s still fairly simple. Basically, MODBUS also separates the data types by addressranges as well. So, this means an address alone can actually describe the type of data andlocation. This is often referred to as “adding the offset”. One important thing to remember isthat two different addressing modes may be available in your host software package. Theseare:• 484 Mode
• 584/984 Mode
We recommend that you use the 584/984 addressing mode if your host software allows youto choose. This is because the 584/984 mode allows access to a higher number of memorylocations within each data type. If your software only supports 484 mode, then there may besome PLC memory locations that will be unavailable. The actual equation used to calculatethe address depends on the type of PLC data you are using. The PLC memory types are splitinto two categories for this purpose.• Discrete – X, SP, Y, CR, S, T (contacts), C (contacts)
• Word – V, Timer current value, Counter current value
In either case, you basically convert the PLC octal address to decimal and add the appropriateMODBUS addresses (as required). The table below shows the exact equation used for eachgroup of data.
Discrete Data Types
DL06 Memory Type PLC Range(Octal)
Address (484Mode)
Address (584/984Mode)
MODBUS DataType
Global Inputs (GX)GX0-GX1746 1001 - 1999 10001 - 10999 InputGX1747-GX3777 --- 11000 - 12048 Input
Inputs (X) X0 – X1777 --- 12049 - 13072 InputSpecial Relays (SP) SP0 – SP777 --- 13073 - 13584 InputGlobal Outputs (GY) GY0 - GY3777 1 - 2048 1 - 2048 OutputOutputs (Y) Y0 – Y1777 2049 - 3072 2049 - 3072 OutputControl Relays (CR) C0 – C3777 3073 - 5120 3073 - 5120 OutputTimer Contacts (T) T0 – T377 6145 - 6400 6145 - 6400 OutputCounter Contacts (CT) CT0 – CT377 6401 - 6656 6401 - 6656 OutputStage Status Bits (S) S0 – S1777 5121 - 6144 5121 - 6144 Output
DL06 Micro PLC User Manual; 3rd Edition, Rev. C4–16
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Word Data Types
Registers PLC Range(Octal)
Input/Holding(484 Mode)*
Input/Holding(584/984 Mode)*
V-memory (Timers) V0 - V377 3001/4001 30001/40001V-memory (Counters) V1000 - V1177 3513/4513 30513/40513
V-memory (Data Words)
V1200 - V1377 3641/4641 30641/40641V1400 - V1746 3769/4769 30769/40769V1747 - V1777 --- 31000/41000V2000 - V7377 --- 41025V10000 - V17777 --- 44097
* MODBUS: Function 04
The DL05/06, DL250-1/260, DL350 and DL450 will support function 04, read inputregister (Address 30001). To use function 04, put the number 4 into the most significantposition (4xxx). Four digits must be entered for the instruction to work properly with thismode.
LDK101
LDK4128
LDAO4000
RX Y0
The Maximum constant possible is 4128. Thisis due to the 128 maximum number of Bytesthat the RX/WX instruction can allow. Thevalue of 4 in the most significant position of theword will cause the RX to use function 04(30001 range).
1. Refer to your PLC user manual for the correct memory mapping size of your PLC. Some ofthe addresses shown above might not pertain to your particular CPU.
2. For an automated MODBUS/Koyo address conversion utility, go to our website,www.automationdirect.com, and down load download the EXCEL filemodbus_conversion.xls located at: Tech Support > Technical Support Home page.
DL06 Micro PLC User Manual; 3rd Edition, Rev. C 4–17
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Example 1: V2100 584/984 ModeFind the MODBUS address for User V location V2100. PLC Address (Dec.) + Mode Address
1. Find V-memory in the table. V2100 = 1088 decimal
2. Convert V2100 into decimal (1088). 1088 + 40001 =
3. Add the MODBUS starting address for the
mode (40001).
Example 2: Y20 584/984 ModeFind the MODBUS address for output Y20. PLC Addr. (Dec.) + Start Address + Mode
1. Find Y outputs in the table. Y20 = 16 decimal
2. Convert Y20 into decimal (16). 16 + 2048 + 1 =
3. Add the starting address for the range (2048).
4. Add the MODBUS address for the mode (1).
Example 3: T10 Current Value 484 ModeFind the MODBUS address to obtain the PLC Address (Dec.) + Mode Addresscurrent value from Timer T10. TA10 = 8 decimal
1. Find Timer Current Values in the table. 8 + 3001 =
2. Convert T10 into decimal (8).
3. Add the MODBUS starting address for the mode (3001).
Example 4: C54 584/984 ModeFind the MODBUS address for Control Relay C54. PLC Addr. (Dec.) + Start Address + Mode
1. Find Control Relays in the table. C54 = 44 decimal
2. Convert C54 into decimal (44). 44 + 3072 + 1 =
3. Add the starting address for the range (3072).
4. Add the MODBUS address for the mode (1).
For Word Data Types.... PLC Address (Dec.) + Appropriate Mode Address
Timer Current Values (V) 128 V0 – V177 0 – 127 3001 30001 Input RegisterCounter Current Values (V) 128 V1200 – V7377 512 – 639 3001 30001 Input RegisterV-memory, user data (V) 1024 V2000 – V3777 1024 – 2047 4001 40001 Holding Register
For Word Data Types.... PLC Address (Dec.) + Appropriate Mode Address
Timer Current Values (V) 128 V0 – V177 0 – 127 3001 30001 Input RegisterCounter Current Values (V) 128 V1200 – V7377 512 – 639 3001 30001 Input RegisterV-memory, user data (V) 1024 V2000 – V3777 1024 – 2047 4001 40001 Holding Register
Outputs (Y) 320 Y0 - Y477 2048 - 2367 1 1 Coil Control Relays (CR) 256 C0 - C377 3072 - 3551 1 1 Coil Timer Contacts (T) 128 T0 - T177 6144 - 6271 1 1 Coil
Outputs (Y) 320 Y0 - Y477 2048 - 2367 1 1 Coil Control Relays (CR) 256 C0 - C377 3072 - 3551 1 1 Coil Timer Contacts (T) 128 T0 - T177 6144 - 6271 1 1 Coil
41089
2065
3009
3117
DL06 Micro PLC User Manual; 3rd Edition, Rev. C4–18
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Network Master OperationThis section describes how the DL06 can communicate on a MODBUS or DirectNETnetwork as a master. For MODBUS networks, it uses the MODBUS RTU protocol, whichmust be interpreted by all the slaves on the network. Both MODBUS and DirectNet aresingle master/multiple slave networks. The master is the only member of the network that caninitiate requests on the network. This section teaches you how to design the required ladderlogic for network master operation.
When using the DL06 PLC as the master station, simple RLL instructions are used to initiatethe requests. The WX instruction initiates network write operations, and the RX instructioninitiates network read operations. Before executing either the WX or RX commands, we willneed to load data related to the read or write operation onto the CPU’s accumulator stack.When the WX or RX instruction executes, it uses the information on the stack combinedwith data in the instruction box to completely define the task, which goes to the port.
The following step-by-step procedure will provide you the information necessary to set upyour ladder program to receive data from a network slave.
Slave #1 Slave #3
MasterMODBUS RTU Protocol, or DirectNET RTU Protocol, or DirectNET RTU Protocol, or DirectNET
Slave #2
LOGIC
Koyo
06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.
C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V
0V
N.C.
C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1
LGG
AC(L)
D0-06DR2.0AOUTPUT: 6-240V 50 - 60Hz 2.0A, 6 - 27V
INPUT: 12 - 24V 3 - 15mA
Y
X
40VA50-60HzPWR: 100-240V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
PORT1 PORT2
TERM
RUN STOP
PWR
RUN
CPU
TX1
RX1
TX2
RX2
Slave
Master
WX
(write)
RX (read)
Network
LOGIC
Koyo
06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.
C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V
0V
N.C.
C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1
LGG
AC(L)
D0-06DR2.0AOUTPUT: 6-240V 50 - 60Hz 2.0A, 6 - 27V
INPUT: 12 - 24V 3 - 15mA
Y
X
40VA50-60HzPWR: 100-240V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
PORT1 PORT2
TERM
RUN STOP
PWR
RUN
CPU
TX1
RX1
TX2
RX2
Step 1: Identify Master Port # and Slave #The first Load (LD) instruction identifies thecommunications port number on the networkmaster (DL06) and the address of the slavestation. This instruction can address up to 99MODBUS slaves, or 90 DirectNET slaves.The format of the word is shown to the right.The F2 in the upper byte indicates the use ofthe right port of the DL06 PLC, port number2. The lower byte contains the slave addressnumber in BCD (01 to 99).
Step 2: Load Number of Bytes to TransferThe second Load (LD) instruction determinesthe number of bytes which will be transferredbetween the master and slave in the subsequentWX or RX instruction. The value to be loadedis in BCD format (decimal), from 1 to 128bytes.
The number of bytes specified also depends on the type of data you want to obtain. Forexample, the DL06 Input points can be accessed by V-memory locations or as X inputlocations. However, if you only want X0 – X27, you’ll have to use the X input data typebecause the V-memory locations can only be accessed in 2-byte increments. The followingtable shows the byte ranges for the various types of DirectLOGIC products.
DL06 Micro PLC User Manual; 3rd Edition, Rev. C 4–19
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DL05 / 06 / 205 / 350 / 405 Memory Bits per unit BytesV-memory
T / C current value16 16
22
Inputs (X, SP) 8 1Outputs
(Y, C, Stage, T/C bits) 8 1
Scratch Pad Memory 8 1Diagnostic Status 8 1
DL330 / 340 Memory Bits per unit BytesData registersT / C accumulator
8 16
12
I/O, internal relays, shift register bits, T/Cbits, stage bits 1 1
Scratch Pad Memory 8 1Diagnostic Status(5 word R/W) 16 10
2 0 1F
Internal port (hex)
Port number (BCD)Slave address (BCD)
LDKF201
6 4 (BCD)
# of bytes to transfer
LDK64
DL06 Micro PLC User Manual; 3rd Edition, Rev. C4–20
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Step 3: Specify Master Memory AreaThe third instruction in the RX or WX sequence is aLoad Address (LDA) instruction. Its purpose is toload the starting address of the memory area to betransferred. Entered as an octal number, the LDAinstruction converts it to hex and places the result inthe accumulator.
For a WX instruction, the DL06 CPU sends thenumber of bytes previously specified from its memoryarea beginning at the LDA address specified.
For an RX instruction, the DL06 CPU reads thenumber of bytes previously specified from the slave,placing the received data into its memory areabeginning at the LDA address specified.
NOTE: Since V-memory words are always 16 bits, you may not always use the whole word. Forexample, if you only specify 3 bytes and you are reading Y outputs from the slave, you will only get24 bits of data. In this case, only the 8 least significant bits of the last word location will be modified.The remaining 8 bits are not affected.
Step 4: Specify Slave Memory AreaThe last instruction in our sequence is the WX or RXinstruction itself. Use WX to write to the slave, and RXto read from the slave. All four of our instructions areshown to the right. In the last instruction, you mustspecify the starting address and a valid data type for theslave.• DirectNET slaves – specify the same address in the WXand RX instruction as the slave’s native I/O address
• MODBUS DL405, DL205, or DL06 slaves – specify thesame address in the WX and RX instruction as the slave’snative I/O address
• MODBUS 305 slaves – use the following table to convertDL305 addresses to MODBUS addresses
6 0 00 (octal)
LDAO40600
4
Starting address of master transfer area
V40600MSB LSB
015V40601MSB LSB
015
DL305 Series CPU Memory Type–to–MODBUS Cross Reference (excluding 350 CPU)
PLC Memory Type PLC BaseAddress
MODBUS Base Address
PLC MemoryType
PLC BaseAddress
MODBUS Base Address
TMR/CNT Current Values R600 V0 TMR/CNT StatusBits CT600 GY600
I/O Points IO 000 GY0 Control Relays CR160 GY160Data Registers R401,R400 V100 Shift Registers SR400 GY400
Stage Status Bits (D3-330P only) S0 GY200
LDKF201
LDK64
LDAO40600
RX
SP116
Y0
DL06 Micro PLC User Manual; 3rd Edition, Rev. C 4–21
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Communications from a Ladder ProgramTypically network communicationswill last longer than 1 scan. Theprogram must wait for thecommunications to finish beforestarting the next transaction.
Port 2, which can be a master, has twoSpecial Relay contacts associated withit (see Appendix D for comm portspecial relays).One indicates “Portbusy”(SP116), and the other indicates“Port Communication Error”(SP117). The example above showsthe use of these contacts for a network master that only reads a device (RX). The “Port Busy“bit is on while the PLC communicates with the slave. When the bit is off the program caninitiate the next network request.
The “Port Communication Error” bit turns on when thePLC has detected an error. Use of this bit is optional.When used, it should be ahead of any network instructionboxes since the error bit is reset when an RX or WXinstruction is executed.
Multiple Read and Write InterlocksIf you are using multiple reads and writes in the RLLprogram, you have to interlock the routines to make sureall the routines are executed. If you don’t use theinterlocks, then the CPU will only execute the firstroutine. This is because each port can only handle onetransaction at a time.
In the example to the right, after the RX instruction isexecuted, C100 is set. When the port has finished thecommunication task, the second routine is executed andC100 is reset.
If you’re using RLLPLUS Stage Programming, you can puteach routine in a separate program stage to ensure properexecution and switch from stage to stage allowing only oneof them to be active at a time.
Port Communication Error
LDKF201
LDK0003
LDAO40600
RXY0
SP116
Port Busy
SP117
SETY1
Interlocking Relay
LDKF201
LDK0003
LDAO40600
RXVY0
SP116
SETC100
C100
LDKF201
LDK0003
LDAO40400
WXVY0
SP116
RSTC100
C100
InterlockingRelay
Network Master Operation (using MRX and MWXInstructions)
This section describes how the DL06 can communicate on a MODBUS RTU network as amaster using the MRX and MWX read/write instructions. These instructions allow you toenter native MODBUS addressing in your ladder logic program with no need to performoctal to decimal conversions. MODBUS is a single master/multiple slave network. Themaster is the only member of the network that can initiate requests on the network. Thissection teaches you how to design the required ladder logic for network master operation.
MODBUS Function Codes SupportedThe MODBUS function code determines whether the access is a read or a write, and whetherto access a single data point or a group of them. The DL06 supports the MODBUS functioncodes described below.
DL06 Micro PLC User Manual; 3rd Edition, Rev. C4–22
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
MODBUS Function Code Function DL06 Data Types Available01 Read a group of coils Y, CR, T, CT02 Read a group of inputs X, SP05 Set / Reset a single coil (slave only) Y, CR, T, CT15 Set / Reset a group of coils Y, CR, T, CT
03, 04 Read a value from one or more registers V06 Write a value into a single register (slave only) V07 Read Exception Status V08 Diagnostics V16 Write a value into a group of registers V
Slave #1 Slave #3
MasterMODBUS RTU Protocol, or DirectNET RTU Protocol, or DirectNET RTU Protocol, or DirectNET
Slave #2
LOGIC
Koyo
06
C0 C4C2X1 X3 X4 X6 X11 X13 X14 X16 X21 X23 N.C.
C1 C3X2 X5 X7 X10 X12 X15 X17 X20 X22X0 N.C.
AC(N) 24V
0V
N.C.
C1 C3Y0 Y15Y12Y10 Y17Y7Y5Y2
C0 C2 Y16Y14Y13Y11Y6Y4Y3Y1
LGG
AC(L)
D0-06DR2.0AOUTPUT: 6-240V 50 - 60Hz 2.0A, 6 - 27V
INPUT: 12 - 24V 3 - 15mA
Y
X
40VA50-60HzPWR: 100-240V
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23
PORT1 PORT2
TERM
RUN STOP
PWR
RUN
CPU
TX1
RX1
TX2
RX2
MODBUS Read from Network(MRX)The MODBUS Read from Network (MRX) instruction is used by the DL06 network masterto read a block of data from a connected slave device and to write the data into V–memoryaddresses within the master. The instruction allows the user the to specify the MODBUSFunction Code, slave station address, starting master and slave memory addresses, number ofelements to transfer, MODBUS data format and the Exception Response Buffer.
• Port Number: must be DL06 Port 2 (K2)
• Slave Address: specify a slave station address (0–247)
• Function Code: The following MODBUS function codes are supported by the MRXinstruction:
01 – Read a group of coils
02 – Read a group of inputs
03 – Read holding registers
04 – Read input registers
07 – Read Exception status
08 – Diagnostics
• Start Slave Memory Address: specifies the starting slave memory address of the data to beread. See the table on the following page.
• Start Master Memory Address: specifies the starting memory address in the master wherethe data will be placed. See the table on the following page.
• Number of Elements: specifies how many coils, input, holding registers or input registerwill be read. See the table on the following page.
• MODBUS Data Format: specifies MODBUS 584/984 or 484 data format to be used
• Exception Response Buffer: specifies the master memory address where the ExceptionResponse will be placed. See the table on the following page.
DL06 Micro PLC User Manual; 3rd Edition, Rev. C 4–23
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
MRX Slave Memory Address
MRX Master Memory Addresses
MRX Number of Elements
MRX Exception Response Buffer
DL06 Micro PLC User Manual; 3rd Edition, Rev. C4–24
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
MRX Slave Address RangesFunction Code MODBUS Data Format Slave Address Range(s)01 – Read Coil 484 Mode 1–99901 – Read Coil 584/984 Mode 1–6553502 – Read Input Status 484 Mode 1001–1999
02 – Read Input Status 584/984 Mode 10001–19999 (5 digit) or 100001–165535(6 digit)
03 – Read Holding Register 484 Mode 4001–4999
03 – Read Holding Register 584/984 40001–49999 (5 digit) or 4000001–465535(6 digit)
04 – Read Input Register 484 Mode 3001–3999
04 – Read Input Register 584/984 Mode 30001–39999 (5 digit) or 3000001–365535(6 digit)
07 – Read Exception Status 484 and 584/984 Mode n/a08 – Diagnostics 484 and 584/984 Mode 0–65535
MRX Master Memory Address RangesOperand Data Type DL06 Range
Inputs X 0–1777Outputs Y 0–1777Control Relays C 0–3777Stage Bits S 0–1777Timer Bits T 0–377Counter Bits CT 0–377Special Relays SP 0–777V–memory V All Global Inputs GX 0–3777Global Outputs GY 0–3777
Number of ElementsOperand Data Type DL06 RangeV–memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . V All Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 1–2000
Exception Response BufferOperand Data Type DL06 Range
V–memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . V All
MODBUS Write to Network (MWX)The MODBUS Write to Network (MWX) instruction is used to write a block of data fromthe network masters’s (DL06) memory to MODBUS memory addresses within a slave deviceon the network. The instruction allows the user to specify the MODBUS Function Code,slave station address, starting master and slave memory addresses, number of elements totransfer, MODBUS data format and the Exception Response Buffer.
• Port Number: must be DL06 Port 2 (K2)
• Slave Address: specify a slave station address (0–247)
• Function Code: The following MODBUS function codes are supported by the MWXinstruction:
05 – Force Single coil
06 – Preset Single Register
08 – Diagnostics
15 – Force Multiple Coils
16 – Preset Multiple Registers
• Start Slave Memory Address: specifies the starting slave memory address where the data willbe written.
• Start Master Memory Address: specifies the starting address of the data in the master that isto written to the slave.
• Number of Elements: specifies how many consecutive coils or registers will be written to.This field is only active when either function code 15 or 16 is selected.
• MODBUS Data Format: specifies MODBUS 584/984 or 484 data format to be used.
• Exception Response Buffer: specifies the master memory address where the ExceptionResponse will be placed.
DL06 Micro PLC User Manual; 3rd Edition, Rev. C 4–25
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
MWX Slave Memory Address
MWX Master Memory Addresses
MWX Number of Elements
MWX Exception Response Buffer
DL06 Micro PLC User Manual; 3rd Edition, Rev. C4–26
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Chapter 4: CPU Specifications and Operation
MWX Slave Address RangesFunction Code MODBUS Data Format Slave Address Range(s)
05 – Force Single Coil 484 Mode 1–99905 – Force Single Coil 584/984 Mode 1–6553506 – Preset Single Register 484 Mode 4001–4999
06 – Preset Single Register 84/984 Mode 40001–49999 (5 digit) or400001–465535 (6 digit)
08 – Diagnostics 484 and 584/984 Mode 0–6553515 – Force Multiple Coils 484 1–99915 – Force Multiple Coils 585/984 Mode 1–6553516 – Preset Multiple Registers 484 Mode 4001–4999
16 – Preset Multiple Registers 584/984 Mode 40001–49999 (5 digit) or4000001–465535 (6 digit)
Number of ElementsOperand Data Type DL06 Range
V–memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V All Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 1–2000
Exception Response BufferOperand Data Type DL06 RangeV–memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V All
MRX Master Memory Address RangesOperand Data Type DL06 Range
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–777Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0–777Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . C 0–1777Stage Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 0–1777Timer Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0–377Counter Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CT 0–177Special Relays. . . . . . . . . . . . . . . . . . . . . . . . . . . . SP 0–777V–memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V All Global Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . GX 0–3777Global Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . GY 0–3777
DL06 Micro PLC User Manual; 3rd Edition, Rev. C4–27
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
MRX/MWX Example in DDiirreeccttSOFTDL06 port 2 has two Special Relay contacts associated with it (see Appendix D for commport special relays). One indicates “Port busy” (SP116), and the other indicates “PortCommunication Error” (SP117). The “Port Busy” bit is on while the PLC communicateswith the slave. When the bit is off the program can initiate the next network request. The“Port Communication Error” bit turns on when the PLC has detected an error and use ofthis bit is optional. When used, it should be ahead of any network instruction boxes since theerror bit is reset when an MRX or MWX instruction is executed. Typically networkcommunications will last longer than 1 CPU scan. The program must wait for thecommunications to finish before starting the next transaction.
The “Port Communication Error” bit turns on when the PLC has detected an error. Use ofthis bit is optional. When used, it should be ahead of any network instruction boxes since theerror bit is reset when an RX or WX instruction is executed.
Multiple Read and Write InterlocksIf you are using multiple reads and writes in the RLL program, you have to interlock theroutines to make sure all the routines are executed. If you don’t use the interlocks, then theCPU will only execute the first routine. This is because each port can only handle onetransaction at a time. In the example below, after the MRX instruction is executed, C100 isset. When the port has finished the communication task, the second routine is executed andC100 is reset. If you’re using RLLPLUS Stage Programming, you can put each routine in aseparate program stage to ensure proper execution and switch from stage to stage allowingonly one of them to be active at a time.
See example on the next page.
DL06 Micro PLC User Manual; 3rd Edition, Rev. C4–28
Chapter 4: System Design and Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
SP116 C100
SP116 C100
MWXPort Number: K2Slave Address: K1Function Code: 06 - Preset Single RegisterStart Slave Memory Address: 40001Start Master Memory Address: V2000Number of Elements: n/aModbus Data Type: 584/984 ModeException Response Buffer: V400
Instruction interlock bitC100
( SET )
( RST )C100
Instruction interlock bit
MRXPort Number: K2Slave Address: K1Function Code: 01 - Read Coil StatusStart Slave Memory Address: 1Start Master Memory Address: C0Number of Elements: 32Modbus Data Type: 584/984 ModeException Response Buffer: V400
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 usingmany network instructions on the same port, use the Shift Register instruction.
This rung does a MODBUS read from the first 32 coils of slave address number one.It will place the values into 32 bits of the master starting at C0.
3
4
Port 2 Busy bit Instruction Interlock bit
Port 2 Busy bit Instruction Interlock bit
Port 2 busy bitSP116
Port 2 error bit SP117
Pulse/Minute C20
CT1K9999
CNTNumber of errorsper minute
CT2K9999
SP116 pulses on every transaction - CT1 counts the transactions per minute.The counter is reset every minute.
SP117 pulses on every transaction - CT2 counts the errors per minute.The counter is reset every minute.
3
4
CNTNumber of transactions perminute
_1Minute SP3 C20
( PD )
C20
Calculation of communication transfer quantity per minute between PLC and device.
CTA1
LD
V3600
OUT
CTA2
LD
V3601
OUT
Transactions/Min
Errors/Minute
Pulse/Minute C20
1
2
Pulse/Minute
Pulse/Minute
STANDARD RLLINSTRUCTIONS 55
CHAPTERCHAPTER
5555CHAPTER
In This Chapter Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–2Using Boolean Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–5Boolean Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–10Comparative Boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–26Immediate Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–32Timer, Counter and Shift Register Instructions . . . . . . . . . . . . . . . .5–39Accumulator/Stack Load and Output Data Instructions . . . . . . . . .5–52Logical Instructions (Accumulator) . . . . . . . . . . . . . . . . . . . . . . . . .5–69Math Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–86Transcendental Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–118Bit Operation Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–120Number Conversion Instructions (Accumulator) . . . . . . . . . . . . . .5–127Table Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–141Clock/Calendar Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–171CPU Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–173Program Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–175Interrupt Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–183Message Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–186Intelligent I/O Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–194Network Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–196MODBUS RTU Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–204ASCII Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–210Intelligent Box (IBox) Instructions . . . . . . . . . . . . . . . . . . . . . . . .5–230
IntroductionDL06 Micro PLCs offer a wide variety of instructions to perform many different types ofoperations. This chapter shows you how to use each standard Relay Ladder Logic (RLL)instruction. In addition to these instructions, you may also need to refer to the Druminstruction in Chapter 6, the Stage programming instructions in Chapter 7, PID in Chapter8, LCD in Chapter 10 and programming for analog modules in D0-OPTIONS-M.
There are two ways to quickly find the instruction you need.• If you know the instruction category (Boolean, Comparative Boolean, etc.), just use the title at thetop of the page to find the pages that discuss the instructions in that category.
• If you know the individual instruction name, use the following table to find the page(s) thatdiscusses the instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–2
Chapter 5: Standard RLL Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Accumulating Fast Timer (TMRAF) 5–42
Accumulating Timer (TMRA) 5–42
Add (ADD) 5–86
Add Binary (ADDB) 5–99
Add Binary Double (ADDBD) 5–100
Add Binary Top of Stack (ADDBS) 5–114
Add Double (ADDD) 5–87
Add Formatted (ADDF) 5–106
Add Real (ADDR) 5–88
Add to Top (ATT) 5–162
Add Top of Stack (ADDS) 5–110
And (AND) 5–14
And Bit-of-Word (AND) 5–15
And (AND) 5–31
AND (AND logical) 5–69
And Double (ANDD) 5–70
And Formatted (ANDF) 5–71
And If Equal (ANDE) 5–28
And If Not Equal (ANDNE) 5–28
And Immediate (ANDI) 5–33
AND Move (ANDMOV) 5–167
And Negative Differential (ANDND) 5–22
And Not (ANDN) 5–14
And Not Bit-of-Word (ANDN) 5–15
And Not (ANDN) 5–31
And Not Immediate (ANDNI) 5–33
And Positive Differential (ANDPD) 5–22
And Store (AND STR) 5–16
And with Stack (ANDS) 5–72
Arc Cosine Real (ACOSR) 5–119
Arc Sine Real (ASINR) 5–118
Arc Tangent Real (ATANR) 5–119
ASCII Clear Buffer (ACRB) 5–228
ASCII Compare (CMPV) 5–220
ASCII Constant (ACON) 5–187
ASCII Extract (AEX) 5–219
ASCII Find (AFIND) 5–216
ASCII Input (AIN) 5–212
ASCII Print from V–memory (PRINTV) 5–226
ASCII Print to V–memory (VPRINT) 5–221
ASCII Swap Bytes (SWAPB) 5–227
ASCII to HEX (ATH) 5–134
Binary (BIN) 5–127
Binary Coded Decimal (BCD) 5–128
Binary to Real Conversion (BTOR) 5–131
Compare (CMP) 5–81
Compare Double (CMPD) 5–82
Compare Formatted (CMPF) 5–83
Compare Real Number (CMPR) 5–85
Compare with Stack (CMPS) 5–84
Cosine Real (COSR) 5–118
Counter (CNT) 5–45
Data Label (DLBL) 5–187
Date (DATE) 5–171
Instruction Page Instruction Page
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–3
Chapter 5: Standard RLL Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Decode (DECO) 5–126
Decrement (DEC) 5–98
Decrement Binary (DECB) 5–105
Degree Real Conversion (DEGR) 5–133
Disable Interrupts (DISI) 5–184
Divide (DIV) 5–95
Divide Binary (DIVB) 5–104
Divide Binary by Top OF Stack (DIVBS) 5–117
Divide by Top of Stack (DIVS) 5–113
Divide Double (DIVD) 5–96
Divide Formatted (DIVF) 5–109
Divide Real (DIVR) 5–97
Enable Interrupts (ENI) 5–183
Encode (ENCO) 5–125
End (END) 5–173
Exclusive Or (XOR) 5–77
Exclusive Or Double (XORD) 5–78
Exclusive Or Formatted (XORF) 5–79
Exclusive OR Move (XORMOV) 5–167
Exclusive Or with Stack (XORS) 5–80
Fault (FAULT) 5–186
Fill (FILL) 5–146
Find (FIND) 5–147
Find Block (FINDB) 5–169
Find Greater Than (FDGT) 5–148
For / Next (FOR) (NEXT) 5–176
Goto Label (GOTO) (LBL) 5–175
Goto Subroutine (GTS) (SBR) 5–178
Gray Code (GRAY) 5–138
HEX to ASCII (HTA) 5–135
Increment (INC) 5–98
Increment Binary (INCB) 5–105
Interrupt (INT) 5–183
Interrupt Return (IRT) 5–183
Interrupt Return Conditional (IRTC) 5–183
Invert (INV) 5–129
LCD 5–200
Load (LD) 5–57
Load Accumulator Indexed (LDX) 5–61
Load Accumulator Indexed from Data Constants (LDSX) 5–62
Load Address (LDA) 5–60
Load Double (LDD) 5–58
Load Formatted (LDF) 5–59
Load Immediate (LDI) 5–37
Load Immediate Formatted (LDIF) 5–38
Load Label (LDLBL) 5–142
Load Real Number (LDR) 5–63
Master Line Reset (MLR) 5–181
Master Line Set (MLS) 5–181
MODBUS Read from Network (MRX) 5–204
MODBUS Write to Network (MWX) 5–207
Move Block (MOVBLK) 5-189
Move (MOV) 5–141
Move Memory Cartridge (MOVMC) 5–142
Multiply (MUL) 5–92
Multiply Binary (MULB) 5–103
Multiply Binary Top of Stack (MULBS) 5–116
Multiply Double (MULD) 5–93
Multiply Formatted (MULF) 5–108
Multiply Real (MULR) 5–94
Multiply Top of Stack (MULS) 5–112
No Operation (NOP) 5–173
Not (NOT) 5–19
Numerical Constant (NCON) 5–187
Or (OR) 5–12
Or (OR) 5–30
Or (OR logical) 5–73
Or Bit-of-Word (OR) 5–13
Or Double (ORD) 5–74
Or Formatted (ORF) 5–75
Or If Equal (ORE) 5–27
Or If Not Equal (ORNE) 5–27
Or Immediate (ORI) 5–32
OR Move (ORMOV) 5–167
Or Negative Differential (ORND) 5–21
Or Not (ORN) 5–12
Or Not (ORN) 5–30
Or Not Bit-of-Word (ORN) 5–13
Instruction Page Instruction Page
Or Not Immediate (ORNI) 5–32
Or Out (OROUT) 5–17
Or Out Immediate (OROUTI) 5–34
Or Positive Differential (ORPD) 5–21
Or Store (ORSTR) 5–16
Or with Stack (ORS) 5–76
Out (OUT) 5–17
Out Bit-of-Word (OUT) 5–18
Out (OUT) 5–64
Out Double (OUTD) 5–64
Out Formatted (OUTF) 5–65
Out Immediate (OUTI) 5–34
Out Immediate Formatted (OUTIF) 5–35
Out Indexed (OUTX) 5–67
Out Least (OUTL) 5–68
Out Most (OUTM) 5–68
Pause (PAUSE) 5–25
Pop (POP) 5–65
Positive Differential (PD) 5–19
Print Message (PRINT) 5–190
Radian Real Conversion (RADR) 5–133
Read from Intelligent I/O Module (RD) 5-194
Read from Network (RX) 5–196
Real to Binary Conversion (RTOB) 5–132
Remove from Bottom (RFB) 5–153
Remove from Table (RFT) 5–159
Reset (RST) 5–23
Reset Bit-of-Word (RST) 5–24
Reset Immediate (RSTI) 5–36
Reset Watch Dog Timer (RSTWT) 5–174
Rotate Left (ROTL) 5–123
Rotate Right (ROTR) 5–124
RSTBIT 5–144
Segment (SEG) 5–137
Set (SET) 5–23
Set Bit-of-Word (SET) 5–24
Set Immediate (SETI) 5–36
SETBIT 5–144
Shift Left (SHFL) 5–121
Shift Register (SR) 5–51
Shift Right (SHFR) 5–122
Shuffle Digits (SFLDGT) 5–139
Sine Real (SINR) 5–118
Source to Table (STT) 5–156
Square Root Real (SQRTR) 5–119
Stage Counter (SGCNT) 5–47
Stop (STOP) 5–173
Store (STR) 5–10
Store (STR) 5–29
Store Bit-of-Word (STRB) 5–11
Store If Equal (STRE) 5–26
Store If Not Equal (STRNE) 5–26
Store Immediate (STRI) 5–32
Store Negative Differential (STRND) 5–20
Store Not (STRN) 5–29
Store Not (STRN) 5–10
Store Not Bit-of-Word (STRNB) 5–11
Store Not Immediate (STRNI) 5–32
Store Positive Differential (STRPD) 5–20
Subroutine Return (RT) 5–178
Subroutine Return Conditional (RTC) 5–178
Subtract (SUB) 5–89
Subtract Binary (SUBB) 5–101
Subtract Binary Double (SUBBD) 5–102
Subtract Binary Top of Stack (SUBBS) 5–115
Subtract Double (SUBD) 5–90
Subtract Formatted (SUBF) 5–107
Subtract Real (SUBR) 5–91
Subtract Top of Stack (SUBS) 5–111
Sum (SUM) 5–120
Swap (SWAP) 5–170
Table Shift Left (TSHFL) 5–165
Table Shift Right (TSHFR) 5–165
Table to Destination (TTD) 5–150
Tangent Real (TANR) 5–118
Ten’s Complement (BCDCPL) 5–130
Time (TIME) 5–172
Timer (TMR) and Timer Fast (TMRF) 5–40
Up Down Counter (UDC) 5–49
Write to Intelligent I/O Module (WT) 5-195
Write to Network (WX) 5–198
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–4
Chapter 5: Standard RLL Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Instruction Page Instruction Page
Using Boolean InstructionsDo you ever wonder why so many PLC manufacturers always quote the scan time for a 1KBoolean program? Simple. Most programs utilize many Boolean instructions. These aretypically very simple instructions designed to join input and output contacts in various seriesand parallel combinations. Our DirectSOFT software is a similar program. It uses graphicsymbols to develop a program; therefore, you don't necessarily have to know the instructionmnemonics in order to develop your program.
Many of the instructions in this chapter are not program instructions used in DirectSOFT,but are implied. In other words, they are not actually keyboard commands, however, they canbe seen in a Mnemonic View of the program once the DirectSOFT program has beendeveloped and accepted (compiled). Each instruction listed in this chapter will have a smallchart to indicate how the instruction is used with DirectSOFT and the HPP.
The following paragraphs show how these instructions are used to build simple ladderprograms.
END StatementAll DL06 programs require an END statement as the last instruction. This tells the CPU thatthis is the end of the program. Normally, any instructions placed after the END statementwill not be executed. There are exceptions to this, such as interrupt routines, etc. This chapterwill discuss the instruction set in detail.
Simple RungsYou use a contact to start rungs that contain both contacts and coils. The boolean instructionthat does this is called a Store or, STR instruction. The output point is represented by theOutput or, OUT instruction. The following example shows how to enter a single contact anda single output coil.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–5
Chapter 5: Standard RLL Instructions - Boolean Instructions
OUT
Y0X0
END
Handheld Mnemonics
STR X0OUT Y0END
DirectSOFT32 Example
OUT
Y0X0
END
DirectSOFT32 Example
All programs must havean END statement
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Implied
HPP Used
DirectSOFT
DirectSOFT
Normally Closed ContactNormally closed contacts are also very common. This is accomplished with the Store Not, orSTRN instruction. The following example shows a simple rung with a normally closedcontact.
Contacts in SeriesUse the AND instruction to join two or more contacts in series. The following example showstwo contacts in series and a single output coil. The instructions used would be STR X0, ANDX1, followed by OUT Y0.
Midline OutputsSometimes, it is necessary to use midline outputs to get additional outputs that areconditional on other contacts. The following example shows how you can use the ANDinstruction to continue a rung with more conditional outputs.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–6
Chapter 5: Standard RLL Instructions - Boolean Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
OUT
Y0X0
END
X1
Direct SOFT32 Example Handheld Mnemonics
STR X0AND X1OUT Y0AND X2OUT Y1AND X3OUT Y2END
X2
OUT
Y1
X3
OUT
Y2
OUT
Y0X0
END
X1
Direct SOFT32 Example Handheld Mnemonics
STR X0AND X1OUT Y0END
OUT
Y0X0
END
DirectSOFT ExampleHandheld Mnemonics
STRN X0OUT Y0END
DirectSOFT
DirectSOFT
DirectSOFT
Parallel ElementsYou may also have to join contacts in parallel. The OR instruction allows you to do this. Thefollowing example shows two contacts in parallel and a single output coil. The instructionswould be STR X0, OR X1, followed by OUT Y0.
Joining Series Branches in ParallelQuite 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 networkconsisting of series elements joined in parallel.
Joining Parallel Branches in SeriesYou can also join one or more parallel branches in series. The And Store (ANDSTR)instruction allows this operation. The following example shows a simple network with contactbranches in series with parallel contacts.
Combination NetworksYou can combine the various types ofseries and parallel branches to solvealmost any application problem. Thefollowing example shows a simplecombination network.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–7
Chapter 5: Standard RLL Instructions - Boolean Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
OUT
Y0X0
END
X2
X3X1 X4
X5
X6
OUT
Y0X0
END
X1
X2
Direct SOFT32 Example Handheld Mnemonics
STR X0STR X1OR X2ANDSTROUT Y0END
OUT
Y0X0
END
X2
X1
X3
Direct SOFT32 Example Handheld Mnemonics
STR X0AND X1STR X2AND X3ORSTROUT Y0END
OUT
Y0X0
END
X1
Direct SOFT32 Example Handheld Mnemonics
STR X0OR X1OUT Y0END
DirectSOFT
DirectSOFT
DirectSOFT
Comparative BooleanSome PLC manufacturers make it really difficult to do a simple comparison of two numbers.Some of them require you to move the data all over the place before you can actually performthe comparison. The DL06 Micro PLCs provide Comparative Boolean instructions that allowyou to quickly and easily solve this problem. The Comparative Boolean provides evaluation oftwo BCD values using boolean contacts. The valid evaluations are: equal to, not equal to,equal to or greater than, and less than.
In the example, when the BCD value in V-memorylocation V1400 is equal to the constant value 1234, Y3will energize.
Boolean StackThere are limits to how many elements you can include in a rung. This is because the DL06PLCs use an 8-level boolean stack to evaluate the various logic elements. The boolean stack isa temporary storage area that solves the logic for the rung. Each time the program encountersa STR instruction, the instruction is placed on the top of the stack. Any other STRinstructions already on the boolean stack are pushed down a level. The ANDSTR, andORSTR instructions combine levels of the boolean stack when they are encountered. Anerror will occur during program compilation if the CPU encounters a rung that uses morethan the eight levels of the boolean stack.
The following example shows how the boolean stack is used to solve boolean logic.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–8
Chapter 5: Standard RLL Instructions - Boolean Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
X1 or (X2 AND X3)
STR X0 STR X1 STR X21 STR X0
2
3
4
1 STR X1
2 STR X0
3
4
1 STR X2 STR X1 2
3 STR X0
4
AND X31 X2 AND X3
2 STR X1
3 STR X0
4
ORSTR 1
2 STR X0
3
OUT
Y0X0 X1
X2 X3
X4
X5
STR
OR
AND
ORSTR
ANDSTR
OutputSTR
STR
AND
X4 AND {X1 or (X2 AND X3)}
AND X41
2 STR X0
3
NOT X5 OR X4 AND {X1 OR (X2 AND X3)} STR X0
ORNOT X51
2 3
ANDSTR XO AND (NOT X5 or X4) AND {X1 or (X2 AND X3)}
1
2
3
Y3OUT
V1400 K1234
Immediate BooleanThe DL06 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 nextI/O update occurs. The DL06 PLCs offer Immediate input and outputs which are specialboolean instructions that allow reading directly from inputs and writing directly to outputsduring the program execution portion of the CPU cycle. You may recall that this is normallydone during the input or output update portion of the CPU cycle. The immediateinstructions take longer to execute because the program execution is interrupted while theCPU reads or writes the I/O point. This function is not normally done until the read inputsor the write outputs portion of the CPU cycle.
NOTE: Even though the immediate input instruction reads the most current status from the inputpoint, it only uses the results to solve that one instruction. It does not use the new status to updatethe image register. Therefore, any regular instructions that follow will still use the image registervalues. Any immediate instructions that follow will access the I/O again to update the status. Theimmediate output instruction will write the status to the I/O and update the image register.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–9
Chapter 5: Standard RLL Instructions - Boolean Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
X0OFF
X1OFF
CPU Scan
Read Inputs
Diagnostics
Input Image Register,
The CPU reads the inputs from the localbase and stores the status in an inputimage register.
X0 Y0
X0X1X2...X11OFFOFFON...OFF
Solve the Application Program
Read Inputs from Specialty I/O
Write Outputs
Write Outputs to Specialty I/O
X0ON
X1OFF
I/O Point X0 Changes
I
PORT1 PORT2
TERM
RUN STOP
PWRRUNCPUTX1RX1TX2RX2
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
06LOGICKoyo
Immediate instruction does not use theinput image register, but instead readsthe status from the module immediately.
Boolean Instructions
Store (STR)The Store instruction begins a new rung or an additionalbranch in a rung with a normally open contact. Status ofthe contact will be the same state as the associated imageregister point or memory location.
Store Not (STRN)The Store Not instruction begins a new rung or anadditional branch in a rung with a normally closedcontact. Status of the contact will be opposite the state ofthe associated image register point or memory location.
In the following Store example, when input X1 is on, output Y2 will energize.
In the following Store Not example, when input X1 is off output Y2 will energize.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–10
Chapter 5: Standard RLL Instructions - Boolean Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Aaaa
Aaaa
STR$
1B ENT
OUTGX
2C ENT
Handheld Programmer KeystrokesDirect SOFT32
Y2
OUT
X1
STRNSP
1B ENT
OUTGX
2C ENT
Y2
OUT
X1
Handheld Programmer KeystrokesDirect SOFT32
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–777Outputs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0–777Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . C 0–1777Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 0–1777Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0–377Counter C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CT 0–177Special Relay . . . . . . . . . . . . . . . . . . . . . . . . . . SP 0–777
DS Used
HPP Used
DS Used
HPP Used
DirectSOFT
DirectSOFT
Store Bit-of-Word (STRB)The Store Bit-of-Word instruction begins a new rung or anadditional branch in a rung with a normally open contact.Status of the contact will be the same state as the bit referencedin the associated memory location.
Store Not Bit-of-Word (STRNB)The Store Not instruction begins a new rung or an additionalbranch in a rung with a normally closed contact. Status of thecontact will be opposite the state of the bit referenced in theassociated memory location.
These instructions look like the STR and STRN instructions only the address is different.Take note how the address is set up in the following Store Bit-of-Word example.
When bit 12 of V-memory location V1400 is on, output Y2 will energize.
In the following Store Not Bit-of-Word example, when bit 12 of V-memory location V1400is off, output Y2 will energize.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–11
Chapter 5: Standard RLL Instructions - Boolean Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Aaaa.bb
Aaaa.bb
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa bb
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B See memory map 0 to 15Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PB See memory map 0 to 15
Handheld Programmer Keystrokes
DirectSOFT32
Y2
OUT
B1400.12
STR V 1
OUT 2
SHFT 4 0 0
1 2 ENT
ENT
K
B
Y2
OUT
B1400.12
DirectSOFT32
OUT 2 ENT
Handheld Programmer Keystrokes
STRN V 1SHFT 4 0 0
1 2 ENTK
B
DS Used
HPP Used
DS Used
HPP Used
DirectSOFT
DirectSOFT
Or (OR)The Or instruction will logically OR a normally open contactin parallel with another contact in a rung. The status of thecontact will be the same state as the associated image registerpoint or memory location.
Or Not (ORN)The Or Not instruction will logically OR a normally closedcontact in parallel with another contact in a rung. The status ofthe contact will be opposite the state of the associated imageregister point or memory location.
In the following Or example, when input X1 or X2 is on, output Y5 will energize.
In the following Or Not example, when input X1 is on or X2 is off, output Y5 will energize.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–12
Chapter 5: Standard RLL Instructions - Boolean Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Aaaa
Aaaa
STR$
1B ENT
ORQ
2C ENT
OUTGX
5F ENT
Y5
OUT
X1
X2
Handheld Programmer KeystrokesDirect SOFT32
STR$
1B ENT
2C ENT
OUTGX
5F ENT
ORNR
X1 Y5
OUT
X2
Handheld Programmer KeystrokesDirect SOFT32
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0-777Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0-777Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . C 0–1777Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 0–1777Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0–377Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CT 0–177Special Relay . . . . . . . . . . . . . . . . . . . . . . . . . . SP 0-777
DS Implied
HPP Used
DS Implied
HPP Used
DirectSOFT
DirectSOFT
Or Bit-of-Word (OR)The Or Bit-of-Word instruction will logically OR anormally open contact in parallel with another contact ina rung. Status of the contact will be the same state as thebit referenced in the associated memory location.
Or Not Bit-of-Word (ORN)The Or Not Bit-of-Word instruction will logically OR anormally closed contact in parallel with another contactin a rung. Status of the contact will be opposite the stateof the bit referenced in the associated memory location.
In the following Or Bit-of-Word example, when input X1 or bit 7 of V1400 is on, output Y5will energize.
In the following Or Bit-of-Word example, when input X1 is on or bit 7 of V1400 is off,output Y7 will energize.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–13
Chapter 5: Standard RLL Instructions - Boolean Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Aaaa.bb
Aaaa.bb
Y7
OUT
X1
B1400.7
STR 1
Handheld Programmer Keystrokes
DirectSOFT32
OR V 1
OUT 7
SHFT 4 0 0
7
ENT
ENT
ENT
K
B
Y7
OUT
X1
STR 1
Handheld Programmer Keystrokes
DirectSOFT32
ORN V 1
OUT 7
4 0 0
7
B1400.7
ENT
ENT
ENT
K
SHFT B
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa bb
V-memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B See memory map 0 to 15Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PB See memory map 0 to 15
DS Implied
HPP Used
DS Implied
HPP Used
DirectSOFT
DirectSOFT
AND (AND)The AND instruction logically ands a normally opencontact in series with another contact in a rung. Thestatus of the contact will be the same state as theassociated image register point or memory location.
AND NOT (ANDN)The AND NOT instruction logically ands a normallyclosed contact in series with another contact in a rung.The status of the contact will be opposite the state ofthe associated image register point or memory location.
In the following And example, when input X1 and X2 are on output Y5 will energize.
In the following And Not example, when input X1 is on and X2 is off output Y5 willenergize.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–14
Chapter 5: Standard RLL Instructions - Boolean Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Aaaa
Aaaa
STR$
1B ENT
2C ENT
OUTGX
5F ENT
ANDV
Y5
OUT
X1 X2
Handheld Programmer KeystrokesDirect SOFT32
ANDNW
STR$
1B ENT
2C ENT
OUTGX
5F ENT
X1 Y5
OUT
X2
Handheld Programmer KeystrokesDirect SOFT32
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–777Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0–777Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . C 0–1777Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 0–1777Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0–377Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CT 0–177Special Relay . . . . . . . . . . . . . . . . . . . . . . . . . . SP 0–777
DS Implied
HPP Used
DS Implied
HPP Used
DirectSOFT
DirectSOFT
AND Bit-of-Word (AND)The And Bit-of-Word instruction logically ands anormally open contact in series with another contact in arung. The status of the contact will be the same state asthe bit referenced in the associated memory location.
AND Not Bit-of-Word (ANDN)The And Not Bit-of-Word instruction logically ands anormally closed contact in series with another contact in arung. The status of the contact will be opposite the stateof the bit referenced in the associated memory location.
In the following And Bit-of-Word example, when input X1 and bit 4 of V1400 is on outputY5 will energize.
In the following And Not Bit-of-Word example, when input X1 is on and bit 4 of V1400 isoff output Y5 will energize.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–15
Chapter 5: Standard RLL Instructions - Boolean Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Aaaa.bb
Aaaa.bb
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa bb
V-memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B See memory map 0 to 15Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PB See memory map 0 to 15
Y5
OUT
X1 B1400.4
DirectSOFT32
OUT 5 ENT
Handheld Programmer Keystrokes
V 1SHFT 4 0 0
4 ENTK
B
STR 1 ENT
AND
X1 Y5
OUT
B1400.4
DirectSOFT32
STR 1
Handheld Programmer Keystrokes
OUT 5
ANDN V 1SHFT 4 0 0
4 ENTK
B
ENT
ENT
DS Implied
HPP Used
DS Implied
HPP Used
DirectSOFT
DirectSOFT
And Store (ANDSTR)The And Store instruction logically ands twobranches of a rung in series. Both branches mustbegin with the Store instruction.
OR Store (ORSTR)The Or Store instruction logically ORs twobranches of a rung in parallel. Both branches mustbegin with the Store instruction.
In the following And Store example, the branchconsisting of contacts X2, X3, and X4 have been anded with the branch consisting of contactX1.
In the following Or Store example, the branch consisting of X1 and X2 have been ored withthe branch consisting of X3 and X4.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–16
Chapter 5: Standard RLL Instructions - Boolean Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
OUT
1 2
OUT
1
2
STR$
1B ENT
STR$ ENT
2C
ANDV ENT
3D
ORQ ENT
4E
ANDSTL ENT
OUTGX
5F ENT
Y5
OUT
X1 X2
X4
X3
Handheld Programmer KeystrokesDirect SOFT32
STR$
1B ENT
STR$ ENT
ANDV ENT
OUTGX
5F ENT
2C
3D
ANDV ENT
4E
ORSTM ENT
Y5
OUT
X1 X2
X3 X4
Handheld Programmer KeystrokesDirect SOFT32
DS Implied
HPP Used
DS Implied
HPP Used
DirectSOFT
DirectSOFT
Out (OUT)The Out instruction reflects the status of the rung (on/off ) andoutputs the discrete (on/off ) state to the specified image registerpoint or memory location.
Multiple Out instructions referencing the same discrete location should not be used sinceonly the last Out instruction in the program will control the physical output point. Instead,use the next instruction, the Or Out.
In the following Out example, when input X1 is on, output Y2 and Y5 will energize.
Or Out (OROUT)The Or Out instruction allows more than one rung of discretelogic to control a single output. Multiple Or Out instructionsreferencing the same output coil may be used, since all contactscontrolling the output are logically ORed together. If the statusof any rung is on, the output will also be on.
In the following example, when X1 or X4 is on, Y2 will energize.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–17
Chapter 5: Standard RLL Instructions - Boolean Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
AaaaOUT
STR$
1B ENT
STR$ ENT
4E
Y2
OR OUT
X1
Y2
OR OUT
X4
Handheld Programmer KeystrokesDirect SOFT32
INST#O
5F
3D ENT ENT
2C ENT
2C ENT
INST#O
5F
3D ENT ENT
A aaaOROUT
STR$
1B ENT
OUTGX
2C ENT
OUTGX ENT
5F
Y2
OUT
X1
Y5
OUT
Handheld Programmer KeystrokesDirect SOFT32
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–777Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0–777Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . C 0–1777
Operand Data Type DL06 RangeA aaa
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–777Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0-777Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . C 0–1777
DS Usied
HPP Used
DS Used
HPP Used
DirectSOFT
DirectSOFT
Out Bit-of-Word (OUT)The Out Bit-of-Word instruction reflects the status of the rung(on/off ) and outputs the discrete (on/off ) state to the specified bitin the referenced memory location. Multiple Out Bit-of-Wordinstructions referencing the same bit of the same word generallyshould not be used since only the last Out instruction in theprogram will control the status of the bit.
NOTE: If the Bit-of-Word is entered as V1400.3 in DirectSOFT, it will be converted to B1400.3. Bit-of-Word can also be entered as B1400.3.
In the following Out Bit-of-Word example, when input X1 is on, bit 3 of V1400 and bit 6 ofV1401 will turn on.
The following Out Bit-of-Word example contains two Out Bit-of-Word instructions usingthe same bit in the same memory word. The final state bit 3 of V1400 is ultimately controlledby the last rung of logic referencing it. X1 will override the logic state controlled by X0. Toavoid this situation, multiple outputs using the same location must not be used inprogramming.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–18
Chapter 5: Standard RLL Instructions - Boolean Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Aaaa.bbOUT
B1400.3
OUT
X1
B1401.6
OUT
DirectSOFT32
STR 1
Handheld Programmer Keystrokes
OUT V 1SHFT 4 0 0
3 ENTK
B
ENT
OUT V 1SHFT 4 0 1
6 ENTK
B
B1400.3
OUT
X0
B1400.3
OUT
X1
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa bb
V-memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B See memory map 0 to 15Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PB See memory map 0 to 15
DS Used
HPP Used
DirectSOFT
Not (NOT)The Not instruction inverts the status of the rungat the point of the instruction.
In the following example, when X1 is off, Y2 will energize. This is because the Notinstruction inverts the status of the rung at the Not instruction.
NOTE: DirectSOFT Release 1.1i and later supports the use of the NOT instruction. The above examplerung is merely intended to show the visual representation of the NOT instruction. The NOTinstruction can only be selected in DirectSOFT from the Instruction Browser. The rung cannot becreated or displayed in DirectSOFT versions earlier than 1.1i.
Positive Differential (PD)The Positive Differential instruction is typicallyknown as a one shot. When the input logicproduces an off to on transition, the output willenergize for one CPU scan.
In the following example, every time X1 makes an Off-to-On transition, C0 will energize forone scan.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–19
Chapter 5: Standard RLL Instructions - Boolean Instructions
Y2
OUT
X1
Handheld Programmer KeystrokesDirectSOFT32
STR$
1B ENT
SHFTTMR
NINST#O
MLRT ENT
OUTGX
2C ENT
A aaaPD
STR$
1B ENT
SHFTCV
P3
DSHFT0
A ENT
C0
PD
X1
Handheld Programmer KeystrokesDirectSOFT32
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–777Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0–777Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . C 0–1777
DS Used
HPP Used
DS Used
HPP Used
DirectSOFT
DirectSOFT
Store Positive Differential (STRPD)The Store Positive Differential instruction begins a new rungor an additional branch in a rung with a contact. The contactcloses for one CPU scan when the state of the associated imageregister point makes an Off-to-On transition. Thereafter, thecontact remains open until the next Off-to-On transition (the symbol inside the contactrepresents the transition). This function is sometimes called a “one-shot”. This contact will alsoclose on a program-to-run transition if it is within a retentative range.
Store Negative Differential (STRND)The Store Negative Differential instruction begins a new rungor an additional branch in a rung with a contact. The contactcloses for one CPU scan when the state of the associated imageregister point makes an On-to-Off transition. Thereafter, the contact remains open until thenext On-to-Off transition (the symbol inside the contact represents the transition).
NOTE: When using DirectSOFT, these instructions can only be entered from the Instruction Browser.
In the following example, each time X1 makes an Off-to-On transition, Y4 will energize forone scan.
In the following example, each time X1 makes an On-to-Off transition, Y4 will energize forone scan.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–20
Chapter 5: Standard RLL Instructions - Boolean Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Aaaa
Aaaa
Y4
OUT
DirectSOFT32
X1STR
$CV
P
ENTOUT
GX
3DSHFT
1B ENT
Handheld Programmer Keystrokes
4E
Y4
OUT
DirectSOFT32
X1STR
$TMR
N
ENTOUT
GX
3DSHFT
1B ENT
Handheld Programmer Keystrokes
4E
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–777Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0–777Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . C 0–1777Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 0–1777Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0–377Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CT 0–177
DS Used
HPP Used
DS Used
HPP Used
DirectSOFT
DirectSOFT
Or Positive Differential (ORPD)The Or Positive Differential instruction logically ors acontact in parallel with another contact in a rung. Thestatus of the contact will be open until the associatedimage register point makes an Off-to-On transition,closing it for one CPU scan. Thereafter, it remains openuntil another Off-to-On transition.
Or Negative Differential (ORND)The Or Negative Differential instruction logically ors acontact in parallel with another contact in a rung. Thestatus of the contact will be open until the associatedimage register point makes an On-to-Off transition,closing it for one CPU scan. Thereafter, it remains openuntil another On-to-Off transition.
In the following example, Y 5 will energize whenever X1 is on, or for one CPU scan when X2transitions from Off to On.
In the following example, Y 5 will energize whenever X1 is on, or for one CPU scan when X2transitions from On to Off.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–21
Chapter 5: Standard RLL Instructions - Boolean Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Aaaa
Aaaa
Y5
OUT
X1
DirectSOFT32
X2
STR$
CVP
ENTOUT
GX
3DSHFT
1B ENT
Handheld Programmer Keystrokes
5F
ORQ
2C ENT
X1 Y5
OUT
DirectSOFT32
X2
STR$
TMRN
ENTOUT
GX
3DSHFT
1B ENT
Handheld Programmer Keystrokes
5F
ORQ
2C ENT
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–777Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0–777Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . C 0–1777Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 0–1777Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0–377Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CT 0–177
DS Implied
HPP Used
DS Implied
HPP Used
DirectSOFT
DirectSOFT
And Positive Differential (ANDPD)The And Positive Differential instruction logically ands anormally open contact in series with another contact ina rung. The status of the contact will be open until theassociated image register point makes an Off-to-Ontransition, closing it for one CPU scan. Thereafter, itremains open until another Off-to-On transition.
And Negative Differential (ANDND)The And Negative Differential instruction logically andsa normally open contact in series with another contact ina rung.The status of the contact will be open until theassociated image register point makes an On-to-Offtransition, closing it for one CPU scan. Thereafter, itremains open until another On-to-Off transition.
In the following example, Y5 will energize for one CPU scan whenever X1 is on and X2transitions from Off to On.
In the following example, Y5 will energize for one CPU scan whenever X1 is on and X2transitions from On to Off.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–22
Chapter 5: Standard RLL Instructions - Boolean Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Aaaa
Aaaa
Y5
OUT
X1
DirectSOFT32
X2 STR$
CVP
ENTOUT
GX
3DSHFT
1B ENT
Handheld Programmer Keystrokes
5F
ORQ
2C ENT
X1 Y5
OUT
DirectSOFT32
X2STR
$
TMRN
ENTOUT
GX
3DSHFT
1B ENT
Handheld Programmer Keystrokes
5F
ORQ
2C ENT
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–777Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0–777Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . C 0–1777Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 0–1777Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0–377Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CT 0–177
DS Implied
HPP Used
DS Implied
HPP Used
DirectSOFT
DirectSOFT
Set (SET)The Set instruction sets or turns on an image registerpoint/memory location or a consecutive range ofimage register points/memory locations. Once thepoint/location is set it will remain on until it is resetusing the Reset instruction. It is not necessary for theinput controlling the Set instruction to remain on.
Reset (RST)The Reset instruction resets or turns off an imageregister point/memory location or a range of imageregisters points/memory locations. Once thepoint/location is reset, it is not necessary for the inputto remain on.
In the following example when X1 is on, Y2 through Y5 will energize.
In the following example when X1 is on, Y2 through Y5 will be reset or de–energized.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–23
Chapter 5: Standard RLL Instructions - Boolean Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
SET
X1 Y2 Y5
Handheld Programmer KeystrokesDirectSOFT32
STR$
1B ENT
SETX ENT
2C
5F
A aaaSET
aaa
Optional memory range
A aaaRST
aaa
Optional Memory range .
STR$
1B ENT
RSTS
2C
RST
X2 Y2 Y5
Handheld Programmer KeystrokesDirectSOFT32
ENT5
F
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–777Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0–777Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . C 0–1777Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 0–1777Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0–377Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CT 0–177
DS Used
HPP Used
DS Used
HPP Used
DirectSOFT
DirectSOFT
Set Bit-of-Word (SET)The Set Bit-of-Word instruction sets or turns on a bit in a V-memory location. Once the bit is set, it will remain on until itis reset using the Reset Bit-of-Word instruction. It is not necessaryfor the input controlling the Set Bit-of-Word instruction toremain on.
Reset Bit-of-Word (RST)The Reset Bit-of-Word instruction resets or turns off a bit in a V-memory location. Once the bit is reset. it is not necessary forthe input to remain on.
In the following example. when X1 turns on, bit 1 in V1400 is set to the on state.
In the following example, when X2 turns on, bit 1 in V1400 is reset to the off state.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–24
Chapter 5: Standard RLL Instructions - Boolean Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Aaaa.bbSET
A aaa.bbRST
SET
X1 B1400.1
DirectSOFT32
STR 1
Handheld Programmer Keystrokes
SET V 1SHFT 4 0 0
1 ENTK
B
ENT
RST
X2 B1400.1
DirectSOFT32
Handheld Programmer Keystrokes
STR 2
RST V 1SHFT 4 0 0
1 ENTK
B
ENT
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa bb
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B See memory map 0 to 15Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PB See memory map 0 to 15
DS Used
HPP Used
DS Used
HPP Used
DirectSOFT
DirectSOFT
Pause (PAUSE)The Pause instruction disables the output update on arange of outputs. The ladder program will continue torun and update the image register. However, the outputsin the range specified in the Pause instruction will beturned off at the output points.
In the following example, when X1 is ON, Y5–Y7 will be turned OFF. The execution of theladder program will not be affected.
Since the D2–HPP Handheld Programmer does not have a specific Pause key, you can usethe corresponding instruction number for entry (#960), or type each letter of the command.
In some cases, you may want certain output points in the specified pause range to operatenormally. In that case, use Aux 58 to over-ride the Pause instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–25
Chapter 5: Standard RLL Instructions - Boolean Instructions
aaaaaaY
PAUSE
DirectSOFT32
PAUSE
X1 Y5 Y7
STR$
1B ENT
Handheld Programmer Keystrokes
5F ENT
INST#O
9J
6G
0A ENT ENT
3D
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0–777
DS Used
HPP Used
DirectSOFT
Comparative Boolean
Store If Equal (STRE)The Store If Equal instruction begins a new rung oradditional branch in a rung with a normally opencomparative contact. The contact will be on when Vaaaequals Bbbb .
Store If Not Equal (STRNE)The Store If Not Equal instruction begins a new rung oradditional branch in a rung with a normally closedcomparative contact. The contact will be on when Vaaadoes not equal Bbbb.
In the following example, when the BCD value in V-memory location V2000 = 4933, Y3 willenergize.
In the following example, when the value in V-memory location V2000 /= 5060, Y3 willenergize.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–26
Chapter 5: Standard RLL Instructions - Comparative Boolean
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
V aaa B bbb
V aaa B bbb
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B aaa bbb
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory map See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K –– 0–9999
V2000 K4933 Y3
OUT
DirectSOFT32 Handheld Programmer Keystrokes
STR$ SHFT
4E
2C
0A
0A
0A
4E
9J
3D
3D ENT
OUTGX ENT
3D
Y3
OUT
V2000 K5060
DirectSOFT32 Handheld Programmer Keystrokes
SHFT
OUTGX ENT
3D
4E
2C
0A
0A
0A
STRNSP
5F
0A ENT
6G
0A
DS Implied
HPP Used
DS Implied
HPP Used
DirectSOFT
DirectSOFT
Or If Equal (ORE)The Or If Equal instruction connects a normally opencomparative contact in parallel with another contact.The contact will be on when Vaaa = Bbbb.
Or If Not Equal (ORNE)The Or If Not Equal instruction connects a normallyclosed comparative contact in parallel with anothercontact. The contact will be on when Vaaa does notequal Bbbb.
In the following example, when the BCD value in V-memory location V2000 = 4500 orV2002 /= 2500, Y3 will energize.
In the following example, when the BCD value in V-memory location V2000 = 3916 orV2002 /= 2500, Y3 will energize.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–27
Chapter 5: Standard RLL Instructions - Comparative Boolean
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
2C
5F ENT
0A
0A
3D
9J ENT
1B
6G
4E
Y3
OUT
V2000 K3916
V2002 K2500
DirectSOFT32 Handheld Programmer Keystrokes
STR$ SHFT
2C
0A
0A
0A
ORNR SHFT
4E
2C
0A
0A
2C
OUTGX ENT
3D
2C
3D
4E
5F ENT
4E
5F ENT
0A
0A
Y3
OUT
V2002 K2500
V2000 K4500
DirectSOFT32 Handheld Programmer Keystrokes
SHFT4
E2
C0
A0
A0
ASTR
$
ORQ SHFT
4E
2C
0A
0A
2C
OUTGX ENT
3D
V aaa B bbb
V aaa B bbb
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B aaa bbb
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory map See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K –– 0–9999
DS Implied
HPP Used
DS Implied
HPP Used
DirectSOFT
DirectSOFT
And If Equal (ANDE)The And If Equal instruction connects a normallyopen comparative contact in series with anothercontact. The contact will be on when Vaaa = Bbbb.
And If Not Equal (ANDNE)The And If Not Equal instruction connects anormally closed comparative contact in series withanother contact. The contact will be on when Vaaadoes not equal Bbbb
In the following example, when the BCD value in V-memory location V2000 = 5000 andV2002 = 2345, Y3 will energize.
In the following example, when the BCD value in V-memory location V2000 = 5000 andV2002 /= 2345, Y3 will energize.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–28
Chapter 5: Standard RLL Instructions - Comparative Boolean
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
V aaa B bbb
V aaa B bbb
2C
3D
4E
5F ENT
5F
0A ENT
0A
0A
2C
STR$ SHFT
4E
0A
0A
0A
ANDV SHFT
4E
2C
0A
0A
2C
OUTGX ENT
3D
Y3
OUT
V2002 K2345V2000 K5000
DirectSOFT32 Handheld Programmer Keystrokes
2C
3D
4E
5F ENT
5F
0A ENT
0A
0A
2C
STR$ SHFT
4E
0A
0A
0A
ANDV SHFT
4E
2C
0A
0A
2C
OUTGX ENT
3D
Y3
OUT
V2002 K2345V2000 K5000
DirectSOFT32 Handheld Programmer Keystrokes
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B aaa bbb
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory map See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K –– 0–9999
DS Implied
HPP Used
DS Implied
HPP Used
DirectSOFT
DirectSOFT
Store (STR)The Comparative Store instruction begins a new rung oradditional branch in a rung with a normally open comparativecontact. The contact will be on when Aaaa is equal to or greaterthan Bbbb.
Store Not (STRN)The Comparative Store Not instruction begins a new rung oradditional branch in a rung with a normally closed comparativecontact. The contact will be on when Aaaa < Bbbb.
In the following example, when the BCD value in V-memory location V2000 � 1000, Y3will energize.
In the following example, when the value in V-memory location V2000 < 4050, Y3 willenergize.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–29
Chapter 5: Standard RLL Instructions - Comparative Boolean
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
A aaa B bbb
A aaa B bbb
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A/B aaa bbb
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p See memory map See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K –– 0–9999Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TA 0–377Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CTA 0–177
ENT3
D
Y3
OUT
V2000 K1000
DirectSOFT32 Handheld Programmer Keystrokes
STR$
ENT
OUTGX
SHFTAND
V2
C0
A0
A0
A
1B
0A
0A
0A
ENT3
D
0A ENT
0A
4E
5F
Y3
OUT
V2000 K4050
DirectSOFT32 Handheld Programmer Keystrokes
OUTGX
STRNSP SHFT
ANDV
2C
0A
0A
0A
DS Implied
HPP Used
DS Implied
HPP Used
DirectSOFT
DirectSOFT
Or (OR)The Comparative Or instruction connects a normallyopen comparative contact in parallel with another contact.The contact will be on when Aaaa is equal to or greaterthan Bbbb.
Or Not (ORN)The Comparative Or Not instruction connects anormally closed comparative contact in parallel withanother contact. The contact will be on when Aaaa <Bbbb.
In the following example, when the BCD value in V-memory location V2000 = 6045 or V2002 � 2345, Y3 will energize.
In the following example when the BCD value in V-memory location V2000 = 1000 or V2002 < 2500, Y3 will energize.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–30
Chapter 5: Standard RLL Instructions - Comparative Boolean
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
A aaa B bbb
A aaa B bbb
2C
3D
4E
5F ENT
6G
0A
Y3
OUT
V2000 K6045
V2002 K2345
DirectSOFT32 Handheld Programmer Keystrokes
SHFT4
E2
C0
A0
A0
A
ENT
STR$
ORQ
OUTGX ENT
3D
4E
5F
SHFTAND
V2
C0
A0
A2
C
ENT3
D
2C
5F ENT
0A
0A
ENT1
B0
A0
A0
A
4E
Y3
OUT
V2000 K1000
V2002 K2500
DirectSOFT32 Handheld Programmer Keystrokes
STR$ SHFT
2C
0A
0A
0A
ORNR
OUTGX
SHFTAND
V2
C0
A0
A2
C
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A/B aaa bbb
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p See memory map See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K –– 0–9999Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TA 0–377Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CTA 0–177
DS Implied
HPP Used
DS Implied
HPP Used
DirectSOFT
DirectSOFT
And (AND)The Comparative And instruction connects a normallyopen comparative contact in series with anothercontact. The contact will be on when Aaaa is equal to orgreater than Bbbb.
And Not (ANDN)The Comparative And Not instruction connects a normallyclosed comparative contact in series with another contact.The contact will be on when Aaaa < Bbbb.
In the following example, when the value in BCD V-memory location V2000 = 5000, andV2002 � 2345, Y3 will energize.
In the following example, when the value in V-memory location V2000 = 7000 and V2002 < 2500, Y3 will energize.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–31
Chapter 5: Standard RLL Instructions - Comparative Boolean
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
A aaa B bbb
A aaa B bbb
ENT3
D
2C
3D
4E
5F ENT
ENT0
A0
A5
F0
A
2CY3
OUT
V2000 K5000 V2002 K2345
DirectSOFT32 Handheld Programmer Keystrokes
STR$ SHFT
4E
0A
0A
0A
ANDV
OUTGX
SHFTAND
V2
C0
A0
A2
C
2C
5F ENT
0A
0A
7H ENT
0A
0A
0A
2C
Y3
OUT
V2000 K7000 V2002 K2500
DirectSOFT32 Handheld Programmer Keystrokes
STR$ SHFT
4E
2C
0A
0A
0A
ANDNW
OUTGX SHFT
ANDY ENT
3D
SHFTAND
V2
C0
A0
A
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A/B aaa bbb
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p See memory map See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K –– 0–9999Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TA 0–377Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CTA 0–177
DS Implied
HPP Used
DS Implied
HPP Used
DirectSOFT
DirectSOFT
Immediate Instructions
Store Immediate (STRI)The Store Immediate instruction begins a new rungor additional branch in a rung. The status of thecontact will be the same as the status of theassociated input point at the time the instruction isexecuted. The image register is not updated.
Store Not Immediate (STRNI)The Store Not Immediate instruction begins a newrung or additional branch in a rung. The status ofthe contact will be opposite the status of theassociated input point at the time the instruction isexecuted. The image register is not updated.
In the following example, when X1 is on, Y2 will energize.
In the following example, when X1 is off, Y2 will energize.
Or Immediate (ORI)The Or Immediate connects two contacts in parallel. The statusof the contact will be the same as the status of the associatedinput point at the time the instruction is executed. The imageregister is not updated.
Or Not Immediate (ORNI)The Or Not Immediate connects two contacts in parallel. Thestatus of the contact will be opposite the status of the associatedinput point at the time the instruction is executed. The imageregister is not updated.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–32
Chapter 5: Standard RLL Instructions - Immediate Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
aaaX
aaaX
ENT2
C
1B ENTX1 Y2
OUT
Handheld Programmer KeystrokesDirectSOFT32
STR$ SHFT
8I
OUTGX
ENT2
C
1B ENT
X1 Y2
OUT
Handheld Programmer KeystrokesDirectSOFT32
STRNSP SHFT
8I
OUTGX
aaaX
aaaX
Operand Data Type DL06 Rangeaaa
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–777
DS Implied
HPP Used
DS Implied
HPP Used
DS Implied
HPP Used
DS Implied
HPP Used
DirectSOFT
DirectSOFT
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–33
Chapter 5: Standard RLL Instructions - Immediate Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
In the following example, when X1 or X2 is on, Y5 will energize.
In the following example, when X1 is on or X2 is off, Y5 will energize.
And Immediate (ANDI)The And Immediate instruction connects two contacts inseries. The status of the contact will be the same as thestatus of the associated input point at the time theinstruction is executed. The image register is not updated.
And Not Immediate (ANDNI)The And Not Immediate instruction connects twocontacts in series. The status of the contact will be oppositethe status of the associated input point at the time theinstruction is executed. The image register is not updated.
In the following example, when X1 and X2 are on, Y5 will energize.
In the following example, when X1 is on and X2 is off, Y5 will energize.
1B ENT
ENT2
C
ENT5
F
X1
X2
Y5
OUT
Handheld Programmer KeystrokesDirectSOFT32
STR$
ORQ SHFT
8I
OUTGX
ENT5
F
ENT2
C
1B ENT
X1
X2
Y5
OUT
Handheld Programmer KeystrokesDirectSOFT32
STR$
SHFT8
IORN
R
OUTGX
aaaX
aaaX
OUTGX
X1 X2 Y5
OUT
Handheld Programmer KeystrokesDirectSOFT32
STR$
1B ENT
ANDV SHFT
8I ENT
2C
ENT5
F
X1 X2 Y5
OUT
Handheld Programmer KeystrokesDirectSOFT32
STR$
ANDNW SHFT
8I
OUTGX
1B ENT
ENT2
C
ENT5
F
Operand Data Type DL06 Rangeaaa
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–777
Operand Data Type DL06 Rangeaaa
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–777
DS Implied
HPP Used
DS Implied
HPP Used
DirectSOFT
DirectSOFT
DirectSOFT
DirectSOFT
Out Immediate (OUTI)The Out Immediate instruction reflects the status of therung (on/off ) and outputs the discrete (on/off ) status tothe specified module output point and the image registerat the time the instruction is executed. If multiple OutImmediate instructions referencing the same discretepoint are used, it is possible for the module output statusto change multiple times in a CPU scan. See Or OutImmediate.
Or Out Immediate (OROUTI)The Or Out Immediate instruction has been designed touse more than 1 rung of discrete logic to control a singleoutput. Multiple Or Out Immediate instructionsreferencing the same output coil may be used, since allcontacts controlling the output are ored together. If thestatus of any rung is on at the time the instruction isexecuted, the output will also be on.
In the following example, when X1 is on, output point Y2 on the output module will turnon. For instruction entry on the Handheld Programmer, you can use the instruction number(#350) as shown, or type each letter of the command.
In the following example, when X1 or X4 is on, Y2 will energize.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–34
Chapter 5: Standard RLL Instructions - Immediate Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Y aaa
OUTI
OROUTI
Y aaa
1B ENTX1 Y2
OUTI
DirectSOFT32 Handheld Programmer Keystrokes
STR$
INST#O
5F
3D
0A ENT ENT
2C ENT
STR$
X1
X4
Y2
OR OUTI
Y2
OR OUTI
DirectSOFT32 Handheld Programmer Keystrokes
STR$
1B ENT
ENT4
E
INST#O
5F
3D
0A ENT ENT
2C ENT
INST#O
5F
3D
0A ENT ENT
2C ENT
Operand Data Type DL06 Rangeaaa
Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0–777
DS Used
HPP Used
DS Used
HPP Used
DirectSOFT
DirectSOFT
Out Immediate Formatted (OUTIF)The Out Immediate Formatted instruction outputs a 1–32bit binary value from the accumulator to specified outputpoints at the time the instruction is executed. Accumulator bitsthat are not used by the instruction are set to zero.
In the following example, when C0 is on,the binary pattern for X10 –X17 is loaded into theaccumulator using the Load Immediate Formatted instruction. The binary pattern in theaccumulator is written to Y30–Y37 using the Out Immediate Formatted instruction. Thistechnique is useful to quickly copy an input pattern to outputs (without waiting for the CPUscan).
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–35
Chapter 5: Standard RLL Instructions - Immediate Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
bbbKY aaaOUTIF
LDIF X10
K8
K8X10
0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
K8Y30
X10X11X12X13X14X15X16X17ONOFFONOFFONONOFFON
Y30Y31Y32Y33Y34Y35Y36Y37ONOFFONOFFONONOFFON
K8
Load the value of 8 consecutive locations into theaccumulator, starting with X10.
OUTIF Y30
Copy the value in the lower8 bits of the accumulator toY30-Y37
Unused accumulator bits are set to zero
Location Constant
Acc.
Location Constant
C0
DirectSOFT 5
OUTGX
Handheld Programmer Keystrokes
STR$
0A ENT
5F
3D
0A
3D
ANDSTL
8I ENT
ENT
NEXT NEXT NEXT NEXT
SHFT5
F1
B0
A8
I
SHFT8
I8
I
Operand Data Type DL06 Rangeaaa
Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0-777Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 1-32
DS Used
HPP Used
DirectSOFT
Set Immediate (SETI)The Set Immediate instruction immediately sets, orturns on an output or a range of outputs in the imageregister and the corresponding output point(s) at thetime the instruction is executed. Once the outputs areset, it is not necessary for the input to remain on. TheReset Immediate instruction can be used to reset theoutputs.
Reset Immediate (RSTI)The Reset Immediate instruction immediately resets,or turns off, an output or a range of outputs in theimage register and the output point(s) at the time theinstruction is executed. Once the outputs are reset, it isnot necessary for the input to remain on.
In the following example, when X1 is on, Y2 through Y5 will be set on in the image registerand on the corresponding output points.
In the following example, when X1 is on, Y5 through Y22 will be reset (off ) in the imageregister and on the corresponding output module(s).
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–36
Chapter 5: Standard RLL Instructions - Immediate Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
aaaY aaaSETI
aaaY aaaRSTI
1B ENTX1 Y2
SETI
Y5
DirectSOFT32 Handheld Programmer Keystrokes
STR$
SETX SHFT
8I ENT
2C
5F
1B ENT
X1 Y5
RSTI
Y22
DirectSOFT32
Handheld Programmer Keystrokes
STR$
SHFT8
I5
F2
C2
C ENTRST
S
Operand Data Type DL06 Rangeaaa
Ouputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0–777
DS Used
HPP Used
DS Used
HPP Used
DirectSOFT
DirectSOFT
Load Immediate (LDI)The Load Immediate instruction loads a 16-bit V-memory valueinto the accumulator. The valid address range includes all inputpoint addresses on the local base. The value reflects the currentstatus of the input points at the time the instruction is executed.This instruction may be used instead of the LDIF instruction,which requires you to specify the number of input points.
In the following example, when C0 is on, the binary pattern of X0–X17 will be loaded intothe accumulator using the Load Immediate instruction. The Out Immediate instructioncould be used to copy the 16 bits in the accumulator to output points, such as Y40–Y57. Thistechnique is useful to quickly copy an input pattern to output points (without waiting for afull CPU scan to occur).
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–37
Chapter 5: Standard RLL Instructions - Immediate Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
V aaaLDI
C0
OUTI
V40400
1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
V40502
X10X11X12X13X14X15X16X17
OFFOFFONOFFONONOFFON
Y50Y51Y52Y53Y54Y55Y56Y57
OFFOFFONOFFONONOFFON
DirectSOFT32
X0X1X2X3X4X5X6X7
ONOFFONOFFONONOFFON
Y40Y41Y42Y43Y44Y45Y46Y47
ONOFFONOFFONONOFFON
LDI
V40400
V40502
Load the inputs from X0 toX17 into the accumulator,immediately
Output the value in theaccumulator to output pointsY40 to Y57
Location
Unused accumulator bitsare set to zero
Location
OUTGX
Handheld Programmer Keystrokes
STR$
0A ENT
3D
ANDSTL
8I ENT
ENT
NEXT NEXT NEXT NEXT
SHFT4
E0
A
SHFT8
I
4E
0A
0A
NEXT4
E0
A5
F0
A2
C
Operand Data Type DL06 Rangeaaa
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V 40400-40437
DS Used
HPP Used
DirectSOFT
Load Immediate Formatted (LDIF)The Load Immediate Formatted instruction loads a 1–32 bit binaryvalue into the accumulator. The value reflects the current status ofthe input module(s) at the time the instruction is executed.Accumulator bits that are not used by the instruction are set to zero.
In the following example, when C0 is on, the binary pattern of X10–X17 will be loaded intothe accumulator using the Load Immediate Formatted instruction. The Out ImmediateFormatted instruction could be used to copy the specified number of bits in the accumulatorto the specified outputs on the output module, such as Y30–Y37. This technique is useful toquickly copy an input pattern to outputs (without waiting for the CPU scan).
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–38
Chapter 5: Standard RLL Instructions - Immediate Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
K bbbX aaaLDIF
LDIF X10
K8
C0
Load the value of 8consecutive location into theaccumulator starting withX10
OUTIF Y30
K8
Copy the value of the lower8 bits of the accumulator toY30 --Y37
K8X10
Location Constant
0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
K8Y30
Location Constant
X10X11X12X13X14X15X16X17
ONOFFONOFFONONOFFON
Y30Y31Y32Y33Y34Y35Y36Y37
ONOFFONOFFONONOFFON
DirectSOFT32
Unused accumulator bitsare set to zero
Operand Data Type DL06 Rangeaaa bbb
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0-777 - -Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K - - 1-32
OUTGX
Handheld Programmer Keystrokes
STR$
0A ENT
5F
3D
0A
3D
ANDSTL
8I ENT
ENT
NEXT NEXT NEXT NEXT
SHFT5
F1
B0
A8
I
SHFT8
I8
I
DS Used
HPP Used
DirectSOFT
Timer, Counter and Shift Register Instructions
Using TimersTimers are used to time an event for a desired period. The single input timer will time as longas the input is on. When the input changes from on to off, the timer current value is reset to0. There is a tenth of a second and a hundredth of a second timer available with a maximumtime of 999.9 and 99.99 seconds respectively. There is a discrete bit associated with eachtimer to indicate that the current value is equal to or greater than the preset value. The timingdiagram below shows the relationship between the timer input, associated discrete bit, currentvalue and timer preset.
There are those applications that need an accumulating timer, meaning it has the ability totime, stop, and then resume from where it previously stopped. The accumulating timer workssimilarly to the regular timer, but two inputs are required. The enable input starts and stopsthe timer. When the timer stops, the elapsed time is maintained. When the timer starts again,the timing continues from the elapsed time. When the reset input is turned on, the elapsedtime is cleared and the timer will start at 0 when it is restarted. There is a tenth of a secondand a hundredth of a second timer available with a maximum time of 9999999.9 and999999.99 seconds respectively. The timing diagram below shows the relationship betweenthe timer input, timer reset, associated discrete bit, current value and timer preset.
NOTE: Decimal points are not used in these timers, but the decimal point is implied. The preset andcurrent value for all four timers is in BCD format.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–39
Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register Instructions
X1
X1
T0
1 2 3 4 5 6 7 80
0 10 10 20 30 40 50 0CurrentValue
TMRA T0K30
X2X2
Reset Input
Enable
Seconds
1/10 Seconds
TMR T1
K30
X1
X1
T1
1 2 3 4 5 6 7 80
0 10 20 30 40 50 60 0CurrentValue
T1 Y0OUT
Seconds
1/10 Seconds
Timer Preset
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Timer (TMR) and Timer Fast (TMRF)The Timer instruction is a 0.1 second single input timer thattimes to a maximum of 999.9 seconds. The Timer Fastinstruction is a 0.01 second single input timer that times up toa maximum of 99.99 seconds. These timers will be enabled ifthe input logic is true (on) and will be reset to 0 if the inputlogic is false (off ). Both timers use single word BCD values forthe preset and current value. The decimal place is implied.Instruction Specifications
Timer Reference (Taaa): Specifies the timer number.
Preset Value (Bbbb): Constant value (K) or a V-memorylocation specified in BCD.
Current Value: Timer current values, in BCD format, areaccessed by referencing the associated V or T memorylocation*. For example, the timer current value for T3physically resides in V-memory location V3.
Discrete Status Bit: The discrete status bit is referenced by the associated T memory location.Operating as a “timer done bit”, it will be on if the current value is equal to or greater thanthe preset value. For example, the discrete status bit for Timer 2 is T2.
NOTE: A V-memory preset is required only if the ladder program or an Operator Interface unit mustchange the preset.
NOTE: *May be non-volatile if MOV instruction is used.** With the HPP, both the Timer discrete status bits and current value are accessed with the samedata reference. DirectSOFT uses separate references, such as “T2” for discrete status bit for TimerT2, and “TA2” for the current value of Timer T2.
You can perform functions when the timer reaches the specified preset using the discretestatus bit. Or, use comparative contacts to perform functions at different time intervals, basedon one timer. The examples on the following page show these two methods of programmingtimers.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–40
Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
T aaa
aaaTTMRB bbb
Preset Timer #
TMRFB bbb
Preset Timer #
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A/B aaa bbb
Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0–777 ––
V-memory for preset values . . . . . . . . . . . . . . . V ––400-6771200–73777400–757710000-17777
Pointers (preset only) . . . . . . . . . . . . . . . . . . . . P –– 400-6771200–7377 7400–7577*10000-17777
Constants (preset only) . . . . . . . . . . . . . . . . . . K –– 0–9999Timer discrete status bits . . . . . . . . . . . . . . . T/V 0–377 or V41100–41117Timer current values . . . . . . . . . . . . . . . . . V /T** 0–377
DS Used
HPP Used
Timer Example Using Discrete Status BitsIn the following example, a single input timer is used with a preset of 3 seconds. The timerdiscrete status bit (T2) will turn on when the timer has timed for 3 seconds. The timer is resetwhen X1 turns off, turning the discrete status bit off and resetting the timer current value to0.
Timer Example Using Comparative ContactsIn the following example, a single input timer is used with a preset of 4.5 seconds.Comparative contacts are used to energize Y3, Y4, and Y5 at one second intervals respectively.When X1 is turned off, the timer will be reset to 0 and the comparative contacts will turn offY3, Y4, and Y5.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–41
Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
STR$
TMRN
2C
STR$ SHFT
MLRT
2C ENT
OUTGX
Handheld Programmer Keystrokes
X1TMR T2
K30
T2 Y0
OUT
X1
T2
1 2 3 4 5 6 7 80
0 10 20 30 40 50 60 0CurrentValue
Y0
Timing DiagramDirect SOFT32
Seconds
1B ENT
3D
0A ENT
ENT0
A
1B ENT
Handheld Programmer Keystrokes
X1TMR T20
K45
TA20 K10
TA20 K20
TA20 K30
Y4
OUT
Y3
OUT
Y5
OUT
X1
Y3
1 2 3 4 5 6 7 80
0 10 20 30 40 50 60 0CurrentValue
Y4
Timing Diagram
Y5
T2
Direct SOFT32
Seconds
STR$
TMRN
2C ENT
0A
4E
5F
STR$ SHFT
MLRT
2C
0A
1B ENT
OUTGX ENT
3D
STR$ SHFT
MLRT
2C
0A ENT
OUTGX ENT
2C
4E
STR$ SHFT
MLRT
2C
0A ENT
OUTGX ENT
3D
5F
0A
0A
0A
1/10th Seconds
1/10th Seconds
DirectSOFT
DirectSOFT
Accumulating Timer (TMRA)The Accumulating Timer is a 0.1 second two input timer thatwill time to a maximum of 9999999.9. The TMRA uses two timerregisters in V-memory.
Accumulating Fast Timer (TMRAF)The Accumulating Fast Timer is a 0.01 second two-input timerthat will time to a maximum of 99999.99. The TMRA uses twotimer registers in V-memory.
Each timer uses two timer registers in V-memory. The preset andcurrent values are in double word BCD format, and the decimalpoint is implied. These timers have two inputs, an enable and areset. The timer starts timing when the enable is on and stopswhen the enable is off (without resetting the count). The resetwill reset the timer when on and allow the timer to time when off.
Timer Reference (Taaa): Specifies the timer number.
Preset Value (Bbbb): Constant value (K) or V-memory.
Current Value: Timer current values are accessed by referencing the associated V or Tmemory location*. For example, the timer current value for T3 resides in V-memory, V3.
Discrete Status Bit: The discrete status bit is accessed by referencing the associated T memorylocation. Operating as a “timer done bit,” it will be on if the current value is equal to orgreater than the preset value. For example, the discrete status bit for timer 2 would be T2.
NOTE: The accumulating timer uses two consecutive V-memory locations for the 8-digit value,therefore two consecutive timer locations. For example, if TMRA T1 is used, the next available timernumber is T3.
NOTE: *May be non-volatile if MOV instruction is used.** With the HPP, both the Timer discrete status bits and current value are accessed with the samedata reference. DirectSOFT uses separate references, such as “T2” for discrete status bit for TimerT2, and “TA2” for the current value of Timer T2.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–42
Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
T aaa
T aaaTMRAB bbb
Enable
Reset
Preset Timer #
TMRAFB bbb
Enable
Reset
Preset Timer #
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A/B aaa bbb
Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0–777 ––
V-memory for preset values . . . . . . . . . . . . . . . V ––400-6771200–73777400–757710000-17777
Pointers (preset only) . . . . . . . . . . . . . . . . . . . . P –– 400-6771200–7377 7400–7577*10000-17777
Constants (preset only) . . . . . . . . . . . . . . . . . . K –– 0–99999999Timer discrete status bits . . . . . . . . . . . . . . . T/V 0–377 or V41100–41117Timer current values . . . . . . . . . . . . . . . . . V /T** 0–377
DS Used
HPP Used
DS Used
HPP Used
NOTE: A V-Memory preset is required if the ladder program or an OIP must be used to change thepreset.
Accumulating Timer Example using Discrete Status BitsIn the following example, a two input timer (accumulating timer) is used with a preset of 3seconds. The timer discrete status bit (T6) will turn on when the timer has timed for 3seconds. Notice, in this example, that the timer times for 1 second, stops for one second, thenresumes timing. The timer will reset when C10 turns on, turning the discrete status bit offand resetting the timer current value to 0.
Accumulator Timer Example Using Comparative ContactsIn the following example, a single input timer is used with a preset of 4.5 seconds.Comparative contacts are used to energized Y3, Y4, and Y5 at one second intervalsrespectively. The comparative contacts will turn off when the timer is reset.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–43
Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Handheld Programmer Keystrokes
X1
T6
TMRA T6
K30C10
Y7
OUT
X1
C10
1 2 3 4 5 6 7 80
0 10 10 20 30 40 50 0CurrentValue
T6
Timing DiagramDirect SOFT32
Seconds
Handheld Programmer Keystrokes (cont)
STR$
STR$ SHFT ENT
2C
1B
0A
TMRN SHFT
0A
3D
0A ENT
STR$ SHFT
MLRT ENT
OUTGX ENT
0A
6G
1B
1B ENT
6G
Handheld Programmer Keystrokes
TA20 K10
TA21 K1
TA20 K20
Y3
OUT
Y4
OUT
X1
TMRA T20
K45C10
X1
C10
1 2 3 4 5 6 7 80
0 10 10 20 30 40 50 0CurrentValue
Timing Diagram
Y3
Y4
Y5
T20
DirectSOFT
Handheld Programmer Keystrokes (cont’d)
Seconds
ANDV SHFT4
EMLR
T
OUTGX ENT
1B
4E
STR$ SHFT
MLRT
2C
0A
OUTGX ENT
5F
STR$
1B ENT
ENT4
E5
F
STR$ SHFT
MLRT
2C
0A
1B ENT
OUTGX ENT
3D
STR$ SHFT ENT
2C
1B
0A
2C
0A
TMRN SHFT
0A
0A
0A
Contacts
TA21 K1
TA20 K30 Y5
OUT
TA21 K0
TA21 K0
TA21 K1
ORQ SHFT4
EMLR
T1
B1
B
ENT
ENT
SHFT
SHFT
2C
2C
STR$ SHFT
MLRT
2C
0A
ANDV SHFT4
EMLR
T1
B0
A
ORQ SHFT4
EMLR
T1
B1
B
ENT
ENT
SHFT
SHFT
2C
2C
ENT2
C0
A
ENT3
D0
A
ANDV SHFT4
EMLR
T1
B1
B ENTSHFT2
C
1/10 Seconds
Using CountersCounters are used to count events . The counters available are up counters, up/downcounters, and stage counters (used with RLLPLUS programming).
The up counter (CNT) has two inputs, a count input and a reset input. The maximum countvalue is 9999. The timing diagram below shows the relationship between the counter input,counter reset, associated discrete bit, current value, and counter preset. The CNT counterpreset and current value are bothe single word BCD values.
The up down counter (UDC) has three inputs, a count up input, count down input and resetinput. The maximum count value is 99999999. The timing diagram below shows therelationship between the counter up and down inputs, counter reset, associated discrete bit,current value, and counter preset. The UDC counter preset and current value are both doubleword BCD values.
NOTE: The UDC uses two consecutive V-memory locations for the 8-digit value, therefore, twoconsecutive timer locations. For example, if UDC CT1 is used, the next available counter number isCT3.
The stage counter (SGCNT) has a count input and is reset by the RST instruction. Thisinstruction is useful when programming using the RLLPLUS structured programming. Themaximum count value is 9999. The timing diagram below shows the relationship between thecounter input, associated discrete bit, current value, counter preset and reset instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–44
Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
X1X1
CT1
1 2 3 4 0Currentalue
CNT CT1K3
X2X2
Counter preset
Up
Reset
Counts
X1X1
CT2
1 2 3 4 0CurrentValue
SGCNT CT2K3
RSTCT2
Counts Counter preset
X1X1
CT2
1 2 1 2 3 0CurrentValue
X2X2
UDC CT2K3
X3X3
Counter Preset
Up
Down
Reset
Counts
Counter (CNT)The Counter is a two-input counter that incrementswhen the count input logic transitions from Off to On.When the counter reset input is On, the counter resetsto 0. When the current value equals the preset value, thecounter status bit comes On and the counter continuesto count up to a maximum count of 9999. Themaximum value will be held until the counter is reset.
Instruction Specifications
Counter Reference (CTaaa): Specifies the counternumber.
Preset Value (Bbbb): Constant value (K) or a V-memorylocation.
Current Values: Counter current values are accessed byreferencing the associated V or CT memory locations.*The V-memory location is the counter location + 1000.For example, the counter current value for CT3 residesin V-memory location V1003.
Discrete Status Bit: The discrete status bit is accessed byreferencing the associated CT memory location. It will be On if the value is equal to orgreater than the preset value. For example the discrete status bit for counter 2 would be CT2.
NOTE: A V-memory preset is required if the ladder program or OIP must change the preset.
NOTE: *May be non-volatile if MOV instruction is used.** With the HPP, both the Counter discrete status bits and current value are accessed with the samedata reference. DirectSOFT uses separate references, such as “CT2” for discrete status bit forCounter CT2, and “CTA2” for the current value of Counter CT2.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–45
Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register Instructions
1
2
3
4
5
6
7
8
9
10
11
14
A
B
C
D
CT aaaCNTB bbb
Count
Reset
Counter #
Preset
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A/B aaa bbb
Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CT 0–177 ––
V-memory (preset only) . . . . . . . . . . . . . . . . . . V ––400-6771200–73777400–757710000-17777
Pointers (preset only) . . . . . . . . . . . . . . . . . . . . P –– 400-6771200–7377 7400–7577*10000-17777
Constants (preset only) . . . . . . . . . . . . . . . . . . K –– 0–9999Counter discrete status bits . . . . . . . . . . . . CT/V 0–177 or V41140–41147Counter current values . . . . . . . . . . . . . . V /CT** 1000-1177
DS Used
HPP Used
Counter Example Using Discrete Status BitsIn the following example, when X1 makes an Off-to-On transition, counter CT2 willincrement by one. When the current value reaches the preset value of 3, the counter status bitCT2 will turn on and energize Y7. When the reset C10 turns on, the counter status bit willturn off and the current value will be 0. The current value for counter CT2 will be held in V-memory location V1002.
Counter Example Using Comparative ContactsIn the following example, when X1 makes an Off-to-On transition, counter CT2 willincrement by one. Comparative contacts are used to energize Y3, Y4, and Y5 at differentcounts. When the reset C10 turns on, the counter status bit will turn off and the countercurrent value will be 0, and the comparative contacts will turn off.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–46
Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
2C
Handheld Programmer Keystrokes
CT2
X1
CNT CT2
K3C10
Y7
OUT
X1
CT2 or Y7
1 2 3 4 0Current Value
C10
Counting diagramDirectSOFT32
STR$
1B ENT
3D ENT
STR$ SHFT ENT
2C
1B
0A
CNTGY
STR$ SHFT ENT
OUTGX ENT
0A
1B
2C
MLRT
2C
Handheld Programmer Keystrokes (cont)
SHFT
Handheld Programmer Keystrokes
X1
CNT CT2
K3C10
X1
Y3
1 2 3 4 0CurrentValue
C10
Counting diagram
CTA2 K1
CTA2 K2
CTA2 K3
Y4
OUT
Y3
OUT
Y5
OUT
Y4
Y5
DirectSOFT32
Handheld Programmer Keystrokes (cont)
STR$ SHFT
ENT
OUTGX ENT
2C
4E
STR$ SHFT
2C
ENT
OUTGX ENT
3D
5F
STR$
1B ENT
2C
STR$ SHFT
1B ENT
OUTGX ENT
3D
STR$ SHFT ENT
2C
1B
0A
CNTGY ENT
3D
MLRT
2C
2C
MLRT
2C
2C
MLRT
2CSHFT
SHFT
SHFT
DirectSOFT
DirectSOFT
Stage Counter (SGCNT)The Stage Counter is a single input counter thatincrements when the input logic transitions from off toon. This counter differs from other counters since it willhold its current value until reset using the RSTinstruction. The Stage Counter is designed for use inRLLPLUS programs but can be used in relay ladder logicprograms. When the current value equals the preset value,the counter status bit turns on and the counter continuesto count up to a maximum count of 9999. The maximumvalue will be held until the counter is reset.
Instruction Specifications
Counter Reference (CTaaa): Specifies the counter number.
Preset Value (Bbbb): Constant value (K) or a V-memory location.
Current Values: Counter current values are accessed by referencing the associated V or CTmemory locations*. The V-memory location is the counter location + 1000. For example, thecounter current value for CT3 resides in V-memory location V1003.
Discrete Status Bit: The discrete status bit is accessed by referencing the associated CTmemory location. It will be on if the value is equal to or greater than the preset value. Forexample, the discrete status bit for counter 2 would be CT2.
NOTE: In using a counter inside a stage, the stage must be active for one scan before the input to thecounter makes a 0-1 transition. Otherwise, there is no real transition and the counter will not count.
NOTE: A V-memory preset is required only if the ladder program or an Operator Interface unit mustchange the preset.
NOTE: *May be non-volatile if MOV instruction is used.** With the HPP, both the Counter discrete status bits and current value are accessed with the samedata reference. DirectSOFT uses separate references, such as “CT2” for discrete status bit forCounter CT2, and “CTA2” for the current value of Counter CT2.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–47
Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
CT aaaSGCNTB bbb
Preset
Counter #
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A/B aaa bbb
Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CT 0–177 ––
V-memory (preset only) . . . . . . . . . . . . . . . . . . V ––400-6771200–73777400–757710000-17777
Pointers (preset only) . . . . . . . . . . . . . . . . . . . . P –– 400-6771200–7377 7400–7577*10000-17777
Constants (preset only) . . . . . . . . . . . . . . . . . . K –– 0–9999Counter discrete status bits . . . . . . . . . . . . CT/V 0–177 or V41140–41147Counter current values . . . . . . . . . . . . . . V /CT** 1000-1177
DS Used
HPP Used
Stage Counter Example Using Discrete Status BitsIn the following example, when X1 makes an off-to-on transition, stage counter CT7 willincrement by one. When the current value reaches 3, the counter status bit CT7 will turn onand energize Y7. The counter status bit CT7 will remain on until the counter is reset usingthe RST instruction. When the counter is reset, the counter status bit will turn off and thecounter current value will be 0. The current value for counter CT7 will be held in V-memorylocation V1007.
Stage Counter Example Using Comparative ContactsIn the following example, when X1 makes an off-to-on transition, counter CT2 willincrement by one. Comparative contacts are used to energize Y3, Y4, and Y5 at differentcounts. Although this is not shown in the example, when the counter is reset using the Resetinstruction, the counter status bit will turn off and the current value will be 0. The currentvalue for counter CT2 will be held in V-memory location V1002 (CTA2).
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–48
Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
3D
7H
Handheld Programmer Keystrokes
X1
C5 CT7
SGCNT CT7K3
RST
X1
Y7
1 2 3 4 0CurrentValue
RSTCT7
CT7 Y7
OUT
Counting diagramDirectSOFT32
STR$
1B ENT
CNTGY
STR$ SHFT ENT
OUTGX ENT
0A
1B
2C
MLRT
7H
STR$ SHFT ENT
2C
5F
RSTS SHFT
2C
7H ENT
SHFTRST
S6
G SHFT
ENT
Handheld Programmer Keystrokes (cont)
SHFT
SHFT
SHFTMLR
T
Handheld Programmer Keystrokes
X1
X1
Y3
1 2 3 4 0Current Value
Counting diagram
CTA2 K1
CTA2 K2
CTA2 K3
Y4
OUT
Y3
OUT
Y5
OUT
Y4
Y5
SGCNT CT2K10
DirectSOFT32
Handheld Programmer Keystrokes (cont)
STR$
1B ENT
CNTGYSHFT
RSTS
6G SHFT
ENT2
C1
B0
A
STR$ SHFT
1B ENT
OUTGX ENT
3D
MLRT
2C
2C
STR$ SHFT
ENT
OUTGX ENT
2C
4E
STR$ SHFT
2C
ENT
OUTGX ENT
3D
5F
MLRT
2C
2C
MLRT
2CSHFT
SHFT
SHFT
RST CT2
DirectSOFT
DirectSOFT
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–49
Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Up Down Counter (UDC)This Up/Down Counter counts up on each off toon transition of the Up input and counts down oneach off-to-on transition of the Down input. Thecounter is reset to 0 when the Reset input is on.The count range is 0–99999999. The count inputnot being used must be off in order for the activecount input to function.
Instruction Specification
Counter Reference (CTaaa): Specifies the counternumber.
Preset Value (Bbbb): Constant value (K) or twoconsecutive V-memory locations, in BCD.
Current Values: Current count is a double wordvalue accessed by referencing the associated V orCT memory locations* in BCD. The V-memory location is the counter location + 1000. Forexample, the counter current value for CT5 resides in V-memory location V1005 and V1006.
Discrete Status Bit: The discrete status bit is accessed by referencing the associated CTmemory location. Operating as a “counter done bit” it will be on if the value is equal to orgreater than the preset value. For example the discrete status bit for counter 2 would be CT2.
NOTE: The UDC uses two consecutive V-memory locations for the 8-digit value, therefore twoconsecutive timer locations. For example, if UDC CT1 is used, the next available counter number isCT3.
NOTE: *May be non-volatile if MOV instruction is used.** With the HPP, both the Counter discrete status bits and current value are accessed with the samedata reference. DirectSOFT uses separate references, such as “CT2” for discrete status bit forCounter CT2, and “CTA2” for the current value of Counter CT2.
CT aaaUDCB bbb
Up
Down
Reset
Caution: The UDC uses two V memory locations for the 8 digitcurrent value. This means that theUDC uses two consecutivecounter locations. If UDC CT1 isused in the program, the nextavailable counter is CT3.
Preset
Counter #
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A/B aaa bbb
Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CT 0–177 ––
V-memory (preset only) . . . . . . . . . . . . . . . . . . V ––400-6771200–73777400–757710000-17777
Pointers (preset only) . . . . . . . . . . . . . . . . . . . . P –– 400-677
1200–7377* 7400–757710000-17777
Constants (preset only) . . . . . . . . . . . . . . . . . . K –– 0–99999999Counter discrete status bits . . . . . . . . . . . . CT/V 0–177 or V41140–41147Counter current values . . . . . . . . . . . . . . V /CT** 1000-1177
Caution: The UDC uses two V-memorylocations for the 8 digit current value.This means that the UDC uses twoconsecutive counter locations. If UDCCT1 is used in the program, the nextavailable counter is CT3.
DS Used
HPP Used
NOTE: A V-memory preset is required only if the ladder program or an Operator Interfaceunit must change the preset.
Up / Down Counter Example Using Discrete Status BitsIn the following example, if X2 and X3 are off, the counter will increment by one when X1toggles from Off to On . If X1 and X3 are off, the counter will decrement by one when X2toggles from Off to On. When the count value reaches the preset value of 3, the counterstatus bit will turn on. When the reset X3 turns on, the counter status bit will turn off andthe current value will be 0.
Up / Down Counter Example Using Comparative ContactsIn the following example, when X1 makes an off-to-on transition, counter CT2 willincrement 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.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–50
Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
3D ENT
Handheld Programmer Keystrokes
X1
UDC CT2K3
X2
X3
CT2 Y7
OUT
X1
CT2
1 2 1 2 3 0CurrentValue
X2
X3
Counting DiagramDirectSOFT32
Handheld Programmer Keystrokes (cont)
STR$
1B ENT
STR$
2C
STR$
3D
SHFTISG
U3
D2
C2
C
ENT
ENTSTR
$ SHFT ENT
OUTGX ENT
0A
1B
2C
MLRT
2CSHFT
ANDV
Handheld Programmer Keystrokes
X1
UDC CT2V2000
X2
X3
X1
X2
X3
Counting Diagram
CTA2 K1
CTA2 K2 Y4
OUT
Y3
OUT
Y3
1 2 3 4 0CurrentValue
Y4
DirectSOFT32
Handheld Programmer Keystrokes (cont)
STR$
1B ENT
STR$
2C
STR$
3D
SHFTISG
U3
D2
C2
C
ENT
ENT
SHFT ENT2
C0
A0
A0
A
STR$ SHFT
1B ENT
OUTGX ENT
3D
MLRT
2C
2C
STR$ SHFT
ENT
OUTGX ENT
MLRT
2C
2C
2C
4E
SHFT
SHFT
DirectSOFT
DirectSOFT
Shift Register (SR)The Shift Register instruction shifts data through apredefined number of control relays. The control rangesin the shift register block must start at the beginning ofan 8 bit boundary and must use 8-bit blocks.
The Shift Register has three contacts.• Data — determines the value (1 or 0) that will enter the
register
• Clock — shifts the bits one position on each low to hightransition
• Reset —resets the Shift Register to all zeros.
With each off-to-on transition of the clock input, the bits which make up the shift registerblock are shifted by one bit position and the status of the data input is placed into the startingbit position in the shift register. The direction of the shift depends on the entry in the Fromand To fields. From C0 to C17 would define a block of sixteen bits to be shifted from left toright. From C17 to C0 would define a block of sixteen bits to be shifted from right to left.The maximum size of the shift register block depends on the number of available controlrelays. The minimum block size is 8 control relays.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–51
Chapter 5: Standard RLL Instructions - Timer, Counter and Shift Register Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
SR
aaaFrom A
bbbTo B
DATA
CLOCK
RESET
Data Input
Clock Input
Reset Input
Shift Register Bits
C0 C17Data Reset
1 0-1-0 0
0 0-1-0 0
0 0-1-0 0
1 0-1-0 0
0 0-1-0 0
0 0 1
Inputs on Successive Scans
X1
X2
SR
C0From
C17X3
To
Handheld Programmer KeystrokesDirect SOFT 5
STR$
1B ENT
STR$
2C
STR$
3D
SHFT
ENT
ENT
RSTS
ORNR SHFT 0
A
1B
7H ENT
SHFT
Indicates ON
IndicatesOFF
Clock
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A/B aaa bbb
Control Relay . . . . . . . . . . . . . . . . . . . . . . . . . . . C 0–1777 0–1777
DS Used
HPP Used
DirectSOFT
Accumulator/Stack Load and Output Data Instructions
Using the AccumulatorThe accumulator in the DL06 internal CPUs is a 32-bit register which is used as a temporarystorage location for data that is being copied or manipulated in some manner. For example,you have to use the accumulator to perform math operations such as add, subtract, multiply,etc. Since there are 32 bits, you can use up to an 8-digit BCD number. The accumulator isreset to 0 at the end of every CPU scan.
Copying Data to the AccumulatorThe Load and Out instructions and their variations are used to copy data from a V-memorylocation to the accumulator, or to copy data from the accumulator to V-memory. Thefollowing example copies data from V-memory location V2000 to V-memory locationV2010.
Since the accumulator is 32 bits and V-memory locations are 16 bits, the Load Double andOut Double (or variations thereof ) use two consecutive V-memory locations or 8 digit BCDconstants 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 V2000and V2001 to V2010 and V2011 the most efficient way to perform this function would be asfollows:
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–52
Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
LD
V2000
X1
Copy data from V2000 to thelower 16 bits of the accumu-lator
Copy data from the lower 16 bitsof the accumulator to V2010
OUT
V2010
V2010
Acc.
8 9 3 5
8 9 3 5
0 0 0 0 8 9 3 5 8 9 3 5
Unused accumulator bitsare set to zero
V2000
LDD
V2000
Copy data from V2000 andV2001 to the accumulator
Copy data from the accumulator toV2010 and V2011
OUTD
V2010
V2010
Acc.
V2000
6 7 3 9 5 0 2 6 5 0 2 6
X1 V2001
6 7 3 9 5 0 2 6
V2011
6 7 3 9 5 0 2 6
Changing the Accumulator DataInstructions that manipulate data also use the accumulator. The result of the manipulateddata resides in the accumulator. The data that was being manipulated is cleared from theaccumulator. The following example loads the constant value 4935 into the accumulator,shifts the data right 4 bits, and outputs the result to V2010.
Some of the data manipulation instructions use 32 bits. They use two consecutive V-memorylocations or an 8 digit BCD constant to manipulate data in the accumulator.
In the following example, when X1 is on, the value in V2000 and V2001 will be loaded intothe accumulator using the Load Double instruction. The value in the accumulator is addedwith the value in V2006 and V2007 using the Add Double instruction. The value in theaccumulator is copied to V2010 and V2011 using the Out Double instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–53
Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
LD
K4935
X1
Load the value 4935 into theaccumulator
Shift the data in the accumulator4 bits (K4) to the right
Output the lower 16 bits of the ac-cumulator to V2010
0 1 0 0 1 0 0 1 0 0 1 1 0 1 0 1
Constant
V2010
0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 10 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Shifted out ofaccumulator
0 4 9 3
4 9 3 5
SHFR
K4
OUT
V2010
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The upper 16 bits of the accumulatorwill be set to 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
Acc.
6 7 3 9 5 0 2 6
LDD
V2000
X1
Load the value in V2000 andV2001 into the accumulator
ADDD
V2006
Add the value in theaccumulator with the valuein V2006 and V2007
OUTD
V2010
Copy the value in theaccumulator to V2010 andV2011
V2010
V2000
V2001
6 7 3 9 5 0 2 6
V2011
8 7 3 9 9 0 7 2
(Accumulator)
(V2006 & V2007) 2 0 0 0 4 0 4 6 +
8 7 3 9 9 0 7 2 Acc.
Using the Accumulator StackThe accumulator stack is used for instructions that require more than one parameter toexecute a function or for user-defined functionality. The accumulator stack is used when morethan one Load instruction is executed without the use of an Out instruction. The first loadinstruction in the scan places a value into the accumulator. Every Load instruction thereafterwithout the use of an Out instruction places a value into the accumulator and the value thatwas in the accumulator is placed onto the accumulator stack. The Out instruction nullifiesthe previous load instruction and does not place the value that was in the accumulator ontothe accumulator stack when the next load instruction is executed. Every time a value is placedonto the accumulator stack the other values in the stack are pushed down one location. Theaccumulator is eight levels deep (eight 32-bit registers). If there is a value in the eighthlocation when a new value is placed onto the stack, the value in the eighth location is pushedoff the stack and cannot be recovered.
The POP instruction rotates values upward through the stack into the accumulator. When aPOP is executed, the value which was in the accumulator is cleared and the value that was ontop of the stack is in the accumulator. The values in the stack are shifted up one position inthe stack.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–54
Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Acc.Load the value 3245 into the accumu-lator
Load the value 5151 into the accumu-lator, pushing the value 3245 onto thestack
Load the value 6363 into the accumu-lator, pushing the value 5151 to the 1ststack location and the value 3245 tothe 2nd stack location
LD
K3245
X1
LD
K5151
LD
K6363
Constant
Acc. X X X X X X X X X
Current Acc. value
Previous Acc. valueX X X X X X X XX X X X X X XX X X X X X X
Level 1
X X X X X X X X 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 Level 5
X X X X X X X X Level 6
X X X X X X X X Level 7
X X X X X X X X Level 8
Accumulator Stack
0 0 0 0 3 2 4 5 Level 1
X X X X X X X X 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 Level 5
X X X X X X X X Level 6
X X X X X X X X Level 7
X X X X X X X X Level 8
Accumulator Stack
Acc.
Constant 5 1 5 1
0 0 0 0 5 5 1 5 1
Acc. 0 0 0 0 3 2 4 5 3 2 4 5
Current Acc. value
Previous Acc. value
0 0 0 0 5 1 5 1
0 0 0 0
Level 1
0 0 0 0 3 2 4 5 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 Level 5
X X X X X X X X Level 6
X X X X X X X X Level 7
X X X X X X X X Level 8
Accumulator Stack
Acc.
Constant 6 3 6 3
0 0 0 0 6 3 6 3 6 3 6 3
Acc. 0 0 0 0 5 5 1 5 1
Current Acc. value
Previous Acc. value
Bucket
Bucket
Bucket
3 2 4 5
0 0 0 0 3 2 4 5
Using PointersMany of the DL06 series instructions will allow V-memory pointers as operands (commonlyknown as indirect addressing). Pointers allow instructions to obtain data from V-memory locations referenced by the pointer value.
NOTE: DL06 V-memory addressing is in octal. However, the pointers reference a V-memory locationwith values viewed as HEX. Use the Load Address (LDA) instruction to move an address into thepointer location. This instruction performs the Octal to Hexadecimal conversion automatically.
In the following example we are using a pointer operand in a Load instruction. V-memorylocation 2000 is being used as the pointer location. V2000 contains the value 440 which theCPU views as the Hex equivalent of the Octal address V-memory location V2100. The CPUwill copy the data from V2100, which (in this example) contains the value 2635, into thelower word of the accumulator.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–55
Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Acc.
POP the 1st value on the stack into theaccumulator and move stack valuesup one location
POPX1
POP
POP
V2000 4 5 4 5
X X X X X X X X X X X
Acc. 0 0 0 0 4 5 4 5 4 5
Previous Acc. value
Current Acc. value
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
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 Level 6
X X X X X X X X Level 7
X X X X X X X X Level 8
Accumulator Stack
0 0 0 0 7 9 3 0 Level 1
X X X X X X X X 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 Level 5
X X X X X X X X Level 6
X X X X X X X X Level 7
X X X X X X X X Level 8
Accumulator Stack
X X X X X X X X Level 1
X X X X X X X X 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 Level 5
X X X X X X X X Level 6
X X X X X X X X Level 7
X X X X X X X X Level 8
Accumulator Stack
POP the 1st value on the stack into theaccumulator and move stack valuesup one location
POP the 1st value on the stack into theaccumulator and move stack valuesup one location
OUT
V2000
OUT
V2001
Acc.
V2001 3 7 9 2
0 0 0 0 4 5 4 5 4 5 4 5
Acc. 0 0 0 0 3 7 9 2 3 7 9 2
Previous Acc. value
Current Acc. value
Acc.
V2002 7 9 3 0
0 0 0 0 3 4 6 0 3 7 9 2
Acc. X X X X 7 9 3 0 7 9 3 0
Previous Acc. value
Current Acc. value
OUT
V2002
Copy data from the accumulator toV2000
Copy data from the accumulator toV2001.Copy data from the accumulator to
Copy data from the accumulator toV2002
The following example is identical to the one above, with one exception. The LDA (LoadAddress) instruction automatically converts the Octal address to Hex.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–56
Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
V2000 (P2000) contains the value 440HEX. 440 HEX. = 2100 Octal whichcontains the value 2635.
LD
P2000
X1
OUT
V2200
Copy the data from the lower 16 bits ofthe accumulator to V2200.
0 4 4 0
V2076 X X X X
V2077 X X X X
V2100 2 6 3 5
V2101 X X X X
V2102 X X X X
V2103 X X X X
V2104 X X X X
V2105 X X X X
V2200 2 6 3 5
V2201 X X X X
2 6 3 5
AccumulatorV2000
V2000 (P2000) contains the value 440Hex. 440 Hex. = 2100 Octal whichcontains the value 2635
LDA
O 2100
X1
OUT
V 2000
Copy the data from the lower 16 bits ofthe accumulator to V2000
V2100
0 4 4 0
V2076 X X X X
V2077 X X X X
V2100 2 6 3 5
V2101 X X X X
V2102 X X X X
V2103 X X X X
V2104 X X X X
V2105 X X X X
V2200 2 6 3 5
V2201 X X X X
LD
P 2000
OUT
V 2200
Copy the data from the lower 16 bits ofthe accumulator to V2200
Load the lower 16 bits of theaccumulator with Hexadecimalequivalent to Octal 2100 (440)
V2000
Acc.
2 1 0 0
0 4 4 0
0 0 0 0 0 4 4 0 0 4 4 0
2100 Octal is converted to Hexadecimal440 and loaded into the accumulator
Accumulator
0 0 0 0 2 6 3 5 2 6 3 5
Unused accumulator bitsare set to zero
Load (LD)The Load instruction is a 16 bit instruction that loads thevalue (Aaaa), which is either a V-memory location or a 4digit constant, into the lower 16 bits of the accumulator.The upper 16 bits of the accumulator are set to 0.
NOTE: Two consecutive Load instructions will place the value of the first load instruction onto theaccumulator stack.
In the following example, when X1 is on, the value in V2000 will be loaded into theaccumulator and output to V2010.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–57
Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
LDA aaa
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 0–FFFF
LD
V2000
X1
Load the value in V2000 intothe lower 16 bits of theaccumulator
OUT
V2010
Copy the value in the lower16 bits of the accumulator toV2010
V2010
Acc.
V2000
8 9 3 5
8 9 3 5
0 0 0 0 8 9 3 5 8 9 3 5
Direct SOFT32
The unused accumulatorbits are set to zero
1B
2C
0A
0A
0A ENT
Handheld Programmer Keystrokes
STR$
SETX
SHFTANDSTL
3D
OUTGX SHFT
ANDV
2C
0A
1B
0A ENT
DS Used
HPP Used
Discrete Bit Flags DescriptionSP53 On when the pointer is outside of the available range.SP70 On anytime the value in the accumulator is negative.SP76 On when any instruction loads a value of zero into the accumulator.
DirectSOFT
Load Double (LDD)The Load Double instruction is a 32-bit instruction that loadsthe value (Aaaa), which is either two consecutive V-memorylocations or an 8 digit constant value, into the accumulator.
NOTE: Two consecutive Load instructions will place the value of the first load instruction onto theaccumulator stack.
In the following example, when X1 is on, the 32-bit value in V2000 and V2001 will beloaded into the accumulator and output to V2010 and V2011.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–58
Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 0–FFFFFFFF
Discrete Bit Flags DescriptionSP53 On when the pointer is outside of the available range.SP70 On anytime the value in the accumulator is negative.SP76 On when any instruction loads a value of zero into the accumulator.
LDDA aaa
1B ENT
2C
0A
0A
0A ENT
2C
0A
1B
0A ENT
Handheld Programmer Keystrokes
Direct SOFT32
LDD
V2000
X1
Load the value in V2000 andV2001 into the 32 bitaccumulator
OUTD
V2010
Copy the value in the 32 bitaccumulator to V2010 andV2011
V2010
Acc.
V2000
6 7 3 9 6 0 2 6 5 0 2 6
V2001
6 7 3 9 5 0 2 6
V2011
6 7 3 9 5 0 2 6
STR$
SHFTANDSTL
3D
3D
OUTGX SHFT
3D
DS Used
HPP Used
DirectSOFT
Load Formatted (LDF)The Load Formatted instruction loads 1–32consecutive bits from discrete memory locations intothe accumulator. The instruction requires a startinglocation (Aaaa) and the number of bits (Kbbb) to beloaded. Unused accumulator bit locations are set tozero.
NOTE: Two consecutive Load instructions will place the value of the first load instruction onto theaccumulator stack.
In the following example, when C0 is on, the binary pattern of C10–C16 (7 bits) will beloaded into the accumulator using the Load Formatted instruction. The lower 7 bits of theaccumulator are output to Y0–Y6 using the Out Formatted instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–59
Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
bbbKLDF A aaa
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa bbb
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–777 ––Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0–777 ––Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . C 0–1777 ––Stage Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 0–1777 ––Timer Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0–377 ––Counter Bits . . . . . . . . . . . . . . . . . . . . . . . . . . CT 0–177 ––Special Relays . . . . . . . . . . . . . . . . . . . . . . . . . SP 0–777 ––Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K –– 1–32
Discrete Bit Flags DescriptionSP70 On anytime the value in the accumulator is negative.SP76 On when any instruction loads a value of zero into the accumulator.
0A
7H ENT
Handheld Programmer Keystrokes
LDF C10
K7
C0
Load the status of 7consecutive bits (C10–C16)into the accumulator
OUTF Y0
K7
Copy the value from thespecified number of bits inthe accumulator to Y0 – Y6
K7 C10
Location Constant
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
K7Y0
Location Constant
C16 C15 C14 C13 C12 C11 C10
OFFONONONOFFOFFOFF
Y6 Y5 Y4 Y3 Y2 Y1 Y0
OFFONONONOFFOFFOFF
The unused accumulator bits are set to zero
Direct SOFT32
STR$ SHFT ENT
2C
0A
SHFTANDSTL
3D
5F
SHFT2
C1
B0
A7
H ENT
OUTGX SHFT
5F
DS Used
HPP Used
DirectSOFT
Load Address (LDA)The Load Address instruction is a 16-bit instruction. Itconverts any octal value or address to the HEX equivalentvalue and loads the HEX value into the accumulator. Thisinstruction is useful when an address parameter is required,since all addresses for the DL06 system are in octal.
NOTE: Two consecutive Load instructions will place the value of the first load instruction onto theaccumulator stack.
In the following example, when X1 is on, the octal number 40400 will be converted to aHEX 4100 and loaded into the accumulator using the Load Address instruction. The value inthe lower 16 bits of the accumulator is copied to V2000 using the Out instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–60
Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
O aaaLDA
Operand Data Type DL06 Rangeaaa
Octal Address . . . . . . . . . . . . . . . . . . . . . . . . . . O See memory map
1B ENT
4E
0A
4E
0A
0A ENT
Handheld Programmer Keystrokes
Direct SOFT32
LDA
O 40400
X1
Load The HEX equivalent tothe octal number into thelower 16 bits of theaccumulator
OUT
V2000
Copy the value in lower 16bits of the accumulator toV2000
V2000
Acc.
Hexadecimal
4 1 0 0
4 1 0 0
0 0 0 0 4 1 0 0
Octal
4 0 4 0 0
The unused accumulator bits are set to zero
STR$
SHFTANDSTL
3D
0A
OUTGX SHFT
ANDV
2C
0A
0A ENT
0A
Discrete Bit Flags DescriptionSP70 On anytime the value in the accumulator is negative.SP76 On when any instruction loads a value of zero into the accumulator.
DS Used
HPP Used
DirectSOFT
Load Accumulator Indexed (LDX)Load Accumulator Indexed is a 16-bit instruction that specifies asource address (V-memory) which will be offset by the value inthe first stack location. This instruction interprets the value inthe first stack location as HEX. The value in the offset address(source address + offset) is loaded into the lower 16 bits of theaccumulator. 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 aHEX address and load the value into the accumulator.
NOTE: Two consecutive Load instructions will place the value of the first load instruction onto theaccumulator stack.
In the following example, when X1 is on, the HEX equivalent for octal 25 will be loaded intothe accumulator (this value will be placed on the stack when the Load Accumulator Indexedinstruction is executed). V-memory location V1410 will be added to the value in the firstlevel of the stack and the value in this location (V1435 = 2345) is loaded into the lower 16bits of the accumulator using the Load Accumulator Indexed instruction. The value in thelower 16 bits of the accumulator is output to V1500 using the Out instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–61
Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
A aaaLDX
Operand Data Type DL06 RangeA aaa aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory map See memory map
Copy the value in the lower16 bits of the accumulatorto V1500
LDA
O 25
X1
LDX
V1410
OUT
V1500
Acc. 0 0 0 0 0 0 1 5
Hexadecimal
0 0 1 5
Octal
2 5
The unused accumulator bits are set to zero
V1500
Acc.
Octal
1 4 3 5
2 3 4 5
0 0 0 0 2 3 4 5
V
Octal
1 4 1 0
The unused accumulator bits are set to zero
+ 1 5
HEX Value in 1st stack location
0 0 0 0 0 0 1 5Level 1
X X X X X X X XLevel 2
X X X X X X X XLevel 3
X X X X X X X XLevel 4
X X X X X X X XLevel 5
X X X X X X X XLevel 6
X X X X X X X XLevel 7
X X X X X X X XLevel 8
Accumulator Stack
V=
Load The HEX equivalent tooctal 25 into the lower 16bits of the accumulator
Move the offset to the stack.Load the accumulator withthe address to be offset
The value in V1435is 2345
Handheld Programmer Keystrokes
STR$
SHFTANDSTL
3D
SHFT
1B ENT
2C
0A
ENT1
B5
F0
A0
APREV
ANDSTL
3D ENT
5F
OUTGX
SETX
1B
4E
1B
0A
PREV PREV
ENT
Discrete Bit Flags DescriptionSP53 On when the pointer is outside of the available range.SP70 On anytime the value in the accumulator is negative.SP76 On when any instruction loads a value of zero into the accumulator.
DS Used
HPP Used
Load Accumulator Indexed from Data Constants (LDSX)The Load Accumulator Indexed from Data Constants is a 16-bitinstruction. The instruction specifies a Data Label Area (DLBL)where numerical or ASCII constants are stored. This value will beloaded into the lower 16 bits.
The LDSX instruction uses the value in the first level of the accumulator stack as an offset todetermine which numerical or ASCII constant within the Data Label Area will be loaded intothe accumulator. The LDSX instruction interprets the value in the first level of theaccumulator stack as a HEX value.
Helpful Hint: — The Load Address instruction can be used to convert octal to HEX andload the value into the accumulator.
NOTE: Two consecutive Load instructions will place the value of the first load instruction onto theaccumulator stack.
In the following example when X1 is on, the offset of 1 is loaded into the accumulator. Thisvalue will be placed into the first level of the accumulator stack when the LDSX instruction isexecuted. The LDSX instruction specifies the Data Label (DLBL K2) where the numericalconstant(s) are located in the program and loads the constant value, indicated by the offset inthe stack, into the lower 16 bits of the accumulator.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–62
Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
LDSX
K aaa
Operand Data Type DL06 Rangeaaa
Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 1-FFFF
LD
K1
X1
Load the offset value of 1 (K1) into the lower 16bits of the accumulator.
LDSX
K2
Move the offset to the stack.Load the accumulator with the data labelnumber
END
K2
NCON
K3333
NCON
K2323
NCON
K4549
Acc. 0 0 0 0 0 0 0 1
Hexadecimal
0 0 0 1
The unused accumulator bits are set to zero
Value in 1st. level of stack isused as offset. The value is 1
Offset 0
Offset 1
Offset 2
V2000
Acc.
2 3 2 3
0 0 0 0 2 3 2 3
0 0 0 0 0 0 0 1Level 1
X X X X X X X XLevel 2
X X X X X X X XLevel 3
X X X X X X X XLevel 4
X X X X X X X XLevel 5
X X X X X X X XLevel 6
X X X X X X X XLevel 7
X X X X X X X XLevel 8
Accumulator Stack
Acc. 0 0 0 0 0 0 0 2
K
Constant
0 0 0 2
The unused accumulator bits are set to zero
The unused accumulator bits are set to zero
Copy the value in the lower16 bits of the accumulatorto V2000
OUT
V2000
.
. .
DLBL
DLBL
Discrete Bit Flags DescriptionSP53 On when the pointer is outside of the available range.SP70 On anytime the value in the accumulator is negative.SP76 On when any instruction loads a value of zero into the accumulator.
DS Used
HPP Used
Load Real Number (LDR)The Load Real Number instruction loads a real numbercontained in two consecutive V-memory locations, or an 8-digitconstant into the accumulator.
DirectSOFT allows you to enter real numbers directly, by usingthe leading “R” to indicate a real number entry. You can enter aconstant such as Pi, shown in the example to the right. To enternegative numbers, use a minus (–) after the “R”.
For very large numbers or very small numbers, you can useexponential notation. The number to the right is 5.3 million.The OUTD instruction stores it in V1400 and V1401.
These real numbers are in the IEEE 32-bit floating point format,so they occupy two V-memory locations, regardless of how bigor small the number may be! If you view a stored real number inhex, binary, or even BCD, the number shown will be verydifficult to decipher. Just like all other number types, you mustkeep track of real number locations in memory, so they can beread with the proper instructions later.
The previous example above stored a real number in V1400 andV1401. Suppose that now we want to retrieve that number. Justuse the Load Real with the V data type, as shown to the right.Next we could perform real math on it, or convert it to a binarynumber.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–63
Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapReal Constant . . . . . . . . . . . . . . . . . . . . . . . . . . R -3.402823E+38 to + -3.402823E+38
1B ENT
ENT2
C
Handheld Programmer KeystrokesSTR
$
SHFTANDSTL
3D SHFT
JMPK
1B ENT
SHFTANDSTL
3D
RSTS
SETX
SHFT4
ETMR
N3
D ENT
SHFT3
DANDSTL
1B
ANDSTL
2C ENT
SHFTTMR
N2
CINST#O
TMRN
3D
3D
3D
3D ENT
SHFTTMR
N2
CINST#O
TMRN
3D
3D ENT
2C
2C
SHFTTMR
N2
CINST#O
TMRN ENT
4E
5F
4E
9J
OUTGX SHFT
ANDV
2C
0A
0A ENT
0A
A aaaLDR
R3.14159LDR
R5.3E6LDR
V1400OUTD
V1400LDR
Discrete Bit Flags DescriptionSP70 On anytime the value in the accumulator is negative.SP76 On when any instruction loads a value of zero into the accumulator.
DS Used
HPP N/A
Out (OUT)The Out instruction is a 16-bit instruction that copies the valuein the lower 16 bits of the accumulator to a specified V-memorylocation (Aaaa).
In the following example, when X1 is on, the value in V2000 will be loaded into the lower 16bits of the accumulator using the Load instruction. The value in the lower 16 bits of theaccumulator are copied to V2010 using the OUT instruction.
Out Double (OUTD)The Out Double instruction is a 32 bit instruction that copies thevalue in the accumulator to two consecutive V-memory locationsat a specified starting location (Aaaa).
In the following example, when X1 is on, the 32-bit value in V2000 and V2001 will beloaded into the accumulator using the Load Double instruction. The value in theaccumulator is output to V2010 and V2011 using the OUTD instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–64
Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
OUTA aaa
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory map
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory map
Discrete Bit Flags DescriptionSP53 On if CPU cannot solve the logic.
Discrete Bit Flags DescriptionSP53 On if CPU cannot solve the logic.
2C
0A
0A
0A ENT
1B ENT
Handheld Programmer Keystrokes
LD
V2000
X1
Load the value in V2000 intothe lower 16 bits of theaccumulator
OUT
V2010
Copy the value in the lower16 bits of the accumulator toV2010 V2010
Acc.
V2000
8 9 3 5
8 9 3 5
0 0 0 0 8 9 3 5 8 9 3 5
Direct SOFT32
The unused accumulator bits are set to zero
STR$
SHFTANDSTL
3D
OUTGX SHFT
ANDV
2C
0A
1B
0A ENT
OUTDA aaa
2C
0A
0A
0A ENT
2C
0A
1B
0A ENT
1B ENT
Handheld Programmer Keystrokes
V2010
Acc.
V2000
6 7 3 9 5 0 2 6 5 0 2 6
V2001
6 7 3 9 5 0 2 6
V2011
6 7 3 9 5 0 2 6
Load the value in V2000 andV2001 into the accumulator
LDD
OUTD
Copy the value in theaccumulator to V2010 andV2011
V2000
X1
V2010
Direct SOFT32
STR$
SHFTANDSTL
3D
3D
OUTGX SHFT
3D
DS Used
HPP Used
DS Used
HPP Used
DirectSOFT
DirectSOFT
Out Formatted (OUTF)The Out Formatted instruction outputs 1–32 bits from theaccumulator to the specified discrete memory locations. Theinstruction requires a starting location (Aaaa) for thedestination and the number of bits (Kbbb) to be output.
In the following example, when C0 is on, the binary pattern of C10–C16 (7 bits) will beloaded into the accumulator using the Load Formatted instruction. The lower 7 bits of theaccumulator are output to Y0–Y6 using the OUTF instruction.
Pop (POP)The Pop instruction moves the value from the first level of theaccumulator stack (32 bits) to the accumulator and shifts eachvalue in the stack up one level.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–65
Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Discrete Bit Flags DescriptionSP63 ON when the result of the instruction causes the value in the accumulator to be zero.
bbbKOUTF A aaa
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa bbb
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–777 ––Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0–777 ––Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . C 0–1777 ––Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K –– 1–32
0A
7H ENT
Handheld Programmer Keystrokes
LDF C10
K7
C0
Load the status of 7consecutive bits (C10–C16)into the accumulator
OUTF Y20
K7
Copy the value of thespecified number of bitsfrom the accumulator toY20–Y26
K7C10
Location Constant
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
K7 Y20
Location Constant
C16 C15 C14 C13 C12 C11 C10
OFFONONONOFFOFF OFF
Y21 Y20 Y23 Y22 Y26 Y25 Y24
OFFONONONOFFOFFOFF
The unused accumulator bits are set to zero
Accumulator
Direct SOFT32
STR$ SHFT ENT
2C
0A
SHFTANDSTL
3D
5F
SHFT2
C1
B0
A7
H ENT
OUTGX SHFT
5F
POP
DS Used
HPP Used
DS Used
HPP Used
DirectSOFT
Pop Instruction (cont’d)In the example below, when C0 is on, the value 4545 that was on top of the stack is movedinto the accumulator using the Pop instruction The value is output to V2000 using the OUTinstruction. The next Pop moves the value 3792 into the accumulator and outputs the valueto V2001. The last Pop moves the value 7930 into the accumulator and outputs the value toV2002. Please note if the value in the stack were greater than 16 bits (4 digits) the OUTDinstruction would be used and 2 V-memory locations for each OUTD must be allocated.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–66
Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Handheld Programmer Keystrokes
Acc.
Pop the 1st. value on the stack into theaccumulator and move stack valuesup one location
POPC0
POP
POP
V2000 4 5 4 5
X X X X X X X X X X X X
Acc. 0 0 0 0 4 5 4 5 4 5 4 5
Previous Acc. value
Current Acc. value
0 0 0 0 3 7 9 2 0 0
Level 1
0 0 0 0 7 9 3 0 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 Level 5
X X X X X X X X Level 6
X X X X X X X X Level 7
X X X X X X X X Level 8
Accumulator Stack
0 0 0 0 7 9 3 0 Level 1
X X X X X X X X 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 Level 5
X X X X X X X X Level 6
X X X X X X X X Level 7
X X X X X X X X Level 8
Accumulator Stack
X X X X X X X X Level 1
X X X X X X X X 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 Level 5
X X X X X X X X Level 6
X X X X X X X X Level 7
X X X X X X X X Level 8
Accumulator Stack
Pop the 1st. value on the stack into theaccumulator and move stack valuesup one location
Pop the 1st. value on the stack into theaccumulator and move stack valuesup one location
OUT
V2000
OUT
V2001
Acc.
V2001 3 7 9 2
0 0 0 0 4 5 4 5 4 5 4 5
Acc. 0 0 0 0 3 7 9 2
Previous Acc. value
Current Acc. value
Acc.
V2002 7 9 3 0
0 0 0 0 3 7 9 2
Acc. 0 0 0 0 7 9 3 0
Previous Acc. value
Current Acc. value
OUT
V2002
Copy the value in the lower 16 bits ofthe accumulator to V2000
Copy the value in the lower 16 bits ofthe accumulator to V2001
Copy the value in the lower 16 bits ofthe accumulator to V2002
Direct SOFT32
STR$ SHFT
2C
0A ENT
SHFTCV
PINST#O
CVP ENT
OUTGX SHFT
ANDV
2C
0A
0A ENT
0A
SHFTCV
PINST#O
CVP ENT
OUTGX SHFT
ANDV
2C
0A ENT
0A
1B
SHFTCV
PINST#O
CVP ENT
OUTGX SHFT
ANDV
2C
0A ENT
0A
2C
SHFT
SHFT
SHFT
DirectSOFT
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–67
Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Out Indexed (OUTX)The OUTX instruction is a 16 bit instruction. It copies a 16bit or 4 digit value from the first level of the accumulatorstack to a source address offset by the value in theaccumulator(V-memory + offset).This instruction interpretsthe offset value as a HEX number. The upper 16 bits of theaccumulator are set to zero.
In the following example, when X1 is on, the constant value 3544 is loaded into theaccumulator. This is the value that will be output to the specified offset V-memory location(V1525). The value 3544 will be placed onto the stack when the LDA instruction is executed.Remember, two consecutive LD instructions places the value of the first load instruction ontothe stack. The LDA instruction converts octal 25 to HEX 15 and places the value in theaccumulator. The OUTX instruction outputs the value 3544 which resides in the first level ofthe accumulator stack to V1525.
aaaA
O UT X
2 5
X1
OUTX
0 0 0 0 3 5 4 4
Constant
3 5 4 4
Acc.
3 5 4 4
0 0 0 0 0 0 1 5
The unused accumulatorbits are set to zero
0 0 0 0 3 5 4 4Level 1
X X X X X X X XLevel 2
X X X X X X X XLevel 3
X X X X X X X XLevel 4
X X X X X X X XLevel 5
X X X X X X X XLevel 6
X X X X X X X XLevel 7
X X X X X X X XLevel 8
0 0 1 52 5
DirectSOFT32
V 1 5 2 51 5 0 0V + =
The unused accumulatorbits are set to zero
Acc.
Octal HEX
Octal Octal Octal
The hex 15 converts to 25 octal, which is added to the baseaddress of V1500 to yieldthe final answer
V1525
LD
LDA
K3544
O25
V1500
Load the accumulator withthe value 3544
Load the HEX equivalent tooctal 25 into the lower 16 bits of the accumulator. This is theoffset for the Out Indexedinstruction, which determines the final destinaltion address
Copy the value in the firstlevel of the stack to theoffset address 1525(V1500+25)
Accumulator Stack
Handheld Programmer Keystrokes
STR$
SHFTANDSTL
3D
SHFT
1B ENT
ENT
2C
0A
ENT
1B
5F
0A
0A
PREV
ANDSTL
3D ENT
5F
3D
5F
4E
4E
OUTGX SHFT
SETX
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory map
Discrete Bit Flags DescriptionSP53 On if CPU cannot solve the logic.
DS Used
HPP Used
DirectSOFT
Out Least (OUTL)The OUTL instruction copies the value in the lower eightbits of the accumulator to the lower eight bits of the specifiedV-memory location (i.e., it copies the low byte of the lowword of the accumulator).
In the following example, when X1 is on, the value in V1400 will be loaded into the lower 16bits of the accumulator using the LD instruction. The value in the lower 8 bits of theaccumulator is copied to V1500 using the OUTL instruction.
Out Most (OUTM)The OUTM instruction copies the value in the upper eight bitsof the lower sixteen bits of the accumulator to the upper eightbits of the specified V-memory location (i.e., it copies the highbyte of the low word of the accumulator).
In the following example, when X1 is on, the value in V1400 will be loaded into the lower 16bits of the accumulator using the LD instruction. The value in the upper 8 bits of the lower16 bits of the accumulator is copied to V1500 using the OUTM instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–68
Chapter 5: Standard RLL Instructions - Accumulator/Stack Load and Output Data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
A aaaO UT L
LD
Acc.
8 9 3 5
0 0 3 5
0 0 0 0 8 9 3 5
DirectSOFT32X1
V1400
OUTL
V1500
Load the value in V1400 intothe lower 16 bits of theaccumulater
Copy the value in the lower8 bits of the accumulator toV1500
The unused accumulatorbits are set to zero
V1400
V1500
Handheld Programmer Keystrokes
1B ENT
1B
4E
0A
0A ENT
STR$
SHFTANDSTL
3D
OUTGX SHFT
ANDSTL
1B
5F
0A
0A ENT
A aaaO UT M
A aaaO UT M
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map
LD
Acc.
8 9 3 5
8 9 0 0
0 0 0 0 8 9 3 5
DirectSOFT32
Handheld Programmer Keystrokes
1B ENT
1B
4E
0A
0A ENT
STR$
SHFTANDSTL
3D
OUTGX SHFT
ORSTM
1B
5F
0A
0A ENT
X1
V1400
OUTM
V1500
Load the value in V1400 intothe lower 16 bits of theaccumulator
Copy the value in the upper8 bits of the lower 16 bits ofthe accumulator to 1500
The unused accumulatorbits are set to zero
V1400
V1500
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map
DS Used
HPP Used
DS Used
HPP Used
DirectSOFT
DirectSOFT
Logical Instructions (Accumulator)
And (AND logical)The AND instruction is a 16-bit instruction that logicallyANDs the value in the lower 16 bits of the accumulator with aspecified V-memory location (Aaaa). The result resides in theaccumulator. The discrete status flag indicates if the result ofthe AND is zero.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the value in V2000 will be loaded into theaccumulator using the LD instruction. The value in the accumulator is ANDed with thevalue in V2006 using the AND instruction. The value in the lower 16 bits of the accumulatoris output to V2010 using the OUT instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–69
Chapter 5: Standard RLL Instructions - Logical
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ANDA aaa
AND (V2006)
Handheld Programmer Keystrokes
LD
V2000
X1
Load the value in V2000 intothe lower 16 bits of theaccumulator
AND
V2006
AND the value in theaccumulator with the value in V2006
OUT
V2010
Copy the lower 16 bits of theaccumulator to V2010
0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0
0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 00 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
V2000
2 8 7 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
The upper 16 bits of the accumulatorwill be set to 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
Acc.
0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0Acc.
0 1 1 0 1 0 1 0 0 0 1 1 1 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 06A38
V2010
2 8 3 8
Direct SOFT32
STR$
SHFTANDSTL
3D
SHFTAND
V2
C0
A0
A ENT6
G
OUTGX SHFT
ANDV
2C
0A
1B
0A ENT
ANDV
1B ENT
2C
0A
0A
0A ENT
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory map
Discrete Bit Flags DescriptionSP63 ON if the result in the accumulator is zero.SP70 ON when the value loaded into the accumulator is zero.
DS Used
HPP Used
DirectSOFT
And Double (ANDD)ANDD is a 32-bit instruction that logically ANDs the value inthe accumulator with two consecutive V-memory locations or an8 digit (max.) constant value (Aaaa). The result resides in theaccumulator. Discrete status flags indicate if the result of theANDD is zero or a negative number (the most significant bit ison).
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the value in V2000 and V2001 will be loaded intothe accumulator using the LDD instruction. The value in the accumulator is ANDed with36476A38 using the ANDD instruction. The value in the accumulator is output to V2010and V2011 using the OUTD instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–70
Chapter 5: Standard RLL Instructions - Logical
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
K aaaANDD
Operand Data Type DL06 Rangeaaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 0–FFFFFFFF
AND 36476A38
Handheld Programmer Keystrokes
LDDV2000
X1
Load the value in V2000 andV2001 into the accumulator
ANDDK36476A38
AND the value in theaccumulator with the constant value36476A38
OUTDV2010
Copy the value in theaccumulator to V2010 andV2011
0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0
0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 00 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
2 8 7 A
0 0 0 1 0 1 0 0 0 1 0 0 0 1 1 0
0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
Acc.
Acc.
V2010
2 8 3 8
5 4 7 E ?
V2011
1 4 4 6
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
0 1 1 0 1 0 1 0 0 0 1 1 1 0 0 00 0 1 1 0 1 1 0 0 1 0 0 0 1 1 1
STR$
SHFT ANDSTL
3D
SHFT
OUTGX
3D
SHFT 3D
ANDV SHFT 3
D8
I3
DSHFTSHFTJMPK
0A
3D
6G
4E
7H
6G ENT
1B ENT
2C
0A
1B
0A ENT
2C
0A
0A ENT0
A
V2000 V2000DirectSOFT 5
Discrete Bit Flags DescriptionSP63 ON if the result in the accumulator is zero.SP70 ON if the result in the accumulator is negative
DS Used
HPP Used
DirectSOFT
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–71
Chapter 5: Standard RLL Instructions - Logical
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
And Formatted (ANDF)The ANDF instruction logically ANDs the binary value inthe accumulator with a specified range of discrete memorybits (1–32). The instruction requires a starting location(Aaaa) and number of bits (Kbbb) to be ANDed. Discretestatus flags indicate if the result is zero or a negativenumber (the most significant bit =1).
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the LDF instruction loads C10–C13 (4 binary bits)into the accumulator. The accumulator contents is logically ANDed with the bit pattern fromY20–Y23 using the ANDF instruction. The OUTF instruction outputs the accumulator’slower four bits to C20–C23.
bbbKANDF A aaa
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B aaa bbb
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0-777 -Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0-777 -Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . C 0-1777 -Stage Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 0-1777 -Timer Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0-377 -Counter Bits . . . . . . . . . . . . . . . . . . . . . . . . . . CT 177 -Special Relays . . . . . . . . . . . . . . . . . . . . . . . . . SP 0-777 -Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K - 1-32
Discrete Bit Flags DescriptionSP63 ON if the result in the accumulator is zero.SP70 ON if the result in the accumulator is negative
ndar
dR
LL
C10
K4
X1
K4
K4C10
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
C10C11C12C13
Y20Y21Y22Y23
Accumulator
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0Acc.
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
1 0 0 0
C20C21C22C23
DirectSOFT32
Load the status of 4consecutive bits (C10-C13)into the accumulator
ANDF Y20
K4
And the binary bit pattern (Y20-Y23) with the value inthe accumulator
OUTF C20
Copy the value in the lower 4 bits in accumulator toC20-C23
AND (Y20-Y23)
The unused accumulator bits are set to zero
Location Constant
ConstantLocation
ON ON ON OFF
ON OFFOFFOFF
ON OFFOFFOFFC20 K4
LDF
Handheld Programmer Keystrokes
1B ENT
1B
4E
0A
0A
ENT
STR$
SHFTANDSTL
3D
OUTGX SHFT
5F
5F
ANDV SHFT
5F
NEXT NEXT NEXT NEXT
NEXT2
C4
E ENT
PREV PREV0
A2
C4
E ENT
DS Used
HPP Used
DirectSOFT
And with Stack (ANDS)The ANDS instruction is a 32-bit instruction that logically ANDsthe value in the accumulator with the first level of the accumulatorstack. The result resides in the accumulator. The value in the firstlevel of the accumulator stack is removed from the stack and allvalues are moved up one level. Discrete status flags indicate if theresult of the ANDS is zero or a negative number (the mostsignificant bit is on).
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 ANDedwith the binary value in the first level or the accumulator stack. The result resides in theaccumulator. The 32-bit value is then output to V1500 and V1501.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–72
Chapter 5: Standard RLL Instructions - Logical
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ANDS
AND
X1
0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0
0 0 1 0 1 0 0 0 0 0 1 1 1 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
V1400
2 8 7 A
0 0 0 1 0 1 0 0 0 1 0 0 0 1 1 0
0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
Acc.
Acc.
V1500
2 8 3 8
5 4 7 E
1 4 4 6
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
DirectSOFT32
0 1 1 0 1 0 1 0 0 0 1 1 1 0 0 00 0 1 1 0 1 1 0 0 1 0 0 0 1 1 1
LDD
V1400
Load the value in V1400 and1401 into the accumulator
ANDS
AND the value in theaccumulator with the first level of the accumulator stack
OUTD
V1500
(top of stack)
36476A38
V1501
V1401
Copy the value in theaccumulator to V1500and 1501
Handheld Programmer Keystrokes
1B ENT
1B
4E
0A
0A ENT
STR$
SHFTANDSTL
3D
OUTGX SHFT
3D
1B
5F
0A
0A ENT
3D
ANDV SHFT
RSTS ENT
Discrete Bit Flags DescriptionSP63 ON if the result in the accumulator is zero.SP70 ON if the result in the accumulator is negative
DS Used
HPP Used
DirectSOFT
Or (OR)The Or instruction is a 16-bit instruction that logically ORs thevalue in the lower 16 bits of the accumulator with a specified V-memory location (Aaaa). The result resides in the accumulator.The discrete status flag indicates if the result of the OR is zero.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the value in V2000 will be loaded into theaccumulator using the Load instruction. The value in the accumulator is ORed with V2006using the OR instruction. The value in the lower 16 bits of the accumulator is output toV2010 using the Out instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–73
Chapter 5: Standard RLL Instructions - Logical
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ORA aaa
3D
OR (V2006)
Handheld Programmer Keystrokes
LD
V2000
X1
Load the value in V2000 intothe lower 16 bits of theaccumulator
OR
V2006
Or the value in theaccumulator with the value in V2006
OUT
V2010
Copy the value in the lower16 bits of the accumulator toV2010
0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0
0 1 1 0 1 0 1 0 0 1 1 1 1 0 1 00 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
V2000
2 8 7 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
The upper 16 bits of the accumulatorwill be set to 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 131 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
Acc.
0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0Acc.
0 1 1 0 1 0 1 0 0 0 1 1 1 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 06A38
V2010
6 A 7 A
Direct SOFT32
STR$
1B ENT
SHFTANDSTL
2C
0A
0A
0A ENT
SHFTAND
V2
C0
A0
A ENT6
G
OUTGX SHFT
ANDV
2C
0A
1B
0A ENT
ORQ
0
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory map
Discrete Bit Flags DescriptionSP63 ON if the result in the accumulator is zero.SP70 ON if the result in the accumulator is negative
DS Used
HPP Used
DirectSOFT
Or Double (ORD)ORD is a 32-bit instruction that logically ORs the value in theaccumulator with the value (Aaaa), which is either twoconsecutive V-memory locations or an 8-digit (max.) constantvalue. The result resides in the accumulator. Discrete status flagsindicate if the result of the ORD is zero or a negative number(the most significant bit is on).
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the value in V2000 and V2001 will be loaded intothe accumulator using the LDD instruction. The value in the accumulator is ORed with36476A38 using the ORD instruction. The value in the accumulator is output to V2010 andV2011 using the OUTD instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–74
Chapter 5: Standard RLL Instructions - Logical
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
K aaaORD
JMPK
OR 36476A38
Handheld Programmer Keystrokes
LDD
V2000
X1
Load the value in V2000 andV2001 into accumulator
ORD
K36476A38
OR the value in theaccumulator with the constant value36476A38
OUTD
V2010
Copy the value in theaccumulator to V2010 andV2011
0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0
0 1 1 0 1 0 1 0 0 1 1 1 1 0 1 00 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
2 8 7 A
0 1 1 1 0 1 1 0 0 1 1 1 1 1 1 1
0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
Acc.
Acc.
V2010
6 A 7 A
5 4 7 E
V2011
7 6 7 F
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
Direct SOFT32
0 1 1 0 1 0 1 0 0 0 1 1 1 0 0 00 0 1 1 0 1 1 0 0 1 0 0 0 1 1 1
STR$
SHFTANDSTL
3D
SHFT
OUTGX
3D
SHFT3
D
SHFT3
DOR
Q8
I3
DSHFTSHFT0
A3
D6
G4
E7
H6
G ENT
1B ENT
2C
0A
0A
0A ENT
2C
0A
1B
0A ENT
V2000V2001
Operand Data Type DL06 Rangeaaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 0–FFFFFFFF
Discrete Bit Flags DescriptionSP63 ON if the result in the accumulator is zero.SP70 ON if the result in the accumulator is negative
DS Used
HPP Used
DirectSOFT
Or Formatted (ORF)The ORF instruction logically ORs the binary value in theaccumulator and a specified range of discrete bits (1–32).The instruction requires a starting location (Aaaa) and thenumber of bits (Kbbb) to be ORed. Discrete status flagsindicate if the result is zero or negative (the mostsignificant bit =1).
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the LDF instruction loads C10–C13 (4 binary bits)into the accumulator. The ORF instruction logically ORs the accumulator contents withY20–Y23 bit pattern. The ORF instruction outputs the accumulator’s lower four bits toC20–C23.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–75
Chapter 5: Standard RLL Instructions - Logical
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
bbbKORF A aaa
Operand Data Type DL06 RangeA/B aaa bbb
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0-777 - -Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0-777 - -Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . C 0-1777 - -Stage Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 0-1777 - -Timer Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0-377 - -Counter Bits . . . . . . . . . . . . . . . . . . . . . . . . . . CT 0-177 - -Special Relays . . . . . . . . . . . . . . . . . . . . . . . . . SP 0-777 - -Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K - 1-32
X1
K4C10
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
Y20Y21Y22Y23
The unused accumulator bits are set to zero
OR (Y20--Y23)
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
1 0 0 0
DirectSOFT32
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0Acc.
Constant
C20 K4 ON ON ON
OFF
OFF
OFFON ON
C13 C12 C11 C10
C23 C22 C21 C20
ON OFF OFF OFF
Location Constant
Location
LDF C10
K4
ORF Y20
K4
OUTF C20
K4
Load the status fo 4consecutive bits (C10-C13)into the accumulator
OR the binary bit pattern(Y20 - Y23) with the value inthe accumulator
Copy the specified numberof bits from the accumulatorto C20-C23
Handheld Programmer Keystrokes
1B ENT
1B
4E
0A
0A
ENT
STR$
SHFTANDSTL
3D
OUTGX SHFT
5F
5F
ORQ SHFT
5F
NEXT NEXT NEXT NEXT
NEXT2
C4
E ENT
PREV PREV0
A2
C4
E ENT
Discrete Bit Flags DescriptionSP63 ON if the result in the accumulator is zero.SP70 ON if the result in the accumulator is negative
DS Used
HPP Used
DirectSOFT
Or with Stack (ORS)The ORS instruction is a 32-bit instruction that logicallyORs the value in the accumulator with the first level of theaccumulator stack. The result resides in the accumulator.The value in the first level of the accumulator stack isremoved from the stack and all values are moved up onelevel. Discrete status flags indicate if the result of the ORSis zero or a negative number (the most significant bit ison).
In the following example when X1 is on, the binary value in the accumulator will be ORedwith the binary value in the first level of the stack. The result resides in the accumulator.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–76
Chapter 5: Standard RLL Instructions - Logical
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
O R S
LDD
V1400
0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0
0 1 1 0 1 0 1 0 0 1 1 1 1 0 1 00 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
V1400
2 8 7 A
0 1 1 1 0 1 1 0 0 1 1 1 1 1 1 1
0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
Acc.
Acc.
V1500
6 A 7 A
V1401
5 4 7 E
V1501
7 6 7 F
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
0 1 1 0 1 0 1 0 0 0 1 1 1 0 0 00 0 1 1 0 1 1 0 0 1 0 0 0 1 1 1
DirectSOFT32X1
Load the value in V1400 andV1401 in the accumulator
ORS
OR the value in the accumulator with the value in the first level of theaccumulator stack
OUTD
V1500
36476A38OR (top of stack)
Copy the value in theaccumulator to V1500 andV1501
Handheld Programmer Keystrokes
1B ENT
1B
4E
0A
0A ENT
STR$
SHFTANDSTL
3D
OUTGX SHFT
3D
1B
5F
0A
0A ENT
3D
ORQ SHFT
RSTS ENT
Discrete Bit Flags DescriptionSP63 ON if the result in the accumulator is zero.SP70 ON if the result in the accumulator is negative.
DS Used
HPP Used
DirectSOFT
Exclusive Or (XOR)The XOR instruction is a 16-bit instruction thatperforms an exclusive OR of the value in the lower 16bits of the accumulator and a specified V-memorylocation (Aaaa). The result resides in the in theaccumulator. The discrete status flag indicates if theresult of the XOR is zero.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the value in V2000 will be loaded into theaccumulator using the LD instruction. The value in the accumulator is exclusive ORed withV2006 using the XOR instruction. The value in the lower 16 bits of the accumulator isoutput to V2010 using the OUT instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–77
Chapter 5: Standard RLL Instructions - Logical
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
XORA aaa
XOR (V2006)
Handheld Programmer Keystrokes
LD
V2000
X1
Load the value in V2000 intothe lower 16 bits of theaccumulator
XOR
V2006
XOR the value in theaccumulator with the value in V2006
OUT
V2010
Copy the lower 16 bits of theaccumulator to V2010
0 0 1 0 10 0 0 0 1 1 1 1 0 1 0
0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 00 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
V2000
2 8 7 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
The upper 16 bits of the accumulatorwill be set to 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
Acc.
0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0Acc.
6A38
V2010
4 2 4 2
Direct SOFT32
0 1 1 0 1 0 1 0 0 0 1 1 1 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
STR$ SHFT
SETX
1B ENT
SHFTANDSTL
3D SHFT
ANDV
2C
0A
0A
0A ENT
SHFTAND
V2
C0
A0
A ENT6
G
OUTGX SHFT
ANDV
2C
0A
1B
0A ENT
ORQSHFT SHFT
SETX
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory map
Discrete Bit Flags DescriptionSP63 ON if the result in the accumulator is zero.SP70 ON if the result in the accumulator is negative.
DS Used
HPP Used
DirectSOFT
Exclusive Or Double (XORD)The XORD is a 32-bit instruction that performs an exclusiveOR of the value in the accumulator and the value (Aaaa),which is either two consecutive V-memory locations or an 8digit (max.) constant. The result resides in the accumulator.Discrete status flags indicate if the result of the XORD is zeroor a negative number (the most significant bit is on).
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the value in V2000 and V2001 will be loaded intothe accumulator using the LDD instruction. The value in the accumulator is exclusivelyORed with 36476A38 using the XORD instruction. The value in the accumulator is outputto V2010 and V2011 using the OUTD instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–78
Chapter 5: Standard RLL Instructions - Logical
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
K aaaXORD
JMPKSHFTSHFT
3D
ORQ
XORD 36476A38
Handheld Programmer Keystrokes
LDD
V2000
X1
Load the value in V2000 andV2001 into the accumulator
XORD
K36476A38
XORD the value in theaccumulator with the constant value36476A38
OUTD
V2010
Copy the value in theaccumulator to V2010and V2011
0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0
0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 00 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
V2000
2 8 7 A
0 1 1 0 0 0 1 0 0 0 1 1 1 0 0 1
0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
Acc.
Acc.
V2010
4 2 4 2
V2001
5 4 7 E
V2011
6 2 3 9
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
Direct SOFT32
0 1 1 0 1 0 1 0 0 0 1 1 1 0 0 00 0 1 1 0 1 1 0 0 1 0 0 0 1 1 1
STR$
SHFTANDSTL
3D
3D
SHFTSET
X
OUTGX SHFT
3D
3D
6G
4E
8I
3DSHFTSHFT
0A
7H
6G ENT
1B ENT
2C
0A
0A
0A ENT
2C
0A
1B
0A ENT
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 0–FFFFFFFF
Discrete Bit Flags DescriptionSP63 ON if the result in the accumulator is zero.SP70 ON if the result in the accumulator is negative
DS Used
HPP Used
DirectSOFT
Exclusive Or Formatted (XORF)The XORF instruction performs an exclusive OR of thebinary value in the accumulator and a specified range ofdiscrete memory bits (1–32).
The instruction requires a starting location (Aaaa) and the number of bits (Bbbb) to beexclusive ORed. Discrete status flags indicate if the result of the XORF is zero or negative (themost significant bit =1).
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the binary pattern of C10–C13 (4 bits) will beloaded into the accumulator using the LDF instruction. The value in the accumulator will belogically exclusive ORed with the bit pattern from Y20–Y23 using the XORF instruction.The value in the lower 4 bits of the accumulator is output to C20–C23 using the OUTFinstruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–79
Chapter 5: Standard RLL Instructions - Logical
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
XO R F A aaabbbK
Sta
ndar
dR
LL
K4C10
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
C10C11C12C13
OFFONONOFF
Y20Y21Y22Y23
OFFONOFFON
Accumulator
0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0Acc.
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
1 0 1 0
C20C21C22C23OFFOFFONONK4C20Handheld Programmer Keystrokes
1B ENT
1B
4E
0A
0A
ENT
STR$
SHFTANDSTL
3D
OUTGX SHFT
5F
5F
ORQSHFT
SETX SHFT
5F
NEXT NEXT NEXT NEXT
NEXT2
C4
E ENT
PREV PREV0
A2
C4
E ENT
Location Constant
Location Constant
The unused accumulator bits are set to zero
DirectSOFT32
X1LDF C10
K4
X0RF Y20
K4
OUTF C20
K4
Load the status of 4consecutive bits (C10-C13)into the accumulator
Exclusive OR the binary bit pattern (Y20-Y23) with thevalue in the accumulator
Copy the specified numberof bits from the accumulatorto C20-C23
XORF (Y20-Y23)
Operand Data Type DL06 RangeA/B aaa bbb
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0-777 -Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0-777 -Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . C 0-1777 -Stage Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 0-1777 -Timer Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0-377 -Counter Bits . . . . . . . . . . . . . . . . . . . . . . . . . . CT 177 -Special Relays . . . . . . . . . . . . . . . . . . . . . . . . . SP 0-777 -Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K - 1-32
Discrete Bit Flags DescriptionSP63 ON if the result in the accumulator is zero.SP70 ON if the result in the accumulator is negative
DS Used
HPP Used
DirectSOFT
Exclusive Or with Stack (XORS)The XORS instruction is a 32-bit instruction that performs anExclusive Or of the value in the accumulator with the first level ofthe accumulator stack. The result resides in the accumulator. Thevalue in the first level of the accumulator stack is removed fromthe stack and all values are moved up one level. Discrete statusflags indicate if the result of the XORS is zero or a negativenumber (the most significant bit is on).
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the value in V1400 and V1401 will be loaded intothe accumulator using the LDD instruction. The binary value in the accumulator will beexclusively ORed with 36476A38 using the XORS instruction. The value in the accumulatoris output to V1500 and V1501 using the OUTD instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–80
Chapter 5: Standard RLL Instructions - Logical
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
XO R S
X1
0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0
0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 00 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
V1400
2 8 7 A
0 1 1 0 0 0 1 0 0 0 1 1 1 0 0 1
0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
Acc.
Acc.
V1500
4 2 4 2
V1401
5 4 7 E
V1501
6 2 3 9
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
0 1 1 0 1 0 1 0 0 0 1 1 1 0 0 00 0 1 1 0 1 1 0 0 1 0 0 0 1 1 1
DirectSOFT32
Handheld Programmer Keystrokes
1B ENT
1B
4E
0A
0A ENT
STR$
SHFTANDSTL
3D
OUTGX SHFT
3D
1B
5F
0A
0A ENT
3D
ORQSHFT
SETX ENTSHFT
RSTS
Copy the value in theaccumulator to V1500 and V1501
OUTD
V1500
Exclusive OR the valuein the accumulator with the value in thefirst level of the accumulator stack
LDD
V1400
Load the value in V1400 andV1401 into the accumulator
36476A38XOR (1st level of Stack)
XORS
Discrete Bit Flags DescriptionSP63 ON if the result in the accumulator is zero.SP70 ON if the result in the accumulator is negative
DS Used
HPP Used
DirectSOFT
Compare (CMP)The CMP instruction is a 16-bit instruction that compares thevalue in the lower 16 bits of the accumulator with the value in aspecified V-memory location (Aaaa). The corresponding statusflag will be turned on indicating the result of the comparison.The data format for this instruction is BCD/Hex, Decimal and Binary.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example when X1 is on, the constant 4526 will be loaded into the lower 16bits of the accumulator using the LD instruction. The value in the accumulator is comparedwith the value in V2000 using the CMP instruction. The corresponding discrete status flagwill be turned on indicating the result of the comparison. In this example, if the value in theaccumulator is less than the value specified in the CMP instruction, SP60 will turn on,energizing C30.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–81
Chapter 5: Standard RLL Instructions - Logical
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
CMPA aaa
Discrete Bit Flags DescriptionSP60 On when the value in the accumulator is less than the instruction value.SP61 On when the value in the accumulator is equal to the instruction value.SP62 On when the value in the accumulator is greater than the instruction value.
Handheld Programmer Keystrokes
V2000
Acc.
CONSTANT4 5 2 6 ?
8 9 4 5
0 0 0 0 4 5 2 64 5 2 6 ? ?
LD
Compare the value in theaccumulator with the valuein V2000
Load the constant value4526 into the lower 16 bits ofthe accumulator
K4526
CMP
X1
V2000
Compared with
SP60 C30
DirectSOFT
The unused accumulatorbits are set to zero
STR$
SHFT ANDSTL
3D SHFT JMP
K4
E5
F2
C6
G ENT
SHFT 2C
ORSTM
CVP
STR$ SHFT ENTSTRN
SP6
G0
A
OUTGX SHFT 2
C3
D0
A ENT
1B ENT
2C
0A
0A
0A ENTSHFT
OUT
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory map
DS Used
HPP Used
Compare Double (CMPD)The Compare Double instruction is a 32–bit instruction thatcompares the value in the accumulator with the value (Aaaa),which is either two consecutive V-memory locations or an 8–digit(max.) constant. The corresponding status flag will be turned onindicating the result of the comparison. The data format for this instruction is BCD/Hex,Decimal and Binary.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the value in V2000 and V2001 will be loaded intothe accumulator using the Load Double instruction. The value in the accumulator iscompared with the value in V2010 and V2011 using the CMPD instruction. Thecorresponding discrete status flag will be turned on, indicating the result of the comparison.In this example, if the value in the accumulator is less than the value specified in the Compareinstruction, SP60 will turn on energizing C30.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–82
Chapter 5: Standard RLL Instructions - Logical
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
CMPDA aaa
Handheld Programmer Keystrokes
LDD
Compare the value in theaccumulator with the valuein V2010 and V2011
Load the value in V2000 andV2001 into the accumulator
V2000
CMPD
X1
V2010
Compared with
SP60 C30
V2010
Acc.
V2000
4 5 2 6 7 2 9 9
V20014 5 2 6 7 2 9 9
V20116 7 3 9 5 0 2 6
DirectSOFT
STR$
SHFT ANDSTL
3D
SHFT 2C
ORSTM
CVP
STR$ SHFT ENTSTRN
SP6
G0
A
OUTGX SHFT 2
C3
D0
A ENT
3D
3D
1B ENT
ENT
2C
0A
0A ENT
2C
0A
0A
0A
1BSHFT
OUT
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 0–FFFFFFFF
Discrete Bit Flags DescriptionSP60 On when the value in the accumulator is less than the instruction value.SP61 On when the value in the accumulator is equal to the instruction value.SP62 On when the value in the accumulator is greater than the instruction value.
DS Used
HPP Used
Compare Formatted (CMPF)The Compare Formatted instruction compares the value inthe accumulator with a specified number of discretelocations (1–32). The instruction requires a starting location(Aaaa) and the number of bits (Kbbb) to be compared. Thecorresponding status flag will be turned on, indicating theresult of the comparison. The data format for this instruction is BCD/Hex, Decimal andBinary.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the Load Formatted instruction loads the binaryvalue (6) from C10–C13 into the accumulator. The CMPF instruction compares the value inthe accumulator to the value in Y20–Y23 (E hex). The corresponding discrete status flag willbe turned on, indicating the result of the comparison. In this example, if the value in theaccumulator is less than the value specified in the Compare instruction, SP60 will turn onenergizing C30.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–83
Chapter 5: Standard RLL Instructions - Logical
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
bbbKC MPF A aaa
K4C10
Location ConstantC10C11C12C13
OFFONONOFF
The unused accumulatorbits are set to zero
Y20Y21Y22Y23
OFFONONON
Comparedwith
Acc. 0 0 0 0 0 0 0 6
E
LDF
Compare the value in theaccumulator with the valueof the specified discretelocation (Y20--Y23)
Load the value of thespecified discrete locations(C10--C13) into theaccumulator
C10
K4
CMPF
X1
Y20
K4
SP60
DirectSOFT32
C30
OUT
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A/B aaa bbb
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0-777 -Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0-777 -Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . C 0-1777 -Stage Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 0-1777 -Timer Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0-377 -Counter Bits . . . . . . . . . . . . . . . . . . . . . . . . . . CT 0-177 -Special Relays . . . . . . . . . . . . . . . . . . . . . . . . . SP 0-777 -Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K - 1-32
Discrete Bit Flags DescriptionSP60 On when the value in the accumulator is less than the instruction value.SP61 On when the value in the accumulator is equal to the instruction value.SP62 On when the value in the accumulator is greater than the instruction value.
DS Used
HPP Used
DirectSOFT
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–84
Chapter 5: Standard RLL Instructions - Logical
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Compare with Stack (CMPS)The Compare with Stack instruction is a 32-bit instruction thatcompares the value in the accumulator with the value in the first levelof the accumulator stack. The data format for this instruction isBCD/Hex, Decimal and Binary.
The corresponding status flag will be turned on, indicating the result of the comparison. Thisdoes not affect the value in the accumulator.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the value in V1400 and V1401 is loaded into theaccumulator using the Load Double instruction. The value in V1410 and V1411 is loadedinto the accumulator using the Load Double instruction. The value that was loaded into theaccumulator from V1400 and V1401 is placed on top of the stack when the second Loadinstruction is executed. The value in the accumulator is compared with the value in the firstlevel of the accumulator stack using the CMPS instruction. The corresponding discrete statusflag will be turned on indicating the result of the comparison. In this example, if the value inthe accumulator is less than the value in the stack, SP60 will turn on, energizing C30.
C MPS
X1
Acc. 6 5 0 0 3 5 4 4
V1400
3 5 4 4
SP60 C30OUT
V1401
6 5 0 0
Acc. 5 5 0 0 3 5 4 4
V1410
3 5 4 4
V1411
5 5 0 0
DirectSOFT32
Handheld Programmer Keystrokes
STR$
SHFTANDSTL
3D
SHFT2
CORSTM
CVP
STR$ PREV ENT
6G
0A
OUTGX SHFT
2C
3D
0A ENT
3D
RSTS
1B ENT
ENTSHFT
1B
4E
0A
0A ENT
SHFTANDSTL
3D
3D
1B
4E
1B
0A ENT
NEXT NEXT NEXT
Compared withTop of Stack
LDD
V1400
LDD
V1410
CMPS
Load the value in V1400 andV1401 into the accumulator
Load the value in V1410 andV1411 into the accumulator
Compare the value in theaccumulator with the valuein the first level of theaccumulator stack
Discrete Bit Flags DescriptionSP60 On when the value in the accumulator is less than the instruction value.SP61 On when the value in the accumulator is equal to the instruction value.SP62 On when the value in the accumulator is greater than the instruction value.
DS Used
HPP Used
DirectSOFT
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–85
Chapter 5: Standard RLL Instructions - Logical
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Compare Real Number (CMPR)The Compare Real Number instruction compares a realnumber value in the accumulator with two consecutiveV-memory locations containing a real number. Thecorresponding status flag will be turned on, indicatingthe result of the comparison. Both numbers beingcompared are 32 bits long.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the LDR instruction loads the real numberrepresentation for 7 decimal into the accumulator. The CMPR instruction compares theaccumulator contents with the real representation for decimal 6. Since 7 > 6, thecorresponding discrete status flag is turned on (special relay SP62), turning on control relayC1.
X1
0 0 0 0
4 0 D 0 0 0 0 0
4 0 E 0
DirectSOFT32
SP62
LDR
R7.0
CMPR
R6.0
C1
OUT
CMPR
Acc.
Load the real number representation for decimal 7into the accumulator
Compare the value with thereal number representation for decimal 6
CMPRA aaa
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . R -3.402823E+ 038 to + -3.402823E+ 038
Discrete Bit Flags DescriptionSP60 On when the value in the accumulator is less than the instruction value.SP61 On when the value in the accumulator is equal to the instruction value.SP62 On when the value in the accumulator is greater than the instruction value.SP71 On anytime the V-memory specified by a pointer (P) is not valid
DS Used
HPP Used
DirectSOFT
Math Instructions
Add (ADD)Add is a 16-bit instruction that adds a BCD value in theaccumulator with a BCD value in a V-memory location (Aaaa).(You cannot use a constant as the parameter in the box.) Theresult resides in the accumulator.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the value in V2000 will be loaded into theaccumulator using the Load instruction. The value in the lower 16 bits of the accumulator isadded to the value in V2006 using the Add instruction. The value in the accumulator iscopied to V2010 using the Out instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–86
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ADDA aaa
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP66 On when the 16-bit addition instruction results in a carry.SP67 On when the 32-bit addition instruction results in a carry.SP70 On anytime the value in the accumulator is negative.SP75 On when a BCD instruction is executed and a NON–BCD number was encountered.
Direct SOFT32
Handheld Programmer Keystrokes
LD
V2000
X1
Load the value in V2000 intothe lower 16 bits of theaccumulator
ADD
V2006
Add the value in the lower16 bits of the accumulatorwith the value in V2006
OUT
V2010
Copy the value in the lower16 bits of the accumulator toV2010
V2010
V2000
4 9 3 5
7 4 3 5
0 0 0 0 4 9 3 5
+ 2 5 0 0
Acc. 7 4 3 5
(V2006)
(Accumulator)
The unused accumulatorbits are set to zero
SHFTANDSTL
3D
STR$
SHFT0
A3
D3
D
OUTGX SHFT
ANDV
2C
0A
1B
0A ENT
1B ENT
2C
0A
0A
0A ENT
2C
0A
0A ENT
6G
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory map
DS Used
HPP Used
DirectSOFT
Add Double (ADDD)Add Double is a 32-bit instruction that adds theBCD value in the accumulator with a BCD value(Aaaa), which is either two consecutive V-memorylocations or an 8–digit (max.) BCD constant. Theresult resides in the accumulator.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the value in V2000 and V2001 will be loaded intothe accumulator using the Load Double instruction. The value in the accumulator is addedwith the value in V2006 and V2007 using the Add Double instruction. The value in theaccumulator is copied to V2010 and V2011 using the Out Double instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–87
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ADDDA aaa
6 7 3 9 5 0 2 6
Direct SOFT
Handheld Programmer Keystrokes
LDD
V2000
X1
Load the value in V2000 andV2001 into the accumulator
ADDD
V2006
Add the value in theaccumulator with the valuein V2006 and V2007
OUTD
V2010
Copy the value in theaccumulator to V2010 andV2011
V2010
V2000
V2001
6 7 3 9 5 0 2 6
V2001
8 7 3 9 9 0 7 2
(V2006 and V2007)
(Accumulator)
2 0 0 0 4 0 4 6 +
8 7 3 9 9 0 7 2 Acc.
STR$
1B
SHFT0
A3
D3
D
SHFTANDSTL
3D
3D
3D
OUTGX SHFT
3D
ANDV
2C
0A
1B
0A ENTSHFT
ENT
2C
0A
0A ENT
6G
2C
0A
0A
0A ENT
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP66 On when the 16-bit addition instruction results in a carry.SP67 On when the 32-bit addition instruction results in a carry.SP70 On anytime the value in the accumulator is negative.SP75 On when a BCD instruction is executed and a NON–BCD number was encountered.
Operand Data Type DL06Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 0–99999999
DS Used
HPP Used
DirectSOFT
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–88
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Add Real (ADDR)The Add Real instruction adds a real number in the accumulatorwith either a real constant or a real number occupying twoconsecutive V-memory locations. The result resides in theaccumulator. Both numbers must be Real data type (IEEE floatingpoint format).
NOTE: Status flags are valid only until another instruction uses the same flag.
NOTE: The current HPP does not support real number entry with automatic conversion to the 32-bitIEEE format. You must use DirectSOFT for this feature.
ADDRA aaa
ADDRA aaa
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On anytime the value in the accumulator is negative.SP71 On anytime the V-memory specified by a pointer (P) is not valid.SP72 On anytime the value in the accumulator is an invalid floating point number.SP73 On when a signed addition or subtraction results in a incorrect sign bit.SP74 On anytime a floating point math operation results in an underflow error.
LDRR7.0
X1
Load the real number 7.0into the accumulator
ADDRR15.0
Add the real number 15.0 tothe accumulator contents,which is in real numberformat.
Copy the result in the accumulatorto V1400 and V1401.
OUTDV1400
DirectSOFT 5
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . R -3.402823E+ 38 to + -3.402823E+ 38
DS Used
HPP Used
DirectSOFT
Subtract (SUB)Subtract is a 16-bit instruction that subtracts the BCD value(Aaaa) in a V-memory location from the BCD value in the lower16 bits of the accumulator. The result resides in the accumulator.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the value in V2000 will be loaded into theaccumulator using the Load instruction. The value in V2006 is subtracted from the value inthe accumulator using the Subtract instruction. The value in the accumulator is copied toV2010 using the Out instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–89
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
SUBA aaa
Direct SOFT32
Handheld Programmer Keystrokes
LD
V2000
X1
Load the value in V2000 intothe lower 16 bits of theaccumulator
SUB
V2006
Subtract the value in V2006from the value in the lower16 bits of the accumulator
OUT
V2010
Copy the value in the lower16 bits of the accumulator toV2010
V2010
2
0
0
_
V2000
4 7 5
8 8 3
0 0 0 0 2 4 7 5
1 5 9 2
Acc. 8 8 3
The unused accumulatorbits are set to zero
SHFTANDSTL
3D
STR$
SHFT SHFTAND
V2
C0
A0
A ENT6
G
OUTGX SHFT
ANDV
2C
0A
1B
0A ENT
RSTS
ISGU
1B
1B ENT
2C
0A
0A
0A ENT
Operand Data Type DL06Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory map
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP64 On when the 16-bit subtraction instruction results in a borrowSP65 On when the 32-bit subtraction instruction results in a borrowSP70 On anytime the value in the accumulator is negative.SP75 On when a BCD instruction is executed and a NON–BCD number was encountered.
DS Used
HPP Used
DirectSOFT
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–90
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Subtract Double (SUBD)Subtract Double is a 32-bit instruction that subtracts the BCD value(Aaaa), which is either two consecutive V-memory locations or an 8-digit (max.) constant, from the BCD value in the accumulator.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the value in V2000 and V2001 will be loaded intothe accumulator using the Load Double instruction. The value in V2006 and V2007 issubtracted from the value in the accumulator. The value in the accumulator is copied toV2010 and V2011 using the Out Double instruction.
SUBDA aaa
Direct SOFT32
Handheld Programmer Keystrokes
LDD
V2000
X1
Load the value in V2000 andV2001 into the accumulator
SUBD
V2006
The in V2006 and V2007 issubtracted from the value inthe accumulator
OUTD
V2010
Copy the value in theaccumulator to V2010 andV2011
0 0 3 9 0 8 9 9
0 1 0 6 3 2 7 4
0 1 0 6 3 2 7 4
V2010
V2000
V2001
V2011
0 0 3 9 0 8 9 9
6 7 2 3 7 5
ACC.
STR$
SHFT
SHFTANDSTL
3D
3D
3D
OUTGX SHFT
3D
RSTS
ISGU
1B
1B ENT
2C
0A
0A ENT
6G
2C
0A
0A
0A ENT
2C
0A
1B
0A ENT
SHFT
_
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP64 On when the 16- bit subtraction instruction results in a borrowSP65 On when the 32-bit subtraction instruction results in a borrowSP70 On anytime the value in the accumulator is negative.SP75 On when a BCD instruction is executed and a NON–BCD number was encountered.
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 0–99999999
DS Used
HPP Used
DirectSOFT
Subtract Real (SUBR)The Subtract Real is a 32-bit instruction that subtracts a realnumber, which is either two consecutive V-memory locations ora 32-bit constant, from a real number in the accumulator. Theresult is a 32-bit real number that resides in the accumulator.Both numbers must be Real data type (IEEE floating pointformat).
NOTE: Status flags are valid only until another instruction uses the same flag.
NOTE: The current HPP does not support real number entry with automatic conversion to the 32-bitIEEE format. You must use DirectSOFT for this feature
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–91
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
S UBRA aaa
ndar
dR
LLst
ruct
ions
LDR
R22.0
X1
Load the real number 22.0into the accumulator.
SUBR
R15.0
Subtract the real number15.0 from the accululatorcontents, which is in realnumber format.
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0
8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 18 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1
Acc.
4 0 E 0 0 0 0 0
V1400V1401
Real Value
Copy the result in the accumulatorto V1400 and V1401.
OUTD
V1400
Implies 2 (exp 2)129 -- 127 = 2
(Hex number)
Mantissa (23 bits)Sign Bit
4 1 B 0 0 0 0 0
0 0 0 04 1 B 0
(SUBR)
(Accumulator)
4 1 7 0 0 0 0 0+
0 0 0 04 0 E 0Acc.
2 2 (decimal)
-- 1 5
7
1.11 x 2 (exp 2) = 111. binary= 7 decimal128 + 1 = 129
DirectSOFT32
Exponent (8 bits)
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . R -3.402823E + 38 to+-3.402823E + 38
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On anytime the value in the accumulator is negative.SP71 On anytime the V-memory specified by a pointer (P) is not valid.SP72 On anytime the value in the accumulator is an invalid floating point number.SP73 On when a signed addition or subtraction results in a incorrect sign bit.SP74 On anytime a floating point math operation results in an underflow error.
Chapter 5: Standard RLL Instructions - Math
DS Used
HPP N/A
DirectSOFT
Multiply (MUL)Multiply is a 16-bit instruction that multiplies the BCDvalue (Aaaa), which is either a V-memory location or a4–digit (max.) constant, by the BCD value in the lower 16bits of the accumulator The result can be up to 8 digitsand resides in the accumulator.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the value in V2000 will be loaded into theaccumulator using the Load instruction. The value in V2006 is multiplied by the value in theaccumulator. The value in the accumulator is copied to V2010 and V2011 using the OutDouble instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–92
Chapter 5: Standard RLL Instructions- - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
MULA aaa
Direct SOFT32
Handheld Programmer Keystrokes
LD
V2000
X1
Load the value in V2000 intothe lower 16 bits of theaccumulator
MUL
V2006
The value in V2006 ismultiplied by the value in theaccumulator
OUTD
V2010
Copy the value in theaccumulator to V2010 andV2011
0 0 0 2 5 0 0 0
0
X
0 0 0 0 1 0 0 0
V2010
1
V2000 0
0 0 0 2 5 0 0 0
2 5
The unused accumulatorbits are set to zero
Acc.
STR$
SHFTANDSTL
3D
SHFTORSTM
ISGU
ANDSTL
OUTGX SHFT
3D
1B ENT
2C
0A
0A
0A ENT
2C
0A
0A ENT
6G
2C
0A
1B
0A ENT
0
V2011
(Accumulator) (V2006)
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On anytime the value in the accumulator is negative.SP75 On when a BCD instruction is executed and a NON–BCD number was encountered.
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 0–9999
DS Used
HPP Used
DirectSOFT
Multiply Double (MULD)Multiply Double is a 32-bit instruction that multiplies the8-digit BCD value in the accumulator by the 8-digit BCDvalue in the two consecutive V-memory locationsspecified in the instruction. The lower 8 digits of theresults reside in the accumulator. Upper digits of the resultreside in the accumulator stack.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the constant Kbc614e hex will be loaded into theaccumulator. When converted to BCD the number is ”12345678”. That number is stored inV1400 and V1401. After loading the constant K2 into the accumulator, we multiply it times12345678, which gives us 24691356.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–93
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
MULDA aaa
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory map
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On anytime the value in the accumulator is negative.SP75 On when a BCD instruction is executed and a NON–BCD number was encountered.
Chapter 5: Standard RLL Instructions - Math
Direct SOFT32 Display
LDD
Kbc614e
X1 Load the hex equivalentof 12345678 decimal intothe accumulator.
BCD Convert the value toBCD format. It willoccupy eight BCD digits(32 bits).
OUTD
V1400
Output the number toV1400 and V1401 usingthe OUTD instruction. 3 5 62 4 6 9
6 7 8
(Accumulator)
1 2 3 4 5 6 7 8
1
(Accumulator)
V1402
1
5
V1400
3 5 6
V1403
2 4 6 9
2
Acc.
LD
K2
Load the constant K2into the accumulator.
MULD
V1400
Multiply the accumulatorcontents (2) by the8-digit number in V1400and V1401.
OUTD
V1402
Move the result in theaccumulator to V1402and V1403 using theOUTD instruction.
2 3 41
V1401
X
Handheld Programmer Keystrokes
STR$
SHFTANDSTL
3D
SHFTORSTM
ISGU
ANDSTL
OUTGX SHFT
3D
1B ENT
6G
1B
4E ENT
ENT
ENT
3D PREV SHFT
1B
2C SHFT SHFT
4E
SHFT1
B2
C3
D
OUTGX SHFT
3D
1B
4E
0A ENT
0A
ENT
SHFTANDSTL
3D PREV ENT
2C
3D
1B
4E
0A
0A
1B
4E
0A
2C
DS Used
HPP Used
DirectSOFT
Multiply Real (MULR)The Multiply Real instruction multiplies a real number in theaccumulator with either a real constant or a real number occupyingtwo consecutive V-memory locations. The result resides in theaccumulator. Both numbers must be Real data type (IEEE floatingpoint format).
NOTE: Status flags are valid only until another instruction uses the same flag.
NOTE: The current HPP does not support real number entry with automatic conversion to the 32-bitIEEE format. You must use DirectSOFT for this feature.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–94
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
MULRA aaa
DirectSOFT32 Display
LDR
R 7.0
X1
Load the real number 7.0into the accumulator.
MULR
R 15.0
Multiply the accumulatorcontents by the real number15.0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 1 0 0 0 0 1 0 1 1 0 1 0 0 1 0
8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 18 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1
Acc.
4 2 D 2 0 0 0 0
V1400V1401
Real Value
Copy the result in the accumulatorto V1400 and V1401.
OUTD
V1400
Implies 2 (exp 6)133 -- 127 = 6
(Hex number)
Sign Bit
4 0 E 0 0 0 0 0
0 0 0 04 0 E 0
(MULR)
(Accumulator)
4 1 7 0 0 0 0 0X
0 0 0 04 2 D 2Acc.
7 (decimal)
x 1 5
1 0 5
1.101001 x 2 (exp 6) = 1101001. binary= 105 decimal128 + 4 + 1 = 133
Exponent (8 bits) Mantissa (23 bits)
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapReal Constant . . . . . . . . . . . . . . . . . . . . . . . . . . R -3.402823E +38 to + -3.402823E +38
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On anytime the value in the accumulator is negative.SP71 On anytime the V-memory specified by a pointer (P) is not valid.SP72 On anytime the value in the accumulator is an invalid floating point number.SP73 On when a signed addition or subtraction results in an incorrect sign bit.SP74 On anytime a floating point math operation results in an underflow error.
DS Used
HPP Used
DirectSOFT
Divide (DIV)Divide is a 16-bit instruction that divides the BCDvalue in the accumulator by a BCD value (Aaaa),which is either a V-memory location or a 4-digit(max.) constant. The first part of the quotient residesin the accumulator and the remainder resides in thefirst stack location.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the value in V2000 will be loaded into theaccumulator using the Load instruction. The value in the accumulator will be divided by thevalue in V2006 using the Divide instruction. The value in the accumulator is copied toV2010 using the Out instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–95
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DIVA aaa
Discrete Bit Flags DescriptionSP53 On when the value of the operand is larger than the accumulator can work with.SP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On anytime the value in the accumulator is negative.SP75 On when a BCD instruction is executed and a NON–BCD number was encountered.
Direct SOFT32
Handheld Programmer Keystrokes
LD
V2000
X1
Load the value in V2000 intothe lower 16 bits of theaccumulator
DIV
V2006
The value in theaccumulator is divided bythe value in V2006
OUT
V2010
Copy the value in the lower16 bits of the accumulator toV2010
V2010
0
5
V2000
0 0 0
0 0 0 5 0 0 0
4 9
Acc. 1 0 2
The unused accumulatorbits are set to zero
0 0 0 0 0 0 0 2
First stak location contains the remainder
STR$
SHFTANDSTL
3D
SHFT3
D8
IAND
V
OUTGX SHFT
ANDV
2C
0A
1B
0A ENT
1B ENT
2C
0A
0A
0A ENT
2C
0A
0A ENT
6G
(Accumulater)
V2006÷
1 20
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 0–9999
DS Used
HPP Used
DirectSOFT
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–96
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Divide Double (DIVD)Divide Double is a 32-bit instruction that divides the BCDvalue in the accumulator by a BCD value (Aaaa), whichmust be obtained from two consecutive V-memorylocations. (You cannot use a constant as the parameter in thebox.) The first part of the quotient resides in theaccumulator and the remainder resides in the first stacklocation.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the value in V1400 and V1401 will be loaded intothe accumulator using the Load Double instruction. The value in the accumulator is dividedby the value in V1420 and V1421 using the Divide Double instruction. The first part of thequotient resides in the accumulator and the remainder resides in the first stack location. Thevalue in the accumulator is copied to V1500 and V1501 using the Out Double instruction.
DIVDA aaa
Handheld Programmer Keystrokes
LDDV1400
X1
Load the value in V1400 andV1401 into the accumulator
DIVDV1420
The value in the accumulatoris divided by the value inV1420 and V1421
OUTDV1500
Copy the value in theaccumulator to V1500and V1501
0 0 00 0 0 3
0 0 00 1 5 0
0 (Accumulator)
(V1421 and V1420)
0
? 0
1 5 0 0 0 0 0
0
V1500
V1400
0
0 0 0
V1401
V1501
0 0 0 3
0 0 0 0 0 5 0
0 0 00 0 0 0 0
First stack location contains the remainder
The unused accumulatorbits are set to zero
Acc.
STR$
SHFT ANDSTL
3D
SHFT 3D
8I
ANDV
OUTGX SHFT 0
A ENT
1B ENT
2C ENT0
A
3D ENT1
B4
E0
A0
A
1B
4E
3D
1B
5F
0A
POP
Retrieve the remainder
OUTDV1502
Copy the value intoV1502 and V1503
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory map
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On anytime the value in the accumulator is negative.SP75 On when a BCD instruction is executed and a NON–BCD number was encountered.
DS Used
HPP Used
DirectSOFT
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–97
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Divide Real (DIVR)The Divide Real instruction divides a real number in theaccumulator by either a real constant or a real numberoccupying two consecutive V-memory locations. The resultresides in the accumulator. Both numbers must be Real datatype (IEEE floating point format).
NOTE: Status flags are valid only until another instruction uses the same flag.
NOTE: The current HPP does not support real number entry with automatic conversion to the 32-bitIEEE format. You must use DirectSOFT for this feature.
DIVRA aaa
ndar
dR
LL
DirectSOFT32 Display
LDR
R15.0
X1
Load the real number 15.0into the accumulator.
DIVR
R10.0
Divide the accumulator contentsby the real number 10.0.
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0
8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 18 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1
Acc.
3 F C 0 0 0 0 0
V1400V1401
Real Value
Copy the result in the accumulatorto V1400 and V1401.
OUTD
V1400
Implies 2 (exp 0)127 -- 127 = 0
(Hex number)
Mantissa (23 bits)Sign Bit
4 1 7 0 0 0 0 0
0 0 0 04 1 7 0
(DIVR )
(Accumulator)
4 1 2 0 0 0 0 0¸
0 0 0 03 F C 0Acc.
1 5 (decimal)
1 0
1
1.1 x 2 (exp 0) = 1.1 binary= 1.5 decimal64 + 32 + 16 + 8 + 4 + 2 + 1 = 127
Exponent (8 bits)
¸
5.
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On anytime the value in the accumulator is negative.SP71 On anytime the V-memory specified by a pointer (P) is not valid.SP72 On anytime the value in the accumulator is an invalid floating point number.SP74 On anytime a floating point math operation results in an underflow error.
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapReal Constant . . . . . . . . . . . . . . . . . . . . . . . . . . R -3.402823E + 38 to + -3.402823E + 38
DS Used
HPP N/A
DirectSOFT
Increment (INC)The Increment instruction increments a BCD value in aspecified V-memory location by “1” each time the instructionis executed.
Decrement (DEC)The Decrement instruction decrements a BCD value in aspecified V-memory location by “1” each time the instruction isexecuted.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following increment example, when C5 makes an Off-to-On transition the value inV1400 increases by one.
In the following decrement example, when C5 makes an Off-to-On transition the value inV1400 is decreased by one.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–98
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
A aaaINC
A aaaDEC
DirectSOFT
C5 INCV1400
Increment the value inV1400 by “1”.
V1400
8 9 3 5
V1400
8 9 3 6Handheld Programmer Keystrokes
STR$
5F ENT
8I ENT
NEXT NEXT NEXT NEXT
SHFT TMRN
1B
4E
0A
0A
2C
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory map
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP75 On when a BCD instruction is executed and a NON–BCD number was encountered.
DirectSOFT
C5 DECV1400
Decrement the value inV1400 by “1”.
V1400
8 9 3 5
V1400
8 9 3 4Handheld Programmer Keystrokes
STR$
5F ENT
3D ENT
NEXT NEXT NEXT NEXT
SHFT 4E
1B
4E
0A
0A
2C
DS Used
HPP Used
DS Used
HPP Used
Add Binary (ADDB)Add Binary is a 16-bit instruction that adds thebinary value in the lower 16 bits of theaccumulator with a binary value (Aaaa), which iseither a V-memory location or a 16-bit constant.The result can be up to 32 bits and resides in theaccumulator.
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 theaccumulator using the Load instruction. The binary value in the accumulator will be added tothe binary value in V1420 using the Add Binary instruction. The value in the accumulator iscopied to V1500 and V1501 using the Out Double instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–99
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ADDB
A aaa
HandheldProgrammer Keystrokes
LDX1
+ 1
1
(Accumulator)00
1
0 A 0 5
C C 9
0 0 0 A 0 5
2 C 4
Acc. C C 9
STR X(IN) 1
D V 1 4 0 0
OUT V 1 5 0 0
V 1 4 0A 2SHFT B
The unused accumulatorbits are set to zero
SHFT D
ENT
SHFT L ENT
D D ENT
ENT
Load the value in V1400into the lower 16 bits ofthe accumulator
LD
BIN
ADDB
OUTDV1500
K2565
Use either OR ConstantV-memory
V1420
V1400
(V1420)
V1500
V1400
The binary value in theaccumulator is added to thebinary value in V1420
Copy the value in the lower16bits of the accumulator toV1500 and V1501
DirectSOFT
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 0-FFFF, h=65636
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP66 On when the 16-bit addition instruction results in a carry.SP67 On when the 32-bit addition instruction results in a carry.SP70 On anytime the value in the accumulator is negative.SP73 On when a signed addition or subtraction results in an incorrect sign bit.
DS Used
HPP Used
Add Binary Double (ADDBD)Add Binary Double is a 32-bit instruction that adds the binaryvalue in the accumulator with the value (Aaaa), which is eithertwo consecutive V-memory locations or an 8-digit (max.)binary constant. The result resides in the accumulator.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the value in V1400 and V1401 will be loaded intothe accumulator using the Load Double instruction. The binary value in the accumulator isadded 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 Doubleinstruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–100
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ADDBD
A aaa
LDDV1400
X1
ADDBDV1420
The binary value in theaccumulator is added with thevalue in V1420 and V1421
OUTDV1500
Copy the value in theaccumulator to V1500and V1501
1 11 0 0 0
0 10 0 0 0
A
A
(Accumulator)
+ 1
0
0 0
C
0 0 A 0 1
V1500
0
(V1421 and V1420)
C
V1400
A 1 1
V1401
V1501
1 0 0 0
0 0 0 C 0 1 0
Acc.
Load the value in V1400and V1401 into theaccumulator
LDD
BIN
K2561
Use either OR ConstantV-memoryDirectSOFT
Handheld Programmer Keystrokes
STR X(IN) 1
LD V 1 4 0 0
OUT V 1 5 0 0
V 1 4 0ADD 2
SHFT D SHFT
SHFT D SHFT
SHFT D SHFT
B
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 0-FFFF FFFF
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP66 On when the 16-bit addition instruction results in a carry.SP67 On when the 32-bit addition instruction results in a carry.SP70 On anytime the value in the accumulator is negative.SP73 On when a signed addition or subtraction results in an incorrect sign bit.
Handheld Programmer Keystrokes
STR$
SHFT3
D3
D
OUTGX SHFT
3D
1B ENT
3D
1B
0A
1B
4E
2C
0A ENT
SHFTANDSTL
3D
1B
4E
0A
0A ENT
3D
1B
5F
0A
0A ENT
DS Used
HPP Used
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–101
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Subtract Binary (SUBB)Subtract Binary is a 16-bit instruction that subtracts the binaryvalue (Aaaa), which is either a V-memory location or a 4-digit(max.) binary constant, from the binary value in the accumulator.The result resides in the accumulator.
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 theaccumulator using the Load instruction. The binary value in V1420 is subtracted from thebinary value in the accumulator using the Subtract Binary instruction. The value in theaccumulator is copied to V1500 using the Out instruction.
S UBB
A aaa
Handheld Programmer Keystrokes
LDV1400
X1
SUBBV1420
The binary value in V1420 issubtracted from the value inthe accumulator
OUTV1500
Copy the value in the lower 16bits of the accumulator to V1500
V1500
(V1420)
0
1 (Accumulator)
0
1
0
0
V14000 2 4
6 1 9
0 0 0 0 2 4
A 0 B
Acc. 6 1 9
The unused accumulatorbits are set to zero
STR X(IN) 1
D V 1 4 0 0
OUT V 1 5 0 0
V 1 4 0
S
2
SHFT B
SHFT D
ENT
SHFT L ENT
U B
ENT
ENT
SHFT
Use either OR ConstantV-memory
LD
BIN
K1024
Load the value in V1400into the lower 16 bits ofthe accumulator
-
DirectSOFT
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP64 On when the 16-bit subtraction instruction results in a borrow.SP65 On when the 32-bit subtraction instruction results in a borrow.SP70 On anytime the value in the accumulator is negative.
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 0-FFFF, h=65636
DS Used
HPP Used
Subtract Binary Double (SUBBD)Subtract Binary Double is a 32-bit instruction that subtracts thebinary value (Aaaa), which is either two consecutive V-memorylocations or an 8-digit (max.) binary constant, from the binaryvalue in the accumulator. The result resides in the accumulator.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the value in V1400 and V1401 will be loaded intothe accumulator using the Load Double instruction. The binary value in V1420 and V1421 issubtracted from the binary value in the accumulator using the Subtract Binary Doubleinstruction. The value in the accumulator is copied to V1500 and V1501 using the OutDouble instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–102
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
S UBBD
A aaa
LDDV1400
X1
SUBBDV1420
The binary value in V1420 andV1421 is subtracted from thebinary value in the accumulator
OUTDV1500
Copy the value in theaccumulator to V1500and V1501
F E0 0 0 5
F F0 0 0 6
6
0
(V1421 and V1420)
0
0
E
0 0
E
6 0 0 F F (Accumulator)
V1500
0
V1400
6 F E
V1401
V1501
0 0 0 5
0 0 0 1 A 0 1
Acc.
Use either OR ConstantV-memory
LDD
BIN
K393471
Load the value in V1400and V1401 into theaccumulator
-
DirectSOFT
Handheld Programmer Keystrokes
STR X(IN) 1
D V 1 4 0 0
OUT V 1 5 0 0
V 1 4 0
S
2
SHFT B
SHFT D
ENT
SHFT L ENT
U B
ENT
ENT
SHFT
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 0-FFFF FFFF
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP64 On when the 16-bit subtraction instruction results in a borrow.SP65 On when the 32-bit subtraction instruction results in a borrow.SP70 On anytime the value in the accumulator is negative.
Handheld Programmer Keystrokes
STR$
SHFTISG
U1
B
OUTGX SHFT
3D
1B ENT
3D
1B
RSTS SHFT 1
B4
E2
C0
A ENT
SHFTANDSTL
3D
1B
4E
0A
0A ENT
3D
1B
5F
0A
0A ENT
DS Used
HPP Used
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–103
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Multiply Binary (MULB)Multiply Binary is a 16-bit instruction that multiplies thebinary value (Aaaa), which is either a V-memory location or a4-digit (max.) binary constant, by the binary value in theaccumulator. The result can be up to 32 bits and resides inthe accumulator.
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 theaccumulator using the Load instruction. The binary value in V1420 is multiplied by thebinary value in the accumulator using the Multiply Binary instruction. The value in theaccumulator is copied to V1500 using the Out instruction.
MULBA aaa
DirectSOFT32 Display
Handheld Programmer Keystrokes
LDV1400
X1
MULBV1420
The binary value in V1420 ismultiplied by the binaryvalue in the accumulator
OUTDV1500
0 (Accumulator)
0
0
0
(V1420)
V1400A 0 1
0 0 0 A 0 1
0 2 E
The unused accumulatorbits are set to zero
2 E0 0 0 1 C
C
C
V1500
C 2 E
V1501
0 0 0 1
Acc.
STR X 1
D V 1 4 0 0
OUT V 1 5 0 0
V 1 4 0M 2SHFT B
SHFT D
ENT
SHFT L ENT
U L ENT
ENT
Copy the value of the accumulatorto V1500 and V1501
Use either OR ConstantV-memory
LD
BIN
K2561
Load the value in V1400into the lower 16 bits ofthe accumulator
x
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 0-FFFF
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On anytime the value in the accumulator is negative.
DS Used
HPP Used
DirectSOFT
Divide Binary (DIVB)Divide Binary is a 16-bit instruction that divides the binary value inthe accumulator by a binary value (Aaaa), which is either a V-memorylocation or a 16-bit (max.) binary constant. The first part of thequotient resides in the accumulator and the remainder resides in thefirst stack location.
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 theaccumulator using the Load instruction. The binary value in the accumulator is divided bythe binary value in V1420 using the Divide Binary instruction. The value in the accumulatoris copied to V1500 using the Out instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–104
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DIVB
A aaa
DirectSOFT32 Display
Handheld Programmer Keystrokes
LDV1400
X1
DIVBV1420
The binary value in thaccumulator is divided bythe binary value in V1420
OUTV1500
Copy the value in the lower 16bits of the accumulator to V1500
V1500
0 (Accumulator)F
0
0
F
(V1420)
0
V1400A 0 1
3 2 0
0 0 0 A 0 1
0 5 0
Acc. 3 2 0
The unused accumulatorbits are set to zero
0 0 00 0 0 0 0
First stack location containsthe remainder
STR X 1
D V 1 4 0 0
OUT V 1 5 0 0
V 1 4 0D 2SHFT B
SHFT D
ENT
SHFT L ENT
I V ENT
ENT
_..
Use either OR ConstantV-memory
LDD
BIN
K64001
Load the value in V1400into the lower 16 bits ofthe accumulator
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 0-FFFF
Discrete Bit Flags DescriptionSP53 On when the value of the operand is larger than the accumulator can work with.SP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On anytime the value in the accumulator is negative.
DS Used
HPP Used
DirectSOFT
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–105
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Increment Binary (INCB)The Increment Binary instruction increments a binaryvalue in a specified V-memory location by “1” eachtime the instruction is executed.
In the following example when C5 is on, the binary value in V2000 is increased by 1.
Decrement Binary (DECB)The Decrement Binary instruction decrements abinary value in a specified V-memory location by “1”each time the instruction is executed.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example when C5 is on, the value in V2000 is decreased by 1.
A aaaINCB
Handheld Programmer KeystrokesDirect SOFT32
C5 INCB
V2000
Increment the binary valuein V2000 by“1”
4 A 3 C
4 A 3 D
STR$
2C
5FSHFT ENT
SHFT8
ITMR
N2
C1
B2
C0
A0
A0
A ENT
V2000
V2000
Handheld Programmer KeystrokesDirectSOFT
C5 DECBV2000
Decrement the binary valuein V2000 by“1”
V2000
4 A 3 C?
V2000
4 A 3 B?
STR$
2C
5FSHFT ENT
SHFT 2C
3D
4E
1B
2C
0A
0A
0A ENT
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory map
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.
A aaaDECB
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory map
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.
DS Used
HPP Used
DS Used
HPP Used
DirectSOFT
Add Formatted (ADDF)Add Formatted is a 32-bit instruction that adds the BCDvalue in the accumulator with the BCD value (Aaaa) which isa range of discrete bits. The specified range (Kbbb) can be 1to 32 consecutive bits. The result resides in the accumulator.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X6 is on, the BCD value formed by discrete locations X0–X3is loaded into the accumulator using the LDF instruction. The BCD value formed by discretelocations C0–C3 is added to the value in the accumulator using the ADDF instruction. Thevalue in the lower four bits of the accumulator is copied to Y10–Y13 using the OUTFinstruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–106
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
bbbK
ADDF A aaa
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP66 On when the 16-bit addition instruction results in a carry.SP67 On when the 32 bit addition instruction results in a carry.SP70 On anytime the value in the accumulator is negative.SP73 On when a signed addition or subtraction results in an incorrect sign bit.SP75 On when a BCD instruction is executed and a NON-BCD number was encountered.
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa bbb
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–777 ––Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0–777 ––Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . C 0–1777 ––Stage Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 0–1777 ––Timer Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0–377 ––Counter Bits . . . . . . . . . . . . . . . . . . . . . . . . . . CT 0–177 ––Special Relays . . . . . . . . . . . . . . . . . . . . . . . . . SP 0-137 320-717 ––Global I/O. . . . . . . . . . . . . . . . . . . . . . . . . . . . . GX 0-3777 ––Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K –– 1–32
DirectSOFT32 Display
LDF X0
K4
X6 Load the BCD value representedby discrete locations X0–X3into the accumulator
ADDF C0
K4
Add the BCD value in theaccumulator with the valuerepresented by discretelocation C0–C3
OUTF Y10
K4
Copy the lower 4 bits of theaccumulator to discretelocations Y10–Y13
+
0 0 0 0 0 0 0
8
(C0-C3)
(Accumulator)
3
X0X1X2X3
OFFOFFOFFON
C0C1C2 C3
ONONOFFOFF
Y10Y11Y12Y13
ONOFFOFFOFF
The unused accumulatorbits are set to zero
Acc.
Handheld Programmer Keystrokes
STR$
SHFT3
D3
D
OUTGX SHFT
5F
0A
4E ENT
6G ENT
1B
4E
0A ENT
SHFTANDSTL
3D
0A
4E ENT
5F
5F
0A NEXT NEXT NEXTNEXT
0 110 0 0 0 0
DS Used
HPP Used
DirectSOFT
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–107
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Subtract Formatted (SUBF)Subtract Formatted is a 32-bit instruction that subtracts theBCD value (Aaaa), which is a range of discrete bits, from theBCD value in the accumulator. The specified range (Kbbb)can be 1 to 32 consecutive bits. The result resides in theaccumulator.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X6 is on, the BCD value formed by discrete locations X0–X3is loaded into the accumulator using the LDF instruction. The BCD value formed by discretelocation C0–C3 is subtracted from the BCD value in the accumulator using the SUBFinstruction. The value in the lower four bits of the accumulator is copied to Y10–Y13 usingthe OUTF instruction.
bbbK
S UBF A aaa
DirectSOFT32 Display
LDF X0
K4
X6
SUBF C0
K4
OUTF Y10
K4
Copy the lower 4 bits of theaccumulator to discretelocations Y10--Y13
0 10 0 0 0 0
y
0 0 0
0
0 0 0 0 9
(C0--C3)
(Accumulator)
8
X0X1X2X3
ONOFFOFFON
C0C1C2C3
OFFOFFOFFON
Y10Y11Y12Y13
ONOFFOFFOFF
The unused accumulatorbits are set to zero
ACC.
Handheld Programmer Keystrokes
STR$
SHFTISG
U1
B
OUTGX SHFT
5F
0A
4E ENT
6G ENT
1B
4E
0A ENT
SHFTANDSTL
3D
0A
4E ENT
5F
5F
RSTS NEXT NEXT NEXTNEXTSHFT
Load the BCD value represented by discrete locations X0-X3 into the accumulator
Subtract the BCD value represented by C0-C3 from the value in the accumulator
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa bbb
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–777 ––Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0–777 ––Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . C 0–1777 ––Stage Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 0–1777 ––Timer Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0–377 ––Counter Bits . . . . . . . . . . . . . . . . . . . . . . . . . . CT 0–177 ––Special Relays . . . . . . . . . . . . . . . . . . . . . . . . . SP 0-137 320-717 ––Global I/O. . . . . . . . . . . . . . . . . . . . . . . . . . . . . GX 0-3777 ––Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K –– 1–32
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP64 On when the 16-bit subtraction instruction results in a borrow.SP65 On when the 32 bit subtraction instruction results in a borrowSP70 On any time the value in the accumulator is negative.SP73 On when a signed addition or subtraction results in an incorrect sign bit.SP75 On when a BCD instruction is executed and a NON-BCD number was encountered.
DS Used
HPP Used
DirectSOFT
Multiply Formatted (MULF)Multiply Formatted is a 16-bit instruction that multiplies theBCD value in the accumulator by the BCD value (Aaaa) which isa range of discrete bits. The specified range (Kbbb) can be 1 to16 consecutive bits. The result resides in the accumulator.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X6 is on, the value formed by discrete locations X0–X3 isloaded into the accumulator using the Load Formatted instruction. The value formed bydiscrete locations C0–C3 is multiplied by the value in the accumulator using the MultiplyFormatted instruction. The value in the lower four bits of the accumulator is copied toY10–Y13 using the Out Formatted instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–108
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
bbbK
MULF A aaa
DirectSOFT32 Display
LDF X0
K4
X6 Load the value representedby discrete locations X0--X3into the accumulator
MULF C0
K4
Multiply the value in theaccumulator with the valuerepresented by discretelocations C0--C3
OUTF Y10
K4
Copy the lower 4 bits of theaccumulator to discretelocations Y10--Y13
0 60 0 0 0 0
0 0 0
0
0 0 0 0 3
(C0--C3)
(Accumulator)
2
X0X1X2X3
ONONOFFOFF
C0C1C2C3
OFFONOFFOFF
Y10Y11Y12Y13
OFFONONOFF
The unused accumulatorbits are set to zero
Acc.
Handheld Programmer Keystrokes
STR$
SHFTISG
UANDSTL
OUTGX SHFT
5F
0A
4E ENT
6G ENT
1B
4E
0A ENT
SHFTANDSTL
3D
0A
4E ENT
5F
5F
ORSTM NEXT NEXT NEXTNEXT
X
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa bbb
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–777 ––Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0–777 ––Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . C 0–1777 ––Stage Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 0–1777 ––Timer Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0–377 ––Counter Bits . . . . . . . . . . . . . . . . . . . . . . . . . . CT 0–177 ––Special Relays . . . . . . . . . . . . . . . . . . . . . . . . . SP 0-137 320-717 ––Global I/O. . . . . . . . . . . . . . . . . . . . . . . . . . . . . GX 0-3777 ––Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K –– 1–16
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On any time the value in the accumulator is negative.SP75 On when a BCD instruction is executed and a NON-BCD number was encountered.
DS Used
HPP Used
DirectSOFT
Divide Formatted (DIVF)Divide Formatted is a 16-bit instruction that divides the BCDvalue in the accumulator by the BCD value (Aaaa), a range ofdiscrete bits. The specified range (Kbbb) can be 1 to 16consecutive bits. The first part of the quotient resides in theaccumulator and the remainder resides in the first stack location.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X6 is on, the value formed by discrete locations X0–X3 isloaded into the accumulator using the Load Formatted instruction. The value in theaccumulator is divided by the value formed by discrete location C0–C3 using the DivideFormatted instruction. The value in the lower four bits of the accumulator is copied toY10–Y13 using the Out Formatted instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–109
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
bbbK
DIVF A aaa
DirectSOFT32 Display
LDF X0
K4
X6 Load the value representedby discrete locations X0--X3into the accumulator
DIVF C0
K4
Divide the value in theaccumulator with the valuerepresented by discretelocation C0--C3
OUTF Y10
K4
Copy the lower 4 bits of theaccumulator to discretelocations Y10--Y13
0 40 0 0 0 0
0 0 0
0
0 0 0 0 8
(C0--C3)
(Accumulator)
2
X0X1X2X3
OFFOFFOFFON
C0C1C2C3
OFFONOFFOFF
Y10Y11Y12Y13
OFFOFFONOFF
The unused accumulatorbits are set to zero
0 0 00 0 0 0 0
First stack location containsthe remainder
Acc.
Handheld Programmer Keystrokes
STR$
SHFT8
IAND
V
OUTGX SHFT
5F
0A
4E ENT
6G ENT
1B
4E
0A ENT
SHFTANDSTL
3D
0A
4E ENT
5F
5F
3D NEXT NEXT NEXTNEXT
_..
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa bbb
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–777 ––Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0–777 ––Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . C 0–1777 ––Stage Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 0–1777 ––Timer Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0–377 ––Counter Bits . . . . . . . . . . . . . . . . . . . . . . . . . . CT 0–177 ––Special Relays . . . . . . . . . . . . . . . . . . . . . . . . . . P 0-137 320-717 ––Global I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0-3777 ––Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K –– 1–16
Discrete Bit Flags DescriptionSP53 On when the value of the operand is larger than the accumulator can work with.SP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On any time the value in the accumulator is negative.SP75 On when a BCD instruction is executed and a NON-BCD number was encountered.
DS Used
HPP Used
DirectSOFT
Add Top of Stack (ADDS)Add Top of Stack is a 32-bit instruction that adds the BCDvalue in the accumulator with the BCD value in the first levelof the accumulator stack. The result resides in theaccumulator. The value in the first level of the accumulatorstack is removed and all stack values are moved up one level.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the value in V1400 and V1401 will be loaded intothe accumulator using the Load Double instruction. The value in V1420 and V1421 isloaded into the accumulator using the Load Double instruction, pushing the value previouslyloaded in the accumulator onto the accumulator stack. The value in the first level of theaccumulator stack is added with the value in the accumulator using the Add Stackinstruction. The value in the accumulator is copied to V1500 and V1501 using the OutDouble instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–110
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ADDS
D irectS OF T 32 D isplay
LDD
V1400
X1 Load the value in V1400 andV1401 into the accumulator
LDD
V1420
Load the value in V1420 andV1421 into the accumulator
OUT D
V1500
C opy the value in theaccumulator to V1500and V1501
X X X X X X X XLevel 1
X X X X X X X XLevel 2
X X X X X X X XLevel 3
X X X X X X X XLevel 4
X X X X X X X XLevel 5
X X X X X X X XLevel 6
X X X X X X X XLevel 7
X X X X X X X XLevel 8
0 0 3 9 5 0 2 6Level 1
X X X X X X X XLevel 2
X X X X X X X XLevel 3
X X X X X X X XLevel 4
X X X X X X X XLevel 5
X X X X X X X XLevel 6
X X X X X X X XLevel 7
X X X X X X X XLevel 8
ADDS Add the value in theaccumulator with the valuein the firs t level of theaccumulator s tack
Acc.
V1400
5 0 2 6
0 0 3 9 5 0 2 6
V1401
0 0 3 9
Acc.
V1420
2 0 5 6
0 0 1 7 2 0 5 6
V1421
0 0 1 7
Accumulator s tackafter 1s t LDD
Accumulator s tackafter 2nd LDD
Acc. 0 0 5 6 7 0 8 2
0 0 5 6 7 0 8 2
Handheld Programmer Keystrokes
SHFTANDSTL
3D
STR$
SHFT3
D3
D
OUTGX SHFT
3D
1B
5F
0A
0A ENT
1B ENT
1B
4E
0A
0A ENT
ENT
SHFTANDSTL
3D
1B
4E
2C
0A ENT
3D
RSTS
3D
0A
V1501 V1500
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP66 On when the 16-bit addition instruction results in a carry.SP67 On when the 32 bit addition instruction results in a carry.SP70 On anytime the value in the accumulator is negative.SP73 On when a signed addition or subtraction results in an incorrect sign bit.SP75 On when a BCD instruction is executed and a NON-BCD number was encountered.
DS Used
HPP Used
DirectSOFT
Subtract Top of Stack (SUBS)Subtract Top of Stack is a 32-bit instruction that subtracts theBCD value in the first level of the accumulator stack fromthe BCD value in the accumulator. The result resides in theaccumulator. The value in the first level of the accumulatorstack is removed and all stack values are moved up one level.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the value in V1400 and V1401 will be loaded intothe accumulator using the Load Double instruction. The value in V1420 and V1421 isloaded into the accumulator using the Load Double instruction, pushing the value previouslyloaded into the accumulator onto the accumulator stack. The BCD value in the first level ofthe accumulator stack is subtracted from the BCD value in the accumulator using theSubtract Stack instruction. The value in the accumulator is copied to V1500 and V1501using the Out Double instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–111
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
S UBS
Sta
DirectSOFT32 Display
LDD
V1400
X1 Load the value in V1400 andV1401 into the accumulator
LDD
V1420
Load the value in V1420 andV1421 into the accumulator
OUTD
V1500
Copy the value in theaccumulator to V1500and V1501
X X X X X X X XLevel 1
X X X X X X X XLevel 2
X X X X X X X XLevel 3
X X X X X X X XLevel 4
X X X X X X X XLevel 5
X X X X X X X XLevel 6
X X X X X X X XLevel 7
X X X X X X X XLevel 8
0 0 1 7 2 0 5 6Level 1
X X X X X X X XLevel 2
X X X X X X X XLevel 3
X X X X X X X XLevel 4
X X X X X X X XLevel 5
X X X X X X X XLevel 6
X X X X X X X XLevel 7
X X X X X X X XLevel 8
SUBS Subtract the value in the firstlevel of the accumulatorstack from the value in theaccumulator
Acc.
V1400
2 0 5 6
0 0 1 7 2 0 5 6
V1401
0 0 1 7
Acc.
V1420
5 0 2 6
0 0 3 9 5 0 2 6
V1421
0 0 3 9
Accumulator stackafter 1st LDD
Accumulator stackafter 2nd LDD
Acc. 0 0 2 2 2 9 7 0
0 0 2 2 2 9 7 0
Handheld Programmer Keystrokes
SHFTANDSTL
3D
STR$
SHFTISG
U1
B
OUTGX SHFT
3D
1B
5F
0A
0A ENT
1B ENT
1B
4E
0A
0A ENT
ENT
SHFTANDSTL
3D
1B
4E
2C
0A ENT
3D
RSTS
3D
RSTS SHFT
V1501 V1500
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP64 On when the 16-bit subtraction instruction results in a borrow.SP65 On when the 32 bit subtraction instruction results in a borrow.SP70 On anytime the value in the accumulator is negative.SP73 On when a signed addition or subtraction results in an incorrect sign bit.SP75 On when a BCD instruction is executed and a NON-BCD number was encountered.
DS Used
HPP Used
DirectSOFT
Multiply Top of Stack (MULS)Multiply Top of Stack is a 16-bit instruction that multiplies a 4-digit BCD value in the first level of the accumulator stack by a4-digit BCD value in the accumulator. The result resides in theaccumulator. The value in the first level of the accumulator stackis removed and all stack values are moved up one level.
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 theaccumulator using the Load instruction. The value in V1420 is loaded into the accumulatorusing the Load instruction, pushing the value previously loaded in the accumulator onto theaccumulator stack. The BCD value in the first level of the accumulator stack is multiplied bythe BCD value in the accumulator using the Multiply Stack instruction. The value in theaccumulator is copied to V1500 and V1501 using the Out Double instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–112
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
MULS
Sta
ndar
dR
LL
DirectSOFT32 Display
LD
V1400
X1 Load the value in V1400 intothe accumulator
LD
V1420
Load the value in V1420 intothe accumulator
OUTD
V1500
Copy the value in theaccumulator to V1500and V1501
X X X X X X X XLevel 1
X X X X X X X XLevel 2
X X X X X X X XLevel 3
X X X X X X X XLevel 4
X X X X X X X XLevel 5
X X X X X X X XLevel 6
X X X X X X X XLevel 7
X X X X X X X XLevel 8
0 0 0 0 5 0 0 0Level 1
X X X X X X X XLevel 2
X X X X X X X XLevel 3
X X X X X X X XLevel 4
X X X X X X X XLevel 5
X X X X X X X XLevel 6
X X X X X X X XLevel 7
X X X X X X X XLevel 8
MULS Multiply the value in theaccumulator with the valuein the first level of theaccumulator stack
Acc.
V1400
5 0 0 0
0 0 0 0 5 0 0 0
Acc.
V1420
0 2 0 0
0 0 0 0 0 2 0 0
Accumulator stackafter 1st LDD
Accumulator stackafter 2nd LDD
Acc. 0 1 0 0 0 0 0 0
0 1 0 0 0 0 0 0
V1500V1501
The unused accumulatorbits are set to zero
The unused accumulatorbits are set to zero
Handheld Programmer Keystrokes
SHFTANDSTL
3D
STR$
SHFTORSTM
ISGU
ANDSTL
OUTGX SHFT
3D
1B
5F
0A
0A ENT
1B ENT
1B
4E
0A
0A ENT
ENT
SHFTANDSTL
3D
1B
4E
2C
0A
RSTS
ENT
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On any time the value in the accumulator is negative.SP75 On when a BCD instruction is executed and a NON-BCD number was encountered.
DS Used
HPP Used
DirectSOFT
Divide by Top of Stack (DIVS)Divide Top of Stack is a 32-bit instruction that divides the8-digit BCD value in the accumulator by a 4-digit BCDvalue in the first level of the accumulator stack. The resultresides in the accumulator and the remainder resides in thefirst level of the accumulator stack.
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 intothe accumulator. The value in V1420 is loaded into the accumulator using the Load Doubleinstruction, pushing the value previously loaded in the accumulator onto the accumulatorstack. The BCD value in the accumulator is divided by the BCD value in the first level of theaccumulator stack using the Divide Stack instruction. The Out Double instruction copies thevalue in the accumulator to V1500 and V1501.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–113
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DIVS
DirectSOFT32Display
LD
V1400
X1 Load the value inV1400 intothe accumulator
LDD
V1420
Load the value inV1420 andV1421 into the accumulator
OUTDV1500
Copy the value in theaccumulator toV1500andV1501
X X X X X X X XLevel 1
X X X X X X X XLevel 2
X X X X X X X XLevel 3
X X X X X X X XLevel 4
X X X X X X X XLevel 5
X X X X X X X XLevel 6
X X X X X X X XLevel 7
X X X X X X X XLevel 8
0 0 0 0 0 0 2 0Level 1
X X X X X X X XLevel 2
X X X X X X X XLevel 3
X X X X X X X XLevel 4
X X X X X X X XLevel 5
X X X X X X X XLevel 6
X X X X X X X XLevel 7
X X X X X X X XLevel 8
DIVS Divide the value in theaccumulator by the value inthe first level of theaccumulator stack
Acc.
V1400
0 0 2 0
0 0 0 0 0 0 2 0
Acc.
V1420
0 0 0 0
0 0 5 0 0 0 0 0
V1421
0 0 5 0
Accumulator stackafter 1st LDD
Accumulator stackafter 2nd LDD
Acc. 0 0 0 2 5 0 0 0
0 0 0 2 5 0 0 0
V1500V1501
The unused accumulatorbits are set to zero
0 0 0 0 0 0 0 0Level 1
X X X X X X X XLevel 2
X X X X X X X XLevel 3
X X X X X X X XLevel 4
X X X X X X X XLevel 5
X X X X X X X XLevel 6
X X X X X X X XLevel 7
X X X X X X X XLevel 8
The remainder resides in thefirst stack location
Handheld Programmer Keystrokes
SHFTANDSTL
3D
STR$
SHFT8
IANDV
OUTGX SHFT
3D
1B
5F
0A
0A ENT
1B ENT
1B
4E
0A
0A ENT
ENT
SHFTANDSTL
3D
1B
4E
2C
0A ENT
3D
RSTS
3D
Discrete Bit Flags DescriptionSP53 On when the value of the operand is larger than the accumulator can work with.SP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On any time the value in the accumulator is negative.SP75 On when a BCD instruction is executed and a NON-BCD number was encountered.
DS Used
HPP Used
DirectSOFT
Add Binary Top of Stack (ADDBS)Add Binary Top of Stack instruction is a 32-bit instruction thatadds the binary value in the accumulator with the binary valuein the first level of the accumulator stack. The result resides inthe accumulator. The value in the first level of the accumulatorstack is removed and all stack values are moved up one level.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the value in V1400 and V1401 will be loaded intothe accumulator using the Load Double instruction. The value in V1420 and V1421 isloaded into the accumulator using the Load Double instruction, pushing the value previouslyloaded in the accumulator onto the accumulator stack. The binary value in the first level ofthe accumulator stack is added with the binary value in the accumulator using the Add Stackinstruction. The value in the accumulator is copied to V1500 and V1501 using the OutDouble instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–114
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ADDBS
Sta
ndar
dR
LL
D irectS OF T 32 D isplay
LDD
V1400
X1 Load the value in V1400 andV1401 into the accumulator
LDD
V1420
Load the value in V1420 andV1421 into the accumulator
OUT D
V1500
C opy the value in theaccumulator to V1500and V1501
X X X X X X X XLevel 1
X X X X X X X XLevel 2
X X X X X X X XLevel 3
X X X X X X X XLevel 4
X X X X X X X XLevel 5
X X X X X X X XLevel 6
X X X X X X X XLevel 7
X X X X X X X XLevel 8
0 0 3 A 5 0 C 6Level 1
X X X X X X X XLevel 2
X X X X X X X XLevel 3
X X X X X X X XLevel 4
X X X X X X X XLevel 5
X X X X X X X XLevel 6
X X X X X X X XLevel 7
X X X X X X X XLevel 8
ADDBS Add the binary value in theaccumulator with the binaryvalue in the firs t level of theaccumulator s tack
Acc.
V1400
5 0 C 6
0 0 3 A 5 0 C 6
V1401
0 0 3 A
Acc.
V1420
B 0 5 F
0 0 1 7 B 0 5 F
V1421
0 0 1 7
Accumulator s tackafter 1s t LDD
Accumulator s tackafter 2nd LDD
Acc. 0 0 5 2 0 1 2 5
0 0 5 2 0 1 2 5
Handheld Programmer Keystrokes
SHFTANDSTL
3D
STR$
SHFT3
D3
D
OUTGX SHFT
3D
1B
5F
0A
0A ENT
1B ENT
1B
4E
0A
0A ENT
ENT
SHFTANDSTL
3D
1B
4E
2C
0A ENT
3D
1B
RSTS
3D
0A
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP66 On when the 16-bit addition instruction results in a carry.SP67 On when the 32 bit addition instruction results in a carry.SP70 On anytime the value in the accumulator is negative.SP73 On when a signed addition or subtraction results in an incorrect sign bit.
DS Used
HPP Used
DirectSOFT
Subtract Binary Top of Stack (SUBBS)Subtract Binary Top of Stack is a 32-bit instruction thatsubtracts the binary value in the first level of the accumulatorstack from the binary value in the accumulator. The resultresides in the accumulator. The value in the first level of theaccumulator stack is removed and all stack locations aremoved up one level.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the value in V1400 and V1401 will be loaded intothe accumulator using the Load Double instruction. The value in V1420 and V1421 isloaded into the accumulator using the Load Double instruction, pushing the value previouslyloaded in the accumulator onto the accumulator stack. The binary value in the first level ofthe accumulator stack is subtracted from the binary value in the accumulator using theSubtract Stack instruction. The value in the accumulator is copied to V1500 and V1501using the Out Double instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–115
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
S UBBS
DirectSOFT32 Display
LDD
V1400
X1 Load the value in V1400 andV1401 into the accumulator
LDD
V1420
Load the value in V1420 andV1421 into the accumulator
OUTD
V1500
Copy the value in theaccumulator to V1500and V1501
X X X X X X X XLevel 1
X X X X X X X XLevel 2
X X X X X X X XLevel 3
X X X X X X X XLevel 4
X X X X X X X XLevel 5
X X X X X X X XLevel 6
X X X X X X X XLevel 7
X X X X X X X XLevel 8
0 0 1 A 2 0 5 BLevel 1
X X X X X X X XLevel 2
X X X X X X X XLevel 3
X X X X X X X XLevel 4
X X X X X X X XLevel 5
X X X X X X X XLevel 6
X X X X X X X XLevel 7
X X X X X X X XLevel 8
SUBBS Subtract the binary value inthe first level of theaccumulator stack from thebinary value in theaccumulator
Acc.
V1400
2 0 5 B
0 0 1 A 2 0 5 B
V1401
0 0 1 A
Acc.
V1420
5 0 C 6
0 0 3 A 5 0 C 6
V1421
0 0 3 A
Accumulator stackafter 1st LDD
Accumulator stackafter 2nd LDD
Acc. 0 0 2 0 3 0 6 B
0 0 2 0 3 0 6 B
Handheld Programmer Keystrokes
SHFTANDSTL
3D
STR$
SHFTISG
U1
B
OUTGX SHFT
3D
1B
5F
0A
0A ENT
1B ENT
1B
4E
0A
0A ENT
ENT
SHFTANDSTL
3D
1B
4E
2C
0A ENT
3D
1B
RSTS
3D
RSTS SHFT
V1501 V1500
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP64 On when the 16-bit subtraction instruction results in a borrow.SP65 On when the 32-bit subtraction instruction results in a borrow.SP70 On any time the value in the accumulator is negative.SP73 On when a signed addition or subtraction results in an incorrect sign bit.
DS Used
HPP Used
DirectSOFT
Multiply Binary Top of Stack (MULBS)Multiply Binary Top of Stack is a 16-bit instruction thatmultiplies the 16-bit binary value in the first level of theaccumulator stack by the 16-bit binary value in theaccumulator. The result resides in the accumulator and canbe 32 bits (8 digits max.). The value in the first level of theaccumulator stack is removed and all stack locations aremoved up one level.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the Load instruction moves the value in V1400 intothe accumulator. The value in V1420 is loaded into the accumulator using the Loadinstruction, pushing the value previously loaded in the accumulator onto the stack. Thebinary value in the accumulator stack’s first level is multiplied by the binary value in theaccumulator using the Multiply Binary Stack instruction. The Out Double instruction copiesthe value in the accumulator to V1500 and V1501.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–116
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
MULBS
Sta
ndar
dR
LLIn
stru
ctio
ns
DirectSOFT32 Display
LD
V1400
X1 Load the value in V1400 intothe accumulator
LD
V1420
Load the value in V1420 intothe accumulator
OUTD
V1500
Copy the value in theaccumulator to V1500and V1501
X X X X X X X XLevel 1
X X X X X X X XLevel 2
X X X X X X X XLevel 3
X X X X X X X XLevel 4
X X X X X X X XLevel 5
X X X X X X X XLevel 6
X X X X X X X XLevel 7
X X X X X X X XLevel 8
0 0 0 0 C 3 5 0Level 1
X X X X X X X XLevel 2
X X X X X X X XLevel 3
X X X X X X X XLevel 4
X X X X X X X XLevel 5
X X X X X X X XLevel 6
X X X X X X X XLevel 7
X X X X X X X XLevel 8
MULBS Multiply the binary value inthe accumulator with thebinary value in the first levelof the accumulator stack
Acc.
V1400
C 3 5 0
0 0 0 0 C 3 5 0
Acc.
V1420
0 0 1 4
0 0 0 0 0 0 1 4
Accumulator stackafter 1st LDD
Accumulator stackafter 2nd LDD
Acc. 0 0 0 F 4 2 4 0
0 0 0 F 4 2 4 0
V1500V1501
The unused accumulatorbits are set to zero
The unused accumulatorbits are set to zero
Handheld Programmer Keystrokes
SHFTANDSTL
3D
STR$
SHFTORSTM
ISGU
ANDSTL
OUTGX SHFT
3D
1B
5F
0A
0A ENT
1B ENT
1B
4E
0A
0A ENT
ENT
SHFTANDSTL
3D
1B
4E
2C
0A
1B
RSTS
ENT
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On any time the value in the accumulator is negative.
DS Used
HPP Used
DirectSOFT
Divide Binary by Top OF Stack (DIVBS)Divide Binary Top of Stack is a 32-bit instruction thatdivides the 32-bit binary value in the accumulator by the16-bit binary value in the first level of the accumulatorstack. The result resides in the accumulator and theremainder resides in the first level of the accumulatorstack.
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 theaccumulator using the Load instruction. The value in V1420 and V1421 is loaded into theaccumulator using the Load Double instruction also, pushing the value previously loaded inthe accumulator onto the accumulator stack. The binary value in the accumulator is dividedby the binary value in the first level of the accumulator stack using the Divide Binary Stackinstruction. The value in the accumulator is copied to V1500 and V1501 using the OutDouble instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–117
Chapter 5: Standard RLL Instructions - Math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DirectSOFT32 Display
LD
V1400
X1 Load the value in V1400 intothe accumulator
LDD
V1420
Load the value in V1420 andV1421 into the accumulator
OUTD
V1500
Copy the value in theaccumulator to V1500and V1501
X X X X X X X XLevel 1
X X X X X X X XLevel 2
X X X X X X X XLevel 3
X X X X X X X XLevel 4
X X X X X X X XLevel 5
X X X X X X X XLevel 6
X X X X X X X XLevel 7
X X X X X X X XLevel 8
0 0 0 0 0 0 1 4Level 1
X X X X X X X XLevel 2
X X X X X X X XLevel 3
X X X X X X X XLevel 4
X X X X X X X XLevel 5
X X X X X X X XLevel 6
X X X X X X X XLevel 7
X X X X X X X XLevel 8
DIVBS Divide the binary value inthe accumulator by thebinary value in the first levelof the accumulator stack
Acc.
V1400
0 0 1 4
0 0 0 0 0 0 1 4
Acc.
V1420
C 3 5 0
0 0 0 0 C 3 5 0
V1421
0 0 0 0
Accumulator stackafter 1st LDD
Accumulator stackafter 2nd LDD
Acc. 0 0 0 0 0 9 C 4
0 0 0 0 0 9 C 4
V1500V1501
The unused accumulatorbits are set to zero
0 0 0 0 0 0 0 0Level 1
X X X X X X X XLevel 2
X X X X X X X XLevel 3
X X X X X X X XLevel 4
X X X X X X X XLevel 5
X X X X X X X XLevel 6
X X X X X X X XLevel 7
X X X X X X X XLevel 8
The remainder resides in thefirst stack location
Handheld Programmer Keystrokes
SHFTANDSTL
3D
STR$
SHFT3
D8
IAND
V
OUTGX SHFT
3D
1B
5F
0A
0A ENT
1B ENT
1B
4E
0A
0A ENT
ENT
SHFTANDSTL
3D
1B
4E
2C
0A ENT
3D
1B
RSTS
DIVBS
Discrete Bit Flags DescriptionSP53 On when the value of the operand is larger than the accumulator can work with.SP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On any time the value in the accumulator is negative.
DS Used
HPP Used
DirectSOFT
Transcendental FunctionsThe DL06 CPU features special numerical functions to complement its real numbercapability. The transcendental functions include the trigonometric sine, cosine, and tangent,and also their inverses (arc sine, arc cosine, and arc tangent). The square root function is alsogrouped with these other functions.
The transcendental math instructions operate on a real number in the accumulator (it cannotbe BCD or binary). The real number result resides in the accumulator. The square rootfunction operates on the full range of positive real numbers. The sine, cosine and tangentfunctions require numbers expressed in radians. You can work with angles expressed indegrees by first converting them to radians with the Radian (RADR) instruction, thenperforming the trig function. All transcendental functions utilize the following flag bits.
Sine Real (SINR)The Sine Real instruction takes the sine of the real number storedin the accumulator. The result resides in the accumulator. Both theoriginal number and the result must be Real data type (IEEEfloating point format).
Cosine Real (COSR)The Cosine Real instruction takes the cosine of the real numberstored in the accumulator. The result resides in the accumulator.Both the original number and the result must be Real data type(IEEE floating point format)..
Tangent Real (TANR)The Tangent Real instruction takes the tangent of the real numberstored in the accumulator. The result resides in the accumulator.Both the original number and the result must be Real data type(IEEE floating point format).
Arc Sine Real (ASINR)The Arc Sine Real instruction takes the inverse sine of the realnumber stored in the accumulator. The result resides in theaccumulator. Both the original number and the result must be Realdata type (IEEE floating point format).
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–118
Chapter 5: Standard RLL Instructions - Transcendental Functions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
S INR
COSR
TANR
AS INR
Discrete Bit Flags DescriptionSP53 On when the value of the operand is larger than the accumulator can work with.SP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On anytime the value in the accumulator is negative.SP72 On anytime the value in the accumulator is an invalid floating point numberSP73 On when a signed addition or subtraction results in an incorrect sign bit.SP75 On when a real number instruction is executed and a non-real number encountered.
DS Used
HPP N/A
DS Used
HPP N/A
DS Used
HPP N/A
DS Used
HPP N/A
Arc Cosine Real (ACOSR)The Arc Cosine Real instruction takes the inverse cosine of thereal number stored in the accumulator. The result resides in theaccumulator. Both the original number and the result must beReal data type (IEEE floating point format).
Arc Tangent Real (ATANR)The Arc Tangent Real instruction takes the inverse tangent ofthe real number stored in the accumulator. The result resides inthe accumulator. Both the original number and the result mustbe Real data type (IEEE floating point format).
Square Root Real (SQRTR)The Square Root Real instruction takes the square root of thereal number stored in the accumulator. The result resides in theaccumulator. Both the original number and the result must beReal data type (IEEE floating point format).
NOTE: The square root function can be useful in several situations. However, if you are trying to dothe square-root extract function for an orifice flow meter measurement, as the PV to a PID loop, notethat the PID loop already has the square-root extract function built in.
The following example takes the sine of 45 degrees. Since these transcendental functionsoperate only on real numbers, we do an LDR (load real) 45. The trig functions operate onlyin radians, so we must convert the degrees to radians by using the RADR command. Afterusing the SINR (Sine Real) instruction, we use an OUTD (Out Double) instruction to movethe result from the accumulator to V-memory. The result is 32-bits wide, requiring the OutDouble to move it.
NOTE: The current HPP does not support real number entry with automatic conversion to the 32-bitIEEE format. You must use DirectSOFT for entering real numbers, using the LDR (Load Real)instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–119
Chapter 5: Standard RLL Instructions - Transcendental Functions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ACOSR
ATANR
S Q R T R
DirectSOFT 5
LDRR45
X1 Load the real number 45 intothe accumulator.
RADR Convert the degrees into radians,leaving the result in theaccumulator.
OUTDV2000
Copy the value in theaccumulator to V2000and V2001.
45.000000
Accumulator contents(viewed as real number)
0.7358981
SINR Take the sine of the number inthe accumulator, which is inradians.
0.7071067
0.7071067
DS Used
HPP N/A
DS Used
HPP N/A
DS Used
HPP N/A
DirectSOFT
Bit Operation Instructions
Sum (SUM)The Sum instruction counts number of bits that are setto “1” in the accumulator. The HEX result resides inthe accumulator.
In the following example, when X1 is on, the value formed by discrete locations X10–X17 isloaded into the accumulator using the Load Formatted instruction. The number of bits in theaccumulator set to “1” is counted using the Sum instruction. The value in the accumulator iscopied to V1500 using the Out instruction.
NOTE: Status flags are valid only until another instruction uses the same flag.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–120
Chapter 5: Standard RLL Instructions - Bit Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
SUM
Direct SOFT32 Display
LDF X10
K8
X1
Load the value represented bydiscrete locations X10–X17into the accumulator
SUM
Sum the number of bits inthe accumulator set to “1”
OUT
V1500
Copy the value in the lower16 bits of the accumulatorto V1500
X10X11X12X13
ONONOFFON
X14X15X16X17
OFFOFFONON
0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
V1500
Acc.
0 0 0 5
0 0 0 0 0 0 0 5
The unused accumulatorbits are set to zero
STR$ ENT
SHFTANDSTL
3D
5F
SHFTRST
SISG
UORSTM ENT
1B
1B
0A
8I ENT
SHFT
OUTGX PREV
1B
5F
0A
0A ENTPREV PREV
Handheld Programmer Keystrokes
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.
DS Used
HPP Used
DirectSOFT
Shift Left (SHFL)Shift Left is a 32-bit instruction that shifts the bits in theaccumulator a specified number (Aaaa) of places to the left.The vacant positions are filled with zeros and the bits shiftedout of the accumulator are discarded.
In the following example, when X1 is on, the value in V2000 and V2001 will be loaded intothe accumulator using the Load Double instruction. The bit pattern in the accumulator isshifted 2 bits to the left using the Shift Left instruction. The value in the accumulator iscopied to V2010 and V2011 using the Out Double instruction.
NOTE: Status flags are valid only until another instruction uses the same flag.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–121
Chapter 5: Standard RLL Instructions - Bit Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D2
C ENT
Handheld Programmer Keystrokes
Direct SOFT32
LDD
V2000
X1
Load the value in V2000 andV2001 into the accumulator
SHFL
K2
The bit pattern in theaccumulator is shifted 2 bitpositions to the left
OUTD
V2010
Copy the value in theaccumulator to V2010 andV2011
0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1
V2010
1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 00 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
C 4 0 4
. . . .
1 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
0 1 1 0 0 1 1 1 0 0 0 0 0 1 0 1
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
Acc.
V2011
9 C 1 4
6 7 0 5 3 3 1 0 3 1 0 1
Shifted out of the accumulator
V2000V2001
STR$
SHFTANDSTL
3D
3D
SHFTRST
S7
H5
FANDSTL
OUTGX SHFT
3D
1B ENT
2C
0A
0A
0A ENT
2C
0A
1B
0A ENT
SHFT
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 1-32
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On anytime the value in the accumulator is negative.
SHFLA aaa
DS Used
HPP Used
DirectSOFT
Shift Right (SHFR)Shift Right is a 32-bit instruction that shifts the bits in theaccumulator a specified number (Aaaa) of places to the right.The vacant positions are filled with zeros and the bits shifted outof the accumulator are lost.
In the following example, when X1 is on, the value in V2000 and V2001 will be loaded intothe accumulator using the Load Double instruction. The bit pattern in the accumulator isshifted 2 bits to the right using the Shift Right instruction. The value in the accumulator iscopied to V2010 and V2011 using the Out Double instruction.
NOTE: Status flags are valid only until another instruction uses the same flag.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–122
Chapter 5: Standard RLL Instructions - Bit Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
SHFRA aaa
Handheld Programmer Keystrokes
Direct SOFT32
LDD
V2000
X1
Load the value in V2000 andV2001 into the accumulator
SHFR
K2
The bit pattern in theaccumulator is shifted 2 bitpositions to the right
OUTD
V2010
Copy the value in theaccumulator to V2010 andV2011
0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1
V2010
0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 00 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
4 C 4 0
. . .
0 0 0 1 1 0 0 1 1 1 0 0 0 0 0 1
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
0 1 1 0 0 1 1 1 0 0 0 0 0 1 0 1
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
Acc.
V2011
1 9 C 1
Constant 6 7 0 5 3 1 0 1 3 1 0 1
Shifted out of the accumulator
V2001 V2000
STR$
SHFTANDSTL
3D
3D
SHFTRST
S7
H5
F2
C ENT
OUTGX SHFT
3D
ORNRSHFT
1B ENT
2C
0A
0A
0A ENT
2C
0A
1B
0A ENT
.
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 1-32
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On anytime the value in the accumulator is negative.
DS Used
HPP Used
DirectSOFT
Rotate Left (ROTL)Rotate Left is a 32-bit instruction that rotates thebits in the accumulator a specified number (Aaaa)of places to the left.
In the following example, when X1 is on, the value in V1400 and V1401 will be loaded intothe accumulator using the Load Double instruction. The bit pattern in the accumulator isrotated 2 bit positions to the left using the Rotate Left instruction. The value in theaccumulator is copied to V1500 and V1501 using the Out Double instruction.
NOTE: Status flags are valid only until another instruction uses the same flag.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–123
Chapter 5: Standard RLL Instructions - Bit Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
R O T LA aaa
DirectSOFT32 Display
Handheld Programmer Keystrokes
STR$
SHFTANDSTL
3D
3D
SHFTORN
RMLR
TANDSTL ENT
OUTGX SHFT
3D
1B ENT
INST#O
ENT
1B
4E
0A
0A ENT
2C
1B
5F
0A
0A
X1LDD
V1400
ROTLK2
OUTDV1500
Load the value in V1400 and V1401 into the accumulator
The bit pattern in the accumulator is rotated 2 bit positions to the left
Copy the value in the accumulator to V1500 and V1501
17
0000000000 1 11 1 1 1
161819202122232425262728293031
9 C 1 4
V1501
Acc.
Acc.
1
1000000001 0 01 0 1 1
023456789101112131415
C 4 0 5
V1500
1000001111 0 00 0 1 1 1000001010 0 00 1 0 0
17 161819202122232425262728293031 1 023456789101112131415
6 7 0 5 3 1 0 1
V1401 V1400
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 1-32
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On anytime the value in the accumulator is negative.
DS Used
HPP Used
DirectSOFT
Rotate Right (ROTR)Rotate Right is a 32-bit instruction that rotates the bits inthe accumulator a specified number (Aaaa) of places to theright.
In the following example, when X1 is on, the value in V1400 and V1401 will be loaded intothe accumulator using the Load Double instruction. The bit pattern in the accumulator isrotated 2 bit positions to the right using the Rotate Right instruction. The value in theaccumulator is copied to V1500 and V1501 using the Out Double instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–124
Chapter 5: Standard RLL Instructions- - Bit Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
R O T RA aaa
Handheld Programmer Keystrokes
Direct SOFT Display
LDD
V1400
X1
Load the value in V1400 andV1401 into the accumulator
ROTR
K2
The bit pattern in theaccumulator is rotated 2bit positions to the right
OUTD
V1500
Copy the value in theaccumulator to V1500and V1501
0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1
V1500
0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 00 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
4 C 4 0
0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 1
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
0 1 1 0 0 1 1 1 0 0 0 0 0 1 0 1
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
Acc.
V1501
5 9 C 1
6 7 0 5 3 1 0 1
V1400V1401
STR$
SHFTANDSTL
3D
3D
SHFTORN
RMLR
TORN
R ENT
OUTGX SHFT
3D
1B ENT
INST#O
ENT
1B
4E
0A
0A ENT
2C
1B
5F
0A
0A
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 1-32
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On anytime the value in the accumulator is negative.
DS Used
HPP Used
DirectSOFT
Encode (ENCO)The Encode instruction encodes the bit position in theaccumulator having a value of 1, and returns theappropriate binary representation. If the most significantbit is set to 1 (Bit 31), the Encode instruction would placethe value HEX 1F (decimal 31) in the accumulator. If thevalue to be encoded is 0000 or 0001, the instruction willplace a zero in the accumulator. If the value to be encodedhas more than one bit position set to a “1”, the leastsignificant “1” will be encoded and SP53 will be set on.
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 accumulatorusing the Load instruction. The bit position set to a “1” in the accumulator is encoded to thecorresponding 5 bit binary value using the Encode instruction. The value in the lower 16 bitsof the accumulator is copied to V2010 using the Out instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–125
Chapter 5: Standard RLL Instructions - Bit Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ENCO
Handheld Programmer Keystrokes
Direct SOFT32
LD
V2000
X1
Load the value in V2000 intothe lower 16 bits of theaccumulator
ENCO
Encode the bit position setto “1” in the accumulator to a5 bit binary value
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
V2000
1 0 0 0
Bit postion 12 isconverted to binary
Copy the value in the lower 16 bitsof the accumulator to V2010
OUT
V2010
V2010
0 0 0 C
Binary valuefor 12.
STR$
1B ENT
SHFT
OUTGX SHFT
ANDV
2C
0A
1B
0A ENT
4E
TMRN
2C
INST#O ENT
SHFTANDSTL
3D
2C
0A
0A
0A ENT
Discrete Bit Flags DescriptionSP53 On when the value of the operand is larger than the accumulator can work with.
DS Used
HPP Used
DirectSOFT
Decode (DECO)The Decode instruction decodes a 5-bit binary value of 0–31(0–1Fh) in the accumulator by setting the appropriate bitposition to a 1. If the accumulator contains the value Fh(HEX), bit 15 will be set in the accumulator. If the value to bedecoded is greater than 31, the number is divided by 32 untilthe value is 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 isloaded into the accumulator using the Load Formatted instruction. The 5- bit binary patternin the accumulator is decoded by setting the corresponding bit position to a “1” using theDecode instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–126
Chapter 5: Standard RLL Instructions - Bit Operation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Handheld Programmer Keystrokes
Direct SOFT32
LDF X10
K5
X1
Load the value inrepresented by discretelocations X10–X14 into theaccumulator
DECO
Decode the five bit binarypattern in the accumulatorand set the correspondingbit position to a “1”
X10 X11 X13 X12
ON ON OFF
X14
OFF ON
0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
The binary vlaue is converted tobit position 11.
STR$ ENT
SHFTANDSTL
3D
5F
1B
1B
0A ENT
5F
SHFT2
CINST#O ENT
3D
4E
DECODS Used
HPP Used
DirectSOFT
Number Conversion Instructions (Accumulator)
Binary (BIN)The Binary instruction converts a BCD value in theaccumulator to the equivalent binary, or decimal, value.The result resides in the accumulator.
In the following example, when X1 is on, the value in V2000 and V2001 is loaded into theaccumulator using the Load Double instruction. The BCD value in the accumulator isconverted to the binary (HEX) equivalent using the BIN instruction. The binary value in theaccumulator is copied to V2010 and V2011 using the Out Double instruction. (Thehandheld programmer will display the binary value in V2010 and V2011 as a HEX value.)
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–127
Chapter 5: Standard RLL Instructions - Number Conversion
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
BIN
Standard
RLL
Instructions
S T R$
0A
OUTGX S HF T
3D
2C
0A
1B E NT
0 0 0 0 6 F 7 1
V2010V2011
Handheld Programmer Keys trokes
D irectS OF T 32
LDD
V2000
X1
B IN
1 0 0 0 0 1 0 1 0 0 1 0 1 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 18 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1
Acc.
0 0 0 2 8 5 2 9
V2000V2001
0 1 1 0 1 1 1 1 0 1 1 1 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
124816
32
64
128
256
512
1024
2048
4096
8192
16384
32768
65536
131072
262144
524288
1048576
2097152
4194304
8388608
16777216
33554432
67108864
134217728
268435456
536870912
1073741824
21474483648
OUT D
V2010
28529 = 16384 + 8192 + 2048 + 1024 + 512 + 256 + 64 + 32 + 16 + 1
1B E NT
S HF TANDS TL
3D
3D
2C
0A
0A
0A E NT
S HF T1
B8
IT MR
N E NT
Copy the binary data in theaccumulator to V2010 and V2011
Convert the BCD value in the accumulator to the binary equivalent value
Load the value in V2000 andV2001 into the accumulator
BCD Value
Binary Equivalent Value
The Binary (HEX)value copied toV2010
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On anytime the value in the accumulator is negative.SP75 On when a BCD instruction is executed and a NON–BCD number was encountered.
DS Used
HPP Used
DirectSOFT
Binary Coded Decimal (BCD)The Binary Coded Decimal instruction converts a binary, ordecimal, value in the accumulator to the equivalent BCD value.The result resides in the accumulator.
In the following example, when X1 is on, the binary, or decimal, value in V2000 and V2001is loaded into the accumulator using the Load Double instruction. The value in theaccumulator is converted to the BCD equivalent value using the BCD instruction. The BCDvalue in the accumulator is copied to V2010 and V2011 using the Out Double instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–128
Chapter 5: Standard RLL Instructions - Number Conversion
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
BCD
3D
Handheld Programmer Keystrokes
DirectSOFT 5
LDDV2000
X1
Load the value in V2000 andV2001 into the accumulator
BCD
0 1 1 0 1 1 1 1 0 1 1 1 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
0 0 0 0 6 F 7 1
V2000V2001
BCD Equivalent Value
Binary Value
1 0 0 0 0 1 0 1 0 0 1 0 1 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0Acc.
124816
32
64
128
256
512
1024
2048
4096
8192
16384
32768
65536
131072
262144
524288
1048576
2097152
4194304
8388608
16777216
33554432
67108864
134217728
268435456
536870912
1073741824
21474483648
Copy the BCD value in theaccumulator to V2010 and V2011
OUTDV2010
The BCD valuecopied toV2010 and V2011
0 0 0 2 8 5 2 9
V2010V2011
8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 18 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1
16384 + 8192 + 2048 + 1024 + 512 + 256 + 64 + 32 + 16 + 1 = 28529
STR$
1B ENT
SHFT ANDSTL
3D
3D
2C
0A
0A
0A ENT
SHFT 1B ENT
OUTGX SHFT
2C
0A
1B
0A ENT
2C
3D
Convert the binary, or decimal,value in the accumulator to theBCD equivalent value
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On anytime the value in the accumulator is negative.
DS Used
HPP Used
DirectSOFT
Invert (INV)The Invert instruction inverts or takes the one’scomplement of the 32-bit value in the accumulator. Theresult resides in the accumulator.
In the following example, when X1 is on, the value in V2000 and V2001 will be loaded intothe accumulator using the Load Double instruction. The value in the accumulator is invertedusing the Invert instruction. The value in the accumulator is copied to V2010 and V2011using the Out Double instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–129
Chapter 5: Standard RLL Instructions - Number Conversion
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
INV
Handheld Programmer Keystrokes
Direct SOFT32
LDD
V2000
X1
Load the value in V2000 andV2001 into the accumulator
INV
Invert the binary bit patternin the accumulator
OUTD
V2010
Copy the value in theaccumulator to V2010 andV2011
0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 00 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
0 4 0 5 0 2 5 0 0 2 5 0
V2000 V2001
V2010 V2011
1 1 1 1 1 1 0 1 1 0 1 0 1 1 1 11 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
F B F A F D A F
STR$
SHFTANDSTL
3D
3D
SHFT ENT
OUTGX SHFT
3D
8I
TMRN
ANDV
1B ENT
2C
0A
0A
0A ENT
2C
0A
1B
0A ENT
DS Used
HPP Used
DirectSOFT
Ten’s Complement (BCDCPL)The Ten’s Complement instruction takes the 10’s complement(BCD) of the 8 digit accumulator. The result resides in theaccumulator. The calculation for this instruction is :
100000000� accumulator
10’s complement value
In the following example when X1 is on, the value in V2000 and V2001 is loaded into theaccumulator. The 10’s complement is taken for the 8 digit accumulator using the Ten’sComplement instruction. The value in the accumulator is copied to V2010 and V2011 usingthe Out Double instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–130
Chapter 5: Standard RLL Instructions - Number Conversion
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
BC DC PL
3D
Handheld Programmer Keys trokes
D irectS OF T 32
LDD
V2000
X1
Load the value in V2000 andV2001 into the accumulator
BC DC PL
Takes a 10’s complement ofthe value in the accumulator
OUT D
V2010
C opy the value in theaccumulator to V2010 andV2011
Acc.
V2000
0 0 8 7
0 0 0 0 0 0 8 7
V2001
0 0 0 0
V2010
Acc.
9 9 1 3
9 9 9 9 9 9 1 3
V2011
9 9 9 9
S T R$
1B E NT
S HF TANDS TL
3D
3D
2C
0A
0A
0A E NT
S HF T E NT
OUTGX S HF T
2C
0A
1B
0A E NT
1B
2C
3D
2C
C VP
ANDS TL
DS Used
HPP Used
DirectSOFT
Binary to Real Conversion (BTOR)The Binary-to-Real instruction converts a binary, ordecimal, value in the accumulator to its equivalent realnumber (floating point) format. The result resides in theaccumulator. Both the binary and the real number may useall 32 bits of the accumulator.
NOTE: This instruction only works with unsigned binary, or decimal, values. It will not work withsigned decimal values.
In the following example, when X1 is on, the value in V1400 and V1401 is loaded into theaccumulator using the Load Double instruction. The BTOR instruction converts the binary,or decimal, value in the accumulator to the equivalent real number format. The binary weightof the MSB is converted to the real number exponent by adding it to 127 (decimal). Then theremaining bits are copied to the mantissa as shown. The value in the accumulator is copied toV1500 and V1501 using the Out Double instruction. The handheld programmer woulddisplay the binary value in V1500 and V1501 as a HEX value.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–131
Chapter 5: Standard RLL Instructions - Number Conversion
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
BT O R
4 8 A E 4 8 2 0
V1500V1501
DirectSOFT
LDDV1400
X1
Load the value inV1400 andV1401 into the accumulator
BTOR
0 1 1 1 0 0 1 0 0 0 1 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 18 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1
Acc.
0 0 0 5 7 2 4 1
V1400V1401
Binary Value
Copy the real value in theaccumulator toV1500 andV1501
OUTDV1500
The real number (HEX) valuecopied toV1500
0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 00 1 0 0 1 0 0 0 1 0 1 0 1 1 1 0Acc.
Real Number Format
Mantissa (23 bits)Exponent (8 bits)Sign Bit
2 (exp 18)127 + 18 = 145
145 = 128 + 16 + 1
STR$
SHFT ANDSTL
3D
3D
SHFT 1B
MLRT
ORNR ENT
OUTGX SHFT 3
D
1B ENT
INST#O
ENT
1B
4E
0A
0A ENT
1B
5F
0A
0A
Handheld Programmer Keystrokes
Convert the binar y, or decimal,value in the accumulator to thereal number equivalent format
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On anytime the value in the accumulator is negative.
DS Used
HPP Used
Real to Binary Conversion (RTOB)The Real-to-Binary instruction converts the real number in theaccumulator to a binary value. The result resides in theaccumulator. Both the binary and the real number may use all 32bits of the accumulator.
NOTE1: The decimal portion of the result will be rounded down (14.1 � 14 � 14.1 � -15).NOTE2: if the real number is negative, it becomes a signed decimal value.
In the following example, when X1 is on, the value in V1400 and V1401 is loaded into theaccumulator using the Load Double instruction. The RTOB instruction converts the realvalue in the accumulator the equivalent binary number format. The value in the accumulatoris copied to V1500 and V1501 using the Out Double instruction. The handheld programmerwould display the binary value in V1500 and V1501 as a HEX value.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–132
Chapter 5: Standard RLL Instructions - Number Conversion
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
R T O B
4 8 A E 4 8 2 0
V1400V1401
DirectSOFT32
LDD
V1400
X1
Load the value in V1400 andV1401 into the accumulator
RTOB
Convert the real number inthe accumulator to binaryformat.
0 1 1 1 0 0 1 0 0 0 1 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 18 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1
Acc.
0 0 0 5 7 2 4 1
V1500V1501
Binary Value
Copy the real value in theaccumulator to V1500 and V1501
OUTD
V1500
The b inary number cop ied toV1500.
0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 00 1 0 0 1 0 0 0 1 0 1 0 1 1 1 0Acc.
Real Number Format
Mantissa (23 bits)Exponent (8 bits)Sign Bit
2 (exp 18)
127 + 18 = 145128 + 16 + 1 = 145
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On anytime the value in the accumulator is negative.SP72 On anytime the value in the accumulator is an invalid floating point number.SP73 On when a signed addition or subtraction results in an incorrect sign bit.SP75 On when a number cannot be converted to binary.
STR$
SHFTANDSTL
3D
3D
SHFT1
BMLR
TORN
R ENT
OUTGX SHFT
3D
1B ENT
INST#O
ENT
1B
4E
0A
0A ENT
1B
5F
0A
0A
Handheld Programmer Keystrokes
DS Used
HPP Used
DirectSOFT
Radian Real Conversion (RADR)The Radian Real Conversion instruction converts the realdegree value stored in the accumulator to the equivalentreal number in radians. The result resides in theaccumulator.
Degree Real Conversion (DEGR)The Degree Real instruction converts the degree realradian value stored in the accumulator to the equivalentreal number in degrees. The result resides in theaccumulator.
The two instructions described above convert real numbers into the accumulator from degreeformat to radian format, and vice-versa. In degree format, a circle contains 360 degrees. Inradian format, a circle contains 2� (about 6.28) radians. These convert between both positiveand negative real numbers, and for angles greater than a full circle. These functions are veryuseful when combined with the transcendental trigonometric functions (see the section onmath instructions).
NOTE: The current HPP does not support real number entry with automatic conversion to the 32-bitIEEE 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 operateonly on real numbers, we do an LDR (load real) 45. The trig functions operate only inradians, so we must convert the degrees to radians by using the RADR command. After usingthe SINR (Sine Real) instruction, we use an OUTD (Out Double) instruction to move theresult from the accumulator to V-memory. The result is 32-bits wide, requiring the Out
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–133
Chapter 5: Standard RLL Instructions - Number Conversion
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
R ADR
DE G R
DirectSOFT32
LDR
R45
X1 Load the real number 45 intothe accumulator.
RADR Convert the degrees into radians,leaving the result in theaccumulator.
OUTD
V2000
Copy the value in theaccumulator to V2000and V2001.
45.000000
Accumulator contents(viewed as real number)
0.7853982
SINR Take the sine of the number inthe accumulator, which is inradians.
0.7071067
0.7071067
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On anytime the value in the accumulator is negative.SP72 On anytime the value in the accumulator is an invalid floating point number.SP73 On when a signed addition or subtraction results in an incorrect sign bit.SP75 On when a number cannot be converted to binary.
DS Used
HPP N/A
DS32 Used
HPP N/A
DirectSOFT
ASCII to HEX (ATH)The ASCII TO HEX instruction converts a table of ASCII values toa specified table of HEX values. ASCII values are two digits andtheir HEX equivalents are one digit. This means an ASCII table offour V-memory locations would only require two V-memorylocations for the equivalent HEX table. The function parameters areloaded into the accumulator stack and the accumulator by twoadditional instructions. Listed below are the steps necessary toprogram an ASCII to HEX table function. The example on thefollowing page shows a program for the ASCII to HEX table function.
Step 1: Load the number of V-memory locations for the ASCII table into the first level of theaccumulator stack.
Step 2: Load the starting V-memory location for the ASCII table into the accumulator. Thisparameter must be a HEX value.
Step 3: Specify the starting V-memory location (Vaaa) for the HEX table in the ATHinstruction.
Helpful Hint: — For parameters that require HEX values when referencing memorylocations, the LDA instruction can be used to convert an octal address to the HEX equivalentand load the value into the accumulator.
In the example on the following page, when X1 is ON the constant (K4) is loaded into theaccumulator using the Load instruction and will be placed in the first level of the accumulatorstack when the next Load instruction is executed. The starting location for the ASCII table(V1400) is loaded into the accumulator using the Load Address instruction. The startinglocation for the HEX table (V1600) is specified in the ASCII to HEX instruction. The tablebelow lists valid ASCII values for ATH conversion.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–134
Chapter 5: Standard RLL Instructions - Number Conversion
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
aaaATH
V
Operand Data Type DL06 Rangeaaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map
Discrete Bit Flags DescriptionSP53 On when the value of the operand is larger than the accumulator can work with.
ASCII Values Valid for ATH ConversionASCII Value Hex Value ASCII Value Hex Value
30 0 38 8 31 1 39 9 32 2 41 A 33 3 42 B 34 4 43 C 35 5 44 D 36 6 45 E 37 7 46 F
DS Used
HPP N/A
HEX to ASCII (HTA)The HEX to ASCII instruction converts a table ofHEX values to a specified table of ASCII values.HEX values are one digit and their ASCIIequivalents are two digits.
This means a HEX table of two V-memory locations would require four V-memory locationsfor the equivalent ASCII table. The function parameters are loaded into the accumulatorstack and the accumulator by two additional instructions. Listed below are the steps necessaryto program a HEX to ASCII table function. The example on the following page shows aprogram for the HEX to ASCII table function.
Step 1: Load the number of V-memory locations in the HEX table into the first levelof the accumulator stack.
Step 2: Load the starting V-memory location for the HEX table into the accumulator.This parameter must be a HEX value.
Step 3:Specify the starting V-memory location (Vaaa) for the ASCII table in the HTAinstruction.
Helpful Hint: — For parameters that require HEX values when referencing memorylocations, the LDA instruction can be used to convert an octal address to the HEX equivalentand load the value into the accumulator.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–135
Chapter 5: Standard RLL Instructions - Number Conversion
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Direct SOFT32
LD
K4
X1 Load the constant valueinto the lower 16 bits of theaccumulator. This valuedefines the number of Vmemory location in theASCII table
LDA
O 1400
Convert octal 1400 to HEX300 and load the value intothe accumulator
ATH
V1600
V1600 is the startinglocation for the HEX table
ASCII T ABLEHexadecimal Equivalents
1234
33 34V1400
5678
31 32V1401
37 38V1402
35 36V1403
V1600
V1601
STR$
SHFTANDSTL
3D
7H
SHFT
MLRTSHFT
1B ENT
ENT
4E
0A
0A
ENT
1B
6G
0A
0A
Handheld Programmer Keystrokes
PREV
ANDSTL
3D ENT
1B
4E
0A
0A
aaaVHTA
DS Used
HPP N/A
DirectSOFT
In the following example, when X1 is ON, the constant (K2) is loaded into the accumulatorusing the Load instruction. The starting location for the HEX table (V1500) is loaded intothe accumulator using the Load Address instruction. The starting location for the ASCII table(V1400) is specified in the HEX to ASCII instruction.
The table below lists valid ASCII values for HTA conversion.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–136
Chapter 5: Standard RLL Instructions - Number Conversion
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Direct SOFT32
Handheld Programmer Keystrokes
LD
K2
X1
Load the constant value intothe lower 16 bits of theaccumulator. This valuedefines the number of Vlocations in the HEX table.
LDA
O 1500
Convert octal 1500 to HEX340 and load the value intothe accumulator
HTA
V1400
V1400 is the startinglocation for the ASCII table.The conversion is executedby this instruction.
ASCII T ABLEHexadecimal Equivalents
1234
33 34 V1400
5678
31 32 V1401
37 38 V1402
35 36 V1403
V1500
V1501
STR$
SHFTANDSTL
3D SHFT
JMPK
4E ENT
SHFTANDSTL
3D
0A
0A
0A ENT
SHFT
1B ENT
0A
0A ENT
1B
5F
0A
MLRT
7H
1B
4E
ASCII Values Valid for HTA ConversionHex Value ASCII Value Hex Value ASCII Value
0 30 8 381 31 9 392 32 A 413 33 B 424 34 C 435 35 D 446 36 E 457 37 F 46
Operand Data Type DL06 Rangeaaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map
Discrete Bit Flags DescriptionSP53 On when the value of the operand is larger than the accumulator can work with.
DirectSOFT
Segment (SEG)The BCD / Segment instruction converts a four digit HEXvalue in the accumulator to seven segment display format.The result resides in the accumulator.
In the following example, when X1 is on, the value in V1400 is loaded into the lower 16 bitsof the accumulator using the Load instruction. The HEX value in the accumulator isconverted to seven segment format using the Segment instruction. The bit pattern in theaccumulator is copied to Y20–Y57 using the Out Formatted instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–137
Chapter 5: Standard RLL Instructions - Number Conversion
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
S E G
-- g f e d c b a-- g f e d c b a -- g f e d c b a
DirectSOFT32 Display
SEG
X1
Convert the binary (HEX)value in the accumulator toseven segment displayformat
OUTF Y20
K32
Copy the value in theaccumulator to Y20--Y57
LD
V1400
Load the value in V1400 nto thelower 16 bits of the accumulator
0 1 1 0 1 1 1 1 0 1 1 1 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
6 F 7 1
V1400
0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 00 1 1 1 1 1 0 1 0 1 1 1 0 0 0 1
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
Y20Y21Y22Y23
OFFONONOFF
Y24
OFF
Y53Y54Y55Y56
ONONONON
Y57
OFF
-- g f e d c b a SegmentLabels
a
g
f
e
d
c
bSegment
Labels
Handheld Programmer Keystrokes
STR$
ANDSTL
3D
SHFT
1B ENT
2C
0A
4E
RSTS
3D
ENT6
G
5F
ENT1
B4
E0
A0
A
SHFT
OUTGX SHFT
2C ENT
DS Used
HPP Used
DirectSOFT
Gray Code (GRAY)The Gray code instruction converts a 16-bit gray code valueto a BCD value. The BCD conversion requires 10 bits of theaccumulator. The upper 22 bits are set to “0”. Thisinstruction is designed for use with devices (typicallyencoders) that use the gray code numbering scheme. The Gray Code instruction will directlyconvert a gray code number to a BCD number for devices having a resolution of 512 or 1024counts per revolution. If a device having a resolution of 360 counts per revolution is to beused, you must subtract a BCD value of 76 from the converted value to obtain the properresult. For a device having a resolution of 720 counts per revolution, you must subtract aBCD value of 152.
In the following example, when X1 is ON, the binary value represented by X10–X27 isloaded into the accumulator using the Load Formatted instruction. The gray code value inthe accumulator is converted to BCD using the Gray Code instruction. The value in thelower 16 bits of the accumulator is copied to V2010.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–138
Chapter 5: Standard RLL Instructions - Number Conversion
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
GRAY
Handheld Programmer Keystrokes
Direct SOFT32
LDF K16
X10
X1
Load the value representedby X10–X27 into the lower16 bits of the accumulator
GRAY
Convert the 16 bit grey codevalue in the accumulator to aBCD value
OUT
V2010
Copy the value in the lower16 bits of the accumulator toV2010
0000000000
Gray Code BCD
0000000001
0000000011
0000000010
0000000110
0000000111
0000000101
0000000100
1000000001
1000000000
0000
0001
0002
0003
0004
0005
0006
0007
1022
1023
X10X11X12
ONOFFON
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1631 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acc.
X25X26X27
OFFOFFOFF
V2010
0 0 0 6
STR$
SHFTANDSTL
3D
5F
SHFT6
GORN
R0
AMLS
Y ENT
OUTGX SHFT
ANDV
2C
0A
1B
0A ENT
ENT1
B
1B
0A ENT
1B
6G
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On anytime the value in the accumulator is negative.
DS Used
HPP Used
DirectSOFT
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–139
Chapter 5: Standard RLL Instructions - Number Conversion
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Shuffle Digits (SFLDGT)The Shuffle Digits instruction shuffles a maximum of 8digits, rearranging them in a specified order. This functionrequires parameters to be loaded into the first level of theaccumulator stack and the accumulator with two additionalinstructions. Listed below are the steps necessary to use the shuffle digit function. Theexample on the following page shows a program for the Shuffle Digits function.
Step 1: Load the value (digits) to be shuffled into the first level of the accumulatorstack.
Step 2: Load the order that the digits will be shuffled to into the accumulator.
Step 3: Insert the SFLDGT instruction.
NOTE: If the number used to specify the order contains a 0 or 9–F, the corresponding position will be set to 0.
Shuffle Digits Block DiagramThere are a maximum of 8 digits that can beshuffled. The bit positions in the first level ofthe accumulator stack define the digits to beshuffled. They correspond to the bit positions inthe accumulator that define the order the digitswill be shuffled. The digits are shuffled and theresult resides in the accumulator.
Digits to beshuffled (first stack location)
Specified order (accumulator)
D E F 09 A B C
3 6 5 41 2 8 7
Result (accumulator)
0 D A 9B C E F
4 3 2 18 7 6 5Bit Positions
SFLDGT
Discrete Bit Flags DescriptionSP63 On when the result of the instruction causes the value in the accumulator to be zero.SP70 On anytime the value in the accumulator is negative.
DS Used
HPP Used
In the following example, when X1 is on, the value in the first level of the accumulator stackwill 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 theorder 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 theorder the digits are to be shuffled. Notice when the Shuffle Digits instruction is executed, thebit positions in the first stack location that had a corresponding 0 or 9–F in the accumulator(order specified) are set to “0”.
Example C shows how the Shuffle Digits works when duplicate numbers are used specifyingthe order the digits are to be shuffled. Notice when the Shuffle Digits instruction is executed,the most significant duplicate number in the order specified is used in the result.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–140
Chapter 5: Standard RLL Instructions - Number Conversion
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
D E F 09 A B C
Handheld Programmer Keystrokes
Direct SOFT32
LDD
V2000
X1
Load the value in V2000 andV2001 into the accumulator
LDD
V2006
Load the value in V2006 andV2007 into the accumulator
OUTD
V2010
Copy the value in theaccumulator to V2010 andV2011
SFLDGT
Shuf fle the digits in the firstlevel of the accumulatorstack based on the patternin the accumulator. Theresult is in the accumulator .
V2010
Acc.
0 D A 9
9 A B C D E F 0
V2011
B C E F
Acc.
3 6 5 4
1 2 8 7 3 6 5 4
1 2 8 7
Acc.B C E F 0 D A 9
V2000V2001
V2006V2007
C B A 90 F E D
V2010
Acc.
E D A 9
0 F E D C B A 9
V2011
0 0 0 0
Acc.
0 0 2 1
0 0 4 3 0 0 2 1
0 0 4 3
Acc.0 0 0 0 E D A 9
V2000V2001
V2006V2007
D E F 09 A B C
V2010
Acc.
9 A B C
9 A B C D E F 0
V2011
0 0 0 0
Acc.
4 3 2 1
4 3 2 1 4 3 2 1
4 3 2 1
Acc.0 0 0 0 9 A B C
V2000V2001
V2006V2007
A B C
Original bitPositions
4 3 2 18 7 6 5 4 3 2 18 7 6 5 4 3 2 18 7 6 5
Specifiedorder
4 3 2 18 7 6 5 4 3 2 18 7 6 5 4 3 2 18 7 6 5
New bitPositions
4 3 2 18 7 6 5 4 3 2 18 7 6 5 4 3 2 18 7 6 5
STR$
SHFTANDSTL
3D
3D
SHFTANDSTL
3D
3D
SHFTRST
S5
FANDSTL
3D
6G
MLRT ENT
OUTGX SHFT
3D
1B ENT
2C
0A
0A
0A ENT
2C
0A
0A ENT
6G
2C
0A
1B
0A ENT
SHFT
DirectSOFT
Table Instructions
Move (MOV)The Move instruction moves the values from a V-memory table toanother V-memory table the same length (a table being aconsecutive group of V-memory locations). The functionparameters are loaded into the first level of the accumulator stackand the accumulator by two additional instructions. The MOV instruction can be used towrite data to non-volatile V-memory (see Appendix F). Listed below are the steps necessary toprogram the MOV function.
• Step 1 Load the number of V-memory locations to be moved into the first level of the accumulatorstack. This parameter is a HEX value (KFFF max, 7777 octal, 4096 decimal).
• Step 2 Load the starting V-memory location for the locations to be moved into the accumulator.This parameter is a HEX value.
• Step 3 Insert the MOV instruction which specifies starting V-memory location (Vaaa) for thedestination table.
Helpful Hint: — For parameters that require HEX values when referencing memorylocations, the LDA instruction can be used to convert an octal address to the HEX equivalentand load the value into the accumulator.
In the following example, when X1 is on, the constant value (K6) is loaded into theaccumulator using the Load instruction. This value specifies the length of the table and isplaced in the first stack location after the Load Address instruction is executed. The octaladdress 2000 (V2000), the starting location for the source table, is loaded into theaccumulator. The destination table location (V2030) is specified in the Move instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–141
Chapter 5: Standard RLL Instructions - Table Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
V aaaMOV
Direct SOFT32
LD
K6
X1 Load the constant value 6(HEX) into the lower 16 bitsof the accumulator
LDA
O 2000
Convert octal 2000 to HEX400 and load the value intothe accumulator
MOV
V2030
Copy the specified tablelocations to a tablebeginning at location V2030
V20300 1 2 3
V20310 5 0 0
V20329 9 9 9
V20333 0 7 4
V20348 9 8 9
V20351 0 1 0
V2036X X X X
V2037X X X X
V2026X X X X
V2027X X X X
V20000 1 2 3
V20010 5 0 0
V20029 9 9 9
V20033 0 7 4
V20048 9 8 9
V20051 0 1 0
V2006X X X X
V2007X X X X
Handheld Programmer Keystrokes
STR$
SHFTANDSTL
3D SHFT
JMPK
6G ENT
SHFTANDSTL
3D
0A
2C
0A
0A
0A ENT
SHFTORSTM
INST#O
1B ENT
2C
0A
0A ENT
3D
ANDV
Discrete Bit Flags DescriptionSP53 On when the value of the operand is larger than the accumulator can work with.
Operand Data Type DL06 Rangeaaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory map
DS Used
HPP Used
DirectSOFT
Move Memory Cartridge (MOVMC)
Load Label (LDLBL) The Move Memory Cartridge instruction is used to copy databetween V-memory and program ladder memory. The Load Labelinstruction is only used with the MOVMC instruction whencopying data from program ladder memory to V-memory.
To copy data between V-memory and program ladder memory, thefunction parameters are loaded into the first two levels of theaccumulator stack and the accumulator by two additionalinstructions. Listed below are the steps necessary to program theMOVMC and LDLBL functions.
• Step 1: Load the number of words to be copied into the second level of the accumulator stack.
• Step 2: Load the offset for the data label area in ladder memory and the beginning of the V-memoryblock into the first level of the stack.
• Step 3: Load the source data label (LDLBL Kaaa) into the accumulator when copying data fromladder memory to V-memory. Load the source address into the accumulator when copyingdata from V-memory to ladder memory. This is where the value will be copied from. If thesource address is a V-memory location, the value must be entered in HEX.
• Step 4: Insert the MOVMC instruction which specifies destination in V-memory (Vaaa). This is thecopy destination.
NOTE: Refer to page 5-188 for an example.
WARNING: The offset for this usage of the instruction starts at 0, but may be any number thatdoes not result in data outside of the source data area being copied into the destination table.When an offset is outside of the source information boundaries, then unknown data values will betransferred into the destination table.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–142
Chapter 5: Standard RLL Instructions - Table Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
V aaaMOVMC
LDLBLaaaK
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map
DS Used
HPP Used
Copy Data From a Data Label Area to V-memoryIn the example below, data is copied from a Data Label Area to V-memory. When X1 is on,the constant value (K4) is loaded into the accumulator using the Load (LD) instruction. Thisvalue specifies the length of the table and is placed in the second stack location after the nextLoad and Load Label (LDLBL) instructions are executed. The constant value (K0) is loadedinto the accumulator, specifying the offset for the source and destination data. It is placed inthe first stack location after the LDLBL instruction is executed. The source address wheredata is being copied from is loaded into the accumulator using the LDLBL instruction. TheMOVMC instruction specifies the destination starting location and executes the copying ofdata from the Data Label Area to V-memory.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–143
Chapter 5: Standard RLL Instructions - Table Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Direct SOFT32
LD
K4
X1
Load the value 4 into theaccumulator specifying thenumber of locations to becopied.
LD
K0
Load the value 0 into theaccumulator specifying theoffset for source anddestination locations
LDLBL
K1
Load the value 1 into theaccumulator specifying theData Label Area K1 as thestarting address of the datato be copied.
MOVMC
V2000
V2000 is the destinationstarting address for the datato be copied.
1 2 3 4
4 5 3 2
6 1 5 1
8 8 4 5
K
N C O N
K
N C O N
K
N C O N
K
N C O N
V20014 5 3 2
V20026 1 5 1
V20038 8 4 5
V2004X X X X
.
.
.
.
V20001 2 3 4
Data label areaprogrammed after
the END instruction
DLBL
Handheld Programmer Keystrokes
STR$
SHFTANDSTL
3D SHFT
JMPK ENT
SHFTANDSTL
3D
ANDSTL
1B
ANDSTL
SHFTORSTM
ANDV
INST#O
ORSTM
2C
1B ENT
ENT1
B
2C
0A
0A
0A ENT
SHFTANDSTL
3D SHFT
JMPK
0A ENT
4E
K1V1777X X X X
DirectSOFT
SETBITThe Set Bit instruction sets a single bit to onewithin a range of V-memory locations.
RSTBITThe Reset Bit instruction resets a single bit to zerowithin a range of V-memory locations.
The following description applies to both the Set Bit and Reset Bit table instructions.
Step 1: Load the length of the table (number of V-memory locations) into the first level of theaccumulator stack. This parameter must be a HEX value, 0 to FF.
Step 2: Load the starting V-memory location for the table into the accumulator. Thisparameter must be a HEX value. You can use the LDA instruction to convert an octaladdress to hex.
Step 3: Insert the Set Bit or Reset Bit instruction. This specifies the reference for the bitnumber of the bit you want to set or reset. The bit number is in octal, and the first bitin the table is number “0”.
Helpful hint: — Remember that each V-memory location contains 16 bits. So, the bits of thefirst word of the table are numbered from 0 to 17 octal. For example, if the table length is sixwords, then 6 words = (6 x 16) bits, = 96 bits (decimal), or 140 octal. The permissible rangeof bit reference numbers would be 0 to 137 octal. SP 53 will be set if the bit specified isoutside the range of the table.
NOTE: Status flags are only valid until the end of the scan or until another instruction that uses thesame flag is executed.
For example, suppose we have a table starting at V3000 that is two words long, as shown tothe right. Each word in the tablecontains 16 bits, or 0 to 17 in octal. Toset bit 12 in the second word, we useits octal reference (bit 14). Then wecompute the bit’s octal address fromthe start of the table, so 17 + 14 = 34octal. The following program showshow to set the bit as shown to a “1”.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–144
Chapter 5: Standard RLL Instructions - Table Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
A aaaSETBIT
A aaaRSTBIT
MSB LSBV3000
MSB LSBV3001
17
016
15
14
13
12
11
10
7 6 5 4 3 2 1
16 bits
Operand Data Type DL06 Rangeaaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map
Discrete Bit Flags DescriptionSP53 On when the specified bit is outside the range of the table.
DS Used
HPP Used
DS Used
HPP Used
In this ladder example, we will use input X0 to trigger the Set Bit operation. First, we willload the table length (2 words) into the accumulator stack. Next, we load the starting addressinto the accumulator. Since V3000 is an octal number, we have to convert it to hex by usingthe LDA command. Finally, we use the Set Bit (or Reset Bit) instruction and specify the octaladdress of the bit (bit 34), referenced from the table.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–145
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Chapter 5: Standard RLL Instructions - Table Instructions
Handheld Programmer Keystrokes
Direct SOFT Display32
LD
K2
X0 Load the constant value 2(Hex.) into the lower 16 bitsof the accumulator.
LDA
O 3000
SETBIT
O 34
Set bit 34 (octal) in the tableto a ”1”.
Convert octal 3000 to HEXand load the value into theaccumulator. This is thetable beginning.
STR$
SHFTANDSTL
3D
SHFT
0A ENT
2C
0A
ENT8
IMLR
T
0A
0A
ANDSTL
3D ENT
SETX
3D
4E
1B
0A
PREV
NEXT
ENT
SHFT3
D
DirectSOFT
Fill (FILL)The Fill instruction fills a table of up to 255 V-memory locations witha value (Aaaa), which is either a V-memory location or a 4-digitconstant. The function parameters are loaded into the first level of theaccumulator stack and the accumulator by two additional instructions.Listed below are the steps necessary to program the Fill function.
Step 1: Load the number of V-memory locations to be filled into the first level of theaccumulator stack. This parameter must be a HEX value, 0–FF.
Step 2: Load the starting V-memory location for the table into the accumulator. Thisparameter must be a HEX value.
Step 3: Insert the Fill instruction which specifies the value to fill the table with. Helpful Hint:— For parameters that require HEX values when referencing memory locations, theLDA instruction can be used to convert an octal address to the HEX equivalent andload the value into the accumulator.
In the following example, when X1 is on, the constant value (K4) is loaded into theaccumulator using the Load instruction. This value specifies the length of the table and isplaced on the first level of the accumulator stack when the Load Address instruction isexecuted. The octal address 1600 (V1600) is the starting location for the table and is loadedinto the accumulator using the Load Address instruction. The value to fill the table with(V1400) is specified in the Fill instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–146
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Chapter 5: Standard RLL Instructions - Table Instructions
F ILLA aaa
Handheld Programmer Keys trokes
DirectSOFT32
LD
K4
X1 Load the constant value 4(HEX) into the lower 16 bitsof the accumulator
LDA
O 1600
Convert the octal address1600 to HEX 380 and load thevalue into the accumulator
F ILL
V1400
F ill the table with the valuein V1400
V1576X X X X
V1577X X X X
V16002 5 0 0
V16012 5 0 0
V16022 5 0 0
V16032 5 0 0
V1604X X X X
V1605X X X X
S
S
S
S
2 5 0 0
V1400
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 0–FF
Handheld Programmer Keystrokes
STR$
SHFTANDSTL
3D
SHFT5
F8
IANDSTL
PREV
ANDSTL
1B ENT
4E
0A
0A
ENT
SHFTANDSTL
3D
1B
6G
0A ENT
0A
1B
4E
0A ENT
Discrete Bit Flags DescriptionSP53 On if the V-memory address is out of range.
DS Used
HPP Used
DirectSOFT
Find (FIND)The Find instruction is used to search for a specified value in aV-memory table of up to 255 locations. The functionparameters are loaded into the first and second levels of theaccumulator stack and the accumulator by three additionalinstructions. Listed below are the steps necessary to programthe Find function.
Step 1: Load the length of the table (number of V-memory locations) into the second level ofthe accumulator stack. This parameter must be a HEX value, 0–FF.
Step 2: Load the starting V-memory location for the table into the first level of theaccumulator stack. This parameter must be a HEX value.
Step 3: Load the offset from the starting location to begin the search. This parameter must bea HEX value.
Step 4: Insert the Find instruction which specifies the first value to be found in the table.
Results:— The offset from the starting address to the first V-memory location which containsthe search value (in HEX) is returned to the accumulator. SP53 will be set On if an addressoutside the table is specified in the offset or the value is not found. If the value is not found 0will be returned in the accumulator.
Helpful Hint: — For parameters that require HEX values when referencing memorylocations, the LDA instruction can be used to convert an octal address to the HEX equivalentand load the value into the accumulator.
NOTE: Status flags are only valid until another instruction that uses the same flags is executed. Thepointer 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 theaccumulator using the Load instruction. This value specifies the length of the table and isplaced in the second stack location when the following Load Address and Load instruction isexecuted. The octal address 1400 (V1400) is the starting location for the table and is loadedinto the accumulator. This value is placed in the first level of the accumulator stack when thefollowing Load instruction is executed. The offset (K2) is loaded into the lower 16 bits of theaccumulator using the Load instruction. The value to be found in the table is specified in theFind instruction. If a value is found equal to the search value, the offset (from the startinglocation of the table) where the value is located will reside in the accumulator.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–147
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Chapter 5: Standard RLL Instructions - Table Instructions
F INDA aaa
Discrete Bit Flags DescriptionSP53 On if there is no value in the table that is equal to the search value.
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 0–FF
DS Used
HPP Used
Find Greater Than (FDGT)The Find Greater Than instruction is used to search for thefirst occurrence of a value in a V-memory table that is greaterthan the specified value (Aaaa), which can be either a V-memory location or a 4-digit constant. The functionparameters are loaded into the first level of the accumulatorstack and the accumulator by two additional instructions.Listed below are the steps necessary to program the FindGreater Than function.
Step 1: Load the length of the table (up to 255 locations) into the first level of theaccumulator stack. This parameter must be a HEX value, 0–FF.
Step 2: Load the starting V-memory location for the table into the accumulator. Thisparameter must be a HEX value.
Step 3: Insert the FDGT instruction which specifies the greater than search value.Results:— The offset from the starting address to the first V-memory locationwhich contains the greater than search value (in HEX) which is returned tothe accumulator. SP53 will be set On if the value is not found and 0 will bereturned in the accumulator.
Helpful Hint: — For parameters that require HEX values when referencing memorylocations, the LDA instruction can be used to convert an octal address to the HEX equivalentand load the value into the accumulator.
NOTE: This instruction does not have an offset, such as the one required for the FIND instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–148
Chapter 5: Standard RLL Instructions - Table Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
D irectS OF T 32 D isplay
LD
K6
X1
Load the cons tant value 6(HE X) into the lower 16 bitsof the accumulator
LDA
O 1400
LD
K2
Load the cons tant value2 into the lower 16 bitsof the accumulator
F IND
K8989
F ind the location in the tablewhere the value 8989 res ides
V14000 1 2 3
V14010 5 0 0
V14029 9 9 9
V14033 0 7 4
V14048 9 8 9
V14051 0 1 0
V1406X X X X
V1407X X X X
S
S
S
S
Offset
Table length
V1404 contains the locationwhere the match was found.The value 8989 was the 4thlocation after the s tart of thespecified table.
0 0 0 4
Accumulator
0 0 0 0
C onvert octal 1400 to HE X300 and load the value intothe accumulator.
Begin here
1
2
3
4
0
5
F DG TA aaa
Handheld Programmer Keystrokes
STR$
SHFTANDSTL
3D
SHFT5
F8
ITMR
N
PREV
3D
1B ENT
6G
0A
0A
ENT
SHFTANDSTL
3D
1B
4E
2C ENT
8I
9J ENT
SHFTANDSTL
3D PREV
NEXT8
I9
J
DirectSOFT
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–149
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Chapter 5: Standard RLL Instructions - Table Instructions
NOTE: Status flags are only valid until another instruction that uses the same flags is executed. Thepointer 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 theaccumulator using the Load instruction. This value specifies the length of the table and isplaced in the first stack location after the Load Address instruction is executed. The octaladdress 1400 (V1400) 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 isfound greater than the search value, the offset (from the starting location of the table) wherethe value is located will reside in the accumulator. If there is no value in the table that isgreater than the search value, a zero is stored in the accumulator and SP53 will come ON.
Handheld Programmer Keys trokes
S T R X( IN ) 1
LD K(C ON ) 6
LD S HF T A OC T 1 4 0 0
S HF T F D G T S HF T K(C ON ) 8 9 8 9
D irectS OF T 32 D isplay
LD
K6
X1
Load the cons tant value 6(HE X) into the lower 16 bitsof the accumulator
LDA
O 1400
C onvert octal 1400 to HE X300 and load the value intothe accumulator.
F DGT
K8989
F ind the value in the tablegreater than the specified value
V14000 1 2 3
V14010 5 0 0
V14029 9 9 9
V14033 0 7 4
V14048 9 8 9
V14051 0 1 0
V1406X X X X
V1407X X X X
S
S
S
S
Table length
0 0 0 2
Accumulator
V1402 contains the locationwhere the firs t value greaterthan the search value wasfound. 9999 was the 2ndlocation after the s tart of thespecified table.
0 0 0 0
Begin here 0
1
2
3
4
5
Handheld Programmer Keystrokes
STR$
SHFTANDSTL
3D
SHFT5
F3
D6
G
PREV
MLRT
1B ENT
6G
0A
0A
ENT
SHFTANDSTL
3D
1B
4E
0A ENT
8I
9J ENTNEXT
8I
9J
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 0–FF
Discrete Bit Flags DescriptionSP53 On if there is no value in the table that is equal to the search value.
DirectSOFT
Table to Destination (TTD)The Table To Destination instruction moves a value from aV-memory table to a V-memory location and incrementsthe table pointer by 1. The first V-memory location in thetable contains the table pointer which indicates the nextlocation in the table to be moved. The instruction will beexecuted once per scan provided the input remains on. Thetable pointer will reset to 1 when the value equals the lastlocation in the table. The function parameters are loadedinto the first level of the accumulator stack and theaccumulator by two additional instructions. Listed beloware the steps necessary to program the Table To Destinationfunction.
Step 1: Load the length of the data table (number of V-memory locations) into thefirst level of the accumulator stack. This parameter must be a HEX value, 0 toFF.
Step 2: Load the starting V-memory location for the table into the accumulator.(Remember, the starting location of the table is used as the table pointer.) Thisparameter must be a HEX value.
Step 3: Insert the TTD instruction which specifies destination V-memory location(Vaaa).
Helpful Hint: — For parameters that require HEX values when referencing memorylocations, the LDA instruction can be used to convert an octal address to the HEX equivalentand load the value into the accumulator.
Helpful Hint: — The instruction will be executed every scan if the input logic is on. If youdo not want the instruction to execute for more than one scan, a one-shot (PD) should beused in the input logic.
Helpful Hint: — The pointer location should be set to the value where the table operationwill begin. The special relay SP0 or a one-shot (PD) should be used so the value will only beset in one scan and will not affect the instruction operation.
NOTE: Status flags (SPs) are only valid until another instruction that uses the same flag is executed,or the end of the scan. The pointer for this instruction starts at 0 and resets when the table length isreached. At first glance it may appear that the pointer should reset to 0. However, it resets to 1,not 0.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–150
Chapter 5: Standard RLL Instructions - Table Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
T T DaaaA
T T DaaaA
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map
Discrete Bit Flags DescriptionSP56 On when the table pointer equals the table length.
DS Used
HPP Used
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–151
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
In the following example, when X1 is on, the constant value (K6) is loaded into theaccumulator using the Load instruction. This value specifies the length of the table and isplaced in the first stack location after the Load Address instruction is executed. The octaladdress 1400 (V1400) is the starting location for the source table and is loaded into theaccumulator. Remember, V1400 is used as the pointer location, and is not actually part of thetable data source. The destination location (V1500) is specified in the Table to Destinationinstruction. The table pointer (V1400 in this case) will be increased by “1” after eachexecution of the TTD instruction.
It is important to understand how the tablelocations are numbered. If you examine theexample table, you’ll notice that the first datalocation, V1401, will be used when thepointer is equal to zero, and again when thepointer is equal to six. Why? Because thepointer is only equal to zero before the veryfirst execution. From then on, it incrementsfrom one to six, and then resets to one.
Also, our example uses a normal input contact(X1) to control the execution. Since the CPUscan is extremely fast, and the pointerincrements automatically, the table wouldcycle through the locations very quickly. If thisis a problem, you have an option of usingSP56 in conjunction with a one-shot (PD)and a latch (C1 for example) to allow the tableto cycle through all locations one time andthen stop. The logic shown here is notrequired, it’s just an optional method.
Chapter 5: Standard RLL Instructions - Table Instructions
DirectSOFT32
X1 LD
K6
LDA
0 1400
TTD
V1500
Load the constant value 6(HEX) into the lower 16 bitsof the accumulator
Convert octal 1400 to HEX 300 and load the value into the accumulator. This is thetable pointer location
Copy the specified value fromthe table to the specifieddestination (V1500)
Handheld Programmer Keystrokes
STR$
SHFTANDSTL
3D
SHFTMLR
TMLR
T3
D
PREV
1B ENT
6G
0A
0A
ENT
SHFTANDSTL
3D
1B
4E
0A ENT
0A
1B
5F
0A ENT
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
S
S
V1500X X X X
0 6
1
2
3
4
5
Des tination
V14000 0 0 0
Table PointerTable
DirectSOFT32 (optional latch example using SP56)
X1
C1
C0
SP56
C0PD
C1SET
C1RST
LDK6
Load the constant value 6(HEX) into the lower 16 bitsof the accumulator
Since Special Relays arereset at the end of the scan, this latch must follow the TTDinstruction in the program
DirectSOFT
DirectSOFT
The following diagram shows the scan-by-scan results of the execution for our exampleprogram. Notice how the pointer automatically cycles from 0 – 6, and then starts over at 1instead of 0. Also, notice how SP56 is only on until the end of the scan.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–152
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Chapter 5: Standard RLL Instructions - Table Instructions
Table Pointer (Automatically Incremented)
Table Pointer (Automatically Incremented)
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V1500X X X X
Before TTD Execution After TTD ExecutionScanN
0 6
1
2
3
4
5
After TTD ExecutionScanN+1
After TTD ExecutionScanN+5
Destination
V14000 0 0 0
Table PointerTable
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V15000 5 0 0
0
1
2
3
4
5
Destination
V14000 0 0 1
Table Pointer (Automatically Incremented)Table
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V15009 9 9 9
0 6
1
2
3
4
5
Destination
V14000 0 0 2
Table
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V15002 0 4 6
0 6
1
2
3
4
5
Destination
V14000 0 0 6
Table
Before TTD Execution
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V15000 5 0 0
0 6
1
2
3
4
5
Destination
V14000 0 0 1
Table PointerTable
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V15001 0 1 0
0 6
1
2
3
4
5
Destination
V14000 0 0 5
Table PointerTable
Before TTD Execution
SP56 = OFFSP56
SP56 = OFFSP56
SP56 = ONSP56
Table Pointer (Resets to1, not 0)
After TTD ExecutionScanN+6
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V15000 5 0 0
1
2
3
4
5
Destination
V14000 0 0 1
Table
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V15002 0 4 6
0 6
1
2
3
4
5
Destination
V14000 0 0 6
Table PointerTable
Before TTD Execution
SP56 = OFFSP56
SP56 = OFFSP56
SP56 = OFFSP56
SP56 = OFFSP56
SP56 = OFFSP56
6
0 6
until endof scanor next instructionthat uses SP56
.
...
.
...
.
...
.
...
.
..
.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–153
Chapter 5: Standard RLL Instructions - Table Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Remove from Bottom (RFB)The Remove From Bottom instruction moves a value from thebottom of a V-memory table to a V-memory location anddecrements a table pointer by 1. The first V-memory location inthe table contains the table pointer which indicates the nextlocation in the table to be moved. The instruction will be executedonce per scan provided the input remains on. The instruction willstop operation when the pointer equals 0. The functionparameters are loaded into the first level of the accumulator stackand the accumulator by two additional instructions. Listed beloware the steps necessary to program the Remove From Bottomfunction.
Step 1: Load the length of the table (number of V-memory locations) into the first level ofthe accumulator stack. This parameter must be a HEX value, 0 to FF.
Step 2: Load the starting V-memory location for the table into the accumulator. (Remember,the starting location of the table blank is used as the table pointer.) This parameter must be aHEX value.
Step 3: Insert the RFB instruction which specifies destination V-memory location (Vaaa).
Helpful Hint: — For parameters that require HEX values when referencing memorylocations, the LDA instruction can be used to convert an octal address to the HEX equivalentand load the value into the accumulator.
Helpful Hint: — The instruction will be executed every scan if the input logic is on. If you donot want the instruction to execute for more than one scan, a one-shot (PD) should be usedin the input logic.
Helpful Hint: — The pointer location should be set to the value where the table operationwill begin. The special relay SP0 or a one-shot (PD) should be used so the value will only beset in one scan and will not affect the instruction operation.
NOTE: Status flags (SPs) are only valid until another instruction that uses the same flag is executedor the end of the scan The pointer for this instruction can be set to start anywhere in the table. It isnot set automatically. You must load a value into the pointer somewhere in your program.
aaaAR F B
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map
Discrete Bit Flags DescriptionSP56 On when the table pointer equals zero..
DS Used
HPP Used
In the following example, when X1 is on, the constant value (K6) is loaded into theaccumulator using the Load instruction. This value specifies the length of the table and isplaced in the first stack location after the Load Address instruction is executed. The octaladdress 1400 (V1400) is the starting location for the source table and is loaded into theaccumulator. Remember, V1400 is used as the pointer location, and is not actually part of thetable data source. The destination location (V1500) is specified in the Remove From Bottom.The table pointer (V1400 in this case) will be decremented by “1” after each execution of theRFB instruction.
It is important to understand how the tablelocations are numbered. If you examine theexample table, you’ll notice that the first datalocation, V1401, will be used when the pointer isequal to one. The second data location, V1402,will be used when the pointer is equal to two, etc.
Also, our example uses a normal input contact(X1) to control the execution. Since the CPU scanis extremely fast, and the pointer decrementsautomatically, the table would cycle through thelocations very quickly. If this is a problem for yourapplication, you have an option of using a one-shot (PD) to remove one value each time theinput contact transitions from low to high.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–154
Chapter 5: Standard RLL Instructions - Table Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DirectSOFT32
X1
Handheld Programmer Keystrokes
STR$
SHFTANDSTL
3D
SHFTORN
R5
F1
B
PREV
1B ENT
6G
0A
0A
ENT
SHFTANDSTL
3D
1B
4E
0A ENT
0A
1B
5F
0A ENT
LD
K6
LDA
0 1400
RFB
V1500
Load the constant value 6(HEX) into the lower 16 bitsof the accumulator
Convert octal 1400 to HEX300 and load the value intothe accumulator. This is thetable pointer location
Copy the specified value fromthe table to the specified destination (V1500)
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
S
S
V1500X X X X
1
2
3
4
5
6
Des tination
V14000 0 0 0
Table PointerTable
DirectSOFT32 Display (optional one-shot method)
LD
K6
C0
X1 C0PD
Load the constant value 6(HEX) into the lower 16 bitsof the accumulator
LDA
O 1400
Convert octal 1400 to HEX300 and load the value intothe accumulator. This is thetable pointer location.
DirectSOFT32 Display (optional one-shot method)
LD
K6
C0
X1 C0PD
Load the constant value 6(HEX) into the lower 16 bitsof the accumulator
LDA
O 1400
Convert octal 1400 to HEX300 and load the value intothe accumulator. This is thetable pointer location.
DirectSOFT (optional one-shot metod)
DirectSOFT
The following diagram shows the scan-by-scan results of the execution for our exampleprogram. Notice how the pointer automatically decrements from 6 to 0. Also, notice howSP56 is only on until the end of the scan.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–155
Chapter 5: Standard RLL Instructions -Table Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Before RFB Execution After RFB Execution
Before RFB Execution After RFB Execution
Before RFB Execution After RFB Execution
1
2
3
4
5
6
1
2
3
4
5
6
1
2
3
4
5
6
1
2
3
4
5
6
Table Pointer (Automatically Decremented)
Table Pointer (Automatically Decremented)
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
.
V1500X X X X
Before RFB Execution After RFB Execution
Example of Execution
Scan N
1
2
3
4
5
6
Scan N+1
Scan N+4
Destination
V14000 0 0 6
Table PointerTable
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V15002 0 4 6
Destination
V14000 0 0 5
Table Pointer (Automatically Decremented)Table
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V15001 0 1 0
Destination
V14000 0 0 4
Table
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V15009 9 9 9
Destination
V14000 0 0 1
Table
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V15002 0 4 6
1
2
3
4
5
6
Destination
V14000 0 0 5
Table PointerTable
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V15003 0 7 4
1
2
3
4
5
6
Destination
V14000 0 0 2
Table PointerTable
SP56 = OFFSP56
SP56 = OFFSP56
SP56 = OFFSP56
Table Pointer
Scan N+5
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V15000 5 0 0
Destination
V14000 0 0 0
Table
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V15009 9 9 9
1
2
3
4
5
6
Destination
V14000 0 0 1
Table PointerTable
SP56 = ONSP56
SP56 = OFFSP56
SP56 = OFFSP56
SP56 = OFFSP56
SP56 = OFFSP56
until end of scanor next instructionthat uses SP56
. ..
....
....
....
...
Source to Table (STT)The Source To Table instruction moves a value from a V-memory location into a V-memory table andincrements a table pointer by 1. When the table pointerreaches the end of the table, it resets to 1. The first V-memory location in the table contains the table pointerwhich indicates the next location in the table to store avalue. The instruction will be executed once per scan,provided the input remains on. The function parametersare loaded into the first level of the accumulator stack andthe accumulator with two additional instructions. Listedbelow are the steps necessary to program the Source ToTable function.
Step 1: Load the length of the table (number of V-memory locations) into the firstlevel of the accumulator stack. This parameter must be a HEX value, 0 to FF.
Step 2: Load the starting V-memory location for the table into the accumulator.(Remember, the starting location of the table is used as the table pointer.) Thisparameter must be a HEX value.
Step 3: Insert the STT instruction which specifies the source V-memory location(Vaaa). This is where the value will be moved from.
Helpful Hint: — For parameters that require HEX values when referencing memorylocations, the LDA instruction can be used to convert an octal address to the HEX equivalentand load the value into the accumulator.
Helpful Hint:— The instruction will be executed every scan if the input logic is on. If you donot want the instruction to execute for more than one scan, a one-shot (PD) should be usedin the input logic.
Helpful Hint: — The table counter value should be set to indicate the starting point for theoperation. Also, it must be set to a value that is within the length of the table. For example, ifthe table is 6 words long, then the allowable range of values that could be in the pointershould be between 0 and 6. If the value is outside of this range, the data will not be moved.Also, a one-shot (PD) should be used so the value will only be set in one scan and will notaffect the instruction operation.
NOTE: Status flags (SPs) are only valid until another instruction that uses the same flag is executed,or the end of the scan. The pointer for this instruction starts at 0 and resets to 1 automatically whenthe table length is reached.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–156
Chapter 5: Standard RLL Instructions - Table Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
aaaVS T T
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map
Discrete Bit Flags DescriptionSP56 On when the table pointer equals the table length.
DS Used
HPP Used
In the following example, when X1 is on, the constant value (K6) is loaded into theaccumulator using the Load instruction. This value specifies the length of the table and isplaced in the first stack location after the Load Address instruction is executed. The octaladdress 1400 (V1400), which is the starting location for the destination table and tablepointer, is loaded into the accumulator. The data source location (V1500) is specified in theSource to Table instruction. The table pointer will be increased by “1” after each time theinstruction is executed.
It is important to understand how the table locationsare numbered. If you examine the example table,you’ll notice that the first data storage location,V1401, will be used when the pointer is equal tozero, and again when the pointer is equal to six.Why? Because the pointer is only equal to zero beforethe very first execution. From then on, it incrementsfrom one to six, and then resets to one.
Also, our example uses a normal input contact (X1)to control the execution. Since the CPU scan isextremely fast, and the pointer incrementsautomatically, the source data would be moved intoall the table locations very quickly. If this is a problemfor your application, you have an option of using aone-shot (PD) to move one value each time the inputcontact transitions from low to high.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–157
Chapter 5: Standard RLL Instructions -Table Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
D irectS OF T 32
X1
Handheld Programmer Keystrokes
STR$
SHFTANDSTL
3D
SHFTRST
SMLR
TMLR
T
PREV
1B ENT
6G
0A
0A
ENT
SHFTANDSTL
3D
1B
4E
0A ENT
0A
1B
5F
0A ENTSHFT
LD
K6
LDA
0 1400
STT
V1500
Load the constant value 6(HEX) into the the lower 16 bitsof the accumulator
Convert octal 1400 to HEX300 and load the value into the accumulator
Copy the specified value from the source location(V1500) to the table
V1401 X X X X
V1402 X X X X
V1403 X X X X
V1404 X X X X
V1405 X X X X
V1406 X X X X
V1407 X X X X
S
S
V15000 5 0 0
0 6
1
2
3
4
5
Data S ource
V14000 0 0 0
Table PointerTable
DirectSOFT32 (optional one-shot method)
LD
K6
C0
X1 C0PD
Load the constant value 6(HEX) into the lower 16 bitsof the accumulator
LDA
O 1400
Convert octal 1400 to HEX300 and load the value intothe accumulator. This is thestarting table location.
DirectSOFT
DirectSOFT
The following diagram shows the scan-by-scan results of the execution for our exampleprogram. Notice how the pointer automatically cycles from 0 to 6, and then starts over at 1instead of 0. Also, notice how SP56 is affected by the execution. Although our example doesnot show it, we are assuming that there is another part of the program that changes the valuein 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.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–158
Chapter 5: Standard RLL Instructions - Table Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
V1401 0 5 0 0
V1402 9 9 9 9
V1403 X X X X
V1404 X X X X
V1405 X X X X
V1406 X X X X
V1407 X X X X
Table
V1401 0 5 0 0
V1402 X X X X
V1403 X X X X
V1404 X X X X
V1405 X X X X
V1406 X X X X
V1407 X X X X
Table
V1401 0 5 0 0
V1402 X X X X
V1403 X X X X
V1404 X X X X
V1405 X X X X
V1406 X X X X
V1407 X X X X
Table
V1401 X X X X
V1402 X X X X
V1403 X X X X
V1404 X X X X
V1405 X X X X
V1406 X X X X
V1407 X X X X
0 6
1
2
3
4
5
Table
After STT Execution
After STT Execution
After STT Execution
Before STT Execution
Before STT Execution
Table Pointer (Automatically Incremented)
Table Pointer (Automatically Incremented)
..
V15000 5 0 0
Before STT Execution After STT ExecutionScan N
1
2
3
4
5
Scan N+1
Scan N+5
Source
V14000 0 0 0
Table Pointer
V15000 5 0 0
0
1
2
3
4
5
Source
V14000 0 0 1
Table Pointer (Automatically Incremented)
V15009 9 9 9
0 6
1
2
3
4
5
Source
V14000 0 0 2
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V15002 0 4 6
0 6
1
2
3
4
5
Source
V14000 0 0 6
Table
Before STT Execution
V15009 9 9 9
0 6
1
2
3
4
5
Source
V14000 0 0 1
Table Pointer
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 X X X X
V1407 X X X X
V15002 0 4 6
0 6
1
2
3
4
5
Source
V14000 0 0 5
Table PointerTable
SP56 = OFFSP56
SP56 = OFFSP56
SP56 = ONSP56
Table Pointer (Resets to 1, not 0)
Scan N+6
V1401 1 2 3 4
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V15001 2 3 4
1
2
3
4
5
Source
V14000 0 0 1
Table
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V15001 2 3 4
0 6
1
2
3
4
5
Source
V14000 0 0 6
Table PointerTable
SP56 = OFFSP56
SP56 = OFFSP56
SP56 = OFFSP56
SP56 = OFFSP56
SP56 = OFFSP56
6
0 6
until end of scanor next instructionthat uses SP56
..
....
....
....
....
Remove from Table (RFT)The Remove From Table instruction pops a value off a table andstores it in a V-memory location. When a value is removed fromthe table all other values are shifted up 1 location. The first V-memory location in the table contains the table length counter.The table counter decrements by 1 each time the instruction isexecuted. If the length counter is zero or greater than the maximumtable length (specified in the first level of the accumulator stack)the instruction will not execute and SP56 will be On.
The instruction will be executed once per scan, provided the input remains on. The functionparameters are loaded into the first level of the accumulator stack and the accumulator by twoadditional instructions. Listed below are the steps necessary to program the Remove FromTable function.
Step 1: Load the length of the table (number of V-memory locations) into the firstlevel of the accumulator stack. This parameter must be a HEX value, 0 to FF.
Step 2: Load the starting V-memory location for the table into the accumulator.(Remember, the starting location of the table is used as the table lengthcounter.) This parameter must be a HEX value.
Step 3: Insert the RFT instructions which specifies destination V-memory location(Vaaa). This is where the value will be moved to.
Helpful Hint: — For parameters that require HEX values when referencing memorylocations, the LDA instruction can be used to convert an octal address to the HEX equivalentand load the value into the accumulator.
Helpful Hint:— The instruction will be executed every scan if the input logic is on. If you donot want the instruction to execute for more than one scan, a one-shot (PD) should be usedin the input logic.
Helpful Hint: — The table counter value should be set to indicate the starting point for theoperation. Also, it must be set to a value that is within the length of the table. For example, ifthe table is 6 words long, then the allowable range of values that could be in the table countershould be between 1 and 6. If the value is outside of this range or zero, the data will not bemoved from the table. Also, a one-shot (PD) should be used so the value will only be set inone scan and will not affect the instruction operation.
NOTE: Status flags (SPs) are only valid until another instruction that uses the same flag is executed,or the end of the scan The pointer for this instruction can be set to start anywhere in the table. It isnot set automatically. You must load a value into the pointer somewhere in your program.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–159
Chapter 5: Standard RLL Instructions - Table Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
aaaVR F T
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map
Discrete Bit Flags DescriptionSP56 On when the table pointer equals zero.
DS Used
HPP Used
In the following example, when X1 is on, the constant value (K6) is loaded into theaccumulator using the Load instruction. This value specifies the length of the table and isplaced in the first stack location after the Load Address instruction is executed. The octaladdress 1400 (V1400) is the starting location for the source table and is loaded into theaccumulator. The destination location (V1500) is specified in the Remove from Tableinstruction. The table counter will be decreased by “1” after the instruction is executed.
Since the table counter specifies the range of datathat will be removed from the table, it is importantto understand how the table locations arenumbered. If you examine the example table, you’llnotice that the data locations are numbered fromthe top of the table. For example, if the tablecounter started at 6, then all six of the locationswould be affected during the instruction execution.
Also, our example uses a normal input contact (X1)to control the execution. Since the CPU scan isextremely fast, and the pointer decrementsautomatically, the data would be removed from thetable very quickly. If this is a problem for yourapplication, you have an option of using a one-shot(PD) to remove one value each time the inputcontact transitions from low to high.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–160
Chapter 5: Standard RLL Instructions - Table Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DirectSOFT32 Display
LD
K6
X1 Load the constant value 6(Hex.) into the lower 16 bitsof the accumulator
LDA
O 1400
RFT
V1500
Copy the specified valuefrom the table to thespecified location (V1500)
Convert octal 1400 to HEX300 and load the value intothe accumulator
Handheld Programmer Keystrokes
STR$
SHFTANDSTL
3D
SHFTORN
R5
FMLR
T
PREV
1B ENT
6G
0A
0A
ENT
SHFTANDSTL
3D
1B
4E
0A ENT
0A
1B
5F
0A ENT
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
S
S
V1500X X X X
1
2
3
4
5
6
Des tination
V14000 0 0 6
Table C ounterTable
DirectSOFT32 Display (optional one-shot method)
LD
K6
C0
X1 C0PD
Load the constant value 6(HEX) into the lower 16 bitsof the accumulator
LDA
O 1400
Convert octal 1400 to HEX300 and load the value intothe accumulator. This is thetable pointer location.
DirectSOFT
The following diagram shows the scan-by-scan results of the execution for our exampleprogram. In our example, we show the table counter set to 4, initially. (Remember, you canset the table counter to any value that is within the range of the table.) The table counterautomatically decrements from 4 to 0 as the instruction is executed. Notice how the last twotable positions, 5 and 6, are not moved up through the table. Also, notice that SP56, whichcomes on when the table counter is zero, is only on until the end of the scan.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–161
Chapter 5: Standard RLL Instructions - Table Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
V1401 8 9 8 9
V1402 8 9 8 9
V1403 8 9 8 9
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V1401 8 9 8 9
V1402 8 9 8 9
V1403 8 9 8 9
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V1401 8 9 8 9
V1402 8 9 8 9
V1403 8 9 8 9
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V1401 4 0 7 9
V1402 8 9 8 9
V1403 8 9 8 9
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V1401 9 9 9 9
V1402 4 0 7 9
V1403 8 9 8 9
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
1
2
3
4
5
6
1
2
3
4
5
6
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V1500X X X X
1
2
3
4
5
6
V14000 0 0 4 V1401 9 9 9 9
V1402 4 0 7 9
V1403 8 9 8 9
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V15000 5 0 0
Destination
V14000 0 0 3
V15009 9 9 9
Destination
V14000 0 0 2
V15004 0 7 9
V14000 0 0 1
V15000 5 0 0
1
2
3
4
5
6
V14000 0 0 3
V15009 9 9 9
1
2
3
4
5
6
V14000 0 0 2
SP56 = OFFSP56
SP56 = OFFSP56
SP56 = OFFSP56
V15008 9 8 9
V14000 0 0 0
V15004 0 7 9
1
2
3
4
5
6
V14000 0 0 1
SP56
SP56 = OFFSP56
SP56 = OFFSP56
SP56 = OFFSP56
SP56 = OFFSP56
Table Counter(Automatically d ecremented)
V1401 4 0 7 9
V1402 8 9 8 9
V1403 8 9 8 9
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
1
2
3
4
5
6
05
00
99
99
40
79
1
2
3
4
5
6
89
89
Before RFT Execution
Table Table Counter
Destination
Table Counterindicates thatthese 4positions willbe used
After RFT Execution
Table
Before RFT Execution
Table
After RFT Execution
Table
Before RFT Execution
Table
After RFT Execution
Table
Before RFT Execution
Table
After RFT Execution
Table
Table Counter
Table Counter
Table Counter
Destinatio
Destination
Destination
Start here
Start here
Start here
Start here
Scan N+3
Scan N+2
Scan N+1
Scan N
Destination
Destination
SP56 = ONuntil end of scanor next instructionthat uses SP56
Table Counter(Automatically decremented)
Table Counter(Automatically decremented)
Table Counter(Automatically decremented)
.. ..
.. ..
....
.. ..
Add to Top (ATT)The Add To Top instruction pushes a value on to a V-memory table from a V-memory location. When thevalue is added to the table all other values are pusheddown 1 location.
The instruction will be executed once per scan, provided the input remains on. The functionparameters are loaded into the first level of the accumulator stack and the accumulator by twoadditional instructions. Listed below are the steps necessary to program the Add To Topfunction.
Step 1: Load the length of the table (number of V-memory locations) into the firstlevel of the accumulator stack. This parameter must be a HEX value, 0 to FF.
Step 2: Load the starting V-memory location for the table into the accumulator.(Remember, the starting location of the table is used as the table lengthcounter.) This parameter must be a HEX value.
Step 3: Insert the ATT instructions which specifies source V-memory location (Vaaa).This is where the value will be moved from.
Helpful Hint:— The instruction will be executed every scan if the input logic is on. If you donot want the instruction to execute for more than one scan, a one-shot (PD) should be usedin the input logic.
Helpful Hint: — For parameters that require HEX values when referencing memorylocations, the LDA instruction can be used to convert an octal address to the HEX equivalentand load the value into the accumulator.
Helpful Hint: — The table counter value should be set to indicate the starting point for theoperation. Also, it must be set to a value that is within the length of the table. For example, ifthe table is 6 words long, then the allowable range of values that could be in the table countershould be between 1 and 6. If the value is outside of this range or zero, the data will not bemoved into the table. Also, a one-shot (PD) should be used so the value will only be set inone scan and will not affect the instruction operation.
NOTE: Status flags (SPs) are only valid until another instruction that uses the same flag is executedor the end of the scan. The pointer for this instruction can be set to start anywhere in the table. It isnot set automatically. You must load a value into the pointer somewhere in your program.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–162
Chapter 5: Standard RLL Instructions - Table Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
aaaVAT T
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map
Discrete Bit Flags DescriptionSP56 On when the table pointer equal to the table size.
DS Used
HPP Used
In the following example, when X1 is on, the constant value (K6) is loaded into theaccumulator using the Load instruction. This value specifies the length of the table and isplaced in the first stack location after the Load Address instruction is executed. The octaladdress 1400 (V1400), which is the starting location for the destination table and tablecounter, is loaded into the accumulator. The source location (V1500) is specified in the Addto Top instruction. The table counter will be increased by “1” after the instruction isexecuted.
For the ATT instruction, the table counterdetermines the number of additions that can bemade before the instruction will stop executing. So,it is helpful to understand how the system uses thiscounter to control the execution.
For example, if the table counter was set to 2, andthe table length was 6 words, then there could onlybe 4 additions of data before the execution wasstopped. This can easily be calculated by:
Table length – table counter = number of executions
Also, our example uses a normal input contact (X1)to control the execution. Since the CPU scan isextremely fast, and the table counter incrementsautomatically, the data would be moved into thetable very quickly. If this is a problem for yourapplication, you have an option of using a one-shot(PD) to add one value each time the input contacttransitions from low to high.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–163
Chapter 5: Standard RLL Instructions - Table Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DirectSOFT32 Display
LD
K6
X1
Load the constant value 6(Hex.) into the lower 16 bitsof the accumulator
LDA
O 1400
ATT
V1500
Copy the specified valuefrom V1500 to the table
Convert octal 1400 to HEX300 and load the value intothe accumulator
Handheld Programmer Keystrokes
STR$
SHFTANDSTL
3D
SHFT0
AMLR
TMLR
T
PREV
1B ENT
6G
0A
0A
ENT
SHFTANDSTL
3D
1B
4E
0A ENT
0A
1B
5F
0A ENT
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V1500X X X X
1
2
3
4
5
6
Data Source
V14000 0 0 2
Table CounterTable
(e .g .: 6 -- 2 = 4 )
DirectSOFT32 Display (optional one-shot method)
LD
K6
C0
X1 C0PD
Load the constant value 6(HEX) into the lower 16 bitsof the accumulator
LDA
O 1400
Convert octal 1400 to HEX300 and load the value intothe accumulator. This is thestarting table location.
DirectSOFT (optional one-shot method)
DirectSOFT
The following diagram shows the scan-by-scan results of the execution for our exampleprogram. The table counter is set to 2 initially, and it will automatically increment from 2 to6 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 areassuming that there is another part of the program that changes the value in V1500 (datasource) prior to the execution of the ATT instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–164
Chapter 5: Standard RLL Instructions - Table Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
V1401 7 7 7 7
V1402 4 3 4 3
V1403 5 6 7 8
V1404 1 2 3 4
V1405 0 5 0 0
V1406 9 9 9 9
V1407 X X X X
1
2
3
4
5
6
77
77
V1401 4 3 4 3
V1402 5 6 7 8
V1403 1 2 3 4
V1404 0 5 0 0
V1405 9 9 9 9
V1406 3 0 7 4
V1407 X X X X
V1401 4 3 4 3
V1402 5 6 7 8
V1403 1 2 3 4
V1404 0 5 0 0
V1405 9 9 9 9
V1406 3 0 7 4
V1407 X X X X
1
2
3
4
5
6
V1401 5 6 7 8
V1402 1 2 3 4
V1403 0 5 0 0
V1404 9 9 9 9
V1405 3 0 7 4
V1406 8 9 8 9
V1407 X X X X
V1401 5 6 7 8
V1402 1 2 3 4
V1403 0 5 0 0
V1404 9 9 9 9
V1405 3 0 7 4
V1406 8 9 8 9
V1407 X X X X
V1401 1 2 3 4
V1402 0 5 0 0
V1403 9 9 9 9
V1404 3 0 7 4
V1405 8 9 8 9
V1406 1 0 1 0
V1407 X X X X
1
2
3
4
5
6
V1401 0 5 0 0
V1402 9 9 9 9
V1403 3 0 7 4
V1404 8 9 8 9
V1405 1 0 1 0
V1406 2 0 4 6
V1407 X X X X
V15001 2 3 4
1
2
3
4
5
6
V14000 0 0 2 V1401 1 2 3 4
V1402 0 5 0 0
V1403 9 9 9 9
V1404 3 0 7 4
V1405 8 9 8 9
V1406 1 0 1 0
V1407 X X X X
V15001 2 3 4
V14000 0 0 3
Table
V15005 6 7 8
Data Source
V14000 0 0 4
V15004 3 4 3
V14000 0 0 5
V15005 6 7 8
1
2
3
4
5
6
V14000 0 0 3
V15004 3 3 4
1
2
3
4
5
6
V14000 0 0 4
SP56 = OFF SP56
SP56 = OFF SP56
SP56 =SP56
V15007 7 7 7
V14000 0 0 6
V15007 7 7 7
1
2
3
4
5
6
V14000 0 0 5
SP56 =SP56
SP56 = OFF SP56
SP56 = OFF SP56
SP56 = OFF SP56
SP56 = OFFSP56
12
34
1
2
3
4
5
6
56
78
3074
8989
2046
1010Discard Bucket
Discard Bucket
34
3
4
Table
After ATT Execution Table counter(Automatically Incremented)
Data Source
Discard Bucket
OFF
Discard Bucket
Data Source
ONuntil end of scanor next instructionthat uses SP56
Table counter(Automatically Incremented)
Table counter (Automatically Incremented)
Table counter(Automatically Incremented)
Data Source
After ATT Execution
After ATT Execution
Table
After ATT Execution
Table
Before ATT Execution
Table
Before ATT Execution
Table
Before ATT Execution
Table
Before ATT Execution
Table Table counter
Data Source
Table counter
Data Source
Table counter
Data Source
Data Source
Table counter
Example of ExecutionScan N
Scan N+1
Scan N+2
Scan N+3
.. ..
.. ..
....
....
Table Shift Left (TSHFL)The Table Shift Left instruction shifts all the bits in a V-memory table to the left, the specified number of bitpositions.
Table Shift Right (TSHFR)The Table Shift Right instruction shifts all the bits in a V-memory table to the right, a specified number of bitpositions.
The following description applies to both the Table Shift Left and Table Shift Rightinstructions. A table is just a range of V-memory locations. The Table Shift Left and TableShift Right instructions shift bits serially throughout the entire table. Bits are shifted out theend of one word and into the opposite end of an adjacent word. At the ends of the table, bitsare either discarded, or zeros are shifted into the table. The example tables below arearbitrarily four words long.
Step 1: Load the length of the table (number of V-memory locations) into the firstlevel of the accumulator stack. This parameter must be a HEX value, 0 to FF.
Step 2: Load the starting V-memory location for the table into the accumulator. Thisparameter must be a HEX value. You can use the LDA instruction to convertan octal address to hex.
Step 3: Insert the Table Shift Left or Table shift Right instruction. This specifies thenumber of bit positions you wish to shift the entire table. The number of bitpositions must be in octal.
Helpful hint: — Remember that each V-memory location contains 16 bits. So, the bits of thefirst word of the table are numbered from 0 to 17 octal. If you want to shift the entire tableby 20 bits, that is 24 octal. SP 53 will be set if the number of bits to be shifted is larger thanthe total bits contained within the table. Flag 67 will be set if the last bit shifted (just before itis discarded) is a “1”.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–165
Chapter 5: Standard RLL Instructions - Table Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
A aaaT S HF L
A aaaTSHFR
Table Shift LeftTable Shift Right
Discard Bits
Shift in zerosDiscard Bits
V - xxxx + 2
V - xxxx + 1
V - xxxxShift in zeros
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map
DS Used
HPP Used
DS Used
HPP Used
NOTE: Status flags are only valid until the end of the scan or another instruction that uses the sameflag is executed.
The example table to the right containsBCD data as shown (for demonstrationpurposes). Suppose we want to do a tableshift right by 3 BCD digits (12 bits).Converting to octal, 12 bits is 14 octal.Using the Table Shift Right instructionand specifying a shift by octal 14, we havethe resulting table shown at the far right.Notice that the 2–3–4 sequence has beendiscarded, and the 0–0–0 sequence hasbeen shifted in at the bottom.
The following ladder example assumes the
data at V3000 to V3004 already exists as shown above. We will use input X0 to trigger theTable Shift Right operation. First, we will load the table length (5 words) into theaccumulator stack. Next, we load the starting address into the accumulator. Since V3000 is anoctal number, we have to convert it to hex by using the LDA command. Finally, we use theTable Shift Right instruction and specify the number of bits to be shifted (12 decimal), whichis 14 octal.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–166
Chapter 5: Standard RLL Instructions - Table Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
1 2 3 4
5 6 7 8
1 1 2 2
3 3 4 4
6 7 8 1
1 2 2 5
3 4 4 1
5 6 6 3
5 5 6 6 0 0 0 5
V 3000 V 3000
DirectSOFT 32
X0 LD
K5
LDA
0 3000
TSHFR
0 14
Load the constant value 5(Hex.) into the lower 16 bitsof the accumulator.
Convert octal 3000 to HEXand load the value into theaccumulator. This is thetable beginning.
Do a table shift right by 12bits, which is 14 octal.
Handheld Programmer Keystrokes
STR$
SHFTANDSTL
3D
SHFTMLR
TRST
S7
H
PREV
0A ENT
5F
0A
0A
ENT
SHFTANDSTL
3D
3D
0A
0A ENT
1B
4E ENTSHFT
5F
ORNR NEXT
Discrete Bit Flags DescriptionSP53 On when the number of bits to be shifted is larger than the total bits contained within the tableSP67 On when the last bit shifted (just before it is discarded) is a 1
DirectSOFT
AND Move (ANDMOV)The AND Move instruction copies data from a table to thespecified memory location, ANDing each word with theaccumulator data as it is written.
OR Move (ORMOV)The Or Move instruction copies data from a table to the specifiedmemory location, ORing each word with the accumulator contentsas it is written.
Exclusive OR Move (XORMOV)The Exclusive OR Move instruction copies data from a table to thespecified memory location, XORing each word with theaccumulator value as it is written.
The following description applies to the AND Move, OR Move, and Exclusive OR Moveinstructions. A table is just a range of V-memory locations. These instructions copy the dataof a table to another specified location, preforming a logical operation on each word with theaccumulator contents as the new table is written.
Step 1: Load the length of the table (number of V-memory locations) into the firstlevel of the accumulator stack. This parameter must be a HEX value, 0 to FF.
Step 2: Load the starting V-memory location for the table into the accumulator. Thisparameter must be a HEX value. You can use the LDA instruction to convertan octal address to hex.
Step 3: Load the BCD/hex bit pattern into the accumulator which will be logicallycombined with the table contents as they are copied.
Step 4: Insert the AND Move, OR Move, or XOR Move instruction. This specifiesthe starting location of the copy of the original table. This new table willautomatically be the same length as the original table.
The example table to the right containsBCD data as shown (for demonstrationpurposes). Suppose we want to move atable of two words at V3000 and AND itwith K6666. The copy of the table atV3100 shows the result of the ANDoperation for each word.
The program on the next page performs the ANDMOV operation example above. It assumesthat the data in the table at V3000 – V3001 already exists. First we load the table length (twowords) into the accumulator. Next we load the starting address of the source table, using theLDA instruction. Then we load the data into the accumulator to be ANDed with the table.In the ANDMOV command, we specify the table destination, V3100.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–167
Chapter 5: Standard RLL Instructions - Table Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
A aaaANDMO V
A aaaANDMO V
A aaaORMOV
A aaaXO R MO V
3 3 3 3
F F F F
2 2 2 2
6 6 6 6
V 3000 V 3100ANDMOV
K 6666
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map
DS Used
HPP Used
DS Used
HPP Used
DS Used
HPP Used
The example to the right shows a table of two words at V3000and logically ORs it with K8888. The copy of the table atV3100 shows the result of the OR operation for each word.
The program to the right performs the ORMOV example above.It assumes that the data in the table at V3000 – V3001 alreadyexists. First we load the table length (two words) into theaccumulator. Next we load the starting address of thesource table, using the LDA instruction. Then we load thedata into the accumulator to be ORed with the table. Inthe ORMOV command, we specify the table destination,V3100.
The example to the right shows a table of two words at V3000and logically XORs it with K3333. The copy of the table atV3100 shows the result of the XOR operation for each word.
The ladder program example for the XORMOV is similar to theone above for the ORMOV. Just use the XORMOV instruction.On the handheld programmer, you must use the SHFT key andspell “XORMOV” explicitly.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–168
Chapter 5: Standard RLL Instructions - Table Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
1 1 1 1
1 1 1 1
9 9 9 9
9 9 9 9
V 3000 V 3100OR MOV
K 8888
X0
DirectSOFT 32
LD
K2
LDA
0 3000
LD
K8888
ORMOV
0 3100
Load the constant value 2(Hex) into the lower 16 bits of the accumulator.
Convert octal 3000 to HEXand load the value into theaccumulator. This is the table beginning.
Load the constant value8888 (Hex.) into the lower16 bits of the accumulator.
Copy the table to V3100,ORing its contents with the accumulator as it is written.
Handheld Programmer Keystrokes
STR$
SHFTANDSTL
3D
ORSTM
INST#O
PREV
0A ENT
2C
0A
0A
ENT
SHFTANDSTL
3D
3D
0A
0A ENT
SHFTANDSTL
3D PREV
8I ENT
8I
8I
8I
ORQ
3DSHFT
ANDV
1B
0A
0A ENT
1 1 1 1
1 1 1 1
2 2 2 2
2 2 2 2
V 3000 V 3100X OR MOV
K 3333
Handheld Programmer Keystrokes
STR$
SHFTANDSTL
3D
ORSTM
INST#O
PREV
0A ENT
2C
0A
0A
ENT
SHFTANDSTL
3D
3D
0A
0A ENT
SHFTANDSTL
3D PREV
6G ENT
6G
6G
6G
ANDV
3DSHFT
ANDV
1B
0A
0A ENT
DirectSOFT
LD K2
X0
DirectSOFT 5
Load the constant value 2(Hex.) into the lower 16bits of the accumulator.
Convert otal 3000 to HEXand load the value into the accumulator. This is thetable beginning.
Load the constant value6666 (Hex.) into the lower16 bits of the accumulator.
Copy the table to V3100,ANDing its contents with theaccumulator as it is written.
LDA
0 3000
LDK6666
ANDMOV0 3100
DirectSOFT
Find Block (FINDB)The Find Block instruction searches for an occurrence of aspecified block of values in a V-memory table. The functionparameters are loaded into the first and second levels of theaccumulator stack and the accumulator by three additionalinstructions. If the block is found, its starting address will bestored in the accumulator. If the block is not found, flag SP53will be set.
The steps listed below are the steps necessary to program the Find Block function.
Step 1: Load the number of bytes in the block to be located. This parameter must be aHEX value, 0 to FF.
Step 2: Load the length of a table (number of words) to be searched. The Find Blockwill search multiple tables that are adjacent in V-memory. This parametermust be a HEX value, 0 to FF.
Step 3: Load the ending location for all the tables into the accumulator. Thisparameter must be a HEX value. You can use the LDA instruction to convertan octal address to hex.
Step 4: Load the table starting location for all the tables into the accumulator. Thisparameter must be a HEX value. You can use the LDA instruction to convertan octal address to hex.
Step 5: Insert the Find Block instruction. This specifies the starting location of theblock of data you are trying to locate.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–169
Chapter 5: Standard RLL Instructions - Table Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
FINDBAaaa
Table 1
Table 2
Table 3
Table n
Block
Start Addr.
End Addr.
Numberof bytes
Start Addr.
Numberof words
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapV-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory map
Discrete Bit Flags DescriptionSP56 On when the specified block is not found.
DS Used
HPP N/A
Swap (SWAP)The Swap instruction exchanges thedata in two tables of equal length.
Step 1: Load the length of the tables (number of V-memory locations) into the first level ofthe accumulator stack. This parameter must be a HEX value, 0 to FF. Remember thatthe tables must be of equal length.
Step 2: Load the starting V-memory location for the first table into the accumulator. Thisparameter must be a HEX value. You can use the LDA instruction to convert an octaladdress to hex.
Step 3: Insert the Swap instruction. This specifies the starting address of the second table.This parameter must be a HEX value. You can use the LDA instruction to convert anoctal address to hex.
Helpful hint: — The data swap occurs within a single scan. If the instruction executes onmultiple consecutive scans, it will be difficult to know the actual contents of either table atany particular time. So, remember to swap just on a single scan.
The example to the right shows a table oftwo words at V3000. We will swap itscontents with another table of two words at3100 by using the Swap instruction. Therequired ladder program is given below.
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 theaddress of the first table (V3000) into the accumulator using the LDA instruction, convertingthe octal address to hex. Note that itdoes not matter which table we declare“first”, because the swap results will bethe same.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–170
Chapter 5: Standard RLL Instructions - Table Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
A aaaS WAP
1 2 3 4
5 6 7 8
A B C D
0 0 0 0
V 3000 V 3100
S WAP
Operand Data Type DL06 Rangeaaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map
Handheld Programmer Keystrokes
STR$
SHFTANDSTL
3D
SHFTRST
SANDNW
0A
PREV
CVP ENT
2C
0A
0A
ENT
SHFTANDSTL
3D
3D
0A
0A ENT
SHFTCV
P
SHFT3
D0
A
0A
3D
1B
0A ENT
DS Used
HPP Used
DirectSOFT 32
X0LD
K2
LDA
0 3000
SWAP
0 3100
Load the constant value 2(Hex.) into the lower 16 bitsof the accumulator.
Convert octal 3000 to HEXand load the value into theaccumulator. This is thetable beginning.
Swap the contents of the table in the previousinstruction with the oneat V3100.
DirectSOFT
Clock/Calendar Instructions
Date (DATE)The Date instruction can be used to set the date in the CPU.The instruction requires two consecutive V-memory locations(Vaaa) to set the date. If the values in the specified locationsare not valid, the date will not be set. The current date can beread from 4 consecutive V-memory locations(V7771–V7774).
In the following example, when C0 is on, the constant value (K94010301) is loaded into theaccumulator 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 Doubleinstruction. The Date instruction uses the value in V2000 to set the date in the CPU.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–171
Chapter 5: Standard RLL Instructions - Clock/Calendar Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
V aaa
DAT E
V2000
Acc.
0 3 0 1
0 3 0 1
9 4 0 1 0 3 0 1
9 4 0 1
V2001
9 4 0 1
Acc. 9 4 0 1 0 3 0 1
0 3 0 19 4 0 1
V2001 V2000
DirectSOFT 32
C0 LDD
K94010301
OUTD
V2000
DATE
V2000
Constant (K)
In this example, the Dateinstruction uses the value set inV2000 and V2001 to set the date in the appropriate V memory locations (V7771-V7774).
Format
Year Month Day Day of WeekHandheld Programmer Keystrokes
0A ENT
1B
4E
0A
0A
ENT
STR$
SHFTANDSTL
3D
SHFTMLR
T
3D
OUTGX SHFT
3D
NEXT NEXT NEXT NEXT
2C ENT
PREV
0A
9J
0A
3D
1B
0A ENT
0A
3D
0A
4E
0A
2C ENT
0A
0A
Load the constantvalue (K94010301)into the accumulator
Copy the value in the accumulator to V2000 and V2001
Set the date in the CPU using the value in V2000 and 2001
Date Range V-memory Location (BCD)(READ Only)
Year 0-99 V7774
Month 1-12 V7773
Day 1-31 V7772
Day of Week 0-06 V7771The values entered for the day of week are:
0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday
Operand Data Type DL06 Rangeaaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map
DS Used
HPP Used
DirectSOFT
Time (TIME)The Time instruction can be used to set the time (24 hourclock) in the CPU. The instruction requires two consecutiveV-memory locations (Vaaa) which are used to set the time. Ifthe values in the specified locations are not valid, the timewill not be set. The current time can be read from memorylocations V7747 and V7766–V7770.
In the following example, when C0 is on, the constant value (K73000) is loaded into theaccumulator 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 Doubleinstruction. The Time instruction uses the value in V2000 to set the time in the CPU.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–172
Chapter 5: Standard RLL Instructions - Clock/Calendar Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
V aaa
T IME
V2000
Acc.
3 0 0 0
3 0 0 0
0 0 0 7 3 0 0 0
0 0 0 7
V2001
0 0 0 7
Acc. 0 0 0 7 3 0 0 0
3 0 0 00 0 0 7V2001 V2000
DirectSOFT 32
C0 LDD
K73000
OUTD
V2000
TIME
V2000
Constant (K)
Format
NotUsed
Hour Minutes Seconds
The TIME instruction uses thevalue set in V2000 and V2001 toset the time in the appropriate V-memory locations (V7766-V7770)
Handheld Programmer Keystrokes
0A ENT
7H
0A
0A
ENT
STR$
SHFT ANDSTL
3D
SHFT MLRT
3D
OUTGX SHFT 3
D
NEXT NEXT NEXT NEXT
2C ENT
PREV
0A
3D
0A
3D
1B
0A ENT
0A
ORSTM
8I
4E
0A
2C ENT0
A0
A
0A
0A
SHFT
Date Range VMemory Location (BCD)(READ Only)
1/100 seconds (10ms) 0-99 V7747
Seconds 0-59 V7766
Minutes 0-59 V7767
Hour 0-23 V7770
Operand Data Type DL06 Rangeaaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map
DS Used
HPP Used
DirectSOFT
CPU Control Instructions
No Operation (NOP)The No Operation is an empty (not programmed) memory location.
End (END)The End instruction marks the termination point of the normalprogram scan. An End instruction is required at the end of the mainprogram body. If the End instruction is omitted, an error will occurand the CPU will not enter the Run Mode. Data labels, subroutinesand interrupt routines are placed after the End instruction. The End instruction is notconditional; therefore, no input contact is allowed.
Stop (STOP)The Stop instruction changes the operational mode of the CPUfrom Run to Program (Stop) mode. This instruction is typicallyused to stop PLC operation in an error condition.
In the following example, when C0 turns on, the CPU will stopoperation and switch to the program mode.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–173
Chapter 5: Standard RLL Instructions - CPU Control Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
NOP
END
Direct SOFT32 Handheld Programmer Keystrokes
ENDSHFT
4E
TMRN
3D ENT
STOP
DirectSOFT32 Handheld Programmer Keystrokes
STOP
C0STR
$ SHFT ENT2
C0
A
SHFTRST
SMLR
TINST#O
CVP ENTSHFT
Discrete Bit Flags DescriptionSP16 On when the DL06 goes into the TERM_PRG mode.SP53 On when the DL06 goes into the PRG mode.
Direct SOFT32 Handheld Programmer Keystrokes
NOPSHFT
TMRN
INST#O
CVP ENT
DS Used
HPP Used
DS Used
HPP Used
DS Used
HPP Used
DirectSOFT
DirectSOFT
DirectSOFT
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–174
Reset Watch Dog Timer (RSTWT)The Reset Watch Dog Timer instruction resets the CPU scantimer. The default setting for the watch dog timer is 200ms.Scan times very seldom exceed 200ms, but it is possible.For/next loops, subroutines, interrupt routines, and tableinstructions can be programmed such that the scan becomeslonger than 200ms. When instructions are used in a mannerthat could exceed the watch dog timer setting, this instructioncan be used to reset the timer.
A software timeout error (E003) will occur and the CPU will enter the program mode if thescan time exceeds the watch dog timer setting. Placement of the RSTWT instruction in theprogram is very important. The instruction has to be executed before the scan time exceedsthe watch dog timer’s setting.
If the scan time is consistently longer than the watch dog timer’s setting, the timeout valuemay be permanently increased from the default value of 200ms by AUX 55 on the HPP orthe appropriate auxiliary function in your programming package. This eliminates the need forthe RSTWT instruction.
In the following example, the CPU scan timer will be reset to 0 when the RSTWTinstruction is executed. See the For/Next instruction for a detailed example.
Chapter 5: Standard RLL Instructions - CPU Control Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
RSTWT
Direct SOFT 32 Handheld Programmer Keystrokes
RSTWT
SHFTORN
RRST
SMLR
TANDNW
MLRT ENT
DS Used
HPP Used
DirectSOFT
Program Control Instructions
Goto Label (GOTO) (LBL)The Goto / Label skips all instructions between the Goto andthe corresponding LBL instruction. The operand value forthe Goto and the corresponding LBL instruction are thesame. The logic between Goto and LBL instruction is notexecuted when the Goto instruction is enabled. Up to 256Goto instructions and 256 LBL instructions can be used inthe program.
In the following example, when C7 is on, all the program logic between the GOTO and thecorresponding LBL instruction (designated with the same constant Kaaa value) will beskipped. The instructions being skipped will not be executed by the CPU.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–175
Chapter 5: Standard RLL Instructions - Program Control Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
K aaa
GOTO
K aaaLBL K aaaLBL
DirectSOFT32 Handheld Programmer Keys trokes
LBL K5
C7 K5
GOTO
X1 C2
OUT
X5 Y2
OUT
STR$ SHFT
2C ENT
7H
SHFT6
GINST#O
MLRT
INST#O
5F
STR$
OUTGX SHFT
2C
2C ENT
SHFTANDSTL
1B
ANDSTL
5F ENT
STR$
OUTGX
1B ENT
ENT5
F
2C ENT
ENT
Operand Data Type DL06 Rangeaaa
Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 1-FFFF
DS Used
HPP Used
DirectSOFT
For / Next (FOR) (NEXT)The For and Next instructions are used to execute a section of ladder logic between the Forand Next instruction a specified numbers of times. When the For instruction is enabled, theprogram will loop the specified number of times. If the Forinstruction is not energized, the section of ladder logic betweenthe For and Next instructions is not executed.
For / Next instructions cannot be nested. The normal I/O updateand CPU housekeeping are suspended while executing the For /Next loop. The program scan can increase significantly, dependingon the amount of times the logic between the For and Nextinstruction is executed. With the exception of immediate I/Oinstructions, I/O will not be updated until the program executionis completed for that scan. Depending on the length of timerequired to complete the program execution, it may be necessaryto reset the watch dog timer inside of the For / Next loop usingthe RSTWT instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–176
Chapter 5: Standard RLL Instructions - Program Control Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
A aaaFOR
NEXT
Operand Data Type DL06 Rangeaaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 1-9999
DS Used
HPP Used
In the following example, when X1 is on, the application program inside the For / Next loopwill 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, The RSTWT instruction is not necessary if the For / Next loop does not extend thescan time beyond the Watch Dog Timer setting. For more information on the Watch DogTimer, refer to the RSTWT instruction.
Chapter 5: Standard RLL Instructions - Program Control Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
X1Direct SOFT32
Handheld Programmer Keystrokes
K3
FOR
RSTWT
X20 Y5
OUT
NEXT
1 2 3
STR$
SHFT5
FINST#O
ORNR
SHFTORN
RRST
SMLR
TANDNW
MLRT ENT
STR$ SHFT
8I
2C
0A ENT
OUTGX
SHFTTMR
N4
ESET
XMLR
T ENT
1B ENT
3D ENT
5F ENT
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–177
DirectSOFT
Goto Subroutine (GTS) (SBR)The Goto Subroutine instruction allows a section of ladderlogic to be placed outside the main body of the program, toexecute only when needed. There can be a maximum of 256GTS instructions and 256 SBR instructions used in aprogram. The GTS instructions can be nested up to 8 levels.An error E412 will occur if the maximum limits are exceeded.Typically this will be used in an application where a block ofprogram logic may be slow to execute and is not required toexecute every scan. The subroutine label and all associatedlogic is placed after the End statement in the program. Whenthe subroutine is called from the main program, the CPU willexecute the subroutine (SBR) with the same constant number(K) as the GTS instruction which called the subroutine.
By placing code in a subroutine it is only scanned and executed when needed, since it residesafter the End instruction. Code which is not scanned does not impact the overall scan time ofthe program.
Subroutine Return (RT)
When a Subroutine Return is executed in the subroutine theCPU will return to the point in the main body of the programfrom which it was called. The Subroutine Return is used astermination of the subroutine. It must be the last instruction inthe subroutine and is a stand alone instruction (no inputcontact on the rung).
Subroutine Return Conditional (RTC)The Subroutine Return Conditional instruction is an optionalinstruction used with an input contact to implement aconditional return from the subroutine. The Subroutine Return(RT) is still required for termination of the Subroutine.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–178
Chapter 5: Standard RLL Instructions - Program Control Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
K aaa
GTS
K aaaSBR
RT
RTC
Operand Data Type DL06 Rangeaaa
Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 1-FFFF
DS Used
HPP Used
DS Used
HPP Used
DS Used
HPP Used
In the following example, when X1 is on, Subroutine K3 will be called. The CPU will jumpto the Subroutine Label K3 and the ladder logic in the subroutine will be executed. If X35 ison, the CPU will return to the main program at the RTC instruction. If X35 is not on,Y0–Y17 will be reset to off and the CPU will return to the main body of the program.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–179
Chapter 5: Standard RLL Instructions - Program Control Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Direct SOFT32 Display
Handheld Programmer Keystrokes
SBR K3
X1 K3GTS
END
Y5OUTI
X20
Y10OUTI
X21
X35
RT C
X35
RSTI
Y0 Y17
RT
K10LD
C0
STR$
SHFT6
GMLR
TRST
S
SHFTRST
S1
BORN
R
STR$ SHFT
8I
2C
0A ENT
OUTGX
STR$
SHFT8
I3
D ENT5
F
OUTGX
SHFTORN
RMLR
T ENT
SHFT4
ETMR
N3
D ENT
1B ENT
3D ENT
3D ENT
5F ENT
ENT1
B0
A
SHFT
SHFT8
I
SHFT8
I
2C
STR$ SHFT
8I
2C ENT
1B
STRNSP
RSTS SHFT
8I
0A
1B
7H ENT
SHFT8
I3
D ENT5
F
SHFTORN
RMLR
T ENT
DirectSOFT
In the following example, when X1 is on, Subroutine K3 will be called. The CPU will jumpto the Subroutine Label K3 and the ladder logic in the subroutine will be executed. The CPUwill return to the main body of the program after the RT instruction is executed.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–180
Chapter 5: Standard RLL Instructions - Program Control Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Direct SOFT32
Handheld Programmer Keystrokes
SBR K3
X1 K3
GTS
END
Y5
OUT
X20
Y10
OUT
X21
RT
STR$
SHFT6
GMLR
TRST
S
SHFTRST
S1
BORN
R
STR$ SHFT
8I
2C
0A ENT
OUTGX
STR$ SHFT
8I
2C ENT
1B
OUTGX
SHFTORN
RMLR
T ENT
SHFT4
ETMR
N3
D ENT
1B ENT
3D ENT
3D ENT
5F ENT
ENT1
B0
A
SHFT
DirectSOFT
Master Line Set (MLS)The Master Line Set instruction allows the program to controlsections of ladder logic by forming a new power rail controlledby the main left power rail. The main left rail is always masterline 0. When an MLS K1 instruction is used, a new power rail iscreated at level 1. Master Line Sets and Master Line Resets can be used to nest power rails upto seven levels deep.
Master Line Reset (MLR)The Master Line Reset instruction marks the end of controlfor the corresponding MLS instruction. The MLR referenceis one less than the corresponding MLS.
Understanding Master Control RelaysThe Master Line Set (MLS) and Master Line Reset (MLR) instructions allow you to quicklyenable (or disable) sections of the RLL program. This provides program control flexibility.The following example shows how the MLS and MLR instructions operate by creating a subpower rail for control logic.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–181
Chapter 5: Standard RLL Instructions - Program Control Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
K aaa
MLS
K aaa
MLR
X0
X1
X2
OUT
Y7
X3
MLS
X10
K1
K2
K0
K1
MLS
OUT
MLR
MLR
OUT
Y10
Y11
Direct SOFT32
When contact X0 is ON, logic under the first MLS will be executed.
When contact X0 and X2 are ON, logic under the second MLS will be executed.
The MLR instructions note the end of the MasterControl area.
Operand Data Type DL06 Rangeaaa
Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 1-FFFF
Operand Data Type DL06 Rangeaaa
Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 1-FFFF
DS Used
HPP Used
DS Used
HPP Used
DirectSOFT
MLS/MLR ExampleIn 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 theMLS coils.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–182
Chapter 5: Standard RLL Instructions - Program Control Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
K1
MLS
X0
C0
OUT
X1
C1
OUT
X2
Y0
OUT
X3
K2
MLS
X10
Y1
OUT
X5
Y2
OUT
X4
K1
MLR
C2
OUT
X5
Y3
OUT
X6
K0
MLR
Y4
OUT
X7
DirectSOFT32 Handheld Programmer Keystrokes
STR$ ENT
0A
MLSY
1B ENT
STR$
1B ENT
OUTGX SHFT ENT
2C
0A
STR$ ENT
2C
OUTGX SHFT ENT
2C
1B
STR$ ENT
3D
OUTGX ENT
0A
STR$ ENT
0A
1B
MLSY ENT
2C
STR$ ENT
5F
OUTGX ENT
1B
STR$ ENT
OUTGX ENT
4E
2C
MLRT
1B ENT
STR$ ENT
5F
OUTGX SHFT ENT
2C
2C
STR$ ENT
OUTGX ENT
6G
3D
MLRT ENT
0A
STR$ ENT
OUTGX
4E
7H
ENT2
C
A
C
D
B
DirectSOFT
Interrupt Instructions
Interrupt (INT)The Interrupt instruction allows a section of ladder logicto be placed below the main body of the program andexecuted only when needed. High-Speed I/O Modes 10,20, and 40 can generate an interrupt. With Mode 40,you may select an external interrupt (input X0), or atime-based interrupt (3–999 ms).
Typically, interrupts are used in an application when a fast response to an input is needed or aprogram section must execute faster than the normal CPU scan. The interrupt label and allassociated logic must be placed after the End statement in the program. When an interruptoccurs, the CPU will complete execution of the current instruction it is processing in ladderlogic, then execute the interrupt routine. After interrupt routine execution, the ladderprogram resumes from the point at which it was interrupted.
See Chapter 3, the section on Mode 40 (Interrupt) Operation for more details on interruptconfiguration. In the DL06, only one software interrupt is available. The software interruptuses interrupt #00 (INT 0), which means the hardware interrupt #0 and the softwareinterrupt cannot be used together. Hardware interrupts are labeled in octal to correspondwith the hardware input signal (e.g. X1 will initiate INT 1).
Interrupt Return (IRT)An Interrupt Return is normally executed as the last instruction in the interrupt routine. Itreturns the CPU to the point in the main program from whichit was called. The Interrupt Return is a stand-alone instruction(no input contact on the rung).
Interrupt Return Conditional (IRTC)The Interrupt Return Conditional instruction is a optionalinstruction used with an input contact to implement aconditional return from the interrupt routine. The InterruptReturn is required to terminate the interrupt routine.
Enable Interrupts (ENI)The Enable Interrupt instruction is placed in the main ladderprogram (before the End instruction), enabling the interrupt.The interrupt remains enabled until the program executes aDisable Interrupt instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–183
Chapter 5: Standard RLL Instructions - Interrupt Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
O aaaINT
IRT
IRTC
ENI
Operand Data Type DL06 Rangeaaa
Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . O 1-FFFF
DS Used
HPP Used
DS Used
HPP Used
DS Used
HPP Used
DS Used
HPP Used
Disable Interrupts (DISI)A Disable Interrupt instruction in the main body of theapplication program (before the End instruction) will disablethe interrupt (either external or timed). The interrupt remainsdisabled until the program executes an Enable Interruptinstruction.
External Interrupt Program ExampleIn the following example, we do some initialization on the first scan, using the first-scancontact SP0. The interrupt feature is the HSIO Mode 40. Then, we configure X0 as theexternal interrupt by writing to its configuration register, V7634. See Appendix E, Mode 40Operation for more details.
During program execution, when X2 is on, the interrupt is enabled. When X2 is off, theinterrupt will be disabled. When an interrupt signal (X0) occurs, the CPU will jump to theinterrupt label INT O 0. The application ladder logic in the interrupt routine will beperformed. The CPU will return to the main body of the program after the IRT instruction isexecuted.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–184
Chapter 5: Standard RLL Instructions - Interrupt Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DISI
DirectSOFT
O 0
X2ENI
DISIX2
END
Y5SETI
X1
Y7SETI
X3
IRT
Handheld Programmer Keystrokes
8I
ORNR
MLRT
STR$ SHFT 8
I1
B ENT
SHFT 8I
5F ENT
STR$ SHFT 8
I3
D ENT
SHFT 8I ENT7
H
SHFT 4E
TMRN
3D ENT
STR$ ENT2
C
SHFT 4E
TMRN
8I ENT
STRNSP ENT2
C
SHFT 8I
TMRN
MLRT
0A ENT
SHFT ENT
SHFT ENT3D
8I
RSTS
8I
SETX
SETX
LDK40
SP0 Load the constant value(K40) into the lower 16 bitsof the accumulator
OUTV7633
Copy the value in the lower16 bits of the accumulator toV7633
LDK4
Load the constant value (K4)into the lower 16 bits of theaccumulator
OUTV7634
Copy the value in the lower16 bits of the accumulator toV7634
STR$
SHFT ANDSTL
3D SHFT
OUTGX SHFT AND
V ENT
JMPK ENT
7H
6G
3D
4E
SHFT ANDSTL
3D SHFT 0
A
OUTGX SHFT AND
V ENT
JMPK
4E ENT
7H
6G
3D
3D
4E
SHFT ENTSTRNSP
0A
INT
DS Used
HPP Used
Timed Interrupt Program ExampleIn the following example, we do some initialization on the first scan, using the first-scancontact SP0. The interrupt feature is the HSIO Mode 40. Then we configure the HSIO timeras a 10 mS interrupt by writing K104 to the configuration register for X0 (V7634). SeeAppendix E, Mode 40 Operation for more details.
When X4 turns on, the interrupt will be enabled. When X4 turns off, the interrupt will bedisabled. Every 10 mS the CPU will jump to the interrupt label INT O 0. The applicationladder logic in the interrupt routine will be performed. If X3 is not on, Y0–Y7 will be reset tooff and then the CPU will return to the main body of the program.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–185
Chapter 5: Standard RLL Instructions - Interrupt Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Direct SOFT32
INT O0
X4
ENI
DISI
X4
END
Y5
SETI
X2
X3
RSTI
Y0 Y7
IRT
Handheld Programmer Keystrokes
LD
K40
SP0 Load the constant value(K40) into the lower 16 bitsof the accumulator
OUT
V7633
Copy the value in the lower16 bits of the accumulator toV7633
STR$
SHFTANDSTL
3D SHFT
0A
OUTGX SHFT
ANDV ENT
JMPK
1B ENT
7H
6G
3D
4E
STR$
SHFT4
ETMR
N8
I ENT
STRNSP
SHFT ENT3
D8
IRST
S8
I
8I
ORNR
MLRT
STR$ SHFT
8I
2C ENT
SHFT8
I5
F ENT
SHFT8
I ENT
SHFT8
I ENT0
A
SHFT4
ETMR
N3
D ENT
SHFT8
ITMR
NMLR
T ENT
SHFT ENT
0A
1B ENT
ENT
ENT
4E
4E
7H
3D
SETX
SETX
STRNSP
LD
K104
Load the constant value(K10) into the lower 16 bitsof the accumulator
OUT
V7634
Copy the value in the lower16 bits of the accumulator toV7634
SHFTANDSTL
3D SHFT
0A
OUTGX SHFT
ANDV ENT
JMPK
4E ENT
7H
6G
3D
3D
4E
DirectSOFT
Message Instructions
Fault (FAULT)The Fault instruction is used to display a message on the handheldprogrammer, the optional LCD display or in the DirectSOFTstatus bar. The message has a maximum of 23 characters and canbe either V-memory data, numerical constant data or ASCII text.
To display the value in a V-memory location, specify the V-memory location in theinstruction. To display the data in ACON (ASCII constant) or NCON (Numerical constant)instructions, specify the constant (K) value for the corresponding data label area.
See Appendix G for the ASCII conversion table.
Fault ExampleIn the following example when X1 is on, the message SW 146 will display on the handheldprogrammer. The NCONs use the HEX ASCII equivalent of the text to be displayed. (TheHEX ASCII for a blank is 20, a 1 is 31, 4 is 34 ...)
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–186
Chapter 5: Standard RLL Instructions - Message Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
FAULTA aaa
Direct SOFT32
DLBLK1
END
FAULTK1
X1
ACON A SW
NCONK 2031
NCONK 3436
Handheld Programmer Keystrokes
STR$
SHFT4
ETMR
N3
D ENT
SHFT3
DANDSTL
1B
ANDSTL
1B ENT
SHFT0
A2
CINST#O
TMRN
SHFTTMR
N2
CINST#O
TMRN
SHFTTMR
N2
CINST#O
TMRN
1B ENT
ENT
ENT3
D3
D4
E6
G
ENT3
D2
C0
A1
B
RSTS
ANDNW
SHFTISG
UMLR
TANDSTL
5F
0A
1B ENT
FAULT :*SW 146
Operand Data Type DL06 Rangeaaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 1-FFFF
Discrete Bit Flags DescriptionSP50 On when the FAULT instruction is executed
DS Used
HPP Used
DirectSOFT
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–187
Chapter 5: Standard RLL Instructions - Message Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Data Label (DLBL)The Data Label instruction marks thebeginning of an ASCII/numeric data area.DLBLs are programmed after the Endstatement. A maximum of 64 DLBLinstructions can be used in a program.Multiple NCONs and ACONs can beused in a DLBL area.
ASCII Constant (ACON)The ASCII Constant instruction is usedwith the DLBL instruction to storeASCII text for use with otherinstructions. Two ASCII characters canbe stored in an ACON instruction. Ifonly one character is stored in a ACONa leading space will be inserted.
Numerical Constant (NCON)The Numerical Constant instruction isused with the DLBL instruction to storethe HEX ASCII equivalent of numericaldata for use with other instructions. Twodigits can be stored in an NCONinstruction.
K aaaDLBL
A aaaACON
K aaaNCON
Operand Data Type DL06 Rangeaaa
Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 1-FFFF
Operand Data Type DL06 Rangeaaa
Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 1-FFFF
Operand Data Type DL06 Rangeaaa
ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A 0-9 A-Z
DS Used
HPP Used
DS Used
HPP Used
DS Used
HPP Used
Data Label ExampleIn the following example, an ACON and two NCON instructions are used within a DLBLinstruction to build a text message. See the FAULT instruction for information on displayingmessages. The DV-1000 Manual also has information on displaying messages.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–188
Chapter 5: Standard RLL Instructions - Message Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Direct SOFT32
Handheld Programmer Keystrokes
DLBL
K1
END
ACON
A SW
NCON
K 2031
NCON
K 3436
SHFT4
ETMR
N3
D ENT
SHFT3
DANDSTL
1B
ANDSTL
1B ENT
SHFT0
A2
CINST#O
TMRN
SHFTTMR
N2
CINST#O
TMRN
SHFTTMR
N2
CINST#O
TMRN
ENT3
D3
D4
E6
G
ENT3
D2
C0
A1
B
ENTRST
SANDNW
DirectSOFT
Move Block Instruction (MOVBLK)The Move Block instruction copies a specified number of wordsfrom a Data Label Area of program memory (ACON, NCON) tothe specified V-memory location. Below are the steps for using theMove Block function:
• Step 1: Load the number of words (octal) to be copied into the 1st level of the accumulator stack.
• Step 2: Load the source data label (LDLBL Kaaa) into the accumulator. This is where the data willbe copied from.
• Step 3: Insert the MOVBLK instruction that specifies the V-memory destination. This is where thedata will be copied to.
Copy Data From a Data Label Area to V-memoryIn the example below, data is copied from a Data Label Area to V-memory. When X1 is on,the octal value (O4) is copied to the first level of the accumulator stack using the LoadAddress (LDA) instruction. This value specifies the number of words to be copied. LoadLabel (LDLBL) instruction will load the source data address (K1) into the accumulator. Thisis where the data will be copied from. The MOVBLK instruction specifies the destinationstarting location and executes the copying of data from the Data Label Area to V-memory.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–189
Chapter 5: Standard RLL Instructions - Message Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
V aaaMOVBLK
DS Used
HPP Used
DirectSOFTX1 LDA
O4
Load the value 4 into theaccumulator specifying thenumber of words to be copied.
LDLBLK1
Load the value 1 into theaccumulator specifying theData Label Area K1 as thestarting address of the datato be copied.
MOVBLKV2000
V2000 is the destinationstarting address for the datato be copied.
1 2 3 4
4 5 3 2
6 1 5 1
8 8 4 5
K
N C O N
K
N C O N
K
N C O N
K
N C O N
V20014 5 3 2
V20026 1 5 1
V20038 8 4 5
V2004X X X X..
.
.
V20001 2 3 4
Data label areato be copied
DLBL
Handheld Programmer Keystrokes
STR$
SHFT ANDSTL
3D
JMPK
ENT
SHFT ANDSTL
3D
ANDSTL
1B
ANDSTL
SHFT ORSTM
ANDV
INST#O
1B ENT
ENT1B
2C
0A
0A
0A ENT
4E
K1V1777X X X X
0A
1B
ANDSTL
Print Message (PRINT)The Print Message instruction prints the embedded textor text/data variable message (maximum 128 characters)to the specified communications port (Port 2 on theDL06 CPU), which must have the communications portconfigured.
You may recall, from the CPU specifications in Chapter 3, that the DL06’s ports are capableof several protocols. Port 1 cannot be configured for the non-sequence protocol. To configureport 2 using the Handheld Programmer, use AUX 56 and follow the prompts, making thesame choices as indicated below on this page. To configure a port in DirectSOFT, choose thePLC menu, then Setup, then Setup Secondary Comm Port.
• Port: From the port number list box at the top, choose Port 2.
• Protocol: Click the check box to the left of Non-sequence, and then you’ll see the dialog box shownbelow.
• Baud Rate: Choose the baud rate that matches your printer.
• Stop Bits, Parity: Choose number of stop bits and parity setting to match your printer.
• Memory Address: Choose a V-memory address for DirectSOFT to use to store the port setupinformation. You will need to reserve 66 continguous words in V-memory for this purpose.
Before ending the setup, click the button indicated to send Port 2configuration to the CPU, and click Close. See Chapter 3 for port wiringinformation, in order to connect your printer to the DL06.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–190
Chapter 5: Standard RLL Instructions - Message Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
PRINT A aaa
“Hello, this is a PLC message”
Operand Data Type DL06 Rangeaaa
Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 2
DS Used
HPP N/A
Port 2 on the DL06 has standard RS232 levels, and should work with most printer serialinput connections.
Text element – this is used for printing character strings. The character strings are defined asthe character (more than 0) ranged by the double quotation marks. Two hex numberspreceded by the dollar sign means an 8-bit ASCII character code. Also, two characterspreceded 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 theprinter.
Example:
” ” Length 0 without character
”A” Length 1 with character A
” ” Length 1 with blank
” $” ” Length 1 with double quotation mark
” $ R $ L ” Length 2 with one CR and one LF
” $ 0 D $ 0 A ” Length 2 with one CR and one LF
” $ $ ” Length 1 with one $ mark
In printing an ordinary line of text, you will need to include double quotation marks beforeand after the text string. Error code 499 will occur in the CPU when the print instructioncontains invalid text or no quotations. It is important to test your PRINT instruction dataduring the application development.
The following example prints the message to port 2. We use a PD contact, which causes themessage 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 printthe next line, starting from the left margin.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–191
Chapter 5: Standard RLL Instructions - Message Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
# Character code Description1 $$ Dollar sign ($)2 $” Double quotation (”)3 $L or $l Line feed (LF)4 $N or $n Carriage return line feed (CRLF)5 $P or $p Form feed6 $R or $r Carriage return (CR)7 $T or $t Tab
X1 Print the message to Port 2 whenX1 makes an off-to-on transition.
PRINT K2
“Hello, this is a PLC message.$N”
V-memory element - this is used for printing V-memory contents in the integer format orreal format. Use V-memory number or V-memory number with “:” and data type. The datatypes are shown in the table below. The Character code must be capital letters.
NOTE: There must be a space entered before and after the V-memory address to separate it from thetext string. Failure to do this will result in an error code 499.
Example:
V2000 Print binary data in V2000 for decimal number
V2000 : B Print BCD data in V2000
V2000 : D Print binary number in V2000 and V2001 for decimal number
V2000 : D B Print BCD data in V2000 and V2001
V2000 : R Print floating point number in V2000/V2001 as real number
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 “reactortemperature” labels the data, which is at V2000. You can use the : B qualifier after the V2000if the data is in BCD format, for example. The final string adds the units of degrees to theline of text, and the $N adds a carriage return / line feed.
V-memory text element - This is used for printing text stored in V-memory. Use the %followed by the number of characters after V-memory number for representing the text. Ifyou assign “0” as the number of characters, the print function will read the character countfrom the first location. Then it will start at the next V-memory location and read that numberof ASCII codes for the text from memory.
Example:
V2000 % 16 16 characters in V2000 to V2007 are printed.
V2000 % 0 The characters in V2001 to Vxxxx (determined by the number in V2000)will be printed.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–192
Chapter 5: Standard RLL Instructions - Message Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
# Character code Description1 none 16-bit binary (decimal number)2 : B 4 digit BCD3 : D 32-bit binary (decimal number)4 : D B 8 digit BCD5 : R Floating point number (real number)6 : E Floating point number (real number with exponent)
X1 Print the message to Port 2when X1 makes an off-to-ontransition.
PRINT K2
“Reactor temperature = ” V2000 “deg. $N”⊥ ⊥
Message will read:Reactor temperature = 0156 deg.
⊥ ⊥ represents a space
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–193
Chapter 5: Standard RLL Instructions - Message Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Bit element
This is used for printing the state of the designated bit in V-memory or a relay bit. The bitelement can be assigned by the designating point (.) and bit number preceded by the V-memory number or relay number. The output type is described as shown in the tablebelow.
Example:
V2000 . 15 Prints the status of bit 15 in V2000, in 1/0 format
C100 Prints the status of C100 in 1/0 format
C100 : BOOL Prints the status of C100 in TRUE/FALSE format
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
The maximum numbers of characters you can print is 128. The number of characters foreach element is listed in the table below:
The handheld programmer’s mnemonic is “PRINT” followed by the DEF field.
Special relay flags SP116 and SP117 indicate the status of the DL06 CPU ports (busy, orcommunications error). See the appendix on special relays for a description.
NOTE: You must use the appropriate special relay in conjunction with the PRINT command to ensurethe ladder program does not try to PRINT to a port that is still busy from a previous PRINT or WX orRX instruction.
# Data Format Description1 none 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 :ONOFF Print “ON” for an ON state, and “OFF” for an OFF state
Element Type Maximum CharactersText, 1 character 116 bit binary 632 bit binary 114 digit BCD 48 digit BCD 8
Floating point (real number) 12Floating point (real with exponent) 12
V-memory/text 2Bit (1/0 format) 1
Bit (TRUE/FALSE format) 5Bit (ON/OFF format) 3
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–194
Chapter 5: Standard RLL Instructions - Intelligent I/O Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Intelligent I/O Instructions
Read from Intelligent Module (RD)The Read from Intelligent Module instruction reads a blockof data (1-128 bytes maximum) from an intelligent I/Omodule into the CPU’s V-memory. It loads the functionparameters into the first and second level of the accumulatorstack and the accumulator by three additional instructions.
Listed below are the steps to program the Read from Intelligent module function.
Step 1: Load the base number (0-3) into the first byte and the slot number (0-7) into thesecond byte of the second level of the accumulator stack.
Step 2: Load the number of bytes to be transferred into the first level of the accumulatorstack (maximum of 128 bytes).
Step 3: Load the address from which the data will be read into the accumulator. Thisparameter must be a HEX value.
Step 4: Insert the RD instruction which specifies the starting V-memory location (Vaaa)where the data will be read into.
Helpful Hint: � Use the LDA instruction to convert an octal address to its HEX equivalentand load it into the accumulator when the HEX format is required.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is ON, the RD instruction will read six bytes of data froma intelligent module in base 1, slot 2, starting at address 0 in the intelligent module, and copythe information into V-memory loacations V1400-V1402.
DS32 Used
HPP UsedV aaa
RD
Operand Data Type DL06 Rangeaaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map
Discrete Bit Flags DescriptionSP54 On when RX, WX RD, WT instructions are executed with the wrong parameters.
Direct SOFT 5
Handheld Programmer Keystrokes
LDK0102
X1 The constant value K0102specifies the base number(01) and the base slot number (02).
LDK6
The constant value K6specifies the number ofbytes to be read.
LDK0
RDV1400
V1400 is the starting locationin the CPU where the specifieddata will be stored.
Address 2
Address 3
1 9
Address 4
0
Address 5
Address 0
Address 1
3 4
7
V1402
6
V1403
V1404
V1400
V1401
STR$
SHFT ANDSTL
3D PREV
SHFT ANDSTL
3D
6G ENT
SHFT ORNR
1B ENT
0A ENT
4E
0A
0A ENT
SHFT ANDSTL
3D PREV 0
A0
A ENT2C
CPU
The constant value K0specifies the starting addressin the intelligent module.
1 2
8 5
0
X X X X
X X X X
12
56
34
78
90
01
{1
B
PREV
1B
}Intelligent Module
Data
3D
DirectSOFT
Write to Intelligent Module (WT)The Write to Intelligent Module instruction writes ablock of data (1-128 bytes maximum) to an intelligentI/O module from a block of V-memory in the CPU. Thefunction parameters are loaded into the first and secondlevel of the accumulator stack and the accumulator bythree additional instructions.
Listed below are the steps to program the Read from Intelligent module function.
Step 1: Load the base number (0-3) into the first byte and the slot number (0-7) into thesecond byte of the second level of the accumulator stack.
Step 2: Load the number of bytes to be transferred into the first level of the accumulatorstack (maximum of 128 bytes).
Step 3: Load the intelligent module address which will receive the data into the accumulator.This parameter must be a HEX value.
Step 4: Insert the WT instruction which specifies the starting V-memory location (Vaaa)where the data will be written from in the CPU.
Helpful Hint: � Use the LDA instruction to convert an octal address to its HEX equivalentand load it into the accumulator when the HEX format is required.
NOTE: Status flags are valid only until another instruction uses the same flag.
In the following example, when X1 is on, the WT instruction will write six bytes of data to anintelligent module in base 1, slot 2,starting at address 0 in the intelligent module, and copythe data from V-memory locations V1400-V1402.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–195
Chapter 5: Standard RLL Instructions - Intelligent I/O Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
V aaaWT
DS32 Used
HPP Used
Direct SOFT 5
Handheld Programmer Keystrokes
LDK0102
X1 The constant value K0102specifies the base number(01) and the base slot number (02).
LDK6
The constant value K6specifies the number ofbytes to be written.
LDK0
WTV1400
V1400 is the starting locationin the CPU where the specifieddata will be written from.
Address 2
Address 31 9Address 4
0
Address 5
Address 0
Address 13 4
7
V1402
6
V1403
V1404
V1400
V1401
STR$
SHFT ANDSTL
3D PREV
SHFT ANDSTL
3D
6G ENT
SHFT ANDNW
1B ENT
0A ENT
4E
0A
0A ENT
SHFT ANDSTL
3D PREV 0
A0
A ENT2C
CPU
The constant value K0specifies the starting addressin the intelligent module.
1 2
8 5
0
X X X X
X X X X
12
56
34
78
90
01
{1
B
PREV
1B
}
Intelligent ModuleData
MLRT
V1377 X X X X
Operand Data Type DL06 Rangeaaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory map
Discrete Bit Flags DescriptionSP54 On when RX, WX RD, WT instructions are executed with the wrong parameters.
DirectSOFT
Network Instructions
Read from Network (RX)The Read from Network instruction is used by the master deviceon a network to read a block of data from a slave device on thesame network. The function parameters are loaded into the firstand second level of the accumulator stack and the accumulator bythree additional instructions. Listed below are the steps necessaryto program the Read from Network function.
• Step 1: Load the slave address (0-- 90 BCD) into the first byte and the PLC internal port (KF2) orslot number of the master DCM or ECOM (0-- 7) into the second byte of the second levelof the accumulator stack.
• Step 2: Load the number of bytes to be transferred into the first level of the accumulator stack.
• Step 3: Load the address of the data to be read into the accumulator. This parameter requires aHEX value.
• Step 4: Insert the RX instruction which specifies the starting Vmemory location (Aaaa) where thedata will be read from in the slave.
Helpful Hint: — For parameters that require HEX values, the LDA instruction can be usedto convert an octal address to the HEX equivalent and load the value into the accumulator.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–196
Chapter 5: Standard RLL Instructions - Network Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapInputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–777Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0–777Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . C 0–1777Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 0–1777Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0–377Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CT 0–177Special Relay . . . . . . . . . . . . . . . . . . . . . . . . . . SP 0–777Program Memory . . . . . . . . . . . . . . . . . . . . . . . $ 0–7680 (2K program mem.)
A aaaRX
DS32 Used
HPP Used
In the following example, when X1 is on and the port busy relay SP116 (see special relays) isnot on, the RX instruction will access port 2 operating as a master. Ten consecutive bytes ofdata (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 port.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–197
Chapter 5: Standard RLL Instructions - Network Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Direct SOFT32
Handheld Programmer Keystrokes
LD
KF205
X1
The constant value KF205specifies the port number (2)and the slave address (5)
LD
K10
The constant value K10specifies the number ofbytes to be read
LDA
O 2300
Octal address 2300 isconverted to 4C0 HEX andloaded into the accumulator.V2300 is the startinglocation for the Master CPUwhere the specified data willbe read into
RX
V2000
V2000 is the startinglocation in the for the SlaveCPU where the specifieddata will be read from
V20018 5 3 4
V20021 9 3 6
V20039 5 7 1
V20041 4 2 3
V1777X X X X
V20003 4 5 7
Master
SP116
V2005X X X X
V2301 8 5 3 4
V2302 1 9 3 6
V2303 9 5 7 1
V2304 1 4 2 3
V2277 X X X X
V2300 3 4 5 7
V2305 X X X X
SlaveCPU
STR$
SHFTANDSTL
3D SHFT
JMPK
SHFTANDSTL
3D
ANDNW SHFT
STRNSP
1B
1B
6G ENT
1B
0A ENT
0A
SHFTORN
RSET
X
1B ENT
2C
3D
0A
0A ENT
2C
0A
0A
0A ENT
SHFTANDSTL
3D SHFT
JMPK
0A ENT
2C
5FSHFT SHFT
5F
CPU
DirectSOFT
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–198
Chapter 5: Standard RLL Instructions - Network Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Write to Network (WX)The Write to Network instruction is used to write ablock of data from the master device to a slave deviceon the same network. The function parameters areloaded into the accumulator and the first and secondlevels of the stack. Listed below are the program stepsnecessary to execute the Write to Network function.
Step 1: Load the slave address (0–90 BCD) into the low byte and “F2” into the highbyte of the accumulator (the next two instructions push this word down to thesecond layer of the stack).
Step 2: Load the number of bytes to be transferred into the accumulator (the nextinstruction pushes this word onto the top of the stack).
Step 3: Load the starting Master CPU address into the accumulator. This is thememory location where the data will be written from. This parameter requiresa HEX value.
Step 4: Insert the WX instruction which specifies the starting V-memory location(Aaaa) where the data will be written to in the slave.
Helpful Hint: — For parameters that require HEX values, the LDA instruction can be usedto convert an octal address to the HEX equivalent and load the value into the accumulator.
A aaaWX
Operand Data Type DL06 Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A aaa
V-memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See memory mapPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P See memory mapInputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–777Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0–777Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . C 0–1777Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 0–1777Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0–377Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CT 0–177Special Relay . . . . . . . . . . . . . . . . . . . . . . . . . . SP 0–777Program Memory . . . . . . . . . . . . . . . . . . . . . . . $ 0–7680 (2K program mem.)
DS Used
HPP Used
In the following example, when X1 is on and the module busy relay SP116 (see special relays)is not on, the WX instruction will access port 2 operating as a master. Ten consecutive bytesof data are read from the Master CPU and copied to V-memory locations V2000–V2004 inthe slave CPU at station address 5.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–199
Chapter 5: Standard RLL Instructions - Network Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Direct SOFT32
Handheld Programmer Keystrokes
LD
KF205
X1
The constant value KF205specifies the port number (2)and the slave address (5)
LD
K10
The constant value K10specifies the number ofbytes to be written
LDA
O 2300
WX
V2000
V2000 is the startinglocation in the for the SlaveCPU where the specifieddata will be written to
V20018 5 3 4
V20021 9 3 6
V20039 5 7 1
V20041 4 2 3
V1777X X X X
V20003 4 5 7
MasterCPU
SP116
V2005X X X X
V2301 8 5 3 4
V2302 1 9 3 6
V2303 9 5 7 1
V2304 1 4 2 3
V2277 X X X X
V2300 3 4 5 7
V2305 X X X X
SlaveCPU
Octal address 2300 isconverted to 4C0 HEX andloaded into the accumulator.V2300 is the startinglocation for the Master CPUwhere the specified data willbe read from.
STR$
SHFTANDSTL
3D SHFT
JMPK
SHFTANDSTL
3D
ANDNW SHFT
STRNSP
1B
1C
6E ENT
1B
0A ENT
SHFT
0A
5F
2C
3D
0A
0A ENT
SHFT
SHFT
2C
0A
0A
0A ENT
SETX
ANDNW
SHFTANDSTL
3D SHFT
JMPK
0A ENT
2C
5F
1B ENT
DirectSOFT
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–200
Chapter 5: Standard RLL Instructions - LCD
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
LCD When enabled, the LCD instruction causes a user-definedtext message to be displayed on the LCD Display Panel.The display is 16 characters wide by 2 rows high so a totalof 32 characters can be displayed. Each row is addressedseparately; the maximum number of characters theinstruction will accept is 16.
The text message can be entered directly into the message field of the instruction set-updialog, or it can be located anywhere in user V-memory. If the text is located in V-memory,the LCD instruction is used to point to the memory location where the desired textoriginates. The length of the text string is also required.
From the DirectSOFT project folder, use the Instruction Browser to locate the LCDinstruction. When you select the LCD instruction and click OK, the LCD dialog will appear,as shown in the examples. The LCD instruction is inserted into the ladder program via thisset-up dialog box.
Display text strings can include embedded variables. Date and time settings and V-memoryvalues can be embedded in the displayed text. Examples of each are shown.
Direct Text EntryThe two dialogs to the right show theselections necessary to create the two ladderinstructions below. Double quotation marksare required to delineate the text string. Inthe first dialog, the text “Sludge Pit Alarm“uses sixteen character spaces and will appearon line 1 when the instruction is enabled.Note, the line number is K1. Clicking the“check” button causes the instruction to beinserted into the ladder program.
By identifying the second Line Number asK2, the text string “Effluent Overflow” willappear on the second line of the displaywhen the second instruction is enabled.
"text message"
LCD
Line Number: Kn
S l u d g e P i t A l a r mE f f l u e n t O v e r f l o
"Effluent Overflo"
"Sludge Pit Alarm"
LCD
Line Number: K1
LCD
Line Number: K2
DS Used
HPP N/A
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–201
Chapter 5: Standard RLL Instructions - LCD
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Embedding date and/or time variablesThe date and/or time can be embedded inthe displayed text by using the variableslisted in the table below. These variablescan be included in the LCD message fieldof the LCD dialog. In the example, thetime variable (12 hour format) isembedded by adding _time:12. This timeformat uses a maximum of seven characterspaces. The second dialog creates aninstruction that prints the date on thesecond line of the display, when enabled.
A l a r m 1 1 1 : 2 1 P M0 5 - 0 8 - 0 2
Date and Time Variables and Formats_date:us US format MM/DD/YY_date:e European format DD/MM/YY_date:a Asian format YY/MM/DD_time:12 12 hour format HH:MMAM/PM_time:24 24 hour format HH:MM:SS
_date:us
"Alarm 1 "
LCD
Line Number: K1
LCD
Line Number: K2
_time:12
Embedding V-memory dataAny V-memory data can be displayed inany one of six available data formats. Anexample appears to the right. A list of dataformats and modifiers is on the next page.Note that different data formats requirediffering numbers of character positionson the display.
"Count = " V2500:B
LCD
Line Number: K1
C o u n t = 0 4 1 2
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–202
Chapter 5: Standard RLL Instructions - LCD
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Data Format Suffixes for Embedded V-memory DataSeveral data formats are available for displaying V-memory data on the LCD. The choices areshown in the table below. A colon is used to separate the embedded V-memory location fromthe data format suffix and modifier. An example appears on the previous page.
The S, C0, and 0 modifiers alter the presentation of leading zeros and spaces. S removesleading spaces and left justifies the result. C0 replaces leading spaces with leading zeros. 0 is a modification of C0. 0 eliminates any leading zeros in the C0 format version andconverts them to spaces.
Data Format Modifier Example Displayed Characters
none(16-bit format)
V2000 = 0000 0000 0001 0010 1 2 3 4V2000 1 8
[:S] V2000:S 1 8[:C0] V2000:C0 0 0 1 8[:0] V2000:0 1 8
:B (4 digit BCD)
V2000 = 0000 0000 0001 0010 1 2 3 4[:B] V2000:B 0 0 1 2[:BS] V2000:BS 1 2[:BC0] V2000:BC0 0 0 1 2[:B0] V2000:B0 1 2
:D(32-bit decimal)
V2000 = 0000 0000 0000 0000 Double WordV2001 = 0000 0000 0000 0001 1 2 3 4 5 6 7 8 9 10 11
[:D] V2000:D 6 5 5 3 6[:DS] V2000:DS 6 5 5 3 6[:DC0] V2000:DC0 0 0 0 0 0 0 6 5 5 3 6[:D0] V2000:D0 6 5 5 3 6
:DB(8 digit BCD)
V2000 = 0000 0000 0000 0000 Double WordV2001 = 0000 0000 0000 0011 1 2 3 4 5 6 7 8
[:DB] V2000:DB 0 0 0 3 0 0 0 0[:DBS] V2000:DBS 3 0 0 0 0[:DBC0] V2000:DBC0 0 0 0 3 0 0 0 0[:DB0] V2000:DB0 3 0 0 0 0
:R (DWord floatingpoint number)
V2001/V2000 = 222.11111 (real number)
Double Word1 2 3 4 5 6 7 8 9 10 11 12 13
[:R] V2000:R f 2 2 2 . 1 1 1 1 1[:RS] V2000:RS f 2 2 2 . 1 1 1 1 1[:RC0] V2000:RC0 f 0 0 0 2 2 2 . 1 1 1 1 1[:R0] V2000:R0 f 2 2 2 . 1 1 1 1 1
:E (DWord floatingpoint numberwith exponent)
V2001/V2000 = 222.1(real number)
Double Word1 2 3 4 5 6 7 8 9 10 11 12 13
[:E] V2000:E f 2 . 2 2 1 0 0 E + 0 2[:ES] V2000:ES f 2 . 2 2 1 0 0 E + 0 2[:EC0] V2000:EC0 f 2 . 2 2 1 0 0 E + 0 2[:E0] V2000:E0 f 2 . 2 2 1 0 0 E + 0 2
f = plus/minus flag (plus = no symbol, minus = - )
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–203
Chapter 5: Standard RLL Instructions - LCD
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
V10000
LCD
Line Number: K1
Starting V Memory Address:
Number of Characters:
V10010
LCD
Line Number: K2
Starting V Memory Address:
Number of Characters:
K16
K16
Text Entry from V-memoryAlternatively, text that resides in V-memory can be displayed on the LCD following theexample on this page. The LCD dialog is used twice, once for each line on the display. Thedialog requires the address of the first character to be displayed and the number of charactersto be displayed.
For example, the two dialogs shown on this page would create the two LCD instructionsbelow. When enabled, these instructions would cause the ASCII characters in V10000 toV10017 to be displayed. The ASCII characters and their corresponding memory locations areshown in the table below.
V10000 d AV10001 i mV10002 nV10003 f OV10004 i fV10005 e cV10006V10007V10010 i HV10011 h gV10012 TV10013 m eV10014 pV10015 l AV10016 r aV10017 mA d m i n O f f i c e
H i g h T e m p A l a r m
MODBUS RTU Instructions
MODBUS Read from Network (MRX)The MODBUS Read from Network (MRX) instruction is used by the DL06 network masterto read a block of data from a connected slave device and to write the data into V–memoryaddresses within the master. The instruction allows the user to specify the MODBUSFunction Code, slave station address, starting master and slave memory addresses, number ofelements to transfer, MODBUS data format and the Exception Response Buffer.
• CPU/DCM: select either CPU or DCMmodule for communications
• Slot Number: select PLC option slot number ifusing a DCM module.
• Port Number: must be DL06 Port 2 (K2)
• Slave Address: specify a slave station address(0–247)
• Function Code: The following MODBUSfunction codes are supported by the MRXinstruction:
01 – Read a group of coils
02 – Read a group of inputs
03 – Read holding registers
04 – Read input registers
07 – Read Exception status
• Start Slave Memory Address: specifies the starting slave memory address of the data to beread. See the table on the following page.
• Start Master Memory Address: specifies the starting memory address in the master wherethe data will be placed. See the table on the following page.
• Number of Elements: specifies how many coils, inputs, holding registers or input registerwill be read. See the table on the following page.
• MODBUS Data Format: specifies MODBUS 584/984 or 484 data format to be used
• Exception Response Buffer: specifies the master memory address where the Exception Response willbe placed (6-bytes in length). See the table on the following page.The exception response buffer uses 3words. These bytes are swapped in the MRX/MWX exception response buffer V-memory so:
V-Memory 1 Hi Byte = Function Code Byte (Most Significant Bit Set)
V-Memory 1 Lo Byte = Address Byte
V-Memory 2 Hi Byte = One of the CRC Bytes
V-Memory 2 Lo Byte = Exception Code
V-Memory 3 Hi Byte = 0
V-Memory 3 Lo Byte = Other CRC Byte
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–204
Chapter 5: Standard RLL Instructions - MODBUS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
MRX Slave Address Ranges
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–205
Chapter 5: Standard RLL Instructions - MODBUS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Function Code MODBUS Data Format Slave Address Range(s)01 – Read Coil 484 Mode 1–99901 – Read Coil 584/984 Mode 1–6553502 – Read Input Status 484 Mode 1001–1999
02 – Read Input Status 584/984 Mode 10001–19999 (5 digit) or100001–165535 (6 digit)
03 – Read Holding Register 484 Mode 4001–4999
03 – Read Holding Register 584/984 Mode 40001–49999 (5 digit) or4000001–465535 (6 digit)
04 – Read Input Register 484 Mode 3001–3999
04 – Read Input Register 584/984 Mode 30001–39999 (5 digit) or3000001–365535 (6 digit)
07 – Read Exception Status 484 and 584/984 Mode N/A
MRX Master Memory Address RangesOperand Data Type DL06 Range
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–1777Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0–1777Control Relays. . . . . . . . . . . . . . . . . . . . . . . . . . C 0–3777Stage Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 0–1777Timer Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0–377Counter Bits . . . . . . . . . . . . . . . . . . . . . . . . . . CT 0–377Special Relays . . . . . . . . . . . . . . . . . . . . . . . . . SP 0–777V–memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . V all Global Inputs . . . . . . . . . . . . . . . . . . . . . . . . . GX 0–3777Global Outputs . . . . . . . . . . . . . . . . . . . . . . . . GY 0–3777
Number of Elements Operand Data Type DL06 Range
V–memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . V all Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K Bits: 1–2000 Registers: 1–125
Exception Response BufferOperand Data Type DL06 RangeV–memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . V all
MRX ExampleDL06 port 2 has two Special Relay contacts associated with it (see Appendix D for commport special relays). One indicates “Port busy”(SP116), and the other indicates ”PortCommunication Error”(SP117). The “Port Busy” bit is on while the PLC communicates withthe slave. When the bit is off, the program can initiate the next network request. The “PortCommunication Error” bit turns on when the PLC has detected an error. Use of this bit isoptional. When used, it should be ahead of any network instruction boxes, since the error bitis reset when an MRX or MWX instruction is executed. Typically, network communicationswill last longer than 1 CPU scan. The program must wait for the communications to finishbefore starting the next transaction.
NOTE: See Chapter 4, page 4-21, for an RLL example using multiple Read and Write interlocks withMRX/MWX instructions.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–206
Chapter 5: Standard RLL Instructions - MODBUS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
MODBUS Write to Network (MWX)The MODBUS Write to Network (MWX) instruction is used to write a block of data fromthe network masters’s (DL06) memory to MODBUS memory addresses within a slave deviceon the network. The instruction allows the user to specify the MODBUS Function Code,slave station address, starting master and slave memory addresses, number of elements totransfer, MODBUS data format and the Exception Response Buffer.
• CPU/DCM: select either CPU or DCM modulefor communications
• Slot Number: select PLC option slot number ifusing a DCM module
• Port Number: must be DL06 Port 2 (K2)
• Slave Address: specify a slave station address(0–247)
• Function Code: MODBUS function codessupported by the MWX instruction:
05 – Force Single coil
06 – Preset Single Register
15 – Force Multiple Coils
16 – Preset Multiple Registers
• Start Slave Memory Address: specifies thestarting slave memory address where the data willbe written
• Start Master Memory Address: specifies the starting address of the data in the master that isto be written to the slave
• Number of Elements: specifies how many consecutive coils or registers will be written to.This field is only active when either function code 15 or 16 is selected.
• MODBUS Data Format: specifies MODBUS 584/984 or 484 data format to be used
• Exception Response Buffer: specifies the master memory address where the Exception Response willbe placed (6-bytes in length). See the table on the following page.The exception response buffer uses 3words. These bytes are swapped in the MRX/MWX exception response buffer V-memory so:
V-Memory 1 Hi Byte = Function Code Byte (Most Significant Bit Set)
V-Memory 1 Lo Byte = Address Byte
V-Memory 2 Hi Byte = One of the CRC Bytes
V-Memory 2 Lo Byte = Exception Code
V-Memory 3 Hi Byte = 0
V-Memory 3 Lo Byte = Other CRC Byte
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–207
Chapter 5: Standard RLL Instructions - MODBUS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
MWX Slave Address Ranges
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–208
Chapter 5: Standard RLL Instructions - MODBUS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
MWX Slave Address RangesFunction Code MODBUS Data Format Slave Address Range(s)05 – Force Single Coil 484 Mode 1–99905 – Force Single Coil 584/984 Mode 1–6553506 – Preset Single Register 484 Mode 4001–4999
06 – Preset Single Register 584/984 Mode 40001–49999 (5 digit) or400001–465535 (6 digit)
15 – Force Multiple Coils 484 Mode 1–99915 – Force Multiple Coils 585/984 Mode 1–6553516 – Preset Multiple Registers 484 Mode 4001–4999
16 – Preset Multiple Registers 584/984 Mode 40001–49999 (5 digit) or4000001–465535 (6 digit)
MWX Master Memory Address RangesOperand Data Type DL06 Range
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–1777Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0–1777Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . C 0–3777Stage Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S 0–1777Timer Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0–377Counter Bits . . . . . . . . . . . . . . . . . . . . . . . . . . CT 0–377Special Relays. . . . . . . . . . . . . . . . . . . . . . . . . SP 0–777V–memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . V allGlobal Inputs . . . . . . . . . . . . . . . . . . . . . . . . . GX 0–3777Global Outputs . . . . . . . . . . . . . . . . . . . . . . . . GY 0–3777
Number of ElementsOperand Data Type DL06 Range
V–memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . V all Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K Bits: 1–2000 Registers: 1–125
Number of ElementsOperand Data Type DL06 Range
V–memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . V all
MWX Number ofElements
MWX ExceptionResponse Buffer
MWX MasterMemory AddressRanges
MWX ExampleDL06 port 2 has two Special Relay contacts associated with it (see Appendix D for commport special relays). One indicates “Port busy”(SP116), and the other indicates ”PortCommunication Error”(SP117). The “Port Busy” bit is on while the PLC communicates withthe slave. When the bit is off, the program can initiate the next network request. The “PortCommunication Error” bit turns on when the PLC has detected an error. Use of this bit isoptional. When used, it should be ahead of any network instruction boxes since the error bitis reset when an MRX or MWX instruction is executed.
Typically, network communications will last longer than 1 CPU scan. The program must waitfor the communications to finish before starting the next transaction.
NOTE: See Chapter 4, page 4-21, for an RLL example using multiple Read and Write interlocks withMRX/MWX instructions.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–209
Chapter 5: Standard RLL Instructions - MODBUS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Instruction Interlock bitC100
MWX Port Number: K2 Slave Address: K6 Function Code: 06-Preset Single Register Start Slave Memory Address: 40001 Start Master Memory Address: V2000 Number of Elements: n/a Modbus Data type: 584/984 Mode Exception Response Buffer: V400
SP116 C100
This rung does a MODBUS write to the first holding register 40001 of slave addressnumber six. It will write the values over that reside in V2000. This particular function code only writes to 1 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.
3
Port 2 busy bit Instruction Interlock bit
2
RST
X1 C100SET
ASCII InstructionsThe DL06 CPU supports several instructions and methods that allow ASCII strings to beread into and written from the PLC communications ports. Specifically, port 2 on the DL06can be used for either reading or writing raw ASCII strings, but cannot be used for both atthe same time. The DL06 can also decipher ASCII embedded within a supported protocol(K–Sequence, DirectNet, Modbus) via the CPU port.
Reading ASCII Input StringsThere are several methods that the DL06 can use to read ASCII input strings.
1) ASCII IN (AIN) – This instruction configures port 2 for raw ASCII input strings withparameters such as fixed and variable length ASCII strings, termination characters, byteswapping options, and instruction control bits. Use barcode scanners, weight scales, etc. towrite raw ASCII input strings into port 2 based on the (AIN) instruction’s parameters.
2) Write embedded ASCII strings directly to V–memory from an external HMI or similarmaster device via a supported communications protocol using the CPU ports. The AINinstruction is not used in this case. 3) If a DL06 PLC is a master on a network, theNetwork Read instruction (RX) can be used to read embedded ASCII data from a slavedevice via a supported communications protocol using port 2. The RX instruction placesthe data directly into V–memory.
Writing ASCII Output StringsThe following instructions can be used to write ASCII output strings:
1) Print from V–memory (PRINTV) – Use this instruction to write raw ASCII strings out ofport 2 to a display panel or a serial printer, etc. The instruction features the startingV–memory address, string length, byte swapping options, etc. When the instruction’spermissive bit is enabled, the string is written to port 2.
2) Print to V–memory (VPRINT) – Use this instruction to create pre–coded ASCII strings inthe PLC (i.e. alarm messages). When the instruction’s permissive bit is enabled, themessage is loaded into a pre–defined V–memory address location. Then the (PRINTV)instruction may be used to write the pre–coded ASCII string out of port 2. American,European and Asian Time/Date stamps are supported.
Additionally, if a DL06 PLC is a master on a network, the Network Write instruction (WX)can be used to write embedded ASCII data to an HMI or slave device directly fromV–memory via a supported communications protocol using port 2.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–210
Chapter 5: Standard RLL Instructions - ASCII
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Managing the ASCII StringsThe following instructions can be helpful in managing the ASCII strings within the CPUsV–memory:
• ASCII Find (AFIND) – Finds where a specific portion of the ASCII string is located incontinuous V–memory addresses. Forward and reverse searches are supported.
• ASCII Extract (AEX) – Extracts a specific portion (usually some data value) from the ASCIIfind location or other known ASCII data location.
• Compare V–memory (CMPV) – This instruction is used to compare two blocks ofV–memory addresses and is usually used to detect a change in an ASCII string. Compareddata types must be of the same format (i.e., BCD, ASCII, etc.).
• Swap Bytes (SWAPB) – usually used to swap V–memory bytes on ASCII data that waswritten directly to V–memory from an external HMI or similar master device via acommunications protocol. The AIN and AEX instructions have a built–in byte swapfeature.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–211
Chapter 5: Standard RLL Instructions - ASCII
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–212
Chapter 5: Standard RLL Instructions - ASCII
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ASCII Input (AIN)The ASCII Input instruction allows the CPU to receive ASCII strings through the specifiedcommunications port and places the string into a series of specified V–memory registers. TheASCII data can be received as a fixed number of bytes or as a variable length string withspecified termination character(s). Other features include, Byte Swap preferences, CharacterTimeout, and user defined flag bits for Busy, Complete and Timeout Error. AIN Fixed Length Configuration
• Length Type: select fixedlength based on the length ofthe ASCII string that will besent to the CPU port
• Port Number: must be DL06port 2 (K2)
• Data Destination: specifieswhere the ASCII string will beplaced in V–memory
• Fixed Length: specifies thelength, in bytes, of the fixedlength ASCII string the portwill receive
• Inter–character Timeout: ifthe amount of time betweenincoming ASCII charactersexceeds the set time, thespecified Timeout Error bit willbe set. No data will be stored at the Data Destination V–memory location. The bit will resetwhen the AIN instruction permissive bits are disabled. 0ms selection disables this feature.
• First Character Timeout: if the amount of time from when the AIN is enabled to the timethe first character is received exceeds the set time, the specified First Character Timeout bitwill be set. The bit will reset when the AIN instruction permissive bits are disabled. 0msselection disables this feature.
• Byte Swap: swaps the high–byte and low–byte within each V–memory register of the FixedLength ASCII string. See the SWAPB instruction for details.
• Busy Bit: is ON while the AIN instruction is receiving ASCII data
• Complete Bit: is set once the ASCII data has been received for the specified fixed lengthand reset when the AIN instruction permissive bits are disabled.
• Inter–character Timeout Error Bit: is set when the Character Timeout is exceeded. SeeCharacter Timeout explanation above.
• First Character Timeout Error Bit: is set when the First Character Timeout is exceeded. SeeFirst Character Timeout explanation above.
DS Used
HPP N/A
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–213
Chapter 5: Standard RLL Instructions - ASCII
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter Data Destination All V–memoryFixed Length K1–128Bits: Busy, Complete,
Timeout Error, Overflow C0–3777
AIN Fixed Length Examples
Fixed Length example when the PLC is reading the port continuously and timing is not critical
Fixed Length example when character to character timing is critical
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–214
Chapter 5: Standard RLL Instructions - ASCII
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
AIN Variable Length Configuration:
• Length Type: select Variable Lengthif the ASCII string length followedby termination characters will varyin length
• Port Number: must be DL06 port 2(K2)
• Data Destination: specifies wherethe ASCII string will be placed inV–memory
• Maximum Variable Length:specifies, in bytes, the maximumlength of a Variable Length ASCIIstring the port will receive
• Inter–character Timeout: if theamount of time between incomingASCII characters exceeds the settime, the Timeout Error bit will beset. No data will be stored at theData Destination V–memory location. The Timeout Error bit will reset when the AINinstruction permissive bits are disabled. 0ms selection disables this feature.
• First Character Timeout: if the amount of time from when the AIN is enabled to the timethe first character is received exceeds the set time, the specified First Character Timeout bitwill be set. The bit will reset when the AIN instruction permissive bits are disabled. 0msselection disables this feature.
• Byte Swap: swaps the high–byte and low–byte within each V–memory register of theVariable Length ASCII string. See the SWAPB instruction for details.
• Termination Code Length: consists of either 1 or 2 characters. Refer to Appendix G, ASCIITable.
• Busy Bit: is ON while the AIN instruction is receiving ASCII data
• Complete Bit: is set once the ASCII data has been received up to the termination codecharacters. It will be reset when the AIN instruction permissive bits are disabled.
• Inter–character Timeout Error Bit: is set when the Character Timeout is exceeded. SeeCharacter Timeout explanation above.
• First Character Timeout Error Bit: is set when the First Character Timeout is exceeded. SeeFirst Character Timeout explanation above.
• Overflow Error Bit: is set when the ASCII data received exceeds the Maximum VariableLength specified.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–215
Chapter 5: Standard RLL Instructions - ASCII
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
AIN Variable Length Example
AIN variable length example used to read barcodes on boxes (PE = photoelectric sensor)
Parameter Data Destination All V–memoryFixed Length K1–128Bits: Busy, Complete,
Timeout Error, Overflow C0–3777
ASCII Find (AFIND)The ASCII Find instruction locates a specific ASCII string or portion of an ASCII stringwithin a range of V–memory registers and places the string’s Found Index number (bytenumber where desired string is found), in Hex, into a specified V–memory register. Otherfeatures include, Search Starting Index number for skipping over unnecessary bytes beforebeginning the FIND operation, Forward or Reverse direction search, and From Beginningand From End selections to reference the Found Index Value.
• Base Address: specifies the beginning V–memory register where the entire ASCII string isstored in memory
• Total Number of Bytes: specifies the total number of bytes to search for the desired ASCIIstring
• Search Starting Index: specifies which byte to skip to (with respect to the Base Address)before beginning the search
• Direction: Forward begins the search from lower numbered V–memory registers to highernumbered V–memory registers. Reverse does the search from higher numbered V–memoryregisters to lower numbered V–memory registers.
• Found Index Value: specifies whether the Beginning or the End byte of the ASCII stringfound will be loaded into the Found Index register
• Found Index: specifies the V–memory register where the Found Index Value will be stored.A value of FFFF will result if the desired string is not located in the memory registersspecified.
• Search for String: up to 128 characters.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–216
Chapter 5: Standard RLL Instructions - ASCII
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeBase Address All V–memoryTotal Number of Bytes All V–memory or K1–128Search Starting Index All V–memory or K0–127Found Index All V–memory
DS Used
HPP N/A
AFIND Search ExampleIn the following example, the AFIND instruction is used to search for the “day” portion of“Friday” in the ASCII string “Today is Friday.”, which had previously been loaded intoV–memory. Note that a Search Starting Index of constant (K) 5 combined with a ForwardDirection Search is used to prevent finding the “day” portion of the word “Today”. TheFound Index will be placed into V4000.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–217
Chapter 5: Standard RLL Instructions - ASCII
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Base Address Today
s
Friday.
54h6Fh64h61h79h20h69h73h20h46h72h69h64h61h79h2Eh
Low
Low
Low
Low
Low
Low
Low
Low
High
High
High
High
High
High
High
High
V3000
V3001
V3002
V3003
V3004
V3005
V3006
V3007
i
Reverse Direction Search
Forward Direction Search
0
32
654
1
789
101112131415
Search start Index Number
Beginning Index Number
End Index Number
Found Index Number = V40000012
ASCII CharactersHEX Equivalent
AFIND Example Combined with AEX InstructionWhen an AIN instruction has executed, its Complete bit can be used to trigger an AFINDinstruction to search for a desired portion of the ASCII string. Once the string is found, theAEX instruction can be used to extract the located string.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–218
Chapter 5: Standard RLL Instructions - ASCII
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
AIN CompleteC1
Give delay time forAFIND instruction to complete
C7
Give delay time forAFIND instruction to complete
Give delay time forAFIND instruction to complete
Give delay time forAFIND instruction to complete
Delay forAFIND to complete
Give delay time forAFIND instruction to complete
Delay time forAFIND to complete
T0
C10
Search string not foundin tableV2200 Kffff
Data not found withAFIND
C7
C7
C7
C10
SET
SET
RST
TMR
T0
K2
RST
AEX
Source Base Address: V2001Extract at Index: K0Number of Bytes: K4Shift ASCII Option: NoneByte Swap: AllConvert ASCII: To BCD (HEX)Destination Base Address: V3000
AFIND
Base Address: V2001Total Number of Bytes: K32Search Starting Index: K0Direction: ForwardFound Index Value: From BeginningFound Index: V2200Code 39
Data not found with AFIND
15
16
17
18
C7
ASCII Extract (AEX)The ASCII Extract instruction extracts a specified number of bytes of ASCII data from oneseries of V–memory registers and places it into another series of V–memory registers. Otherfeatures include, Extract at Index for skipping over unnecessary bytes before beginning theExtract operation, Shift ASCII Option, for One Byte Left or One Byte Right, Byte Swap andConvert data to a BCD format number.
• Source Base Address: specifies the beginning V–memory register where the entire ASCIIstring is stored in memory
• Extract at Index: specifies which byte to skip to (with respect to the Source Base Address)before extracting the data
• Number of Bytes: specifies the number of bytes to be extracted
• Shift ASCII Option: shifts all extracted data one byte left or one byte right to displace“unwanted” characters if necessary
• Byte Swap: swaps the high–byte and the low–byte within each V–memory register of theextracted data. See the SWAPB instruction for details.
• Convert BCD(Hex) ASCII to BCD (Hex): if enabled, this will convert ASCII numericalcharacters to Hexadecimal numerical values
• Destination Base Address: specifies the V–memory register where the extracted data will bestored
See the previous page for an example using the AEX instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–219
Chapter 5: Standard RLL Instructions - ASCII
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeSource Base Address All V–memoryExtract at Index All V–memory or K0–127
Number of Bytes“Convert BCD (HEX) ASCII” not checked
Constant range: K1–128
V-memory locationcontaining BCD value:1–128
Number of Bytes“Convert BCD (HEX) ASCII”checked
Constant range: K1–4
V-memory locationcontaining BCD value:1–4
Destination BaseAddress All V–memory
DS Used
HPP N/A
ASCII Compare (CMPV)The ASCII Compare instruction comparestwo groups of V–memory registers. TheCMPV will compare any data type (ASCII toASCII, BCD to BCD, etc.) of one series(group) of V–memory registers to anotherseries of V–memory registers for a specifiedbyte length.
• “Compare from” Starting Address: specifiesthe beginning V–memory register of thefirst group of V–memory registers to becompared from.
• “Compare to” Starting Address: specifies thebeginning V–memory register of the secondgroup of V–memory registers to becompared to.
• Number of Bytes: specifies the length ofeach V–memory group to be compared
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–220
Chapter 5: Standard RLL Instructions - ASCII
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeCompare from Starting Address All V–memoryCompare to Starting Address All V–memory Number of Bytes K0–127
Strings are equal
C1
OUT
AIN Complete
CMPV
"Compare from" Starting Address: V2001"Compare to" Starting Address: V10001Number of Bytes: K32
C11SP61
CMPV Example
The CMPV instruction executes when the AIN instruction is complete. If the comparedV–memory tables are equal, SP61 will turn ON.
DS Used
HPP N/A
SP61 = 1, the result is equalSP61 = 0, the result is not equal
ASCII Print to V–memory (VPRINT)The ASCII Print to V–memoryinstruction will write a specified ASCIIstring into a series of V–memoryregisters. Other features include ByteSwap, options to suppress or convertleading zeros or spaces, and _Date and_Time options for U.S., European, andAsian date formats and 12 or 24 hourtime formats.
• Byte Swap: swaps the high–byte andlow–byte within each V–memoryregister the ASCII string is printed to.See the SWAPB instruction for details.
• Print to Starting V–memory Address:specifies the beginning of a series ofV–memory addresses where the ASCIIstring will be placed by the VPRINTinstruction.
• Starting V–memory Address: the firstV–memory register of the series ofregisters specified will contain theASCII string’s length in bytes.
• Starting V–memory Address +1: the2nd and subsequent registers willcontain the ASCII string printed toV–memory.
VPRINT Time/Date Stamping– the codes in the table below can be used in the VPRINTASCII string message to “print to V–memory” the current time and/or date.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–221
Chapter 5: Standard RLL Instructions - ASCII
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
# Character code Date / Time Stamp Options1 _date:us American standard (month/day/2 digit year)2 _date:e European standard (day/month/2 digit year)3 _date:a Asian standard (2 digit year/month/day)4 _time:12 standard 12 hour clock (0–12 hour:min am/pm)5 _time:24 standard 24 hour clock (0–23 hour:min am/pm)
Parameter DL06 RangePrint to Starting V–memory Address All V–memory
DS Used
HPP N/A
VPRINT V-memory element – the following modifiers can be used in the VPRINT ASCIIstring message to “print to V–memory” register contents in integer format or real format. UseV-memory number or V-memory number with “:” and data type. The data types are shownin the table below. The Character code must be capital letters.
NOTE: There must be a space entered before and after the V-memory address to separate it from thetext string. Failure to do this will result in an error code 499.
Examples:
V2000 Print binary data in V2000 for decimal number
V2000 : B Print BCD data in V2000
V2000 : D Print binary number in V2000 and V2001 for decimal number
V2000 : D B Print BCD data in V2000 and V2001
V2000 : R Print floating point number in V2000/V2001 as real number
V2000 : E Print floating point number in V2000/V2001 as real number with exponent
The following modifiers can be added to any of the modifies above to suppress or convertleading zeros or spaces. The character code must be capital letters.
Example with V2000 = 0018 (binary format)
Example with V2000 = sp sp18 (binary format) where sp = space
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–222
Chapter 5: Standard RLL Instructions - ASCII
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
V–memory Registerwith Modifier
Number of Characters1 2 3 4
V2000 sp sp 1 8V2000:B sp sp 1 2V2000:BS 1 2V2000:BC0 0 0 1 2
V–memory Registerwith Modifier
Number of Characters1 2 3 4
V2000 0 0 1 8V2000:B 0 0 1 2V2000:B0 1 2
# Character code Description1 S Suppresses leading spaces2 C0 Converts leading spaces to zeros3 0 Suppresses leading zeros
# Character code Description1 none 16-bit binary (decimal number)2 : B 4 digit BCD3 : D 32-bit binary (decimal number)4 : D B 8 digit BCD5 : R Floating point number (real number)6 : E Floating point number (real number with exponent)
VPRINT V-memory text element – the following is used for “printing to V–memory” textstored in registers. Use the % followed by the number of characters after V-memory numberfor representing the text. If you assign “0” as the number of characters, the function will readthe character count from the first location. Then it will start at the next V-memory locationand read that number of ASCII codes for the text from memory.
Example:
V2000 % 16 16 characters in V2000 to V2007 are printed.
V2000 % 0 The characters in V2001 to Vxxxx (determined by the number in V2000) will beprinted.VPRINT Bit element – the following is used for “printing to V–memory” the state of thedesignated bit in V-memory or a control relay bit. The bit element can be assigned by thedesignating point (.) and bit number preceded by the V-memory number or relay number.The output type is described as shown in the table below.
Example:
V2000 . 15 Prints the status of bit 15 in V2000, in 1/0 format
C100 Prints the status of C100 in 1/0 format
C100 : BOOL Prints the status of C100 in TRUE/FALSE format
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
The maximum numbers of characters you can VPRINT is 128. The number of charactersrequired for each element, regardless of whether the :S, :C0 or :0 modifiers are used, is listedin the table below.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–223
Chapter 5: Standard RLL Instructions - ASCII
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Element type MaximumCharacters
Text, 1 character 116 bit binary 632 bit binary 114 digit BCD 48 digit BCD 8Floating point (real number) 3Floating point (real with exponent) 13V-memory/text 2Bit (1/0 format) 1Bit (TRUE/FALSE format) 5Bit (ON/OFF format) 3
# Data format Description1 none Print 1 for an ON state, and 0 for an OFF state2 : BOOL Print “TRUE” for an ON state, and “FALSE” for an OFF state3 : ONOFF Print “ON” for an ON state, and “OFF” for an OFF state
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–224
Chapter 5: Standard RLL Instructions - ASCII
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Text element – the following is used for “printing to V–memory” character strings. Thecharacter strings are defined as the character (more than 0) ranged by the double quotationmarks. Two hex numbers preceded by the dollar sign means an 8-bit ASCII character code.Also, two characters preceded by the dollar sign is interpreted according to the followingtable:
The following examples show various syntax conventions and the length of the output to theprinter.
In printing an ordinary line of text, you will need to include double quotation marks beforeand after the text string. Error code 499 will occur in the CPU when the print instructioncontains invalid text or no quotations. It is important to test your VPRINT instruction dataduring the application development.
# Character code Description1 $$ Dollar sign ($)2 $” Double quotation (”)3 $Lor $l Line feed (LF)4 $N or $n Carriage return line feed (CRLF)5 $P or $p Form feed6 $R or $r Carriage return (CR)7 $T or $t Tab
” ” Length 0 without character”A” Length 1 with character A” ” Length 1 with blank” $” ” Length 1 with double quotation mark” $ R $ L ” Length 2 with one CR and one LF” $ 0 D $ 0 A ” Length 2 with one CR and one LF” $ $ ” Length 1 with one $ mark
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–225
Chapter 5: Standard RLL Instructions - ASCII
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
The VPRINT instruction is used to create a string in V–memory. The PRINTV is used to print the string outof port 2.
VPRINT Example Combined with PRINTV Instruction
Delay Permissive for
RST
Delay permissive for VPRINT
Create String Permissive
SET
PRINTV Port Number: K2 Start Address: V4001 Number of Bytes: V4000 Append: None Byte Swap: None Busy: C15 Complete: C16
VPRINTC13
TMR
Delay for VPRINT to complete T1
K10Delay for Vprint to complete T1
Delay permissive for VPRINT
C13
C12
C13
VPRINT Byte Swap: All "Print to" Address V4000
"STX" V3000:B"$0D"
28
29
30
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–226
Chapter 5: Standard RLL Instructions - ASCII
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ASCII Print from V–memory (PRINTV)The ASCII Print from V–memory instruction will send an ASCII string out of the designatedcommunications port from a specified series of V–memory registers for a specified length innumber of bytes. Other features include user specified Append Characters to be placed afterthe desired data string for devices that require specific termination character(s), Byte Swapoptions, and user specified flags for Busy and Complete.
• Port Number: must be DL06 port 2 (K2)
• Start Address: specifies the beginning ofseries of V–memory registers that containthe ASCII string to print
• Number of Bytes: specifies the length ofthe string to print
• Append Characters: specifies ASCIIcharacters to be added to the end of thestring for devices that require specifictermination characters
• Byte Swap: swaps the high–byte andlow–byte within each V–memory registerof the string while printing. See theSWAPB instruction for details.
• Busy Bit: will be ON while theinstruction is printing ASCII data
• Complete Bit: will be set once the ASCIIdata has been printed and reset when thePRINTV instruction permissive bits aredisabled.
See the previous page for an example usingthe PRINTV instruction.
Parameter DL06 RangePort Number port 2 (K2)Start Address All V–memory
Number of Bytes All V–memory or k1–128Bits: Busy, Complete C0–3777
DS Used
HPP N/A
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–227
Chapter 5: Standard RLL Instructions - ASCII
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ASCII Swap Bytes (SWAPB)The ASCII Swap Bytes instruction swaps byte positions (high–byte to low–byte and low–byteto high–byte) within each V–memory register of a series of V–memory registers for a specifiednumber of bytes.
• Starting Address: specifies the beginning of a series ofV–memory registers the instruction will use to beginbyte swapping
• Number of Bytes: specifies the number of bytes,beginning with the Starting Address, to byte swap.
• Byte Swap:All - swap all bytes specified.All but null - swap all bytes specified except the bytes with a null
Byte Swap Preferences
DS Used
HPP N/A
A B C D E xxV2477V2500V2501V2502
ByteHigh Low0005hB AD Cxx E
No Byte Swapping(AIN, AEX, PRINTV, VPRINT)
B A D C xx E
A B C D E xx
A B C D E xx
B A D C E xx
V2477V2500V2501V2502
V2477V2500V2501V2502
0005hA BC DE xx
0005hB AD Cxx E
ByteHigh Low
ByteHigh Low
Byte Swap All
Byte Swap All but Null
Discrete Bit Flags DescriptionSP53 On if the CPU cannot execute the instruction.SP71 On when a value used by the instruction is invalid.
Parameter DL06 RangeStarting Address All V–memoryNumber of Bytes All V–memory or K1–128
SWAPB Example
The AIN Complete bit is used to trigger the SWAPB instruction. Use a one–shot so theSWAPB only executes once.
ASCII Clear Buffer (ACRB)The ASCII Clear Buffer instruction will clear the ASCII receive buffer of the specifiedcommunications port number. Port Number: must be DL06 port 2 (K2)
ACRB Example
The AIN Complete bit or the AIN diagnostic bits are used to clear the ASCII buffer.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–228
Chapter 5: Standard RLL Instructions - ASCII
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–229
Chapter 5: Standard RLL Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
This page intentionally left blank.
Intelligent Box (IBox) InstructionsThe Intelligent Box Instructions (IBox) listed in this section are additional instructions madeavailable when using DirectSOFT to program your DL06 PLC (the DL06 CPU requiresfirmware version v2.10 or later to use the new features in DirectSOFT). For moreinformation on DirectSOFT and to download a free demo version, please visit our Web siteat: www.automationdirect.com.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–230
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Analog Helper IBoxesInstruction Ibox # Page
Analog Input / Output Combo Module Pointer Setup (ANLGCMB) IB-462 5-232Analog Input Module Pointer Setup (ANLGIN) IB-460 5-234Analog Output Module Pointer Setup (ANLGOUT) IB-461 5-236Analog Scale 12 Bit BCD to BCD (ANSCL) IB-423 5-238Analog Scale 12 Bit Binary to Binary (ANSCLB) IB-403 5-239Filter Over Time - BCD (FILTER) IB-422 5-240Filter Over Time - Binary (FILTERB) IB-402 5-242Hi/Low Alarm - BCD (HILOAL) IB-421 5-244Hi/Low Alarm - Binary (HILOALB) IB-401 5-246
Discrete Helper IBoxesInstruction Ibox # Page
Off Delay Timer (OFFDTMR) IB-302 5-248On Delay Timer (ONDTMR) IB-301 5-250One Shot (ONESHOT) IB-303 5-252Push On / Push Off Circuit (PONOFF) IB-300 5-253
Memory IBoxesInstruction Ibox # Page
Move Single Word (MOVEW) IB-200 5-254Move Double Word (MOVED) IB-201 5-255
Math IBoxesInstruction Ibox # Page
BCD to Real with Implied Decimal Point (BCDTOR) IB-560 5-256Double BCD to Real with Implied Decimal Point (BCDTORD) IB-562 5-257Math - BCD (MATHBCD) IB-521 5-258Math - Binary (MATHBIN) IB-501 5-260Math - Real (MATHR) IB-541 5-262Real to BCD with Implied Decimal Point and Rounding (RTOBCD) IB-561 5-263Real to Double BCD with Implied Decimal Point and Rounding (RTOBCDD) IB-563 5-264Square BCD (SQUARE) IB-523 5-265Square Binary (SQUAREB) IB-503 5-266Square Real(SQUARER) IB-543 5-267Sum BCD Numbers (SUMBCD) IB-522 5-268Sum Binary Numbers (SUMBIN) IB-502 5-269Sum Real Numbers (SUMR) IB-542 5-270
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–231
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Communication IBoxesInstruction Ibox # Page
ECOM100 Configuration (ECOM100) IB-710 5-272ECOM100 Disable DHCP (ECDHCPD) IB-736 5-274ECOM100 Enable DHCP (ECDHCPE) IB-735 5-276ECOM100 Query DHCP Setting (ECDHCPQ) IB-734 5-278ECOM100 Send E-mail (ECEMAIL) IB-711 5-280ECOM100 Restore Default E-mail Setup (ECEMRDS) IB-713 5-283ECOM100 E-mail Setup (ECEMSUP) IB-712 5-286ECOM100 IP Setup (ECIPSUP) IB-717 5-290ECOM100 Read Description (ECRDDES) IB-726 5-292ECOM100 Read Gateway Address (ECRDGWA) IB-730 5-294ECOM100 Read IP Address (ECRDIP) IB-722 5-296ECOM100 Read Module ID (ECRDMID) IB-720 5-298ECOM100 Read Module Name (ECRDNAM) IB-724 5-300ECOM100 Read Subnet Mask (ECRDSNM) IB-732 5-302ECOM100 Write Description (ECWRDES) IB-727 5-304ECOM100 Write Gateway Address (ECWRGWA) IB-731 5-306ECOM100 Write IP Address (ECWRIP) IB-723 5-308ECOM100 Write Module ID (ECWRMID) IB-721 5-310ECOM100 Write Name (ECWRNAM) IB-725 5-312ECOM100 Write Subnet Mask (ECWRSNM) IB-733 5-314ECOM100 RX Network Read (ECRX) IB-740 5-316ECOM100 WX Network Write(ECWX) IB-741 5-319NETCFG Network Configuration (NETCFG) IB-700 5-322Network RX Read (NETRX) IB-701 5-324Network WX Write (NETWX) IB-702 5-327
Counter I/O IBoxes (Works with H0-CTRIO and H0-CTRIO2)Instruction Ibox # Page
CTRIO Configuration (CTRIO) IB-1000 5-330CTRIO Add Entry to End of Preset Table (CTRADPT) IB-1005 5-332CTRIO Clear Preset Table (CTRCLRT) IB-1007 5-335CTRIO Edit Preset Table Entry (CTREDPT) IB-1003 5-338CTRIO Edit Preset Table Entry and Reload (CTREDRL) IB-1002 5-342CTRIO Initialize Preset Table (CTRINPT) IB-1004 5-346CTRIO Initialize Preset Table (CTRINTR) IB-1010 5-350CTRIO Load Profile (CTRLDPR) IB-1001 5-354CTRIO Read Error (CTRRDER) IB-1014 5-357CTRIO Run to Limit Mode (CTRRTLM) IB-1011 5-359CTRIO Run to Position Mode (CTRRTPM) IB-1012 5-362CTRIO Velocity Mode (CTRVELO) IB-1013 5-365CTRIO Write File to ROM (CTRWFTR) IB-1006 5-368
Analog Input/Output Combo Module Pointer Setup (ANLGCMB) (IB-462)The Analog Input/Output Combo Module Pointer Setup instruction generates the logic toconfigure the pointer method for an analog input/output combination module on the firstPLC scan following a Program to Run transition.
The ANLGCMB IBox instructiondetermines the data format and Pointeraddresses based on the CPU type, theBase# and the module Slot#.
The Input Data Address is the startinglocation in user V-memory where theanalog input data values will be stored,one location for each input channelenabled.
The Output Data Address is the startinglocation in user V-memory where theanalog output data values will be placedby ladder code or external device, onelocation for each output channel enabled.
Since the IBox logic only executes on the first scan, the instruction cannot have any input logic.
ANLGCMB Parameters• Base # (K0-Local): must be 0 for DL06 PLC
• Slot #: specifies which PLC option slot is occupied by the analog module (1–4)
• 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) - thebinary 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 analoginput data
• 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 orBinary)
• Output Data Address: specifies the starting V-memory location that will be used to source theanalog output data
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–232
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeBase # (K0-Local) . . . . . . . . . . . . . . . . . . . . . . . K K0 (local base only)Slot # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K1-4Number of Input Channels . . . . . . . . . . . . . . . . K K1-8Input Data Format (0-BCD 1-BIN) . . . . . . . . . . . K BCD: K0; Binary: K1Input Data Address . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsNumber of Output Channels . . . . . . . . . . . . . . . K K1-8Output Data Format (0-BCD 1-BIN) . . . . . . . . . K BCD: K0; Binary: K1 Output Data Address . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
ANLGCMB ExampleIn the following example, the ANLGCMB instruction is used to setup the pointer methodfor an analog I/O combination module that is installed in option slot 2. Four input channelsare enabled and the analog data will be written to V2000 - V2003 in BCD format. Twooutput channels are enabled and the analog values will be read from V2100 - V2101 in BCDformat.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–233
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Permissive contacts or input logiccannot be used with this
instruction.
Analog Input Module Pointer Setup (ANLGIN) (IB-460)Analog Input Module Pointer Setup generates the logic to configure the pointer method forone analog input module on the first PLC scan following a Program to Run transition.
This IBox determines the data formatand Pointer addresses based on theCPU type, the Base#, and the Slot#.
The Input Data Address is the startinglocation in user V-memory where theanalog input data values will be stored,one location for each input channelenabled.
Since this logic only executes on thefirst scan, this IBox cannot have anyinput logic.
ANLGIN Parameters• Base # (K0-Local): must be 0 for DL06 PLC
• Slot #: specifies which PLC option slot is occupied by the analog module (1–4)
• Number of Input Channels: specifies the number of input channels to scan
• Input Data Format (0-BCD 1-BIN): specifies the analog input data format (BCD or Binary) - thebinary 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 analoginput data
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–234
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeBase # (K0-Local) . . . . . . . . . . . . . . . . . . . . . . . K K0 (local base only)Slot # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K1-4Number of Input Channels . . . . . . . . . . . . . . . . K K1-8Input Data Format (0-BCD 1-BIN) . . . . . . . . . . . K BCD: K0; Binary: K1Input Data Address . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
ANLGIN ExampleIn the following example, the ANLGIN instruction is used to setup the pointer method foran analog input module that is installed in option slot 1. Eight input channels are enabledand the analog data will be written to V2000 - V2007 in BCD format.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–235
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Permissive contacts or input logiccannot be used with this instruction.
Analog Output Module Pointer Setup (ANLGOUT) (IB-461)Analog Output Module Pointer Setup generates the logic to configure the pointer method forone analog output module on the first PLC scan following a Program to Run transition.
This IBox determines the data formatand Pointer addresses based on theCPU type, the Base#, and the Slot#.
The Output Data Address is thestarting location in user V-memorywhere the analog output data valueswill be placed by ladder code orexternal device, one location for eachoutput channel enabled.
Since this logic only executes on thefirst scan, this IBox cannot have anyinput logic.
ANLGOUT Parameters• Base # (K0-Local): must be 0 for DL06 PLC
• Slot #: specifies which PLC option slot is occupied by the analog module (1–4)
• 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 orBinary)
• Output Data Address: specifies the starting V-memory location that will be used to source theanalog output data
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–236
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeBase # (K0-Local) . . . . . . . . . . . . . . . . . . . . . . . K K0 (local base only)Slot # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K1-4Number of Output Channels . . . . . . . . . . . . . . . K K1-8Output Data Format (0-BCD 1-BIN). . . . . . . . . . K BCD: K0; Binary: K1 Output Data Address . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
ANLGOUT ExampleIn the following example, the ANLGOUT instruction is used to setup the pointer methodfor an analog output module that is installed in option slot 3. Two output channels areenabled and the analog data will be read from V2100 - V2101 in BCD format.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–237
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Permissive contacts or input logic cannotbe used with this instruction.
Analog Scale 12 Bit BCD to BCD (ANSCL) (IB-423)Analog Scale 12 Bit BCD to BCD scales a 12 bit BCD analog value (0-4095 BCD) intoBCD engineering units. You specify the engineering unit high value (when raw is 4095), andthe engineering low value (when raw is 0), andthe output V-Memory address you want the toplace the scaled engineering unit value. Theengineering units are generated as BCD andcan be the full range of 0 to 9999 (seeANSCLB - Analog Scale 12 Bit Binary toBinary if your raw units are in Binary format).
Note that this IBox only works with unipolarunsigned raw values. It does NOT work withbipolar or sign plus magnitude raw values.
ANSCL Parameters• Raw (0-4095 BCD): specifies the V-memory location of the unipolar unsigned raw 0-4095unscaled value
• High Engineering: specifies the high engineering value when the raw input is 4095
• Low Engineering: specifies the low engineering value when the raw input is 0
• Engineering (BCD): specifies the V-memory location where the scaled engineering BCD value willbe placed
ANSCL ExampleIn the following example, the ANSCL instruction is used to scale a raw value (0-4095 BCD)that is in V2000. The engineering scaling range is set 0-100 (low engineering value - highengineering value). The scaled value will be placed in V2100 in BCD format.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–238
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeRaw (0-4095 BCD) . . . . . . . . . . . . . . . . . . . . . V,P See DL06 V-memory map - Data WordsHigh Engineering . . . . . . . . . . . . . . . . . . . . . . . . K K0-9999Low Engineering . . . . . . . . . . . . . . . . . . . . . . . . K K0-9999Engineering (BCD). . . . . . . . . . . . . . . . . . . . . . V,P See DL06 V-memory map - Data Words
1
Analog Scale 12 Bit Binary to Binary (ANSCLB) (IB-403)Analog Scale 12 Bit Binary to Binary scales a 12 bit binary analog value (0-4095 decimal)into binary (decimal) engineering units. You specify the engineering unit high value (whenraw is 4095), and the engineering low value(when raw is 0), and the output V-Memoryaddress you want to place the scaledengineering unit value. The engineering unitsare generated as binary and can be the fullrange of 0 to 65535 (see ANSCL - AnalogScale 12 Bit BCD to BCD if your raw unitsare in BCD format).
Note that this IBox only works with unipolarunsigned raw values. It does NOT work withbipolar, sign plus magnitude, or signed 2'scomplement raw values.
ANSCLB Parameters• Raw (12 bit binary): specifies the V-memory location of the unipolar unsigned raw decimalunscaled value (12 bit binary = 0-4095 decimal)
• High Engineering: specifies the high engineering value when the raw input is 4095 decimal
• Low Engineering: specifies the low engineering value when the raw input is 0 decimal
• Engineering (binary): specifies the V-memory location where the scaled engineering decimal valuewill be placed
ANSCLB ExampleIn the following example, the ANSCLB instruction is used to scale a raw value (0-4095binary) that is in V2000. The engineering scaling range is set 0-1000 (low engineering value -high engineering value). The scaled value will be placed in V2100 in binary format.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–239
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeRaw (12 bit binary) . . . . . . . . . . . . . . . . . . . . V,P See DL06 V-memory map - Data WordsHigh Engineering . . . . . . . . . . . . . . . . . . . . . . . . K K0-65535Low Engineering . . . . . . . . . . . . . . . . . . . . . . . . K K0-65535Engineering (binary) . . . . . . . . . . . . . . . . . . . . V,P See DL06 V-memory map - Data Words
DS Used
HPP N/A
1
Filter Over Time - BCD (FILTER) (IB-422)Filter Over Time BCD will perform a first-order filter on the Raw Data on a defined timeinterval. The equation is:
New = Old + [(Raw - Old) / FDC] where,
New: New Filtered Value
Old: Old Filtered Value
FDC: Filter Divisor Constant
Raw: Raw Data
The Filter Divisor Constant is an integer inthe range K1 to K100, such that if it equaledK1 then no filtering would be done.
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 isembedded in the IBox and must NOT be used anywhere else in your program. Power flowcontrols 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 thecalculation a consistent starting point.
FILTER Parameters• 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
• Raw Data (BCD): specifies the V-memory location of the raw unfiltered BCD value
• Filter Divisor (1-100): this constant used to control the filtering effect. A larger value will increasethe smoothing effect of the filter. A value of 1 results with no filtering.
• Filtered Value (BCD): specifies the V-memory location where the filtered BCD value will be placed
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–240
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeFilter Frequency Timer . . . . . . . . . . . . . . . . . . . T T0-377Filter Frequency Time (0.01 sec) . . . . . . . . . . . K K0-9999Raw Data (BCD) . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsFilter Divisor (1-100) . . . . . . . . . . . . . . . . . . . . . K K1-100Filtered Value (BCD) . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
FILTER ExampleIn 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. Thefilter constant is set to 2. A larger value will increase the smoothing effect of the filter. A valueof 1 results with no filtering. The filtered value will be placed in V2100.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–241
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
1
Filter Over Time - Binary (FILTERB) (IB-402)Filter Over Time in Binary (decimal) will perform a first-order filter on the Raw Data on adefined time interval. The equation is
New = Old + [(Raw - Old) / FDC] where
New: New Filtered Value
Old: Old Filtered Value
FDC: Filter Divisor Constant
Raw: Raw Data
The Filter Divisor Constant is an integer in therange K1 to K100, such that if it equaled K1then no filtering would be done.
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 isembedded in the IBox and must NOT be used any other place in your program. Power flowcontrols 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 thecalculation a consistent starting point.
FILTERB Parameters• 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
• Raw Data (Binary): specifies the V-memory location of the raw unfiltered binary (decimal) value
• Filter Divisor (1-100): this constant used to control the filtering effect. A larger value will increasethe smoothing effect of the filter. A value of 1 results with no filtering.
• Filtered Value (Binary): specifies the V-memory location where the filtered binary (decimal) valuewill be placed
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–242
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeFilter Frequency Timer . . . . . . . . . . . . . . . . . . . T T0-377Filter Frequency Time (0.01 sec) . . . . . . . . . . . K K0-9999Raw Data (Binary) . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsFilter Divisor (1-100) . . . . . . . . . . . . . . . . . . . . . K K1-100Filtered Value (Binary) . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
FILTERB ExampleIn the following example, the FILTERB instruction is used to filter a binary value that is inV2000. Timer (T1) is set to 0.5 sec, the rate at which the filter calculation will be performed.The filter constant is set to 3.0. 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
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–243
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
1
Hi/Low Alarm - BCD (HILOAL) (IB-421)Hi/Low Alarm - BCD monitors a BCD value V-Memory location and sets four possiblealarm states, High-High, High, Low, and Low-Low whenever the IBox has power flow. Youenter the alarm thresholds as constant K BCD values (K0-K9999) and/or BCD value V-Memory locations.
You must ensure that threshold limits are valid,that is HH >= H > L >= LL. Note that whenthe High-High or Low-Low alarm condition istrue, that the High and Low alarms will also beset, respectively. This means you may use thesame threshold limit and same alarm bit for theHigh-High and the High alarms in case youonly need one "High" alarm. Also note that theboundary conditions are inclusive. That is, ifthe Low boundary is K50, and the Low-Lowboundary is K10, and if the Monitoring Valueequals 10, then the Low Alarm AND the Low-Low alarm will both be ON. If there is nopower flow to the IBox, then all alarm bits will be turned off regardless of the value of theMonitoring Value parameter.
HILOAL Parameters• Monitoring Value (BCD): specifies the V-memory location of the BCD value to be monitored
• High-High Limit: V-memory location or constant specifies the high-high alarm limit
• High-High Alarm: On when the high-high limit is reached
• High Limit: V-memory location or constant specifies the high alarm limit
• High Alarm: On when the high limit is reached
• Low Limit: V-memory location or constant specifies the low alarm limit
• Low Alarm: On when the low limit is reached
• 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
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–244
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeMonitoring Value (BCD) . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsHigh-High Limit . . . . . . . . . . . . . . . . . . . . . . . V, K K0-9999; or see DL06 V-memory map - Data WordsHigh-High Alarm . . . . . . . . . . . X, Y, C, GX,GY, B See DL06 V-memory mapHigh Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . V, K K0-9999; or see DL06 V-memory map - Data WordsHigh Alarm. . . . . . . . . . . . . . . . X, Y, C, GX,GY, B See DL06 V-memory mapLow Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . V, K K0-9999; or see DL06 V-memory map - Data WordsLow Alarm . . . . . . . . . . . . . . . . X, Y, C, GX,GY,B See DL06 V-memory mapLow-Low Limit . . . . . . . . . . . . . . . . . . . . . . . V, K K0-9999; or see DL06 V-memory map - Data WordsLow-Low Alarm. . . . . . . . . . . . . X, Y, C, GX,GY, B See DL06 V-memory map
HILOAL ExampleIn the following example, the HILOAL instruction is used to monitor a BCD value that is inV2000. If the value in V2000 meets/exceeds the high limit of K900, C101 will turn on. If thevalue continues to increase to meet/exceed the high-high limit, C100 will turn on. Both bitswould be on in this case. The high and high-high limits and alarms can be set to the samevalue 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 thevalue continues to decrease to meet or fall below the low-low limit of K100, C103 will turnon. Both bits would be on in this case. The low and low-low limits and alarms can be set tothe same value if one “low” limit or alarm is desired to be used.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–245
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
1
Hi/Low Alarm - Binary (HILOALB) (IB-401)Hi/Low Alarm - Binary monitors a binary (decimal) V-Memory location and sets fourpossible alarm states, High-High, High, Low, and Low-Low whenever the IBox has powerflow. You enter the alarm thresholds as constant K decimal values (K0-K65535) and/or binary(decimal) V-Memory locations.
You must ensure that threshold limits are valid,that is HH >= H > L >= LL. Note that whenthe High-High or Low-Low alarm condition istrue, that the High and Low alarms will also beset, respectively. This means you may use thesame threshold limit and same alarm bit for theHigh-High and the High alarms in case youonly need one "High" alarm. Also note that theboundary conditions are inclusive. That is, ifthe Low boundary is K50, and the Low-Lowboundary is K10, and if the Monitoring Valueequals 10, then the Low Alarm AND the Low-Low alarm will both be ON. If there is nopower flow to the IBox, then all alarm bits will be turned off regardless of the value of theMonitoring Value parameter.
HILOALB Parameters• Monitoring Value (Binary): specifies the V-memory location of the Binary value to be monitored
• High-High Limit: V-memory location or constant specifies the high-high alarm limit
• High-High Alarm: On when the high-high limit is reached
• High Limit: V-memory location or constant specifies the high alarm limit
• High Alarm: On when the high limit is reached
• Low Limit: V-memory location or constant specifies the low alarm limit
• Low Alarm: On when the low limit is reached
• 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
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–246
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeMonitoring Value (Binary) . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsHigh-High Limit . . . . . . . . . . . . . . . . . . . . . . . V, K K0-65535; or see DL06 V-memory map - Data WordsHigh-High Alarm . . . . . . . . . . . X, Y, C, GX,GY, B See DL06 V-memory mapHigh Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . V, K K0-65535; or see DL06 V-memory map - Data WordsHigh Alarm. . . . . . . . . . . . . . . . X, Y, C, GX,GY, B See DL06 V-memory mapLow Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . V, K K0-65535; or see DL06 V-memory map - Data WordsLow Alarm . . . . . . . . . . . . . . . . X, Y, C, GX,GY,B See DL06 V-memory mapLow-Low Limit . . . . . . . . . . . . . . . . . . . . . . . V, K K0-65535; or see DL06 V-memory map - Data WordsLow-Low Alarm. . . . . . . . . . . . . X, Y, C, GX,GY, B See DL06 V-memory map
DS Used
HPP N/A
HILOALB ExampleIn the following example, the HILOALB instruction is used to monitor a binary value that isin V2000. If the value in V2000 meets/exceeds the high limit of the binary value in V2011,C101 will turn on. If the value continues to increase to meet/exceed the high-high limit valuein V2010, C100 will turn on. Both bits would be on in this case. The high and high-highlimits and alarms can be set to the same V-memory location/value if one “high” limit or alarmis desired to be used.
If the value in V2000 meets or falls below the low limit of the binary value in V2012, C102will turn on. If the value continues to decrease to meet or fall below the low-low limit inV2013, C103 will turn on. Both bits would be on in this case. The low and low-low limitsand alarms can be set to the same V-memory location/value if one “low” limit or alarm isdesired to be used.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–247
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
1
Off Delay Timer (OFFDTMR) (IB-302)Off Delay Timer will delay the "turning off" of the Output parameter by the specified OffDelay Time (in hundredths of a second) based on the power flow into the IBox. Once theIBox receives power, the Output bit will turnon immediately. When the power flow to theIBox turns off, the Output bit WILLREMAIN ON for the specified amount oftime (in hundredths of a second). Once theOff Delay Time has expired, the output willturn Off. If the power flow to the IBox comesback on BEFORE the Off Delay Time, thenthe timer is RESET and the Output willremain On - so you must continuously haveNO power flow to the IBox for AT LEASTthe specified Off Delay Time before the Output will turn Off.
This IBox utilizes a Timer resource (TMRF), which cannot be used anywhere else in yourprogram.
OFFDTMR Parameters• Timer Number: specifies the Timer(TMRF) number which is used by the OFFDTMR instruction
• Off Delay Time (0.01sec): specifies how long the Output will remain on once power flow to theIbox is removed
• Output: specifies the output that will be delayed “turning off ” by the Off Delay Time.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–248
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeTimer Number . . . . . . . . . . . . . . . . . . . . . . . . . T T0-377Off Delay Time . . . . . . . . . . . . . . . . . . . . . . . . K,V K0-9999; See DL06 V-memory map - Data WordsOutput . . . . . . . . . . . . . . . . . . . . X, Y, C, GX,GY, B See DL06 V-memory map
DS Used
HPP N/A
OFFDTMR ExampleIn the following example, the OFFDTMR instruction is used to delay the “turning off ”ofoutput C20. Timer 2 (T2) is set to 5 seconds, the “off-delay” period.
When C100 turns on, C20 turns on and will remain on while C100 is on. When C100 turnsoff, C20 will remain for the specified Off Delay Time (5s), and then turn off.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–249
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Chapter 5: Intelligent Box (IBox) Instructions
C100
C20
5 sec 5 sec
Example timing diagram
On Delay Timer (ONDTMR) (IB-301)On Delay Timer will delay the "turning on" of the Output parameter by the specifiedamount of time (in hundredths of a second) based on the power flow into the IBox. Once theIBox loses power, the Output is turned offimmediately. If the power flow turns offBEFORE the On Delay Time, then thetimer is RESET and the Output is neverturned on, so you must have continuouspower flow to the IBox for at least thespecified On Delay Time before theOutput turns On.
This IBox utilizes a Timer resource(TMRF), which cannot be used anywhereelse in your program.
ONDTMR Parameters• Timer Number: specifies the Timer(TMRF) number which is used by the ONDTMR instruction
• On Delay Time (0.01sec): specifies how long the Output will remain off once power flow to theIbox is applied.
• Output: specifies the output that will be delayed “turning on” by the On Delay Time.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–250
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeTimer Number . . . . . . . . . . . . . . . . . . . . . . . . . T T0-377On Delay Time . . . . . . . . . . . . . . . . . . . . . . . . K,V K0-9999; See DL06 V-memory map - Data WordsOutput . . . . . . . . . . . . . . . . . . . . X, Y, C, GX,GY, B See DL06 V-memory map
DS Used
HPP N/A
ONDTMR ExampleIn the following example, the ONDTMR instruction is used to delay the “turning on” ofoutput C21. Timer 1 (T1) is set to 2 seconds, the “on-delay” period.
When C101 turns on, C21 is delayed turning on by 2 seconds. When C101 turns off, C21turns off immediately.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–251
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
C101
C21
2 sec 2 sec
Example timing diagram
One Shot (ONESHOT) (IB-303)One Shot will turn on the given bit output parameter for one scan on an OFF to ONtransition of the power flow into the IBox. This IBox is simply a different name for the PDCoil (Positive Differential).
ONESHOT Parameters• Discrete Output: specifies the output thatwill be on for one scan
ONESHOT ExampleIn the following example, the ONESHOT instruction is used to turn C100 on for one PLCscan after C0 goes from an off to on transition. The input logic must produce an off to ontransition to execute the One Shot instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–252
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
C0
C100
Scan time
Example timing diagram
Parameter DL06 RangeDiscrete Output . . . . . . . . . . . . . . . . . . . . . X, Y, C See DL06 V-memory map
DS Used
HPP N/A
Push On / Push Off Circuit (PONOFF) (IB-300)Push On/Push Off Circuit toggles an output state whenever its input power flow transitionsfrom off to on. Requires an extra bit parameter for scan-to-scan state information. This extrabit must NOT be used anywhere else in the program. This is also known as a “flip-flopcircuit”. The PONOFF IBox cannot have any input logic.
PONOFF Parameters• Discrete Input: specifies the input that willtoggle the specified output
• Discrete Output: specifies the output that willbe “turned on/off ” or toggled
• Internal State: specifies a work bit that is usedby the instruction
PONOFF ExampleIn the following example, the PONOFF instruction is used to control the on and off states ofthe output C20 with a single input C10. When C10 is pressed once, C20 turns on. WhenC10 is pressed again, C20 turns off. C100 is an internal bit used by the instruction.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–253
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeDiscrete Input . . . . X,Y,C,S,T,CT,GX,GY,SP,B,PB See DL06 V-memory map Discrete Output . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapInternal State . . . . . . . . . . . . . . . . . . . . . . . X, Y, C See DL06 V-memory map
DS Used
HPP N/A
Permissive contacts or input logic are notused with this instruction.
Move Single Word (MOVEW) (IB-200)Move Single Word moves (copies) a word to a memory location directly or indirectly via apointer, either as a HEX constant, from a memory location, or indirectly through a pointer
MOVEW Parameters• From WORD: specifies the word that will bemoved to another location
• To WORD: specifies the location where the“From WORD” will be move to
MOVEW ExampleIn the following example, the MOVEW instruction is used to move 16-bits of data fromV2000 to V3000 when C100 turns on.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–254
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeFrom WORD . . . . . . . . . . . . . . . . . . . . . . . . V,P,K K0-FFFF; See DL06 V-memory map - Data WordsTo WORD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . V,P See DL06 V-memory map - Data Words
DS Used
HPP N/A
Move Double Word (MOVED) (IB-201)Move Double Word moves (copies) a double word to two consecutive memory locationsdirectly or indirectly via a pointer, either as a double HEX constant, from a double memorylocation, or indirectly through a pointer to adouble memory location.
MOVED Parameters• From DWORD: specifies the double word thatwill be moved to another location
• To DWORD: specifies the location where the“From DWORD” will be move to
MOVED ExampleIn the following example, the MOVED instruction is used to move 32-bits of data fromV2000 and V2001 to V3000 and V3001 when C100 turns on.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–255
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeFrom DWORD . . . . . . . . . . . . . . . . . . . . . . V,P,K K0-FFFFFFFF; See DL06 V-memory map - Data WordsTo DWORD . . . . . . . . . . . . . . . . . . . . . . . . . . . V,P See DL06 V-memory map - Data Words
DS Used
HPP N/A
BCD to Real with Implied Decimal Point (BCDTOR) (IB-560)BCD to Real with Implied Decimal Point converts the given 4 digit WORD BCD value to aReal number, with the implied number ofdecimal points (K0-K4).
For example, BCDTOR K1234 with animplied number of decimal points equal toK1, would yield R123.4
BCDTOR Parameters• Value (WORD BCD): specifies the word or constant that will be converted to a Real number
• Number of Decimal Points: specifies the number of implied decimal points in the Result DWORD
• Result (DWORD REAL): specifies the location where the Real number will be placed
BCDTOR ExampleIn the following example, the BCDTOR instruction is used to convert the 16-bit data inV2000 from a 4-digit BCD data format to a 32-bit REAL (floating point) data format andstored 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 thedecimal point.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–256
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeValue (WORD BCD) . . . . . . . . . . . . . . . . . . V,P,K K0-9999; See DL06 V-memory map - Data WordsNumber of Decimal Points . . . . . . . . . . . . . . . K K0-4Result (DWORD REAL) . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
DS Used
HPP N/A
Double BCD to Real with Implied Decimal Point (BCDTORD) (IB-562)Double BCD to Real with Implied Decimal Point converts the given 8 digit DWORD BCDvalue to a Real number, given an impliednumber of decimal points (K0-K8).
For example, BCDTORD K12345678 withan implied number of decimal points equalto K5, would yield R123.45678
BCDTORD Parameters• Value (DWORD BCD): specifies the Dword or constant that will be converted to a Real number
• Number of Decimal Points: specifies the number of implied decimal points in the Result DWORD
• Result (DWORD REAL): specifies the location where the Real number will be placed
BCDTORD ExampleIn the following example, the BCDTORD instruction is used to convert the 32-bit data inV2000 from an 8-digit BCD data format to a 32-bit REAL (floating point) data format andstored 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 thedecimal point.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–257
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeValue (DWORD BCD) . . . . . . . . . . . . . . . . . V,P,K K0-99999999; See DL06 V-memory map - Data WordsNumber of Decimal Points . . . . . . . . . . . . . . . K K0-8Result (DWORD REAL) . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
DS Used
HPP N/A
Math - BCD (MATHBCD) (IB-521)Math - BCD Format lets you enter complex mathematical expressions like you would inVisual Basic, Excel, or C++ to do complex calculations, nesting parentheses up to 4 levelsdeep. In addition to + - * /, you can doModulo (% aka Remainder), Bit-wise And(&) Or (|) Xor (^), and some BCD functions- Convert to BCD (BCD), Convert to Binary(BIN), BCD Complement (BCDCPL),Convert from Gray Code (GRAY), Invert Bits(INV), and BCD/HEX to Seven SegmentDisplay (SEG).
Example: ((V2000 + V2001) / (V2003 -K100)) * GRAY(V3000 & K001F)
Every V-memory reference MUST be to a single word BCD formatted value. Intermediateresults can go up to 32 bit values, but as long as the final result fits in a 16 bit BCD word, thecalculation is valid. Typical example of this is scaling using multiply then divide, (V2000 *K1000) / K4095. The multiply term most likely will exceed 9999 but fits within 32 bits. Thedivide operation will divide 4095 into the 32-bit accumulator, yielding a result that willalways fit in 16 bits.
You can reference binary V-memory values by using the BCD conversion function on a V-Memory location but NOT an expression. That is BCD(V2000) is okay and will convertV2000 from Binary to BCD, but BCD(V2000 + V3000) will add V2000 as BCD, to V3000as BCD, then interpret the result as Binary and convert it to BCD - NOT GOOD.
Also, the final result is a 16 bit BCD number and so you could do BIN around the entireoperation to store the result as Binary.
MATHBCD Parameters• WORD Result: specifies the location where the BCD result of the mathematical expression will beplaced (result must fit into 16 bit single V-memory location)
• Expression: specifies the mathematical expression to be executed and the result is stored in specifiedWORD Result. Each V-memory location used in the expression must be in BCD format.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–258
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeWORD Result . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsExpression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Text
DS Used
HPP N/A
MATHBCD ExampleIn the following example, the MATHBCD instruction is used to calculate the mathexpression which multiplies the BCD value in V1200 by 1000 then divides by 4095 andloads the resulting value in V2000 when C100 turns on.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–259
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Math - Binary (MATHBIN) (IB-501)Math - Binary Format lets you enter complex mathematical expressions like you would inVisual Basic, Excel, or C++ to do complex calculations, nesting parentheses up to 4 levelsdeep. In addition to + - * /, you can doModulo (% aka Remainder), Shift Right(>>) and Shift Left (<<), Bit-wise And (&)Or (|) Xor (^), and some binary functions -Convert to BCD (BCD), Convert to Binary(BIN), Decode Bits (DECO), Encode Bits(ENCO), Invert Bits (INV), HEX to SevenSegment Display (SEG), and Sum Bits(SUM).
Example: ((V2000 + V2001) / (V2003 -K10)) * SUM(V3000 & K001F)
Every V-memory reference MUST be to a single word binary formatted value. Intermediateresults can go up to 32 bit values, but as long as the final result fits in a 16 bit binary word,the calculation is valid. Typical example of this is scaling using multiply then divide, (V2000 *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 willalways fit in 16 bits.
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 convertV2000 from BCD to Binary, but BIN(V2000 + V3000) will add V2000 as Binary, to V3000as Binary, then interpret the result as BCD and convert it to Binary - NOT GOOD.
Also, the final result is a 16 bit binary number and so you could do BCD around the entireoperation to store the result as BCD.
MATHBIN Parameters• WORD Result: specifies the location where the binary result of the mathematical expression will beplaced (result must fit into 16 bit single V-memory location)
• Expression: specifies the mathematical expression to be executed and the result is stored in specifiedWORD Result. Each V-memory location used in the expression must be in binary format.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–260
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeWORD Result . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsExpression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Text
DS Used
HPP N/A
MATHBIN ExampleIn the following example, the MATHBIN instruction is used to calculate the math expressionwhich multiplies the Binary value in V1200 by 1000 then divides by 4095 and loads theresulting value in V2000 when C100 turns on.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–261
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Math - Real (MATHR) (IB-541)Math - Real Format lets you enter complex mathematical expressions like you would inVisual Basic, Excel, or C++ to do complex calculations, nesting parentheses up to 4 levelsdeep. In addition to + - * /, you can do Bit-wise And (&) Or (|) Xor (^), and many Realfunctions - Arc Cosine (ACOSR), Arc Sine(ASINR), Arc Tangent (ATANR), Cosine(COSR), Convert Radians to Degrees(DEGR), Invert Bits (INV), Convert Degreesto Radians (RADR), HEX to Seven SegmentDisplay (SEG), Sine (SINR), Square Root(SQRTR), Tangent (TANR).
Example: ((V2000 + V2002) / (V2004 -R2.5)) * SINR(RADR(V3000 / R10.0))
Every V-memory reference MUST be able to fit into a double word Real formatted value.
MATHR Parameters• DWORD Result: specifies the location where the Real result of the mathematical expression will beplaced (result must fit into a double word Real formatted location)
• Expression: specifies the mathematical expression to be executed and the result is stored in specifiedDWORD Result location. Each V-memory location used in the expression must be in Real format.
MATHR ExampleIn the following example, the MATHR instruction is used to calculate the math expressionwhich multiplies the REAL (floating point) value in V1200 by 10.5 then divides by 2.7 andloads the resulting 32-bit value in V2000 and V2001 when C100 turns on.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–262
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeDWORD Result . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsExpression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Text
DS Used
HPP N/A
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 thegiven Real number to a 4 digit BCD number, compensating for an implied number ofdecimal points (K0-K4) and performs rounding.
For example, RTOBCD R56.74 with animplied number of decimal points equal to K1,would yield 567 BCD. If the implied numberof decimal points was 0, then the functionwould yield 57 BCD (note that it rounded up).
If the Real number is negative, the Result willequal its positive, absolute value.
RTOBCD Parameters• Value (DWORD Real): specifies the Real Dword location or number that will be converted androunded to a BCD number with decimal points
• Number of Decimal Points: specifies the number of implied decimal points in the Result WORD
• Result (WORD BCD): specifies the location where the rounded/implied decimal points BCD valuewill be placed
RTOBCD ExampleIn 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 storedin V2000 when C100 turns on.
K2 in the Number of Decimal Points implies the data will have two implied decimal points.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–263
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeValue (DWORD Real) . . . . . . . . . . . . . . . . . V,P,R R ; See DL06 V-memory map - Data WordsNumber of Decimal Points . . . . . . . . . . . . . . . K K0-4Result (WORD BCD) . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
DS Used
HPP N/A
Real to Double BCD with Implied Decimal Point and Rounding (RTOBCDD)(IB-563)
Real to Double BCD with Implied DecimalPoint and Rounding converts the absolutevalue of the given Real number to an 8 digitDWORD BCD number, compensating foran implied number of decimal points (K0-K8) and performs rounding.
For example, RTOBCDD R38156.74 withan implied number of decimal points equal to K1, would yield 381567 BCD. If the impliednumber of decimal points was 0, then the function would yield 38157 BCD (note that itrounded up).
If the Real number is negative, the Result will equal its positive, absolute value.
RTOBCDD Parameters• Value (DWORD Real): specifies the Dword Real number that will be converted and rounded to aBCD number with decimal points
• Number of Decimal Points: specifies the number of implied decimal points in the Result DWORD
• Result (DWORD BCD): specifies the location where the rounded/implied decimal pointsDWORD BCD value will be placed
RTOBCDD ExampleIn the following example, the RTOBCDD instruction is used to convert the 32-bit REAL(floating point) data format in V3000 and V3001 to the 8-digit BCD data format and storedin V2000 and V2001 when C100 turns on.
K2 in the Number of Decimal Points implies the data will have two implied decimal points.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–264
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeValue (DWORD Real) . . . . . . . . . . . . . . . . . V,P,R R ; See DL06 V-memory map - Data WordsNumber of Decimal Points . . . . . . . . . . . . . . . K K0-8Result (DWORD BCD) . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
DS Used
HPP N/A
Square BCD (SQUARE) (IB-523)Square BCD squares the given 4-digit WORD BCD number and writes it in as an 8-digitDWORD BCD result.
SQUARE Parameters• Value (WORD BCD): specifies the BCD Wordor constant that will be squared
• Result (DWORD BCD): specifies the locationwhere the squared DWORD BCD value will beplaced
SQUARE ExampleIn the following example, the SQUARE instruction is used to square the 4-digit BCD valuein V2000 and store the 8-digit double word BCD result in V3000 and V3001 when C100turns on.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–265
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeValue (WORD BCD) . . . . . . . . . . . . . . . . . . V,P,K K0-9999 ; See DL06 V-memory map - Data WordsResult (DWORD BCD) . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
DS Used
HPP N/A
Square Binary (SQUAREB) (IB-503)Square Binary squares the given 16-bit WORD Binary number and writes it as a 32-bitDWORD Binary result.
SQUAREB Parameters• Value (WORD Binary): specifies the binaryWord or constant that will be squared
• Result (DWORD Binary): specifies thelocation where the squared DWORD binaryvalue will be placed
SQUAREB ExampleIn the following example, the SQUAREB instruction is used to square the single word Binaryvalue in V2000 and store the 8-digit double word Binary result in V3000 and V3001 whenC100 turns on.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–266
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
89
10
11
1213
14
A
B
C
D
Parameter DL06 RangeValue (WORD Binary) . . . . . . . . . . . . . . . . V,P,K K0-65535; See DL06 V-memory map - Data WordsResult (DWORD Binary) . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
DS Used
HPP N/A
Square Real (SQUARER) (IB-543)Square Real squares the given REAL DWORD number and writes it to a REAL DWORDresult.
SQUARER Parameters• Value (REAL DWORD): specifies the RealDWORD location or number that will besquared
• Result (REAL DWORD): specifies the locationwhere the squared Real DWORD value will beplaced
SQUARER ExampleIn the following example, the SQUARER instruction is used to square the 32-bit floatingpoint REAL value in V2000 and V2001 and store the REAL value result in V3000 andV3001 when C100 turns on.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–267
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeValue (REAL DWORD) . . . . . . . . . . . . . . . . V,P,R R ; See DL06 V-memory map - Data WordsResult (REAL DWORD) . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
DS Used
HPP N/A
Sum BCD Numbers (SUMBCD) (IB-522)Sum BCD Numbers sums up a list of consecutive 4-digit WORD BCD numbers into an 8-digit DWORD BCD result.
You specify the group's starting and endingV- memory addresses (inclusive). Whenenabled, this instruction will add up all thenumbers in the group (so you may want toplace a differential contact driving theenable).
SUMBCD could be used as the first part ofcalculating an average.
SUMBCD Parameters• Start Address: specifies the starting address of a block of V-memory location values to be addedtogether (BCD)
• End Addr (inclusive): specifies the ending address of a block of V-memory location values to beadded together (BCD)
• Result (DWORD BCD): specifies the location where the sum of the block of V-memory BCDvalues will be placed
SUMBCD ExampleIn the following example, the SUMBCD instruction is used to total the sum of all BCDvalues in words V2000 thru V2007 and store the resulting 8-digit double word BCD value inV3000 and V3001 when C100 turns on.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–268
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeStart Address . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsEnd Address (inclusive) . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsResult (DWORD BCD) . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
DS Used
HPP N/A
Sum Binary Numbers (SUMBIN) (IB-502)Sum Binary Numbers sums up a list of consecutive 16-bit WORD Binary numbers into a 32-bit DWORD binary result.
You specify the group's starting and endingV- memory addresses (inclusive). Whenenabled, this instruction will add up all thenumbers in the group (so you may want toplace a differential contact driving theenable).
SUMBIN could be used as the first part ofcalculating an average.
SUMBIN Parameters• Start Address: specifies the starting address of a block of V-memory location values to be addedtogether (Binary)
• End Addr (inclusive): specifies the ending address of a block of V-memory location values to beadded together (Binary)
• Result (DWORD Binary): specifies the location where the sum of the block of V-memory binaryvalues will be placed
SUMBIN ExampleIn the following example, the SUMBIN instruction is used to total the sum of all Binaryvalues in words V2000 thru V2007 and store the resulting 8-digit double word Binary valuein V3000 and V3001 when C100 turns on.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–269
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeStart Address . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsEnd Address (inclusive) . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsResult (DWORD Binary) . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
DS Used
HPP N/A
Sum Real Numbers (SUMR) (IB-542)Sum Real Numbers sums up a list of consecutive REAL DWORD numbers into a REALDWORD result.
You specify the group's starting and endingV- memory addresses (inclusive).
Remember that Real numbers are DWORDsand occupy 2 words of V-Memory each, sothe number of Real values summed up isequal to half the number of memorylocations. Note that the End Address can beEITHER word of the 2 word ending address,for example, if you wanted to add the 4 Realnumbers stored in V2000 thru V2007(V2000, V2002, V2004, and V2006), you can specify V2006 OR V2007 for the endingaddress and you will get the same result.
When enabled, this instruction will add up all the numbers in the group (so you may want toplace a differential contact driving the enable).
SUMR could be used as the first part of calculating an average.
SUMR Parameters• Start Address (DWORD): specifies the starting address of a block of V-memory location values tobe added together (Real)
• End Addr (inclusive) (DWORD): specifies the ending address of a block of V-memory locationvalues to be added together (Real)
• Result (DWORD): specifies the location where the sum of the block of V-memory Real values willbe placed
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–270
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeStart Address (inclusive DWORD) . . . . . . . . . . V See DL06 V-memory map - Data WordsEnd Address (inclusive DWORD) . . . . . . . . . . V See DL06 V-memory map - Data WordsResult (DWORD) . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
DS Used
HPP N/A
SUMR ExampleIn the following example, the SUMR instruction is used to total the sum of all floating pointREAL number values in words V2000 thru V2007 and store the resulting 32-bit floatingpoint REAL number value in V3000 and V3001 when C100 turns on.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–271
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ECOM100 Configuration (ECOM100) (IB-710)ECOM100 Configuration defines all the common information for one specific ECOM100module which is used by the other ECOM100 IBoxes; for example, ECRX - ECOM100Network Read , ECEMAIL - ECOM100Send EMail, ECIPSUP - ECOM100 IPSetup, etc.
You MUST have the ECOM100Configuration IBox at the top of yourladder/stage program with any otherconfiguration IBoxes. The Message Bufferparameter specifies the starting address of a65 WORD buffer. This is 101 Octaladdresses (e.g. V1400 thru V1500).
If you have more than one ECOM100 inyour PLC, you must have a different ECOM100 Configuration IBox for EACH ECOM100module in your system that utilizes any ECOM IBox instructions.
The Workspace and Status parameters and the entire Message Buffer are internal, privateregisters used by the ECOM100 Configuration IBox and MUST BE UNIQUE in this oneinstruction and MUST NOT be used anywhere else in your program.
In order for MOST ECOM100 IBoxes to function, you must turn ON dip switch 7 on theECOM100 circuit board. You can keep dip switch 7 off if you are ONLY using ECOM100Network Read and Write IBoxes (ECRX, ECWX).
Since this logic only executes on the first scan, this IBox cannot have any input logic.
ECOM100 Parameters• ECOM100#: this is a logical number associated with this specific ECOM100 module in thespecified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module mustreference this logical number
• Slot: specifies the option slot the module occupies
• Status: specifies a V-memory location that will be used by the instruction
• Workspace: specifies a V-memory location that will be used by the instruction
• Msg Buffer: specifies the starting address of a 65 word buffer that will be used by the module forconfiguration
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–272
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Slot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K1-4Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsWorkspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsMsg Buffer (65 words used) . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
ECOM100 ExampleThe ECOM100 Config IBox coordinates all of the interaction with other ECOM100 basedIBoxes (ECxxxx). You must have an ECOM100 Config IBox for each ECOM100 module inyour system. Configuration IBoxes must be at the top of your program and must executeevery scan.
This IBox defines ECOM100# K0 to be in slot 3. Any ECOM100 IBoxes that need toreference this specific module (such as ECEMAIL, ECRX, ...) would enter K0 for theirECOM100# parameter.
The Status register is for reporting any completion or error information to other ECOM100IBoxes. This V-Memory register must not be used anywhere else in the entire program.
The Workspace register is used to maintain state information about the ECOM100, alongwith proper sharing and interlocking with the other ECOM100 IBoxes in the program. ThisV-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 byother ECOM100 IBoxes (such as ECEMAIL). This way, you can have a bunch ofECEMAIL IBoxes, but only need 1 common buffer for generating and sending each EMail.These V-Memory registers must not be used anywhere else in your entire program.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–273
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Permissive contacts or input logic cannotbe used with this instruction.
ECOM100 Disable DHCP (ECDHCPD) (IB-736)ECOM100 Disable DHCP will setup the ECOM100 to use its internal TCP/IP settings on aleading edge transition to the IBox. To configure the ECOM100's TCP/IP settings manually,use the NetEdit3 utility, or you can do itprogrammatically from your PLC programusing the ECOM100 IP Setup (ECIPSUP), orthe individual ECOM100 IBoxes: ECOMWrite IP Address (ECWRIP), ECOM WriteGateway Address (ECWRGWA), andECOM100 Write Subnet Mask(ECWRSNM).
The Workspace parameter is an internal,private register used by this IBox and MUSTBE UNIQUE in this one instruction andMUST NOT be used anywhere else in your program.
Either the Success or Error bit parameter will turn on once the command is complete. If thereis an error, the Error Code parameter will report an ECOM100 error code (less than 100), ora PLC logic error (greater than 1000).
The "Disable DHCP" setting is stored in Flash-ROM in the ECOM100 and the execution ofthis IBox will disable the ECOM100 module for at least a half second until it writes theFlash-ROM. Therefore, it is HIGHLY RECOMMENDED that you only execute this IBoxONCE, on first scan. Since it requires a LEADING edge to execute, use a NORMALLYCLOSED SP0 (STR NOT First Scan) to drive the power flow to the IBox.
In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on theECOM100 circuit board.
ECDHCPD Parameters• ECOM100#: this is a logical number associated with this specific ECOM100 module in thespecified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module mustreference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
• Error Code: specifies the location where the Error Code will be written
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–274
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
DS Used
HPP N/A
ECDHCPD ExampleRung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of allECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 asECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to movethe module in the base to a different slot, then you only need to change this one IBox. V400is used as a global result status register for the other ECxxxx IBoxes using this specificECOM100 module. V401 is used to coordinate/interlock the logic in all of the other ECxxxxIBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte bufferavailable for use by the other ECxxxx IBoxes using this specific ECOM100 module.
Rung 2: On the 2nd scan, disable DHCP in the ECOM100. DHCP is the same protocolused by PCs for using a DHCP Server to automatically assign the ECOM100's IP Address,Gateway Address, and Subnet Mask. Typically disabling DHCP is done by assigning a hard-coded IP Address either in NetEdit or using one of the ECOM100 IP Setup IBoxes, but thisIBox allows you to disable DHCP in the ECOM100 using your ladder program. TheECDHCPD 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 flowinto the IBox goes from OFF to ON. If successful, turn on C100. If there is a failure, turn onC101. If it fails, you can look at V2000 for the specific error code.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–275
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ECOM100 Enable DHCP (ECDHCPE) (IB-735)ECOM100 Enable DHCP will tell the ECOM100 to obtain its TCP/IP setup from a DHCPServer on a leading edge transition to the IBox.
The IBox will be successful once theECOM100 has received its TCP/IP settingsfrom the DHCP server. Since it is possible forthe DHCP server to be unavailable, a Timeoutparameter is provided so that the IBox cancomplete, but with an Error (Error Code =1004 decimal).
See also the ECOM100 IP Setup (ECIPSUP)IBox 717 to directly setup ALL of the TCP/IPparameters in a single instruction - IP Address,Subnet Mask, and Gateway Address.
The Workspace parameter is an internal, private register used by this IBox and MUST BEUNIQUE 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 thereis an error, the Error Code parameter will report an ECOM100 error code (less than 100), ora PLC logic error (greater than 1000).
The "Enable DHCP" setting is stored in Flash-ROM in the ECOM100 and the execution ofthis IBox will disable the ECOM100 module for at least a half second until it writes theFlash-ROM. Therefore, it is HIGHLY RECOMMENDED that you only execute this IBoxONCE, on first scan. Since it requires a LEADING edge to execute, use a NORMALLYCLOSED SP0 (STR NOT First Scan) to drive the power flow to the IBox.
In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on theECOM100 circuit board.ECDHCPE Parameters
• ECOM100#: this is a logical number associated with this specific ECOM100 module in thespecified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module mustreference this logical number
• Timeout(sec): specifies a timeout period so that the instruction may have time to complete
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
• Error Code: specifies the location where the Error Code will be written
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–276
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Timeout (sec) . . . . . . . . . . . . . . . . . . . . . . . . . . K K5-127Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
DS Used
HPP N/A
ECDHCPE ExampleRung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of allECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 asECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to movethe module in the base to a different slot, then you only need to change this one IBox. V400is used as a global result status register for the other ECxxxx IBoxes using this specificECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxxIBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte bufferavailable for use by the other ECxxxx IBoxes using this specific ECOM100 module.
Rung 2: On the 2nd scan, enable DHCP in the ECOM100. DHCP is the same protocolused by PCs for using a DHCP Server to automatically assign the ECOM100's IP Address,Gateway Address, and Subnet Mask. Typically this is done using NetEdit, but this IBoxallows you to enable DHCP in the ECOM100 using your ladder program. The ECDHCPEis leading edge triggered, not power-flow driven (similar to a counter input leg). Thecommands to enable DHCP will be sent to the ECOM100 whenever the power flow into theIBox goes from OFF to ON. The ECDHCPE does more than just set the bit to enableDHCP in the ECOM100, but it then polls the ECOM100 once every second to see if theECOM100 has found a DHCP server and has a valid IP Address. Therefore, a timeoutparameter is needed in case the ECOM100 cannot find a DHCP server. If a timeout doesoccur, the Error bit will turn on and the error code will be 1005 decimal. The Success bit willturn on only if the ECOM100 finds a DHCP Server and is assigned a valid IP Address. Ifsuccessful, turn on C100. If there is a failure, turn on C101. If it fails, you can look at V2000for the specific error code.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–277
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ECOM100 Query DHCP Setting (ECDHCPQ) (IB-734)ECOM100 Query DHCP Setting will determine if DHCP is enabled in the ECOM100 on aleading edge transition to the IBox. The DHCP Enabled bit parameter will be ON if DHCPis enabled, OFF if disabled.
The Workspace parameter is an internal,private register used by this IBox and MUSTBE UNIQUE in this one instruction andMUST NOT be used anywhere else in yourprogram.
Either the Success or Error bit parameter willturn on once the command is complete.
In order for this ECOM100 IBox to function,you must turn ON dip switch 7 on theECOM100 circuit board.
ECDHCPQ Parameters• ECOM100#: this is a logical number associated with this specific ECOM100 module in thespecified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module mustreference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the instruction is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
• DHCP Enabled: specifies a bit that will turn on if the ECOM100’s DHCP is enabled or remain offif disabled - after instruction query, be sure to check the state of the Success/Error bit state alongwith DHCP Enabled bit state to confirm a successful module query
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–278
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapDHCP Enabled . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory map
DS Used
HPP N/A
ECDHCPQ ExampleRung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of allECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 asECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to movethe module in the base to a different slot, then you only need to change this one IBox. V400is used as a global result status register for the other ECxxxx IBoxes using this specificECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxxIBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte bufferavailable for use by the other ECxxxx IBoxes using this specific ECOM100 module.
Rung 2: On the 2nd scan, read whether DHCP is enabled or disabled in the ECOM100 andstore it in C5. DHCP is the same protocol used by PCs for using a DHCP Server toautomatically assign the ECOM100's IP Address, Gateway Address, and Subnet Mask. TheECDHCPQ is leading edge triggered, not power-flow driven (similar to a counter input leg).The command to read (Query) whether DHCP is enabled or not will be sent to theECOM100 whenever the power flow into the IBox goes from OFF to ON. If successful, turnon C100. If there is a failure, turn on C101.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–279
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ECOM100 Send E-mail (ECEMAIL) (IB-711)ECOM100 Send EMail, on a leading edge transition, will behave as an EMail client and sendan SMTP request to your SMTP Server to send the EMail message to the EMail addresses inthe To: field and also to those listed in the Cc: list hardcoded in the ECOM100. It will send the SMTP requestbased on the specified ECOM100#, which correspondsto a specific unique ECOM100 Configuration(ECOM100) at the top of your program.
The Body: field supports what the PRINT andVPRINT instructions support for text and embeddedvariables, allowing you to embed real-time data in yourEMail (e.g. "V2000 = " V2000:B).
The Workspace parameter is an internal, private registerused by this IBox and MUST BE UNIQUE in this oneinstruction and MUST NOT be used anywhere else in your program.
Either the Success or Error bit parameter will turn on once the request is complete. If there isan error, the Error Code parameter will report an ECOM100 error code (less than 100), anSMPT protocol error (between 100 and 999), or a PLC logic error (greater than 1000).
Since the ECOM100 is only an EMail Client and requires access to an SMTP Server, youMUST have the SMTP parameters configured properly in the ECOM100 via theECOM100's Home Page and/or the EMail Setup instruction (ECEMSUP). To get to theECOM100's Home Page, use your favorite Internet browser and browse to the ECOM100'sIP Address, e.g. http://192.168.12.86
You are limited to approximately 100 characters of message data for the entire instruction,including the To: Subject: and Body: fields. To save space, the ECOM100 supports a hardcoded list of EMail addresses for the Carbon Copy field (cc:) so that you can configure thosein the ECOM100, and keep the To: field small (or even empty), to leave more room for theSubject: and Body: fields.
In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on theECOM100 circuit board.ECEMAIL Parameters
• ECOM100#: this is a logical number associated with this specific ECOM100 module in thespecified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module mustreference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
• Error Code: specifies the location where the Error Code will be written
• To: specifies an E-mail address that the message will be sent to
• Subject: subject of the e-mail message
• Body: supports what the PRINT and VPRINT instructions support for text and embeddedvariables, allowing you to embed real-time data in the EMail message
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–280
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
ECEMAIL ExampleRung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of allECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 asECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to movethe module in the base to a different slot, then you only need to change this one IBox. V400is used as a global result status register for the other ECxxxx IBoxes using this specificECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxxIBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte bufferavailable for use by the other ECxxxx IBoxes using this specific ECOM100 module.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–281
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory mapTo: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TextSubject: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TextBody:. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . See PRINT and VPRINT instructions
(example continued on next page)
ECEMAIL Example (cont’d)Rung 2: When a machine goes down, send an email to Joe in maintenance and to the VPover production showing what machine is down along with the date/time stamp of when itwent down.
The ECEMAIL is leading edge triggered, not power-flow driven (similar to a counter inputleg). An email will be sent whenever the power flow into the IBox goes from OFF to ON.This helps prevent self inflicted spamming.
If the EMail is sent, turn on C100. If there is a failure, turn on C101. If it fails, you can lookat V2000 for the SMTP error code or other possible error codes.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–282
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ECOM100 Restore Default E-mail Setup (ECEMRDS) (IB-713)ECOM100 Restore Default EMail Setup, on a leading edge transition, will restore theoriginal EMail Setup data stored in the ECOM100 back to the working copy based on thespecified ECOM100#, which corresponds toa specific unique ECOM100 Configuration(ECOM100) at the top of your program.
When the ECOM100 is first powered up, itcopies the EMail setup data stored in ROMto the working copy in RAM. You can thenmodify this working copy from yourprogram using the ECOM100 EMail Setup(ECEMSUP) IBox. After modifying theworking copy, you can later restore theoriginal setup data via your program byusing this IBox.
The Workspace parameter is an internal, private register used by this IBox and MUST BEUNIQUE 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 thereis an error, the Error Code parameter will report an ECOM100 error code (less than 100), ora PLC logic error (greater than 1000).
In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on theECOM100 circuit board.
ECEMRDS Parameters• ECOM100#: this is a logical number associated with this specific ECOM100 module in thespecified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module mustreference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
• Error Code: specifies the location where the Error Code will be written
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–283
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
ECEMRDS ExampleRung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of allECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 asECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to movethe module in the base to a different slot, then you only need to change this one IBox. V400is used as a global result status register for the other ECxxxx IBoxes using this specificECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxxIBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte bufferavailable for use by the other ECxxxx IBoxes using this specific ECOM100 module.
Rung 2: Whenever an EStop is pushed, ensure that president of the company gets copies ofall EMails being sent.
The ECOM100 EMail Setup IBox allows you to set/change the SMTP EMail settings storedin the ECOM100.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–284
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D (example continued on next page)
ECEMRDS Example (cont’d)Rung 3: Once the EStop is pulled out, take the president off the cc: list by restoring thedefault EMail setup in the ECOM100.
The ECEMRDS is leading edge triggered, not power-flow driven (similar to a counter inputleg). 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 workingcopy 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 atV2001 for the specific error code.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–285
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ECOM100 E-mail Setup (ECEMSUP) (IB-712)ECOM100 EMail Setup, on a leading edge transition, will modify the working copy of theEMail setup currently in the ECOM100 based on the specified ECOM100#, whichcorresponds to a specific unique ECOM100Configuration (ECOM100) at the top ofyour program.
You may pick and choose any or all fields tobe modified using this instruction. Note thatthese changes are cumulative: if you executemultiple ECOM100 EMail Setup IBoxes,then all of the changes are made in the orderthey are executed. Also note that you canrestore the original ECOM100 EMail Setupthat is stored in the ECOM100 to theworking copy by using the ECOM100 Restore Default EMail Setup (ECEMRDS) IBox.
The Workspace parameter is an internal, private register used by this IBox and MUST BEUNIQUE 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 thereis an error, the Error Code parameter will report an ECOM100 error code (less than 100), ora PLC logic error (greater than 1000).
You are limited to approximately 100 characters/bytes of setup data for the entire instruction.So if needed, you could divide the entire setup across multiple ECEMSUP IBoxes on a field-by-field basis, for example do the Carbon Copy (cc:) field in one ECEMSUP IBox and theremaining setup parameters in another.
In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on theECOM100 circuit board.
ECEMSUP Parameters• ECOM100#: this is a logical number associated with this specific ECOM100 module in thespecified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module mustreference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
• Error Code: specifies the location where the Error Code will be written
• SMTP Server IP Addr: optional parameter that specifies the IP Address of the SMTP Server on theECOM100’s network
• Sender Name: optional parameter that specifies the sender name that will appear in the “From:”field to those who receive the e-mail
• Sender EMail: optional parameter that specifies the sender EMail address that will appear in the“From:” field to those who receive the e-mail
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–286
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
ECEMSUP Parameters (cont’d)• Port Number: optional parameter that specifies the TCP/IP Port Number to send SMTP requests;usually this does not to be configured (see your network administrator for information on thissetting)
• Timeout (sec): optional parameter that specifies the number of seconds to wait for the SMTP Serverto send the EMail to all the recipients
• Cc: optional parameter that specifies a list of “carbon copy” Email addresses to send all EMails to
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–287
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
ECEMSUP ExampleRung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of allECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 asECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to movethe module in the base to a different slot, then you only need to change this one IBox. V400is used as a global result status register for the other ECxxxx IBoxes using this specificECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxxIBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte bufferavailable for use by the other ECxxxx IBoxes using this specific ECOM100 module.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–288
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
(example continued on next page)
ECEMSUP Example (cont’d)Rung 2: Whenever an EStop is pushed, ensure that president of the company gets copies ofall EMails being sent.The ECOM100 EMail Setup IBox allows you to set/change the SMTPEMail settings stored in the ECOM100. The ECEMSUP is leading edge triggered, notpower-flow driven (similar to a counter input leg). At power-up, the ROM based EMailconfiguration stored in the ECOM100 is copied to a RAM based "working copy". You canchange this working copy by using the ECEMSUP IBox. To restore the original ROM basedconfiguration, use the Restore Default EMail Setup ECEMRDS IBox.
If successful, turn on C100. If there is a failure, turn on C101. If it fails, you can look atV2000 for the specific error code.
Rung 3: Once the EStop is pulled out, take the president off the cc: list by restoring thedefault EMail setup in the ECOM100.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–289
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ECOM100 IP Setup (ECIPSUP) (IB-717)ECOM100 IP Setup will configure the three TCP/IP parameters in the ECOM100: IPAddress, Subnet Mask, and Gateway Address, on a leading edge transition to the IBox. TheECOM100 is specified by the ECOM100#,which corresponds to a specific uniqueECOM100 Configuration (ECOM100) IBoxat the top of your program.
The Workspace parameter is an internal,private register used by this IBox and MUSTBE UNIQUE in this one instruction andMUST NOT be used anywhere else in yourprogram.
Either the Success or Error bit parameter willturn on once the command is complete. If there is an error, the Error Code parameter willreport an ECOM100 error code (less than 100), or a PLC logic error (greater than 1000).
This setup data is stored in Flash-ROM in the ECOM100 and will disable the ECOM100module for at least a half second until it writes the Flash-ROM. Therefore, it is HIGHLYRECOMMENDED that you only execute this IBox ONCE on first scan. Since it requires aLEADING edge to execute, use a NORMALLY CLOSED SP0 (NOT First Scan) to drivethe power flow to the IBox.
In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on theECOM100 circuit board.ECIPSUP Parameters
• ECOM100#: this is a logical number associated with this specific ECOM100 module in thespecified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module mustreference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
• Error Code: specifies the location where the Error Code will be written
• IP Address: specifies the module’s IP Address
• Subnet Mask: specifies the Subnet Mask for the module to use
• Gateway Address: specifies the Gateway Address for the module to use
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–290
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsIP Address . . . . . . . . . . . . . . . . . . . . . IP Address 0.0.0.1. to 255.255.255.254Subnet Mask Address . . . . . . . IP Address Mask 0.0.0.1. to 255.255.255.254Gateway Address . . . . . . . . . . . . . . . . IP Address 0.0.0.1. to 255.255.255.254
ECIPSUP ExampleRung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of allECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 asECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to movethe module in the base to a different slot, then you only need to change this one IBox. V400is used as a global result status register for the other ECxxxx IBoxes using this specificECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxxIBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte bufferavailable for use by the other ECxxxx IBoxes using this specific ECOM100 module.
Rung 2: On the 2nd scan, configure all of the TCP/IP parameters in the ECOM100:
IP Address: 192.168. 12.100
Subnet Mask: 255.255. 0. 0
Gateway Address: 192.168. 0. 1
The ECIPSUP is leading edge triggered, not power-flow driven (similar to a counter inputleg). The command to write the TCP/IP configuration parameters will be sent to theECOM100 whenever the power flow into the IBox goes from OFF to ON.
If successful, turn on C100. If there is a failure, turn on C101. If it fails, you can look atV2000 for the specific error code.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–291
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ECOM100 Read Description (ECRDDES) (IB-726)ECOM100 Read Description will read the ECOM100's Description field up to the numberof specified characters on a leading edge transition to the IBox.
The Workspace parameter is an internal,private register used by this IBox and MUSTBE UNIQUE in this one instruction andMUST NOT be used anywhere else in yourprogram.
Either the Success or Error bit parameter willturn on once the command is complete.
In order for this ECOM100 IBox to function,you must turn ON dip switch 7 on theECOM100 circuit board.
ECRDDES Parameters• ECOM100#: this is a logical number associated with this specific ECOM100 module in thespecified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module mustreference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
• Description: specifies the starting buffer location where the ECOM100’s Module Name will beplaced
• Num Char: specifies the number of characters (bytes) to read from the ECOM100’s Descriptionfield
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–292
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapDescription . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsNum Chars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K1-128
ECRDDES ExampleRung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of allECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 asECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to movethe module in the base to a different slot, then you only need to change this one IBox. V400is used as a global result status register for the other ECxxxx IBoxes using this specificECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxxIBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte bufferavailable for use by the other ECxxxx IBoxes using this specific ECOM100 module.
Rung 2: On the 2nd scan, read the Module Description of the ECOM100 and store it inV3000 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 inputleg). The command to read the module description will be sent to the ECOM100 wheneverthe power flow into the IBox goes from OFF to ON.
If successful, turn on C100. If there is a failure, turn on C101.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–293
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ECOM100 Read Gateway Address (ECRDGWA) (IB-730)ECOM100 Read Gateway Address will read the 4 parts of the Gateway IP address and storethem in 4 consecutive V-Memory locations in decimal format, on a leading edge transition tothe IBox.
The Workspace parameter is an internal,private register used by this IBox and MUSTBE UNIQUE in this one instruction andMUST NOT be used anywhere else in yourprogram.
Either the Success or Error bit parameter willturn on once the command is complete.
In order for this ECOM100 IBox to function,you must turn ON dip switch 7 on theECOM100 circuit board.
ECRDGWA Parameters• ECOM100#: this is a logical number associated with this specific ECOM100 module in thespecified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module mustreference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
• Gateway IP Addr: specifies the starting address where the ECOM100’s Gateway Address will beplaced in 4 consecutive V-memory locations
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–294
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapGateway IP Address (4 Words) . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
ECRDGWA ExampleRung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of allECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 asECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to movethe module in the base to a different slot, then you only need to change this one IBox. V400is used as a global result status register for the other ECxxxx IBoxes using this specificECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxxIBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte bufferavailable for use by the other ECxxxx IBoxes using this specific ECOM100 module.
Rung 2: On the 2nd scan, read the Gateway Address of the ECOM100 and store it in V3000thru V3003 (4 decimal numbers). The ECOM100's Gateway Address could be displayed byan HMI.
The ECRDGWA is leading edge triggered, not power-flow driven (similar to a counter inputleg). The command to read the Gateway Address will be sent to the ECOM100 whenever thepower flow into the IBox goes from OFF to ON.
If successful, turn on C100. If there is a failure, turn on C101.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–295
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ECOM100 Read IP Address (ECRDIP) (IB-722)ECOM100 Read IP Address will read the 4 parts of the IP address and store them in 4consecutive V-Memory locations in decimal format, on a leading edge transition to the IBox.
The Workspace parameter is an internal,private register used by this IBox and MUSTBE UNIQUE in this one instruction andMUST NOT be used anywhere else in yourprogram.
Either the Success or Error bit parameter willturn on once the command is complete.
In order for this ECOM100 IBox to function,you must turn ON dip switch 7 on theECOM100 circuit board.
ECRDIP Parameters• ECOM100#: this is a logical number associated with this specific ECOM100 module in thespecified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module mustreference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
• IP Address: specifies the starting address where the ECOM100’s IP Address will be placed in 4consecutive V-memory locations
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–296
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapIP Address (4 Words) . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
ECRDIP ExampleRung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of allECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 asECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to movethe module in the base to a different slot, then you only need to change this one IBox. V400is used as a global result status register for the other ECxxxx IBoxes using this specificECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxxIBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte bufferavailable for use by the other ECxxxx IBoxes using this specific ECOM100 module.
Rung 2: On the 2nd scan, read the IP Address of the ECOM100 and store it in V3000 thruV3003 (4 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 inputleg). The command to read the IP Address will be sent to the ECOM100 whenever the powerflow into the IBox goes from OFF to ON.
If successful, turn on C100. If there is a failure, turn on C101.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–297
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ECOM100 Read Module ID (ECRDMID) (IB-720)ECOM100 Read Module ID will read the binary (decimal) WORD sized Module ID on aleading edge transition to the IBox.
The Workspace parameter is an internal,private register used by this IBox and MUSTBE UNIQUE in this one instruction andMUST NOT be used anywhere else in yourprogram.
Either the Success or Error bit parameter willturn on once the command is complete.
In order for this ECOM100 IBox to function,you must turn ON dip switch 7 on theECOM100 circuit board.
ECRDMID Parameters• ECOM100#: this is a logical number associated with this specific ECOM100 module in thespecified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module mustreference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
• Module ID: specifies the location where the ECOM100’s Module ID (decimal) will be placed
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–298
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapModule ID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
ECRDMID ExampleRung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of allECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 asECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to movethe module in the base to a different slot, then you only need to change this one IBox. V400is used as a global result status register for the other ECxxxx IBoxes using this specificECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxxIBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte bufferavailable for use by the other ECxxxx IBoxes using this specific ECOM100 module.
Rung 2: On the 2nd scan, read the Module ID of the ECOM100 and store it in V2000.
The ECRDMID is leading edge triggered, not power-flow driven (similar to a counter inputleg). The command to read the module ID will be sent to the ECOM100 whenever thepower flow into the IBox goes from OFF to ON.
If successful, turn on C100. If there is a failure, turn on C101.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–299
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ECOM100 Read Module Name (ECRDNAM) (IB-724)ECOM100 Read Name will read the Module Name up to the number of specified characterson a leading edge transition to the IBox.
The Workspace parameter is an internal,private register used by this IBox and MUSTBE UNIQUE in this one instruction andMUST NOT be used anywhere else in yourprogram.
Either the Success or Error bit parameter willturn on once the command is complete.
In order for this ECOM100 IBox to function,you must turn ON dip switch 7 on theECOM100 circuit board.
ECRDNAM Parameters• ECOM100#: this is a logical number associated with this specific ECOM100 module in thespecified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module mustreference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
• Module Name: specifies the starting buffer location where the ECOM100’s Module Name will beplaced
• Num Chars: specifies the number of characters (bytes) to read from the ECOM100’s Name field
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–300
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapModule Name . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsNum Chars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K1-128
ECRDNAM ExampleRung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of allECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 asECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to movethe module in the base to a different slot, then you only need to change this one IBox. V400is used as a global result status register for the other ECxxxx IBoxes using this specificECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxxIBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte bufferavailable for use by the other ECxxxx IBoxes using this specific ECOM100 module.
Rung 2: On the 2nd scan, read the Module Name of the ECOM100 and store it in V3000thru 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 inputleg). The command to read the module name will be sent to the ECOM100 whenever thepower flow into the IBox goes from OFF to ON.
If successful, turn on C100. If there is a failure, turn on C101.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–301
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ECOM100 Read Subnet Mask (ECRDSNM) (IB-732)ECOM100 Read Subnet Mask will read the 4 parts of the Subnet Mask and store them in 4consecutive V-Memory locations in decimal format, on a leading edge transition to the IBox.
The Workspace parameter is an internal,private register used by this IBox and MUSTBE UNIQUE in this one instruction andMUST NOT be used anywhere else in yourprogram.
Either the Success or Error bit parameter willturn on once the command is complete.
In order for this ECOM100 IBox to function,you must turn ON dip switch 7 on theECOM100 circuit board.
ECRDSNM Parameters• ECOM100#: this is a logical number associated with this specific ECOM100 module in thespecified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module mustreference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
• Subnet Mask: specifies the starting address where the ECOM100’s Subnet Mask will be placed in 4consecutive V-memory locations
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–302
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapSubnet Mask (4 Words). . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
ECRDSNM ExampleRung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of allECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 asECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to movethe module in the base to a different slot, then you only need to change this one IBox. V400is used as a global result status register for the other ECxxxx IBoxes using this specificECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxxIBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte bufferavailable for use by the other ECxxxx IBoxes using this specific ECOM100 module.
Rung 2: On the 2nd scan, read the Subnet Mask of the ECOM100 and store it in V3000thru V3003 (4 decimal numbers). The ECOM100's Subnet Mask could be displayed by anHMI.
The ECRDSNM is leading edge triggered, not power-flow driven (similar to a counter inputleg). The command to read the Subnet Mask will be sent to the ECOM100 whenever thepower flow into the IBox goes from OFF to ON.
If successful, turn on C100. If there is a failure, turn on C101.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–303
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ECOM100 Write Description (ECWRDES) (IB-727)ECOM100 Write Description will write the given Description to the ECOM100 module ona leading edge transition to the IBox. If you use a dollar sign ($) or double quote ("), use thePRINT/VPRINT escape sequence of TWOdollar signs ($$) for a single dollar sign ordollar sign-double quote ($") for a doublequote character.
The Workspace parameter is an internal,private register used by this IBox and MUSTBE UNIQUE in this one instruction andMUST NOT be used anywhere else in yourprogram.
Either the Success or Error bit parameter willturn on once the command is complete. If there is an error, the Error Code parameter willreport an ECOM100 error code (less than 100), or a PLC logic error (greater than 1000).
The Description is stored in Flash-ROM in the ECOM100 and the execution of this IBoxwill disable the ECOM100 module for at least a half second until it writes the Flash-ROM.Therefore, it is HIGHLY RECOMMENDED that you only execute this IBox ONCE onfirst scan. Since it requires a LEADING edge to execute, use a NORMALLY CLOSED SP0(STR NOT First Scan) to drive the power flow to the IBox.
In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on theECOM100 circuit board.
ECWRDES Parameters• ECOM100#: this is a logical number associated with this specific ECOM100 module in thespecified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module mustreference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
• Error Code: specifies the location where the Error Code will be written
• Description: specifies the Description that will be written to the module
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–304
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsDescription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Text
ECWRDES ExampleRung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of allECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 asECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to movethe module in the base to a different slot, then you only need to change this one IBox. V400is used as a global result status register for the other ECxxxx IBoxes using this specificECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxxIBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte bufferavailable for use by the other ECxxxx IBoxes using this specific ECOM100 module.
Rung 2: On the 2nd scan, set the Module Description of the ECOM100. Typically this isdone using NetEdit, but this IBox allows you to configure the module description in theECOM100 using your ladder program.
The EWRDES is leading edge triggered, not power-flow driven (similar to a counter inputleg). The command to write the module description will be sent to the ECOM100 wheneverthe 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 atV2000 for the specific error code.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–305
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ECOM100 Write Gateway Address (ECWRGWA) (IB-731)ECOM100 Write Gateway Address will write the given Gateway IP Address to theECOM100 module on a leading edge transition to the IBox. See also ECOM100 IP Setup(ECIPSUP) IBox 717 to setup ALL of theTCP/IP parameters in a single instruction - IPAddress, Subnet Mask, and Gateway Address.
The Workspace parameter is an internal,private register used by this IBox and MUSTBE UNIQUE in this one instruction andMUST NOT be used anywhere else in yourprogram.
Either the Success or Error bit parameter willturn on once the command is complete. Ifthere is an error, the Error Code parameter willreport an ECOM100 error code (less than 100), or a PLC logic error (greater than 1000).
The Gateway Address is stored in Flash-ROM in the ECOM100 and the execution of thisIBox will disable the ECOM100 module for at least a half second until it writes the Flash-ROM. Therefore, it is HIGHLY RECOMMENDED that you only execute this IBoxONCE, on first scan. Since it requires a LEADING edge to execute, use a NORMALLYCLOSED SP0 (STR NOT First Scan) to drive the power flow to the IBox.
In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on theECOM100 circuit board.
ECWRGWA Parameters• ECOM100#: this is a logical number associated with this specific ECOM100 module in thespecified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module mustreference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
• Error Code: specifies the location where the Error Code will be written
• Gateway Address: specifies the Gateway IP Address that will be written to the module
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–306
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsGateway Address . . . . . . . . . . . . . . . . . . . . . . . . 0.0.0.1. to 255.255.255.254
ECWRGWA ExampleRung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of allECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 asECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to movethe module in the base to a different slot, then you only need to change this one IBox. V400is used as a global result status register for the other ECxxxx IBoxes using this specificECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxxIBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte bufferavailable for use by the other ECxxxx IBoxes using this specific ECOM100 module.
Rung 2: On the 2nd scan, assign the Gateway Address of the ECOM100 to 192.168.0.1
The ECWRGWA is leading edge triggered, not power-flow driven (similar to a counter inputleg). The command to write the Gateway Address will be sent to the ECOM100 wheneverthe 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 atV2000 for the specific error code.
To configure all of the ECOM100 TCP/IP parameters in one IBox, see the ECOM100 IPSetup (ECIPSUP) IBox.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–307
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ECOM100 Write IP Address (ECWRIP) (IB-723)ECOM100 Write IP Address will write the given IP Address to the ECOM100 module on aleading edge transition to the IBox. See also ECOM100 IP Setup (ECIPSUP) IBox 717 tosetup ALL of the TCP/IP parameters in asingle instruction - IP Address, Subnet Mask,and Gateway Address.
The Workspace parameter is an internal,private register used by this IBox and MUSTBE UNIQUE in this one instruction andMUST NOT be used anywhere else in yourprogram.
Either the Success or Error bit parameter willturn on once the command is complete. Ifthere is an error, the Error Code parameter willreport an ECOM100 error code (less than 100), or a PLC logic error (greater than 1000).
The IP Address is stored in Flash-ROM in the ECOM100 and the execution of this IBox willdisable the ECOM100 module for at least a half second until it writes the Flash-ROM.Therefore, it is HIGHLY RECOMMENDED that you only execute this IBox ONCE onfirst scan. Since it requires a LEADING edge to execute, use a NORMALLY CLOSED SP0(STR NOT First Scan) to drive the power flow to the IBox.
In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on theECOM100 circuit board.
ECWRIP Parameters• ECOM100#: this is a logical number associated with this specific ECOM100 module in thespecified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module mustreference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
• Error Code: specifies the location where the Error Code will be written
• IP Address: specifies the IP Address that will be written to the module
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–308
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsIP Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0.0.0.1. to 255.255.255.254
ECWRIP ExampleRung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of allECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 asECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to movethe module in the base to a different slot, then you only need to change this one IBox. V400is used as a global result status register for the other ECxxxx IBoxes using this specificECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxxIBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte bufferavailable for use by the other ECxxxx IBoxes using this specific ECOM100 module.
Rung 2: On the 2nd scan, assign the IP Address of the ECOM100 to 192.168.12.100
The ECWRIP is leading edge triggered, not power-flow driven (similar to a counter inputleg). The command to write the IP Address will be sent to the ECOM100 whenever thepower 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 atV2000 for the specific error code.
To configure all of the ECOM100 TCP/IP parameters in one IBox, see the ECOM100 IPSetup (ECIPSUP) IBox.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–309
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ECOM100 Write Module ID (ECWRMID) (IB-721)ECOM100 Write Module ID will write the given Module ID on a leading edge transition tothe IBox
If the Module ID is set in the hardware usingthe dipswitches, this IBox will fail and returnerror code 1005 (decimal).
The Workspace parameter is an internal,private register used by this IBox and MUSTBE UNIQUE in this one instruction andMUST NOT be used anywhere else in yourprogram.
Either the Success or Error bit parameter willturn on once the command is complete. Ifthere is an error, the Error Code parameter will report an ECOM100 error code (less than100), or a PLC logic error (greater than 1000).
The Module ID is stored in Flash-ROM in the ECOM100 and the execution of this IBoxwill disable the ECOM100 module for at least a half second until it writes the Flash-ROM.Therefore, it is HIGHLY RECOMMENDED that you only execute this IBox ONCE onfirst scan. Since it requires a LEADING edge to execute, use a NORMALLY CLOSED SP0(STR NOT First Scan) to drive the power flow to the IBox.
In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on theECOM100 circuit board.
ECWRMID Parameters• ECOM100#: this is a logical number associated with this specific ECOM100 module in thespecified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module mustreference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
• Error Code: specifies the location where the Error Code will be written
• Module ID: specifies the Module ID that will be written to the module
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–310
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsModule ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K0-65535
ECWRMID ExampleRung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of allECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 asECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to movethe module in the base to a different slot, then you only need to change this one IBox. V400is used as a global result status register for the other ECxxxx IBoxes using this specificECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxxIBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte bufferavailable for use by the other ECxxxx IBoxes using this specific ECOM100 module.
Rung 2: On the 2nd scan, set the Module ID of the ECOM100. Typically this is done usingNetEdit, but this IBox allows you to configure the module ID of the ECOM100 using yourladder program.
The EWRMID is leading edge triggered, not power-flow driven (similar to a counter inputleg). The command to write the module ID will be sent to the ECOM100 whenever thepower 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 atV2000 for the specific error code.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–311
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ECOM100 Write Name (ECWRNAM) (IB-725)ECOM100 Write Name will write the given Name to the ECOM100 module on a leadingedge transition to the IBox. If you use a dollar sign ($) or double quote ("), use thePRINT/VPRINT escape sequence of TWOdollar signs ($$) for a single dollar sign ordollar sign-double quote ($") for a doublequote character.
The Workspace parameter is an internal,private register used by this IBox and MUSTBE UNIQUE in this one instruction andMUST NOT be used anywhere else in yourprogram.
Either the Success or Error bit parameter willturn on once the command is complete. Ifthere is an error, the Error Code parameter will report an ECOM100 error code (less than100), or a PLC logic error (greater than 1000).
The Name is stored in Flash-ROM in the ECOM100 and the execution of this IBox willdisable the ECOM100 module for at least a half second until it writes the Flash-ROM.Therefore, it is HIGHLY RECOMMENDED that you only execute this IBox ONCE onfirst scan. Since it requires a LEADING edge to execute, use a NORMALLY CLOSED SP0(STR NOT First Scan) to drive the power flow to the IBox.
In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on theECOM100 circuit board.
ECWRNAM Parameters• ECOM100#: this is a logical number associated with this specific ECOM100 module in thespecified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module mustreference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
• Error Code: specifies the location where the Error Code will be written
• Module Name: specifies the Name that will be written to the module
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–312
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsModule Name . . . . . . . . . . . . . . . . . . . . . . . . . . . Text
ECWRNAM ExampleRung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of allECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 asECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to movethe module in the base to a different slot, then you only need to change this one IBox. V400is used as a global result status register for the other ECxxxx IBoxes using this specificECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxxIBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte bufferavailable for use by the other ECxxxx IBoxes using this specific ECOM100 module.
Rung 2: On the 2nd scan, set the Module Name of the ECOM100. Typically this is doneusing NetEdit, but this IBox allows you to configure the module name of the ECOM100using your ladder program.
The EWRNAM is leading edge triggered, not power-flow driven (similar to a counter inputleg). The command to write the module name will be sent to the ECOM100 whenever thepower 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 atV2000 for the specific error code.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–313
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ECOM100 Write Subnet Mask (ECWRSNM) (IB-733)ECOM100 Write Subnet Mask will write the given Subnet Mask to the ECOM100 moduleon a leading edge transition to the IBox. See also ECOM100 IP Setup (ECIPSUP) IBox 717to setup ALL of the TCP/IP parameters in asingle instruction - IP Address, Subnet Mask,and Gateway Address.
The Workspace parameter is an internal,private register used by this IBox and MUSTBE UNIQUE in this one instruction andMUST NOT be used anywhere else in yourprogram.
Either the Success or Error bit parameter willturn on once the command is complete. Ifthere is an error, the Error Code parameterwill report an ECOM100 error code (less than 100), or a PLC logic error (greater than 1000).
The Subnet Mask is stored in Flash-ROM in the ECOM100 and the execution of this IBoxwill disable the ECOM100 module for at least a half second until it writes the Flash-ROM.Therefore, it is HIGHLY RECOMMENDED that you only execute this IBox ONCE onfirst scan. Since it requires a LEADING edge to execute, use a NORMALLY CLOSED SP0(STR NOT First Scan) to drive the power flow to the IBox.
In order for this ECOM100 IBox to function, you must turn ON dip switch 7 on theECOM100 circuit board.
ECWRSNM Parameters• ECOM100#: this is a logical number associated with this specific ECOM100 module in thespecified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module mustreference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
• Error Code: specifies the location where the Error Code will be written
• Subnet Mask: specifies the Subnet Mask that will be written to the module
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–314
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSubnet Mask . . . . . . . . . . . . . . . . . . . . . . . . . . . Masked IP Address
ECWRSNM ExampleRung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of allECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 asECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to movethe module in the base to a different slot, then you only need to change this one IBox. V400is used as a global result status register for the other ECxxxx IBoxes using this specificECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxxIBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte bufferavailable for use by the other ECxxxx IBoxes using this specific ECOM100 module.
Rung 2: On the 2nd scan, assign the Subnet Mask of the ECOM100 to 255.255.0.0
The ECWRSNM is leading edge triggered, not power-flow driven (similar to a counter inputleg). The command to write the Subnet Mask will be sent to the ECOM100 whenever thepower 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 atV2000 for the specific error code.
To configure all of the ECOM100 TCP/IP parameters in one IBox, see the ECOM100 IPSetup (ECIPSUP) IBox.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–315
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ECOM100 RX Network Read (ECRX) (IB-740)ECOM100 RX Network Read performs the RX instruction with built-in interlocking withall other ECOM100 RX (ECRX) and ECOM100 WX (ECWX) IBoxes in your program tosimplify communications networking. It willperform the RX on the specifiedECOM100#'s network, which corresponds toa specific unique ECOM100 Configuration(ECOM100) IBox at the top of yourprogram.
The Workspace parameter is an internal,private register used by this IBox and MUSTBE UNIQUE in this one instruction andMUST NOT be used anywhere else in yourprogram.
Whenever this IBox has power, it will read element data from the specified slave into thegiven destination V-Memory buffer, giving other ECOM100 RX and ECOM100 WX IBoxeson that ECOM100# network a chance to execute.
For example, if you wish to read and write data continuously from 5 different slaves, you canhave all of these ECRX and ECWX instructions in ONE RUNG driven by SP1 (Always On).They will execute round-robin style, automatically.
ECRX Parameters• ECOM100#: this is a logical number associated with this specific ECOM100 module in thespecified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module mustreference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
• Slave ID: specifies the slave ECOM(100) PLC that will be targeted by the ECRX instruction
• From Slave Element (Src): specifies the slave address of the data to be read
• Number of Bytes: specifies the number of bytes to read from the slave ECOM(100) PLC
• To Master Element (Dest): specifies the location where the slave data will be placed in the masterECOM100 PLC
• Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–316
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSlave ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-90From Slave Element (Src) X,Y,C,S,T,CT,GX,GY,V,P See DL06 V-memory mapNumber of Bytes . . . . . . . . . . . . . . . . . . . . . . . K K1-128To Master Element (Dest) . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory map
ECRX ExampleRung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of allECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 asECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to movethe module in the base to a different slot, then you only need to change this one IBox. V400is used as a global result status register for the other ECxxxx IBoxes using this specificECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxxIBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte bufferavailable for use by the other ECxxxx IBoxes using this specific ECOM100 module.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–317
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
(example continued on next page)
ECRX Example (cont’d)Rung 2: Using ECOM100# K0, read X0-X7 from Slave K7 and write them to slave K5 as fastas possible. Store them in this local PLC in C200-C207, and write them to C300-C307 inslave K5.
Both the ECRX and ECWX work with the ECOM100 Config IBox to simplify allnetworking by handling all of the interlocks and proper resource sharing. They also providevery simplified error reporting. You no longer need to worry about any SP "busy bits" or"error bits", or what slot number a module is in, or have any counters or shift registers or anyother interlocks for resource management.
In this example, SP1 (always ON) is driving both the ECRX and ECWX IBoxes in the samerung. On the scan that the Network Read completes, the Network Write will start that samescan. As soon as the Network Write completes, any pending operations below it in theprogram would get a turn. If there are no pending ECOM100 IBoxes below the ECWX,then the very next scan the ECRX would start its request again.
Using the ECRX and ECWX for all of your ECOM100 network reads and writes is thefastest the PLC can do networking. For local Serial Ports, DCM modules, or the originalECOM modules, use the NETCFG and NETRX/NETWX IBoxes.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–318
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
ECOM100 WX Network Write(ECWX) (IB-741)ECOM100 WX Network Write performs the WX instruction with built-in interlocking withall other ECOM100 RX (ECRX) and ECOM100 WX (ECWX) IBoxes in your program tosimplify communications networking. Itwill perform the WX on the specifiedECOM100#'s network, which correspondsto a specific unique ECOM100Configuration (ECOM100) IBox at thetop of your program.
The Workspace parameter is an internal,private register used by this IBox andMUST BE UNIQUE in this oneinstruction and MUST NOT be usedanywhere else in your program.
Whenever this IBox has power, it will write data from the master's V-Memory buffer to thespecified slave starting with the given slave element, giving other ECOM100 RX andECOM100 WX IBoxes on that ECOM100# network a chance to execute.
For example, if you wish to read and write data continuously from 5 different slaves, you canhave all of these ECRX and ECWX instructions in ONE RUNG driven by SP1 (Always On).They will execute round-robin style, automatically.
ECWX Parameters• ECOM100#: this is a logical number associated with this specific ECOM100 module in thespecified slot. All other ECxxxx IBoxes that need to reference this ECOM100 module mustreference this logical number
• Workspace: specifies a V-memory location that will be used by the instruction
• Slave ID: specifies the slave ECOM(100) PLC that will be targeted by the ECWX instruction
• From Master Element (Src): specifies the location in the master ECOM100 PLC where the datawill be sourced from
• Number of Bytes: specifies the number of bytes to write to the slave ECOM(100) PLC
• To Slave Element (Dest): specifies the slave address the data will be written to
• Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–319
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSlave ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-90From Master Element (Src) . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsNumber of Bytes . . . . . . . . . . . . . . . . . . . . . . . K K1-128To Slave Element (Dest) X,Y,C,S,T,CT,GX,GY,V,P See DL06 V-memory mapSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory map
ECWX ExampleRung 1: The ECOM100 Config IBox is responsible for coordination/interlocking of allECOM100 type IBoxes for one specific ECOM100 module. Tag the ECOM100 in slot 1 asECOM100# K0. All other ECxxxx IBoxes refer to this module # as K0. If you need to movethe module in the base to a different slot, then you only need to change this one IBox. V400is used as a global result status register for the other ECxxxx IBoxes using this specificECOM100 module.V401 is used to coordinate/interlock the logic in all of the other ECxxxxIBoxes using this specific ECOM100 module. V402-V502 is a common 130 byte bufferavailable for use by the other ECxxxx IBoxes using this specific ECOM100 module.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–320
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
(example continued on next page)
ECWX Example (cont’d)Rung 2: Using ECOM100# K0, read X0-X7 from Slave K7 and write them to slave K5 as fastas possible. Store them in this local PLC in C200-C207, and write them to C300-C307 inslave K5.
Both the ECRX and ECWX work with the ECOM100 Config IBox to simplify allnetworking by handling all of the interlocks and proper resource sharing. They also providevery simplified error reporting. You no longer need to worry about any SP "busy bits" or"error bits", or what slot number a module is in, or have any counters or shift registers or anyother interlocks for resource management.
In this example, SP1 (always ON) is driving both the ECRX and ECWX IBoxes in the samerung. On the scan that the Network Read completes, the Network Write will start that samescan. As soon as the Network Write completes, any pending operations below it in theprogram would get a turn. If there are no pending ECOM100 IBoxes below the ECWX, thenthe very next scan the ECRX would start its request again.
Using the ECRX and ECWX for all of your ECOM100 network reads and writes is thefastest the PLC can do networking. For local Serial Ports, DCM modules, or the originalECOM modules, use the NETCFG and NETRX/NETWX IBoxes.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–321
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
NETCFG Network Configuration (NETCFG) (IB-700)Network Config defines all the common information necessary for performing RX/WXNetworking using the NETRX and NETWX IBox instructions via a local CPU serial port,DCM or ECOM module.
You must have the Network Configinstruction at the top of your ladder/stageprogram with any other configurationIBoxes.
If you use more than one local serial port,DCM or ECOM in your PLC for RX/WXNetworking, you must have a differentNetwork Config instruction for EACHRX/WX network in your system that utilizesany NETRX/NETWX IBox instructions.
The Workspace parameter is an internal, private register used by the Network Config IBoxand MUST BE UNIQUE in this one instruction and MUST NOT be used anywhere else inyour program.
The 2nd parameter "CPU Port or Slot" is the same value as in the high byte of the first LDinstruction if you were coding the RX or WX rung yourself. This value is CPU and portspecific (check your PLC manual). Use KF2 for the DL06 CPU serial port 2. If using a DCMor ECOM module, use Kx, where x equals the slot where the module is installed.
Since this logic only executes on the first scan, this IBox cannot have any input logic.
NETCFG Parameters• Network#: specifies a unique # for each ECOM(100) or DCM network to use
• CPU Port or Slot: specifies the CPU port number or slot number of DCM/ECOM(100) used
• Workspace: specifies a V-memory location that will be used by the instruction
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–322
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeNetwork# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255CPU Port or Slot . . . . . . . . . . . . . . . . . . . . . . . K K0-FFWorkspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
NETCFG ExampleThe Network Configuration IBox coordinates all of the interaction with other NetworkIBoxes (NETRX/NETWX). You must have a Network Configuration IBox for each serialport 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.
This IBox defines Network# K0 to be for the local CPU serial port #2 (KF2). For local CPUserial ports or DCM/ECOM modules, use the same value you would use in the mostsignificant byte of the first LD instruction in a normal RX/WX rung to reference the port ormodule. Any NETRX or NETWX IBoxes that need to reference this specific network wouldenter K0 for their Network# parameter.
The Workspace register is used to maintain state information about the port or module, alongwith proper sharing and interlocking with the other NETRX and NETWX IBoxes in theprogram. This V-memory register must not be used anywhere else in the entire program.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–323
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Permissive contacts or input logiccannot be used with this instruction.
Network RX Read (NETRX) (IB-701)Network RX Read performs the RX instruction with built-in interlocking with all otherNetwork RX (NETRX) and Network WX (NETWX) IBoxes in your program to simplifycommunications networking. It will performthe RX on the specified Network #, whichcorresponds to a specific unique NetworkConfiguration (NETCFG) at the top of yourprogram.
The Workspace parameter is an internal,private register used by this IBox and MUSTBE UNIQUE in this one instruction andMUST NOT be used anywhere else in yourprogram.
Whenever this IBox has power, it will readelement data from the specified slave into the given destination V-Memory buffer, givingother Network RX and Network WX IBoxes on that Network # a chance to execute.
For example, if you wish to read and write data continuously from 5 different slaves, you canhave all of these NETRX and NETWX instructions in ONE RUNG driven by SP1 (AlwaysOn). They will execute round-robin style, automatically.
NETRX Parameters• Network#: specifies the (CPU port’s, DCM’s, ECOM’s) Network # defined by the NETCFGinstruction
• Workspace: specifies a V-memory location that will be used by the instruction
• Slave ID: specifies the slave PLC that will be targeted by the NETRX instruction
• From Slave Element (Src): specifies the slave address of the data to be read
• Number of Bytes: specifies the number of bytes to read from the slave device
• To Master Element (Dest): specifies the location where the slave data will be placed in the masterPLC
• Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–324
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeNetwork# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSlave ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-90From Slave Element (Src) X,Y,C,S,T,CT,GX,GY,V,P See DL06 V-memory mapNumber of Bytes . . . . . . . . . . . . . . . . . . . . . . . K K1-128To Master Element (Dest) . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory map
NETRX ExampleRung 1: The Network Configuration IBox coordinates all of the interaction with otherNetwork IBoxes (NETRX/NETWX). You must have a Network Configuration IBox foreach serial port network, DCM module network, or original ECOM module network in yoursystem. Configuration IBoxes must be at the top of your program and must execute everyscan.
This IBox defines Network# K0 to be for the local CPU serial port #2 (KF2). For local CPUserial ports or DCM/ECOM modules, use the same value you would use in the mostsignificant byte of the first LD instruction in a normal RX/WX rung to reference the port ormodule. Any NETRX or NETWX IBoxes that need to reference this specific network wouldenter K0 for their Network# parameter.
The Workspace register is used to maintain state information about the port or module, alongwith proper sharing and interlocking with the other NETRX and NETWX IBoxes in theprogram. This V-Memory register must not be used anywhere else in the entire program.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–325
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
(example continued on next page)
Permissive contacts or input logic cannotbe used with this instruction.
NETRX Example (cont’d)Rung 2: Using Network# K0, read X0-X7 from Slave K7 and write them to slave K5 as fast aspossible. Store them in this local PLC in C200-C207, and write them to C300-C307 in slaveK5.
Both the NETRX and NETWX work with the Network Config IBox to simplify allnetworking by handling all of the interlocks and proper resource sharing. They also providevery simplified error reporting. You no longer need to worry about any SP "busy bits" or"error bits", or what port number or slot number a module is in, or have any counters or shiftregisters or any other interlocks for resource management.
In this example, SP1 (always ON) is driving both the NETRX and NETWX IBoxes in thesame rung. On the scan that the Network Read completes, the Network Write will start thatsame scan. As soon as the Network Write completes, any pending operations below it in theprogram would get a turn. If there are no pending NETRX or NETWX IBoxes below thisIBox, then the very next scan the NETRX would start its request again.
Using the NETRX and NETWX for all of your serial port, DCM, or original ECOMnetwork reads and writes is the fastest the PLC can do networking. For ECOM100 modules,use the ECOM100 and ECRX/ECWX IBoxes.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–326
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Network WX Write (NETWX) (IB-702)Network WX Write performs the WX instruction with built-in interlocking with all otherNetwork RX (NETRX) and Network WX (NETWX) IBoxes in your program to simplifycommunications networking. It will performthe WX on the specified Network #, whichcorresponds to a specific unique NetworkConfiguration (NETCFG) at the top of yourprogram.
The Workspace parameter is an internal,private register used by this IBox and MUSTBE UNIQUE in this one instruction andMUST NOT be used anywhere else in yourprogram.
Whenever this IBox has power, it will writedata from the master's V-Memory buffer to the specified slave starting with the given slaveelement, giving other Network RX and Network WX IBoxes on that Network # a chance toexecute.
For example, if you wish to read and write data continuously from 5 different slaves, you canhave all of these NETRX and NETWX instructions in ONE RUNG driven by SP1 (AlwaysOn). They will execute round-robin style, automatically.
NETWX Parameters• Network#: specifies the (CPU port’s, DCM’s, ECOM’s) Network # defined by the NETCFGinstruction
• Workspace: specifies a V-memory location that will be used by the instruction
• Slave ID: specifies the slave PLC that will be targeted by the NETWX instruction
• From Master Element (Src): specifies the location in the master PLC where the data will be sourcedfrom
• Number of Bytes: specifies the number of bytes to write to the slave PLC
• To Slave Element (Dest): specifies the slave address the data will be written to
• Success: specifies a bit that will turn on once the request is completed successfully
• Error: specifies a bit that will turn on if the instruction is not successfully completed
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–327
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeNetwork# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSlave ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-90From Master Element (Src) . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsNumber of Bytes . . . . . . . . . . . . . . . . . . . . . . . K K1-128To Slave Element (Dest) X,Y,C,S,T,CT,GX,GY,V,P See DL06 V-memory mapSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory map
NETWX ExampleRung 1: The Network Configuration IBox coordinates all of the interaction with otherNetwork IBoxes (NETRX/NETWX). You must have a Network Configuration IBox foreach serial port network, DCM module network, or original ECOM module network in yoursystem. Configuration IBoxes must be at the top of your program and must execute everyscan.
This IBox defines Network# K0 to be for the local CPU serial port #2 (KF2). For local CPUserial ports or DCM/ECOM modules, use the same value you would use in the mostsignificant byte of the first LD instruction in a normal RX/WX rung to reference the port ormodule. Any NETRX or NETWX IBoxes that need to reference this specific network wouldenter K0 for their Network# parameter.
The Workspace register is used to maintain state information about the port or module, alongwith proper sharing and interlocking with the other NETRX and NETWX IBoxes in theprogram. This V-Memory register must not be used anywhere else in the entire program.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–328
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
(example continued on next page)
Permissive contacts or input logic cannotbe used with this instruction.
NETWX Example (cont’d)Rung 2: Using Network# K0, read X0-X7 from Slave K7 and write them to slave K5 as fast aspossible. Store them in this local PLC in C200-C207, and write them to C300-C307 in slaveK5.
Both the NETRX and NETWX work with the Network Config IBox to simplify allnetworking by handling all of the interlocks and proper resource sharing. They also providevery simplified error reporting. You no longer need to worry about any SP "busy bits" or"error bits", or what port number or slot number a module is in, or have any counters or shiftregisters or any other interlocks for resource management.
In this example, SP1 (always ON) is driving both the NETRX and NETWX IBoxes in thesame rung. On the scan that the Network Read completes, the Network Write will start thatsame scan. As soon as the Network Write completes, any pending operations below it in theprogram would get a turn. If there are no pending NETRX or NETWX IBoxes below thisIBox, then the very next scan the NETRX would start its request again.
Using the NETRX and NETWX for all of your serial port, DCM, or original ECOMnetwork reads and writes is the fastest the PLC can do networking. For ECOM100 modules,use the ECOM100 and ECRX/ECWX IBoxes.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–329
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
CTRIO Configuration (CTRIO) (IB-1000)CTRIO Config defines all the common information for one specific CTRIO module whichis used by the other CTRIO IBox instructions (for example, CTRLDPR - CTRIO LoadProfile, CTREDRL - CTRIO Edit and ReloadPreset Table, CTRRTLM - CTRIO Run toLimit Mode, ...).
The Input/Output parameters for thisinstruction can be copied directly from theCTRIO Workbench configuration for thisCTRIO module. Since the behavior is slightlydifferent when the CTRIO module is in anEBC Base via an ERM, you must specifywhether the CTRIO module is in a local base orin an EBC base. The DL06 PLC only supportslocal base operation at this time.
You must have the CTRIO Config IBox at the top of your ladder/stage program along withany other configuration IBoxes.
If you have more than one CTRIO in your PLC, you must have a different CTRIO ConfigIBox for EACH CTRIO module in your system that utilizes any CTRIO IBox instructions.Each CTRIO Config IBox must have a UNIQUE CTRIO# value. This is how the CTRIOIBoxes differentiate between the different CTRIO modules in your system.
The Workspace parameter is an internal, private register used by the CTRIO Config IBoxand MUST BE UNIQUE in this one instruction and MUST NOT be used anywhere else inyour program.
Since this logic only executes on the first scan, this IBox cannot have any input logic.
CTRIO Parameters• CTRIO#: specifies a specific CTRIO module based on a user defined number
• Slot: specifies which PLC option slot the CTRIO module occupies
• Workspace: specifies a V-memory location that will be used by the instruction
• CTRIO Location: specifies where the module is located (local base only for DL06)
• Input: This needs to be set to the same V-memory register as is specified in CTRIO Workbench as‘Starting V address for inputs’ for this unique CTRIO.
• Output: This needs to be set to the same V-memory register as is specified in CTRIO Workbench as‘Starting V address for outputs’ for this unique CTRIO.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–330
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
CTRIO ExampleRung 1: This sets up the CTRIO card in slot 2 of the local base. Each CTRIO in the systemwill need a separate CTRIO I-box before any CTRxxxx I-boxes can be used for them. TheCTRIO has been configured to use V2000 through V2025 for its input data, and V2030through V2061 for its output data.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–331
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeCTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Slot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K1-4Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsInput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsOutput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
Permissive contacts or input logic cannotbe used with this instruction
CTRIO Add Entry to End of Preset Table (CTRADPT) (IB-1005)CTRIO Add Entry to End of Preset Table, on a leading edge transition to this IBox, willappend an entry to the end of a memory based Preset Table on a specific CTRIO Outputresource. This IBox will take more than 1 PLCscan to execute. Either the Success or Error bitwill turn on when the command is complete. Ifthe Error Bit is on, you can use the CTRIORead Error Code (CTRRDER) IBox to getextended error information.
Entry Type:
K0: Set
K1: Reset
K2: Pulse On (uses Pulse Time)
K3: Pulse Off (uses Pulse Time)
K4: Toggle
K5: Reset Count
Note that the Pulse Time parameter is ignored by some Entry Types.
The Workspace register is for internal use by this IBox instruction and MUST NOT be usedanywhere else in your program.
CTRAPT Parameters• CTRIO#: specifies a specific CTRIO module based on a user defined number (see CTRIO Config)
• Output#: specifies a CTRIO output to be used by the instruction
• Entry Type: specifies the Entry Type to be added to the end of a Preset Table
• Pulse Time: specifies a pulse time for the Pulse On and Pulse Off Entry Types
• Preset Count: specifies an initial count value to begin at after Reset
• Workspace: specifies a V-memory location that will be used by the instruction
• 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
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–332
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeCTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-3Entry Type . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-5; See DL06 V-memory map - Data WordsPulse Time . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-65535; See DL06 V-memory map - Data WordsPreset Count . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-2147434528; See DL06 V-memory mapWorkspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory map
CTRADPT ExampleRung 1: This sets up the CTRIO card in slot 2 of the local base. Each CTRIO in the systemwill need a separate CTRIO I-box before any CTRxxxx I-boxes can be used for them. TheCTRIO has been configured to use V2000 through V2025 for its input data, and V2030through V2061 for its output data.
Rung 2: This rung is a sample method for enabling the CTRADPT command. A C-bit isused to allow the programmer to control the command from Data View for testing purposes.
Turning on C0 will cause the CTRADPT instruction to add a new preset to the preset tablefor output #0 on the CTRIO in slot 2. The new preset will be a command to RESET (entrytype K1=reset), pulse time is left at zero as the reset type does not use this, and the count atwhich it will reset will be 20.
Operating procedure for this example code is to load the CTRADPT_ex1.cwb file to yourCTRIO, then enter the code shown here, change to RUN mode, enable output #0 by turningon C2 in Data View, turn encoder on CTRIO to value above 10 and output #0 light willcome on and stay on for all counts past 10. Now reset the counter with C1, enable C0 toexecute CTRADPT command to add a reset for output #0 at a count of 20, turn on C2 toenable output #0, then turn encoder to value of 10+ (output #0 should turn on) and thencontinue on to count of 20+ (output #0 should turn off ).
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–333
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D(example continued on next page)
Permissive contacts or input logic cannotbe used with this instruction
CTRADPT Example (cont’d)Rung 3: This rung allows the programmer to reset the counter from the ladder logic.
Rung 4: This rung allows the operator to enable output #0 from the ladder code.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–334
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
CTRIO Clear Preset Table (CTRCLRT) (IB-1007)CTRIO Clear Preset Table will clear the RAM based Preset Table on a leading edge transitionto this IBox. This IBox will take more than 1PLC scan to execute. Either the Success orError bit will turn on when the command iscomplete. If the Error Bit is on, you can usethe CTRIO Read Error Code (CTRRDER)IBox to get extended error information.
The Workspace register is for internal use bythis IBox instruction and MUST NOT beused anywhere else in your program.
CTRCLRT Parameters• CTRIO#: specifies a specific CTRIO module based on a user defined number (see CTRIO Config)
• Output#: specifies a CTRIO output to be used by the instruction
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the instruction has successfully completed
• Error: specifies a bit that will turn on if the instruction does not complete successfully
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–335
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeCTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-3Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory map
CTRCLRT ExampleRung 1: This sets up the CTRIO card in slot 2 of the local base. Each CTRIO in the systemwill need a separate CTRIO I-box before any CTRxxxx I-boxes can be used for them. TheCTRIO has been configured to use V2000 through V2025 for its input data, and V2030through V2061 for its output data.
Rung 2: This rung is a sample method for enabling the CTRCLRT command. A C-bit isused to allow the programmer to control the command from Data View for testing purposes.
Turning on C0 will cause the CTRCLRT instruction to clear the preset table for output #0on the CTRIO in slot 2.
Operating procedure for this example code is to load the CTRCLRT_ex1.cwb file to yourCTRIO, then enter the code shown here, change to RUN mode, enable output #0 by turningon C2 in Data View, turn encoder on CTRIO to value above 10 and output #0 light willcome on and stay on until a count of 20 is reached, where it will turn off. Now reset thecounter with C1, enable C0 to execute CTRCLRT command to clear the preset table, turnon C2 to enable output #0, then turn encoder to value of 10+ (output #0 should NOT turnon).
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–336
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
(example continued on next page)
Permissive contacts or input logic cannotbe used with this instruction.
CTRCLRT Example (cont’d)Rung 3: This rung allows the programmer to reset the counter from the ladder logic.
Rung 4: This rung allows the operator to enable output #0 from the ladder code.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–337
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
CTRIO Edit Preset Table Entry (CTREDPT) (IB-1003)CTRIO Edit Preset Table Entry, on a leading edge transition to this IBox, will edit a singleentry in a Preset Table on a specific CTRIO Output resource. This IBox is good if you areediting more than one entry in a file at a time. If you wish to do just one edit and then reloadthe table immediately, see the CTRIO Editand Reload Preset Table Entry (CTREDRL)IBox. This IBox will take more than 1 PLCscan to execute. Either the Success or Errorbit will turn on when the command iscomplete. If the Error Bit is on, you can usethe CTRIO Read Error Code (CTRRDER)IBox to get extended error information.
Entry Type:
K0: Set
K1: Reset
K2: Pulse On (uses Pulse Time)
K3: Pulse Off (uses Pulse Time)
K4: Toggle
K5: Reset Count
Note that the Pulse Time parameter is ignored by some Entry Types.
The Workspace register is for internal use by this IBox instruction and MUST NOT be usedanywhere else in your program.
CTREDPT Parameters• CTRIO#: specifies a specific CTRIO module based on a user defined number (see CTRIO ConfigIbox)
• Output#: specifies a CTRIO output to be used by the instruction
• Table#: specifies the Table number of which an Entry is to be edited
• Entry#: specifies the Entry location in the Preset Table to be edited
• Entry Type: specifies the Entry Type to add during the edit
• Pulse Time: specifies a pulse time for the Pulse On and Pulse Off Entry Types
• Preset Count: specifies an initial count value to begin at after Reset
• Workspace: specifies a V-memory location that will be used by the instruction
• 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
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–338
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
CTREDPT ExampleRung 1: This sets up the CTRIO card in slot 2 of the local base. Each CTRIO in the systemwill need a separate CTRIO I-box before any CTRxxxx I-boxes can be used for them. TheCTRIO has been configured to use V2000 through V2025 for its input data, and V2030through V2061 for its output data.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–339
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeCTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-3Table# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-255; See DL06 V-memory map - Data WordsEntry# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-255; See DL06 V-memory map - Data WordsEntry Type . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-5; See DL06 V-memory map - Data WordsPulse Time . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-65535; See DL06 V-memory map - Data WordsPreset Count . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-2147434528; See DL06 V-memory mapWorkspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory map
(example continued on next page)
Permissive contacts or input logic cannotbe used with this instruction
CTREDPT Example (cont’d)Rung 2: This rung is a sample method for enabling the CTREDPT command. A C-bit isused to allow the programmer to control the command from Data View for testing purposes.
Turning on C0 will cause the CTREDPT instruction to change the second preset from a resetat a count of 20 to a reset at a count of 30 for output #0 on the CTRIO in slot 2.
Operating procedure for this example code is to load the CTREDPT_ex1.cwb file to yourCTRIO, then enter the code shown here, change to RUN mode, enable output #0 by turningon C2 in Data View, turn encoder on CTRIO to value above 10 and output #0 light willcome on and stay on until a count of 20 is reached, where it will turn off. Now reset thecounter with C1, enable C0 to execute CTREDPT command to change the second preset,turn on C2 to enable output #0, then turn encoder to value of 10+ (output #0 should turnon) and then continue past a count of 30 (output #0 should turn off ).
Note that we must also reload the profile after changing the preset(s), this is why theCTRLDPR command follows the CTREDPT command in this example.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–340
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
(example continued on next page)
CTREDPT Example (cont’d)Rung 3: This rung allows the programmer to reset the counter from the ladder logic.
Rung 4: This rung allows the operator to enable output #0 from the ladder code.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–341
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
CTRIO Edit Preset Table Entry and Reload (CTREDRL) (IB-1002)CTRIO Edit Preset Table Entry and Reload, on a leading edge transition to this IBox, willperform this dual operation to a CTRIO Output resource in one CTRIO command. ThisIBox will take more than 1 PLC scan toexecute. Either the Success or Error bit willturn on when the command is complete. Ifthe Error Bit is on, you can use the CTRIORead Error Code (CTRRDER) IBox to getextended error information.
Entry Type:
K0: Set
K1: Reset
K2: Pulse On (uses Pulse Time)
K3: Pulse Off (uses Pulse Time)
K4: Toggle
K5: Reset Count
Note that the Pulse Time parameter is ignored by some Entry Types.
The Workspace register is for internal use by this IBox instruction and MUST NOT be usedanywhere else in your program.
CTREDRL Parameters• CTRIO#: specifies a specific CTRIO module based on a user defined number (see CTRIO ConfigIbox)
• Output#: specifies a CTRIO output to be used by the instruction
• Table#: specifies the Table number of which an Entry is to be edited
• Entry#: specifies the Entry location in the Preset Table to be edited
• Entry Type: specifies the Entry Type to add during the edit
• Pulse Time: specifies a pulse time for the Pulse On and Pulse Off Entry Types
• Preset Count: specifies an initial count value to begin at after Reset
• Workspace: specifies a V-memory location that will be used by the instruction
• 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
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–342
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
CTREDRL ExampleRung 1: This sets up the CTRIO card in slot 2 of the local base. Each CTRIO in the systemwill need a separate CTRIO I-box before any CTRxxxx I-boxes can be used for them. TheCTRIO has been configured to use V2000 through V2025 for its input data, and V2030through V2061 for its output data.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–343
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeCTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-3Table# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-255; See DL06 V-memory map - Data WordsEntry# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-255; See DL06 V-memory map - Data WordsEntry Type . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-5; See DL06 V-memory map - Data WordsPulse Time . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-65535; See DL06 V-memory map - Data WordsPreset Count . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-2147434528; See DL06 V-memory mapWorkspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory map
(example continued on next page)
Permissive contacts or input logic cannotbe used with this instruction
CTREDRL Example (cont’d)Rung 2: This rung is a sample method for enabling the CTREDRL command. A C-bit isused to allow the programmer to control the command from Data View for testing purposes.
Turning on C0 will cause the CTREDRL instruction to change the second preset in file 1from a reset at a value of 20 to a reset at a value of 30.
Operating procedure for this example code is to load the CTREDRL_ex1.cwb file to yourCTRIO, then enter the code shown here, change to RUN mode, enable output #0 by turningon C2 in Data View, turn encoder on CTRIO to value above 10 and output #0 light willcome on, continue to a count above 20 and the output #0 light will turn off. Now reset thecounter with C1, enable C0 to execute CTREDRL command to change the second presetcount value to 30, then turn encoder to value of 10+ (output #0 should turn on) andcontinue on to a value of 30+ and the output #0 light will turn off.
Note that it is not necessary to reload this file separately, however, the command can onlychange one value at a time.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–344
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
(example continued on next page)
CTREDRL Example (cont’d)Rung 3: This rung allows the programmer to reset the counter from the ladder logic.
Rung 4: This rung allows the operator to enable output #0 from the ladder code.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–345
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
CTRIO Initialize Preset Table (CTRINPT) (IB-1004)CTRIO Initialize Preset Table, on a leading edge transition to this IBox, will create a singleentry Preset Table in memory but not as a file, on a specific CTRIO Output resource. ThisIBox will take more than 1 PLC scan toexecute. Either the Success or Error bit willturn on when the command is complete. Ifthe Error Bit is on, you can use the CTRIORead Error Code (CTRRDER) IBox to getextended error information.
Entry Type:
K0: Set
K1: Reset
K2: Pulse On (uses Pulse Time)
K3: Pulse Off (uses Pulse Time)
K4: Toggle
K5: Reset Count
Note that the Pulse Time parameter is ignored by some Entry Types.
The Workspace register is for internal use by this IBox instruction and MUST NOT be usedanywhere else in your program.
CTRINPT Parameters• CTRIO#: specifies a specific CTRIO module based on a user defined number (see CTRIO ConfigIbox)
• Output#: specifies a CTRIO output to be used by the instruction
• Entry Type: specifies the Entry Type to add during the edit
• Pulse Time: specifies a pulse time for the Pulse On and Pulse Off Entry Types
• Preset Count: specifies an initial count value to begin at after Reset
• Workspace: specifies a V-memory location that will be used by the instruction
• 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
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–346
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
CTRINPT ExampleRung 1: This sets up the CTRIO card in slot 2 of the local base. Each CTRIO in the systemwill need a separate CTRIO I-box before any CTRxxxx I-boxes can be used for them. TheCTRIO has been configured to use V2000 through V2025 for its input data, and V2030through V2061 for its output data.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–347
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeCTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-3Entry Type . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-5; See DL06 V-memory map - Data WordsPulse Time . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-65535; See DL06 V-memory map - Data WordsPreset Count . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-2147434528; See DL06 V-memory mapWorkspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory map
(example continued on next page)
Permissive contacts or input logic cannotbe used with this instruction.
CTRINPT Example (cont’d)Rung 2: This rung is a sample method for enabling the CTRINPT command. A C-bit is usedto allow the programmer to control the command from Data View for testing purposes.
Turning on C0 will cause the CTRINPT instruction to create a single entry preset table, butnot as a file, and use it for the output #0. In this case the single preset will be a set at a countof 15 for output #0.
Operating procedure for this example code is to load the CTRINPT_ex1.cwb file to yourCTRIO, then enter the code shown here, change to RUN mode, enable output #0 by turningon C2 in Data View, turn encoder on CTRIO to value above 15 and output #0 light will notcome on. Now reset the counter with C1, enable C0 to execute CTRINPT command tocreate a single preset table with a preset to set output #0 at a count of 15, then turn encoderto value of 15+ (output #0 should turn on).
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–348
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
(example continued on next page)
CTRINPT Example (cont’d)Rung 3: This rung allows the programmer to reset the counter from the ladder logic.
Rung 4: This rung allows the operator to enable output #0 from the ladder code.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–349
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
CTRIO Initialize Preset Table (CTRINTR) (IB-1010)CTRIO Initialize Preset Table, on a leading edge transition to this IBox, will create a singleentry Preset Table in memory but not as a file, on a specific CTRIO Output resource.ThisIBox will take more than 1 PLC scan toexecute. Either the Success or Error bit willturn on when the command is complete. Ifthe Error Bit is on, you can use the CTRIORead Error Code (CTRRDER) IBox to getextended error information.
Entry Type:
K0: Set
K1: Reset
K2: Pulse On (uses Pulse Time)
K3: Pulse Off (uses Pulse Time)
K4: Toggle
K5: Reset Count
Note that the Pulse Time parameter is ignored by some Entry Types.
The Workspace register is for internal use by this IBox instruction and MUST NOT be usedanywhere else in your program.
CTRINTR Parameters• CTRIO#: specifies a specific CTRIO module based on a user defined number (see CTRIO ConfigIbox)
• Output#: specifies a CTRIO output to be used by the instruction
• Entry Type: specifies the Entry Type to add during the edit
• Pulse Time: specifies a pulse time for the Pulse On and Pulse Off Entry Types
• Preset Count: specifies an initial count value to begin at after Reset
• Workspace: specifies a V-memory location that will be used by the instruction
• 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
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–350
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
CTRINTR ExampleRung 1: This sets up the CTRIO card in slot 2 of the local base. Each CTRIO in the systemwill need a separate CTRIO I-box before any CTRxxxx I-boxes can be used for them. TheCTRIO has been configured to use V2000 through V2025 for its input data, and V2030through V2061 for its output data.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–351
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeCTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-3Entry Type . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-5; See DL06 V-memory map - Data WordsPulse Time . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-65535; See DL06 V-memory map - Data WordsPreset Count . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-2147434528; See DL06 V-memory mapWorkspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory map
(example continued on next page)
Permissive contacts or input logic cannotbe used with this instruction
CTRINTR Example (cont’d)Rung 2: This rung is a sample method for enabling the CTRINTR command. A C-bit isused to allow the programmer to control the command from Data View for testing purposes.
Turning on C0 will cause the CTRINTR instruction to create a single entry preset table, butnot as a file, and use it for output #0, the new preset will be loaded when the current count isreset. In this case the single preset will be a set at a count of 25 for output #0.
Operating procedure for this example code is to load the CTRINTR_ex1.cwb file to yourCTRIO, then enter the code shown here, change to RUN mode, enable output #0 by turningon C2 in Data View, turn encoder on CTRIO to value above 10 and output #0 light willcome on. Now turn on C0 to execute the CTRINTR command, reset the counter with C1,then turn encoder to value of 25+ (output #0 should turn on).
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–352
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
(example continued on next page)
CTRINTR Example (cont’d)Rung 3: This rung allows the programmer to reset the counter from the ladder logic.
Rung 4: This rung allows the operator to enable output #0 from the ladder code.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–353
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
CTRIO Load Profile (CTRLDPR) (IB-1001)CTRIO Load Profile loads a CTRIO Profile File to a CTRIO Output resource on a leadingedge transition to this IBox. This IBox will take more than 1 PLC scan to execute. Either theSuccess or Error bit will turn on when thecommand is complete. If the Error Bit is on,you can use the CTRIO Read Error Code(CTRRDER) IBox to get extended errorinformation.
The Workspace register is for internal use bythis IBox instruction and MUST NOT beused anywhere else in your program.
CTRLDPR Parameters• CTRIO#: specifies a specific CTRIO module based on a user defined number (see CTRIO Config)
• Output#: specifies a CTRIO output to be used by the instruction
• File#: specifies a CTRIO profile File number to be loaded
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the instruction has successfully completed
• Error: specifies a bit that will turn on if the instruction does not complete successfully
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–354
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeCTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-3File# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-255; See DL06 V-memory map - Data WordsWorkspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory map
CTRLDPR ExampleRung 1: This sets up the CTRIO card in slot 2 of the local base. Each CTRIO in the systemwill need a separate CTRIO I-box before any CTRxxxx I-boxes can be used for them. TheCTRIO has been configured to use V2000 through V2025 for its input data, and V2030through V2061 for its output data.
Rung 2: This CTRIO Load Profile IBox will load File #1 into the working memory ofOutput 0 in CTRIO #1. This example program requires that you load CTRLDPR_IBox.cwbinto your Hx-CTRIO(2) module.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–355
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
(example continued on next page)
Permissive contacts or input logic cannotbe used with this instruction.
CTRLDPR Example (cont’d)Rung 3: If the file is successfully loaded, set Profile_Loaded.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–356
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
CTRIO Read Error (CTRRDER) (IB-1014)CTRIO Read Error Code will get the decimal error code value from the CTRIO module(listed below) and place it into the given Error Code register, on a leading edge transition tothe IBox
Since the Error Code in the CTRIO is onlymaintained until another CTRIO command isgiven, you must use this instruction immediatelyafter the CTRIO IBox that reports an error via itsError bit parameter.
The Workspace register is for internal use by thisIBox instruction and MUST NOT be usedanywhere else in your program.
Error Codes:
0: No Error
100: Specified command code is unknown or unsupported
101: File number not found in the file system
102: File type is incorrect for specified output function
103: Profile type is unknown
104: Specified input is not configured as a limit on this output
105: Specified limit input edge is out of range
106: Specified input function is unconfigured or invalid
107: Specified input function number is out of range
108: Specified preset function is invalid
109: Preset table is full
110: Specified Table entry is out of range
111: Specified register number is out of range
112: Specified register is an unconfigured input or output
2001: Error reading Error Code - cannot access CTRIO via ERM
CTRRDER Parameters• CTRIO#: specifies a specific CTRIO module based on a user defined number (see CTRIO Config)
• Workspace: specifies a V-memory location that will be used by the instruction
• Error Code: specifies the location where the Error Code will be written
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–357
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeCTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsError Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data Words
CTRRDER ExampleRung 1: This sets up the CTRIO card in slot 2 of the local base. Each CTRIO in the systemwill need a separate CTRIO I-box before any CTRxxxx I-boxes can be used for them. TheCTRIO has been configured to use V2000 through V2025 for its input data, and V2030through V2061 for its output data.
Rung 2: This CTRIO Read Error Code IBox will read the Extended Error information fromCTRIO #1. This example program requires that you load CTRRDER_IBox.cwb into yourHx-CTRIO(2) module.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–358
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Permissive contacts or input logic cannotbe used with this instruction
CTRIO Run to Limit Mode (CTRRTLM) (IB-1011)CTRIO Run To Limit Mode, on a leading edge transition to this IBox, loads the Run toLimit command and given parameters on a specific Output resource. The CTRIO's Input(s)must be configured as Limit(s) for this function to work.
Valid Hexadecimal Limit Values:
K00 - Rising Edge of Ch1/C
K10 - Falling Edge of Ch1/C
K20 - Both Edges of Ch1/C
K01 - Rising Edge of Ch1/D
K11 - Falling Edge of Ch1/D
K21 - Both Edges of Ch1/D
K02 - Rising Edge of Ch2/C
K12 - Falling Edge of Ch2/C
K22 - Both Edges of Ch2/C
K03 - Rising Edge of Ch2/D
K13 - Falling Edge of Ch2/D
K23 - Both Edges of Ch2/DThis IBox will take more than 1 PLC scan to execute. Either the Success or Error bit will turnon when the command is complete. If the Error Bit is on, you can use the CTRIO ReadError Code (CTRRDER) IBox to get extended error information.
The Workspace register is for internal use by this IBox instruction and MUST NOT be usedanywhere else in your program.
CTRRTLM Parameters• CTRIO#: specifies a specific CTRIO module based on a user defined number (see CTRIO ConfigIbox)
• Output#: specifies a CTRIO output to be used by the instruction
• Frequency: specifies the output pulse rate (H0-CTRIO: 20Hz - 25KHz / H0-CTRIO2: 20Hz -250 KHz)
• Limit: the CTRIO's Input(s) must be configured as Limit(s) for this function to operate
• Duty Cycle: specifies the % of on time versus off time. This is a hex number. Default of 0 is 50%,also entering 50 will yield 50%. 50% duty cycle is defined as on half the time and off half the time
• Workspace: specifies a V-memory location that will be used by the instruction
• 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
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–359
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
CTRRTLM ExampleRung 1: This sets up the CTRIO card in slot 2 of the local base. Each CTRIO in the systemwill need a separate CTRIO I-box before any CTRxxxx I-boxes can be used for them. TheCTRIO has been configured to use V2000 through V2025 for its input data, and V2030through V2061 for its output data.
Rung 2: This CTRIO Run To Limit Mode IBox sets up Output #0 in CTRIO #1 to outputpulses at a Frequency of 1000 Hz until Llimit #0 comes on. This example program requiresthat you load CTRRTLM_IBox.cwb into your Hx-CTRIO(2) module.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–360
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeCTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-3Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K20-20000; See DL06 V-memory map - Data WordsLimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-FF; See DL06 V-memory map - Data WordsDuty Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-99; See DL06 V-memory map - Data WordsWorkspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory map
(example continued on next page)
Permissive contacts or input logic cannotbe used with this instruction.
CTRRTLM Example (cont’d)Rung 3: If the Run To Limit Mode parameters are OK, set the Direction Bit and Enable theoutput.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–361
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
CTRIO Run to Position Mode (CTRRTPM) (IB-1012)CTRIO Run To Position Mode, on a leading edge transition to this IBox, loads the Run toPosition command and given parameters on a specific Output resource.
Valid Function Values are:
00: Less Than Ch1/Fn1
10: Greater Than Ch1/Fn1
01: Less Than Ch1/Fn2
11: Greater Than Ch1/Fn2
02: Less Than Ch2/Fn1
12: Greater Than Ch2/Fn1
03: Less Than Ch2/Fn2
13: Greater Than Ch2/Fn2This IBox will take more than 1 PLC scanto execute. Either the Success or Error bitwill turn on when the command iscomplete. If the Error Bit is on, you canuse the CTRIO Read Error Code(CTRRDER) IBox to get extended errorinformation.
The Workspace register is for internal use by this IBox instruction and MUST NOT be usedanywhere else in your program.
CTRRTPM Parameters• CTRIO#: specifies a specific CTRIO module based on a user defined number (see CTRIO ConfigIbox)
• Output#: specifies a CTRIO output to be used by the instruction
• Frequency: specifies the output pulse rate (H0-CTRIO: 20Hz - 25KHz / H0-CTRIO2: 20Hz -250 KHz)
• Duty Cycle: specifies the % of on time versus off time. This is a hex number. Default of 0 is 50%,also entering 50 will yield 50%. 50% duty cycle is defined as on half the time and off half the time
• Position: specifies the count value, as measured on the encoder input, at which the output pulsetrain will be turned off
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the instruction has successfully completed
• Error: specifies a bit that will turn on if the instruction does not complete successfully
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–362
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
CTRRTPM ExampleRung 1: This sets up the CTRIO card in slot 2 of the local base. Each CTRIO in the systemwill need a separate CTRIO I-box before any CTRxxxx I-boxes can be used for them. TheCTRIO has been configured to use V2000 through V2025 for its input data, and V2030through V2061 for its output data.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–363
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Parameter DL06 RangeCTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-3Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K20-20000; See DL06 V-memory map - Data WordsDuty Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-99; See DL06 V-memory mapPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-2147434528; See DL06 V-memory mapWorkspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory map
(example continued on next page)
Permissive contacts or input logic cannotbe used with this instruction.
CTRRTPM Example (cont’d)Rung 2: This CTRIO Run To Position Mode IBox sets up Output #0 in CTRIO #1 tooutput pulses at a Frequency of 1000 Hz, use the 'Greater than Ch1/Fn1' comparisonoperator, until the input position of 1500 is reached. This example program requires that youload CTRRTPM_IBox.cwb into your Hx-CTRIO(2) module.
Rung 3: If the Run To Position Mode parameters are OK, set the Direction Bit and Enablethe output.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–364
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
CTRIO Velocity Mode (CTRVELO) (IB-1013)CTRIO Velocity Mode loads the Velocity command and given parameters on a specificOutput resource on a leading edge transition to this IBox.
This IBox will take more than 1 PLC scanto execute. Either the Success or Error bitwill turn on when the command iscomplete. If the Error Bit is on, you canuse the CTRIO Read Error Code(CTRRDER) IBox to get extended errorinformation.
The Workspace register is for internal useby this IBox instruction and MUST NOTbe used anywhere else in your program.
CTRVELO Parameters• CTRIO#: specifies a specific CTRIO module based on a user defined number (see CTRIO ConfigIbox)
• Output#: specifies a CTRIO output to be used by the instruction
• Frequency: specifies the output pulse rate (H0-CTRIO: 20Hz - 25KHz / H0-CTRIO2: 20Hz -250 KHz)
• Duty Cycle: specifies the % of on time versus off time. This is a hex number. Default of 0 is 50%,also entering 50 will yield 50%. 50% duty cycle is defined as on half the time and off half the time
• Step Count: specifies the target position as a 32-bit Hex number, a value of Kffffffff will cause theprofile to run continuously as long as the output is enabled
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the instruction has successfully completed
• Error: specifies a bit that will turn on if the instruction does not complete successfully
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–365
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeCTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-3Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K20-20000; See DL06 V-memory map - Data WordsDuty Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-99; See DL06 V-memory mapStep Count . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-2147434528; See DL06 V-memory mapWorkspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory map
CTRVELO ExampleRung 1: This sets up the CTRIO card in slot 2 of the local base. Each CTRIO in the systemwill need a separate CTRIO I-box before any CTRxxxx I-boxes can be used for them. TheCTRIO has been configured to use V2000 through V2025 for its input data, and V2030through V2061 for its output data.
Rung 2: This CTRIO Velocity Mode IBox sets up Output #0 in CTRIO #1 to output10,000 pulses at a Frequency of 1000 Hz. This example program requires that you loadCTRVELO_IBox.cwb into your Hx-CTRIO(2) module.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–366
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
(example continued on next page)
Permissive contacts or input logic cannotbe used with this instruction.
CTRVELO Example (cont’d)Rung 3: If the Velocity Mode parameters are OK, set the Direction Bit and Enable theoutput.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–367
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
CTRIO Write File to ROM (CTRWFTR) (IB-1006)CTRIO Write File to ROM writes the runtime changes made to a loaded CTRIO PresetTable back to Flash ROM on a leading edge transition to this IBox. This IBox will take morethan 1 PLC scan to execute. Either theSuccess or Error bit will turn on when thecommand is complete. If the Error Bit is on,you can use the CTRIO Read Error Code(CTRRDER) IBox to get extended errorinformation.
The Workspace register is for internal use bythis IBox instruction and MUST NOT beused anywhere else in your program.
CTRWFTR Parameters• CTRIO#: specifies a specific CTRIO module based on a user defined number (see CTRIO ConfigIbox)
• Output#: specifies a CTRIO output to be used by the instruction
• Workspace: specifies a V-memory location that will be used by the instruction
• Success: specifies a bit that will turn on once the instruction has successfully completed
• Error: specifies a bit that will turn on if the instruction does not complete successfully
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–368
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
DS Used
HPP N/A
Parameter DL06 RangeCTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-3Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V See DL06 V-memory map - Data WordsSuccess . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory mapError . . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B See DL06 V-memory map
CTRWFTR ExampleRung 1: This sets up the CTRIO card in slot 2 of the local base. Each CTRIO in the systemwill need a separate CTRIO I-box before any CTRxxxx I-boxes can be used for them. TheCTRIO has been configured to use V2000 through V2025 for its input data, and V2030through V2061 for its output data.
Rung 2: This CTRIO Edit Preset Table Entry IBox will change Entry 0 in Table #2 to be aRESET at Count 3456. This example program requires that you load CTRWFTR_IBox.cwbinto your Hx-CTRIO(2) module.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C 5–369
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
(example continued on next page)
Permissive contacts or input logic cannotbe used with this instruction
CTRWFTR Example (cont’d)Rung 3: If the file is successfully edited, use a Write File To ROM IBox to save the editedtable back to the CTRIO's ROM, thereby making the changes retentive.
DL06 Micro PLC User Manual, 3rd Edition, Rev. C5–370
Chapter 5: Intelligent Box (IBox) Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D