Visual KV UM 96M0366 GB PDF
Visual KV UM 96M0366 GB PDF
Visual KV UM 96M0366 GB PDF
Users Manual
Visual KV Series
Programming
How this manual is organized: The Visual KV Series Users Manual is composed of 3 separate manuals; 1-Installation, 2-Support Software, 3-Programming. Please read each manual relevant to your purpose.
Safety Precautions
This instruction manual describes the operation and function of the KV Series PLC. Read this manual carefully to ensure safe use and maximum performance from your KV Series PLC.
Symbols
The following symbols alert you to important messages. Be sure to read these messages carefully.
CAUTION
Note:
Conventions
This manual describes the operation/function of all Keyence KV Series PLC. Note following conventions when you use.
Visual KV (Series) KV-10xx, 16xx, 24xx, 40xx Conventional KV (Series) KV-300 (Series) KV-10/80 (Series) KV-10AR/AT/DR/DT KV-24AR/AT/DR/DT KV-10R(W)/T(W) KV-24R(W)/T(W) KV-80R(W)/T(W) KV-300 KV-16AR/AT/DR/DT KV-40AR/AT/DR/DT KV-16R(W)/T(W) KV-40R(W)/T(W)
General Precautions
At startup and during operation, be sure to monitor the functions and performance of the KV Sereis PLC. We recommend that you take substantial safety measures to avoid any damage in the event a problem occurs. Do not open or modify the KV Series PLC or use it in any way other than described in the specifications. When the KV Series PLC is used in combination with other instruments, functions and performance may be degraded, depending on operating conditions and the surrounding environment. Do not use the KV Series PLC for the purpose of protecting the human body. Note: The built-in display may show the error message "Error 40" blinking the very first time you turn on the power supply to the Visual KV Series. Press any key around the display to cancel this message. The Visual KV Series shows this message when no program is loaded.
(1)
Note to User
When using the Visual KV Series in the following conditions or environments, be sure to use the Visual KV Series with sufficient margin regarding the rating and functions, take appropriate safety precautions such as fail-safe, and contact our sales personnel if any questions arise. Use in conditions or environments not described in this manual Use for nuclear power control, railway facilities, air service facilities, vehicles, combustion devices, medical equipment, amusement machines, safety equipment, etc. Use for applications where large effects are predicted to be given on human lives and properties and safety is especially requested.
96M0366
(2)
(3)
Interrupt function The Visual KV Series is equipped with four high-speed interrupt inputs of 10 s maximum. Input time constant change function The time constant can be set in 7 steps from 10 s to 10 ms. Double memory backup functions In addition to a conventional SRAM battery backup function, the Visual KV Series is also equipped with an EEPROM backup function.
(4)
CAUTION
When the ladder support software "LADDER BUILDER for KV Ver. 1.0x" is used, do not use the monitors Change All function. If the Change All function is used, the basic unit may be damaged. Never use the Change All function.
Peripheral units and other units incompatible with the Visual KV Series
Peripheral units in the conventional KV Series and other units shown below are not compatible with the Visual KV Series. Expansion I/O units for the conventional KV Series: KV-8ER/8ET/8EX/16EX/ 8EYR/8EYT/16EYR/16EYT Analog I/O units for the conventional KV Series: KV-AD4/DA4
(5)
(6)
1 Installation
Chapter 1 Configuration and Specifications [Visual KV Series Only]
Describes the system configuration of the Visual KV Series, the names and functions of each part, and the specifications.
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Handheld Programmer
Describes how to use the handheld programmer and memory card.
Chapter 7
Chapter 8
Chapter 9
Chapter 10
Troubleshooting
This chapter describes the error code list, countermeasures against problems, and error indications for each unit.
Appendices
The appendix includes a list of ladder program applications and the index.
2 Support Software
Chapter 1 Introduction
Describes the items included in the package, the product outline, the method to connect a personal computer, the installation method, etc.
(7)
Chapter 2
Editor
Describes the operating procedures in Editor mode.
Chapter 3
Simulator
Describes the operating procedures in Simulator mode.
Chapter 4
Monitor
Describes the operating procedures in Monitor mode.
Appendices
Includes instructions list, devices list, sample program list and quick reference for key operation and shortcuts.
3 Programming
Chapter 1 Programming
Describes basic knowledge including program creation procedures, device configuration, relay assignments, special functions to set and confirm Visual KV Series operations, as well as the extended ladder diagrams. Understand the contents described here completely at first before creating programs.
Chapter 2
Instructions
Describes the concrete usage of instructions in the KV Series. Refer to "Chapter 3 Interrupts" on page 3-183 for details of interrupt instructions. Refer to "Chapter 4 High-speed counters" on page 3-195 for details of the high-speed counters used in the application instruction.
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Serial Communication
The KV Series can be connected to an external device with an RS-232C interface to establish communication. This chapter describes communications specifications, how to connect the KV Series to external devices, and how to perform communication.
Chapter 8
Programming Examples
Describes the typical programming examples for KV-10/80 Series. These programs can be used for Visual KV Series. However, pay attention to the I/O addressing compatibility before use.
(8)
Contents
3
Programming
Programming
1.1 Before Creating Programs .............................................................................. 3-2 1.1.1 Flow from Introduction to Operation ................................................................... 3-2 1.1.2 Scan Time ........................................................................................................... 3-3 Scan time ..................................................................................................... 3-3 Input response time delay ............................................................................ 3-3 1.2 User Memory .................................................................................................... 3-4 1.2.1 Program Capacity ............................................................................................... 3-4 Maximum number of lines in a program ....................................................... 3-4 Calculating the byte count used ................................................................... 3-4 1.3 Device Configuration ....................................................................................... 3-5 1.3.1 Device List .......................................................................................................... 3-5 Relay list ...................................................................................................... 3-5 List of I/O relays in basic units ..................................................................... 3-5 List of relays in expansion units ................................................................... 3-6 1.3.2 Relay No. ............................................................................................................ 3-7 Address No. ................................................................................................. 3-7 Contact No. .................................................................................................. 3-8 Channel No. ................................................................................................. 3-8 1.3.3 Assigning Relay Nos. .......................................................................................... 3-8 1.3.4 Input Relays ........................................................................................................ 3-9 Basic unit ..................................................................................................... 3-9 Expansion unit ........................................................................................... 3-10 1.3.5 Output Relays ................................................................................................... 3-10 Output operation time ................................................................................ 3-10 1.3.6 Internal Utility Relays ........................................................................................ 3-11 Retentive function of internal utility relays .................................................. 3-11 1.3.7 Special Utility Relays ........................................................................................ 3-12 Description ................................................................................................. 3-12 1.3.8 Special Utility Relay List ................................................................................... 3-14 Special relays and arithmetic operation flags ............................................ 3-14 Special utility relays for high-speed counter(0) .......................................... 3-14 Special utility relays for high-speed counter(1) .......................................... 3-15 Other special utility relays .......................................................................... 3-15 1.3.9 Timers and Counters ........................................................................................ 3-18 Timer/Counter list ....................................................................................... 3-18 Description ................................................................................................. 3-18 1.3.10 Data Memories ................................................................................................. 3-19 1.3.11 Temporary Data Memory .................................................................................. 3-21 1.3.12 Relay Nos. and Functions ................................................................................. 3-22 1.4 Special Functions .......................................................................................... 3-23 1.4.1 Input Time Constant Change Function ............................................................. 3-23 Setting the input time constant for basic units using special utility relays .. 3-23 1.4.2 Modifying the Input Relay Time Constant ......................................................... 3-24 Modification within the CPU ....................................................................... 3-24 1.4.3 Constant Scan Time Mode ............................................................................... 3-25 1.4.4 Output Disabled Function ................................................................................. 3-26 1.4.5 Input Refresh Disabled Function ...................................................................... 3-26 1.4.6 Contact Comment Save Function ..................................................................... 3-27 1.4.7 Special Functions ............................................................................................. 3-28 Constant Scan Time Mode ........................................................................ 3-28 Output Disabled Function .......................................................................... 3-28 Input Refresh Disabled Function ................................................................ 3-28 1.5 1.5.1 1.5.2 1.5.3 Extended Ladder Diagrams .......................................................................... 3-29 Features of Extended Ladder Diagrams ........................................................... 3-29 Advantages of Extended Ladder Diagrams ...................................................... 3-30 Example of an Extended Ladder Diagram ........................................................ 3-31
Chapter 1
(9)
Chapter 2
Instructions
2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.3 2.4 2.4.1 2.4.2 2.4.3 2.5 Instruction List [Visual KV Series] .............................................................. 3-34 Basic Instructions ..............................................................................................3-34 Application Instructions ..................................................................................... 3-36 Arithmetic Instructions ...................................................................................... 3-38 Interrupt Instructions .........................................................................................3-41 Function No. List (Alphabetical order) .............................................................. 3-41 Instruction List [KV-300 Series, KV-10/80] ................................................. 3-42 Basic Instructions ..............................................................................................3-42 Application Instructions ..................................................................................... 3-45 Arithmetic Instructions ...................................................................................... 3-48 Interrupt Instructions .........................................................................................3-54 Convention Details ........................................................................................ 3-55 Instruction Details .......................................................................................... 3-56 Basic Instructions ..............................................................................................3-56 Application Instructions ..................................................................................... 3-95 Arithmetic Instructions .................................................................................... 3-134 Programming Notes ..................................................................................... 3-189
Chapter 3
Interrupts
3.1 3.2 3.2.1 3.2.2 3.2.3 3.2.4
Visual KV
Interrupt Instructions ................................................................................... 3-192 Interrupt Processing .................................................................................... 3-194 Interrupt Processing ........................................................................................ 3-194 Types of Interrupts .......................................................................................... 3-195 Interrupt Priority .............................................................................................. 3-196 Interrupt Program ............................................................................................ 3-196
3.3 Direct Input/Output ...................................................................................... 3-197 3.3.1 Direct Input ..................................................................................................... 3-197 3.3.2 Direct Output ................................................................................................... 3-197 3.4 3.4.1 3.4.2 3.4.3 3.4.4 Applications of Interrupt Programs ........................................................... 3-198 Interrupt with a Signal Converter .................................................................... 3-198 Interrupt with a High-speed Counter ............................................................... 3-199 Measuring the ON Time of High-speed Pulses .............................................. 3-200 Measuring the Period in which a Target Passes between Two Points ........... 3-201
Chapter 4
High-speed Counters
4.1
Visual KV
4.2 Outline of High-speed Counters ................................................................. 3-206 4.2.1 High-speed Counters and High-speed Counter Comparators ........................ 3-206 Structure of high-speed counters and high-speed counter comparators . 3-206 Specifications of high-speed counters ..................................................... 3-208 High-speed counter comparators ............................................................. 3-209 4.2.2 Internal Clock for High-speed Counters .......................................................... 3-210 4.3 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 Setting and Operation of High-speed Counters ........................................ 3-211 Reading the Current Value of the High-speed Counter .................................. 3-211 Preset Value of the High-speed Counter Comparator .................................... 3-211 Comparator Output ......................................................................................... 3-211 Count Input Method ........................................................................................ 3-212 Resetting the High-speed Counter ................................................................. 3-214 Differences with the CTH Instruction between the Conventional and Visual KV Series ................................................................ 3-216 4.3.7 Applications of High-speed Counters ............................................................. 3-217 4.4 4.4.1 4.4.2 4.4.3 4.4.4 4.4.5 4.5 Extended Functions of High-speed Counters ........................................... 3-221 24-bit High-speed Counter .............................................................................. 3-221 Changing the Current Value of a 24-bit High-speed Counter ......................... 3-223 Application Example of 24-bit High-speed Counter (single-phase input) ....... 3-224 Ring Counter Function .................................................................................... 3-225 Applications of Ring Counters ........................................................................ 3-226 Special Functions Using High-speed Counters ........................................ 3-228
(10)
Specified Frequency Pulse Output Function .................................................. 3-228 Applications of the Specified Frequency Pulse Output ................................... 3-229 Frequency Counter Function .......................................................................... 3-231 Applications of Frequency Counters ............................................................... 3-232 Cam Switch Function ...................................................................................... 3-233 Cam switch mode .................................................................................... 3-233 Multi-step comparator mode .................................................................... 3-234 Setting method ......................................................................................... 3-234 4.5.6 Application of the Cam Switch (Cam Switch Mode) ....................................... 3-236 4.6 Direct Clock Pulse Output ........................................................................... 3-237 4.6.1 Outline of Direct Clock Pulse Output .............................................................. 3-237 4.6.2 Pulse Output Setting with the High-speed Counter Comparator .................... 3-238 Changing the pulse period and width ....................................................... 3-238 Calculating the pulse period and comparator preset value ...................... 3-239 Operation with special utility relays .......................................................... 3-239 4.7 4.7.1 4.7.2 4.7.3 4.7.4 Examples of Direct Clock Pulse Output .................................................... 3-242 Example of Outputting a Pulse with 1:1 ON/OFF Ratio .................................. 3-242 Example of Outputting a Pulse with Variable ON/OFF Ratio .......................... 3-245 Example of Stopping the Pulse Output at a Specified Pulse Count ............... 3-249 Application of Direct Clock Pulse Output (Ramp-up/down control) ................ 3-251
Chapter 5
Positioning Control
Visual KV
5.1 Outline of Positioning Control .................................................................... 3-254 5.1.1 Ramp-up/down Control ................................................................................... 3-254 5.2 Parameter Setting and Operating Procedures .......................................... 3-255 5.2.1 Parameter Setting Procedure ......................................................................... 3-255 5.2.2 Operating Procedure ...................................................................................... 3-257 5.3 5.3.1 5.3.2 5.3.3 Examples of Using the Positioning Control Function .............................. 3-258 Connection Example ....................................................................................... 3-258 Tips ................................................................................................................. 3-258 Application Examples of the Positioning Control Function ............................. 3-259
Chapter 6
KV-300, KV-10/80
6.1 Interrupt Instructions ................................................................................... 3-268 6.1.1 Description of Interrupts .................................................................................. 3-268 Input processing for routine program and interrupt routine ...................... 3-268 Types of interrupt ..................................................................................... 3-268 Interrupt priority ........................................................................................ 3-269 Interrupt routine ........................................................................................ 3-269 Direct output ............................................................................................. 3-270 Direct input ............................................................................................... 3-270 6.1.2 Interrupt Instructions ....................................................................................... 3-271 6.2 Direct Clock Pulse ........................................................................................ 3-276 6.2.1 Output of Direct Clock Pulse ........................................................................... 3-276 Outline of High-Speed Counters .............................................................. 3-276 Outline of Pulse Output ............................................................................ 3-279 Examples of Pulse Output ....................................................................... 3-284 6.3 Positioning Control ...................................................................................... 3-296 6.3.1 Positioning Control (Ramp-up/down Control) ................................................. 3-296 Outline of positioning control .................................................................... 3-296 Setting and application of parameters ..................................................... 3-297 Examples of stepping motor control ......................................................... 3-300
Chapter 7
Serial Communication
7.1 7.1.1 7.1.2 7.1.3 Communications Specifications ................................................................ 3-306 Communications Specification ........................................................................ 3-306 Connection with the KV Unit ........................................................................... 3-306 Connecting the KV-300 CPU to a Personal Computer ................................... 3-307
7.2 Serial Communication ................................................................................. 3-308 7.2.1 Command Transmission Procedure ............................................................... 3-308
(11)
7.2.2 7.2.3 7.2.4 7.2.5 7.2.6 7.2.7 7.3 7.3.1 7.3.2 7.3.3 7.4
Format of Commands/Responses .................................................................. 3-309 Communication Command/Response List ..................................................... 3-310 Setting Communication Commands and Responses to Commands .............. 3-311 Other Response Codes .................................................................................. 3-315 Error Code List ................................................................................................ 3-316 Example Program ........................................................................................... 3-317 Loading Text Data ........................................................................................ 3-318 Receiving Text Data ....................................................................................... 3-318 Transmitting Text Data ................................................................................... 3-319 Sample Program ............................................................................................. 3-320 ASCII Code List ............................................................................................ 3-321
Chapter 8
Programming Examples
8.1 List ......................................................................................................... 3-324 8.2 Details ......................................................................................................... 3-326 8.2.1 Reference Program Examples ........................................................................ 3-326 Basic Instructions ..................................................................................... 3-326 Application Instructions ............................................................................ 3-334 Arithmetic Instructions .............................................................................. 3-343
3-367
Installation
Configuration and Specifications Visual KV
Chapter 1
1.1 System Configuration ...................................................................................... 1-2 1.1.1 System Configuration ......................................................................................... 1-2 1.2 Specifications ...................................................................................................1-4 1.2.1 General Specifications ........................................................................................ 1-4 1.2.2 AC Power Specifications .................................................................................... 1-5 Visual KV Series operation at power interruption ........................................ 1-5 1.2.3 Performance Specifications ................................................................................ 1-6 Data backup function against instantaneous power interruption ................. 1-7 1.3 Common I/O Specifications of Basic Units ................................................... 1-8 1.3.1 Model of a Basic Unit .......................................................................................... 1-8 1.3.2 Common I/O Specifications ................................................................................ 1-8 1.4 KV-10AR/AT(P)/DR/DT(P) (10-I/O Basic Unit) ............................................. 1-10 1.4.1 Part Names and Functions ............................................................................... 1-10 1.4.2 Terminal Layout Drawings and I/O Circuit Diagrams ........................................ 1-11 KV-10AR/DR (Relay output type) .............................................................. 1-11 KV-10AT(P)/DT(P) (Transistor output type) ............................................... 1-13 1.4.3 AC Power Input (KV-10AR/AT(P)) .................................................................... 1-14 1.4.4 Relationship between Continuous Simultaneous ON Ratio and Ambient Temperature 1-15 1.4.5 Dimensions ....................................................................................................... 1-16 1.5 KV-16AR/AT(P)/DR/DT(P) (16-I/O Basic Unit) ............................................. 1-17 1.5.1 Part Names and Functions ............................................................................... 1-17 1.5.2 Terminal Layout Drawings and I/O Circuit Diagrams ........................................ 1-18 KV-16AR/DR (Relay output type) .............................................................. 1-18 KV-16AT(P)/DT(P) (Transistor output type) ............................................... 1-20 1.5.3 AC Power Input (KV-16AR/AT(P)) .................................................................... 1-21 1.5.4 Relationship between Continuous Simultaneous ON Ratio and Ambient Temperature 1-22 1.5.5 Dimensions ....................................................................................................... 1-23 1.6 KV-24AR/AT(P)/DR/DT(P) (24-I/O Basic Unit) ............................................. 1-24 1.6.1 Part Names and Functions ............................................................................... 1-24 1.6.2 Terminal Layout Drawings and I/O Circuit Diagrams ........................................ 1-25 KV-24AR/DR (Relay output type) .............................................................. 1-25 KV-24AT(P)/DT(P) (Transistor output type) ............................................... 1-27 1.6.3 AC Power Input (KV-24AR/AT(P)) .................................................................... 1-28 1.6.4 Relationship between Continuous Simultaneous ON Ratio and Ambient Temperature 1-29 1.6.5 Dimensions ....................................................................................................... 1-30 1.7 KV-40AR/AT(P)/DR/DT(P) (40-I/O Basic Unit) .............................................. 1-31
(12)
1.7.1 Part Names and Functions ............................................................................... 1-31 1.7.2 Terminal Layout Drawings and I/O Circuit Diagrams ........................................ 1-32 KV-40AR/DR (Relay output type) .............................................................. 1-32 KV-40AT(P)/DT(P) (Transistor output type) ............................................... 1-34 1.7.3 AC Power Input (KV-40AR/AT(P)) .................................................................... 1-35 1.7.4 Relationship between Continuous Simultaneous ON Ratio and Ambient Temperature 1-36 1.7.5 Dimensions ....................................................................................................... 1-37 1.8 1.8.1 1.8.2 1.8.3 KV-E4X/E8X/E16X (Expansion Input Unit) .................................................. 1-38 Part Names and Functions ............................................................................... 1-38 Input Specifications ........................................................................................... 1-38 Terminal Layout Drawings and Input Circuit Diagrams .................................... 1-39 KV-E4X (4-I/O expansion input unit) .......................................................... 1-39 KV-E8X (8-I/O expansion input unit) .......................................................... 1-40 KV-E16X (16-I/O expansion input unit) ...................................................... 1-41 1.8.4 Dimensions ....................................................................................................... 1-42 1.9 KV-E4R/E4T/E8R/E8T(P)/E16R/E16T(P) (Expansion Output Unit) ............. 1-43 1.9.1 Part Names and Functions ............................................................................... 1-43 1.9.2 Output Specifications ........................................................................................ 1-43 KV-E4R/E8R/E16R (Relay output type) ..................................................... 1-44 KV-E4T/E8T(P)/E16T(P) [Transistor output type (NPN/PNP)] .................. 1-44 1.9.3 Terminal Layout Drawings and Input Circuit Diagrams .................................... 1-45 KV-E4R [4-I/O expansion output unit (relay output type)] .......................... 1-45 KV-E4T [4-I/O expansion output unit transistor output type)] .................... 1-46 KV-E8R [8-I/O expansion output unit (relay output type)] .......................... 1-47 KV-E8T(P) [8-I/O expansion output unit (transistor output type)] .............. 1-48 KV-E16R [16-I/O expansion output unit (relay output type)] ...................... 1-49 KV-E16T(P) [16-I/O expansion input unit (transistor output)] .................... 1-50 1.9.4 Dimensions ....................................................................................................... 1-51 1.10 1.10.1 1.10.2 1.10.3 KV-E4XR/E4XT(P) (Expansion I/O Unit) ....................................................... 1-52 Part Names and Functions ............................................................................... 1-52 Input Specifications ........................................................................................... 1-53 Output Specifications ........................................................................................ 1-53 KV-E4XR (Relay output type) .................................................................... 1-53 KV-E4XT(P) (Transistor output type) ......................................................... 1-53 1.10.4 Terminal Layout Drawings and Input Circuit Diagrams .................................... 1-54 KV-E4XR (Relay output type) .................................................................... 1-54 KV-E4XT(P) (Transistor output type) ......................................................... 1-56 1.10.5 Dimensions ....................................................................................................... 1-58 1.11 1.11.1 1.11.2 1.11.3 1.11.4 KV-D20 (Operator Interface Panel) ............................................................... 1-59 Part Names and Functions ............................................................................... 1-59 General Specifications ...................................................................................... 1-60 Functional Specifications .................................................................................. 1-60 Dimensions ....................................................................................................... 1-61
Chapter 2
System Installation
2.1 2.1.1 2.1.2 2.1.3
Visual KV
Installation Environment ............................................................................... 1-64 Installation Environment ................................................................................... 1-64 Installation Position ........................................................................................... 1-65 Installation Procedure ....................................................................................... 1-66 Expansion unit spacer ................................................................................ 1-66 2.1.4 Cautions on Wiring for Each Unit ...................................................................... 1-67 Wiring procedures for basic units ............................................................... 1-67 Cautions on wiring for I/O units .................................................................. 1-68 Terminal ..................................................................................................... 1-68 Cautions on grounding ............................................................................... 1-69 2.1.5 Contact Protection ............................................................................................ 1-69 2.2 Connecting Visual KV Series Expansion Units .......................................... 1-70 2.2.1 Visual KV Series Expansion Units .................................................................... 1-70 2.2.2 Connecting Visual KV Series Expansion Units ................................................. 1-71 Connection methods .................................................................................. 1-72 Number of connectable units ..................................................................... 1-73 2.2.3 Confirming the Connection Settings of Expansion Units .................................. 1-74 Expansion unit relay list ............................................................................. 1-74 Connection information for expansion units ............................................... 1-75 Input time constant for expansion units ..................................................... 1-76
(13)
Clearing the input value when disconnecting ............................................. 1-76 2.2.4 Transferring I/O Information between Expansion Units and the Basic Unit ...... 1-77 When inputting ........................................................................................... 1-77 In the case of output .................................................................................. 1-77 2.3 Inspection and Maintenance ......................................................................... 1-78 2.3.1 Inspection .........................................................................................................1-78 2.3.2 Maintenance ..................................................................................................... 1-78
Chapter 3
Access Window
Visual KV
3.1 Overview of the Access Window .................................................................. 1-80 3.1.1 What is the Access Window ............................................................................. 1-80 3.1.2 Access Window Use Examples ........................................................................ 1-80 3.2 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 Basic Operating Procedures ......................................................................... 1-81 Operation Mode ................................................................................................ 1-81 Access Window Modes ..................................................................................... 1-81 Part Names and Functions of the Access Window ........................................... 1-82 Selecting Modes and Setting/Resetting Key Lock ............................................ 1-82 Turbo Function .................................................................................................. 1-83
3.3 Digital Trimmer Mode .................................................................................... 1-84 3.3.1 Function and Operating Procedure ................................................................... 1-84 Key operation and screen display .............................................................. 1-84 Function and operating procedure ............................................................. 1-84 3.4 Device Mode ...................................................................................................1-87 3.4.1 Function and Operating Procedure ................................................................... 1-87 Devices that can be displayed and changed ............................................. 1-87 Key operation and screen display .............................................................. 1-87 Selecting the device and displaying the current value/set value ................ 1-88 Changing a numeric value ......................................................................... 1-89 Holding the setting ..................................................................................... 1-91 3.4.2 Screen Display for Each Device Type .............................................................. 1-91 Data memory (DM) .................................................................................... 1-91 Temporary data memory (TM) ................................................................... 1-91 Timer/counter (T/C) .................................................................................... 1-92 High-speed counter comparator (CTC) ...................................................... 1-92 Trimmer (TRM) .......................................................................................... 1-93 Relay (RLY) ............................................................................................... 1-93 3.5 System Mode .................................................................................................. 1-94 3.5.1 Function and Operating Procedure ................................................................... 1-94 Key operation and screen display .............................................................. 1-94 LOAD mode and SAVE mode .................................................................... 1-96 Display in LOAD/SAVE mode .................................................................... 1-96 3.6 Message Display ............................................................................................ 1-97 3.6.1 Error Messages and Error Status ..................................................................... 1-97 3.6.2 User Messages .................................................................................................1-97 How to use the user messages .................................................................. 1-98
Chapter 4
Visual KV
Before Operation .......................................................................................... 1-100 Checking Package Contents .......................................................................... 1-100 Part Names and Functions ............................................................................. 1-101 Details about the KV-D20 ............................................................................... 1-102 General specifications .............................................................................. 1-102 Functional specifications .......................................................................... 1-102 Dimensions .............................................................................................. 1-103 4.1.4 Installation and Environment .......................................................................... 1-104 Use environment ...................................................................................... 1-104 Panel mounting ........................................................................................ 1-105 4.1.5 Inspection and Maintenance ........................................................................... 1-106 Inspection ................................................................................................. 1-106 Maintenance ............................................................................................ 1-106 4.2 Overview and Operation .............................................................................. 1-107 4.2.1 Use Examples for the KV-D20 ........................................................................ 1-107
(14)
4.2.2 Connection with the KV Series ....................................................................... 1-108 Connection ............................................................................................... 1-108 Precautions .............................................................................................. 1-108 4.2.3 Overview of the KV-D20 ................................................................................. 1-109 Switching the display mode ..................................................................... 1-109 Overview of each display mode ............................................................... 1-110 Assignment of relays/DM ......................................................................... 1-111 Other functions ......................................................................................... 1-112 Precautions about screen change function .............................................. 1-115 4.2.4 Operator Mode ................................................................................................ 1-117 Screen selection in operator mode .......................................................... 1-117 Operator screen ....................................................................................... 1-118 Direct access screen ................................................................................ 1-126 KV-I/O monitor screen ............................................................................. 1-127 Switch comment screen ........................................................................... 1-128 Lamp comment screen ............................................................................ 1-128 Screen change permission in operator mode .......................................... 1-129 4.2.5 Device Mode ................................................................................................... 1-130 Device mode ............................................................................................ 1-130 Operation example for device mode ........................................................ 1-132 4.2.6 System Mode .................................................................................................. 1-134 System mode ........................................................................................... 1-134 4.3 Examples of Ladder Programs ................................................................... 1-135 4.3.1 Basic Ladder Programs .................................................................................. 1-135 Before creating ladder programs ............................................................. 1-135 Basic ladder programs ............................................................................. 1-136 4.3.2 Examples of Ladder Programs ....................................................................... 1-143 Example of displaying user messages ..................................................... 1-143 Example of displaying messages with titles ............................................. 1-145 Example of position control ...................................................................... 1-146 Example of frequency counter ................................................................. 1-149 Example of 24-bit high-speed counter ..................................................... 1-152 Example of cam switch function ............................................................... 1-154 4.4 4.4.1 4.4.2 4.4.3 Appendix ....................................................................................................... 1-158 Troubleshooting .............................................................................................. 1-158 Available Character List .................................................................................. 1-162 Comment Draft Sheet ..................................................................................... 1-163
Chapter 5
KV-300, KV-10/80
5.1 System Configuration .................................................................................. 1-166 5.1.1 KV-300 ............................................................................................................ 1-166 5.1.2 KV-10/80 ......................................................................................................... 1-167 5.2 Module/Unit Specifications ......................................................................... 1-168 5.2.1 Wiring: KV-U4 Power Supply Module ............................................................. 1-168 Parts and functions .................................................................................. 1-168 5.2.2 Wiring: KV-U5 DC Power Distribution Module ................................................ 1-169 Parts and functions .................................................................................. 1-169 5.2.3 Wiring: KV-300 CPU ....................................................................................... 1-170 Parts and functions .................................................................................. 1-170 5.2.4 Wiring: KV-C16X/C32X Connector Input Module ........................................... 1-171 Parts and functions .................................................................................. 1-171 5.2.5 Wiring: KV-C32T/B16R/B16S Connector Output Module ............................... 1-172 Parts and functions .................................................................................. 1-172 5.2.6 Wiring: KV-R1A I/O Distribution Module ......................................................... 1-173 Parts and functions .................................................................................. 1-173 5.2.7 Wiring: KV-R8X/R16X/R8R/R16R/R8T/R16T I/O Terminal Modules ............. 1-174 Parts and functions .................................................................................. 1-174 5.2.8 Module Names and Functions ........................................................................ 1-175 5.2.9 Peripheral Equipment Names and Functions ................................................. 1-176 5.3 5.3.1 5.3.2 5.3.3 Module/Unit Connections ............................................................................ 1-178 Environmental Requirements ......................................................................... 1-178 Installation Guidelines ..................................................................................... 1-178 Assembling the System .................................................................................. 1-179 Connecting modules ................................................................................ 1-179 5.3.4 Mounting to the DIN Rail ................................................................................. 1-180 5.3.5 Removing the Terminal Block ......................................................................... 1-181
(15)
5.3.6 Connecting the AC Power Supply Module and DC Power Distribution Module .... 1-182 KV-U4 AC Power Supply Module ............................................................ 1-182 KV-U5 DC Power Distribution Module ..................................................... 1-182 5.3.7 I/O Connectors ................................................................................................ 1-183 KV-300 CPU ............................................................................................ 1-183 KV-C16X/C32X ........................................................................................ 1-184 KV-C32T/B16R/B16S .............................................................................. 1-185 KV-R8X/R16X/R8R/R16R/R8T/R16T ...................................................... 1-186 5.3.8 I/O Terminal Modules: Communication Cables and Power Distribution ......... 1-187 Transmission distance by cable type ....................................................... 1-187 Connection patterns ................................................................................. 1-187 Incorrect wiring patterns ........................................................................... 1-188 Power distribution .................................................................................... 1-188 5.3.9 Connector Assembly Instructions ................................................................... 1-189 5.3.10 KV-300 CPU I/O Indicators ............................................................................. 1-191 5.3.11 KV-10/80 Expansion Units .............................................................................. 1-192 5.3.12 Mounting Environment .................................................................................... 1-194
Chapter 6
Handheld Programmer
6.1 Using the Handheld Programmer ............................................................... 1-196 6.1.1 Outline of the Handheld Programmer ............................................................. 1-196 6.1.2 Precautions ..................................................................................................... 1-198 6.2 Basic Operations ......................................................................................... 1-200 6.2.1 Basic Programming Operation ........................................................................ 1-200 6.3 Functions ...................................................................................................... 1-216 Function Nos. list ..................................................................................... 1-216 ALL CLEAR .............................................................................................. 1-217 HANDHELD PROGRAMMER CLEAR ..................................................... 1-217 COUNTER CLEAR .................................................................................. 1-218 HIGH-SPEED COUNTER CLEAR ........................................................... 1-218 ALL DATA MEMORY CLEAR .................................................................. 1-219 ALL LATCHING RELAYS RESET ........................................................... 1-219 PROGRAM SENT OR RECEIVED .......................................................... 1-220 OFFLINE EDITOR START ...................................................................... 1-221 OFFLINE EDITOR STOP ........................................................................ 1-221 TIMER/COUNTER CURRENT VALUE CHANGE ................................... 1-222 TIMER/COUNTER SETTING CHANGE .................................................. 1-224 RELAY ON/OFF ....................................................................................... 1-226 WRITE INTO DATA MEMORY ................................................................ 1-227 READ TRIMMER SETTING ..................................................................... 1-228 SYNTAX CHECK ..................................................................................... 1-228 PROGRAM CAPACITY CHECK .............................................................. 1-229
6.4 Memory Card ................................................................................................ 1-230 6.4.1 Functions [used with KV-P3E(01)] .................................................................. 1-230 6.4.2 Storage Capacity ............................................................................................ 1-230 CLEAR ..................................................................................................... 1-232 NEW ......................................................................................................... 1-233 ACCS ....................................................................................................... 1-234 ACCS: SAVE ........................................................................................... 1-235 ACCS: LOAD ........................................................................................... 1-236 ACCS: VERIFY ........................................................................................ 1-236 ACCS: DELETE ....................................................................................... 1-237
Chapter 7
KV-300
7.1 Outline ......................................................................................................... 1-240 7.1.1 Features .......................................................................................................... 1-240 7.2 7.2.1 7.2.2 7.2.3 7.3 7.3.1 7.3.2 7.3.3 Configuration ............................................................................................... 1-241 Parts and Functions ........................................................................................ 1-241 System Configuration ..................................................................................... 1-242 Outline of Operation Modes ............................................................................ 1-244 Installation .................................................................................................... 1-245 Setting the Operation Mode ............................................................................ 1-245 Communications Protocols ............................................................................. 1-247 Connector Wiring ............................................................................................ 1-248
(16)
7.3.4 Connecting to External Units .......................................................................... 1-249 Connecting to An External Display .......................................................... 1-249 Connecting to an IBM PC-AT Computer .................................................. 1-249 Connecting to the KV-10/16/24/40/80 ...................................................... 1-250 Connecting KV-L2s .................................................................................. 1-250 7.4 Software Setup ............................................................................................. 1-252 7.4.1 Using KV Software [KV IncrediWare (DOS)] .................................................. 1-252 Starting KV IncrediWare (DOS) from the KV-L2 ........................................................ 1-252 7.5 KV Mode Programming ............................................................................... 1-253 7.5.1 Operating in KV Mode .................................................................................... 1-253 Communications protocol ........................................................................ 1-253 7.5.2 Serial Communications Procedure ................................................................. 1-255 Command transmission procedure .......................................................... 1-255 Command/response format ..................................................................... 1-256 Communications commands and responses ........................................... 1-256 Communications commands .................................................................... 1-257 7.5.3 Transmission and Reception of Text Data ...................................................... 1-262 Assigning relay nos. and data memory address nos. .............................. 1-262 Transmitting Text Data ............................................................................. 1-264 Receiving text data .................................................................................. 1-265 ASCII code/binary conversion function .................................................... 1-266 Example program ..................................................................................... 1-269 7.6 Display Interface Mode Programming ....................................................... 1-270 7.6.1 Operating in Display Interface Mode .............................................................. 1-270 Communications protocols ....................................................................... 1-270 Communications control procedure ......................................................... 1-271 7.6.2 Command and Response Format ................................................................... 1-273 7.6.3 Commands and Responses ........................................................................... 1-275 List of commands and responses ............................................................ 1-275 Description of commands and responses ................................................ 1-277 End codes ................................................................................................ 1-291 7.7 Non-procedure Mode Programming .......................................................... 1-292 7.7.1 Operating in Non-procedure Mode ................................................................. 1-292 Communications protocol ........................................................................ 1-292 Connecting to the KV-L2 .......................................................................... 1-293 7.7.2 Assignment of Relay Nos. and Data Memory Address Nos. .......................... 1-294 Assigning relay nos. and data memory address nos. .............................. 1-294 7.7.3 Transmitting Text Data ................................................................................... 1-297 Data transmission and internal data memory addresses ......................... 1-297 7.7.4 Receiving Text Data ....................................................................................... 1-298 Format of received data and data memory addresses ............................ 1-298 7.7.5 ASCII code/Binary Conversion Function ........................................................ 1-300 7.8 Troubleshooting Guide ............................................................................... 1-304 7.8.1 Troubleshooting .............................................................................................. 1-304 7.8.2 Precautions ..................................................................................................... 1-305 7.9 Specifications ............................................................................................... 1-306 7.9.1 Specifications .................................................................................................. 1-306 General specifications .............................................................................. 1-306 Communications protocol ........................................................................ 1-306 RS-232C connector specifications ........................................................... 1-306 RS-422A terminal block specifications ..................................................... 1-306 7.9.2 Dimensions ..................................................................................................... 1-307 7.10 Command List .............................................................................................. 1-308 7.10.1 List of Commands and Responses ................................................................. 1-308 7.10.2 List of Commands and Responses in Display Interface mode ....................... 1-309
Chapter 8
KV-300
8.2 Configuration ............................................................................................... 1-313 8.2.1 Parts and Functions ........................................................................................ 1-313 8.2.2 System Configuration ..................................................................................... 1-314 8.3 Installation .................................................................................................... 1-315 8.3.1 Terminal Nos. ................................................................................................. 1-315
(17)
8.3.2 8.3.3 8.3.4 8.3.5 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.4.6 8.4.7 8.4.8 8.4.9 8.5 8.5.1 8.5.2 8.5.3
Removing the Terminal Block ......................................................................... 1-316 Example of Voltage I/O Wiring ........................................................................ 1-317 Example of Current I/O Wiring ........................................................................ 1-318 Setting I/O Ranges ......................................................................................... 1-319 Programming ................................................................................................ 1-320 Input Characteristics (A/D) .............................................................................. 1-320 Calculating Input Data (A/D) ........................................................................... 1-321 Output Characteristics (D/A) ........................................................................... 1-322 Calculating Output Data (D/A) ........................................................................ 1-323 Assigning Data Memory (DM) Addresses ....................................................... 1-324 Reading Analog Input ..................................................................................... 1-325 Measuring Analog Input Average ................................................................... 1-326 Writing Analog Output ..................................................................................... 1-327 Converting Analog Input to Analog Output ..................................................... 1-328
KV-AN6 Appendices .................................................................................... 1-329 Troubleshooting .............................................................................................. 1-329 Precautions ..................................................................................................... 1-330 Specifications .................................................................................................. 1-331 Environmental specifications ................................................................... 1-331 System specifications .............................................................................. 1-331 8.5.4 Dimensions ..................................................................................................... 1-332
Chapter 9
KV-10/80
9.2 Configuration ............................................................................................... 1-335 9.2.1 Part Names and Functions ............................................................................. 1-335 KV-AD4 .................................................................................................... 1-335 KV-DA4 .................................................................................................... 1-336 9.2.2 Specifications .................................................................................................. 1-337 KV-AD4 .................................................................................................... 1-337 KV-DA4 .................................................................................................... 1-339 9.2.3 System Configuration ..................................................................................... 1-341 9.3 9.3.1 9.3.2 9.3.3 Installation .................................................................................................... 1-342 Installation Procedure ..................................................................................... 1-342 Checking the Installation Environment ........................................................... 1-343 Setting the KV-AD4 Input Mode ...................................................................... 1-344 Setting the input mode ............................................................................. 1-344 9.3.4 Connecting External Instruments .................................................................... 1-345 Wiring ....................................................................................................... 1-345 Wiring diagrams ....................................................................................... 1-346 9.3.5 Connecting to the KV-10 to 80 ........................................................................ 1-348 9.3.6 Maintenance ................................................................................................... 1-349 Inspection and Cleaning .......................................................................... 1-349 9.4 Programming ................................................................................................ 1-350 9.4.1 Programming the KV-AD4 .............................................................................. 1-350 A/D Conversion Mechanism .................................................................... 1-350 About Digital Data after A/D Conversion .................................................. 1-351 Calculating Voltage and Current Values from Digital Data ...................... 1-352 9.4.2 Programming the KV-DA4 .............................................................................. 1-353 D/A Conversion Mechanism .................................................................... 1-353 Converting Digital Data to Voltage or Current Values to be Output ......... 1-354 Writing Digital Data to Data Memory for D/A Conversion ........................ 1-356 9.4.3 A/D and D/A Conversion Tables ..................................................................... 1-357 Voltage Conversion Table ........................................................................ 1-357 Current Conversion Table ........................................................................ 1-358 9.5 Programming Examples .............................................................................. 1-359 Calculating Analog Data Values from Digital Data ................................... 1-359 Writing Data to be Analog-output ............................................................. 1-361 Outputting Analog Trimmer Values .......................................................... 1-364 Outputting Analog Input Data ................................................................... 1-365 Outputting Analog Input from a Pressure Sensor to an Air Valve ............ 1-366 Setting the Minimum and Maximum Voltage Limits and Measuring the Average Voltage ...................................................................................... 1-367 Troubleshooting ........................................................................................... 1-370
9.6
(18)
Chapter 10
Troubleshooting
10.1 10.1.1 10.1.2 10.1.3 10.1.4 10.2 Error List ....................................................................................................... 1-372 List of Error Codes in Basic Units ................................................................... 1-372 Error indication in Expansion Units ................................................................. 1-374 Program Errors ............................................................................................... 1-375 Memory Card Errors and Other Errors ........................................................... 1-376 Replacing Relays ......................................................................................... 1-377 Replacement procedure ........................................................................... 1-377
10.3 Troubleshooting ........................................................................................... 1-378 10.3.1 Troubleshooting List ....................................................................................... 1-378 10.4 Error Messages ............................................................................................ 1-380
Appendices
Appendix A. Specifications and Dimensions [Visual KV Series] .................... 1-382 A.1 System Specifications [Visual KV Series] ....................................................... 1-382 Hardware ................................................................................................. 1-382 Software and Programming ..................................................................... 1-383 AC power supply unit ............................................................................... 1-384 A.2 Common I/O Specifications of Basic Units ..................................................... 1-384 Input specifications .................................................................................. 1-384 Output specifications (relay output): KV-10AR/DR, KV-16AR/DR, KV-24AR/DR, and KV-40AR/DR .............................................................. 1-385 Output specifications (transistor output): KV-10AT(P)/DT(P), KV-16AT(P)/DT(P), KV-24AT(P)/DT(P), and KV-40AT(P)/DT(P) ............ 1-385 A.3 Expansion Unit Specifications ........................................................................ 1-385 A.4 Dimensions ..................................................................................................... 1-389 Appendix B. Specifications and Dimensions [KV-300 Series] ......................... 1-392 B.1 System Specifications [KV-300 Series] .......................................................... 1-392 Hardware ................................................................................................. 1-392 Software and Programming ..................................................................... 1-393 AC Power supply module/DC power distribution module ........................ 1-394 B.2 Module Specifications ..................................................................................... 1-398 KV-300 CPU ............................................................................................ 1-398 KV-C16X/C32X Input Modules ................................................................ 1-399 KV-C32T/B16R/B16S Output Modules ................................................... 1-400 KV-R8X/R16X I/O Terminal Modules ....................................................... 1-401 KV-R8T/R16T/R8R/R16R I/O Terminal Modules ..................................... 1-402 KV-R8T/R16T/R8R/R16R I/O Terminal Modules (RUN Output) .............. 1-403 KV-R1A I/O Distribution Module .............................................................. 1-403 B.3 Dimensions ..................................................................................................... 1-404 Appendix C. Ladder Program List ...................................................................... 1-406 Appendix D. A/D and D/A Conversion Tables [KV-AN6] ..................................... 1-408 Voltage conversion table .......................................................................... 1-408 Current conversion table .......................................................................... 1-409
1-419
Support software
Introduction
1.1 Items Included in the Package ........................................................................ 2-2
Chapter 1
1.2 Outline of the Ladder Builder for KV .............................................................. 2-3 1.2.1 Operating environment and system configuration .............................................. 2-3 1.2.2 Features and functions of the Ladder Builder for KV .......................................... 2-4 Features of the Ladder Builder for KV ......................................................... 2-4 Functions of the Ladder Builder for KV ........................................................ 2-6 1.3 Before Programming ....................................................................................... 2-7 Machines to be prepared ............................................................................. 2-7 1.3.1 Differences from the KV IncrediWare (DOS) ...................................................... 2-8 1.3.2 Differences from the Ladder Builder for KV Ver 1.0 ........................................... 2-8 1.4 Installing the Software ..................................................................................... 2-9
(19)
1.4.1 Preparation for installation .................................................................................. 2-9 1.4.2 Installation Procedure ....................................................................................... 2-10 Installation in Windows 95 ......................................................................... 2-10 Installation in Windows 3.1 ........................................................................ 2-12 1.5 1.6 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 Cautions for Use ............................................................................................ 2-13 Basic Operations ........................................................................................... 2-14 Program creation flow and available modes ..................................................... 2-14 Starting up and exiting from the software ......................................................... 2-16 Screen ..............................................................................................................2-18 Mouse operation and keyboard operation ........................................................ 2-21 Online Help ....................................................................................................... 2-23
Chapter 2
Editor
KV-300
2.1 Outline of the Editor Functions .................................................................... 2-26 2.1.1 Cautions for editing ladder programs ................................................................ 2-26 2.2 Edit Screen ..................................................................................................... 2-27 2.2.1 Name and function of each part of the screen .................................................. 2-27 2.2.2 Ladder program window screen ....................................................................... 2-28 2.3 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.5 2.5.1 2.5.2 2.5.3 File Management ............................................................................................ 2-29 Creating a new file ............................................................................................ 2-29 Setting the automatic file read function ............................................................. 2-30 Setting automatic file save for the file ............................................................... 2-31 Saving and reading files ................................................................................... 2-32 Reading and saving a file in another format ..................................................... 2-33 Saving a ladder diagram in text format ............................................................. 2-36 Verifying files .................................................................................................... 2-36 Entering/Deleting Symbols and Connection Lines .................................... 2-37 Entering symbols ..............................................................................................2-37 Deleting symbols ..............................................................................................2-42 Entering contacts/coils directly ......................................................................... 2-42 Changing the device at the current cursor position .......................................... 2-43 Entering/Deleting connection lines ................................................................... 2-44 Canceling edit operations ................................................................................. 2-45 Entering Comments/Labels ......................................................................... 2-46 Editing comments/labels ................................................................................... 2-46 Editing line comments ....................................................................................... 2-50 Changing ladder lines into comments ............................................................... 2-51
2.6 Edit and Arrangement .................................................................................. 2-52 2.6.1 Copy, move, and delete .................................................................................... 2-52 2.6.2 Inserting and deleting lines ............................................................................... 2-57 2.7 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 Jump, Search, and Replace ......................................................................... 2-58 Jump .................................................................................................................2-58 Searching for instruction words/operands ........................................................ 2-62 Searching for the device at the cursor position ................................................. 2-63 Replacing operands .......................................................................................... 2-64 Converting a/b contacts .................................................................................... 2-65
2.8 Editing the Mnemonic List ........................................................................... 2-67 2.8.1 Displaying and terminating a mnemonic list ..................................................... 2-67 2.8.2 Copy, move, and delete .................................................................................... 2-69 2.9 Displaying the Use Status ............................................................................. 2-70 2.9.1 Displaying a use status list ............................................................................... 2-70 2.10 Setting the System .........................................................................................2-71 2.10.1 Setting the system ............................................................................................ 2-71 2.11 Entering and Developing Macros ................................................................ 2-72 2.11.1 Creating a macro file .........................................................................................2-72 2.11.2 Entering and developing macros ...................................................................... 2-74 2.12 2.12.1 2.12.2 2.12.3 2.13 Compilation .................................................................................................... 2-75 Executing compilation ....................................................................................... 2-75 Error display ......................................................................................................2-76 Double coil check ..............................................................................................2-76 Printing Functions .........................................................................................2-77
(20)
2.13.1 Printing ..............................................................................................................2-77 2.13.2 Preview display ................................................................................................. 2-81 2.14 Changing the Display Color on the Screen ................................................. 2-82 2.14.1 Changing display colors on the screen ............................................................. 2-82
Chapter 3
Simulator
3.1 Outline of the Simulator Functions .............................................................. 2-84 3.1.1 Outline of the functions ..................................................................................... 2-84 3.1.2 Restrictions in the simulator .............................................................................. 2-84 3.2 Starting up and Exiting from the Simulator ................................................. 2-86 3.2.1 Operating procedure for startup and exit .......................................................... 2-86 3.2.2 Name and function of each part of the screen .................................................. 2-88 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.4 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.5.6 3.5.7 Ladder Monitor ............................................................................................... 2-89 Outline of the ladder monitor ............................................................................ 2-89 Executing scans ................................................................................................ 2-89 Executing steps .............................................................................................. 2-101 Jump and search ............................................................................................ 2-105 Stop/reset and device all clear ........................................................................ 2-108 Monitor All .................................................................................................... 2-109 Outline of monitor all ....................................................................................... 2-109 Displaying, saving, and reading the monitor all window ................................. 2-109 Monitor all window .......................................................................................... 2-113 Registering devices ........................................................................................ 2-113 Selecting and changing devices ..................................................................... 2-116 Registration Monitor .................................................................................... 2-119 Outline of the registration monitor ................................................................... 2-119 Displaying, saving, and reading the registration monitor ................................ 2-119 Registration monitor window ........................................................................... 2-122 Registering devices ........................................................................................ 2-122 Selecting and changing devices ..................................................................... 2-123 Manipulating timing charts .............................................................................. 2-128 Printing out the registration monitor ................................................................ 2-131
Chapter 4
Monitor
4.1 4.1.1 4.1.2 4.1.3 Outline of the Monitor Functions ............................................................... 2-134 Outline of the functions ................................................................................... 2-134 Restrictions in the monitor .............................................................................. 2-134 Precautions for communication ...................................................................... 2-135
4.2 Communicating with the PLC ..................................................................... 2-136 4.2.1 Setting the PLC communication parameters .................................................. 2-136 4.2.2 Setting the comment transfer .......................................................................... 2-138 4.3 Starting up and Exiting from the Monitor .................................................. 2-139 4.3.1 Operating procedures for startup and exit ...................................................... 2-139 4.3.2 Name and function of each part of the screen ................................................ 2-143 4.4 4.4.1 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.4.7 Ladder Monitor ............................................................................................. 2-144 Outline of the ladder monitor .......................................................................... 2-144 Displaying the ladder monitor window ............................................................ 2-144 PLC error check .............................................................................................. 2-144 Starting the monitor ........................................................................................ 2-145 Stopping the monitor ....................................................................................... 2-145 Screen displayed while the monitor is running ............................................... 2-146 Setting the PLC operation mode ..................................................................... 2-147
4.5 Monitor All and Registration Monitor ......................................................... 2-148 4.5.1 Functions of the monitor all window ................................................................ 2-148 4.5.2 Functions of the registration monitor .............................................................. 2-148 4.6 4.6.1 4.6.2 4.6.3 Monitor Function .......................................................................................... 2-149 Disabling the input refresh/Disabling the output ............................................. 2-149 Changing the current values all at once ......................................................... 2-150 Device all clear ............................................................................................... 2-154
(21)
Appendices
Appendix A Error Message List ......................................................................... 2-156 A-1 System errors ................................................................................................. 2-156 A-2 Memory errors ................................................................................................ 2-156 A-3 File errors ........................................................................................................ 2-157 A-4 Installation errors ............................................................................................ 2-157 A-5 Errors that occur in the editor ......................................................................... 2-158 A-6 Errors that occur in the monitor/simulator ....................................................... 2-159 A-7 Communication errors (displayed in the monitor) ........................................... 2-159 A-8 PLC errors ...................................................................................................... 2-160 A-9 Errors that occur during compilation ............................................................... 2-161 Appendix B Instruction List ............................................................................... 2-163 B-1 Basic instructions ............................................................................................ 2-163 B-2 Application instructions ................................................................................... 2-164 B-3 Arithmetic instructions ..................................................................................... 2-165 B-4 Interrupt instructions ....................................................................................... 2-166 Appendix C Relay No. List .................................................................................. 2-167 C-1 Relays, timers, counters, and memory numbers for each model ................... 2-167 Appendix D Special Utility Relay List ................................................................ 2-168 D-1 Special relays and arithmetic operation flags ................................................. 2-168 D-2 Special utility relays for high-speed counter (0) .............................................. 2-168 D-3 Special utility relays for high-speed counter (1) .............................................. 2-169 D-4 Other special utility relays ............................................................................... 2-169 D-5 Memory switches ............................................................................................ 2-172 D-6 Special memory list ......................................................................................... 2-172 Appendix E Devices for KV-10R(W)/T(W) to 80R(W)/T(W), KV-300 ................ 2-174 E-1 Special utility relays ........................................................................................ 2-174 E-2 Memory switches ............................................................................................ 2-176 E-3 Special memory list ......................................................................................... 2-176 Appendix F Sample Program List ..................................................................... 2-178 F-1 Description of sample ladder programs .......................................................... 2-178 Appendix G Quick Reference ............................................................................. 2-180 G-1 Editor .............................................................................................................. 2-180 G-2 Simulator ......................................................................................................... 2-188 G-3 Monitor ............................................................................................................ 2-195 Appendix H Notes for Programming ................................................................. 2-201 H-1 Circuits that must be modified ........................................................................ 2-201 H-2 Precautions for programming ......................................................................... 2-202 H-3 Programs which cannot be decompiled .......................................................... 2-203 Appendix I Appendix J List of Files Used ............................................................................ 2-204 Countermeasures for Frequent Communication Errors ............ 2-205 2-215
(22)
Caution
No part of this manual may be reprinted or reproduced in any form or by any means without the prior written permission of KEYENCE CORPORATION. The content of this manual is subject to change without notice. KEYENCE has thoroughly checked and reviewed this manual. Please contact the sales office listed at the end of this manual if you have any questions or comments regarding this manual or if you find an error. KEYENCE assumes no liability for damages resulting from the use of the information in this manual, item 3 above notwithstanding. KEYENCE will replace any incomplete or incorrectly collated manual.
All company names and product names in this manual are registered trademarks or trademarks of their respective owners.
(23)
Chapter 1
Programming
This chapter describes basic knowledge including program creation procedures, device configuration, relay assignments, special functions to set and confirm Visual KV Series operations, as well as the extended ladder diagrams. Understand the contents described here completely at first before creating programs.
1.1
1.1.1 1.1.2
1.2
1.2.1
1.3
1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.3.10 1.3.11 1.3.12
1.4
1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7
1.5
1.5.1 1.5.2 1.5.3
PL
Next, a program is created that will use the same operation as this circuit to control a PLC.
Program examination
Circuit 1 shows relay symbols for the latch circuit. Examine which contact in the Visual KV Series is used for each pushbutton switch and pilot lamp (Table 1). When many I/O devices are required for control, expansion units should also be considered. Circuit 1
RL
PB1 PB2 RL
Relay (contact)
RL
Relay (contact)
Program creation
Edit a program using the "LADDER BUILDER for KV" programming support software creation tool. Ladder diagram
0000 0001* 1000
1000 0500
1000
3-2
Chapter 1 Programming
RL (Relay)
PL
Table 1 I/O device Pushbutton switch PB1 (N.O. contact) Pushbutton switch PB2 (N.C. contact) Relay RL Pilot lamp PL Contact No. Input relay (0000) Input relay (0001) Internal relay (1000) Output coil (0500)
Relay (coil)
PL
Pilot lamp
Coding list LD 0000 OR 1000 AND 0001 OUT 1000 LD 1000 OUT 0500 END
Operation
Program execution
Output processing
The duration of time required to perform one cycle is called the scan time (or cycle time). The scan time varies based on program size and the instructions used in the program.
1 1
Input signal
ON OFF
Read Read
Output processing
Output processing
Output processing
Output processing
Output processing
Input processing
Input processing
Input processing
Program execution
Program execution
Program execution
Input processing
Program execution
Scan time
Scan time
Reference: The maximum and minimum values of the input response time are as follows.
Maximum value: Input time constant + Scan time x 2 + Output response delay time Minimum value: Input time constant + Scan time + Output response delay time
Note 1: When the input time constant is made small by setting the HSP instruction, special utility relay 2813, and data memory DM1940, a signal may not be received if its ON time is shorter than the scan time. Note 2: The INT instruction is independent of the scan time. Note 3: The minimum scan time is 140 s (with the basic unit).
Chapter 1 Programming
3-3
Input processing
For more about byte counts for each instruction, refer to "2.1 Instruction List" (p.3-34).
3-4
Chapter 1 Programming
B phase input
1 1
Preset input
Note 1: The ON/OFF status of the set functions is always cleared when the operation mode is changed from PROGRAM to RUN. However, special utility relays 2700 to 2715 are held even when the operation mode is changed from PROGRAM to RUN or when the power is turned off. Note 2: Internal utility relays can be held by setting the MEMSW instruction
Chapter 1 Programming
3-5
100 to 103 200 to 203 100 to 107 200 to 207 100 to 115 200 to 215 200 to 203 300 to 303 200 to 207 300 to 307 200 to 215 300 to 315 300 to 303 400 to 403 300 to 307 400 to 407 300 to 315 400 to 415 400 to 403 400 to 40 7 400 to 415
Output units
Connection order 1st output module 2nd output module 3rd output module 4th output module KV-E4T(P)/R 600 to 603 700 to 703 800 to 803 900 to 903 KV-E8T(P)/R 600 to 607 700 to 707 800 to 807 900 to 907 KV-E16T(P)/R 600 to 615 700 to 715 800 to 815 900 to 915
I/O units
KV-E4XR/T(P) Connection order 1st input module 2nd input module 3rd input module 4th input module 1st output module 2nd output module 3rd output module 4th output module
* *
Input relays KV-10/16/24 100 to 103 200 to 203 300 to 303 400 to 403 KV-40 200 to 203 300 to 303 400 to 403
Relay Nos. of expansion units are automatically assigned in the order of connection. The connection order is counted only for input and output units. When I/O units are connected, they are counted as input units and output units separately.
3-6
Chapter 1 Programming
12515
Contact No. (00 to 15) Address No. (Input: 0 to 4, output: 5 to 9)
Address No.
Address Nos. are assigned to basic units, input expansion units, output expansion units, and I/O expansion units. Zero to 4 are assigned to input units, while 5 to 9 are assigned to output units. Address Nos. assigned in a unit vary based on the number of I/O terminals and the connection position of the unit.
Model KV-10xx Basic units KV-16xx KV-24xx KV-40xx kV-E4X Input expansion units KV-E8X KV-E16X KV-E4R/E4T(P) Output expansion units I/O expansion units * 2 to 4 in KV-40xx KV-E8R/E8T(P) KV-E16R/E16T(P) KV-E4XR/E4XT(P) Address Nos. 0, 5 0, 5 0, 5 0, 1, 5 1 to 4* 1 to 4* 1 to 4* 6 to 9 6 to 9 6 to 9 1 to 4*, 6 to 9
1 1
Address No. assignment procedure The address No. is represented as a number 0 to 9. Address Nos. 0 to 4 are provided for inputs, while address Nos. 5 to 9 are provided for outputs.
Chapter 1 Programming
3-7
Contact No.
Contact Nos. are input/output terminal Nos. of basic units, input expansion units, output expansion units, and I/O expansion units. The contact No. is represented as a number 0 to 15.
Example In the KV-E4X, with 4 input terminals, the contact Nos. are 0 to 3. In the KVE16T(P), with 16 input terminals, the contact Nos. are 0 to 15.
In a unit with 16 or more terminals, the contact No. of the 17th terminal returns to 0 and its address No. is increased by 1.
Example In the KV-40AR, with 40 terminals (24 input and 16 output terminals), address No. 0 is assigned to input terminal Nos. 1 to 16 and address No. 1 is assigned to input terminal Nos. 17 to 24
Channel No.
The channel No. is the higher order digit in the contact No.
With the connections above, the relay Nos. for each unit are assigned as shown in the table below.
Unit a) KV-16AR b) KV-E4X c) KV-E8R Assigned relay Nos. 0000 to 0009 (input) and 0500 to 0505 (output) 0100 to 0103 (input) 0600 to 0607 (output)
3-8
Chapter 1 Programming
Basic unit
Input relay time constant Though the time constant is usually 10 ms 20%, it can be changed using the following settings. When the HSP instruction is used: 10 s 20% While special utility relay 2813 remains ON, the time constant can be changed in 7 steps by setting data memory DM1940 as follows. When DM1940 is set to 0: 10s 20% 1: 20 s 20% 2: 500 s 20% 3: 1 ms 20% 4: 2.5 ms 20% 5: 5 ms 20% 6: 10 ms 20% Never set a numeric value of 7 or larger.
1 1
For more about changing the input time constant, refer to "1.4.1 Input Time Constant Change Function" (p.3-23).
Hardware input (independent of scan time) High-speed counter When the time constant is set to 10 s using the HSP instruction or data memory DM1940 (only while special utility relay 2813 remains ON), the maximum input response of input relays 0004 and 0005 of CTH0 and CTH1 becomes 30 kHz. INT instruction: 0000 to 0003 This instruction can receive any signal without regard to the scan time as far as the signal ON time is longer than the input time constant.
"HSP instruction" (p.3-86), "INT instruction" (p.3-192), "4.1 High-speed Counter Instructions" (p.3-204)
Note 1: While special utility relay 2813 remains ON, the input time constant can be specified for all input relays in a basic unit. Note 2: Never enter a number of 7 or larger to data memory DM1940. Note 3: The input time constant specified by data memory DM1940 becomes effective at the rising edge of special utility relay 2813. To change the input time constant, first change data memory DM1940, then set special utility relay 2813 to OFF and ON again. Or change the operation mode of a KV basic unit from PROGRAM to RUN. Note 4: If the HSP instruction and special utility relay 2813 are used at the same time, priority is given to the HSP instruction. Note 5: Only when a high-speed counter input or INT instruction is given, available input signals do not depend on the scan time.
Chapter 1 Programming
3-9
Expansion unit
Input relay time constant By setting special utility relays 2609 to 2612 to ON, the time constant in input expansion units can be set to 10 s.
Special utility relay No. 2609* 2610 2611 2612 Function Input time constant of input expansion with relay Nos. 0100 to 0115 Input time constant of input expansion with relay Nos. 0200 to 0215 Input time constant of input expansion with relay Nos. 0300 to 0315 Input time constant of input expansion with relay Nos. 0400 to 0415 unit unit unit unit OFF: 10 ms, ON: 10 s OFF: 10 ms, ON: 10 s OFF: 10 ms, ON: 10 s OFF: 10 ms, ON: 10 s
Note 1: Output relays function as contacts and relay coils in programs. Note 2: There is no restriction of the contact type (N.O. or N.C.) used, the order the relay Nos. are used, or the number of relays used.
Note 1: When programming direct clock pulses, output relays 0500 and 0501 are used to output pulses in a transistor-type output unit. Note 2: When the ramp-up/down control function is used, output relay 0502 outputs positioning pulses in a transistor-type output unit.
"Chapter 5. Positioning Control" (p.3-253)
Note 3: When the specified frequency pulse output function is used, output relay 0501 outputs pulses in a transistor-type output unit.
"4.5.1 Specified Frequency Pulse Output Function" (p.3-228)
3-10
Chapter 1 Programming
For more about setting the memory switch, refer to "MEMSW instruction" (p.3-92).
1 1
Application example of a retentive function: Lift vertical movement control Internal utility relays 1000 and 1001 are set to be retained. When the upper/lower limit switch turns ON, the direction of lift movement is inverted. Even if the power is turned off while the lift is moving up (or down), the lift continues to move up (or down) when the power is turned on again.
MEMSW $0004
0001
0000
Move-down (0500)
0501 0500
Move-up (0501)
ENDH
Note: The retentive function is effective only when internal utility relays retained by the self-retentive circuit or the SET/SFT/KEEP instruction are also retained by the memory switch. Internal utility relays are not retained in the program shown below.
0000 1001
Chapter 1 Programming
3-11
Description
Relay 2002: Always ON By setting an output relay to ON using relay 2002, the output relay can be used as a "running indicator output".
2002 2002 HSP 0100 00000 LDA DM0000 STA
Set the input time constant of relay 0100 to 10 s. Transfer the ON/OFF status data of channel 0000 to DM0000.
Relay 2003: Always OFF. Opposite that of relay 2002, use relay 2003 where it is not required to be turned on. For example, when using only the up function of an up/down counter, use relay 2003 in the DW (down) input. Relays 2004, 2005 and 2006: Clock pulse For each relay, the time ratio is "ON:OFF = 1:1". (Accordingly, the ON time of relay 2005 is 0.05 sec/pulse.) However, because these relays depend on the scan time, error as much as the scan time is generated. By combining an output relay, an "intermittent output" can be made. By using relay 2006 as input for a counter, the counter can be used as a longterm timer.
1000 C000 #03600 C000 2006 1000
Relay 2007: Remains OFF during only one scan when operation is started. This relay can be used when a signal needs to be sent after a specific period (equivalent to one scan) after operation is started. This relay can also be used for an initial reset at the start of operation. After one scan, this relay remains ON.
1000 2007 #00100 C005 0000
When operation is started, this relay returns the current value of C005 to 0.
3-12
Chapter 1 Programming
When operation is started, this relay sets all internal utility relays used by the SFT instruction to OFF.
2008
When operation is started, this relay returns the current value of DM0000 to 0.
Relay 2813: Sets the input time constant of the CPU. While relay 2813 remains ON, the input time constant of a basic unit can be set using the value of DM1940.
1 1
Chapter 1 Programming
3-13
Relay No. 2002* 2003* 2004* 2005* 2006* 2007* 2008* 2009* 2010* 2011* 2012*
*
Function Always ON. Always OFF. 0.01-s clock pulse (duty cycle: 50%) 0.1-s clock pulse (duty cycle: 50%) 1.0-s clock pulse (duty cycle: 50%) Remains OFF during first scan after startup. Remains ON during first scan after startup. Turns ON when result of arithmetic operation is negative or when an overflow is generated. Turns ON when result of arithmetic operation is 0. Turns ON when result of arithmetic operation is positive. Turns ON when an arithmetic operation generates an error.
Read-only relay.
Function Internal clock used only for CTH0 (1 s) Internal clock used only for CTH0 (10 s) ON: Cleared OFF: Not cleared ON: Prohibited OFF: Permitted ON: Set to OFF OFF: Not set to OFF ON: Set to ON OFF: Not set to ON ON: Reversed OFF: Not reversed ON: Prohibited OFF: Permitted ON: Set to OFF OFF: Not set to OFF ON: Set to ON FF: Not set to ON ON: Reversed OFF: Not reversed ON: Cleared OFF: Not cleared
Internal clock used only for CTH0 (100 s) Automatic clear of CTH0 when comparator CTC0 turns ON. Prohibits/permits direct output to 0500 when 2104 comparator CTC0 turns ON. Direct output to 0500 is set to OFF when comparator 2105 CTC0 turns ON. Direct output to 0500 is set to ON when comparator 2106 CTC0 turns ON. ON/OFF status of output to 0500 is reversed each 2107 time comparator CTC0 turns ON. Prohibits/permits direct output to 0500 when 2108 comparator CTC1 turns ON. Direct output to 0500 is set to OFF when comparator 2109 CTC1 turns ON. Direct output to 0500 is set to ON when comparator 2110 CTC1 turns ON. ON/OFF status of output to 0500 is reversed each 2111 time comparator CTC1 turns ON. Automatic clear of CTH0 when comparator CTC1 2112 turns ON. Selects multiplication mode for comparator CTH0. 2113 OFF ON OFF ON 2114 OFF: 1 pulse OFF: x2 ON: x4 ON: 2 pulses Read-only relay.
Multiplication mo d e 2113 2114 1 pulse OFF OFF x2 ON OFF x4 OFF ON
2 pulses ON ON
Note: Never use special utility relays that are not shown above.
3-14
Chapter 1 Programming
Relay No. 2200* 2201* 2202* 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214
Function Internal clock used only for CTH1 (1 s) Internal clock used only for CTH1 (10 s) Internal clock used only for CTH1 (100 s) Automatic clear of CTH1 when comparator CTC2 turns ON. Prohibits/permits direct output to 0501 when comparator CTC2 turns ON. Direct output to 0501 is set to OFF when comparator CTC2 turns ON. Direct output to 0501 is set to ON when comparator CTC2 turns ON. ON/OFF status of output to 0501 is reversed each time comparator CTC2 turns ON. Prohibits/permits direct output to 0501 when comparator CTC3 turns ON. Direct output to 0501 is set to OFF when comparator CTC3 turns ON. Direct output to 0501 is set to ON when comparator CTC3 turns ON. ON/OFF status of output to 0501 is reversed each time comparator CTC3 turns ON. Automatic clear of CTH1 when comparator CTC3 turns ON. Selects multiplication mode for comparator CTH1. OFF ON OFF ON OFF: 1 pulse OFF: x2 ON: x4 ON: 2 pulses ON: Cleared OFF: Not cleared ON: Prohibited OFF: Permitted ON: Set to OFF OFF: Not set to OFF ON: Set to ON OFF: Not set to ON ON: Reversed OFF: Not reversed ON: Prohibited OFF: Permitted ON: Set to OFF OFF: Not set to OFF ON: Set to ON OFF: Not set to ON ON: Reversed OFF: Not reversed ON: Cleared OFF: Not cleared
1 1
Read-only relay.
x2 ON OFF
x4 OFF ON
2 pulses ON ON
Note: Never use special utility relays that are not shown above.
Error flag for specified frequency pulse output Stops motor driver when turned ON. Turns ON when motor driver is in operation. Stops motor driver in emergencies when turned OFF by interrupt instruction. Starts motor driver when turned ON (detection at rising edge). Start flag for cam switch operation. Turns ON when an error occurs in cam switch operation.
* Read-only relay.
Chapter 1 Programming
3-15
Function
CTH0 set as ring counter ON: Set OFF: Not set Ignore phase B input when CTH0 is set to no multiplication mode. ON: Ignore phase B input and always count up. OFF: Use phase B input as usual. Timing of CTH1 external preset
OFF OFF External preset not used OFF ON At falling edge ON OFF At rising edge ON ON Level
CTH1 set as ring counter ON: Set OFF: Not set Ignore phase B input when CTH1 is set to no multiplication mode. ON: Ignore phase B input and always count up. OFF: Use phase B as usual. Customized switch [F1] on KV-D20 operator interface panel is assigned. Customized switch [F2] on KV-D20 operator interface panel is assigned. Customized switch [F3] on KV-D20 operator interface panel is assigned. Customized switch [F4] on KV-D20 operator interface panel is assigned. Customized indicator lamp 1 on KV-D20 operator interface panel is assigned. Customized indicator lamp 2 on KV-D20 operator interface panel is assigned. Customized indicator lamp 3 on KV-D20 operator interface panel is assigned. Customized indicator lamp 4 on KV-D20 operator interface panel is assigned. Permits change between operator OFF: Not mode and device mode of KV-D20 ON: Permitted permitted operator interface panel . Permits the KV-D20 operator interface OFF: Not panel to be shifted between operator ON: Permitted permitted mode and system mode. Specifies the display language for the ON: Japanese OFF: English KV-D20 operator interface panel Sets the beep for the KV-D20 operator ON: Use beep OFF: No beep interface panel Reserved for system Reserved for system Displays a user message (contents of ON: Display OFF: Do not DM1950) in the Access Window message display message
3-16
Chapter 1 Programming
OFF: 10 ms ON: 10 s OFF: 10 ms ON: 10 s OFF: 10 ms ON: 10 s OFF: 10 ms ON: 10 s OFF: Cleared ON: Not cleared
This area is stored even when the operation mode is changed from PROGRAM to RUN, or when the power is turned off (without being affected by the MEMSW instruction). This area is not cleared even if the utility relay All Clear function is activated. However, this area is cleared when an All Clear is executed without registering a program.
2712
2714
Use of high-speed input correction circuit ON: Used OFF: Not used
1 1
2715
2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2812
Break signal send to communication port A (remains ON while sending). Receives text data from communication port A, and remains ON during only 1 scan while receiving text data. Communication port A text data acceptance error. Remains ON during only 1 scan ON when text data is received while either relay 2801 or relay 2803 is ON. Communication port A text data receive error Remains ON during only 1 scan when a text data receive error occurs. Communication port A text data send start (remains ON during sending.) Break signal send to communication port B (remains ON while sending). Receives communication port B text data, and remains ON during only 1 scan while receiving text data. Communication port B text data acceptance error. Remains ON during only 1 scan ON when text data is being received while relay 2806 or relay 2808 is ON. Communication port B text data receive error Remains ON during only 1 scan when a text data receive error occurs. Communication port B text data send start (remains ON during sending.) Turns ON when an abnormality occurs with backup battery. Sets input time constant to all inputs in basic module (except inputs used by HSP instruction). OFF: Sets input time constant to 10 ms. ON: Refers to value stored in DM1940, then determines input time constant.
2813
2814 HKEY instruction: Multiple keys are prohibited. 2815 HKEY instruction: Scan is finished. 2900 to 2915 HKEY information storage area.
Note: Never use special utility relays that are not shown above.
Chapter 1 Programming
3-17
Timer/Counter list
Name Timer (0.1-s timer) High-speed timer (0.01-s timer) High-speed 1-ms timer (0.001-s timer) Counter Up/down counter Contact Coil (instruction) TMR000 to 249 TMH000 to 249 TMS000 to 249 C000 to C249 C000 to 249 UDC000 to 249 250 in total Number
Timer
T000 to T249
Counter
Description
Timers When 0.1-s timers (TMR) and high-speed 0.001-s timers (TMS) are used as contacts, the "Tnnn" No. is used for both types. However, the form for setting is different. "TMRnnn#ddddd" is used for 0.1-s timers, "TMHnnn#ddddd" is used for high-speed 0.01-s timers, and "TMSnnn#ddddd" is used for high-speed 1-ms timers (nnn = timer No, ddddd = timer set value). In a single program, different timer Nos. must be assigned to each of TMRnnn, TMHnnn, and TMSnnn. When the PLC is stopped, all timers are reset and their current values become equivalent to set values.
Counters When counters (C) and up/down counters (UDC) are used as contacts, the "Cnnn" No. is used for both types. However, the form for setting is different. "Cnnn#ddddd" is used for counters, while "UDCnnn#ddddd" is used for up/down counters.
In one program, different numbers must be assigned to each of the counters and up/down counters. Even when operation is stopped, each counter stores whatever value it has at that time.
"TMR instruction" (p.3-67), "TMH instruction" (p.3-68), "TMS instruction" (p.3-69), "C instruction" (p.372), "UDC instruction" (p.3-76).
High-speed counters and high-speed counter comparators The Visual KV Se ries is equipped with two high-speed counters (CTH0 and CTH1) and four high-speed counter comparators (CTC0, CTC1, CTC2, and CTC3) with a 30-kHz input response speed (frequency), two phases, and size of 16 or 24 bits. Note: When a high-speed counter or high-speed counter comparator will be used as a 24-bit device, a set value is required to be stored in a data memory using the MEMSW instruction.
For details about high-speed counters and high-speed counter comparators, refer to "Chapter 4 Highspeed Counters" (p.3-203).
3-18
Chapter 1 Programming
1 1
Chapter 1 Programming
3-19
Note 1: 16-bit binary data is stored in each of the data memories as for internal registers. Note 2: The data stored in data memories is held even when the power is turned off or when the All Clear function is executed. The backup time is 20 days or more in the KV-10xx, and 2 months or more in other models. Note 3: DM1000 to DM1999 are assigned as special data memories.
3-20
Chapter 1 Programming
TM02 to TM27 Not specified (can be used by user) Stores scan time (module: 1 ms) beyond set value while TM28 constant scan time operation is performed. Stores set value (module: 1 ms) of constant scan time TM29 operation TM30 Stores CTC0 value when INT3 interruption is given. Stores measured scan time (mean value of every 10 TM31 scans) (module: 0.1 ms).
Attribute
*
R: Read
W: Write
Both R and W are enabled when special functions are not used.
Note 1: Temporary data memories are initialized when the power is turned on. Note 2: TM20, TM30, and TM31 are read-only, so cannot be used for writing. However, TM28 can be used for both reading and writing if special functions are not used. Note 3: TM00 and TM01 are used by the MUL and DIV instructions. Never use them for any other purpose.
1 1
Chapter 1 Programming
3-21
0 7 5 1 5
Channel No. Relay No. (00 to 15) Module No. (07 to 17) Address No. Input (0 to 4) Output (5 to 9)
Unit Nos. Unit nos. are assigned to units within the KV-300 system, with the unit connected to the right of the KV-300 CPU (see the figure below) assigned as no. 7. The CPU is assigned as unit no. 0.
CPU 0 7 8 9 16 17
Address Nos. Address nos. are assigned to the input units, output units, and I/O terminal units. The following table shows the assignment of address nos. to units.
Unit KV-300 CPU KV-C16X KV-C32X KV-B16R KV-B16S KV-C32T KV-R8X KV-R16X KV-R8R KV-R16R KV-R8T KV-R16T CPU 16-input unit 32-input unit 16-output unit 16-output unit 32-output unit 8-input terminal unit 16-input terminal unit 8-output terminal unit 16-output terminal unit 8-output terminal unit 16-output terminal unit 5 to 9 * 0 0. 1 5 5 5, 6 0 to 4 * Address No. 0, 5
The KV-R1A I/O Distribution Unit accommodates 5 input units and 5 output units. Addresses are set with address switches.
3-22
Chapter 1 Programming
Setting the input time constant for basic units using special utility relays
The input time constant for a basic unit can be changed using data memory DM1940 and special utility relay 2813. Though the input time constant is usually 10 ms, it can be changed to a value that corresponds to the number stored in DM1940 by setting special utility relay 2813 to ON. If the HSP instruction and special utility relay 2813 are used at the same time, priority is given to the HSP instruction and the number stored in DM1940 is ignored. Special utility relay 2813 OFF: Sets the input time constant to 10 ms. ON: Refers to the number stored in DM1940, then determines the input time constant.
Number stored in DM1940 0 1 2 3 4 5 6 7 or more Input time constant 10 s 20 s 500 s 1 ms 2.5 ms 5 ms 10 ms Not allowed
1 1
Note 1: Be sure to set the input time constant to 10 s when using the 30-kHz high-speed counter input. Note 2: Never enter a number that is 7 or larger to data memory DM1940. Note 3: The input time constant specified by data memory DM1940 becomes effective at the rising edge of special utility relay 2813. To change the input time constant, first change data memory DM1940, then set special utility relay to OFF and ON again. Or change the operation mode of the KV basic unit from PROGRAM to RUN. Note 4: The input time constant for input relays set by the HSP instruction is 10 s.
For more about the HSP instruction, refer to "HSP instruction" (p.3-86). For more about setting the input time constant for expansion units, refer to "Input time constant for expansion units" (p.1-76). Note 5: Set the special utility relay using the SET/RES instructions.
Note 6: When the input time constant is set to 1 ms or less, connect the output equipment without contacts. If connecting output equipment with contacts, contact bounds may enter. Note 7: Except for interrupts and high-speed counters, signals whose ON time is shorter than the scan time may not be received even if the input time constant is set to a small value.
Chapter 1 Programming
3-23
1 ms 0 ms 10 ms
24V
5V 0 ms 10 ms 1 ms
2 1 0
As shown in above figures, an external switch can be used to select the input time constant only on the KV-C32X/C16X Connector Input Units and KV-R16X/R8X I/O Terminal Units.
Note: Connect a solid-state contact output device when the input time constant is set to 1 ms for 25 s. Connection of a contact output device may result in contact bounce.
Note 1: When using the 30 kHz high-speed counter input, turn ON special utility relay 2813. Note 2: When special utility relay 2813 is ON, the input time constant of input relays 0000 to 0009 is set to 10 s 20%. Note 3: The input time constant remains 10 ms 20% if the HSP instruction is used when special utility relay 2813 is ON. Note 4: When the input time constant is set to 10 s or 25 s, a solid-state output device must be connected. Connection of a contact output device may result in contact bounce.
3-24
Chapter 1 Programming
2008
#00020 LDA
TM29 STA
2303 SET
1 1
Note 1: Be sure to set the constant scan time value so it is larger than the actual scan time. Note 2: If the actual scan time exceeds the set scan time, special utility relay 2304 turns ON (during the next 1 scan) while the actual scan time is written to TM28 (unit: 1 ms). Note 3: The scan time can be set up to 200 ms in temporary data memory TM29. If a value larger than 200 ms is input, it will be treated as 200 ms.
Chapter 1 Programming
3-25
For more about operating procedures, refer to the "Chapter 6. Handheld Programmer" (p.1-195).
For more about operating procedures, refer to the "Chapter 6. Handheld Programmer" (p.1-195).
Note: Once external input refresh is prohibited, it can be permitted only by setting special utility relay 2301 to OFF from the Access Window, the "KV IncrediWare (DOS)" or "LADDER BUILDER for KV" programming support software, or the KVP3E(01) handheld programmer.
3-26
Chapter 1 Programming
Note 1: Line comments cannot be stored. Note 2: The KV-P3E(01) handheld programmer cannot read or write contact comments. Note 3: The KV-D20 operator interface panel cannot display contact comments which have been compressed and transferred.
1 1
Chapter 1 Programming
3-27
In this mode, operation can take place according to a preset scan time (in ms). Setting Write the desired scan time into TM29 (temporary data memory), then turn on special utility relay No. 2303. The scan time can also be written into TM31. Specify a scan time in increments of 10 ms (a value of less than 10 ms is invalid). Here, write a value into TM equivalent to 10 times the scan time.
Note 1: The set value for the constant scan time must be greater than the actual scan time. Otherwise, special utility relay 2304 turns on during every scan to disable constant scan time mode. Note 2: If the scan time exceeds the set value, special utility relay no. 2304 turns on during the next scan.
Example Use the output disabled function by executing FORCED RESET/RESET to special utility relay No. 2300 from the monitor display.
Example Set input relay No. 0000 to ON to disable input refresh; set to OFF to enable input refresh.
0000 2301
Note: If input refresh is disabled, it is not enabled until input relay No. 0000 is turned on from the handheld programmer.
3-28
Chapter 1 Programming
1 1
Connection of two or more instructions on one line Conventional ladder diagram Extended ladder diagram
Instructions can be written only from the left end to the right end on one line.
There is only a single line, so the ladder diagram is easier to understand. Three lines are required.
Chapter 1 Programming
3-29
Example When DM0000 stores 1000, 0500 turns ON. 2000, 0501 turns ON. 3000, 0502 turns ON.
Conventional ladder diagram
2002 DM0000 LDA #01000 CMP 2010 2002 2010 2002 2010 0500 #02000 CMP 0501 #03000 CMP 0502
In a conventional ladder diagram, operations performed by the program cannot be easily understood. In an extended ladder diagram, operations performed by the program can be understood at a glance.
Processing sequence is clear. Ladder symbols can be laid out in processing sequence, so the program flow is easier to understand. In addition, maintainability is considerably improved.
Example When the start switch is set to ON, a lamp is lit for three seconds, a buzzer is sounded for two seconds, and then the motor starts to rotate.
0000 1000 STG 1001 STG 1002 STG 1100 DIFU 0500 0501 0502 1100 #00030 T000 #00020 T001 0000 ENDS T000 T001 1000 SET 1001 JMP 1002 JMP
When the start switch (0000) is set to ON, a lamp (0500) is lit and timer 0 is activated. When timer 0 turns ON three seconds later, the lamp goes out, a buzzer (0501) is sounded, and timer 1 is activated. When timer 1 turns ON two seconds later, the buzzer is stopped and the motor (0502) starts to rotate. When the start switch (0000) is set to OFF, the motor is stopped and all operations are reset.
By using an extended ladder diagram as shown above, the program can be executed in the sequence of the processing to be performed. So even a person who uses a relay sequence for the first time can understand the processing contents. By combining the STG instruction, double coils can also be used.
3-30
Chapter 1 Programming
LD 0000 OUT 0500 CON OUT 0501 The CON instruction for connection is added. (The scan time is not affected.)
1 1
At the rising edge of input 0001, 1002 turns ON. At the rising edge of input 1003, 1002 turns ON. If input 0000 is ON, 1000 turns ON.
Input 0000 Input 0001 Input 0002 Output 0500 turns ON. turns ON. turns ON. turns ON.
Because the program can be written in only one line when an extended adder diagram is used, it is easier to look at and understand compared with a program written using a conventional ladder diagram.
Chapter 1 Programming
3-31
3-32
Chapter 1 Programming
Chapter 2
Instructions
Describes the concrete usage of instructions in the KV Series. Refer to "Chapter 3 Interrupts" on page 3-191 for details of interrupt instructions. Refer to "Chapter 4 High-speed counters" on page 3-203 for details of the highspeed counters used in the application instruction. 2.1
2.1.1 2.1.2 2.1.3 2.1.4 2.1.5
2.2
2.2.1 2.2.2 2.2.3 2.2.4
2.3 2.4
2.4.1 2.4.2 2.4.3
2.5
Visual KV Series
Visual KV Series
The KV Series uses 80 instructions. The instructions are divided into four categories according to their functions: basic instructions, application instructions, arithmetic instructions, and interrupt instructions. The following is an overview of applications and functions. For details, refer to the respective description pages for each instruction.
Bytes 3 (12)
Page 3-57
nnnn
Connects N.C. contact to bus. Connects N.O. contact in 0000 to 17915 series with previous contact. T000 to T249 C000 to C249 Connects N.C. contact in CTC0 to CTC3 series with previous contact. Connects N.O. contact in parallel with previous contact. Connects N.C. contact in parallel with previous contact. Connects in series blocks made of one or more contacts. Connects in parallel blocks made of one or more contacts. Outputs input ON/OFF status 0500 to 1915 to R coil. 2009 2300 to 17915 Outputs inverted input ON/ OFF status to R coil. 0500 to 1915 2009 2300 to 17915 Forces relay ON and holds T000 to T249 this status when input is ON. C000 to C249 R No. T/C No.
3 (12) 3 (8)
3-57 3-58
AND
nnnn
AND BAR
nnnn
0.7 to 0.9
3 (8)
3-58
OR
nnnn
OR ORB
0.7 to 0.9
3 (8)
3-60
OR BAR
nnnn
0.7 to 0.9
3 (8)
3-60
AND LOAD
ANL ORL
nnnn
0.8
1 (4)
3-61
OR LOAD
0.8 1.5
1 (4) 3 (12)
OUT
OUT R No.
OUT BAR
nnnn
OUB
1.5
3 (12)
SET
nnnn SET
SET
1.9 to 12.8
3 (14)
3-66
RESET
nnnn RES
RES
0500 to 1915 2009 2100 to 17915 Forces R/T/C OFF when input 1.9 to 20.5 T000 to T249 is ON. C000 to C249 CTH0 to CTH1 CTC0 to CTC3 000 to 249 #00000 to #65535 16-bit on-delay T that counts down in 0.1-s decrements. 16-bit on-delay T that counts down in 0.01-s decrements. 12.0 to 17.8
3 (14)
3-66
#ddddd Txxx
#ddddd T Txxx H
2 (6)
3-67 3-68
12.0 to 17.8
2 (6)
3-34
Chapter 2 Instructions
Visual KV Series
Symbol
#ddddd T S Txxx
Operand
Operand value
Function
Bytes 2 (7)
Page 3-69
16-bit on-delay T that T No., 000 to 249 # preset value #0000 to #65535 counts down in 1-ms decrements. #00000 to # preset value, #65535 Sets 16-bit up-counter. C No., counter 000 to 249 input R 0000 to 17915 C No., # preset value 000 to 249 #00000 to #65535 Sets a 16-bit up-down counter.
COUNTER
12.0 to 17.8
4 (7)
3-72
UP DW #ddddd RES
UDC xxx
13.0 to 24.0
2 (10)
3-76
nnnn DIFU
R No.
nnnn DIFD
KEEP
SET nnnn RES
Turns ON R for 1 scan 11.2 to 13.2 time at rising edge of input. Turns ON R for 1 scan 10.0 to 12.8 time at falling edge of input. Turns ON R and holds this status when SET input is ON. 8.2 to 19.8 Turns OFF R when RESET input is ON. (*)
3 (10) 3 (10)
3-78 3-78
3 (11)
3-80
SHIFT
SFT
1000 to 1915 Sets shift register. 3000 to 9915 (KV-10) 0000 to 0005 (KV-16) 0000 to 0009 (KV-24) 0000 to 0015 (KV-40) 0000 to 0107
5 (15)
3-82
HIGH SPEED
HSP nnnn
HSP (FUN18)
R No.
3.8 to 9.4
3 (8)
3-86
1 2
MC
MC (FUN24) MCR (FUN25) MEMSW (FUN26) NOP (FUN30) $ constant $ 0000 to $ FFFF
0.2
1 (4)
3-89
MCR
0.2
1 (0)
3-89
MEMSW $xxxx
3 (0)
3-92
Performs no operation. Indicates end of each routine of program. Indicates end of entire program.
1 (0)
3-94
END
END
END
1 (1) 1 (0)
3-94 3-94
END HI
ENDH
ENDH
Number of bytes represents the memory capacity required for each instruction. Number in ( ) represents the memory capacity required for object code of each instruction. *1 34 + 0.25 + n x 0.25 (n: No. of shift steps) All operand values are shown in normal notation. The corresponding relay numbers in X-Y-M notation are shown below: Normal notation 0000 to 0415 0500 to 0915 1000 to 6915 7000 to 17915 X-Y-M notation X000 to X04F Y050 to Y09F M1000 to M6915 X700 to X174F or Y750 to Y179F
Chapter 2 Instructions
3-35
Visual KV Series
Mnemonic W-ON
Operand Operand value 17915 T000 to T249 C000 to C249 CTC0 to CTC3 mmmm: mmmm: 1000 to 1915 3000 to 9915 R No. 1000 to 1915 R No. nnnn: R, T, C Nos.
Function
Exec.time (s)
W-OFF
W-UE
R (output operand [mmmm]) when R, T, or C (input operand 10.4 to 12.6 [nnnn]) is ON. Turns ON R (output operand [mmmm]) when R, T, or C (input 13.6 to 18.5 operand [nnnn]) is OFF. Turns ON R (output operand [mmmm]) at rising edge of R, T, 13.6 to 18.5 or C (input operand [nnnn]). Turns ON R (output operand [mmmm]) at falling edge of R, T, 6.8 to 5.3 or C (input operand [nnnn]). Represents series connection of output instruction together with another instruction. Stores input status and arithmetic flag. Reads input status and arithmetic flag stored with PUSH. Reads & clears input status and arithmetic flag stored with PUSH. 3.2
5 (12)
3-98
1 (0)
3-98
1 (4)
3-102
1 (4)
3-103
READ
MRD MPP STG (FUN 44) JMP (FUN 21) ENDS (FUN 14) R No. nnnn: 0000 to R, T, C Nos.
6.8
1 (4)
3-103
POP
nnnn STG
10.5 to 13.0
3 (10)
3-103
STAGE
nnnn JMP
Executes instructions in STG block when R (operand) is ON. 4.5 to 12.5 3000 to 9915 0000 to 0009 When input is ON, turns R of current stage OFF and moves 4.3 to 7.5 to stage specified by operand. Turns current stage OFF and next stage ON when input is ON. 0500 to 9915 Executes program between T000 to T249 STP & STE when R (operC000 to C249 and) is ON. CTC0 to CTC3 11.2 to 13.4 Is used with STEP to make program step. 2.5
3 (8)
3-106
1 (4) 3 (10)
3-106 3-106
ENDS
STEP
STP nnnn
5 (12)
1 (0)
3-114
STE
STEP END
Turns ON
3-114
Number of bytes represents the memory capacity required for each instruction. Number in ( ) represents the memory capacity required for object code of each instruction. All operand values are shown in normal notation. The corresponding relay numbers in X-Y-M notation are shown below: Normal notation 0000 to 0415 0500 to 0915 1000 to 6915 7000 to 17915 X-Y-M notation X000 to X04F Y050 to Y09F M1000 to M6915 X700 to X174F or Y750 to Y179F
3-36
Chapter 2 Instructions
Visual KV Series
Instruction
Symbol
ITVL PLS DMnnnn PAUSE mmmm RES
Mnemonic
Operand value
Function
Exec.time (s)
Bytes
Page
INTERVAL TIMER
ITVL
DMnnnn: DM0000 to Measures pulse-to-pulse DM1985 interval & pulse width in mmmm: specified mode. 1000 to 1912 3000 to 9912 0004 2100 2101 2102 16-bit (0 to 65535) updown counter for clock pulses with input response frequency of 30 kHz.
20.0 to 80.0
5 (10)
3-117
16-BIT COUNTER
CTH0 nnnn
CTH
Count input R
14.4
4 (6)
3-204
#ddddd CTCn
CTC
n: Comparator n: 0,1 No. ddddd: #00001 ddddd: to #65535 # preset value 0005 0500 2200 2201 2202
Hardware-based comparator between preset & current values of high-speed counter 2.3 to 3.5 (CTH0). This comparator is turned ON when these values are equal. 16-bit (0 to 65535) updown counter for clock pulses with input response frequency of 30 kHz. Hardware-based comparator between preset & current values of high-speed counter (CTH1). This comparator is turned ON when these values are equal. Executes subroutine specified by operand. Represents beginning of subroutine specified by operand. Represents end of subroutine. 4.3
2 (6)
3-204
16-BIT COUNTER
CTH1 nnnn
CTH
Count input R
14.4
4 (6)
3-204
#ddddd CTCn
CTC
n: Comparator n: 2,3 No. ddddd: #00001 ddddd: to #65535 # preset value Subroutine No. Subroutine No. 00 to 99
2.3 to 3.5
2 (6)
3-204
nn CALL
5.4 to 6.5
2 (8)
3-122
1 2
SBN nn
00 to 99
2 (4)
3-122
RET
1 (4)
3-122
REPEAT START
FOR nnnn
Executes program between FOR & NEXT for number of times specified by operand. Represents end of repetition.
12.0 to 18.0
3 (20)
3-125
REPEAT END
NEXT
NEXT (FUN 29) nnnn: Input R mmmm: Output R nnnn: 0000 to 415 mmmm: 0500 to 915
0.5
1 (4)
3-125
16-KEY INPUT
Reads 16-key data by time-sharing and outputs these data into special utility Rs 2900 to 2915.
22.1 to 180.0
5 (10)
3-131
Number of bytes represents the memory capacity required for each instruction. Number in ( ) represents the memory capacity required for object code of each instruction. All operand values are shown in normal notation. The corresponding relay numbers in X-Y-M notation are shown below: Normal notation 0000 to 0415 0500 to 0915 1000 to 6915 7000 to 17915 X-Y-M notation X000 to X04F Y050 to Y09F M1000 to M6915 X700 to X174F or Y750 to Y179F
Chapter 2 Instructions
3-37
Visual KV Series
nnnn DW DMmmmm
DW
8.0
5 (8)
3-136
n TMIN
TRIMMER SETTING
TMIN (FUN 50) Trimmer No. 0 to 1 @TMIN @(FUN 50) 0000 to 17915 T000 to T249 C000 to C249 CTH0 to CTH1 R No., DM0000 to C/T No., DM1999 DM No, TM00 to TM31 TM xx, #00000 to #/$ constant, #65535 @LDA #TMxx $0000 to $FFFF @(FUN 23) #TM00 to #TM29 LDA (FUN 23) 0500 to 1915 2100 to 17915 T000 to T249 C000 to C249 CTH0 to CTC3 DM0000 to DM1999 TM00 to TM29 #TM00 to #TM29
n TMIN
Inputs value set by access windows digital trimmer (0 to 65535) to internal register.
8.9
1 (6) 3-138
20.9
1 (16)
nnnn LDA
6.4 to 14.0 Inputs value specified by operand into internal register or inputs current value when T/C is specified as operand.
3 (8)
LOAD A
nnnn LDA
2
nnnn STA
STORE A
nnnn STA
Transfers content of internal register to location specified by operand, or changes preset value when T/C is specified as operand.
6.6 to 28.5
3 (8) 3-140
18.0 to 40.5
3 (18)
nnnn CMP
CMP (FUN 04) @CMP @(FUN 04) DM0000 to DM1999 TM00 to TM31 @ADD #00000 to @(FUN 00) DM/TM No. #65535 TMxx, $0000 to #/$ constant, $FFFF SUB #TMxx #TM00 to (FUN 46) #TM29 @SUB @(FUN 46) MUL (FUN 28) @MUL @(FUN28) ADD (FUN00)
COMPARE
nnnn CMP
nnnn ADD
ADD
nnnn ADD
Adds content of internal 9.4 to 34.2 register and value specified by operand and inputs result back to 21.4 to 46.2 same register. Subtracts value specified 10.8 to 35.6 by operand from content of register and inputs result back to same 22.8 to 47.6 register. Multiplies content of 14.4 to 38.1 internal register by value specified by operand and inputs result back to 26.4 to 50.1 same register.
nnnn SUB
SUBTRACT
nnnn SUB
nnnn MUL
MULTIPLY
nnnn MUL
Number of bytes represents the memory capacity required for each instruction. Number in ( ) represents the memory capacity required for object code of each instruction.
3-38
Chapter 2 Instructions
Visual KV Series
Instruction
Symbol
nnnn DIV
Mnemonic
Operand
Operand value
Function
Exec.time (s)
Bytes
Page
DIVIDE
nnnn DIV
DM0000 to DM1999 DIV TM00 to TM31 R No., (FUN 11) #00000 to DM No., #65535 TM xx, $0000 to #/$ constant, @DIV $FFFF #TMxx @(FUN 11) #TM00 to #TM29 0000 to 17915 DM0000 to DM1999 @ANDA R No., TM00 to TM31 @(FUN 01) DM No., #00000 to TM xx, #65535 #/$ constant, ORA $0000 to #TMxx (FNC 31) $FFFF #TM00 to @ORA #TM29 @(FUN 31) ANDA (FUN 01)
17.4 to 43.3 Divides content of internal register by value specified by operand and inputs result back to same 29.4 to 55.3 register.
nnnn ANDA
AND A
nnnn ANDA
ANDs each of 16 bits of 8.2 to 33.1 internal register and that of value specified by operand, and inputs result 20.2 to 45.1 back to same register. ORs each of 16 bits of 8.2 to 33.1 internal register and that of value specified by operand, and inputs result 20.2 to 45.1 back to same register.
nnnn ORA
OR A
nnnn ORA
nnnn EORA
EXCLUSIVE OR A
nnnn EORA
0000 to 17915 DM0000 to DM1999 R No., TM00 to TM31 DM No., #00000 to TM xx, #65535 #/$ constant, $0000 to #TMxx @EORA $FFFF @(FUN 15) #TM00 to #TM29 EORA (FUN 15) SRA (FNC 41) @SRA @(FUN 41) SLA (FNC 40) @SLA @(FUN 40) # constant #01 to #16 RRA (FUN 37) @RRA @(FUN 37) RLA (FUN 35) @RLA @(FUN 35)
EXCLUSIVE-ORs each of 16 bits of internal register and that of value specified by operand, and inputs result back to same register.
8.2 to 33.1
3 (8)
3-164
20.2 to 45.1
3 (18)
1 2
#dd SRA
SHIFT RIGHT A
#dd SRA
9.3 to 27.6
2 (6) 3-166
21.3 to 39.6
#dd SLA
SHIFT LEFT A
#dd SLA
9.2 to 27.6
21.2 to 39.6
#dd RRA
ROTATE RIGHT A
#dd RRA
10.3 to 28.6 Rotates contents of internal register and carry bit (2009) clockwise by operand value. 22.3 to 40.6 10.3 to 28.6 Rotates contents of internal register and carry bit (2009) counterclock22.3 to 40.6 wise by operand value.
#dd RLA
ROTATE LEFT A
#dd RLA
Number of bytes represents the memory capacity required for each instruction. Number in ( ) represents the memory capacity required for object code of each instruction. All operand values are shown in normal notation. The corresponding relay numbers in X-Y-M notation are shown below: Normal notation 0000 to 0415 0500 to 0915 1000 to 6915 7000 to 17915 X-Y-M notation X000 to X04F Y050 to Y09F M1000 to M6915 X700 to X174F or Y750 to Y179F
Chapter 2 Instructions
3-39
Visual KV Series
Operand value Exec.time (s) 5.6 Inverts content of each bit in internal register. 17.6 1 (14)
Instruction
Symbol
COM
Mnemonic COM (FUN 05) @COM @(FUN 05) INC (FNC 19)
Operand
Function
Bytes 1 (4)
Page
COMPLEMENT
COM
3-171
nnnn INC
INCREMENT MEMORY
DM/TM No.
nnnn INC
@INC @(FUN 19) DEC (FNC 07) DM/TM No. @DEC @(FUN 07) MPX (FUN 27) # constant
9.8
3 (6) 3-172
21.8
3 (16)
DECREMENT MEMORY
nnnn DEC
nnnn DEC
3 (6) 3-172
22.4
3 (16)
#n MPX
MULTIPLEXER
#0 to #3
#n MPX
@MPX @(FUN 27) DMX (FUN 12) @DMX @(FUN 12) TBCD (FUN 47) @TBCD @(FUN 47) TBIN (FUN 48) @TBIN @(FUN 48) ASC (FUN 02) @ASC @(FUN 02) RASC (FUN 32) @RASC @(FUN 32) ROOT (FUN 36) @ROOT @(FUN 36)
Converts 4-bit data (specified by operand) of internal register into 16-bit data.
10.1
1 (6) 3-176
22.1
1 (16)
DMX
DEMULTIPLEXER
DMX
Converts position of highest order bit with 1 in internal register into 4-bit data.
22.6 34.6
2
TBCD
TRANSFER BCD
TBCD
Converts content of internal register (16-bit binary) into 4-digit BCD data.
5.6
17.6
TBIN
TRANSFER BIN
TBIN
Converts content of internal register (4-digit BCD) into 16-bit binary data.
9.6
1 (4) 3-180
1 (14)
ASC
ASCII CONVERT
ASC
Converts content of lower order 8 bytes of internal register into 2-digit ASCII code. Converts 2-digit ASCII code of internal register into 2-digit numerical value. Takes square root of 32bit data (TM00: higher order byte, internal register: lower order byte) and inputs result back to same register.
RASC
9.3
RASC
21.3
ROOT
95.7
1 (4) 3-185
SQUARE ROOT
ROOT
107.7
1 (14)
Number of bytes represents the memory capacity required for each instruction. Number in ( ) represents the memory capacity required for object code of each instruction. All operand values are shown in normal notation. The corresponding relay numbers in X-Y-M notation are shown below: Normal notation 0000 to 0415 0500 to 0915 1000 to 6915 7000 to 17915 X-Y-M notation X000 to X04F Y050 to Y09F M1000 to M6915 X700 to X174F or Y750 to Y179F (OUTPUT)
3-40
Chapter 2 Instructions
Visual KV Series
Operand
Operand value
Function Disables execution of interrupt. Enables execution of interrupt. Executes interrupt instructions between INT and RETI at rising/falling edge of input relays 0000 through 0003. Used with comparators CTC0 to CTC3 and executes instructions between INT and RETI. Represents end of interrupt.
Bytes 1 (12)
Page 3-193
EI
4.0
1 (10)
3-193
INT nnnn
000 to 003
60.0 to 90.0
1 (8)
3-192
INTERRUPT
INT CTCn
Comparator No.
CTC0 to CTC3
60.0 to 90.0
1 (8)
3-192
RETURN INTERRUPT
RETI
18.0 to 22.0
1 (4)
3-192
Number of bytes represents the memory capacity required for each instruction. Number in ( ) represents the memory capacity required for object code of each instruction. All operand values are shown in normal notation. The corresponding relay numbers in X-Y-M notation are shown below: Normal notation 0000 to 0415 0500 to 0915 1000 to 6915 7000 to 17915 X-Y-M notation X000 to X04F Y050 to Y09F M1000 to M6915 X700 to X174F or Y750 to Y179F
1 2
Function No. Instruction 00 01 02 03 04 05 06 07 08 09 10 11 12 ADD A NDA ASC CALL CMP COM CON DEC DI DIFD DIFU DI V DMX
Function No. Instruction 39 40 41 42 43 44 45 46 47 48 49 50 51 52 SFT SLA SRA STA STE STG STP SUB TBCD TBIN TMH TMIN TMS UDC
Reference: To find function No. assigned to desired function: 1. Press the [FUN] key. 2. When the cursor appears at the position where the function No. is to be entered, press the ON or OFF key and scroll the functions and assigned Nos. to find the desired function.
Chapter 2 Instructions
3-41
Number of bytes represents the memory capacity required for each instruction. Number in ( ) represents the memory capacity required for object code of each instruction. Abbreviations: R: Relay, T: Timer, C: Counter, #: Decimal, $: Hex.
KV-10/16/24/40/80 Mnemonic Operand Operand value Operand value Exec.time Bytes KV-10/16 (s) KV-24/40/80 LD 1.5 to 2.5 3 (4)
Page
LOAD
nnnn
3-57
LDB
nnnn
2.1 to 3.5
3 (6)
3-57
AND BAR
nnnn
0000 to 6915 1.5 to 2.5 T000 to T119 C000 to C119 2.7 to 4.5 CTC0 to CTC3 1.5 to 2.5
OR
nnnn
OR ORB
nnnn
2.7 to 4.5
ANL ORL
nnnn
OR LOAD
OUT
nnnn
OUT
OUT BAR
OUB
5.2 to 8.4 0500 to 1915 2009 2300 to 6915 6.4 to 10.4 3 (17) ON/OFF status to R coil.
Connects N.O. contact in series with previous contact. Connects N.C. contact 3 (8) in series with previous contact. Connects N.O. contact 3 (4) in parallel with previous contact. Connects N.C. contact 3 (8) in parallel with previous contact. Connects in series 1 (2) blocks made of one or more contacts. Connects in parallel 1 (2) blocks made of one or more contacts. Outputs input ON/OFF 3 (13) status to R coil. Outputs inverted input 3 (4)
3-58
3-58 3-60
3-60
3-61
3-63
3-65 3-65
SET
nnnn
(SET)
SET
R No.
0500 to 1915 0500 to 1915 2009 2009 Forces R ON and holds 2100 to 2915 2100 to 6915 3.1 to 23.0 3 (8) this status when input is 3-66 T000 to T063 T000 to T119 ON. C000 to C063 C000 to C119 0500 to 1915 2009 2100 to 2915 T000 to T063 C000 to C063 CTH0 to CTH1 CTC0 to CTC3 0500 to 1915 2009 2100 to 6915 T000 to T119 3.1 to 24.0 3 (8) C000 to C119 CTH0 to CTH1 CTC0 to CTC3 17.0 to 22.0 2 (5)
RESET
nnnn
(RES)
RES
3-66
#ddddd T xxx
TMR TMH (FNC49) TMS (FNC51) # preset value, C No., clock source R C No., # preset value #00000 to 65535 000 to 063 0000 to 6915 000 to 063 #00000 to #65535 T No., # preset value 000 to 063 #00000 to #65535 000 to 119 #00000 to #65535
#ddddd H xxx
#ddddd S xxx
16-bit on-delay T that counts down in 0.1-s decrements. 16-bit on-delay T that counts down in 0.01-s decrements. 16-bit on-delay T that counts down in 1-ms decrements. Sets 16-bit up-counter.
3-67
3-68 3-69
COUNTER
#00000 to #65535 19.0 to 21.0 4 (7) 000 to 119 0000 to 6915 000 to 119 #00000 to #65535 21.0 to 26.0 2 (5)
3-72
UP-DOWN COUNTER
UP #ddddd DW RES
UDC xxx
UDC (FNC52)
3-76
3-42
Chapter 2 Instructions
Symbol
nnnn DIFU
KV-10/16/24/40/80 Mnemonic Operand Operand value Operand value Exec.time Bytes KV-10/16 (s) KV-24/40/80 DIFU (FNC10) R No. 1000 to 1915 DIFD (FNC09) KEEP (FNC22) SFT (FNC39) HSP (FNC18) MC (FNC24) MCR (FNC25) MEMSW $ constant (FNC26) NOP (FNC30) $ 0000 to $ FFFF R No. R No.1st & last R Nos. R No. 0500 to 1915 2009 2100 to 2915 1000 to 1915 (KV-10) 0000 to 0005 (KV-16) 0000 to 0009
Function
Page
nnnn DIFD
KEEP
SET RES
nnnn
SFT
0500 to 1915 2009 2100 to 6915 1000 to 19153000 to 6915 (KV-24) 0000 to 0015 (KV-40) 0000 to 0107
Turns ON R for 1 11.0 to 13.0 3 (5) scan time at rising edge of input. Turns ON R for 1 11.0 to 13.0 3 (5) scan time at falling edge of input. Turns ON R and 9.0 to 26.0 3 (5) holds this status when SET input is ON. (*) 5 (7) Turns OFF R when RESET input is ON.
3-78
3-78
3-80 3-82
HIGH SPEED MASTER CONTROL MASTER CONTROL RESET MEMORY SWITCH NOP
HSP
nnnn
8.0 to 9.0
3 (4)
3-86
MC
1.8 to 3.2
MCR
0.6 to 1.0
Reduces input relay time 1 (7) constant to 25 ms for higher input response. Selects ON/OFF 1 (2) status of R coils, Ts, or Cs. 3 (0) Represents end of MC. Sets memory switches.
3-89
Performs no opera1 (0) tion. 1 (3) Indicates end of each routine of program. Indicates end of entire 1 (0) program.
END
END
END
3-94
1 2
END HI
ENDH
ENDH
3-94
KV-300
KV-300 Instruction Symbol
nnnn
Mnemonic Operand
Operand value
Function Connects N.O. contact to bus. Connects N.C. contact to bus. Connects N.O. contact in series with previous contact. Connects N.C. contact in series with previous contact. Connects N.O. contact in parallel with previous contact. Connects N.C. contact in parallel with previous contact. Connects in series blocks made of one or more contacts. Connects in parallel blocks made of one or more contacts.
Page
LOAD
nnnn
LD
3-57
LOAD BAR
nnnn
LDB 0000 to 0009 0500 to 17915 T000 to T249 C000 to C249 CTC0 to CTC3
3-57
AND
nnnn
3-58
AND BAR OR
3-58
OR
3-60
OR BAR
nnnn
ORB
3-60
ANL ORL
0.55
1 (3)
3-61
0.55
1 (3)
3-63
Chapter 2 Instructions
3-43
Instruction
Symbol
nnnn
Mnemonic Operand
Operand value
Page
OUT
nnnn
OUT
3-65
OUT BAR
OUB 0500 to 1915 2009 2100 to 17915 T000 to T249 C000 to C249 0500 to 1915 2009 2100 to 17915 T000 to T249 C000 to C249 CTH0 to CTH1 CTC0 to CTC3
3-65
nnnn
SET
(SET)
SET
R No.
Forces R ON and holds 3-66 0.20 to 5.70 3 (12) this status when input is ON.
nnnn
RESET
(RES)
RES
3-66
0.1-s TIMER
#ddddd T xxx
TMR TMH (FNC49) TMS (FNC51) # preset value, C No., clock source R #00000 to #65535 000 to 249 0000 to 0009 0500 to 17915 000 to 249 #00000 to #65535 T No., # preset value 000 to 249 #00000 to 65535
0.01-s TIMER
#ddddd H xxx
#ddddd S xxx
1-ms TIMER
16-bit on-delay T that counts down in 0.1-s decrements. 16-bit on-delay T that 2 (7) 5.60 to 10.40 counts down in 0.01-s decrements. 16-bit on-delay T that 5.60 to 10.40 2 (7) counts down in 1-ms decrements. 5.60 to 10.40 2 (7) 7.60 to 9.45 4 (7) Sets 16-bit up-counter.
3-67
3-68
3-69
2
COUNTER UP-DOWN COUNTER DIFFERENTIATE UP DIFFERENTIATE DOWN KEEP
3-72
UP #ddddd DW RES
UDC xxx
C No., UDC (FNC52) # preset value DIFU FNC10) R No. DIFD (FNC09) KEEP (FNC22) SFT (FNC39) HSP (FNC18) MC (FNC24) MCR (FNC25) MEMSW $ constant (FNC26) NOP (FNC30) R No. 1st & last R Nos. R No.
8.00 to 11.60 2 (10) Sets a 16-bit up-down counter. Turns ON R for 1 scan 3 (10) time at rising edge of input. Turns ON R for 1 scan 3 (10) time at falling edge of 6.70 input. Turns ON R and holds 6.10 to 7.90 3 (11) this status when SET input is ON. 6.70 6.40 to 8.20 5 (15) Turns OFF R when RESET input is ON.
3-76
nnnn DIFU
nnnn DIFD
KEEP
SET RES
1000 to 1915 3000 to 6915 (*) 7000 to 9915 0500 to 1915 2009 2100 to 17915 1000 to 1915 3000 to 6915 (*) 7000 to 9915 0000 to 0009
3-78
3-78 3-80
nnnn
SHIFT
SFT
3-82
HIGH SPEED MASTER CONTROL MASTER CONTROL RESET MEMORY SWITCH NOP
HSP
nnnn
4.66 to 4.92
3-86
MC
0.20
Reduces input relay time 1 (4) constant to 25 ms for higher input response. 1 (0) Selects ON/OFF status of R coils, Ts, or Cs. Represents end of MC. Sets memory switches. Performs no operation. Indicates end of each routine of program. Indicates end of entire program.
3-89
MCR
3-89 3-92
$0000 to $FFFF
3 (0)
1 (0)
3-94
END
END
END
0.95
1 (1)
3-94
END HI
ENDH
ENDH
1 (0)
3-94
Note: 14.0 + 3.0 x (n) to 17.0 + 3.0 x (n) (n represents number of times the original data is generated.)
3-44
Chapter 2 Instructions
KV-10/16/24/40/80 Mnemonic Operand Operand value Operand value Exec.time Bytes (s) KV-10/16 KV-24/40/80 W-ON nnnn: 0000 to 2915 T000 to T063 nnnn: C000 to C063 R,T, or C CTC0 to CTC3 No. mmmm: 1000 to 1915 nnnn: 0000 to 6915 T000 to T119 C000 to C119 CTC0 to CTC3 mmmm: 1000 to 1915 3000 to 6915 11.0 to 13.0 11.0 to 13.0 14.0 to 18.0 14.0 to 18.0 0.4 to 0.6 11.0 to 14.0 8.0 to 10.0 10.0 to 12.0 11.0 to 14.0 10.0 to 13.0 7.0 to 9.0 0000 to 2915 T000 to T063 C000 to C063 CTC0 to CTC3 0000 to 6915 T000 to T119 C000 to C119 CTC0 to CTC3 3.7 to 5.3
Function
Page
WAIT ON
W-OFF W-UE
Turns ON R (2nd operand 5 (7) [mmmm]) when R, T, or C (1st operand [nnnn]) turns ON. When R, T, or C (1st operand 5 (7) [nnnn]) turns OFF, R (2nd operand [mmmm]) turns ON. R (2nd operand [mmmm]) 5 (7) turns ON at rising edge of R, T, or C (1st operand [nnnn]). R (2nd operand [mmmm]) 5 (7) turns ON at falling edge of R, T, or C (1st operand [nnnn]). Represents series connection 301 of output instruction together with another instruction. 1 (3) Stores input status and arithmetic flag.
3-96
3-96
3-98
3-98
3-102
3-103
READ
MRD MPP
nnnn STG
POP
STAGE
STG [FNC 44] R No. 1000 to 1915 JMP [FNC 21] ENDS [FNC 14] STP [FNC 45]
nnnn JMP
Reads input status and 1 (3) arithmetic flag stored with 3-103 PUSH. Reads & clears input status 1 (3) and arithmetic flag stored with 3-103 PUSH. Executes instructions between 3 (7) STG & JMP when R 3-106 (operand) is ON. Turns current stage OFF and 3 (5) next stage ON when input is ON. 3-106
1 2
ENDS
1 (3) Turns current stage OFF when 3-106 input is ON. Executes program between 3 (7) STP & STE when R (operand) 3-114 is ON. 1 (0) Is used with STEP to make program step. Measures pulse-to-pulse 5 (7) interval & pulse width in specified mode. 8-bit (0 to255) up-counter for 4 (4) clock pulses with input response frequency of 10 kHz. Hardware-based comparator between preset & current 2 (5) values of high speed counter. This comparator is turned ON when these values are equal. 16-bit (0 to 65535) up-counter 4 (4) for clock pulses with input response frequency of 10 kHz. Hardware-based comparator between preset & current 2 (5) values of high speed counter. This comparator is turned ON when these values are equal. 2 (6) Executes subroutine specified by operand. Represents beginning of 2 (0) subroutine specified by operand. 3-114
STEP
STP nnnn
R, T, C Nos.
STEP END
STE
STE [FNC 43] DM0000 to DM0985 1000 to 1912 DM0000 to DM1985 1000 to 1912 3000 to 6912
0.00
INTERVAL TIMER 8-BIT COUNTER 8-BIT COUNTER COMPARATOR 16-BIT COUNTER 16-BIT COUNTER COMPARATOR SUBROUTINE CALL SUBROUTINE ENTRY SUBROUTINE RETURN
ITVL
ITVL
DM & R No. Clock source Rs n: Comparator No. ddddd: # preset value Clock source Rs n: Comparator No. ddddd: # preset value Subroutine No. Subroutine No.
3-117
CTH0 nnnn
CTH
3-277
#ddddd CTCn
CTC
n: 0,1 ddddd: #00000 to #00255 0005 2200 to 2202 n: 2,3 ddddd: #00000 to #65535
3.0 to 4.0
3-277
CTH1 nnnn
CTH
8.0 to 48.0
3-204
#ddddd CTCn
CTC
3.0 to 4.0
3-204
nn CALL SBN nn
00 to 99
3-122
00 to 99
3-122
RET
Chapter 2 Instructions
3-45
Instruction
Symbol
Mnemonic Operand
Function
Page
REPEAT START
FOR nnnn
# constant, DM No.
Executes program between FOR & NEXT for number of times specified by operand. Represents end of repetition.
3-125
REPEAT END
NEXT
3-125
16-KEY INPUT
nnnn mmmm
HKEY
I/O R
71 to 370
5 (7)
Reads 16-key data by time-sharing and outputs these data into 3-131 special utility Rs 2900 to 2915.
KV-300
KV-300 Instruction Symbol
nnnn ON mmmm nnnn OFF mmmm
nnnn mmmm nnnn mmmm
Mnemonic Operand
Operand value nnnn: 0000 to 0009 0500 to 17915 T000 to T249 C000 to C249 CTC0 to CTC3 mmmm: 1000 to 1915 3000 to 6915 (*)7000 to 9915
Function
Page
WAIT ON
W-ON
WAIT OFF
W-UE
Turns ON R (2nd operand [mmmm]) when R, T, or C (1st operand [nnnn]) turns ON. When R, T, or C (1st operand 5.00 to 6.10 5 (9) [nnnn]) turns OFF, R (2nd operand [mmmm]) turns ON. R (2nd operand [mmmm]) 6.10 to 7.50 5 (10) turns ON at rising edge of R, T, or C (1st operand [nnnn]). R (2nd operand [mmmm]) 6.10 to 7.50 5 (10) turns ON at falling edge of R, T, or C (1st operand [nnnn]). Represents series connection 1 (0) of output instruction together with another instruction. 1.30 2.70 1.40 1 (9) Stores input status and arithmetic flag.
3-96 3-96
3-98
3-98
3-102
PUSH
3-103 3-103
READ
MRD MPP
nnnn STG
Reads input status and 1 (18) arithmetic flag stored with PUSH. 1 (9)
POP
STAGE
STG [FNC 44] R No. JMP [FNC 21] ENDS [FNC 14]
nnnn JMP
Reads & clears input status 3-103 and arithmetic flag stored with PUSH. Executes instructions 5.60 to 6.50 3 (10) between STG & JMP when R 3-106 (operand) is ON. Turns current stage OFF and 3.80 to 6.00 3 (7) next stage ON when input is 3-106 ON. 1 (0) Turns current stage OFF when input is ON. 3-106
ENDS
STEP
STP nnnn
R, T, C Nos.
0000 to 0009 0500 to 6915 (*)7000 to 9915 T000 to T249 C000 to C249 CTC0 to CTC3
1.30
3 (9)
3-114
STEP END
STE
STE [FNC 43] DMnnnn: DM0000 to DM9985 mmmm: 1000 to 1912 3000 to 6912 (*)7000 to 9912 0004 2100 2101 2102
1 (0)
3-114
INTERVAL TIMER
ITVL
ITVL
DM & R No.
13.80 to 17.30
3-117
16-BIT COUNTER
CTH0 nnnn
CTH
Clock source Rs
3.85
4 (7)
16-bit (0 to 65535) up-counter for clock pulses with input 3-204 response frequency of 30 kHz.
3-46
Chapter 2 Instructions
Function
Page
#ddddd CTCn
CTC
Hardware-based comparator between preset & current 2 (0) values of high speed counter. 3-204 This comparator is turned ON when these values are equal.
16-BIT COUNTER
CTH1 nnnn
CTH
Clock source Rs
3.85
16-bit (0 to 65535) up4 (7) counter for clock pulses with input response frequency of 30 kHz.
3-204
#ddddd CTCn
CTC
Hardware-based comparator between preset & current 2 (0) values of high speed counter. 3-204 This comparator is turned ON when these values are equal.
SUBROUTINE CALL SUBROUTINE ENTRY SUBROUTINE RETURN REPEAT START REPEAT END
nn CALL SBN nn
CALL Subroutine [FNC 03] No. SBN [FNC 38] RET [FNC 33] FOR [FNC 16] NEXT [FNC 29] # constant, DM No. Subroutine No.
00 to 99
3.16
2 (17) Executes subroutine specified by operand. Represents beginning of 2 (0) subroutine specified by operand. Represents end of 1 (6) subroutine. Executes program between 3 (19) FOR & NEXT for number of times specified by operand.
3-122
00 to 99
3-122
RET
3-122
FOR nnnn
3-125
1 2
NEXT
nnnn:0000 to 0009 10000 to 10415 : 17000 to 17415 mmmm:0500 to 0503 10500 to 10915 : 17500 to 17915
16-KEY INPUT
nnnn mmmm
HKEY
I/O R
16.50
Reads 16-key data by time5 (9) sharing and outputs these data into special utility Rs 2900 to 2915.
3-131
Chapter 2 Instructions
3-47
nnnn
< DW >
DMmmmm
3-136
TRIMMER SETTING
Trimmer No.
0 to 1
3-138
TMIN >
nnnn
LOAD A
nnnn
LDA >
0000 to 2915 T000 to T063 C000 to C063 R No., CTH0 to CTH1 C/T No., DM0000 to DM/TM DM0999 No., TM00 to TM31 #/$ #00000 to constant, #65535 @LDA $0000 to #TMxx @[FNC 23] $FFFF #TM00 to #TM29 LDA [FNC 23] R No., C/T No., DM/TM No., #/$ @STA constant, @[FNC 42] #TMxx STA [FNC 42] CMP [FNC 04] 0500 to 1915 2100 to 2915 T000 to T063 C000 to C063 DM0000 to DM0999 TM00 to TM29 #TM00 to #TM29
2
STORE A
nnnn
nnnn
STA >
0000 to 6915 T000 to T119 C000 to C119 10.0 to 46.0 3 (5) CTH0 to CTH1 DM0000 to DM1999 TM00 to TM31 #00000 to #65535 22.0 to 60.0 3 (12) $0000 to $FFFF #TM00 to #TM29 0500 to 1915 2100 to 6915 T000 to T119 9.0 to 99.0 3 (5) C000 to C119 DM0000 to DM1999 TM00 to TM29 21.0 to 113.0 3 (12) #TM00 to #TM29
Inputs value specified by operand into internal register or inputs current value when T/C is specified as operand.
3-140
Transfers content of internal register to location specified by operand, or changes preset value when T/ C is specified as operand.
3-140
nnnn
COMPARE
nnnn
CMP >
nnnn
ADD
nnnn
ADD >
nnnn
DM0000 to DM0000 to DM1999 DM0999 TM00 to TM31 TM00 to TM31 DM/TM @CMP #00000 to #00000 to No., @[FNC 04] #65535 #65535 #/$ $0000 to $0000 to constant, ADD $FFFF $FFFF #TMxx [FNC 00] #TM00 to #TM00 to #TM29 #TM29 @ADD @[FNC 00] SUB [FNC 46] @SUB @[FNC 46]
14.0 to 68.0 3 (5) Compares content of internal register and value specified by 26.0 to 82.0 3 (12) operand. Adds content of 13.0 to 65.0 3 (5) internal register and value specified by operand and inputs 25.0 to 79.0 3 (12) result back to same register. Subtracts value 15.0 to 68.0 3 (5) specified by operand from content of register and inputs result back to same 3 (12) 27.0 to 82.0 register.
3-146
3-150
SUBTRACT
nnnn
3-150
SUB >
nnnn
MULTIPLY
nnnn
MUL >
nnnn
DIVIDE
nnnn
DIV >
DM0000 to DM0000 to DM0999 DM1999 TM00 to TM31 TM00 to TM31 Multiplies content of MUL #00000 to #00000 to 17.0 to 71.0 3 (5) internal register by [FNC 28] DM/TM #65535 #65535 value specified by No., $0000 to $0000 to operand and inputs #/$ No., @MUL $FFFF $FFFF 29.0 to 85.0 3 (12) result back to same @[FNC 28] #TMxx #TM00 to #TM00 to register. #TM29 #TM29 Divides content of DIV 22.0 to 79.0 3 (5) internal register by [FNC 11] value specified by operand and inputs @DIV 34.0 to 93.0 3 (12) result back to same @[FNC 11] register.
3-150
3-150
3-48
Chapter 2 Instructions
Instruction
Symbol
nnnn
KV-10/16/24/40/80 Operand value Operand value Exec.time Bytes KV-10/16 (s) KV-24/40/80 11.0 to 64.0
Function
Page
<ANDA>
AND A
nnnn
ANDA>
nnnn
OR A
nnnn
ORA >
0000 to 2915 0000 to 6915 DM0000 to DM0000 to DM0999 DM1999 @ANDA R No., TM00 to TM31 TM00 to TM31 @[FNC 01] DM/TM No., #00000 to #00000 to #65535 #/$ No., #65535 ORA $0000 to #TMxx $0000 to [FNC 31] $FFFF $FFFF #TM00 to #TM00 to @ORA #TM29 #TM29 @[FNC 31]
23.0 to 78.0
11.0 to 63.0
23.0 to 77.0
ANDs each of 16 bits 3 (5) of internal register and that of value specified 3-159 by operand, and inputs 3 (12) result back to same register. ORs each of 16 bits of 3 (5) internal register and that of value specified 3-161 by operand, and 3 (12) inputs result back to same register.
<EORA>
EXCLUSIVE OR A
0000 to 2915 0000 to 6915 DM0000 to DM0000 to 10.0 to 63.0 3 (5) EXCLUSIVE-ORs DM0999 DM1999 each of 16 bits of R No., TM00 to TM31 TM00 to TM31 internal register and DM/TM No., #00000 to 3-164 #00000 to that of value #/$ No., #65535 #65535 specified by operand, #TMxx $0000 to $0000 to and inputs result @EORA nnnn $FFFF $FFFF 22.0 to 77.0 3 (12) back to same EORA> @[FNC 15] #TM00 to #TM00 to register. #TM29 #TM29
nnnn
#dd
SHIFT RIGHT A
SRA [FNC 41] @SRA @[FNC 41] SLA [FNC 40] @SLA @[FNC 40] # constant #01 to #16 RRA [FNC 37] @RRA @[FNC 37] RLA [FNC 35] @RLA @[FNC 35] COM [FNC 05] @COM @[FNC 05] INC [FNC 19] @INC @[FNC 19] DEC [FNC 07] @DEC @[FNC 07] MPX [FNC 27] # constant #0 to #3 @MPX @[FNC 27] DM/TM No.
#dd
SRA >
#dd
Moves content of internal register serially right by value specified by 23.0 to 42.0 2 (11) operand. 11.0 to 28.0 2 (4) 10.0 to 28.0 2 (4)
3-166
1 2
SHIFT LEFT A
SLA >
#dd
Moves content of internal register 3-166 serially left by value 22.0 to 42.0 2 (11) specified by operand. 12.0 to 30.0 2 (4)
ROTATE RIGHT A
RRA >
#dd
ROTATE LEFT A
#dd
RLA >
Moves content of internal register serially right, allowing each bit 3-169 that leaves right end to 24.0 to 44.0 2 (11) enter carry bit and then leftmost bit. Moves content of 12.0 to 29.0 2 (4) internal register serially left, allowing each bit 3-169 that leaves left end to 24.0 to 43.0 2 (11) enter carry bit and then rightmost bit. 5.0 to 6.0 1 (3) Inverts content of each bit in internal register.
COMPLEMENT
COM >
nnnn
3-171
INCREMENT MEMORY
INC >
nnnn
Adds 1 to content of data memory 3-172 24.0 to 29.0 3 (12) specified by operand.
DECREMENT MEMORY
DM0000 to DM0000 to DM0999 DM1999TM00 TM00 to TM29 to TM29 14.0 to 17.0 3 (5)
DEC >
#n
Subtracts 1 from content of data memory specified by 26.0 to 31.0 3 (12) operand.
3-172
MULTIPLEXER
MPX >
Converts 4-bit data (specified by operand) of internal 36.0 to 39.0 1 (11) register into 16bit data. 24.0 to 25.0 1 (4)
3-176
Chapter 2 Instructions
3-49
Instruction
Symbol
Function
Page
DEMULTIPLEXER
DMX >
Converts position of highest order bit with 1 in internal register 40.0 to 44.0 1 (10) into 4-bit data.
3-176
TRANSFER BCD
<TBCD>
TBCD>
Converts content of internal register (16bit binary) into 4-digit 31.0 to 35.0 1 (10) BCD data. 19.0 to 21.0 1 (3) 18.0 to 20.0 1 (3)
3-180
TRANSFER BIN
TBIN>
Converts content of internal register (4digit BCD) into 16-bit 30.0 to 34.0 1 (10) binary data. 8.0 1 (3)
3-180
ASCII CONVERT
ASC >
Converts content of lower order byte of internal register into 20.0 to 22.0 1 (10) 2-digit ASCII code. 12.0 to 14.0 1 (3)
3-183
<RASC>
2
SQUARE ROOT
Converts 2-digit ASCII code into one byte data. 1 (10) 24.0 to 28.0 102.0 to 103.0 114.0 to 117.0 Takes square root of 32bit data (TM00: higher order byte, internal register: lower order 1 (10) byte) and inputs result back to same register. 1 (3)
3-183
3-185
ROOT>
KV-300
KV-300 Instruction DATA MEMORY WRITE Symbol Mnemonic Operand #/$ constant, DM No. Operand value nnnn: #0000 to #65535 $0000 to $FFFF DMmmmm: DM0000 to DM9999 Exec.time Bytes (s) 0.60 to 1.40 Function Page
nnnn
< DW >
DMmmmm
DW
3-136
TRIMMER SETTING
TMIN >
1 (11) Converts trimmer rotation angle into 0 to 249 and inputs it into 1 (25) internal register.
3-138
nnnn
LDA [FNC 23] R No., C/T No., DM/TM No., #/$ @LDA constant, @[FNC 23] #TMxx
LOAD A
nnnn
LDA >
0000 to 0009 0500 to 17915 T000 to T249 C000 to C249 CTH0 to CTH1 DM0000 to DM9999 TM00 to TM31 #00000 to #65535 $0000 to $FFFF #TM00 to #TM29 0500 to 1915 2100 to 17915 T000 to T249 C000 to C249 CTC0 to CTC3 DM0000 to DM9999 TM00 to TM29 #TM00 to #TM29
0.30 to 28.00
3 (12) Inputs value specified by operand into internal register or inputs 3-140 current value when T/C is specified as operand.
2.30 to 30.00
3 (26)
nnnn
STORE A
nnnn
STA >
R No., C/T No., DM/TM No., #/$ @STA constant, @[FNC 42] #TMxx
0.20 to 30.00
2.20 to 32.00
3 (12) Transfers content of internal register to location specified by 3-140 operand, or changes preset value when T/C 3 (26) is specified as operand.
3-50
Chapter 2 Instructions
Mnemonic Operand CMP [FNC 04] @CMP @[FNC 04] ADD [FNC 00] @ADD @[FNC 00] SUB [FNC 46] @SUB @[FNC 46] MUL [FNC 28] @MUL @[FNC 28] DIV [FNC 11] @DIV @[FNC 11] ANDA [FNC 01] @ANDA @[FNC 01] ORA [FNC 31] @ORA @[FNC 31] EORA [FNC 15] R No., DM/TM No., #/$ No., #TMxx DM/TM No., #/$ No., #TMxx DM/TM No., #/$ constant, #TMxx
Operand value
Function
Page
COMPARE
nnnn
CMP >
nnnn
ADD
nnnn
DM0000 to DM9999 TM00 to TM31 #00000 to #65535 $0000 to $FFFF #TM00 to #TM29
11.20 to 38.00 7.70 to 35.00 9.70 to 37.00 8.40 to 35.00 10.40 to 37.00
3 (12) Compares content of internal register and value specified by 3 (26) operand.
3-146
ADD >
nnnn
Adds content of internal register and value 3-150 specified by operand 3 (26) and inputs result back to same register. 3 (12) Subtracts value 3 (12) specified by operand from content of register and inputs result back 3 (26) to same register. Multiplies content of 3 (12) internal register by value specified by operand and inputs 3 (26) result back to same register. Divides content of 3 (12) internal register by value specified by operand and inputs 3 (26) result back to same register. ANDs each of 16 bits of 3 (12) internal register and that of value specified by operand, and inputs 3 (26) result back to same register. ORs each of 16 bits of 3 (12) internal register and that of value specified by operand, and inputs 3 (26) result back to same register. EXCLUSIVE-ORs each 3 (12) of 16 bits of internal register and that of value specified by operand, 3 (26) and inputs result back to same register.
SUBTRACT
nnnn
3-150
SUB >
nnnn
MULTIPLY
nnnn
MUL >
nnnn
DM0000 to DM9999 TM00 to TM31 #00000 to #65535 $0000 to $FFFF #TM00 to #TM29
9.80 to 37.00 11.80 to 39.00 13.70 to 41.00 15.70 to 42.00 6.90 to 33.00
3-150
DIVIDE
nnnn
3-150
DIV >
nnnn
1 2
3-159
<ANDA>
AND A
nnnn
ANDA>
nnnn
OR A
nnnn
0000 to 0009 0500 to 17915 DM0000 to DM9999 TM00 to TM31 #00000 to #65535 $0000 to $FFFF #TM00 to #TM29
3-161
ORA >
nnnn
EXCLUSIVE OR A
<EORA>
R No., DM/TM No., #/$ No., nnnn @EORA EORA> @[FNC 15] #TMxx
0000 to 0009 0500 to 17915 DM0000 to DM9999TM00 to TM31 #00000 to #65535 $0000 to $FFFF #TM00 to #TM29
3-164
Chapter 2 Instructions
3-51
Instruction Symbol
#dd
Mnemonic Operand SRA [FNC 41] @SRA @[FNC 41] SLA [FNC 40] @SLA @[FNC 40] # constant
Operand value
Function
Page
SHIFT RIGHT A
SRA >
#dd
12.80 10.80
2 (22) Moves content of internal register serially right by value specified 2 (25) by operand.
3-166
SHIFT LEFT A
#dd
SLA >
#dd
2 (11) Moves content of internal register serially left by value specified by 3-166 2 (25) operand. Moves content of 2 (11) internal register serially right, allowing each bit that leaves right end to 2 (25) enter carry bit and then leftmost bit. Moves content of 2 (11) internal register serially left, allowing each bit that leaves left end to 2 (25) enter carry bit and then rightmost bit. 1 (9) Inverts content of each bit in internal register. 3-171 1 (23)
ROTATE RIGHT A
RRA [FNC 37] @RRA @[FNC 37] RLA [FNC 35] @RLA @[FNC 35] COM [FNC 05] @COM @[FNC 05] INC [FNC 19] @INC @[FNC 19] DEC [FNC 07] @DEC @[FNC 07] MPX [FNC 27] # constant #0 to #3 @MPX @[FNC 27] DMX [FNC 12] @DMX @[FNC 12] DM/TM No. DM0000 to DM9999 TM00 to TM29
3-169
#dd
RRA >
#dd
14.00
12.00
ROTATE LEFT A
3-169
#dd
RLA >
14.00
6.10
COMPLEMENT
2
INCREMENT MEMORY
COM >
nnnn
8.10
7.70
3 (12)
INC >
nnnn
9.70 7.70
3 (26) 3 (12)
3-172
DECREMENT MEMORY
DEC >
#n
9.70
7.30
MULTIPLEXER
#n
MPX >
9.30
1 (11) Converts 4-bit data (specified by operand) of internal register into 1 (25) 16- bit data.
3-176
DEMULTIPLEXER
6.70
DMX >
8.70
Converts position of highest order bit with 1 in internal register into 1 (23) 4-bit data.
1 (9)
3-176
3-52
Chapter 2 Instructions
Function
Page
<TBCD>
TRANSFER BCD
@TBCD TBCD> @[FNC 47] TBIN [FNC 48] @TBIN @[FNC 48] ASC [FNC 02] @ASC @[FNC 02] RASC [FNC 32]
15.20
Converts content of internal register (16-bit binary) into 4-digit BCD 1 (23) data.
3-180
14.00
TRANSFER BIN
TBIN>
16.00
Converts content of internal register (4-digit BCD) into 16-bit binary 1 (23) data. 1 (9)
3-180
8.50
ASCII CONVERT
ASC >
10.50
Converts content of lower order byte of internal register into 21 (23) digit ASCII code. 1 (9)
1 (9)
3-183
<RASC>
6.80
Converts 2-digit ASCII code into one byte data. 3-183 8.80 77.70 1 (23) Takes square root of 32bit data (TM00: higher order byte, internal 3-185 register: lower order 1 (23) byte) and inputs result back to same register. 1 (9)
SQUARE ROOT
ROOT>
79.70
1 2
Chapter 2 Instructions
3-53
< DI >
3-193
< EI >
3.0 to 4.6
1 (4)
3-193
INT nnn
000 to 003
35.0 to 48.0
INTERRUPT
INT CTCn
Executes instructions between INT and RETI at rising edge of any of input 3-192 000 to 003 or at falling edge of 003. Used with comparators CTC0 to CTC3 3-192 and executes instructions between INT and RETI.
RETURN INTERRUPT
RETI
20.0 to 23.0
1 (3)
3-192
KV-300
KV-300 Instruction INTERRUPT DISABLED INTERRUPT ENABLED Symbol Mnemonic Operand DI [FNC 08] EI [FNC 13] Operand value Exec.time Bytes (s) 3.20 1 (9) Function Disables execution of interrupt. Enables execution of interrupt. Page
< DI >
3-193
< EI >
5.80
1 (0)
3-193
INT nnn
000 to 003
40.00 to 80.00
1 (0)
INTERRUPT
INT CTCn
Executes instructions between INT and RETI at rising edge 3-192 of any of input 000 to 003 or at falling edge of 003. Used with comparators CTC0 to CTC3 3-192 and executes instructions between INT and RETI. Represents end of interrupt. 3-192
Comparator No.
CTC0 to CTC3
40.00 to 80.00
1 (0)
RETURN INTERRUPT
RETI
60 to 100
1 (0)
3-54
Chapter 2 Instructions
Mnemonic Represents the instruction in ladder language. Example Timing diagram Description Perform programming using the given example to gain experience.
SET
1 0
: :
RES
0000 0001
Coding
Line No. 0000 0001 0002 0003 Instruction LD SET LD OUB Operand 0000 0500 0001 0500
Description
Output relay 0500 remains ON after input relay 0000 turns OFF. Output relay 0500 turns OFF when input relay 0001 turns ON. SET instruction sets a latch whereas RES instruction resets it. RES instruction not only turns OFF relay coils but serves as a reset signal when a timer or counter is used as an operand.
0001 0002 #00100 C000 00000 C000 RES 0001 0002 #00100 C000 0000
1 2
Note Describes the notes for the instruction. Tips Describes hands-on techniques for efficient programming. Operand Shows operands (element Nos.) that can be used for the instruction. Key operation Describes the basic key operations on the handheld programmer. Set the mode switch to PROGRAM.
Note: The SET and RES instructions can be entered in any order. Note, however, that priority is given to the instruction that is entered last. In the above example, when both 0000 and 0001 are ON, RES has priority over SET, causing 0500 to remain OFF.
Tips
Differences between SET/RES and KEEP Basically , SET/RES and KEEP ( p. 3-57 and p. 3-71) serve the same purpose. SET and RES can be used separately. Therefore, RES can be placed before SET. Another instruction may be placed between SET and RES. KEEP needs only three lines of program, therefore saving memory space when used a number of times.
0000 0001 0500 RES 0500 SET
LD RES LD SET
0000 0001
Operands
NEW KV 0500 to 1915 2009 2100 to 17915 T000 to T249 C000 to C249 KV-300 0500 to 1915 2009 2100 to 17915 T000 to T249 C000 to C249 KV-10/16 0500 to 1915 2009 2100 to 2915 T000 to T063 C000 to C063 KV-24/40/80 0500 to 1915 2009 2100 to 6915 T000 to T119 C000 to C119
Key operation
SET
Operand
ENT
R-SRCH
RES
Operand
ENT
R-SRCH
3-66
Chapter 2 Instructions
* The above page is created for explanation purposes only. This page may be different from the actual page.
Chapter 2 Instructions
3-55
TMS: 1-ms Timer C: Counter UDC: Up-Down Counter DIFU: Differentiate Up DIFD: Differentiate Down KEEP: Keep SFT: Shift HSP: High Speed MC: Master Control MCR: Master Control Reset MEMSW: Memory Switch NOP: No Operation END: End ENDH: End Hi
3-56
Chapter 2 Instructions
LD
7 4
: :
nnnn
LDB
nnnn
0000 0001
0500 0501
Coding
Line No. 0000 0001 0002 0003 Instruction LD OUT LDB OUT Operand 0000 0500 0001 0501
When input relay 0000 turns ON, output relay 0500 turns ON. When input relay 0001 turns OFF, output relay 0501 turns ON.
Description
LD and LDB instructions are used to connect a contact to the bus. LD and LDB instructions are also used to separate program blocks when ANL or ORL instruction is used.
1 2
Operands
Visual KV 0000 to 17915 T000 to T249 C000 to C249 CTC0 to CTC3 CTC0 to CTC3 KV-300 0000 to 0009 0500 to 17915 T000 to T249 C000 to C249 KV-10/16 0000 to 2915 T000 to T063 C000 to C063 CTC0 to CTC3 KV-24/40/80 0000 to 6915 T000 to T119 C000 to C119 CTC0 to CTC3
Key operation
Example: LD C014
LD
LDB
Operand
ENT
R-SRCH
ENT
R-SRCH
Chapter 2 Instructions
3-57
AND / ANB 2.4 Instruction Details Connects N.O. contact in series with previous contact. Connects N.C. contact in series with previous contact.
AND
: :
nnnn
ANB
nnnn
0000 0002
0001 0003
Coding
Line No. 0000 0001 0002 0003 Instruction LD AND OUT LD ANB OUT OUT AND OUT Operand 0000 0001 0500 0002 0003 0501 0502 0004 0503
To turn ON 0503, 0002 must be ON, 0003 OFF, and 0004 ON at the same time. The AND and ANB instructions are used when two or more conditions (in this case, 0002: ON, 0003: OFF, 0004: ON) must be satisfied at the same time.
Description
As many contacts as desired can be connected in series provided these contacts are used in the same program. As OUT 0503 shown in the above example, when an AND or ANB instruction is used immediately after an OUT instruction to connect the other relay via a contact (0004 in the example), the AND or ANB can be used as many times as desired, provided the program syntax is correct. The following two circuits operate in the same manner, but the coding for these circuits are different.
0000 0001 0501 0500
0000 0001 0501 0500
Coding
Line No. 0000 0001 0002 0003 Instruction LD OUT AND OUT Operand 0000 0500 0001 0501
Coding
Line No. 0000 0001 0002 0003 0004 0005
3-58
Chapter 2 Instructions
Operand
Visual KV 0000 to 17915 T000 to T249 C000 to C249 CTC0 to CTC3 KV-300 0000 to 0009 0500 to 17915 T000 to T249 C000 to C249 KV-10/16 0000 to 2915 T000 to T063 C000 to C063 CTC0 to CTC3 KV-24/40/80 0000 to 6915 T000 to T119 C000 to C119 CTC0 to CTC3
Key operation
Example: AND T012
AND
Operand
ENT
R-SRCH
ANB
ENT
R-SRCH
1 2
Chapter 2 Instructions
3-59
OR / ORB 2.4 Instruction Details Connects N.O. contact in parallel with previous contact. Connects N.C. contact in parallel with previous contact.
OR
: :
nnnn
ORB
nnnn
0003
0500
Coding
Line No. 0000 0001 0002 0003 0004 Instruction LD OR ORB AND OR OUT Operand 0000 0000 0002 0003 0004 0500 0000 must be ON or 0003 must be ON, and To turn ON 0500, or, 0004 must be ON. 0001 ON or 0002 OFF.
0005
The OR and ORB instructions are used when at least one of the conditions (here, two sets of conditions: <0003: ON, 0004: ON>, and <0000: ON, 0001: ON, 0002: OFF> are given) must be satisfied.
Description
The OR and ORB instructions are used to connect in parallel the contacts for these instructions with contacts on the previous line. An LD or LDB instruction is used together with the OR and ORB instructions. As many contacts as desired can be connected in parallel provided they are used in the same program.
0000 0500 0501
Note: Output circuits (except for and ) cannot be included in the parallel connection.
Incorrect
0001
Operands
Visual KV 0000 to 6915 T000 to T119 C000 to C119 CTC0 to CTC3 KV-300 0000 to 0009 0500 to 17915 T000 to T249 C000 to C249 CTC0 to CTC3 KV-10/16 0000 to 2915 T000 to T063 C000 to C063 CTC0 to CTC3 KV-24/40/80 0000 to 6915 T000 to T119 C000 to C119 CTC0 to CTC3
Key operation
Example: OR T018
OR
ORB
Operand
ENT
R-SRCH
ENT
R-SRCH
3-60
Chapter 2 Instructions
ANL
Example
0000 0002 0001 0003 0500
ANL
Coding
Line No. 0000 0001 0002 0003 0004 0005 Instruction LD OR LD OR ANL OUT 0500 Operand 0000 0002 0001 0003
Description
0000
1 2
The above example shows a serial connection between Block A
0001 0002
0003
Operands
Key operation
ANL
ENT
R-SRCH
Chapter 2 Instructions
3-61
Coding (1)
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 Instruction LD OR LD OR ANL LD OR ANL OUT 0500 0004 0005 Operand 0000 0001 0002 0003
Coding (2)
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 Instruction LD OR LD OR LD OR ANL ANL OUT 0500 Operand 0000 0001 0002 0003 0004 0005
The ANL instruction can be used as many times as desired. Note, however, that in example (2) above, ANL is entered one less time than the number of blocks to be connected. Also, ANL can be used only 8 times or less in example (2), whereas in example (1) it can be used as many times as desired.
Note: "LOGIC ERROR" is displayed on the programmer when ANL is used 9 or more times in example (2).
3-62
Chapter 2 Instructions
ORL: Or Load
Example
ORL
0000 0002
0001 0003
0050
ORL
Coding
Line No. 0000 0001 0002 0003 0004 0005 Instruction LD AND LD AMD ORL OUT 0500 Operand 0000 0001 0002 0003
Description
The above example shows a parallel connection of Block A and Block B parallel.
0002 0003 0000 0001
1 2
Operands
Key operation
ORL
ENT
R-SRCH
Chapter 2 Instructions
3-63
0500
Block
Coding (1)
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 Instruction LD AND LD AND ORL LD AND ORL OUT 0500 0004 0005 Operand 0000 0001 0002 0003
Coding (2)
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 Instruction LD AND LD AND LD AND ORL ORL OUT 0500 Operand 0000 0001 0002 0003 0004 0005
The ORL instruction can be used as many times as desired. Note, however, that in example (2) above, ORL is entered one less time than the number of blocks to be connected. Also, ORL can be used only 8 times or less in example (2), whereas in example (1) it can be used as many times as desired.
Note: "LOGIC ERROR" is displayed on the programmer when ORL is used 9 times or more in example (2).
3-64
Chapter 2 Instructions
OUT
: :
nnnn
Outputs ON/OFF status of input to relay coil. Outputs inverted ON/OFF status of input to relay coil.
OUB
nnnn
0000
0500 0501
Coding
Line No. 0000 0001 0002 Instruction LD OUT OUB Operand 0000 0500 0501
Description
When input relay 0000 turn ON, output relay 0500 turns ON and output relay 0501 turns OFF. The OUT and OUB instructions are used to drive relay coils for output relays, internal utility relays, and latch relays. These instructions are not used for input relays, timers, counters, or data memories.
1 2
Note: Double coil When one output relay receives input from two or more OUT or OUB instructions, priority is given to the instruction that is entered last. When 0001 is OFF, 0500 does not turn ON even if 0000 turns ON.
Operands
Visual KV 0000 to 1915 2009 2300 to 17915 KV-300 0500 to 1915 2009 2300 to 17915 KV-10/16 0500 to 1915 2009 2300 to 2915 KV-24/40/80 0500 to 1915 2009 2300 to 6915
Key operation
OUT
Operand
ENT
R-SRCH
OUB
Operand
ENT
R-SRCH
Chapter 2 Instructions
3-65
SET / RES
SET
1 0
: :
RES
0000 0001
Coding
Line No. 0000 0001 0002 0003 Instruction LD SET LD OUB Operand 0000 0500 0001 0500
Description
Output relay 0500 remains ON after input relay 0000 turns OFF. Output relay 0500 turns OFF when input relay 0001 turns ON. SET instruction sets a latch whereas RES instruction resets it. RES instruction not only turns OFF relay coils but serves as a reset signal when a timer or counter is used as an operand.
0001 0002 #00100 C000 00000 C000 RES 0001 0002 #00100 C000 0000
Note: The SET and RES instructions can be entered in any order. Note, however, that priority is given to the instruction that is entered last. In the above example, when both 0000 and 0001 are ON, RES has priority over SET, causing 0500 to remain OFF.
Tips
Differences between SET/RES and KEEP Basically , SET/RES and KEEP ( See above and p. 3-80) serve the same purpose. SET and RES can be used separately. Therefore, RES can be placed before SET. Another instruction may be placed between SET and RES. KEEP needs only three lines of program, therefore saving memory space when used a number of times.
0000 0001 0500 RES 0500 SET
LD RES LD SET
0000 0001
Operands
Visual KV 0500 to 1915 2009 2100 to 17915 T000 to T249 C000 to C249 KV-300 0500 to 1915 2009 2100 to 17915 T000 to T249 C000 to C249 KV-10/16 0500 to 1915 2009 2100 to 2915 T000 to T063 C000 to C063 KV-24/40/80 0500 to 1915 2009 2100 to 6915 T000 to T119 C000 to C119
Key operation
SET
Operand
ENT
R-SRCH
RES
Operand
ENT
R-SRCH
3-66
Chapter 2 Instructions
TMR
TMR ( T)
#ddddd Txxx
0000
T000 T001
0500 0501
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 Instruction LD TMR TMR LD OUT LD OUT Operand 0000 000 #00010*1 001 #00035*2 T000 0500 T001 0501
1 2
#00000 ON
Output 0500
0500 and 0501 turn ON 1 second and 3.5 seconds respectively after 0000 turns ON. TMR000 is a subtraction timer. When the current value reaches "#00000", contact T000 turns ON, and then output relay 0500 turns ON. When input relay 0000 turns OFF, contact T000 and T001 turn OFF and the current values of TMR000 and TMR001 are reset.
Note 1: The TMR number cannot be the same as any other TMS, TMH, TMR, C, or UDC instructions in the same program. Note 2: The current value of TMR is not retained but is reset to the preset value if a power failure occurs or if power is turned OFF.
Tips
When the number specified by TMR is used as a contact (T000 in the above example), this contact can be used as many times as desired. It can also be used as both N.O. and N.C. contacts. Timer accuracy = 0.1 sec. + (1 scan time) (max.)
Operands
Visual KV No.: 000 to 249 Preset value: #00000 to #65535 KV-300 No.: 000 to 249 Preset value: #00000 to #65535 KV-10/16 No.: 000 to 063 Preset value: #00000 to #65535 KV-24/40/80 No.: 000 to 119 Preset value: #00000 to #65535
Key operation
TMR (T) Operand
(TMR No.)
Operand
(Preset value)
ENT
R-SRCH
Chapter 2 Instructions
3-67
TMH
FUN
LDB
OR
#ddddd T Txxx H
0000 T000
Coding
Line No. 0000 0001 0002 0003 Instruction LD TMH LD OUT Operand 0000 000 #00010*1 T000 0500
*1 0.01 s x 10 = 0.1 s
Description
0500 and 0501 turn ON 0.1-s after 0000 turns ON. TMH is a subtraction timer. When the current value reaches "#00000", the contact of the timer No. turns ON. When input relay 0000 turns OFF, contact T000 turns OFF and the current value of TMH000 is reset.
Note 1: The TMH number cannot be the same as any other TMS, TMH, TMR, C, or UDC instructions in the same program. Note 2: The current value of TMH is not retained but is reset to the preset value if power failure occurs or if power is turned OFF. When the number specified by TMH is used as a contact (T000 in the above example), this contact can be used as many times as desired. It can also be used as both N.O. and N.C. contacts. Timer accuracy = 0.01 sec. + (1 scan time) (max.)
Operand
Visual KV No.: 000 to 249 Preset value: #00000 to #65535 KV-300 No.: 000 to 249 Preset value: #00000 to #65535 KV-10/16 No.: 000 to 063 Preset value: #00000 to #65535 KV-24/40/80 No.: 000 to 119 Preset value: #00000 to #65535
Key operations
FUN
LDB
OR
ENT
R-SRCH
Operand
(TMH No.)
Operand
(Preset value)
ENT
R-SRCH
3-68
Chapter 2 Instructions
TMS
FUN 5
ANB SET
#ddddd T Txxx S
Example
0000 T000 #00100 T T000 S 0500
Preset value: 0.1 s
Coding
Line No. 0000 0001 0002 0003 Instruction LD TMS LD OUT Operand 0000 000 #00010*1 T000 0500
*1 0.001 s x 100 = 0.1 s
Description
0500 and 0501 turn ON 0.1-s after 0000 turns ON. TMS is a subtraction timer. When the current value reaches "#00000", the contact of the timer No. turns ON. When input relay 0000 turns OFF, contact T000 turns OFF and the current value of TMS000 is reset.
1 2
Note 1: The TMS number cannot be the same as any other TMS, TMH, TMR, C, or UDC instructions in the same program. Note 2: The current value of TMS is not retained but is reset to the preset value if power failure occurs or if power is turned OFF. When the number specified by TMS is used as a contact (T000 in the above example), this contact can be used as many times as desired. It can also be used as both N.O. and N.C. contacts. Timer accuracy = 0.001 sec. + (1 scan time) (max.)
Operand
Visual KV No.: 000 to 249 Preset value: #00000 to #65535 KV-300 No.: 000 to 249 Preset value: #00000 to #65535 KV-10/16 No.: 000 to 063 Preset value: #00000 to #65535 KV-24/40/80 No.: 000 to 119 Preset value: #00000 to #65535
Key operations
FUN
ANB
SET
ENT
R-SRCH
Operand
(TMS No.)
Operand
(Preset value)
ENT
R-SRCH
Chapter 2 Instructions
3-69
TMR
Timing diagram
0000 0500
ON OFF
ON 2 sec.
ON 2 sec.
Coding
Line No. 0000 0001 0002 0003 0004 Instruction LD OR TMR ANB OUT Operand 0000 0500 000 #00020 T000 0500
Off-delay circuit When input relay 0000 turns ON, output relay 0500 turns ON. 0500 turns OFF in a specified time after 0000 turns OFF.
0000 0500 T000 0000 0500 #00020 T000
2 sec.
Timing diagram
ON
0000 0500
OFF
ON
2 sec.
Coding
Line No. 0000 0001 0002 0003 0004 0005 Instruction LD OR ANB OUT ANB TMR Operand 0000 0500 T000 0500 0000 000 #00020
3-70
Chapter 2 Instructions
TMR
Timing diagram
ON OFF
0000 0500
ON
2s
1s
Coding
Line No. 0000 0001 0002 0003 Instruction LD TMR LD OUT Operand 0000 000 #00020 T000 0500
1 2
Flicker circuit Output relay 0500 turns ON and OFF repeatedly while input relay 0000 is ON.
0000 T000 T001 #00020 T000 #00010 T001 0500
2 sec.
1 sec.
Timing diagram
ON
0000 0500
OFF
ON
ON
ON
2s 1s 2s 1s 2s 1s
Coding
Line No. 0000 0001 0002 0003 0004 0005 Instruction LD ANB TMR LD AMR OUT Operand 0000 T001 000 #00020 T000 001 #00010 0500
Chapter 2 Instructions
3-71
C: Counter
Example
CTR (C)
Reset input
0001 C000
Coding
Line No. 0000 0001 0002 0003 Instruction LDB C LD OUT Operand 0001 000 #00010 0000 C000 0500
ON OFF
10
ON
Description
The counter performs one counting at the rising edge of clock pulse. When the current value reaches the preset value, the coil of specified No. turns ON. When a reset input (b [N.C.] contact) turns ON, the current counter value is reset to "00000". Since C is software counter which is set on the program, the response speed depends on the scan time.
Note 1: When a reset input is provided using an a (N.O.) contact, the current counter value is reset at power-off. Note 2: The C number cannot be the same as any other TMS, TMH, TMR, C, or UDC instructions in the same program. Note 3: The current C value is stored more than two months (KV-10xx: More than 20 days) at 25C even when the KV is not in operation or is turned off.
Tips
By entering relay 2007 (which can turn the counter OFF for only the first scan time when the operation is started) using an 'a' (N.O.) contact in series as the input relay for resetting counter, you can reset the current C value whenever the operation is started.
0001 #00010 C000 0000
3-72
Chapter 2 Instructions
Details of counter
Extended ladder The counter for the KV Series supports the extended ladder method.
KV counter
0001 2007 #00010 C005 0000
The extended ladder allows you to connect contacts or output coils after the counter in series, reducing the number of ladder program lines.
In the following example, the counter starts counting when counter input relay 0004 turns ON. When the current counter value reaches "300", output relay 0500 turns ON.
0002 #00300 C002 0004 C002 0500
Coding
Line No. 0000 0001 0002 0003 0004
1 2
For details of the extended ladder, refer to "1.5 Extended Ladder Diagrams" (p.3-29).
Operands
Visual KV No.: 000 to 249 Count input: 0000 to 17915 Preset value: #00001 to #65535 KV-300 No.: 000 to 249 Count input: 0000 to 0009, 0500 to 17915 Preset value: #00000 to #65535 KV-10/16 No.: 000 to 063 Count input: 0000 to 2915 Preset value: #00000 to #65535 KV-24/40/80 No.: 000 to 119 Count input: 0000 to 6915 Preset value: #00000 to #65535
Key operation
CTR (C ) Operand
(Counter No.)
Operand
(Preset value)
Operand
(Count input)
ENT
R-SRCH
Chapter 2 Instructions
3-73
Coding
Line No. Instruction Operand 0000 LDB 0000 0001 C 002 #03600 2006 0002 LD C002 0003 OUT 0500 "1.3.7 Special Utility Relays" (p. 3-12)
2
Large capacity counter
Operand 0001 C001 001 #03600 2006 C001 1000 0001 002 #00600 1000
Coding
0002 C000 0002 C000 #10000 C000 0000 1000 #65535 C001 1000
Operand 0002 C001 001 #10000 0000 C000 1000 0002 001 #65535 1000
Outputs in 3 different levels according to the current counter value. Current counter value 1000 or more 0500 turns ON. 2000 or more 0501 turns ON. 3000 or more 0502 turns ON.
3-74
Chapter 2 Instructions
Outputs in 3 different levels according to the counter current value. Current counter value 00000 to 00999 0500 turns ON. 01000 to 01999 0501 turns ON. 02000 to 02999 0502 turns ON. Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 Instruction LDB C LD LDA CON MPS CMP CON ANB OUT MRD CMP CON ANB ANB OUT MPP CMP CON ANB ANB ANB OUT Operand 0001 000 #09999 0000 2002 C000
1 2
#00999 2011 0500 #01999 2011 0500 0501 #02999 2011 0500 0501 0502
Chapter 2 Instructions
3-75
FUN 5
ANB ANL
UP DW #ddddd RES
UDC xxx
Example
0001 0002 DW UDC 000 UP #00009
UP input
DOWN input
RESET input
Coding
Line No. 0000 0001 0002 0003 0004 0005 Instruction LD LD LD UDC LD OUT Operand 0001 0002 0003 000 #00009 C000 0500
Timing diagram
4 5 6 7 8 9
2 3 1
Carry
Carry ON
Time
C000 Input for up 0001 Input for down 0002 Input for resetting 0003
When UP input relay (0001) turns ON, the current value of the counter is incremented by one. When DOWN input relay (0002) turns ON, the current value is decremented by one. C000 turns ON when the digit shifts (#00009 to #00000, or #00000 to #00009).
Note 1: The UDC number cannot be the same as any other TMS, TMH, TMR, C, or UDC instructions in the same program. Note 2: The current UDC value is stored more than two months (KV-10xx: More than 20 days) at 25C even when the KV is not in operation or is turned off.
Operands
Visual KV No.: 000 to 249 Preset value: #00000 to #65535 KV-300 No.: 000 to 249 Preset value: #00000 to #65535 KV-10/16 No.: 000 to 063 Preset value: #00000 to #65535 KV-24/40/80 No.: 000 to 119 Preset value: #00000 to #65535
Key operation
FUN
ANB
ANL
ENT
R-SRCH
Operand
(C No.)
Operand
(Preset value)
ENT
R-SRCH
3-76
Chapter 2 Instructions
UDC
0001 0002
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 Instruction LD LD LD UDC LD AND LD AND LD UDC Operand 0001 0002 0003 000 #09999 C000 0001 C000 0002 0003 001 #09999
1 2
The example below outputs the high-order 4 digits of 8-digit BCD to UDC001 and the low-order 4 digits of 8-digit BCD to UDC000.
0004 C000 LDA C001 LDA 0500 STA 0600 STA
Low-order 4 digits High-order 4 digits
TBCD TBCD
Chapter 2 Instructions
3-77
FUN 1 FUN 0
SET RES
0 9
: :
RES OR
Detects rising edge of input signal and turns ON specified relay for 1st scan time only. Detects falling edge of input signal and turns ON specified relay for 1st scan time only.
Coding
Line No. 0000 0001 0002 Instruction LD DIFU DIFD Operand 0000 1000 1001
0000 1000
ON ON for 1st scan time only ON ON for 1st scan time only
1001
The DIFU instruction turns ON the relay specified by the operand for only the 1st scan time at the rising edge of input signal (0000). The DIFD instruction turns ON the relay specified by the operand for only the 1st scan time at the falling edge of input signal (0000).
Note 1: Any DIFU/DIFD operand relay No. cannot be duplicated in a program. Note 2: When an expanded ladder is used, the DIFU instruction in example a) operates without any problems. However, with the DIFD instruction in example b), output relay 0500 does not turn ON because 1000 turns ON at the next scan after the falling edge of input relay 0000 though input relay 0000 is already OFF. In this case, change the ladder diagram as in example c).
a) 0500 turns ON for one scan at the rising edge of input relay 0000.
0000 1000 DIFU 1000 0500
b) 0500 does not turn ON for one scan at the falling edge of input relay 0000.
0000 1000 DIFD 1000 0500
c) 0500 turns ON for one scan at the falling edge of input relay 0000.
0000 1000 1000 DIFD 0500
Operands
Visual KV 1000 to 1915 3000 to 9915 * KV-300 1000 to 1915 3000 to 6915 *7000 to 9915 KV-10/16 1000 to 1915 KV-24/40/80 1000 to 1915 3000 to 6915
Note that of I/O Nos.7000 to 9915, those that are not assigned to expansion or I/O terminal module ports can be used for internal utility relays.
Key operation
FUN
SET RES ENT Operand
R-SRCH
(Relay No.)
OR
ENT
R-SRCH
Operand ENT
(Relay No.) R-SRCH
3-78
Chapter 2 Instructions
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012
Operand 0000 1000 1001 1000 0500 T001 0500 001 #00010 1001 0501 T002 0501 002 #00010
Timing diagram
0000 1000 1001 0500
ON OFF ON OFF ON OFF
1 2
ON
1s
0501
ON
1s
Alternating circuit Every time input relay 0000 turns ON, output relay 0500 turns ON and OFF alternately. Coding
0000 1000 1000 0500 0500 1000 DIFU 0500
Line No. 0000 0001 0002 0003 0004 0005 0006 0007
Chapter 2 Instructions
3-79
KEEP
KEEP: Keep
FUN 3
ORL O R
SET RES
KEEP nnnn
Example
0001 0002 RES
RESET input
SET input
Coding
Line No. 0000 0001 0002 Instruction LD DIFU DIFD Operand 0000 1000 1001
Description
When SET input relay No. 0001 is ON and RESET input relay No. 0002 is OFF, 0500 turns ON. When RES input (0002) is ON, output relay 0500 turns OFF. When both 0001 and 0002 are OFF, the previous status is retained.
Note 1: When 0500 used for KEEP instruction in the above example is changed to 0500 OUT instruction ( ), it forms a double coil. In such a case, priority is given to the instruction that is entered last "Double coil" (p. 3-65) Note 2: When both 0001 and 0002 are ON, RESET (0002) has priority over SET (0001), causing 0500 to turn OFF.
Tips
Internal utility relay latching function The ON/OFF status of an internal utility relay immediately before power-off can be stored by setting the memory switch (MEMSW).
If this stored utility relay is used for a latching instruction (SET or KEEP), the relay settings can be stored while the power is off.
Stores the status of internal utility relays 1000 through 1915.
Coding
Line No. 0000 0001 0002 0003 0004 0005 Instruction MEMSW LD LD KEEP LD OUT Operand $0004 0001 0002 1000 1000 0500
MEMSW $0004 0001 0002 RES 1000 0500 KEEP SET 1000
Operands
Visual KV 0500 to 1915 2009 2100 to 17915 KV-300 0500 to 1915 2009 2100 to 17915 KV-10/16 0500 to 1915 2009 2100 to 2915 KV-24/40/80 0500 to 1915 2009 2100 to 6915
Key operation
FUN
ANL
ANL
ENT
R-SRCH
Operand
(Relay No.)
ENT
R-SRCH
3-80
Chapter 2 Instructions
KEEP
ES
ON
OFF
ON
ES
Gum Gum Gum Gum Gum Gum Gum Gum
PZ2-61
Executes SET when all input relays 0000 to 0003 are ON.
1 2
Detects presence/absence of chewing gum packs all Down edge of 0000. Outputs 1-s one-shot plus from output relay 0500 when 1000 is OFF.
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 Instruction LD AND AND AND LD KEEP LD Operand 0000 0001 0002 0003 1001 1000 0000 Line No. 0007 0008 0009 0010 0011 0012 0013 Instruction DIFD LD ANB OR ANB OUT TMR Operand 1001 1001 1000 0500 T001 0500 001 #00010
Timing diagram
ON
ON
ON
1s
Chapter 2 Instructions
3-81
SFT: Shift
Example
Relay shift operation
FUN 3
ORL O R
SFT
Data input
0500
Coding
Line No. 0000 0001 0002 0003 0004 0005 Instruction LD LD LD SFT LD OUT Operand 0001 0002 0003 1000 1002 1002 0500
Timing diagram
RESET input 0003 Data input 0001 Clock 0002 1000 1001 1002 0500
ON OFF ON OFF ON OFF ON
A B C D E F G
0 1
B)
C)
ON ON ON ON
ON ON ON ON
D)
E)
F)
G)
Description
First relay No. 1000 turns ON (OFF) when the data input relay is ON (OFF) at the rising edge of the clock pulse. Clock pulse A) shifts the ON status of input relay 0001 to relay 1000, and shifts the status of other relays in sequence as shown in A) on the right. When the data input is OFF as for clock pulse E), OFF status is shifted to relay 1000. When the RESET input relay turns ON, all the relays (from the first one to the last one) turn OFF. Several SFT instructions can be used in a program.
3-82
Chapter 2 Instructions
SFT
Operands
Visual KV 1000 to 1915 3000 to 6915 * KV-300 1000 to 1915 3000 to 6915 *7000 to 9915 KV-10/16 1000 to 1915 KV-24/40/80 1000 to 1915 3000 to 6915
Note that of I/O Nos. 7000 to 9915, those that are not assigned to expansion or remote I/O unit ports can be used for internal utility relays.
ORL OR
Key operation
FUN 3 9
ENT
R-SRCH
Operand
(Relay No.)
Operand
(Relay No.)
ENT
R-SRCH
Coding
Line No. 0000 0001 0002 0003 0004 0005 Instruction LDB LD LD SFT LD OUT Operand 1000 0000 2003 1000 1000 1000 0500
1 2
Timing diagram
0000 0500
ON OFF
ON
ON
ON
ON
ON
Reference: Alternating circuit can be configured without SFT instruction. The following circuit does the same operation as the circuit above.
"DIFU instruction" (p. 3-78)
Coding
0000 1000 1000 0500 0500 1000 DIFU 0500
Line No. 0000 0001 0002 0003 0004 0005 0006 0007
Chapter 2 Instructions
3-83
SFT 2.4 Instruction Details Resetting internal utility relays When input relay No. 0000 turns ON, all internal utility relays No. 1000 through 1915 turn OFF. SFT instruction can be substituted for RES instruction. This application can be used to reset many relays at one time. (All relays 3000 through 9915 can also be turned OFF at one time.) Coding
2003 D 2003 CLK 0000 RES 1915 1000 SFT
Instruction LD LD LD SFT
Repeat shift circuit Turns ON every output for a second sequentially. Sets 1000 to 2008 (ON for 1st scan only at startup) and shifts outputs from 0500 to 0504 every second at T001. When 1005 turns ON, 1000 is set and the same sequence as above repeats. Coding
2008 T001 2003 D T001 CLK 2003 RES 1000 1001 1002 1003 1004 1005
Line No.
Instruction
Operand
0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019
LD SET LDB T001 LD LD LD SFT LD OUT LD OUT LD OUT LD OUT LD OUT LD SET
2008 1000 T001 #00010 2003 T001 2003 1000 1005 1000 0500 1001 0501 1002 0502 1003 0503 1004 0503 1005 1000
3-84
Chapter 2 Instructions
SFT
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 Instruction LD DIFU LD SET LD LD LD SFT Operand 0000 1100 1100 1000 2003 0001 0002 1000 1010
Timing diagram
Scan 0001 0000 1000 1001 1002
ON OFF ON OFF ON OFF ON OFF ON OFF
1 2
Chapter 2 Instructions
3-85
FUN 1
SET AND
HSP nnnn
Example
Enable input
HSP 0001 0500 SET 0501 SET 0500 RES 0501 RES
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 Instruction LD HSP LD SET LD SET LD RES RES Operand 0000 0001 0001 0500 0002 0501 0003 0500 0501
Timing diagram
0000 0001 0002
ON OFF
ON ON 5 ms
ON ON 5 ms ON ON
ON ON 15 ms ON ON ON
Description
When enable input 0000 turns ON, the time constant of input 0001 (specified by HSP) changes from 10 ms to 10 s. When enable input relay 0000 is ON and the scan time is 1 ms, and when the ON time ( ) of input relays 0001 and 0002 is 5 ms, output relay 0500 turns ON but 0502 does not.
"1.4.3 Constant Scan Time Mode" (p. 3-25)
Note 1: The time constant is switched by special utility relays 2609 through 2612 with the expansion units, or by the provided switches with I/O distribution module. Note 2: The HSP instruction is used for the input to basic units only.
3-86
Chapter 2 Instructions
HSP
1)
Output device
2)
Output device
3)
Output device
Inputdevice
Inputdevice
Program execution
Program execution
Inputdevice
Program execution
Scan time
Scan time
Scan time
Even if the input signal width is shorter than the scan time, the signal can be fetched when it turns ON during input process as in 1). However, it cannot be fetched when it turns ON any other time than the input process as in 2). For reliable signal reception, the input signal width must be longer than the scan time as in 3). Scan time < Input signal width < Normal time constant (10 ms 20%) Switching the input time constant of expansion units Expansion input unit Expansion I/O unit KV-E4X KV-E4XT(P) KV-E8X KV-E4XR KV-E16X The input time constant of an expansion unit is initially set to 10 ms. It can be changed to 10 s by creating a ladder program or by using the Access Window, the LADDER BUILDER for KV programming support software, or with the KV-P3E(01) handheld programmer. Change the values of special utility relays 2609 to 2612.
Special utility relay 2609 2610 2611 2612 Description Input time constant of 1st unit. OFF: 10 ms, ON: 10 s Input time constant of 2nd unit. OFF: 10 ms, ON: 10 s Input time constant of 3rd unit. OFF: 10 ms, ON: 10 s Input time constant of 4th unit. OFF: 10 ms, ON: 10 s
1 2
Operands
KV-300 0000 to 0009 KV-10 0000 to 0005 KV-16 0000 to 0009 KV-24 0000 to 0015 KV-40/80 0000 to 0107
Key operation
FUN
SET
AND
ENT
R-SRCH
Operand
(Relay No.)
ENT
R-SRCH
Chapter 2 Instructions
3-87
HSP
0000 0500
Timing diagram
Scan
ON OFF ON OFF
ON
1s
To input a signal having pulse interval shorter than the scan time, use the interrupt instruction.
Refer to "Chapter 3 Interrupts" (p. 3-191).
Initial settings
Turn ON for 1st scan only at startup. Resets 0500 when T000 turns ON.
Sets interrupt input at 0000. Sets 0500 when 0000 turns ON.
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 Instruction LD EI SET LD T000 LD RES Operand 2008 2813 0500 #00010 T000 0500 Line No. 0007 0008 0009 0010 0011 0012 Instruction END INT LD SET RET1 ENDH Operand 0000 2002 0500
3-88
Chapter 2 Instructions
MC / MCR
FUN 2 FUN 2
4 5
: :
ANL ANB
MCR
Selects ON/OFF status of relay coils, timers, or counters set before MCR instruction. Used in pairs with MC instruction to end the execution of MC instruction.
Coding
Line No. 0000 0001 0002 0003 0004 0005 Instruction LD MC LD OUT OUB MCR Operand 0000 0001 0500 0501
1 2
Description
When 0000 is OFF, both 0500 and 0501 do not turn ON, even if 0001 is turned ON. When 0000 is ON, 0500 turns ON and 0501 turns OFF as soon as 0001 is turned ON. Regard the function of MC-MCR instructions as "power switch" or "main switch". When the input relay for MC is OFF, the instructions entered between MC and MCR instructions function as follows:
Instructions OUT and OUB TMR, TMH, and TMS C, SFT, KEEP, SET, RES, and CTH Other instructions such as TMIN Function Corresponding relay is OFF Timer is reset Previous status is retained Instruction is not executed.
Operands
Key operation
FUN
ANL
LDB ENT
ENT
R-SRCH
R-SRCH
FUN
ANL
ANB ENT
ENT
R-SRCH
R-SRCH
Chapter 2 Instructions
3-89
Making an input condition The input condition for an MC instruction can be made as shown below:
0000 0003 0001 0002 MC 0500 MCR
Note: The scan time is not shortened even if the input relay of the MC instruction is OFF. Output relays 0500 within and outside of the MC-MCR instructions form a double coil as shown below. "Double coil" (p. 3-65) In this case, priority is given to the instruction that is entered last.
0003 0001 0002 0500 MC 0500 MCR
3-90
Chapter 2 Instructions
MC / MCR
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 Instruction LD OUT CON OUB LD DIFU CON AND RES CON RES CON RES LD MC STG OUT CON TMR CON AND JMP STG OUT CON TMR CON AND JMP STG OUT CON TMR CON AND JMP MCR LD MC LD OUT LD OUT LD OUT MCR LD OR OUT LD OR OUT LD OR OUT END ENDH Operand 0000 1000 1001 0000 1002 1002 1100 1101 1102 1000 1100 1200 000 #00010 T000 1101 1101 1201 001 #00020 T001 1102 1102 1202 002 #00030 T002 1100 1001 0001 1203 0002 1204 0003 1205 1200 1203 0500 1201 1204 0501 1202 1204 0502
0000 0001 0000 0002 1000 0003 0004 0005 0006 0007 1001 0008 0001 0009 0002 0010 0003 0011 1100 STG 1101 STG 1102 STG 1200 1201 1202 #00010 T000 #00020 T001 #00030 T002 T000 T001 T002 1002 DIFU 1002
1000
1001
1100 RES
1101 RES
1102 RES
MC 1101 JMP 1102 JMP 1100 JMP MCR MC 1203 1204 1205 MCR
1 2
0012 1200 0013 1203 0014 1201 0015 1204 0016 1202 0017 1205 0018 END 0019 ENDH 0020 0502 0501 0500
Chapter 2 Instructions
3-91
MEMSW
FUN
ANL ORB
MEMSW $nnnn
FUN
ANL
ORB
ENT
R-SRCH
Operand
ENT
R-SRCH
Operands
$0000 to $FFFF
Example
MEMSW $3800
Coding
Line No. 0000 Instruction MEMSW Operand $3800
Specify 3 of SW3 and 0 and 1 of SW4 to reset the values of DM1900 to DM1999, counter, up-down counter, CTH, and CTC when the operation is started.
Description
2
SW4 SW3 0 0 1 1 1 0 0 0
Switch Nos. and functions are as follows. The switch consists of 16 bits. The function of the switch is specified by turning a certain bit ON or OFF.
SW2 SW1 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 0 0 0 0 0 0 0 0
MEMSW $3800
SW4 SW3 SW2 SW1
Switch Function of switch No. 0 Cancels error when power is ON. 1 Action when "Memory error" occurs at startup (due to data memory, counter value, or retained content being erased). Uses latch function of internal utility relays 1000 through 1915. Uses latch function of internal utility relays 3000 through 3915. Uses latch function of internal utility relays 4000 through 4915. Uses latch function of internal utility relays 5000 through 5915. Uses latch function of internal utility relays 6000 through 6915. Not used. Not used. Clears DM0000 to DM0999 at power-on. Clears DM1000 to DM1899 at power-on. Switches between 24- and 16-bit comparators for CTH0. Switches between 24- and 16-bit comparators for CTH1. Clears values of counter, CTH, and CTC. Write-protects program in KV PLC. Read-protects program in KV PLC.
ON Retains error.
2 3 0 1 2 3 0 1 2 3 0 1 2 3
Loads memory Does not load from EEPROM memory from EEPROM Doesn't use Uses latch latch function. function. Doesn't use Uses latch latch function. function. Uses latch Doesn't use function. latch function. Uses latch function. Uses latch function. Clears DM. Clears DM. 24-bit 24-bit Clears values. Write-protects program. Read-protects program. Doesn't use latch function. Doesn't use latch function. Retains DM. Retains DM. 16-bit 16-bit Retains values. Doesn't writeprotect program. Doesn't readprotect program.
3-92
Chapter 2 Instructions
MEMSW 2.4 Instruction Details Note 1: When a read-protected program is transferred into the KV PLC it cannot be read or modified from this PLC. Before read-protecting a program, be sure to create a backup copy of the program. Note 2: When a 24-bit high-speed counter comparator is used, the ladder program which specifies the numerical values of a 24-bit CTC is required before starting the high-speed counter. Note 3: The value of MEMSW can be changed even during operation. However, the new operation is not actually performed. The change is effective only after the KV is turned off or stopped once and then restarted.
Details of MEMSW
Setting memory switches Specify a hexadecimal number for each switch No.
SW4 SW3 SW2 SW1
(Switch No.)
MEMSW $0269
0 0 0 0 0
0 0 1 0 2
0 1 1 0 6
1 0 0 1 9
20 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Hexadecimal number
Hexadecimal number
0 1 2 3 4 5 6 7 8 9 A B C D E F
Retains all errors when power is ON. Retains utility relays 3000 through 3999. Retains Internal utility relay 5000 through 5999 and 6000 through 6999. Clears DM0000 to DM0999 when power is ON.
1 2
Tips
The data entered for the memory switch is set into the KV PLC when the program is transferred to the KV PLC. When MEMSW instruction is not entered into the program, "$0000" is set. If you try transfer a program into the KV PLC which is write-disabled, warning message "WRITE PROTECTED REPLACE OK?" is displayed. When executing the transfer regardless of the message, press ENT . R-SRCH
To use internal utility relays 1000 through 1915 as latch relays. To clear a DM when operation is started.
Description
MEMSW $0004
MEMSW $0E00
To read-protect a program.
MEMSW $8000
MEMSW $2000
MEMSW $0800
MEMSW $1000
Chapter 2 Instructions
3-93
NOP: No Operation
FUN 3
ORL RES
Performs no operation.
When ALL CLEAR [FNC60] or HANDHELD PROGRAMMER CLEAR (P3E CLEAR) [FNC61] is executed to delete the program, NOP appears on all lines of the deleted program. NOP is not written by the KV IncrediWare (DOS)/LADDER BUILDER for KV programming support software.
END DM ENDH TM
: :
END
ENDH
END and ENDH instructions must be used at the end of a program. A subroutine or interrupt program can be written between END and ENDH. When not using either subroutine or interrupt programs, write ENDH immediately after END.
Normal program
END
2
Normal program
END
ENDH
Note: When a program does not have END or ENDH, "ENTER END", "ENTER ENDH" or "LOGIC ERROR" occurs when the program is converted or transferred.
Operands
Key operation
END DM ENT
R-SRCH
ENDH TM
ENT
R-SRCH
3-94
Chapter 2 Instructions
Instruction W-ON: Wait ON W-OFF: Wait OFF W-UE: Wait Up Edge W-DE: Wait Down Edge CON: Connect MPS: Push MRD: Read MPP: Pop STG: Stage JMP: Jump ENDS: End Stage STP: Step STE: Step End ITVL: Interval Timer 16-bit high-speed counter 16-bit high-speed counter comparator 16-bit high-speed counter 16-bit high-speed counter comparator CALL: Subroutine Call SBN: Subroutine Entry RET: Subroutine Return FOR: Repeat Start NEXT: Repeat End HKEY: 16 Key input
Mnemonic W-ON W-OFF W-UE W-DE CON (FUN06) MPS MRD MPP STG (FUN44) JMP (FUN21) END (FUN14) STP (FUN45) STE (FUN43) ITVL CTH CTC CTH CTC CALL (FUN03) SBN (FUN38) RET (FUN33) FOR (FUN16) NEXT (FUN29) HKEY (FUN17)
Reference page 3-96 3-96 3-98 3-98 3-102 3-103 3-103 3-103 3-106 3-106 3-106 3-114 3-114 3-117 3-204 3-204 3-204 3-204 3-122 3-122 3-122 3-125 3-125 3-131
1 2
Chapter 2 Instructions
3-95
W-ON / W-OFF
W-ON
: :
W-OFF Li
Example
0000 1000 0002 1001 0001 ON 1000 0500 0003 OFF 1001 0501
W-ON
W-OFF
Coding
Line No. 0000 0001 0002 0003 Instruction LD W-ON LD OUT LD W-OFF LD OUT Operand 0000 0001 1000 1000 0500 0002 0003 1001 1001 0501
OFF ON OFF
ON
ON
When input relay 0000 is ON, output relay 0500 turns ON as soon as input operand 0001 turns ON. 0500 remains ON until 0000 turns OFF. W-OFF
ON
OFF ON OFF
ON
ON
When input relay 0002 is ON, output relay 0501 turns ON as soon as input operand 0003 turns OFF. 0501 remains ON until 0002 turns OFF.
3-96
Chapter 2 Instructions
W-ON / W-OFF
Description
W-ON
Input operand
0000 0001 ON 1000
Same operation
0001 1000
0000
1000
Output operand
When input relay 0000 is ON, output operand 1000 turns ON as soon as the contact of input operand 0001 turns ON.
W-OFF
Input operand
0002 0003 OFF 1001
Same operation
0003 1001
0002
1001
Output operand
When input relay 0002 is ON, output operand 1001 turns ON as soon as the contact of input operand 0003 turns OFF.
Note: Output operand relay Nos. for W-ON/W-OFF instructions cannot be duplicated in a program.
1 2
Operands
Visual KV nnnn: 0000 to 17915 T000 to T249 C000 to C249 CTC0 to CTC3 mmmm: 1000 to 1915 3000 to 9915 KV-300 nnnn: 0000 to 0009 0500 to 17915 T000 to T249 C000 to C249 CTC0 to CTC3 mmmm: 1000 to 1915 3000 to 6915 *7000 to 9915 KV-10/16 nnnn: 0000 to 2915 T000 to T063 C000 to C063 CTC0 to CTC3 mmmm: 1000 to 1915 KV-24/40/80 nnnn: 0000 to 6915 T000 to T119 C000 to C119 CTC0 to CTC3 mmmm: 1000 to 1915 3000 to 6915
Note that of I/O Nos. 7000 to 9915, those that are not assigned to expansion or remote I/O unit ports can be used for internal utility relays.
Key operation
W-ON
First operand
(nnnn)
Second operand
(mmmm)
ENT
R-SRCH
W-OFF Li
Chapter 2 Instructions
3-97
W-UE / W-DE
W-UE
: :
W-DE Lo
Example
0000 1000 0002 1001 0001 1000 0500 0003 1001 0501 W-DE W-UE
Coding
Line No. 0000 0001 0002 Instruction LD W-UE LD OUT LD W-DE LD OUT Operand 0000 0001 1000 1000 0500 0002 0003 1001 1001 0501
ON
When input relay 0000 is ON, output relay 0500 turns ON at rising edge of first operand relay 0001. As soon as input relay 0000 turns OFF, output relay 0500 turns OFF.
W-DE
ON
OFF ON OFF
ON
When input relay 0002 is ON, output relay 0501 turns ON at falling edge of first operand relay 0003. As soon as input relay 0002 turns OFF, output relay 0501 turns OFF.
3-98
Chapter 2 Instructions
W-UE / W-DE
Description
W-UE
Input operand Same operation 0001
1000 0001 1002 1000 0000 1002 DIFU 1000
0000
Output operand
When input relay 0000 is ON, the output operand turns ON at the rising edge of the input operand.
W-DE
Input operand Same operation
0003 1003 1001 0002 1003 DIFD 1001
0002
0003 1001
Output operand
When input relay 0002 is ON, the output operand turns ON at the falling edge of the input operand.
Note 1: If the input operand is already ON before input relay 0000 turns ON, the output operand does not turn ON. Note 2: The W-UE/W-DE instruction must be used in subroutine programs that are executed every scan time (because rising and falling edges cannot be recognized). Note 3: Output operand relay Nos. for W-UE/W-DE instructions cannot be duplicated in a program.
1 2
Operands
Visual KV nnnn: 0000 to 17915 T000 to T249 C000 to C249 CTC0 to CTC3 mmmm: 1000 to 1915 3000 to 9915 KV-300 nnnn: 0000 to 0009 00500 to 17915 T000 to T249 C000 to C249 CTC0 to CTC3 mmmm: 1000 to 1915 3000 to 6915 *7000 to 9915 KV-10/16 nnnn: 0000 to 6915 0000 to 2915 T000 to T063 CTC0 to CTC3 mmmm: 1000 to 1915 KV-24/40/80 nnnn: T000 to T119 C000 to C119 CTC0 to CTC3 mmmm: 1000 to 1915 3000 to 6915
Note that of I/O Nos. 7000 to 9915, those that are not assigned to expansion or remote I/O unit ports can be used for internal utility relays.
Key operation
W-UE
First operand
(nnnn)
Second operand
(mmmm)
ENT
R-SRCH
W-DE Lo
Chapter 2 Instructions
3-99
Output relay 0100 turns ON when both input relays 0000 and 0001 turn ON in any order. Output relay 1001 turns ON only when input relay 0000 turns ON before input relay 0001.
0100 1001
ON
OFF ON OFF
ON ON
ON
(W-ON) (W-UE)
2
W-ON: Output relay 0500 turns ON when both input relays 0000 and 0001 turn ON in any order. Output relay 0501 turns ON only when input relay 0000 turns ON before input relay 0001. W-UE:
Note: An input operand relay No. for these instructions can be duplicated in a program, but output operand relay Nos. cannot be duplicated. As shown above, W-UE requires a certain order for turning ON relays 0000 and 0001, but W-ON does not. Therefore, W-UE is suitable for circuits to be executed at every input; W-ON is suitable for circuits that go on to the next operation when a certain condition is satisfied. The operation of W-OFF and W-DE instructions are same as above by the operation which turns relays OFF.
3-100
Chapter 2 Instructions
Line No. 0000 0001 0002 0003 0004 0005 0006 0007
Operand 0000 0001 1000 1000 0002 1001 1001 0003 1002 1002 0500
Timing diagram
Scan 0000 0001 0002 0003 0500
ON OFF ON OFF ON OFF ON OFF
1 2
ON
Fork lift truck IN/OUT judgement Checks the input sequence. Output relay 0500 turns ON when input relay 0000 turns ON and then 0001 turns ON. Output relay 0501 turns ON when input relay 0001 turns ON and then 0000 turns ON.
0000 0001 1001 1000 0000 1001 1000 1001 0500 0501
Coding
Line No. 0000 0001 0002 0003 0004 Instruction LD W-UE CON AND OUT 1000 0500 Operand 0000 0001 1000 Line No. 0005 0006 0007 0008 0009 Instruction LD W-UE CON AND OUT 1001 0501 Operand 0001 0000 1001
Timing diagram
Scan
ON OFF ON OFF
ON
ON
Chapter 2 Instructions
3-101
CON
CON: Connect
FUN 0
RES ORB
Example
0000 0500 0501 0502 0503
CON
CON
CON
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 Instruction LD OUT CON OUT CON OUT CON OUT 0503 0502 0501 Operand 0000 0500
Description
When input relay 0000 turns ON, 0500, 0501, 0502, and 0503 turn ON. When input relay 0000 turns OFF, 0500, 0501, 0502, and 0503 turn OFF. The CON instruction is used to connect instructions after output instructions when the extended ladder is used. When the LADDER BUILDER for KV programming support software is used, the CON instruction is automatically converted into a mnemonic and entered in the ladder diagram by just writing a connection line. The CON instruction does not affect the scan time.
Refer to "1.5 Extended Ladder Diagrams" (p. 3-29) for details of eetecded ladders.
Operands
Key operation
FUN
RES
ORB
ENT
R-SRCH
ENT
R-SRCH
3-102
Chapter 2 Instructions
MPS
C D
: : :
MRD MPP ch
0000
MPS
0001 0002
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 Instruction LD MPS AND OUT MRD AND OUT MPP AND OUT 0003 0502 0002 0501 0001 0500 Operand 0000
1 2
Description
When input relay 0000 is ON: 0500 turns ON as soon as 0001 turns ON. 0501 turns ON as soon as 0002 turns ON. 0502 turns ON as soon as 0003 turns ON. The MPS instruction is used at the start of an output branch. The MRD instruction is used to connect an output branch. The MPP instruction is used at the end of an output branch. When the KV IncrediWare (DOS)/LADDER BUILDER for KV programming support software is used, the MPS, MRD, and MPP instructions are automatically converted into mnemonics and entered in the ladder diagram.
Note 1: Limit the number of MPS instructions to 8 or less in a circuit. Note 2: An MPS instruction must have a corresponding MPP instruction. This means that the same number of MPS and MPP instructions must be used in a program. An MPS or MPP instruction without a corresponding MPP or MPS instruction results in a logic error.
Operands
Key operation
MPS
C D
MRD MPP ch
ENT
R-SRCH
Chapter 2 Instructions
3-103
MPS/MRD/MPP applications
MPS, MRD, and MPP instructions are used as follows:
0002 0003
MPS
0500
Start of branch
0501
Connection of branch
MRD
0502
Connection of branch
MRD
0503
End of branch
MPP
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 Instruction LD AND MPS AND OUT MRD AND 0006 0004 0500 Operand 0002 0003 Line No. 0007 0008 0009 0010 0011 0012 0013 Instruction OUT MRD AND OUT MPP AND OUT 0008 0503 0007 0502 Operand 0501
0000
MPS
0001
MPS
0004
MPP
MPP
MPS
MPP
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 Instruction LD MPS AND MPS AND OUT MPP AND OUT 0003 0501 0002 0500 0001 Operand 0000 Line No. 0009 0010 0011 0012 0013 0014 0015 0016 Instruction MPP AND MPS AND OUT MPP AND OUT 0006 0503 0005 0502 0004 Operand
3-104
Chapter 2 Instructions
0001
MPS
0002
MPS
0003
MPS
0004
MPP
MPP
MPP
MPP
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 Instruction LD MPS AND MPS AND MPS AND MPS AND OUT MPP OUT MPP OUT MPP OUT MPP OUT 0504 0503 0502 0501 0004 0500 0003 0002 0001 Operand 0000
1 2
Chapter 2 Instructions
3-105
LDB LDB
: : :
ANL SET
SET LDB
ENDS
Executes instructions in STG block when operand relay is ON. When transition condition relay is ON, turns OFF relay of current stage and transfers execution to stage specified by operand. When transition condition relay is ON, turns OFF relay of current stage.
2008 1000 STG 1001 STG 1002 STG 0500 0501 0000 0001 0002 0003
1000 SET 1001 JMP 1002 JMP 1001 JMP 1000 JMP 1003 JMP
Initial setting
1) 2) 3)
4)
1003 STG
0502
0004 ENDS
2
1) When transition condition relay 0000 is ON, transfers execution to STG1001. 2) 0500 turns ON. When transition condition relay 0001 is ON, transfers execution to STG1002. 3) 0501 turns ON. When transition condition relay 0002 is ON, transfers execution to STG1001 and repeats the process above. When transition condition relay 0003 turns ON, transfers execution to STG1000 and 1003. 4) 0502 turns ON. The process finishes when transition condition relay 0004 turns ON. Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 Instruction LD SET STG AND JMP STG OUT CON AND JMP STG OUT CON 0001 1002 1002 0501 Operand 2008 1000 1000 0000 1001 1001 0500 Line No. 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 Instruction MPS AND JMP MPP AND JMP JMP STG OUT CON AND ENDS 0004 0003 1000 1003 1003 0502 0002 1001 Operand
3-106
Chapter 2 Instructions
Note 2: STG/JMP/ENDS operand relay Nos. cannot be duplicated in a program. Note 3: The STG instruction must be used in combination with the JMP or ENDS instruction. Note 4: The following instructions are not properly executed between STG and JMP/ ENDS instructions: DIFU, DIFD, KEEP, UDC, SFT, FOR, NEXT, and Differentiation type instruction (@xxx)
Operands
Visual KV 1000 to 1915 3000 to 9915 KV-300 1000 to 1915 3000 to 6915 *7000 to 9915 KV-10/16 1000 to 1915 KV-24/40/80 1000 to 1915
1 2
Note that of I/O Nos. 7000 to 9915, those that are not assigned to expansion or remote I/O unit ports can be used for internal utility relays.
Key operation
FUN FUN FUN
LDB
4 2 1
LDB
4 1 4
ENT
R-SRCH
Operand
(nnnn)
ENT
R-SRCH
ANL SET
SET LDB
ENT
R-SRCH
Operand
(nnnn)
ENT
R-SRCH
ENT
R-SRCH
ENT
R-SRCH
Chapter 2 Instructions
3-107
STG
These five steps are sequentially performed in order as shown in the flowchart below. If a ladder program is written for such sequential processing without any STG instructions, the resulting program may be complicated and difficult to review by others.
Sequential processing Start
Start SW ON?
YES Turn on lamp 1 for 1 second.
NO
I/O assignments Assign the input and output of the Visual KV Series as follows: 1) 2) 3) 4) Start switch: Turned on when 0000 turns ON. Lamp 1: Lights when 0500 turns ON. Lamp 2: Lights when 0501 turns ON. Lamp 3: Lights when 0502 turns ON.
I/O assignment
KV 0000 0500
Lamp 1
Start SW Lamp 2
0501
Lamp 3
COM 0502 COM
3-108
Chapter 2 Instructions
STG
The following is the ladder diagram for the I/O assignments above, and is written with and without STG instructions. Without STG instruction
0000 1000 T000 1001 T001 1002 T002 1100 T003 T002 T001 T000 1000 #00010 T000 1001 #00030 T001 1002 #00050 T002 1100 1101 1102 #00070 T003 T003 1000 1100 1001 1101 1002 1102 0502 0501 1000 SET 0500
1000 (0500) turns ON for 1 second when input 0000 turns ON.
1100 (0500), 1101 (0501), and 1102 (0502) turn ON for 7 seconds when T002 turns ON.
1 2
The process is repeated from the beginning when T003 turns ON.
0500
0501
0502
0500 turns ON for 1 second when input 0000 turns ON. Then, 1002 turns ON. 0501 turns ON for 3 seconds when 1002 turns ON. Then, 1003 turns ON. 0502 turns ON for 5 seconds when 1003 turns ON. Then, 1004 turns ON. 0500, 0501, and 0502 turn ON for 7 seconds when 1004 turns ON.
#00070 T003
T003
1001 JMP
The process is repeated from the beginning when T003 turns ON.
Chapter 2 Instructions
3-109
STG
0000 1104
1104
1000 JMP
Description
When using the W-UE instruction in a program with STG instructions on the previous page, you can create a program for an operation which moves to the next stage every time when start switch 0000 turns ON (process progression).
Tips
Resetting STG instructions (in the above example) Use the SFT instruction to turn OFF all STG instructions in an emergency.
2003 D 2003 CLK 1000 1004 RES SFT
1000 SET
Initial setting
Enter the initial setting process depending on the program. The above example cannot start the next operation without the initial setting.
Note 1: The scan time is not affected by any instructions between STG and JMP/ ENDS instructions which are not executed. Note 2: STG operand relay Nos. cannot be duplicated in a program. Note 3: The STG instruction must be connected to the bus. Note 4: The STG, JMP, or ENDS instruction cannot be used in subroutines.
3-110
Chapter 2 Instructions
STG
Interlock
Double coil
Note: When STG 1000 and 1002 turn ON simultaneously, priority is given to output relay 0500 of STG 1002, which is entered last. Retaining output Use the SET instruction to retain output.
1000 STG 1001 STG 0500 SET 0501 SET 0000 0001 1001 JMP 1002 JMP
1 2
When no JMP is used When no JMP instruction is used, the STG instruction does not turn OFF even if 0001 turns ON. Be sure to use JMP after STG.
1000 STG 0500 0001 0501
STG operand When the STG operand relay remains ON, 0500 does not turn OFF even if 0001 turns ON.
0000 1000 STG 0500 0001 1000 SET 1001 JMP
Use a differentiation type instruction for the condition of the first STG instruction.
0000 1000 STG 1100 DIFU 0500 1100 0001 1000 SET 1001 JMP
Chapter 2 Instructions
3-111
STG / JMP
DIFU/DIFD instructions in an STG block The operand relay for an STG instruction cannot be used as the input operand relay for a DIFU or DIFD instruction.
1000 STG 3000 3000 DIFU 0001 0500 1001 JMP 0501
Output relays 0500 and 0501 turn ON for 2 seconds. Output relays 0500, 0501, and 0502 turn ON for 3 seconds.
0000 1000 STG 1001 STG 1002 STG 0500 0500 0500 0501 0501 #00010 T000 #00020 T001 0502 1100 DIFU T000 T001 #00030 T002 T002 1100 1000 SET 1001 JMP 1002 JMP 1000 JMP
1000 turns ON at the rising edge of input 0000. Output 0500 turns ON for 1 second. Outputs 0500 and 0501 turn ON for 2 seconds. Outputs 0500, 0501, and 0502 turn ON for 3 seconds.
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 Instruction LD DIFU CON AND SET STG OUT CON TMR CON AND JMP STG OUT CON OUT 0501 T000 1001 1001 0500 000 #00010 1100 1000 1000 0500 Operand 0000 1100 Line No. 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 Instruction CON TMR CON AND JMP STG OUT CON OUT CON OUT CON TMR CON AND JMP T002 1000 002 #00030 0502 0501 T001 1002 1002 0500 001 #00020 Operand
3-112
Chapter 2 Instructions
STG / JMP
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0018 0020 0021 0022 0023 0024 0025 0026 0027 Instruction LD DIFU CON AND SET STG OUT CON MPS AND JMP MPP AND JMP STG OUT CON TMR CON AND JMP STG OUT CON TMR CON AND JMP T001 1000 001 #00020 T000 1000 1002 0502 000 #00010 0002 1002 1001 0501 0001 1001 1100 1000 1000 0500 Operand 0000 1100
1 2
Chapter 2 Instructions
3-113
STP / STE
FUN 4 FUN 4
LDB ANB
5 3
: :
Executes instructions between STP and STE when operand relay is ON. Used with STP to make a program step.
LDB ORL
0000
0001
0500 STE
Coding
Line No. 0000 0001 0002 0003 0004 0005 Instruction LD OUT STP LD OUT STE Operand 0000 1000 1000 0001 0500
2
Description
When 1000 is ON, 0500 turns ON/OFF as soon as 0001 turns ON/OFF. When 1000 is OFF, 0500 remains OFF after 0001 turns ON. When 0001 and 0500 are ON, 0500 remains ON after 0001 turns OFF. The program step specified with STP-STE instructions are executed when the STP operand relay is ON. When the operand relay is OFF, the program execution jumps to STE instruction. (Fig 1). STP-STE instructions can be nested up to 8 levels deep as shown in Fig. 2. When 1000 is OFF, steps 1) through 3) are not executed. Control jumps to the STE instruction just above step 4), then step 4) is executed. When 1000 and 1001 are ON, steps 1) through 3) are executed in that order. When 1000 is ON and 1001 is OFF, steps 1), 3), and 4) are executed in that order, while step 2) is left unexecuted.
STP
A
1000
STE
B
Fig. 1
1000
1001
Fig. 2
Note 1: STP/STE operand relay Nos. cannot be duplicated in a program. Note 2: When an STP operand turns OFF during program execution between STP and STE instructions, the state of the instructions between STP and STE are retained. Note 3: The scan time is not affected by any instructions between STP and STE which are not executed.
3-114
Chapter 2 Instructions
STP / STE
Tips
Operation when STP turns OFF Using a timer in an STP block When a timer is used in a program defined with an STP instruction, the operation is as follows: a) 1000 is reset immediately when the timer turns ON. The STE instruction is started with the timer remaining ON.
a)
0000 1000 SET STP 1000 T000 1000 T000 0500 #00050 T000 1000 RES STE
Scan
Jump
b) 1000 is not reset immediately when the timer turns ON but is reset at the next scan. The timer is reset before the STE instruction is started.
b)
0000 1000 SET STP 1000 T000 T000 1000 1000 RES 0500 #00050 T000 STE
Scan
Timer is reset.
Jump
1 2
Usage of STG and STP instructions STG instruction Use the STG instruction for process progression with branches.
0000 1000 STG 0500 0001 0002 1001 STG 1002 STG 0501 0502 0003 ENDS 0004 ENDS 1000 SET 1001 JMP 1002 JMP
STP instruction Use the STP instruction for process progression without branches.
0000 1000 SET STP 1000 0002 0001 1000 RES 1001 SET 0500
STE STP 1001 0003 0004 1001 RES 1002 SET 0501
STE
Chapter 2 Instructions
3-115
STP / STE
Operands
Visual KV 0000 to 17915 T000 to T249 C000 to C249 CTC0 to CTC3 KV-300 0000 to 0009 0500 to 6915 *7000 to 9915 T000 to T249 C000 to C249 CTC0 to CTC3 KV-10/16 0000 to 2915 T000 to T063 C000 to C063 CTC0 to CTC3 KV-24/40/80 0000 to 6915 T000 to T119 C000 to C119 CTC0 to CTC3
Note that of I/O Nos.7000 to 9915, those that are not assigned to expansion or remote I/O unit ports can be used for internal utility relays.
Key operation
FUN FUN
LDB
4 4
ANB
5 3
ENT
R-SRCH
Operand
(nnnn)
ENT
R-SRCH
LDB
ORL
ENT
R-SRCH
ENT
R-SRCH
2
0000 1000 DIFU 1000 1001 SET STP 1001 T000 T000 1001 T000 1001 RES 0500 #00020 T000 1002 SET STE STP 1002 T001 T001 1002 1002 RES 0501 #00030 T001 STE END ENDH
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 Instruction LD DIFU CON AND SET STP LD RES LDB OUT LD TMR LD SET STE STP LD RES LDB OUT LD TMR STE END ENDH Operand 0000 1000 1000 1001 1001 T000 1001 T000 0500 1001 000 #00020 T000 1002 1002 T001 1002 T001 0501 1002 001 #00030
3-116
Chapter 2 Instructions
ITVL
ITVL #TM
Example
0000 0001 0002 ITVL PLS DM0000 PAUSE 1000 RES
"Pulse" input
Beginning of workpiece data table "Measurement Pause" input First flag relay
"Reset" input
Coding
Line No. 0000 0001 0002 0003 Instruction LD LD LD ITVL Operand 0000 0001 0002 DM0000 1000
1 2
Operands
Visual KV
KV-300
KV-10/16
KV-24/40/80
Data table No.: Data table No.: DM0000 to DM0985 DM0000 to DM1985 DM0000 to DM1984 DM0000 to DM9985 1000 to 1912 1000 to 1912 1000 to 1912 Flag relay No.: 3000 to 6912 Flag relay No.: 1000 to 1912 3000 to 9912 3000 to 9912 *7000 to 9915 * Note that of I/O Nos.7000 to 9915, those that are not assigned to expansion or remote I/O unit ports can be used for internal utility relays.
Key operation
ITVL #TM First operand
(nnnn)
Second operand
(mmmm)
ENT
R-SRCH
Chapter 2 Instructions
3-117
ITVL
Setting procedure
The ITVL instruction reserves 16 data memories: 1 specified data memory and 15 successive data memories. It also reserves 4 relays: 1 specified relay and 3 successive relays. Note: Do not use the 16 data memories and 4 relays specified with the ITVL instruction for any other purpose. Data memory (DM) assignment Set the initial setting data to the first four data memories.
Data memory
DM XX + 00 01 02 03 04 05 06 07 08 Mode MAX value MIN value Preset No.of measurements Measured value MAX measured value MIN measured value Mean No.of measurements performed* Higher digits* Specifies measurement mode (0 to 5). Presets highest value in measurement range. Presets lowest value in measurement range. Specifies number of measurements for mean calculation (1 to 65535). Stores current measured value. Stores Max. measured value. Stores Min. measured value. Stores mean value. Stores number of times measurements actually performed. Stores higher 16 bits of accumulating total of measurements. (#00000 to #65535) ($0000 to $FFFF) Stores lower 16 bits of accumulating total of measurements. (#00000 to #65535)($0000 to $FFFF) Used for computing measured values, Max. measured values, Min. measured values, mean values, and accumulating totals. (Cannot be used) Initial setting is to be specified by user.
09
10
Lower digits*
11 to 12
Work memory
Relay assignment
Relay
Relay +0 +1 MIN error Every measurements completion Measurements completion for mean calculation MAX error
Turns ON and remains ON for one scan time when measured value exceeds Max preset value. Turns ON and remains On for one scan time when measured value goes below Min preset value. Turns ON at completion of every measurement and remains ON for one scan time. Turns ON for one scan time at completion of the specified No. of measurements for mean value calculation, then remains ON for one scan time.
+2
+3
Note 1: When 0 (zero) is specified as the number of measurements, mean value calculation will not be performed. In this case, the number of measurements will be accumulated until RES input turns ON, which may cause overflow. Note 2: Data in the No. of measurements, Higher digits, and Lower digits are reset when the No. of measurements performed reaches the preset No. of measurements. Note 3: Once ITVL instruction is defined in MC-MCR block, the measurement process pauses when the block is not executed. Note 4: For programs containing subroutines, interrupts, steps, or stages, ITVL instructions must be defined so that they are executed unconditionally for every scan time.
3-118
Chapter 2 Instructions
ITVL
Mode
Mode for DM measurement Write the desired mode No. into the specified data memory.
1 2
Note 1: When the mode No. is set to 10000 through 11999, values are fetched at the scan only when the PLS input relay is ON. Note 2: When the average of a data memory is calculated, values "32768" to "65535" are converted into corresponding compliment numbers (-32767 to -1) . Note 3: Some data memories after DM1000 are assigned to special functions. Be careful when specifying data memory for the ITVL instruction.
Refer to "1.3.10 Data Memories" (p. 3-19) for data memory assignments.
Chapter 2 Instructions
3-119
ITVL
1001 0500
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 Instruction LD LDA CON STA LD LDA CON STA LD LDA CON STA LD Operand 2008 #00000 DM0000 2008 #00051 DM0001 2008 #00049 DM0002 2008 Line No. 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 Instruction Operand LDA #00010 CON STA DM0003 LD 0000 LD 0001 LD 0002 ITVL DM0000 1000 LD 1000 OR 1001 OR 0500 ANB T000 OUT 0500 TMR 000 #00030
Timing diagram
0000
ON OFF
500ms
400ms
600ms
ON
1000
1 scan
1001
ON
1 scan
0500
ON
ON
3 sec.
3 sec.
3-120
Chapter 2 Instructions
ITVL
#02000 DM0001 Sets max. setting value to +3 V (2000). LDA STA #01000 DM0002 Sets min. setting value to +2 V (1000). LDA STA #00100 DM0003 Sets number of averaging measurements to 100. LDA STA
1 2
0500
0500 turns ON when measured value exceeds max. setting value.
0501
0501 turns ON when measured value is below min. value.
DM0007 DM0100 LDA STA Writes average into DM0100 every 100 measurement.
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 Instruction LD LDA CON STA LD LDA CON STA LD LDA CON STA LD LDA DM0002 2008 #00100 DM0001 2008 #01000 DM0000 2008 #02000 Operand 2008 #01600 Line No. 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 Instruction CON STA LD LD LD ITVL LD OUT LD OUT LD LDA STA DM0003 2003 0001 0002 DM0000 1000 1000 0500 1001 0501 1003 DM0007 DM0100 Operand
Chapter 2 Instructions
3-121
FUN 3
Executes subroutine specified by operand. Represents beginning of subroutine specified by operand. Represents end of subroutine.
Example
0000 00 CALL END SBN 00 RET ENDH
Coding
Line No. 0000 : : : : : : : : : Instruction : : LD CALL : END SBN : RET ENDH Operand : : 0000 00 : : 00 : : :
Description
When input relay 0000 turns ON, the subroutine specified by SBN00 and RET is executed. When the subroutine ends, instructions following CALL are executed. When the input relay is ON, the CALL instruction executes the subroutine specified by the operand. A subroutine program must be defined between the SBN and RET instructions. A subroutine must be defined between END and ENDH instructions. Once a CALL instruction has been encountered, program execution transfers to the subroutine specified by the SBN and RET instructions. Once a RET instruction has been encountered, program execution returns to the instruction immediately following the CALL instruction.
Operand
CALL SBN RET 00 to 99 00 to 99
Key operations
FUN FUN FUN
RES
0 3 3
ORL
3 8 3
ENT
R-SRCH
Operand
ENT
R-SRCH
ORL ORL
AND ORL
ENT
R-SRCH
ENT
R-SRCH
3-122
Chapter 2 Instructions
Application of subroutine
Program
2008
A)
00 CALL
Subroutine
Subroutine program
RET ENDH
When CALL00 is encountered during normal scan execution, the subroutine is executed. At the completion of this subroutine, program execution returns to program at B) immediately following CALL00. Then, the normal scan is continued until an END instruction is encountered. With no CALL instruction
Program
A)
1 2
0000 00 CALL 0000 00 CALL
Subroutine program
Program
B)
Program
B)
Nesting structure of a subroutine Subroutine instructions can be nested up to 4 levels deep. A subroutine which is called from another subroutine should be defined before the call.
0001 00 CALL
Program
END SBN 01
Subroutine program
RET SBN 00 0000 01 CALL RET ENDH
Call
Chapter 2 Instructions
3-123
Program
END SBN 00
Subroutine program
RET INT 0000 0002 00 CALL RETI ENDH
Call
Note 1: Subroutine Nos. for SBN instructions cannot be duplicated in a program. (It can be duplicated for CALL instructions.) Note 2: When a subroutine is executed, the scan time is extended by the time needed for subroutine execution. Note 3: The following instructions cannot be used in subroutines: STG, JMP, ENDS, INT, RETI, and MEMSW Note 4: The following instructions can be used only in subroutines which are executed every scan time: TMR, TMH, TMS, C, SFT, UDC, DIFU, DIFD, W-UE, W-DE, HKEY, ITVL, and Differentiation type instruction (@xxx)
3-124
Chapter 2 Instructions
FOR / NEXT
FUN 1 FUN 2
6 9
: :
ANL OR
Executes program between FOR and NEXT by number of times specified by operand. Represents end of repetition.
2002
#00100 LDA
TM02 STA
Specify the first DM No.(DM100) Specify the number of DMs to be initialized. #TM02
2002
STA
1 2
ENDH
Coding
Line No. 0000 0001 : 0099 0100 0101 0102 0103 0104 0105 0106 Instruction LD CALL : END SBN LD LDA CON STA CON LDA #00000 0199 TM02 00 2002 #00100 Operand 2008 00 Line No. 0107 0108 0109 0110 0111 0112 0113 Instruction FOR LD STA CON INC NEXT RET : : : ENDH TM02 Operand #00050 2002 #TM02
Description
Use FOR-NEXT instructions in a subroutine program (between SBN and RET) to initialize data memory (DM0100 through DM0149) when the operation is started. The indirect addressing method is used to change the data memory, so the initialization is completed when the TM02 value becomes "50 + 1" between the FOR and NEXT instructions.
The FOR instruction takes either of the following two types of operands: the number of repetitions or the location (DM No.) of the data memory containing the number of repetitions. Define the program to be repeated between the FOR and NEXT instructions. The FOR instruction repeats the desired sequence by the specified number of times during each scan time.
Chapter 2 Instructions
3-125
FOR / NEXT
Tips
Note 1: The FOR-NEXT instruction pair repeats the program for a specified time period at each scan. It usually is used in steps or subroutines. Note 2: When a large number of loops or long programs are defined between FOR and NEXT instructions, the processing time for one scan may become too long, resulting in "Cycle time error". In such a case, reduce the number of loops or shorten the ladder program. The FOR-NEXT instruction set can be nested up to 8 levels deep. Nine or more nested levels will result in a FOR-NEXT error.
FOR #05 FOR #02 FOR #05 NEXT NEXT NEXT
1) 2) 3)
After repeating FOR-NEXT 3) five times, program execution transfers to the instructions following the NEXT instruction. FOR-NEXT 2) is repeated twice while FOR-NEXT 3) is executed once. Thus, FOR-NEXT 2) is executed 10 times. FOR-NEXT 1) is repeated 5 times while FOR-NEXT 2) is executed once. Thus, FOR-NEXT 1) is executed up to 50 (5 x 2 x 5) times.
Operands
Visual KV KV-300 KV-10/16 KV-24/40/80 #0000 to #65535 DM0000 to DM1984 #00000 to #65535 #00001 to #65535 DM0000 to DM1999 DM0000 to DM9999 DM0000 to DM0999 DM0000 to DM1999 TM02 to TM28 TM00 to TM29 TM00 to TM29 TM00 to TM29
Key operation
FUN FUN
SET
1 2
ORB
6 9
ENT
R-SRCH
Operand ENT
R-SRCH
ENT
R-SRCH
ANL
OR
ENT
R-SRCH
3-126
Chapter 2 Instructions
FOR / NEXT
Indirect addressing
Indirect addressing Indirect addressing is used to so you don't have to use fixed data memories or relay Nos. when the contents of data memory or a relay is stored in internal registers, or when the contents of the internal memory is stored in data memory or a relay. Method for indirect addressing Specify the operand for instructions as "#TMxx". The contents of "TMxx" is considered to be the specification No. (indirect addressing).
Example When TM02 value is "0000", "#TM02" represents DM0000. When TM02 value is "10000", "#TM02" represents 0000 (relay).
Any of "02" through "29" can be specified for "xx". Specify the desired decimal number for "xx". Numbers "0000" through "1999" specify DM0000 through DM1999 (data memory). Numbers "10000" through "27915" specify 0000 through 17915 (relay).
This is the same operation whether "LDA DM0020" or "LDA 1000" is specified. The specified data memory or relay can be changed as desired by changing the value of TM15. Example: STA #TM02
TM02 value 00 13000 Specified destination DM0000 3000 to 3015
1 2
This is the same operation whether "STA DM0000" or "STA 3000" is specified. The specified data memory or relay can be changed as desired by changing the value of TM02. Range of DM and relay Nos. that can be specified by "TMxx"
TMxx value 0000 to 1999 2000 to 9999 10000 to 27915 DM/relay DM0000 to DM1999 Cannot be used. 0000 to 17915
Instructions which can use indirect addressing: Specify "#TMxx" as an operand relay. LDA, @LDA, STA, @STA, CMP, @CMP, ADD, @ADD, SUB, @SUB, MUL, @MUL, DIV, @DIV, ANDA, @ANDA, ORA, @ORA, EORA, @EORA Note 1: "2000" to "9999" cannot be used as a TMxx value. Note 2: If there is no data memory or relay corresponding to the number specified with "#TMxx", special utility relay 2012 turns ON.
Chapter 2 Instructions
3-127
FOR / NEXT
DM0000
DM0099 DM0100
DM0199
Comparison between a program with normal addressing and one with indirect addressing.
Program with indirect addressing
0000 1000 1000 DIFU 00 CALL END SBN 00 2002 #00000 LDA TM02 STA #00100 LDA TM03 STA FOR #0100 1000 1000 DM0098 DM0198 LDA STA DM0099 DM0199 LDA STA END ENDH 2002 #TM02 LDA #TM03 STA TM02 INC TM03 INC NEXT RET ENDH
1) 2) 3) 4)
The contents of DM0000 are transferred to DM0100. The contents of DM0001 are transferred to DM0101. The contents of DM0002 are transferred to DM0102. The contents of DM0099 are transferred to DM0199.
The first No. of the source DM block is specified (DM0000). The first No. of the destination DM block is specified (DM0100). The contents of the DM indirectly addressed by "#TM02" is transferred to the internal register. The contents of the internal register are transferred to the DM indirectly addressed by "#TM03". Add "1" to both "TM02" and "TM03" to increment the Nos. of the source and destination DMs by one.
3-128
Chapter 2 Instructions
FOR / NEXT
Description
On line 1), "TM02" is assigned to the first No. of the source 0000 and "TM03" is assigned to the first No. of the destination 0100. This is the initial setting. On lines 2) to 4), the contents of DM0000 to DM0099 are transferred to DM0100 to DM0199. The ladder program on line 3) is executed 100 times in one scan.
#TM03 STA
DM0100 is indirectly addressed.
TM02 INC
Add "1" to the current value of "TM02".
TM03 INC
Add "1" to the current value of "TM03".
#TM03 STA
DM0101 is indirectly addressed.
TM02 INC
Add "1" to the current value of "TM02".
TM03 INC
Add "1" to the current value of "TM03".
1 2
#TM03 STA
DM0199 is indirectly addressed.
TM02 INC
Add "1" to the current value of "TM02".
TM03 INC
Add "1" to the current value of "TM03".
When the ladder program on line 3) is repeated 100 times, the contents of the specified DM block are transferred.
Chapter 2 Instructions
3-129
FOR / NEXT
Shift level
2002 TM03 DEC TM04 DEC #TM03 #TM04 LDA STA Indirect addressing is used to designate DM Nos.
FOR TM05
NEXT
2002
#00000 #TM02 LDA STA Shift start DM No. is cleared to "#00000" after data is shifted.
RET ENDH
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 Instruction LD DIFU CON AND LDA CON STA CON LDA CON STA CON CALL END SBN LD LDA CON ADD CON #00001 00 2002 TM03 00 TM03 #00030 TM02 1000 #00010 Operand 0000 1000 Line No. 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 Instruction STA CON SUB CON STA FOR LD DEC CON DEC CON LDA CON STA NEXT LD LDA CON STA RET ENDH #TM02 2002 #00000 #TM04 #TM03 TM04 TM05 TM05 2002 TM03 TM02 Operand TM04
3-130
Chapter 2 Instructions
HKEY
FUN 1
SET LD
Reads hexadecimal key data on timesharing basis and outputs these data to special utility relays 2900 to 2915.
Example
0005 HKEY 0000 0500
Input relay
Output relay
Coding
Line No. 0000 0001 Instruction LD HKEY Operand 0005 0000 0500
Description
When input relay 0005 turns ON, the operand hexadecimal key data is read. HKEY instruction employs four inputs and four outputs arranged as shown below.
Refer to "Fetching 16-key input" (p. 3-133) for the programming example.
1 2
24 VDC + COM COM 000 500 001 KV 501 002 502 003 503
0 4 8 C 1 5 9 D 2 6 A E 3 7 B F
The HKEY instruction employs four input relays and four output relays from the specified number. Inputs are processed on a time-sharing basis, so that input processing requires 8 scan time cycles (approx. 160 msec when the scan time is 20 msec or less). When a hexadecimal key is pressed, the HKEY instruction turns ON the corresponding special utility relay (2900 to 2915).
Relay No. 2900 Hex key 0 2901 1 2902 2 2903 3 2904 4 2905 5 2906 6 2907 7 2908 8 2909 9 2910 A 2911 B 2912 C 2913 D 2914 E 2915 F
The special utility relay status indicates whether two or more keys can be pressed simultaneously or whether a key input read operation has completed, as shown in the following table:
Relay No. Status
R: Reading
2814 R/W ON: Pressing two or more keys simultaneously is not valid.
W: Writing
Note 1: An HKEY instruction can be defined only once in a program. Note 2: The HKEY instruction turns output relays ON/OFF every scan time. Connect the device with transistor output. Note 3: If the scan time is shorter than 8 ms, set the input time constant smaller than the scan time.
Chapter 2 Instructions
3-131
HKEY
Operands
Visual KV 0000 to 0415 0500 to 0915 KV-300 00000 to 00009 10000 to 10415 : 17000 to 17415 00500 to 00503 10500 to 10915 : 17500 to 17915 KV-10/16/24/40/80 0000 to 0415 0500 to 0915 Input relay Output relay Input relay Output relay Input relay Output relay
Key operation
FUN
SET
LD
ENT
R-SRCH
Input relay
Output relay
ENT
R-SRCH
TBIN
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015
Instruction Operand LD 2002 ANB 0001 C 000 #09999 0000 CON AND C000 OUT 0600 LD 0005 HKEY 0104 0512 LD 2815 LDA 2900 CON TBIN CON STA C000 END ENDH
As soon as 0005 turns ON, the preset value is replaced with the new preset value specified by the digital switches.
"TBIN instruction" (p. 3-180), "LDA, STA instructions" (p. 3-140)
The digital switches are connected to the KV PLC as shown in the following diagram: (Be sure to add the diodes at the specified points.) The preset values range from #0000 to #9999. The preset value is updated as soon as special utility relay 2815 turns ON.
3-132
Chapter 2 Instructions
HKEY
100
101
102
103
Diode
24 VDC
+ -
COM COM
1 0104 0512
2 0105 KV 0513
4 0106 0514
8 0107 0515
Fetching 16-key input Writes the following 16-key input value into DM0000 as 4-digit BCD. Pressing the [F] key clears the input value.
2008 2002 2815 2815 2900 LDA 2900 LDA 2010 2010 $03FF ANDA $03FF ANDA TM05 CMP TM05 CMP 2010 2010 TM05 STA TM05 STA 2814 SET HKEY 0000 0500 TM06 STA
DMX
1 2
TM06 STA DM0000 STA #00000 DW DM0000 END ENDH
#04 SLA
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 Instruction LD SET LD HKEY LD LDA CON ANB ANDA CON CMP CON ANB STA CON DMX CON STA LD LDA Operand 2008 2814 2002 0000 0500 2815 2900 2010 $03FF TM05 2010 TM05 Line No. 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 Instruction Operand CON AND 2010 ANDA $03FF CON CMP TM05 CON ANB 2010 STA TM05 CON LDA DM0000 CON SLA #04 CON ORA TM06 CON STA DM0000 LD 2815 AND 2915 DW #0000 DM0000 END ENDH
Chapter 2 Instructions
3-133
Instruction DW: Data Memory Write Trimmer In LDA/@LDA: Load A STA/@STA: Store A CMP/@CMP: Compare ADD/@ADD: Add SUB/@SUB: Subtract MUL/@MUL: Multiply DIV/@DIV: Divide ANDA/@ANDA: And A ORA/@ORA: Or A
Mnemonic DW TMIN (FUN50), @TMIN @(FUN50) LDA (FUN23), @LDA@ (FUN23) STA (FUN42), @STA@ (FUN42) CMP (FUN04), @CMP @(FUN04) ADD (FUN00), @ADD @(FUN00) SUB (FUN46), @SUB @(FUN46) MUL (FUN28),@ MUL @(FUN28) DIV (FUN11), @DIV @(FUN11) ANDA (FUN01), @ANDA @(FUN01) ORA (FUN31), @ORA @(FUN31) EORA (FUN15), @EORA@ (FUN15) SRA (FUN41), @SRA @(FUN41) SLA (FUN40), @SLA @(FUN40) RRA (FUN37), @RRA@ (FUN37) RLA (FUN35), @RLA @(FUN35) COM (FUN05), @COM @(FUN05) INC (FUN19), @INC @(FUN19) DEC (FUN07), @DEC@ (FUN07) MPX (FUN27), @MPX@(FUN27) DMX (FUN12), @DMX @(FUN12) TBCD (FUN47), @TBCD @(FUN47) TBIN (FUN48), @TBIN @(FUN48) ASC (FUN02), @ASC @(FUN02) RASC (FUN32), @RASC @(FUN32) ROOT (FUN36), @ROOT @(FUN36)
Reference page 3-136 3-138 3-140 3-140 3-146 3-150 3-150 3-150 3-150 3-159 3-161 3-164 3-166 3-166 3-169 3-169 3-171 3-172 3-172 3-176 3-176 3-180 3-180 3-183 3-183 3-185
EORA/@EORA: Exclusive Or A SRA/@SRA: Shift Right A SLA/@SLA: Shift left A RRA/@RRA: Rotate Right A RLA/@RLA: Rotate Left A COM/@COM: Complement INC/@INC: Increment Memory DEC/@DEC: Decrement Memory MPX/@MPX: Multiplexer DMX/@DMX: Demultiplexer TBCD/@TBCD: Transfer BCD TBIN/@TBIN: Transfer BIN ASC/@ASC: ASCII Convert RASC/@RASC: Reverse ASCII Convert ROOT/@ROOT: Square Root
3-134
Chapter 2 Instructions
Internal register
KV executes all arithmetic instructions (i.e. data exchange) by using an internal register, in order to increase the processing speed. This section begins by describing details of the internal register. Internal register An internal register stores 16-digit binary data. That is, the resister uses 16 bits for storing ON-OFF status data (1-0 status data). The internal register is required when the KV performs arithmetic operation. Because this is not an instruction nor operand, it is not necessary to take into consideration how the internal register functions or operates. Arithmetic instructions executed using internal register
(Arithmetic instructions executed as binary code.)
Relay No.1. Current T/C value. 2. Constant 3. 4. (decimal, hexadecimal) LDA instruction
TMIN
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
CMP ADD SUB MUL DIV ANDA ORA EORA SRA SLA RRA RLA COM INC DEC MPX DMX TBCD TBIN ASC RASC
Constant
Internal register
STA direction
1 2
Relay No
1. ON-OFF status of the specified relay and 15 successive relays is stored into the resister. 2. Current T/C value (decimal value = #*****) is automatically converted into a binary value and input to the internal register. 3. Constant (decimal value = #*****, hexadecimal value = $****) is automatically converted into a binary value and input to the internal register. 4. The range of numbers that can be specified is as follows: Decimal #00000 to #65535 Hexadecimal $0000 to $FFFF The constants can be entered by using #,@$ and the corresponding alphanumeric keys. (Pressing #,@$ once allows you to enter decimal values, and pressing twice to enter hexadecimal values.) 5. The contents of the internal register (binary) is automatically converted into a decimal value and (#*****) input to a timer/counter as the preset value. Note 1: The internal structure of the internal register is the same as that of the data memories. Although the data memories can store data when the power is being OFF, the internal register cannot do so. Note 2: Even for running one program, the contents of the internal register is rewritten each time when an instruction is executed. Note 3: The internal register cannot be monitored.
Chapter 2 Instructions
3-135
DW
nnnn DW DMmmmm
First operand
2008
Coding
Line No. 0000 0001 0002 0003 Instruction LD DW CON DW #00050 DM0001 Operand 2008 $0018 DM0000
When starting operation, $0018 is written into DM0000 and #00050 into DM0001.
Description
Values are directly written into data memories, without using the internal register.
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
2
Operand
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
Data memory
Note: The contents of the internal register and the arithmetic flag do not change even after the DW instruction is executed.
Tips
The DW instruction can be used to reset the contents of data memories.
2008 #00000 #00000 DW DW DM0000 DM0001
Operands
Visual KV KV-300 KV-10/16 KV-24/40/80 nnnn: nnnn nnnn nnnn #00000 to #65535 #00000 to #65535 #00000 to #65535 #00000 to #65535 $0000 to $FFFF $0000 to $FFFF $0000 to $FFFF $0000 to $FFFF DM mmmm: DMmmmm DMmmmm DMmmmm DM0000 to DM1999 DM0000 to DM9999 DM0000 to DM0999 DM0000 to DM1999
Key operation
DW reraly First operand Second operand ENT
R-SRCH
Arithmetic flag
2009, 2010, 2011 2012 No change No change
3-136
Chapter 2 Instructions
@xxxx 2.4 Instruction Details Executes instruction only at rising edge of input to input relay.
@xxxx: Differentiation
Example
#,$ FUN
xxxx
0000
DM0000 INC
0000
DM0000 INC
Description
Arithmetic instructions have two instruction types: differentiation type and everyscan type. The differentiation type instruction is executed only at the rising edge of input relay 0000. The every-scan type instruction is executed every scan time while input relay 0000 is ON.
Timing diagram
Every-scan type instruction Differentiation type instruction
0000
ON OFF
0000
ON OFF
INC
Stopped
Executed
Stopped
INC
Stopped
Stopped
1 2
Instructions with the DIFFERENTIATION function are as follows: LDA, SAT, CMP, ADD, SUB, MUL, DIV, ANDA, ORA, EORA, SRA, SLA, RRA, RLA, COM, INC, DEC, MPX, DMX, TBCD, TBIN, ASC, RASC, ROOT
Note:
0000 DM0000 INC
In the top program, an INC instruction is executed every scan time, incrementing the contents of DM0000 by one, while input relay 0000 is ON. In the middle program, an INC instruction is executed and the contents of DM0000 is incremented only when input relay 0000 is turned from OFF to ON.
0000
DM0000 INC
0000
1000 DIFU
1000
DM0000 INC
The bottom program uses the every-scan type instruction which performs the same operation as the differentiation type instruction.
#,$
FUN
Function No.
ENT
R-SRCH
Chapter 2 Instructions
3-137
FUN 5 @
ANB RES
:
0
n TMIN n TMIN
#,$ FUN
ANB RES
Inputs numerical value specified by digital trimmer of access window (0 to 65535) to internal register.
T000 preset value can be changed with trimmer as follows (#00000 to #65535):
Inputs trimmer rotation angle of 0 to internal register. Transfers contents of internal register to timer T000 for use as preset value.
2002 0000
Coding
Line No. 0000 0001 0002 0003 0004 Instruction LD TMIN CON STA LD Operand 2002 0 T000 0000 Line No. 0005 0006 0007 0008 Instruction TMR CON AND OUT Operand 000 #65535 T000 0500
Description
The TMIN instruction transfers the value of the KV series digital trimmer (0 to 65535) to the internal register. Additionally, if this value is transferred to a timer, counter, relay, or data memory (by using the STA instruction), the numeric data of the destination can be changed without modifying the program.
Timer/counter preset value Relay ch No. Data memory Temporary memory Destination
TMIN
Internal register
STA
Input
Transfer
Note: To check the setting value of the digital trimmer with the KV-P3E(01) handheld programmer, select the "READ TRIMMER SETTING" function (FUN73). (Only values 0 to 9999 can be displayed.) The @TMIN instruction is executed only once at the rising edge of the input relay. Refer to "Chapter 3: Access Window" on page 1-79 for the functions and operation procedures for the digital trimmer of the Access Window.
Operands
Visual KV 0, 1 KV-300/24/40/80 0, 1 KV-10/16 0
Key operation
FUN
ANB
Arithmetic flag
#,$
FUN
RES
ENT
R-SRCH
Operand
ENT
R-SRCH
2009 2010
No change Turns ON when "0" is entered by the TMIN instruction. Turns OFF at other times. 2011, 2012 No change
3-138
Chapter 2 Instructions
Coding
Line No. 0000 0001 0002 0003 0004 Instruction LD TMIN CON STA LD Operand 2002 0 T000 0000 Line No. 0005 0006 0007 0008 Instruction OR TMR ANB OUT Operand 0500 000 #00010 T000 0500
Changing setting values for multiple timers Uses the digital trimmer (TMIN0) to change setting values for multiple timers (0 to 6553.5 sec.).
2002 0000 0500 0001 0501 0002 0502 T002 T001 T000 0 TMIN T000 STA T001 STA T002 STA #00010 T000 0500 #00010 T001 0501 #00010 T002 0502
1 2
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 Instruction LD TMIN CON STA CON STA CON STA LD OR TMR ANB Operand 2002 0 T000 T001 T002 0000 0500 000 #00010 T000 Line No. 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 Instruction OUT LD OR TMR ANB OUT LD OR TMR ANB OUT Operand 0500 0001 0501 001 #00010 T001 0501 0002 0502 002 #00010 T002 0502
In the above example, T000, T001, and T002 have the same setting value.
Chapter 2 Instructions
3-139
FUN 2 @
ANL ORL
3 2 3 4
#,$ FUN
ANL ORL
FUN 4 @
#,$ FUN
The LDA instruction inputs each data item to the internal register. The STA instruction transfers the contents of the internal register to the specified destination.
Source
1 Constant 2 T/C current value
Storage
Transfer
Destination
T/C preset value T C XXX XXX XXXX XX 5
Internal register
LDA
STA
Relay No.
Operands
Visual KV LDA STA 0000 to 0500 to 17915 1915 T000 to 2100 to T249 17915 (Current value) C000 T000 to to 249 T249 (Current (Preset value) value) CTH0 to C000 CTH1 to C249 (Preset value) DM0000 to CTC0 to DM1999 CTC3 TM00 to DM0000 to TM31 DM1999 #00000 to TM00 #65535 to TM29 $0000 to #TM00 to $FFFF #TM29 #TM00 to #TM29 KV-300 LDA STA 0000 to 0009 0500 to 0500 to 17915 1915 T000 to T249 C000 to C249 CTH0 to CTH1 DM0000 to DM9999 TM00 to TM31 #00000 to #65535 $0000 to $FFFF #TM00 to #TM29 2100 to 17915 T000 to T249 C000 to C249 CTC0 to CTC3 DM0000 to DM9999 TM00 to TM29 #TM00 to #TM29 KV-10/16 LDA STA 0000 to 2915 T000 to 0500 to T063 1915 C000 to C063 CTH0 to CTH1 DM0000 to DM0999 TM00 to TM31 #00000 to #65535 $0000 to $FFFF #TM00 to #TM29 2100 to 2915 T000 to T063 C000 to C063 CTC0 to CTC3 DM0000 to DM0999 TM00 to TM29 #TM00 to #TM29 KV-24/40/80 LDA STA 0000 to 6915 T000 to 0500 to T119 1915 C000 to C119 CTH0 to CTH1 DM0000 to DM1999 TM00 to TM31 #00000 to #65535 $0000 to $FFFF #TM00 to #TM29 2100 to 6915 T000 to T119 C000 to C119 CTC0 to CTC3 DM0000 to DM1999 TM00 to TM29 #TM00 to #TM29
Key operation
FUN
#,$ ANL
FUN FUN
ORL
ENT
R-SRCH
Operand
ENT
R-SRCH
LDB
#,$
FUN
ANL
ENT
R-SRCH
Operand
ENT
R-SRCH
3-140
Chapter 2 Instructions
Arithmetic flag
2009 2010 2011 2012 No change Turns ON when the contents of the internal register is "0" after "LDA #00000" is executed. Turns OFF at other times. No change Turns ON when the DM or relay indirectly addressed with #TM is out of range.
"Indirect addressing" (p. 3-127)
When 0000 is ON, #00100 is transferred as C001 preset value. When 0000 is OFF, #00200 is transferred as C001 preset value. When C001 current value equals to its preset value, 0500 turns ON.
0000
b)
0002
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 Instruction LD LDA CON STA LDB LDA CON STA LD C CON AND OUT C001 0500 C001 0002 001 #09999 0001 C001 0000 #00200 Operand 0000 #00100
1 2
Description In step a), contents of DM00100 is transferred to C001 via the internal register for use as the C001 preset value, when 0000 is ON. In step b) , contents of #00200 is transferred to C001 via the internal register for use as the C001 preset value, when 0002 is OFF. Although the C001 preset value is #09999 in the above example, any value except #00000 can be given because the preset value is changed to the specified value by turning ON/OFF 0000. Note 1: If an STA instruction is executed when the current value is larger than the preset value, the current value will be changed to the preset value. Note 2: Do not specify "#00000" as the setting value for C001.
Chapter 2 Instructions
3-141
C010 LDA
Coding
Line No. 0000 0001 0002 0003 0004 0005 Instruction LDB C LD LDA CON STA DM0000 Operand 0001 010 #099999 0000 2002 C010
Description In step a), the C010 current value is transferred via the internal register and stored into DM0000, throughout the operation. Transferring the contents of data memory as a setting value for a timer
0002
a)
2
b)
0002 0003
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 Instruction LD LDA CON STA LDB LDA CON T002 0002 DM0011 Operand 0002 DM0010 Line No. 0007 0008 0009 0010 0011 0012 Instruction STA LD TMR CON AND OUT T002 0500 Operand T0002 0003 002 #00010
Description In step a), contents of DM0010 is transferred to T002 via the internal register for use as the T002 preset value, when 0002 is ON. In step b), contents of DM0011 is transferred to T002 via the internal register for use as the T002 preset value, when 0002 is OFF. Although the preset value of T002 is #00010 in the above example, any value except #00000 can be given because the preset value is changed to the specified value by turning ON/OFF 0002. Once the counter value has been changed, the changed value will be stored until it is changed again. The setting values of timers and counters are reset to the original setting values after the power is turned OFF once and then ON again. Note 1: If an STA instruction is executed when the current value is larger than the preset value, the current value will be changed to the preset value. Note 2: Do not change the setting value of T002 to "#00000".
3-142
Chapter 2 Instructions
Coding
Line No. 0000 0001 0002 0003 Instruction LD LDA CON STA 0600 Operand 2002 0000
Description
Input (KV basic unit)
000 001 002 003 004 005 006 ON ON ON ON OFF OFF OFF OFF ON ON ON ON OFF OFF OFF OFF 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0000 <LDA>
Output (KV-E16T(P))
ON ON ON ON OFF OFF OFF OFF ON ON ON ON OFF OFF OFF OFF 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
1 2
Output
Input
Binary number
The LDA instruction transfers the input (ON/OFF status) of the KV basic unit to the internal register using binary numbers. The STA instruction outputs the binary data in the internal register as the ON/ OFF status from the KV-E16T(P) (output unit).
Refer to "1.3 Device Configuration" (p. 3-5) for relay number assignments.
Note 1: When "LDA 0004" and "STA 0604" are programmed in the above example, the LDA instruction can transfer inputs 0100 through 0103 to the internal register; however, the STA instruction cannot output data across the channels. As a result, the ON/OFF status of inputs 0100 through 0103 cannot be output even if they are fetched by the LDA instruction. Note 2: Relays 0000 through 0415 are assigned as input relays, and 0500 through 0915 are assigned as output relays.
Chapter 2 Instructions
3-143
a)
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015
Instruction LDB C LD LDA CON ANDA CON TBIN CON STA LD LDA CON TBCD CON STA
0500
Counter setting value
Description
Digital switch Internal register
<59> 000 ON 001 OFF 002 OFF 003 ON 004 ON 005 OFF 006 ON 007 OFF
Reset input Proximity SW input SW input
1 0 0 1 1 $00FF <ANDA> 0 1 0 0 0 0 0 0 0 0 0
BCD data is converted into binary data.
1 1 0 1 1 1 <TBIN> 0 0 0 0 0 0 0 0 0 0
Data is transferred as setting value of counter.
1 1 0 1 1 C001 <STA> 1 0 0 0 0 0 0 0 0 0 0
008 OFF ON/OFF 009 ON status is trans010 ON ferred to 011 ON internal register. 012 OFF 013 OFF 014 OFF 015 OFF
0 1 3 4 5 2 + 2 + 2 + 2 + 2 = 1 + 2 + 8 + 16 + 32 = 59 (Decimal number)
In example a), the LDA instruction reads the ON/OFF status of input relays 0000 through 0015 to the internal register. "ANDA $00FF" instruction is used to leave only the digital switch input (2 digits). BCD data is then converted into BIN (binary) data. (BIN is used in the KV series.) The contents of the internal register is input as the setting value of C001. In example b), the current value of counter C001 is read and output to output relays 0500 through 0515.
Note 1: An LDA instruction can read the current value of a counter or a timer, but cannot read the setting value. Note 2: An STA instruction can change the setting value of a counter or a timer, but cannot change the current value.
3-144
Chapter 2 Instructions
The OK/NG judgment and unloading timings can be used in asynchronous programs.
0000 1000 DIFU 1000 $1111 DM0000 LDA STA "$1111" is transferred to DM0000. OK/NG judgment $5555 DM0000 0001 LDA STA "$5555" is transferred to DM0000. 0001 DM0003 DM0004 LDA STA DM0002 DM0003 LDA STA DM0001 DM0002 LDA STA DM0000 DM0001 LDA STA $0000 LDA $0000 LDA $0000 LDA $0000 LDA DM0003 STA DM0002 STA DM0001 STA DM0000 STA
$0000 CMP $0000 CMP $0000 CMP $0000 CMP $0000 LDA
Contents of DM is compared with "$0000". When two values match, contents of one previous DM is transferred, then "$0000" is transferred to DM.
1 2
Unloading timing
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 Instruction LD DIFU CON AND MPS AND LDA CON STA MPP ANB LDA CON STA LD LDA CON CMP CON AND LDA CON STA CON LDA CON STA LD LDA CON CMP CON AND LDA CON Operand 0000 1000 1000 0001 $1111 DM0000 0001 $5555 DM0000 2002 DM0004 $0000 2010 DM0003 DM0004 $0000 DM0003 0002 DM0003 $0000 2010 DM0002 Line No. 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 Instruction STA CON LDA CON STA LD LDA CON CMP CON AND LDA CON STA CON LDA CON STA LD LDA CON CMP CON AND LDA CON STA CON LDA CON STA LD @LDA CON @STA Operand DM0003 $0000 DM0002 2002 DM0002 $0000 2010 DM0001 DM0002 $0000 DM0001 2002 DM0001 $0000 2010 DM0000 DM0001 $0000 DM0000 0002 $0000 DM0004
Chapter 2 Instructions
3-145
FUN 0
RES LDB
: :
CMP instruction compares the contents of the internal register with the value specified by the operand, and turns ON/OFF the special utility relays (2009, 2010, 2011) according to the result of comparison.
2009 (Internal register) < (Operand) (Internal register) = (Operand) (Internal register) > (Operand) ON OFF OFF 2010 OFF ON OFF 2011 OFF OFF ON
2002
C001 LDA
#02000 CMP
2009
1) Output relay 0500 turns ON when the counter value is smaller than "1000" (C001 < #01000). 2) Output relay 0501 turns ON when the counter value is equal to "1000" (C001 = #01000). 3) Output relay 0502 turns ON when the counter value is greater than "1000" (C001 > #01000). 4) Output relay 0503 turns ON when the counter value is equal to or greater than "2000" (C001 #02000). Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 Instruction LDB C LD LDA CON CMP CON MPS AND OUT MRD AND 2010 2009 0500 #01000 Operand 0001 001 #099999 0003 2002 C001 Line No. 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 Instruction OUT MPP AND OUT LD LDA CON CMP CON ANB OUT 2009 0503 #02000 2011 0502 2002 C001 Operand 0501
3-146
Chapter 2 Instructions
Operands
Visual KV KV-300 KV-10/16 KV-24/40/80 DM0000 to DM1999 DM0000 to DM9999 DM0000 to DM0999 DM0000 to DM1999 TM00 to TM31 TM00 to TM31 TM00 to TM31 TM00 to TM31 #00000 to #65535 #00000 to #65535 #00000 to #65535 #00000 to #65535 $0000 to $FFFF $0000 to $FFFF $0000 to $FFFF $0000 to $FFFF #TM00 to #TM29 #TM00 to #TM29 #TM00 to #TM29 #TM00 to #TM29
Key operation
FUN
#,$ RES
FUN
LDB
ENT
R-SRCH
Operand
ENT
R-SRCH
Arithmetic flag
2009 Turns ON when the result of the CMP operation is negative. Turns OFF at other times. 2010 Turns ON when the result of the CMP operation is "0". Turns OFF at other times. 2011 Turns ON when the result of the CMP operation is positive. Turns OFF at other times. 2012 The DM or relay indirectly addressed with #TM is out of range.
Description
As shown in the above example, the CMP instruction is used by connecting the special utility relay (2009 to 2011) immediately after the instruction. The operation of the CMP instruction varies depending on the contents of the internal register.
1 2
Note: Special utility relays 2009 to 2011 are used as arithmetic flags. The function varies depending on the execution of other arithmetic instructions.
Tips
An operand is compared with the internal register using the following program.
DM0000 #00999 LDA CMP 2009
When the internal register is assumed as "a" and the operand is "b" such as , the statuses of the special utility relays are as follows:
a LDA 2009 b CMP
a < b,
2011
a b,
2010
a = b,
2009
a b,
2011
a>b
Chapter 2 Instructions
3-147
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022
Instruction Operand LDB 0001 C 000 #099999 0000 LD 2002 LDA C000 CON MPS CMP #00999 CON ANB 2011 OUT 0500 MRD CMP #01999 CON ANB 2011 ANB 0500 OUT 0501 MPP CMP #02999 CON ANB 2011 ANB 0500 ANB 0501 OUT 0502
Description The following outputs are provided according to the current value of the counter. (Current value) (Output) 0000 to 0999 0500 turns ON. 1000 to 1999 0501 turns ON. 2000 to 2999 0502 turns ON. When comparing values with no specific range Turns ON 0500 when the DM0000 value is smaller than the CMP value. Turns ON 0501 when the DM0000 value is equal to the CMP value. Turns ON 0502 when the DM0000 value is greater than the CMP value.
2002 DM0000 #01000 LDA CMP 2009 2010 2011 0500
DM0000<#01000
0501
DM0000=#01000
0502
DM0000>#01000
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 Instruction LD LDA CON CMP MPS AND OUT Operand 2002 DM0000 #01000 2009 0500 Line No. 0007 0008 0009 0010 0011 0012 Instruction MRD AND OUT MPP AND OUT Operand 2010 0501 2011 0502
3-148
Chapter 2 Instructions
CMP / @CMP 2.4 Instruction Details Setting the upper/lower limit Turns ON 0500 when the C001 value is 1000 or less. Turns ON 0501 when the C001 value is 2000 or more.
0001 2002 2002 C001 LDA C001 LDA #01000 CMP #02000 CMP 2011 2009 #09999 C001 0000 0500
C001#01000
0501
C001#02000
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 Instruction Operand LDB 0001 C 001 #09999 0000 LD 2002 LDA C001 CON CMP #01000 CON ANB 2011 Line No. 0008 0009 0010 0011 0012 0013 0014 0015 Instruction OUT LD LDA CON CMP CON ANB OUT Operand 0500 2002 C001 #02000 2009 0501
Changing the CMP setting value Compares the current value of counter C000 with the CMP setting value. The setting value of the CMP instruction is specified with the digital trimmer (TMIN0). The following example changes the setting value to the range from "0" through "100". The upper limit of the digital trimmer is set to "100". 0500 turns ON when the current value of C000 is smaller than the CMP setting value. 0501 turns ON when the current value of C000 is equal to or greater than the CMP setting value.
2002 0001 2002 C000 DM0000 LDA CMP 0 DM0000 STA Sets range of TMIN from 0 to 100. TMIN #09999 C000 00000 2009 0500 2009 0501
1 2
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 Instruction LD TMIN CON ADD CON MUL CON DIV CON STA LDB Operand 2002 0 #00001 #00004 #00010 DM0000 0001 Line No. 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 Instruction Operand C 000 #09999 0000 LD 02002 LDA C000 CON CMP DM0000 MPS AND 2009 OUT 0500 MPP ANB 2009 OUT 0501
Chapter 2 Instructions
3-149
ADD: Add @ADD: Add SUB: Subtract @SUB: Subtract MUL: Multiply @MUL: Multiply DIV: Divide @DIV: Divide
FUN 0 @
RES RES
0 0 6 4 8 2 1 1
:
0
nnnn ADD nnnn ADD nnnn SUB nnnn SUB nnnn MUL nnnn MUL nnnn DIV nnnn DIV
#,$ FUN
RES RES
: : : : : : :
Adds value specified by operand to contents of internal register, and inputs result back to same internal register. Subtracts value specified by operand from contents of internal register, and inputs results back to same register. Multiplies contents of internal register by value specified by operand, and inputs result back to same register. Divides contents of internal register by value specified by operand, and inputs result back to same register.
FUN 4 @
#,$ FUN
FUN 2 @
#,$ FUN
FUN 1 @
#,$ FUN
ADD, SUB, MUL, and DIV allow arithmetic instructions between the contents of internal register and the value specified by the operand.
ADD
Constants
Decimal Hexadecimal
(#XXXXX) ($XXXX)
Internal register
Data memories
Arithmetic operation
Result
Note: Arithmetic instructions use binary numbers (BIN). Therefore, the contents of the internal register used for the arithmetic instruction must be BIN data. Use the TBIN instruction to convert BCD data into BIN data.
Operands
Visual KV KV-300 KV-10/16 KV-24/40/80 DM0000 to DM1999 DM0000 to DM9999 DM0000 to DM0999 DM0000 to DM1999 TM00 to TM31 TM00 to TM31 TM00 to TM31 TM00 to TM31 #00000 to #65535 #00000 to #65535 #00000 to #65535 #00000 to #65535 $0000 to $FFFF $0000 to $FFFF $0000 to $FFFF $0000 to $FFFF #TM00 to #TM29 #TM00 to #TM29 #TM00 to #TM29 #TM00 to #TM29
Key operation
FUN
#,$ RES
FUN FUN
RES
ENT
R-SRCH
Operand
ENT
R-SRCH
LDB
#,$
FUN FUN
ORB
ENT
R-SRCH
Operand
ENT
R-SRCH
ANL
#,$
FUN FUN
AND
ENT
R-SRCH
Operand
ENT
R-SRCH
SET
#,$
FUN
SET
ENT
R-SRCH
Operand
ENT
R-SRCH
3-150
Chapter 2 Instructions
Internal register
Operand
ADD / @ADD
ADD (Addition)
2002 DM0000 #00100 DM0001 LDA ADD STA
Coding
Line No. 0000 0001 0002 0003 0004 0005 Instruction LD LDA CON ADD CON STA DM0001 #00100 Operand 2002 DM0000
Description
The ADD instruction adds the operand value to the contents of the internal register and inputs the result back to the internal register. In the above example, "#00100" is added to the contents of DM0000 and the result is stored in DM0001. When the contents of DM0000 is "#00100", for example, "#00200" is stored in DM0001. DM0000 (#00100) + #00100 DM0001(#00200)
Note 1: An overflow occurs when the operation result exceeds 16 bits ($FFFF, #65535). In such a case, only the data of the low-order 16 bits is input back to the internal register. For example, when the contents of the internal register is "$FFFF" and the operand is "$0001", the result will overflow. Note 2: When an overflow occurs, special utility relay 2009 turns ON.
Example: Internal register
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 = $FFFF
1 2
Operand + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 = $0002
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 = $0001
2009
Result
Tips
Solution when operation result overflows 16 bits
2002 DM0000 DM0001 LDA ADD 2009 2009 DM0002 #00000 DM0003 STA LDA STA DM0002 #00001 DM0003 STA LDA STA
DM0000 + DM0001 = DM0003 (High-order 16 bits), DM0002 (Low-order 16 bits) DM0000 and DM0001 must be 16 bits or less.
Arithmetic flag
2009 2010 2011 2012
Turns ON when the result of an ADD operation exceeds the range of 16 bits ($FFFF). Turns OFF at other times. Turns ON when the contents of the internal register is "0" after an ADD operation. Turns OFF at other times. No change The DM or relay indirectly addressed with #TM is out of range.
Chapter 2 Instructions
3-151
ADD / @ADD
Writes C003 current value into DM0003. Writes total count (DM0001 + DM0002 + DM0003) into DM100.
Coding
Line No. 0000 0001 0002 0003 0004 Instruction LDB C CON LDA CON STA LDB C CON LDA CON STA LDB C CON LDA CON STA LD LDA CON ADD CON ADD CON STA DM0100 DM0003 DM0002 DM0003 2002 DM0001 C003 DM0002 0000 003 #099999 0003 C002 DM0001 0000 002 #099999 0002 C001 Operand 0001 010 #099999 0000
0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025
3-152
Chapter 2 Instructions
SUB / @SUB
SUB (Subtraction)
2002 DM0000 #00100 DM0001 LDA SUB STA
Coding
Line No. 0000 0001 0002 0003 0004 0005 Instruction LD LDA CON SUB CON STA DM0001 #00100 Operand 2002 DM0000
Description
The SUB instruction subtracts the operand value from the contents of the internal register and inputs the result back into the internal register. In the above example, "#00100" is subtracted from the contents of DM0000 and the result is stored in DM0001. When the contents of DM0000 is "#00150", for example, "#00050" is stored in DM0001. DM0000 (#00150) #00100 DM0001 (#00050)
Note 1: When the operation result is a negative value (-), the 2's complement value is also stored in the internal register. Special utility relay 2009 turns ON.
Internal register Operand 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 = $0001 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 = $FFFF
1 2
Underflow 1
2009
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 = $0002
Note 2: To convert the complement into an antilogarithm, add the following operation: Inverted bit of complement + 1 = Antilogarithm
Tips
Solution when operation result is a negative value
2002 DM0000 DM0001 LDA SUB 2009 2009 COM #0001 ADD DM0002 STA DM0003 STA
Positive value
DM0002 DM0003
DM0000 - DM0001 =
Negative value
Arithmetic flag
2009 2010 2011 2012
Turns ON when the result of a SUB operation is negative. Turns OFF at other times. Turns ON when the contents of the internal register is "0" after a SUB operation. Turns OFF at other times. Turns ON when the result of a SUB operation is positive. Turns OFF at other times. The DM or relay indirectly addressed with #TM is out of range.
Chapter 2 Instructions
3-153
SUB / @SUB
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 Instruction LD LDA CON SUB MPS ANB CMP CON ANB OUT MPP AND LDA CON SUB CON CMP CON ANB OUT LD OR OUT 2009 1001 1000 1001 0500 #00005 DM0000 2009 DM0001 2009 1000 2009 #00005 DM0001 Operand 2002 DM0000
0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022
3-154
Chapter 2 Instructions
MUL / @MUL
MUL (Multiplication)
2002 DM0000 #00100 DM0001 LDA MUL STA
Coding
Line No. 0000 0001 0002 0003 0004 0005 Instruction LD LDA CON MUL CON STA DM0001 #00100 Operand 2002 DM0000
Description
The MUL instruction multiplies the contents of the internal register by the operand value and inputs the result back to the internal register. In the above example, the contents of DM0000 are multiplied by "#00100" and the result is stored in DM0001. When the contents of DM0000 is "#00200", for example, "#20000" is stored in DM0001. DM0000 (#00200) x #00100DM0001 (#20000)
Note 1: An overflow occurs when the operation result exceeds 16 bits (#65535). In such a case, only the data of the low-order 16 bits are stored in the internal register, and the overflow data of the high-order 16 bits is stored in TM00. (The data of the high-order 16 bits is always stored in TM00.) Note 2: When an overflow occurs, special utility relay 2009 turns ON.
Internal register F F F F Operand
0 0 0 2
1 2
Hexadecimal number
Tips
Solution when operation result overflows 16 bits
2002 DM0000 DM0001 DM0002 LDA MUL STA TM00 LDA DM0003 STA
DM0000 x DM0001 = DM0003 (High-order 16 bits) DM0002 (Low-order 16 bits) The operation result must be 32 bits or less.
Arithmetic flag
2009 2010 2011 2012
Turns ON when the result of a MUL operation exceeds 16 bits. Turns OFF at other times. Turns ON when all 32 bits are "0" after a MUL operation. Turns OFF at other times. No change The DM or relay indirectly addressed with #TM is out of range.
Chapter 2 Instructions
3-155
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 Instruction LDB C LD LDA CON MUL CON STA CON LDA CON STA Operand 0001 001 #099999 0000 2002 C001 DM0000 DM0100 TM00 DM0101
2
DIV (Division)
2002
DM0001 LDA
High-order
TM00 STA
TM00 LDA
DM0003 STA
High-order
TM01 LDA
DM0004 STA
Remainder
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 Instruction LD LDA CON STA CON LDA CON DIV CON STA CON LDA CON STA CON LDA CON STA Operand 2002 DM0001 TM00 DM0000 #00100 DM0002 TM00 DM0003 TM01 DM0004
3-156
Chapter 2 Instructions
DIV / @DIV
Arithmetic flag
2009 2010 2011 2012
No change Turns ON when all 32 bits are "0" after a DIV operation. Turns OFF at other times. No change Turns ON when the divisor of a DIV operation is "0" or the DM or relay indirectly addressed with #TM is out of range.
Description
The 32-bit value (binary) consisting of the higher 16 bits from TM00 and lower 16 bits from the internal register is divided by the value specified by the operand. The higher 16 bits of the result is input back to TM00 and lower 16 bits to the same internal register. The remainder is stored in TM01.
TM00
High-order 16 bits Internal register Low-order 16 bits Internal register Low-order 16 bits Operand
TM00
High-order 16 bits
TM01
Remainder (16 bits)
Quotient
Example
DM0001 DM0003
DM0000 DM0002
#00100 DM0004
Remainder (16 bits)
1 2
Note 1: When data of 16 bits or less is divided by the operand value, the contents of TM00 must be cleared (set to "#00000") before the DIV operation. Note 2: If the contents of TM00 are not cleared, the data stored in TM00 is also used for the operation.
Tips
Solution when data of 16 bits or less is divided
02002 #00000 LDA TM00 STA DM0000 DM0001 DM0002 LDA DIV STA TM01 LDA DM0003 STA
Quotient
Chapter 2 Instructions
3-157
DIV / @DIV
(DM0001+DM0002+DM0003)
Coding
Line No. Instruction LDB C CON LDA CON STA LDB C CON LDA CON STA LDB C CON LDA CON STA LD LDA CON ADD CON ADD LD DIV CON TBCD CON STA 500 DM0003 2002 #0003 DM0002 DM0003 2002 DM0001 C003 DM0002 0000 003 #099999 0003 C002 DM0001 0000 002 #099999 0002 C001 Operand 0000 001 #099999 0001
0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029
3-158
Chapter 2 Instructions
ANDA:
FUN 0 @
1 0
:
1
#,$ FUN
RES SET
ANDs contents of internal register and value specified by operand for each of 16 bits, and inputs result back to same register.
DM0000 LDA
$00FF ANDA
DM0001 STA
Coding
Line No. 0000 0001 0002 0003 0004 0005 Instruction LD LDA CON ANDA CON STA Operand 0000 DM0000 $00FF DM0001
Description
The contents of DM0000 are transferred to the internal register when input relay 0000 is ON. The contents of the internal register (DM0000) and the value specified by the operand ($00FF) are ANDed for each bit and the result (logical product) is input back to the same register. When the operation result is "0", special utility relay 2010 turns ON. The contents of the internal register are transferred to DM0001. The following shows the case when DM0000 is "$F0F0".
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
1 2
DM0000 ($F0F0)
1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 AND
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
$00FF ANDA
Operand ($F0F0)
These values are ANDed for each bit to obtain logical product.
Only when both bits of the internal register and the operand are "1", will the logical product be "1".
0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0
DM0001 ($00F0)
Operands
Visual KV KV-300 KV-10/16 KV-24/40/80 0000 to 17915 0000 to 17915 0000 to 2915 0000 to 6915 DM0000 to DM1999 DM0000 to DM9999 DM0000 to DM0999 DM0000 to DM1999 TM00 to TM31 TM00 to TM31 TM00 to TM31 TM00 to TM31 #00000 to #65535 #00000 to #65535 #00000 to #65535 #00000 to #65535 $0000 to $FFFF $0000 to $FFFF $0000 to $FFFF $0000 to $FFFF #TM00 to #TM29 #TM00 to #TM29 #TM00 to #TM29 #TM00 to #TM29
Key operation
#,$
FUN @ FUN
RES
SET
ENT
R-SRCH
Operand
ENT
R-SRCH
Chapter 2 Instructions
3-159
Arithmetic flag
2009 2010 2011 2012
No change Turns ON when the internal register is "0" after an ANDA operation. Turns OFF at other times. No change The DM or relay indirectly addressed with #TM is out of range.
Tips
Solution when connecting one-digit data of a BCD digital switch to inputs 0100 to 0103, while ignoring other inputs Only one-digit data of the BCD digital switch is transferred as the setting value of the fetching counter (C004). Other inputs (0104 to 0115) are ignored.
0004 2002 0100 LDA $000F ANDA #00300 C004 0005 C004 STA
TBIN
2
2002 2002 0001 0001 7000 LDA 7000 LDA $00FF ANDA $FF00 ANDA TBIN #08 SRA C000 STA TBIN T001 STA #09999 C000 0000 #09999 T001
Converts data of 7000 to 7007 to BIN and writes it into C000. Shifts data to right by 8 bits, converts it to BIN, and writes it into T001. Sets C000. Sets T001.
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 Instruction LD LDA CON ANDA CON TBIN CON STA LD LDA CON ANDA CON SRA CON TBIN CON STA LDB C LDB T Operand 2002 7000 $00FF
3-160
Chapter 2 Instructions
ORA:
FUN 3
: :
ORs contents of internal register and value specified by operand for each of 16 bits, and inputs result back to same register.
DM0000 LDA
$00FF ORA
DM0001 STA
Logical sum
Coding
Line No. 0000 0001 0002 0003 0004 0005 Instruction LD LDA CON ORA CON STA Operand 0000 DM0000 $00FF DM0001
Description
The contents of DM0000 are transferred to the internal register when input relay 0000 is ON. The contents of the internal register (DM0000) and the value specified by the operand ($00FF) are ORed for each bit and the result (logical sum) is input back to the same register. When the operation result is "0", special utility relay 2010 turns ON. The contents of the internal register are transferred to DM0001. The following shows the case when DM0000 is "$F0F0".
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
1 2
1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
DM000 ($F0F0)
(Result)
DM0000 LDA
1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 OR 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
$00FF ORA
Operand ($00FF)
Internal register 1 1 1 0
These values are ORed for each bit to obtain logical sum. Internal ($F0FF) register
1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1
Only when both bits of the internal register and the operand are "0", will the logical sum be "0".
DM0001 STA
1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1
Operands
Visual KV KV-300 KV-10/16 KV-24/40/80 0000 to 17915 0000 to 0009 0000 to 2915 0000 to 6915 DM0000 to DM1999 0500 to 17915 DM0000 to DM0999 DM0000 to DM1999 TM00 to TM31 DM0000 to DM9999 TM00 to TM31 TM00 to TM31 #00000 to #65535 TM00 to TM31 #00000 to #65535 #00000 to #65535 $0000 to $FFFF #00000 to #65535 $0000 to $FFFF $0000 to $FFFF #TM00 to #TM29 $0000 to $FFFF #TM00 to #TM29 #TM00 to #TM29 #TM00 to #TM29
Key operation
FUN
#,$ ORL
FUN
SET
ENT
R-SRCH
Operand
ENT
R-SRCH
Chapter 2 Instructions
3-161
Arithmetic flag
2009 2010 2011 2012
No change Turns ON when the internal register is "0" after an ORA operation. Turns OFF at other times. No change The DM or relay indirectly addressed with #TM is out of range.
Tips
Solution when connecting two-digit data of a BCD digital switch (inputs 0100 to 0103 for the first digit and 0200 to 0203 for the second digit) separately Fetches the two-digit data of the BCD digital switch, which are separated into the first digit (0100 to 0103) and the second digit (0200 to 0203), and transfers the values as the setting value of a counter (C004).
0004 2002 0100 LDA $000F ANDA DM0000 STA 0200 LDA #00300 C004 0005
$000F ANDA
#04 SLA
DM0000 ORA
TBIN
C004 STA
2
Application of ORA instruction
Output of BCD 2-digit data Converts the current value of counter C000 to BCD and sends 2 digits of BCD data to output relays 0500 to 0507. However, retain ON/OFF of 0508 to 0515 which are loaded.
0000 2002 2002 2002 0500 LDA C000 LDA DM0000 ORA #00099 C000 0001 $FF00 DM0000 ANDA STA TBCD 0500 STA $00FF ANDA
Sets C000.
Writes data of 0008 to 0015 into DM0000. Converts the current value of C000 to BCD and retains the low-order 2 digits of BCD in the internal register. ORs the data in the internal register and the DM0000 data and sends the ORed data to 0500 to 0515.
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 Instruction Operand LDB 0000 C 001 #00099 0001 LD LDA CON ANDA CON STA LD DM0000 2002 $FF00 2002 0500 Line No. 0009 0010 0011 0012 0013 0014 0015 0016 0017 Instruction LDA CON TBCD CON ANDA LD ORA CON STA 0500 $00FF 2002 DM0000 Operand C000
3-162
Chapter 2 Instructions
ORA / @ORA 2.4 Instruction Details Separate input of 2-digit BCD Fetches only 2 digits of the BCD digital switch (0000 to 0003 for the 1st digit, 0100 to 0103 for the 2nd digit) and sets it as the counter value.
0000 2002 2002 2002 0000 LDA 0100 LDA #04 SLA #00099 C000 0001 $000F DM0000 ANDA STA $000F ANDA DM0000 ORA TBIN C001 STA
Sets C001.
Writes data of 7000 to 7003 into DM0000. Writes data of 8000 to 8003 into internal register. ORs content of internal register which is shifted to left by four bits and data of 7000 to 7003, converts ORed data into BIN, and write it into C001.
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 Instruction LDB C LD LDA CON ANDA CON STA LD LDA CON ANDA LD SLA CON ORA CON TBIN CON STA C001 DM0000 $000F 2002 #04 DM0000 2002 0100 $000F Operand 0001 001 #00099 0001 2002 0000
1 2
Chapter 2 Instructions
3-163
FUN 1
SET ANB
: :
EXCLUSIVE ORs contents of internal register and operand for each of 16 bits, and inputs result back to same register.
DM0000 LDA
$00FF EORA
DM0001 STA
Coding
Line No. 0000 0001 0002 0003 0004 0005 Instruction LD LDA CON EORA CON STA Operand 0000 DM0000 $00FF DM0001
Description
The contents of DM0000 is transferred to the internal register when input relay 0000 is ON. The contents of the internal register (DM0000) and the value specified by the operand ($00FF) are EORed (exclusive OR) for each bit and the result is input back to the same register. When the operation result is "0", special utility relay 2010 turns ON. The contents of the internal register is transferred to DM0001. The following shows the case when DM0000 is "$F0F0".
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
Contents of DM0000 are transferred to the internal register.
DM0000 LDA
DM0000 ($F0F0)
(Result)
Internal register 0 1 1 0
These values are EORed for each bit to obtain exclusive OR value.
Only when the bits of the internal register and the operand have different values, will the exclusive logical sum be "1".
1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1
DM0000 ($F00F)
Operands
Visual KV KV-300 KV-10/16 KV-24/40/80 0000 to 17915 00000 to 0009 0000 to 2915 0000 to 6915 DM0000 to DM1999 0500 to 17915 DM0000 to DM0999 DM0000 to DM1999 TM00 to TM31 DM0000 to DM9999 TM00 to TM31 TM00 to TM31 #00000 to #65535 TM00 to TM31 #00000 to #65535 #00000 to #65535 $0000 to $FFFF #00000 to #65535 $0000 to $FFFF $0000 to $FFFF #TM00 to #TM29 $0000 to $FFFF #TM00 to #TM29 #TM00 to #TM29 #TM00 to #TM29
Key operation
FUN
#,$ SET
FUN
ANB
ENT
R-SRCH
Operand
ENT
R-SRCH
3-164
Chapter 2 Instructions
Arithmetic flag
2009 No change 2010 Turns ON when the internal register is "0" after an EORA operation. Turns OFF at other times. 2011 No change 2012 The DM or relay indirectly addressed with #TM is out of range.
Tips
Turning output 0500 ON when inputs 0000 through 0015 have the same value as a constant ($0F0F) When the values match, special internal relay 2010 turns ON and output relay 0500 turns ON. In this example, the constant is "$0F0F", or "0000 1111 0000 1111". Therefore, output relay 0500 turns ON when input relays 0000 through 0003 and 0008 through 0011 are ON.
2002 0000 LDA $0F0F EORA 2010 0500
1 2
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 Instruction LD LDA CON STA LD LDA CON Operand 2008 $00AA DM0000 2002 0100 Line No. 0007 0008 0009 0010 0011 0012 Instruction ANDA CON EORA CON AND OUT Operand $00FF DM0000 2010 0500
$00FF 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Operand
$00AA 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 DM0000
$0011
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 Internal register
2010 is OFF. When the value of internal register is 0000, 2010 turns ON. Judges match between the operand and the data of 0100 to 0107.
When 2010 is ON, the two values match. When 2010 is OFF, the two values do not match.
Chapter 2 Instructions
3-165
SRA: Shift Right A @SRA: Shift Right A SLA: Shift Left A @SLA: Shift Left A
Example
0000 0001
FUN 4 @
1 4 0
:
1
#,$ FUN
LDB SET
FUN 4
#,$
LDB RES
Moves contents of internal register serially right by value specified by operand. Moves contents of internal register serially left by value specified by operand.
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 Instruction LD LDA CON SRA CON STA LD LDA CON SLA CON STA Operand 0000 DM0000 #05 DM0001 0001 DM0010 #10 DM0011
Operands
#01 to #16
Key operation
FUN
#,$ LDB
FUN FUN
SET
ENT
R-SRCH
Operand
ENT
R-SRCH
LDB
#,$
FUN
RES
ENT
R-SRCH
Operand
ENT
R-SRCH
Arithmetic flag
2009 2010 2011 2012 Turns ON when "1" enters 2009 after an SRA/SLA operation. Turns OFF at other times. Turns ON when the internal register is "0" after an SRA/SLA operation. Turns OFF at other times. No change No change
3-166
Chapter 2 Instructions
Description
Operations using the SRA instruction When input relay 0000 is ON, the contents of DM0000 are transferred to the internal register and shifted serially right by the operand value (5). The operation result is written into DM0001. The contents of D0 are shifted to carry bit 2009. In the above example, the contents shift to the right by the operand value (5) every scan time while input relay 0000 is ON. Use @SRA, a differentiation type instruction, to execute the instruction only once when input relay 0000 turns ON.
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
Carry 2009
1 1 0 0 1 0 0 0 1 1 1 0 0 1 0 0
Carry 2009
0
0 0 0 0 0 1 1 0 0 1 0 0 0 1 1 1
Operation using the SLA instruction When input relay 0001 is ON, the contents of DM0000 are transferred to the internal register and shifted serially left by the operand value (10). The operation result is written into DM0011. The contents of D15 are shifted to carry bit 2009. In the above example, the contents shift to the left by the operand value (10) every scan time while input relay 0001 is ON. Use @SLA, a differentiation type instruction, to execute the instruction only once when input relay 0001 turns ON.
Carry 2009
1 2
1 1 0 0 1 0 0 0 1 1 1 0 0 1 0 0
Carry 2009
1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
Note: Special utility relay 2009 may turn ON in accordance with the operation results; however, it changes immediately when another operation is executed.
Chapter 2 Instructions
3-167
$00FF ANDA
#08 SLA
DM0000 ORA
Separate input of BCD Fetches only 2 digits of the BCD digital switch (0112 to 0115 for the 1st digit, 0000 to 0003 for the 2nd digit) and sets it as the counter value.
0001 2002 2002 0100 LDA #12 SRA 0000 LDA #04 SLA TBIN #00099 C001 0000 $F000 ANDA DM0000 STA $000F ANDA DM0000 ORA C001 STA
Sets C001.
Sends the data of 0112 to 0115 to internal register. Shifts the value of internal register to right by 12 bits and writes it into DM0000. Sends the data of 0000 to 0003 to internal register. Shifts the data of internal register to left by 4 bits, ORs the internal register data and the data of DM0000, and sends the ORed data to the internal register. Converts the data of internal register to BIN data and writes it into C001.
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 Instruction LD C LD LDA CON ANDA LD SRA CON STA LD LDA CON ANDA LD SLA CON ORA LD TBIN CON STA Operand 0001 001 #00099 0000 2002 0100 $F000 2002 #12 DM0000 2002 0000 $000F 2002 #04 DM0000 2002
C001
3-168
Chapter 2 Instructions
RRA: Rotate Right A @RRA: Rotate Right A RLA: Rotate Left A @RLA: Rotate Left A
FUN 3
ORL LD
: : :
5
Rotates contents of internal register and carry (2009) clockwise by operand value. Rotates contents of internal register and carry (2009) counterclockwise by operand value.
FUN 3 @
ORL ANB
5 3
#,$ FUN
ORL ANB
Example
0000 0001 DM0000 LDA DM0010 LDA #01 RRA #04 RLA DM0001 STA DM0011 STA
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 Instruction LD LDA CON RRA CON STA LD LDA CON RLA CON STA Operand 0000 DM0000 #01 DM0001 0001 DM0010 #04 DM0011
1 2
Operands
#01 to #16
Key operation
FUN
#,$ ORL
FUN FUN
LD
ENT
R-SRCH
Operand
ENT
R-SRCH
ORL
#,$
FUN
ANB
ENT
R-SRCH
Operand
ENT
R-SRCH
Arithmetic flag
2009 Turns ON when "1" enters 2009 after an RRA/RLA operation. Turns OFF at other times. 2010 Turns ON when the internal register is "0" after an RRA/RLA operation. Turns OFF at other times. 2011, 2012 No change
Description
Operation when using the RRA instruction When input relay 0000 is ON, the contents of DM0000 are transferred to the internal register. The contents of the internal register and carry (2009) are rotated clockwise by the operand value. In the above example, the contents are rotated clockwise every scan time while input relay 0000 is ON.
Chapter 2 Instructions
3-169
SRA / @SRA / SLA / @SLA 2.4 Instruction Details Use @RRA, a differentiation type instruction, to execute the instruction only once when input relay 0000 turns ON.
Carry 2009
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
1 1 0 0 1 0 0 0 1 1 1 0 0 1 0 0
Carry 2009
0 1 1 0 0 1 0 0 0 1 1 1 0 0 1 0
Operation using the RLA instruction When input relay 0001 is ON, the contents of DM0000 are transferred to the internal register. The contents of the internal register and carry (2009) are rotated counterclockwise by the operand value. In the example above, the contents are rotated counterclockwise every scan time while input relay 0001 is ON. Use @RLA, a differentiation type instruction, to execute the instruction only once when input relay 0001 turns ON.
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
Carry 2009
0
1 1 0 0 1 0 0 0 1 1 1 0 0 1 0 0
Carry 2009
0
1 0 0 0 1 1 1 0 0 1 0 0 0 1 1 0
Note: Special utility relay 2009 may turn ON in accordance with the operation results; however, it changes immediately when another operation is executed.
Writes the TM10 data into DM0000, and then writes #00000 to TM10.
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 Instruction LD LDA FOR LD RRA CON AND INC NEXT 2009 TM10 Operand 2002 0000 #00016 02002 #01 Line No. 0009 0010 0011 0012 0013 0014 0015 0016 Instruction LD LDA CON STA CON LDA CON STA TM10 #00000 DM0000 Operand 2002 TM10
3-170
Chapter 2 Instructions
FUN 0
: :
COM
COM
DM0000 LDA
COM
DM0001 STA
Coding
Line No. 0000 0001 0002 0003 0004 0005 Instruction LD @LDA CON @COM CON @STA Operand 0000 DM0000
DM0001
Description
Each time input relay 0000 turns from OFF to ON, the contents of DM0000 are transferred to the internal register. The COM instruction inverts the status of each bit and transfers the result to DM0001. Special utility relay 2010 turns ON when the result is "0". The following shows the case when DM0000 is "$5F5F".
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
1 2
DM0000
0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 = $5F5F
Bit inversion
COM instruction
DM0001
1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 = $A0A0
Note:
0000
DM0000 LDA
COM
DM0001 STA
When an every-scan type COM instruction is used, the status of bits are inverted every scan time while input relay 0000 is ON. Use @COM, a differentiation type instruction, to execute the instruction only once when input relay 0000 turns ON, as shown in the example.
FUN
ANB
ENT
R-SRCH
ENT
R-SRCH
Arithmetic flag
2009 2010 2011 2012 No change Turns ON when the internal register is "0" after a COM operation. Turns OFF at other times. No change No change
Chapter 2 Instructions
3-171
INC: Increment Memory @INC: Increment Memory DEC: Decrement Memory @DEC: Decrement Memory
Example
FUN 1
SET OR
: : : :
Adds 1 to contents of data memory specified by operand. Subtracts 1 from contents of data memory specified by operand.
FUN 0
RES LD
0000
Coding
Line No. 0000 0001 0002 Instruction LD @INC @DEC Operand 0000 DM0000 DM0001
Description
Operation using the @INC instruction Every time input relay 0000 turns ON, "1" is added to the contents of the data memory specified by the operand. The result is then input back to the same data memory. (In the above example, "1" is added to the contents of DM0000. DM0000 + 1 DM0000) When the data memory specified by the operand is "#65535", the result of the addition is "#00000" so that special utility relay 2009 turns ON.
@ INC instruction 0 0 0 0 + 0 0 1 1 1 0 0 1
Contents of data memory specified by operand 1 is added. Contents of data memory specified by operand
Operation using the @DEC instruction Every time input relay 0000 turns ON, "1" is subtracted from the contents of the data memory specified by the operand. The result is then input back to the same data memory. (In the above example, "1" is subtracted from the contents of DM0001. DM0001 - 1 DM0001) When the data memory specified by the operand is "#00001", the result of the subtraction is "#00000" so that special utility relay 2010 turns ON. When the specified data memory is "00000", the result of the subtraction is "#65535 ($FFFF)" so that special utility relay 2009 turns ON.
@ DEC instruction 0 0 0 0 0 0 1 0 1 1 0 1
Contents of data memory specified by operand 1 is subtracted. Contents of data memory specified by operand
Operands
Visual KV KV-300 KV-10/16 KV-24/40/80 DM0000 to DM1999 DM0000 to DM9999 DM0000 to DM0999 DM0000 to DM1999 TM00 to TM29 TM00 to TM29 TM00 to TM29 TM00 to TM29
3-172
Chapter 2 Instructions
Key operation
FUN
#,$ SET
FUN FUN
OR
ENT
R-SRCH
Operand
ENT
R-SRCH
RES
#,$
FUN
LD
ENT
R-SRCH
Operand
ENT
R-SRCH
Arithmetic flag
2009 Turns ON when the result is "0" after an INC operation, or when the result is "$FFFF (#65535)" after DEC operation. Turns OFF at other times. 2010 Turns ON when the internal register is "0" after an INC or DEC operation. Turns OFF at other times. 2011, 2012 No change Note: When an every-scan type INC/DEC instruction is used, INC (+1) or DEC (-1) instruction is executed every scan time while input relay 0000 is ON. Use a differentiation type instruction (@INC or @DEC) to execute the instruction only once when input relay 0000 turns ON, as shown in the example.
0000 DM0000 INC 0000 DM0000 INC
Tips
When using DM0000 as an UP/DOWN counter Performs an UP count (addition) when input relay 0000 turns ON. Performs a DOWN count (subtraction) when input relay 0001 turns ON.
0000 0001 DM0000 INC DM0000 DEC
1 2
Coding
Line No. 0000 0001 0002 0003 0004 Instruction LD LDA CON STA LD DM0000 0000 Operand 2008 #00000 Line No. 0005 0006 0007 0008 0009 Instruction @INC LD @DEC LD DW Operand DM0000 0001 DM0000 0005 #00000 DM0000
Chapter 2 Instructions
3-173
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 Instruction LD LDA CON STA LD @INC LD @INC LD @INC LD @INC LD DW Operand 2008 #00000 DM0000 0000 DM0000 0001 DM0000 0002 DM0000 0003 DM0000 0005 #00000 DM0000
Total count 2 Counts the number of boxes transferred on 5 production lines. Produces output when the number becomes 100 or more.
0000 0001 0002 0003 0004 0005 DM0000 INC DM0000 INC DM0000 INC DM0000 INC DM0000 INC
Increments DM0000 by 1 at UP edge of input relay 0000. Increments DM0000 by 1 at UP edge of input relay 0001. Increments DM0000 by 1 at UP edge of input relay 0002. Increments DM0000 by 1 at UP edge of input relay 0003. Increments DM0000 by 1 at UP edge of input relay 0004. Clears DM0000 when input relay 0005 turns ON. Turns output relay 0500 ON when value of DM0000 is 100 or more.
3-174
Chapter 2 Instructions
Programming technique Two kinds of instructions can be used for the counting operation: a C (counter) instruction and an INC instruction with data memory. The following examples show how to program the total count with each instruction.
Programming with the C instruction
0005 #09999 C001 C001 LDA 0000 #09999 C002 LDA C002 0001 #09999 C003 C003 LDA 0002 #09999 C004 C004 LDA 0003 #09999 C005 C005 LDA 0004 DM0001 DM0002 DM0003 DM0004 DM0005 LDA ADD ADD ADD ADD DM0001 STA DM0002 STA DM0003 STA DM0004 STA DM0005 STA DM0000 STA
1 2
2002
As the example of the INC instruction shows, using different instructions sometimes simplifies the program even for the same control. Simpler programming reduces the time for debugging. It is convenient to use the CMP instruction for comparator outputs. OR instruction Compare the following two programs. With program 1), input relays 0000 through 0004 are individually counted even when they turn ON simultaneously. With program 2), when some input relays 0000 through 0004 turn ON simultaneously, duplicated inputs are ignored. Use the appropriate program according to your application.
0000 0001 0002 0003 0004 DM0000 INC DM0000 INC DM0000 INC DM0000 INC DM0000 INC 0000 0001 0002 0003 0004 DM0000 INC
1)
2)
Chapter 2 Instructions
3-175
MPX:
Multiplexer
FUN 2 @
ANL LD
7 2 2
:
7
#n MPX #n MPX
#,$ FUN
ANL LD
: : :
Converts 4-bit data of internal register into 16-bit data. The 4-bit data to be converted is specified as operand. Converts position of most significant bit with 1 in internal register into 4-bit data.
FUN 1
SET ANL
DMX
DMX
#1 MPX DMX
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 Instruction LD LDA CON MPX CON STA LD LDA CON DMX CON STA Operand 0000 0000 #1 1000 0001 0100
DM0000
Operands
#0 to #3
Key operation
FUN
#,$ SET OR ENT
R-SRCH
FUN FUN
Operand
ENT
R-SRCH
RES
#,$
FUN
LD
ENT
R-SRCH
Operand
ENT
R-SRCH
Arithmetic flag
2009, 2010, 2011 No change 2012 Turns ON when no bit is ON after a DMX operation (the result is "0"). Turns OFF at other times.
3-176
Chapter 2 Instructions
Description
Operation with the MPX instruction When input relay 0000 is ON, the ON/OFF status of input relays 0000 through 0015 is transferred to the internal register. The section of the internal register specified by the operand (input relays 0004 through 007: 4 bits) is converted into a hexadecimal number (0 to F). Only the bit at the position specified by the hexadecimal number is set to "1" and other bits are set to "0". The resulting ON/OFF status is input back to the internal register, and then output to inputs 1000 to 1015. In the example, when the value specified by inputs 0004 to 0007 are converted into "A", internal relay 1010 turns ON.
#3 #2 #1 1 0 1 0 #0
Operand Internal register No. represented by the section of the internal register specified by operand Internal register
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 F E D C B A 9 8 7 6 5 4 3 2 1 0
Operation with the DMX instruction When input relay 0001 is ON, the ON/OFF status of input relays 0100 through 0115 is sent to the internal register. Within the 16-bit data of the internal register, the number corresponding to the position of the most significant bit with "1" (0 to F) is converted into 4-bit data and input back to the internal register. The contents of the internal register are then transferred to DM0000. In the example, when input relay 0114 turns ON, "E" is input to DM0000.
Most significant bit with "1"
0 1 0 1 1 0 0 1 0 1 0 0 0 1 0 0 F E D C B A 9 8 7 6 5 4 3 2 1 0
1 2
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 to F
The DMX instruction is disabled when all bits in the internal register are OFF. In such a case, special utility relay 2012 turns ON.
When the digital switch shows "8", output 0508 turns ON, therefore, lamp 8 lights.
Chapter 2 Instructions
3-177
When sensor 8 is ON, the indicator shows "8". Output of error input No. in BCD Outputs the error sensor No. from input relay 0000 to 0015 to output relays 0500 to 0507 in 2-digit BCD.
2002 2002 TBCD 0000 LDA
Converts the most significant bit of 16-bit data (0000 to 0015) to 4-bit BIN data and sends it to internal register.
Converts internal register data to BCD data, executes an ANDA instruction, and outputs the data to 0500 to 0507.
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 Instruction LD LDA CON DMX LD TBCD CON ANDA CON STA Operand 2002 0000
2002
$00FF 0500
Display of 7-segment LED Displays the current value of counter C007 to the 7-segment LED. Outputs from 0600 to 0615. 7-segment configuration
a
e d
3-178
Chapter 2 Instructions
Auto-reset counter
C000
C000 LDA
#0 MPX
1000 STA
1000 1001 1002 1003 1004 1005 1006 1007 1008 1009
$003F LDA $0006 LDA $005B LDA $004F LDA $0066 LDA $006D LDA $007D LDA $0007 LDA $007F LDA $006F LDA
0600 STA 0600 STA 0600 STA 0600 STA 0600 STA 0600 STA 0600 STA 0600 STA 0600 STA 0600 STA
0 1 2 3 4 5 6 7 8 9
7-segment display
1 2
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 Instruction Operand LDB C000 C 000 #00009 0000 CON LDA C000 CON MPX #0 CON STA 1000 LD 1000 LDA $003F CON STA 0600 LD 1001 LDA $0006 CON STA 0600 LD 1002 LDA $005B CON STA 0600 LD 1003 LDA $004F CON STA 0600 Line No. 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 0047 Instruction LD LDA CON STA LD LDA CON STA LD LDA CON STA LD LDA CON STA LD LDA CON STA LD LDA CON STA Operand 1004 $0066 0600 1005 $006D 0600 1006 $007D 0600 1007 $0007 0600 1008 $007F 0600 1009 $006F 0600
Chapter 2 Instructions
3-179
TBCD: Transfer BCD @TBCD: Transfer BCD TBIN: Transfer BIN @TBIN: Transfer BIN
FUN 4 @
LDB LD
7 4 8 4
:
7
TBCD
Converts contents of internal register (16-bit binary) into 4-digit BCD data.
#,$ FUN
LDB LD
: : :
TBCD
FUN 4 @
TBIN
Converts contents of internal register (4-bit binary) into 16-digit BCD data.
#,$ FUN
TBIN
Example
0000 0001
TBCD TBIN
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 Instruction LD LDA CON @TBCD CON @STA LD LDA CON @TBIN CON @STA Operand 0000 DM0000
DM0011
FUN FUN
LD
ENT
R-SRCH
ENT
R-SRCH
LDB
#,$
FUN
AND
ENT
R-SRCH
ENT
R-SRCH
Arithmetic flag
2009, 2010, 2011 No change 2012 Turns ON when the contents of the internal register are greater than "$270F (#09999)" before TBCD operation, or when the contents of the internal register are not BCD data before the TBIN operation (In these cases, the TBCD or TBIN instruction will not be executed.). Turns OFF at other times.
3-180
Chapter 2 Instructions
Description
Operation using the TBCD instruction When input relay 0000 turns ON, the contents of DM0000 are transferred to the internal register. The contents of the internal register (16-bit binary data) are converted into 4-digit BCD data, which is input back to the internal register, and then transferred to DM0001.
216 20
0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
Operation using the TBIN instruction When input relay 0001 turns ON, the contents of DM0010 are transferred to the internal register. The contents of the internal register (4-digit BCD data) are converted into 16-bit binary data, which is input back to the internal register, and then transferred to DM0011.
(5) (5) (5) (5) 103 101 100 102 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 1
1 2
Note 1: The TBCD instruction can only convert data up to "#09999". When the conversion of data of "#10000" or greater is attempted, special utility relay 2012 turns ON and the conversion is disabled. Note 2: When the data in the internal register is not BCD data, special utility relay 2012 turns ON and the TBIN instruction is disabled.
TBCD
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 Instruction LDB C LD LDA CON TBCD CON STA Operand 0001 001 #00009 0000 2002 C001
0700
Chapter 2 Instructions
3-181
TM00
Internal register
TM00
Internal register
Low-order 4 digits
High-order 4 digits
Display
0600 to 0615
High-order 4 digits
2002
0500 to 0515
Low-order 4 digits
TM01 LDA 0500 STA
DM0000 DM0001 #10000 DM0101 LDA MUL DIV STA DM0101 LDA 0600 STA
TBCD
TBCD
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009
Instruction LD LDA CON MUL CON DIV CON STA CON LDA
Line No. 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019
Instruction CON TBCD CON STA CON LDA CON TBCD CON STA
Operand
0500 DM0101
0600
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 Instruction LD LDA CON TBIN CON STA LDB C Operand 2002 0400
3-182
Chapter 2 Instructions
ASC: ASCII Convert @ASC: ASCII Convert RASC: Reverse ASCII Convert @RASC: Reverse ASCII Convert
FUN 0
RES ANL
: : : :
ASC
ASC
Converts contents of lower order byte of internal register into 2-digit ASCII code. Converts 2-digit ASCII into byte data representing 2-digit hex number.
FUN 3
ORL ANL
RASC
RASC
Example
0000 0001
ASC RASC
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 Instruction LD LDA CON @ASC CON @STA LD LDA CON @RASC CON @STA Operand 0000 DM0000
1 2
DM0011
FUN FUN
ENT
R-SRCH
ORL
#,$
FUN
ANL
ENT
R-SRCH
ENT
R-SRCH
Arithmetic flag
2009, 2010, 2011 No change 2012 Turns ON when the high- and low-order 8-bit value is not within the range of "$30" to "$39" and "$41" to "$46", respectively, before the RASC instruction is executed (In this case, the RASC instruction will not be executed.). Turns OFF at other times.
Chapter 2 Instructions
3-183
Description
Operation using the ASC instruction When input relay 0000 turns ON, the contents of DM0000 are transferred to the internal register. The contents of the internal register (low-order 8-bit, 2-digit numerical value) are converted into 2-digit ASCII code. This 2-digit code is input back to the internal register, and then transferred to DM0001.
1 0 1 0 0 1 0 1 A 5
0 1 0 0 0 0 0 1 0 0 1 1 0 1 0 1
Operation using the RASC instruction When input relay 0001 turns ON, the contents of DM0010 are transferred to the internal register. The contents of the internal register (2-digit ASCII code) is converted into a low-order 8-bit, 2-digit numeric value. This 2-digit numeric value is input back to the internal register, then transferred to DM0011..
0 0 1 1 0 1 1 0 0 1 0 0 0 0 1 1 3 6 4 3
0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0
The value is converted only when the high- and low-order 8-bit value of the internal register is within the range of "$30" to "$39" and "$41" to "$46", respectively, before the conversion. (When either of the high- or low-order 8-bit value is not within the range, the conversion is disabled. In this case, special utility relay 2012 turns ON.) Example of conversion between hex and ASCII numbers
Hex number 0 1 2 3 4 5 6 7 8 9 A B C D E F Bit configuration 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Code $30 $31 $32 $33 $34 $35 $36 $37 $38 $39 $41 $42 $43 $44 $45 $46 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 Bit configuration 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 1 0
3-184
Chapter 2 Instructions
ROOT / @ROOT
FUN 3 @
ORL ORB
6 3
:
6
ROOT
#,$ FUN
ORL ORB
ROOT
TM00 STA
DM0000 LDA
ROOT
DM0100 STA
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 Instruction LD LDA CON STA CON LDA CON ROOT CON STA DM0100 DM0000 TM00 Operand 0000 DM0001
1 2
Description
The ROOT instruction takes the square root of 32-bit data (binary number) of which the high-order 16 bits are contained in DM0001 and low-order 16 bits are contained in DM0000, and then input the result to DM0100. The figures to the right the decimal point of the obtained square root are omitted, and the result is input back to the same register. When the result is 0, special utility relay No. 2010 turns ON. The ROOT instruction takes the square root of a 32-bit numerical value. In this case, the high-order 16 bits are contained in TM00, and the low-order 16 bits are contained in the internal register.
TM00 Higher order 16 bits Internal register Lower order 16 bits Internal register
Operands
Key operation
FUN
#,$ ORL
FUN
ORB
ENT
R-SRCH
ENT
R-SRCH
Chapter 2 Instructions
3-185
Change in status of special utility relays (arithmetic flags) by arithmetic instructions (1/3)
Instruction DATA MEMORY WRITE 3-136 LOAD A Mnemonic Operand A<0 2009 A=0 2010 A>0 2011 Error 2012
DW
$,# constant
Relay No. LDA [FUN23] Timer/counter No. Data memory No. $,# constant # TM Relay No. STORE A STA [FUN42] Timer/counter No. Data memory No. # TM COMPARE Data memory No. $,# constant # TM Data memory No. $,# constant # TM Data memory No. $,# constant # TM Data memory No. $,# constant # TM Data memory No. $,# constant # TM Data memory No. $,# constant # TM
1 1 1 4 4 4 6 6 6 I I I
5 5 5 5 5 2 2 2 5 5 5 5 5 5 8 8 8 8 8 8 5 5 5
3 3 3 7 7 7
H H H H H H 9 9 H9 H
3-140
3-140
3-146
ADD
CMP [FUN04] ADD [FUN00] SUB [FUN46] MUL [FUN28] DIV [FUN11] ANDA [FUN01]
3-150
SUBTRACT
3-150
MULTIPLY
3-150
DIVIDE
3-150
AND A
3-159
: No change in arithmetic flag Refer to the description of each instruction for details of the operating conditions of the flag.
3-186
Chapter 2 Instructions
Change in status of special utility relays (arithmetic flags) by arithmetic instructions (2/3)
Instruction OR A Mnemonic ORA [FUN31] EORA [FUN15] SRA [FUN41] SLA [FUN40] RRA [FUN37] RLA [FUN40] COM [FUN05] INC [FUN19] DEC [FUN07] MPX [FUN27] DMX [FUN12] TBCD [FUN47] TBIN [FUN48] ASC [FUN02] RASC [FUN32] ROOT [FUN36] TMIN [FUN50] Data memory No. Operand Data memory No. $,# constant # TM Data memory No. $,# constant # TM Number of shifts A<0 2009 0 A=0 2010 5 5 5 5 5 5 5 A>0 2011 Error 2012 H H
3-161
EXCLUSIVE OR A
3-164 SHIFT RIGHT A 3-166 SHIFT LEFT A 3-166 ROTATE RIGHT A 3-169 ROTATE LEFT A 3-169 COMPLEMENT 3-171 INCREMENT MEMORY 3-172 DECREMENT MEMORY 3-172 MULTIPLEXER 3-176 DEMULTIPLEXER 3-176 TRANSFER BCD 3-180 TRANSFER BIN 3-180 ASCII CONVERT 3-183 REVERSE ASCII CONVERT 3-183 SQUARE ROOT 3-185 TRIMMER SETTING 3-138
Number of shift
Number of rotations
Number of rotations
1 2
A 5
Digit No.
: No change in arithmetic flag Refer to the description of each instruction for details of the operating conditions of the flag.
Chapter 2 Instructions
3-187
Change in status of special utility relays (arithmetic flags) by arithmetic instructions (3/3)
1 When the result of COMPARE is negative, the relay turns ON. When the result is not negative, the relay remains OFF. 2 When the result of COMPARE is "0", the relay turns ON. When the result is not "0", the relay remains OFF. 3 When the result of COMPARE is positive, the relay turns ON. When the result is not positive, the relay remains OFF. 4 When the result of the arithmetic operation exceeds the 16-bit range ($FFFF), the relay turns ON. When the result is within the 16-bit range, the relay remains OFF. 5 When, as a result of the arithmetic operation, the data in the internal register is "0", the relay turns ON. When the data is not "0", the relay remains OFF. 6 When the result of the arithmetic operation is negative, the relay turns ON. When the result is not negative, the relay remains OFF. 7 When the result of the arithmetic operation is positive, the relay turns ON. When the result is not positive, the relay remains OFF. 8 When, as a result of the arithmetic operation, all of the 32 bits are "0", the relay turns ON. When any of them is not "0", the relay remains OFF. 9 When the divisor is "0", in the division, the relay turns ON. In this case, DIVIDE is not executed. 0 When, as a result of SHIFT or ROTATE, "1" is entered into 2009, it turns ON. When "1" is not entered, it remains OFF. A When as a result of INCREMENT MEMORY, the data of the data memory is "0", the relay turns ON. When the data is not "0", the relay remains OFF. B When as a result of DECREMENT MEMORY, the data of the data memory EXCEEDS 16 BIT RANGE ($FFFF), the relay turns ON. When the data is within the 16-bit range, the relay remains OFF. C When there is no "ON" bit in the internal register at execution of DEMULTIPLEXER, the relay turns ON. (In this case, "0" is entered in the internal register.) When there is a "ON" bit(s), the relay remains OFF. D When the data in the internal register exceeds $270F (#09999) at execution of TRANSFER BCD, the relay turns ON. (In this case, TRANSFER BCD is not executed.) When the data does not exceed $270F, the relay remains OFF. E When the data in the internal register is not BCD data at execution of TRANSFER BIN, the relay turns ON. (In this case, TRANSFER BIN is not executed.) When the data is BCD, the relay remains OFF. F When the higher-order byte or lower-order byte in the internal register is respectively not within the range of $30 through $39, or the range of $41 through $46 at execution of REVERSE ASCII CONVERT, the relay turns ON. (In this case, REVERSE ASCII CONVERT is not executed.) When the value is within the range, the relay remains OFF. G When the input value for TRIMMER SETTING is "0", the relay turns ON. When the value is not "0", the relay remains OFF. H During indirect addressing, there is no data memory or relay by the number specified by "TMxx". I When the result of the arithmetic operation exceeds the 16-bit range, the relay turns ON. When the result is within the 16-bit range, the relay remains OFF.
3-188
Chapter 2 Instructions
E C
2. Output is disabled in 0500 in the circuit shown below left. By modifying it as shown on the right, output of one scan only is disabled.
A 1000 A 1000 0500
1000
0500
1000
1 2
3. If the same coil is used in two positions, the latter position has priority and the coil in the former position is ignored.
A B 0500 A B 0500
0500
4. The circuit shown below left cannot be programmed. Modify it as shown on the right.
A B D F C E 0500 B D F C E E A 0500
5. The circuit shown below left cannot be programmed. Modify it as shown on the right.
A C D E 0501 B 0500 C A C E 0501 D B 0500
Chapter 2 Instructions
3-189
Programming precautions
1. A coil output or timer/counter cannot be connected directly from a bus. When an output coil or a timer/counter is required, insert a 'b' contact of an unused internal utility relay, a 'b' contact of an unused special utility relay, or a special utility relay 2002 (always ON) as a dummy.
0500 2002 0500
#0010 T000
#0010 T000
3. Make sure that every contact/coil is located on a path from a bus to an output line. Make sure that there are no unconnected portions.
A B C 0500
4. Make sure that illegal short-circuits are not generated in parallel connections.
0500 A B C
However, parallel connection is enabled when each circuit in parallel connection is connected to an output line.
A B D D 0500 0501
6 . When the following program is entered with the programming support software and sent to the KV, and then read from the KV with the software, reading is disabled due to a "Reverse Compilation Error". When a return is included in parallel connection in a ladder program, a decompilation (reverse compilation) error is generated as shown below. To prevent this error, change the ladder diagram to eliminate the return, or separate the parallel connection.
3-190
Chapter 2 Instructions
Chapter 3
Interrupts
The interrupt processing function executes an interrupt program when an external input or request from the high-speed counter comparator (interrupt factor) is encountered during KV operation. This chapter describes the types of interrupt factors as well as inputs and outputs encountered during interrupt processing. For KV-10/80 Series, see Chapter 6. 3.1 3.2
3.2.1 3.2.2 3.2.3 3.2.4
3.3
3.3.1 3.3.2
3.4
3.4.1 3.4.2 3.4.3 3.4.4
Visual KV Series
Visual KV Series
FUN
ANL RES
INT nnnn
Executes interrupt between INT and RETI instructions at rising or falling edge of input specified by operand. Represents termination of interrupts.
FUN
ORL LDB
RETI
0000
b) Interrupt input
0000
RETI ENDH
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015
Instruction LD EI LD HSP LD OR TMR OUT LD RES END INT LD OUT RETI ENDH
Operand 2008 2002 0000 1000 0500 000 #00020 0500 T0 1000 0000 2002 1000
Description
Example a) shows a normal input and is used when input relay 0000 turns ON longer than the input time constant (10 ms). Example b) is used when input relay 0000 turns ON shorter than the scan time.
Operands
0000 to 0003 CTC0 to CTC3
Key operation
FUN FUN
ANL
2 3
RES
0 4
ENT
R-SRCH
Operand
ENT
R-SRCH
ORL
LDB
ENT
R-SRCH
ENT
R-SRCH
3-192
Chapter 3 Interrupts
FUN FUN
RES AND
0 1
8 3
DI
SET ORL
EI
1000 EI 1000 DI
Coding
Line No. 0000 0001 0021 0022 Instruction LD EI LDB DI Operand 0000
1000
Description
When 1000 is ON, execution of interrupt is enabled. When 1000 is OFF, execution of interrupt is disabled. Interrupts are enabled between EI instruction and DI instruction. Once an EI instruction is executed, an interrupt is enabled until a DI instruction is executed. Any interrupt is disabled when the Visual KV Series starts operation. The DI instruction disables execution of an interrupt. Use this instruction to temporarily disable an interrupt. The EI instruction enables execution of an interrupt. Use this instruction to release an interrupt that was disabled by a DI instruction. To execute another interrupt during execution of the previous interrupt, include EI instruction in this first interrupt. EI-DI instruction set can be nested to four levels.
Note 1: When any interrupt occurs between DI and EI instructions (interrupt disabled period), the disabled interrupt is stored (to 8 levels max.). The stored interrupt is executed as soon as an EI instruction is executed. Note 2: If an INT CTC instruction is stored before a RES CTC instruction is executed, the stored INT CTC is deleted.
0 1
AND
8 3
ENT
R-SRCH
ENT
R-SRCH
SET
ORL
Chapter 3 Interrupts
3-193
Visual KV Series
1 3
Visual KV Series
For more about scan time, refer to "1.1.2 Scan Time" (p. 3-3).
Scan time
Program execution
Interrupt processing
Direct output
(0500 to 0503)
Direct input/output
The direct input/output functions are used during interrupt processing. Direct input allows the KV PLC to fetch the input status of input relays 0000 through 0015 (KV10xx: 0000-0005, KV-16xx: 0000-0009) during execution of the interrupt program. Direct output allows the Visual KV PLC to output the ON/OFF status of output relays 0500 through 0503 during execution of the interrupt program. No special setting is required to use the direct input/output functions. The functions can be used only by using the devices assigned for direct input/output within the interrupt program.
Executing interrupts
The INT (Interrupt) instruction is used to execute an interrupt. Since an interrupt is disabled at the start of operation, it is necessary to execute an EI (Interrupt enable) instruction before using the INT instruction. In addition, the input time constant should be set shorter by using the HSP instruction (to 10 s) or by specifying the desired value in DM1940 and turning ON special utility relay 2813.
For more about the input time constant, refer to "1.4.1 Input Time Constant Change Function" (p. 323).
3-194
Chapter 3 Interrupts
CAUTION
Input capture
Each external interrupt factor is provided with the input capture function. This is a function which writes the value of the high-speed counter into the data memory when an interrupt occurs. Without any particular settings, the value of the highspeed counter is automatically transferred to DM1928 through DM1935 when an interrupt occurs.
External interrupt factor Occurrence of INT0 Occurrence of INT1 Occurrence of INT2 Occurrence of INT3 Description Value of CTH0 is written to DM1928 (low-order bits) and DM1929 (high-order bits) Value of CTH0 is written to DM1930 (low-order bits) and DM1931 (high-order bits) Value of CTH1 is written to DM1932 (low-order bits) and DM1933 (high-order bits) Value of CTH1 is written to DM1934 (low-order bits) and DM1935 (high-order bits)
Chapter 3 Interrupts
3-195
Visual KV Series
1 3
CAUTION
Use SET-RES instructions to turn the special utility relays ON/OFF. The input capture function stores the high-order bit data only when the 24bit high-speed counter is used. The data is undefined when the 16-bit highspeed counter is used.
"4.4.1 24-bit High-speed Counter" (p. 3-221)
Visual KV Series
Timing of the input capture execution depends on the input polarity setting specified with special utility relays 2402 through 2405 and 2410 through 2413.
An interrupt program is not executed unless an EI instruction is executed. Set the input time constant shorter by using the HSP instruction (to 10 s) or by turning ON special utility relay 2813.
Write the interrupt program between the END and ENDH instructions.
RETI ENDH
Note 1: To shorten the input time constant, use the HSP instruction (to 10 s) or specify the desired value in DM1940 and turn ON special utility relay 2813. Note 2: For more about the input time constant, refer to "1.4.1 Input Time Constant Change Function" (p. 3-23). Note 3: Use SET-RES instructions instead of OUT-OUTB instructions within interrupt programs. The following instructions cannot be used within interrupt programs: TMR, TMH, TMS, DIFU, DIFD, W-ON, W-OFF, W-UE, W-DE, STG, JMP, ENDS, HKEY, ITVL, @xxxx (differentiation type instructions), C, UDC, SFT
3-196
Chapter 3 Interrupts
Chapter 3 Interrupts
3-197
Visual KV Series
1 3
Visual KV Series
Input 0000
ON OFF
ON
Output 0500
ON
1 sec.
ON
1 sec.
ON
1 sec.
OFF
Ladder diagram Converts the short pulses input from input relay 0000 into pulses of 1-second ON width and then outputs them from output relay 0500. Output relay 0500 turns ON for 1 second from the rising edge of input relay 0000.
2008 0001 0002 0003 0004 0005 2002 0006 0007 ENDH 0008 INT 0002 0500 SET RETI 2002 0500 #00010 T000 T0000 EI HSP 0000 0500 RES END
When power is turned on, an EI instruction enables interrupts. Sets the input time constant of input 0000 to 10 s. Turns ON output 0500 for 1 second and then turns it OFF.
3-198
Chapter 3 Interrupts
Scan
Input 0004
Visual KV
Sensor
Ladder diagram Output relay 0500 turns ON when the input value of the high-speed counter from input relay 0004 reaches "10000". Output relay 0500 turns OFF when input relay 0000 turns ON.
When power is turned on, an EI instruction enables interrupts. Sets automatic reset of CTH0. Resets current value of CTH0. Sets an input time constant of input 0004 to 10 s. Specifies CTH0 as the highspeed counter for input 0004 and sets "10000" as the preset value of CTC0. Turns OFF output 0500 when input 0000 turns ON.
0001 0002 0003 0004 0005 0006 0007 0008 0009 0010
2103 SET
0000
2002
Executes an interrupt when the input value of CTH0 reaches "10000". Turns ON output 0500.
Chapter 3 Interrupts
3-199
Visual KV Series
1 3
Visual KV Series
ON
Sensor Visual KV
Ladder diagram Special utility relay 2100 is turned ON to measure the pulse width using 1-s units. The values when input relay 0000 is ON is written into temporary data memory TM02, and the values when input relay 0000 is OFF is written into data memory DM1912. The pulse width can be obtained by subtracting the value of TM02 from the value of DM1912. The obtained value is written into data memory DM0000 (Unit: s).
2008 0001 2002 0002 2002 0003 0004 0005 2403 0006 2403 0007 0008 ENDH 0009 DM1928 LDA DM1928 LDA TM02 STA TM02 SUB DM0000 STA INT 0000 KEEP SET 2403 RES RETI EI HSP 0000 CTH0 2100 END
When power is turned ON, an EI instruction enables interrupts. Sets an input time constant of input 0000 to 10 s. CTH0 counts pulses with a 1-s internal clock.
Turns ON input 0000 to execute an interrupt. First, an interrupt is executed at the rising edge of input 0000. The current value of CTH0 stored in DM1928 is written to TM02. Turns ON special utility relay 2403 to change the interrupt polarity to the falling edge. Next, an interrupt is executed at the falling edge of input 0000. The value stored in TM02 is subtracted from the current value of CTH0 stored in DM1928, and the obtained ON width of input 0000 is written to DM0000. Turns OFF special utility relay 2403 to change the interrupt polarity to the rising edge.
3-200
Chapter 3 Interrupts
3.4.4 Measuring the Period in which a Target Passes between Two Points
Visual KV Series
Outline Measures the period in which two input relays turn ON.
ON OFF
ON OFF
Passing time (s)
Visual KV
Sensor 1
Sensor 2
Ladder diagram Measures the time from when input relay 0002 turns ON until input relay 0003 turn ON. The measured value is written to data memory DM0000 (Unit: s).
When power is turned on, an EI instruction enables interrupts. Sets the interrupt polarity of inputs 0002 and 0003 to the rising edge. Sets the input time constant of inputs 0002 and 0003 to 10 s.
1 3
2008 EI 0001 2002 0002 0003 2002 0004 0005 0006 0007 0008 2002 0009 0010
2410 RES
2411 RES
2412 RES
2413 RES
HSP 0002 HSP 0003 CTH1 2200 END INT 0002 RETI INT 0003 DM1934 DM1932 DM0000 LDA SUB STA RETI ENDH
When INT2 is executed, the current value of CTH1 is automatically transferred to DM1932 and DM1933 (Input capture). When INT3 is executed, the current value of CTH1 is automatically transferred to DM1934 and DM1935 (Input capture). Subtracts the input capture value of INT2 from that of INT3 to obtain the time it takes for the target to pass between two points and then writes it to DM0000.
0011
Chapter 3 Interrupts
3-201
Visual KV Series
3-202
Chapter 3 Interrupts
Chapter 4
High-speed Counters
This chapter describes high-speed counters and high-speed counter comparators, which allow high-speed pulse measurement and pulse output, independent of the scan time.
For KV-10/80 Series, see Chapter 6.
4.1 4.2
4.2.1 4.2.2
High-speed Counter Instructions ................................................ 3-204 Outline of High-speed Counters .................................................. 3-206
High-speed Counters and High-speed Counter Comparators ............... 3-206 Internal Clock for High-speed Counters ................................................. 3-210
4.3
4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7
4.4
4.4.1 4.4.2 4.4.3 4.4.4 4.4.5
4.5
4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.5.6
4.6
4.6.1 4.6.2
4.7
4.7.1 4.7.2 4.7.3 4.7.4
Visual KV Series
Visual KV Series
CTH0: 16-Bit Highspeed counter CTH1: 16-Bit Highspeed counter CTC: High-speed counter comparator
CTH
RES
: : :
CTH0 nnnn
CTH
SET
CTH1 nnnn
CTC
#ddddd CTCn
16-bit (0 to 65535) up/down counters for clock pulses with a 30-kHz input 1. response frequency. Can be changed to 24-bit (0 to 16777215) counters with the MEMSW instruction. 2. Enables 30 kHz, two-phase input through two channels.1. Hardware-based comparator between the preset value and current value of the high-speed counter. The current value can be changed to a preset value by external input.
1. KV-300/Visual KV only 2. Visual KV only
Example
2008
1)
2008 0000
2)
3)
CTC0
4)
0500
5)
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 Instruction LD HSP LD SET CON RES LD CTH0 CTC0 CTH0 0000 0004 #6000 Operand 2008 0004 2008 2103 Line No. 0009 0010 0011 0012 0013 0014 0015 0016 Instruction LD SET LD TMR AND RES CON RES 0500 Operand CTC0 0500 0500 000 #00030 T000 CTC0
3-204
Operands
CTH0: CTH1: 0004 2100 to 2102
CTC0 to 3:
Key operation
RES
CTH
Clock input
ENT
R-SRCH
SET
CTC
Operand
Preset value
ENT
R-SRCH
Description
1) Initializes the setting when power is turned on. The HSP instruction sets the input time constant of input relay 0004 to 10 s. The current value of CTH0 is reset as soon as it matches the preset value of CTC0 when special utility relay 2103 is ON. 2) The counting is disabled when input relay 0000 is OFF. Counting starts (at 0004) when input relay 0000 turns ON. 3) Sets "60000" as the preset value of the high-speed counter comparator. 4) When the current value of CTH0 reaches "60000", output relay 0500 turns ON and the current value is reset. 5) Turns OFF both CTC0 and 0500 for three seconds after output relay 0500 turns ON.
Tips
Unlike software-based counters, the high-speed counter is a hardware-based, program-independent counter. It achieves an input response frequency of 30 kHz without being affected by the scan time. Input relays 0004 and 0005 can independently count the pulses with a 30 kHz input response frequency. Two-phase encoder input can be captured through two channels (30 kHz). CTH0 uses input from relay 0004 as phase A input and input from relay 0006 as phase B input (KV-10xx: 0000). CTH1 uses input from 0005 as phase A input and input from 0007 as phase B input (KV-10xx: 0001).
Note: When phase differential input is used, pulses with a maximum frequency of 30 kHz can be counted, provided the pulses have a duty ratio of 1:1 (50%) and phase difference of 90. Inputting pulses with an irregular duty ratio or phase difference will decrease the allowable input frequency.
3-205
Visual KV Series
1 4
Visual KV Series
4.2.1
Internal clocks*
2100 (1.0 s) 2101 (10.0 s) 2102 (100.0 s)
Control circuit
0500
External input
0004/0006
CTC0
CTC1
Internal clocks*
2200 (1.0 s) 2201 (10.0 s) 2202 (100.0s)
Control circuit
high-speed counter comparator high-speed counter comparator
External input
0005/0007
CTC2
CTC3
0009 (RESET) 2.
1. With the KV-10xx, the external input relay for CTH0 is 0004 (phase A)/0000 (phase B), and for CTH1 is 0005 (phase A)/0001 (phase B). 2. With the KV-10xx, the preset input relay for CTH0 is 0002, and for CTH1 is 0003. For KV-10/80 user's Max. response frequency: 10 kHz * 2100 0.8 s 2101 6.4 s 2102 102.4 s 2200 0.4 s 2201 0.8 s 2202 3.2 s
3-206
ON: Yes OFF: No ON: Disable OFF: Enable ON: Yes OFF: No ON: Yes OFF: No ON: Yes OFF: No ON: Disable OFF: Enable ON: Yes OFF: No ON: Yes OFF: No ON: Yes OFF: No ON: Yes OFF: No
* Read-only relay.
Multiplication mode 2113 2114 No multiplication (1 pulse) OFF OFF
x2 ON OFF
x4 OFF ON
2 pulses ON ON
ON: Yes OFF: No ON: Disable OFF: Enable ON: Yes OFF: No ON: Yes OFF: No ON: Yes OFF: No ON: Disable OFF: Enable ON: Yes OFF: No ON: Yes OFF: No ON: Yes OFF: No
2212 ON: Yes OFF: No 2213 Selects multiplication mode for CTH1. 2214 OFF/OFF: No multiplication (1 pulse) ON/OFF: x2 OFF/ON: x4 ON/ON: 2 pulses
* Read-only relay.
Multiplication mode 2213 2214 No multiplication (1 pulse) OFF OFF
x2 ON OFF
x4 OFF ON
2 pulses ON ON
3-207
Visual KV Series
1 4
Visual KV Series
2408 Changes current value of CTH1 to preset value by external signal 2409 OFF/OFF: Not used ON/OFF: At rising edge OFF/ON: At falling edge ON/ON: Level 2414 Sets CTH1 as ring counter. ON: Yes OFF: No 2415 Ignores phase B input when no multiplication mode is used for CTH1. ON: Ignore phase B input and always count up. OFF: Use phase B input as usual.
Data memory
DM No. DM1900/DM1901 DM1902/DM1903 DM1904/DM1905 DM1906/DM1907 DM1908/DM1909 DM1910/DM1911 DM1912/DM1913 DM1914/DM1915 DM1916/DM1917 DM1918/DM1919 DM1920/DM1921 DM1922/DM1923 DM1924/DM1925 DM1926/DM1927 Description Current value of 24-bit CTH0 (low-order bits/high-order bits) is read. Current value of 24-bit CTH1 (low-order bits/high-order bits) is read. Current value of 24-bit CTC0 (low-order bits/high-order bits) is read. Current value of 24-bit CTC1 (low-order bits/high-order bits) is read. Current value of 24-bit CTC2 (low-order bits/high-order bits) is read. Current value of 24-bit CTC3 (low-order bits/high-order bits) is read. Current value of 24-bit CTH0 (low-order bits/high-order bits) is written. Current value of 24-bit CTH1 (low-order bits/high-order bits) is written. Preset value of 24-bit CTC0 (low-order bits/high-order bits) is written. Preset value of 24-bit CTC1 (low-order bits/high-order bits) is written. Preset value of 24-bit CTC2 (low-order bits/high-order bits) is written. Preset value of 24-bit CTC3 (low-order bits/high-order bits) is written. Preset value of CTH0 (low-order bits/high-order bits) is written. Preset value of CTH1 (low-order bits/high-order bits) is written.
4
Note 1: As with the internal register, the contents of data memory are stored as 16bit binary data. Note 2: The contents of data memory are stored even when the Visual KV is turned off or "ALL DATA MEMORY CLEAR" is executed. It is stored more than 20 days with the KV-10xx, and more than two months with other models.
High-speed counters CTH0 and CTH1 store current values only. When input relays 0004 and 0005 are selected as operands, they can be used as high-speed counters with a response frequency of 30 kHz. When special utility relays 2100 through 2102 and 2200 through 2202 are selected as operands, the high-speed counters can be used as high-speed timers. When relay 0500 is selected as an operand for CTH1, CTH1 can count the clock pulses produced by CTH0. CTH0 and CTH1 can be used as 24-bit high-speed counters when the MEMSW instruction is set.
"MEMSW instruction" (p. 3-92), "4.4.1 24-bit High-speed Counter" (p. 3-221), "4.3.4 Count Input Method" (p. 3-212), "When using comparator output from other counters as count input" (p. 3-213).
3-208
Note 1: Once the high-speed counter comparator turns ON, it remains ON until a RES instruction is encountered. Note 2: When a high-speed counter comparator is used as an interrupt, the interrupt is executed as soon as the current value of the high-speed counter reaches the preset value of the comparator. At the same time, the contact for the high-speed counter comparator automatically turns OFF. Note 3: CTC2 or CTC3 cannot be used as comparators for CTH0; CTC0 or CTC1 cannot be used as comparators for CTH1. Note 4: Do not specify "#00000" as the preset value for CTC0 through CTC3.
3-209
Visual KV Series
1 4
Visual KV Series
High-speed counter internal clock error Absolute error: 200 ppm Temperature coefficient: 00 Relative error between CTH0 and CTH1: 0
3-210
Refer to "4.4.1 24-bit High-speed Counter" (p. 3-221) when using the 24-bit high-speed counter.
1 4
Refer to "4.4.1 24-bit High-speed Counter" (p. 3-221) when using the 24-bit high-speed counter.
3-211
Visual KV Series
Three types of internal clocks are provided: 1 s, 10 s, and 100 s. Set the desired internal clock with a special utility relay.
OFF
OFF
OFF
OFF
OFF
OFF
OFF
OFF
ON
OFF
OFF
ON
ON
OFF
ON
OFF
ON
ON
ON
ON
Operation mode The counting method can be selected from the following when external inputs are used. The ring counter function is available for each counting method.
For more about the ring counter, refer to "4.4.4 Ring Counter Function" (p. 3-225).
Types of operation modes No multiplication mode (single-phase input) Counts up at the rising edge of phase A while phase B is OFF. Counts down at the rising edge of phase A while phase B is ON. With direction judgement (Special utility relay 2407: OFF)
(Phase A) 0004 (Phase B) 0006
ON OFF ON OFF
Phase B input can be ignored by turning ON special utility relay 2407 (for CTH0) or 2415 (for CTH1).
3-212
ON OFF ON OFF
Counts up/down based on the phase difference between two-phase pulse inputs (phase A and phase B).
ON OFF ON OFF
2-pulse method mode: Counts up at the rising edge of phase A and counts down at the rising edge of phase B.
(Phase A) 0004 (Phase B) 0006
ON OFF ON OFF
Count up: Rising edge of phase A Count down: Rising edge of phase B
Note 1: Use SET-RES instructions to set the special utility relays. Note 2: When using phase differential input, pulses with a maximum frequency of 30 kHz can be counted, provided the pulses have a duty ratio of 1:1 (50%) and phase difference of 90. Inputting pulses with an irregular duty ratio or phase difference will decrease the allowable input frequency. When using comparator output from other counters as count input When relay 0500 is specified as the operand for CTH1, the pulses produced by CTH0 can be directly output from 0500 to CTH1. In this case, input relays 0005 (phase A) and 0007 (phase B) for CTH1 can be used as normal input relays.
ON
0500
OFF
(Counter value)
CTH1
3-213
Visual KV Series
1 4
Visual KV Series
Note: Do not specify the same values for CTC0 and 1 (2 and 3) to automatically reset the counter with both comparators.
Scan
CTH
4
Reset with the RES CTH instruction
CTH = CTC
Resets the counter by writing a RES CTH instruction to the program. This reset operation is dependent on the scan time.
Scan
CTH
CTH is reset by the output process of the scan which executes the RES CTH instruction.
CTH is reset at execution of the CTH instruction during the scan after the inputenable relay turns OFF.
3-214
CTH is reset at the instant the external reset input relay turns ON.
Preset function
The current value of CTH can be changed to any desired value by using the external reset function of input relays 0008 (KV-10xx: 0002) (for CTH0) or 0009 (KV-10xx: 0003) (for CTH1) specified with special utility relays 2400 and 2401 (for CTH0) or 2408 and 2409 (for CTH1). (The external reset function sets the value to "0".) Write the desired value of the preset input into the following data memories:
DM No. DM1924 (low-order bits), DM1925 (high-order bits) DM1926 (low-order bits), DM1927 (high-order bits) Description Preset value for CTH0 Preset value for CTH1
Use the STA or DW instruction to write data to the data memory. Note 1: The preset function is available only with the external reset input. The CTH value is reset to "0" with other resetting methods. Note 2: Use the SET, RES instruction pair to set the special utility relays. Note 3: When 16-bit high-speed counter is used, write the preset values into DM1924 and DM1926 only.
3-215
Visual KV Series
1 4
4.3.6 Differences with the CTH Instruction between the Conventional and Visual KV Series
Visual KV Series
The Visual KV Series has some different high-speed counter operations from the conventional KV Series [KV-10/16/24/80R(W)/T(W)]. Input-enable relay
0001 CTH0 0004
Input-enable relay
Count input
With the conventional KV Series, the current value of the high-speed counter is reset when the CTH instruction is executed while the input-enable relay is OFF. However, the counter continues counting until the end of the scan time. As a result, when the input-enable relay starts counting again, the counter may already be incremented by the length of the scan time. With the Visual KV Series, the current value of the high-speed counter is reset at the falling edge of the input-enable relay, so that the counter does not continue counting.
High-speed counter (CTH) The conventional KV Series includes high-speed counter CTH0, which is an 8-bit counter. The period of the internal clock is different from that in the new KV Series. The Visual KV Series allows you to reset a high-speed counter with external inputs. Its high-speed counter CTH0 is a 16-bit counter (can also be used as 24bit counter). With the Visual KV Series, when using the high-speed counter, the input time constant must be set shorter by using the HSP instruction or by turning ON special utility relay 2813. Phase differential input The Visual KV Series allows phase differential input for the high-speed counter. Response frequency The Visual KV Series provides a response frequency of 30 kHz. High-speed counter comparator The high-speed counter comparator turns ON the contact when its preset value matches the current value of the high-speed counter. Consequently, the contact may turn ON during the scan time. Be careful when using the contact for one comparator in several points in a program. Special utility relay A portion of the special utility relay assignment is different from that of the conventional KV Series.
3-216
2008 EI 2002
2113 SET
2114 RES
2213 SET
2214 RES
CTH0 RES HSP 0004 HSP 0005 HSP 0006 HSP 0007
Sets input time constant of inputs 0004, 0005, 0006, and 0007 to 10 s.
0000
Phase differential input to inputs 0004 and 0006 Specifies preset value of CTC0 to "#60000". Phase differential input to inputs 0005 and 0007
2002
CTH1 LDA
#60000 CMP
2009 2009
0500 RES 0500 SET CTH0 RES CTH1 RES RETI ENDH
2002
Compares current value of CTH1 with "#60000". Turns ON 0500 when value is greater than "#60000". Turns OFF 0500 when value is smaller.
3-217
Visual KV Series
1 4
Visual KV Series
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0015 0016
Instruction LD SET CON RES LD HSP LD CTH1 CTC2 LD OUT CON TMR CON AND RES
Operand 2008 2203 CTH 2002 0005 2002 0005 #60000 CTC2 0502 001 #00030 T001 CTC2
4
2002
3-218
Initial setting
Cording
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 Instruction LD EI CON SET CON SET CON RES CON SET CON RES CON RES LD HSP Operand 2008 Line No. 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 Instruction HSP HSP LDB CTH CTC LD LDA CON STA END INT LD SET RETI ENDH Operand 0006 0008 0500 0 0004 0 #60000 2002 CTH0 DM0000 CTC0 2002 0500
Initial setting Special utility relays Turn ON 2013 to reset the current value of CTH0 when CTC0 turns ON. Turn ON 2113 and turn OFF 2114 to set the high-speed counter to double (x2) multiplication mode. Turn ON 2400 and turn OFF 2401 to enable the external reset. The counter is reset at the rising edge of input 0008. Note : External reset input 0008 is set with hardware. Programming is not necessary except for setting the external reset enable relays (2400 to ON and 2401 to OFF).
3-219
Visual KV Series
1 4
Visual KV Series
Cording
Line No. 0000 Instruction LD SET CON SET CON RES CON RES CON SET LD HSP HSP HSP LD 2400 2002 0004 0006 0008 0000 CTH0 2114 2113 Operand 2008 2103 Line No. 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 Instruction CTH LD LDA CON STA CON LDA CON DIV CON TBCD CON STA END ENDH 0600 #00002 CTH0 TM00 Operand 0 0004 2002 #0000
0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014
Initial setting Special utility relays Turn ON 2013 to reset the current value of CTH0 when CTC0 turns ON. Turn ON 2113 and turn OFF 2114 to set the high-speed counter to double (x2) multiplication mode. Turn ON 2400 to enable the external reset. The counter is reset at the rising edge of input 0008. Note : The external reset input 0008 is set with hardware. Programming is not necessary except for setting the external reset enable relay (2400 to ON).
3-220
The following data memories are used for 24-bit operation. Read areas
DM No. DM1900 DM1901 DM1902 DM1903 DM1904 DM1905 Description Low-order bits of current CTH0 value High-order bits of current CTH0 value Low-order bits of current CTH1 value High-order bits of current CTH1 value Low-order bits of preset CTC0 value High-order bits of preset CTC0 value DM No. DM1906 DM1907 DM1908 DM1909 DM1910 DM1911 Description Low-order bits of preset CTC1 value High-order bits of preset CTC1 value Low-order bits of preset CTC2 value High-order bits of preset CTC2 value Low-order bits of preset CTC3 value High-order bits of preset CTC3 value
Write areas
DM No. DM1912 DM1913 DM1914 DM1915 DM1916 DM1917 Description Low-order bits of current CTH0 value High-order bits of current CTH0 value Low-order bits of current CTH1 value High-order bits of current CTH1 value Low-order bits of preset CTC0 value High-order bits of preset CTC0 value DM No. DM1918 DM1919 DM1920 DM1921 DM1922 DM1923 Description Low-order bits of preset CTC1 value High-order bits of preset CTC1 value Low-order bits of preset CTC2 value High-order bits of preset CTC2 value Low-order bits of preset CTC3 value High-order bits of preset CTC3 value
3-221
Visual KV Series
This section describes the 24-bit high-speed counter and ring counter functions.
1 4
Visual KV Series
"Setting the 24-bit high-speed counter comparator" (below) and "4.4.2 Changing the Current Value of a 24-bit High-speed Counter" (p. 3-223)
Note 1: Use the SET, RES instruction pair to set the special utility relays. Note 2: The 16-bit/24-bit high-speed counter setting with the MEMSW instruction is effective when the Visual KV is in RUN mode. You must change the program to change between 16-bit and 24-bit settings.
2. Change the preset value of CTC. (See the notes on the next page.) With the Access Window Call CTC in device mode and change the value. With the "KV IncrediWare (DOS)" programming support software Change the preset value of CTC with the "Edit Device CTC" [F2] option. With the "LADDER BUILDER for KV" programming support software Change the preset value of CTC in the dialog box. With the KV-P3E(01) handheld programmer Change the preset value of CTC with the "TIMER COUNTER SETTING CHANGE" function.
For more about detailed operation, refer to "Chapter 3 Access Window" (p. 1-79), "Chapter 6 Handheld Programmer" (p. 1-195) and "Chapter 2 Instructions" (p. 3-33).
Note 1: When the preset value of a 24-bit CTC is changed with an instruction such as STA CTC0, the value entered as an operand is ignored but the value written in DM1916 through DM1923 is referred to and used as the preset value. Note 2: Be sure to write the desired value to the write area of the high-speed counter comparator preset value (DM1916 through DM1923) before executing the change operation (e.g., STA instruction).
3-222
Note 1: The current value of the high-speed counter cannot be changed in the ladder program. Note 2: DM1900 to DM1923, the data memories for 24-bit high-speed counters, can be used only when a 24-bit high-speed counter is specified with the MEMSW instruction.
1 4
3-223
1)
2)
3)
4)
5)
6)
END ENDH
1) Sets CTH0 as the 24-bit high-speed counter with the MEWSW instruction. (Turn on 3 of SW3.)
2) When power is turned on, writes the preset value "1000000" of the high-speed counter comparator (CTC0) and sets the value with the STA CTC0 instruction. 3) Sets the input time constant of input relay 0004 to 10 s. 4) Counts pulses at input relay 0004 with high-speed counter CTH0. 5) Defines a dummy high-speed counter comparator. 6) Reads the current value of CTH0 into data memory DM0000 (low-order bits) and DM0001 (high-order bits) each scan time.
3-224
65535
Ring counter
65535
Setting procedure When setting the ring counter, use CTC1 for CTH0 and CTC3 for CTH1. Set the upper limit (preset value) to CTC1 or CTC3 and turn ON special utility relay 2406 (for CTH0) or 2414 (for CTH1). The ring counter is set to read "CTC1/ CTC3 preset value - 1" when it counts down from "0" by one. To use the ring counter for both counting up/down operations, turn ON special utility relay 2112 (for CTH0) or 2212 (for CTH1).
High-speed counter When CTH0 is used When CTH1 is used High-speed counter comparator Special utility relay
Set "upper limit value + 1" to CTC1. Turn ON 2406. Set "upper limit value + 1" to CTC3. Turn ON 2414.
Note 1: Use the SET-RES instruction pair to set the special utility relays. Note 2: The flag or the count-up interrupt for each CTC is effective in counting up operations, but is disabled in counting down operations. Example: When CTC = 100
Count up Count down
CTC
CTH
0 1 2 97 98 99 0 1 2 2 1 0 99 98 97
3-225
Visual KV Series
1 4
Visual KV Series
9999
2008 EI 2002
2113 SET
2114 RES
2406 SET
2112 SET
CTH0 RES
1)
Sets ring Sets high-speed counter in counter. double (x2) multiplication mode.
2002
3)
4)
0500
#00010 T000
T000
5)
6)
1) When the power is turned on, an EI instruction enables interrupts. Sets highspeed counter CTH0 in double (x2) multiplication mode, CTH0 as a ring counter, and the high-speed counter automatic reset function at counting up. Resets the high-speed counter. 2) Sets the input time constant for input relays 0004 and 0006 to 10 s. 3) Counts 2-phase pulses of input relays 0004 and 0006 at CTH0. 4) Sets the preset value of high-speed counter comparator CTC1 to "10000". 5) Output relay 0500 turns ON for 1 second and then turns OFF. 6) When CTC1 turns ON, an interrupt is executed. Output relay 0500 turns ON.
3-226
99999
0001 0002
2008 EI 2113 SET 2114 RES 2406 SET
Sets ring counter.
1)
2)
0003
CTC1 STA
3)
0004 0005 0006 0007 0008 0009 0010 0011 0012 0013
2002
HSP 0004
4)
HSP 0006 2002 CTH0 0004 #65535 CTC1 0500 #00010 T000 T000 0500 RES END INT CTC1 2002 0500 SET RETI ENDH
8) 5)
6)
7)
1) Sets CTH0 as a 24-bit high-speed counter using the MEMSW instruction (Turn on 3 of SW3.). 2) When the power is turned on, an EI instruction enables interrupts. Sets highspeed counter CTH0 in double (x2) multiplication mode, CTH0 as a ring counter, and high-speed counter automatic reset function at counting up. Resets the highspeed counter. 3) Writes the preset value "100000" of high-speed counter comparator (CTC1) for the 24-bit high-speed counter (CTH0). Sets the preset value with the STA CTC0 instruction. 4) Sets the input time constant for input relays 0004 and 0006 to 10 s. 5) Counts 2-phase pulses of input relays 0004 and 0006 at CTH0. 6) Describes a dummy high-speed counter comparator. 7) Output relay 0500 turns ON for 1 second and then turns OFF. 8) When CTC1 turns ON, an interrupt is executed. Output relay 0500 turns ON.
3-227
Visual KV Series
1 4
Pulse duty Pulse duty is the ratio of the pulse widths between ON time and OFF time. A pulse duty of 50% means that the pulse widths between ON time and OFF time are the same, as follows.
ON OFF
Device used for specified frequency pulse output Special utility relays
Relay No. 2306 2307 Description Use specified frequency pulse output. ON: Yes, OFF: No Function is forced OFF when error relay 2307 turns ON. Error flag for specified frequency pulse output function. Turns ON when contents of DM1936 is other than 16 to 50000.
Data memory
DM No. DM1936 Description Preset value for specified frequency pulse output is written.
3-228
1)
1) Sets the upper limit of the digital trimmer to "10000" and turns ON special utility relay 2306 to start the specified frequency pulse output. 2) Sets the input value of the digital trimmer as the output frequency value. 3) Output relay 0500 turns ON when a setting error occurs.
3-229
Visual KV Series
1 4
Visual KV Series
1) 2) 3) 4) 5)
#00016 DM0000 DM1936 LDA STA CMP T000 DM1936 DM0000 LDA CMP
6)
0008
0009 0010 0011
2002 DM0000 DM1936 #00100 LDA SUB CMP 2011 2011 TM02 STA DM1936 LDA TM02 ADD
7)
8)
DM1936 STA
1) Sets "16" as the preset speed at the rising edge of input relay 0000. Turns ON special utility relay 2306 to start the specified frequency pulse output. Then, turns ON the operating flag. 2) Turns ON slow-down-stop flag 1101 at the rising edge of input 0001. 3) When the slow-down-stop flag turns ON, sets the preset speed to "16". When the output frequency reaches "16", turns OFF the operation start flag, operating flag, and slow-down-stop flag. 4) Activates a 100-ms flicker circuit while the operating flag turns ON. 5) Compares the current speed and preset speed every 100 ms. Executes subroutine 0 when the preset speed is faster, and executes subroutine 1 when the preset speed is slower. 6) Output relay 0500 turns ON when a setting error occurs. 7) Acceleration process. When the current speed is slower than the preset speed by less than "100", the speed is accelerated by the difference. When the difference is "100" or more, the speed is accelerated by "100". 8) Deceleration process. When the current speed is faster than the preset speed by less than "100", the speed is decelerated by the difference. When the difference is "100" or more, the speed is decelerated by "100".
3-230
Data memory
DM No. DM1404 DM1405 Description Measurement cycle (ms) of frequency counter [1 to 1000] Result of frequency count (Hz) of frequency counter
Operation flow 1. Set the high-speed counter with external input. Use the END instruction and measure how much time has elapsed since the last measurement in units of 10 s. After each scan, pulses are counted within the time specified with the data memory. The frequency is calculated from the count value and written into data memory. 2. When the time specified with DM1404 elapses from the last measurement, the current value of CTH0 is fetched and divided by the elapsed time (Unit: 10 s). The frequency is obtained with the following calculation. Frequency (Hz) = (100,000 x Pulse count)/Elapsed time (Unit: 10 s) 3. The calculation result (Hz) is written into DM1405. Setting method 1. Specify the counting period for the frequency counter (the interval of frequency measurement [Unit: ms]) in data memory DM1404. 2. The preset value must be greater than the scan time. When a value smaller than the scan time is specified, the frequency is measured each scan time. Note 1: To use the frequency counter function, set the input time constant to 10 s with the HSP instruction or the special utility relay. (A maximum frequency of 30 kHz can be measured.). Note 2: The counting start/stop or measurement result is updated after each scan. Therefore, the counting period includes some scan time errors for the time specified with DM1404. Set the counting period so that overflow does not occur at CTH. Note 3: Specify the counting period so that the number of pulse inputs in one period is between 2 and 65535, inclusive. Note 4: Measurement may fail when the pulse period is 5000 ms or more. Note 5: The frequency counter cannot be used when CTH0 is used in the ladder program. Note 6: Special utility relays concerning CTH0, CTC0/1, and the cam switch cannot be used. Note 7: CTH0 and the cam switch function cannot be used when the frequency counter is used.
3-231
Visual KV Series
1 4
Visual KV Series
1) 2)
1) Sets the counting period to "1000 ms (1 second)" and turns ON special utility relay 2305 to start the frequency counter function. 2) Sets the input time constant for input relay 0004 to 10 s. 3) Stores the measured frequency (Hz) into data memory DM0000. Program for synchronous control The following ladder program illustrates synchronous control using the frequency counter and pulse output functions. Measures the frequency of pulses at input relay 0004 every 100 ms and outputs pulses of the same frequency from output relay 0501.
4
0001 0002 0003 0004 0005 0006
2305 SET
1) 2)
1) Sets the counting period to "100 ms" and turns ON special utility relays 2305 and 2306 to start the frequency counter and the specified frequency pulse output functions. 2) Sets the input time constant for input relay 0004 to 10 s. 3) Uses the measured frequency (Hz) as the preset value for the output frequency (Hz). 4) Turns on output relay 0500 when an error occurs in the setting of the specified frequency pulse output.
3-232
The preset value in the data memory is registered at the rising edge of the start relay. When the preset value is changed, turn OFF special utility relay 2314 once and then turn it ON again to register the new value. Timing diagram of cam switch function
Start relay
2314
In-operation relay
2715
Executed
Stopped
Operation with the ladder program. Operation automatically executed by the Visual KV. Description: When start relay 2314 is turned ON, the Visual KV automatically turns OFF start relay 2314 and turns ON in-operation relay 2715 to activate the cam switch function. When in-operation relay 2715 is turned OFF, the cam switch function is stopped.
DM1408/ DM1409
DM1468/DM1469 DM1470
Angle at which 32nd relay turns ON/OFF (Unit: 0.1 deg.) (0 to 65534) Reserved for system use
3-233
Visual KV Series
1 4
Visual KV Series
Description Stores initial address of output relays (Values other than 1900 through 2900 whose last two digits are 00.). Value to be compared (0 to 65534) Enter "65535" to use multi-stage comparator mode. Preset value at which first output relay turns ON/OFF (0 to 65534) Preset value at which second relay turns ON/OFF (0 to 65534)
DM1468/DM1469 DM1470
Preset value at which 32nd relay turns ON/OFF (0 to 65534) Reserved for system use
Setting method
In cam switch mode 1. Write the initial number of output relays to be used into DM1400.
Be sure to write the initial relay number of each channel. Example 0500, 0600: Acceptable, 0501, 0610: Unacceptable 2. Write the number of pulses in two pulse-periods of the encoder connected to CTH0 into DM1402. (Twice the number of pulses for one rotation.) 3. Specify the angle at which the first relay turns ON (Unit: 0.1 deg.) into DM1406. Use units of 0.1 deg. to specify the preset angle for the cam switch mode. (Write the value of [Desired angle x 10] into data memory.) 4. Specify the angle at which the first relay turns OFF (Unit: 0.1 deg.) into DM1407. 5. Specify the angle at which the second relay turns ON (Unit: 0.1 deg.) into DM1408. 6. Specify the angle at which the second relay turns OFF (Unit: 0.1 deg.) into DM1409. 7. Repeat steps 3 through 6 as many times as the number of relays to be used (32 relays max.). 8. Turn ON special utility relay 2314. This relay automatically turns OFF when the cam switch function is activated. 9. Turn OFF special utility relay 2715 to stop the operation. In multi-step comparator mode 1. Write the initial number of output relays to be used into DM1400. Be sure to write the initial relay number of each channel. Example 0500, 0600: Acceptable, 0501, 0610: Unacceptable 2. Write the value to be compared into DM1401, and write "65535" into DM1402. 3. Specify the preset value at which the first relay turns ON into DM1406. 4. Specify the preset value at which the first relay turns OFF into DM1407.
3-234
9. Turn OFF special utility relay 2715 to stop the operation. Note 1: When the cam switch function is used, 32 relays from the relay No. specified with DM1400 is occupied for the function regardless of whether they are used or not. As a result, these relays cannot be used for any other purpose. Note 2: To use the cam switch mode, set the input time constant to 10 s with the HSP instruction or the special utility relay. (A maximum frequency of 30 kHz can be measured.) Note 3: When any improper value is set in data memory, the setting error occurs and special utility relay 2315 turns ON. Note 4: CTH0 and the frequency counter function cannot be used while the cam switch function is being used. Note 5: The cam switch function cannot be used when CTH0 is used in the ladder program. Note 6: Special utility relays concerning CHT0, CTC0/1, and the frequency counter function cannot be used. Note 7: The scan time is extended by a maximum of 16 ms when the cam switch function is activated. Note 8: The in-operation relay of the cam switch function (2715) remains ON even when the mode is changed or the power is turned OFF. Note 9: Use the END instruction to change relays or turn them ON/OFF. Note 10: When the encoder is ON in cam switch mode while the KV is OFF, the count may be shifted for the time between the start-up and phase Z input. Note 11: The encoder count is stopped in cam switch mode while the Visual KV is OFF. (While the Visual KV is ON, the count is continued even in PROGRAM mode.) Note 12: When a value of 360 or more is specified as the preset angle for the cam switch function, the value is converted into one within the range of 0 to 360 before the control. Example: When 500 is specified, it is converted to 140.
3-235
Visual KV Series
8. Turn ON special utility relay 2314. This relay automatically turns OFF when the cam switch function is activated.
1 4
Visual KV Series
2)
3)
4)
5)
6)
7)
1) Sets "0600", which is the initial number of relays used for the cam switch function, to DM1400 and sets twice the number of pulses for one encoder rotation (360 x 2 = 720) to DM1402. 2) Specifies the preset angles at which output relays 0600 through 0603 turn ON/OFF. 3) Sets the input time constant for input relay 0004 to 10 s. 4) Sets the input time constant for input relay 0006 to 10 s. 5) Sets the input time constant for input relay 0008 to 10 s. 6) The cam switch operation starts when input relay 0000 turns ON. 7) The cam switch operation stops when input relay 0001 turns ON.
3600 (360)
270 DM1413
Timing Diagram
DM1406 DM1407
1st relay 0600 OFF 2nd relay 0601 ON OFF 3rd relay 0602 ON OFF 4th relay 0603 ON OFF
ON
DM1408
DM1409
DM1410
DM1411
DM1412
DM1413
90
180
3-236
This section describes the outline and setting method for direct clock pulse output.
Using the high-speed counter (CTH) and high-speed counter comparator (CTC), the KV PLC can output clock pulses directly through output relays 0500 and/or 0501 without any delays caused by the scan time. The period (frequency) and width of the pulses are determined by the period of the internal clock used for the high-speed counter (CTH) and high-speed counter comparator (CTC). The period of the clock pulse (frequency) can be changed with the program within the following ranges.
Output Internal clock 2100 (1.0 s) 0500 2101 (10.0 s) 2102 (100.0 s) 2200 (1.0 s) 0501 2201 (10.0 s) 2202 (100.0 s) Range of pulse period (Frequency) 20 s (50 kHz) to 65.5 ms (15 Hz) 20 s (50 kHz) to 655.3 ms (1.5 Hz) 200 s (5 kHz) to 6553.5 ms (0.15 Hz) 20 s (50 kHz) to 65.5 ms (15 Hz) 20 s (50 kHz) to 655.3 ms (1.5 Hz) 200 s (5 kHz) to 6553.5 ms (0.15 Hz)
Pulses of the internal clock are counted with the high-speed counter (CTH). When the number of current pulses reaches the preset value of the high-speed counter comparator (CTC), the ON/OFF status of output relays 0500 and/or 0501 is toggled to output direct clock pulses. Count value
CTC
ON
ON
Note 1: The operation of output relays 0500 and 0501 are determined by setting the special utility relays. Note 2: For more about setting special utility relays, refer to "4.2 Outline of Highspeed Counters" on page 3-206. Note 3: The ON/OFF status when the direct clock pulse output is started is the same as when the last direct clock pulse output is stopped. (Initial status: OFF) Note 4: Output relays 0500 and 0501 cannot be used in a normal program during direct clock pulse output.
3-237
Visual KV Series
1 4
Visual KV Series
By using two high-speed counter comparators, you can change only the pulse width while keeping the pulse period constant, or change only the pulse period while keeping the pulse width constant. The following examples illustrate how the pulse width and period can be selected with the high-speed counter comparator. ON-OFF ratio of 1:1
ON/OFF status is set by special utility relays.
ON OFF
Pulse width
Pulse period
Pulse width (s) = CTC0 preset value x internal clock (s) Pulse period (s) = CTC0 preset value x 2 x internal clock (s) Use the following calculation to obtain the pulse period from the frequency: Pulse period (s) = 1,000,000/Frequency (Hz)
Example:
To output 10-kHz pulses Pulse period = 1,000,000 10,000 = 100 s Preset value for CTC0 = 10 2 1 = 50
Variable pulse width The period and width of the pulse can be changed by changing the preset values of CTC0 and CTC1.
ON/OFF status is set by special utility relays.
ON OFF
Pulse width
Pulse period
Pulse width (s) = CTC1 preset value x internal clock (s) Pulse period (s) = CTC0 preset value x internal clock (s) Change CTC1 preset value to change the pulse width. Change CTC0 preset value to change the pulse period.
Note: The pulse width determined above is the pulse width produced inside the Visual KV PLC. In reality, the output pulse width may vary depending on the response delay of the output circuit and the load connected to this circuit. Be sure to determine the pulse width after monitoring the actual output waveform with an oscilloscope. (Monitor the pulses of variable pulse width.)
3-238
Pulse width
Pulse period
CTC preset value for pulses with variable pulse width CTC preset value for pulse width = Pulse width (s) Internal clock (s) CTC preset value for pulse period = Pulse period (s) Internal clock (s)
ON OFF
Pulse width
Pulse period
Note 1: Set the CTC preset value to 10 or more when the operands for the highspeed counter (CTH) is 2100 and 2200. The clock pulse output may be improper when the preset value is set to less than 10. Note 2: The pulse width may vary depending on the load connected to the circuit. Be sure to determine the pulse width after monitoring actual output waveform with an oscilloscope. Note 3: When CTC0 and CTC1, or CTC2 and CTC3, are used to output the clock pulse, do not specify the same value for the preset values of CTC0 and CTC1, or of CTC2 and CTC3.
3-239
Visual KV Series
1 4
Visual KV Series
2104 CTC0 2105 2106 2107 2108 2109 CTC1 211 2111 2112
Setting the special utility relay The special utility relay must be set to output the clock pulse. Set the relays in the following manner. Only one relay for each group can be turned ON from relays 2104 through 2107 and 2108 through 2111. Use the SET-RES pair or STA instruction to turn relays 2103 through 2112 ON/ OFF. Turning OFF relays 2104 or 2108 enables control of output relay 0500. To change the pulse width, be sure to first turn ON relays 2103 or 2112 to automatically clear the current value of CTH0. You cannot change the pulse period unless you turn ON relays 2103 or 2112. Turning ON/OFF relay 2105 stops/outputs the clock pulse. Note: If two or more relays of special utility relays 2104 through 2107 or 2108 through 2111 are turned ON, priority is given to the relay with the smaller number. Operation of output 0500 by setting special utility relays
Outputting a pulse with 1:1 ON/OFF ratio
Special utility relay settings 2103 ON 2104 OFF 2105 OFF 2106 OFF 2107 ON 2108 OFF 2109 OFF 2110 OFF 2111 OFF 2112 OFF
Special utility relay settings 2103 ON 2104 OFF 2105 OFF 2106 ON 2107 OFF
Count value
CTC0 CTC1
Count value
CTC0
ON
ON
ON
ON
ON
ON
3-240
Turns OFF direct output through ON: Yes 0501. Turns ON direct output through ON: Yes 0501. Reverses ON/OFF status of 0501. ON: Yes ON: Disables/enables control of 0501. Disable Turns OFF direct output through ON: Yes 0501. Turns ON direct output through ON: Yes 0501. Reverses ON/OFF status of 0501. ON: Yes Automatically clears current value ON: Yes of CTH1
Setting the special utility relay The special utility relay must be set to output the clock pulse. Set the relays in the following manner. Only one relay for each group can be turned ON from relays 2204 through 2207 and 2208 through 2211. Use the SET-RES pair or STA instruction to turn relays 2203 through 2212 ON/ OFF. Turning OFF relays 2204 or 2208 enables control of output relay 0501. To change the pulse width, be sure to first turn ON relays 2203 or 2212 to automatically clear the current value of CTH1. You cannot change the pulse period unless you turn ON relays 2203 or 2212. Turning ON/OFF relay 2205 stops/outputs the clock pulse. Note: If two or more relays of special utility relays 2204 through 2207 or 2208 through 2211 are turned ON, priority is given to the relay with the smaller number. Operation of output 0501 by setting special utility relays
Outputting a pulse with 1:1 ON/OFF ratio Outputting a pulse with variable pulse width
Special utility relay settings 2203 ON 2204 OFF 2205 OFF 2206 ON 2207 OFF 2208 OFF 2209 ON 2210 OFF 2211 OFF 2212 OFF
Special utility relay settings 2203 ON 2204 OFF 2205 OFF 2206 OFF 2207 ON
Count value
CTC2
Count value
CTC2 CTC3
ON
ON
ON
ON
ON
ON
3-241
Visual KV Series
1 4
Visual KV Series
Internal clock and CTC0 preset value Specify the internal clock and calculate the preset value of CTC0 for the clock. CTC0 preset value = Pulse period (s) Internal clock (s) 2
Obtain the preset value of CTC0 by substituting 1 ms for the pulse period and 10 s for the internal clock (special utility relay 2101). In this case, the preset value of CTC0 is "50". Refer to the following table for the preset value of CTC0 with other internal clocks.
Special utility relay 2100 2101 2102 Internal clock 1.0 s 10.0 s 100.0 s CTC0 preset value 500 50 5
Example
Count value
0001 0002 0003 2008 2002 2103 SET 2104 RES 2105 RES 2106 RES 2107 SET CTH0 RES CTH0 2101 #00050 CTC0
CTC0
ON
ON
Sets the pulse output from output relay 0500 with special utility relays 2104 through 2107. In this example, turns OFF 2104 to enable direct output from 0500 and turns ON 2107 to reverse the output each time the CTH0 value reaches the CTC0 value. Turns ON 2103 to set CTH0 to be cleared when its value reaches the CTC0 value. With this setting, the operation which clears the CTH0 current value when it reaches the CTC0 preset value is repeated. The RES CTH0 instruction resets the CTH0 current value when operation starts. This ensures that the first clock pulse is output at the proper pulse width. Turn ON the input enable relay for CTH0 all the time when CTH0 is used to output the clock pulse.
3-242
Note :When the input enable relay for the high-speed counter is used to start/stop the clock pulse, the response is delayed by a maximum of one scan when output starts. Moreover, if the response is delayed by one scan when output stops, the clock pulse stops but the output may remain ON. Tips Use special utility relay 2105 to control (enable/disable) the clock pulse output by external inputs. Use the SET-RES pair or KEEP instruction to turn special utility relay 2105 ON/ OFF. With this setting, the clock pulse is always turned OFF when it starts as well as stops. When either of the following programs is added to the example on the previous page, the clock pulse is output from 0500 only when 0000 is ON.
When SET-RES instructions are used
0000 0000 2105 SET 2105 RES
Internal clock and CTC2 preset value Specify the internal clock and calculate the preset value of CTC2 for the clock. CTC2 preset value = Pulse period (s) Internal clock (s) 2 Obtain the preset value of CTC2 by substituting 1 ms for the pulse period and 10 s for the internal clock (special utility relay 2201). In this case, the preset value of CTC2 is "50". Refer to the following table for the CTC2 preset value with other internal clocks.
3-243
Visual KV Series
1 4
Visual KV Series
Example
Count value
0001 0002 0003 2008 2002 2203 SET 2204 RES 2205 RES 2206 RES 2207 SET CTH1 RES CTH1 2201 #00050 CTC2
CTC2
ON
ON
Sets the pulse output from output relay 0501 with special utility relays 2204 through 2207. In this example, turns OFF 2204 to enable direct output from 0501 and turns ON 2207 to reverse the output each time the CTH1 value reaches the CTC2 value. Turns ON 2203 to set CTH1 to be cleared when its value reaches the CTC2 value. With this setting, the operation which clears the CTH1 current value when it reaches the CTC2 preset value is repeated. The RES CTH1 instruction resets the CTH1 current value when operation starts. This ensures that the first clock pulse is output at the proper pulse width. Turn ON the input enable relay for CTH1 all the time when CTH1 is used to output the clock pulse.
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 Instruction LD SET CON RES CON RES CON RES Operand 2008 2203 2204 2205 2206 Line No. 0008 0009 0010 0011 0012 0013 0014 Instruction CON SET CON RES LD CTH CTC Operand 2207 CTH1 2002 1 2201 2 #00050
Note :When the input enable relay for the high-speed counter is used to start/stop the clock pulse, the response is delayed by a maximum of one scan when output starts. Moreover, if the response is delayed by one scan when output stops, the clock pulse stops but the output may remain ON. Tips Use special utility relay 2205 to control (enable/disable) the clock pulse output by external inputs. Use the SET-RES pair or KEEP instruction to turn special utility relay 2205 ON/ OFF. With this setting, the clock pulse is always turned OFF when it starts as well as stops. When either of the following programs is added to the example on the previous page, the clock pulse is output from 0501 only when 0000 is ON.
When SET-RES instructions are used When KEEP instruction is used
0000 0000
0000 0000
3-244
Internal clock and CTC0/CTC1 preset values Specify the internal clock and calculate the preset values of CTC0 and CTC1 for the clock. CTC1 preset value = Pulse width (s) Internal clock (s) CTC0 preset value = Pulse period (s) Internal clock (s) Obtain the preset values of CTC0 and CTC1 by substituting 200 s for the pulse width, 500 s for the pulse period, and 10 s for the internal clock (special utility relay 2101). In this case, the preset value of CTC1 is "20", and that of CTC0 is "50". Refer to the following table for the CTC preset values with other internal clocks.
Special utility relay 2100 2101 2102 Internal clock 1.0 s 10.0 s 100.0s CTC0 preset value 500 50 5 CTC1 preset value 200 20 2
Example
Count value
0001 0002 2002 0003 0004 0005 2008 2103 SET 2108 RES 2104 RES 2109 SET 2105 RES 2110 RES 2106 SET 2111 RES 2107 RES CTH0 RES CTH0 2101 #00050 CTC0 #00020 CTC1
CTC0 CTC1
ON
ON
ON
ON
Sets the pulse output from output relay 0500 with special utility relays 2104 through 2107 and 2108 through 2111. In this example, turns OFF 2104 to enable direct output from 0500. Turns ON 2106 to turn ON the output from 0500 when the CTH0 value reaches the CTC0 value, and turns ON 2109 to turn OFF the output when the CTH0 value reaches the CTC1 value. Turns ON 2103 to set CTH0 to be cleared when its value reaches the CTC0 value. This ensures that the first clock pulse is output at the proper pulse width. Turn ON the input enable relay for CTH0 all the time when CTH0 is used to output the clock pulse.
3-245
Visual KV Series
1 4
Visual KV Series
0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012
Note 1: When the input enable relay for the high-speed counter is used to start/stop the clock pulse, the response is delayed by a maximum of one scan when output starts. The response is also delayed by a maximum of one scan when output stops. Note 2: Refer to the following "Tips" to start and stop the clock pulse. Tips Use special utility relay 2105 to control (enable/disable) the clock pulse output by external inputs. Use the SET-RES pair or KEEP instruction to turn special utility relay 2105 ON/ OFF. With this setting, the clock pulse is always turned OFF when it starts as well as stops. When either of the following program is added to the example on the previous page, the clock pulse is output from 0500 only when 0000 is ON.
When SET-RES instructions are used
0000 0000 2105 SET 2105 RES
You can change the period (frequency) of the clock pulse by changing the CTC0 preset value using the LDA and STA instructions. To change the period of the clock pulse, refer to "4.3.4 Count Input Method" (p.3212).
3-246
4.7 Examples of Direct Clock Pulse Output To output a clock pulse of 500 s (2 kHz)-period and 200 s-width from output relay 0501
This section describes a programming example that will output a clock pulse with variable ON/OFF ratio from output relay 0501 by using the high-speed counter (CTH1) and high-speed counter comparator (CTC2 and CTC3). Special utility relay setting Set the special utility relay (2203 through 2212) according to the following table.
Relay No. 2203 2204 2205 2206 2207 Setting ON OFF OFF ON OFF Relay No. 2208 2209 2210 2211 2212 Setting ON OFF OFF OFF OFF
Internal clock and CTC2/CTC3 preset values Specify the internal clock and calculate the preset values of CTC2 and CTC3 for the clock. CTC2 preset value = Pulse width (s) Internal clock (s) CTC3 preset value = Pulse period (s) Internal clock (s) Obtain the preset values of CTC2 and CTC3 by substituting 200 s for the pulse width, 500 s for the pulse period, and 10 s for the internal clock (special utility relay 2201). In this case, the preset value of CTC3 is "20", and that of CTC2 is "50". Refer to the following table for the CTC preset values with other internal clocks.
Special utility relay 2200 2201 2202 Internal clock 1.0 s 10.0 s 100.0 s CTC2 preset value 500 50 5 CTC3 preset value 200 20 2
Example
Count value
0001 0002 2002 0003 0004 0005 2008 2208 RES 2203 SET 2209 SET 2204 RES 2210 RES 2206 SET 2211 RES 2207 RES CTH1 RES CTH1 2201 #00050 CTC2 #00020 CTC3
CTC2 CTC3
ON
ON
ON
ON
Sets the pulse output from output relay 0501 with special utility relays 2204 through 2207 and 2208 through 2211. In this example, turns OFF 2204 to enable direct output from 0501. Turns ON 2206 to turn ON the output from 0501 when the CTH1 value reaches the CTC2 value and turns ON 2209 to turn OFF the output when the CTH1 value reaches the CTC3 value. Turns ON 2203 to set CTH1 to be cleared when its value reaches the CTC2 value. This ensures that the first clock pulse is output at the proper pulse width. Turn ON the input enable relay for CTH1 all the time when CTH1 is used to output the clock pulse.
3-247
Visual KV Series
1 4
Visual KV Series
Note :When the input enable relay for the high-speed counter is used to start/stop the clock pulse, the response is delayed by a maximum of one scan when output starts. The response is also delayed by a maximum of one scan when the output stops. Tips Use special utility relay 2205 to control (enable/disable) the clock pulse output by external inputs. Use the SET-RES pair or KEEP instruction to turn special utility relay 2205 ON/ OFF. With this setting, the clock pulse is always turned OFF when it starts as well as stops. When either of the following programs is added to the example on the previous page, the clock pulse is output from 0501 only when 0000 is ON.
When SET-RES instructions are used
0000 0000 2205 SET 2205 RES
You can change the period (frequency) of the clock pulse by changing CTC2 preset value using LDA and STA instructions. To change the period of the clock pulse, refer to "4.3.4 Count Input Method" on page 3-212.
3-248
Specify the internal clock and CTC0/CTC1 preset values according to the following table.
Special utility relay 2100 2101 2102 Internal clock 1.0 s 10.0 s 100.0 s CTC0 preset value 500 50 5 CTC1 preset value 200 20 2
Example
0001 0002 0003 0000 0004 2002 0005 0006 0007 2002 0008 0009 0010 0011 2002 0012 0013 ENDH 0014 INT CTC2 2105 SET RETI 2008 EI 2103 SET 2108 RES 2203 SET 2104 RES 2109 SET 2105 SET 2110 RES 2813 SET 1000 DIFU 2106 SET 2111 RES CTH1 RES 1000 2105 RES CTH0 2101 #00050 CTC0 #00020 CTC1 CTH1 0500 #10000 CTC2 END 2107 RES CTH0 RES
#00000 DW DM1940
1 4
Sets the pulse output from output relay 0500 with special utility relays 2104 through 2107 and 2108 through 2111. In this example, turns OFF 2104 to enable direct output from 0500. Turns ON 2106 to turn ON the output from 0500 when the CTH0 value reaches the CTC0 value and turns ON 2109 to turn OFF the output when the CTH0 value reaches the CTC1 value. Turns ON 2103 to set CTH0 to be cleared when its value reaches the CTC0 value. This ensures that the first clock pulse is output at the proper pulse width. Uses an EI instruction to enable interrupts. The interrupt program (INT CTC2) stops the clock pulse when the CTH1 current value reaches the CTC2 preset value (when 10000 pulses are output). Turns ON 2203 to set CTH1 to be cleared when its value reaches the CTC2 value. This forces the operation to repeat by the specified pulses (10000). Relay 2813 must be turned ON when counting pulses with CTH1.
3-249
Visual KV Series
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 Instruction LD EI CON MPS SET CON RES CON SET CON SET CON RES MRD RES CON SET CON RES CON RES CON RES MPP Operand 2008 Line No. 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 0047 0048 Instruction Operand SET 2203 CON DW #00000 DM1940 CON SET 2813 CON RES CTH1 LD 0000 DIFU 1000 CON AND 1000 RES 2105 LD 2002 CTH 0 2101 CTC 0 #00050 CTC 1 #00020 LD 2002 CTH 1 0500 CTC 2 #10000 END INT CTC2 LD 2002 SET 2105 RET1 ENDH
2103 2104 2105 2106 2107 2108 2109 2110 2111 CTH0
Tips Special utility relays 2103 through 2111 can be turned ON/OFF by using the LDA and STA instructions instead of the SET-RES instructions. The example program below can be changed as follows by using the LDA and STA instructions. The number of lines and steps can be reduced.
2008 EI 2103 SET 2108 RES 2203 SET 2104 RES 2109 SET 2813 SET 2105 SET 2110 RES CTH1 RES 2106 SET 2111 RES 2107 RES CTH0 RES 2008 EI $0268 LDA 2100 STA CTH0 RES 2203 SET 2813 SET CTH1 RES
LDA $0268 When LDA $0268 is executed, the value specified by the operand is written into the internal register as follows.
[0] Internal register 0 0 0 0 0 0 [2] 1 0 0 1 [6] 1 0 1 0 [8] 0 0
When STA 2100 is executed, the value in the internal register is assigned to special utility relays 2100 through 2115.
xx 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Special utility relay 21xx
3-250
24 VDC
Sta
Twisted-pair cable
COM 0000 0001 0002 0003
KV
0500 COM 0501 0502 0503
direction)
5 VDC
+ FG
Stepping motor
Setting parameters DM0000: fH [Hz] (Running frequency) DM0001: fL [Hz] (Start-up frequency) DM0002: Acceleration rate [Hz/10 ms] DM0003: No. of pulses for positioning
Specify values in the range from 153 Hz to 50000 Hz. The fH value must be greater than the fL value. (fH - fL) / (Acceleration time / 10 ms) Must be 65534 pulses or less.
Note 1: A smaller acceleration rate allows smoother control but extends the acceleration time. Note 2: Be sure to turn OFF input 0007 (phase B input). Operation In the example on the next page, each parameter is set as follows: DM0000: 8000 [Hz] DM0001: 700 [Hz] DM0002: 400 [Hz/10 ms] DM0003: 4000 pulses When start switch 0000 is pressed, ramp-up/down control is performed as shown below. Control is stopped when the pulse count reaches "4000". Pressing the start switch restarts the operation. The operation is reversed while reverse switch 0001 is ON. Connection example The above diagram shows a connection example between the KV PLC and a stepping motor driver. Refer to the instruction manual for your stepping motor driver for details. Set the pulse input method of the stepping motor driver to "1-pulse input method".
Frequency (Hz)
1 4
H (DM0000)
Acceleration rate
(DM0002)
L (DM0001)
0
Acceleration time
3-251
CTC0 generates a clock pulse. CTH1 counts the number of clock pulses.
CTC0:Pulse period CTC1: Pulse width CTC2:Frequency change point CTC3:Total No. of pulses for positioning
Visual KV Series
0004 0005 0003 0006 0007 0008 0001 0009 0010 0003 0011 0012 0013 0014 2002 0015 0016 0017 0018 0019 2002 0020
Starts positioning
0000 1001 DIFU 1001
$0268 LDA
2100 STA
Emergency stop
2105 SET END
Specifies the CTC0 preset value. CTC0 preset value = 1 DM0012 x 103 x 103
Initialization routine
SBN 01 DM0003 LDA CTC3 STA #00002 DM0004 DM0001 DM0012 #00000 DIV STA LDA STA DW DM0011 02 CALL RET
0021 0022 0023 2002 0024 0025 0026 0027 0028 1200 0029 0030 2011 0031 1201 0032 0033 1200 0034 0035 0036 0037 0038 2002 0039 0040 ENDH 0041 DM0003 DM0011 LDA SUB 1200 RES CTC2 STA DM0011 STA DM0012 #00100 DM0011 DM0004 LDA DIV ADD CMP RET
Acceleration process
DM0012 DM0002 DM0012 DM0000 LDA ADD STA CMP 2011 03 CALL 2011 2011 02 CALL 1201
Acceleration ratio is added to the current frequency to change it each time CTC2 turns ON while acceleration flag 1200 is ON. Acceleration stops when the current frequency reaches fH. Sets No. of pulses for the deceleration point.
Deceleration process
DM0012 DM0002 DM0012 DM0001 LDA SUB STA CMP 2011 2011 02 CALL 02 CALL #65535 LDA CTC2 STA RETI
Acceleration ratio is subtracted from the current frequency to change it each time CTC2 turns ON while acceleration flag 1200 is ON. Deceleration stops when the current frequency reaches fL. The setting is initialized. Clock pulse output is stopped when the No. of pulses equals the CTC3 preset value.
3-252
Chapter 5
Positioning Control
Visual KV Series Only
This chapter describes ramp-up/down control of stepping motors and servo motors. For KV-10/80 Series, see Chapter 6. 5.1
5.1.1
5.2
5.2.1 5.2.2
5.3
5.3.1 5.3.2 5.3.3
Visual KV Series
Visual KV Series
Frequency (Hz)
Time (ms)
By using the ramp-up/down control output function, ramp-up/down control of stepping motors and AC servo motors (pulse input types) is possible.
Motor driver
3-254
For more about special utility relays, refer to "5.2.2 Operating Procedure" (p. 3-257).
The table below shows the relationship between parameters and data memories. Data memories for ramp-up/down control
Data memory DM1480 DM1481 DM1482 DM1484 DM1485 DM1486 Setting contents Ramp-up/down control startup frequency (Hz) Ramp-up/down control operating frequency (Hz) Ramp-up/down control acceleration/deceleration time (ms) Number of output pulses (lower 16 bits) Number of output pulses (upper 16 bits) Set value error code Setting range 200 to 50,000 200 to 50,000 (value larger than startup frequency) 0 to 4000 0 to 65,535 (2 or more when DM1485 is 0) 0 to 65,535 When an error occurs, a corresponding error code 11 to 17 is stored.
Note: When pulse output is started, the scan time is extended by 10 ms maximum (if the acceleration/deceleration time is set to 4 s).
1 5
15 16 17
3-255
Visual KV Series
Note: If the startup frequency is the same as the operating frequency, the timing chart becomes as shown below.
Operating (startup) frequency
0
Startup frequency
3-256
DM1480: Startup frequency (Hz) DM1481: Operating frequency (Hz) DM1482: Acceleration time (ms) DM1485: Number of output pulses (upper 16 bits) DM1484: Number of output pulses (lower 16 bits)
When relay 2310 turns ON, clock pulses are output (detection at rising edge). While clock pulses are output, relay 2309 remains ON. While clock pulses are not output, relay 2309 remains OFF. When relay 2308 turns ON, clock pulses are decelerated and stopped (detection at rising edge).
Note 1: If there is no error in the parameter setting when special utility relay 2310 turns ON at startup of the clock pulses, special utility relay 2309 turns ON and clock pulses are output. Note 2: If there is an error in the parameter setting, special utility relay 2309 does not turn ON but a corresponding error code is written to DM1486. Confirm the error code, and change the erroneously set parameter. Note 3: By setting special utility relay 2309 to OFF in an interrupt program, clock pulses can be immediately stopped. Note 4: Rising of special utility relay 2310, falling of special utility relay 2309, and rising of special utility relay 2308 are performed by end processing and RETI. (Special utility relay 2309 turns ON at that time.) Note 5: It takes a maximum of 10 ms from when special utility relay 2310 turns ON until pulses are output. Note 6: Even if special utility relay 2310 is set to ON while special utility relay 2308 or 2309 is ON, it is ignored. Note 7: When pulse output has finished, special utility relay 2309 is immediately set to OFF (without regard to the scan time).
3-257
Visual KV Series
1 5
24 VDC
+
Em
Sta
rt
Visual KV
COM R0502 R0503
+ CW (pulse) + CCW
(rotation direction)
5 VDC*
+ FG
Stepping motor
When using a 24 VDC power supply, be sure to use the outputs with current limiting resistors (R500, R501, and R502) or use the normal outputs with external current limiting resistors.
5.3.2 Tips
When using a servo motor, also refer to the connection example above. However, I/O control dedicated to a servo motor such as servo ON is also required.
3-258
5.3.3
500
100000
Coordinate (pulses)
Program example
2008 0001 2002 0002 0000 0003 0001 0004 END 0005 0006 2002 0007 0008 ENDH 0009 INT 0002 2309 RES RETI #00500 #10000 #03000 #00001 #34464 DW DW DW DW DW DM1480 DM1481 DM1482 DM1485 DM1484 EI HSP 0002 2310 2308
Permit interrupts when operation is started (so that emergency stop operations are available). Set the input time constant of input 0002 to 10 s. Set each parameter, and start pulse output at the same time. Decelerate and stop pulse output.
3-259
Visual KV Series
1 5
Visual KV Series
CW direction 1000
CCW direction
500
While input 0000 is ON, the machine continues to move in the CW direction. When input 0000 turns OFF, the machine decelerates and stops. While input 0001 is ON, the machine continues to move in the CCW direction. When input 0001 turns OFF, the machine decelerates and stops.
Program example
0000 0001 0001 0002 1000 0003 1001 0004 0000 0005 0006 ENDH 0007 0001 1100 DIFU 1100 2308 END 0001 0000 2309 2309 0503 SET 0503 RES 1000 DIFU 1001 DIFU 2310
#00500 #02000 #01000 #65535 #65535 DW DW DW DW DW DM1480 DM1481 DM1482 DM1485 DM1484
3-260
When start signal 0000 is set to ON, a moving body moves to point 1, returns to the start position, moves to point 2, and then returns to the start position again. Afterwards, the moving body moves to point 3, then returns to the start position, output 05000 remains ON for 3 seconds, and then the operation is finished. Program example
0001 Ladder for automatic operation 0002 Point 1: 10,000 0000 0003 0004 Moves to point 1. 0005 1000 STG 0503 SET #10000 DW DM1484 2310 2309 1200 1200 1001 JMP
Point 2: 12,000
Point 3: 14,000
#00500 #05000 #03000 #00000 DW DW DW DW DM1480 DM1481 DM1482 DM1485 1000 SET
0006 Returns from point 1. 0007 1001 STG 2309 1100 0008 Moves to point 2. 0009 1002 STG 2309 1101 0010 Returns from point 2 0011 1003 STG 2309 1102 0012 Moves to point 3. 0013 1004 STG 2309 1103 0014 Returns from point 3. 0015 1005 STG 2309 1104 0016 When operation has completed, output 500 remains ON for 3 seconds. 0017 0018 ENDH 0019 1006 STG 2309 1105 END 1105 0500 #00030 T000 T000 ENDS 1104 0503 RES 2310 1006 JMP 1103 0503 SET #14000 DW DM1484 2310 2309 1204 1204 1005 JMP 1102 0503 RES 2310 2309 1203 1203 1004 JMP 1101 0503 SET #12000 DW DM1484 2310 2309 1202 1202 1003 JMP 1100 0503 RES 2310 2309 1201 1201 1002 JMP
3-261
Visual KV Series
1 5
Visual KV Series
Start
High-speed
When start signal 0000 turns ON, the machine moves at a high speed in the CCW direction. When the zero point sensor turns ON, the machine decelerates, moves at a low speed in the CW direction, then stops in the position at which the zero point sensor turns OFF (at the end of the CW direction). Program example
0001 0002
Return to zero point Zero point sensor: 0003 Start signal: 0000 Pulse output: 0502 Rotation direction: 0503
0003 Initial setting 2008 0004 2002 0005 0006 0007 EI HSP 0003
0008
0009 When the zero point sensor turns ON, moves at low speed in the CW direction. 1006 0010 1005 0011 1006 0012 END 0013 0014 0015 1006 0016 1005 0017 0018 ENDH 0019 2308 SET 2309 RES 1006 SET 2309 2309 2308 RES 1007 DIFU #00200 #10200 #00500 #00000 #65535 DW DW DW DW DW DM1480 DM1481 DM1482 DM1485 DM1484 1007 2413 SET 0503 SET 2310
Detects the rising/falling edge of the zero point sensor (003), stops, and then changes direction.
INT 0003 1006 RES 1005 RES RETI
3-262
250000 Wait
320000 Wait
460000
Coordinate (pulses)
When start signal 0000 turns ON, the machine moves to point 1 and stops there. At the rising edge of wait status reset switch 1, the machine automatically moves to point 2 and stops there. At the rising edge of waiting status reset switch 1, the machine automatically moves to point 3. When the machine reaches point 3, output 0500 remains ON for 3 seconds and the operation is finished. Program example
0001 0002 0003 0004
Ladder for automatic operation (continuous operation with wait status) Start signal: 0000 Pulse output: 0508 Rotation direction: 0503 Wait reset switch: 0001
0000 #00500 DW DM1480 1000 SET
2310
2309 1302
1302
1002 JMP
2310
2309 1304
1304
1003 JMP
Moving quantity: 140,000 pulses When operation has completed, output 500 remains ON for 3 seconds.
1003 STG 2309 1305 END ENDH 1305 0500 #00030 T000 T000 ENDS
3-263
Visual KV Series
1 5
Visual KV Series
15000
In manual operation, the machine moves forward while input 0008 is ON, and moves backward while input 0009 is ON. When input 0007 is set to ON, the machine returns to the zero point. Output 0502 outputs pulses. The rotation direction is changed by an ON/OFF of 0503. This machine is equipped with a zero-point sensor (0002), a forward limit switch (0006), and a backward limit switch (0004). Program example
0001
Pulse motor application circuit (with zero point sensor, forward limit switch, and backward limit switch)
0002 Specifications
0003
Pulse output: 0502 Rotation direction: 0503 Forward limit switch: 0006 Backward limit switch: 0004 Zero point switch:
0004 Manual switch: Forward = 0008, backward = 0009 0005 0007 0006 0007 Automatic operation start: 0000 2008 0008 2002 0009 0010 1200 RES
Resets interrupt permission & zero point detection flag. 0011 Manual switch (0008: Forward, 0009: Backward)
0008 0012 0008 0013 1100 0014 1101 0015 0008 0016 0009 1105 DIFU 0009 2309 0009 2309 0503 RES 0503 SET 0006 0004 #00600 #04000 #00100 #00001 #00000 DW DW DW DW DW DM1480 DM1481 DM1482 DM1485 DM1484 1100 DIFU 1101 DIFU 1103 DIFU
Set the startup frequency, operating frequency, and acceleration/deceleration time for manual operation.
Startup frequency: 600 Hz Operating frequency: 4 kHz Acceleration/ deceleration: 100 ms Number of output pulses: 65,536
3-264
0015 0016 Limit switch 0007 0017 0018 Move forward. 1205 0019 0020 0021 0503 SET
1205 DIFU
#00300 #03000 #00250 #00000 #03500 DW DW DW DW DW DM1480 DM1481 DM1482 DM1485 DM1484
1300 DIFU
1200 SET
0022 While moving backward at low speed, return to zero point. 1203 0023 0024 Start up motor. 1300 0025 1301 0026 1103 0027 1506 0028 0029 Decelerate and stop (in manual/automatic operation). 0006 0030 0004 0031 1105 0032 0033 0008 0009 2308 2308 0004 0006 2310 0503 RES #00500 #00500 #00000 #00000 #65535 DW DW DW DW DW DM1480 DM1481 DM1482 DM1485 DM1484 1301 DIFU 1200 RES
Automatic operation
0034 Trigger for stage instruction 2008 0035 2308 0036 1408 DIFU 1408 1401 RES 1402 RES 1403 RES 1400 SET 1400 SET
0037 Automatic start (while 0000 is ON) 0038 1400 STG 0000 2308 2309 1401 JMP
0039 When motor operation has finished, moves stage forward. 0040 0041 0042 1401 STG 1402 STG 1403 STG 1407 RES 1405 RES 1406 RES #00010 T001 #00005 T002 #00005 T003 T001 T002 T003 1500 DIFU 1501 DIFU 1502 DIFU 2309 1405 2309 1406 2309 1407 1405 1406 1407 1402 JMP 1403 JMP 1400 JMP
Create each operation program using the STG instruction, and let each program be executed in turn.
3-265
Visual KV Series
1 5
0043 Set automatic operation parameters. 1500 0044 1501 0045 1502 0046 0047 Start up motor. 1503 0048 1504 0049 1505 0050 END 0051 0052 Interrupt for instantaneous stop (to return to zero point) 0053 1200 0054 0055 ENDH 0056 0008 0009 0000 INT 0002 2309 RES RETI 1506 0503 SET 0503 SET 0503 RES #00300 DW DM1480 #00300 DW DM1480 #00300 DW DM1480
1. Startup frequency: 300 Hz Operating frequency: 8 kHz Acceleration time: 150 ms Number of output pulses: 15,000 2. Startup frequency: 300 Hz Operating frequency: 2 kHz Acceleration time: 250 ms Number of output pulses: 25000 3. Startup frequency: 300 Hz Operating frequency: 15 kHz Acceleration time: 250 ms Number of output pulses: 17,500
Visual KV Series
3-266
Chapter 6
Interrupts, High-speed Counters, Positioning Control KV-300, KV-10/80 Series Only
This chapter describes ramp-up/down control of stepping motors and servo motors. 6.1
6.1.1 6.1.2
6.2
6.2.1
6.3
6.3.1
KV-300
KV-10/80
6.1
Interrupt Instructions
Input processing
KV-300
KV-10/80
Scan time
Ge
Re
ne
ion rat
in of
r ter
up
Output processing
Fig. 1
Routine program flow is shown by the thick arrow on the left of Fig.1. In this case, input signals can be received only during input processing. Although input time constant can be made shorter by using HSP or by turning ON special utility relay 2813, input signals can be received only if they are longer than the duration of one scan time. When an interrupt initiation input turns ON, the currently running program is suspended to immediately execute the interrupt routine. During execution of interrupt routine, input signals shorter than one scan time can be received by the PLC. Note: To execute INT (interrupt initiation instruction), execute EI first to enable interrupt, then use HSP (time constant: 25 s) or turn ON special utility relay 2813 (time constant: 10 s) to reduce the input time constant.
2008 EI 2813 SET 2002 or 2002 EI HSP 0000
Types of interrupt
High speed counter comparators Input relays
Interrupt by CTC can be generated when the CTC preset value and CTH current value are equal. A signal received through any of inputs 0000 to 0003 can generate an interrupt.
CTC0, CTC1, CTC2, CTC3 0000, 0001, 0002, 0003 (rising/falling edge selectable)
3-268
Interrupt priority
If two or more interrupts are generated at different timings, interrupt routines are executed in the order that interrupts are generated. If two or more interrupts are generated simultaneously, interrupt routines are executed according to the priority shown below. CTC0 > CTC1 > CTC2 > CTC3 > 0000 > 0001 > 0002 > 0003 * Note that the above priority differs from that for other KV PLCs (KV-10/16/24/40/ 80). The priority is: 0000 > 0001 > 0002 > 0003 > CTC2 > CTC3 > CTC0 > CTC1.
Note 1: During execution of one interrupt routine, execution of other interrupt routines is inhibited. (One interrupt routine can be executed inside another interrupt routine by inserting EI.) Note 2: If other interrupts are generated during execution of one interrupt routine, the routines of these interrupts are executed after completion of the first interrupt routine in the order that they are generated. Note that generation of up to 8 levels of interrupt nesting or up to 8 individual interrupts can be stored during execution of interrupt routine. However, generation of an interrupt is ignored if generation of the same interrupt has already been stored.
Interrupt routine
2008 EI 2813 SET END
ENDH
Execute EI to enable interrupt. Be sure to insert INT between END and ENDH. Be sure to shorten the input time constant by using HSP or by turning ON special utility relay 2813.
Instructions that cannot be used in the INT-RETI block TMR, TMH, TMS, DIFU, DIFD, W-ON, W-OFF, W-UE, W-DE, STG, JMP, ENDS, HKEY, ITVL, @xxxx (instruction), C, UDC, SFT
3-269
KV-300
1 6
KV-10/80
Direct output
2008 EI 2813 SET END INT 0000 2002 0500 ( SET ) RETI
KV-300
KV-10/80
Direct output is enabled only through output relays 0500, 0501, 0502, and 0503. This function allows ON/OFF status of any of output relays 0500, 0501, 0502, and 0503 to be output during execution of interrupt routine. This function allows immediate ON/OFF status output without delay caused by scan time. Note: Be sure to turn ON special utility relay 2813 to shorten the input time constant.
Direct input
2008 1000 2813 SET 0500
END
6
0005
RETI ENDH
Direct input is enabled only through input relays 0000 to 0005. This function allows ON/OFF status of any of input relays 0000 to 0005 to be input during execution of interrupt routine. Note 1: Be sure to turn ON special utility relay 2813 to shorten the input time constant. Note 2: Input status read using direct input function is valid only in the interrupt routine. Be sure to insert an internal utility relay after the direct input relay.
3-270
DI / EI
FNC
FNC
RES AND 0 8
SET 1 ORL 3
:
:
DI
EI
Operand
Example
1000 EI 1000 DI
Coding
Line No. 0000 0001 : 0021 0022 : Instruction LD EI : LDB DI : 1000 Operand 1000
Description
When 1000 is ON, execution of interrupt is enabled. When 1000 is OFF, execution of interrupt is disabled. Interrupts are enabled between EI instruction and DI instruction. Therefore, once EI is executed, interrupt is enabled until it is disabled by DI. With the KV, any interrupt is disabled when the operation is started. DI instruction disables execution of interrupt. Use this instruction to temporarily disable interrupt. EI instruction enables the execution of interrupt. Use this instruction to release interrupt disabled by DI instruction. During execution of an interrupt, any other interrupt is disabled.To execute another interrupt during execution of the previous interrupt, include EI instruction in this first interrupt. Interrupts can be nested up to 8 levels by executing EI in each interrupt routine. Note 1: Generation of up to 8 levels of interrupt nesting or up to 8 individual interrupts can be stored while interrupt is disabled. These interrupts are executed after EI has been executed. Note 2: Generation of INT CTC is erased from the storage when RES CTC is executed.
3-271
KV-300
1 6
KV-10/80
INT / RETI
INT: Interrupt
FNC ANL 2
RES 0
: :
INT nnnn
RETI
Executes interrupt between INT and RETI instructions at rising edge of input specified by operand. When 0003 is specified by operand, the rising or falling edge can be selected for execution of interrupts. Represents termination of interrupts.
Key Operations
FNC ANL 2 ORL 3 RES 0 LDB 4 ENT R-SRCH ENT R-SRCH Operand ENT R-SRCH ENT R-SRCH
KV-300
KV-10/80
FNC
Operand
0000 to 0003 CTC0 to CTC3
Example 1
Input pulse width shorter than one scan time (eg. one-shot circuit)
(a)
Input for routine program
0000
6
2002
Program (a) can be used when input 0000 remains ON longer than the input time constant (8 to 12 ms). Program (b) is used when input 0000 remains ON shorter than one scan time. Routine program coding
Line No. 0000 0001 0002 0003 0004 Instruction LD OR TMR ANB OUT Operand 0000 0500 000 #00020 T000 0500
3-272
Features of INT0003 Upon generation of interrupt by INT0003, the CTH1 current value is automatically transferred to TM30. Interrupt generated by any of INT0000 to INT0002 is executed at the rising edge of the input signal. Interrupt generated by INT0003 can be executed either at the rising or falling edge of the input signal.
Relay No. 2206 ON Executes interrupts at falling edge of input pulse to 0003. OFF Executes interrupts at rising edge of input pulse to 0003.
1
2002
EI
$0000 LDA
2200 STA
3
2206 TM30 LDA TM30 LDA TM02 STA TM02 DM0000 SUB STA
(a)
2206
(b)
ENDH
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 Instruction LD EI CON LDA CON STA CON STA LD CTH END INT LDB LDA Operand 2008 Line No. 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 Instruction CON STA CON LD LDA CON SUB CON STA CON KEEP RETI ENDH Operand TM02 2206 TM30 TM02 DM0000 2206
3-273
KV-300
1 6
KV-10/80
Example 2
INT / RETI
KV-300
KV-10/80
Example 3
Interrupt by CTC Pulses input to 0005 are counted. 0501 is turned ON when the number of pulses reaches 5,000.
2008 1 2002 2 0000 3 EI 2203 SET CTH1 RES #05000 CTC2 2813 SET CTH1 0005 0501 RES END
6
4 2002 5
ENDH
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 Instruction LD EI CON SET CON RES CON CTC CON SET Operand 2008 Line No. 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 Instruction LD CTH LD RES END INT LD SET RETI ENDH Operand 2002 1 0005 0000 0501 CTC2 2002 0501
3-274
INT / RETI
INT CTC2 is used to execute the interrupt. (Interrupt routine is executed when the CTH1 current value and CTC2 preset value are equal.) Immediate output to 0501 is performed.
Note 1: When the interrupt is executed, the contact of CTC2 is automatically reset. Note 2: The operand used for INT instruction is not allowed for use with other INT instructions.
3-275
KV-300
1 6
KV-10/80
6.2
KV-300
KV-10/80
TM30
Lists of special utility relays for high-speed counters Utility relays for high-speed counter CTH0
2100 2101 2102 Internal clock (1.0 s) for CTH0 Internal clock (10.0 s) for CTH0 Internal clock (100.0 s) for CTH0 When comparator CTC0 is ON, automatically clears CTH0. 1: Yes 0: No Direct output to 0500 1: Disable 0: Enable Turns OFF output to 0500. 1: Yes 0: No Turns ON output to 0500. 1: Yes 0: No Reverses output (toggle) to 0500. 1: Yes 0: No Direct output to 0500 1: Disable 0: Enable Turns OFF output to 0500. 1: Yes 0: No Turns ON output to 0500. 1: Yes 0: No Reverses output to 0500 (toggle). 1: Yes 0: No When comparator CTC1 is ON, automatically clears CTH0. 1: Yes 0: No Uses CTH0 in magnification mode. 1: Yes 0: No Selection of magnification mode for CTH0 1: x 4 0: x 2 Enables external reset for CTH0. 1: Yes 0: No Direct output level to 0500 through comparator CTC1 (any one of these is ON) Direct output level to 0500 through comparator CTC1 (any one of these is ON)
2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115
3-276
Reverse output (toggle) level 1: ON 0: OFF Direct output to 0501 1: Disable 0: Enable Turns OFF output to 0501. 1: Yes 0: No Turns ON output to 0501. 1: Yes 0: No Reverses output (toggle) to 0501. 1: Yes 0: No When comparator CTC3 is ON, automatically clears CTH1. 1: Yes 0: No Uses CTH1 in magnification mode. 1: Yes 0: No Selection of magnification mode for CTH1 1: x 4 0: x 2 Enables external reset for CTH1. 1: Yes 0: No Direct output level to 0501 through comparator CTC3 (any one of these is ON)
3. Special utility relays of 2112, 2113, 2114, 2115, 2212, 2213, 2214, and 2215 are not available.
3-277
KV-300
1 6
KV-10/80
KV-300
KV-10/80
Countable range
* KV-10/80: 10 kHz High-speed counter comparator (CTC) High-speed counter comparators (CTC) is used only for High-speed counters (CTH). When the current value of CTH reaches the preset value of one of the comparators (CTC), the comparator turns ON. At the contact of High-speed counter comparator (CTC), the level of output (0500, 0501) can be changed (directly output) through hardware or an interrupt can be generated. To change the level of output 0500 and 0501, set the desired value (ON/ OFF) to special utility relays 2103 to 2112, 2203 to 2205, and 2207 to 2212. The High-speed counters correspond to the High-speed counter comparators as shown in the table below.
Output
Interrupt
0500 0501
3-278
6.2 High-speed Counters You cannot change operands of the high-speed counters (CTH) during execution of the program. The input time constant of the high-speed counters is usually set to 25 ms. (The HSP instruction is not required.) High-speed pulses can be counted at up to 30 kHz through external inputs (0004 to 0007) by turning ON special utility relay 2813. (Internal pulses can be counted at up to 50 kHz by turning ON 2813.)*
CAUTION
* KV-10/80 : 10 kHz
Direct clock pulses are output through 0500 and/or 0501 according to the settings on the special utility relays when the number of internal clock pulses counted by the high-speed counter reaches the preset value of the comparator. Output example
CTH current value (count value) CTC preset value
0500 0501
ON
OFF
CAUTION
ON/OFF of output relay 0500/0501 depends on the setting of the special utility relay. Refer to page 3-281.
3-279
KV-300
1 6
KV-10/80
KV-300
KV-10/80
ON/OFF ratio of pulse is 1:1. Change CTC0 preset value to change the pulse width and period.
ON/OFF status is set special utility relays ON OFF
Pulse width Pulse period
Variable pulse width ON/OFF status is set by special utility relays. Pulse width (ms) = CTC1 preset value x internal clock (ms) Pulse period (ms) = CTC0 preset value x internal clock (ms) Change CTC1 preset value to change the pulse width. Change CTC0 preset value to change the pulse period.
ON/ OFF status is set by special utility relays
ON OFF
Pulse width
6
CAUTION
Pulse period
The pulse width determined as above is used to pulses generated from the KV-300 CPU. Pulses are output through the output circuit. The pulse width varies depending on the response delay from the output circuit and influence of the connected load. Before setting the pulse width, you should measure the actual waveform using an oscilloscope. (Use pulses with variable pulse width.)
To obtain the pulse cycle from frequency, use the following expression: Pulse cycle (s) = 1000 Frequency (kHz)
3-280
CAUTION
Special utility relay must be ON when clock pulse is generated. Only one of relays 2104 to 2107 and one of relays 2108 to 2111 can be turned ON. When two or more of the relays among each group are ON, priority is given to the relay with the smallest No. Turning OFF special utility relays 2104 and 2108 enable direct output. Because these relays are factory-set to ON, be sure to set them to OFF. ON/OFF status of special utility relays 2104 to 2112 is set using SET and RES instructions or STA instruction. Be sure to turn the special utility relay 2103 or 2112 ON to change the pulse width. Turn ON 2103 or 2112 to change the pulse cycle. Turn OFF 2105 to start clock pulse output. Turn ON 2105 to stop pulse output. When special utility relays 2104 and 2108 are turned ON while the direct clock pulses are being output, the status of the output relay 0500 is output and the pulses will be stopped.
1 6
Timing diagram of 0500 with special utility relay settings ON-OFF ratio of 1:1 Variable pulse width Settings of special utility relays Settings of special utility relays
2103 2104 2105 2106 2107 ON OFF OFF OFF ON
CTH0 value CTC0 ON OFF
3-281
KV-10/80
KV-300
KV-300
KV-10/80
CAUTION
Special utility relay must be ON when clock pulse is generated. Only one of relays 2208 to 2211 can be turned ON. When two or more of the relays among each group are ON, priority is given to the relay with the smallest No. Turning ON special utility relay 2204 and turning OFF special utility relay 2208 enable direct output. ON/OFF status of special utility relays 2204 to 2212 is set using SET and RES instructions or STA instruction. Be sure to turn the special utility relay 2203 or 2212 ON to change the pulse width. Turn ON 2203 or 2212 to change the pulse cycle. Turn OFF 2205 to start clock pulse output. Turn ON 2205 to stop pulse output. When special utility relays 2204 and 2208 are turned ON while the direct clock pulses are being output, the status of the output relay 0501 which is used in the program is output and the pulses will be stopped.
Timing diagram of 0501 with special utility relay settings Variable pulse width ON-OFF ratio of 1:1 Settings of special utility relays Settings of special utility relays
2203 2204 2205 2206 2207 ON ON OFF OFF ON
CTH1 value CTC2 ON OFF
ON ON ON OFF OFF
CTH1 value CTC2 CTC3 ON OFF
3-282
Pulse cycle
For pulse with variable pulse width (using two comparators) CTC setting value for pulse width = Pulse width (s) Internal clock (s) CTC setting value for pulse cycle = Pulse cycle (s) Internal clock (s)
ON OFF
Pulse width Pulse cycle
CAUTION
When setting 2100 or 2200 for the operand of High-speed counter CTH, set 10 or greater value to CTC. Otherwise, clock pulse is not correctly output. The pulse width varies depending on the influence of the connected load. Before setting the pulse width, you should measure the actual waveform using an oscilloscope. When generating clock pulse using CTC0 and CTC1, or CTC2 and CTC3, do not set the same value to CTC0 and CTC1, or CTC2 and CTC3. If setting the same value, clock pulse is output at the double clock cycle.
1 6
3-283
KV-10/80
Pulse width
KV-300
KV-300
KV-10/80
Values set to the internal clock and CTC0 After the internal clock is determined, the CTC0 setting value is calculated from the following expression. CTC0 setting value = Pulse cycle (s) Internal clock (s) 2 Assign 1 ms to pulse cycle and 10 s (2101: special utility relay) to internal clock and calculate the CTC0 setting value. The calculated result is "50". CTC0 values calculated based on other internal clocks are listed below for your reference.
Special utility relay Internal clock* 1.0 s 10.0 s 100.0 s CTC0 value 500 50 5
Programming example
2008 0001 2002 0002 0003 2103 SET 2104 RES 2105 RES 2106 RES 2107 SET CTH0 RES CTH0 2101 #00050 CTC0
The status of output 0500 is set by turning ON one of the relays 2104 to 2107 at the beginning of the program. In Example, output of direct clock pulses to 0500 is enabled, and the status of output 0500 is inverted each time CTH0 = CTC0. Turns ON special utility relay 2103 and specifies to clear CTH0 using CTC0. The program repeats clearing the CTH0 current value with the value set to CTC0. Resetting the current value of CTH0 at the beginning of the program allows direct clock pulses of specified width to be output starting from the 1st pulse. Input relay which enables CTH0 remains ON during clock pulse output.
* Refer to page 3-276.
3-284
CAUTION
When start/stop of clock pulse is controlled by the input relay which enables/ disables the high-speed counter, response relay of up to 1 scan is generated at start. Also, the same response relay is generated at stop, which may stop clock pulse output while the output relay is still ON.
This controls clock pulse so that it always starts and stops when 2105 turns OFF. Turn ON/OFF special utility relay 2105 as required to enable or disable output of direct clock pulses using one of the external clocks. Use SET and RES instructions together or only KEEP instruction to turn ON/OFF this relay. The diagram below can be added to the sample diagram so that direct clock pulses are output through 0500 only when 0000 is ON.
SET/RES Instructions
0000 2105 SET 2105 RES
KEEP Instructions
0000 KEEP SET 2105 RES
0000
0000
When outputting clock pulse with cycle 1 ms (1 kHz) from 0501 This program example shows how to output clock pulse with 1:1 ON/OFF ratio from 0501, through high-speed counter CTH1 and high-speed counter comparator CTC2. Setting special utility relays Special utility relays 2203 to 2212 are set as shown on the right table. The program can be simplified using reverse output (toggle) for pulse with 1:1 ON/ OFF ratio.
Relay No. 2203 2204 2205 2206 2207 Setting ON OFF OFF OFF ON Relay No. 2212 2208 2209 2210 2211 Setting OFF OFF OFF OFF OFF
3-285
KV-300
1 6
KV-10/80
KV-300
KV-10/80
Programming example
2008 0001 2002 0002 0003 2203 SET 2204 SET 2205 RES 2207 SET CTH1 RES CTH1 2201 #00050 CTC2
The status of output 0501 is set by turning ON one of the relays 2204 to 2207 at the beginning of the program. In Example, output of direct clock pulses to 0501 is enabled, and the status of output 0501 is inverted each time CTH1 = CTC2. Turns ON special utility relay 2203 and specifies to clear CTH1 using CTC2. The program repeats clearing the CTH1 current value with the value set to CTC2. Resetting the current value of CTH1 at the beginning of the program allows direct clock pulses of specified width to be output starting from the 1st pulse. Input relay which enables CTH1 remains ON during clock pulse output.
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 Instruction LD SET CON SET CON RES CON SET CON RES LD CTH CTC CTH1 2002 1 2201 2 #00050 2207 2205 2204 Operand 2008 2203
3-286
6.2 High-speed Counters When start/stop of clock pulse is controlled by the input relay which enables/ disables the high-speed counter, response relay of up to 1 scan is generated at start. Also, the same response relay is generated at stop, which may stop clock pulse output while the output relay is still ON.
This controls clock pulse so that it always starts and stops when 2204 turns OFF. Turn ON/OFF special utility relay 2204 as required to enable or disable output of direct clock pulses using one of the external clocks. Use SET and RES instructions together or only KEEP instruction to turn ON/OFF this relay. The diagram below can be added to the sample diagram so that direct clock pulses are output through 0501 only when 0000 is ON.
CAUTION
0000
0000
0000
0000
Values set to the internal clock, CTC0 and CTC1 After the internal clock is determined, the CTC0 and CTC1 setting value is calculated from the following expression. CTC1 setting value = Pulse width (s) Internal clock (s) CTC0 setting value = Pulse cycle (s) Internal clock (s) Assign 200 s to pulse width, 500 s to pulse cycle and 10 s (2101: special utility relay) to internal clock and calculate the CTC0 and CTC1 setting value. The calculated results of CTC1 and CTC0 are "20" and "50", respectively. Values calculated based on other internal clocks are listed below for your reference.
Special utility relay 2100 2101 2102
3-287
KV-300
1 6
KV-10/80
SET/RES Instructions
KEEP Instructions
KV-300
KV-10/80
The status of output 0500 is set by turning ON one of the relays 2104 to 2107 and 2108 to 2111 at the beginning of the program. In Example, output of direct clock pulses to 0500 is enabled, and the status of output 0500 is turned ON at CTC0 and is turned OFF at CTC1. Turns ON special utility relay 2103 and specifies to clear CTH0 using CTC0. The program repeats clearing the CTH0 current value with the value set to CTC0. Input relay which enables CTH0 remains ON during clock pulse output.
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 Instruction LD MPS SET CON RES CON RES CON SET CON RES MPP RES Operand 2008 2103 2104 2105 2106 2107 2108 Line No. 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 Instruction CON SET CON RES CON RES CON RES LD CTH CTC CTC Operand 2109 2110 2111 CTH0 2002 0 2101 0 #00050 1 #00020
CAUTION
When start/stop of clock pulse is controlled by the input relay which enables/ disables the high-speed counter, response relay of up to 1 scan is generated at start. Also, the same response relay is generated at stop, which may stop clock pulse output while the output relay is still ON.
This controls clock pulse so that it always starts and stops when 2105 turns OFF. Turn ON/OFF special utility relay 2105 as required to enable or disable output of direct clock pulses using one of the external clocks. Use SET and RES instructions together or only KEEP instruction to turn ON/OFF this relay. The diagram below can be added to the sample diagram so that direct clock pulses are output through 0500 only when 0000 is ON.
SET/RES Instructions
0000 2105 SET 2105 RES
KEEP Instructions
0000 KEEP SET 2105 RES
0000
0000
By overwriting the setting value of high-speed counter comparator CTC0 using the LDA and STA instructions, you can change the clock pulse cycle (frequency).
Refer to "Example of pulse output "on page 3-293.
3-288
Values set to the internal clock and CTC2 and CTC3 After the internal clock is determined, the CTC2 and CTC3 setting value is calculated from the following expression. CTC3 setting value = Pulse width (s) Internal clock (s) CTC2 setting value = Pulse cycle (s) Internal clock (s) Assign 200 s to pulse width, 500 s to pulse cycle and 10 s (2201: special utility relay) to internal clock and calculate the CTC2 and CTC3 setting value. The calculated results of CTC3 and CTC2 are "20" and "50", respectively. Values calculated based on other internal clocks are listed below for your reference.
Special utility relay 2100 2101 2102
Programming example
2008 0001 0002 2002 0003 0004 0005 2208 RES 2203 SET 2209 SET 2204 SET 2210 RES 2205 SET 2211 RES 2207 RES CTH1 RES CTH1 2201 #00050 CTC2 #00020 CTC3
The status of output 0501 is set by turning ON one of the relays 2204 to 2207 and 2208 to 2211 at the beginning of the program. In Example, output of direct clock pulses to 0501 is enabled, and the status of output 0501 is turned ON at CTC2 and is turned OFF at CTC3. Turns ON special utility relay 2203 and specifies to clear CTH1 using CTC2. The program repeats clearing the CTH1 current value with the value set to CTC2. Input relay which enables CTH1 remains ON during clock pulse output.
3-289
KV-300
1 6
KV-10/80
KV-300
KV-10/80
CAUTION
When start/stop of clock pulse is controlled by the input relay which enables/ disables the high-speed counter, response relay of up to 1 scan is generated at start. Also, the same response relay is generated at stop, which may stop clock pulse output while the output relay is still ON.
This controls the clock pulse so that it always starts and stops when 2205 turns OFF. Turn ON/OFF special utility relay 2205 as required to enable or disable output of direct clock pulses using one of the external clocks. Use SET and RES instructions together or only KEEP instruction to turn ON/OFF this relay. The diagram below can be added to the sample diagram so that direct clock pulses are output through 0501 only when 0000 is ON.
SET/RES Instructions
0000 2204 SET 2204 RES
KEEP Instructions
0000 KEEP SET 2204 RES
0000
0000
6
By overwriting the setting value of high-speed counter comparator CTC2 using the LDA and STA instructions, you can change the clock pulse cycle (frequency).
Example of stopping clock pulse after reaching the specified output pulse count
The following example stops clock pulse having the pulse width of 200 s which is output from 0500 at cycle of 500 s (2 kHz) after reaching the pulse count value of 10000. Setting special utility relay, internal clock, and CTC Settings of the special utility relays, internal clock, CTC0, and CTC1 are listed below.
Relay No. 2103 2104 2105 2106 2107 Setting ON OFF OFF ON OFF Relay No. 2112 2108 2109 2110 2111 Internal clock* 1.0 s 10.0 s 100.0 s Setting OFF OFF ON OFF OFF CTC0 value 500 50 5 CTC1 value 200 20 2
3-290
2105 RES CTH0 2101 #00050 CTC0 #00020 CTC1 CTH1 0500 #10000 CTC2 END INT CTC2 2105 SET RET1 ENDH
Sets pulse output to 0500 using special utility relays 2104 to 2107 and 2108 to 2111. The example on the left sets special utility relays to enable direct output to 0500 (2104: OFF), and turn 0500 output ON at CTC0 (2106: ON) and OFF at CTC1 (2109: ON). Turns ON special utility relay 2103 to clear CTH0 using CTC0. This allows output with correct clock pulse width starting from the 1st pulse. Enables interrupt using the EI instruction. Stops clock pulse using interrupt program (INT CTC2) when the current value of High-speed counter CTH1 reaches the setting value of high-speed counter comparator CTC2 (when 10000 pulses are output). Turns ON special utility relay 2203 to clear CTH1 using CTC2. This allows program to operate repeatedly at the specified pulse count (10000 pulses). Always turns ON 2813 when counting pulses using high-speed counter CTH1. Input relay which enables CTH0 remains ON during clock pulse output. Input relay which enables CTH1 remains ON during clock pulse counting. Specifies internal clock (2101) for clock input of high-speed counter CTH0. Specifies 0500 for clock input of high-speed counter CTH1. Then, CTH0 is used for clock pulse output and CTH1 is used for clock pulse counting. Sets the clock pulse count using the setting value of high-speed counter comparator CTC2. Turns ON input relay 0000 to start clock pulse output. To restart clock pulse output after once stopped, turns ON input relay 0000 again.
3-291
KV-300
1 6
KV-10/80
KV-300
KV-10/80
0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023
Special utility relays 2103 to 2111 can be set to turn ON or OFF using LDA and STA instructions as well as SET and RES instructions. Example below illustrates how one program can be made shorter using LDA and STA instructions.
2008 EI
2008 EI
CTH0 RES
2203 SET
2813 SET
CTH1 RES
LDA $0268 When LDA $0268 is executed, the following data is input to the internal register.
[0] Internal register 0 0 0 0 0 [2] 0 1 0 0 [6] 1 1 0 1 [8] 0 0 0
Internal register When STA 2100 is executed, the data in the internal register is assigned to 16 special utility relays starting from 2100 to 2115.
Special utility relays 21** 15 0 14 0 13 0 12 0 11 0 10 0 09 1 08 0 07 0 06 1 05 1 04 0 03 1 02 0 01 0 00 0
3-292
KV-300
24 VDC
FG
Frequency (Hz) fH (DM0000) Acceleration rate (DM0002) fL (DM0001) 0 10 ms Acceleration change time Acceleration time Constant rate time Deceleration time
Time (ms)
Setting parameters DM0000: fH [Hz] (Run frequency) 153 Hz to 50000 Hz fH must be greater than fL. DM0001: fH [Hz] (Start frequency) DM0002: Acceleration rate [Hz/10 ms] (fH-fL) (Acceleration time 10 ms) DM0003: Positioning pulse count 65534 pulses max.
CAUTION
Although smoother trapezoidal control can be obtained by setting a smaller acceleration rate, the acceleration time is extended. Be sure to turn OFF input relay 0007 (phase B input).
Operation This program sets the parameters as below: DM0000 = 8000 [Hz], DM0001 = 700 [Hz], DM0002 = 400 [Hz/10 ms], DM0003 = 4000 pulses The program performs trapezoidal control as shown above when start switch 0000 is pressed, and stops control when pulse count reaches 4000. The program restarts operation by re-pressing the start switch. It performs reverse operation while reverse switch 0001 is ON.
3-293
KV-300
Sta
1 6
KV-10/80
Generates clock pulse through highspeed counter CTH0. Counts clock pulese through highspeed counter CTH1. CTC0: Pulse cycle CTC1: Pulse width CTC2: Frequency change point CTC3: Positioning pulse total count Sets parameters (DM0000 to DM0003).
0003
0005
KV-300
KV-10/80
0006
0007 $0268 LDA 0001 0009 2100 STA 01 CALL 1200 CTH1 CTH0 (SET ) (RES ) (RES ) 2105 (RES ) 0502 ( )
0008
EI
Reverse output
0010
0011
0012
0013
CTC0,CTC2,DM0011, CALCULATION SUBROUTINE SBN 02 2002 #01000 LDA #00010 LDA #10000 MUL #10000 MUL DM0012 DIV DM0010 DIV #00005 ADD #00005 ADD #00010 DIV #00010 DIV CTC0 STA DM0011 ADD DM0010 STA CTC2 STA DM0011 STA RET
0014
Emergency stop Sets CTC0. Setting value of CTC0 = 1 DM0012 x 103 x 103 6.4
0015
0016
0017
Sets CTC2. DM0010: Pulse cycle T (s) x 10 DM0011: Accumulated pulse count DM0012: Current frequency f [Hz] 1200: Acceleration flag
0018
INITIALIZING SUBROUTINE SBN 01 2002 DM0003 LDA CTC3 STA #00002 DIV DM0004 DM0001 DM0012 STA LDA STA #00000 DW DM0011 02 CALL RET
0019
0020
0021
0022
RAMP UP/DOWN CHECK ROUTINE SBN 03 2002 DM0012 LDA #00100 DIV DM0011 DM0004 ADD CMP
0023
0024
3-294
0027 0028 SPEED-UP 1200 0029 0030 2011 DM0003 DM0011 LDA SUB 1201 0032 0033 0034 0035 SPEED-UP 1200 DM0012 DM0002 DM0012 DM0001 LDA SUB STA CMP 2011 02 CALL 02 CALL #65535 LDA CTC2 STA 1200 (RES ) DM0012 DM0002 DM0012 DM0000 LDA ADD STA CMP 2011 03 CALL 2011 02 CALL 1201 ( ) CTC2 STA
2011
0031
DM0011 STA
2011
RETI 0036 0037 0038 2002 0039 0040 ENDH 0041 INTERRUPT FOR PULSE STOP INT CTC3 2105 (SET ) RETI
Subtracts the acceleration rate from the current frequency to change frequency whenever CTC2 turns ON while acceleration flag 1200 is OFF. When the current frequency reaches fL, stops deceleration and initializes the settings.
When pulse count of clock pulses equals the setting value of CTC3, stops clock pulse output.
3-295
KV-300
1 6
KV-10/80
Adds the acceleration rate to the current frequency to change frequency whenever CTC2 turns ON while acceleration flag 1200 is ON. When the current frequency reaches fH, stops acceleration and sets the deceleration pulse count.
KV-300
KV-10/80
Frequency (Hz)
Operation
Start
Acceleration time
Deceleration time
Time (ms)
With this function, ramp-up/down control over stepper motors and AC servo motors (pulse input type) becomes possible. The following section describes setting and application of positioning control parameters.
Clock pulse
6
0500 0501 0502 0503
KV-300
Motor driver
3-296
Setting parameters
Set the parameters to the assigned data memory addresses. To operate the positioning control function, the special utility relays must be set. Refer to page 3-299. The following table shows the parameters and assigned DM Nos.
DMNo. DM9407 X-axis (0500) DM9408 DM9409 DM9410 DM9411 DM9412 Y-axis (0501) DM9413 DM9414 DM9415 DM9416 DM9417 Parameter Set value error code 0500 Start frequency (Hz) 0500 Run frequency (Hz) 0500 Acceleration/deceleration time (ms) 0500 Output pulse count (high-order 16 bits) 0500 Output pulse count (low-order 16 bits) 0501 Start frequency (Hz) 0501 Run frequency (Hz) 0501 Acceleration/deceleration time (ms) 0501 Output pulse count (high-order 16 bits) 0501 Output pulse count (low-order 16 bits) Allowable setting range Code 11 to 17 or FFFF (-1) is entered when error occurs 153 to 50000 153 to 50000 0 to 4096 0 to 65535 0 to 65535 153 to 50000 153 to 50000 0 to 4096 0 to 65535 0 to 65535
Note: Refer to the following expression to determine the output pulse count. Output pulse count < (65535 x pulse change cycle [ms]) (1000 x run frequency [Hz]) Pulse change cycle (t) The pulse change cycle is the cycle in which the output clock pulse frequency is changed for acceleration or deceleration. The pulse change cycle is obtained from one of the following expressions, whichever produces the smaller solution. However, when the start pulse is less than 500 Hz, the pulse change cycle becomes 14 ms or more. Pulse change cycle (t) [ms] = (acceleration time [ms] + 199) 200 x 4 or Pulse change cycle (t) [ms] = 1000 (run frequency [Hz] 1000)
Run
Start
3-297
KV-300
1 6
KV-10/80
KV-300
KV-10/80
14 15 16 17 FFFF
Corrective action for error code 16 Error code 16 is issued when the output pulse count during acceleration/deceleration time exceeds other values calculated from the preset parameters. To recover from the error, the following corrective actions are available. Change the run frequency and/ or the acceleration/ deceleration time according to the following expression. 65535 Run frequency x Pulse change cycle x 65535 1000
Corrective action for error code FFFF (-1) Reduce run frequency and start frequency. Reduce accelleration/ deccelleration time.
Start frequency (Hz) Sets a start frequency (speed) to start the motor rotation smoothly during positioning control. The KV-300 CPU outputs clock pulses at the specified frequency. Run frequency (Hz) Sets the motor frequency (speed) during positioning control. The KV-300 CPU outputs clock pulses at the specified frequency. Note: When the start frequency equals the run frequency, the system operates as shown in the following chart.
Preset frequency 0
Here, the acceleration/deceleration time is ignored. The output count should be less than 65535.
3-298
Procedure
When the positioning control function is used, the KV-300 CPU controls start, stop, and emergency stop by turning ON/OFF the utility relays. The table below shows the operations and assigned utility relays.
Relay No. 0500 2308 2309 0501 2311 2312 W R W W STOP RUN RESET START Decelerates at rising (UP) edge and stops. Turns ON during pulse output. Immediately stops when turning ON during interrupt program. Starts at rising (UP) edge. R/W Function Description
2310
2313
3-299
KV-300
1 6
KV-10/80
KV-300
KV-10/80
Note 1: When special utility relay 2310 (2313) is turned ON at start of clock pulse, 2309 (2312) turns ON and the clock pulse is output, assuming parameter settings are correct. Note 2: If a parameter setting for the X-axis or Y-axis is incorrect, 2309 (2312) does not turn ON and an error code is written into DM9407. Check the error code and adjust the parameter setting. Note 3: By resetting 2309 (2312) within the interrupt program, you can stop the clock pulse immediately. You must reset 2309 within the interrupt program; otherwise, the clock pulse is not stopped. Note 4: Because the clock pulse is output under software control, the pulse width is extended by 10 s to 20 s in the pulse change cycle. Test the clock pulse output on the KV-300 system before using it in practical applications.
Connection example The following reference example shows how to connect the KV-300 CPU to a stepping motor driver. Refer to the stepping motor driver instruction manual for details. Set the pulse input mode for the stepping motor driver to "Pulse input mode 1".
ys erg enc p Sto Em top
24 VDC KV-300
+
Stepping motor driver
Sta
rt
Twisted pair cable COM 0000 0001 0002 1 11 2 12 + CW (pulse) + CCW (rotation direction)
7 8 9 10 20
+
FG
3-300
Ramp-up/down control
When start switch 0002 is turned ON, 0500 outputs 100000 pulses under the following conditions: start frequency 1 kHz, run frequency 5 kHz, and acceleration/ deceleration time 3 s. Turn ON 0001 to decelerate and stop pulse output. When 0000 is turned ON, pulse output is immediately stopped.
2008 0001 0002 0002 0001 0003 0004 0005 2002 0006 0007 0008 END INT 0000 2309 RES RET1 ENDH EI #01000 #05000 #03000 #00001 #34464 2310 DW DW DW DW DW DM9408 DM9409 DM9410 DM9411 DM9412 2308
Enables interrupt when starting operation. This is required to allow emergency stop operation. Sets parameters and simultaneously starts pulse. Decelerates and stops pulse.
15000
17500
15000
In manual mode, the system goes forward while 0008 is ON and rearward while 0009 is ON. It returns to the origin when 0007 turns ON. A pulse is output from 0500. Reverse the rotation direction by turning ON/OFF 0502. The system is equipped with an origin sensor (0002), forward end limit (0006), and rearward end limit (0004).
3-301
KV-300
1 6
KV-10/80
0002
SPECIFICATION
0003 0004
0005
KV-300
KV-10/80
0006
0007
ENABLES INTERRUPT & RESETS ORIGIN POSITIONING FRAG 2008 1200 (RES) < EI >
0008
0009 0010
MANUAL SWITCHES: FORWARD=0008 REVERSE=0009 0008 0009 2309 0502 (SET) 0502 (RES) 0006 1100 DIFU 1101 DIFU #00001 #00000 < DW > < DW > DM9411 DM9412 1103 DIFU
Sets start frequency, run frequency, and acceleration/deceleration time. Start frequency: 600 Hz Run frequency: 4 kHz Acceleration/deceleration time: 100 ms Output pulse count: 65536
0008
2309
0004
#00600 #04000 #00100 < DW > < DW > < DW > DM9408 DM9409 DM9410
0009
1105 DIFU
To return to the origin, first goes forward and then rearward. Stops when origin limit (0002) turns ON. For forward operation, the following parameters are set: Start frequency: 300 Hz, Run frequency: 3 kHz, Acceleration/decekeratuib time: 250 ms, Output pulse count: 3500. For rearward operation, the following parameters are set: Start frequency: 50 Hz Run frequency: 500 Hz Acceleration/deceleration time: 0 ms Output pulse count: 65536
0015
* * * * * * * * * * * * * * * * * * * * * * * * * * ORIGIN * * * * * * * * * * * * * * * * * * * * * * * * * * * *
0016
0017
6
0018 0019 FORWARD IN ADVANCE 1205 0502 (SET) #00300 #03000 #00250 < DW > < DW > < DW > DM9408 DM9409 DM9410 #00000 #03500 < DW > < DW > DM9411 DM9412 1300 DIFU 1200 (SET)
0020 0021
STOP FORWARDING 1200 2309 ON 1201 1201 2309 OFF 1202 1202 1203 DIFU
0022
POSITIONING ORIGIN WHILE REVERSING SLOWLY 1203 0502 (RES) #00500 #05000 #00000 < DW > < DW > < DW > DM9408 DM9409 DM9410 #00001 #00000 < DW > < DW > DM9411 DM9412 1301 DIFU 1200 (RES)
0023
3-302
0029
0008
0033 0034
STAGE INSTRUCTION START 2008 1400 (SET) 1408 DIFU 1408 1401 (RES) 1402 (RES) 1403 (RES) 1400 (SET)
0037
AUTO START (OPERATES DURING 0000 IS TURNED ON) 1400 STG 0000 1401 JMP
0038
Creates each of the operation programs with the STG instruction and makes the programs ready in the specified order. Sets the parameters for automatic mode. (1) Start frequency: 300 Hz Run frequency: 8 kHz Acceleration/deceleration time: 150 ms Output pulse count: 15000 (2) Start frequency: 300 Hz Run frequency: 2 kHz Acceleration/deceleration time: 250 ms Output pulse count: 2500 (3) Start frequency: 300 Hz Run frequency: 15 kHz Acceleration/deceleration time: 250 ms Output pulse count: 17500 Stops pulse at the origin with the interrupt program.
0039
MOVES TO NEXT STAGE AFTER MOTOR STOPS 1401 STG 1402 STG 1403 STG 1407 (RES) 1405 (RES) 1406 (RES) #00010 T001 #00005 T002 #00005 T003 T001 1500 DIFU 1501 DIFU 1502 DIFU 2309 1405 2309 1406 2309 1407 1405 1402 JMP 1403 JMP 1400 JMP
0040
T002
1406
0041
T003
1407
0042 0043
AUTO OPERATION PARAMETER SET 1500 0502 (SET) 0502 (SET) 0502 (RES) #00300 #08000 #00150 < DW > < DW > < DW > DM9408 DM9409 DM9410 #00300 #02000 #00250 < DW > < DW > < DW > DM9408 DM9409 DM9410 #00300 #15000 #00250 < DW > < DW > < DW > DM9408 DM9409 DM9410 #00000 #15000 < DW > < DW > DM9411 DM9412 #00000 #02500 < DW > < DW > DM9411 DM9412 #00000 #17500 < DW > < DW > DM9411 DM9412 1503 DIFU 1504 DIFU 1505 DIFU
1 6
0044 1501 0045 1502 0046 STARTS MOTOR 1503 0048 1504 0049 1505 0050
0047
1506 ( )
END 0051
0052
INTERRUPT FOR EMERGENCY STOP (POSITIONING ORIGIN) INT 0002 1200 0008 0009 0000 2309 ( RES ) RETI
0053
0054 0055
ENDH 0056
3-303
KV-10/80
0030
KV-300
KV-300
KV-10/80
3-304
Chapter 7
Serial Communication
The KV Series can be connected to an external device with an RS-232C interface to establish communication. This chapter describes communications specifications, how to connect the KV Series to external devices, and how to perform communication. 7.1
7.1.1 7.1.2 7.1.3
7.2
7.2.1 7.2.2 7.2.3 7.2.4 7.2.5 7.2.6 7.2.7
7.3
7.3.1 7.3.2 7.3.3
7.4
Note 1: Be sure to specify the same communication parameters for the KV and any external devices to be connected. Communication will fail if different parameters are used. Note 2: Refer to the instruction manual supplied with each device when setting communications parameters on the device.
KV
Note: The KV-10xx and KV-10/80 Series include only communication port A. Wiring diagram The following is the wiring diagram for the RS-232C cable. Be sure to use the special connection cable to connect the KV with each device.
KV
SD RD SG 3 5 4
KV
SD RD SG 3 5 4
3-306
Recommended pin assignments for the RS-232C communication cable are shown below. When connecting the KV-300 CPU, use only the connecting cable supplied.
SD RD
KV-300 3 5
23
45
SG
DCE 2 3 4 5 6 20 7
SD RD RS CS DR ER SG
SD RD
KV-300 3 5
SG
DTE 2 3 4 5 6 20 7
SD RD RS CS DR ER SG
Modular Connector
1 7
3-307
Initialize the communication buffer and baud rate setting of the KV.
Transmits a command
Receiving a response
Transmitting a break signal A break signal is used to initialize the communication buffer and baud rate setting of the KV. It is necessary to transmit a break signal of 100 ms or longer to the KV before starting communication. Another break signal is unnecessary once the communication is established. A break signal must have the waveform shown below.
+V SD -V
10 ms or longer 100 ms or longer
Note 1: For the first serial communication with a personal computer after the KVP3E(01) handheld programmer is connected to the KV, or after the "KV IncrediWare (DOS)" or "LADDER BUILDER for KV" programming support software is evoked, be sure to transmit a break signal. A break signal is unnecessary at other times. Note 2: If you cannot transmit a break signal, turn OFF the KV once to initialize the communication program. After that, restart communication between the KV and the personal computer. Note 3: Be sure to stop the communication for 10 ms or longer after transmitting a break signal.
3-308
Response format The KV sends back a response to the received command in the following format. When creating a program using a personal computer, create it so that the personal computer can process the response in this format.
Response C R L F
1 7
3-309
Command CC CF OK OK dd f
Response
Description
n= 0: PROGRAM mode 1: RUN mode dd= Error code (00: No error) f= 0: PROGRAM mode 1: RUN mode
f= 0: Contact OFF, 1: Contact ON dddddd= 00000 to 65535 (in decimal) n/nnn= Counter No.
Reads
Timer
RD_Tnnn
f, ddddd, ddddd
(Current value) (Preset value)
f= 0: Contact OFF 1: Contact ON dddddd= 00000 to 65535 (in decimal) nnn= Timer No.
ddddd_ddddd_00000_00000
Digital trimmer
RD_AT
(Trimmer 0) (Trimmer 1)
dddddd= 00000 to 65535 (in decimal) Reads preset values of trimmer 0 and 1. f= 0: Contact OFF, 1: Contact ON dddddd= 00000 to 65535 (in decimal) nnnn= DM No.
RD_nnnnn RD_DMnnnn
f ddddd
Temporary data RD_TMnn memory Counter current value Timer current value CTH current value Writes Counter preset value 2. Timer preset value 2. CTC preset value 2. Data memory WR_Cnnn_ddddd WR_Tnnn_ddddd WR_CTHn_ddddd WS_Cnnn_ddddd WS_Tnnn_ddddd WS_CTCn_ddddd WR_DMnnnn_ddddd
OK
OK
OK
OK
Counter contact RS_Cnnn Forces OFF Timer contact RS_Tnnn OK nnnn= Relay No. nnn= Timer/counter No. n= CTC No.
Note 1: Temporary data memories TM28, TM30, and TM31 are read-only. Values cannot be written into these memories. However, these memories can be used when special functions are not used. Note 2: Visual KV Series: When the preset values of timers and counters are changed using "WS", the ladder program in EEPROM is updated the next time the KV is turned on. KV-300, 10/80 Series: The "WS" command changes the content of the program stored in the PLCs EEPROM. Contact Keyence if you need to change it frequently.
3-310
1 7
Command: ?E Response: dd Error code (2- or 3-digit number) Checking current mode The KV responds with 0 or 1 indicating a current mode. Command: ?M Response: f 0: PROGRAM mode 1: RUN mode
3-311
3-312
1 7
Writing preset value of timer Changes the preset value of the specified timer. Command: WS_Tnnn_ddddd New preset value (00000 to 65535: in decimal) Timer No. Response: OK
Note: Visual KV Series: Executing this command changes the program in the KV. The program in EEPROM is automatically updated the next time the KV is turned ON. KV-300, 10/80 Series: The "WS" command changes the content of the program stored in the PLCs EEPROM. Contact Keyence if you need to change it frequently.
3-313
Forcing timer contact ON Forces the contact of the specified timer to ON. Command: ST_Tnnn Timer No. Response: OK Forcing relay OFF Forces the contact of the specified relay to OFF. Command: RS_nnnnn Relay No. Response: OK Forcing counter contact OFF Forces the contact of the specified counter to OFF. Command: RS_Cnnn Counter No. Response: OK Forcing timer contact OFF Forces the contact of the specified timer to OFF. Command: RS_Tnnn Timer No. Response: OK
3-314
E3
1 7
E4
Writeprotected
Attempt was made to change the preset value of a counter, timer, or CTC in a writeprotected program. "M1" was transmitted before cleaning an error message from the KV.
E5
Clear the error message from the KV, and remove the cause of the error.
3-315
FOR/NEXT instructions are nested to Check the program while paying eight levels or more. particular attention to usage of subroutines and the INT instruction, Five levels or more of interrupts and restore the program accordingly. occurred simultaneously. MPS/MPP instructions are nested to eight levels or more. Content in RAM was erased. All data Turn the KV off once and turn it on. in data memory and current values of Register data from the beginning. counters in the KV were cleared. Scan time exceeds 300 ms. Check the program again.
Be sure that there is no excessive repetition using the FOR/NEXT loop. Be sure that an interrupt is not executed at a higher rate.
20
Memory error
30
40 50 51 52 53 54
NO PROGRAM SND/RTN failure Division by zero Address error Invalid instruction Watchdog timer error
Attempt was made to operate a KV base unit which has no programs stored.
Hardware error was detected in a KV Turn off the power for the KV, and base unit. then turn it on again. If the cause of the error is not removed, the KV may be faulty. Contact your nearest KEYENCE office.
3-316
1 7
Change value in "SLEEP" timer according to your personal computers clock frequency so that value I exceeds 100 ms. Set the baud rate of your personal computer to 9600 bits/s. Enter END to terminate programming.
Note 1: MS-DOS executable files (KVCOM.EXE) and BASIC source code files (KVCOM.BAS) are included in the KV Incrediware (DOS) Software (KV-H4E, version 2.00 or higher). Note 2: Type in "KVCOM" and press ENTER to call the MS-DOS command line.
3-317
Internal data memory The KV writes received text data into its data memories (DM1000 to DM1099 with communication port A, DM1200 to 1299 with communication port B), one byte per data memory in ASCII code.
NEW PO RT A KV Dat a PO RT B memory KV- 300 KV- 10/ 80 Dat a No. DM1000 DM1200 DM9200 DM1001 DM1002 DM1003 to DM1098 DM1099 DM1201 DM1202 DM1203 to DM1298 DM1299 DM9201 DM9202 DM9203 to DM9298 DM9299 Data 2 Data 3 to Data 98 Data 99
The KV writes "00" into the high-order 8 bits and text data in ASCII code into the low-order 8 bits of the data memory.
7
Byte count of data Received data
Data 99 ETX
Data memory
2nd DM
3rd DM
4th DM
100th DM
00
15
Note: The KV-10xx includes only communication port A. Special utility relay operation Three special utility relays assigned for each channel turn on for one scan to indicate that text data has been received or that data reception has failed.
3-318
Note 1: Be sure to transmit a break signal for the first serial communication with a personal computer after the KV-P3E(01) handheld programmer is connected to the KV, or after the "KV IncrediWare (DOS)" or "LADDER BUILDER for KV" programming support software is evoked. A break signal initializes the communication setting for the KV. If you cannot transmit a break signal, turn the KV OFF once to initialize the communication setting. The KV will not receive text data unless its communication setting has been initialized. Note 2: If [ETX] exists at some point in the text data, the KV writes the data before [ETX] into the data memory. The data after [ETX] is not written. Note 3: If KV receives text data while special utility relay 2804 (2809)*1 is ON, the received data is not written into the data memory. In this case, special utility relay 2802 (2807)*2 turns ON for one scan. Note 4: When parity errors or other errors occur during text data reception, the received data is not written into the data memory. In this case, special utility relays 2802 (2807) and 2803 (2808)*3 turn ON for one scan. Note 5: The KV-10xx includes only communication port A.
*1: 2804 with KV-300/10/80 *2: 2805 with KV-300/10/80 *3: 2806 with KV-300/10/80
1 7
The KV writes "00" into the high-order 8 bits and text data in ASCII code into the low-order 8 bits of the data memory.
High-order 8 bits (00)
15
Data memory
2nd DM
3rd DM
4th DM
100th DM
Transmitted data
Data 99
3-319
Note 1: Be sure to transmit a break signal for the first serial communication with a personal computer after the KV-P3E(01) handheld programmer is connected to the KV, or after the "KV IncrediWare (DOS)" or "LADDER BUILDER for KV" programming support software is evoked. A break signal initializes the communication setting for the KV. If you cannot transmit a break signal, turn the KV OFF once to initialize the communication setting. The KV will not transmit/receive text data unless its communication setting has been initialized. Note 2: Turn ON special utility relay 2804 (2809) (SET 2804 [2809])*1 to transmit text data. Special utility relay 2804 (2809)*1 remains ON during text data transmission, and automatically turns OFF when the transmission completes. To forcefully stop the text data transmission, turn OFF special utility relay 2804 (2809) (RES 2804 [2809])*1. Note 3: A break signal is transmitted while special utility relay 2808*2 is turned ON. Use the SET-RES instruction pair or OUT-OUB instruction pair to control a break signal. The communication program of the destination KV is initialized after a break signal has been transmitted.
*1: 2807 with KV-300/10/80 *2: 2803 with KV-300/10/80
0001 0002
Break signal
0004 0005 0006 0007 0008 0009 0010
When power is turned ON, transmits a break signal for one second during the first scan.
DM1000 DM1001 DM1002 DM1003 DM1004 DM1005 DM1006 DM1007 2801 LDA LDA LDA LDA LDA LDA LDA LDA Reception relay No. of Received Received Received Received Received Received Received data data data data data data 2803 T001 received data. data 0500
Receives text data. Turns ON output relay 0500 for 3 seconds when reception error occurs.
0013
3-320
High-order 4 bits
0 0 1 2 3 4 5
Low-order 4 bits
6 7 8 9 A B C D E F
1 7
Characters in the shaded area can be used for data transmission with the KV. [STX], [ETX], [LF], and [CR] are used as data delimiters. Only use characters in the shaded area because the other characters are used for control purposes.
3-321
3-322
Chapter 8
Programming Examples
This chapter describes the typical programming examples for KV-300, KV-10/80 Series. These programs can be used for Visual KV Series. However, pay attention to the I/O addressing compatibility before use. 8.1 8.2
8.2.1
8.1 List
8.1 List
Instruction TMR, TMH, TMS [Timers] Program title One-shot circuit Off-delay circuit On-delay circuit Flicker circuit C [Counter] Accumulator timer Large capacity counter Multi-level Up/Down counter Counter multi-level setting DIFU, DIFD KEEP SFT One-shot circuit Detection of packs on conveyor Alternating circuit Repeat shift circuit Asynchronous shift register Resetting internal utility relays HSP MC-MCR W-UE STG-JMP STP-STE ITVL CTH [High-speed counter] High-speed fetching of input data Emergency stop circuit Input sequence check Fork lift truck IN/OUT judgement Enabling double coil Conditional branching Process progression Pulse interval measurement Fetching data from KV-AN6 High-speed counter multi-level setting High-speed counter current value clear Input of phase differential signal SBN [Sub-routine] FOR-NEXT HKEY TMIN [Analog timer] DM shift Transfer of a block of DM data Fetching 16-key input Changing timer setting value Changing setting values of multiple timers LDA/STA First-in first-out (FIFO) Changing the counter setting value Changing the timer setting value CMP Comparing values with no specific range Setting the upper/lower limit Changing the CMP setting value Multi-level comparator ADD SUB MUL DIV ANDA ORA Adding BCD and BIN(binary) values Total count Comparison of absolute values Multiplying the counter current value by DM value Total count average BCD (1-digit) input Fetches input data separately Output of 2-digit BCD data Separate input of 2-digit BCD Reference Page 3-326 3-326 3-327 3-327 3-327 3-328 3-328 3-328 3-329 3-329 3-330 3-331 3-331 3-332 3-332 3-333 3-334 3-334 3-335 3-335 3-336 3-336 3-337 3-338 3-339 3-339 3-340 3-341 3-342 3-343 3-343 3-343 3-345 3-345 3-345 3-345 3-346 3-346 3-347 3-348 3-348 3-349 3-349 3-350 3-350 3-351 3-351
3-324
8.1 List
Instruction EORA SRA/SLA RRA/RLA INC/DEC MPX DMX TBCD TBIN Program title Judgement of matcing data Separate input of BCD Error input count Total count Up/Down count Display of 7-segment LED Output of error input No. in BCD Output of 4-digit BCD data Output of 8-digit BCD data Output of 4-digit BCD data Reference Page 3-352 3-352 3-353 3-353 3-354 3-355 3-356 3-356 3-356 3-357
1 8
3-325
8.2 Details
8.2
Details
0000 0500 2s 2s
Ladder diagram
2-s timer 0000 #00020 T000 T000 00500
Coding
Line No. 0000 0001 0002 0003 0004 Instruction LD OR TMR ANB OUT Operand 0000 0500 000#00020 T000 0500
0500
Off-delay circuit When input relay 0000 turns ON, output relay 0500 turns ON. 0500 turns OFF in a specified time after 0000 turns OFF. Timing diagram
0000
0500
2s
Ladder diagram
0000 T000 0500
Coding
Line No. 0000 0001 0002 0003 0004 0005 Instruction LD OR ANB OUT ANB TMR Operand 0000 0500 T000 0500 0000 000 #00020
0500
#00020 T000
3-326
8.2 Details
On-delay circuit Output relay 0500 turns ON in a specified time after input relay 0000 turns ON. When input relay 0000 turns OFF, output relay 0500 also turns OFF. Timing diagram
0000 0500 2s 1s
Ladder diagram
2-s timer 0000 #00020 T000 0500
Coding
Line No. 0000 0001 0002 0003 Instruction LD TMR LD OUT Operand 0000 000 #00020 T000 0500
T000
Flicker circuit Output relay 0500 turns ON and OFF repeatedly while input relay 0000 is ON. Timing diagram
0000 0500 2s 1s 2s 1s
Ladder diagram
0000 T000 T001 2-s timer 1-s timer #00020 T000 #00010 T001 0500
Coding
Line No. 0000 0001 0002 0003 0004 0005 Instruction LD ANB TMR LD TMR OUT Operand 0000 T001 000 #00020 T000 001 #00010 0500
1 8
Accumulator timer (Remains ON in case of power failure) Counts special utility relay 2006 (1-s clock pulse) for 3600 s at C001 and inputs the count value to C002. Accumulates the count for 10000 hours and retains the current count value even when power failure occurs or power is OFF. Input relay 0000 Reset relay 0001 (Resolution is 1 s at 2006.) Ladder diagram
0000 C001 3600-s counter 1-s pulse 10000-s counter #03600 C001 2006 1000 #10000 C002 1000
Coding
Line No. Instruction 0000 0001 0002 0003 0004 0005 0006 LD ANB C LD OUT LDB C Operand 0000 C001 001 #03600 2006 C001 1000 0001 002 #10000 1000
C001 0001
3-327
8.2 Details
Large capacity counter Accumulates 1 count to C001 for every 10000 counts by C000. This example can count up to 655350000. Count input relay 0000 Reset relay 0001 Ladder diagram
0001 C000 #10000 C000 0000 1000 #65535 C001 1000
Coding
Line No. Instruction 0000 0001 0002 0003 0004 0005 0006 LDB ANB C LD OUT LDB C Operand 0001 C000 000 #10000 0000 C000 1000 0001 001 #65535 1000
C000 0001
Multi-level UP/DOWN counter UP/DOWN counter which allows the count setting value up to 99,990,000. UP input relay: 0001 DOWN input relay: 0002 Reset input relay: 0003 The example below outputs the high-order 4 digits of 8-digit BCD to UDC001 and the low-order 4 digits of 8-digit BCD to UDC000.
0004 C000 LDA C001 LDA TBCD 8500 STA 8600 STA Low-order 4 digits High-order 4 digits
TBCD
Ladder diagram
0001 0002 0003 RES C000 C000 0003 RES 0001 0002 UDC001 UP #09999 DW UDC000 UP #09999 DW BCD: Low-order 4 digits
Coding
Line No. Instruction 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 LD LD LD UDC LD AND LD AND LD UDC Operand 0001 0002 0003 000 #09999 C000 0001 C000 0002 0003 001 #09999
Counter multi-level setting Outputs in 3 different levels according to the counter current value. 00000 to 00999 > 0500 turns ON. 01000 to 01999 > 0501 turns ON. 02000 to 02999 > 0502 turns ON. Ladder diagram
0001 #09999 C000 0000 #00999 2011 CMP #01999 2011 0500 CMP
01000 to 01999 #02999 2011 0500 0501 0512 02000 to CMP 02999
3-328
8.2 Details
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 Instruction LDB C LD LDA CON MPS CMP CON ANB OUT MRD CMP Operand 0001 000 #09999 0000 2002 C000 Line No. 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 Instruction CON ANB ANB OUT MPP CMP CON ANB ANB ANB OUT Operand 2011 0500 0501 #02999 2011 0500 0501 0502
Ladder diagram
0000 1000 DIFU 1001 DIFD 1000 0500 1001 0501 T002 T001 0500 #00010 T001 0501 #00010 T002
Coding
Line No. Instruction 0000 LD 0001 DIFU 0002 DIFD 0003 LD 0004 OR 0005 ANB 0006 OUT 0007 TMR 0008 LD 0009 OR 0010 ANB 0011 OUT 0012 TMR Operand 0000 1000 1001 1000 0500 T001 0500 001 #00010 1001 0501 T002 0501 002 #00010
1 8
Refer to p. 3-78.
Reflector (R-2)
ing ck ew Ch m pa gu
ON
OFF
ON
ES Series
Gum Gum Gum Gum Gum Gum Gum Gum
PZ2-61
3-329
8.2 Details
Timing diagram
0000 0001 0002 0003 0500 1s
Ladder diagram
0000 0001 0002 0003 KEEP SE T 1000 RES 0000 1001 DIFD 0500
Outputs 1-s one-shot pulse from output relay 0500 when 1000 is OFF. Detects presence/absence of chewing gum packs at DOWN edge of 0000. Excecutes SET when all input relays 0000 to 0003 are ON.
1001
0500
#00010 T001
Executes SET when all input relays 0000 to 0003 are ON. Detects presence/absence of chewing gum packs at DOWN edge of 0000. Outputs 1-s one-shot pulse from output relay 0500 when 1000 is OFF. Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 Instruction LD AND AND AND LD KEEP LD Operand 0000 0001 0002 0003 1001 1000 0000 Line No. 0007 0008 0009 0010 0011 0012 0013 Instruction DIFD LD ANB OR ANB OUT TMR Operand 1001 1001 1000 0500 T001 0500 001 #00010
Refer to p. 3-80.
Ladder diagram
1000 D 0000 CLK 2003 RES 1000 0500 1000 1000 SFT
Coding
Line No. Instruction 0000 0001 0002 0003 0004 0005 LDB LD LD SFT LD OUT Operand 1000 0000 2003 1000 1000 1000 0500
Refer to p. 3-82.
3-330
8.2 Details
Repeat shift circuit Turns ON every output for a second sequentially. Sets 1000 to 2008 (ON for 1st scan only at startup) and shifts outputs from 7500 to 7504 every second at T001. When 1005 turns ON, 1000 is set and the same sequence as above repeats. Ladder diagram
2008 T001 2003 D T001 CLK 2003 1000 1001 1002 1003 1004 1005 1005 RES 7500 7501 7502 7503 7504 1000 SET 1000 1000 SET #00010 T001 SFT
Coding
Line No. Instruction 0000 LD 0001 SET 0002 LDB 0003 T001 0004 LD 0005 LD 0006 LD 0007 SFT 0008 LD 0009 OUT 0010 LD 0011 0012 0013 0014 0015 0016 0017 0018 0019 OUT LD OUT LD OUT LD OUT LD SET Operand 2008 1000 T001 #00010 2003 T001 2003 1000 1005 1000 7500 1001 7501 1002 7502 1003 7503 1004 7504 1005 1000
Synchronous shift register Turns ON input relay 0002 to reset the shift register (1000 to 1010) when the data input to 0000 does not synchronize with the clock input to 0001. Timing diagram
0001 0000 1000 1001 1002
. . .
Coding
1100 DIFU 1000 SET SFT D 1000 CLK 1010 RES
1 8
Ladder diagram
0000 1100 2003 0001 0002
Line No. Instruction 0000 0001 0002 0003 0004 0005 0006 0007 LD DIFU LD SET LD LD LD SFT
Operand 0000 1100 1100 100 2003 0001 0002 1000 1010
3-331
8.2 Details
Resetting internal utility relays When input relay No. 0000 turns ON, all internal utility relays No. 1000 through 1915 turn OFF. SFT instruction can be substituted for RES instruction. This application can be used to reset many relays at one time. Ladder diagram
2003 D 2003 CLK 0000 RES 1915 1000 SFT
Coding
Line No. 0000 0001 0002 0003 Instruction LD LD LD SFT Operand 2003 2003 0000 1000 1915
Ladder diagram
0001 0000 0500 1-s timer HSP 0000 #00010 T000 0500
Outputs 1-s one-shot pulse from output relay 0500.
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 Instruction Operand LD 0001 HSP 0000 LD 0000 OR 0500 TMR 000 #00010 ANB T000 OUT 0500
T000
To input a signal having pulse interval shorter than the scan time, use the interrupt instruction. Refer to p. 3-192.
Sets interrupt input at 0000. Sets 0500 when 0000 turns ON.
3-332
8.2 Details
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006
Refer to p. 3-86.
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 Instruction LD OUT CON OUB LD DIFU CON AND SET CON RES CON RES LD MC STG OUT CON TMR CON AND JMP STG OUT CON TMR CON AND JMP STG OUT CON TMR CON AND JMP MCR LD MC LD OUT LD OUT LD OUT MCR LD OR OUT LD OR OUT LD OR OUT END ENDH Operand 0000 1000 1001 0000 1002 1002 1100 1101 1102 1000 1100 1200 000 #00010 T000 1101 1101 1201 001 #00020 T001 1102 1102 1202 002 #00030 T002 1100 1001 0001 1203 0002 1204 0003 1205 1200 1203 0500 1201 1204 0501 1202 1205 0502
Ladder diagram
0000 0001 0002 0003 0004 0005 0006 0007 1001 0008 0001 0009 0002 0010 0003 0011 MCR 0012 1200 0013 1203 0014 1201 0015 1204 0016 1202 0017 1205 0018 END 0019 ENDH 0020 0502 0501 0500 1205 1204 1203 MC 1100 STG 1101 STG 1102 STG 1200 1201 1202 #00010 T000 T000 #00020 T001 T001 #00030 T002 T002 1101 JMP 1102 JMP 1100 JMP MCR 0000 1002 1002 DIFU 1000 1100 SET 1101 RES 1102 RES MC 1000 1001
1 8
3-333
8.2 Details
Application Instructions
Application of W-UE instruction
Input sequence check Output relay 0500 turns ON when input relay 0000 is ON and input 0001, 0002, and 0003 turn ON in this sequence. Output relay 0500 turns OFF when input relay 0000 is OFF. Timing diagram
0000 0001 0002 0003 0500
Ladder diagram
0000 0001 1000 0002 1001 0003 1002 0500
Coding
Line No. Instruction 0000 0001 0002 0003 0004 0005 0006 0007 LD W-UE LD W-UE LD W-UE LD OUT Operand 0000 0001 1000 1000 0002 1001 1001 0003 1002 1002 0500
1000
1001
1002
Fork lift truck IN/OUT judgement Checks the input sequence. Output relay 0500 turns ON when input relay 0000 turns ON and then 0001 turns ON. Output relay 0501 turns ON when input relay 0001 turns ON and then 0000 turns ON. Timing diagram
0000 0001 0500
0501
Ladder diagram
0000 0001 1000 0000 1001 1000 0500
Leave warehouse
Coding
Line No. Instruction 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 LD W-UE CON AND OUT LD W-UE CON AND OUT 1001 0501 1000 0500 0001 0000 1001 Operand 0000 0001 1000
0001
1001
0501
Enter warehouse
3-334
8.2 Details
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 Instruction LD DIFU CON AND SET STG OUT CON TMR CON AND JMP STG OUT CON OUT Operand 0000 1100 1100 1000 1000 0500 000 #00010 T000 1001 1001 0500 0501 Line No. 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 Instruction CON TMR CON AND JMP STG OUT CON OUT CON OUT CON TMR CON AND JMP Operand 001 #00020 T001 1002 1002 0500 0501 0502 002 #00030 T002 1000
CAUTION
The double coil operates normally through different STG instructions. If different STG instructions turn ON simultaneously, the latter programmed instruction has the priority.
Conditional branching When input relay 0000 (start SW) turns ON, output relay 0500 turns ON. Then, as programmed for conditional branching, output 0501 turns ON for 1 s when 0001 turns ON or 0502 turns ON for 2 s when 0002 turns ON. After either one of the processes is completed, the program returns to the conditional branching and repeats the same steps. Ladder diagram
0000 1000 STG 1100 DIFU 0500 1100 0001 0002 1001 STG 1002 STG 0501 0502 #00010 T000 #00020 T001 T000 T001 1000 SET 1001 JMP 1002 JMP 1000 JMP 1000 JMP
1 8
3-335
8.2 Details
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 Instruction LD DIFU CON AND SET STG OUT MPS AND JMP MPP AND JMP STG Operand 0000 1100 1100 1000 1000 0500 0001 1001 0002 1002 1001 Line No. 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 Instruction OUT CON TMR CON AND JMP STG OUT CON TMR CON AND JMP Operand 0501 000 #00010 T000 1000 1002 0502 001 #00020 T001 1000
Coding
Line No. Instruction 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 LD DIFU CON AND SET STP LD RES LDB OUT LD TMR LD SET STE STP LD RES LDB OUT LD TMR STE END ENDH Operand 0000 1000 1000 1001 1001 T000 1001 T000 0500 1001 000 #00020 T000 1002 1002 T001 1002 T001 0501 1002 001 #00030
Refer to p. 3-114.
3-336
8.2 Details
Reset input relay 0002 Output relay 0500 turns ON when the pulse interval is not within the range from 490 to 510 mm.
Measure the pulse interval ON OFF 500ms
Ladder diagram
2008 #00001 LDA #00051 LDA #00049 LDA #00010 LDA DM0000 STA DM0001 STA DM0002 STA DM0003 STA ITVL PLS DM0000 PAUSE 0002 1000 RES DM0007 LDA DM0100 STA 0500 RES 0500 SET
Sets mode 1 in DM0000.
2008
2008
2008
Sets the average number of measurements (10) in DM0003. Measures the pulse interval when input relay 0000 turns ON. Pauses measurement when input relay 0001 turns ON. Resets measurement when input relay 0002 turns ON. Writes the average measurement value into DM0100 and resets 0500 after every time a measurement is completed. Turns On output relay 0500 when the pulse interval is not within the range from 490 to 510 mm.
0000 0001
1002
1000
1001
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 Instruction LD LDA CON STA LD LDA CON STA LD LDA CON STA LD LDA CON Operand 2008 #00001 DM0000 2008 #00051 DM0001 2008 #00049 DM0002 2008 #00010 Line No. 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 Instruction STA LD LD LD ITVL LD LDA CON STA CON RES LD OR SET Operand DM0003 0000 0001 0002 DM0000 1000 1002 DM0007 DM0100 0500 1000 1001 0500
1 8
Fetching data from the KV-AN6 (For KV-300 PLC only) Fetches data from Ch 1 of the KV-AN6. Writes this data value into DM0100. Mode No. 9000 (DM0000) from Ch 1 of KV-AN6 MAX. setting value 2000 (DM0001) MIN. setting value 00900 (DM0002) Average number of measurements 10 (DM0003) Reset input relay 0002
3-337
8.2 Details
Ladder diagram
2008 #09000 LDA #02000 LDA #00900 LDA #00010 LDA DM0000 STA DM0001 STA DM0002 STA DM0003 STA ITVL PLS DM0000 PAUSE 0002 1000 RES DM0007 LDA DM0100 STA
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 Instruction LD LDA CON STA LD LDA CON STA LD LDA CON STA LD LDA CON STA LD LD LD ITVL LD LDA CON STA Operand 2008 #09000 DM0000 2008 #02000 DM0001 2008 #00900 DM0002 2008 #00010 DM0003 2003 0001 0002 DM0000 1000 1003 DM0007 DM0100
2008
2008
2008
2003 0001
1003
Refer to p. 3-117.
Ladder diagram
2008 2813 #01000 DM0000 #02000 DM0001 #03000 DM0002 SET LDA STA LDA STA LDA STA 0001
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 Instruction LD SET CON LDA CON STA CON LDA CON STA CON LDA CON STA LDB CTH1 LD LDA MPS CMP ANB OUT MRD CMP ANB OUT MPP CMP ANB OUT Operand 2008 2813 #01000 DM0000 #02000 DM0001 #03000 DM0002 0001 0005 2002 CTH1 DM0000 2009 0500 DM0001 2009 0501 DM0002 2009 0502
8
2002 CTH1 LDA DM0000 2009 CMP DM0001 2009 CMP DM0002 2009 CMP
3-338
8.2 Details
High-speed counter current value clear Counts pulses at input relay 0005. When the count value reaches setting value 60000, clears the current value of high speed counter CTH1 and turns ON output relay 0502 for 3 s. Ladder diagram
2008 2002 2813 SET 2203 SET CTH1 RES CTH1 0005 #60000 CTC2 CTC2 0502 #00030 T001 T001 CTC2 RES 0502 RES
Coding
Line No. Instruction 0000 LD 0001 SET 0002 CON 0003 SET 0004 CON 0005 RES 0006 LD 0007 CTH1 0008 CTC2 0009 LD 0010 OUT 0011 CON 0012 TMR 0013 CON 0015 AND 0016 RES 0017 CON 0018 RES Operand 2008 2813 2203 CTH1 2002 0005 #60000 CTC2 0502 001 #00030 T001 CTC2 0502
Input of phase differential signal Inputs phase differential signals to input relays 0004 and 0006 and counts pulses at CTH0. Writes the count value into DM0000. When high speed counter CTH0 reaches 60000, clears the current value of CTH0, sets output relay 0500, and stops fetching count value to CTH0. Sets 0008 as external reset. Ladder diagram
2008 EI 0500 2813 2103 SET SET 2113 2114 2115 CTH0 SET RES SET RES CTH0 00004 #60000 CTC0 END INT CTC0 0500 SET RETI ENDH Initial settings*Note
2002
CTH0 LDA
DM0000 STA
1 8
2002
Note: Initial settings for special utility relays Sets input time constant of input relays 0000 to 0009 to 10 s when 2813 turns ON. Clears the current value of CTH0 when 2103 turns ON and CTC0 is ON. Sets CTH0 in the X 2 mode when 2113 is ON and 2114 is OFF. Enables external reset (input relay 0008) when 2115 turns ON.
3-339
8.2 Details External reset 0008 is predetermined on hardware even if you do not specify in the program. However, you have to set external reset enable relay 2115 to ON.
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 Instruction LD EI CON SET CON SET CON SET CON RES CON SET CON RES Operand 2008 Line No. 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 Instruction LDB CTH CTC LD LDA CON STA END INT LD SET RETI ENDH Operand 0500 1 0004 0 #60000 2002 CTH0 DM0000 CTC0 2002 0500
CAUTION
2002
TM04 STA
TM02 SUB
8
2002 TM03 DEC TM04 DEC
Shift level
#TM03 LDA
2002
#00000 LDA
3-340
8.2 Details
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 Instruction LD DIFU CON AND LDA CON STA CON LDA CON STA CON CALL END SBN LD LDA CON ADD CON STA Operand 0000 1000 1000 #00010 TM02 #00030 TM03 00 00 2002 TM03 #00001 TM04 Line No. 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 Instruction CON SUB CON STA FOR LD DEC CON DEC CON LDA CON STA NEXT LD LDA CON STA RET ENDH Operand TM02 TM05 TM05 2002 TM03 TM04 #TM03 #TM04 2002 #00000 #TM02
Refer to p. 3-122.
Application of FOR-NEXT
Transfer of a block of DM data Uses the indirect addressing function to transfer a block of data from DM0000 DM0099 to DM0100 - DM0199. Ladder diagram
SBN 01 2002 #0000 LDA
1st DM No. of transfer source
Coding
Line No. Instruction 0000 SBN 0010 LD 0001 LD 0011 LDA 0002 LDA 0012 CON 0003 CON 0013 STA 0004 STA 0014 CON 0005 CON 0015 INC 0006 LDA 0016 CON 0007 CON 0017 INC 0008 STA 0018 NEXT 0009 FOR 0019 RET Operand 01 2002 2002 #TM02 #0000
TMO2 STA
#00100 LDA
2002
#TM02 LDA
#TM03 STA
TM02 INC
1 8
#TM03 TM02
TM02 #00100
DM0099 DM0100
DM0199
Refer to p. 3-125.
3-341
8.2 Details
24 VDC
COM 000 001 002 003 KV COM 500 501 502 503
0 4 8 C
1 5 9 D
2 6 A E
3 7 B F
Ladder diagram
2008 2002 2814 SET HKEY 0000 0500 DMX TM06 STA KEY IN
2815 2900 2010 $03FF TM05 2010 TM05 LDA ANDA CMP STA 2815 2900 2010 $03FF TM05 2010 TM05 LDA ANDA CMP STA DM0000 #04 LDA SLA 2815 2915
TM06 DM0000 Input value ORA STA (BCD) #00000 Input value DW (BCD) DM0000 END ENDH
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020
Instruction LD SET LD HKEY LD LDA CON ANB ANDA CON CMP CON ANB STA CON DMX CON STA LD LDA CON
Operand 2008 2814 2002 0000 0500 2815 2900 2010 $03FF TM05 2010 TM05
Line No. 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040
Instruction AND ANDA CON CMP CON ANB STA CON LDA CON SLA CON ORA CON STA LD AND DW END ENDH
Operand 2010 $03FF TM05 2010 TM05 DM0000 #04 TM06 DM0000 2815 2915 #0000 DM0000
Refer to p. 3-131.
3-342
8.2 Details
Arithmetic Instructions
Applications of TMIN (Analog timer) instruction
Changing timer setting value Uses analog timer (TMIN0) to change the timer setting value (0 to 24.9 s). Ladder diagram
2002 0000 0500 T000 0 TMIN T000 STA #00010 T000 0500
Coding
Line No. Instruction 0000 LD 0001 TMIN 0002 CON 0003 STA 0004 LD 0005 OR 0006 TMR 0007 ANB 0008 OUT Operand 2002 0 T000 0000 0500 000 #00010 T000 0500
Changing setting values of multiple timers Uses analog timer (TMIN0) to change setting values of multiple timers (0 to 24.9 s). Ladder diagram
2002 0000 0500 0001 0501 0002 0502 T002 T001 T000 0 TMIN T000 STA T001 STA T002 STA #00010 T000 0500 #00010 T001 0501 #00010 T002 0502
Coding
Line No. Instruction 0000 LD 0001 TMIN 0002 CON 0003 STA 0004 CON 0005 STA 0006 CON 0007 STA 0008 LD 0010 TMR 0011 ANB 0012 OUT 0013 LD 0014 OR 0015 TMR 0016 ANB 0017 OUT 0018 LD 0019 OR 0020 TMR 0009 OR 0021 ANB 0022 OUT Operand 2002 0 T000 T001 T002 0000 000 #00010 T000 0500 0001 0501 001 #00010 T001 0501 0002 0502 002 #00010 0500 T002 0502
1 8
In the above example, T000, T001, and T002 have the same setting value.
Refer to p. 3-138.
OK/NG judgement DM0000 DM0001 Data shift DM0002 DM0003 DM0004 Unloading timing
3-343
8.2 Details
The data once fetched is written into DM0004, DM0003, ..., DM0000 in this order. At the unloading timing, unload the data from DM0004 and shifts the data value to the next DM. The ON/NG judgement and unloading timings can be used in asynchronous programs. Ladder diagram
0000 1000 DIFU 1000 0001 $1111 LDA $5555 LDA DM0000 STA DM0000 STA
0001
2002 DM0004 $0000 2010 DM0003 DM0004 $0000 DM0003 LDA CMP LDA STA LDA STA 2002 DM0003 $0000 2010 DM0002 DM0003 $0000 DM0002 LDA CMP LDA STA LDA STA 2002 DM0002 $0000 2010 DM0001 DM0002 $0000 DM0001 LDA CMP LDA STA LDA STA 2002 DM0001 $0000 2010 DM0000 DM0001 $0000 DM0000 LDA CMP LDA STA LDA STA 0002 $0000 DM0004 LDA STA Unloading timing Transfers $0000 to DM at unloading timing.
Compares the DM value to $0000. If it is equal to $0000, transfers the value of the previous DM No. and then writes $0000 into the current DM No.
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 Instruction LD DIFU CON AND MPS AND LDA CON STA MPP ANB LDA CON STA LD LDA CON CMP CON AND LDA CON STA CON LDA CON STA LD LDA CON CMP CON AND LDA CON Operand 0000 1000 1000 0001 $1111 DM0000 0001 $5555 DM0000 2002 DM0004 $0000 2010 DM0003 DM0004 $0000 DM0003 2002 DM0003 $0000 2010 DM0002 Line No. 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 Instruction STA CON LDA CON STA LD LDA CON CMP CON AND LDA CON STA CON LDA CON STA LD LDA CON CMP CON AND LDA CON STA CON LDA CON STA LD @LDA CON @STA Operand DM0003 $0000 DM0002 2002 DM0002 $0000 2010 DM0001 DM0002 $0000 DM0001 2002 DM0001 $0000 2010 DM0000 DM0001 $0000 DM0000 0002 $0000 DM0004
3-344
8.2 Details
Changing the counter setting value Sets the setting value of counter C000 to DM0000. Reset input is 0005. Ladder diagram
2002 0005 DM0000 LDA C000 STA #9999 C000 0001
Coding
Line No. Instruction Operand 0000 LD 2002 0001 LDA DM0000 0002 CON 0003 STA C000 0004 LDB 0005 0005 C 000 #9999 0001
Changing the timer setting value Sets the setting value of timer T000 to DM0000. Reset input is 0005. Ladder diagram
2002 0005 DM0000 LDA T000 STA #9999 T000
Coding
Line No. Instruction 0000 LD 0001 LDA 0002 CON 0003 STA 0004 LDB 0005 T Operand 2002 DM0000 T000 0005 0000 #9999
Refer to p. 3-140.
Coding
Line No. Instruction 0000 LD 0001 LDA 0002 CON 0003 CMP 0004 MPS 0005 AND 0006 OUT 0007 MRD 0008 AND 0009 OUT 0010 MPP 0011 AND 0012 OUT Operand 2002 DM0000 #01000 2009 0500 2010 0501 2011 0502
1 8
Setting the upper/lower limit Turns ON 0500 when the C001 value is 1000 or less. Turns ON 0501 when the C001 value is 2000 or more. Ladder diagram
0001 #09999 C001 0000 0500 C001 #1000 2009 0501 C001 #02000
2002 2002
2011
3-345
8.2 Details
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 Instruction LDB C LD LDA CON CMP CON ANB Operand 0001 001 #09999 0000 2002 C001 #01000 2011 Line No. 0008 0009 0010 0011 0012 0013 0014 0015 Instruction OUT LD LDA CON CMP CON ANB OUT Operand 0500 2002 C001 #02000 2009 0501
Changing the CMP setting value Compares the current value of C000 to the CMP setting value. Sets the CMP setting value to analog timer TMIN0. The following example changes the setting value within the range from 0 to 100. Turns ON 0500 when the C000 value is smaller than the CMP setting value. Turns ON 0501 when the C000 value is greater than the CMP setting value. Ladder diagram
#00001 #00004 #00010 DM0000 0 Sets the TMIN setting TMIN ADD MUL DIV STA range from 0 to 100. 0001 #09999 C000 00000 2002 C000 DM0000 2009 0500 LDA CMP 2002 2009 0501
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 Instruction LD TMIN CON ADD CON MUL CON DIV CON STA LDB Operand 2002 0 #00001 #00004 #00010 DM0000 0001 Line No. 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 Instruction C LD LDA CON CMP MPS AND OUT MPP ANB OUT Operand 000 #09999 0000 02002 C000 DM0000 2009 0500 2009 0501
Multi-level comparator Compares the counter current value according to the following range: 0 to 999 0500 turns ON. 1000 to 1999 0501 turns ON. 2000 to 2999 0502 turns ON. Counter reset relay 0001 Counter input relay 0000
3-346
8.2 Details
Ladder diagram
0001 #09999 C000 0000 #00999 2011 CMP #01999 2011 0500 CMP 0500 0501 C000 00999 00999 < C000 01999
#02999 2011 0500 0501 0502 01999 < C000 02999 CMP
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 Instruction LDB C LD LDA CON MPS CMP CON ANB OUT MRD CMP Operand 0001 000 #09999 0000 2002 C000 Line No. 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 Instruction CON ANB ANB OUT MPP CMP CON ANB ANB ANB OUT Operand 2011 0500 0501 #02999 2011 0500 0501 0502
Refer to p. 3-146.
1 8
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 Instruction LD LDA CON TBIN CON STA LD Operand 2002 7000 Line No. 0007 0008 0009 0010 0011 0012 0013 Instruction LDA CON ADD CON STA LDB C Operand C001 DM0000 DM0100 0001 001 #09999 0000
DM0000 2002
3-347
8.2 Details
Total count Writes total count of counters C001 to C003 into DM0100. The total count must be within 65535. Ladder diagram
#09999 C001 C001 LDA 0001 #09999 C002 0000 C002 LDA 0002 #09999 C003 0000 C003 LDA 0003 2002 DM0001 DM0002 DM0003 LDA ADD ADD 0000 DM0001 STA DM0002 STA DM0003 STA DM0100 STA
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 Instruction Operand LDB 0000 C 001 #09999 0001 CON LDA C001 CON STA DM0001 LDB 0000 C 002 #09999 0002 CON LDA C002 CON STA DM0002 LDB 0000 Line No. 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 Instruction Operand C 003 #09999 0003 CON LDA C003 CON STA DM0003 LD 2002 LDA DM0001 CON ADD DM0002 CON ADD DM0003 CON STA DM0100
Refer to p. 3-150.
Ladder diagram
2002 DM0000 DM0001 2009 LDA SUB #0005 2009 1000 CMP
2009 DM0001 DM0000 #0005 2009 1001 LDA SUB CMP 1000 1001 0500
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 Instruction LD LDA CON SUB MPS ANB CMP CON ANB OUT MPP AND Operand 2002 DM0000 DM0001 2009 #00005 2009 1000 2009 Line No. 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 Instruction LDA CON SUB CON CMP CON ANB OUT LD OR OUT Operand DM0001 DM0000 #00005 2009 1001 1000 1001 0500
Refer to p. 3-150.
3-348
8.2 Details
Coding
Line No. Instruction Operand 0000 LDB 0001 0001 C 001 #09999 0000 0002 LD 2002 0003 LDA C001 0005 MUL DM0000 0004 CON 0006 CON 0007 STA DM0100 0008 CON 0009 LDA TM00 0010 CON 0011 STA DM0101
Refer to p. 3-150.
0000
0000
2002
1 8
2002
TBCD
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 Instruction LDB C CON LDA CON STA LDB C CON LDA CON STA LDB C CON Operand 0000 001 #09999 0001 C001 DM0001 0000 002 #09999 0002 C002 DM0002 0000 003 #09999 0003 Line No. 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 Instruction LDA CON STA LD LDA CON ADD CON ADD LD DIV CON TBCD CON STA Operand C003 DM0003 2002 DM0001 DM0002 DM0003 2002 #00003
7500
Refer to p. 3-150.
3-349
8.2 Details
Fetches data of 0000 to 0015 and retains data of 0000 to 0003 only. Converts data to BIN and writes it into C000.
Sets C000.
Coding
Line No. 0000 0001 0002 0003 0004 Instruction LD LDA CON ANDA LD Operand 2002 0000 $000F 2002 Line No. 0005 0006 0007 0008 0009 Instruction TBIN CON STA LDB C Operand
Fetches input data separately Sets the low-order 2 digits of the BCD digital switch (7000 to 7007) to counter C000 and the high-order 2 digits to timer T001. Ladder diagram
2002 7000 LDA 2002 7000 LDA 0001 $00FF ANDA $FF00 ANDA TBIN #08 SRA C000 STA T001 STA #09999 C000 0000 #09999 T001
Converts data of 7000 to 7007 to BIN and writes it into C000. Shifts data to right by 8 bits, converts it to BIN, and writes it into T001. Sets C000.
TBIN
0001
Sets T001.
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 Instruction LD LDA CON ANDA CON TBIN CON STA LD LDA CON Operand 2002 7000 $00FF Line No. 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 Instruction ANDA CON SRA CON TBIN CON STA LDB C LDB T Operand $FF00 #08
Refer to p. 3-159.
3-350
8.2 Details
2002
Writes data of 7008 to 7015 into DM0000. Converts the current value of C000 to BCD and retains the low-order 2 digits of BCD in the internal register. ORs the data in the internal register and the DM0000 data and sends the ORed data to 7500 to 7515.
2002
2002
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 Instruction LDB C LD LDA CON ANDA CON STA LD Operand 0000 000 #00099 0001 2002 7500 $FF00 DM0000 2002 Line No. 0009 0010 0011 0012 0013 0014 0015 0016 0017 Instruction LDA CON TBCD CON ANDA LD ORA CON STA Operand C000
Separate input of 2-digit BCD Fetches only 2 digits of the BCD digital switch (7000 to 7003 for the 1st digit, 8000 to 8003 for the 2nd digit) and sets it as the counter value. Ladder diagram
0000 #00099 C001 0001 $000F ANDA $000F ANDA C001 STA
2002
DM0000 STA
1 8
2002
2002
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 Instruction LDB C LD LDA CON ANDA CON STA LD LDA Operand 0000 001 #00099 0001 2002 7000 $000F DM0000 2002 8000 Line No. 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 Instruction CON ANDA LD SLA CON ORA CON TBIN CON STA Operand $000F 2002 #04 DM0000
C001
Refer to p. 3-161.
3-351
8.2 Details
Coding
Line No. Instruction 0000 LD 0001 LDA 0002 CON 0003 STA 0004 LD 0005 LDA 0006 CON 0007 ANDA 0008 CON 0009 EORA 0010 CON 0011 AND 0012 OUT Operand 2008 $00AA DM0000 2002 7000 $00FF DM0000 2010 0500
2002
$BBBB 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 7000 to 7015 ANDA $00FF 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Operand $00BB 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 1 Internal register EORA $00AA 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 DM0000 $0011 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 Internal register 2010 is OFF. When the
value of internal register is 0000, 2010 turns ON.
Judges match between the operand and the data of 7000 to 7015.
When 2010 is ON, the two values match. When 2010 is OFF, the two values do not match.
Refer to p. 3-164.
Separate input of BCD Fetches only 2 digits of the BCD digital switch (7012 to 7015 for the 1st digit, 8000 to 8003 for the 2nd digit) and sets it as the counter value. Ladder diagram
0001 #00099 C001 0000 $F000 ANDA DM0000 STA $000F ANDA DM0000 ORA C001 STA
Sets C001.
2002
Sends the data of 7012 to 7015 to internal register. Shifts the value of internal register to right by 12 bits and writes it into DM0000. Sends the data of 8000 to 8003 to internal register. Shifts the data of internal register to left by 4 bits, ORs the internal register data and the data of DM0000, and sends the ORed data to internal register. Converts the data of internal register to BIN data and writes it into C001.
2002
2002
2002
2002 TBIN
3-352
8.2 Details
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 Instruction LD C LD LDA CON ANDA LD SRA CON STA LD Operand 0001 001 #00099 0000 2002 7000 $F000 2002 #12 DM0000 2002 Line No. 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 Instruction LDA CON ANDA LD SLA CON ORA LD TBIN CON STA Operand 8000 $000F 2002 #04 DM0000 2002
C001
Refer to p. 3-166.
Writes the data of 7000 to 7015 into internal register. Executes FOR-NEXT instruction for 16 times. Shifts the data including carry (2009) to right, and increments TM10 by 1 when 2009 is ON.
Writes the TM10 data into DM0000, and then writes #00000 to TM10.
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 Instruction LD LDA FOR LD RRA CON AND INC NEXT Operand 2002 7000 #00016 02002 #01 2009 TM10 Line No. 0009 0010 0011 0012 0013 0014 0015 0016 Instruction LD LDA CON STA CON LDA CON STA Operand 2002 TM10 DM0000 #00000 TM10
1 8
Refer to p. 3-169.
3-353
8.2 Details
Ladder diagram
2008 #00000 LDA DM0000 STA DM0000 INC DM0000 INC DM0000 INC DM0000 INC #00000 DW DM0000
Sets #00000 to DM0000 at startup. Increments DM0000 by 1 at UP edge of input relay 0000. Increments DM0000 by 1 at UP edge of input relay 0001. Increments DM0000 by 1 at UP edge of input relay 0002. Increments DM0000 by 1 at UP edge of input relay 0003. Clears DM0000 to #00000 when 0005 turns ON.
0000
0001
0002
0003
0005
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 Instruction LD LDA CON STA LD @INC LD Operand 2008 #00000 DM0000 0000 DM0000 0001 Line No. 0007 0008 0009 0010 0011 0012 0013 Instruction @INC LD @INC LD @INC LD DW Operand DM0000 0002 DM0000 0003 DM0000 0005 #00000 DM0000
UP/DOWN count Performs UP count when input relay 0000 turns ON. Performs DOWN count when input relay 0001 turns ON. Writes the count value into DM0000. Reset input relay is 0005. Ladder diagram
2008 #00000 LDA DM0000 STA DM0000 INC DM0000 DEC #00000 DW DM0000
0000
Increments DM0000 by 1 at UP edge of input relay 0000. Decrements DM0000 by 1 at UP edge of input relay 0001. Clears DM0000 to #00000 when 0005 turns ON.
0001
8
0005
Coding
Line No. 0000 0001 0002 0003 0004 Instruction LD LDA CON STA LD Operand 2008 #00000 DM0000 0000 Line No. 0005 0006 0007 0008 0009 Instruction @INC LD @DEC LD DW Operand DM0000 0001 DM0000 0005 #00000 DM0000
Refer to p. 3-172.
3-354
8.2 Details
Ladder diagram
Auto reset counter Converts the counter value to 16-bit data using the MPX instruction.
Coding
Line No. Instruction Operand 0000 LDB C000 0024 LD 1004 0001 C 000 #00009 0000 0025 LDA $0066 0002 CON 0026 CON 0003 LDA C000 0027 STA 7500 0004 CON 0028 LD 1005 0005 MPX #0 0029 LDA $006D 0006 CON 0030 CON 0007 STA 1000 0031 STA 7500 0008 LD 1000 0032 LD 1006 0009 LDA $003F 0033 LDA $007D 0010 CON 0034 CON 0011 STA 7500 0035 STA 7500 0012 LD 1001 0036 LD 1007 0013 LDA $0006 0037 LDA $0007 0014 CON 0038 CON 0015 STA 7500 0039 STA 7500 0016 LD 1002 0040 LD 1008 0017 LDA $005B 0041 LDA $007F 0018 CON 0042 CON 0019 STA 7500 0043 STA 7500 0020 LD 1003 0044 LD 1009 0021 LDA $004F 0045 LDA $006F 0022 CON 0046 CON 0023 STA 7500 0047 STA 7500
C000
C000 LDA
#0 MPX
1000 STA
1000
$003F LDA $0006 LDA $005B LDA $004F LDA $0066 LDA $006D LDA $007D LDA $0007 LDA $007F LDA $006F LDA
7500 STA 7500 STA 7500 STA 7500 STA 7500 STA 7500 STA 7500 STA 7500 STA 7500 STA 7500 STA
1001
1002
1003
1004
1005
1006
1007
1008
1 8
1009
7-segment display
Refer to p. 3-176.
3-355
8.2 Details
2002 TBCD
Converts the most significant bit of 16-bit data (7000 to 7015) to 4-bit BIN data and sends it to internal register. Converts internal register data to BCD data, executes ANDA instruction, and outputs the data to 8000 to 8015.
Coding
Line No. 0000 0001 0002 0003 0004 Instruction LD LDA CON DMX LD Operand 2002 7000 Line No. 0005 0006 0007 0008 0009 Instruction TBCD CON ANDA CON STA Operand
$00FF 8000
2002
Refer to p. 3-176.
2002
C001 LDA
TBCD
Coding
Line No. Instruction LDB C LD LDA Operand 0001 001 #09999 0000 2002 C001 Line No. 0004 0005 0006 0007 Instruction CON TBCD CON STA 7500 Operand 0000 0001 0002 0003
Output of 8-digit BCD data Outputs the calculated product of DM0000 x DM0001 (0 to 99999999) in BCD of 8 digits at maximum as below: High-order 4-digit BCD data To 8500 to 8515 Low-order 4-digit BCD data To 7500 to 7515
Internal register
(Low-order 4 digits)
(Display)
3-356
8.2 Details
Ladder diagram
2002 DM0000 DM0001 LDA MUL DM0101 LDA #10000 DM0101 DIV STA 8500 STA TM01 LDA 7500 STA
TBCD
TBCD
Coding
Line No. 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009
Refer to p. 3-180.
Instruction LD LDA CON MUL CON DIV CON STA CON LDA
Line No. 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019
Instruction CON TBCD CON STA CON LDA CON TBCD CON STA
Operand
750 DM0101
8500
Converts data of 7000 to 7015 to BIN data and writes it into C001. Sets C001.
0001
Coding
Line No. 0000 0001 0002 0003
Refer to p. 3-183.
1 8
3-357
8.2 Details
3-358
Index
Index
3-360
Index
Index
3-361
Index
1-230
F
FOR: Repeat Start ................................................ 3-125
H
High-Speed Counters .......................................... 3-276 HKEY: 16 Key Input .............................................. 3-131 HSP: High Speed .................................................... 3-86
I
INC/@INC: Increment Memory ............................ 3-172 Indirect Addressing of Data Memory or Relay .. 3-127 Input Relays .............................................................. 3-9 Instruction List .............................................. 3-34, 3-42 INT: Interrupt ........................................................ 3-192 Interface [RS-232C] .............................................. 3-306 Internal register .................................................... 3-135 Internal Utility Relays ............................................. 3-11 Internal Clocks for CTH0 and CTH1 ................... 3-278 Interrupt Instructions ........................................... 3-268 I/O distribution ......................................................... 1-187 ITVL: Interval Timer .............................................. 3-117
B
Basic Instructions ................................ 3-34, 3-42, 3-56 Baud rate ......................................... 2-136, 1-247 [KV-L2] Break signal .......................................................... 3-308
C
C: Counter .............................................................. 3-72 CALL: Subroutine Call ......................................... 3-122 CMP/@CMP: Compare ......................................... 3-146 COM/@COM: Complement .................................. 3-171 Commands [Serial communication] ................... 3-310 Communications ....................................... 2-135, 3-306 CON: Connect ....................................................... 3-102 Connector wiring ....................................................... 1-72 CTC: Counter Comparator .................................. 3-204 CTH1: 16-Bit Counters ......................................... 3-204
J
JMP: Jump ............................................................ 3-106
K
KEEP: Keep ............................................................ 3-80 KV-10/16/24/40/80 ............................ 1-167, 1-175, 1-177 KV-300 ......................................................... 1-166, 1-170 KV-AD4 ................................................................... 1-334 KV-AN6 ................................................................... 1-312 KV-B16R/B16S/C32T .............................................. 1-172 KV-C16X/C32X ....................................................... 1-171 KV-DA4 ................................................................... 1-334 KV-L2 ...................................................................... 1-240 KV-R1A/R16X/R16R/R16T/R8X/R8R/R8T .. 1-173, 1-174 KV-U4/U5 ..................................................... 1-168, 1-169 KV mode [KV-L2] .................................................... 1-253
D
Data Memory ........................................................... 3-19 D/A converter ........................... 1-312 [AN6], 1-334 [AD4] D/A conversion table ................ 1-408 [AN6], 1-357 [DA4] DEC/@DEC: Decrement Memory ........................ 3-172 DI: Interrupt Disabled ........................................... 3-193 DIFD: Differentiate Down ....................................... 3-78 DIFU: Differentiate Up ........................................... 3-78 Dimensions ............................................................. 1-404 DIN rail (mounting) .................................................. 1-180 Direct Clock Pulse ................................................ 3-276 Display Interface Mode [KV-L2] .............................. 1-244 DIV/@DIV: Divide .................................................. 3-150 DMX/@DMX: Demultiplexer ................................. 3-176 DW: Data Memory Write ...................................... 3-136
Index
L
LD: Load .................................................................. 3-57 LDA/@LDA: Load A .............................................. 3-140 LDB: Load Bar ........................................................ 3-57
E
EI: Interrupt Enabled ............................................ 3-193 END: End ................................................................. 3-94 ENDH: End Hi ......................................................... 3-94 ENDS: End Stage ................................................. 3-106 Environment requirements ........................................ 1-64 EORA/@EORA: Exclusive Or A .......................... 3-164 Error code list .......................................................... 1-372 Extended Ladder Diagrams ................................... 3-29
M
Macros ...................................................................... 2-72 MC: Master Control ................................................ 3-89 MCR: Master Control Reset ................................... 3-89 Memory Card .......................................................... 1-230 MEMSW: Memory Switch ...................................... 3-92 Module names ......................................................... 1-175 Mounting Environment .............................................. 1-64 MPP: Pop .............................................................. 3-103 MPS: Push ............................................................ 3-103
3-362
Index
MPX/@MPX: Multiplexer ...................................... 3-176 MRD: Read ............................................................ 3-103 MUL/@MUL: Multiply ........................................... 3-150
System Configuration (Memory Card) ..................... 1-196 System specifications [Visual KV Series] ................ 1-382 System specifications [KV-300 Series] ................... 1-392
N
NEXT: Repeat End ................................................ 3-125 Non-procedure mode [KV-L2] ................................. 1-292 NOP: No Operation ................................................ 3-94
T
TBCD/@TBCD: Transfer BCD ............................. 3-180 TBIN/@TBIN: Transfer BIN .................................. 3-180 Temporary Memory ...................................... 2-172, 2-176 Timers and Counters ............................................... 2-169 TMH: 0.01-s Timer .................................................. 3-68 TMIN: Trimmer In .................................................. 3-138 @TMIN: Trimmer Setting ..................................... 3-138 TMR: 0.1-s Timer .................................................... 3-67 TMS: 1-ms Timer .................................................... 3-69 Transmitting text data .......................................... 3-319 Troubleshooting ...................................................... 1-372
O
OR: Or ..................................................................... 3-60 ORA/@ORA: Or A ................................................. 3-161 ORB: Or Bar ............................................................ 3-60 ORL: Or Load .......................................................... 3-63 OUB: Out Bar .......................................................... 3-65 OUT: Out ................................................................. 3-65 Output Relays ......................................................... 3-10
U
UDC: Up-Down Counter ......................................... 3-76
P
Peripheral equipments ............................................ 1-176 Port1/Port2 [KV-L2] ................................................. 1-245 Positionning control ............................................ 3-296 Programming examples ...................................... 3-324
W
W-DE: Wait Down Edge ......................................... 3-98 W-OFF: Wait OFF ................................................... 3-96 W-ON: Wait ON ....................................................... 3-96 W-UE: Wait Up Edge .............................................. 3-98
R
RASC/@RASC: Reverse ASCII Convert ............. 3-183 Receiving text data .............................................. 3-318 Relay/Memory/Memory Switch Lists ....................... 2-167 Relay/Memory Nos. ................................................. 2-167 Relay No. List .......................................................... 2-167 Relay Nos. and Functions ....................................... 2-167 RES: Reset .............................................................. 3-66 RET: Subroutine Return ...................................... 3-122 RETI: Return Interrupt ......................................... 3-192 RLA/@RLA: Rotate Left A ................................... 3-169 ROOT/@ROOT: Square Root .............................. 3-185 RRA/@RRA: Rotate Right .................................... 3-169 RS-232C cable connection .................................. 3-307 RS-232C Protocol ................................................. 3-306 RS-422A [KV-L2] ..................................................... 1-248
X
@xxxx: Differentiation ......................................... 3-137
S
SBN: Subroutine Entry ........................................ 3-122 Serial Communication ......................................... 3-306 SET: Set .................................................................. 3-66 SFT: Shift ................................................................ 3-82 SLA/@SLA: Shift Left A ....................................... 3-166 Special Utility Relays ............................................... 2-174 SRA/@SRA: Shift Right A .................................... 3-166 STA/@STA: Store A ............................................. 3-140 Station No. [KV-L2] ................................................. 1-246 STE: Step End ...................................................... 3-114 STG: Stage ............................................................ 3-106 STP: Step .............................................................. 3-114 SUB/@SUB: Subtract ........................................... 3-150 System configuration ............................................... 1-166
Index
3-363
Index
O
OFFLINE EDITOR START (OFFLINE EDITOR): [FNC67] [P3E] .................................................... 1-221 OFFLINE EDITOR STOP (QUIT OFF-L EDIT): [FNC68] [P3E] .................................................... 1-221 ON/OFF MONITOR [P3E] ....................................... 1-215
B
Break signal .......................................................... 3-308
P
Printer Setting, Defining Environment Strings .......... 2-77 Printing examples ...................................................... 2-81 PROGRAM CAPACITY CHECK (PROGRAM SIZE): [FNC75] [P3E] .................................................... 1-229 PROGRAM SENT OR RECEIVED (COMMUNICATION): [FNC66] [P3E] ............. 1-220
C
CLEAR [P3E] .......................................................... 1-232 Comments (Relay comment, Line comment) ............ 2-46 Compile ..................................................................... 2-75 Converting N.O./N.C. ................................................ 2-65 Copy, move and delete ............................................. 2-69 COUNTER CLEAR (CTR CLEAR): [FNC62] [P3E] 1-218 Customizing KV-LADDER , Defining Environment Strings ................................ 2-19 Copy, move and delete operation ............................. 2-52
Q
Quitting software ....................................................... 2-16
R
READ TRIMMER SETTING (TRIMMER MONITOR): [FNC73] [P3E] .................................................... 1-228 Registration of cursor position and jump to registered position ................................... 2-59 RELAY ON/OFF (FORCED SET/RESET): [FNC71] [P3E] .................................................... 1-226 Replacing relays ........................................................ 2-64 RS-232C cable connection ......................................... 2-7 RS-232C Protocol ....................................................... 2-3
D
Data Communications between KV and Personal Computer .................................... 3-306 Display mode ........................................................... 2-19 Double coil check ...................................................... 2-76
E
Edit screen ................................................................ 2-27 Entering symbols ....................................................... 2-37 Environment requirements .......................................... 2-3 Error message list ................................................... 2-156
S
SCAN TIME MONITOR [P3E] ................................. 1-212 SCROLL [P3E] ........................................................ 1-202 Search ....................................................................... 2-58 Searching Program [P3E] ....................................... 1-207 Selecting display mode ............................................. 2-19 Setting print range ..................................................... 2-77 Simulator Mode ......................................................... 2-84 Simulator screen ....................................................... 2-86 Starting and quitting software ................................... 2-16 Starting edit mode .................................................... 2-29 Starting the Monitor Function .................................. 2-139 Starting the Simulator ................................................ 2-86 SYNTAX CHECK (PROGRAM CHECK): [FNC74] [P3E] .................................................... 1-228
H
HANDHELD PROGRAMMER CLEAR (P3E CLEAR): [FNC61] .............................................................. 1-217 Handheld Programmer KV-P3E .............................. 1-196 HIGH-SPEED COUNTER CLEAR (HIGH SPEED CTR CLR): [FNC63] [P3E] .......... 1-218
Index
I
Installing Ladder Builder .............................................. 2-9
J
Jump ......................................................................... 2-58
T
Temporary Memory ................................................ 3-21 Time Chart Monitor ................................................. 2-157 Time Chart Viewer ....................................... 2-148, 2-167 TIMER/COUNTER SETTING CHANGE (CHG: T/C SET-V): [FNC70] [P3E] .................... 1-224 TIMER/COUNTER CURRENT VALUE CHANGE (CHG: T/C CURT-V): [FNC69] [P3E] ................. 1-222
L
Ladder Monitor ........................................................ 2-134 Ladder Simulator ....................................................... 2-84 Line comment ........................................................... 2-46
M
Macros ...................................................................... 2-72 Memory Card [P3E] ................................................. 1-230 Monitor Mode .......................................................... 2-134 Monitor screen ........................................................ 2-143 MOVE CURSOR [P3E] ........................................... 1-202
W
WRITE INTO DATA MEMORY (DM WRITE): [FNC72] [P3E] .................................................... 1-227
3-364
Index
Index
3-365
Index
Index
3-366
Index
3-367
INDEX
1
Installation
1. Configuration and Specifications 2. System Installation 3. Access Window 4. KV-D20 Operator Interface Panel 5. KV-10/80 Hardware 6. Handheld Programmer 7. KV-L2 Serial Interface Module 8. KV-AN6 Analog I/O Module 9. KV-AD4/DA4 Analog I/O Unit 10. Troubleshooting 11. Appendices 2. Editor
2
Support Software
1. Introduction
3
Programming
1. Programming 2. Instructions 3. Interrupts 4. High-speed Counters 5. Positioning Control 6. Interrupts, High-speed Counters, Positioning Control 7. Serial Communication 8. Programming Examples
KEYENCE CORPORATION
1-3-14, Higashi-Nakajima, Higashi-Yodogawa-ku, Osaka, 533-8555, Japan
AUSTRIA Phone: +43-2236-378266-0 BELGIUM Phone: +32 2 716 40 63 CANADA Phone: +1-905-696-9970 CHINA Phone: +86-21-68757500 CZECH REPUBLIC Phone: +420 222 191 483 FRANCE Phone: +33 1 56 37 78 00 GERMANY Phone: +49-6102-36 89-0 HONG KONG Phone: +852-3104-1010 HUNGARY Phone: +36 14 748 313 ITALY Phone: +39-2-6688220 JAPAN Phone: +81-6-6379-2211 KOREA Phone: +82-31-642-1270
PHONE: +81-6-6379-2211
SWITZERLAND Phone: +41 43 455 77 30 TAIWAN Phone: +886-2-2718-8700 THAILAND Phone: +66-2-369-2777 UK & IRELAND Phone: +44-1908-696900 USA Phone: +1-201-930-0100
MALAYSIA Phone: +60-3-2092-2211 MEXICO Phone: +52-81-8220-7900 NETHERLANDS Phone: +31 40 20 66 100 POLAND Phone: +48 71 36861 60 SINGAPORE Phone: +65-6392-1011 SLOVAKIA Phone: +421 2 5939 6461
A5WW1-MAN-0069
Copyright (c) 1999 KEYENCE CORPORATION. All rights reserved. 084024E-3 0109-5 96M0366 Printed in Japan