DL305 Handheld Programmer Manual Number D3--HP-M WARNING Thank you for purchasing automation equipment from PLCDirectä. We want your new DirectLOGICä automation equipment to operate safely. Anyone who installs or uses this equipment should read this publication (and any other relevant publications) before installing or operating the equipment. To minimize the risk of potential safety problems, you should follow all applicable local and national codes that regulate the installation and operation of your equipment. These codes vary from area to area and usually change with time. It is your responsibility to determine which codes should be followed, and to verify that the equipment, installation, and operation is in compliance with the latest revision of these codes. At a minimum, you should follow all applicable sections of the National Fire Code, National Electrical Code, and the codes of the National Electrical Manufacturer’s Association (NEMA). There may be local regulatory or government offices that can also help determine which codes and standards are necessary for safe installation and operation. Equipment damage or serious injury to personnel can result from the failure to follow all applicable codes and standards. We do not guarantee the products described in this publication are suitable for your particular application, nor do we assume any responsibility for your product design, installation, or operation. If you have any questions concerning the installation or operation of this equipment, or if you need additional information, please call us at 1--800--633--0405. This publication is based on information that was available at the time it was printed. At PLCDirectä we constantly strive to improve our products and services, so we reserve the right to make changes to the products and/or publications at any time without notice and without any obligation. This publication may also discuss features that may not be available in certain revisions of the product. Trademarks This publication may contain references to products produced and/or offered by other companies. The product and company names may be trademarked and are the sole property of their respective owners. PLCDirectä disclaims any proprietary interest in the marks and names of others. Stage is a trademark of Koyo Electronics Industries Co., LTD. Think & Do Software is a trademark of Think & Do Software, Inc. Texas Instruments is a registered trademark of Texas Instruments, Inc. TI, TIWAY, Series 305, Series 405, TI305, and TI405 are trademarks of Texas Instruments, Inc. Siemens and SIMATIC are registered trademarks of Siemens, AG. GE is a registered trademark of General Electric Corporation. Series One is a registered trademark of GE Fanuc Automation North America, Inc. MODBUS is a registered trademark of Gould, Inc. IBM is a registered trademark of International Business Machines. MS-DOS and Microsoft are registered trademarks of Microsoft Corporation. Windows and Windows NT are trademarks of Microsoft Corporation. OPTOMUX and PAMUX are trademarks of OPTO 22. Copyright 1998, PLCDirectä Incorporated All Rights Reserved No part of this manual shall be copied, reproduced, or transmitted in any way without the prior, written consent of PLCDirectä Incorporated. PLCDirectä retains the exclusive rights to all information included in this document. 1 Manual History If you contact us in reference to this manual, remember to include the revision number. Title: DL305 Handheld Programmers, D3--HP & D3--HPP Manual Number: D3--HP--M Issue Date Original 1/94 REV A 3/96 Rev. B 5/98 Effective Pages Cover/Copyright Contents Manual Revisions 1-1 -- 1-15 2-1 -- 2-26 3-1 -- 3-13 4-1 -- 4-9 5-1 -- 5-11 6-1 -- 6-13 A-1 -- A-14 Description of Changes Original Issue Minor changes throughout Entire Manual 1--15, 2--5 and 2--15 Downsized to spiral version. Minor changes 1 Table of Contents Chapter 1: Getting Started Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DL305 Handheld Programmer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Purpose of this manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Who should read this manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How this manual is organized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Supplemental Manuals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How can I use the Handheld? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . As a Programming Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . To Monitor Machine Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Physical Characteristics and Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Handheld Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Connection Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Handheld Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Status LEDs and Key Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RLL PLUS vs. RLL Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instruction Identifier and Numeric Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Address / Data Display Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instruction LEDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CPU Status LEDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clearing the Display Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CPU Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the CPU Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clearing an Existing Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . You’ve got the Basics! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1--2 1--2 1--2 1--2 1--3 1--3 1--4 1--4 1--5 1--6 1--6 1--6 1--7 1--8 1--8 1--8 1--10 1--10 1--11 1--11 1--12 1--13 1--14 1--14 1--15 1--15 ii Table of Contents Chapter 2: Entering RLL Programs Entering Simple Ladder Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Purpose of the Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Handheld Key Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Starting at Address 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Entering an END Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Entering Simple Rungs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Entering Normally Closed Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a constant value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Entering Series Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Entering Parallel Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Joining Series Branches in Parallel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Joining Parallel Branches in Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Entering Timers and Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Entering Master Control Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Entering Shift Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Entering Data Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Checking for Program Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Automatic Error Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Syntax Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2--2 2--2 2--2 2--2 2--3 2--3 2--4 2--5 2--6 2--7 2--8 2--10 2--12 2--16 2--18 2--20 2--22 2--26 2--26 2--26 Chapter 3: Entering RLL PLUS Programs RLL PLUS Programming Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--2 Entering an Initial Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--4 Entering Jump Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--5 Entering Stage Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--6 Entering Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--8 Entering Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--10 Entering Shift Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3--12 Chapter 4: Changing Programs Displaying a Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4--2 Finding a Specific Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4--4 Finding a Specific Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4--5 Changing an Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4--6 Inserting an Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4--7 Inserting an END Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4--8 Deleting an Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4--9 Table of Contents iii Chapter 5: Protecting and Storing Programs Password Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5--2 Storing Programs on Cassette Tapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cassette Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Connecting the Cassette Recorder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Program Names on Cassettes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Writing a Program to the Cassette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verifying the Tape Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reading a Program from a Cassette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5--3 5--3 5--3 5--3 5--4 5--6 5--9 Chapter 6: System Monitoring and Troubleshooting Troubleshooting Suggestions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6--2 Monitoring Discrete Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6--3 Forcing Discrete Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6--4 Monitoring Register Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6--6 Changing Register Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6--6 Monitoring Timer/Counter Current Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6--7 Changing Timer/Counter Current Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6--7 Monitoring Program Stages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6--8 Forcing Program Stages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6--10 Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6--12 Appendix A: DL305 Memory Map DL330 Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A--2 DL330P Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A--3 DL340 Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A--4 I/O Point Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A--5 Control Relay Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A--6 Special Relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A--8 Timer / Counter Registers and Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A--9 External Timer/Counter Setpoint Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A--9 Data Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A--10 Stage Control / Status Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A--12 Shift Register Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A--13 Special Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A--14 Getting Started 11 In This Chapter. . . . — Introduction — How can I use the Handheld? — Physical Characteristics and Specifications — Handheld Basics — CPU Setup 1--2 Getting Started Getting Started Introduction DL305 Handheld Programmer Purpose of this manual Who should read this manual The DL305 Handheld Programmer is a general purpose programming tool for use with the DL305 family of automation products. The Handheld is well suited for entering small programs or for troubleshooting machine operations. It is not the ideal choice for entering larger, more complex programs. For these types of programs, you should consider using DirectSOFT, our PC-based programming software. DL305 Handheld There are two versions of Handheld Programmers available. S D3--HP — RLL version for all RLL CPUs S D3--HPP — RLL PLUS version for all RLL PLUS CPUs RLL PLUS is just like normal RLL, but a few instructions have been added that make it much easier to use and understand. Programs are usually much shorter and considerably easier to troubleshoot. The best thing to do right now is to make sure you have the correct version of Handheld for use with your CPU. (Trust me, it’s easier this way.) This manual will teach you the basic keystrokes used with the Handheld. It does not provide an example of every instruction. Once you understand the basic keystroke techniques, you should use the DL305 User Manual to determine the instruction operation details and keystroke requirements for the individual instructions. Since we constantly try to improve our product line, we occasionally issue addenda that document new features and changes to the products. If there are addenda included with this manual, please read through them to see which areas of the manual or product have changed. If you understand the DL305 instruction set and system setup requirements, this manual will provide all the information you need to get a basic understanding of the Handheld. This manual is not intended to be a tutorial on the DL305 instruction set or system operation, but rather a user reference manual for the Handheld Programmer. Getting Started 1--3 Getting Started How this manual is Ch 1: Getting Started -- this chapter provides an overview of the Handheld Programmer, general specifications, and the basic things you need to start entering organized programs. Ch 2: Entering RLL Programs -- discusses all the operations used to enter a program. Ch 3: Entering RLL PLUS Programs -- provides the keystrokes needed to enter RLL PLUS programs. Ch 4: Changing Programs -- shows you how to quickly edit an existing program. Ch 5: Protecting and Storing Programs -- shows you how to store programs on cassette tapes. Ch 6: System Monitoring and Troubleshooting -- provides an overview of the various features used to monitor and troubleshoot the system. Appendix A: DL305 Memory Map -- provides a detailed listing of the DL305 memory map for I/O, timers, counters, etc. There is another manual that may occasionally be referenced by this manual. This Supplemental manual is not absolutely necessary to use the Handheld, but it does provide Manuals additional details on several related subjects. S DL305 User Manual (D3--USER--M) Now, you know what material is necessary to quickly understand the DL305 Handheld Programmer. So, let’s get started! 1--4 Getting Started Getting Started How can I use the Handheld? As a Programming Tool The DL305 Handheld Programmer is ideally suited for entering or changing small programs with instruction mnemonics. You can enter programs up to the limits of the CPU you are using, but larger programs are much easier to design and enter with DirectSOFT Programming Software. In addition to entering programs, the Handheld is ideal for making on-site program or system changes. Since the Handheld has a built-in cassette tape interface, you can also use it to store and load programs from cassette tapes. DirectSOFT 001 Set 050 002 010 DSTR F50 K0201 Handheld STR 001 OR 002 SET 050 Getting Started The Handheld is especially useful if you need to quickly look at the status of an I/O point, timer/counter value, or register location.You can monitor up to 16 I/O points at one time. For example, the following diagram shows how the Handheld display area indicates I/O status. Indicates I/O Status Display Reference Number n000 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 16 LEDs Total show on/off status 0 4 0 4 1 5 1 5 2 6 2 6 3 7 3 7 00--07 10--17 Getting Started To Monitor Machine Operations 1--5 1--6 Getting Started Getting Started Physical Characteristics and Specifications Handheld Layout The Handheld was designed to be more than a program entry tool and includes many different status LEDs that make it easy to understand the machine operations. 5.7” (145 mm) Address or Data Display Area LED Display Keypad Keyswitch 4.65” (118 mm) 1.2” (30 mm) Connection Options Cassette Interface Port You can mount the Handheld directly to the CPU, or you can use a cable. The cable, part number D3--HPCBL--1, is approximately 4.6 feet (1.5m) in length and provides much more flexibility. A cassette interface cable, supplied with the Handheld Programmer, is required to connect a cassette recorder. WARNING: The CPU will automatically change modes when you connect the Handheld Programmer if the keyswitch is set for a different mode of operation. For example, if the CPU is in Run mode and the Handheld Programmer keyswitch is set to the PRG (Program) position, the CPU will automatically enter Program mode when the Handheld is connected. Getting Started Specifications 1--7 The following table provides specifications for the DL305 Handheld Programmer. 32_ to 140 F_ (0_ to 60 C_) --4_ to 176 F_ (--20_ to 80 C_) 5 to 95% (non-condensing) No corrosive gases MIL STD 810C 514.2 MIL STD 810C 516.2 NEMA ICS3--304, impulse 1KV, 1µs Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Obtained through PLC port, 60 mA @ 5 VDC 60 mA @ 9 VDC Dimensions . . . . . . . . . . . . . . . . . . . . . . . . 4.3” L x 4.7” H x 0.9” D 110mm W x 118mm H x 24mm D Weight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5 oz. (210 g) CPUs Supported Programming Operations DL330, DL330P, DL340 Read, Write, or erase programs Insert or delete an instruction Simaticr TI315t,TI325t, TI330t, TI335t, plus stage versions* Search for a specific instruction Texas Instrumentsr Locate a specific address TI315t,TI325t, TI330t, TI335t, Read or write to cassette tapes plus stage versions* * Stage versions require the D3--HPP Cables D3--HPCBL--1, 1.5m programmer cable Machine Monitoring Operations I/O status (up to 16 simultaneously) On / Off status for contacts, coils, control relays, and register locations Timer and counter current values Debugging Operations Forcing (one scan only) Run and Program Mode display Program syntax check Predefined error codes Getting Started Environmental Operating Temperature . . . . . . . . . . . . . . Storage Temperature . . . . . . . . . . . . . . . . Humidity . . . . . . . . . . . . . . . . . . . . . . . . . . . Environmental Air . . . . . . . . . . . . . . . . . . . Vibration . . . . . . . . . . . . . . . . . . . . . . . . . . . Shock Resistance . . . . . . . . . . . . . . . . . . . Noise Immunity . . . . . . . . . . . . . . . . . . . . . 1--8 Getting Started Getting Started Handheld Basics Status LEDs and Key Groups RLL PLUS vs. RLL Units When you enter a program, you need to be able to select the instruction, enter any parameters for that instruction, and move to the next task. The Handheld keypad is organized into LED display areas and key areas that make this task easier. As you examine the keys, you’ll notice some of the keys have more than one label. The top label describes the key when the Shift (SHF) key is pressed. (These keys work just like the number keys on a computer keyboard.) The keys and LEDs areas are as follows. S Instruction identifier and numeric keys — used to select the type of instruction. Also used to enter numeric values for instruction references and constants (by pressing SHF first). S Editing keys — used during program entry and editing to scroll through addresses, insert and delete instructions, etc. These same keys also have Shift functions that are primarily used during cassette or machine monitoring operations. S Address / Data Display — this 4-character, seven-segment display shows the address, reference number (such as the I/O point being used with an instruction), or data value (such as the current value for a timer.) S Instruction LEDs — show the type of instruction used at the address being displayed. S CPU Status LEDs — show the status for Power, CPU mode, etc. As mentioned earlier there are differences between the two models of DL305 Handheld Programmers. This difference is clearly visible if you examine the keypad and display layout shown on the following page. This manual uses the DL3--HP (RLL version) for most of the examples. This is because, for most instructions, the only difference between the two versions is the key location or the location of the display LED. The key titles are the same, they’re just in different locations. You may have noticed we said the two versions are the same for most instructions. The RLL PLUS version does have keys for the Master Control Relay Set (MCS), Master Control Relay Reset (MCR), and Shift Register (SR) instructions, but instead has keys for the extra instructions required for RLL PLUS programs. The following diagram shows the key areas, LED areas, and differences between the two types of units. Getting Started 0 AND 1 OR 2 ON/OFF RUN BATT STR 3 PWR CPU NOT ADDRESS/DATA 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 0 4 0 4 AND OUT MCS ADR 1 5 1 5 OR TMR MCR SHF 4 ADR 5 SHF ADDRESS/DATA 6 DATA 7 REG ON/OFF RUN BATT PWR CPU 2 6 2 6 STR CNT SET DATA 3 7 3 7 NOT SR RST REG 7 8 9 F AND OUT MCS 4 5 6 R OR TMR MCR DEL SHF INS CHECK SCH 1 2 3 STR CNT SET ENT READ PRV 0 × NOT SR MON RST CLR WRITE NXT RLL PLUS Version 0 STR 1 ADDRESS/DATA AND 2 ON/OFF RUN BATT OR 3 STAGE PWR CPU NOT 4 I.SG 5 JMP 6 SET 7 RST 0 SG 1 OUT 2 SET 3 CNT 4 ADR 5 SHF 6 DATA 7 REG ADDRESS/DATA ON/OFF RUN BATT STAGE PWR CPU 0 4 0 4 STR I.SG SG ADR 1 5 1 5 AND JMP OUT SHF 2 6 2 6 OR SET TMR DATA 3 7 3 7 NOT RST CNT REG 7 8 9 F STR I.SG SG 4 5 6 R AND JMP OUT 1 2 3 OR SET TMR 0 × MON NOT RST CNT DEL SHF CHECK INS SCH READ ENT PRV WRITE CLR NXT Getting Started RLL Version 1--9 Getting Started 1--10 Getting Started Instruction Identifier and Numeric Keys Editing Keys The identifier keys are used to specify the exact instruction type and the instruction reference. For example, if you want to store a contact, you have to specify the STR instruction and which contact you want to use. For example, to enter Store I/O point 001, you would press STR, SHF, 1 and ENT. A timer instruction would work the same way. In this case, you would press TMR, SHF, 6, 0, 0, ENT to load the timer. To enter the constant, you would then press SHF, 2, 0, ENT. (This would load a preset of 20.) 7 8 9 F AND OUT MCS 4 5 6 R OR TMR MCR DEL SHF INS CHECK SCH 1 2 3 STR CNT SET ENT READ PRV 0 × NOT SR MON RST CLR WRITE NXT DEL SHF These keys are used to perform various operations during program entry and editing. For example, you can use these keys to insert (INS), delete (DEL), or search (SCH) for a specific instruction. These keys also have shift functions that are primarily used during cassette tape operations. However, there is one key, Monitor (MON), that is used when you want to monitor the status of an I/O point, timer/counter value, or register location. 7 8 9 F STR I.SG SG 4 5 6 R AND JMP OUT 1 2 3 OR SET TMR 0 × MON NOT RST CNT CHECK INS SCH READ ENT PRV WRITE CLR NXT Getting Started The Address / Data primarily shows two things. S For programs, it shows address locations or instruction reference numbers. S For monitoring operations, it shows the current value of timers, counters, and registers. How do you know which one you’re seeing on the display? Simple, whenever an address is shown there are periods that follow each digit. If the periods are missing, you’re seeing a data value, a constant, an I/O reference, etc. Data Values or Address 0000 .... ADDRESS/DATA ON/OFF RUN BATT PWR CPU Periods indicate an Address 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Since the display area can show two types of information, you can easily switch between the two types by pressing CLR and NXT. The following display shows an example of the display if a SET instruction was loaded at address 0000 and you pressed the CLR key. (You can then press NXT to return to the address display.) Shows I/O Reference Periods are missing 0050 ADDRESS/DATA ON/OFF RUN BATT PWR CPU Instruction LEDs 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG The instruction LEDs show you which instruction is used at the address being displayed. For example, if a SET instruction is located at address 0000, then the SET LED would be on. Shows I/O Reference Instruction Type 0050 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG These LEDs are also used during monitoring operations to show the On/Off status for up to 16 points. (We’ll discuss this in more detail in Chapter 6.) Getting Started Address / Data Display Area 1--11 1--12 Getting Started Getting Started CPU Status LEDs The CPU LEDs show you the mode of operation, battery status, power indication, and CPU error condition (if any exists). The ON/OFF LED shows the status for the individual instructions as you step through the program during Run mode. For example, if the instruction was SET 050 and the CPU was in Run mode, then the display would appear as follows. Status of the point being displayed CPU and Status 0050 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG (In Run mode, you can also toggle between the address display and the status display by pressing CLR and NXT. Remember, the address display would have the periods as shown earlier.) Getting Started Sometimes we all make mistakes, so it’s important to know how to clear the display and start from the beginning. Since the Handheld Programmer buffers the keystrokes until you press ENT, you can clear the display at any time up until the ENT button is pressed. When you press CLR, the Handheld clears the keystrokes you’ve entered and remains at the current address. At this point you can now enter the correct instruction. Consider the following example that starts at address 0001. Keystroke Error (should have used SET instead of OUT) OUT SHF 3 0 030 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Press CLR 0001 .... CLR display returns to address 0001. ADDRESS/DATA ON/OFF RUN BATT PWR CPU Getting Started Clearing the Display Area 1--13 1--14 Getting Started Getting Started CPU Setup Even if you have years of experience using PLCs with handheld programmers, there are a few things you may need to know before you start entering programs. This section includes some basic things, such as changing the CPU mode and clearing the CPU memory. Changing the CPU Modes There are two modes available with the DL305 CPUs. S RUN — executes program and updates I/O modules S PGM — allows program entry, does not execute program or update I/O modules You can only change the CPU mode by using the keyswitch on the front of the handheld programmer. RUN PRGLOADTAPE WARNING: The CPU will automatically change modes when you connect the Handheld Programmer if the keyswitch is set for a different mode of operation. For example, if the CPU is in Run mode and the Handheld Programmer keyswitch is set to the PRG (Program) position, the CPU will automatically enter Program mode when the Handheld is connected. The keyswitch also has a third position, called LOAD. If the keyswitch is in this position you can upload a program from CPU memory to a cassette tape, or download a program from cassette tape to CPU memory. Getting Started Before you enter a new program, you should always clear the CPU memory. Only a few keystrokes are required. Use these keystrokes CLR SHF 3 4 CLR 8 ADDRESS/DATA DEL ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Press NXT to clear memory or Press CLR to abort the operation NXT 0000 .... ADDRESS/DATA ON/OFF RUN BATT PWR CPU You’ve got the Basics! Now that you understand how to use the display and how to perform some basic CPU operations, you’re ready to enter a program. Chapter 2 provides the keystrokes for entering many of the instructions you’ll use in any type of program. If you plan on using RLL PLUS programs, you’ll also want to look at Chapter 3 for information on the the extra instructions for RLL PLUS. Also, with RLL PLUS, some of the basic instructions, like timers and counters, are used differently. Getting Started Clearing an Existing Program 1--15 Entering RLL Programs In This Chapter. . . . — Entering Simple Ladder Programs — Checking for Program Errors 12 2--2 Entering RLL Programs Entering Simple Ladder Programs Purpose of the Examples Entering RLL Programs Entering RLL Programs Handheld Key Sequences The Basics This section includes many examples that are intended to help you become familiar with the keystrokes required to enter the most basic DL305 instructions. Once you are familiar with the basic keystrokes, you should use the DL305 User Manual as a reference for the remaining instructions. The Handheld buffers all keystrokes until you press the ENT key. Then, it automatically checks the instruction to make sure that is has been entered correctly. If the instruction is entered incorrectly an error message will be displayed. See Chapter 6 for a complete listing of error messages. There are a few basic instructions that you must become familiar with to enter programs with the Handheld. S STR -- Stores a normally open element and indicates the beginning of a rung or network. S AND -- Joins one element (such as a contact) in series with another element or group of elements. S AND STR -- Joins a group of elements in series with another group of elements. S OR -- Joins a one element in parallel with a previous element or group of elements. S ORSTR -- Joins parallel branches (each branch must begin with a STR instruction) S OUT -- Each rung must have at least one output (Y, C, or box instruction) S NOT -- used with other instructions to utilize normally closed elements. S All programs must contain an END statement (automatically provided). The following diagram shows a typical network and how each of these elements are used. 000 STR STR STR 001 ORSTR AND 004 050 Output OUT 002 AND 003 005 ANDSTR OR END Statement END 2--3 Entering RLL Programs Starting at Address 0 If you’re entering a complete program, you should always start at Address 0. The following example shows the keystrokes required to start at address 0000. (The remaining examples will not show this step, but it is required.) Start at address 0 SHF NXT Address Display 0000 .... ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Entering RLL Programs Once you’re at address 0, you can start entering a program. After you start entering the program, the Handheld automatically increments to the next address after you enter an instruction. You can toggle from the address display to the data display by pressing the NXT key. You can toggle from the data display to the address display by pressing the CLR key. For example, if you start at address 0000 and press NXT, the display changes and shows the instruction type located at address 0000. The following example shows what the display would look like. Start at address 0, change to data display instead of address display End ADDRESS/DATA ON/OFF RUN BATT PWR CPU Entering an END Statement 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG The example keystrokes shown throughout this chapter will indicate which display method is being used. This will make the examples easier to follow. If you prefer a different display you now have the means to change it. All DL305 programs must have an END statement as the last statement in the program. Whenever you clear the CPU memory, the CPU assumes that all memory locations contain an END statement. This means that you do not have to enter an END statement. Just enter your program starting at address 0. You should be aware that if an END statement precedes your ladder logic, the program will not be executed. Entering RLL Programs NXT 2--4 Entering RLL Programs Entering Simple Rungs You use the STR instruction to start rungs that contain both contacts and coils. The following example shows how to enter a single contact and a single output coil. Remember, with the DL305 CPUs, you do not have to enter an END statement with the Handheld Programmer. In the following example, notice that when you enter the output and move to the next address, the END statement is already there. 001 050 OUT Entering RLL Programs END Enter the contact STR SHF 1 Data display before ENT is pressed 001 ENT ADDRESS/DATA ON/OFF RUN BATT Entering RLL Programs PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Enter the output OUT SHF 5 0 ENT 050 ADDRESS/DATA ON/OFF RUN BATT PWR CPU Check the next address NXT END Statement End ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR The example shows an input contact and an output coil. Control relays are entered exactly the same as the I/O points. 2--5 Entering RLL Programs Entering Normally Closed Elements Normally closed elements are entered by using the STR and NOT instructions. The following example shows a simple rung with a normally closed contact. 001 050 OUT Enter the contact STR NOT SHF Data Display before ENT is pressed 1 ENT 001 ADDRESS/DATA RUN BATT PWR CPU Enter the output OUT SHF 5 0 ENT 050 ADDRESS/DATA ON/OFF RUN BATT Entering Timer/Counter Contacts T600 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 050 OUT Enter the contact STR TMR SHF 0 0 ENT Data Display before ENT is pressed 6 0 600 ADDRESS/DATA ON/OFF RUN BATT PWR CPU Enter the output OUT SHF 5 0 ENT 050 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Entering RLL Programs PWR CPU 4 OUT 5 TMR 6 CNT 7 SR Entering RLL Programs ON/OFF 0 AND 1 OR 2 STR 3 NOT 2--6 Entering RLL Programs You may also need to enter timer and counter contacts or relational contacts based on counter values. These types of contacts are entered slightly differently than normal input contacts. The following example shows the keystrokes. CT600 050 Counter Contact OUT Entering RLL Programs CT600 K20 CT600 R400 = = Compared to a constant Compared to register value To enter a Timer/Counter contact STR CNT 0 ENT SHF 6 0 Data Display before ENT is pressed 600 ADDRESS/DATA ON/OFF RUN BATT Entering RLL Programs PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG To enter a Timer/Counter comparative contact with ... STR SHF 6 0 0 600 ADDRESS/DATA ENT ON/OFF RUN BATT PWR CPU a constant value SHF 2 0 020 ENT ADDRESS/DATA ON/OFF PWR CPU or a data register R 4 0 RUN BATT 0 ENT r400 ADDRESS/DATA ON/OFF RUN BATT PWR CPU REV A 2--7 Entering RLL Programs Entering Series Elements You must program the first element in a rung with a STR instruction, since it is the beginning of the network. The rung can contain more than one element joined together in series by AND instruction(s). The following example shows how to enter two series contacts and a single output coil. 001 002 050 OUT STR SHF 1 Data Display before ENT is pressed 001 ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Enter the second contact AND SHF 2 002 ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU Enter the output OUT SHF 5 0 ENT 050 ADDRESS/DATA ON/OFF RUN BATT PWR CPU Entering RLL Programs 0 AND 1 OR 2 STR 3 NOT Entering RLL Programs Enter the first contact 2--8 Entering RLL Programs Entering Parallel Elements You must program each element with a STR instruction. The elements are joined in parallel by OR instruction(s). The following example shows how to enter two parallel contacts and a single output coil. 001 050 OUT Entering RLL Programs Entering RLL Programs 002 2--9 Entering RLL Programs Enter the first contact STR SHF 1 Data Display before ENT is pressed 001 ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Enter the second contact OR SHF 2 002 ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU Enter the output OUT SHF 5 0 ENT 050 ADDRESS/DATA ON/OFF RUN BATT PWR CPU Entering RLL Programs 4 OUT 5 TMR 6 CNT 7 SR Entering RLL Programs 0 AND 1 OR 2 STR 3 NOT 2--10 Entering RLL Programs Entering RLL Programs Entering RLL Programs Joining Series Branches in Parallel Quite often it is necessary to join several groups of series elements in parallel. The OR STR instruction allows you to do this quite easily. The following example shows a simple network consisting of series elements joined in parallel. 001 002 003 004 2--11 Entering RLL Programs Enter the first contact STR SHF 1 ENT Data Display before ENT is pressed 001 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Enter the second contact AND SHF 2 ENT 002 ADDRESS/DATA ON/OFF RUN BATT PWR CPU Entering RLL Programs 0 AND 1 OR 2 STR 3 NOT Enter the third contact SHF 3 ENT 003 ADDRESS/DATA ON/OFF RUN BATT PWR CPU Enter the fourth contact AND SHF 4 ENT 004 ADDRESS/DATA ON/OFF RUN BATT PWR CPU Join the branches OR STR ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU Entering RLL Programs STR 2--12 Entering RLL Programs The AND STR instruction joins one or more branches in series. The following Joining Parallel Branches in Series example shows a simple network with parallel and series branches. 001 002 Entering RLL Programs 003 Enter the first contact STR SHF 1 ENT Data Display before ENT is pressed 001 ADDRESS/DATA ON/OFF RUN BATT Entering RLL Programs PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Enter the second contact STR SHF 2 ENT 002 ADDRESS/DATA ON/OFF RUN BATT PWR CPU Enter the third contact OR SHF 3 ENT 003 ADDRESS/DATA ON/OFF RUN BATT PWR CPU Join the elements AND STR ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU 2--13 Entering RLL Programs Combination Networks You can combine the various types of series and parallel branches to solve most any application problem. It is doubtful that you will ever exceed them, but there are limits when you build complex networks. This is because the DL305 CPUs use a “stack” to evaluate the boolean elements. If the stack exceeds eight levels, an error code E03 will be displayed on the Handheld when the CPU is switched to Run mode. (See the DL305 User Manual for additional information.) The following example shows a simple combination network. 000 À 003 Â 006 Ä À. Start the network STR SHF 0 Ã 005 Á ENT Å Data Display before ENT is pressed RUN BATT PWR CPU 1 ENT 001 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Á. Enter branch 2. STR SHF 2 ENT 002 ADDRESS/DATA ON/OFF RUN BATT PWR CPU Entering RLL Programs 000 ON/OFF SHF OUT 004 ADDRESS/DATA OR 050 Entering RLL Programs 001 002 2--14 Entering RLL Programs 000 Entering RLL Programs 001 002 À Ã 005 Á 003 Â 006 Ä Å OUT 004 Â. Start branch 3, add join with branch 2 STR SHF 3 003 ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU Entering RLL Programs 050 AND NOT SHF 4 ENT 004 ADDRESS/DATA ON/OFF RUN BATT PWR CPU OR STR ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Ã. Add branch 4 AND SHF 5 ENT 005 ADDRESS/DATA ON/OFF RUN BATT PWR CPU Entering RLL Programs 2--15 Ä. Add branch 5, join with branches 1--4 SHF 6 ENT 006 ADDRESS/DATA ON/OFF RUN BATT PWR CPU AND STR ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Entering RLL Programs NOT Entering RLL Programs OR Å. Add branch 6 OUT SHF 5 0 ENT 050 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 2--16 Entering RLL Programs Entering Timers and Counters To enter a timer, you also have to enter a preset value. One important thing to remember is that with the DL305, the timers and counters share the same memory area. The range is from 600 -- 677, but if you use 600 as a timer, you cannot use it as a counter. 001 TMR CT 600 Timer Number K100 Entering RLL Programs Timer Preset Enter the contact STR SHF 1 001 ENT ADDRESS/DATA ON/OFF RUN BATT Entering RLL Programs PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Enter the Timer TMR SHF 6 0 0 600 ADDRESS/DATA ENT ON/OFF RUN BATT PWR CPU Enter the Timer preset SHF 1 2 3 . . 1234 ADDRESS/DATA 4 ON/OFF RUN BATT PWR CPU NOTE: With timer preset values you must use a decimal point to enter a fourth digit. When the timer (or counter) reaches the preset value, a coil is turned on. You can use this coil as an contact in other parts of the program. See Page 2--5 for the keystrokes required to enter a timer or counter contact. REV A 2--17 Entering RLL Programs Counters are very similar to timers, but they have enable / reset legs that allow you to reset the counter. The following example shows how to enter the additional input line. Notice that you enter both contacts before you complete the counter. 001 CNT CT601 Counter Number K50 002 Counter Preset STR SHF 1 Data Display before ENT is pressed 001 ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Enter the enable / reset leg STR SHF 2 002 ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU Enter the counter CNT SHF 6 0 1 601 ADDRESS/DATA ENT ON/OFF RUN BATT PWR CPU Enter the preset SHF 5 0 050 ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU REV A Entering RLL Programs 0 AND 1 OR 2 STR 3 NOT Entering RLL Programs Enter the first contact 2--18 Entering RLL Programs Entering Master Control Relays The Master Control Set (MCS) and Master Control Reset (MCR) instructions allow you to quickly enable (or disable) sections of the RLL program. This provides program control flexibility. (See the DL305 User Manual for more details.) The following example shows how the MCS and MCR instructions operate. 000 When contact 000 is on, logic under the first MCS will be executed. MCS 050 OUT 001 Entering RLL Programs 002 MCR MCS When contact 002 is on, logic under the second MCS will be 003 executed. MCR Entering RLL Programs 010 The MCR instructions note the end of the Master Control area. (They will be entered in adjacent addresses since they are nested.) Enter the contact STR SHF 0 Data Display before ENT is pressed ENT 000 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Enter the first MCS instruction MCS ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU Enter the next contact STR SHF 1 ENT 001 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 2--19 Entering RLL Programs Enter the output OUT SHF 5 Data Display before ENT is pressed 0 050 ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Enter the next contact SHF 2 002 ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU Entering RLL Programs STR Enter the second MCS instruction ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU Enter the first MCR instruction MCR ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU Enter the second MCR instruction MCR ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU Entering RLL Programs MCS 2--20 Entering RLL Programs Entering RLL Programs Entering RLL Programs Entering Shift Registers The DL305 CPUs allow you to use Control Relays with a Shift Register. You can have any number of Shift Registers, but there are only 128 Control Relays that can be used (400--577). Also, you cannot use these bits as Control Relays and Shift Register bits. (See the DL305 User Manual for more details.) The Shift Register has three input contacts. S Data — used to determine a value (1 or 0) that will be shifted through the register S Clock — on each low to high transition, the value that is on the data line will be shifted into the shift register. S Reset — if the reset contact comes on, then the Shift Register is reset and all Control Relays are reset. The following diagram shows a brief example of how the Shift Register works. 001 Data 002 Clock 003 Reset SR SR420 Inputs on Successive Scans Data Clock Reset 1 1 0 0 1 0 0 1 0 1 1 0 0 1 0 0 0 1 SR400 Shift Register Bits 400 417 -- indicates ON REV A -- indicates OFF 2--21 Entering RLL Programs You can use the following keystrokes to enter a Shift Register. Enter the Data input STR SHF 1 Data Display before ENT is pressed 001 ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Enter the Clock input STR SHF 2 002 ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU Enter the Reset input STR SHF 3 003 ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU Enter the Shift Register and starting location SR SHF 4 0 400 0 ADDRESS/DATA ENT ON/OFF RUN BATT PWR CPU Enter the end of the Shift Register SHF 4 1 7 ENT 417 ADDRESS/DATA ON/OFF RUN BATT PWR CPU Entering RLL Programs 4 OUT 5 TMR 6 CNT 7 SR Entering RLL Programs 0 AND 1 OR 2 STR 3 NOT 2--22 Entering RLL Programs Entering Data Instructions In addition to the simple RLL instructions, the DL305 CPUs also provide Data Instructions that allow you to manipulate words of data. For example, you may want to perform simple math operations on register values. The following table provides a listing of the various Data Operation Instructions. You should see the DL305 User Manual for complete details on how the instructions operate. Entering RLL Programs Entering RLL Programs Category Data Load Instructions Mnemonic Function # Description DSTR F50 Load a 4-digit constant or 2-bytes of register data into the accumulator DSTR 1 F51 Load 1-byte of register data into the accumulator DSTR 2 F52 Load the upper 4 bits of a register into the lower 4 bits of the accumulator DSTR 3 F53 Load the lower 4 bits of a register into the upper 4 bits of the accumulator DSTR 5 F55 Load the digital value of a 16 point module (2 bytes) into the accumulator DOUT F60 Write the accumulator to 2 sequential registers DOUT 1 F61 Write the lower byte of the accumulator to a register DOUT 2 F62 Write the lower 4 bits of the accumulator to the upper 4 bits of a register DOUT 3 F63 Write the lower 4 bits of the accumulator to the lower 4 bits of a register DOUT 5 F65 Write the contents of the accumulator to a 16-point output module (2 bytes) CMP F70 Compare a 2-byte BCD reference or a 4-digit BCD constant to the accumulator ADD F71 Add a 2-byte BCD reference or a 4-digit BCD constant to the accumulator SUBTRACT F72 Subtract a 2-byte BCD reference or a 4-digit BCD constant from the accumulator MULTIPLY F73 Multiply a 2-byte BCD reference or a 4-digit BCD constant by the value in the accumulator DIVIDE F74 Divide the accumulator by a 2-byte BCD reference or a 4-digit BCD constant Data Out Instructions Math Instructions Entering RLL Programs Category Bit Manipulation Instructions Function # Description DAND F75 Performs a bit “AND” on a 2-byte reference or a 4-digit BCD constant and the bits in the accumulator DOR F76 Performs a bit “OR” on a 2-byte reference or a 4-digit BCD constant and the bits in the accumulator SHIFT RIGHT F80 Shifts the contents of the accumulator to the right a specified number of times. 1 -- 15 bits can be shifted. SHIFT LEFT F81 Shifts the contents of the accumulator to the left a specified number of times. 1 -- 15 bits can be shifted. DECODE F82 Decodes the first 4 bits of the accumulator into a decimal number. ENCODE F83 Encodes an accumulator bit into a 4-bit code that represents the decimal number (0--15). INV F84 Logically inverts the bit pattern contained in the accumulator (1 to 0, 0 to 1). BCD--BIN F85 Converts the accumulator value from BCD to Binary BIN--BCD F86 Converts the accumulator value from Binary to BCD FAULT F20 Sends a 4-digit BCD number, from a 2-byte reference or a constant, to the programmer display The following pages show you how to enter these functions with the Handheld Programmer. Entering RLL Programs Fault Detection Instructions Mnemonic Entering RLL Programs Data Conversion Instructions 2--23 2--24 Entering RLL Programs If you examine the Handheld Programmer keypad, you’ll notice two keys labeled F and R. These keys are used to access the various Data Operation Instructions. We’ll use the following example to show how the keys are used. 001 DSTR F50 K1234 DOUT Constant Register The example uses the DSTR and DOUT instructions. As you enter the instructions you will use the Function Numbers that were shown in the previous instruction table. Entering RLL Programs Entering RLL Programs R400 F60 Instruction REV A Entering RLL Programs 2--25 Enter the contact STR SHF 1 001 ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Enter the DSTR instruction F 5 0 F50 ENT (Notice that you did not have to press the SHF key before entering the numbers.) ADDRESS/DATA ON/OFF RUN BATT PWR CPU Entering RLL Programs 0 AND 1 OR 2 STR 3 NOT Enter the constant 1 2 3 4 1234 ADDRESS/DATA ENT ON/OFF RUN BATT PWR CPU Enter the DOUT instruction F 6 0 F60 ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU Enter the Register location R 4 0 0 ENT (Notice that the R key is used for entering registers and that you do not have to press the SHF key before entering the numbers.) r400 ADDRESS/DATA ON/OFF RUN BATT PWR CPU Entering RLL Programs SHF 2--26 Entering RLL Programs Checking for Program Errors Automatic Error Checking Syntax Check The Handheld automatically checks for some errors during program entry. Chapter 6 provides a complete listing of the error codes. You can also execute a program syntax check which will identify programming errors. This check can be performed in either Program mode or Run mode. The following example shows how the syntax check works. Entering RLL Programs 001 CNT CT601 K50 Counter Reset Leg is missing Execute the syntax check CLR E07 SCH Entering RLL Programs ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Press CLR to display the address where the error occurred 0003 .... CLR ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR Correct the problem and continue running the Syntax check until the E07 message no longer appears. REV A Entering RLL PLUS Programs In This Chapter. . . . — RLL PLUS Programming Basics — Entering an Initial Stage — Entering Jump Instructions — Entering Stage Instructions — Entering Timers — Entering Counters — Entering Shift Registers 13 3--2 Entering RLL Plus Programs Entering RLL Programs Entering Programs RLL PLUS Programming Basics RLL PLUS is a simplified programming method that makes program design and troubleshooting much easier. This programming method is similar to Sequential Function Chart programming and only uses a few new instructions. Before you continue, make sure you have a Handheld Programmer that supports the extra instructions needed with this style of programming (part number DL3--HPP). This chapter does not provide a complete discussion of these instructions. Instead, it just provides a quick overview of how to enter the instructions with the DL305 Handheld Programmer. The primary benefit from this programming method is the number of logic interlocks is significantly reduced. This is because the individual program segments, called “stages” are completely self contained. When a program segment is active, the inputs and outputs in that stage will be examined and updated as appropriate. If the stage is not active, that portion of the program is not even scanned. How does this remove the interlocking burden? Simple, most interlocks are used because you not only have to make something happen, but you also have to prevent unwanted actions from happening. See the DL305 User Manual for details on RLL PLUS programming. We’ll use the following cutoff saw example to show the different instructions that are used. This example is not intended to show you how to design RLL PLUS programs, but is merely used to point out the instructions and the Handheld Programmer keystrokes needed to enter the instructions. If you want to know more about this style of programming, see the DL305 User Manual for complete details. This simple cutoff saw operates in the following manner. 1. Once the operator presses a start switch, the pipe conveyor is started. (The operator can also press a Stop switch to stop the operation at any time.) 2. The pipe travels along a conveyor until it reaches a physical stop. The stop contains a limit switch that signals the system to stop the conveyor and begin the cutting operation. 3. The pipe is clamped in place. 4. The saw motor is started and the saw cuts the pipe. 5. The saw is retracted, the motor is turned off and the clamp is released. 6. If the saw is in one-cycle mode, the operator must press the start switch again. If it is not in one-cycle mode, the saw continues the operations sequence. Cutoff Saw The operator can stop the process at any time just by pressing a stop switch. 3--3 Entering RLL Plus Programs The instructions used to create this program are very similar to the ones used in normal RLL programs. For example, you still enter contacts and output coils the same way. There are a couple of new instructions and these instructions have keys on the Handheld Programmer. You’ll notice the Initial Stage (ISG) instruction begins the program. If you examine the Handheld you’ll notice a key for the ISG instruction. Here’s a list of the primary instructions you’ll use with RLL PLUS programs. S Initial Stage (ISG) S Stage (SG) S Jump to Stage (JMP) There are also a few other instructions that are used differently (and entered differently) in RLL PLUS programs. S Timers S Counters S Shift Registers The following pages show you how to enter these instructions. ISG S0000 Wait for start Start S1 JMP 000 SG Move pipe down conveyor S0001 S10 JMP Conveyor OUT 020 Pipe Limit S2 JMP 001 SG Lock the clamp S0002 Clamp SET 021 S3 JMP Pipe Locked 002 SG Cut the pipe S0003 Saw On SET 022 Saw Down OUT 023 Lower Limit S4 JMP 003 SG Raise the saw S0004 TMR T600 50 Top Limit 600 Saw Off RST 022 Clamp RST 021 004 S5 JMP SG One cycle or automatic? S0005 One Cycle S0 JMP 005 One Cycle S1 JMP 005 SG Monitor for Stop S0010 Stop S0 -- S5 RST 010 S0 JMP Entering RLL Programs WARNING: The example program shown is not suitable for actual applications. There are many safety aspects that have not been considered, which could result in a risk of personal injury or damage to equipment. Only executes logic in stages that are active Entering Programs The following diagram shows a very simple RLL PLUS program that would control this operation. This representation is what you could expect to see if you were using our DirectSOFT programming software. You may notice the diagram doesn’t appear very different from a normal RLL program. However, there are significant advantages that aren’t obvious at first glance. If you want to know more, take a few extra minutes to read about this time-saving approach in the DL305 User Manual. 3--4 Entering RLL Plus Programs Entering Programs Entering an Initial Stage The Initial Stage identifies a starting point in the program. When the CPU enters Run mode, this is where the program execution will begin. The following keystrokes are used to enter an initial stage. (Remember, the RLL PLUS Handheld programmer keypad layout and display is different from the RLL Handheld programmer.) Only executes logic in stages that are active ISG S0000 Wait for start Start S1 JMP 000 SG Move pipe down conveyor S0001 S10 JMP Conveyor OUT 020 Pipe Limit S2 JMP 001 SG Lock the clamp S0002 Clamp SET 021 S3 JMP Pipe Locked Entering RLL Programs 002 Enter the initial stage ISG SHF 0 ENT Data display before ENT is pressed 000 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 STR 1 AND 2 OR 3 NOT 4 ISG 5 JMP 6 SET 7 RST 0 SG 1 OUT 2 TMR 3 CNT 4 ADR 5 SHF 6 DATA 7 REG 0 STR 1 AND 2 OR 3 NOT 4 ISG 5 JMP 6 SET 7 RST 0 SG 1 OUT 2 TMR 3 CNT 4 ADR 5 SHF 6 DATA 7 REG Enter the contact STR SHF 0 ENT 000 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 3--5 Entering RLL Plus Programs Entering Jump Instructions Only executes logic in stages that are active ISG S0000 Wait for start Start S1 JMP 000 SG Move pipe down conveyor S0001 S10 JMP Conveyor OUT 020 Pipe Limit S2 JMP 001 SG Lock the clamp S0002 Clamp SET 021 S3 JMP Pipe Locked Entering Programs The Jump (JMP) instruction provides a way to transition to multiple points in the program. If you look at the example program you’ll notice the program branches to two locations after the operator presses the start switch. The Jump instruction provides this transition. Since the program is jumping to two locations, you’ll use two Jump instructions. 002 Monitor for Stop S0010 Stop S0 -- S5 RST 010 S0 JMP Enter the first jump JMP SHF 1 Data display before ENT is pressed 001 ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 STR 1 AND 2 OR 3 NOT 4 ISG 5 JMP 6 SET 7 RST 0 SG 1 OUT 2 TMR 3 CNT 4 ADR 5 SHF 6 DATA 7 REG 0 STR 1 AND 2 OR 3 NOT 4 ISG 5 JMP 6 SET 7 RST 0 SG 1 OUT 2 TMR 3 CNT 4 ADR 5 SHF 6 DATA 7 REG Enter the second jump JMP SHF 1 0 ENT 010 ADDRESS/DATA ON/OFF RUN BATT PWR CPU Entering RLL Programs SG 3--6 Entering RLL Plus Programs Entering RLL Programs Entering Programs Entering Stage Instructions The Stage (SG) instruction identifies the starting point of a program segment. Unlike an initial stage, a regular stage does not automatically activate when the CPU enters Run mode. There are three ways to activate a stage. S Jump Transition — if you jump from a stage to another stage, then the destination stage is automatically activated. (Remember the jump example.) S Power Flow Transition — power can flow through the stages which will activate the next stage. S SET — just as you can use a SET instruction to turn on an output, you can use a SET to turn on a stage. With this method, the stage will stay on until it is reset (RST) or, until the logic within that stage causes a jump or power flow transition. Only executes logic in stages that are active ISG S0000 Wait for start Start S1 JMP 000 SG Move pipe down conveyor S0001 S10 JMP Conveyor OUT 020 Pipe Limit 001 SG Lock the clamp S0002 Pipe Locked Clamp SET 021 S3 JMP 002 SG Monitor for Stop S0010 Stop S0 -- S5 RST 010 S0 JMP The keystrokes on the following page show how to enter stages 1 and 2. Notice we have changed Stage 2 slightly. This is an example of how a power flow transition looks. A JMP instruction is not required in this example to move from Stage 1 to Stage 2. How do you know when to use a JMP instruction? Simple, if you’re moving from one stage to a single stage, you may use a power flow transition. If you’re moving from one stage to multiple stages, you must use the JMP instruction. 3--7 Entering RLL Plus Programs Enter Stage 1 SG SHF Data display before ENT is pressed 1 001 ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 SG 1 OUT 2 TMR 3 CNT 4 ADR 5 SHF 6 DATA 7 REG 0 STR 1 AND 2 OR 3 NOT 4 ISG 5 JMP 6 SET 7 RST 0 SG 1 OUT 2 TMR 3 CNT 4 ADR 5 SHF 6 DATA 7 REG 0 STR 1 AND 2 OR 3 NOT 4 ISG 5 JMP 6 SET 7 RST 0 SG 1 OUT 2 TMR 3 CNT 4 ADR 5 SHF 6 DATA 7 REG 0 STR 1 AND 2 OR 3 NOT 4 ISG 5 JMP 6 SET 7 RST 0 SG 1 OUT 2 TMR 3 CNT 4 ADR 5 SHF 6 DATA 7 REG Enter the output for the conveyor OUT SHF 2 0 ENT 020 ADDRESS/DATA ON/OFF RUN BATT PWR CPU Enter the Pipe Limit contact STR SHF 1 ENT 001 ADDRESS/DATA ON/OFF RUN BATT PWR CPU Enter Stage 2 SG SHF 2 ENT 002 ADDRESS/DATA ON/OFF RUN BATT PWR CPU Entering RLL Programs 4 ISG 5 JMP 6 SET 7 RST Entering Programs 0 STR 1 AND 2 OR 3 NOT 3--8 Entering RLL Plus Programs Entering RLL Programs Entering Programs Entering Timers Timers work differently in RLL PLUS programs because they do not require the entry of a preset value. Once the timer input contact has started the timer, the timer continues until the input contact SG Raise the saw S0004 is turned off. You may recall RLL timers have a timer contact associated with them. When the T600 50 timer reaches the preset, it turns on the contact, which can then be used as an Top input contact for other parts of the Limit program. 004 As well as not having a preset value, Relational Contact RLL PLUS timers also do not have a timer contact. Instead of using the timer contact, relational contacts are used to examine the timer value. TMR T600 Saw Off RST 022 Clamp RST 021 S5 JMP The following example shows how a time delay was added when the saw was being raised. We wanted to keep the saw motor running for 5 seconds so the saw could clear the pipe before being turned off. (Note, the keystrokes only show how to enter the timer and the relational contact, not the whole stage.) 3--9 Entering RLL Plus Programs Enter the Timer TMR SHF 6 Data display before ENT is pressed 0 0 600 ADDRESS/DATA ENT ON/OFF RUN BATT PWR CPU 0 SG 1 OUT 2 TMR 3 CNT 4 ADR 5 SHF 6 DATA 7 REG 0 STR 1 AND 2 OR 3 NOT 4 ISG 5 JMP 6 SET 7 RST 0 SG 1 OUT 2 TMR 3 CNT 4 ADR 5 SHF 6 DATA 7 REG 0 STR 1 AND 2 OR 3 NOT 4 ISG 5 JMP 6 SET 7 RST 0 SG 1 OUT 2 TMR 3 CNT 4 ADR 5 SHF 6 DATA 7 REG Enter the comparative timer contact STR TMR 0 ENT SHF 6 0 600 ADDRESS/DATA ON/OFF RUN BATT PWR CPU Enter the compare value SHF 5 0 ENT 050 ADDRESS/DATA ON/OFF RUN BATT PWR CPU Entering RLL Programs 4 ISG 5 JMP 6 SET 7 RST Entering Programs 0 STR 1 AND 2 OR 3 NOT 3--10 Entering RLL Plus Programs Entering RLL Programs Entering Programs Entering Counters Counters also work differently in RLL PLUS programs because they do not require either a reset input or a preset value. Once the stage is active, the counter input contact controls the value of the counter. Each time the counter input contact has an off to on transition, the counter will increment one count. When the stage becomes inactive, the counter is disabled and reset to 0. (Remember, the CPU does not even scan the logic contained in an inactive stage.) You may recall RLL counters have a counter contact associated with them. When the counter reaches the preset, it turns on the contact, which can then be used as an input contact for other parts of the program. As well as not having the reset input and preset value, the RLL PLUS counters also do not have a counter contact. Instead of using the counter contact, relational contacts are used to examine the counter value. SG Raise the saw S0004 TMR T0 K0050 Saw Off RST 022 T0 50 Top Limit Clamp RST 021 004 S5 JMP SG One cycle or automatic? S0005 One Cycle S0 JMP 005 One Cycle S1 JMP 005 SG Monitor for Stop S0010 Stop S0 -- S5 RST 010 S0 JMP SG Automatic shut off S0011 Count Switch 006 C601 R400 CTR 601 R400 S0 -- S10 RST S0 JMP Let’s say we wanted to use an operator interface to tell the machine how many pipes to cut. (We’ll assume the number is loaded into a register, R400.) Once the correct number of pipes have been cut, the saw should automatically stop. The following example shows how you would add an automatic shutoff stage to the cutoff saw example by using a counter and a relational contact. (Note, the keystrokes only show how to enter the counter and the relational contact, not the whole program.) 3--11 Entering RLL Plus Programs Enter the Counter CNT SHF 6 Data display before ENT is pressed 0 1 601 ADDRESS/DATA ENT ON/OFF RUN BATT PWR CPU 0 SG 1 OUT 2 TMR 3 CNT 4 ADR 5 SHF 6 DATA 7 REG 0 STR 1 AND 2 OR 3 NOT 4 ISG 5 JMP 6 SET 7 RST 0 SG 1 OUT 2 TMR 3 CNT 4 ADR 5 SHF 6 DATA 7 REG 0 STR 1 AND 2 OR 3 NOT 4 ISG 5 JMP 6 SET 7 RST 0 SG 1 OUT 2 TMR 3 CNT 4 ADR 5 SHF 6 DATA 7 REG Enter the relational contact STR CNT 1 ENT SHF 6 0 601 ADDRESS/DATA ON/OFF RUN BATT PWR CPU Enter the relational contact comparison register R 4 0 0 ENT (Notice you did not have to press the SHF key before entering the numbers.) r400 ADDRESS/DATA ON/OFF RUN BATT PWR CPU Entering RLL Programs 4 ISG 5 JMP 6 SET 7 RST Entering Programs 0 STR 1 AND 2 OR 3 NOT 3--12 Entering RLL Plus Programs Entering Shift Registers Entering RLL Programs Entering Programs Shift Registers operate the same in RLL PLUS programs as they do in RLL programs. However, the keystrokes required to enter a Shift Register are different because the SR key is not on the RLL PLUS Handheld Programmer. Also, you do not have a separate range of bits available for use as shift register bits. Instead you have to use the control relays. The following page shows the keystrokes used with this type of Handheld. 001 Data Input 002 Clock Input SR 200 003 Reset Input 217 3--13 Entering RLL Plus Programs Enter the Data input STR SHF 1 Data Display before ENT is pressed 001 ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 SG 1 OUT 2 TMR 3 CNT 4 ADR 5 SHF 6 DATA 7 REG 0 STR 1 AND 2 OR 3 NOT 4 ISG 5 JMP 6 SET 7 RST 0 SG 1 OUT 2 TMR 3 CNT 4 ADR 5 SHF 6 DATA 7 REG 0 STR 1 AND 2 OR 3 NOT 4 ISG 5 JMP 6 SET 7 RST 0 SG 1 OUT 2 TMR 3 CNT 4 ADR 5 SHF 6 DATA 7 REG 0 STR 1 AND 2 OR 3 NOT 4 ISG 5 JMP 6 SET 7 RST 0 SG 1 OUT 2 TMR 3 CNT 4 ADR 5 SHF 6 DATA 7 REG 0 STR 1 AND 2 OR 3 NOT 4 ISG 5 JMP 6 SET 7 RST 0 SG 1 OUT 2 TMR 3 CNT 4 ADR 5 SHF 6 DATA 7 REG Enter the Clock input STR SHF 2 002 ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU Enter the Reset input STR SHF 3 003 ENT ADDRESS/DATA ON/OFF RUN BATT PWR CPU Enter the Shift Register and starting location SET RST 0 ENT SHF 2 200 0 ADDRESS/DATA ON/OFF RUN BATT PWR CPU Enter the end of the Shift Register SHF 2 1 7 ENT 217 ADDRESS/DATA ON/OFF RUN BATT PWR CPU Entering RLL Programs 4 ISG 5 JMP 6 SET 7 RST Entering Programs 0 STR 1 AND 2 OR 3 NOT Changing Programs In This Chapter. . . . — Displaying a Program — Finding a Specific Instruction — Finding a Specific Address — Changing an Instruction — Inserting an Instruction — Inserting an END Statement — Deleting an Instruction 14 4--2 Changing Programs Displaying a Program Since the Handheld displays the mnemonic instructions, you can step through the individual program instructions. If the CPU is in the RUN mode, the status of the instruction is also displayed in the status display area. 000 001 002 À Ã 005 Á 003 Â 006 Ä Å 050 OUT 004 Mnemonic Listing and Addresses Changing Programs ADDRESS 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 INSTRUCTION STR 000 OR 001 STR 002 STR 003 ANDN 004 ORSTR AND 005 ORN 006 ANDSTR OUT 050 END DESCRIPTION Starts branch 1 with 000 Joins 001 in parallel with 000 Starts branch 2 with 002 Starts branch 3 with 003 Joins 004 (NOT) with 003 Joins branches 2 and 3 Starts branch 4 with 005 Joins 006 (NOT) in parallel with 005 Joins branches 4 and 5 with 1--3 Stores the output and finishes the network Ends the program Press SHF and NXT to display the beginning of the program SHF 0000 .... NXT Displays the first address ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 4--3 Changing Programs Use PRV or NXT to scroll through the program NXT In Run Mode, On/Off status is displayed 0000 ADDRESS/DATA ON/OFF RUN BATT PWR CPU NXT 0001 ADDRESS/DATA ON/OFF RUN BATT PWR CPU PRV 0000 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Press CLR or NXT to toggle between the address and instruction display 0000 .... ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Changing Programs CLR 4--4 Changing Programs Finding a Specific Instruction If you do not want to scroll through the program, you can use the Search feature to automatically search for an instruction. The following example shows the instructions, addresses, and corresponding Handheld displays for a small program. 000 002 050 005 OUT 001 003 004 Find Input 005 006 Mnemonic Listing and Addresses ADDRESS INSTRUCTION 0000 0001 — 0006 — 0010 STR 000 OR 001 — AND 005 — END DESCRIPTION Starts branch 1 with 000 Joins 001 in parallel with 000 — Starts branch 4 with 005 — Ends the program Changing Programs Search for the instruction reference SHF 5 0006 .... SCH Displays the address where the instruction is located ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG You can also specify how the reference is used (All outputs require the additional key to indicate how the point is used.) OUT SHF 5 0 SCH Displays the address where the instruction is located 0009 .... ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 4--5 Changing Programs Finding a Specific Address You can also search for a specific address. The following example shows the instructions, addresses, and corresponding Handheld displays for a small program. 000 002 050 005 OUT 001 003 004 006 Mnemonic Listing and Addresses ADDRESS 0000 0001 — Find — 0006 — — 0010 INSTRUCTION STR 000 OR 001 — — AND 005 — — END DESCRIPTION Starts branch 1 with 000 Joins 001 in parallel with 000 — — Starts branch 4 with 005 — — Ends the program SHF 6 NXT 0006 .... ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Changing Programs Search for the address 4--6 Changing Programs Changing an Instruction Sometimes you need to change an instruction. For example, you may want to use a different input or output point than the one originally entered into the program. The following example shows the instructions, addresses, and corresponding Handheld displays for a small program. 000 002 050 005 OUT 001 003 Change to 060 004 006 Mnemonic Listing and Addresses ADDRESS INSTRUCTION Changing Programs 0000 0001 — 0006 — 0009 0010 STR 000 OR 001 — AND 005 — OUT 060 END DESCRIPTION Starts branch 1 with 000 Joins 001 in parallel with 000 — Starts branch 4 with 005 — Stores the output and finishes the network Ends the program Search for the address SHF 9 0009 .... NXT ADDRESS/DATA ON/OFF RUN BATT PWR CPU Change the instruction OUT SHF 6 0 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG (Display before ENT is pressed) ENT 060 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 4--7 Changing Programs Inserting an Instruction Use the INSERT feature to add an instruction to the program. Insert adds an instruction before the instruction being displayed, so make sure you are at the correct program address. Once you’ve inserted the new instruction, the remaining addresses increment. The following example shows the instructions, addresses, and corresponding Handheld displays for a small program. 000 002 005 007 050 OUT 001 003 004 Insert 007 006 Mnemonic Listing and Addresses ADDRESS 0000 — 0006 0007 — 0010 INSTRUCTION STR 000 — AND 005 Insert AND 007 ORN 006 — END DESCRIPTION Starts branch 1 with 000 — Starts branch 4 with 005 Adds 007 in series with 005 Joins 006 (NOT) in parallel with 005 — Ends the program SHF 7 0007 .... NXT ADDRESS/DATA ON/OFF RUN BATT PWR CPU Insert the new instruction AND SHF 7 INS NXT 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG (Display before NXT is pressed) i 007 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Changing Programs Search for the address 4--8 Changing Programs Inserting an END Statement There may be times when you need to insert an END statement (before an address) in the program. This is commonly done when you only want to check a portion of the program during machine startup or troubleshooting. You use the INSERT feature, but since the Handheld does not have an END key, special keystrokes are required. 000 002 005 007 050 OUT 001 003 004 Insert END before this rung 006 051 010 OUT Mnemonic Listing and Addresses ADDRESS 0000 — 0006 Changing Programs 0008 — 0013 INSTRUCTION DESCRIPTION STR 000 — AND 005 Insert END ORN 006 — END Starts branch 1 with 000 — Starts branch 4 with 005 Ends the program Joins 006 (NOT) in parallel with 005 — Ends the program Search for the address SHF 8 0008 .... NXT ADDRESS/DATA ON/OFF RUN BATT PWR CPU Insert the END statement CLR SHF INS NXT 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG (Display before NXT is pressed) i ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 4--9 Changing Programs Deleting an Instruction Use the DELETE feature to remove an instruction from the program. Delete removes the instruction being displayed, so make sure you are at the correct program address. Once you’ve deleted the instruction, the remaining addresses decrement. The following example shows the instructions, addresses, and corresponding Handheld displays for a small program. 000 002 005 007 050 OUT 001 003 004 Delete 007 006 Mnemonic Listing and Addresses ADDRESS 0000 — 0006 Delete 0007 0008 — 0011 INSTRUCTION STR 000 — AND 005 AND 007 ORN 006 — END DESCRIPTION Starts branch 1 with 000 — Starts branch 4 with 005 Adds X7 in series with X5 Joins 006 (NOT) in parallel with 005 — Ends the program SHF 7 NXT 0007 .... ADDRESS/DATA ON/OFF RUN BATT PWR CPU Delete the instruction DEL PRV 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG (Display before PRV is pressed) d 007 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Changing Programs Search for the address Protecting and Storing Programs In This Chapter. . . . — Password Protection — Storing Programs on Cassette Tapes 15 5--2 Protecting and Storing Programs Password Protection The DL305 CPUs provide an extra measure of protection by allowing you to enter a password that prevents unauthorized machine operations. The password must be a four-character numeric (0--9) code. Once you’ve entered a password, you can remove it by entering all zeros (0000). This is the default from the factory. The password is stored in the CPU, not in the Handheld Programmer. If the battery backup is lost and the power is cycled, you could lose the password (and the program too.) You can enter a password in either the Run or Program mode. Use the following keystrokes to use the password features. Use these keystrokes to enter a password CLR SHF 9 8 7 6 DEL SHF X X XXXX .... ADDRESS/DATA ON/OFF X X ENT NXT RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG (X represents the password. The display depends on the password entered.) Once you’ve entered the password, you can enable it by using the following keystrokes. Use these keystrokes to enable the password CLR SHF 1 4 DEL NXT 2 3 1234 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Protecting and Storing Programs Once password protection has been enabled, you must enter the password before you can make any changes to the program. You can still view the program and use the Handheld to monitor machine operations, but you cannot make changes. Use these keystrokes to access a password protected CPU CLR SHF 5 6 7 8 DEL SHF X X 0000 .... ADDRESS/DATA ON/OFF X X ENT NXT RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG (X represents the password. The display depends on the password entered.) REV A Protecting and Storing Programs 5--3 Storing Programs on Cassette Tapes Although the best way to store programs is to use DirectSOFT and computer diskettes, you can also copy the programs from the CPU to cassette tapes. Both forms of media allow you store several programs, but the diskette method is much easier to use and it’s more reliable due to the differences in various cassette recorders. When you select a recorder, choose one designed for use with Personal Computers (PCs). These types of recorders are much more suitable than those used for normal audio recordings. However, most audio recorders will record or play the digital information accurately if they have both volume and tone controls. The cassette recorder cable, included with the Handheld Programmer, connects to Connecting the the small jack on the front of the Handheld Programmer. Cassette Recorder Cassette Characteristics Microphone (Red) Earphone (White) NOTE: Connect the cable to the tape recorder microphone jack when you are writing a program to the cassette. Connect the cable to the earphone jack when you are reading a program from the cassette. Program Names on Since it is very easy to store multiple programs on a single cassette it is very important idea to name each program. You can use a four-digit number to name the Cassettes various programs. You do not have to use a name, but it’s a good idea. Protecting and Storing Programs 5--4 Protecting and Storing Programs Writing a Program to the Cassette If you examine the front of the Handheld Programmer you will notice one of the keyswitch positions is labeled “LOAD”. You must set the keyswitch to this position before you can save a program to a cassette. It generally takes about 75 seconds to copy a program from the CPU to a cassette tape. NOTE: Remember tape programs are stored sequentially. It is very easy to overwrite existing programs if you do not position the tape correctly before beginning this procedure. Use the tape counter on the recorder to keep track of program locations. RUN PRGLOADTAPE Protecting and Storing Programs If you want to make your life easier, it’s a good idea to make a few notes on the cassette case. S File number (if you use one) S Tape counter reading (helps you position the tape later) S Volume and tone control settings (helps you read the tape later) 5--5 Protecting and Storing Programs When you have the cable connected to the recorder microphone jack, place the Handheld Programmer keyswitch in the LOAD position. Once the keyswitch has been placed in the LOAD position, the display will go blank and the SHF LED will be turned on. Then, use the following procedure to copy the program. Enter a four-digit program name (or 0 if you do not want a name) X X X XXXX X ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Start the cassette recorder REC OR REC PLAY Press Write WRITE (Program takes about 75 seconds to transfer.) ADDRESS/DATA ON/OFF RUN BATT PWR CPU Display when transfer is complete END ADDRESS/DATA ON/OFF RUN BATT PWR CPU STOP 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Protecting and Storing Programs Stop the cassette recorder 0 AND 1 OR 2 STR 3 NOT 5--6 Protecting and Storing Programs Verifying the Tape Contents It’s usually a good idea to verify the tape contents match what is stored in the CPU. The last thing you want to do is to reload the program at a later date only to find the program isn’t what you expected. Before you begin, it’s important to understand how the information is placed on the tape. You’ll need to know this when in order to position the tape correctly. 5 Sec 25 Sec Aproximately 45 Sec Head Mark User Program File # (0001--9999) End Mark The Head and End marks are written with 2kHz signals One signal is at 2kHz and 0 signal is at 1kHz This can be omitted if program identification by number is not needed Protecting and Storing Programs Part of the problem with cassette storage is that tape positioning can mean the difference between a successful transfer and a serious headache. Before you begin the procedure make sure you have positioned the tape just before the first head mark, or, just before the location of the program you want to read. If you position the tape in the head mark, an error will occur. Set the tape recorder TONE and VOLUME controls to the settings you used when you recorded the program. If you don’t remember the settings, set the controls to the midway position. (You may have to adjust the volume later.) Also, remember the Handheld Programmer keyswitch has to be in the LOAD position to perform tape operations. 5--7 Protecting and Storing Programs When you have the cable connected to the earphone jack, place the Handheld Programmer keyswitch in the LOAD position. The display will go blank and the SHF LED will be turned on. Then, use the following procedure to copy the program. Enter the four-digit program name (if you used one) X X X X CHECK XXXX ADDRESS/DATA ON/OFF RUN BATT PWR CPU Start the cassette recorder PLAY E 28 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG LED 5 flashes and the message E28 appears when the head mark is found. The message disappears and LED 7 comes on if the procedure is working correctly. If the E28 message does not disappear, adjust the volume level until it does. You have 12 seconds to complete the volume adjustment. If you entered a file number, the system will check the tape to make sure the file numbers match. If the file does not match, the current file will be “passed” and the process will continue until the correct file is located. The following displays are used. Display when the file number does not match PASS ADDRESS/DATA ON/OFF RUN BATT PWR CPU 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Display when the file number is found F ADDRESS/DATA ON/OFF RUN BATT PWR CPU Protecting and Storing Programs 0 AND 1 OR 2 STR 3 NOT 5--8 Protecting and Storing Programs When the check is complete, one of two displays will appear. Display when the programs match End ADDRESS/DATA ON/OFF RUN BATT PWR CPU Display when an error occurs E 25 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Protecting and Storing Programs You can press CLR to remove the error message and start over. If you get an error there are several things you can check. S Check the tape positioning. It is very important to position the tape correctly. This is the cause of most errors. S Adjust the volume level and/or tone controls. S Check the cable connections. S Clean the tape recorder head. Use the documentation that came with your recorder to determine the correct cleaning procedures. 5--9 Protecting and Storing Programs Reading a Program The procedure to read a program is almost exactly the same as the one for verifying the tape contents. Before you begin the procedure make sure you have positioned from a Cassette the tape just before the first head mark, or just before the location of the program you want to read. If you position the tape in the head mark, an error will occur. Set the tape recorder TONE and VOLUME controls to the settings you used when you recorded the program. If you don’t remember the settings, set the controls to the midway position. (You may have to adjust the volume later). Also, remember the Handheld Programmer keyswitch has to be in the LOAD position to perform tape operations. When you have the cable connected to the earphone jack, place the Handheld Programmer keyswitch in the LOAD position. The display will go blank and the SHF LED will be turned on. Then, use the following procedure to copy the program. Enter the four-digit program name (if you used one) X X X X READ XXXX ADDRESS/DATA ON/OFF RUN BATT PWR CPU Start the cassette recorder PLAY E 28 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG LED 5 flashes and the message E28 appears when the headmark is found. The message disappears and LED 7 comes on if the procedure is working correctly. If the E28 message does not disappear, adjust the volume level until it does. You have 12 seconds to complete the volume adjustment. Protecting and Storing Programs REV A 5--10 Protecting and Storing Programs If you entered a file number, the system will check the tape to make sure the file numbers match. If the file does not match, the current file will be “passed” and the process will continue until the correct file is located. The following displays are used. Display when the file number does not match PASS ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Display when the file number is found F ADDRESS/DATA ON/OFF RUN BATT PWR CPU When the program has been loaded, the following display will appear. Display when the program has been loaded END ADDRESS/DATA ON/OFF RUN BATT Protecting and Storing Programs PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG You can press CLR to remove the error message and start over. If you get an error there are several things you can check. S Check the tape positioning. It is very important to position the tape correctly. This is the cause of most errors. S Adjust the volume level and/or tone controls. S Check the cable connections. S Clean the tape recorder head. Use the documentation that came with your recorder to determine the correct cleaning procedures. Protecting and Storing Programs 5--11 As you’ve seen, entering and storing programs with the Handheld is a pretty simple task. Once you’ve got the program entered and the machine is up and running, you can use the Handheld to monitor and change machine operations almost as easily. The next chapter shows the details. Protecting and Storing Programs System Monitoring and Troubleshooting In This Chapter. . . . — Troubleshooting Suggestions — Monitoring Discrete Points — Forcing Discrete Points — Monitoring Register Locations — Changing Register Values — Monitoring Timer/Counter Values — Changing Timer/Counter Values — Monitoring Program Stages — Forcing Program Stages — Error Codes 16 System Monitoring and Troubleshooting 6--2 System Monitoring and Troubleshooting Troubleshooting Suggestions The Handheld is very useful in troubleshooting your machine. As with any problem, you have to find it before you can fix it. There are several operations and features that help you quickly find the exact cause of system problems. S Monitor Discrete I/O Points — to examine I/O power flow for individual I/O points. S Force Discrete I/O Points — to examine machine sequences or inconsistencies. S Monitor Register Locations — to examine word locations to determine if correct values are being used. S Change Register Values — to force word locations with different values. S Monitor Timer/Counter Values — to adjust machine timing elements. S Understand Error Codes — to know where to look first. 6--3 System Monitoring and Troubleshooting You can monitor up to 16 discrete points at one time. The points can be from the following data types. S Inputs S Output S Control relays The status display area is also used to show the status for the points being monitored. Here’s how the display is organized. Indicates I/O Status Display Reference Number n050 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 16 LEDs Total show on/off status 0 4 0 4 1 5 1 5 2 6 2 6 3 7 3 7 50--57 60--67 Use the following keystrokes to monitor discrete points. To select a different data type, use the corresponding reference number instead of the one shown. The DL305 memory map is included in Appendix A. This will help you determine the appropriate ranges for the various data types. Select the reference number to monitor SHF 5 0 MON n050 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 4 0 4 1 5 1 5 2 6 2 6 3 7 3 7 Use PRV or NXT to scroll through the references (8 point increments) PRV n040 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 4 0 4 1 5 1 5 2 6 2 6 3 7 3 7 System Monitoring and Troubleshooting Monitoring Discrete Points System Monitoring and Troubleshooting 6--4 System Monitoring and Troubleshooting Forcing Discrete Points You can also force discrete points with the Handheld Programmer. It is important to note that the DL305 CPUs only retain the forced value for one scan if the output point is used in the logic program or if the input point used corresponds to module that is installed in the base. The following example shows how the forcing actually works. Force 050 ON Force I/O Points 000 002 005 001 003 010 Force 010 ON 007 050 004 051 END On due to 010 forced ON Next Scan 010 is off” 000 002 001 003 010 CPU reads the I/O status from the modules. Sees that point 010 is off, overwrites force to turn off 010. Read Inputs 005 007 050 004 Force is overwritten 051 Logic is solved. Point 010, even though previously forced on, is turned off. Points 050 and 051 are turned off since conditions are not met. END 050 and 051 are off Update Outputs CPU updates the output status with the results obtained from the logic execution. Y0 and Y1 were turned off. NOTE: If you use a CR as an input, you will not have the “one scan” problem. 6--5 System Monitoring and Troubleshooting WARNING: Depending on your application, forcing I/O points may cause unpredictable machine operation that can result in a risk of personal injury or equipment damage. To turn a point on CLR SET SHF Display returns to address display 5 0 0000 .... ADDRESS/DATA ENT ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 4 0 4 1 5 1 5 2 6 2 6 3 7 3 7 Monitor the point to verify the force (optional) CLR SHF 5 0 MON n050 ADDRESS/DATA ON/OFF RUN BATT PWR CPU To turn a point off CLR ENT RST SHF Display returns to address display 5 0 0000 .... ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG System Monitoring and Troubleshooting The following example shows the keystrokes required to force an I/O point. System Monitoring and Troubleshooting 6--6 System Monitoring and Troubleshooting Monitoring Register Locations You can use the Handheld to monitor and change register locations. When a register is monitored, the handheld programmer will display two register locations (eight bits each) this means that 4 digits of data will be shown. Since data register locations are 8-bit locations, two consecutive data registers will be displayed. When changing values in data register locations, you can also write two consecutive data register locations. Select the location to monitor CLR R 4 0 0 R401 R400 1453 ADDRESS/DATA MON ON/OFF RUN BATT PWR CPU 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG 0 AND 1 OR 2 STR 3 NOT 4 OUT 5 TMR 6 CNT 7 SR 0 MCS 1 MCR 2 SET 3 RST 4 ADR 5 SHF 6 DATA 7 REG Changing Register Values Select the location to monitor CLR R 4 0 0 R401 R400 1453 ADDRESS/DATA MON ON/OFF RUN BATT PWR CPU Enter the new value SHF ENT 1 3 5 R401 4 R400 1354 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 6--7 System Monitoring and Troubleshooting You can also use the Handheld to monitor and/or change timer and counter current values. There are two ways to do this. You can use the register monitoring procedure discussed previously which will display the current value with the decimal point implied for timers. The second method uses slightly different keystrokes and will show timer current values with the decimal point. Using this method also uses the instructions LEDs to indicate the last two digits of the timer/counter memory reference. Select the location to monitor CLR SHF 6 0 0 4569 . ADDRESS/DATA MON Shows accumulated time or count ON/OFF RUN BATT PWR CPU 0 4 0 4 1 5 1 5 2 6 2 6 3 7 3 7 00--07 10--17 LEDs show last two digits of the register reference number Changing Timer/Counter Current Values Select the timer location to monitor CLR SHF 6 0 0 4569 . ADDRESS/DATA MON ON/OFF RUN BATT PWR CPU 0 4 0 4 1 5 1 5 2 6 2 6 3 7 3 7 0 4 0 4 1 5 1 5 2 6 2 6 3 7 3 7 Enter the new value SHF ENT 1 3 5 4 1354 . ADDRESS/DATA ON/OFF RUN BATT PWR CPU System Monitoring and Troubleshooting Monitoring Timer/Counter Current Values System Monitoring and Troubleshooting 6--8 System Monitoring and Troubleshooting Monitoring Program Stages The RLL PLUS CPUs also have stages that can be monitored. This is especially useful since it can quickly show you exactly which parts of the program are being executed. The procedure is very similar to the one used for monitoring discrete I/O points. Here’s how the display is organized. Indicates Stage Status Display Stage Number s010 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 16 LEDs Total Show on/off status 0 4 0 4 1 5 1 5 2 6 2 6 3 7 3 7 10--17 20--27 6--9 System Monitoring and Troubleshooting Select the stage number to monitor SG SHF 1 0 MON s010 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 4 0 4 1 5 1 5 2 6 2 6 3 7 3 7 Use PRV or NXT to scroll through the references (8 stage increments) PRV n020 ADDRESS/DATA ON/OFF RUN BATT PWR CPU 0 4 0 4 1 5 1 5 2 6 2 6 3 7 3 7 System Monitoring and Troubleshooting Use the following keystrokes to monitor the stages. System Monitoring and Troubleshooting 6--10 System Monitoring and Troubleshooting Forcing Program Stages You can also force Program Stages with the Handheld Programmer. However, due to the self-contained nature of this style of programming, you can really cause some problems by forcing stages on and off. It is important to note that the DL305 CPUs only retain the forced value for one scan if the logic within the stage (or another stage) causes the status to be discarded. The following example shows how the forcing actually works. Assume that the saw takes approximately 10 seconds to reach the bottom limit. (Which is many, many, CPU scans.) Force a Stage ON Stage 10 Stop 005 RST all stages Jump to Stage 0 Stage 5 forced ON Current Stage ISG 0 Start 000 Stage 1 Pipe limit 001 Stage 2 Clamped 002 020 021 Converyor SET Clamp Bottom 003 Stage 3 022 Stage 4 023 SET Saw Saw Down On Top 004 Stage 5 024 022 021 Saw Up RST Saw Off RST Clamp Next Scan Stage 10 Stop 005 RST all stages Clamp is reset, which may cause a saw jam. Jump to Stage 0 ISG 0 Start 000 Stage 1 Pipe limit 001 Stage 2 Clamped 002 020 021 Converyor SET Clamp Bottom 003 Stage 3 022 023 SET Saw Saw Down On Stage 4 Top 004 Stage 5 024 022 021 Saw Up RST Saw Off RST Clamp 6--11 System Monitoring and Troubleshooting WARNING: As shown in the example, forcing stages may cause unpredictable machine operation that can result in a risk of personal injury or equipment damage. To turn a stage on CLR SET SG SHF 5 005 ADDRESS/DATA ENT ON/OFF RUN BATT PWR CPU 0 STR 1 AND 2 OR 3 NOT 4 ISG 5 JMP 6 SET 7 RST 0 SG 1 OUT 2 TMR 3 CNT 4 ADR 5 SHF 6 DATA 7 REG 0 4 0 4 1 5 1 5 2 6 2 6 3 7 3 7 0 STR 1 AND 2 OR 3 NOT 4 ISG 5 JMP 6 SET 7 RST 0 SG 1 OUT 2 TMR 3 CNT 4 ADR 5 SHF 6 DATA 7 REG Monitor the stage to verify the force (optional) CLR SG SHF 5 MON s000 ADDRESS/DATA ON/OFF RUN BATT PWR CPU To turn a stage off CLR ENT RST SG SHF 5 005 ADDRESS/DATA ON/OFF RUN BATT PWR CPU System Monitoring and Troubleshooting Obviously, there are times when it’s perfectly OK to force a program stage on or off. The following example shows the keystrokes required to force an stage. System Monitoring and Troubleshooting 6--12 System Monitoring and Troubleshooting Error Codes The following table lists the error codes that may appear on the Handheld. DL305 Error Code Description E01 Invalid Keystrokes Invalid keystroke or series of keystrokes entered into the handheld programmer. Refer to the DL305 Handheld Programmer manual for assistance in the operation you are trying to perform. E02 Input Point Programmed as Output An I/O point dedicated to an input module has been used as an output in the application program. Change the I/O reference number in the program which is causing the error. E03 Stack Overflow The maximum number of instructions utilizing the internal stack has exceeded eight. These instructions can be a combination of AND STRs, OR STRs and MCS/MCR groups. Reduce the number of these instructions which are pushed onto the stack at one time. E05 (NON Stage) Duplicate Coil Reference Two or more output coils have the same data type and number. Change the duplicate coil to correct the error. Duplicate coil references are valid with the SET instruction. E05 (Stage) Duplicate Stage Reference Two or more Stages have the same reference number. Change the duplicate Stage number to correct the error. E06 MCR/MCS Mismatch The number of MCR instructions do not match the number of MCS instructions. Each MCR must have an accompanying MCS. E07 Missing CNT or SR Contact A required input contact is missing from a CNT (example, RESET input) or a SR instruction. Refer to the DL305 User Manual for details on these instructions. E08 Invalid Data Values The required data values for a TMR, CNT or SR are missing or incorrect. Refer to the DL305 User Manual for details on these instructions. E09 Incomplete Program Rung The rung does not terminate with an output as required. Program an output to terminate the rung properly. E11 Program Full There is no available program addresses in memory. Reduce the size of the program. System Monitoring and Troubleshooting 6--13 Description E21 Program Memory Parity Error A parity error has occurred in the program memory of the CPU. Clear the memory and reload the program. If the error reoccurs replace the CPU. Electrical noise will cause this problem. E22 Password Error The password stored in the CPU is invalid. Press the “CLR” key twice on the handheld programmer and the password will be reset to 0000. Re-enter the password if required. E25 Tape/Program Mismatch A mismatch was found when a compare was performed on the program in CPU memory and the program stored on tape. E28 Volume Incorrect On Tape Device. The volume is incorrect on the tape player being used to load the program to the CPU. Adjust the volume and retry the operation. Refer to the DL305 Handheld Programmer manual for details on tape operation. E31 RAM Limit Exceeded The application program required more RAM for execution than is available. Reduce the length of the program. E99 A search was performed and the specified instruction was not found in the Instruction Not Found application program. System Monitoring and Troubleshooting DL305 Error Code DL305 Memory Map In This Chapter. . . . — DL330 Memory Map — DL330P Memory Map — DL340 Memory Map — I/O Point Bit Map — Control Relay Bit Map — Special Relays — Timer / Counter Registers and Contacts — Data Registers — Stage Control / Status Bit Map — Shift Register Bit Map — Special Registers 1A Appendix A DL305 Memory Map A--2 DL305 Memory Map DL330 Memory Map Memory Type Discrete Memory Reference (octal) Register Memory Reference (octal) Qty. Decimal Symbol Input / Output Points 000 -- 157 700 -- 767 R000 -- R015 R070 -- R076 168 Total Control Relays 160 -- 373 R016 -- R037 140 C0 C0 Special Relays 374 -- 377 770 -- 777 R037 R077 12 772 376 Timers / Counters 600 -- 673 674 -- 677* None 64 Timer / Counter Current Values None R600 -- R673 R674 -- R677* 64 Timer / Counter Status Bits T600 -- T673 T674 -- T677* None 64 Data Words None R400 -- R563 116 Shift Registers 400 -- 577 None 128 Special Registers None R574 -- R577 4 010 000 TMR T600 K100 R600 CNT C600 K10 K100 T600 None specific, used with many instructions SR 400 417 R574 -- R575 used with FAULT R576 -- R577 Auxiliary Accumulator * T/ C Setpoint Unit Only. Can be used as data registers if the Timer/Counter Setpoint Unit or Thumbwheel Interface Module is not used. R564 -- R573 contain the preset value used with the Timer / Counter Setpoint Unit. R674 -- R677 contain the current values for these timers or counters. A--3 DL305 Memory Map Memory Type Discrete Memory Reference (octal) Register Memory Reference (octal) Qty. Decimal Appendix A DL305 Memory Map DL330P Memory Map Symbol Input / Output Points 000 -- 157 700 -- 767 R000 -- R015 R070 -- R076 168 Total Control Relays 160 -- 174 200 -- 277 R016 -- R017 R020 -- R027 77 C0 C0 Special Relays 175 -- 177 770 -- 777 R017 R077 11 772 176 Timers / Counters 600 -- 673 674 -- 677* None 64 Timer / Counter Current Values None R600 -- R673 R674 -- R677* 64 Timer / Counter Status Bits T600 -- T673 T674 -- T677* None 64 Data Words None R400 -- R563 116 Stages S0 -- S177 R100 -- R117 128 Special Registers None R574 -- R577 4 010 000 TMR T600 K100 R600 CNT C600 K10 K100 T600 None specific, used with many instructions SG S1 S 001 R574 -- R575 used with FAULT R576 -- R577 Auxiliary Accumulator * T/ C Setpoint Unit Only. Can be used as data registers if the Timer/Counter Setpoint Unit or Thumbwheel Interface Module is not used, which provides a total of 128 data registers. R564 -- R573 contain the preset value used with the Timer / Counter Setpoint Unit. R674 -- R677 contain the current values for these timers or counters. Appendix A DL305 Memory Map A--4 DL305 Memory Map DL340 Memory Map Memory Type Discrete Memory Reference (octal) Register Memory Reference (octal) Qty. Decimal Symbol Input / Output Points 000 -- 157 700 -- 767 R000 -- R015 R070 -- R076 168 Total Control Relays 160 -- 373 1000 -- 1067 R016 -- R037 R100 -- R106 180 C0 C0 Special Relays 374 -- 377 770 -- 777 1070 -- 1077 R037 R077 R107 20 772 376 Timers / Counters 600 -- 673 674 -- 677* None 64 Timer / Counter Current Values None R600 -- R673 R674 -- R677* 64 Timer / Counter Status Bits T600 -- T673 T674 -- T677* None 64 Data Words None R400 -- R563 R700 -- R767 172 Shift Registers 400 -- 577 None 128 Special Registers None R574 -- R577 R770 -- R777 12 010 000 TMR T600 K100 R600 CNT C600 K10 K100 T600 None specific, used with many instructions SR 400 417 R574--R575 used with FAULT R576--R577 Auxiliary Accumulator R770--R777 Communications Setup * T/ C Setpoint Unit Only. Can be used as data registers if the Timer/Counter Setpoint Unit or Thumbwheel Interface Module is not used. R564 -- R573 contain the preset value used with the Timer / Counter Setpoint Unit. R674 -- R677 contain the current values for these timers or counters. DL305 Memory Map A--5 These tables provide a listing of the individual Input points associated with each register location for the DL330, DL330P, and DL340 CPUs. MSB 007 017 027 037 047 057 067 077 107 117 127 137 147 157 167 177 707 717 727 737 747 757 767 I/O References 006 016 026 036 046 056 066 076 106 116 126 136 146 156 166 176 706 716 726 736 746 756 766 005 015 025 035 045 055 065 075 105 115 125 135 145 155 165 175 705 715 725 735 745 755 765 004 014 024 034 044 054 064 074 104 114 124 134 144 154 164 174 704 714 724 734 744 754 764 003 013 023 033 043 053 063 073 103 113 123 133 143 153 163 173 703 713 723 733 743 753 763 LSB 002 012 022 032 042 052 062 072 102 112 122 132 142 152 162 172 702 712 722 732 742 752 762 001 011 021 031 041 051 061 071 101 111 121 131 141 151 161 171 701 711 721 731 741 751 761 000 010 020 030 040 050 060 070 100 110 120 130 140 150 160 170 700 710 720 730 740 750 760 Register Number R0 R1 R2 R3 R4 R5 R6 R7 R10 R11 R12 R13 R14 R15 n/a n/a R70 R71 R72 R73 R74 R75 R76 NOTE: 160 -- 167 can be used as I/O in a DL330 or DL330P CPU under certain conditions. 160 -- 177 can be used as I/O in a DL340 CPU under certain conditions. You should consult the DL305 User Manual to determine which configurations allow the use of these points. These points are normally used as control relays. You cannot use them as both control relays and as I/O points. Also, if you use these points as I/O, you cannot access these I/O points as a Data Register reference. Appendix A DL305 Memory Map I/O Point Bit Map Appendix A DL305 Memory Map A--6 DL305 Memory Map Control Relay Bit Map The following tables provide a listing of the individual control relays associated with each register location for the DL305 CPUs. NOTE: 160 -- 167 can be used as I/O in a DL330 or DL330P CPU under certain conditions. 160 -- 177 can be used as I/O in a DL340 CPU under certain conditions. You should consult the DL305 User Manual to determine which configurations allow the use of these points. You cannot use them as both control relays and as I/O points. Also, if you use these points as I/O, you cannot access these I/O points as a Data Register reference. MSB 167 177 207 217 227 237 247 257 267 277 307 317 327 337 347 357 367 166 176 206 216 226 236 246 256 266 276 306 316 326 336 346 356 366 DL330 Control Relay References 165 164 163 162 175 174 173 172 205 204 203 202 215 214 213 212 225 224 223 222 235 234 233 232 245 244 243 242 255 254 253 252 265 264 263 262 275 274 273 272 305 304 303 302 315 314 313 312 325 324 323 322 335 334 333 332 345 344 343 342 355 354 353 352 365 364 363 362 373 372 LSB 161 171 201 211 221 231 241 251 261 271 301 311 321 331 341 351 361 371 160 170 200 210 220 230 240 250 260 270 300 310 320 330 340 350 360 370 Register Number R16 R17 R20 R21 R22 R23 R24 R25 R26 R27 R30 R31 R32 R33 R34 R35 R36 R37 * Control relays 340 -- 373 can be made retentive by setting a CPU dipswitch. See the DL305 User Manual for details on setting CPU dipswitches. DL305 Memory Map 167 166 207 217 227 237 247 257 267 277* 206 216 226 236 246 256 266 276 DL330P Control Relay References 165 164 163 162 174 173 172 205 204 203 202 215 214 213 212 225 224 223 222 235 234 233 232 245 244 243 242 255 254 253 252 265 264 263 262 275 274 273 272 LSB 161 171 201 211 221 231 241 251 261 271 160 170 200* 210 220 230 240 250 260 270 Register Number R16 R17 R20 R21 R22 R23 R24 R25 R26 R27 * Control relays 200 -- 277 can be made retentive by setting a CPU dipswitch. See the DL305 User Manual for details on setting CPU dipswitches. MSB 167 177 207 217 227 237 247 257 267 277 307 317 327 337 347 357 367 166 176 206 216 226 236 246 256 266 276 306 316 326 336 346 356 366 1007 1017 1027 1037 1047 1057 1067 1006 1016 1026 1036 1046 1056 1066 DL340 Control Relay References 165 164 163 162 175 174 173 172 205 204 203 202 215 214 213 212 225 224 223 222 235 234 233 232 245 244 243 242 255 254 253 252 265 264 263 262 275 274 273 272 305 304 303 302 315 314 313 312 325 324 323 322 335 334 333 332 345 344 343 342 355 354 353 352 365 364 363 362 373* 372 1005 1004 1003 1002 1015 1014 1013 1012 1025 1024 1023 1022 1035 1034 1033 1032 1045 1044 1043 1042 1055 1054 1053 1052 1065 1064 1063 1062 LSB 161 171 201 211 221 231 241 251 261 271 301 311 321 331 341 351 361 371 1001 1011 1021 1031 1041 1051 1061 160 170 200 210 220 230 240 250 260 270 300 310 320 330 340* 350 360 370 1000 1010 1020 1030 1040 1050 1060 Register Number R16 R17 R20 R21 R22 R23 R24 R25 R26 R27 R30 R31 R32 R33 R34 R35 R36 R37 R100 R101 R102 R103 R104 R105 R106 * Control relays 340 -- 373 can be made retentive by setting a CPU dipswitch. See the DL305 User Manual for details on setting CPU dipswitches. Appendix A DL305 Memory Map MSB A--7 Appendix A DL305 Memory Map A--8 DL305 Memory Map Special Relays The following table shows the Special Relays used with the DL305 CPUs. CPUs DL330P DL330 DL340 DL330 DL330P DL340 DL340 Special Relay Description of Contents 175 100 ms clock, on for 50 ms and off for 50 ms. 176 Disables all outputs except for those entered with the SET OUT instruction. 177 Battery voltage is low. 374 On for the first scan cycle after the CPU is switched to Run Mode. 375 100 ms clock, on for 50 ms and off for 50 ms. 376 Disables all outputs except for those entered with the SET OUT instruction. 377 Battery voltage is low. 770 Changes timers to 0.01 second intervals. Timers are normally 0.1 second time intervals. 771 The external diagnostics FAULT instruction (F20) is in use. 772 The data in the accumulator is greater than the comparison value. 773 The data in the accumulator is equal to the comparison value. 774 The data in the accumulator is less than the comparison value. 775 An accumulator carry or borrow condition has occurred. 776 The accumulator value is zero. 777 The accumulator has an overflow condition. 1074 The RX or WX instruction is active. 1075 An error occurred during communications with the RX or WX instructions. 1076 Port 2 communications mode: on = ASCII mode, off = HEX mode 1077 Port 1 communications mode: on = ASCII mode, off = HEX mode A--9 DL305 Memory Map The following table shows the locations used for programming timer or counters. Since timers and counters share the same data area, you cannot have timers and counters with duplicate numbers. For example, if you have Timer 600, you cannot have a Counter 600. Each register contains the current value for the timer or counter. Each timer or counter also has a timer or counter contact with the same reference number. NOTE: Counter current values are retentive and retain their state after a power cycle. 607 617 627 637 647 657 667 677* 606 616 626 636 646 656 666 676* Timer/Counter References/Registers 605 604 603 602 615 614 613 612 625 624 623 622 635 634 633 632 645 644 643 642 655 654 653 652 665 664 663 662 675* 674* 673 672 601 611 621 631 641 651 661 671 600 610 620 630 640 650 660 670 * Used with Timer / Counter Setpoint Unit and /or Thumbwheel Interface Module. External Timer/Counter Setpoint Unit Registers 674--677 are used in programming for use with the Timer/Counter Setpoint Unit and the Thumbwheel Interface Module that are available in some compatible product families. The registers contain the current time or count. There is also a status bit for each register with the same reference number. For example, the current value for Timer 674 is stored in R674 and the status contact is T674. The presets for these modules are stored in R564 -- R573 as follows. S R564 -- R565 — 1st T/C preset S R566 -- R567 — 2nd T/C preset S R570 -- R571 — 3rd T/C preset S R572 -- R573 — 4th T/C preset The example shows how a 4-digit number would be represented in these registers. R565 0 0 0 1 00 1 1 1 3 R564 0 1 0 0 0 1 0 1 4 5 Appendix A DL305 Memory Map Timer / Counter Registers and Contacts Appendix A DL305 Memory Map A--10 DL305 Memory Map Data Registers The following 8-bit data registers are primarily used with data instructions to store various types of application data. For example, you could use a register to hold a timer or counter preset value. Some data instructions call for two bytes, which will correspond to two consecutive 8-bit data registers such as R401 and R400. The LSB (Least Significant Bit) will be in register R400 as bit0 and the MSB (Most Significant Bit) will be in register R401 as bit17. NOTE: Data Registers are retentive. 407 417 427 437 447 457 467 477 507 517 527 537 547 557 406 416 426 436 446 456 466 476 506 516 526 536 546 556 405 415 425 435 445 455 465 475 505 515 525 535 545 555 DL330 / DL330P 8-Bit Data Registers 404 403 414 413 424 423 434 433 444 443 454 453 464 463 474 473 504 503 514 513 524 523 534 533 544 543 554 553 563 402 412 422 432 442 452 462 472 502 512 522 532 542 552 562 401 411 421 431 441 451 461 471 501 511 521 531 541 551 561 400 410 420 430 440 450 460 470 500 510 520 530 540 550 560 DL305 Memory Map 406 416 426 436 446 456 466 476 506 516 526 536 546 556 405 415 425 435 445 455 465 475 505 515 525 535 545 555 707 717 727 737 747 757 767 706 716 726 736 746 756 766 705 715 725 735 745 755 765 402 412 422 432 442 452 462 472 502 512 522 532 542 552 562 702 712 722 732 742 752 762 401 411 421 431 441 451 461 471 501 511 521 531 541 551 561 701 711 721 731 741 751 761 400 410 420 430 440 450 460 470 500 510 520 530 540 550 560 700 710 720 730 740 750 760 Appendix A DL305 Memory Map 407 417 427 437 447 457 467 477 507 517 527 537 547 557 DL340 8-Bit Data Registers 404 403 414 413 424 423 434 433 444 443 454 453 464 463 474 473 504 503 514 513 524 523 534 533 544 543 554 553 563 704 703 714 713 724 723 734 733 744 743 754 753 764 763 A--11 Appendix A DL305 Memory Map A--12 DL305 Memory Map Stage Control / Status Bit Map This table provides a listing of the individual stages and stage control bits. These are only available with the DL330P CPU. MSB 007 017 027 037 047 057 067 077 107 117 127 137 147 157 167 177 Stage References 006 016 026 036 046 056 066 076 106 116 126 136 146 156 166 176 005 015 025 035 045 055 065 075 105 115 125 135 145 155 165 175 004 014 024 034 044 054 064 074 104 114 124 134 144 154 164 174 003 013 023 033 043 053 063 073 103 113 123 133 143 153 163 173 LSB 002 012 022 032 042 052 062 072 102 112 122 132 142 152 162 172 001 011 021 031 041 051 061 071 101 111 121 131 141 151 161 171 000 010 020 030 040 050 060 070 100 110 120 130 140 150 160 170 Register Number R100 R101 R102 R103 R104 R105 R106 R107 R110 R111 R112 R113 R114 R115 R116 R117 DL305 Memory Map A--13 The shift register bits listed below are used in the shift register instruction. These outputs are discrete bits and are not the same locations as the 8 Bit Data Registers. These bits are retentive meaning they retain their state after a power cycle. NOTE: The DL330P does not have Shift Register bits. Shift Register instructions in the DL330P use Control Relays memory references. MSB 407 417 427 437 447 457 467 477 507 517 527 537 547 557 567 577 406 416 426 436 446 456 466 476 506 516 526 536 546 556 566 576 DL330 / DL340 Shift Register References 405 404 403 402 415 414 413 412 425 424 423 422 435 434 433 432 445 444 443 442 455 454 453 452 465 464 463 462 475 474 473 472 505 504 503 502 515 514 513 512 525 524 523 522 535 534 533 532 545 544 543 542 555 554 553 552 565 564 563 562 575 574 573 572 LSB 401 411 421 431 441 451 461 471 501 511 521 531 541 551 561 571 400 410 420 430 440 450 460 470 500 510 520 530 540 550 560 570 Register Number R40 R41 R42 R43 R44 R45 R46 R47 R50 R51 R52 R53 R54 R55 R56 R57 With the DL340 CPU, these bits can also be used as control relays if they are not used with a Shift Register instruction. Appendix A DL305 Memory Map Shift Register Bit Map Appendix A DL305 Memory Map A--14 DL305 Memory Map Special Registers This table provides a listing of the special registers used with the DL305 CPUs. CPUs Special Register Description of Contents DL330 R574 -- 575 Contains the error code used with the FAULT instruction. DL330P DL340 R576 -- 577 Auxiliary accumulator used with the MUL and DIV instructions. DL340 Only R771 Sets the upper byte of the station address assigned to the bottom communication port. Therefore, this will contain the 1st and 2nd digits of the address. R772 Sets the lower byte of the station address assigned to the bottom communication port. This only contains one digit, which is the 3rd digit of the address. R773 Sets the baud rate for the bottom communication port. R774 Sets the leading communications delay time for the bottom communication port. R775 Sets the trailing communications delay time for the bottom communication port. R776 Sets the leading communications delay time for the top communication port. R777 Sets the trailing communications delay time for the top communication port.
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
advertisement