383
PROGRAMMING MANUAL Cat. No. W394-E1-03 SYSMAC CS/CJ Series CS1G/H-CPU@@-EV1 CS1G/H-CPU@@H CJ1G-CPU@@ CJ1G/H-CPU@@H CJ1M-CPU@@ Programmable Controllers

Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Embed Size (px)

Citation preview

Page 1: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Cat. No. W394-E1-03

SYSMAC CS/CJ Series

PROGRAMMING MANUAL

CS1G/H-CPU@@-EV1CS1G/H-CPU@@HCJ1G-CPU@@CJ1G/H-CPU@@HCJ1M-CPU@@Programmable Controllers

Page 2: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

������������������ �������@@��� ��� �������@@���� �����@@��� �������@@��� �����@@����������������������������������������������� �

Page 3: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

iv

Page 4: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

�������OMRON products are manufactured for use according to proper procedures by a qualified operatorand only for the purposes described in this manual.

The following conventions are used to indicate and classify precautions in this manual. Always heedthe information provided with them. Failure to heed precautions can result in injury to people or dam-age to property.

!DANGER Indicates an imminently hazardous situation which, if not avoided, will result in death orserious injury.

!WARNING Indicates a potentially hazardous situation which, if not avoided, could result in death orserious injury.

!Caution Indicates a potentially hazardous situation which, if not avoided, may result in minor ormoderate injury, or property damage.

����� ��������� �����All OMRON products are capitalized in this manual. The word “Unit” is also capitalized when it refers toan OMRON product, regardless of whether or not it appears in the proper name of the product.

The abbreviation “Ch,” which appears in some displays and on some OMRON products, often means“word” and is abbreviated “Wd” in documentation in this sense.

The abbreviation “PLC” means Programmable Controller. “PC” is used, however, in some Program-ming Device displays to mean Programmable Controller.

�����������The following headings appear in the left column of the manual to help you locate different types ofinformation.

Note Indicates information of particular interest for efficient and convenient opera-tion of the product.

1,2,3... �� �������� ���������������������������������������������� �������

� OMRON, 2001All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form, orby any means, mechanical, electronic, photocopying, recording, or otherwise, without the prior written permission ofOMRON.

No patent liability is assumed with respect to the use of the information contained herein. Moreover, because OMRON is con-stantly striving to improve its high-quality products, the information contained in this manual is subject to change withoutnotice. Every precaution has been taken in the preparation of this manual. Nevertheless, OMRON assumes no responsibilityfor errors or omissions. Neither is any liability assumed for damages resulting from the use of the information contained inthis publication.

v

Page 5: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

vi

Page 6: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

TABLE OF CONTENTS

PRECAUTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi1 Intended Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii2 General Precautions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii3 Safety Precautions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii4 Operating Environment Precautions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv5 Application Precautions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv6 Conformance to EC Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix

SECTION 1CPU Unit Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1-1 Initial Setup (CS1 CPU Units Only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-2 Using the Internal Clock (CS1 CPU Units Only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51-3 Internal Structure of the CPU Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61-4 Operating Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81-5 Programs and Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121-6 Description of Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

SECTION 2Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2-1 Basic Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202-2 Precautions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542-3 Checking Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

SECTION 3Instruction Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

3-1 Sequence Input Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703-2 Sequence Output Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723-3 Sequence Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753-4 Timer and Counter Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783-5 Comparison Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823-6 Data Movement Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863-7 Data Shift Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 893-8 Increment/Decrement Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933-9 Symbol Math Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943-10 Conversion Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 993-11 Logic Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053-12 Special Math Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1073-13 Floating-point Math Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1083-14 Double-precision Floating-point Instructions (CS1-H, CJ1-H, or CJ1M Only). . . . . . . . . . 1123-15 Table Data Processing Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1163-16 Data Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1203-17 Subroutine Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1233-18 Interrupt Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1253-19 High-speed Counter and Pulse Output Instructions (CJ1M-CPU22/23 Only) . . . . . . . . . . . 1273-20 Step Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1283-21 Basic I/O Unit Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1293-22 Serial Communications Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1303-23 Network Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1313-24 File Memory Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1333-25 Display Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

vii

Page 7: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

TABLE OF CONTENTS

3-26 Clock Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343-27 Debugging Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1353-28 Failure Diagnosis Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1363-29 Other Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1373-30 Block Programming Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1383-31 Text String Processing Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1443-32 Task Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

SECTION 4Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

4-1 Task Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1504-2 Using Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1584-3 Interrupt Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1684-4 Programming Device Operations for Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

SECTION 5File Memory Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

5-1 File Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1845-2 Manipulating Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1995-3 Using File Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

SECTION 6Advanced Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

6-1 Cycle Time/High-speed Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2356-2 Index Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2526-3 Serial Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616-4 Changing the Timer/Counter PV Refresh Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2766-5 Using a Scheduled Interrupt as a High-precision Timer (CJ1M Only). . . . . . . . . . . . . . . . . 2846-6 Startup Settings and Maintenance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2866-7 Diagnostic Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2966-8 CPU Processing Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3016-9 Peripheral Servicing Priority Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3066-10 Battery-free Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3126-11 Other Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

SECTION 7Program Transfer, Trial Operation, and Debugging . . . . . 317

7-1 Program Transfer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3187-2 Trial Operation and Debugging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318

AppendicesA PLC Comparison Charts: CJ-series, CS-series, C200HG/HE/HX,

CQM1H, CVM1, and CV-series PLCs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327

B Changes from Previous Host Link Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353

Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359

viii

Page 8: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

�����������������This manual describes the programming of the CS1G/H-CPU@@-EV1 and CJ1G/H/M-CPU@@ CPUUnits for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on thefollowing page. The CS Series and CJ Series are subdivided as shown in the following table.

Please read this manual and all related manuals listed in the table on the next page and be sure youunderstand information provided before attempting to install or use CS1G/H-CPU@@-EV1 or CJ1G/H/M-CPU@@ CPU Units in a PLC System.

This manual contains the following sections.

Section 1 describes the basic structure and operation of the CPU Unit.

Section 2 describes basic information required to write, check, and input programs.

Section 3 outlines the instructions that can be used to write user programs.

Section 4 describes the operation of tasks.

Section 5 describes the functions used to manipulate file memory.

Section 6 provides details on advanced functions: Cycle time/high-speed processing, index registers,serial communications, startup and maintenance, diagnostic and debugging, Programming Devices,and CJ Basic I/O Unit input response time settings.

Section 7 describes the processes used to transfer the program to the CPU Unit and the functions thatcan be used to test and debug the program.

The Appendices provide a comparison of CS/CJ-series, restrictions in using C200H Special I/O Units,and changes made to Host Link Systems.

Unit CS Series CJ Series

CPU Units CS1-H CPU Units: CS1H-CPU@@HCS1G-CPU@@H

CJ1-H CPU Units: CJ1H-CPU@@HCJ1G-CPU@@H

CS1 CPU Units: CS1H-CPU@@-EV1CS1G-CPU@@-EV1

CJ1 CPU Units: CJ1G-CPU@@-EV1CJ1M CPU Units: CJ1M-CPU@@

Basic I/O Units CS-series Basic I/O Units CJ-series Basic I/O Units

Special I/O Units CS-series Special I/O Units CJ-series Special I/O Units

CPU Bus Units CS-series CPU Bus Units CJ-series CPU Bus Units

Power Supply Units CS-series Power Supply Units CJ-series Power Supply Units

ix

Page 9: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

About this Manual, ContinuedName Cat. No. Contents

SYSMAC CS/CJ Series CS1G/H-CPU@@-EV1, CS1G/H-CPU@@H, CJ1G-CPU@@, CJ1G/H-CPU@@H Programmable Controllers Programming Manual

W394 This manual describes programming and other methods to use the functions of the CS/CJ-series PLCs. (This manual)

SYSMAC CS Series CS1G/H-CPU@@-EV1, CS1G/H-CPU@@HProgrammable Controllers Operation Manual

W339 Provides an outlines of and describes the design, installation, maintenance, and other basic opera-tions for the CS-series PLCs.

SYSMAC CJ Series CJ1G-CPU@@, CJ1G/H-CPU@@HProgrammable Controllers Operation Manual

W393 Provides an outlines of and describes the design, installation, maintenance, and other basic opera-tions for the CJ-series PLCs.

SYSMAC CJ SeriesCJ1M-CPU22/23Built-in I/O Functions Operation Manual

W395 Describes the functions of the built-in I/O for CJ1M CPU Units.

SYSMAC CS/CJ Series CS1G/H-CPU@@-EV1, CS1G/H-CPU@@H, CJ1G-CPU@@, CJ1G/H-CPU@@H Programmable Controllers Instructions Reference Manual

W340 Describes the ladder diagram programming instructions supported by CS/CJ-series PLCs.

SYSMAC CS/CJ Series CQM1H-PRO01-E, C200H-PRO27-E, CQM1-PRO01-EProgramming Consoles Operation Manual

W341 Provides information on how to program and operate CS/CJ-series PLCs using a Programming Console.

SYSMAC CS/CJ Series CS1G/H-CPU@@-EV1, CS1G/H-CPU@@H, CJ1G-CPU@@, CJ1G/H-CPU@@H, CS1W-SCB21/41, CS1W-SCU21, CJ1W-SCU41Communications Commands Reference Manual

W342 Describes the C-series (Host Link) and FINS communications commands used with CS/CJ-series PLCs.

SYSMAC WS02-CXP@@-ECX-Programmer User Manual

W361 Provide information on how to use the CX-Pro-grammer, a programming device that supports the CS/CJ-series PLCs, and the CX-Net con-tained within CX-Programmer.

SYSMAC WS02-CXP@@-ECX-Server User Manual

W362

SYSMAC CS/CJ Series CS1W-SCB21/41, CS1W-SCU21, CJ1W-SCU41Serial Communications Boards/Units Operation Manual

W336 Describes the use of Serial Communications Unit and Boards to perform serial communications with external devices, including the usage of stan-dard system protocols for OMRON products.

SYSMAC WS02-PSTC1-ECX-Protocol Operation Manual

W344 Describes the use of the CX-Protocol to create protocol macros as communications sequences to communicate with external devices.

SYSMAC CS/CJ Series CJ1W-ETN01/ENT11, CJ1W-ETN11 Ethernet Unit Operation Manual

W343 Describes the installation and operation of CJ1W-ETN01, CJ1W-ENT11, and CJ1W-ETN11 Ether-net Units.

!WARNING Failure to read and understand the information provided in this manual may result in per-sonal injury or death, damage to the product, or product failure. Please read each sectionin its entirety and be sure you understand the information provided in the section andrelated sections before attempting any of the procedures or operations given.

x

Page 10: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

xi

PRECAUTIONS

This section provides general precautions for using the CS/CJ-series Programmable Controllers (PLCs) and related devices.

The information contained in this section is important for the safe and reliable application of ProgrammableControllers. You must read this section and understand the information contained before attempting to set up oroperate a PLC system.

1 Intended Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii

2 General Precautions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii

3 Safety Precautions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii

4 Operating Environment Precautions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv

5 Application Precautions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv

6 Conformance to EC Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix

6-1 Applicable Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix

6-2 Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix

6-3 Conformance to EC Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix

6-4 Relay Output Noise Reduction Methods . . . . . . . . . . . . . . . . . . . . . xx

Page 11: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Intended Audience 1

1 Intended AudienceThis manual is intended for the following personnel, who must also haveknowledge of electrical systems (an electrical engineer or the equivalent).

• Personnel in charge of installing FA systems.

• Personnel in charge of designing FA systems.

• Personnel in charge of managing FA systems and facilities.

2 General PrecautionsThe user must operate the product according to the performance specifica-tions described in the operation manuals.

Before using the product under conditions which are not described in themanual or applying the product to nuclear control systems, railroad systems,aviation systems, vehicles, combustion systems, medical equipment, amuse-ment machines, safety equipment, and other systems, machines, and equip-ment that may have a serious influence on lives and property if usedimproperly, consult your OMRON representative.

Make sure that the ratings and performance characteristics of the product aresufficient for the systems, machines, and equipment, and be sure to providethe systems, machines, and equipment with double safety mechanisms.

This manual provides information for programming and operating the Unit. Besure to read this manual before attempting to use the Unit and keep this man-ual close at hand for reference during operation.

!WARNING It is extremely important that a PLC and all PLC Units be used for the speci-fied purpose and under the specified conditions, especially in applications thatcan directly or indirectly affect human life. You must consult with your OMRONrepresentative before applying a PLC System to the above-mentioned appli-cations.

3 Safety Precautions

!WARNING The CPU Unit refreshes I/O even when the program is stopped (i.e., even inPROGRAM mode). Confirm safety thoroughly in advance before changing thestatus of any part of memory allocated to I/O Units, Special I/O Units, or CPUBus Units. Any changes to the data allocated to any Unit may result in unex-pected operation of the loads connected to the Unit. Any of the following oper-ation may result in changes to memory status.

• Transferring I/O memory data to the CPU Unit from a ProgrammingDevice.

• Changing present values in memory from a Programming Device.

• Force-setting/-resetting bits from a Programming Device.

• Transferring I/O memory files from a Memory Card or EM file memory tothe CPU Unit.

• Transferring I/O memory from a host computer or from another PLC on anetwork.

!WARNING Do not attempt to take any Unit apart while the power is being supplied. Doingso may result in electric shock.

xii

Page 12: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Safety Precautions 3

!WARNING Do not touch any of the terminals or terminal blocks while the power is beingsupplied. Doing so may result in electric shock.

!WARNING Do not attempt to disassemble, repair, or modify any Units. Any attempt to doso may result in malfunction, fire, or electric shock.

!WARNING Do not touch the Power Supply Unit while power is being supplied or immedi-ately after power has been turned OFF. Doing so may result in electric shock.

!WARNING Provide safety measures in external circuits (i.e., not in the ProgrammableController), including the following items, to ensure safety in the system if anabnormality occurs due to malfunction of the PLC or another external factoraffecting the PLC operation. Not doing so may result in serious accidents.

• Emergency stop circuits, interlock circuits, limit circuits, and similar safetymeasures must be provided in external control circuits.

• The PLC will turn OFF all outputs when its self-diagnosis function detectsany error or when a severe failure alarm (FALS) instruction is executed.As a countermeasure for such errors, external safety measures must beprovided to ensure safety in the system.

• The PLC outputs may remain ON or OFF due to deposition or burning ofthe output relays or destruction of the output transistors. As a counter-measure for such problems, external safety measures must be providedto ensure safety in the system.

• When the 24-V DC output (service power supply to the PLC) is over-loaded or short-circuited, the voltage may drop and result in the outputsbeing turned OFF. As a countermeasure for such problems, externalsafety measures must be provided to ensure safety in the system.

!Caution Confirm safety before transferring data files stored in the file memory (Mem-ory Card or EM file memory) to the I/O area (CIO) of the CPU Unit using aperipheral tool. Otherwise, the devices connected to the output unit may mal-function regardless of the operation mode of the CPU Unit.

!Caution Fail-safe measures must be taken by the customer to ensure safety in theevent of incorrect, missing, or abnormal signals caused by broken signal lines,momentary power interruptions, or other causes. Abnormal operation mayresult in serious accidents.

!Caution Interlock circuits, limit circuits, and similar safety measures in external circuits(i.e., not in the Programmable Controller) must be provided by the customer.Abnormal operation may result in serious accidents.

!Caution Execute online edit only after confirming that no adverse effects will becaused by extending the cycle time. Otherwise, the input signals may not bereadable.

!Caution Confirm safety at the destination node before transferring a program toanother node or changing contents of the I/O memory area. Doing either ofthese without confirming safety may result in injury.

xiii

Page 13: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Operating Environment Precautions 4

!Caution Tighten the screws on the terminal block of the AC Power Supply Unit to thetorque specified in the operation manual. The loose screws may result inburning or malfunction.

4 Operating Environment Precautions

!Caution Do not operate the control system in the following locations:

• Locations subject to direct sunlight.

• Locations subject to temperatures or humidity outside the range specifiedin the specifications.

• Locations subject to condensation as the result of severe changes in tem-perature.

• Locations subject to corrosive or flammable gases.

• Locations subject to dust (especially iron dust) or salts.

• Locations subject to exposure to water, oil, or chemicals.

• Locations subject to shock or vibration.

!Caution Take appropriate and sufficient countermeasures when installing systems inthe following locations:

• Locations subject to static electricity or other forms of noise.

• Locations subject to strong electromagnetic fields.

• Locations subject to possible exposure to radioactivity.

• Locations close to power supplies.

!Caution The operating environment of the PLC System can have a large effect on thelongevity and reliability of the system. Improper operating environments canlead to malfunction, failure, and other unforeseeable problems with the PLCSystem. Be sure that the operating environment is within the specified condi-tions at installation and remains within the specified conditions during the lifeof the system.

5 Application PrecautionsObserve the following precautions when using the PLC System.

• You must use the CX-Programmer (programming software that runs onWindows) if you need to program more than one task. A ProgrammingConsole can be used to program only one cyclic task plus interrupt tasks.A Programming Console can, however, be used to edit multitask pro-grams originally created with the CX-Programmer.

• There are restrictions in the areas and addresses that can be accessed inI/O memory of the CS-series CS1 CPU Units when using the C200H Spe-cial I/O Units in combination with the following functions.

• There are restrictions in data transfer with the CPU Unit when pro-gramming transfers inside an ASCII Unit using the PLC READ, PLCWRITE, and similar commands.

• There are restrictions in data transfer with the CPU Unit for allocatedbits and DM area specifications (areas and addresses for source anddestination specifications).

xiv

Page 14: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Application Precautions 5

• The DeviceNet (CompoBus/D) output area for a DeviceNet (Compo-Bus/D) Master Unit (CIO 0050 to CIO 0099) overlaps with the I/O bitarea (CIO 0000 to CIO 0319). Do not use automatic allocations for I/Oin any system where allocations to the DeviceNet system will overlapwith allocations to I/O Units. Instead, use a Programming Device or theCX-Programmer to manually allocate I/O for the DeviceNet devices,being sure that the same words and bits are not allocated more thanonce, and transfer the resulting I/O table to the CPU Unit. If DeviceNetcommunications are attempted when the same bits are allocated toboth DeviceNet devices and I/O Units (which can occur even if auto-matic allocation is used), the DeviceNet devices and I/O Units mayboth exhibit faulty operation.

• Special bits and flags for PLC Link Units (CIO 0247 to CIO 0250) over-lap with the I/O bit area (CIO 0000 to CIO 0319). Do not use automaticallocations for I/O in any system where allocations to the I/O Units willoverlap with allocations to I/O Units. Instead, use a Programming De-vice or the CX-Programmer to manually allocate I/O to I/O Units, beingsure that the special bits and flags for PLC Link Units are not used, andtransfer the resulting I/O table to the CPU Unit. If operation is attempt-ed when the special bits and flags for PLC Link Units are also allocatedto I/O Units (which can occur even if automatic allocation is used), thePLC Link Units and I/O Units may both exhibit faulty operation.

!WARNING Always heed these precautions. Failure to abide by the following precautionscould lead to serious or possibly fatal injury.

• Always connect to a ground of 100 � or less when installing the Units. Notconnecting to a ground of 100 ��or less may result in electric shock.

• A ground of 100 � or less must be installed when shorting the GR and LGterminals on the Power Supply Unit.

• Always turn OFF the power supply to the PLC before attempting any ofthe following. Not turning OFF the power supply may result in malfunctionor electric shock.

• Mounting or dismounting Power Supply Units, I/O Units, CPU Units, In-ner Boards, or any other Units.

• Assembling the Units.

• Setting DIP switches or rotary switches.

• Connecting cables or wiring the system.

• Connecting or disconnecting the connectors.

!Caution Failure to abide by the following precautions could lead to faulty operation ofthe PLC or the system, or could damage the PLC or PLC Units. Always heedthese precautions.

• A CJ-series CPU Unit is shipped with the battery installed and the timealready set on the internal clock. It is not necessary to clear memory orset the clock before application, as it is for the CS-series CS1 CPU Units.

• When using a CS-series CS1 CPU Unit for the first time, install theCS1W-BAT1 Battery provided with the Unit and clear all memory areasfrom a Programming Device before starting to program. When using theinternal clock, turn ON power after installing the battery and set the clock

xv

Page 15: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Application Precautions 5

from a Programming Device or using the DATE(735) instruction. The clockwill not start until the time has been set.

• The user program and parameter area data in CS1-H, CJ1-H, or CJ1MCPU Units is backed up in the built-in flash memory. The BKUP indicatorwill light on the front of the CPU Unit when the backup operation is inprogress. Do not turn OFF the power supply to the CPU Unit when theBKUP indicator is lit. The data will not be backed up is power is turnedOFF.

• When the CPU Unit is shipped from the factory, the PLC Setup is set sothat the CPU Unit will start in the operating mode set on the ProgrammingConsole mode switch. When a Programming Console is not connected, aCS-series CS1 CPU Unit will start in PROGRAM mode, but a CS-seriesCS1-H CPU Unit and CJ-series CPU Unit will start in RUN mode andoperation will begin immediately. Do not advertently or inadvertently allowoperation to start without confirming that it is safe.

• When creating an AUTOEXEC.IOM file from a Programming Device (aProgramming Console or the CX-Programmer) to automatically transferdata at startup, set the first write address to D20000 and be sure that thesize of data written does not exceed the size of the DM Area. When thedata file is read from the Memory Card at startup, data will be written inthe CPU Unit starting at D20000 even if another address was set whenthe AUTOEXEC.IOM file was created. Also, if the DM Area is exceeded(which is possible when the CX-Programmer is used), the remaining datawill be written to the EM Area.

• Always turn ON power to the PLC before turning ON power to the controlsystem. If the PLC power supply is turned ON after the control power sup-ply, temporary errors may result in control system signals because theoutput terminals on DC Output Units and other Units will momentarily turnON when power is turned ON to the PLC.

• Fail-safe measures must be taken by the customer to ensure safety in theevent that outputs from Output Units remain ON as a result of internal cir-cuit failures, which can occur in relays, transistors, and other elements.

• Fail-safe measures must be taken by the customer to ensure safety in theevent of incorrect, missing, or abnormal signals caused by broken signallines, momentary power interruptions, or other causes.

• Interlock circuits, limit circuits, and similar safety measures in external cir-cuits (i.e., not in the Programmable Controller) must be provided by thecustomer.

• Do not turn OFF the power supply to the PLC when data is being trans-ferred. In particular, do not turn OFF the power supply when reading orwriting a Memory Card. Also, do not remove the Memory Card when theBUSY indicator is lit. To remove a Memory Card, first press the memorycard power supply switch and then wait for the BUSY indicator to go outbefore removing the Memory Card.

• If the I/O Hold Bit is turned ON, the outputs from the PLC will not beturned OFF and will maintain their previous status when the PLC isswitched from RUN or MONITOR mode to PROGRAM mode. Make surethat the external loads will not produce dangerous conditions when thisoccurs. (When operation stops for a fatal error, including those producedwith the FALS(007) instruction, all outputs from Output Unit will be turnedOFF and only the internal output status will be maintained.)

• The contents of the DM, EM, and HR Areas in the CPU Unit are backedup by a Battery. If the Battery voltage drops, this data may be lost. Provide

xvi

Page 16: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Application Precautions 5

countermeasures in the program using the Battery Error Flag (A40204) tore-initialize data or take other actions if the Battery voltage drops.

• When supplying power at 200 to 240 V AC with a CS-series PLC, alwaysremove the metal jumper from the voltage selector terminals on the PowerSupply Unit (except for Power Supply Units with wide-range specifica-tions). The product will be destroyed if 200 to 240 V AC is supplied whilethe metal jumper is attached.

• Always use the power supply voltages specified in the operation manuals.An incorrect voltage may result in malfunction or burning.

• Take appropriate measures to ensure that the specified power with therated voltage and frequency is supplied. Be particularly careful in placeswhere the power supply is unstable. An incorrect power supply may resultin malfunction.

• Install external breakers and take other safety measures against short-cir-cuiting in external wiring. Insufficient safety measures against short-cir-cuiting may result in burning.

• Do not apply voltages to the Input Units in excess of the rated input volt-age. Excess voltages may result in burning.

• Do not apply voltages or connect loads to the Output Units in excess ofthe maximum switching capacity. Excess voltage or loads may result inburning.

• Disconnect the functional ground terminal when performing withstandvoltage tests. Not disconnecting the functional ground terminal may resultin burning.

• Install the Units properly as specified in the operation manuals. Improperinstallation of the Units may result in malfunction.

• With CS-series PLCs, be sure that all the Unit and Backplane mountingscrews are tightened to the torque specified in the relevant manuals.Incorrect tightening torque may result in malfunction.

• Be sure that all terminal screws, and cable connector screws are tight-ened to the torque specified in the relevant manuals. Incorrect tighteningtorque may result in malfunction.

• Leave the label attached to the Unit when wiring. Removing the label mayresult in malfunction if foreign matter enters the Unit.

• Remove the label after the completion of wiring to ensure proper heat dis-sipation. Leaving the label attached may result in malfunction.

• Use crimp terminals for wiring. Do not connect bare stranded wiresdirectly to terminals. Connection of bare stranded wires may result inburning.

• Wire all connections correctly.

• Double-check all wiring and switch settings before turning ON the powersupply. Incorrect wiring may result in burning.

• Mount Units only after checking terminal blocks and connectors com-pletely.

• Be sure that the terminal blocks, Memory Units, expansion cables, andother items with locking devices are properly locked into place. Improperlocking may result in malfunction.

• Check switch settings, the contents of the DM Area, and other prepara-tions before starting operation. Starting operation without the proper set-tings or data may result in an unexpected operation.

xvii

Page 17: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Application Precautions 5

• Check the user program for proper execution before actually running it onthe Unit. Not checking the program may result in an unexpected opera-tion.

• Confirm that no adverse effect will occur in the system before attemptingany of the following. Not doing so may result in an unexpected operation.

• Changing the operating mode of the PLC.

• Force-setting/force-resetting any bit in memory.

• Changing the present value of any word or any set value in memory.

• Resume operation only after transferring to the new CPU Unit the con-tents of the DM Area, HR Area, and other data required for resumingoperation. Not doing so may result in an unexpected operation.

• Do not pull on the cables or bend the cables beyond their natural limit.Doing either of these may break the cables.

• Do not place objects on top of the cables or other wiring lines. Doing somay break the cables.

• Do not use commercially available RS-232C personal computer cables.Always use the special cables listed in this manual or make cablesaccording to manual specifications. Using commercially available cablesmay damage the external devices or CPU Unit.

• When replacing parts, be sure to confirm that the rating of a new part iscorrect. Not doing so may result in malfunction or burning.

• Before touching a Unit, be sure to first touch a grounded metallic object inorder to discharge any static build-up. Not doing so may result in malfunc-tion or damage.

• When transporting or storing circuit boards, cover them in antistatic mate-rial to protect them from static electricity and maintain the proper storagetemperature.

• Do not touch circuit boards or the components mounted to them with yourbare hands. There are sharp leads and other parts on the boards thatmay cause injury if handled improperly.

• Do not short the battery terminals or charge, disassemble, heat, or incin-erate the battery. Do not subject the battery to strong shocks. Doing anyof these may result in leakage, rupture, heat generation, or ignition of thebattery. Dispose of any battery that has been dropped on the floor or oth-erwise subjected to excessive shock. Batteries that have been subjectedto shock may leak if they are used.

• UL standards required that batteries be replaced only by experiencedtechnicians. Do not allow unqualified persons to replace batteries.

• With a CJ-series PLC, the sliders on the tops and bottoms of the PowerSupply Unit, CPU Unit, I/O Units, Special I/O Units, and CPU Bus Unitsmust be completely locked (until they click into place). The Unit may notoperate properly if the sliders are not locked in place.

• With a CJ-series PLC, always connect the End Plate to the Unit on theright end of the PLC. The PLC will not operate properly without the EndPlate

• Unexpected operation may result if inappropriate data link tables orparameters are set. Even if appropriate data link tables and parametershave been set, confirm that the controlled system will not be adverselyaffected before starting or stopping data links.

• CPU Bus Units will be restarted when routing tables are transferred froma Programming Device to the CPU Unit. Restarting these Units is

xviii

Page 18: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Conformance to EC Directives 6

required to read and enable the new routing tables. Confirm that the sys-tem will not be adversely affected before allowing the CPU Bus Units tobe reset.

6 Conformance to EC Directives

6-1 Applicable Directives• EMC Directives

• Low Voltage Directive

6-2 ConceptsEMC DirectivesOMRON devices that comply with EC Directives also conform to the relatedEMC standards so that they can be more easily built into other devices or theoverall machine. The actual products have been checked for conformity toEMC standards (see the following note). Whether the products conform to thestandards in the system used by the customer, however, must be checked bythe customer.

EMC-related performance of the OMRON devices that comply with EC Direc-tives will vary depending on the configuration, wiring, and other conditions ofthe equipment or control panel on which the OMRON devices are installed.The customer must, therefore, perform the final check to confirm that devicesand the overall machine conform to EMC standards.

Note Applicable EMC (Electromagnetic Compatibility) standards are as follows:

EMS (Electromagnetic Susceptibility):CS Series: EN61131-2 and EN61000-6-2CJ Series: EN61000-6-2

EMI (Electromagnetic Interference):EN50081-2 (Radiated emission: 10-m regulations)

Low Voltage DirectiveAlways ensure that devices operating at voltages of 50 to 1,000 V AC and 75to 1,500 V DC meet the required safety standards for the PLC (EN61131-2).

6-3 Conformance to EC DirectivesThe CS/CJ-series PLCs comply with EC Directives. To ensure that themachine or device in which the CS/CJ-series PLC is used complies with ECDirectives, the PLC must be installed as follows:

1,2,3... 1. The CS/CJ-series PLC must be installed within a control panel.

2. You must use reinforced insulation or double insulation for the DC powersupplies connected to DC Power Supply Units and I/O Units.

3. CS/CJ-series PLCs complying with EC Directives also conform to theCommon Emission Standard (EN50081-2). Radiated emission character-istics (10-m regulations) may vary depending on the configuration of thecontrol panel used, other devices connected to the control panel, wiring,and other conditions. You must therefore confirm that the overall machineor equipment complies with EC Directives.

xix

Page 19: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Conformance to EC Directives 6

6-4 Relay Output Noise Reduction MethodsThe CS/CJ-series PLCs conforms to the Common Emission Standards(EN50081-2) of the EMC Directives. However, noise generated by relay out-put switching may not satisfy these Standards. In such a case, a noise filtermust be connected to the load side or other appropriate countermeasuresmust be provided external to the PLC.

Countermeasures taken to satisfy the standards vary depending on thedevices on the load side, wiring, configuration of machines, etc. Following areexamples of countermeasures for reducing the generated noise.

Countermeasures(Refer to EN50081-2 for more details.)

Countermeasures are not required if the frequency of load switching for thewhole system with the PLC included is less than 5 times per minute.

Countermeasures are required if the frequency of load switching for the wholesystem with the PLC included is more than 5 times per minute.

Countermeasure ExamplesWhen switching an inductive load, connect an surge protector, diodes, etc., inparallel with the load or contact as shown below.

Circuit Current Characteristic Required element

AC DC

Yes Yes If the load is a relay or solenoid, there is a time lag between the moment the cir-cuit is opened and the moment the load is reset.

If the supply voltage is 24 or 48 V, insert the surge protector in parallel with the load. If the supply voltage is 100 to 200 V, insert the surge protector between the contacts.

The capacitance of the capacitor must be 1 to 0.5 �F per contact current of 1 A and resistance of the resistor must be 0.5 to 1 � per contact voltage of 1 V. These values, however, vary with the load and the characteristics of the relay. Decide these values from experi-ments, and take into consideration that the capacitance suppresses spark dis-charge when the contacts are sepa-rated and the resistance limits the current that flows into the load when the circuit is closed again.

The dielectric strength of the capacitor must be 200 to 300 V. If the circuit is an AC circuit, use a capacitor with no polarity.

CR method

Power supply

Indu

ctiv

elo

ad

C

R

xx

Page 20: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Conformance to EC Directives 6

When switching a load with a high inrush current such as an incandescentlamp, suppress the inrush current as shown below.

No Yes The diode connected in parallel with the load changes energy accumulated by the coil into a current, which then flows into the coil so that the current will be converted into Joule heat by the resistance of the inductive load.

This time lag, between the moment the circuit is opened and the moment the load is reset, caused by this method is longer than that caused by the CR method.

The reversed dielectric strength value of the diode must be at least 10 times as large as the circuit voltage value. The forward current of the diode must be the same as or larger than the load current.

The reversed dielectric strength value of the diode may be two to three times larger than the supply voltage if the surge protector is applied to electronic circuits with low circuit voltages.

Yes Yes The varistor method prevents the impo-sition of high voltage between the con-tacts by using the constant voltage characteristic of the varistor. There is time lag between the moment the cir-cuit is opened and the moment the load is reset.

If the supply voltage is 24 or 48 V, insert the varistor in parallel with the load. If the supply voltage is 100 to 200 V, insert the varistor between the con-tacts.

---

Circuit Current Characteristic Required element

AC DC

Diode method

Power supply

Indu

ctiv

elo

ad

Varistor method

Power supply

Indu

ctiv

elo

ad

OUT

COM

ROUT

COM

R

Countermeasure 1

Providing a dark current of approx. one-third of the rated value through an incandescent

Countermeasure 2

Providing a limiting resistor

lamp

xxi

Page 21: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Conformance to EC Directives 6

xxii

Page 22: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

SECTION 1CPU Unit Operation

This section describes the basic structure and operation of the CPU Unit.

1-1 Initial Setup (CS1 CPU Units Only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1-2 Using the Internal Clock (CS1 CPU Units Only) . . . . . . . . . . . . . . . . . . . . . . 5

1-3 Internal Structure of the CPU Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1-3-1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1-3-2 Block Diagram of CPU Unit Memory . . . . . . . . . . . . . . . . . . . . . . . 7

1-4 Operating Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1-4-1 Description of Operating Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1-4-2 Initialization of I/O Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1-4-3 Startup Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1-5 Programs and Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1-6 Description of Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1

Page 23: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Initial Setup (CS1 CPU Units Only) Section 1-1

1-1 Initial Setup (CS1 CPU Units Only)Battery Installation Before using a CS1CPU Unit, you must install the Battery Set in the CPU Unit

using the following procedure.

1,2,3... 1. Insert a flat-blade screwdriver in the small gap at the bottom of the batterycompartment and flip the cover upward to open it.

2

Page 24: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Initial Setup (CS1 CPU Units Only) Section 1-1

2. Hold the Battery Set with the cable facing outward and insert it into the bat-tery compartment.

3. Connect the battery connector to the battery connector terminals. Connectthe red wire to the top and the white wire to the bottom terminal. There aretwo sets of battery connector terminals; connect the battery to either one.It does not matter whether the top terminals or bottom terminals are used.

Battery compartment

Battery connector terminals(Connect to either set of terminals.)

Red

White

3

Page 25: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Initial Setup (CS1 CPU Units Only) Section 1-1

4. Fold in the cable and close the cover.

Clearing Memory After installing the battery, clear memory using the memory clear operation toinitialize the RAM inside the CPU Unit.

Programming Console

Use the following procedure from a Programming Console.

Note You cannot specify more than one cyclic task when clearing memory from aProgramming Console. You can specify one cyclic task and one interrupt task,or one cyclic task and no interrupt task. Refer to the Operation Manual formore information on the memory clear operation. Refer to ��������������������������� and ��������������� for more information on tasks.

CX-Programmer

Memory can also be cleared from the CX-Programmer. Refer to the CX-Pro-grammer Operation Manual for the actual procedure.

Clearing Errors After clearing memory, clear any errors from the CPU Unit, including the lowbattery voltage error.

Programming Console

Use the following procedure from a Programming Console.

CX-Programmer

Errors can also be cleared from the CX-Programmer. Refer to the CX-Pro-grammer Operation Manual for the actual procedure.

Note When an Inner Board is mounted, an Inner Board routing table error may con-tinue even after you have cancelled the error using the CX-Programmer.(A42407 will be ON for a Serial Communications Board.) If this occurs, eitherreset the power or restart the Inner Board, then cancel the error again.

MONInitial display 0SET NOT RESET 0 (or 1 ) MON

MONInitial display FUN

(Displayed error will be cleared.)

(Returns to the initial display.)

MON

MON

4

Page 26: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Using the Internal Clock (CS1 CPU Units Only) Section 1-2

1-2 Using the Internal Clock (CS1 CPU Units Only)The internal clock of the CPU Unit is set to “00 year, 01 month, 01 day (00-01-01), 00 hours, 00 minutes, 00 seconds (00:00:00), and Sunday (SUN)” whenthe Battery Set is mounted in the CS-series CPU Unit.

When using the internal clock, turn ON the power supply after mounting theBattery Set and 1) use a Programming Device (Programming Console or CX-Programmer) to set the clock time, 2) execute the CLOCK ADJUSTMENT(DATE) instruction, or 3) send a FINS command to start the internal clock fromthe correct current time and date.

The Programming Console operation used to set the internal clock is shownbelow.

Key Sequence

MON DataInitial display

↑SHIFT WRITEFUN 0

Specify: Yr Mo Day Hr Min S

CHG

5

Page 27: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Internal Structure of the CPU Unit Section 1-3

1-3 Internal Structure of the CPU Unit

1-3-1 OverviewThe following diagram shows the internal structure of the CPU Unit.

The User Program The user program is created from up to 288 program tasks, including interrupttasks. The tasks are transferred to the CPU Unit from the CX-Programmerprogramming software.

There are two types of tasks. The first is a cyclic task that is executed onceper cycle (maximum of 32) and the other is an interrupt task that is executedonly when the interrupt conditions occur (maximum of 256). Cyclic tasks areexecuted in numerical order.

Note With the CS1-H, CJ1-H, or CJ1M CPU Units, interrupt tasks can be executedcyclically in the same way as cyclic tasks. These are called “extra cyclictasks.” The total number of tasks that can be executed cyclically must be 288or less.

Program instructions read and write to I/O memory and are executed in orderstarting at the top of the program. After all cyclic tasks are executed, the I/Ofor all Units are refreshed, and the cycle repeats again starting at the lowestcyclic task number.

Refer to the section on CPU Unit operation in the CS/CJ Series OperationManual for details on refreshing I/O.

I/O Memory I/O memory is the RAM area used for reading and writing from the user pro-gram. It is comprised of one area that is cleared when power is turned ON andOFF, and another area that will retain data.

I/O memory is also partitioned into an area that exchanges data with all Unitsand an area strictly for internal use. Data is exchanged with all Units once perprogram execution cycle and also when specific instructions are executed.

CPU Unit Task 1

Task 2

Task n

The programm is divided into tasks and the tasks are executed in order by task number.

Memory CardI/O memory, PC Setup, programs and the EM area can be saved as files.

User program

I/O memory

EM file memory

PLC Setup and other parameters

DIP switch

Auto-matic backup

Flash memory

Access

Auto-matic backup

(CS1-H, CJ1-H, or CJ1M CPU Units only)

6

Page 28: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Internal Structure of the CPU Unit Section 1-3

PLC Setup The PLC Setup is used to set various initial or other settings through softwareswitches.

DIP Switches DIP switches are used to set initial or other settings through hardwareswitches.

Memory Cards Memory Cards are used as needed to store data such as programs, I/O mem-ory data, the PLC Setup, and I/O comments created by ProgrammingDevices. Programs and various system settings can be written automaticallyfrom the Memory Card when power is turned ON (automatic transfer at star-tup).

Flash Memory (CS1-H, CJ1-H, or CJ1M CPU Units Only)

With the CS1-H, CJ1-H, or CJ1M CPU Units, the user program and parameterarea data, such as the PLC Setup, are automatically backed up in the built-inflash memory whenever the user writes data to the CPU Unit. This enablesbattery-free operation without using a Memory Card. I/O memory, includingmost of the DM Area, are not backed up without a battery.

1-3-2 Block Diagram of CPU Unit MemoryCPU Unit memory (RAM) is comprised of the following blocks in the CS/CJSeries:

• Parameter area (PLC Setup, registered I/O table, routing table, and CPUBus Unit settings)

• I/O memory areas

• The user program

Data in the parameter area and I/O memory areas is backed up by a Battery(CS Series: CS1W-BAT01, CJ1-H: CPM2A-BAT01), and will be lost if batterypower is low.

The CS1-H, CJ1-H, or CJ1M CPU Units, however, provide a built-in flashmemory for data backup. The user program and parameter area data areautomatically backed up in the built-in flash memory whenever the user writesdata to the CPU Unit from a Programming Device (e.g., CX-Programmer orProgramming Console), including the following operations: Data transfers,online editing, transfers from Memory Cards, etc. This means that the userprogram and parameter area data will not be lost even if the battery voltagedrops.

7

Page 29: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Operating Modes Section 1-4

Note 1. The parameter area and user program (i.e., the user memory) can bewrite-protected by turning ON pin 1 of the DIP switch on the front of theCPU Unit.

2. EM file memory is part of the EM Area that has been converted to filememory in the PLC Setup. All EM banks from the specified bank to the endof the EM Area can be used only as file memory for storage of data andprogram files.

3. Be sure to install the battery provided (CS1W-BAT01) before using a CS1CPU Unit for the first time. After installing the battery, use a ProgrammingDevice to clear the PLC’s RAM (parameter area, I/O memory area, anduser program).

4. A Battery is mounted to a CS1-H, CJ1, CJ1-H, or CJ1M CPU Unit when itis shipped from the factory. There is no need to clear memory or set thetime.

5. The BKUP indicator on the front of the CPU Unit will light while data is be-ing written to flash memory. Do not turn OFF the power supply to the CPUUnit until the backup operation has been completed (i.e., until the BKUPindicator goes out). Refer to ! !� �"��#�$�%��� for details.

1-4 Operating Modes

1-4-1 Description of Operating ModesThe following operating modes are available in the CPU Unit. These modescontrol the entire user program and are common to all tasks.

PROGRAM Mode Program execution stops in PROGRAM mode, and the RUN indicator is not lit.This mode is used when editing the program or making other preparationsoperation, such as the following:

CPU Unit

I/O memory area

Drive 1: EM file memory (See note 2.)

BackupBattery

A newly mounted battery will be good up to five years at an ambient temperature of 25°C

Drive 0: Memory card (flash memory)

User programUser program

File memory

Flash Memory (CS1-H, CJ1-H, or CJ1M CPU Units only)

Parameter area Parameter area (See note 1.)

Built-in RAM

Automatically backed up to flash memory whenever a write operation for the user program or parameter area is performed from a Programming Device.

Auto- written

Auto- written

8

Page 30: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Operating Modes Section 1-4

• Registering the I/O table.

• Changing PLC Setup and other settings.

• Transferring and checking programs.

• Force-setting and resetting bits to check wiring and bit allocation.

In this mode, all cyclic and interrupt tasks are non-executing (INI), that is theystop. See �! �&��'���������(������ for more details on tasks.I/O refreshing is performed in PROGRAM mode. Refer to the Operation Man-ual for information on refreshing I/O.

!WARNING The CPU Unit refreshes I/O even when the program is stopped (i.e., even inPROGRAM mode). Confirm safety thoroughly in advance before changing thestatus of any part of memory allocated to I/O Units, Special I/O Units, or CPUBus Units. Any changes to the data allocated to any Unit may result in unex-pected operation of the loads connected to the Unit. Any of the following oper-ation may result in changes to memory status.

• Transferring I/O memory data to the CPU Unit from a ProgrammingDevice.

• Changing present values in memory from a Programming Device.

• Force-setting/-resetting bits from a Programming Device.

• Transferring I/O memory files from a Memory Card or EM file memory tothe CPU Unit.

• Transferring I/O memory from a host computer or from another PLC on anetwork.

MONITOR Mode The following operations can be performed through Programming Deviceswhile the program is executing in MONITOR mode. The RUN indicator will belit. This mode is used to make test runs or other adjustments.

• Online Editing.

• Force-setting and force-resetting bits.

• Changing values in I/O memory.

In this mode, the cyclic tasks specified for execution at startup (see note) andthose are made executable by TKON(820) will be executed when programexecution reaches their task number. Interrupt tasks will be executed if theirinterrupt conditions occur.

Note The tasks that are executed at startup are specified in the program propertiesfrom the CX-Programmer.

RUN Mode This mode is used for normal program execution. The RUN indicator will be lit.Some Programming Device operations like online editing, force-set/force-reset, and changing I/O memory values are disabled in this mode, but otherProgramming Device operations like monitoring the status of program execu-tion (monitoring programs and monitoring I/O memory) are enabled.

Use this mode for normal system operation. Task execution is the same as inMONITOR mode.

See 10-2 CPU Unit Operating Modes in the Operation Manual for more detailson operations that are available in each operating mode.

9

Page 31: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Operating Modes Section 1-4

1-4-2 Initialization of I/O MemoryThe following table shows which data areas will be cleared when the operat-ing mode is changed from PROGRAM mode to RUN/MONITOR mode orvice-versa.

Note 1. Non-held areas: CIO Area, Work Area, Timer PVs, Timer CompletionFlags, Index Registers, Data Registers, Task Flags, and Condition Flags.(The statuses of some addresses in the Auxiliary Area are held and othersare cleared.)

2. Held areas: Holding Area, DM Area, EM Area, Counter PVs, and CounterCompletion Flags.

3. Data in I/O memory will be retained when the IOM Hold Bit (A50012) is ON.When the IOM Hold Bit (A50012) is ON and operation is stopped due to afatal error (including FALS(007)), the contents of I/O memory will be re-tained but outputs on Output Units will all be turned OFF.

Mode change Non-held Areas(Note 1)

Held Areas(Note 2)

RUN/MONITOR � PROGRAM Clear (Note 3) Retained

PROGRAM � RUN/MONITOR Clear (Note 3) Retained

RUN � MONITOR Retained Retained

10

Page 32: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Operating Modes Section 1-4

1-4-3 Startup ModeRefer to the Operation Manual for details on the Startup Mode setting for theCPU Unit.

Note With CJ1, CS1-H, CJ1-H, or CJ1M CPU Units, the CPU Unit will start in RUNMode if a Programming Console is not connected. This differs from the defaultoperation for a CS1 CPU Unit, which will start in PROGRAM Mode by defaultif a Programming Console is not connected.

Conditions CS1 CPU Unit CJ1, CS1-H, or CJ1-H CPU Unit

PLC Setup is set to start according to the mode set on the Programming Con-sole, but a Programming Console is not connected.

PROGRAM mode RUN mode

Power turned ON.

PLC Setup set for mode on

Programming Console?

Programming Console

connected?

CJ1, CS1-H, CJ1-H, or CJ1M CPU Unit: CPU Unit starts in RUN mode.CS1 CPU Unit: CPU Unit starts in PROGRAM mode.

The CPU Unit will start in the mode set on the Programming Console.

The CPU Unit will start in the mode set in the PLC Setup.

Yes

No

No

Yes

11

Page 33: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Programs and Tasks Section 1-5

1-5 Programs and TasksTasks specify the sequence and interrupt conditions under which individualprograms will be executed. They are broadly grouped into the following types:

1,2,3... 1. Tasks executed sequentially that are called cyclic tasks.

2. Tasks executed by interrupt conditions that are called interrupt tasks.

Note With the CS1-H, CJ1-H, or CJ1M CPU Units, interrupt tasks can be executedcyclically in the same way as cyclic tasks. These are called “extra cyclictasks.”

Programs allocated to cyclic tasks will be executed sequentially by task num-ber and I/O will be refreshed once per cycle after all tasks (more preciselytasks that are in executable status) are executed. If an interrupt conditiongoes into effect during processing of the cyclic tasks, the cyclic task will beinterrupted and the program allocated to the interrupt task will be executed.

Refer to the section on CPU Unit operation in the CS/CJ Series OperationManual for information in refreshing I/O.

In the above example, programming would be executed in the following order:start of A, B, remainder of A, C, and then D. This assumes that the interruptcondition for interrupt task 100 was established during execution of programA. When execution of program B is completed, the rest of program A would beexecuted from the place where execution was interrupted.

With earlier OMRON PLCs, one continuous program is formed from severalcontinuous parts. The programs allocated to each task are single programsthat terminate with an END instruction, just like the single program in earlierPLCs.

Cyclic task 0

Cyclic task 1

Interrupt condition goes into effect

Interrupt task 100

Allocation

Program B

Program C

Program DCyclic task n

I/O refreshing

Allocation

Allocation

Allocation

Program A

12

Page 34: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Programs and Tasks Section 1-5

One feature of the cyclic tasks is that they can be enabled (executable status)and disabled (standby status) by the task control instructions. This means thatseveral program components can be assembled as a task, and that only spe-cific programs (tasks) can then be executed as needed for the current productmodel or process being performed (program step switching). Therefore perfor-mance (cycle time) is greatly improved because only required programs willbe executed as needed.

A task that has been executed will be executed in subsequent cycles, and atask that is on standby will remain on standby in subsequent cycles unless it isexecuted again from another task.

Note Unlike earlier programs that can be compared to reading a scroll, tasks canbe compared to reading through a series of individual cards.

• All cards are read in a preset sequence starting from the lowest number.

• All cards are designated as either active or inactive, and cards that areinactive will be skipped. (Cards are activated or deactivated by task con-trol instructions.)

Earlier system

One continuous subprogram

I/O refreshing

Allocation

CS/CJ Series

Task 1

Task 2

Task 3

Tasks can be put into non-executing (standby) status.

I/O refreshing

13

Page 35: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Description of Tasks Section 1-6

• A card that is activated will remain activated and will be read in subse-quent sequences. A card that is deactivated will remain deactivated andwill be skipped until it is reactivated by another card.

1-6 Description of TasksTasks are broadly grouped into the following types:

1,2,3... 1. Cyclic tasks (32 max.)

Tasks that will be executed once per cycle if executable. Execution canalso be disabled for cyclic tasks if required.

2. Interrupt tasks

Tasks that are executed when the interrupt occurs whether or not a cyclictask is being executed.

Interrupt tasks are grouped into the following four types (five types includ-ing the extra cyclic tasks for CS1-H, CJ1-H, or CJ1M CPU Units):

a) Power OFF interrupt task: Executed when power is interrupted.(1 max.)

b) Scheduled interrupt task: Executed at specified intervals. (2 max.).

c) I/O interrupt task (note): Executed when an Interrupt Input Unit in-put turns ON (32 max.).

d) External interrupt task (note):Executed (256 max.) when requested byan Special I/O Unit, CPU Bus Unit, or In-ner Board (CS Series only).

e) Extra cyclic tasks: Interrupt tasks that are treated as cyclictasks. Extra cyclic tasks are executedonce every cycle as long as they are in anexecutable condition.

A total of 288 tasks with 288 programs can be created and controlled throughthe CX-Programmer. These include up to 32 cyclic tasks and 256 interrupttasks.

Note CJ1 CPU Units do not currently support I/O interrupt tasks and external inter-rupt tasks. The maximum number of tasks for a CJ1 CPU Unit is thus 35, i.e.,32 cyclic tasks and 3 interrupt tasks. The total number of programs that canbe created and managed is also 35.

Earlier program: Like a scroll

CS/CJ-series program:Like a series of cards that can be activated or deactivated by other cards.

Activated Deactivated

14

Page 36: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Description of Tasks Section 1-6

Each program is allocated 1:1 to a task through individual program propertysettings set with the CX-Programmer.

Program Structure Standard subroutine programs can be created and allocated to tasks asneeded to create programs. This means that programs can be created inmodules (standard components) and that tasks can be debugged individually.

When creating modular programs, addresses can be specified by symbols tofacilitate standardization.

Cyclic task 0

Executed in order starting from the lowest number.

Cyclic task 1

Cyclic task 2

I/O refreshing

Peripheral processing

Interrupt occurs

Interrupt task 5

Note Condition Flags (ER, >, =, etc.) and instruction conditions (interlock ON, etc.) are cleared at the beginning of each task.

Standard subroutine programs

User program ABC User program ABD

Task 1 (A) Task 1 (A)

Task 2 (B) Task 2 (B)

Task 3 (C) Task 3 (D)

15

Page 37: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Description of Tasks Section 1-6

Executable and Standby Status

The TASK ON and TASK OFF instructions (TKON(820) and TKOF(821)) canbe executed in one task to place another task in executable or standby status.

Instructions in tasks that are on standby will not be executed, but their I/O sta-tus will be maintained. When a task is returned to executable status, instruc-tions will be executed with the I/O status that was maintained.

Example: Programming with a Control Task

In this example, task 0 is a control task that is executed first at the start ofoperation. Other tasks can be set from the CX-Programmer (but not a Pro-gramming Console) to start or not to start at the beginning of operation.

Once program execution has been started, tasks can be controlled withTKON(820) and TKOF(821).

Task 0 (control task)

Task 1

Task 2

Task 3

Task 0

Example: T(set in the program properties from the CX-Programmer).ask 0 is set to be executed at the start of operation

Task 1 is executable when a is ON.Task 1 is put on standby when b is ON.Tasks 2 and 3 are executable when c is ON.Tasks 2 and 3 are put on standby when d is ON.

Program

Task 0

Task 1

Task 2

Task 3

Task 0

Task 1

Task 2

Task 3

Task 0

Task 1

Task 2

Task 3

Task 0

Task 1

Task 2

Task 3

Task 0

Task 1

Task 2

Task 3

Task 0

Task 1

Task 2

Task 3

Start task 1 when a is ON.

Start tasks 2 and 3 when c is ON.

Put task 1 on standby when b is ON.

Put tasks 2 and 3 on standby when d is ON.

16

Page 38: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Description of Tasks Section 1-6

Example: Each Task Controlled by Another Task

In this example, each task is controlled by another task.

Program

Task 0

Task 1

Task 2

Program for task 0

Program for task 1

Example: Task 1 is set to be executed at the start of operation unconditionally.Task 1 executable when a is ON.Task 1 put on standby when b is ON.Task 2 is executable when c is ON and task 1 has been executed.

Task 0

Task 1

Task 2

Task 0

Task 1

Task 2

Task 0

Task 1

Task 2

Task 0

Task 1

Task 2

Put task 1 on standby when b is ON.

If task 1 executed

Start task 2 when c is ON.

Start task 1 when a is ON.

Note TKOF(821) can be used in a task to put that task itself on standby.

17

Page 39: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Description of Tasks Section 1-6

Task Execution Time While a task is on standby, instructions in that task are not executed, so theirOFF instruction execution time will not be added to the cycle time.

Note From this standpoint, instructions in a task that is on standby are just likeinstructions in a jumped program section (JMP-JME).

Since instructions in a non-executed task do not add to the cycle time, theoverall system performance can be improved significantly by splitting the sys-tem into an overall control task and individual tasks that are executed onlywhen necessary.

Earlier system

Most instructions are executed.(Instructions in subroutines and jumps are executed only when necessary.)

CS/CJ-series PLCs

Instructions are executed only when necessary.

Task 0

Task 1

Task 2

Task 3

18

Page 40: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

SECTION 2Programming

This section basic information required to write, check, and input programs.

2-1 Basic Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2-1-1 Programs and Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2-1-2 Basic Information on Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2-1-3 Instruction Location and Execution Conditions . . . . . . . . . . . . . . . . 23

2-1-4 Addressing I/O Memory Areas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2-1-5 Specifying Operands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2-1-6 Data Formats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2-1-7 Instruction Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2-1-8 Execution Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2-1-9 I/O Instruction Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2-1-10 Refresh Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

2-1-11 Program Capacity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

2-1-12 Basic Ladder Programming Concepts . . . . . . . . . . . . . . . . . . . . . . . 41

2-1-13 Inputting Mnemonics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

2-1-14 Program Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

2-2 Precautions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

2-2-1 Condition Flags. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

2-2-2 Special Program Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

2-3 Checking Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

2-3-1 Errors during Programming Device Input . . . . . . . . . . . . . . . . . . . . 63

2-3-2 Program Checks with the CX-Programmer . . . . . . . . . . . . . . . . . . . 63

2-3-3 Program Execution Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

2-3-4 Checking Fatal Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

19

Page 41: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

2-1 Basic Concepts

2-1-1 Programs and TasksCS/CJ-series PLCs execute ladder-diagram programs contained in tasks. Theladder-diagram program in each task ends with an END(001) instruction justas with conventional PLCs.

Tasks are used to determine the order for executing the ladder-diagram pro-grams, as well as the conditions for executing interrupts.

This section describes the basic concepts required to write CS/CJ-series pro-grams. See ��������������� for more information on tasks and their rela-tionship to ladder-diagram programs.

Note Tasks and Programming DevicesTasks are handled as described below on the Programming Devices. Refer to�!�����)��%%��)�&���'�������������(�������� and to the CS/CJ-series Pro-gramming Consoles Operation Manual (W341) and CX-Programmer Opera-tion Manual for more details.

CX-Programmer

The CX-Programmer is used to designate task types and task numbers asattributes for individual programs.

Programming Console

Programs are accessed and edited on a Programming Console by specifyingCT00 to CT 31 for cyclic tasks and IT00 to IT255 for interrupt tasks. When thememory clear operation is performed with a Programming Console, onlycyclic task 0 (CT00) can be written in a new program. Use CX-Programmer tocreate cyclic tasks 1 through 31 (CT01 through CT31).

Cyclic task 1 Interrupt condition met.

Interrupt task

Allocated

Program A

Program B

Each ladder-diagram program ends with an END(001) instruction.

Program C

I/O refresh

Allocated

Allocated

Cyclic task n

20

Page 42: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

2-1-2 Basic Information on InstructionsPrograms consist of instructions. The conceptual structure of the inputs to andoutputs from an instruction is shown in the following diagram.

Power FlowThe power flow is the execution condition that is used to control the executeand instructions when programs are executing normally. In a ladder program,power flow represents the status of the execution condition.

Input Instructions • Load instructions indicate a logical start and outputs the execution condi-tion.

• Intermediate instructions input the power flow as an execution conditionand output the power flow to an intermediate or output instruction.

Output Instructions Output instructions execute all functions, using the power flow as an executioncondition.

Instruction ConditionsInstruction conditions are special conditions related to overall instruction exe-cution that are output by the following instructions. Instruction conditions havea higher priority than power flow (P.F.) when it comes to deciding whether ornot to execute an instruction. An instruction may become not be executed ormay act differently depending on instruction conditions. Instruction conditions

Power flow (P.F., execution condition)

Instruction condition

Flags

Operands (sources)

Operands (destinations)

Memory

Instruction

*1: Input instructions only.

*2: Not output for all instructions.

Power flow (P.F., execution condition)*1

Instruction condition*2

Flag

Outputs the execution condition.

= D00000

#1215

Outputs the execution condition.

LD power flow

Input block Output block

Power flow for output instruction

21

Page 43: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

are reset (canceled) at the start of each task, i.e., they are reset when the taskchanges.

The following instructions are used in pairs to set and cancel certain instruc-tion conditions. These paired instructions must be in the same task.

FlagsIn this context, a flag is a bit that serves as an interface between instructions.

OperandsOperands specify preset instruction parameters (boxes in ladder diagrams)that are used to specify I/O memory area contents or constants. An instructioncan be executed entering an address or constant as the operands. Operandsare classified as source, destination, or number operands.

Instruction condition

Description Setting instruction

Canceling instruction

Interlocked An interlock turns OFF part of the program. Special conditions, such as turning OFF output bits, resetting timers, and holding counters are in effect.

IL(002) ILC(003)

BREAK(514) execution

Ends a FOR(512) - NEXT(513) loop during execution. (Prevents execu-tion of all instructions until to the NEXT(513) instruction.)

BREAK(514) NEXT(513)

Executes a JMP0(515) to JME0(516) jump. JMP0(515) JME0(516)

Block program execution

Executes a program block from BPRG(096) to BEND(801). BPRG(096) BEND(801)

Input flags Output flags

• Differentiation FlagsDifferentiation result flags. The status of these flags are input automatically to the instruction for all differentiated up/down output instructions and the DIFU(013)/DIFD(014) instructions.

• Carry (CY) FlagThe Carry Flag is used as an unspecified operand in data shift instructions and addition/subtraction instructions.

• Flags for Special InstructionsThese include teaching flags for FPD(269) instruc-tions and network communications enabled flags

• Differentiation FlagsDifferentiation result flags. The status of these flags are output automatically from the instruction for all differentiated up/down output instructions and the UP(521)/DOWN(522) instruction.

• Condition FlagsCondition Flags include the Always ON/OFF Flags, as well as flags that are updated by results of instruction execution. In user programs, these flags can be specified by labels, such as ER, CY, >, =, A1, A0, rather than by addresses.

• Flags for Special InstructionsThese include memory card instruction flags and MSG(046) execution completed flags.

Example

S (source)

D (destination)

N (number)

Operand types Operand symbol

Description

Source Specifies the address of the data to be read or a constant.

S Source Oper-and

Source operand other than control data (C)

C Control data Compound data in a source oper-and that has different meanings depending bit status.

Destination (Results)

Specifies the address where data will be written.

D (R) ---

Number Specifies a particular number used in the instruction, such as a jump number or subroutine number.

N ---

22

Page 44: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

Note Operands are also called the first operand, second operand, and so on, start-ing from the top of the instruction.

2-1-3 Instruction Location and Execution ConditionsThe following table shows the possible locations for instructions. Instructionsare grouped into those that do and those do not require execution conditions.See �������� *� �����'����� "�'����� Instructions for details on individualinstructions.

Note 1. There is another group of instruction that executes a series of mnemonicinstructions based on a single input. These are called block programminginstructions. Refer to the CS/CJ Series CPU Units Instruction ReferenceManual for details on these block programs.

2. If an instruction requiring an execution condition is connected directly tothe left bus bar without a logical start instruction, a program error will occurwhen checking the program on a Programming Device (CX-Programmeror Programming Console).

First operand

Second operand

Instruction type Possible location Execution condition

Diagram Examples

Input instructions Logical start (Load instructions)

Connected directly to the left bus bar or is at the begin-ning of an instruc-tion block.

Not required. LD, LD TST(350), LD > (and other symbol compari-son instructions)

Intermediate instructions

Between a logical start and the out-put instruction.

Required. AND, OR, AND TEST(350), AND > (and other ADD symbol compari-son instructions), UP(521), DOWN(522), NOT(520), etc.

Output instructions Connected directly to the right bus bar.

Required. Most instructions including OUT and MOV(021).

Not required. END(001), JME(005), FOR(512), ILC(003), etc.

23

Page 45: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

2-1-4 Addressing I/O Memory AreasBit Addresses

Example: The address of bit 03 in word 0001 in the CIO Area would be asshown below. This address is given as “CIO 000103” in this manual.

Word Addresses

Example: The address of bits 00 to 15 in word 0010 in the CIO Area would beas shown below. This address is given as “CIO 0010” in this manual.

DM and EM Areas addresses are given with “D” or “E” prefixes, as shownbelow for the address D00200.

@@@@ @@

Bit number (00 to 15)

Indicates the word address

0001 03

Bit number (03)

Word address: 0001

Word

0000

0001

0002

15 14 13 12 11 10 08 07 06 05 04 0309 02 01 00

Bit: CIO 000103

@@@@

Indicates the word address

0010

Word address

D00200

Word address

24

Page 46: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

Example: The address of word 2000 in the current bank of the Extended DataMemory would be as follows:

The address of word 2000 in the bank 1 of the Extended Data Memory wouldbe as follows:

2-1-5 Specifying Operands

E00200

Word address

E1_00200

Word addressBank number

Operand Description Notation Application examples

Specifying bit addresses

Specifying word addresses

MOV 0003 D00200

The word and bit numbers are specified directly to specify a bit (input input bits).

@@@@ @@

Bit number (00 to 15)

Indicates the word address.

Note The same addresses are used to access timer/counter Completion Flags and Present Values. There is also only one address for a Task Flag.

0001 02

Bit number (02)

Word number: 0001

000102

The word number is specified directly to speci-fy the 16-bit word.

@@@@

Indicates the word address.

0003

Word number: 0003

D00200

Word number: 00200

25

Page 47: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

Specifying indirect DM/EM addresses in Binary Mode

1) D00000 to D32767 are specified if @D(@@@@@) contains 0000 Hex to 7FFF Hex (00000 to 32767).

MOV #0001 @00300

2) E0 _00000 to E0 _32767 of bank 0 in Extended Data Memory (EM) are specified if @D(@@@@@) contains 8000 Hex to FFFF Hex (32768 to 65535).

3) E@_00000 to E@_32767 in the specified bank are specified if @E@_@@@@@ con-tains 0000 Hex to 7FFF Hex (00000 to 32767).

MOV #0001@E1_00200

4) E(@+1)_00000 to E(@+1)_32767 in the bank following the specified bank @ are specified if @E@_@@@@@ contains 8000 Hex to FFFF Hex (32768 to 65535).

Note When specifying an indirect address in Binary Mode, treat Data Memory (DM) and Extended Data Memory (EM) (banks 0 to C) as one series of addresses. If the contents of an address with the @ symbol exceeds 32767, the address will be assumed to be an address in the Extended Data Mem-ory (EM) continuing on from 00000 in bank No. 0.

Example: If the Data Memory (DM) word contains 32768, E1_00000 in bank 0 in Extended Data Mem-ory (EM) would be specified.

Note If the Extended Data Memory (EM) bank number is specified as “n” and the contents of the word exceeds 32767, the address will be assumed to be an address in the Extended Data Memory (EM) continuing on from 00000 in bank N+1.

Example: If bank 2 in Extended Data Memory (EM) contains 32768, E3_00000 in bank number 3 in Extended Data Memory (EM) would be specified.

Operand Description Notation Application examples

@D@@@@@

The offset from the beginning of the area is specified. The contents of the address will be treated as binary data (00000 to 32767) to specify the word address in Data Memory (DM) or Extended Data Memory (EM). Add the @ symbol at the front to specify an indirect ad-dress in Binary Mode.

Contents 00000 to 32767 (0000 Hex to 7FFF Hex in BIN)

D

@D00300

Contents0 1 0 0Binary: 256

Specifies D00256.

Add the @ symbol.

@D00300

Contents8 0 0 1

Binary: 32769

Specifies E0 00001.

@E1_00200

Contents0 1 0 1Binary: 257

Specifies E1_00257.

@E1_00200

Contents8 0 0 2

Binary: 32770

Specifies E2_00002.

26

Page 48: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

Specifying indirect DM/EM addresses in BCD Mode

MOV #0001 *D00200

Operand Description Notation Application examples

*D@@@@@

The offset from the beginning of the area is specified. The contents of the address will be treated as BCD data (0000 to 9999)to specify the word address in Data Memory (DM) or Ex-tended Data Memory (EM). Add an asterisk (*) at the front to specify an indirect address in BCD Mode.

Contents 00000 to 9999(BCD)

D

*D00200

Contents0 1 0 0

Specifies D0100

Add an asterisk (*).

Operand Description Notation Application examples

Specifying a register directly

An index register (IR) or a data register (DR) is speci-fied directly by specifying IR@ (@: 0 to 15) or DR@ (@: 0 to 15).

IR0

IR1

MOVR 000102 IR0Stores the PLC memory address for CIO 0010 in IR0.MOVR 0010 IR1 Stores the PLC memory address for CIO 0010 in IR1.

Specifying an indirect address using a reg-ister

Indirect address (No offset)

The bit or word with the PLC memory address contained in IR@ will be speci-fied.Specify ,IR@ to specify bits and words for instruction operands.

,IR0

,IR1

LD ,IR0 Loads the bit with the PLC memory address in IR0.MOV #0001 ,IR1 Stores #0001 in the word with the PLC memory in IR1.

Constant offset

The bit or word with the PLC memory address in IR@ + or – the constant is specified.

Specify +/– constant ,IR@. Constant off-sets range from –2048 to +2047 (deci-mal). The offset is converted to binary data when the instruction is executed.

+5,IR0

+31,IR1

LD +5 ,IR0 Loads the bit with the PLC memory address in IR0 + 5.

MOV #0001 +31 ,IR1 Stores #0001 in the word with the PLC memory address in IR1 + 31

DR offset The bit or word with the PLC memory address in IR@ + the contents of DR@ is specified.Specify DR@ ,IR@. DR (data register) contents are treated as signed-binary data. The contents of IR@ will be given a negative offset if the signed binary value is negative.

DR0 ,IR0

DR0 ,IR1

LD DR0 ,IR0 Loads the bit with the PLC memory address in IR0 + the value in DR0.MOV #0001 DR0 ,IR1 Stores #0001 in the word with the PLC memory address in IR1 + the value in DR0.

Auto Incre-ment

The contents of IR@ is incremented by +1 or +2 after referencing the value as an PLC memory address.+1: Specify ,IR@++2: Specify ,IR@ + +

,IR0 ++

,IR1 +

LD ,IR0 ++ Increments the contents of IR0 by 2 after the bit with the PLC memory address in IR0 is loaded.MOV #0001 ,IR1 + Increments the contents of IR1 by 1 after #0001 is stored in the word with the PLC memory address in IR1.

Auto Dec-rement

The contents of IR@ is decremented by –1 or –2 after referencing the value as an PLC memory address.

–1: Specify ,–IR@–2: Specify ,– –IR@

,– –IR0

,–IR1

LD ,– –IR0After decrementing the contents of IR0 by 2, the bit with the PLC memory address in IR0 is loaded.MOV #0001 ,–IR1After decrementing the contents of IR1 by 1, #0001 is stored in the word with the PLC memory address in IR1.

27

Page 49: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

Note Unsigned decimal notation if used for the CX-Programmer only.

Data Operand Data form Symbol Range Application example

16-bit con-stant

All binary data or a limited range of binary data

Unsigned binary # #0000 to #FFFF ---

Signed decimal ± –32768 to +32767

---

Unsigned deci-mal

& (See Note.) &0 to &65535 ---

All BCD data or a limited range of BCD data

BCD # #0000 to #9999 ---

32-bit con-stant

All binary data or a limited range of binary data

Unsigned binary # #00000000 to #FFFFFFFF

---

Signed binary + –2147483648 to +2147483647

---

Unsigned deci-mal

& (See Note.) &0 to &429467295

---

All BCD data or a limited range of BCD data

BCD # #00000000 to #99999999

---

Text string Description Symbol Examples ---

Text string data is stored in ASCII (one byte except for special charac-ters) in order from the leftmost to the rightmost byte and from the right-most (smallest) to the leftmost word.00 Hex (NUL code) is stored in the rightmost byte of the last word if there is an odd number of charac-ters.

0000 Hex (2 NUL codes) is stored in the leftmost and rightmost vacant bytes of the last word + 1 if there is an even number of characters.

---

ASCII characters that can be used in a text string includes alphanumeric characters, Katakana and sym-bols (except for special characters). The characters are shown in the following table.

'ABCDE'

'A' 'B''C' 'D''E' NUL

41 4243 4445 00

'ABCD'

'A' 'B''C' 'D'NUL NUL

41 4243 4400 00

MOV$ D00100 D00200

41 4243 4445 00

41 4243 4445 00

D00100D00101D00102

D00200D00201D00202

28

Page 50: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

ASCII Characters

Bits 0 to 3 Bits 4 to 7

Binary 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Hex 0 1 2 3 4 5 6 7 8 9 A B C D E F

0000 0 Space � � � � � � � �

0001 1 � � � � � � � �

0010 2 � � � � � � �

0011 3 � � � � � � � � �

0100 4 � � � � � � � � � �

0101 5 � � ! " # � � � �

0110 6 $ % & ' ( ) � � � �

0111 7 * + , - . / � � � �

1000 8 0 1 2 3 4 5 ! " #

1001 9 6 7 8 9 : ; $ % & '

1010 A < = > ? @ A ( ) * +

1011 B B C D E F G , - . /

1100 C H I J K L M 0 1 2 3

1101 D N O P Q R S 4 5 6 7

1110 E T U V W X ~ 8 9 : ;

1111 F Y Z [ \ ] < = > ?

29

Page 51: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

2-1-6 Data FormatsThe following table shows the data formats that the CS/CJ Series can handle.

Data type Data format Decimal 4-digit hexadecimal

Unsigned binary

0 to 65535

0000 to FFFF

Signed binary

–32768 to +32767

8000 to 7FFF

BCD (binary coded dec-imal)

0 to 9999 0000 to 9999

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20

23 22 21 20

3276816384 81924092 2048 1024 512 256 128 64 12 16 8 4 2 1

23 22 21 2023 22 21 2023 22 21 20

Binary

Decimal

Hex

Sign bit: 0: Positive, 1: Negative

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20

23 22 21 20

3276816384 81924092 2048 1024 512 256 128 64 12 16 8 4 2 1

23 22 21 2023 22 21 2023 22 21 20

Binary

Decimal

Hex

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

23 22 21 2023 22 21 2023 22 21 2023 22 21 20

0 to 9 0 to 9 0 to 9 0 to 9

Binary

Decimal

30

Page 52: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

Signed Binary Data

In signed binary data, the leftmost bit indicates the sign of binary 16-bit data.The value is expressed in 4-digit hexadecimal.

Positive Numbers: A value is positive or 0 if the leftmost bit is 0 (OFF). In 4-digit hexadecimal, this is expressed as 0000 to 7FFF Hex.

Negative Numbers: A value is negative if the leftmost bit is 1 (ON). In 4-digithexadecimal, this is expressed as 8000 to FFFF Hex. The absolute of thenegative value (decimal) is expressed as a two’s complement.

Example: To treat –19 in decimal as signed binary, 0013 Hex (the absolutevalue of 19) is subtracted from FFFF Hex and then 0001 Hex is added to yieldFFED Hex.

Single-pre-cision floating-point deci-mal

--- ---

Double-precision floating-point deci-mal

--- ---

Data type Data format Decimal 4-digit hexadecimal

31 30 29 23 22 21 20 19 18 17 3 2 1 0

Sign of mantissa

Exponent Mantissa

Value = (−1)Sign x 1.[Mantissa] x 2Exponent

Binary

Sign (bit 31)

Mantissa

Exponent

1: negative or 0: positive

The 23 bits from bit 00 to bit 22 contain the mantissa, i.e., the portion below the decimal point in 1.@@@....., in binary.

The 8 bits from bit 23 to bit 30 contain the exponent. The exponent is expressed in binary as 127 plus n in 2n.

Note This format conforms to IEEE754 standards for single-precision floating-point data and is used only with instructions that convert or calculate floating-point data. It can be used to set or monitor from the I/O memory Edit and Monitor Screen on the CX-Programmer (not supported by the Programming Consoles). As such, users do not need to know this format although they do need to know that the formatting takes up two words.

63 62 61 52 51 50 49 48 47 46 3 2 1 0

Sign of mantissa

Exponent Mantissa

Value = (−1)Sign x 1.[Mantissa] x 2Exponent

Binary

Sign (bit 63)

Mantissa

Exponent

1: negative or 0: positive

The 52 bits from bit 00 to bit 51 contain the mantissa, i.e., the portion below the decimal point in 1.@@@....., in binary.

The 11 bits from bit 52 to bit 62 contain the exponent The exponent is expressed in binary as 1023 plus n in 2n.

Note This format conforms to IEEE754 standards for double-precision floating-point data and is used only with instructions that convert or calculate floating-point data. It can be used to set or monitor from the I/O memory Edit and Monitor Screen on the CX-Programmer (not supported by the Programming Consoles). As such, users do not need to know this format although they do need to know that the formatting takes up four words..

31

Page 53: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

Complements

Generally the complement of base x refers to a number produced when alldigits of a given number are subtracted from x – 1 and then 1 is added to therightmost digit. (Example: The ten’s complement of 7556 is 9999 – 7556 + 1 =2444.) A complement is used to express a subtraction and other functions asan addition.

Example: With 8954 – 7556 = 1398, 8954 + (the ten’s complement of 7556) =8954 + 2444 = 11398. If we ignore the leftmost bit, we get a subtraction resultof 1398.

Two’s Complements

A two’s complement is a base-two complement. Here, we subtract all digitsfrom 1 (2 – 1 = 1) and add one.

Example: The two’s complement of binary number 1101 is 1111 (F Hex) –1101 (D Hex) + 1 (1 Hex) = 0011 (3 Hex). The following shows this valueexpressed in 4-digit hexadecimal.

The two’s complement b Hex of a Hex is FFFF Hex – a Hex + 0001 Hex =b Hex. To determine the two’s complement b Hex of “a Hex,” use b Hex =10000 Hex – a Hex.

Example: to determine the two’s complement of 3039 Hex, use 10000 Hex –3039 Hex = CFC7 Hex.

Similarly use a Hex = 10000 Hex – b Hex to determine the value a Hex fromthe two’s complement b Hex.

Example: To determine the real value from the two’s complement CFC7 Hexuse 10000 Hex – CFC7 Hex = 3039 Hex.

The CS/CJ Series has two instructions: NEG(160)(2’S COMPLEMENT) andNEGL(161) (DOUBLE 2’S COMPLEMENT) that can be used to determine thetwo’s complement from the true number or to determine the true number fromthe two’s complement.

Signed BCD Data

Signed BCD data is a special data format that is used to express negativenumbers in BCD. Although this format is found in applications, it is not strictlydefined and depends on the specific application. The CS/CJ Series supportsthe following instructions to convert the data formats: SIGNED BCD-TO-BINARY: BINS(470), DOUBLE SIGNED BCD-TO-BINARY: BISL(472),

F F F F

1111 1111 1111 1111

0 0 1 3

0000 0000 0001 0011

True number

−)

F F E C

1111 1111 1110 1100

0 0 0 1

0000 0000 0000 0001

Two's complement

+)

F F E D

1111 1111 1110 1101

32

Page 54: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

SIGNED BINARY-TO-BCD: BCDS(471), and DOUBLE SIGNED BINARY-TO-BCD: BDSL(473). Refer to the CS/CJ-series Programmable Controllers Pro-gramming Manual (W340) for more information.

Decimal Hexadecimal Binary BCD

0 0 0000 0000

1 1 0001 0001

2 2 0010 0010

3 3 0011 0011

4 4 0100 0100

5 5 0101 0101

6 6 0110 0110

7 7 0111 0111

8 8 1000 1000

9 9 1001 1001

10 A 1010 0001 0000

11 B 1011 0001 0001

12 C 1100 0001 0010

13 D 1101 0001 0011

14 E 1110 0001 0100

15 F 1111 0001 0101

16 10 10000 0001 0110

Decimal Unsigned binary (4-digit hexadecimal)

Signed binary (4-digit hexadecimal)

+65,535 FFFF Cannot be expressed.

+65534 FFFE

. . .

. . .

+32,769 8001

+32,768 8000

+32,767 7FFF 7FFF

+32,766 7FFE 7FFE

. . .

. . .

+2 0002 0002

+1 0001 0001

0 0000 0000

–1 Cannot be expressed. FFFF

–2 FFFE

. . .

–32,767 8001

–32,768 8000

33

Page 55: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

2-1-7 Instruction VariationsThe following variations are available for instructions to differentiate executingconditions and to refresh data when the instruction is executed (immediaterefresh).

2-1-8 Execution ConditionsThe CS/CJ Series offers the following types of basic and special instructions.

• Non-differentiated instructions executed every cycle

• Differentiated instructions executed only once

Non-differentiated InstructionsOutput instructions that required execution conditions are executed onceevery cycle while the execution condition is valid (ON or OFF).

Input instructions that create logical starts and intermediate instructions readbit status, make comparisons, test bits, or perform other types of processingevery cycle. If the results are ON, power flow is output (i.e., the execution con-dition is turned ON).

Input-differentiated Instructions

Upwardly Differentiated Instructions (Instruction Preceded by @)• Output Instructions: The instruction is executed only during the cycle in

which the execution condition turned ON (OFF � ON) and are not exe-cuted in the following cycles.

Variation Symbol Description

Differentiation ON @ Instruction that differentiates when the execu-tion condition turns ON.

OFF % Instruction that differentiates when the execu-tion condition turns OFF.

Immediate refreshing ! Refreshes data in the I/O area specified by the operands or the Special I/O Unit words when the instruction is executed.

Instruction (mnemonic)

Differentiation variation

Immediate refresh variation

@

Non-differentiated output instruction

Example

Non-differentiated input instructionExample

(@) Upwardly-differentiated instruction

Example

Executes the MOV instruction once when CIO 000102 goes OFF → ON.

@MOV

34

Page 56: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

• Input Instructions (Logical Starts and Intermediate Instructions): Theinstruction reads bit status, makes comparisons, tests bits, or performother types of processing every cycle and will output an ON executioncondition (power flow) when results switch from OFF to ON. The execu-tion condition will turn OFF the next cycle.

• Input Instructions (Logical Starts and Intermediate Instructions): Theinstruction reads bit status, makes comparisons, tests bits, or performother types of processing every cycle and will output an OFF executioncondition (power flow stops) when results switch from OFF to ON. Theexecution condition will turn ON the next cycle.

Downwardly Differentiated Instructions (Instruction preceded by %)• Output instructions: The instruction is executed only during the cycle in

which the execution condition turned OFF (ON � OFF) and is not exe-cuted in the following cycles.

• Input Instructions (Logical Starts and Intermediate Instructions): Theinstruction reads bit status, makes comparisons, tests bits, or performother types of processing every cycle and will output the execution condi-tion (power flow) when results switch from ON to OFF. The execution con-dition will turn OFF the next cycle.

Note a) Unlike the upwardly differentiated instructions, downward differen-tiation variation (%) can only be added to LD, AND, OR, SET andRSET instructions. To execute downward differentiation with otherinstructions, combined the instructions with a DIFD or a DOWN in-struction.

b) Upwardly and downwardly differentiated instructions can be re-placed by combinations of DIFFERENTIATE UP (DIFU) and DIF-

Upwardly differentiated input instructionExample

ON execution condition created for one cycle only when CIO 000103 goes from OFF to ON.

Upwardly differentiated input instruction

Example

OFF execution condition created for one cycle only when CIO 00103 goes from OFF to ON.

000103

(%) Downwardly dif-ferentiated instruction

Example

Executes the SET instruction once when CIO 000102 goes ON to OFF. .

%SET

Downwardly differentiated instructionExample

Will turn ON when the CIO 000103 switches from ON → OFF and will turn OFF after one cycle.

35

Page 57: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

FERENTIATE DOWN (DIFD) instructions, power flowdifferentiation UP and DOWN instructions as well as upwardly/downwardly differentiated LOAD instructions (@LD/%LD).

• Input Instructions (Logical Starts and Intermediate Instructions): Theinstruction reads bit status, makes comparisons, tests bits, or performother types of processing every cycle and will output an OFF executioncondition (power flow stops) when results switch from ON to OFF. Theexecution condition will turn ON the next cycle.

2-1-9 I/O Instruction TimingThe following timing chart shows different operating timing for individualinstructions using a program comprised of only LD and OUT instructions.

Differentiated Instructions• A differentiated instruction has an internal flag that tells whether the previ-

ous value is ON or OFF. At the start of operation, the previous value flagsfor upwardly differentiated instruction (DIFU and @ instructions) are set toON and the previous value flags for downwardly differentiated instructions

Downwardly differentiated input instructionExample

OFF execution condition created for one cycle only when CIO 00103 goes from ON to OFF.

000103

Input read

CPU pro-cessing

Instruction executed.

I/O refresh

Input read

Input read

Input read

Input read

Input read

Input read

Input read

Input read

Input read

Input read

Input read

A

A

A

A

A

A

A

A

A

B1

B2

B3

B4

B5

B6

B7

B8

B9

B10

A

A

B11

B12

!

!

!

!

A

!

!

!

!

!

!

36

Page 58: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

(DIFD and % instructions) are set to OFF. This prevents differentiationoutputs from being output unexpectedly at the start of operation.

• An upwardly differentiated instruction (DIFU or @ instruction) will outputON only when the execution condition is ON and flag for the previousvalue is OFF.

• Use in Interlocks (IL - ILC Instructions)In the following example, the previous value flag for the differentiatedinstruction maintains the previous interlocked value and will not output adifferentiated output at point A because the value will not be updatedwhile the interlock is in effect.

• Use in Jumps (JMP - JME Instructions): Just as for interlocks, the pre-vious value flag for a differentiated instruction is not changed when theinstruction is jumped, i.e., the previous value is maintained. Upwardly anddownwardly differentiate instructions will output the execution conditiononly when the input status has changed from the status indicated by theprevious value flag.

Note a) Do not use the Always ON Flag or A20011 (First Cycle Flag) asthe input bit for an upwardly differentiated instruction. The instruc-tion will never be executed.

b) Do not use Always OFF Flag as the input bit for a downwardly dif-ferentiated instruction. The instruction will never be executed.

IL is executing

IL is executing

(002) IL

(013) DIFU 001000

(003) ILC

000000

000001

37

Page 59: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

2-1-10 Refresh TimingThe following methods are used to refresh external I/O.

• Cyclic refresh

• Immediate refresh (! specified instruction, IORF instruction)

Refer to the section on CPU Unit operation in the CS/CJ Series OperationManual for details on the I/O refresh.

Cyclic RefreshEvery program allocated to a ready cyclic task or a task where interrupt condi-tion has been met will execute starting from the beginning program addressand will run until the END(001) instruction. After all ready cyclic tasks or taskswhere interrupt condition have been met have executed, cyclic refresh willrefresh all I/O points at the same time.

Note Programs can be executed in multiple tasks. I/O will be refreshed after thefinal END(001) instruction in the program allocated to the highest number(among all ready cyclic tasks) and will not be refreshed after the END(001)instruction in programs allocated to other cyclic tasks.

Execute an IORF instruction for all required words prior to the END(001)instruction if I/O refreshing is required in other tasks.

Immediate Refresh

Instructions with Refresh Variation (!)

I/O will be refreshed as shown below when an instruction is executing if anreal I/O bit is specified as an operand.

CIO 0001

15 0

CIO 0002

15 0

CIO 0003

15 0

CIO 0004

15 0

Top

I/O refresh

Top

Cyclic refresh (batch processing)

All real data

16-bit units

16-bit units

! LD 000101

! OUT 000209

END

! MOV 0003

END

Units Refreshed data

C200H Basic I/O Units (CS Series only) I/O will be refreshed for the 16 bits con-taining the bit.CJ Basic I/O Units

38

Page 60: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

• When a word operand is specified for an instruction, I/O will be refreshedfor the 16 bits that are specified.

• Inputs will be refreshed for input or source operand just before an instruc-tion is executed.

• Outputs will be refreshed for outputs or destination (D) operands just afteran instruction is execute.

Add an exclamation mark (!) (immediate refresh option) in front of the instruc-tion.

Units Refreshed for I/O REFRESH Instruction

Note C200H I/O Units cannot be mounted to CJ-series PLCs.

Location CPU or Expansion I/O Rack (but not SYSMAC BUS Slave Racks)

Units Basic I/O Units CS/CJ-series Basic I/O Units

Refreshed

C200H Basic I/O Unit (See note.)

Refreshed

C200H Group-2 High-den-sity I/O Units (See note.)

Not refreshed

Special I/O Units Not refreshed

Top . . .!LD 000101 . . .!OUT 000209 . . .END

Top . . .!MOV 0003

0004 . . .END

Input

Output

S

D

CIO 0001

CIO 0002

15 0

15 0

CIO 0003

CIO 0004

15 0

15 0

All real I/O

Immediate refresh

16-bit units

I/O refresh

Cyclic refresh (batch processing)

16-bit units

I/O refresh

39

Page 61: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

Units Refreshed for IORF(097) or DLNK(226)

An I/O REFRESH (IORF(097)) instruction that refreshes real I/O data in aspecified word range is available as a special instruction. All or just a specifiedrange of real I/O data can be refreshed during a cycle with this instruction.IORF can also be used to refresh words allocated to Special I/O Units.

Another instruction, CPU BUS UNIT REFRESH (DLNK(226)) is available torefresh the words allocated to CPU Bus Units in the CIO and DM Areas, aswell as to perform special refreshing for the Unit, such as refreshing datalinks. DLNK(226) is supported only by CS1-H, CJ1-H, or CJ1M CPU Units.

Units Refreshed for IORF(097)

Units Refreshed for DLNK(226)

Location CPU or Expansion I/O Rack (but not SYSMAC BUS Slave Racks)

Units Basic I/O Units CS/CJ-series Basic I/O Units Refreshed

C200H Basic I/O Units Refreshed

C200H Group-2 High-den-sity I/O Units

Refreshed

Special I/O Units Refreshed

CPU Bus Units Not refreshed

Location CPU or Expansion I/O Rack (but not SYSMAC BUS Slave Racks)

Units Basic I/O Units Not refreshed

Special I/O Units Not refreshed

CPU Bus UnitsWords allocated to the Unit in CIO AreaWords allocated to the Unit in DM Area

Special refreshing for the Unit (data links for Controller Link Units and SYSMAC Link Units or remote I/O for DeviceNet Units)

Refreshed

Real I/O for a specified word range

IORF

0002

0009

Partial or full refresh

DLNK

#F

Words allocated in CIO Area and DM Area and any special refreshing

CPU Bus Unit with unit number F.

40

Page 62: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

2-1-11 Program CapacityThe maximum program capacities of the CS/CJ-series CPU Units for all userprograms (i.e., the total capacity of all tasks) are given in the following table.All capacities are given as the maximum number of steps. The capacitiesmust not be exceeded, and writing the program will be disabled if an attemptis made to exceed the capacity.

Each instruction is from 1 to 7 steps long. Refer to 10-5 Instruction ExecutionTimes and Number of Steps in the Operation Manual for the specific numberof steps in each instruction. (The length of each instruction will increase by 1step if a double-length operand is used.)

Note Memory capacity for CS/CJ-series PLCs is measured in steps, whereasmemory capacity for previous OMRON PLCs, such as the C200HX/HG/HEand CV-series PLCs, was measured in words. Refer to the information at theend of10-5 Instruction Execution Times and Number of Steps in the OperationManual for your PLC for guidelines on converting program capacities fromprevious OMRON PLCs.

2-1-12 Basic Ladder Programming ConceptsInstructions are executed in the order listed in memory (mnemonic order). Thebasic programming concepts as well as the execution order must be correct.

Series CPU Unit Max. program capacity I/O points

CS Series CS1H-CPU67H/CPU67-E 250K steps 5,120

CS1H-CPU66H/CPU66-E 120K steps

CS1H-CPU65H/CPU65-E 60K steps

CS1H-CPU64H/CPU64-E 30K steps

CS1H-CPU63H/CPU63-E 20K steps

CS1G-CPU45H/CPU45-E 60K steps

CS1G-CPU44H/CPU44-E 30K steps 1,280

CS1G-CPU43H/CPU43-E 20K steps 960

CS1G-CPU42H/CPU42-E 10K steps

CJ Series CJ1H-CPU66H 120K steps 2,560

CJ1H-CPU65H 60K steps

CJ1G-CPU45H/CPU45 60K steps 1280

CJ1G-CPU44H/CPU44 30K steps

CJ1G-CPU43H 20K steps 960

CJ1G-CPU42H 10K steps

CJ1M-CPU23/CPU13 20K steps 640

CJ1M-CPU22/CPU12 10K steps 320

41

Page 63: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

General Structure of the Ladder Diagram

A ladder diagram consists of left and right bus bars, connecting lines, inputbits, output bits, and special instructions. A program consists of one or moreprogram runs. A program rung is a unit that can be partitioned when the bus issplit horizontally. In mnemonic form, a rung is all instructions from a LD/LDNOT instruction to the output instruction just before the next LD/LD NOTinstructions. A program rung consists of instruction blocks that begin with anLD/LD NOT instruction indicating a logical start.

Mnemonics A mnemonic program is a series of ladder diagram instructions given in theirmnemonic form. It has program addresses, and one program address isequivalent to one instruction. Program addresses contain six digits startingfrom 000000.

Left bus bar

Input bitConnecting line

Special instruction

Output bit

Right bus bar

Rungs Instruction blocks

Program Address Instruction (Mnemonic) Operand

000000 LD 000000

000001 AND 000001

000002 LD 000002

000003 AND NOT 000003

000004 LD NOT 000100

000005 AND 000101

000006 OR LD

000007 AND LD

000008 OUT 000200

000009 END

Example

42

Page 64: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

Basic Ladder Program Concepts

1,2,3... 1. The power flow in a program is from left to right. Power flows in rungs “a”and “b” as though diodes were inserted. Rungs must be changed to pro-duce operation that would be the same as ordinary circuits without a di-odes. Instructions in a ladder diagram are executed in order from the leftbus bar to the right bus bar and from top to bottom. This is the same orderas the instructions are listed in mnemonic form.

Order of execution Mnemonic(1)LD A (9) AND E(2)LD C (10)OUT R2(3)OUT TR0 (11)LD A(4)AND D (12)AND B(5)OR LD (13)OUT R1(6)AND B (14)LD C(7)OUT R1 (15)AND D(8)LD TR0 (16)OUT R2

2. There is no limit to the number of I/O bits, work bits, timers, and other inputbits that can be used. Rungs, however, should be kept as clear and simpleas possible even if it means using more input bits to make them easier tounderstand and maintain.

3. There is no limit to the number of input bits that can be connected in seriesor in parallel in series or parallel rungs.

4. Two or more output bits can be connected in parallel.

Signal flowA

C

A

C

D

E

B

D

B

R1

R2

R1

R2

(1)

(2) (3) (4)

(5)(6) (7)

(8) (9)(10)

(13)

(16)

(11) (12)

(14) (15)

a

b

TIM 0000 #0100

000200

000000

000005

43

Page 65: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

5. Output bits can also be used as input bits.

Restrictions

1,2,3... 1.A ladder program must be closed so that signals (power flow) will flow from the left bus bar to the right bus bar. A rung error will occur if the pro-

gram is not closed (but the program can be executed).

2. Output bits, timers, counters and other output instructions cannot be con-nected directly to the left bus bar. If one is connected directly to the left busbar, a rung error will occur during the programming check by a Program-ming Device. (The program can be executed, but the OUT and MOV(021)will not be executed.)

Insert an unused input N.C. work bit or an ON Flag (Always ON Flag) as adummy if the input must be kept ON at all times.

000200

000200

MOV

Input condition must be provided.

Unused work bit

ON (Always ON Flag)MOV

44

Page 66: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

3. An input bit must always be inserted before and never after an output in-struction like an output bit. If it is inserted after an output instruction, thena location error will occur during a Programming Device program check.

4. The same output bit cannot be programmed in an output instruction morethan once. If it is, a duplicate output bit error will occur and output instruc-tion programmed first will not operate. The results of the second rung willbe output.

5. An input bit cannot be used in an OUTPUT instruction (OUT).

6. The total number –1 of LD/LD NOT instructions minus one indicating logi-cal starts must match the total number of AND LD and OR LD instructionsconnecting the instruction blocks. If they do not match, then a rung errorwill occur during a Programming Device program check.

7. An END(001) instruction must be inserted at the end of the program ineach task.

• If a program without an END(001) instruction starts running, a programerror indicating No End Instruction will occur, the ERR/ALM LED on thefront of the CPU Unit will light, and the program will not be executed.

• If a program has more than one END(001) instruction, then the programwill only run until the first END(001) instruction.

000201

000000

000003

000004

000001

000201

000000

000000

(Output bit)

(Output bit)

000000

(Input bit)

Example

LD A 3OR BLD COR DAND LD 2LD EOR FAND LDOUT G

A

B

C

D

E

F

G

45

Page 67: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

• Debugging programs will run much smoother if an END(001) instruction isinserted at various break points between sequence rungs and theEND(001) instruction in the middle is deleted after the program ischecked.

2-1-13 Inputting MnemonicsA logical start is accomplished using an LD/LD NOT instruction. The areafrom the logical start until the instruction just before the next LD/LD NOTinstruction is considered a single instruction block.

Create a single rung consisting of two instruction blocks using an AND LDinstruction to AND the blocks or by using an OR LD instruction to OR theblocks. The following example shows a complex rung that will be used toexplain the procedure for inputting mnemonics (rung summary and order).

END

000000000001

END

000000000001

END

000000000001

END

000000000001

END

000000000001

END

END

000000000001

END

Task (program) Task (program)

Task (program) Task (program)

Task (program) Task (program)

Will not be executed.

Will not be executed.

46

Page 68: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

1,2,3... 1. First separate the rung into small blocks (a) to (f).

000000

000001

(a)

001000

001001

(b)

(1)

000500

(c)

(2)

000002

(d) 000003

(3)

000004

000005

(e)

000006

(f)

(4)

(5)

000003

000000

000001

000002

001000

000500

000004

000005

001001

000500

000006

47

Page 69: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

• Program the blocks from top to bottom and then from left to right.

000000

(a) 000001

LD 000000AND 000001

001000

(b) 001001

LD 001000AND 001001

OR LD

000500

(c)

OR 000500

000002

(a)

AND 000002AND NOT 000003

000003

(c)

000006

(f)

OR 000006

000004

000005

LD 000004AND 000005

AND LD

000500

OUT 000500

(1)

(2)

(3)

(4)

(5)

Address Instruction Operand

000200 LD 000000 000201 AND 000001

000202 LD 001000 000203 AND 001001 000204 OR LD --- 000205 OR 000500 000206 AND 000002 000207 AND NOT 000003 000208 LD 000004

000209 AND 000005

000210 OR 000006 000211 AND LD ---

000212 OUT 000500

(a)

(b)

(c)

(d)

(e)

(f)

(1) (2)

(3)

(4)

(5)

48

Page 70: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

2-1-14 Program Examples1,2,3... 1. Parallel/Series Rungs

2. Series/Parallel Rungs

A block B block

Program the parallel instruction in the A block and then the B block.

000003

000000

000001

000002

000200

Instruction Operands

LDANDORANDAND NOT 000003OUT

000200

a b

a

b

000000000001000200000002

000200

A block B block

• Separate the rung into A and B blocks, and program each individually.

• Connect A and B blocks with an AND LD.

A block B block

• Program B1 block and then program B2 block.

• Connect B1 and B2 blocks with an OR LD and then A and B blocks with an AND LD.

• Program A block.

B1 block

B2 block

LD 000000AND NOT 000001LD 000002AND 000003OR 000201

OR 000004AND LD ---OUT 000201

000001

000000

000003

000002

000201

Instruction Operands000201

a b

a

b000004

LD NOT 000000AND 000001LD 000002AND NOT 000003LD NOT 000004

AND 000202OR LD ---AND LD ---

OUT 000202

000000

000001

000002

000202

Instruction Operands

000202

a b

a000003

000004

b2

b1

b1

b2

b1 + b2

a • b

49

Page 71: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

3. Example of series connection in a series rung

A block B block

Program A1 block, program A2 block, and and then connect A1 and A2blocks with an OR LD.

Program B1 and B2 the same way.

Repeat for as many A to n blocks as are present.

Connect A block and B block with an AND LD.

B1 block

B2 block

A1 block

A2 block

A block B block C block n block

LD

AND NOT 000001LD NOT 000002ANDOR LD ---LD

ANDLDAND

OR LD ---

AND LD ---

OUT

000001

000000

000004

000207

Instruction Operands

000203

a b

a1

a1 b1

a2

b2

b1 + b2

a b

000203

000002

000005

000206

a2 b2

b1

a1 + a2

000500

a b c n

000000

000003

000004

000005000006000007

000203

50

Page 72: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

4. Complex Rungs

The diagram above is based on the diagram below.

A simpler program can be written by rewriting this as shown below.

The above rung can be rewritten as follows:

Block

Block

Block

Block

Block

LD 000000

LD 000001LD 000002AND 000003OR LD ---AND LD ---

LD 000004AND 000005OR LD ---LD 000006AND 000007OR LD ---OUT 000204

Instruction Operand

Z

000000

000003

000001

000002

000204

000005

000004

000007

000006

000000

000003

000001

000002

Z000000

Z

000003

000002

000000

000001

000000

000003

000002

000204

000005

b

000001

a d

000004

000006

000007

e

c

LD 000000

LD NOT 000001AND 000002LD 000003

AND NOT 000004LD 000005LD 000006AND NOT 000007OR LD ---

AND LD ---OR LD ---AND LD ---OUT 000205

Instruction Operand

b

a

c

d

e

d + e(d + e) • c

(d + e) • c + b

((d + e) • c + b) • a

000000

000003

000002

000205

000003

000001

000000

000005

000004

000006

000004

000007

000000

51

Page 73: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

000000 H00000

000003

000001

H00000

000206

000002 T0001

TIM 0001 #0100 10 sec

LD OR OR OR AND NOT 000003OUT

TIM 0100

AND

OUT

Instruction OperandReset input

Error input

Error display

If a holding bit is in use, the ON/OFF status would be held in memory even if the power is turned OFF, and the error signal would still be in effect when power is turned back ON.

000000000001000002

H00000

H00000

0001

T0001000206

52

Page 74: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic Concepts Section 2-1

5. Rungs Requiring Caution or Rewriting

OR InstructionsWith an OR/OR NOT instruction, an OR is taken with current execution condition, i.e., the results of ladder logic up to the OR/OR NOT instruction.In the example at the left, an OR LD instruction will be needed if the rungs are programmed as shown without modification. A few steps can be eliminated by rewriting the rungs as shown.

Output Instruction BranchesA TR bit will be needed if there is a branch before an AND/AND NOT instruction. The TR bit will not be needed if the branch comes a point that is connected directly to the first output instruction. After the first output instruction, an AND/AND NOT instruction and the second output instruction can be connected without modification.In the example at the left, a temporary storage bit TR0 output instruction and load (LD) instruction are needed at a branch point if the rungs are programmed without modification. A few steps can be eliminated by rewriting the rungs. See the following pages for more information on TR bits.

In the example below, use TR0 to store the execution condition at the branch point or rewrite the rungs.

000000

000001

000207

000207

000001

000000

000207

000207

000000

000001

000208

000000

000209

000209

TR0

000208

000001

000000

000003

000211

000001

000211

TR0

000212

000001

000002

000212

000004

000002

000003

000000

000004

000001

000000

001000

000000

000000

000210

000210

001000

001000

001000

Mnemonic Execution OrderCIO 000210 shown below will never turn ON because the PLC executes instructions in mnemonic order. By rewriting the rung, CIO 000201 can be turned ON for one cycle.

53

Page 75: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Precautions Section 2-2

2-2 Precautions

2-2-1 Condition FlagsUsing Condition Flags Conditions flags are shared by all instructions, and will change during a cycle

depending on results of executing individual instructions. Therefore, be sureto use Condition Flags on a branched output with the same execution condi-tion immediately after an instruction to reflect the results of instruction execu-tion. Never connect a Condition Flag directly to the bus bar because this willcause it to reflect execution results for other instructions.

Example: Using Instruction A Execution Results

The same execution condition (a) is used for instructions A and B to executeinstruction B based on the execution results of instruction A. In this case,instruction B will be executed according to the Condition Flag only if instruc-tion A is executed.

Rewrite the rungs on the left. They cannot be executed.

The arrows show signal (power flow) flow when the rung consists of control relays.

A

C

B

D

R1

R2

E

A

C

B

D

E

A

C

E

R1

R2

Correct Use

Instruction A

Condition FlagExample: =

Reflects instruction A execution results.

Instruction B

LD aInstruction A AND =Instruction B

Instruction Operand

Mnemonic

Incorrect Use

Preceding r ung

Condition FlagExample: =

Reflects the execution results ofthe preceding rung if instructionA is not e xecuted.

Instruction B

Instruction A

54

Page 76: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Precautions Section 2-2

If the Condition Flag is connected directly to the left bus bar, instruction B willbe executed based on the execution results of a previous rung if instruction Ais not executed.

Note Condition Flags are used by all instruction within a single program (task) butthey are cleared when the task switches. Therefore execution results in thepreceding task will not be reflected later tasks. Since conditions flags areshared by all instructions, make absolutely sure that they do not interfere witheach other within a single ladder-diagram program. The following is an exam-ple.

Using Execution Results in N.C. and N.C. Inputs

The Condition Flags will pick up instruction B execution results as shown inthe example below even though the N.C. and N.O. input bits are executedfrom the same output branch.

Make sure each of the results is picked up once by an OUTPUT instruction toensure that execution results for instruction B will be not be picked up.

Condition FlagExample: =

Reflects instruction A execution results.

Condition FlagExample: =

Reflects instruction B execution results.

Instruction B

Instruction A

Incorrect Use

Condition FlagExample: =

Reflects instruction A execution results.

Instruction B

Instruction A

Reflects instruction A execution results.Condition Flag

Example: =

Correct Use

55

Page 77: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Precautions Section 2-2

Example: The following example will move #0200 to D00200 if D00100 con-tains #0010 and move #0300 to D00300 if D00100 does not contain #0010.

The Equals Flag will turn ON if D00100 in the rung above contains #0010.#0200 will be moved to D00200 for instruction (1), but then the Equals Flagwill be turned OFF because the #0200 source data is not 0000 Hex. The MOVinstruction at (2) will then be executed and #0300 will be moved to D0300. Arung will therefore have to be inserted as shown below to prevent executionresults for the first MOVE instruction from being picked up.

Reflects CMP execution results.

Reflects MOV execution results.

(1)

(2)

Incorrect Use

Reflects CMP execution results.

Correct Use

56

Page 78: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Precautions Section 2-2

Using Execution Results from Differentiated Instructions

With differentiated instructions, execution results for instructions are reflectedin Condition Flags only when execution condition is met, and results for a pre-vious rung (rather than execution results for the differentiated instruction) willbe reflected in Condition Flags in the next cycle. You must therefore be awareof what Condition Flags will do in the next cycle if execution results for differ-entiated instructions to be used.

In the following for example, instructions A and B will execute only if executioncondition C is met, but the following problem will occur when instruction Bpicks up execution results from instruction A. If execution condition C remainsON in the next cycle after instruction A was executed, then instruction B willunexpectedly execute (by the execution condition) when the Condition Flaggoes from OFF to ON because of results reflected from a previous rung.

In this case then, instructions A and B are not differentiated instructions, theDIFU (of DIFD) instruction is used instead as shown below and instructions Aand B are both upwardly (or downwardly) differentiated and executed for onecycle only.

Note The CS1-H, CJ1-H, or CJ1M CPU Units support instructions to save and loadthe Condition Flag status (CCS(282) and CCL(283)). These can be used toaccess the status of the Condition Flags at other locations in a task or in a dif-ferent task.

Main Conditions Turning ON Condition Flags

Error Flag

The ER Flag will turn ON under special conditions, such as when operanddata for an instruction is incorrect. The instruction will not be executed whenthe ER Flag turns ON.

Previous rung

Instruction A

Instruction B

Condition FlagExample: =

Reflects execution results for instruction A when execution condition is met.Reflects execution results for a previous rung in the next cycle.

Incorrect Use

Previous rung

Instruction A

Instruction B

Condition FlagExample: =

Reflects instruction A execution results.

Correct Use

57

Page 79: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Precautions Section 2-2

When the ER Flag is ON, the status of other Condition Flags, such as the <,>, OF, and UF Flags, will not change and status of the = and N Flags will varyfrom instruction to instruction.

Refer to the descriptions of individual instructions in the CS/CJ-series Pro-grammable Controllers Programming Manual (W340) for the conditions thatwill cause the ER Flag to turn ON. Caution is required because some instruc-tions will turn OFF the ER Flag regardless of conditions.

Note The PLC Setup Settings for when an instruction error occurs determineswhether operation will stop when the ER Flag turns ON. In the default setting,operation will continue when the ER Flag turns ON. If Stop Operation is spec-ified when the ER Flag turns ON and operation stops (treated as a programerror), the program address at the point where operation stopped will bestored at in A298 to A299. At the same time, A29508 will turn ON.

Equals Flag

The Equals Flag is a temporary flag for all instructions except when compari-son results are equal (=). It is set automatically by the system, and it willchange. The Equals Flag can be turned OFF (ON) by an instruction after aprevious instruction has turned it ON (OFF). The Equals Flag will turn ON, forexample, when MOV or another move instruction moves 0000 Hex as sourcedata and will be OFF at all other times. Even if an instruction turns the EqualsFlag ON, the move instruction will execute immediately and the Equals Flagwill turn ON or OFF depending on whether the source data for the moveinstruction is 0000 Hex or not.

Carry Flag

The CY Flag is used in shift instructions, addition and subtraction instructionswith carry input, addition and subtraction instruction borrows and carries, aswell as with Special I/O Unit instructions, PID instructions, and FPD instruc-tions. Note the following precautions.

Note 1. The CY Flag can remain ON (OFF) because of execution results for a cer-tain instruction and then be used in other instruction (an addition and sub-traction instruction with carry or a shift instruction). Be sure to clear theCarry Flag when necessary.

2. The CY Flag can be turned ON (OFF) by the execution results for a certaininstruction and be turned OFF (ON) by another instruction. Be sure theproper results are reflected in the Carry Flag when using it.

Less Than and Greater Than Flags

The < and > Flags are used in comparison instruction, as well as in the LMT,BAND, ZONE, PID and other instructions.The < or > Flag can be turned OFF (ON) by another instruction even if it isturned ON (OFF) by execution results for a certain instruction.

Negative Flag

The N Flag is turned OFF when the leftmost bit of the instruction executionresults word is “1” for certain instructions and it is turned OFF unconditionallyfor other instruction.

Specifying Operands for Multiple Words

With the CS/CJ-series PLCs, an instruction will be executed as written even ifan operand requiring multiple words is specified so that all of the words for theoperand are not in the same area. In this case, words will be taken in order ofthe PLC memory addresses. The Error Flag will not turn ON.

58

Page 80: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Precautions Section 2-2

As an example, consider the results of executing a block transfer withXFER(070) if 20 words are specified for transfer beginning with W500. Here,the Work Area, which ends at W511, will be exceeded, but the instruction willbe executed without turning ON the Error Flag. In the PLC memoryaddresses, the present values for timers are held in memory after the WorkArea, and thus for the following instruction, W500 to W511 will be transferredto D00000 to D00011 and the present values for T0000 to T0007 will be trans-ferred to D00012 to D00019.

Note Refer to Appendix D Memory Map of PLC Memory Addresses for specificPLC memory addresses.

2-2-2 Special Program SectionsCS/CJ-series programs have special program sections that will controlinstruction conditions. The following special program sections are available.

Instruction Combinations

The following table shows which of the special instructions can be used insideother program sections.

T0000

Number of words

First source word

First destination word

Trans-ferred.to to to to

to to to to

W500

W511&10

Program section Instructions Instruction condition Status

Subroutine SBS, SBN and RET instruc-tions

Subroutine program is exe-cuted.

The subroutine program sec-tion between SBN and RET instructions is executed.

IL - ILC section IL and ILC instructions Section is interlocked The output bits are turned OFF and timers are reset. Other instructions will not be executed and previous status will be maintained.

Step Ladder section STEP S instructions and STEP instructions

FOR-NEXT loop FOR instructions and NEXT instructions

Break in progress. Looping

JMP0 - JME0 section JMP0 instructions and JME0 instructions

Jump

Block program section BPRG instructions and BEND instructions

Block program is executing. The block program listed in mnemonics between the BPRG and BEND instruc-tions is executed.

Subroutine IL - ILC section

Step ladder section

FOR - NEXT loop

JMP0 - JME0 section

Block program section

Subroutine Not possible. Not possible. Not possible. Not possible. Not possible. Not possible.

IL - ILC OK Not possible. Not possible. OK OK Not possible.

Step ladder section

Not possible. OK Not possible. Not possible. OK Not possible.

FOR - NEXT loop

OK OK Not possible. OK OK Not possible.

JMP0 - JME0 OK OK Not possible. Not possible. Not possible. Not possible.

Block pro-gram section

OK OK OK Not possible. OK Not possible.

59

Page 81: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Precautions Section 2-2

Note Instructions that specify program areas cannot be used for programs in othertasks. Refer to �!�!������������'�����+�%�������� for details.

Subroutines Place all the subroutines together just before the END(001) instruction in allprograms but after programming other than subroutines. (Therefore, a subrou-tine cannot be placed in a step ladder, block program, FOR - NEXT, or JMP0 -JME0 section.) If a program other than a subroutine program is placed after asubroutine program (SBN to RET), that program will not be executed.

Instructions Not Available in Subroutines

The following instructions cannot be placed in a subroutine.

Note Block Program SectionsA subroutine can include a block program section. If, however, the block pro-gram is in WAIT status when execution returns from the subroutine to themain program, the block program section will remain in WAIT status the nexttime it is called.

Program

Subroutine

Program

Subroutine

Function Mnemonic Instruction

Process Step Control STEP(008) Define step ladder section

SNXT(009) Step through the step lad-der

60

Page 82: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Precautions Section 2-2

Instructions Not Available in Step Ladder Program Sections

Note 1. A step ladder program section can be used in an interlock section (be-tween IL and ILC). The step ladder section will be completely reset whenthe interlock is ON.

2. A step ladder program section can be used between MULTIPLE JUMP(JMP0) and MULTIPLE JUMP END (JME0).

Function Mnemonic Instruction

Sequence Control FOR(512), NEXT(513), and BREAK(514)

FOR, NEXT, and BREAK LOOP

END(001) END

IL(002) and ILC(003) INTERLOCK and INTER-LOCK CLEAR

JMP(004) and JME(005) JUMP and JUMP END

CJP(510) and CJPN(511) CONDITIONAL JUMP and CONDITIONAL JUMP NOT

JMP0(515) and JME0(516) MULTIPLE JUMP and MULTI-PLE JUMP END

Subroutines SBN(092) and RET(093) SUBROUTINE ENTRY and SUBROUTINE RETURN

Block Programs IF(802) (NOT), ELSE(803), and IEND(804)

Branching instructions

BPRG(096) and BEND(801) BLOCK PROGRAM BEGIN/END

EXIT(806) (NOT) CONDITIONAL BLOCK EXIT (NOT)

LOOP(809) and LEND(810) (NOT)

Loop control

WAIT(805) (NOT) ONE CYCLE WAIT (NOT)

TIMW(813) TIMER WAIT

TMHW(815) HIGH-SPEED TIMER WAIT

CNTW(814) COUNTER WAIT

BPPS(811) and BPRS(812) BLOCK PROGRAM PAUSE and RESTART

61

Page 83: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Precautions Section 2-2

Instructions Not Available in Block Program Sections

The following instructions cannot be placed in block program sections.

Note 1. Block programs can be used in a step ladder program section.

2. A block program can be used in an interlock section (between IL and ILC).The block program section will not be executed when the interlock is ON.

3. A block program section can be used between MULTIPLE JUMP (JMP0)and MULTIPLE JUMP END (JME0).

4. A JUMP instruction (JMP) and CONDITIONAL JUMP instruction (CJP/CJPN) can be used in a block program section. JUMP (JMP) and JUMPEND (JME) instructions, as well as CONDITIONAL JUMP (CJP/CJPN)and JUMP END (JME) instructions cannot be used in the block programsection unless they are used in pairs. The program will not execute prop-erly unless these instructions are paired.

Classification by Function

Mnemonic Instruction

Sequence Control FOR(512), NEXT(513), and BREAK(514)

FOR, NEXT, and BREAK LOOP

END(001) END

IL(002) and ILC(003) INTERLOCK and INTER-LOCK CLEAR

JMP0(515) and JME0(516) MULTIPLE JUMP and MULTIPLE JUMP END

Sequence Input UP(521) CONDITION ON

DOWN(522) CONDITION OFF

Sequence Output DIFU DIFFERENTIATE UP

DIFD DIFFERENTIATE DOWN

KEEP KEEP

OUT OUTPUT

OUT NOT OUTPUT NOT

Timer/Counter TIM TIMER

TIMH HIGH-SPEED TIMER

TMHH(540) ONE-MS TIMER

TTIM(087) ACCUMULATIVE TIMER

TIML(542) LONG TIMER

MTIM(543) MULTI-OUTPUT TIMER

CNT COUNTER

CNTR REVERSIBLE COUNTER

Subroutines SBN(092) and RET(093) SUBROUTINE ENTRY and SUBROUTINE RETURN

Data Shift SFT SHIFT

Ladder Step Control STEP(008) and SNXT(009)

STEP DEFINE and STEP START

Data Control PID PID CONTROL

Block Program BPRG(096) BLOCK PROGRAM BEGIN

Damage Diagnosis FPD(269) FAILURE POINT DETEC-TION

62

Page 84: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Checking Programs Section 2-3

2-3 Checking ProgramsCS/CJ-series programs can be checked at the following stages.

• Input check during Programming Console input operations

• Program check by CX-Programmer

• Instruction check during execution

• Fatal error check (program errors) during execution

2-3-1 Errors during Programming Device InputProgramming Console

Errors at the following points will be displayed on the Programming Consoleduring input.

CX-Programmer

The program will be automatically checked by the CX-Programmer at the fol-lowing times.

The results of checking are output to the text tab of the Output Window. Also,the left bus bar of illegal program sections will be displayed in red in ladderview.

2-3-2 Program Checks with the CX-ProgrammerThe errors that are detected by the program check provided by the CX-Pro-grammer are listed in the following table.

The CX-Programmer does not check range errors for indirectly addressedoperands in instructions. Indirect addressing errors will be detected in the pro-gram execution check and the ER Flag will turn ON, as described in the nextsection. Refer to the CS/CJ-series Programmable Controllers ProgrammingManual (W340) for details.

When the program is checked on the CX-Programmer, the operator can spec-ify program check levels A, B, and C (in order of the seriousness of the error),as well as a custom check level.

Error display Cause

CHK MEM Pin 1 on the DIP switch on the CPU Unit is set to ON (write-protect).

IO No. ERR An illegal I/O input has been attempted.

Timing Checked contents

When inputting ladder diagrams

Instruction inputs, operand inputs, programming patterns

When loading files

All operands for all instructions and all programming patterns

When download-ing files

Models supported by the CS/CJ Series and all operands for all instructions

During online editing

Capacity, etc.

Area CheckIllegal data: Ladder diagramming

Instruction locationsI/O linesConnectionsInstruction and operation completeness

Instruction support by PLC

Instructions and operands supported by PLCInstruction variations (NOT, !, @, and %)Object code integrity

63

Page 85: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Checking Programs Section 2-3

Note Output duplication is not checked between tasks, only within individual tasks.

Operand ranges Operand area rangesOperand data typesAccess check for read-only wordsOperand range checks, including the following.• Constants (#, &, +, –)

• Control codes• Area boundary checks for multi-word operands• Size relationship checks for multi-word operands

• Operand range overlaps• Multi-word allocations• Double-length operands

• Area boundary checks for offsetsProgram capacity for PLC

Number of stepsOverall capacityNumber of tasks

Syntax Call check for paired instructions

• IL–ILC• JMP–JME, CJP/CJPN-JME• SBS–SBN–RET, MCRO–SBN–RET

• STEP–SNXT• BPRG–BEND• IF–IEND

• LOOP–LENDRestricted programming locations for BPRG–BENDRestricted programming locations for SBN–RETRestricted programming locations for STEP–SNXTRestricted programming locations for FOR–NEXTRestricted programming locations for interrupt tasksRequired programming locations for BPRG–BENDRequired programming locations for FOR–NEXTIllegal nestingEND(001) instructionNumber consistency

Ladder diagram structure

Stack overflows

Output duplication Duplicate output check• By bit

• By word• Timer/counter instructions• Long words (2-word and 4-word)

• Multiple allocated words• Start/end ranges• FAL numbers

• Instructions with multiple output operandsTasks Check for tasks set for starting at beginning of operation

Task program allocation

Area Check

64

Page 86: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Checking Programs Section 2-3

Multi-word Operands Memory area boundaries are checked for multi-word operands for the pro-gram check as shown in the following table.

2-3-3 Program Execution CheckOperand and instruction location checks are performed on instructions duringinput from Programming Devices (including Programming Consoles) as wellas during program checks from Programming Devices (excluding Program-ming Consoles). However, these are not final checks.

The following checks are performed during instruction execution.

Instruction Processing Errors

An instruction processing error will occur if incorrect data was provided whenexecuting an instruction or an attempt was made to execute an instruction out-side of a task. Here, data required at the beginning of instruction processingwas checked and as a result, the instruction was not executed, the ER Flag(Error Flag) will be turned ON and the EQ and N Flags may be retained orturned OFF depending upon the instruction.

The ER Flag (error Flag) will turn OFF if the instruction (excluding inputinstructions) ends normally. Conditions that turn ON the ER Flag will vary withindividual instructions. See descriptions of individual instructions in the CS/CJ-series Programmable Controllers Programming Manual (W340) for moredetails.

If Instruction Errors are set to Stop Operation in the PLC Setup, then opera-tion will stop (fatal error) and the Instruction Processing Error Flag (A29508)will turn ON if an instruction processing error occurs and the ER Flag turnsON.

CX-Programmer Programming Consoles

The following functionality is provided by the CX-Programmer for multi-word operands that exceed a memory area boundary.• The program cannot be transferred to the CPU Unit.

• The program also cannot be read from the CPU Unit.• Compiling errors are generated for the program check.• Warnings will appear on-screen during offline programming.

• Warnings will appear on-screen during online editing in PROGRAM or MONITOR mode.

Checked when pro-grams are input, i.e., operands that exceed a memory are boundary can-not be written.

Type of error Flag that turns ON for error Stop/Continue operation

1.Instruction Processing Error ER FlagThe Instruction Processing Error Flag (A29508) will also turn ON if Stop Operation is specified when an error occurs.

A setting in the PLC Setup can be used to specify whether to stop or continue operation for instruction processing errors. The default is to continue opera-tion.

A program error will be generated and operation will stop only if Stop Opera-tion is specified.

2.Access Error AER FlagThe Access Error Flag (A29510) will turn ON if Stop Operation is specified when an error occurs.

A setting in the PLC Setup can be used to specify whether to stop or continue operation for instruction processing errors. The default is to continue opera-tion.A program error will be generated and operation will stop only if Stop Opera-tion is specified.

3.Illegal Instruction Error Illegal Instruction Error Flag (A29514) Fatal (program error)

4.UM (User Memory) Overflow Error UM Overflow Error Flag (A29515) Fatal (program error)

65

Page 87: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Checking Programs Section 2-3

Illegal Access Errors

Illegal access errors indicate that the wrong area was accessed in one of thefollowing ways when the address specifying the instruction operand wasaccessed.

a) A read or write was executed for a parameter area.

b) A write was executed in a memory area that is not mounted (see note).

c) A write was executed in an EM area specified as EM File Memory.

d) A write was executed in a read-only area.

e) The value specified in an indirect DM/EM address in BCD mode wasnot BCD (e.g., *D000001 contains #A000).

Instruction processing will continue and the Error Flag (ER Flag) will not turnON if an access error occurs, but the Access Error Flag (AER Flag) will turnON.

Note An access error will occur for the following:

• When a specified EM address exceeds 32767 (example: E32768) forthe current bank.

• The final bank (example: C) is specified for an indirect EM address inBIN mode and the specified word contains 8000 to FFFF Hex (exam-ple: @EC_00001 contains #8000).

• The current bank (example: C) is specified for an indirect EM addressin BIN mode and the specified words contains 8000 to FFFF Hex (ex-ample: @EC_00001 contains #8000)

• An IR register containing the internal memory address of a bit is usedas a word address or an IR containing the internal memory address ofa word is used as a bit address.

If Instruction Errors are set to Stop Operation in the PLC Setup, then opera-tion will stop (fatal error) and the “Illegal Access Error Flag” (A29510) will turnON if an illegal access error occurs and the AER Flag turns ON.

Note The Access Error Flag (AER Flag) will not be cleared after a task is executed.If Instruction Errors are set to Continue Operation, this Flag can be monitoreduntil just before the END(001) instruction to see if an illegal access error hasoccurred in the task program. (The status of the final AER Flag after the entireuser program has been executed will be monitored if the AER Flag is moni-tored on a Programming Console.)

Other Errors

Illegal Instruction Errors

Illegal instruction errors indicate that an attempt was made to execute instruc-tion data other than that defined in the system. This error will normally notoccur as long as the program is created on a CS/CJ-series ProgrammingDevice (including Programming Consoles).

In the rare even that this error does occur, it will be treated as a program error,operation will stop (fatal error), and the Illegal Instruction Flag (A29514) willturn ON.

UM (User Memory) Overflow Errors

UM overflow errors indicate that an attempt was made to execute instructiondata stored beyond the last address in the user memory (UM) defined as pro-gram storage area. This error will normally not occur as long as the program iscreated on a CS/CJ-series Programming Device (including ProgrammingConsoles).

66

Page 88: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Checking Programs Section 2-3

In the rare even that this error does occur, it will be treated as a program error,operation will stop (fatal error), and the UM Overflow Flag (A29515) will turnON.

2-3-4 Checking Fatal ErrorsThe following errors are fatal program errors and the CPU Unit will stop run-ning if one of these occurs. When operation is stopped by a program error, thetask number where operation stopped will be stored in A294 and the programaddress will be stored in A298/A299. The cause of the program error can bedetermined from this information.

Note If the Error Flag or Access Error Flag turns ON, it will be treated as a programerror and it can be used to stop the CPU from running. Specify operation forprogram errors in the PLC Setup.

Address Description Stored Data

A294 The type of task and the task number at the point where operation stopped will be stored here if operation stops due to a program error.FFFF Hex will be stored if there are no active cyclic tasks in a cycle, i.e., if there are no cyclic tasks to be executed.

Cyclic task: 0000 to 001F Hex (cyclic tasks 0 to 31)Interrupt task: 8000 to 80FF Hex (interrupt tasks 0 to 255)

A298/A299 The program address at the point where opera-tion stopped will be stored here in binary if operation stops due to a program error.

If the END(001) instruction is missing (A29511 will be ON), the address where END(001) was expected will be stored.

If there is a task execution error (A29512 will be ON), FFFFFFFF Hex will be stored in A298/A299.

A298: Rightmost portion of program addressA299: Leftmost portion of program address

Program error Description Related flags

No END Instruction An END instruction is not present in the program.

The No END Flag (A29511) turns ON.

Error During Task Execution No task is ready in the cycle.No program is allocated to a task.The corresponding interrupt task num-ber is not present even though the exe-cution condition for the interrupt task was met.

The Task Error Flag (29512) turns ON.

Instruction Processing Error (ER Flag ON) and Stop Operation set for Instruc-tion Errors in PLC Setup

The wrong data values were provided in the operand when an attempt was made to execute an instruction.

The ER Flag turns ON and the Instruc-tion Processing Error Flag (A29508) turns ON if Stop Operation set for Instruction Errors in PLC Setup.

Illegal Access Error (AER Flag ON) and Stop Operation set for Instruction Errors in PLC Setup

A read or write was executed for a parameter area.A write was executed in a memory area that is not mounted (see note).

A write was executed in an EM area specified as EM File Memory.A write was executed in a read-only area.The value specified in an indirect DM/EM address in BCD mode was not BCD.

AER Flag turns ON and the Illegal Access Error Flag (A29510) turns ON if Stop Operation set for Instruction Errors in PLC Setup

67

Page 89: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Checking Programs Section 2-3

Indirect DM/EM BCD Error and Stop Operation set for Instruction Errors in PLC Setup

The value specified in an indirect DM/EM address in BCD mode is not BCD.

AER Flag turns ON and the DM/EM Indirect BCD Error Flag (A29509) turns ON if Stop Operation set for Instruction Errors in PLC Setup

Differentiation Address Overflow Error During online editing, more than 131,071 differentiated instructions have been inserted or deleted.

The Differentiation Overflow Error Flag (A29513) turns ON.

UM (User Memory) Overflow Error An attempt was made to execute instruction data stored beyond the last address in user memory (UM) defined as program storage area.

The UM (User Memory) Overflow Flag (A29516) turns ON.

Illegal Instruction Error An attempt was made to execute an instruction that cannot be executed.

The Illegal Instruction Flag (A29514) turns ON.

Program error Description Related flags

68

Page 90: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

SECTION 3Instruction Functions

This section outlines the instructions that can be used to write user programs.

3-1 Sequence Input Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

3-2 Sequence Output Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

3-3 Sequence Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

3-4 Timer and Counter Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

3-5 Comparison Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

3-6 Data Movement Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

3-7 Data Shift Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

3-8 Increment/Decrement Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

3-9 Symbol Math Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

3-10 Conversion Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

3-11 Logic Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

3-12 Special Math Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

3-13 Floating-point Math Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

3-14 Double-precision Floating-point Instructions (CS1-H, CJ1-H, or CJ1M Only) 112

3-15 Table Data Processing Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

3-16 Data Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

3-17 Subroutine Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

3-18 Interrupt Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

3-19 High-speed Counter and Pulse Output Instructions (CJ1M-CPU22/23 Only) 127

3-20 Step Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

3-21 Basic I/O Unit Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

3-22 Serial Communications Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

3-23 Network Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

3-24 File Memory Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

3-25 Display Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

3-26 Clock Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

3-27 Debugging Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

3-28 Failure Diagnosis Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

3-29 Other Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

3-30 Block Programming Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

3-31 Text String Processing Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

3-32 Task Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

69

Page 91: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Sequence Input Instructions Section 3-1

3-1 Sequence Input InstructionsInstruction

MnemonicCode

Symbol/Operand Function LocationExecution condition

LOADLD

@LD%LD

!LD!@LD!%LD

Indicates a logical start and creates an ON/OFF execution condition based on the ON/OFF status of the specified operand bit. Not required

LOAD NOTLD NOT

@LD NOT%LD NOT

!LD NOT!@LD NOT!%LD NOT

CS1-H, CJ1-H, or CJ1M CPU Units only: @LD NOT%LD NOT!@LD NOT!%LD NOT

Indicates a logical start and creates an ON/OFF execution condition based on the reverse of the ON/OFF status of the specified operand bit. Not required

ANDAND

@AND%AND

!AND!@AND!%AND

Takes a logical AND of the status of the specified operand bit and the cur-rent execution condition. Required

AND NOT AND NOT

@AND NOT%AND NOT

!AND NOT!@AND NOT!%AND NOT

CS1-H, CJ1-H, or CJ1M CPU Units only: @AND NOT%AND NOT!@AND NOT!%AND NOT

Reverses the status of the specified operand bit and takes a logical AND with the current execution condition. Required

OROR

@OR%OR

!OR!@OR!%OR

Takes a logical OR of the ON/OFF status of the specified operand bit and the current execution condition. Required

OR NOTOR NOT

@OR NOT%OR NOT

!OR NOT!@OR NOT!%OR NOT

CS1-H, CJ1-H, or CJ1M CPU Units only: @OR NOT%OR NOT!@OR NOT!%OR NOT

Reverses the status of the specified bit and takes a logical OR with the cur-rent execution condition. Required

Bus bar

Starting point of block

Bus bar

Starting point of block

Bus bar

Bus bar

70

Page 92: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Sequence Input Instructions Section 3-1

AND LOADAND LD Required

OR LOADOR LD Required

NOTNOT520

Reverses the execution condition.Required

CONDITION ONUP521

UP(521) turns ON the execution condition for one cycle when the execu-tion condition goes from OFF to ON. Required

CONDITION OFFDOWN

522

DOWN(522) turns ON the execution condition for one cycle when the exe-cution condition goes from ON to OFF. Required

BIT TESTLD TST

350

LD TST(350), AND TST(350), and OR TST(350) are used in the program like LD, AND, and OR; the execution condition is ON when the specified bit in the specified word is ON and OFF when the bit is OFF.

Not required

BIT TESTLD TSTN

351

LD TSTN(351), AND TSTN(351), and OR TSTN(351) are used in the pro-gram like LD NOT, AND NOT, and OR NOT; the execution condition is OFF when the specified bit in the specified word is ON and ON when the bit is OFF.

Not required

BIT TESTAND TST

350

LD TST(350), AND TST(350), and OR TST(350) are used in the program like LD, AND, and OR; the execution condition is ON when the specified bit in the specified word is ON and OFF when the bit is OFF.

Required

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

Logic block Logic block Takes a logical AND between logic blocks.

Logic block A

Logic block B

Serial connection between logic block A and logic block B.

LD

LD

AND LD

to

to

Logic block

Logic block

Takes a logical OR between logic blocks.

Logic block A

Logic block B

Parallel connection between logic block A and logic block B.

LD

LD

OR LD

to

to

NOT(520)

UP(521)

DOWN(522)

S: Source wordN: Bit number

TST(350)

S

N

S: Source wordN: Bit number

TSTN(351)

SN

S: Source wordN: Bit number

AND TST(350)

S

N

71

Page 93: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Sequence Output Instructions Section 3-2

3-2 Sequence Output Instructions

BIT TESTAND TSTN

351

LD TSTN(351), AND TSTN(351), and OR TSTN(351) are used in the pro-gram like LD NOT, AND NOT, and OR NOT; the execution condition is OFF when the specified bit in the specified word is ON and ON when the bit is OFF.

Required

BIT TESTOR TST

350

LD TST(350), AND TST(350), and OR TST(350) are used in the program like LD, AND, and OR; the execution condition is ON when the specified bit in the specified word is ON and OFF when the bit is OFF

Required

BIT TESTOR TSTN

351

LD TSTN(351), AND TSTN(351), and OR TSTN(351) are used in the pro-gram like LD NOT, AND NOT, and OR NOT; the execution condition is OFF when the specified bit in the specified word is ON and ON when the bit is OFF.

Required

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

OUTPUTOUT!OUT

Outputs the result (execution condition) of the logical processing to the spec-ified bit.

OutputRequired

OUTPUT NOTOUT NOT

!OUT NOT

Reverses the result (execution condition) of the logical processing, and out-puts it to the specified bit.

OutputRequired

KEEPKEEP!KEEP

011

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

S: Source wordN: Bit number

AND TSTN(351)

S

N

S: Source wordN: Bit number

TST(350)

S

N

S: Source wordN: Bit number

TSTN(351)

S

N

B: Bit

KEEP(011)

B

S (Set)

R (Reset)

Set

Reset

Operates as a latching relay.

S execution condition

R execution condition

Status of B

72

Page 94: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Sequence Output Instructions Section 3-2

DIFFERENTIATE UP

DIFU!DIFU

013

OutputRequired

DIFFERENTIATE DOWN

DIFD!DIFD

014

OutputRequired

SETSET

@SET%SET

!SET!@SET!%SET

OutputRequired

RESETRSET

@RSET%RSET

!RSET!@RSET!%RSET

OutputRequired

MULTIPLE BIT SET

SETA@SETA

530

OutputRequired

MULTIPLE BIT RESET

RSTA@RSTA

531

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

B: Bit

DIFU(013)

B

Execution condition

Status of B

One cycle

DIFU(013) turns the designated bit ON for one cycle when the execution condition goes from OFF to ON (rising edge).

B: Bit

DIFD(014)

B

Execution condition

Status of BOne cycle

DIFD(014) turns the designated bit ON for one cycle when the execution condition goes from ON to OFF (falling edge).

B: Bit

SETB Execution condition

of SET

Status of B

SET turns the operand bit ON when the execution condition is ON.

B: Bit

RSETB Execution condition

of RSET

Status of B

RSET turns the operand bit OFF when the execution condition is ON.

D: Beginning wordN1: Beginning bitN2: Number of bits

SETA(530)

D

N1

N2N2 bits are set to 1 (ON).

SETA(530) turns ON the specified number of consecutive bits.

D: Beginning wordN1: Beginning bitN2: Number of bits

RSTA(531)

D

N1

N2N2 bits are reset to 0 (OFF).

RSTA(531) turns OFF the specified number of consecutive bits.

73

Page 95: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Sequence Output Instructions Section 3-2

SINGLE BIT SET(CS1-H, CJ1-H, or CJ1M only)

SETB@SETB

!SETB532

SETB(532) turns ON the specified bit in the specified word when the execu-tion condition is ON.Unlike the SET instruction, SETB(532) can be used to set a bit in a DM or EM word.

OutputRequired

SINGLE BIT RESET(CS1-H, CJ1-H, or CJ1M only)

RSTB@RSTB

!RSTB533

RSTB(533) turns OFF the specified bit in the specified word when the execu-tion condition is ON.Unlike the RSET instruction, RSTB(533) can be used to reset a bit in a DM or EM word.

OutputRequired

SINGLE BIT OUTPUT(CS1-H, CJ1-H, or CJ1M only)

OUTB@OUTB

!OUTB534

OUTB(534) outputs the result (execution condition) of the logical processing to the specified bit.Unlike the OUT instruction, OUTB(534) can be used to control a bit in a DM or EM word.

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

D: Word addressN: Bit number

SETB(532)

D

N

D: Word addressN: Bit number

RSTB(533)

D

N

D: Word addressN: Bit number

OUTB(534)

D

N

74

Page 96: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Sequence Control Instructions Section 3-3

3-3 Sequence Control InstructionsInstruction

MnemonicCode

Symbol/Operand Function LocationExecution condition

ENDEND001

OutputNot required

NO OPERATIONNOP000

This instruction has no function. (No processing is performed for NOP(000).) OutputNot required

INTERLOCKIL

002

OutputRequired

END(001)

Task 1 Program A

To the next task number

Task 2 Program B

To the next task number

Task n Program Z

I/O refreshing

End of the main program

Indicates the end of a program.END(001) completes the execution of a program for that cycle. No instructions written after END(001) will be executed. Execution proceeds to the program with the next task number. When the program being executed has the highest task number in the program, END(001) marks the end of the overall main program.

IL(002)

Execution condition

Interlocked sectionof the program

Execution condition ON

Execution condition OFF

Normal execution

Outputs interlocked.

Interlocks all outputs between IL(002) and ILC(003) when the execution condition for IL(002) is OFF. IL(002) and ILC(003) are normally used in pairs.

75

Page 97: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Sequence Control Instructions Section 3-3

INTERLOCK CLEAR

ILC003

Interlocks all outputs between IL(002) and ILC(003) when the execution condi-tion for IL(002) is OFF. IL(002) and ILC(003) are normally used in pairs.

OutputNot required

JUMPJMP004

OutputRequired

JUMP ENDJME005

Indicates the end of a jump initiated by JMP(004) or CJP(510). OutputNot required

CONDITIONAL JUMP

CJP510

OutputRequired

CONDITIONAL JUMP

CJPN511

OutputNot required

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

ILC(003)

N: Jump number

JMP(004)

N

Execution condition

Instructionsexecuted

Instructionsjumped

Instructions in this section are not executed and out-put status is maintained. The instruction execution time for these instructions is eliminated.

When the execution condition for JMP(004) is OFF, program execution jumps directly to the first JME(005) in the program with the same jump number. JMP(004) and JME(005) are used in pairs.

N: Jump number

JME(005)

N

N: Jump number

CJP(510)

N

Executioncondition OFF

Instructionsexecuted

Instructionsjumped

Instructions in this section are not executed and out-put status is maintained. The instruction execution time for these instructions is eliminated.

Executioncondition ON

The operation of CJP(510) is the basically the opposite of JMP(004).When the execution condition for CJP(510) is ON, program execution jumps directly to the first JME(005) in the program with the same jump number. CJP(510) and JME(005) are used in pairs.

N: Jump number

CJPN(511)

N

Instructionsexecuted

Instructionsjumped

Instructions in this section are not executed and out-put status is maintained. The instruction execution time for these instructions is eliminated.

Executioncondition ON

Executioncondition OFF

The operation of CJPN(511) is almost identical to JMP(004).When the execution condition for CJP(004) is OFF, program execution jumps directly to the first JME(005) in the program with the same jump number. CJPN(511) and JME(005) are used in pairs.

76

Page 98: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Sequence Control Instructions Section 3-3

MULTIPLE JUMPJMP0

515

OutputRequired

MULTIPLE JUMP END

JME0516

When the execution condition for JMP0(515) is OFF, all instructions from JMP0(515) to the next JME0(516) in the program are processed as NOP(000). Use JMP0(515) and JME0(516) in pairs. There is no limit on the number of pairs that can be used in the program.

OutputNot required

FOR-NEXT LOOPS

FOR512

OutputNot required

BREAK LOOPBREAK

514

OutputRequired

FOR-NEXT LOOPS

NEXT513

The instructions between FOR(512) and NEXT(513) are repeated a specified number of times. FOR(512) and NEXT(513) are used in pairs.

OutputNot required

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

JMP0(515)

Executioncondition a ON

Instructionsexecuted

Instructionsjumped

Jumped instructions are processed as NOP(000). Instruction execution times are the same as NOP(000).

Executioncondition a OFF

Executioncondition b ON

Instructionsexecuted

Instructionsjumped

Executioncondition b OFF

When the execution condition for JMP0(515) is OFF, all instructions from JMP0(515) to the next JME0(516) in the program are processed as NOP(000). Use JMP0(515) and JME0(516) in pairs. There is no limit on the number of pairs that can be used in the program.

JME0(516)

N: Number of loops

FOR(512)

N

Repeated program section

Repeated N times

The instructions between FOR(512) and NEXT(513) are repeated a specified number of times. FOR(512) and NEXT(513) are used in pairs.

BREAK(514)

Repetitions forced to end.

N repetitionsCondition a ON

Processed as NOP(000).

Programmed in a FOR-NEXT loop to cancel the execution of the loop for a given execution condition. The remaining instructions in the loop are processed as NOP(000) instructions.

NEXT(513)

77

Page 99: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Timer and Counter Instructions Section 3-4

3-4 Timer and Counter InstructionsInstruction

MnemonicCode

Symbol/Operand Function LocationExecution condition

TIMERTIM(BCD)

OutputRequired

TIMX(Binary)

(CS1-H, CJ1-H, orCJ1M only)

HIGH-SPEED TIMER

TIMH015

(BCD)

OutputRequired

TIMHX551

(Binary)(CS1-H, CJ1-H, or

CJ1M only)

ONE-MS TIMERTMHH

540(BCD)

TMHH(540) operates a decrementing timer with units of 1-ms. The setting range for the set value (SV) is 0 to 9.999 s.

The timing charts for TMHH(540) are the same as those given above for TIMH(015).

OutputRequired

TMHHX552

(BCD)(CS1-H, CJ1-H, or

CJ1M only)

N: Timer numberS: Set value

TIM

N

STimer input

Timer PVSV

Completion Flag

Timer input

Timer PVSV

Completion Flag

TIM operates a decrementing timer with units of 0.1-s. The setting range for the set value (SV) is 0 to 999.9 s.

Timer input turns OFF before Completion Flag turns ON.

N: Timer numberS: Set value

TIMX(550)

N

S

N: Timer numberS: Set value

TIMH(015)

NS Timer input

Timer PV SV

Completion Flag

Timer input

Timer PV SV

Completion Flag

TIMH(015) operates a decrementing timer with units of 10-ms. The setting range for the set value (SV) is 0 to 99.99 s.

Timer input turns OFF before Completion Flag turns ON.

N: Timer numberS: Set value

TIMHX(551)

N

S

N: Timer numberS: Set value

TMHH(540)

N

S

N: Timer numberS: Set value

TMHHX(552)

N

S

78

Page 100: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Timer and Counter Instructions Section 3-4

ACCUMULATIVE TIMER

TTIM087

(BCD)

OutputRequired

TTIMX555

(Binary)(CS1-H, CJ1-H, or

CJ1M only)

LONG TIMERTIML

542(BCD)

OutputRequired

TIMLX553

(Binary)(CS1-H, CJ1-H, or

CJ1M only)

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

N: Timer numberS: Set value

TTIM(087)

NS

Timer input

Reset input

Timer input

Timer PV SV

Completion Flag

Reset input

PV maintained.

Timing resumes.

TTIM(087) operates an incrementing timer with units of 0.1-s. The setting range for the set value (SV) is 0 to 999.9 s.

N: Timer numberS: Set value

TTIMX(555)

N

S

Timer input

Reset input

D1: Completion FlagD2: PV wordS: SV word

TIML(542)

D1

D2

S

Timer input

Timer PVSV

Completion Flag (Bit 00 of D1)

TIML(542) operates a decrementing timer with units of 0.1-s that can time up to 9999999.9 S (approx. 115 days).

D1: Completion FlagD2: PV wordS: SV word

TIMLX(553)

D1

D2

S

79

Page 101: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Timer and Counter Instructions Section 3-4

MULTI-OUTPUT TIMER

MTIM543

(BCD)

OutputRequired

MTIMX554

(Binary)(CS1-H, CJ1-H, or

CJ1M only)

COUNTERCNT

(BCD)

OutputRequired

CNTX546

(Binary)(CS1-H, CJ1-H, or

CJ1M only)

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

D1: Completion FlagsD2: PV wordS: 1st SV word

MTIM(543)

D1

D2

S

0

toto

Timer input

Timer PV (D2)

SV 7to

Completionflags (D1)

Bit 7to

Timer PV

Timer SVs

SV 2SV 1SV 0

0

Bit 2

Bit 1

Bit 0

MTIM(543) operates a 0.1-s incrementing timer with eight independent SVs and Completion Flags. The setting range for the set value (SV) is 0 to 999.9 s.

D1 bits

D1: Completion FlagsD2: PV wordS: 1st SV word

MTIMX(554)

D1

D2

S

N: Counter numberS: Set value

CNT

NS

Count input

Reset input

Count input

Counter PV SV

Completion Flag

Reset input

CNT operates a decrementing counter. The setting range for the set value (SV) is 0 to 9,999.

N: Counter numberS: Set value

CNTX(546)

N

S

Count input

Reset input

80

Page 102: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Timer and Counter Instructions Section 3-4

REVERSIBLE COUNTER

CNTR012

(BCD)

OutputRequired

CNTRX548

(Binary)(CS1-H, CJ1-H, or

CJ1M only)

RESET TIMER/ COUNTER

CNR@CNR

545(BCD)

Resets the timers or counters within the specified range of timer or counter numbers. Sets the set value (SV) to the maximum of 9999.

OutputRequired

CNRX@CNRX

547(Binary)

(CS1-H, CJ1-H, orCJ1M only)

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

N: Counter numberS: Set value

CNTR(012)

NS

Incre-ment input

Reset input

Decre-ment input

Increment input

Counter PV

Decrement input

SVCounter PV

Completion Flag

+1

SVCounter PV

Completion Flag

–1

CNTR(012) operates a reversible counter.

N: Counter numberS: Set value

CNTRX(548)

N

S

Incre-ment input

Reset input

Decre-ment input

N1: 1st number in rangeN2: Last number in range

CNR(545)

N1

N2

N1: 1st number in rangeN2: Last number in range

CNRX(547)

N1

N2

81

Page 103: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Comparison Instructions Section 3-5

3-5 Comparison InstructionsInstruction

MnemonicCode

Symbol/Operand Function LocationExecution condition

Symbol Compari-son (Unsigned)LD, AND, OR + =,

<>, <, <=, >, >=300 (=)

305 (<>)310 (<)

315 (<=)320 (>)

325(>=)

LD: Not requiredAND, OR:Required

Symbol Compari-son (Double-word, unsigned)LD, AND, OR + =,<>, <, <=, >, >= +

L301 (=)

306 (<>)311 (<)

316 (<=)321 (>)

326 (>=)

S1: Comparison data 1S2: Comparison data 2

Symbol comparison instructions (double-word, unsigned) compare two values (constants and/or the contents of specified double-word data) in unsigned 32-bit binary data and create an ON execution condition when the comparison condi-tion is true. There are three types of symbol comparison instructions, LD (LOAD), AND, and OR.

LD: Not requiredAND, OR:Required

Symbol Compari-son (Signed)LD, AND, OR + =,

<>, <, <=, >, >=+S

302 (=)307 (<>)

312 (<)317 (<=)

322 (>)327 (>=)

S1: Comparison data 1S2: Comparison data 2

Symbol comparison instructions (signed) compare two values (constants and/or the contents of specified words) in signed 16-bit binary (4-digit hexadecimal) and create an ON execution condition when the comparison condition is true. There are three types of symbol comparison instructions, LD (LOAD), AND, and OR.

LD: Not requiredAND, OR:Required

S1: Comparison data 1S2: Comparison data 2

Symbol & options

S1

S2

LD

AND

OR

ON execution condition when comparison result is true.

ON execution condition when comparison result is true.

ON execution condition when comparison result is true.

<

<

<

Symbol comparison instructions (unsigned) compare two values (constants and/or the contents of specified words) in 16-bit binary data and create an ON execution condition when the comparison condition is true. There are three types of symbol comparison instructions, LD (LOAD), AND, and OR.

82

Page 104: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Comparison Instructions Section 3-5

Symbol Compari-son (Double-word, signed)LD, AND, OR + =,

<>, <, <=, >, >=+SL

303 (=)308 (<>)

313 (<)318 (<=)

323 (>)328 (>=)

S1: Comparison data 1S2: Comparison data 2

Symbol comparison instructions (double-word, signed) compare two values (constants and/or the contents of specified double-word data) in signed 32-bit binary (8-digit hexadecimal) and create an ON execution condition when the comparison condition is true. There are three types of symbol comparison instructions, LD (LOAD), AND, and OR.

LD: Not requiredAND, OR:Required

UNSIGNED COM-PARE

CMP!CMP

020

OutputRequired

DOUBLE UNSIGNED COM-PARE

CMPL060

OutputRequired

SIGNED BINARY COMPARE

CPS!CPS

114

OutputRequired

DOUBLE SIGNED BINARY COMPARE

CPSL115

OutputRequired

MULTIPLE COMPARE

MCMP@MCMP

019

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

S1: Comparison data 1S2: Comparison data 2

CMP(020)

S1

S2 Unsigned binary comparison

Arithmetic Flags(>, >=, =, <=, <, <>)

Compares two unsigned binary values (constants and/or the contents of specified words) and outputs the result to the Arithmetic Flags in the Auxiliary Area.

S1: Comparison data 1S2: Comparison data 2

CMPL(060)

S1

S2Unsigned binary comparison

Arithmetic Flags(>, >=, =, <=, <, <>)

S1+1 S2+1

Compares two double unsigned binary values (constants and/or the contents of specified words) and outputs the result to the Arithmetic Flags in the Auxiliary Area.

S1: Comparison data 1S2: Comparison data 2

CPS(114)

S1

S2Signed binary comparison

Arithmetic Flags(>, >=, =, <=, <, <>)

Compares two signed binary values (constants and/or the contents of specified words) and outputs the result to the Arithmetic Flags in the Auxiliary Area.

S1: Comparison data 1S2: Comparison data 2

CPSL(115)

S1

S2Signed binary comparison

Arithmetic Flags(>, >=, =, <=, <, <>)

S1+1 S2+1

Compares two double signed binary values (constants and/or the contents of specified words) and outputs the result to the Arithmetic Flags in the Auxiliary Area.

S1: 1st word of set 1S2: 1st word of set 2R: Result word

MCMP(019)

S1

S2

R

Compares 16 consecutive words with another 16 consecutive words and turns ON the corresponding bit in the result word where the contents of the words are not equal.

Comparison

0: Words are equal.1: Words aren't equal.

R

83

Page 105: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Comparison Instructions Section 3-5

TABLE COMPARE

TCMP@TCMP

085

OutputRequired

UNSIGNED BLOCK COMPARE

BCMP@BCMP

068

OutputRequired

EXPANDED BLOCK COM-PARE

BCMP2@BCMP2

502(CJ1M only)

Compares the source data to up to 256 ranges (defined by upper and lower limits)and turns ON the corresponding bit in the result word when the source data iswithin a range.

OutputRequired127

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

S: Source dataT: 1st word of tableR: Result word

TCMP(085)

S

T

R

Comparison1: Data are equal.0: Data aren't equal.

R

Compares the source data to the contents of 16 consecutive words and turns ON the corresponding bit in the result word when the contents of the words are equal.

S: Source dataT: 1st word of tableR: Result word

BCMP(068)

S

T

R

Compares the source data to 16 ranges (defined by 16 lower limits and 16 upper limits) and turns ON the corresponding bit in the result word when the source data is within the range.

to T+3 1

0

14

15

to T+29

to T+31

to T+1

T+2

T+28T+30

T

S

Ranges 1: In range0: Not in range

RLower limit Upper limit

Source data

S: Source dataT: 1st word of blockR: Result word

BCMP2(502)

S

T

RT+1

T+3

T+2N+1

S

T

T+2

T+4

T+2N+2

0

1

D

D+15 max.

Bit

1: In range 0: Not in range

Source data

Range 0 A

Range 1 A

Range N A

N n=255 max.

Range 0 B

Range 1 B

Range N B

Note: A can be less than or equal to B or greater the B.

84

Page 106: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Comparison Instructions Section 3-5

AREA RANGE COMPARE(CS1-H, CJ1-H, or CJ1M only)

ZCP@ZCP

088

Compares the 16-bit unsigned binary value in CD (word contents or constant) to the range defined by LL and UL and outputs the results to the Arithmetic Flags in the Auxiliary Area.

OutputRequired

DOUBLE AREA RANGE COM-PARE(CS1-H, CJ1-H, or CJ1M only)

ZCPL@ZCPL

116

Compares the 32-bit unsigned binary value in CD and CD+1 (word contents or constant) to the range defined by LL and UL and outputs the results to the Arith-metic Flags in the Auxiliary Area.

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

CD: Compare data (1 word)LL: Lower limit of rangeUL: Upper limit of range

ZCP(088)

CD

LL

UL

CD: Compare data (2 words)LL: Lower limit of rangeUL: Upper limit of range

ZCPL(116)

CD

LL

UL

85

Page 107: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Data Movement Instructions Section 3-6

3-6 Data Movement InstructionsInstruction

MnemonicCode

Symbol/Operand Function LocationExecution condition

MOVEMOV

@MOV!MOV

!@MOV021

OutputRequired

DOUBLE MOVEMOVL

@MOVL498

OutputRequired

MOVE NOTMVN

@MVN022

OutputRequired

DOUBLE MOVE NOT

MVNL@MVNL

499

OutputRequired

MOVE BITMOVB

@MOVB082

OutputRequired

S: SourceD: Destination

MOV(021)

S

D

Transfers a word of data to the specified word.

Source word

Destination word

Bit status not changed.

S: 1st source wordD: 1st destination word

MOVL(498)

S

D

Transfers two words of data to the specified words.S

D

Bit status not changed.

S+1

D+1

S: SourceD: Destination

MVN(022)

S

D

Transfers the complement of a word of data to the specified word.

Source word

Destination word

Bit status inverted.

S: 1st source wordD: 1st destination word

MVNL(499)

S

D

Transfers the complement of two words of data to the specified words.S

D

S+1

D+1

Bit status inverted.

S: Source word or dataC: Control wordD: Destination word

MOVB(082)

S

C

D

Transfers the specified bit.

86

Page 108: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Data Movement Instructions Section 3-6

MOVE DIGITMOVD

@MOVD083

OutputRequired

MULTIPLE BIT TRANSFER

XFRB@XFRB

062

OutputRequired

BLOCKTRANSFER

XFER@XFER

070

OutputRequired

BLOCK SETBSET

@BSET071

OutputRequired

DATA EXCHANGE

XCHG@XCHG

073

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

S: Source word or dataC: Control wordD: Destination word

MOVD(083)

S

C

D

Transfers the specified digit or digits. (Each digit is made up of 4 bits.)

C: Control wordS: 1st source wordD: 1st destination word

XFRB(062)

C

S

D

Transfers the specified number of consecutive bits.

N: Number of wordsS: 1st source wordD: 1st destination word

XFER(070)

N

S

DS+(N–1) D+(N–1)

to toN words

Transfers the specified number of consecutive words.

S: Source wordSt: Starting wordE: End word

BSET(071)

S

St

E

Source word Destination words

St

E

Copies the same word to a range of consecutive words.

E1: 1st exchange wordE2: Second exchange word

XCHG(073)

E1

E2

Exchanges the contents of the two specified words.

E2E1

87

Page 109: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Data Movement Instructions Section 3-6

DOUBLE DATA EXCHANGE

XCGL@XCGL

562

OutputRequired

SINGLE WORD DISTRIBUTE

DIST@DIST

080

OutputRequired

DATA COLLECTCOLL

@COLL081

OutputRequired

MOVE TO REGISTER

MOVR@MOVR

560

OutputRequired

MOVE TIMER/ COUNTER PV TO REGISTER

MOVRW@MOVRW

561

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

E1: 1st exchange wordE2: Second exchange word

XCGL(562)

E1

E2

Exchanges the contents of a pair of consecutive words with another pair of consecutive words.

E2E1 E1+1 E2+1

S: Source wordBs: Destination base addressOf: Offset

DIST(080)

S

Bs

Of

Transfers the source word to a destination word calculated by adding an offset value to the base address.

S Bs

Bs+n

Of

Bs: Source base addressOf: OffsetD: Destination word

COLL(081)

Bs

Of

D

Transfers the source word (calculated by adding an offset value to the base address) to the destination word.

Bs

Bs+n

Of

S: Source (desired word or bit)D: Destination (Index Register)

MOVR(560)

S

D

Sets the PC memory address of the specified word, bit, or timer/counter Completion Flag in the specified Index Register. (Use MOVRW(561) to set the PC memory address of a timer/counter PV in an Index Register.)

I/O memory address of S

Index Register

S: Source (desired TC number)D: Destination (Index Register)

MOVRW(561)

S

D

Sets the PC memory address of the specified timer or counter's PV in the specified Index Register. (Use MOVR(560) to set the PC memory address of a word, bit, or timer/counter Completion Flag in an Index Register.)

I/O memory address of S

Index Register

Timer/counter PV only

88

Page 110: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Data Shift Instructions Section 3-7

3-7 Data Shift InstructionsInstruction

MnemonicCode

Symbol/Operand Function LocationExecution condition

SHIFT REGISTERSFT010

OutputRequired

REVERSIBLE SHIFT REGISTER

SFTR@SFTR

084

OutputRequired

ASYNCHRO-NOUS SHIFT REGISTER

ASFT@ASFT

017

OutputRequired

WORD SHIFTWSFT

@WSFT016

OutputRequired

ARITHMETIC SHIFT LEFT

ASL@ASL

025

OutputRequired

St: Starting wordE: End word

SFT(010)

St

E

Data inputShift inputReset input

Operates a shift register.

Status of data input for each shift input

Lost

E St+1, St+2 St

C: Control wordSt: Starting wordE: End word

SFTR(084)

C

St

E

Data input

Shift direc-tion

Data inputStE

StE

Creates a shift register that shifts data to either the right or the left.

C: Control wordSt: Starting wordE: End word

ASFT(017)

C

St

E St

E

St

E

Shift direction

Shift enabled

Clear

Shift

Shift

Non-zero data

Zero data

Shifts all non-zero word data within the specified word range either towards St or toward E, replacing 0000Hex word data.

S: Source wordSt: Starting wordE: End word

WSFT(016)

S

St

E

Lost

StE

Shifts data between St and E in word units.

Wd: Word

ASL(025)

Wd

Shifts the contents of Wd one bit to the left.

015

89

Page 111: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Data Shift Instructions Section 3-7

DOUBLE SHIFT LEFT

ASLL@ASLL

570

OutputRequired

ARITHMETIC SHIFT RIGHT

ASR@ASR

026

OutputRequired

DOUBLE SHIFT RIGHT

ASRL@ASRL

571

OutputRequired

ROTATE LEFTROL

@ROL027

OutputRequired

DOUBLE ROTATE LEFT

ROLL@ROLL

572

OutputRequired

ROTATE LEFT WITHOUT CARRY

RLNC@RLNC

574

OutputRequired

DOUBLE ROTATE LEFT WITHOUT CARRY

RLNL@RLNL

576

OutputRequired

ROTATE RIGHTROR

@ROR028

OutputRequired

DOUBLE ROTATE RIGHT

RORL@RORL

573

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

Wd: Word

ASLL(570)

Wd WdWd+1

Shifts the contents of Wd and Wd +1 one bit to the left.

Wd: Word

ASR(026)

Wd

Shifts the contents of Wd one bit to the right.

Wd: Word

ASRL(571)

Wd WdWd+1

Shifts the contents of Wd and Wd +1 one bit to the right.

Wd: Word

ROL(027)

Wd

Shifts all Wd bits one bit to the left including the Carry Flag (CY).

Wd: Word

ROLL(572)

Wd Wd+1 Wd

Shifts all Wd and Wd +1 bits one bit to the left including the Carry Flag (CY).

Wd: Word

RLNC(574)

Wd Wd

Shifts all Wd bits one bit to the left not including the Carry Flag (CY).

Wd: Word

RLNL(576)

Wd Wd+1 Wd

Shifts all Wd and Wd +1 bits one bit to the left not including the Carry Flag (CY).

Wd: Word

ROR(028)

WdWdWd+1

Shifts all Wd bits one bit to the right including the Carry Flag (CY).

Wd: Word

RORL(573)

Wd WdWd+1

Shifts all Wd and Wd +1 bits one bit to the right including the Carry Flag (CY).

90

Page 112: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Data Shift Instructions Section 3-7

ROTATE RIGHT WITHOUT CARRY

RRNC@RRNC

575

OutputRequired

DOUBLE ROTATE RIGHT WITHOUT CARRY

RRNL@RRNL

577

OutputRequired

ONE DIGIT SHIFT LEFT

SLD@SLD

074

OutputRequired

ONE DIGIT SHIFT RIGHT

SRD@SRD

075

OutputRequired

SHIFT N-BIT DATA LEFT

NSFL@NSFL

578

OutputRequired

SHIFT N-BIT DATA RIGHT

NSFR@NSFR

579

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

Wd: Word

RRNC(575)

Wd

Wd

Shifts all Wd bits one bit to the right not including the Carry Flag (CY). The contents of the rightmost bit of Wd shifts to the leftmost bit and to the Carry Flag (CY).

Wd: Word

RRNL(577)

Wd

Wd+1 Wd

Shifts all Wd and Wd +1 bits one bit to the right not including the Carry Flag (CY). The contents of the rightmost bit of Wd +1 is shifted to the leftmost bit of Wd, and to the Carry Flag (CY).

St: Starting wordE: End word

SLD(074)

St

E Lost

E StShifts data by one digit (4 bits) to the left.

St: Starting wordE: End word

SRD(075)

St

ELost

E StShifts data by one digit (4 bits) to the right.

D: Beginning word for shiftC: Beginning bitN: Shift data length

NSFL(578)

D

C

N

N–1 bit Shifts one bit to the left

N–1 bit

Shifts the specified number of bits to the left.

D: Beginning word for shiftC: Beginning bitN: Shift data length

NSFR(579)

D

C

N

N–1 bitShifts one bit to the right

N–1 bit

Shifts the specified number of bits to the right.

91

Page 113: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Data Shift Instructions Section 3-7

SHIFT N-BITS LEFT

NASL@NASL

580

OutputRequired

DOUBLE SHIFT N-BITS LEFT

NSLL@NSLL

582

OutputRequired

SHIFT N-BITS RIGHT

NASR@NASR

581

OutputRequired

DOUBLE SHIFT N-BITS RIGHT

NSRL@NSRL

583

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

D: Shift wordC: Control word

NASL(580)

D

C

Shift n–bits

Lost

N bits

Contents of "a" or "0" shifted in

Shifts the specified 16 bits of word data to the left by the specified number of bits.

D: Shift wordC: Control word

NSLL(582)

D

C

Shift n–bits

Lost

N bits

Contents of "a" or "0" shifted in

Shifts the specified 32 bits of word data to the left by the specified number of bits.

D: Shift wordC: Control word

NASR(581)

D

C

Lost

N bits

Contents of "a" or "0" shifted in

Shifts the specified 16 bits of word data to the right by the specified number of bits.

D: Shift wordC: Control word

NSRL(583)

D

C Shift n–bits

Lost

Contents of "a" or "0" shifted in

Shifts the specified 32 bits of word data to the right by the specified number of bits.

92

Page 114: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Increment/Decrement Instructions Section 3-8

3-8 Increment/Decrement InstructionsInstruction

MnemonicCode

Symbol/Operand Function LocationExecution condition

INCREMENT BINARY

++@++590

OutputRequired

DOUBLE INCRE-MENT BINARY

++L@++L

591

OutputRequired

DECREMENT BINARY

– –@– –

592

OutputRequired

DOUBLE DEC-REMENT BINARY

– –L@– –L

593

OutputRequired

INCREMENT BCD

++B@++B

594

OutputRequired

DOUBLE INCRE-MENT BCD

++BL@++BL

595

OutputRequired

DECREMENT BCD

– –B@– –B

596

OutputRequired

DOUBLE DEC-REMENT BCD

– –BL@– –BL

597

OutputRequired

Wd: Word

++(590)

WdWd Wd

Increments the 4-digit hexadecimal content of the specified word by 1.

Wd: Word

++L(591)

Wd Wd+1 Wd Wd+1 Wd

Increments the 8-digit hexadecimal content of the specified words by 1.

Wd: Word

– –(592)

Wd Wd Wd

Decrements the 4-digit hexadecimal content of the specified word by 1.

Wd: 1st word

– –L(593)

WdWd+1 Wd Wd+1 Wd

Decrements the 8-digit hexadecimal content of the specified words by 1.

Wd: Word

++B(594)

Wd Wd Wd

Increments the 4-digit BCD content of the specified word by 1.

Wd: 1st word

++BL(595)

WdWd+1 Wd Wd+1 Wd

Increments the 8-digit BCD content of the specified words by 1.

Wd: Word

– –B(596)

Wd–1Wd Wd

Decrements the 4-digit BCD content of the specified word by 1.

Wd: 1st word

– –BL(597)

WdWd+1 Wd Wd+1 Wd

Decrements the 8-digit BCD content of the specified words by 1.

93

Page 115: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Symbol Math Instructions Section 3-9

3-9 Symbol Math InstructionsInstruction

MnemonicCode

Symbol/Operand Function LocationExecution condition

SIGNED BINARY ADD WITHOUT CARRY

+@+400

OutputRequired

DOUBLE SIGNED BINARY ADD WITHOUT CARRY

+L@+L401

OutputRequired

SIGNED BINARY ADD WITH CARRY

+C@+C

402

OutputRequired

DOUBLE SIGNED BINARY ADD WITH CARRY

+CL@+CL

403

OutputRequired

BCD ADD WITHOUT CARRY

+B@+B

404

OutputRequired

Au: Augend wordAd: Addend wordR: Result word

+(400)

Au

Ad

R

Adds 4-digit (single-word) hexadecimal data and/or constants.

Au

Ad

RCY

+

(Signed binary)

(Signed binary)

(Signed binary)CY will turn ON when there is a carry.

Au: 1st augend wordAd: 1st addend wordR: 1st result word

+L(401)

Au

Ad

R

Adds 8-digit (double-word) hexadecimal data and/or constants.

Au+1

Ad+1

R+1CY

+

Au

Ad

R

(Signed binary)

(Signed binary)

(Signed binary)CY will turn ON when there is a carry.

Au: Augend wordAd: Addend wordR: Result word

+C(402)

Au

Ad

R

Adds 4-digit (single-word) hexadecimal data and/or constants with theCarry Flag (CY).

CY+

Au

Ad

RCY

(Signed binary)

(Signed binary)

(Signed binary)CY will turn ON when there is a carry.

Au: 1st augend wordAd: 1st addend wordR: 1st result word

+CL(403)

Au

Ad

R

Adds 8-digit (double-word) hexadecimal data and/or constants with the Carry Flag (CY).

Au+1

Ad+1

R+1

CY+

Au

Ad

RCY

(Signed binary)

(Signed binary)

(Signed binary)CY will turn ON when there is a carry.

Au: Augend wordAd: Addend wordR: Result word

+B(404)

Au

Ad

R

Adds 4-digit (single-word) BCD data and/or constants.

Au

Ad

RCY

+

(BCD)

(BCD)

(BCD)CY will turn ON when there is a carry.

94

Page 116: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Symbol Math Instructions Section 3-9

DOUBLE BCD ADD WITHOUT CARRY

+BL@+BL

405

OutputRequired

BCD ADD WITH CARRY

+BC@+BC

406

OutputRequired

DOUBLE BCD ADD WITH CARRY

+BCL@+BCL

407

OutputRequired

SIGNED BINARY SUBTRACT WITHOUT CARRY

–@–410

OutputRequired

DOUBLE SIGNED BINARY SUBTRACT WITHOUT CARRY

–L@–L411

OutputRequired

SIGNED BINARY SUBTRACT WITH CARRY

–C@–C

412

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

Au: 1st augend wordAd: 1st addend wordR: 1st result word

+BL(405)

Au

Ad

R

Adds 8-digit (double-word) BCD data and/or constants.

Au +1

Ad+1

R+1CY

+

Au

Ad

R

(BCD)

(BCD)

(BCD)CY will turn ON when there is a carry.

Au: Augend wordAd: Addend wordR: Result word

+BC(406)

Au

Ad

R

Adds 4-digit (single-word) BCD data and/or constants with the Carry Flag (CY).

CY+

Au

Ad

RCY

(BCD)

(BCD)

(BCD)CY will turn ON when there is a carry.

Au: 1st augend word Ad: 1st addend word R: 1st result word

+BCL(407)

Au

Ad

R

Adds 8-digit (double-word) BCD data and/or constants with the Carry Flag (CY).

Au +1

Ad+1

R+1

CY+

Au

Ad

RCY

(BCD)

(BCD)

(BCD)

CY will turn ON when there is a carry.

Mi: Minuend wordSu: Subtrahend wordR: Result word

–(410)

Mi

Su

R

Subtracts 4-digit (single-word) hexadecimal data and/or constants.

Mi

Su

RCY

(Signed binary)

(Signed binary)

(Signed binary)CY will turn ON when there is a borrow.

Mi: Minuend wordSu: Subtrahend wordR: Result word

–L(411)

Mi

Su

R

Subtracts 8-digit (double-word) hexadecimal data and/or constants.

Mi+1

Su+1

R+1CY

Mi

Su

R

(Signed binary)

(Signed binary)

(Signed binary)CY will turn ON when there is a borrow.

Mi: Minuend wordSu: Subtrahend wordR: Result word

–C(412)

Mi

Su

R

Subtracts 4-digit (single-word) hexadecimal data and/or constants with the Carry Flag (CY).

CY–

Mi

Su

RCY

(Signed binary)

(Signed binary)

(Signed binary)CY will turn ON when there is a borrow.

95

Page 117: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Symbol Math Instructions Section 3-9

DOUBLE SIGNED BINARY WITH CARRY

–CL@–CL

413

OutputRequired

BCD SUBTRACT WITHOUT CARRY

–B@–B

414

OutputRequired

DOUBLE BCD SUBTRACT WITHOUT CARRY

–BL@–BL

415

OutputRequired

BCD SUBTRACT WITH CARRY

–BC@–BC

416

OutputRequired

DOUBLE BCD SUBTRACT WITH CARRY

–BCL@–BCL

417

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

Mi: Minuend wordSu: Subtrahend wordR: Result word

–CL(413)

Mi

Su

R

Subtracts 8-digit (double-word) hexadecimal data and/or constants with the Carry Flag (CY).

Mi+1

Su+1

R+1

CY–

Mi

Su

RCY

(Signed binary)

(Signed binary)

(Signed binary)

CY will turn ON when there is a borrow.

Mi: Minuend wordSu: Subtrahend wordR: Result word

–B(414)

Mi

Su

R

Subtracts 4-digit (single-word) BCD data and/or constants.

Mi

Su

RCY

(BCD)

(BCD)

(BCD)CY will turn ON when there is a carry.

Mi: 1st minuend wordSu: 1st subtrahend wordR: 1st result word

–BL(415)

Mi

Su

R

Subtracts 8-digit (double-word) BCD data and/or constants.

Mi +1

Su+1

R+1CY

Mi

Su

R

(BCD)

(BCD)

(BCD)CY will turn ON when there is a borrow.

Mi: Minuend wordSu: Subtrahend wordR: Result word

–BC(416)

Mi

Su

R

Subtracts 4-digit (single-word) BCD data and/or constants with the Carry Flag (CY).

CY

Mi

Su

RCY

(BCD)

(BCD)

(BCD)CY will turn ON when there is a borrow.

Mi: 1st minuend wordSu: 1st subtrahend wordR: 1st result word

–BCL(417)

Mi

Su

R

Subtracts 8-digit (double-word) BCD data and/or constants with the Carry Flag (CY).

Mi +1

Su+1

R+1

CY

Mi

Su

RCY

(BCD)

(BCD)

(BCD)CY will turn ON when there is a borrow.

96

Page 118: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Symbol Math Instructions Section 3-9

SIGNED BINARY MULTIPLY

*@*420

OutputRequired

DOUBLE SIGNED BINARY MULTIPLY

*L@*L421

OutputRequired

UNSIGNED BINARY MULTIPLY

*U@*U

422

OutputRequired

DOUBLE UNSIGNED BINARY MULTIPLY

*UL@*UL

423

OutputRequired

BCD MULTIPLY*B

@*B424

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

Md: Multiplicand wordMr: Multiplier wordR: Result word

*(420)

Md

Mr

R

Multiplies 4-digit signed hexadecimal data and/or constants.

Md

Mr

R +1

×

(Signed binary)

(Signed binary)

(Signed binary)R

Md: 1st multiplicand wordMr: 1st multiplier wordR: 1st result word

*L(421)

Md

Mr

R

Multiplies 8-digit signed hexadecimal data and/or constants.

Md + 1 Md

Mr + 1 Mr

R + 1 RR + 3 R + 2

(Signed binary)

(Signed binary)

(Signed binary)

×

Md: Multiplicand wordMr: Multiplier wordR: Result word

*U(422)

Md

Mr

R

Multiplies 4-digit unsigned hexadecimal data and/or constants.

Md

Mr

R +1

×

(Unsigned binary)

(Unsigned binary)

(Unsigned binary)R

Md: 1st multiplicand wordMr: 1st multiplier wordR: 1st result word

*UL(423)

Md

Mr

R

Multiplies 8-digit unsigned hexadecimal data and/or constants.

Md + 1 Md

Mr + 1 Mr

R + 1 RR + 3 R + 2

(Unsigned binary)

(Unsigned binary)

(Unsigned binary)

×

Md: Multiplicand wordMr: Multiplier wordR: Result word

*B(424)

Md

Mr

R

Multiplies 4-digit (single-word) BCD data and/or constants.

Md

Mr

R +1

×

(BCD)

(BCD)

(BCD)R

97

Page 119: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Symbol Math Instructions Section 3-9

DOUBLE BCD MULTIPLY

*BL@*BL

425

OutputRequired

SIGNED BINARY DIVIDE

/@/

430

OutputRequired

DOUBLE SIGNED BINARY DIVIDE

/L@/L431

OutputRequired

UNSIGNED BINARY DIVIDE

/U@/U432

OutputRequired

DOUBLE UNSIGNED BINARY DIVIDE

/UL@/UL

433

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

Md: 1st multiplicand wordMr: 1st multiplier wordR: 1st result word

*BL(425)

Md

Mr

R

Multiplies 8-digit (double-word) BCD data and/or constants.

Md + 1 Md

Mr + 1 Mr

R + 1 RR + 3 R + 2

(BCD)

(BCD)

(BCD)

×

Dd: Dividend wordDr: Divisor wordR: Result word

/(430)

Dd

Dr

R

Divides 4-digit (single-word) signed hexadecimal data and/or constants.

Dd

Dr

R +1

÷

(Signed binary)

(Signed binary)

(Signed binary)

Remainder Quotient

R

Dd: 1st dividend wordDr: 1st divisor wordR: 1st result word

/L(431)

Dd

Dr

R

Divides 8-digit (double-word) signed hexadecimal data and/or constants.

Dd + 1 Dd

Dr + 1 Dr

R + 1 RR + 3 R + 2

(Signed binary)

(Signed binary)

(Signed binary)

÷

Remainder Quotient

Dd: Dividend wordDr: Divisor wordR: Result word

/U(432)

Dd

Dr

R

Divides 4-digit (single-word) unsigned hexadecimal data and/or constants.

Dd

Dr

R +1 R

÷

(Unsigned binary)

(Unsigned binary)

(Unsigned binary)

Remainder Quotient

Dd: 1st dividend wordDr: 1st divisor wordR: 1st result word

/UL(433)

Dd

Dr

R

Divides 8-digit (double-word) unsigned hexadecimal data and/or constants.

Dd + 1 Dd

Dr + 1 Dr

R + 1 RR + 3 R + 2

(Unsigned binary)

(Unsigned binary)

(Unsigned binary)

÷

Remainder Quotient

98

Page 120: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Conversion Instructions Section 3-10

3-10 Conversion Instructions

BCD DIVIDE/B

@/B434

OutputRequired

DOUBLE BCD DIVIDE

/BL@/BL

435

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

BCD-TO-BINARYBIN

@BIN023

OutputRequired

DOUBLE BCD-TO-DOUBLE BINARY

BINL@BINL

058

OutputRequired

BINARY-TO-BCDBCD

@BCD024

OutputRequired

DOUBLE BINARY-TO-DOUBLE BCD

BCDL@BCDL

059

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

Dd: Dividend wordDr: Divisor wordR: Result word

/B(434)

Dd

Dr

R

Divides 4-digit (single-word) BCD data and/or constants.

Dd

Dr

R +1 R

÷

(BCD)

(BCD)

(BCD)

Remainder Quotient

Dd: 1st dividend wordDr: 1st divisor wordR: 1st result word

/BL(435)

Dd

Dr

R

Divides 8-digit (double-word) BCD data and/or constants.

Dd + 1 Dd

Dr + 1 Dr

R + 1 RR + 3 R + 2

(BCD)

(BCD)

(BCD)

÷

Remainder Quotient

S: Source wordR: Result word

BIN(023)S

R

(BCD) (BIN)

Converts BCD data to binary data.

R

S: 1st source wordR: 1st result word

BINL(058)

S

R(BCD) (BIN)

(BCD) (BIN)R

R+1

Converts 8-digit BCD data to 8-digit hexadecimal (32-bit binary) data.

S: Source wordR: Result word

BCD(024)

S

R

(BCD)(BIN) R

Converts a word of binary data to a word of BCD data.

S: 1st source wordR: 1st result word

BCDL(059)

S

R(BIN) (BCD)

(BIN) (BCD)R

R+1

Converts 8-digit hexadecimal (32-bit binary) data to 8-digit BCD data.

99

Page 121: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Conversion Instructions Section 3-10

2’S COMPLE-MENT

NEG@NEG

160

OutputRequired

DOUBLE 2’S COMPLEMENT

NEGL@NEGL

161

OutputRequired

16-BIT TO 32-BIT SIGNED BINARY

SIGN@SIGN

600

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

S: Source wordR: Result word

NEG(160)

S

R

Calculates the 2's complement of a word of hexadecimal data.

2's complement (Complement + 1)

(R)(S)

S: 1st source wordR: 1st result word

NEGL(161)

S

R

Calculates the 2's complement of two words of hexadecimal data.

2's complement (Complement + 1)

(S+1, S) (R+1, R)

S: Source wordR: 1st result word

SIGN(600)

SR

Expands a 16-bit signed binary value to its 32-bit equivalent.

D+1 D

D = Contents of S

MSB = 0: 0000 Hex

MSB = 1: FFFF Hex

SMSB

100

Page 122: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Conversion Instructions Section 3-10

DATA DECODERMLPX

@MLPX076

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

S: Source wordC: Control wordR: 1st result word

MLPX(076)

S

C

R

l=1 (Convert 2 digits.)

n=2 (Start with second digit.)

4-to-16 bit decoding(Bit m of R is turned ON.)

C

RR+1

Reads the numerical value in the specified digit (or byte) in the source word, turns ON the corresponding bit in the result word (or 16-word range), and turns OFF all other bits in the result word (or 16-word range).4-to-16 bit conversion

8-to-256 bit conversion

l=1 (Convert 2 bytes.)

n=1 (Start with first byte.)

8-to-256 bit decoding(Bit m of R to R+15 is turned ON.)

Two 16-word ranges are used when lspecifies 2 bytes.

C

R+1

R+14R+15R+16R+17

R+30R+31

101

Page 123: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Conversion Instructions Section 3-10

DATA ENCODERDMPX

@DMPX077

OutputRequired

ASCII CONVERTASC

@ASC086

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

S: 1st source wordR: Result wordC: Control word

DMPX(077)

S

R

C

l=1 (Convert 2 words.)

n=2 (Start with digit 2.)

16-to-4 bit decoding(Location of left-most bit (m) is writ-ten to R.)

FInds leftmost bit(Highest bit address)

C

R

Leftmost bit Rightmost bit

l=0 (Convert one 16-word range.)

n=1 (Start with byte 1.)

256-to-8 bit decoding(The location of the leftmost bit in the 16-word range (m) is written to R.)

Finds leftmost bit(Highest bit address)

C

R

FInds the location of the first or last ON bit within the source word (or 16-word range), and writes that value to the specified digit (or byte) in the result word.16-to-4 bit conversion

256-to-8 bit conversion

Leftmost bit Rightmost bit

S: Source wordDi: Digit designatorD: 1st destination word

ASC(086)

SDi

D

First digit to convert

Number of digits (n+1)

Right (0)Left (1)

Di

Converts 4-bit hexadecimal digits in the source word into their 8-bit ASCII equivalents.

102

Page 124: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Conversion Instructions Section 3-10

ASCII TO HEXHEX

@HEX162

OutputRequired

COLUMN TO LINE

LINE@LINE

063

OutputRequired

LINE TO COL-UMN

COLM@COLM

064

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

S: 1st source wordDi: Digit designatorD: Destination word

HEX(162)

S

Di

D First byte to convert

Number of digits (n+1)

Right (0)Left (1)

First digit to write

C: 0021Di

Converts up to 4 bytes of ASCII data in the source word to their hexadecimal equivalents and writes these digits in the specified destination word.

S: 1st source wordN: Bit numberD: Destination word

LINE(063)

S

N

D

Converts a column of bits from a 16-word range (the same bit number in 16 consecutive words) to the 16 bits of the destination word.

0

0 0 0 1 1 1 1 0 0 0 1 0 0 0 0 1

Bit 15

Bit 00

S

N

1 1 0 1 0 0 1 0 0 1 1 1 0 0 0 1S+10 0 0 1 1 0 1 1 0 0 1 0 0 1 1 1S+2

. . .

. . .

. . .

. . .

0 1 1 0 0 0 0 1 1 0 0 0 1 0 1 0S+15

1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1S+3

0 1 1D 1

Bit 15

Bit 00

. . .

S: Source wordD: 1st destination wordN: Bit number

COLM(064)

S

D

N

Converts the 16 bits of the source word to a column of bits in a 16-word range of destination words (the same bit number in 16 consecutive words).

0

0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 1

Bit 15

Bit 00

D

Bi

1 1 0 1 0 0 1 0 0 1 1 1 0 0 0 1D+10 0 0 1 1 0 1 1 0 0 1 0 0 1 1 1D+2

. . .

. . .

.

. . .

0 1 1 1 0 0 0 1 1 0 0 0 1 0 1 0D+15

1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1D+3

0 1 1S 1

Bit 15

Bit 00

. . . . . .

. . .

103

Page 125: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Conversion Instructions Section 3-10

SIGNED BCD-TO-BINARY

BINS@BINS

470

OutputRequired

DOUBLE SIGNED BCD-TO-BINARY

BISL@BISL

472

OutputRequired

SIGNED BINARY-TO-BCD

BCDS@BCDS

471

OutputRequired

DOUBLE SIGNED BINARY-TO-BCD

BDSL@BDSL

473

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

C: Control wordS: Source wordD: Destination word

BINS(470)

C

S

D

Signed BCD formatspecified in C

Signed BCD Signed binary

Converts one word of signed BCD data to one word of signed binary data.

C: Control wordS: 1st source wordD: 1st destination word

BISL(472)

C

S

D

Signed BCD formatspecified in C

Signed BCD Signed binary

Signed BCD Signed binary

Converts double signed BCD data to double signed binary data.

C: Control wordS: Source wordD: Destination word

BCDS(471)

C

S

D

Signed BCD format specified in C

Signed BCDSigned binary

Converts one word of signed binary data to one word of signed BCD data.

C: Control wordS: 1st source wordD: 1st destination word

BDSL(473)

C

S

DSigned BCD format specified in C

Signed BCDSigned binarySigned BCDSigned binary

Converts double signed binary data to double signed BCD data.

104

Page 126: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Logic Instructions Section 3-11

3-11 Logic InstructionsInstruction

MnemonicCode

Symbol/Operand Function LocationExecution condition

LOGICAL ANDANDW

@ANDW034

OutputRequired

DOUBLE LOGI-CAL AND

ANDL@ANDL

610

OutputRequired

LOGICAL ORORW

@ORW035

OutputRequired

DOUBLE LOGI-CAL OR

ORWL@ORWL

611

OutputRequired

EXCLUSIVE ORXORW

@XORW036

OutputRequired

I1: Input 1I2: Input 2R: Result word

ANDW(034)

I1I2R

Takes the logical AND of corresponding bits in single words of word data and/or constants.

I1. I2 → R

00

I1 I2 R

1 1 1

1 0 0

0 1 0

0

I1: Input 1I2: Input 2R: Result word

ANDL(610)

I1I2R

Takes the logical AND of corresponding bits in double words of word data and/or constants.

(I1, I1+1). (I2, I2+1) → (R, R+1)

I1, I1+1 I2, I2+1 R, R+1

1 1 1

1 0 0

0 1 0

0 0 0

I1: Input 1I2: Input 2R: Result word

ORW(035)

I1I2R

Takes the logical OR of corresponding bits in single words of word data and/or constants.

I1 + I2 → R

I1 I2 R

1 1 1

1 0 1

0 1 1

0 0 0

I1: Input 1I2: Input 2R: Result word

ORWL(611)

I1I2R

Takes the logical OR of corresponding bits in double words of word data and/or constants.

(I1, I1+1) + (I2, I2+1) → (R, R+1)

I1, I1+1 I2, I2+1 R, R+1

1 1 1

1 0 1

0 1 1

0 0 0

I1: Input 1I2: Input 2R: Result word

XORW(036)

I1I2

R

Takes the logical exclusive OR of corresponding bits in single words of word data and/or constants.

I1. I2 + I1.I2 → R

I1 I2 R

1 1 0

1 0 1

0 1 1

0 0 0

105

Page 127: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Logic Instructions Section 3-11

DOUBLE EXCLUSIVE OR

XORL@XORL

612

OutputRequired

EXCLUSIVE NORXNRW

@XNRW037

OutputRequired

DOUBLE EXCLUSIVE NOR

XNRL@XNRL

613

OutputRequired

COMPLEMENTCOM

@COM029

OutputRequired

DOUBLE COM-PLEMENT

COML@COML

614

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

I1: Input 1I2: Input 2R: Result word

XORL(612)

I1I2R

Takes the logical exclusive OR of corresponding bits in double words of word data and/or constants.

(I1, I1+1). (I2, I2+1) + (I1, I1+1). (I2, I2+1)→ (R, R+1)

I1, , I1+1 I2, , I2+1 R, R+1R, R+1

1 1 0

1 0 1

0 1 1

0 0 0

I1: Input 1I2: Input 2R: Result word

XNRW(037)

I1I2R

Takes the logical exclusive NOR of corresponding single words of word data and/or constants.I1. I2 + I1.I2 → R

I1 I2 R

1 1 1

1 0 0

0 1 0

0 0 1

I1: Input 1I2: Input 2R: 1st result word

XNRL(613)

I1I2R

Takes the logical exclusive NOR of corresponding bits in double words of word data and/or constants.

(I1, I1+1). (I2, I2+1) + (I1, I1+1). (I2, I2+1) → (R, R+1)

I1, I1+1 I2, I2+1 R, R+1

1 1 1

1 0 0

0 1 0

0 0 1

Wd: Word

COM(029)

Wd

Turns OFF all ON bits and turns ON all OFF bits in Wd.

Wd→Wd: 1 → 0 and 0 → 1

Wd: Word

COML(614)

Wd

Turns OFF all ON bits and turns ON all OFF bits in Wd and Wd+1.

(Wd+1, Wd)→(Wd+1, Wd)

106

Page 128: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Special Math Instructions Section 3-12

3-12 Special Math InstructionsInstruction

MnemonicCode

Symbol/Operand Function LocationExecution condition

BINARY ROOTROTB

@ROTB620

OutputRequired

BCD SQUARE ROOT

ROOT@ROOT

072

OutputRequired

ARITHMETIC PROCESS

APR@APR

069

Calculates the sine, cosine, or a linear extrapolation of the source data.The linear extrapolation function allows any relationship between X and Y to be approximated with line segments.

OutputRequired

FLOATING POINT DIVIDE

FDIV@FDIV

079

OutputRequired

BIT COUNTERBCNT

@BCNT067

OutputRequired

S: 1st source wordR: Result word

ROTB(620)

S

R

Computes the square root of the 32-bit binary content of the specified words and outputs the integer portion of the result to the specified result word.

RS+1 S

Binary data (32 bits) Binary data (16 bits)

S: 1st source wordR: Result word

ROOT(072)

S

R

Computes the square root of an 8-digit BCD number and outputs the integer portion of the result to the specified result word.

RS+1 S

BCD data (8 digits) BCD data (4 digits)

C: Control wordS: Source dataR: Result word

APR(069)

C

S

R

Dd: 1st dividend wordDr: 1st divisor wordR: 1st result word

FDIV(079)

Dd

Dr

R

Divides one 7-digit floating-point number by another. The floating-point numbers are expressed in scientific notation (7-digit mantissa and 1-digit exponent).

R+1 R

Quotient

Dd+1 DdDr+1 Dr

N: Number of wordsS: 1st source wordR: Result word

BCNT(067)

N

S

RS+(N–1)

to

N words

Counts the number of ON bits.

Binary result

R

Counts the total number of ON bits in the specified word(s).

107

Page 129: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Floating-point Math Instructions Section 3-13

3-13 Floating-point Math InstructionsInstruction

MnemonicCode

Symbol/Operand Function LocationExecution condition

FLOATING TO 16-BIT

FIX@FIX

450

OutputRequired

FLOATING TO 32-BIT

FIXL@FIXL

451

OutputRequired

16-BIT TO FLOATING

FLT@FLT

452

OutputRequired

32-BIT TO FLOATING

FLTL@FLTL

453

OutputRequired

FLOATING-POINT ADD

+F@+F454

OutputRequired

FLOATING-POINT SUBTRACT

–F@–F455

OutputRequired

S: 1st source wordR: Result word

FIX(450)

S

R

Converts a 32-bit floating-point value to 16-bit signed binary data and places the result in the specified result word.

S+1 S

R

Floating-point data (32 bits)

Signed binary data (16 bits)

S: 1st source wordR: 1st result word

FIXL(451)

S

R

Converts a 32-bit floating-point value to 32-bit signed binary data and places the result in the specified result words.

S+1 S Floating-point data (32 bits)

Signed binary data (32 bits)

R+1 R

S: Source wordR: 1st result word

FLT(452)

S

R

Converts a 16-bit signed binary value to 32-bit floating-point data and places the result in the specified result words.

R+1 R

S

Floating-point data (32 bits)

Signed binary data (16 bits)

S: 1st source wordR: 1st result word

FLTL(453)

SR

Converts a 32-bit signed binary value to 32-bit floating-point data and places the result in the specified result words.

R+1 R

S

Floating-point data (32 bits)

Signed binary data (32 bits)

S+1

Au: 1st augend wordAD: 1st addend wordR: 1st result word

+F(454)

Au

Ad

R

Adds two 32-bit floating-point numbers and places the result in the specified result words.

R+1 R

Au Augend (floating-point data, 32 bits)

Au+1

Ad Addend (floating-point data, 32 bits)

Ad+1

Result (floating-point data, 32 bits)

+

Mi: 1st Minuend wordSu: 1st Subtrahend wordR: 1st result word

–F(455)

Mi

Su

R

Subtracts one 32-bit floating-point number from another and places the result in the specified result words.

R+1 R

Mi Minuend (floating-point data, 32 bits)

Mi+1

Su Subtrahend (floating-point data, 32 bits)

Su+1

Result (floating-point data, 32 bits)

108

Page 130: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Floating-point Math Instructions Section 3-13

FLOATING- POINT MULTIPLY

*F@*F456

OutputRequired

FLOATING- POINT DIVIDE

/F@/F457

OutputRequired

DEGREES TO RADIANS

RAD@RAD

458

OutputRequired

RADIANS TO DEGREES

DEG@DEG

459

OutputRequired

SINESIN

@SIN460

OutputRequired

COSINECOS

@COS461

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

Md: 1st Multiplicand wordMr: 1st Multiplier wordR: 1st result word

*F(456)

Md

Mr

R

Multiplies two 32-bit floating-point numbers and places the result in the specified result words.

R+1 R

Md Multiplicand (floating-point data, 32 bits)

Md+1

Mr Multiplier (floating-point data, 32 bits)

Mr+1

Result (floating-point data, 32 bits)

×

Dd: 1st Dividend wordDr: 1st Divisor wordR: 1st result word

/F(457)

Dd

Dr

R

Divides one 32-bit floating-point number by another and places the result in the specified result words.

R+1 R

Dd Dividend (floating-point data, 32 bits)

Dd+1

Dr Divisor (floating-point data, 32 bits)

Dr+1

Result (floating-point data, 32 bits)

÷

S: 1st source wordR: 1st result word

RAD(458)

S

R

Converts a 32-bit floating-point number from degrees to radians and places the result in the specified result words.

R+1 R

S Source (degrees, 32-bit floating-point data)

S+1

Result (radians, 32-bit floating-point data)

S: 1st source wordR: 1st result word

DEG(459)

S

R

Converts a 32-bit floating-point number from radians to degrees and places the result in the specified result words.

R+1 R

S Source (radians, 32-bit floating-point data)

S+1

Result (degrees, 32-bit floating-point data)

S: 1st source wordR: 1st result word

SIN(460)

S

R

Calculates the sine of a 32-bit floating-point number (in radians) and places the result in the specified result words.

R+1 R

S Source (32-bit floating-point data)

S+1

Result (32-bit floating-point data)

SIN

S: 1st source wordR: 1st result word

COS(461)

S

R

Calculates the cosine of a 32-bit floating-point number (in radians) and places the result in the specified result words.

R+1 R

SSource (32-bit floating-point data)

S+1

Result (32-bit floating-point data)

COS

109

Page 131: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Floating-point Math Instructions Section 3-13

TANGENTTAN

@TAN462

OutputRequired

ARC SINEASIN

@ASIN463

OutputRequired

ARC COSINEACOS

@ACOS464

OutputRequired

ARC TANGENTATAN

@ATAN465

OutputRequired

SQUARE ROOTSQRT

@SQRT466

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

S: 1st source wordR: 1st result word

TAN(462)

S

R

Calculates the tangent of a 32-bit floating-point number (in radians) and places the result in the specified result words.

R+1 R

S Source (32-bit floating-point data)

S+1

Result (32-bit floating-point data)

TAN

S: 1st source wordR: 1st result word

ASIN(463)

S

R

Calculates the arc sine of a 32-bit floating-point number and places the result in the specified result words. (The arc sine function is the inverse of the sine function; it returns the angle that produces a given sine value between −1 and 1.)

R+1 R

SSource (32-bit floating-point data)

S+1

Result (32-bit floating-point data)

SIN-1

S: 1st source wordR: 1st result word

ACOS(464)

S

R

Calculates the arc cosine of a 32-bit floating-point number and places the result in the specified result words. (The arc cosine function is the inverse of the cosine function; it returns the angle that produces a given cosine value between −1 and 1.)

R+1 R

SSource (32-bit floating-point data)

S+1

Result (32-bit floating-point data)

COS-1

S: 1st source wordR: 1st result word

ATAN(465)

S

R

Calculates the arc tangent of a 32-bit floating-point number and places the result in the specified result words. (The arc tangent function is the inverse of the tangent function; it returns the angle that produces a given tangent value.)

R+1 R

SSource (32-bit floating-point data)

S+1

Result (32-bit floating-point data)

TAN-1

S: 1st source wordR: 1st result word

SQRT(466)

S

R

Calculates the square root of a 32-bit floating-point number and places the result in the specified result words.

R+1 R

SSource (32-bit floating-point data)

S+1

Result (32-bit floating-point data)

110

Page 132: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Floating-point Math Instructions Section 3-13

EXPONENTEXP

@EXP467

OutputRequired

LOGARITHMLOG

@LOG468

OutputRequired

EXPONENTIAL POWER

PWR@PWR

840

OutputRequired

Floating Symbol Comparison(CS1-H, CJ1-H, or CJ1M only)

LD, AND. or OR+

=F (329),<>F (330),

<F (331),<=F (332),

>F (333),or >=F (334)

Compares the specified single-precision data (32 bits) or constants and creates an ON execution condition if the comparison result is true.Three kinds of symbols can be used with the floating-point symbol comparison instructions: LD (Load), AND, and OR.

LD:Not required

AND or OR:Required

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

S: 1st source wordR: 1st result word

EXP(467)

S

R

Calculates the natural (base e) exponential of a 32-bit floating-point number and places the result in the specified result words.

R+1 R

SSource (32-bit floating-point data)

S+1

Result (32-bit floating-point data)

e

S: 1st source wordR: 1st result word

LOG(468)

S

R

Calculates the natural (base e) logarithm of a 32-bit floating-point number and places the result in the specified result words.

R+1 R

SSource (32-bit floating-point data)

S+1

Result (32-bit floating-point data)

loge

B: 1st base wordE: 1st exponent wordR: 1st result word

PWR(840)

B

E

R

Raises a 32-bit floating-point number to the power of another 32-bit floating-point number.

R+1 RB+1 S

EE+1Power

Base

S1: Comparison data 1S2: Comparison data 2

Symbol, option

S1

S2

Using LD:

Symbol, option

S1

S2

Using AND:

Symbol, option

S1

S2

Using OR:

111

Page 133: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Double-precision Floating-point Instructions (CS1-H, CJ1-H, or CJ1M Only) Section 3-14

3-14 Double-precision Floating-point Instructions�(CS1-H, CJ1-H, or CJ1M Only)�

FLOATING- POINT TO ASCII(CS1-H, CJ1-H, or CJ1M only)

FSTR@FSTR

448

Converts the specified single-precision floating-point data (32-bit decimal-point or exponential format) to text string data (ASCII) and outputs the result to the destination word.

Output required

ASCII TO FLOAT-ING-POINT(CS1-H, CJ1-H, or CJ1M only)

FVAL@FVAL

449

Converts the specified text string (ASCII) representation of single-precision floating-point data (decimal-point or exponential format) to 32-bit single-preci-sion floating-point data and outputs the result to the destination words.

Output required

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

DOUBLE FLOAT-ING TO 16-BIT BINARY

FIXD@FIXD

841

Converts the specified double-precision floating-point data (64 bits) to 16-bit signed binary data and outputs the result to the destination word.

OutputRequired

DOUBLE FLOAT-ING TO 32-BIT BINARY

FIXLD@FIXLD

842

Converts the specified double-precision floating-point data (64 bits) to 32-bit signed binary data and outputs the result to the destination words.

OutputRequired

16-BIT BINARY TO DOUBLE FLOATING

DBL@DBL

843

Converts the specified 16-bit signed binary data to double-precision floating-point data (64 bits) and outputs the result to the destination words.

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

S: 1st source wordC: Control wordD: Destination word

FSTR(448)

S

C

D

S: Source wordD: 1st destination word

FVAL(449)

S

D

S: 1st source wordD: Destination word

FIXD(841)

S

D

S: 1st source wordD: 1st destination word

FIXLD(842)

S

D

S: Source wordD: 1st destination word

DBL(843)

S

D

112

Page 134: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Double-precision Floating-point Instructions (CS1-H, CJ1-H, or CJ1M Only) Section 3-14

32-BIT BINARY TO DOUBLE FLOATING

DBLL@DBLL

844

Converts the specified 32-bit signed binary data to double-precision floating-point data (64 bits) and outputs the result to the destination words.

OutputRequired

DOUBLE FLOAT-ING-POINT ADD

+D@+D

845

Adds the specified double-precision floating-point values (64 bits each) and outputs the result to the result words.

OutputRequired

DOUBLE FLOAT-ING-POINT SUB-TRACT

�D@�D

846

Subtracts the specified double-precision floating-point values (64 bits each) and outputs the result to the result words.

OutputRequired

DOUBLE FLOAT-ING-POINT MUL-TIPLY

�D@�D

847

Multiplies the specified double-precision floating-point values (64 bits each) and outputs the result to the result words.

OutputRequired

DOUBLE FLOAT-ING-POINT DIVIDE

/D@/D848

Divides the specified double-precision floating-point values (64 bits each) and outputs the result to the result words.

OutputRequired

DOUBLE DEGREES TO RADIANS

RADD@RADD

849

Converts the specified double-precision floating-point data (64 bits) from degrees to radians and outputs the result to the result words.

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

S: 1st source wordD: 1st destination word

DBLL(844)

S

D

Au: 1st augend wordAd: 1st addend wordR: 1st result word

+D(845)

Au

Ad

R

Mi: 1st minuend wordSu: 1st subtra-hend wordR: 1st result word

−D(846)

Mi

Su

R

Md: 1st multipli-cand wordMr: 1st multiplier wordR: 1st result word

*D(847)

Md

Mr

R

Dd: 1st Dividend wordDr: 1st divisor wordR: 1st result word

/D(848)

Dd

Dr

R

S: 1st source wordR: 1st result word

RADD(849)

S

R

113

Page 135: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Double-precision Floating-point Instructions (CS1-H, CJ1-H, or CJ1M Only) Section 3-14

DOUBLE RADI-ANS TO DEGREES

DEGD@DEGD

850

Converts the specified double-precision floating-point data (64 bits) from radi-ans to degrees and outputs the result to the result words.

OutputRequired

DOUBLE SINESIND

@SIND851

Calculates the sine of the angle (radians) in the specified double-precision floating-point data (64 bits) and outputs the result to the result words.

OutputRequired

DOUBLE COSINE

COSD@COSD

852

Calculates the cosine of the angle (radians) in the specified double-precision floating-point data (64 bits) and outputs the result to the result words.

OutputRequired

DOUBLE TAN-GENT

TAND@TAND

853

Calculates the tangent of the angle (radians) in the specified double-precision floating-point data (64 bits) and outputs the result to the result words.

OutputRequired

DOUBLE ARC SINE

ASIND@ASIND

854

Calculates the angle (in radians) from the sine value in the specified double-precision floating-point data (64 bits) and outputs the result to the result words. (The arc sine function is the inverse of the sine function; it returns the angle that produces a given sine value between �1 and 1.)

OutputRequired

DOUBLE ARC COSINE

ACOSD@ACOSD

855

Calculates the angle (in radians) from the cosine value in the specified double-precision floating-point data (64 bits) and outputs the result to the result words. (The arc cosine function is the inverse of the cosine function; it returns the angle that produces a given cosine value between �1 and 1.)

OutputRequired

DOUBLE ARC TANGENT

ATAND@ATAND

856

Calculates the angle (in radians) from the tangent value in the specified double-precision floating-point data (64 bits) and outputs the result to the result words. (The arc tangent function is the inverse of the tangent function; it returns the angle that produces a given tangent value.)

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

S: 1st source wordR: 1st result word

DEGD(850)

S

R

S: 1st source wordR: 1st result word

SIND(851)

S

R

S: 1st source wordR: 1st result word

COSD(852)

S

R

S: 1st source wordR: 1st result word

TAND(853)

S

R

S: 1st source wordR: 1st result word

ASIND(854)

S

R

S: 1st source wordR: 1st result word

ACOSD(855)

S

R

S: 1st source wordR: 1st result word

ATAND(856)

S

R

114

Page 136: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Double-precision Floating-point Instructions (CS1-H, CJ1-H, or CJ1M Only) Section 3-14

DOUBLE SQUARE ROOT

SQRTD@SQRTD

857

Calculates the square root of the specified double-precision floating-point data (64 bits) and outputs the result to the result words.

OutputRequired

DOUBLE EXPO-NENT

EXPD@EXPD

858

Calculates the natural (base e) exponential of the specified double-precision floating-point data (64 bits) and outputs the result to the result words.

OutputRequired

DOUBLE LOGA-RITHM

LOGD@LOGD

859

Calculates the natural (base e) logarithm of the specified double-precision float-ing-point data (64 bits) and outputs the result to the result words.

OutputRequired

DOUBLE EXPO-NENTIAL POWER

PWRD@PWRD

860

Raises a double-precision floating-point number (64 bits) to the power of another double-precision floating-point number and outputs the result to the result words.

OutputRequired

DOUBLE SYM-BOL COMPARI-SON

LD, AND. or OR+

=D (335),<>D (336),

<D (337),<=D (338),

>D (339),or >=D (340)

Compares the specified double-precision data (64 bits) and creates an ON exe-cution condition if the comparison result is true.Three kinds of symbols can be used with the floating-point symbol comparison instructions: LD (Load), AND, and OR.

LD:Not required

AND or OR:Required

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

S: 1st source wordR: 1st result word

SQRTD(857)

S

R

S: 1st source wordR: 1st result word

EXPD(858)

S

R

S: 1st source wordR: 1st result word

LOGD(859)

S

R

B: 1st base wordE: 1st exponent wordR: 1st result word

PWRD(860)

B

E

R

S1: Comparison data 1S2: Comparison data 2

Symbol, option

S1

S2

Using LD:

Symbol, option

S1

S2

Using AND:

Symbol, option

S1

S2

Using OR:

115

Page 137: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Table Data Processing Instructions Section 3-15

3-15 Table Data Processing InstructionsInstruction

MnemonicCode

Symbol/Operand Function LocationExecution condition

SET STACKSSET

@SSET630

OutputRequired

PUSH ONTO STACK

PUSH@PUSH

632

OutputRequired

LAST IN FIRST OUT

LIFO@LIFO

634

OutputRequired

FIRST IN FIRST OUT

FIFO@FIFO

633

OutputRequired

TB: 1st stack addressN: Number of words

SSET(630)

TB

N

m+(N-1)

m+(N–1)

Last word in stack

Stack pointer

PLC memoryaddress

N words in stack

TB

TB+1

TB+2

TB+3

Defines a stack of the specified length beginning at the specified word and initializes the words in the data region to all zeroes.

TB: 1st stack addressS: Source word

PUSH(632)

TB

S

PLC memoryaddress

PUSH(632)

PLC memoryaddress

TB

TB+1

TB+2

TB+3

TB

TB+1

TB+2

TB+3

Writes one word of data to the specified stack.

TB: 1st stack addressD: Destination word

LIFO(634)

TB

DTB

TB+1

TB+2

TB+3

TB

TB+1

TB+2

TB+3

m–1

m–1

m–1

PLC memoryaddress

Newest data

PLC memoryaddress

Last-in first-out

Stack pointer

Stack pointer

A is left un-chang-ed.

The pointer is decremented.

Reads the last word of data written to the specified stack (the newest data in the stack).

TB: 1st stack addressD: Destination word

FIFO(633)

TB

D

m–1

m–1

PLC memoryaddress

Oldest data

PLC memoryaddress

First-in first-out

Stack pointer

Stack pointer

TB

TB+1

TB+2

TB+3

TB

TB+1

TB+2

TB+3

Reads the first word of data written to the specified stack (the oldest data in the stack).

116

Page 138: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Table Data Processing Instructions Section 3-15

DIMENSION RECORD TABLE

DIM@DIM

631

OutputRequired

SET RECORD LOCATION

SETR@SETR

635

OutputRequired

GET RECORD NUMBER

GETR@GETR

636

OutputRequired

DATA SEARCHSRCH

@SRCH181

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

N: Table numberLR: Length of each recordNR: Number of recordsTB: 1st table word

DIM(631)

N

LR

NR

TB

Number of records

Table number (N)

LR x NR words

Record NR−1

Record 0

Defines a record table by declaring the length of each record and the number of records. Up to 16 record tables can be defined.

Record 1

Record

Record

Record

N: Table numberR: Record numberD: Destination Index Register

SETR(635)

N

R

D

Record number (R)

Table number (N)PLC memoryaddress

SETR(635) writes the PLC memory ad-dress (m) of the first word of record R to Index Register D.R

Writes the location of the specified record (the PLC memory address of the beginning of the record) in the specified Index Register.

N: Table numberIR: Index RegisterD: Destination word

GETR(636)

N

IR

D

Record number (R)

Table number (N) PLC memoryaddress

IR

n

Returns the record number of the record at the PLC memory address contained in the specified Index Register.

GETR(636) writes the record number of the record that in-cludes I/O memory address (m) to D.

C: 1st control wordR1: 1st word in rangeCd: Comparison data

SRCH(181)

C

R1

Cd

R1+(C–1)

PLC memoryaddress

Search

Match

C

R1

Cd

Searches for a word of data within a range of words.

117

Page 139: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Table Data Processing Instructions Section 3-15

SWAP BYTESSWAP

@SWAP637

OutputRequired

FIND MAXIMUMMAX

@MAX182

OutputRequired

FIND MINIMUMMIN

@MIN183

OutputRequired

SUMSUM

@SUM184

OutputRequired

FRAME CHECKSUM

FCS@FCS

180

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

N: Number of wordsR1: 1st word in range

SWAP(637)

N

R1

Byte position is swapped.

N

R1

Switches the leftmost and rightmost bytes in all of the words in the range.

C: 1st control wordR1: 1st word in rangeD: Destination word

MAX(182)

C

R1

D

R1+(W–1)

R1

PLC memoryaddress

Max. value

C words

Finds the maximum value in the range.

C: 1st control wordR1: 1st word in rangeD: Destination word

MIN(183)

C

R1

D

R1+(W–1)

R1

PLC memoryaddress

Min. value

C words

Finds the minimum value in the range.

C: 1st control wordR1: 1st word in rangeD: 1st destination word

SUM(184)

C

R1

D

)R1+(W–1)

R1

Adds the bytes or words in the range and outputs the result to two words.

C: 1st control wordR1: 1st word in rangeD: 1st destination word

FCS(180)

C

R1

D

C units

CalculationFCS value

ASCII conversion

R1

Calculates the ASCII FCS value for the specified range.

118

Page 140: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Table Data Processing Instructions Section 3-15

STACK SIZE READ(CS1-H, CJ1-H, or CJ1M only)

SNUM@SNUM

638

Counts the amount of stack data (number of words) in the specified stack. Output required

STACK DATA READ(CS1-H, CJ1-H, or CJ1M only)

SREAD@SREAD

639

Reads the data from the specified data element in the stack. The offset value indicates the location of the desired data element (how many data elements before the current pointer position).

Output required

STACK DATA OVERWRITE(CS1-H, CJ1-H, or CJ1M only)

SWRIT@SWRIT

640

Writes the source data to the specified data element in the stack (overwriting the existing data). The offset value indicates the location of the desired data element (how many data elements before the current pointer position).

Output required

STACK DATA INSERT(CS1-H, CJ1-H, or CJ1M only)

SINS@SINS

641

Inserts the source data at the specified location in the stack and shifts the rest of the data in the stack downward. The offset value indicates the location of the insertion point (how many data elements before the current pointer position).

Output required

STACK DATA DELETE(CS1-H, CJ1-H, or CJ1M only)

SDEL@SDEL

642

Deletes the data element at the specified location in the stack and shifts the rest of the data in the stack upward. The offset value indicates the location of the deletion point (how many data elements before the current pointer position).

Output required

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

TB: First stack addressD: Destination word

SNUM(638)

TB

D

TB: First stack addressC: Offset valueD: Destination word

SREAD(639)

TB

C

D

TB: First stack addressC: Offset valueS: Source data

SWRIT(640)

TB

C

S

TB: First stack addressC: Offset valueS: Source data

SINS(641)

TB

C

S

TB: First stack addressC: Offset valueD: Destination word

SDEL(642)

TB

C

D

119

Page 141: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Data Control Instructions Section 3-16

3-16 Data Control InstructionsInstruction

MnemonicCode

Symbol/Operand Function LocationExecution condition

PID CONTROLPID190

OutputRequired

PID CONTROL WITH AUTO TUNING(CS1-H, CJ1-H, or CJ1M only)

PIDAT191

Executes PID control according to the specified parameters. The PID con-stants can be auto-tuned with PIDAT(191).

Output required

LIMIT CONTROLLMT

@LMT680

OutputRequired

DEAD BAND CONTROL

BAND@BAND

681

OutputRequired

S: Input wordC: 1st parameter wordD: Output word

PID(190)

S

C

D PV input (S) PID control

Manipulated variable (D)

Parameters (C to C+8)

Executes PID control according to the specified parameters.

S: Input wordC: 1st parameter wordD: Output word

PIDAT(191)

S

C

D

S: Input wordC: 1st limit wordD: Output word

LMT(680)

S

C

D

Upper limit C+1

Lower limit C

Controls output data according to whether or not input data is within upper and lower limits.

S: Input wordC: 1st limit wordD: Output word

BAND(681)

S

C

D

Upper limit (C+1)

Output

Input

Lower limit (C)

Controls output data according to whether or not input data is within the dead band range.

120

Page 142: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Data Control Instructions Section 3-16

DEAD ZONE CONTROL

ZONE@ZONE

682

OutputRequired

SCALINGSCL

@SCL194

OutputRequired

SCALING 2SCL2

@SCL2486

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

S: Input wordC: 1st limit wordD: Output word

ZONE(682)

S

C

DPositive bias (C+1)

Output

Input

Negative bias (C)

Adds the specified bias to input data and outputs the result.

S: Source wordP1: 1st parameter wordR: Result word

SCL(194)

S

P1

R(BCD)

(BIN)

(BCD)

(BIN)

R (unsigned BCD)

Point A

Point B

S (unsigned binary)

PP1 + 1

P1 + 2

P1 + 3

Converted value

Converted value

Scaling is performed according to the linear function defined by points A and B.

Converts unsigned binary data into unsigned BCD data according to the specified linear function.

S: Source wordP1: 1st parameter wordR: Result word

SCL2(486)

S

P1

R

∆Y

∆X

∆Y

∆X

∆Y

∆X

∆Y

∆X

R (signed BCD)

S (signed binary)

P1

P1 + 1

P1 + 2

Positive Offset

Offset

R (signed BCD)

S (signed binary)

Negative Offset

Offset

R (signed BCD)

S (signed binary)

Offset of 0000

Offset = 0000 hex

Offset (Signed binary)

(Signed binary)

(Signed BCD)

Converts signed binary data into signed BCD data according to the specified linear function. An offset can be input in defining the linear function.

121

Page 143: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Data Control Instructions Section 3-16

SCALING 3SCL3

@SCL3487

OutputRequired

AVERAGEAVG195

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

S: Source wordP1: 1st parameter wordR: Result word

SCL3(487)

S

P1

R R (signed binary)

S (signed BCD)

Positive Offset

Offset

R (signed binary)

S (signed BCD)

Negative Offset

Offset

∆X

∆Y

R (signed binary)

S (signed BCD)

Offset of 0000

∆X

∆Y

Max conver-sion

Min. conver-sion

Max conversion

Min. conversion

Max conver-sion

Min. conversion

∆X

∆Y

Converts signed BCD data into signed binary data according to the specified linear function. An offset can be input in defining the linear function.

S: Source wordN: Number of cyclesR: Result word

AVG(195)

S

N

R

S: Source word

N: Number of cycles

Average

N values

Pointer

Average Valid Flag

R + N + 1

R

R + 1

R + 2

R + 3

Calculates the average value of an input word for the specified number of cycles.

122

Page 144: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Subroutine Instructions Section 3-17

3-17 Subroutine InstructionsInstruction

MnemonicCode

Symbol/Operand Function LocationExecution condition

SUBROUTINE CALL

SBS@SBS

091

OutputRequired

MACROMCRO

@MCRO099

OutputRequired

SUBROUTINE ENTRY

SBN092

OutputNot required

SUBROUTINE RETURN

RET093

Indicates the end of a subroutine program. OutputNot required

N: Subroutine number

SBS(091)

N

Main program

Subroutine program(SBN(092) to RET(093))

Execution condition ON

Program end

Calls the subroutine with the specified subroutine number and executes that program.

N: Subroutine numberS: 1st input parameter wordD: 1st output parameter word

MCRO(099)

N

S

DMCRO(099)

MCRO(099)

Execution of subroutine between SBN(092) and RET(093).

The subroutine uses A600 to A603 as inputs and A604 to A607 as outputs.

Calls the subroutine with the specified subroutine number and executes that program using the input parameters in S to S+3 and the output parameters in D to D+3.

N: Subroutine number

SBN(092)

N

Subroutine region

or

Indicates the beginning of the subroutine program with the specified subroutine number.

RET(093)

123

Page 145: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Subroutine Instructions Section 3-17

GLOBAL SUB-ROUTINE CALL(CS1-H, CJ1-H, or CJ1M only)

GSBS750

Calls the subroutine with the specified subroutine number and executes that program.

OutputNot required

GLOBAL SUB-ROUTINE ENTRY(CS1-H, CJ1-H, or CJ1M only)

GSBN751

Indicates the beginning of the subroutine program with the specified subroutine number.

OutputNot required

GLOBAL SUB-ROUTINE RETURN(CS1-H, CJ1-H, or CJ1M only)

GRET752

Indicates the end of a subroutine program. OutputNot required

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

N: Subroutine number

GSBS(750)

N

N: Subroutine number

GSBN(751)

N

GRET(752)

124

Page 146: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Interrupt Control Instructions Section 3-18

3-18 Interrupt Control InstructionsInstruction

MnemonicCode

Symbol/Operand Function LocationExecution condition

SET INTERRUPT MASK

MSKS@MSKS

690

OutputRequired

READ INTER-RUPT MASK

MSKR@MSKR

692

Reads the current interrupt processing settings that were set with MSKS(690). OutputRequired

CLEAR INTERRUPT

CLI@CLI

691

OutputRequired

N: Interrupt identifierS: Interrupt data

MSKS(690)

N

SInterrupt Input Unit 0 to 3

Mask (1) or unmask (0) interrupt inputs 0 to 7.

I/O interrupt

Time interval

Set scheduled interrupt time interval.

Scheduled interrupt

Sets up interrupt processing for I/O interrupts or scheduled interrupts. Both I/O interrupt tasks and scheduled interrupt tasks are masked (disabled) when the PC is first turned on. MSKS(690) can be used to unmask or mask I/O interrupts and set the time intervals for scheduled interrupts.(I/O Interrupts are not supported by CJ1 CPU Units.)

N: Interrupt identifierD: Destination word

MSKR(692)

N

D

N: Interrupt identifierS: Interrupt data

CLI(691)

N

S Interruptinput n

Recorded interrupt cleared

Internalstatus

Recorded interrupt retained

Interrupt input n

Internal status

Time to first scheduled interrupt

Execution of scheduled interrupt task.

MSKS(690)

Clears or retains recorded interrupt inputs for I/O interrupts or sets the time to the first scheduled interrupt for scheduled interrupts.N = 0 to 3 (I/O Interrupts are not supported by CJ1 CPU Units.)

N = 4 to 5

125

Page 147: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Interrupt Control Instructions Section 3-18

DISABLE INTERRUPTS

DI@DI693

OutputRequired

ENABLE INTERRUPTS

EI694

OutputNot required

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

DI(693)

Disables execution of all interrupt tasks (except the power OFF interrupt).

Disables execution of all interrupt tasks except the power OFF interrupt.

EI(694)

Disables execution of all interrupt tasks (except the power OFF interrupt).

Enables execution of all disabled interrupt tasks.

Enables execution of all interrupt tasks that were disabled with DI(693).

126

Page 148: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

High-speed Counter and Pulse Output Instructions (CJ1M-CPU22/23 Only) Section 3-19

3-19 High-speed Counter and Pulse Output Instructions (CJ1M-CPU22/23 Only)

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

MODE CONTROLINI

@INI880

P: Port specifierC: Control dataNV: 1st word with new PV

INI(880) is used to start and stop target value comparison, to change the present value (PV) of a high-speed counter, to change the PV of an interrupt input (counter mode), to change the PV of a pulse output, or to stop pulse output.

OutputRequired

HIGH-SPEED COUNTER PV READ

PRV@PRV

881

P: Port specifierC: Control dataD: 1st destination word

PRV(881) is used to read the present value (PV) of a high-speed counter, pulse output, or interrupt input (counter mode).

OutputRequired

COMPARISON TABLE LOAD

CTBL@CTBL

882

P: Port specifierC: Control dataTB: 1st compari-son table word

CTBL(882) is used to perform target value or range comparisons for the present value (PV) of a high-speed counter.

OutputRequired

SPEED OUTPUTSPED

@SPED885

P: Port specifierM: Output modeF: 1st pulse fre-quency word

SPED(885) is used to specify the frequency and perform pulse output without acceleration or deceleration.

OutputRequired

SET PULSESPULS

@PULS886

P: Port specifierT: Pulse type N: Number of pulses

PULS(886) is used to set the number of pulses for pulse output. OutputRequired

INI

P

C

NV

PRV

P

C

D

CTBL

P

C

TB

SPED

P

M

F

PULS

P

T

N

127

Page 149: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Step Instructions Section 3-20

3-20 Step Instructions

PULSE OUTPUTPLS2

@PLS2887

P: Port specifierM: Output modeS: 1st word of set-tings tableF: 1st word of starting frequency

PLS2(887) is used to set the pulse frequency and acceleration/deceleration rates, and to perform pulse output with acceleration/deceleration (with different acceleration/deceleration rates). Only positioning is possible.

OutputRequired

ACCELERATION CONTROL

ACC@ACC

888

P: Port specifierM: Output modeS: 1st word of set-tings table

ACC(888) is used to set the pulse frequency and acceleration/deceleration rates, and to perform pulse output with acceleration/deceleration (with the same acceleration/deceleration rate). Both positioning and speed control are possible.

OutputRequired

ORIGIN SEARCHORG

@ORG889

P: Port specifierC: Control data

ORG(889) is used to perform origin searches and returns. OutputRequired

PULSE WITH VARIABLE DUTY FACTOR

PWM@

891

P: Port specifierF: FrequencyD: Duty factor

PWM(891) is used to output pulses with a variable duty factor. OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

STEP DEFINESTEP

008

STEP(008) functionS in following 2 ways, depending on its position and whether or not a control bit has been specified.(1)Starts a specific step.(2)Ends the step programming area (i.e., step execution).

OutputRequired

STEP STARTSNXT

009

SNXT(009) is used in the following three ways:(1)To start step programming execution.(2)To proceed to the next step control bit.(3)To end step programming execution.

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

PLS2

P

M

S

F

ACC

P

M

S

ORG

P

C

PWM

P

F

D

B: Bit

STEP(008)

B

B: Bit

SNXT(009)

B

128

Page 150: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Basic I/O Unit Instructions Section 3-21

3-21 Basic I/O Unit InstructionsInstruction

MnemonicCode

Symbol/Operand Function LocationExecution condition

I/O REFRESHIORF

@IORF097

OutputRequired

7-SEGMENT DECODER

SDEC@SDEC

078

OutputRequired

INTELLIGENT I/O READ

IORD@IORD

222

OutputRequired

St: Starting wordE: End word

IORF(097)

St

E

I/O bit area orSpecial I/O Unit bit area

I/O Unit orSpecial I/O Unit

I/O refreshingSt

E

Refreshes the specified I/O words.

S: Source wordDi: Digit designatorD: 1st destination word

SDEC(078)

S

Di

DNumber of digits

First digit to convert

Rightmost 8 bits (0)

Di

7-segment

Converts the hexadecimal contents of the designated digit(s) into 8-bit, 7-segment display code and places it into the upper or lower 8-bits of the specified destination words.

C: Control dataS: Transfer source and number of wordsD: Transfer destination and number of words

IORD(222)

C

S

D

Desig-nated number of words read.

SS+1

Unit number of Special I/O Unit

Reads the contents of the I/O Unit's memory area.

129

Page 151: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Serial Communications Instructions Section 3-22

3-22 Serial Communications Instructions

INTELLIGENT I/O WRITE

IOWR@IOWR

223

OutputRequired

CPU BUS UNIT I/O REFRESH (CS1-H, CJ1-H, or CJ1M only)

DLNK@DLNK

226

Immediately refreshes the I/O in the CPU Bus Unit with the specified unit num-ber.

Output required

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

PROTOCOL MACRO

PMCR@PMCR

260

OutputRequired

TRANSMITTXD

@TXD236

Outputs the specified number of bytes of data from the RS-232C port built into the CPU Unit.

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

C: Control dataS: Transfer source and number of wordsD: Transfer destination and number of words

IOWR(223)

C

S

D

Desig-nated number of words writ-ten.

DD+1

Unit number of Special I/O Unit

Outputs the contents of the CPU Unit's I/O memory area to the Special I/O Unit.

N: Unit number

DLNK(226)

N

C1:Control word 1C2: Control word 2S: 1st send wordR: 1st receive word

PMCR(260)

C1

C2

S

Rto

toR

CPU Unit Serial Communications Unit

External device

Port

S

Calls and executes a communications sequence registered in a Serial Communications Board (CS Series only) or Unit

Communicationssequence number

S: 1st source wordC: Control wordN: Number of bytes 0000 to 0100 hex (0 to 256 decimal)

TXD(236)

S

C

N

130

Page 152: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Network Instructions Section 3-23

3-23 Network Instructions

RECEIVERXD

@RXD235

Reads the specified number of bytes of data from the RS-232C port built into the CPU Unit.

OutputRequired

CHANGE SERIAL PORT SETUP

STUP@STUP

237

Changes the communications parameters of a serial port on the CPU Unit, Serial Communications Unit (CPU Bus Unit), or Serial Communications Board (CS Series only). STUP(237) thus enables the protocol mode to be changed during PLC operation.

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

NETWORK SENDSEND

@SEND090

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

D: 1st destination wordC: Control wordN: Number of bytes to store 0000 to 0100 hex (0 to 256 decimal)

RXD(235)

D

C

N

C: Control word (port)S: First source word

STUP(237)

C

S

S: 1st source wordD: 1st destination wordC: 1st control word

SEND(090)

S

D

CD

15 0

n

S

15 0

n: No. of send words

Transmits data to a node in the network.

Local node Destination node

131

Page 153: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Network Instructions Section 3-23

NETWORK RECEIVE

RECV@RECV

098

OutputRequired

DELIVER COMMAND

CMND@CMND

490

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

S: 1st source wordD: 1st destination wordC: 1st control word

RECV(098)

S

D

C D15 0 15 0

S

m n

Requests data to be transmitted from a node in the network and receives the data.

Source nodeLocal node

S: 1st command wordD: 1st response wordC: 1st control word

CMND(490)

S

D

C

D

15 0

15 0

S

2m

+(D–1)

2n

+

(S–1)

Sends FINS commands and receives the response.

Destination nodeLocal node

Re-sponse data (m bytes)

Command

Response

Interpret

Execute

Com-mand data (n bytes)

132

Page 154: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

File Memory Instructions Section 3-24

3-24 File Memory InstructionsInstruction

MnemonicCode

Symbol/Operand Function LocationExecution condition

READ DATA FILEFREAD

@FREAD700

OutputRequired

WRITE DATA FILE

FWRIT@FWRIT

701

OutputRequired

C: Control wordS1: 1st source wordS2: FilenameD: 1st destination word

FREAD(700)

C

S1

S2

D

Memory Card or EM file memory(Specified by the 4th digit of C.)

File specified in S2 CPU Unit

Number of words

Number of words written to D and D+1.

Reads the specified data or amount of data from the specified data file in file memory to the specified data area in the CPU Unit.

Memory Card or EM file memory(Specified by the 4th digit of C.)

Starting read addressspecified in S1+2 and S1+3

File specified in S2 CPU Unit

Number of words specified in S1 and S1+1

D

C: Control wordD1: 1st destination wordD2: FilenameS: 1st source word

FWRIT(701)

C

D1

D2

S

Memory Card or EM file memory(Specified by the 4th digit of C.)

File specified in D2CPU Unit Starting word specified in D1+2 and D1+3

Number of words specified in D1 and D1+1

Overwrite

Starting address specified in S

Memory Card or EM file memory(Specified by the 4th digit of C.)

File specified in D2CPU UnitEnd of file

Number of words specified in D1 and D1+1

Append

Starting address specified in S

Existing data

Memory Card or EM file memory(Specified by the 4th digit of C.)

File speci-fied in D2CPU Unit

Beginning of file

Number of words specified in D1 and D1+1

Starting address specified in S

New file created

Overwrites or appends data in the specified data file in file memory with the specified data from the data area in the CPU Unit. If the specified file doesn't exist, a new file is created with that filename.

133

Page 155: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Display Instructions Section 3-25

3-25 Display Instructions

3-26 Clock Instructions

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

DISPLAY MESSAGE

MSG@MSG

046

Reads the specified sixteen words of extended ASCII and displays the mes-sage on a Peripheral Device such as a Programming Console.

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

CALENDAR ADDCADD

@CADD730

OutputRequired

CALENDAR SUBTRACT

CSUB@CSUB

731

OutputRequired

N: Message numberM: 1st message word

MSG(046)

N

M

C: 1st calendar wordT: 1st time wordR: 1st result word

CADD(730)

C

T

R

Minutes SecondsDay HourYear Month

Minutes SecondsHours

Minutes SecondsDay HourYear Month

C+1C

C+2

T+1T

R+1R

R+2

Adds time to the calendar data in the specified words.

C: 1st calendar wordT: 1st time wordR: 1st result word

CSUB(731)

C

T

R

Minutes SecondsDay HourYear Month

Minutes SecondsHours

Minutes SecondsDay HourYear Month

C+1C

C+2

T+1T

R+1R

R+2

Subtracts time from the calendar data in the specified words.

134

Page 156: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Debugging Instructions Section 3-27

3-27 Debugging Instructions

HOURS TO SECONDS

SEC@SEC

065

OutputRequired

SECONDS TO HOURS

HMS@HMS

066

OutputRequired

CLOCK ADJUSTMENT

DATE@DATE

735

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

TRACE MEMORY SAMPLING

TRSM045

When TRSM(045) is executed, the status of a preselected bit or word is sam-pled and stored in Trace Memory. TRSM(045) can be used anywhere in the program, any number of times.

OutputNot required

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

S: 1st source wordD: 1st destination word

SEC(065)

SD

Minutes SecondsHours

Seconds

Converts time data in hours/minutes/seconds format to an equivalent time in seconds only.

S: 1st source wordD: 1st destination word

HMS(066)

S

D

Minutes SecondsHours

Seconds

Converts seconds data to an equivalent time in hours/minutes/seconds format.

S: 1st source word

DATE(735)

SCPU Unit

Internal clock

New setting

Minutes SecondsDay HourYear Month00 Day of week

Changes the internal clock setting to the setting in the specified source words.

TRSM(045)

135

Page 157: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Failure Diagnosis Instructions Section 3-28

3-28 Failure Diagnosis InstructionsInstruction

MnemonicCode

Symbol/Operand Function LocationExecution condition

FAILURE ALARMFAL

@FAL006

Also generates (simulates) fatal system errors.

OutputRequired

SEVERE FAILURE ALARM

FALS007

Also generates (simulates) fatal system errors.

OutputRequired

FAILURE POINT DETECTION

FPD269

OutputRequired

FAL(006)

N

MN: FAL numberM: 1st message word or error code to generate (#0000 to #FFFF)

Execution of FAL(006) generates a non-fatal error with FAL number N.

FAL Error Flag ONCorresponding Executed FAL Number Flag ONError code written to A400Error code and time written to Error Log Area

ERR Indicator flashes

Message displayed on Programming Console

Generates or clears user-defined non-fatal errors. Non-fatal errors do not stop PC operation.

FALS(007)

NM

N: FALS numberM: 1st message word or error code to generate (#0000 to #FFFF)

Execution of FALS(007) generates a fatal error with FALS number N.

FALS Error Flag ON

Error code written to A400Error code and time/date written to Error Log Area

ERR Indicator lit

Message displayed on Programming Console

Generates user-defined fatal errors. Fatal errors stop PC operation.

C: Control wordT: Monitoring timeR: 1st register word

FPD(269)

CTR

Time monitoring function:Starts timing when execution condition A goes ON. Generates a non-fatal error if output B isn't turned ON within the monitoring time.

Execution condition A

Error-processing block (optional)

Next instruction block

Logic diagnosis block*

Logic diagnosisexecution condition C

Diagnostic output B

Logic diagnosis functionDetermines which input in C prevents output B from going ON.

T

R

Diagnoses a failure in an instruction block by monitoring the time between execution of FPD(269) and execution of a diagnostic output and finding which input is preventing an output from being turned ON.

136

Page 158: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Other Instructions Section 3-29

3-29 Other InstructionsInstruction

MnemonicCode

Symbol/Operand Function LocationExecution condition

SET CARRYSTC

@STC040

Sets the Carry Flag (CY). OutputRequired

CLEAR CARRYCLC

@CLC041

Turns OFF the Carry Flag (CY). OutputRequired

SELECT EM BANK

EMBC@EMBC

281

Changes the current EM bank. OutputRequired

EXTEND MAXI-MUM CYCLE TIME

WDT@WDT

094

Extends the maximum cycle time, but only for the cycle in which this instruction is executed.

OutputRequired

SAVE CONDI-TION FLAGS(CS1-H, CJ1-H, or CJ1M only)

CCS@CCS

282

Saves the status of the condition flags. OutputRequired

LOAD CONDI-TION FLAGS(CS1-H, CJ1-H, or CJ1M only)

CCL@CCL

283

Reads the status of the condition flags that was saved. OutputRequired

CONVERT ADDRESS FROM CV(CS1-H, CJ1-H, or CJ1M only)

FRMCV@FRMCV

284

Converts a CV-series PLC memory address to its equivalent CS-series PLC memory address.

OutputRequired

CONVERT ADDRESS TO CV(CS1-H, CJ1-H, or CJ1M only)

TOCV@TOCV

285

Converts a CS-series PLC memory address to its equivalent CV-series PLC memory address.

OutputRequired

STC(040)

CLC(041)

N: EM bank number

EMBC(281)

N

T: Timer setting

WDT(094)

T

CCS(282)

CCL(283)

S: Word contain-ing CV-series memory addressD: Destination Index Register

FRMCV(284)

SD

S: Index Register containing CS-series memory addressD: Destination word

TOCV(285)

SD

137

Page 159: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Block Programming Instructions Section 3-30

3-30 Block Programming Instructions

DISABLE PERIPHERAL SERVICING(CS1-H or CJ1-H only)

IOSP@IOSP

287

Disables peripheral servicing during program execution in Parallel Processing Mode or Peripheral Servicing Priority Mode.

OutputRequired

ENABLE PERIPHERAL SERVICING(CS1-H or CJ1-H only)

IORS288

Enables peripheral servicing that was disabled by IOSP(287) for program exe-cution in Parallel Processing Mode or Peripheral Servicing Priority Mode.

OutputNot required

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

BLOCK PROGRAM BEGIN

BPRG096

OutputRequired

BLOCK PROGRAM END

BEND801

Define a block programming area. For every BPRG(096) there must be a cor-responding BEND(801).

Block programRequired

BLOCK PROGRAM PAUSE

BPPS811

Block programRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

IOSP(287)

IORS(288)

N: Block program number

BPRG(096)

N

Block programExecuted when the execution condition is ON.

Define a block programming area. For every BPRG(096) there must be a corresponding BEND(801).

N: Block program number

N

BPPS (811)

BPPS(811) executed for block program n.

Block program n. Once paused this block program will not be executed even if bit "a" is ON.

to

to

to

Pause and restart the specified block program from another block program.

138

Page 160: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Block Programming Instructions Section 3-30

BLOCK PROGRAM RESTART

BPRS812

Block programRequired

CONDITIONAL BLOCK EXIT

EXIT806

Block programRequired

CONDITIONAL BLOCK EXIT

EXIT806

Block programRequired

CONDITIONAL BLOCK EXIT (NOT)

EXIT NOT806

EXIT(806) without an operand bit exits the program if the execution condition is OFF.

Block programRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

N: Block program number

N

BPRS (812)

BPRS(812) executed for block program n.

Block program n. This block program will now be executed as long as bit "a" is ON.

to

to

to

Pause and restart the specified block program from another block program.

EXIT(806)

B: Bit operand

Execution condition

Execution condition OFF

Execution condition ON

"A" executed.

"B" executed.

"A" executed.

Block ended.

EXIT(806) without an operand bit exits the program if the execution condition is ON.

EXIT(806) B

B: Bit operandOperand bit OFF (ON for EXIT NOT)

Operand bit ON (OFF for EXIT NOT)

"A" executed.

"B" executed.

"A" executed.

Block ended.

EXIT(806) without an operand bit exits the program if the execution condition is ON.

139

Page 161: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Block Programming Instructions Section 3-30

CONDITIONAL BLOCK BRANCHING

IF802

IF (802)B

B: Bit operand

Block programRequired

CONDITIONAL BLOCK BRANCHING

IF802

Block programRequired

CONDITIONAL BLOCK BRANCHING (NOT)

IF NOT802

The instructions between IF(802) and ELSE(803) will be executed and if the operand bit is ON, the instructions be ELSE(803) and IEND(804) will be exe-cuted is the operand bit is OFF.

Block programRequired

CONDITIONAL BLOCK BRANCHING (ELSE)

ELSE803

--- If the ELSE(803) instruction is omitted and the operand bit is ON, the instruc-tions between IF(802) and IEND(804) will be executed

Block programRequired

CONDITIONAL BLOCK BRANCHING END

IEND804

--- If the operand bit is OFF, only the instructions after IEND(804) will be exe-cuted.

Block programRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

Execution condition Execution

condition ON?

"A" executed (between IF and ELSE).

"B" executed (after ELSE).

If the execution condition is ON, the instructions between IF(802) and ELSE(803) will be executed and if the execution condition is OFF, the instructions between ELSE(803) and IEND(804) will be executed.

IF (802)B

B: Bit operand

Operand bit ON?

"A" executed (between IF and ELSE).

"B" executed (after ELSE).

IF R (IF NOT R)

If the operand bit is ON, the instructions between IF(802) and ELSE(803) will be executed. If the operand bit is OFF, the instructions between ELSE(803) and IEND(804) will be executed.

IF (802) NOTB

B: Bit operand

140

Page 162: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Block Programming Instructions Section 3-30

ONE CYCLE AND WAIT

WAIT805

WAIT(805) Block programRequired

ONE CYCLE AND WAIT

WAIT805

If the operand bit is OFF (ON for WAIT NOT(805)), the rest of the instructions in the block program will be skipped. In the next cycle, none of the block pro-gram will be executed except for the execution condition for WAIT(805) or WAIT(805) NOT. When the execution condition goes ON (OFF for WAIT(805) NOT), the instruction from WAIT(805) or WAIT(805) NOT to the end of the program will be executed.

Block programRequired

ONE CYCLE AND WAIT (NOT)

WAIT NOT805

If the operand bit is OFF (ON for WAIT NOT(805)), the rest of the instructions in the block program will be skipped. In the next cycle, none of the block pro-gram will be executed except for the execution condition for WAIT(805) or WAIT(805) NOT. When the execution condition goes ON (OFF for WAIT(805) NOT), the instruction from WAIT(805) or WAIT(805) NOT to the end of the program will be executed.

Block programRequired

TIMER WAITTIMW

813(BCD)

Block programRequired

TIMWX816

(Binary)(CS1-H, CJ1-H,

CJ1M only)

TIMWX(816)NSV

N: Timer numberSV: Set value

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

If the execution condition is ON for WAIT(805), the rest of the instruction in the block program will be skipped.

Execution condition

Execution condition OFF

Execution condition OFF

Execution condition ON

"A" executed.

"B" executed.

"C" executed.

"C" executed.

"C" executed.

Wait

WAIT(805) B

B: Bit operand

WAIT(805) NOT B

B: Bit operand

TIMW(813)NSV

N: Timer numberSV: Set value

"A" executed.

Time elapsed.

"B" executed.

C

SV preset.

"C" executed.

BEND

Delays execution of the rest of the block program until the specified time has elapsed. Execution will be continued from the next instruction after TIMW(813) when the timer times out.

141

Page 163: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Block Programming Instructions Section 3-30

COUNTER WAITCNTW

814(BCD)

Block programRequired

CNTWX817

(Binary)(CS1-H, CJ1-H,

CJ1M only)

CNTWX(817)NSV

N: Counter numberSV: Set valueI: Count input

HIGH-SPEED TIMER WAIT

TMHW815

(BCD)

Block programRequired

TMHWX818

(Binary)(CS1-H, CJ1-H,

CJ1M only

TMHWX(818)NSV

N: Timer numberSV: Set value

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

CNTW(814)NSV

N: Counter numberSV: Set valueI: Count input

"B" executed.

"A" executed.

SV preset.

C

"C" executed.

Time elapsed.

"C" executed.

"C" executed.

Delays execution of the rest of the block program until the specified count has been achieved. Execution will be continued from the next instruction after CNTW(814) when the counter counts out.

TMHW(815)NSV

N: Timer numberSV: Set value

"A" executed.

Time elapsed.

"B" executed.

C

"C" executed.

BEND

SV preset.

Delays execution of the rest of the block program until the specified time has elapsed. Execution will be continued from the next instruction after TMHW(815) when the timer times out. SV = 0 to 99.99 s

142

Page 164: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Block Programming Instructions Section 3-30

LOOPLOOP

809

--- Block programRequired

LENDLEND

810

LEND(810) LEND(810) or LEND(810) NOT specifies the end of the loop. When LEND(810) or LEND(810) NOT is reached, program execution will loop back to the next previous LOOP(809) until the operand bit for LEND(810) or LEND(810) NOT turns ON or OFF (respectively) or until the execution condi-tion for LEND(810) turns ON.

Block programRequired

LENDLEND

810

Block programRequired

LEND NOTLEND NOT

810

LEND(810) or LEND(810) NOT specifies the end of the loop. When LEND(810) or LEND(810) NOT is reached, program execution will loop back to the next previous LOOP(809) until the operand bit for LEND(810) or LEND(810) NOT turns ON or OFF (respectively) or until the execution condi-tion for LEND(810) turns ON.

Block programRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

Execution condition

Execution condition ON

Execution condition OFF

Execution condition OFF

Execution condition OFF

Loop repeated

LOOP(809) designates the beginning of the loop program.

LEND (810)B

B: Bit operand

Operand bit ON

Operand bit OFF

Operand bit OFF

Operand bit OFF

Loop repeated

Note The status of the operand bit would be reversed for LEND(810) NOT.

If the operand bit is OFF for LEND(810) (or ON for LEND(810) NOT), execution of the loop is repeated starting with the next instruction after LOOP(809). If the operand bit is ON for LEND(810) (or OFF for LEND(810) NOT), the loop is ended and execution continues to the next instruction after LEND(810) or LEND(810) NOT.

LEND(810) NOT

B: Bit operand

143

Page 165: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Text String Processing Instructions Section 3-31

3-31 Text String Processing InstructionsInstruction

MnemonicCode

Symbol/Operand Function LocationExecution condition

MOV STRINGMOV$

@MOV$664

OutputRequired

CONCATENATE STRING

+$@+$656

OutputRequired

GET STRING LEFT

LEFT$@LEFT$

652

OutputRequired

GET STRING RIGHT

RGHT$@RGHT$

653

OutputRequired

GET STRING MIDDLE

MID$@MID$

654

OutputRequired

S: 1st source wordD: 1st destination word

MOV$(664)

S

D

Transfers a text string.

S1: Text string 1S2: Text string 2D: First destination word

+$(656)

S1

S2

D

+

Links one text string to another text string.

S1: Text string first wordS2: Number of charactersD: First destination word

LEFT$(652)

S1

S2

D → →

Fetches a designated number of characters from the left (beginning) of a text string.

S1: Text string first wordS2: Number of charactersD: First destination word

RGHT$(653)

S1

S2

D

Reads a designated number of characters from the right (end) of a text string.

00

S1: Text string first wordS2: Number of charactersS3: Beginning positionD: First destination word

MID$(654)

S1

S2

S3

D

→ →

Reads a designated number of characters from any position in the middle of a text string.

144

Page 166: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Text String Processing Instructions Section 3-31

FIND IN STRINGFIND

@FIND$660

OutputRequired

STRING LENGTHLEN$

@LEN$650

OutputRequired

REPLACE IN STRING

RPLC$@RPLC$

661

OutputRequired

DELETE STRINGDEL$

@DEL$658

OutputRequired

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

S1: Source text string first wordS2: Found text string first wordD: First destination word

FIND$(660)

S1

S2

D

→ →→Found data

Finds a designated text string from within a text string.

S: Text string first wordD: 1st destination word

LEN$(650)

S

D

135

24

Calculates the length of a text string.

S1: Text string first wordS2: Replacement text string first wordS3: Number of charactersS4: Beginning positionD: First destination word

RPLC$(661)

S1

S2

S3

S4

D

→ →

Replaces a text string with a designated text string from a designated position.

S1: Text string first wordS2: Number of charactersS3: Beginning positionD: First destination word

DEL$(658)

S1

S2

S3

D

→ →

Number of characters to be deleted (designated by S2).

G

Deletes a designated text string from the middle of a text string.

145

Page 167: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Text String Processing Instructions Section 3-31

EXCHANGE STRING

XCHG$@XCHG$

665

OutputRequired

CLEAR STRINGCLR$

@CLR$666

OutputRequired

INSERT INTO STRING

INS$@INS$

657

OutputRequired

String Comparison

LD, AND, OR +=$, <>$, <$, <=$,

>$, >=$670 (=$)

671 (<>$)672 (<$)

673 (<=$)674 (>$)

675 (>=$)

Sting comparison instructions (=$, <>$, <$, <=$, >$, >=$) compare two text strings from the beginning, in terms of value of the ASCII codes. If the result of the comparison is true, an ON execution condition is created for a LOAD, AND, or OR.

LD: Not requiredAND, OR:Required

InstructionMnemonic

Code

Symbol/Operand Function LocationExecution condition

Ex1: 1st exchange word 1Ex2: 1st exchange word 2

XCHG$(665)

Ex1

Ex2Ex1 Ex1

Ex2 Ex2

Replaces a designated text string with another designated text string.

S: Text string first word

CLR$(666)

S S SA BC D

NUL NUL

Clears an entire te xt str ing with NUL (00 hex).

S1: Base text string first wordS2: Inserted text string first wordS3: Beginning positionD: First destination word

INS$(657)

S1

S2

S3

D

Inserted characters

NUL

Deletes a designated text string from the middle of a text string.

LD

AND

OR

S1: Text string 1S2: Text string 2

Symbol

S1

S2

Symbol

S1

S2

Symbol

S1

S2

146

Page 168: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Task Control Instructions Section 3-32

3-32 Task Control InstructionsInstruction

MnemonicCode

Symbol/Operand Function LocationExecution condition

TASK ONTKON

@TKON820

OutputRequired

TASK OFFTKOF

@TKOF821

OutputRequired

N: Task number

TKON(820)

N The specified task's task number is higher than the local task's task number (m<n).

The specified task's task number is lower than the local task's task number (m>n).

Task m

Task n

Becomes execut-able in that cycle.

Task m

Task n

Becomes execut-able in the next cycle.

Makes the specified task executable.

N: Task number

TKOF(821)

N The specified task's task number is higher than the local task's task number (m<n).

The specified task's task number is lower than the local task's task number (m>n).

Task m

Task n

In stand-by status that cycle.

Task m

Task n

In stand-by status the next cycle.

Puts the specified task into standby status.

147

Page 169: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Task Control Instructions Section 3-32

148

Page 170: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

SECTION 4Tasks

This section describes the operation of tasks.

4-1 Task Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

4-1-1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

4-1-2 Tasks and Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

4-1-3 Basic CPU Unit Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

4-1-4 Types of Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

4-1-5 Task Execution Conditions and Settings . . . . . . . . . . . . . . . . . . . . . 156

4-1-6 Cyclic Task Status. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

4-1-7 Status Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

4-2 Using Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

4-2-1 TASK ON and TASK OFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

4-2-2 Task Instruction Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

4-2-3 Flags Related to Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

4-2-4 Designing Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

4-2-5 Global Subroutines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

4-3 Interrupt Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

4-3-1 Types of Interrupt Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

4-3-2 Interrupt Task Priority. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

4-3-3 Interrupt Task Flags and Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

4-3-4 Application Precautions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

4-4 Programming Device Operations for Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . 180

4-4-1 Using Multiple Cyclic Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

4-4-2 Programming Device Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

149

Page 171: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Task Features Section 4-1

4-1 Task Features

4-1-1 OverviewCS/CJ-series control operations can be divided by functions, controlleddevices, processes, developers, or any other criteria and each operation canbe programmed in a separate unit called a “task.” Using tasks provides the fol-lowing advantages:

1,2,3... 1. Programs can be developed simultaneously by several people.

Individually designed program parts can be assembled with very little effortinto a single user program.

2. Programs can be standardized in modules.

More specifically, the following Programming Device functions will be com-bined to develop programs that are standalone standard modules ratherthan programs designed for specific systems (machines, devices). Thismeans that programs developed separately by several people can bereadily combine.

• Programming using symbols

• Global and local designation of symbols

• Automatic allocation of local symbols to addresses

3. Improved overall response.

Overall response is improved because the system is divided into an overallcontrol program as well as individual control programs, and only specificprograms will be executed as needed.

4. Easy revision and debugging.

• Debugging is much more efficient because tasks can be developedseparately by several people, and then revised and debugged by indi-vidual task.

• Maintenance is simple because only the task that needs revising willbe changed in order to make specification or other changes.

• Debugging is more efficient because it is easy to determine whetheran address is specific or global and addresses between programs onlyneed to be checked once during debugging because symbols are des-ignated globally or locally and local symbols are allocated automatical-ly to addresses through Programming Devices.

5. Easy to switch programs.

A task control instruction in the program can be used to execute product-specific tasks (programs) when changing operation is necessary.

150

Page 172: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Task Features Section 4-1

6. Easily understood user programs.

Programs are structured in blocks that make the programs much simplerto understand for sections that would conventionally be handled with in-structions like jump.

4-1-2 Tasks and Programs• Up to 288 programs (tasks) can be controlled. Individual programs are

allocated 1:1 to tasks. Tasks are broadly grouped into the following types:

• Cyclic tasks

• Interrupt tasks

Note 1. Up to 32 cyclic tasks and 256 interrupt tasks for a maximum total of 288tasks can be created. Each task has its own unique number ranging from0 to 31 for cyclic tasks and 0 to 255 for interrupt tasks.

2. With the CS1-H, CJ1-H, or CJ1M CPU Units, interrupt task (interrupt tasknumbers 0 to 255) can be executed as cyclic tasks by starting them withTKON. These are called “extra cyclic tasks.” If extra cyclic tasks are used,then the total number of cyclic tasks that can be used is 288.

3. CJ1 CPU Units do not currently support I/O interrupt tasks and external in-terrupt tasks. The maximum number of tasks for a CJ1 CPU Unit is thus35, i.e., 32 cyclic tasks and 3 interrupt tasks. The total number of programsthat can be created and managed is also 35.

Each program allocated to a task must end with an END(001) instruction. I/Orefreshing will be executed only after all task programs in a cycle have beenexecuted.

Task C

Start task A

Start task B

Task A

Task B

(Program A)

(Program B)

151

Page 173: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Task Features Section 4-1

4-1-3 Basic CPU Unit OperationThe CPU Unit will execute cyclic tasks (including extra cyclic tasks, CS1-H,CJ1-H, or CJ1M CPU Unit only) starting at the lowest number. It will also inter-rupt cyclic task execution to execute an interrupt task if an interrupt occurs.

Note All Condition Flags (ER, CY, Equals, AER, etc.) and instruction conditions(interlock ON, etc.) will be cleared at the beginning of a task. Therefore Condi-tion Flags cannot be read nor can INTERLOCK/INTERLOCK CLEAR (IL/ILC)instructions, JUMP/JUMP END (JMP/JME) instructions, or SUBROUTINECALL/SUBROUTINE ENTRY (SBS/SBN) instructions be split between twotasks.

With a CS1-H, CJ1-H, or CJ1M CPU Unit, interrupt task can be executed ascyclic tasks by starting them with TKON. These are called “extra cyclic tasks.”Extra cyclic tasks (interrupt task numbers 0 to 255) are executed starting atthe lowest task number after execution of the normal cyclic task (celiac tasknumbers 0 to 31) has been completed.

Cyclic task 0

Executed in order starting at the lowest number.

Cyclic task 1

Cyclic task n

I/O refresh

Peripheral processing

*2: END for the final task. Clears ER, Equals, and N Flags, and then refreshes I/O.

*1: END other than that for the final task. Clears ER, Equals, and N Flags.

Interrupt occurs.

Interrupt task 5

152

Page 174: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Task Features Section 4-1

END

END

END

END

Cyclic task 0

Cyclic task n

Extra cyclic task 0

Extra cyclic task m

Normal cyclic tasks

Extra cyclic tasks

I/O refresh

Peripheral processing

Executed in order starting at lowest number of the cyclic tasks.

Executed in order starting at lowest number of the extra cyclic tasks.

153

Page 175: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Task Features Section 4-1

4-1-4 Types of TasksTasks are broadly classified as either cyclic tasks or interrupt tasks. Interrupttasks are further divided into power OFF, scheduled, I/O (CS Series only), andexternal interrupt tasks (CS Series only). Interrupt tasks can also be executedas extra cyclic tasks.

Note With the CS1-H, CJ1-H, or CJ1M Units, interrupt task can be executed ascyclic tasks by starting them with TKON. These are called “extra cyclic tasks.”

Cyclic TasksA cyclic task that is READY will be executed once each cycle (from the top ofthe program until the END(001) instruction) in numerical order starting at thetask with the lowest number. The maximum number of cyclic tasks is 32.(Cyclic task numbers: 00 to 31).

Note With the CS1-H, CJ1-H, or CJ1M CPU Units, interrupt task (interrupt tasknumbers 0 to 255) can be executed as cyclic tasks just like normal cyclictasks (task numbers 0 to 31). If extra cyclic tasks are used, then the total num-ber of cyclic tasks that can be used is 288.

Interrupt TasksAn interrupt task will be executed if an interrupt occurs even if a cyclic task(including extra cyclic tasks) is currently being executed. The interrupt taskwill be executed using any time in the cycle, including during user programexecution, I/O refreshing, or peripheral servicing, when the execution condi-tion for the interrupt is met.

With the CS1-H, CJ1-H, or CJ1M CPU Units, interrupt task can be executedas cyclic tasks.

The built-in interrupt inputs and high-speed counter inputs on a CJ1M CPUUnit can be used to activate interrupt tasks. Refer to the CJ Series Built-in I/OOperation Manual for details.

Power OFF Interrupt Task The power OFF interrupt task will be executed if CPU Unit power is shut OFF.Only one power OFF interrupt task can be programmed (Interrupt task num-ber: 1).

Note The power OFF interrupt task must execute before the following time elapsesor the task will be forced to quit.

10 ms – (Power OFF detection delay time)

The power OFF detection delay time is set in the PLC Setup.

Scheduled Interrupt Tasks A scheduled interrupt task will be executed at a fixed interval based on theinternal timer of the CPU Unit. The maximum number of scheduled interrupttasks is 2 (Interrupt task numbers: 2 and 3).

Note The SET INTERRUPT MASK (MSKS(690)) instruction is used to set the inter-rupt for a scheduled interrupt task. Interrupt times can be set in 10-ms or 1.0-ms increments in the PLC Setup.

I/O Interrupt Tasks An I/O interrupt task will be executed if an Interrupt Input Unit input turns ON.The maximum number of I/O interrupt tasks is 32 (Interrupt task numbers: 100to 131). The Interrupt Input Unit must be mounted to the CPU Rack. For CJ1-H CPU Units, the Unit must be connected as one of the five Units next to theCPU Unit (slots 0 to 4). For CJ1M CPU Units, the Unit must be connected asone of the three Units next to the CPU Unit (slots 0 to 2). I/O Interrupt Units

154

Page 176: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Task Features Section 4-1

mounted elsewhere cannot be used to request execution of I/O interrupttasks.

I/O interrupts are not supported by CJ1 CPU Units.

External Interrupt Tasks An external interrupt task will be executed when requested by an Special I/OUnit, CPU Bus Unit, or Inner Board (CS Series only) user program. SpecialI/O Units and CPU Bus Units, however, must be mounted to the CPU Rack.The Special I/O Unit or CPU Bus Unit must be mounted to the CPU Rack. ForCJ1-H CPU Units, the Unit must be connected as one of the five Units next tothe CPU Unit (slots 0 to 4). For CJ1M CPU Units, the Unit must be connectedas one of the three Units next to the CPU Unit (slots 0 to 2). Units mountedelsewhere cannot be used to generate external interrupts.

The maximum number of external interrupt tasks is 256 (Interrupt task num-bers: 0 to 255). If an external interrupt task has the same number as a powerOFF, scheduled, or I/O interrupt task, the interrupt task will be executed foreither condition (the two conditions will operate with OR logic) but basicallytask numbers should not be duplicated.

I/O interrupts are not supported by CJ1 CPU Units.

Extra Cyclic Tasks (CS1-H, CJ1-H, or CJ1M CPU Units Only)

An interrupt tasks can be executed every cycle, just like the normal cyclictasks. Extra cyclic tasks (interrupt task numbers 0 to 255) are executed start-ing at the lowest task number after execution of the normal cyclic task (cyclictask numbers 0 to 31) has been completed. The maximum number of extracyclic tasks is 256 (Interrupt task numbers: 0 to 255). Cycle interrupt tasks,however, are different from normal cyclic tasks in that they are started with theTKON(820)instruction. Also, the TKON(820)and TKOF instructions cannot beused in extra cyclic tasks, meaning that normal cyclic tasks and other extracyclic tasks cannot be controlled from within an extra cyclic task.

If an extra cyclic task has the same number as a power OFF, scheduled, or I/Ointerrupt task, the interrupt task will be executed for either condition (the twoconditions will operate with OR logic). Do not use interrupt tasks both as nor-mal interrupt tasks and as extra cyclic tasks.

Note 1. The power OFF interrupt task in 1) above has priority and will be executedwhen power turns OFF even if another interrupt task is being executed.

2. If another interrupt task is being executed when a scheduled, I/O, or exter-nal interrupt occurs, then these interrupt tasks will not be executed until theinterrupt task that is currently being executed has been completed. If mul-tiple interrupts occur simultaneously, then interrupt tasks will be executedsequentially starting at the lowest interrupt task number.

3. The differences between normal cyclic tasks and extra cyclic tasks are list-ed in the following table.

Item Extra cyclic tasks Normal cyclic tasks

Activating at startup Setting is not possible. Set from CX-Programmer

Using TKON/TKOF instructions inside task

Possible. Not possible.

Task Flags Not supported. Supported.

Initial Task Execution Flag (A20015) and Task Start Flag (A20014)

Not supported. Supported.

Index (IR) and data (DR) register values

Not defined when task is started (same as normal interrupt tasks). Values set in the previous cycle cannot be read.

Undefined at the beginning of operation. Values set in the previous cycle can be read.

155

Page 177: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Task Features Section 4-1

4. The CJ1 CPU Units do not support I/O interrupt and external interrupttasks.

4-1-5 Task Execution Conditions and SettingsThe following table describes task execution conditions, related settings, andstatus.

Note 1. The Interrupt Input Unit must be mounted to the CPU Rack. For CJ1-HCPU Units, the Unit must be connected as one of the five Units next to theCPU Unit (slots 0 to 4). For CJ1M CPU Units, the Unit must be connectedas one of the three Units next to the CPU Unit (slots 0 to 2). I/O InterruptUnits mounted elsewhere cannot be used to request execution of I/O inter-rupt tasks

2. The Special I/O Unit or CPU Bus Unit must be mounted to the CPU Rack.For CJ1-H CPU Units, the Unit must be connected as one of the five Unitsnext to the CPU Unit (slots 0 to 4). For CJ1M CPU Units, the Unit must beconnected as one of the three Units next to the CPU Unit (slots 0 to 2).Units mounted elsewhere cannot be used to generate external interrupts.

3. The number of cyclic tasks and interrupt tasks are limited when the mem-ory clear operation is performed with a Programming Console.

• Only cyclic task 0 can be created.Cyclic tasks 1 to 31 cannot be created with a Programming Console,but these tasks can be edited if they were already created with CX-Programmer.

• Only interrupt tasks 1, 2, 3, and 100 through 131 (CS Series only) canbe created.Interrupt tasks 0, 4 through 99, and 132 through 255 cannot be createdwith a Programming Console (except that 140 through 143 can be cre-

Task No. Execution condition Related Setting

Cyclic tasks 0 to 31 Executed once each cycle if READY (set to start initially or started with the TKON(820)instruction) when the right to execute is obtained.

None

Interrupt tasks

Power OFF interrupt task Interrupt task 1

Executes when CPU Unit power shuts OFF.

• Power OFF interrupt enabledin PLC Setup.

Scheduled interrupt tasks0 and 1

Interrupt tasks 2 and 3

Executes once every time the preset period elapses according to the internal timer of CPU Unit.

• The scheduled interrupt timeis set (0 to 9999) through theSET INTERRUPT MASKinstruction (MSKS).

• Scheduled interrupt unit(10 ms or 1.0 ms) is set inPLC Setup.

I/O interrupt tasks00 to 31

Interrupt tasks 100 to 131

Executes when an input on an Interrupt Input Unit on the CPU Rack turns ON.

• Masks for designated inputsare canceled through theSET INTERRUPT MASKinstruction (MSKS).

External interrupt tasks0 to 255

Interrupt tasks 0 to 255

Executes when requested by a user program in a Special I/O Unit or CPU Bus Unit on the CPU Rack or by a user program in an Inner Board (CS Series only).

None (always enabled)

Extra cyclic tasks (CS1-H, CJ1-H, or CJ1M CPU Units only)

Interrupt tasks 0 to 255

Executed once each cycle if READY (started with the TKON(820)instruction) when the right to execute is obtained.

None (always enabled)

156

Page 178: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Task Features Section 4-1

ated for CJ1M CPU Units), but these tasks can be edited if they werealready created with CX-Programmer.

4-1-6 Cyclic Task StatusThis section describes cyclic task status, including extra cyclic tasks (sup-ported by CS1-H, CJ1-H, or CJ1M CPU Units only).

Cyclic tasks always have one of four statuses: Disabled, READY, RUN (exe-cutable), and standby (WAIT).

Disabled Status (INI)A task with Disabled status is not executed. All cyclic tasks have Disabled sta-tus in PROGRAM mode. Any cycle task that shifted from this to another statuscannot return to this status without returning to PROGRAM mode.

READY StatusA task attribute can be set to control when the task will go to READY status.The attribute can be set to either activate the task using the TASK ON instruc-tion or when RUN operation is started.

Instruction-activated Tasks

A TASK ON (TKON(820)) instruction is used to switch an instruction-activatedcyclic task from Disabled status or Standby status to READY status.

Operation-activated Tasks An operation-activated cyclic task will switch from Disabled status to READYstatus when the operating mode is changed from PROGRAM to RUN orMONITOR mode. This applies only to normal cyclic tasks.

Note A Programming Device can be used to set one or more tasks to go to READYstatus when operation is started for task numbers 0 through 31. The setting,however, is not possible with extra cyclic tasks.

RUN StatusA cyclic task that is READY will switch to RUN status and be executed whenthe task obtains the right to execute.

Standby StatusA TASK OFF (TKOF(821)) instruction can be used to change a cyclic taskfrom Disabled status to Standby status.

4-1-7 Status Transitions

Note 1. A task in RUN status will be put into Standby status by the TKOF(821) in-struction even when the TKOF(821) instruction is executed within that task.

INI (Disabled) status

Activated at the start ofoperation (See note 2) or the TKON(820) instruction

READY status

Right to execute obtained.

RUN status

Executed

TKOF(821) instruction (See note 1.)TKON(820) instruction

Standby status

157

Page 179: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Using Tasks Section 4-2

2. Activation at the start of operation is possible for normal cyclic tasks only.It is not possible for extra cyclic tasks.

Standby status functions exactly the same way as a jump (JMP-JME). Outputstatus for the Standby task will be maintained.

Instructions will not be executed in Standby status, so instruction executiontime will not be increased. Programming that does not need to be executed allthe time can be made into tasks and assigned Standby status to reduce cycletime.

Note Standby status simply means that a task will be skipped during task execu-tion. Changing to Standby status will not end the program.

4-2 Using Tasks

4-2-1 TASK ON and TASK OFFThe TASK ON (TKON(820)) and TASK OFF (TKOF(821)) instructions switch acyclic task (including extra cyclic tasks) between READY and Standby statusfrom a program.

Note Extra cyclic tasks are supported only by CS1-H, CJ1-H, or CJ1M CPU Units.

Standby status Jump

Conventional program

Executes under set conditions All instructions will

be executed un-less jumps or other functions are used.

TaskReduced cycle time

Executes under set conditions

N: Task No. A task will go to READY status when the execution condition is ON, and the corre-sponding Task Flag will turn ON.

A task will go to Standby status when the execution condition is ON, and the corresponding Task Flag will turn OFF.

N: Task No.

Note: Task Flags do not work for extra cyclic tasks.

158

Page 180: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Using Tasks Section 4-2

The TASK ON and TASK OFF instructions can be used to change any cyclictask between READY or Standby status at any time. A cyclic task that is inREADY status will maintain that status in subsequent cycles, and a cyclic taskthat is in Standby status will maintain that status in subsequent cycles.

The TASK ON and TASK OFF instructions can be used only with cyclic tasksand not with interrupt tasks.

Note At least one cyclic task must be in READY status in each cycle. If there is notcyclic task in READY status, the Task Error Flag (A29512) will turn ON, andthe CPU Unit will stop running.

Example: Cyclic Task

Cyclic task 0 (READY status at the start of operation)

Cyclic task 1

Cyclic task 2

Cyclic task 3

Cyclic task 1

Cyclic task 2

Cyclic task 3

Cyclic task 0

Cyclic task 1

Cyclic task 2

Cyclic task 3

Cyclic task 0

Cyclic task 1

Cyclic task 2

Cyclic task 3

Cyclic task 0

1) Task 0 will be in READY status at the start of opera-tion.

Other tasks will re-main in Disabled status.

2)Task 1 will go to READY status if A is ON, and tasks 2 and 3 will remain on Disabled status.

3) Task 0 will go to Standby status if D is ON.

Other tasks will remain in their current status.

READY status

Standby status/Disabled status

159

Page 181: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Using Tasks Section 4-2

Tasks and the Execution CycleA cyclic task (including an extra cyclic task) that is in READY status will main-tain that status in subsequent cycles.

A cyclic task that is in Standby status will maintain that status in subsequentcycles. The task will have to be activated using the TKON(820) instruction inorder to switch from Standby to READY status.

If a TKOF(821) instruction is executed for the task it is in, the task will stopbeing executed where the instruction is executed, and the task will shift toStandby status.

Cyclic Task Numbers and the Execution Cycle (Including Extra Cyclic Tasks)If task m turns ON task n and m > n, task n will go to READY status the nextcycle.

Example:If task 5 turns ON task 2, task 2 will go to READY status the nextcycle.

If task m turns ON task n and m < n, task n will go to READY status the samecycle.

Example:If task 2 turns ON task 5, task 5 will go to READY status in the samecycle.

Cyclic task 1

Cyclic task 2

READY sta-tus at the start of op-eration

Cyclic task 1

Cyclic task 2

READY status

READY status

READY statusTKON(820)

Cyclic task 1

Cyclic task 2

Cyclic task 1Standby status

RUN status

Standby status

Cyclic task 2 RUN status

TKOF(821) TKON (820)

Task 2

Task execution will stop here and the task will shift to Standby status.

160

Page 182: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Using Tasks Section 4-2

If task m places task n in Standby status and m > n, will go to Standby statusthe next cycle.

Example: If task 5 places task 2 in Standby status, task 2 will go to Standbystatus the next cycle.

If task m places task n in Standby status and m < n, task n will go to Standbystatus in the same cycle.

Example: If task 2 places task 5 in Standby status, task 5 will go to Standbystatus in the same cycle.

Relationship of Tasks to I/O MemoryThere are two different ways to use Index Registers (IR) and Data Registers(DR): 1) Independently by task or 2) Shared by all task (supported by CS1-H,CJ1-H, or CJ1M CPU Units only).

With independent registers, IR0 used by cyclic task 1 for example is differentfrom IR0 used by cyclic task 2. With shared registers, IR0 used by cyclic task1 for example is the same as IR0 used by cyclic task 2.

The setting that determines if registers are independent or shared is madefrom the CX-Programmer.

• Other words and bits in I/O Memory are shared by all tasks. CIO 001000for example is the same bit for both cyclic task 1 and cyclic task 2. There-fore, be very careful in programming any time I/O memory areas otherthan the IR and DR Areas are used because values changed with onetask will be used by other tasks.

Note 1. The current EM bank is also shared by tasks. Therefore if the current EMbank number is changed with cyclic task 1 for example, the new current EMbank number will be valid for cyclic task 2 as well.

2. IR and DR values are not set when interrupt tasks (including extra cyclictasks) are started. If IR and DR are used in an interrupt task, these valuesmust be set by the MOVR/MOVRW (MOVE TO REGISTER and MOVETIMER/COUNTER PV TO REGISTER) instructions within the interrupttask. After the interrupt task has been executed, IR and DR will return totheir values prior to the interrupt automatically.

Relationship of Tasks to Timer Operation

Timer present values for TIM, TIMX, TIMH, TIMHX, TMHH, TMHHX, TIMW,TIMWX, TMHW, and TMHWX programmed for timer numbers 0000 to 2047will be updated even if the task is switched or if the task containing the timer ischanged to Standby status or back to READY status.

If the task containing TIM goes to Standby status and is the returned toREADY status, the Completion Flag will be turned ON if the TIM instruction isexecuted when the present value is 0. (Completion Flags for timers areupdated only when the instruction is executed.) If the TIM instruction is exe-cuted when the present value is not yet 0, the present value will continue to beupdated just as it was while the task was in READY status.

• The present values for timers programmed with timer numbers 2048 to4098 will be maintained when the task is in Standby status.

I/O memory Relationship to tasks

CIO, Auxiliary, Data Memory and all other mem-ory areas except the IR and DR Areas. (See note 1.)

Shared with other tasks.

Index registers (IR) and data registers (DR) (See note 2.)

Used separately for each task.

161

Page 183: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Using Tasks Section 4-2

Relationship of Tasks to Condition Flags

All Condition Flags will be cleared before execution of each task. ThereforeCondition Flag status at the end of task 1 cannot be read in task 2. With aCS1-H, CJ1-H, or CJ1M CPU Unit, however, CCS(282) and CCL(283) can beused to read Condition Flag status from another part of the program, e.g.,from another task.

Note When the status of Condition Flags is monitored from a Programming Con-sole, the Programming Console will show the flags’ status at the end of thecycle, i.e., their status at the end of the last task in the cycle.

4-2-2 Task Instruction LimitationsInstructions Required in the Same Task

The following instructions must be placed within the same task. Any attemptto split instructions between two tasks will cause the ER Flag to turn ON andthe instructions will not be executed.

Instructions Not Allowed in Interrupt TasksThe following instructions cannot be placed in interrupt tasks. Any attempt toexecute one of these instructions in an interrupt task will cause the ER Flag toturn ON and the instruction will not be executed.The following instructions canbe used if an interrupt task is being used as an extra task.

The operation of the following instructions is unpredictable in an interrupt task:TIMER: TIM and TIMX((550), HIGH-SPEED TIMER: TIMH(015) andTIMHX(551), ONE-MS TIMER: TMHH(540) and TMHHX(552), ACCUMULA-TIVE TIMER: TTIM(087) and TTIMX(555), MULTIPLE OUTPUT TIMER:MTIM(543) and MTIMX(554), LONG TIMER: TIML(542) and TIMLX(553),TIMER WAIT: TIMW(813) and TIMWX(816), HIGH-SPEED TIMER WAIT:TMHW(815) and TMHWX(817), PID CONTROL: PID(190), FAILURE POINTDETECTION: FPD(269), and CHANGE SERIAL PORT SETUP: STUP(237).

The following instructions cannot be used in the power OFF interrupt task(they will not be executed even if they are used and the Error Flag will not turnON): READ DATA FILE: FREAD(700), WRITE DATA FILE: FWRIT(701), NET-

Mnemonic Instruction

JMP/JME JUMP/JUMP END

CJP/JME CONDITIONAL JUMP/JUMP END

CJPN/JME CONDITIONAL JUMP NOT/CONDITIONAL JUMP END

JMP0/JME0 MULTIPLE JUMP/JUMP END

FOR/NEXT FOR/NEXT

IL/ILC INTERLOCK/INTERLOCK CLEAR

SBS/SBN/RET SUBROUTINE CALL/SUBROUTINE ENTRY/SUBROUTINE RETURN

MCRO/SBN/RET MACRO/SUBROUTINE ENTRY/SUBROUTINE RETURN

BPRG/BEND BLOCK PROGRAM BEGIN/BLOCK PROGRAM END

STEP S/STEP STEP DEFINE

Mnemonic Instruction

TKON(820) TASK ON

TKOF(821) TASK OFF

STEP STEP DEFINE

SNXT STEP NEXT

STUP CHANGE SERIAL PORT SETUP

DI DISABLE INTERRUPT

EI ENABLE INTERRUPT

162

Page 184: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Using Tasks Section 4-2

WORK SEND: SEND(090), NETWORK RECEIVE: RECV(098), DELIVERCOMMAND: CMND(490), PROTOCOL MACRO: PMCR(260).

4-2-3 Flags Related to Tasks

Flags Related to Cyclic TasksThe following flag work only for normal cyclic tasks. They do not work for extracyclic tasks.

Task Flags(TK00 to TK31)

A Task Flag is turned ON when a cyclic task in READY status and is turnedOFF when the task is in Disabled (INI) or in Standby (WAIT) status. Task num-bers 00 to 31 correspond to Task Flags TK00 to TK31.

Note Task Flags are used only with cyclic tasks and not with interrupt tasks. Withan interrupt task, A44115 will turn ON if an interrupt task executes after thestart of operation, and the number of the interrupt task that required for maxi-mum processing time will be stored in two-digit hexadecimal in A44100 toA44107.

Initial Task Execution Flag (A20015)

The Initial Task Execution Flag will turn ON when cyclic tasks shift from Dis-abled (INI) to READY status, the tasks obtain the right to execute, and thetasks are executed the first time. It will turn OFF when the first execution of thetasks has been completed.

The Initial Task Execution Flag tells whether or not the cyclic tasks are beingexecuted for the first time. This flag can thus be used to perform initializationprocessing within the tasks.

Note Even though a Standby cyclic task is shifted back to READY status throughthe TKON(820) instruction, this is not considered an initial execution and theInitial Task Execution Flag (20015) will not turn ON. The Initial Task ExecutionFlag (20015) will also not turn ON if a cyclic task is shifted from Disabled toRUN status or if it is put in Standby status by another task through theTKOF(821) instruction before the right to execute actually is obtained.

Task 3 Cycle Cycle CycleDisabled READY StandbyREADY

Task Flag for task 3

Task n

Ready

Disabled

Initial Task Execution Flag

Ready

Disabled

Initializing processing

Initial Task Execution Flag

163

Page 185: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Using Tasks Section 4-2

Task Start Flag (A20014, CS1-H, CJ1-H, or CJ1M CPU Units only)

The Task Start Flag can be used to perform initialization processing each timethe task cycle is started. The Task Start Flag turns OF whenever cycle taskstatus changes from Disabled (INI) or Standby (WAIT) status to READY status(whereas the Initial Task Execution Flag turns ON only when status changesfrom Disabled (INI) to READY).

The Task Start Flag can be used to perform initialization processing whenevera task goes from Standby to RUN status, i.e., when a task on Standby isenabled using the TRON(820) instruction.

Flags Related to All Tasks

Task Error Flag (A29512) The Task Error Flag will turn ON if one of the following task errors occurs.

• No cyclic tasks (including extra cyclic tasks) are READY during a cycle.

• The program allocated to a cyclic task (including extra cyclic tasks) doesnot exist. (This situation will not occur when using the CX-Programmer ora Programming Console.)

• No program is allocated to an activated interrupt task.

Task Number when Program Stopped (A294)

The type of task and the current task number when a task stops executiondue to a program error will be stored as follows:

This information makes it easier to determine where the fatal error occurred,and it will be cleared when the fatal error is cleared. The program addresswhere task operation stopped is stored in A298 (rightmost bits of the programaddress) and in A299 (leftmost bits of the program address).

Examples of TasksAn overall control task that is set to go to READY status at the start of opera-tion is generally used to control READY/Standby status for all other cyclictasks (including extra cyclic tasks). Of course, any cyclic task can control theREADY/Standby status of any other cyclic task as required by the application.

Task n

Ready

Disabled

Task Start Flag

Ready

Disabled

A20014

Initialization processing

Task Start Flag

Type A294

Cyclic task 0000 to 001F Hex (correspond to task numbers 0 to 31)

Interrupt task 8000 to 80FF Hex (correspond to interrupt task numbers 0 to 255)

164

Page 186: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Using Tasks Section 4-2

Combinations of the above classifications are also possible, e.g., classifica-tion by function and process.

Overall control task

From Program Mode to Operating or Monitor Mode.

Cyclic task 0 with the startup at the start of operation attribute (overall control task)

Cyclic task 1 Cyclic task 2 Cyclic task 3

Tasks Separated by Function

Overall control task

Conveyor task

Error monitoring task

MMI task

Communications task

Analog processing task

Tasks Separated by Controlled Section

Overall control task

A-section control task

B-section control task

C-section control task

Tasks Separated by Product

Overall control task

Tasks Separated by Developer

Developer A task

Overall control task

Product A task

Tasks Separated by Process

Machining task

Assembly task

Conveyor task

Product B task

Product C task

Developer B task

Developer C task

165

Page 187: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Using Tasks Section 4-2

4-2-4 Designing TasksWe recommend the following guidelines for designing tasks.

1,2,3... 1. Use the following standards to study separating tasks.

a) Summarize specific conditions for execution and non-execution.

b) Summarize the presence or absence of external I/O.

c) Summarize functions.

Keep data exchanged between tasks for sequence control, analogcontrol, man-machine interfacing, error processing and other pro-cesses to an absolute minimum in order to maintain a high degreeof autonomy.

d) Summarize execution in order of priority.

Separate processing into cyclic and interrupt tasks.

2. Be sure to break down and design programs in a manner that will ensureautonomy and keep the amount of data exchanged between tasks (pro-grams) to an absolute minimum.

3. Generally, use an overall control task to control the READY/Standby statusof the other tasks.

4. Allocate the lowest numbers to tasks with the highest priority.Example: Allocate a lower number to the control task than to processingtasks.

5. Allocate lower numbers to high-priority interrupt tasks.

6. A task in READY status will be executed in subsequent cycles as long asthe task itself or another task does not shift it to Standby status. Be sure toinsert a TKOF(821) (TASK OFF) instruction for other tasks if processing isto be branched between tasks.

7. Use the Initial Task Execution Flag (A20015) or the Task Start Flag(A20014) in the execution condition to execution instructions to initializetasks. The Initial Task Execution Flag will be ON during the first executionof each task. The Task Start Flag each time a task enters READY status.

Input proces-sing

Overall control (may in-clude error processing in some cases)

Breakdown by function

Error processing

Sequence control

Analog control

Man-machine interfacing

Interrupt

Output processing

Breakdown by execution and non-execution conditions

Ord

er p

riorit

y

Ext

erna

l I/O

Ext

erna

l out

puts

Minimize data exchange

166

Page 188: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Using Tasks Section 4-2

8. Assign I/O memory into memory shared by tasks and memory used onlyfor individual tasks, and then group I/O memory used only for individualtasks by task.

Relationship of Tasks to Block Programs

Up to 128 block programs can be created in the tasks. This is the total numberfor all tasks. The execution of each entire block program is controlled from theladder diagram, but the instructions within the block program are written usingmnemonics. In other words, a block program is formed from a combination ofa ladder instruction and mnemonic code.

Using a block program makes it easier to write logic flow, such as conditionalbranching and process stepping, which can be hard to write using ladder dia-grams. Block programs are located at the bottom of the program hierarchy,and the larger program units represented by the task can be split into smallprogram units as block programs that operate with the same execution condi-tion (ON condition).

4-2-5 Global Subroutines Global subroutine can be called from more than one task. They are supportedonly by CS1-H, CJ1-H, or CJ1M CPU Units.

With the CS1 or CJ1 CPU Units, a subroutine in one task cannot be calledfrom other tasks. With the CS1-H, CJ1-H, or CJ1M CPU Units, however, glo-bal subroutines can be created in interrupt task number 0, and these subrou-tines can be called from cyclic tasks (including extra cyclic tasks).

The GSBS instruction is used to call a global subroutine. The subroutine num-ber must be between 0 and 1,023. The global subroutine is defined at the endof interrupt task number 0 (just before END(001)) between the GSBN andGRET instructions.

Global subroutines can be used to create a library of standard program sec-tions that can be called whenever necessary.

Task 0

Task 1

Task n

Program

Block program 000

Block program 001

Block program n

Block program area 000

Block program area 001

167

Page 189: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Interrupt Tasks Section 4-3

4-3 Interrupt Tasks

4-3-1 Types of Interrupt TasksInterrupt tasks can be executed at any time in the cycle if any of the followingconditions are in effect.

The built-in interrupt inputs and high-speed counter inputs on a CJ1M CPUUnit can be used to activate interrupt tasks. Refer to the CJ Series Built-in I/OOperation Manual for details.

I/O Interrupts (CS Series Only)

The I/O interrupt task will be executed when input to the Interrupt Input Unit isON.

Scheduled Interrupts A scheduled interrupt task will be executed at fixed intervals.

Power OFF Interrupt The power OFF interrupt task will be executed when power is turned OFF.

Note The execution time for the power OFF task must be less than 10 ms – (PowerOFF delay detection time).

GSBNn

GSBSn

GSBSn

GRET

END

Cyclic task (including extra cyclic task)

Call

Interrupt task 0

n = 0 to 1,023

Global subroutine (shared subroutine used for standard programming_

Multiple tasks

Return

Call

Cyclic task (including extra cyclic task)

Return

Exe-cution

Interrupt Input Unit CPU Unit

Pro-gram

Inte

rrup

t

Fixed interval

CPU Unit

Pro-gram

Inte

rrup

t

168

Page 190: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Interrupt Tasks Section 4-3

External Interrupts (CS Series Only)

An external interrupt task will be executed when an interrupt is requested byan Special I/O Unit, CPU Bus Unit, or Inner Board (CS Series only). The Spe-cial I/O Unit or CJ Bus Unit, however, must be on the CPU Rack to requestexecution of an external interrupt task.

List of Interrupt Tasks

Note 1. The Interrupt Input Unit must be mounted to the CPU Rack. For CJ1-HCPU Units, the Unit must be connected as one of the five Units next to theCPU Unit (slots 0 to 4). For CJ1M CPU Units, the Unit must be connectedas one of the three Units next to the CPU Unit (slots 0 to 2). I/O InterruptUnits mounted elsewhere cannot be used to request execution of I/O inter-rupt tasks

2. The Special I/O Unit or CPU Bus Unit must be mounted to the CPU Rack.For CJ1-H CPU Units, the Unit must be connected as one of the five Unitsnext to the CPU Unit (slots 0 to 4). For CJ1M CPU Units, the Unit must beconnected as one of the three Units next to the CPU Unit (slots 0 to 2).Units mounted elsewhere cannot be used to generate external interrupts.

Power OFF

CPU Unit

Interrupt Pro-gram

Special I/O Unit, CS1 CPU Bus Unit or Inner Board CPU Unit

Pro-gram

Inte

rrup

t Type Task

No.Execution condition Setting procedure Number of

interruptsApplication examples

I/O Inter-rupts 00 to 31

100 to 131

Input from the Interrupt Input Unit ON on the CPU Rack (See note 1.)

Use the MSKS (SET INTER-RUPT MASK) instruction to assign inputs from Interrupt Input Units on the CPU Rack.

32 points Increasing response speed to specific inputs

Scheduled Interrupts 0 and 1

2 and 3 Scheduled (fixed inter-vals)

Use the MSKS (SET INTER-RUPT MASK) instruction to set the interrupt interval. See Scheduled Interrupt Time Units in PLC Setup.

2 points Monitoring operating sta-tus at fixed intervals

Power OFF Interrupt

1 When power turns OFF (After the default power OFF detection time + power OFF detection delay time)

See Power OFF Interrupt Task and Power OFF Detec-tion Delay Time in PLC Setup.

1 point Executing emergency processing when power shuts OFF.

External Interrupts0 to 255

0 to 255

When requested by an Special I/O Unit or CPU Bus Unit on the CPU Rack or by an Inner Board (CS Series only) (See note 2.)

None (always valid) 256 points Performing processing required by Special I/O Units, CPU Bus Units, and the Inner Board.

169

Page 191: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Interrupt Tasks Section 4-3

3. CJ1 CPU Units do not support I/O interrupt and external interrupt tasks.

I/O Interrupt Tasks: Tasks 100 to 131I/O interrupt tasks are disabled by default when cyclic task execution isstarted. To enable I/O interrupts, execute the MSKS (SET INTERRUPTMASK) instruction in a cyclic task for the interrupt number for Interrupt InputUnit.

Example: The following example shows execution I/O interrupt task 103 wheninterrupt input No. 3 of Interrupt Input Unit No. 0 (the leftmost of the two Units0 and 1) is ON.

Note Do not enable unneeded I/O interrupt tasks. If the interrupt input is triggeredby noise and there isn’t a corresponding interrupt task, a fatal error (taskerror) will cause the program to stop.

Cyclic task

I/O interrupt from Interrupt Input Unit No. 0

Interrupt input number: Only 3 will be enabled.

The specified I/O in-terrupt will be en-abled when the MSKS instruction is executed.

Interrupt Input Unit No. 0

InterruptCyclic task

I/O interrupt task 103

#FFF7

170

Page 192: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Interrupt Tasks Section 4-3

Interrupt Input UnitNumbers, InputNumbers, and I/OInterrupt Task Numbers

Note For CS-series PLCs, Interrupt Input Unit numbers are in order from 0 to 1starting on the left side of the CPU Rack. For CJ-series PLCs, Interrupt InputUnit numbers are in order from 0 to 1 starting from the CPU Unit.

Operand S (the Second Operand) of MSKS: The bits of FFF7 Hex corre-spond to the interrupt inputs of the Interrupt Input Unit. Interrupt input num-bers 0 to 15 correspond to bits 0 to 15.

Scheduled Interrupt Tasks: Tasks 2 and 3Scheduled interrupt tasks are disabled in the default PLC Setup at the start ofcyclic task execution. Perform the following steps to enable scheduled inter-rupt tasks.

1,2,3... 1. Execute the MSKS (SET INTERRUPT MASK) instruction from a cyclictask and set the time (cycle) for the specified scheduled interrupt.

2. Set the scheduled interrupt time unit in PLC Setup.

Note The interrupt time setting affects the cyclic task in that the shorter the interrupttime, the more frequently the task executes and the longer the cycle time.

Interrupt Input Unit No. (See note.)

Input No. I/O interrupt task

0 0 to 15 100 to 115

1 0 to 15 116 to 131

10 10Unit No. → CPU Unit

Interrupt Input Unit

CS-series PLCs CJ-series PLCs

� Unit No. CPU Unit

Interrupt Input Unit

1 1 1 1 0 1 1 1F Hex 7 HexF Hex F Hex

171

Page 193: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Interrupt Tasks Section 4-3

Example: The following examples shows executed scheduled interrupt task 2every second.

Interrupt Numbers and Scheduled Interrupt Task Number

PLC Setup Settings

Power OFF Interrupt Task: Task 1The power OFF interrupt task is disabled in the default PLC Setup at the startof cyclic task execution.

The power OFF interrupt task can be enabled in the PLC Setup.

In the default PLC Setup, the power OFF interrupt task will be stopped after10 ms. The power OFF interrupt task must be executed in less than 10 ms.

If a power OFF detection delay time is set in the PLC Setup, the power OFFinterrupt task will be stopped after 10 ms minus the power OFF detectiondelay time setting in the PLC Setup. In this case, the power OFF interrupt taskmust execute in less than 10 ms minus the power OFF detection delay timeset in the PLC Setup.

Cyclic task Interrupt number 4 will be executed at an interrupt interval of 0064 Hex.

Scheduled interrupt time unit in PLC Setup = 10 ms (0.01 s)

Every second

Interrupt

Scheduled interrupt task 2

Cyclic task

&100

Interrupt No. Scheduled interrupt task

4 2

5 3

Address Name Description Settings Default setting

Bits 0 to 3 of 195 Scheduled inter-rupt time units

Sets time unit for scheduled inter-rupts to execute interrupt tasks at fixed intervals.

00 Hex: 10 ms01 Hex: 1.0 ms02 Hex: 0.1 ms (CJ1M CPU Units only)

00 Hex

172

Page 194: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Interrupt Tasks Section 4-3

Example: If the power OFF detection delay time is set to 4 ms in PLC Setup,then execution time must be less than 10 minus 4 ms, or 6 ms.

Note A power OFF condition is recognized when the power supply falls below 85%of the minimum rated voltage (80% for DC power supplies), and the time ittakes before the power OFF interrupt task actually executes is the defaultpower OFF detection time (10 to 25 ms for AC power supplies and 2 to 5 msfor DC power supplies) plus the power OFF detection delay time in the PLCSetup (0 to 10 ms). Cyclic tasks will be executed for this amount of time.

Note Be sure that the power OFF interrupt task can be executed in less than 10 msminus the power OFF detection delay time set in the PLC Setup. Any remain-ing instructions will not be executed after this time has elapsed. The powerOFF interrupt task will not be executed if power is interrupted during onlineediting. In addition to the instructions that cannot be used in any interrupt task(refer to the Programming Manual for details), the following instructions can-not be used in the power OFF interrupt task: READ DATA FILE: FREAD(700),WRITE DATA FILE: FWRIT(701), NETWORK SEND: SEND(090), NETWORKRECEIVE: RECV(098), DELIVER COMMAND: CMND(490), TRANSMIT:TXD(236), RECEIVE: RXD(235), and PROTOCOL MACRO: PMCR(260).

Power OFF interrupt task

Less than 10 ms minus the power OFF detection delay time

The default setting is 10 ms max.

Power OFF recognized

CPU reset (force end)

Stop

Default power OFF detection time plus power OFF detection delay time

10 ms minus the power OFF detection delay time

Cyclic task Power OFF interrupt task

Power supply < 85% of the minimum rated voltage (80% for DC power supplies)

173

Page 195: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Interrupt Tasks Section 4-3

Power OFF Interrupt Task Execution

PLC Setup Settings for Power OFF Interrupt Task (Task Number: 1)

External Interrupt Tasks: Tasks 0 to 255External interrupt tasks can be received at any time.

Interrupt processing is performed at the CPU Unit in PLCs containing an InnerBoard (CS Series only), Special I/O Units, or CPU Bus Units. Settings don’thave to be made at the CPU Unit unless the program contains an externalinterrupt task for a particular task number.

External interrupts are not supported by CJ1 CPU Units.

Example: The following example shows an external interrupt generated froma CS1W-SCB@1 Serial Communications Board.

When the Serial Communications Board’s response notification method is setfor interrupt notification (fixed number) or interrupt notification (reception case

Address Name Description Settings Default setting

Bit 15 at +225 Power OFF INTERRUPT TASK

If bit 15 of +225 is ON, then a power OFF interrupt task will start if power turns OFF.

0: OFF, 1: ON

0

Bits 0 to 7 at +225

Power OFF Detection Delay Time

Power OFF is recognized when this time plus the default power OFF detection time (10 to 25 ms for AC power supplies and 2 to 5 ms for DC power supplies) expires.

00 to 0A Hex: 0 to 10 ms (1-ms units)

00 Hex

Cyclic task

Power OFF

CPU reset

Power OFF interrupt task 1 Power OFF interrupt task ON/OFF setting in PC Setup: ON

CPU UnitSerial Communications Board

Interrupt

174

Page 196: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Interrupt Tasks Section 4-3

number), the Board will request execution of an external interrupt task in theCPU Unit after it receives data from its serial port and writes that data into theCPU Unit’s I/O memory.

Note 1. When the response notification method is set for interrupt notification (fixednumber), the Board requests execution of the interrupt task with the presettask number.

2. When the response notification method is set for interrupt notification (re-ception case number), the external interrupt task number is calculated withthe specified formula and the Board requests execution of the interrupttask with that task number.

3. If an external interrupt task (0 to 255) has the same number as a powerOFF task (task 1), scheduled interrupt task (task 2 or 3), or I/O interrupttask (100 to 131), the interrupt task will be executed for either interrupt con-dition (external interrupt or the other interrupt condition). As a rule, tasknumbers should not be duplicated.

4-3-2 Interrupt Task PriorityExecution of another interrupt task will be ended to allow the power OFF inter-rupt task to execute. The CPU will reset but the terminated interrupt task willnot be executed following execution of the power OFF interrupt task.

CPU Unit Serial Communications Board

DataCyclic task

Interrupt task

I/O memory

Specifies exter-nal interrupt task number and re-quests interrupt processing.

175

Page 197: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Interrupt Tasks Section 4-3

Interrupt during Interrupt Task Execution

If an interrupt occurs while another interrupt task is being executed, the taskfor the interrupt will not be executed until the original interrupt finishes execut-ing.

Note If you do not want a specific I/O interrupt task number to be saved and exe-cuted for a CS-series CPU Unit when it occurs while another interrupt task isbeing executed, execute the CLI (CLEAR INTERRUPT) instruction from theother interrupt task to CLEAR the interrupt number saved internally. Sched-uled interrupts and external interrupts cannot be cancelled.

Multiple Interrupts Occurring Simultaneously

Interrupt tasks other than power OFF interrupt tasks will be executed in thefollowing order of priority whenever multiple interrupts occur simultaneously.

I/O interrupt tasks (CS Series only) > external interrupt tasks (CS Series only)> scheduled interrupt tasks

Each of the various types of interrupt task will be executed in order startingfrom the lowest number if more than one occurs.

Note Only one interrupt will be recorded in memory for each interrupt task and aninterrupt will not be recorded for an interrupt that is already being executed.Because of the low order of priority of scheduled interrupts and because thatonly one interrupt is recorded at a time, it is possible for a scheduled interruptto be skipped.

4-3-3 Interrupt Task Flags and WordsMaximum Interrupt Task Processing Time (A440)

The maximum processing time for an interrupt task is stored in binary data in0.1-ms units and is cleared at the start of operation.

Cyclic task

Interrupt task AInterrupt during execution

Interrupt task B

Interrupt task A will continue until it finishes executing.

Cyclic taskInterrupt task 101 will be ignored while another interrupt task is being executed.

Interrupt task AInterrupt during execution

I/O interrupt task

Interrupt task 101 will not be executed.

176

Page 198: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Interrupt Tasks Section 4-3

Interrupt Task with Maximum Processing Time (A441)

The interrupt task number with maximum processing time is stored in binarydata. Here, 8000 to 80FF Hex correspond to task numbers 00 to FF Hex.

A44115 will turn ON when the first interrupt occurs after the start of operation.The maximum processing time for subsequent interrupt tasks will be stored inthe rightmost two digits in hexadecimal and will be cleared at the start of oper-ation.

Interrupt Task Error Flag (Nonfatal Error) (A40213)

If Interrupt Task Error Detection is turned ON in the PLC Setup, the InterruptTask Error Flag will turn ON if an interrupt task error occurs.

Interrupt Task Error Flag (A42615)/Task Number Generating the Interrupt Task Error (A42600 to 42611)

If A40213 turns ON, then the following data will be stored in A42615 andA42600 to A42611.

Task Number when Program Stopped (A294)

The type of task and the current task number when a program stops due to aprogram error will be stored in the following locations.

4-3-4 Application PrecautionsLong Execution Times with C200H Special I/O Units or SYSMAC BUS (CS Series Only)

Be sure all interrupt tasks (I/O, scheduled, power OFF, and external interrupttasks) execute within 10 ms when using C200H Special I/O Units or SYSMACBUS Remote I/O.

If an interrupt task executes for more than 10 ms during C200H Special I/OUnit or SYSMAC BUS remote I/O refreshing, an interrupt task error will occur,A40206 (Special I/O Unit Error Flag) will turn ON, and I/O refreshing will bestopped for Special I/O Units. The CPU Unit, however, will continue to oper-ate.

If Interrupt Task Error Detection is turned ON in the PLC Setup, A40213 (Inter-rupt Task Error Flag) will turn ON when an interrupt task error occurs, and the

A40213 Interrupt Task Error Description A42615 A42600 to 42611

Interrupt Task Error (If Interrupt Task Error Detection is turned ON in the PLC Setup)

If an interrupt task executes for more than 10 ms during C200H Special I/O Unit or SYSMAC BUS Remote I/O refresh (CS Series only).

OFF The interrupt task number will be stored in 12 bits of binary data (interrupt task 0 to 255: 000 to OFF Hex).

When trying to refresh I/O for a large number of words using the IORF instruction from an interrupt task while an Special I/O Unit is being refreshed by cyclic I/O refreshing.

ON The unit number of the Special I/O Unit being refreshed will be stored in 12 bits of binary data (unit No. 0 to 95: 000 to 05F Hex).

Type A294

Interrupt task 8000 to 80FF Hex (corresponds to inter-rupt task No. 0 to 255)

Cyclic task 0000 to 001F Hex (corresponds to task No. 0 to 31)

177

Page 199: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Interrupt Tasks Section 4-3

offending interrupt task number will be stored in A426 (Interrupt Task Error,Task Number). The CPU Unit however will continue to operate.

Executing IORF for a Special I/O Unit

If an IORF(097) instruction has to be executed from an interrupt task for aSpecial I/O Unit, be sure to turn OFF cyclic refresh for the Special I/O Unit(using the unit number) in the PLC Setup.

A interrupt task error will occur if you try to refresh a Special I/O Unit with anIORF(097) instruction from an interrupt task while that UNIT is also beingrefreshed by cyclic I/O refresh or by I/O refresh instructions (IORF(097) orimmediate refresh instructions (!)). If Interrupt Task Error Detection is turnedON in the PLC Setup when an interrupt task error occurs, A40213 (InterruptTask Error Flag) will turn ON and the unit number of the Special I/O Unit forwhich I/O refreshing has been duplicated will be stored in A426 (InterruptTask Error, Task Number). The CPU Unit will continue running.

Note The leftmost bits of A426 (Interrupt Task Error, Task Number) can be used todetermine which of the above interrupt task errors occurred. (Bit 15: 10 ms orhigher execution error if 0, multiple refresh error if 1)

PLC Setup Settings

C200H Special I/O Unit

or Master SYSMAC BUS Remote I/O Unit

Interrupt task

10 ms or longer

Up to 10 ms

SYSMAC BUS Remote I/O

Interrupt task

Incorrect Use Correct Use

Address Name Description Settings Default setting

Bit 14 at +128 Interrupt Task Error Detection

Specifies whether or not to detect interrupt task errors. The Interrupt Task Error Flag (A40213) will be function when detection is enabled.

0: Detection enabled, 1: Detection disabled

0

Special I/O Unit

I/O refresh

Interrupt task

Do not executed IORF(097) in an interrupt task if cyclic refreshing is enabled for Special I/O Units in the PC Setup.

Disable cyclic refresh-ing for Special I/O Units in the PC Setup before executing the IORF(097) instruction in an interrupt task.

Incorrect Use Correct Use

178

Page 200: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Interrupt Tasks Section 4-3

Related Auxiliary Area Flags/Words

Disabling Interrupts Processing will be interrupted and the interrupt task will be executed in the fol-lowing instances.

• While an instruction is being executed

• During Basic I/O Unit, CPU Bus Unit, Inner Board (CS Series only), orSYSMAC BUS remote I/O (CS Series only) refreshing

• During HOST LINK servicing

Data Concurrency between Cyclic and Interrupt Tasks

Data may not be concurrent if a cyclic (including extra cyclic tasks) and aninterrupt task are reading and writing the same I/O memory addresses. Usethe following procedure to disable interrupts during memory access by cyclictask instructions.

• Immediately prior to reading or writing by a cyclic task instruction, use aDI (DISABLE INTERRUPT) instruction to disable execution of interrupttasks.

• Use an EI (ENABLE INTERRUPT) instruction immediately after process-ing in order to enable interrupt task execution.

Problems may occur with data concurrency even if DI(693) and EI(694) areused to disable interrupt tasks during execution of an instruction that requiresresponse reception and processing (such as a network instruction or serialcommunications instruction).

Note With the CS1-H, CJ1-H, or CJ1M CPU Unit, execution of the BIT COUNTER(BCNT), BLOCK SET (BSET), and BLOCK TRANSFER (XFER) instructions

Name Address Description

Interrupt Task Error Flag

A40213 Turns ON if an interrupt task executes for more than 10 ms during C200H Special I/O Unit or SYSMAC BUS Remote I/O refresh, but the CPU Unit will continue running. The ERR/ALM LED will light on the front panel (CS Series only).Turns ON if you try to refresh a Special I/O Unit with an IORF instruc-tion from an interrupt task while that Unit is being refreshed by cyclic I/O refresh.

Interrupt Task Error, Task Number

A426 Contains the interrupt task number or the number of the Special I/O Unit being refreshed.(Bit 15 will be OFF when execution of an interrupt task requires 10 ms or longer and ON when duplicated Special I/O Unit refreshing has occurred.)

Cyclic task

Reading and writing I/O memory common to interrupt tasks.

Processing with interrupt task execution enabled

Disabled

Enabled

Interrupt task

Interrupt task

179

Page 201: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Programming Device Operations for Tasks Section 4-4

will not be interrupted for execution of interrupt task, i.e., execution of theinstruction will be completed before the interrupt task is executed, delayingthe response of the interrupt. To prevent this, separate data processing forthese instructions into more than one instructions, as shown below for XFER.

4-4 Programming Device Operations for Tasks4-4-1 Using Multiple Cyclic Tasks

Use the CX-Programmer to create more than one cyclic task (including extracyclic tasks). A Programming Console cannot be used to create new cyclictasks. Be sure to use a CX-Programmer to allocate the task type and tasknumber for programs that are created.

• Multiple cyclic tasks created and transferred to a CPU Unit from the CX-Programmer can be monitored or edited from a Programming Console.

• The Programming Console can be used to create one cyclic task and oneor more specific interrupt tasks simply by using the Programming Con-sole’s All Clear function and specifying Interrupt Tasks. Only interrupttasks 1 (power OFF interrupt), 2 and 3 (scheduled interrupts), and 100through 131 (I/O interrupts) can be created with a Programming Console.With a CJ1M CPU Unit, however, interrupt tasks 140 through 143 (forbuilt-in inputs) can also be created. Cyclic task 0 will start when PLCoperation is started.

4-4-2 Programming Device OperationsCX-Programmer Specify the task type and number as attributes for each program.

1,2,3... 1. Select View/Properties, or click the right button and select Properties onthe popup menu, to display the program that will be allocated a task.

2. Select the General tab, and select the Task Type and Task No. For thecyclic task, click the check box for Operation start to turn it ON.

XFER&50

D00050D30050

XFER&50

D00000D30000

XFER&100

D00000D30000

Interrupts are possible as soon as execution of XFER has been completed.

XFER instruction is not interrupted.

Processing separated.

180

Page 202: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Programming Device Operations for Tasks Section 4-4

Programming Console A task is handled as the entire program on the Programming Console. Accessand edit a program with a Programming Console by specifying CT00 to CT31for a cyclic task or IT001 to IT255 for an interrupt task.

Note 1. A Programming Console cannot create new cyclic tasks.

2. The CJ-series CPU Units do not currently support I/O or external interrupttasks. Only IT001 to IT003 can be specified.

CLR

0: Cyclic task, 1: Interrupt task

Cyclic task No.?

Enter 00 to 31.

Write

Enter 000 to 255.

Interrupt task No.?

FUN

0

Write

1

CHG

00

181

Page 203: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Programming Device Operations for Tasks Section 4-4

182

Page 204: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

SECTION 5File Memory Functions

This section describes the functions used to manipulate file memory.

5-1 File Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

5-1-1 Types of File Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

5-1-2 File Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

5-1-3 Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

5-1-4 Description of File Operating Procedures . . . . . . . . . . . . . . . . . . . . 196

5-1-5 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

5-2 Manipulating Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

5-2-1 Programming Devices (Including Programming Consoles). . . . . . . 199

5-2-2 FINS Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

5-2-3 FREAD(700), FWRIT(701), and CMND(490) . . . . . . . . . . . . . . . . 203

5-2-4 Replacement of the Entire Program During Operation . . . . . . . . . . 208

5-2-5 Automatic Transfer at Startup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

5-2-6 Simple Backup Function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

5-3 Using File Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

5-3-1 Initializing Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

5-3-2 Operating Procedures for Memory Cards. . . . . . . . . . . . . . . . . . . . . 228

5-3-3 Operating Procedures for EM File Memory. . . . . . . . . . . . . . . . . . . 230

183

Page 205: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

File Memory Section 5-1

5-1 File MemoryThe CS/CJ Series support file memory. The following media can be used asmemory for storing files.

1,2,3... 1. Memory Cards

2. A specified range in the EM Area called EM file memory

Note CJ1M CPU Units do not have an EM Area, so EM file memory can-not be used.

Both types of memory can be used to store the entire user program, I/O mem-ory, and parameter areas as files.

5-1-1 Types of File Memory

Note 1. Refer to 5-2 Manipulating Files for details on installing and removing Mem-ory Cards.

2. Initialize the Memory Card or EM File Memory before using it for the firsttime. Refer to 5-3 Using File Memory for details on initialization.

3. The HMC-AP001 Memory Card Adapter can be used to mount a MemoryCard in the PLC card slot of a personal computer to use the Memory Cardas a storage device.

CPU Unit

Memory Card

File

File

File

File

EM area

Category Type Capacity Model File data recognized by the CPU Unit

Allowed file operations

Flash memory

8 Mbytes HMC-EF861 1) Entire user program

2) Specified range in I/O memory

3 ) Parameter area data (PLC Setup and other settings)

See note 4.

All are possible. (See page 196 for details.)

15 Mbytes HMC-EF171

30 Mbytes HMC-EF371

48 Mbytes HMC-EF571

RAM EM area capac-ity of CPU Units

CS SeriesCS1H-CPU67H: 832 Kbytes (Banks 0 to C: E0_00000 to EC_00000)

CJ SeriesCJ1H-CPU66H: 448 Kbytes (Banks 0 to 6: E0_00000 to E6_00000)

From the speci-fied bank in the EM area of I/O memory to the last bank (speci-fied in PLC Setup)

The automatic transfer at startup function cannot transfer data from EM File Memory. (See page 196 for details.)

Memory Cards

EM File MemoryEM area

EM File Memory

Bank 0Bank 1

Bank n

Bank C

184

Page 206: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

File Memory Section 5-1

4. When the CX-Programmer is being used, the CPU Unit can recognizesymbol tables (including I/O comments) and comments. The transfer des-tination is the Memory Card when a Memory Card is installed or EM FileMemory if a Memory Card is not installed.

Memory Card Precautions

Confirm the following items before using a Memory Card.

Format

Memory Cards are formatted before shipping. There is no need to formatthem after purchase. To format them once they have been used, always do soin the CPU Unit using the CX-Programmer or a Programming Console.

If a Memory Card is formatted directly in a notebook computer or other com-puter, the CPU Unit may not recognize the Memory Card. If this occurs, youwill not be able to use the Memory Card even if it is reformatted in the CPUUnit.

Number of Files in Root Directory

There is a limit to the number of files that can be placed in the root directory ofa Memory Card (just as there is a limit for a hard disk). Although the limitdepends on the type and format of the Memory Card, it will be between 128and 512 files. When using applications that write log files or other files at aspecific interval, write the files to a subdirectory rather than to the root direc-tory.

Subdirectories can be created on a computer or by using the CMND(490)instruction. Refer to *!�,!��&�+�-�����$$.�&/��$�&0�1 2��������3��������������'��������(����'� for a specific example using CMND(490).

Number of Writes

Generally speaking, there is no limit to the number of write operations that canbe performed for a flash memory. For the Memory Cards, however, a limit of100,000 write operations has been set for warranty purposes. For example, ifthe Memory Card is written to every 10 minutes, over 100,000 write opera-tions will be performed within 2 years.

Minimum File Size

If many small files, such as ones containing only a few words of DM Areadata, are stored on the Memory Card, it will not be possible to use the com-plete capacity of the Memory Card. For example, if a Memory Card with anallocation unit size of 4,096 bytes is used, at least 4,096 bytes of memory willbe used for each file regardless of how small the file is. If you save 10 wordsof DM Area data to the Memory Card, 4,096 bytes of memory will be usedeven though the actual file size is only 68 bytes. Using files of such a smallsize greatly reduces the utility rate of the Memory Card. If the allocation unitsize is reduced to increase the utility rate, however, the access speed will bereduced.

The allocation unit size of the Memory Card can be checked from a DOSprompt using CHKDSK. The specific procedure is omitted here. Refer to gen-eral computer references for more information on allocation unit sizes.

Memory Card Access Precautions

When the PLC is accessing the Memory Card, the BUSY indicator will light onthe CPU Unit. Observe the following precautions.

1,2,3... 1. Never turn OFF the power supply to the CPU Unit when the BUSY indica-tor is lit. The Memory Card may become unusable if this is done.

185

Page 207: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

File Memory Section 5-1

2. Never remove the Memory Card from the CPU Unit when the BUSY indi-cator is lit. Press the Memory Card power OFF button and wait for theBUSY indicator to go out before removing the Memory Card. The MemoryCard may become unusable if this is not done.

3. Insert the Memory Card with the label facing to the right. Do not attempt toinsert it in any other orientation. The Memory Card or CPU Unit may bedamaged.

4. A few seconds will be required for the CPU Unit to recognize the MemoryCard after it is inserted. When accessing a Memory Card immediately afterturning ON the power supply or inserting the Memory Card, program anNC condition for the Memory Card Recognized Flag (A34315) as an inputcondition, as shown below.

5-1-2 File DataThe following files can be written from a Programming Device (CX-Program-mer or Programming Console), FINS commands, ladder instructions, or spe-cial control bits in CPU Unit memory:

� ���������� �

� ������ �

� ��������� �

Note The following three types of files can also be written from the CX-Program-mer.

� ����� ���� ��� �

� ������� �

� �����������!��� �

Memory Card Detected Flag

File Memory Operation Flag

Execution condition

User Program: Program FileEntire program including task attributes

Entire program

Specified RangData Files

e in I/O Memory:

Entire range or specified part of one memory area

PParameter File

arameter Area Data:

Initial settings used in the CPU Unit.

CS1 CPU Bus Unit settings area

Routing tables

I/O tables

PC Setup

Specified part

or

Entire area

186

Page 208: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

File Memory Section 5-1

Note Symbol tables (symbols, addresses, and I/O comments) can be treated asfiles from the CX-Programmer.

Data transfer operations can be performed for projects from the CX-Program-mer to transfer all of the above files (symbol table files, comment files, pro-gram index files) between the CPU Unit and a Memory Card or between EMfile memory. (Program index file transfers are supported starting from version2.0.) The symbol table files and comment files can also be transferredbetween the CX-Programmer, computer RAM, and a data storage device withCX-Programmer version 1.2 or later.

The CX-Programmer can also be used to save data from individual parameterareas in files with an extension of .STD. (These files cannot be used for auto-matic transfer at startup. All parameter areas must be save in one file toenable automatic transfer at startup.)

File File name Extension Contents

Symbol table file SYMBOLS .SYM Global and local symbols

Comment file COMMENTS .CMT Rung comments and comments (annotations)

Program index file PROGRAM .IDX Section names and section com-ments

Symbol Table FilesTables of variables used by the CX-Programmer

Symbols, addresses, data types, I/O comments

Comment FilesComments used by the CX-Programmer

Rung comments

Comments

Program Index FileSection information (used by CX-Programmer)

Section names, section comments

CX-Programmer

CPU Unit

User programI/O memoryEtc.

Program filesData files

Programming Device, FINS commands, ladder instructions, or control bits

Programming Device, FINS commands, ladder instructions, or control bits

Program filesData files

EM file memory

Memory Card

Data transfer operations from the CX-Programmer

Symbol filesComment filesProgram index files

When a Memory Card is not inserted

Files That Can Be Written from the CPU Unit

Files That Can Be Written from the CX-Programmer

187

Page 209: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

File Memory Section 5-1

5-1-3 FilesFiles are formatted in DOS, and therefore can be used as regular files on aWindows computer.

Files are identified by file names and extensions, as shown in the followingtable. A file name is written using the following characters: Letters A to Z,numbers 0 to 9, !, &, $, #, `, {, }, –, ^, (, ), and _

The following characters cannot be used in file names: ,, ., /, ¥, ?, *, “, :, :, <, >,=, +, space

The filename extensions depend upon the type of file being stored. Data filescan have extensions IOM, TXT, CSV, or IOR. (TXT, CSV, and IOR extensions:Not supported by CS-series CS1 CPU Units that are pre-EV1.) Program fileshave the extension OBJ and parameter files have the extension STD. Thelocation of a file in memory can be specified in the directory, and a directorycan be up to 5 subdirectories deep (counting the root directory).

File Types, Names, and ExtensionsThere are 3 types of files that can be managed (read and written) by the CPUUnit.

� ��������������������� ���������������"�������#���$�#����������������%������&�� ���������� ������������ ��� '�!� ����� '��� ����� � ��� �������������� �������������������� �����������

� �������� �!���"������������������� �� �� ��� �������� �� ��������� ����� ��(����� ���� �� � �)� )��� #��� �� ��#�� ��� ����� *&�� ��� �� � ����� ��� ��!�� ��')�*+,+ ����'�+,+ @@�� #� $��������"Not supported by CS-series CS1 CPU Units that are pre-

EV1$������ ���������������#����(����� �������� �)�)���������������������������� ����������!�����-' .)�@@�

General-purpose Files The following table shows file names and extensions of general-purpose files.

Note 1. File names, represented by “********” above, consist of up to 8 ASCII char-acters.

2. The TXT and CSV file formats: Not supported by CS-series CS1 CPUUnits that are pre-EV1.

3. One example of the CPU Bus Unit settings would be the Data Link Tables.Refer to the operation manuals for specific Units for other setup data.

Type Name1 Extension Description Explanation

Data File ******** .IOM Specified range in I/O memory

• Data from start to end word inword units (16 bits) located inone area.

• The area can be the CIO, HR,WR, AR, DM, or EM Area.

Binary format

.TXT TXT format2

(non-delimited or tab-delimited)

.CSV CSV format2

(comma-delimited)

Program File ******** .OBJ Entire user pro-gram

• All cyclic and interrupt tasks as well as task data forone CPU Unit.

Parameter Area File

******** .STD PLC Setup, regis-tered I/O table, routing tables, CPU Bus Unit settings3, etc.

• Includes all initial settings for one CPU Unit.• The user does not have to distinguish parameter data

in the file by type.

188

Page 210: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

File Memory Section 5-1

Files Automatically Transferred at StartupThe File column indicates the files that must be present in the Memory Cardto enable automatic transfer at startup.

Note 1. Make sure the names of the files to be transferred automatically at startupare AUTOEXEC or ATEXEC@@.

2. The ATEXECDM.IOM and [email protected] files: Not supported by CS-series CS1 CPU Units that are pre-EV1.

Type Name1 Extension Description Explanation File

Data File AUTOEXEC .IOM I/O memory data(Contains the specified number of words of data beginning at D20000.)

� Store DM data beginning at D20000 ina file named AUTOEXEC.IOM.

� At startup, all of the data in the file willbe transferred to the DM Area begin-ning at D20000.

� This file does not have to be on theMemory Card when the automatictransfer at startup function is beingused.

---

ATEXECDM .IOM I/O memory data2

(Contains the specified number of words of data beginning at D00000.)

� Store DM data beginning at D00000 ina file named ATEXECDM.IOM.

� At startup, all of the data in the file willbe transferred to the DM Area begin-ning at D00000.

� This file does not have to be on theMemory Card when the automatictransfer at startup function is beingused.

Note The data in this file has higher pri-ority if it overlaps the DM datacontained in AUTOEXEC.IOM.

---

ATEXECE@ .IOM EM Area data (bank @)2

(Contains the specified number of words of data beginning at E@_00000.)

• Store data for EM bank @ beginning atE@_00000 in a file named [email protected]. The maximum bank num-ber depends upon the model of CPUUnit being used.

• At startup, all of the data in the file willbe transferred to EM bank @ beginningat E@_00000.

• This file does not have to be on theMemory Card when the automatictransfer at startup function is beingused.

---

Program File

AUTOEXEC .OBJ Entire user program • The file does not have to be on theMemory Card even when automatictransfer at startup is specified.

• All cyclic and interrupt task programsas well as task data for one CPU Unit.

Required

Parameter Area File

AUTOEXEC .STD PLC Setup, registered I/O table, routing tables, CPU Bus Unit settings3, etc.

The file must be on the Memory Card when automatic transfer at startup is specified.

Includes all initial settings for one CPU Unit.The user does not have to distinguish parameter data in the file by type.Initial setting data will automatically be stored at specific locations in the CPU Unit at startup

Required

189

Page 211: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

File Memory Section 5-1

3. One example of the CPU Bus Unit settings would be the Data Link Tables.Refer to the operation manuals for specific Units for other setup data.

Backup Files (Not Supported by CS-series CS1 CPU Units That Are Pre-EV1)

The files in the following table are created automatically when data is trans-ferred to and from the Memory Card during backup operation.

Note 1. Make sure the names of the files used for backup are BACKUP@@.

2. The CIO Area, WR Area, Timer/Counter Completion Flags and PVs, andforce-set/force-reset data that is read from the Memory Card at startup willbe cleared. This data can be retained with the following PLC Setup set-tings: IOM Hold Bit Status at Startup and Forced Status Hold Bit Status atStartup.

Type Name1 Extension Description Explanation

Data file BACKUP .IOM DM Area words allo-cated to Special I/O Units, CPU Bus Units, and Inner Boards (CS Series only)

• Contains DM data from D20000 to D32767.• This file must exist on the Memory Card when

reading data from the Memory Card duringbackup.

BACKUPIO .IOR I/O memory data areas

• Contains all of the data in the CIO, WR, HR, andAR data areas as well as timer/counter Comple-tion Flags and PVs.2

• This file must exist on the Memory Card whenreading data from the Memory Card duringbackup.

BACKUPDM .IOM General-purpose DM Area

• Contains DM data from D00000 to D19999.• This file must exist on the Memory Card when

reading data from the Memory Card duringbackup.

BACKUPE@ .IOM General-purpose EM Area

Contains all of the EM data for EM bank @ with addresses ranging from E@_00000 to E@_32767. (The maximum bank number depends upon the model of CPU Unit being used.)

This file must exist on the Memory Card when read-ing data from the Memory Card during backup.• When data is backed up to the Memory Card, all

of the data in each EM bank is automatically writ-ten to a separate file.

Program file BACKUP .OBJ Entire user program • Contains all cyclic and interrupt task programs aswell as task data for one CPU Unit.

• This file must exist on the Memory Card whenreading data from the Memory Card duringbackup.

Parameter file .STD PLC Setup, regis-tered I/O table, rout-ing tables, CPU Bus Unit settings3, etc.

• Contains all initial settings for one CPU Unit.• The user does not have to distinguish parameter

data in the file by type.• This file must exist on the Memory Card when

reading data from the Memory Card duringbackup.

Unit/Board backup files (CS1-H, CJ1-H, or CJ1M CPU Units only)

BACKUP@@ (where @@ is the unit address of the Unit/Board being backed up)

.PRM Data for specific Unit or Board

• Control backup data from one Unit or Board.Refer to ,!�! � ��%��� 4�'��� "�'���� fordetails.

190

Page 212: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

File Memory Section 5-1

3. One example of the CPU Bus Unit settings would be the Data Link Tables.Refer to the operation manuals for specific Units for other setup data.

DirectoriesIt is possible to access files in subdirectories with CS/CJ-series PLCs, butProgramming Consoles can access files only when they are in the root direc-tory. The maximum length of a directory path is 65 characters. Be sure not toexceed the maximum number of characters when creating subdirectories inthe Memory Card with a program such as Windows.

File SizesThe size of files in bytes can be calculated with the equations in the followingtable.

Note Calculate the number of steps in the program file by subtracting the availableUM steps from the total UM steps. These values are shown in the CX-Pro-grammer’s Cross-Reference Report. Refer to the CX-Programmer User Man-ual for details.

File type File size

Data files (.IOM) (Number of words � 2) + 48 bytesExample: Entire DM Area (D00000 to D32767)(32,768 words � 2) + 48 = 65,584 bytes

Data files (.TXT or .CSV) The file size depends upon the number of delimiters and carriage returns being used. The delimiter code is one byte and the carriage return code is two bytes.Example 1: Non-delimited words, no carriage return123456789ABCDEF012345678 occupies 24 bytes.Example 2: Delimited words, carriage return every 2 fields1234,5678�9ABC,DEF0�1234,5678�occupies 33 bytes.

Example 3: Delimited double words, carriage return every 2 fields56781234,DEF01234�56781234�occupies 29 bytes.

Program files (.OBJ) (Number of steps used � 4) + 48 bytes (See note.)

Parameter files (.STD) 16,048 bytes

191

Page 213: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

File Memory Section 5-1

Data Files

General-purpose Files

1,2,3... 1. General-purpose data files have filename extensions IOM, TXT, or CSV.(The TXT and CSV files: Not supported by CS-series CS1 CPU Units thatare pre-EV1.)

Note a) Reading and Writing TXT and CSV Data Files:TXT and CSV data files can be read and written with FREAD(700)and FWRIT(701) only.

b) Precautions on Characters:Data cannot be written to I/O memory properly if the TXT or CSVfile contains characters other than hexadecimal characters (0 to 9,A to F, or a to f.)

c) Precautions on Field Size:When words are being used, data cannot be written to I/O memoryproperly if the TXT or CSV file contains fields that are not 4-digithexadecimal. Likewise, when double words are being used, datacannot be written properly if the file contains fields that are not 8-digit hexadecimal.

d) Storage Order:When words are being used, I/O memory data is converted toASCII and stored in one-word fields in order from the lowest to thehighest I/O memory address.When double words are being used, I/O memory data is convertedto ASCII and stored in two-word fields in order from the lowest tothe highest I/O memory address. (Within the two-word fields, thehigher-address word is stored first and the lower-address word isstored second.)

Extension Data format Contents Words/field

.IOM Binary CS/CJ-series data format ---

.TXT (See notes.)

Non-delimited words

ASCII format

This format is created by converting one-word fields of I/O memory (4-digit hexadecimal) to ASCII and packing the fields without delimiters. Records can be delimited with car-riage returns.

1 word

Non-delimited double words

This format is created by converting two-word fields of I/O memory (8-digit hexadecimal) to ASCII and packing the fields without delimiters. Records can be delimited with car-riage returns.

2 words

Tab-delimited words

This format is created by converting one-word fields of I/O memory (4-digit hexadecimal) to ASCII and delimiting the fields with tabs. Records can be delimited with carriage returns.

1 word

Tab-delimited double words

This format is created by converting two-word fields of I/O memory (8-digit hexadecimal) to ASCII and delimiting the fields with tabs. Records can be delimited with carriage returns.

2 words

.CSV(See notes.)

Comma-delimited words

This format is created by converting one-word fields of I/O memory (4-digit hexadecimal) to ASCII and delimiting the fields with commas. Records can be delimited with carriage returns.

1 word

Comma-delimited double words

This format is created by converting two-word fields of I/O memory (8-digit hexadecimal) to ASCII and delimiting the fields with commas. Records can be delimited with carriage returns.

2 words

192

Page 214: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

File Memory Section 5-1

e) Delimiters:When there are no delimiters, the fields are packed consecutivelyand then stored. When delimited by commas, commas are insert-ed between fields before they are stored. When delimited by tabs,tab codes are inserted between fields before they are stored.When delimiters (commas or tabs) are specified in FREAD(700),the data is read as delimited data with one-word delimiters (com-mas or tabs).

f) Carriage Returns:Data is packed consecutively when carriage returns are not used.When carriage returns are used, a carriage return code is insertedafter the specified number of fields. An offset from the beginningof the file (starting read word or starting write word) cannot bespecified in the FREAD(700)/FWRIT(701) instructions if carriagereturns are used in the file.

g) Number of Fields:The overall amount of data in the file depends upon the number offields (number of write items) specified in the FWRIT(701) instruc-tion and the number of words/field. There is one word/field whenwords are used and two words/field when double words are used.

2. Data files do not contain information indicating what data is stored, i.e.,what memory area is stored. Be sure to give file names that indicate thecontents, as shown in the examples below, to aid in file management.

Examples: D00100.IOM, CIO0020.IOMData from the beginning of the file will be written starting at the addressspecified in I/O memory even if the data originally written to the data file(IOM, TXT, or CSV) is not from the same area. For example, if CIO data ina file is written to the DM Area from a Programming Device, the data willbe read to the DM Area of the CPU Unit without any indication that the areais different.

Note Data files with the TXT and CSV format contain hexadecimal (0 to 9, A to F)data that allows the I/O memory numerical data to be exchanged with spread-sheet programs.

IOM Data File Structure The following illustration shows the binary data structure of a data file(ABC.IOM) containing four words from I/O memory: 1234 Hex, 5678 Hex,9ABC Hex, and DEF0 Hex. The user, however, does not have to consider thedata format in normal operations.

CSV/TXT Data File Structure (Single Word)

The following illustration shows the data structure of a CSV data file(ABC.CSV) with single-word fields containing four words from I/O memory:1234 Hex, 5678 Hex, 9ABC Hex, and DEF0 Hex. The structure of the TXT filewith single-word fields is the same.

I/O memory 48 bytes (used by system)

8 bytes

Contents of ABC.IOM

193

Page 215: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

File Memory Section 5-1

CSV/TXT Data File Structure (Double Word)

The following illustration shows the data structure of a CSV data file(ABC.CSV) with double-word fields containing four words from I/O memory:1234 Hex, 5678 Hex, 9ABC Hex, and DEF0 Hex. The structure of the TXT filewith double-word fields is the same.

Creating Data Files with Spreadsheet Software

Use the following procedure to create TXT and CSV data files with spread-sheet software such as Microsoft Excel.

� ����� ����������������������������

� �����/���������� �������� � ��� ���� 0#���� �� ������������������1��������� ��� ���� 0#���� �� ��������������������!��� �� ��� ���� 0#������ ��������������������222'�����3���'�

� -�������������� ���!������ ����������"2���4��'��������������$������ ���*���������������������������������

When you want to store hexadecimal digits in I/O memory, it is helpful to con-vert the spreadsheet’s decimal inputs to hexadecimal. Use the following pro-cedure to convert to hexadecimal.

1,2,3... 1. Select Add-Ins... from the Tools Menu.

2. Select Analysis ToolPak in the Add-Ins Menu.

3. Select Function from the Insert Menu at the cell where the function will beused.

4. Select DEC2HEX (number, digits) from Engineering in the CategoryField.

5. When converting to 4-digit hexadecimal, input the following at the numbervariable: IF(0<=cell location,cell location,65535+cell location)

When converting to 8-digit hexadecimal, input the following at the numbervariable: IF(0<=cell location,cell location,4294967296+cell location)

I/O memory4 bytes

Delimiter

Contents of ABC.CSV

4 bytes

Delimiter

The file displayed as text.

Converted to ASCII

I/O memory

8 bytes

Delimiter

Contents of ABC.CSV

The file displayed as text.

Converted to ASCII (Upper word first)

194

Page 216: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

File Memory Section 5-1

� �%����� &������������0����%������ �%� ���

• Example 2: Inputting signed decimal values.

Data Files Transferred Automatically at Startup

There are 3 kinds of files that are transferred automatically at startup whenthe automatic transfer at startup function is being used.

� ')�*+,+ ��*(5� �(� #����� � ����� �� ����� � �6*� )���� ���� ����-��������� ������ ��� ���� �� � ��� ��������� �� �� �(� '��� ��������� ��72222�#�����#����������*&��

� '�+,+ �(��*(5�8��� 0��������(�#������� ������ ��� ���� �� � ��� ��������� �� �� �(� '��� ��������� ��22222�#�����#����������*&�

� '�+,+ +@��*(5�8��� 0�������+(�#������� ������ ��� ���� �� � ��� ��������� �� �� +(� '��� ��������� �+@922222�#�����#����������*&�

When creating the data files listed above, always specify the first addressshown above (D20000, D00000, or E@_00000) and make sure that the size ofthe file does not exceed the capacity of the specified data area.

All of the data in each file will always be transferred starting at the specifiedfirst address (D20000, D00000, or E@_00000).

Note 1. When creating the AUTOEXEC.IOM, ATEXECDM.IOM, or [email protected] file from a Programming Device (Programming Console or CX-Programmer), always specify the proper first address (D20000, D00000, orE@_00000) and make sure that the size of the file does not exceed the ca-pacity of the DM Area or specified EM bank. The contents of the file willalways be transferred starting at the proper first address (D20000,D00000, or E@_00000) even if another starting word is specified, whichcould result in the wrong data overwriting the contents of that part of theDM Area or EM bank. Furthermore, if the capacity of the DM Area or EMbank is exceeded (as is possible when making settings from the CX-Pro-grammer), the remaining data will be written to EM bank 0 if the DM Areais exceeded or the following EM bank if an EM bank is exceeded.

Item Converting unsigned decimal to 4-digit hexadecimal

Converting unsigned decimal to 8-digit hexadecimal

Function used

DEC2HEX(cell_location,4) DEC2HEX(cell_location,8)

Example Input 10 in decimal and convert to 000A in 4-digit hexadecimal.

Input 10 in decimal and convert to 0000000A in 8-digit hexadecimal.

Item Converting signed decimal to 4-digit hexadecimal Converting signed decimal to 8-digit hexadecimal

Function used

DEC2HEX(IF(0<=cell_location,cell_location,65536+ cell_location),4)

DEC2HEX(IF(0<=cell_location,cell_location, 4294967296+cell_location),8)

Example Input -10 in decimal and convert to FFF6 in 4-digit hexadecimal.

<

Input -10 in decimal and convert to FFFFFFF6 in 8-digit hexadecimal.

<

195

Page 217: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

File Memory Section 5-1

2. When using the CX-Programmer, you can specify a data file that will ex-ceed the maximum DM Area address D32767 or maximum EM Area ad-dress of E@_32767. If the AUTOEXEC.IOM file exceeds the boundary ofthe DM area, all remaining data will be written to the EM Area starting atE0_00000 and continuing in order of memory address and banks throughthe final bank. It is thus possible to automatically transfer data to both theDM and EM Areas at startup. Likewise, if the [email protected] file is largerthan an EM bank, the remaining data will be written to subsequent EMbanks.

3. The System Setups for Special I/O Units, CPU Bus Units, and the InnerBoard (CS Series only) can be changed by using different AUTOEX-EC.IOM files containing different settings for the Special I/O Unit Area(D20000 to D29599), CPU Bus Unit Area (D30000 to D31599), and the In-ner Board Area (CS Series only, D32000 to D32099). Memory Cards canthus be used to create libraries of System Setup data for Special I/O Units,CPU Bus Units, and Inner Boards (CS Series only) for different systems ordevices.

Backup Data Files The backup function creates 4 kinds of data files as described below.

To backup data, turn pin 7 ON and turn pin 8 OFF on the CPU Unit’s DIPswitch, insert the Memory Card, and press and hold the Memory Card PowerSupply Switch for three seconds. The four backup files (BACKUP.IOM, BACK-UPIO.IOR, BACKUPDM.IOM, and [email protected]) will be created automat-ically and written to the Memory Card.

The four backup files are used exclusively by the backup function, althoughthree of the files (BACKUP.IOM, BACKUPDM.IOM, and [email protected])can be created with Programming Device operations. (BACKUPIO.IOR can-not be created with Programming Device operations.)

5-1-4 Description of File Operating ProceduresThe following table summarizes the 6 methods that can be used to read andwrite files.

Read: Transfers files from file memory to the CPU Unit.Write: Transfers files from the CPU Unit to file memory.

Operating procedure

Medium File name Description Entire program

Data Area data (See note 3.)

Parameter Area data

Programming Device (including Program-ming Consoles)

Memory CardEM file memory

Any valid file name

Read OK OK OK

Write OK OK OK

Other operations (See note 2.)

OK OK OK

FINS command(See note 1.)

Memory CardEM file memory

Any valid file name

Read OK OK OK

Write OK OK OK

Other operations (See note 2.)

OK(See note 4.)

OK OK

FREAD(700) and FWRIT(701) Instruc-tions

Memory CardEM file memory

Any valid file name

Read data from one file.

Not possible OK Not possible

Write data to one file.

Not possible OK Not possible

196

Page 218: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

File Memory Section 5-1

Note 1. FINS commands for file memory operations can be sent from host comput-ers connected via a Host Link, another PLC connected to a network (usingCMND(490)), or the local PLC’s program (using CMND(490)). (For CS-se-ries CS1 CPU Units that are pre-EV1, file memory operations cannot beexecuted using CMND(490) in the same CPU Unit for which the file mem-ory operations are being performed.

2. Other Operations: Format file memory, read file data, write file data,change file name, read file memory data, delete file, copy file, create sub-directory, and change file name.

3. Data files with the TXT or CSV formats can be read and written only withthe FREAD(700) and FWRIT(701) instructions. They cannot be read andwritten with a Programming Device.

4. Version V1.2 and higher versions of the CX-Programmer can be used totransfer program files (.OBJ) between the computer’s RAM and a storagedevice.

5-1-5 ApplicationsFile memory can be used for the following applications.

Data Files In this application, DM Area data settings (for Special I/O Units, CPU BusUnits, and Inner Boards (CS Series only)) are stored in the Memory Card. Ifthe data file is named AUTOEXEC.IOM, the settings stored in the file will beautomatically transferred when power is turned ON.

In this application, operation data (trends, quality control, and other data) gen-erated during program execution is stored in EM file memory using theWRITE DATA FILE instruction (FWRIT(701)).

Auxiliary Area control bit operation replaces the entire program during operation. (Not supported by CS-series CS1 CPU Units that are pre-EV1)

Memory Card Any valid file name

Read OK Not possible Not possible

Automatic Transfer at Startup

Memory Card AUTOEXEC or ATEXEC@@

Read OK OK OK

Write Not possible Not possible Not possible

Backup operation(Not supported by CS-series CS1 CPU Units that are pre-EV1)

Memory Card BACKUP@@ Read OK OK OK

Write OK OK OK

Operating procedure

Medium File name Description Entire program

Data Area data (See note 3.)

Parameter Area data

Data in an allocated DM area.

Example: ABC.IOM

197

Page 219: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

File Memory Section 5-1

Note Data that is often accessed, such as trend data, is better stored in EM filememory rather than on a Memory Card.

ASCII Data Files(.TXT and .CSV)

Production data that has been saved on the Memory Card in the TXT or CSVformat can be transferred to a personal computer via a Memory Card Adapterand edited with a spreadsheet program (Not supported by CS-series CS1CPU Units that are pre-EV1).

Conversely, data such as Special I/O Unit settings can be created with aspreadsheet program in TXT or CSV format, stored on a Memory Card, andread to the CPU Unit by FREAD(700) (Not supported by CS-series CS1 CPUUnits that are pre-EV1).

Program Files(.OBJ) In this application, programs that control different processes are stored onindividual Memory Cards. The entire PLC configuration (program, PLC Setup,etc.) can be changed by inserting a different Memory Card and using theautomatic transfer at startup function.

The entire program can be replaced during operation from the program itself(without a Programming Device) using an Auxiliary Area control bit (Not sup-ported by CS-series CS1 CPU Units that are pre-EV1).

Parameter Area Files (.STD)

In this application, the PLC Setup, routing tables, I/O table, and other data forparticular devices or machines are stored in Memory Cards. The data can betransferred to another device or machine just by switching the Memory Card.

Trends, etc.

EM file memory

I/O memory data stored in TXT or CSV format

Memory Card

Via Memory Card Adapter

Spreadsheet program

or

A.OBJ B.OBJ C.OBJ

During operation .OBJ

Replace program.

198

Page 220: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

Backup Files The backup function can be used to store all of the CPU Unit’s data (the entireI/O memory, program, and parameter area) on the Memory Card without aProgramming Device. If a problem develops with the CPU Unit’s data, thebacked-up data can be restored immediately. (Not supported by CS-seriesCS1 CPU Units that are pre-EV1)

Symbols Table Files The CX-Programmer can be used to save program symbols and I/O com-ments in symbols table files called SYMBOLS.SYM in Memory Cards or EMfile memory.

Comment Files The CX-Programmer can be used to save program rung comments in com-ment files called COMMENTS.CMT in Memory Cards or EM file memory.

5-2 Manipulating FilesThe following procedures are used to read, write and otherwise work with filesusing the following methods.

� �������������%���

� ��&����������

� �:+'�";22$���<:��";2�$������ (&�"/42$������������������������0�����" (&�"/42$: Not supported by CS-series CS1 CPU Units that arepre-EV1�$

� :� ����������������������������'�!� �����'�������� �����"&������������ �0����� ��� �)�)������������0+=�$

� '���������������������

� -������ �������� "&�� �������� ��� �0����� ��� �)�)���� ��� ����0+=�$

5-2-1 Programming Devices (Including Programming Consoles)The following operations are available through Programming Devices.

Use A.STD.

Operation CX-Programmer Programming Console

Reading files (transfer from file memory to CPU Unit)

OK OK

Writing files (transfer from CPU Unit to file memory)

OK OK

Comparing files (compare files in the CPU Unit and file memory)

Not possible OK

199

Page 221: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

Note 1. Create any required volume labels using Windows Explorer.

2. File memory uses the Windows quick format. If formatting error occur forMemory Cards, they can be formatted with the normal Windows formatcommand.

3. The time and date for files written for transfers from the CPU Unit to filememory will be taken from the clock in the CPU Unit.

A Memory Card can be installed in a computer’s PLC Card slot with the HMC-AP001 Memory Card Adapter (sold separately). Installing a Memory Card inthe computer allows the files in the card to be read and written by other pro-grams, such as Windows Explorer.

Formatting file memory

Memory Cards OK OK

EM files OK OK

Changing file names OK Not possible

Reading file memory data OK Not possible

Deleting files OK OK

Coping files OK Not possible

Deleting/Creating subdirectories OK Not possible

Operation CX-Programmer Programming Console

Create user program file.

CPU Unit

Programming Device Programming

ConsoleCreate I/O memory file

Memory Card

EM file memory

User program

Memory Card

EM file memory

User program

User program

I/O memory

I/O memory

I/O memory

Programming Device

Programming Console

CPU Unit

Create parameter file.

CPU Unit

Programming Device

Programming Console

Memory Card

EM file memoryParameter area

Parameter area

rPa ameter area

200

Page 222: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

CX-Programmer Use the following procedure for file memory operations.

1,2,3... 1. Double-click the Memory Card icon in the Project Window with the CPUUnit online. The Memory Card Window will be displayed.

2. To transfer from the CPU Unit to file memory, select the program area, I/Omemory area, or parameter area in the project work space, select Transferfrom the File Memory, and then select transfer to the Memory Card or toEM file memory.

or To transfer from file memory to the CPU Unit, select file in file memoryand then drag it to the program area, I/O memory area, or parameter areain the project work space and drop it.

Note Use project transfer operations to create and read symbol table files (SYM-BOLS.SYM) and comment files (COMMENTS.CMT) on the CX-Programmer.

Programming Console

The following operations can be performed.

HMC-AP001 Memory Card Adapter

Memory Card

Computer's PC Card slot

CLR000000 CT00

FUN SHIFTCONT

#

0: Transfer1: Verify

↓0: Initialize1: Delete

Item 1 Item 2 Item 3 Item 4 Item 5

0: Send 0: PLC to Memory Card Select OBJ, CIO, HR, WR, AR, DM, EM, or STD.

Set transfer start and end addresses.

Media type, file name

1: Memory Card to PLC Select OBJ, CIO, HR, WR, AR, DM, EM, or STD.

Set transfer start and end addresses.

Media type, file name

1: Verify Select OBJ, CIO, HR, WR, AR, DM, EM, or STD.

Set comparison start and end addresses.

Media type, file name

201

Page 223: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

Note The file types are shown in the following table.

5-2-2 FINS CommandsThe CPU Unit can perform the following file memory operations when itreceives the proper FINS command. These are similar to the ProgrammingDevice functions.

FINS Commands via Host Link

A computer connected via a Host Link System can send a FINS commandwith a Host Link header and terminator.

FINS Command from Another Network PLC

Another PLC on a network can send FINS command using CMND(490).

2: Initialize Enter 9713 (Memory Card) or 8426 (EM file memory).

--- ---

3: Delete Select OBJ, CIO, HR, WR, AR, DM, EM, or STD.

Media type, file name ---

Symbol File type

OBJ Program file (.OBJ)

CIO Data file (.IOM) CIO Area

HR HR Area

WR WR Area

AR Auxiliary Area

DM DM Area

EM0_ EM Area

STD Parameter file (.STD)

Item 1 Item 2 Item 3 Item 4 Item 5

CPU Unit

Host computer

FINS command

Memory Card

EM file memory

I/O memoryUser program

Parame-ter area

CPU Unit

I/O memor y

User program

Parame-ter area

Memory Card

EM file memory

CMND instruction

Another PLC on the network

FINS command

202

Page 224: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

Note A computer on an Ethernet Network can read and write file memory (MemoryCards or EM file memory) on a CPU Unit through an Ethernet Unit. Data infiles can be exchanged if the host computer functions as an FTP client andthe CS/CJ-series PLC functions as an FTP server.

The following FINS commands can be used to perform a variety of functions,including reading and writing files.

Note The time from the CPU Unit’s internal clock is used to date files created in filememory with the 220A, 220B, 220C, and 2203 commands.

5-2-3 FREAD(700), FWRIT(701), and CMND(490)The FWRIT(701) (WRITE DATA FILE) instruction can be used to create a datafile containing the specified I/O memory data in a Memory Card or EM filememory. It can also add to or overwrite from any point in existing files.

The FREAD(700) (READ DATA FILE) instruction will read I/O memory datafrom a specified location from a data file in a Memory Card or EM file memoryand write it to the specified portion of I/O memory. It can read from any pointin the specified file.

Note These instructions do not transfer the specified file, but rather the specifiedamount of data beginning at the specified start position in the file.

Host computer (FTP client)

Ethernet Unit

Memory Card or EM file memory

Computer to Memory Card

File

Memory Card to computer

File

FTP command

Ethernet

Memory Card or EM file memory

Memory Card or EM file memory

Command Name Description

2201 Hex FILE NAME READ Reads file memory data.

2202 Hex SINGLE FILE READ Reads a specified length of file data from a specified position within a single file.

2203 Hex SINGLE FILE WRITE Writes a specified length of file data from a specified position within a single file.

2204 Hex FILE MEMORY FOR-MAT

Formats (initializes) the file memory.

2205 Hex FILE DELETE Deletes specified files stored in the file mem-ory.

2207 Hex FILE COPY Copies files from one file memory to another file memory.

2208 Hex FILE NAME CHANGE Changes a file name.

220A Hex MEMORY AREA FILE TRANSFER

Transfers or compares data between the I/O memory area and the file memory.

220B Hex PARAMETER AREA FILE TRANSFER

Transfers or compares data between the parameter area and the file memory.

220C Hex PROGRAM AREA FILE TRANSFER

Transfers or compares data between the UM (User Memory) area and the file memory.

2215 Hex CREATE/DELETE SUBDIRECTORY

Creates and deletes subdirectories.

203

Page 225: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

The CMND(490) (DELIVER COMMAND) instruction can be executed to issuea FINS command to the CPU Unit itself to perform file operations. File opera-tions such as file formatting, deletion, copying, and renaming can be per-formed on files in the Memory Card or EM file memory (Not supported by CS-series CS1 CPU Units that are pre-EV1).

FREAD(700)/FWRIT(701) InstructionsFREAD(700) and FWRIT(701) transfer data between I/O memory and filememory. All CJ CPU Units can transfer binary data (.IOM files) and the V1CPU Units can also transfer ASCII files (.TXT and .CSV files).

FREAD(700)/FWRIT(701): Transfers between I/O memory and file memory

CPU Unit

FREAD/FWRIT instruction

I/O memory

I/O memory

Memory Card

EM file memory

I/O memory

CMND(490):(Not possible for CS-series CPU Units that are pre-EV1)

File memory operations

CPU Unit

Memory Card

EM file memory

CMND instruction

I/O memory

Memory Card

EM file memory

Operation

Operation

Name Mnemonic Description

READ DATA FILE

FREAD(700) Reads specified data file data or data elements to specified I/O memory.

WRITE DATA FILE

FWRIT(701) Uses specified I/O memory area data to create a specified data file.

204

Page 226: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

Transferring ASCII Files (Not supported by CS-series CS1 CPU Units that are pre-EV1)

ASCII files can be transferred as well as binary files, so the third and fourthdigits of the instruction’s control word operand (C) indicate the type of data filebeing transferred and the number of fields between carriage returns.

CX-Programmer V1.1 or Earlier Version: Indirectly Setting the Control Word

When V1.1 or an earlier version of CX-Programmer is being used, ASCII filescannot be transferred with FREAD(700) and FWRIT(701) if a constant is inputfor the control word to specify the data type and carriage return treatment.Only binary data with no carriage returns can be transferred if a constant isused.

ASCII files can be transferred with FREAD(700) and FWRIT(701), however,by indirectly setting the control word. Write the desired control word setting toa word and specify that word as the control word in FREAD(700) orFWRIT(701), as shown on the left in the following diagram.

Note The time from the CPU Unit’s internal clock is used to date files created in filememory with FWRIT(701).

Only one file memory operation may be executed at a time, so FREAD(700)and FWRIT(701) must not be executed when any of the following file memoryoperations are being performed:

1,2,3... 1. Execution of FREAD(700) or FWRIT(701)

Bits in C Settings Programming Device limitations

12 to 15 Data type0: Binary (.IOM)1: Non-delimited words (.TXT)2: Non-delimited double-words (.TXT)3: Comma-delimited words (.CSV)4: Comma-delimited double-words (.CSV)5: Tab-delimited words (.TXT)6: Tab-delimited double-words (.TXT)

If CX-Programmer V1.1 or an earlier version is being used, only 0 Hex (.IOM files) can be specified directly.If CX-Programmer V1.2 or a later version (or a Program-ming Console) is being used, the control word bits can be set to between 0 and 6 Hex.

08 to 11 Carriage returns0: No returns8: Return every 10 fields9: Return every 1 fieldA: Return every 2 fieldsB: Return every 4 fieldsC: Return every 5 fieldsD: Return every 16 fields

If CX-Programmer V1.1 or an earlier version (or a Program-ming Console) is being used, only 0 Hex (no returns) can be specified directly.

If CX-Programmer V1.2 or a later version is being used, the control word bits can be set to 0 Hex or to between 8 and D Hex.

Execution condition

File Memory Operation Flag

CX-Programmer Versions V1.1 and Earlier

CX-Programmer Versions V1.2 and Later

Write #1800 to W000.

Specify W000 as C.

Execution condition

File Memory Operation Flag Specify #1800 as C.

205

Page 227: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

2. Execution of CMND(490) to send a FINS command to the CPU Unit itself

3. Replacement of the entire program by Auxiliary Area control bit operations

4. Execution of a simple backup operation

Use the File Memory Operation Flag (A34313) for exclusive control of filememory instructions to prevent them from being executed while another filememory operation is in progress.

When FREAD(700) is being executed, the File Read Error Flag (A34310) willbe turned ON and the instruction won’t be executed if the specified file con-tains the wrong data type or the file data is corrupted. For text or CSV files,the character code must be hexadecimal data and delimiters must be posi-tioned every 4 digits for word data and every 8 digits for double-word data.Data will be read up to the point where an illegal character is detected.

Related Auxiliary Bits/Words

Name Address Operation

Memory Card Type A34300 to A34302

Indicates the type of Memory Card, if any, that is installed.

EM File Memory For-mat Error Flag

A34306 ON when a format error occurs in the first EM bank allocated for file memory. OFF when format-ting is completed normally.

Memory Card For-mat Error Flag

A34307 ON when the Memory Card is not formatted or a formatting error has occurred.

File Write Error Flag A34308 ON when an error occurred when writing to the file.

File Write Impossi-ble Flag

A34309 ON when the data couldn’t be written because the file was write-protected or there was insufficient free memory.

File Read Error Flag A34310 ON when a file could not be read because its data was corrupted or if it contains the wrong data type.

No File Flag A34311 ON when data could not be read because the specified file doesn’t exist.

File Memory Opera-tion Flag

A34313 ON for any of the following:The CPU Unit is processing a FINS command sent to itself using CMND(490).FREAD(700) or FWRIT(701) is being executed.The program is being overwritten using an Auxil-iary Area control bit.A simple backup operation is being performed.

Accessing File Flag A34314 ON when file data is actually being accessed.

Memory Card Detected Flag

A34315 ON when a Memory Card has been detected.(Not supported by CS-series CS1 CPU Units that are pre-EV1)

Number of Items to Transfer

A346 to A347

These words indicate the number of words or fields remaining to be transferred (32 bits).When a binary (.IOM) file is being transferred, this number is decremented each time a word is read.

When a text or CSV file is being transferred, this number is decremented each time a field is trans-ferred.

206

Page 228: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

CMND(490): DELIVER COMMANDCMND(490) can be used to issue a FINS command to the local CPU Unititself to perform file memory operations such as formatting or deleting files.Make the following settings in CMND(490)’s control words when issuing a file-memory FINS command to the local PLC:

1,2,3... 1. Set the destination network address to 00 (local network) in C+2.

2. Set the destination unit address to 00 (PLC’s CPU Unit) and the destinationnode to 00 (within local node) in C+3.

3. Set the number of retries to 0 in C+4. (The number of retries setting is in-valid, so set it to 0.)

FINS Commands Related to File Memory

Refer to ,!�!��"������%%���� for information on FINS commands.

Note There are other FINS commands related to file memory that are not shown inthe following table which can be executed. Refer to the Communications Com-mand Reference Manual (W342) for details on FINS commands.

CMND(490) cannot be executed to the local CPU Unit if another CMND(490)instruction is being executed to another CPU Unit, FREAD(700) orFWRIT(701) is being executed, the program is being replaced by an AuxiliaryArea control bit operation, or a simple backup operation is being executed. Besure to include the File Memory Operation Flag (A34313) as a normallyclosed condition to prevent CMND(490) from being executed while anotherfile memory operation is in progress.

If CMND(490) cannot be executed for the local CPU Unit, the Error Flag willbe turned ON.

Related Auxiliary Bits/Words

Name Address Operation

File Memory Opera-tion Flag

A34313 ON for any of the following:• The CPU Unit is processing a FINS command sent to itself using CMND(490).• FREAD(700) or FWRIT(701) is being executed.• The program is being overwritten using an Auxiliary Area control bit.• A simple backup operation is being performed.

Memory Card Detected Flag

A34315 ON when a Memory Card has been detected. (Not supported by CS-series CS1 CPU Units that are pre-EV1)

207

Page 229: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

The following example shows how to use CMND(490) to create a subdirectoryin the Memory Card.

Note There are other FINS commands that can be sent to the local PLC in additionto the ones related to file memory operations that are listed in the table above.The File Memory Operation Flag must be used to prevent simultaneous exe-cution of these other FINS commands, too.

5-2-4 Replacement of the Entire Program During Operation (Not supported by CS-series CS1 CPU Units that are pre-EV1)

The entire program can be replaced during operation (RUN or MONITORmode) by turning ON the Replacement Start Bit (A65015). The specified filewill be read from the Memory Card and it will replace that program will replacethe executable program at the end of the current cycle. The replacement Pro-gram Password (A651) and Program File Name (A654 to A657) must be

Network Instruction Enabled Flag

(for port 7)

File Memory Operation Flag

When 000000 and A20207 are ON and A34313 is OFF, CMND(490) issues FINS command 2215 (CREATE/DELETE SUBDIRECTORY) is sent to the local CPU Unit and the response is stored in D00100 and D00101.

In this case, the FINS command creates a subdi-rectory named "CS1" within the OMRON" directory in the CPU Unit's Memory Card. The response is composed of the 2-byte command code (2215) and the 2-byte response code.

Command code: 2215 Hex (CREATE/DELETE SUBDIRECTORY)Disk number: 8000 Hex (Memory Card)Parameter: 0000 Hex (Create subdirectory.)

Subdirectory name: CS1@@@@@.@@@ (@: a space)

Directory length: 0006 Hex (6 characters)

Directory path: \OMRON

Number of bytes of command data: 001A Hex (26 bytes)Number of bytes of response data: 0004 Hex (4 bytes)Destination address: 0000 Hex (local network)

00 Hex (local node) and 00 Hex (CPU Unit)Response requested, communications port 7, 0 retriesResponse monitor time: FFFF Hex (6,553.5 s)

208

Page 230: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

recorded in advance and the specified program file must exist on the MemoryCard in order to replace the program during operation.

The program can also be replaced when program execution is stopped (PRO-GRAM mode) by turning ON the Replacement Start Bit from a ProgrammingDevice.

Note The replacement program file cannot be read from EM file memory.

The Replacement Start Bit (A65015) can be turned ON at any location (pro-gram address) in the program. The CPU Unit will execute the instructionsremaining in the cycle after the Replacement Start Bit goes from OFF to ON.

The program will not be executed while the program is being replaced. Afterthe program has been replaced, operation will be started again just as if theCPU Unit were switched from PROGRAM mode to RUN or MONITOR mode.

The program will be replaced at the end of the cycle in which the Replace-ment Start Bit was turned from OFF to ON, i.e., after END(001) is executed inthe last task in the program.

User program

CPU Unit

Memory Card

Replacement

The entire program is replaced.

Entire user program

Replacement Start Bit (A65015) turned from OFF to ON.

Replacement Program File Name

Specifies program

Normal processing

Normal processing

Execution condition

Replacement Start Bit

The CPU Unit will execute the in-structions remain-ing in the cycle af-ter the Replace-ment Start Bit is turned ON.

(In the last task)

209

Page 231: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

Note 1. Turn ON the IOM Hold Bit (A50012) if you want to maintain the status ofI/O memory data through the program replacement.

Turn ON the Forced Status Hold Bit (A50013) if you want to maintain thestatus of force-set and force-reset bits through the program replacement.

2. If the IOM Hold Bit (A50012) is ON before the program is replaced, the sta-tus of bits in I/O memory will be maintained after program replacement. Besure that external loads will operate properly with the same I/O memorydata.

Likewise, if the Forced Status Hold Bit (A50013) is ON before the programis replaced, the status of force-set and force-reset bits will be maintainedafter program replacement. Be sure that external loads will operate prop-erly with the same force-set and force-reset bits.

Replacement File The program file specified in the Program File Name (A654 to A657) will beread from the Memory Card and will replace the existing program at the end ofthe cycle in which the Replacement Start Bit (A65015) is turned from OFF toON.

Conditions Required for Program Replacement

The following conditions are required in order to replace the program duringoperation.

� ���������������#����"'>'>$��������#������'?>��

� ��� �������� �� � �������� ��� �� �������� �� � &��� #����� "'?>/� �'?>;$�!���������(����� ���@��������������

� ���(����� �������������������� �)�)����"'A/A�>�*&$

� &����� ���������%���������

� &���� ������������������������!�����"'A/A�A�*��$

� ���������������#����������������'���

� ������������������%�� �� ��"����!��� �������������������������������� ,0���������������B �$

Note The program may be transferred in any operating mode.

CPU Operation during Program Replacement

The CPU Unit’s operation will be as follows during program replacement:

� ��������!�����5������

� �� �������������5�&�����������

Operations Continuing during and after Program Replacement

When the IOM Hold Bit (A50012) is ON, the data in the following memoryareas will be maintained: the CIO Area, Work Area (W), Timer CompletionFlags (T), Index Registers (IR), Data Registers (DR), and the current EM banknumber.

Note Timer PVs will be cleared during program replacement.

If the IOM Hold Bit is ON when the program is transferred, loads that werebeing output before program replacement will continue to be output afterreplacement. Be sure that external loads will operate properly after programreplacement.

The status of force-set and force-reset bits will be maintained through the pro-gram replacement if the Forced Status Hold Bit (A50013) is ON.

Interrupts will be masked.

File File name and extension

Specifying the replacement file name (********)

Program file .OBJ Write the replacement program file name to A654 through A657 before program replacement.

210

Page 232: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

If data tracing is being performed, it will be stopped.

Instruction conditions (interlocks, breaks, and block program execution) will beinitialized.

Differentiation Flags will be initialized whether the IOM Hold Bit is ON or OFF.

Operations afterProgram Replacement

The status of the cyclic tasks depends upon their operation-start properties.(Their status is the same as it would be if the PLC were switched from PRO-GRAM to RUN/MONITOR mode.)

The First Cycle Flag (A20011) will be ON for one cycle after program execu-tion resumes. (The status is the same as it would be if the PLC were switchedfrom PROGRAM to RUN/MONITOR mode.)

Time Required for Program Replacement

Related Auxiliary Bits/Words

Size of entire program Peripheral servicing time set in PLC Setup

Approx. time required for program replacement

60 Ksteps Default (4% of cycle time) 6 s

250 Ksteps 25 s

Name Address Operation

File Memory Operation Flag A34313 ON for any of the following:The CPU Unit has sent a FINS command to itself using CMND(490).FREAD(700) or FWRIT(701) are being executed.

The program is being overwritten using an Auxiliary Area control bit (A65015).A simple backup operation is being performed.

Memory Card Detected Flag (Not supported by CS-series pre-EV1 CS1 CPU Units)

A34315 ON when a Memory Card has been detected.

IOM Hold Bit A50012 When this bit is ON, the contents of I/O memory are retained through pro-gram replacement.

Forced Status Hold Bit A50013 When this bit is ON, the status of force-set and force-reset bits is main-tained through program replacement.

Replacement Completion Code (Not supported by CS-series pre-EV1 CS1 CPU Units)

A65000 to A65007

Codes for normal program replacement (A65014 OFF):01 Hex: The program file (.OBJ) replaced the program.

Codes for incomplete program replacement (A65014 ON):00 Hex: A fatal error occurred.01 Hex: A memory error occurred.11 Hex: The program is write-protected.12 Hex: The program password in A651 is incorrect.21 Hex: A Memory Card is not installed.22 Hex: The specified file does not exist.23 Hex: The specified file is too large (memory error).31 Hex: One of the following operations was being performed:

• A file memory operation was being performed.• The program was being written.• The operating mode was being changed.

Replacement Error Flag (Not supported by CS-series pre-EV1 CS1 CPU Units)

A65014 Turned ON when an error occurred while trying to replace the program after A65015 was turned from OFF to ON.Turned OFF the next time that A65015 is turned from OFF to ON again.

211

Page 233: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

Example Program 1

Store program files ABC.OBJ and XYZ.OBJ in the Memory Card and selectone program or the other depending upon the value of D00000. Set D00000to #1234 when selecting ABC.OBJ or set it to #5678 when selectingXYZ.OBJ.

Replacement Start Bit (Not supported by CS-series pre-EV1 CS1 CPU Units)

A65015 If this bit has been enabled by the setting the Program Password (A651) to A5A5 Hex, program replacement will start when this bit is turned from OFF to ON. Do not turn this bit from OFF to ON again during program replacement.This bit is automatically turned OFF when program replacement is com-pleted (normally or with an error) or the power is turned ON.The status of this bit can be read from a Programming Device, PT, or host computer to determine whether program replacement has been com-pleted or not.

Program Password (Not supported by CS-series pre-EV1 CS1 CPU Units)

A651 Write the password to this word to enable program replacement.A5A5 Hex: Enables the Replacement Start Bit (A65015).Other value: Disables the Replacement Start Bit (A65015).This bit is automatically turned OFF when program replacement is com-pleted (normally or with an error) or the power is turned ON.

Program File Name (Not supported by CS-series pre-EV1 CS1 CPU Units)

A654 to A657

Name Address Operation

Before starting program replacement, write the file name of the replacement program file in these words in ASCII. Just write the 8-character filename; the .OBJ extension is added automatically.Write the characters in order from A654 (most significant byte first). If the file name has fewer than 8 characters, pad the remaining bytes with space codes (20 Hex). Do not include any NULL characters or spaces within the file name itself.The following example shows the data for the program file ABC.OBJ:

212

Page 234: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

Start and execute another task to perform any processing required before pro-gram replacement or IOM Hold Bit processing.

First Cycle FlagMOV

← Program version← Version storage area

Execution condition

No File Flag

Replacement Start Bit

Writes the file name "ABC" in A654 to A657.

Writes the file name "XYZ" in A654 to A657.

Main processing program

Main Task (Cyclic task number 0)

213

Page 235: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

Example Program 2

Store program files for several devices and the program file for automatictransfer at startup (AUTOEXEC.OBJ) in a Memory Card. When the PLC isturned ON, the automatic transfer at startup file is read and that program isreplaced later with a program file for a different device.

5-2-5 Automatic Transfer at StartupAutomatic transfer at startup is used to read the user program, parameters,and I/O memory data from a Memory Card to the CPU Unit when the power isturned ON.The following files can be read automatically to CPU Unit memory.

Note This function cannot be used to read EM file memory.

Always ON Flag

Task protecting data during program replacement(Cyclic task number 31, standby status at startup)

Processing to pro-tect data before pro-gram replacement begins

IOM Hold Bit

Outputs to required loads during pro-gram replacement.

First Cycle Flag

Replacement Start Bit

AUTOEXEC.OBJ

Processing that determines the type of device connected and stores the corresponding file name. In this example, the file name "ABC" is written in A654 to A657.

Memory Card Detected Flag

ABC.OBJ

Overwrite

214

Page 236: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

Note 1. If the data contained in AUTOEXEC.IOM and ATEXECDM.IOM overlap,the data in ATEXECDM.IOM will overwrite any overlapping data trans-ferred from AUTOEXEC.IOM since ATEXECDM.IOM is written later.

2. The program file (AUTOEXEC.OBJ) and parameter file (AUTOEXEC.STD)must be on the Memory Card. Without these files, automatic transfer willfail, a memory error will occur, and A40115 (Memory Error Flag: fatal error)will turn ON. (It is not necessary for the I/O memory file (AUTOEXEC.IOM)to be present.)

3. It is possible to create the AUTOEXEC.IOM, ATEXECDM.IOM, and [email protected] files from a Programming Device (Programming Console orCX-Programmer), with starting addresses other than D20000, D00000,and E@_00000 respectively. The data will be written beginning with thecorrect starting address anyway, but do not specify other starting address-es.

4. If DIP switch pin 7 is turned ON and pin 8 is turned OFF to use the simplebackup function, the simple backup function will take precedence even ifpin 2 is also ON. In this case, the BACKUP@@ files will be transferred tothe CPU Unit but the automatic transfer at startup files will not be trans-ferred. (Not supported by CS-series CS1 CPU Units that are pre-EV1.)

5. The automatic transfer at startup function can be used together with theprogram replacement function. The Replacement Start Bit (A65015) canbe turned ON from program that is automatically transferred at startup toreplace it with another program.

File File name At startup Required for automatic transfer

Program File AUTOEXEC.OBJ The contents of this file are automatically transferred and overwrite the entire user program including CPU Unit task attributes.

Required on Memory Card.

Data File AUTOEXEC.IOM DM words allocated to Special I/O Units, CPU Bus Units, and Inner Boards (CS Series only).

The contents of this file are automatically transferred to the DM Area beginning at D20000 when power is turned ON. (See note 1.)

Not required on Memory Card.

ATEXECDM.IOM General-purpose DM words

The contents of this file are automatically transferred to the DM Area beginning at D00000 when power is turned ON. (Not supported by CS-series CS1 CPU Units that are pre-EV1) (See note 1.)

[email protected] General-purpose DM wordsThe contents of this file are automatically transferred to the EM Area beginning at E@_00000 when power is turned ON. (Not supported by CS-series CS1 CPU Units that are pre-EV1)

Parameter Area File

AUTOEXEC.STD The contents of this file are automatically transferred and overwrite all initial settings data in the CPU Unit.

Required on Memory Card.

215

Page 237: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

Procedure

1,2,3... 1. Turn OFF the PLC power supply.

2. Turn ON DIP switch pin 2 on the front panel of the CPU Unit. Be sure thatpins 7 and 8 are both OFF.

Note The simple backup function will take precedence over the automat-ic transfer at startup function, so be sure that pins 7 and 8 are OFF.

3. Insert a Memory Card containing the user program file (AUTOEXEC.OBJ),parameter area file (AUTOEXEC.STD), and/or the I/O memory files (AU-TOEXEC.IOM, ATEXECDM.IOM, and [email protected]) created with aCX-Programmer. (The program file and parameter area file must be on theMemory Card. The I/O memory files are optional.)

4. Turn ON the PLC power supply.

Note Automatic Transfer Failure at StartupIf automatic transfer fails at startup, a memory error will occur, A40115 willturn ON, and the CPU Unit will stop. If an error occurs, turn OFF the power toclear the error. (The error cannot be cleared without turning OFF the power.)

DIP Switch on the Front Panel of the CPU Unit

CPU Unit

I/O memory

Parameter data

User program

Write at startup

Front panel DIP switch pin 2 ON

Memory Card

• User program file (AUTOEXEC.OBJ) - Re-quired

• Parameter area file (AUTOEXEC.STD) - Required

• I/O memory file (AUTOEXEC.IOM, ATEXECDM.IOM, [email protected]) - Not re-quired

Pin(s) Name Setting

2 Automatic transfer at startup pin

ON: Execute automatic transfer at startup.OFF: Do not execute automatic transfer at startup.

7 and 8 Simple backup pins Turn OFF both pins.

216

Page 238: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

Related Auxiliary Bits/Words

5-2-6 Simple Backup Function This function is not supported by CS-series CS1 CPU Units that are pre-EV1.

Backing Up Data from the CPU Unit to the Memory CardTo backup data, turn ON pin 7 on the CPU Unit’s DIP switch, press and holdthe Memory Card Power Supply Switch for three seconds. The backup func-tion will automatically create backup files and write them to the Memory Card.The backup files contain the program, parameter area data, and I/O memorydata. This function can be executed in any operating mode.

Restoring Data from the Memory Card to the CPU UnitTo restore the backup files to the CPU Unit, check that pin 7 is ON and turnthe PLC’s power OFF and then ON again. The backup files containing theprogram, parameter area data, and I/O memory data will be read from theMemory Card to the CPU Unit.

Note 1. The backup function will override the automatic transfer at startup function,so the backup files will be read to the CPU Unit when the PLC is turned ONeven if pin 2 of the DIP switch is ON.

2. Data will not be read from the Memory Card to the CPU Unit if pin 1 of theDIP switch is ON (write-protecting program memory).

3. When the backup files are read from the Memory Card by the backup func-tion, the status of I/O memory and force-set/force-reset bits will be clearedunless the necessary settings are made in the Auxiliary Area and PLC Set-up.

If the IOM Hold Bit (A50012) is ON and the PLC Setup is set to maintainthe IOM Hold Bit Status at Startup when the backup files are written, the

Name Address Setting

Memory Error Flag(Fatal error)

A40115 ON when an error occurred in memory or there was an error in automatic transfer from the Memory Card when the power was turned on (automatic transfer at start-up).The CPU Unit will stop and the ERR/ALM indicator on the front of the CPU Unit will light.

Note: A40309 will be turned ON if the error occurred during automatic trans-fer at startup. (The error cannot be cleared in this case.)

Memory Card Start-up Transfer Error Flag

A40309 ON when automatic transfer at start-up has been selected and an error occurs during automatic transfer (DIP switch pin 2 ON). An error will occur if there is a transfer error, the specified file does not exist, or the Memory Card is not installed.Note: The error can be cleared by turning the power off. (The error cannot

be cleared while the power is on.)

Pin 7: ON

Memory Card

Press and hold the Memory Card Power Switch for three seconds.

(This example shows a CS-series CPU Unit.)

217

Page 239: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

status of I/O memory data will be maintained when data is read from theMemory Card.

If the Forced Status Hold Bit (A50013) is ON and the PLC Setup is set tomaintain the Forced Status Hold Bit Status at Startup when the backupfiles are written, the status of force-set and force-reset bits will be main-tained when data is read from the Memory Card.

4. A CS1-H, CJ1-H, or CJ1M CPU Unit will remain in PROGRAM mode afterthe simple backup operation has been performed and cannot be changedto MONITOR or RUN mode until the power supply has been cycled. Aftercompleting the backup operation, turn OFF the power supply to the CPUUnit, changes the settings of pin 7, and then turn the power supply backON.

Comparing Data in the Memory Card and CPU UnitTo compare the backup files in the Memory Card with the data in the CPUUnit, turn OFF pin 7 on the CPU Unit’s DIP switch, and press and hold theMemory Card Power Supply Switch for three seconds. The backup functionwill compare the program, parameter area data, and I/O memory data in theMemory Card with the corresponding data in the CPU Unit. This function canbe executed in any operating mode.

The following table provides a summary of the simple backup operations.

Note 1. Refer to Verifying Backup Operations with Indicators on page 221 for de-tails on the results of read, write, and compare operations.

2. Refer to 5-3-2 Operating Procedures for Memory Cards for guidelines onthe time required for Memory Card backup operations.

Backing up data to the Memory Card

Memory Card Power Switch CPU Unit

Program

I/O memory

Parameter area

Pin 7: ON

Restoring data from the Memory Card

Power ON

CPU Unit

Program

I/O memory

Parameter area

Pin 7: ON

Comparing data to the Memory Card

Memory Card Power Switch CPU Unit

Program

I/O memory

Parameter area

Pin 7: OFF

Memory Card

Memory Card

Memory CardCompare

Backup operation Pin status

Procedure

Pin 7

Backing up data from the CPU Unit to the Memory Card

ON Press and hold the Memory Card Power Switch for three seconds.

Restoring data from the Memory Card to the CPU Unit

ON Turn the PLC OFF and ON again.(See note 1.)

Comparing data between the CPU Unit and the Memory Card

OFF Press and hold the Memory Card Power Switch for three seconds.

218

Page 240: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

Backup Files

Data Files

Note 1. The Completion Flags and PVs are backed up.

2. The @ represents the bank number and the number of banks dependsupon the CPU Unit being used.

When the [email protected] files in the Memory Card are restored to theCPU Unit, the files are read in order beginning with bank 0 and ending withthe maximum bank number in the CPU Unit. Excess [email protected] fileswill not be read if the number of banks backed up exceeds the number ofbanks in the CPU Unit. Conversely, any remaining EM banks in the CPUUnit will be left unchanged if the number of banks backed up is less thanthe number of banks in the CPU Unit.

If a [email protected] file is missing (for example: 0, 1, 2, 4, 5, 6), only theconsecutive files will be read. In this case, data would be read to banks 0,1, and 2 only.

3. The EM Area data will be backed up as binary data. EM banks that havebeen converted to file memory will be backed up along with EM banks thathave not.

EM file memory can be restored to another CPU Unit’s EM Area only if [email protected] files are consecutive and the number of backed-up EMbanks matches the number of banks in the CPU Unit. If the [email protected] files are not consecutive or the number of EM banks does notmatch the number of banks in the CPU Unit, the EM file memory will revertto its unformatted condition and the files in file memory will be invalid. (Theregular EM Area banks will be read normally.)

4. Normally, the contents of the CIO Area, WR Area, Timer Completion Flags,Timer PVs, and the status of force-set/force-reset bits will be cleared whenthe PLC is turned ON and BACKUPIO.IOR is read from the Memory Card.

File name and extension

Data area and range of addresses stored

Backup from I/O memory to Memory Card (creating files)

Restore from Memory Card to I/O memory

Comparing Memory Card to I/O memory

Files required when

restoring data

CPU Unit CS/CJ CS1/ CJ1

CS1-H/ CJ1-H

BACKUP.IOM DM D20000 to D32767

Yes Yes Yes --- Required in Memory Card

BACKUPIO.IOR CIO 0000 to 6143 (Including forced bit status.)

Yes ---4 Yes --- Required in Memory Card

WR W000 to W511 (Including forced bit status.)

Yes ---4 Yes ---

HR H000 to H511 Yes Yes Yes ---

AR A000 to A447 Yes --- --- ---

A448 to A959 Yes Yes Yes ---

Timer1 T0000 to T4095 Yes Yes4 Yes ---

Counter1 C0000 to C4095 Yes Yes Yes ---

BACKUPDM.IOM DM D00000 to D19999

Yes Yes Yes --- Required in Memory Card

[email protected],3 EM E@_00000 to E@_32767

Yes Yes Yes --- Required in Memory Card (must match CPU Unit)

219

Page 241: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

If the IOM Hold Bit (A50012) is ON and the PLC Setup is set to maintainthe IOM Hold Bit Status at Startup when the backup files are written, thestatus of I/O memory data will be maintained when data is read from theMemory Card.

If the Forced Status Hold Bit (A50013) is ON and the PLC Setup is set tomaintain the Forced Status Hold Bit Status at Startup when the backupfiles are written, the status of force-set and force-reset bits will be main-tained when data is read from the Memory Card.

Program Files

Parameter Files

Unit/Board Backup Files (CS1-H, CJ1-H, or CJ1M CPU Unit Only)

Note 1. Unit addresses are as follows:CPU Bus Units: Unit number + 10 HexSpecial I/O Units: Unit number + 20 HexInner Board: E1 Hex

2. An error will not occur in the CPU Unit even if this file is missing when datais transferred from the Memory Card to I/O memory, but an error will occurin the Unit or Board if the data is not restored. Refer to the operation man-ual for the specific Unit or Board for details on Unit or Board errors.

File name and extension

Contents Backup from I/O memory to Memory Card (creating files)

Restore from Memory Card to I/O memory

Comparing Memory Card to I/O memory

Files required when

restoring data

CPU Unit CS/CJ

BACKUP.OBJ Entire user program Yes Yes Yes Required in Memory Card

File name and extension

Contents Backup from I/O memory to Memory Card (creating files)

Restore from Memory Card to I/O memory

Comparing Memory Card to I/O memory

Files required when

restoring data

CPU Unit CS/CJ

BACKUP.STD PLC Setup

Registered I/O tablesRouting tablesCPU Bus Unit setup

Etc.

Yes Yes Yes Required in Memory Card

File name and extension

Contents Backup from I/O memory to Memory Card (creating files)

Restore from Memory Card to I/O memory

Comparing Memory Card to I/O memory

Files required when

restoring data

CPU Unit CS1-H, CJ1-H, or CJ1M CPU Unit only

BACKUP@@.PRM(where @@ is the unit address of the Unit/Board being backed up)

Backup data from the Unit or Board with the specified unit address (Specific contents depends on the Unit or Board.)

Yes Yes Yes Required in Memory Card (See note 2.)

220

Page 242: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

Verifying Backup Operations with IndicatorsThe status of the Memory Card Power (MCPWR) indicator shows whether asimple backup operation has been completed normally or not.

MCPWR Indicator

(This example shows a CS-series CPU Unit.)

Backup operation Normal completion(See note 1.)

Error occurred

MCPWR status MCPWR status Error

Backing up data from the CPU Unit to the Memory Card

Lit � Remains lit while the Memory Card Power Switch is pressed. � Flashes once. � Lit while writing. � OFF after data is written.

Lit � Remains lit while the Memory Card Power Switch is pressed. � Remains flashing. � Lights when the Memory Card Power Switch is pressed.

No files will be created with the following errors:Insufficient Memory Card capacity (See note 2.)Memory error in CPU UnitI/O bus error (when writing data to a Unit or Board, CS1-H or CJ1-H CPU Units only)

Restoring data from the Memory Card to the CPU Unit

Lit when power is turned ON. � Flashes once. � Lit while reading. � OFF after data is read.

Lit when power is turned ON. � Flashes five times. � Goes OFF.

Data won’t be read with the following errors:Program in Memory Card exceeds CPU Unit capacityRequired backup files do not exist in Memory Card.

Program can’t be written because it is write-protected (Pin 1 of the DIP switch is ON.)

Lit when power is turned ON. � Flashes once. � Lit while reading. � Flashes three times. � OFF after data is read.

Caution: Data will be read with the following error.

EM files and CPU Unit EM banks do not match (non-consecutive bank numbers or max. bank number mis-match).

221

Page 243: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

Note 1. When the backup operation is completed normally, power to the MemoryCard will go OFF when the MCPWR indicator goes OFF. If the MemoryCard will be used again, press the Memory Card Power Switch to supplypower and execute the desired operation.

2. When data is written for a simple backup operation from a CS1-H, CJ1-H,or CJ1M CPU Unit, errors for insufficient Memory Card capacity can bechecked in A397 (Simple Backup Write Capacity). If A397 contains anyvalue except 0000 Hex after the write operation has been executed, thevalue will indicate the capacity that is required in the Memory Card inKbytes.

3. With CS1-H, CJ1-H, or CJ1M CPU Units, the backup files for Units andBoards are also compared.

Comparing data between the CPU Unit and the Memory Card

Lit � Remains lit while the Memory Card Power Switch is pressed. � Flashes once. � Lit while comparing. � OFF after data is compared.

Lit � Remains lit while the Memory Card Power Switch is pressed. � Remains flashing. � Lights when the Memory Card Power Switch is pressed.

The following comparison errors can occur (See note 3.):Memory Card and CPU Unit data do not match.

Required backup files do not exist in Memory Card.EM files and CPU Unit EM banks do not match (non-consecutive bank numbers or max. bank number mis-match).Memory error in CPU UnitI/O bus error (when compar-ing data to a Unit or Board, CS1-H or CJ1-H CPU Units only)

Common to all three backup operations.

--- Reading:Flashes five times. � Goes OFF.

Writing or comparing:Remains flashing.� Lights when the Memory Card Power Switch is pressed.

Memory Card access error (format error or read/write error)

Backup operation Normal completion(See note 1.)

Error occurred

MCPWR status MCPWR status Error

222

Page 244: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

Related Auxiliary Bits/Words

Note These flags are related for the CS1-H, CJ1-H, or CJ1M CPU Units becausethe CPU Unit will automatically using an available communications port whenwriting or comparing data for a Memory Card.

Backing Up Board and Unit DataThis function is supported only by CS1-H, CJ1-H, or CJ1M CPU Units.

IntroductionThe following data is backed up from the CPU Unit by the CS1 and CJ1 CPUUnits for the simple backup operation: User program, parameter area, entireI/O memory. In addition to the above data, the following data is also backed upfor the CS1-H, CJ1-H, or CJ1M CPU Units: Data from specific Units andBoards mounted to the PLC.

OutlineWhen the simple backup operation is used for a CS1-H, CJ1-H, or CJ1M CPUUnit, a Unit/Board backup file containing data from specific Units and Boards

Name Address Description

File Memory Operation Flag A34313 ON when any of the following are being performed. OFF when execution has been completed.

• Memory Card detection• CMND instruction executed for local CPU Unit• FREAD/FWRIT instructions

• Program replacement via special control bits• Simple backup operationWiring data to or verifying the contents of the Memory Card is not possi-ble while this flag is ON.

EM File Memory Starting Bank A344 When the CPU Unit starts reading from the Memory Card, it references this value. If the maximum EM bank number of the [email protected] files (maximum consecutive bank number counting from 0) matches the maxi-mum bank number of the CPU Unit, the EM area will be formatted based on the value in this word. If the maximum EM bank numbers do not match, the EM Area will revert to its unformatted condition.

Network Communications Instruction Enabled Flags (CS1-H, CJ1-H, or CJ1M CPU Units only) (See note.)

A20200 to A20207

• Turns OFF when writing or comparing Memory Card data begins.

• Turn ON when writing or comparing Memory Card data has been com-pleted.

Unit and Board data cannot be written or compared if all of the Network Communications Instruction Enabled Flags are OFF when Memory Card write or compare operations are started and an error will occur if this is attempted.

Network Communications Com-pletion Code (CS1-H, CJ1-H, or CJ1M CPU Units only) (See note.)

A203 to A210

Provide the results of communications with the Unit or Board when Mem-ory Card write or compare operations are performed.

Network Communications Error Flags (CS1-H, CJ1-H, or CJ1M CPU Units only) (See note.)

A21900 to A21907

• Turns ON is an error occurs in communications with the Unit or Board when Memory Card write or compare operations are performed.

• Remains OFF (or turns OFF) is no error occurs in communications with the Unit or Board when Memory Card write or compare operations are performed.

Simple Backup Write Capacity (CS1-H, CJ1-H, or CJ1M CPU Units only)

A397 Provides the data capacity in Kbytes that would be required on the Mem-ory Card when writing fails for a simple backup operation, indicating that a write error occurred because of insufficient capacity.0001 to FFFF Hex: Write error (Indicates required Memory Card capacity between 1 and 65,535 Kbytes.) (Cleared to 0000 Hex when successful write is performed.)0000 Hex: Write completed normally.

223

Page 245: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

is written to the Memory Card. The data is backed up separately for each Unitand Board.

ApplicationThis function can be used to back up data for the entire PLC, including theCPU Unit, DeviceNet Units, Serial Communications Units/Boards, etc. It canalso be used for Unit replacement.

Unit/Board Backup FilesThe data from each Unit and Board is stored in the Memory Card using thefollowing file names: BACKUP@@.PRM. Here, “@@” is the unit address of theUnit or Board in hexadecimal.

Note Unit addresses are as follows: CPU Bus Units: Unit number + 10 HexSpecial I/O Units: Unit number + 20 HexInner Board: E1 Hex

These files are also used when reading from the Memory Card or comparingMemory Card data.

Applicable Units and BoardsFor Unit and Board data to be backed up, the Unit/Board must also supportthe backup function. Refer to the operation manual for the Unit/Board fordetails on support.

The following Units and Boards are supported as of July 2001.

Note Data from the Units and Boards listed above will be automatically backed upfor the simple backup operation. There is no setting available to include orexclude them.

ProcedureThe procedure for the simple backup operation is the same regardless ofwhether or not data is being backed up from specific Units and Boards(including writing, reading, and comparing).

DeviceNet Unit or other specific Unit/Board

WriteReadCompare

Memory Card power supply switch

CS1-H or CJ1-H CPU Unit

Memory Card

All data

Simple backup data

Unit/Board Model numbers Backup data (for CS1-H or CJ1-H CPU Unit only)

DeviceNet Unit CS1W-DRM21-V1CJ1W-DRM21

Device parameters (all data in EEPROM in the Unit)(Although this is the same data as is backed up from the Memory Card backup function supported by the Unit or the DeviceNet Con-figuration (Ver. 2.0), there is no file compati-bility.

Serial Communi-cations Unit

CS1W-SCU21-V1CJ1W-SCU41

Protocol macro data(Including both standard system protocols and user-defined protocols from the flash memory in the Unit or Board)

Serial Communi-cations Boards

CS1W-SCB21-V1

CS1W-SCB41-V1

224

Page 246: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Manipulating Files Section 5-2

■ Backing Up Data

1,2,3... 1. Turn ON pin 7 on the CPU Unit’s DIP switch.

2. Press and hold the Memory Card Power Supply Switch for three seconds.

The backup data for the Units and Boards will be created in a file andstored in the Memory Card with the other backup data.

When the Power Supply Switch is pressed, the MCPWR Indicator will flashonce, light during the write operation, and then go OFF if the write is com-pleted normally.

■ Restoring Data

1,2,3... 1. Turn ON pin 7 on the CPU Unit’s DIP switch.

2. Turn ON the PLC. The backup files will be restored to the Units andBoards.

The backup data for the Units and Boards will be restored from the Mem-ory Card to the Units and Boards.

When the power supply is turned ON, the MCPWR Indicator will flashonce, light during the read operation, and then go OFF if the read is com-pleted normally.

■ Comparing Data

1,2,3... 1. Turn OFF pin 7 on the CPU Unit’s DIP switch.

2. Press and hold the Memory Card Power Supply Switch for three seconds.

The backup data on the Memory Card will be compared to the data in theUnits and Boards.

Simple backup data

Backup

Memory Card power supply switch

CPU Unit

Memory Card

All data

DeviceNet Unit or other specific Unit/Board

Simple backup data

Restore

PLC power turned ON.

CPU Unit

Memory Card

All data

DeviceNet Unit or other specific Unit/Board

Simple backup data

Compare

Memory Card power supply switch

CPU Unit

Memory Card

All data

DeviceNet Unit or other specific Unit/Board

225

Page 247: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Using File Memory Section 5-3

When the Power Supply Switch is pressed, the MCPWR Indicator will flashonce, light during the compare operation, and then go OFF if the compareis completed normally and the data is the same.

Note Confirm that the Units and Boards are running properly before attempting theabove operations. The write, read, and compare operations will not be per-formed unless the Units and Boards are running properly.

5-3 Using File Memory

5-3-1 Initializing MediaMemory Cards

1,2,3... 1. Use a Programming Device, such as a Programming Console, to initializeMemory Cards.

EM File Memory

1,2,3... 1. Use a Programming Device like a Programming Console and set EM filememory settings in the PLC Setup to enable EM file memory, and then setthe specified bank number for EM file memory to 0 to C Hex.

2. Use a FINS command or a Programming Device other than a Program-ming Console to initialize EM file memory.

Initializing Individual EM File Memory

A specified EM bank can be converted from ordinary EM to file memory.

Note The maximum bank number for CJ-series CPU Units is 6.

CX-Programmer

Or

Programming Console

Memory Card

CX-Programmer

Or

Programming Console

Specify the starting bank number for EM file memory.

Initialize EM file memory.

CX-Programmer

Or

Programming Console

226

Page 248: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Using File Memory Section 5-3

EM used for file memory can be restored to ordinary EM status.

The start bank number for file memory can be changed.

PLC Setup

Related Special Auxiliary Relay

Reading/Writing Symbol Tables and Comments using he CX-Programmer

Use the following procedure to transfer symbol tables or comments created onthe CX-Programmer to and from a Memory Card or EM file memory.

1,2,3... 1. Place a formatted Memory Card into the CPU Unit or format EM File Mem-ory.

2. Place the CX-Programmer online.

3. Select Transfer and then To PLC or From PLC from the PLC Menu.

Bank 0

Bank n

Bank C

Bank 0

Converted to file memory

1. Set n in PLC Setup.

2. Use a Programming Device or FINS command to format starting at n.

3. "n" is stored in A344.

Bank n

Bank C

Bank 0 Bank 0

Bank n

Bank C

Converted to file memory Cleared

1. Set file memory OFF in PLC Setup.

2. If a Programming Device or FINS command is used for formatting, memory starting at n will be cleared to 0000 Hex.

3. FFFF Hex will be stored in A344 to indicate that there is no EM file memory.

Note: 1. Any file data present will be deleted at this time.

Bank n

Bank C

2. Only banks 0 to 6 can be specified for a CJ-series CPU Unit.

Address Name Description Initial setting

136 EM File Memory Starting Bank

0000 Hex: None0080 Hex: Starting at bank No. 0008C hex: Bank No. CThe EM area starting from the specified bank num-ber will be converted to file memory.

(Only banks 0 to 6 can be specified for a CJ-series CPU Unit.)

0000 Hex

Name Address Description

EM File Memory Starting Bank A344 The bank number that actually starts the EM file memory area at that time will be stored. The EM file from the starting bank number to the last bank will be converted to file memory. FFFF Hex will indicate that there is no EM file memory.

Bank 0 Bank 0

Bank n

Converted to file memory

Clear

Converted to file memory

1. Change n to m in PLC Setup.

2. Use a Programming Device or FINS command to convert banks starting at m to file memory.

Note: Banks n to m-1 will be cleared to 0000 Hex.

3. m will be stored in A344.

Note: 1. Any file data present will be deleted at this time.

Bank n

Bank C

Bank m

Bank C

Bank m

2. Only banks 0 to 6 can be specified for a CJ-series CPU Unit.

227

Page 249: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Using File Memory Section 5-3

4. Select either Symbols or Comments as the data to transfer.

5-3-2 Operating Procedures for Memory CardsUsing a Programming Device

1,2,3... 1. Insert a Memory Card into the CPU Unit.

2. Initialize the Memory Card with a Programming Device.

3. Use a Programming Device to name the CPU Unit data (user program, I/Omemory, parameter area), and then save the data to Memory Card. (Usea Programming Device to read the Memory Card file to the CPU Unit.)

Automatically Transferring Files at Startup

1,2,3... 1. Insert a Memory Card into the CPU Unit. (Already initialized.)

2. Use a Programming Device to write the automatic transfer at startup filesto the Memory Card. These files include the program file (AUTOEX-EC.OBJ), parameter area file (AUTOEXEC.STD), and I/O memory file(AUTOEXEC.IOM or ATEXEC@@.IOM.)

Note A user program and parameter area file must be on the Memory Card.

3. Turn OFF the PLC power supply.

4. Turn ON DIP switch pin 2 (automatic transfer at startup).

Memory Card

Initialize

CX-Programmer

Or

Programming Console

Memory Card

Initialize

CX-Programmer

Or

Programming Console

228

Page 250: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Using File Memory Section 5-3

Note If pin 7 is ON and pin 8 is OFF, the backup function will be enabledand will override the automatic transfer at startup function. (TurnOFF pins 7 and 8 for automatic transfer at startup.)

5. Insert the Memory Card into the CPU Unit.

6. Turn ON the PLC power supply to read the file.

Using FREAD(700)/FWRIT(701)/CMND(490)

1,2,3... 1. Insert a Memory Card into the CPU Unit. (Already initialized.)

2. Use FWRIT(701) to name the file in the specified area of I/O memory andthen save the file to Memory Card.

Note A Memory Card containing TXT or CSV data files can be installedinto a personal computer’s PLC card slot with an HMC-AP001Memory Card Adapter and the data files can be read into a spread-sheet program using standard Windows functions (Not supportedby CS-series CS1 CPU Units that are pre-EV1).

3. Use FREAD(700) to read the file from the Memory Card to I/O memory inthe CPU Unit.

Memory Card file operations can be executed by issuing FINS commands tothe local CPU Unit with CMND(490). (Not supported by CS-series CS1 CPUUnits that are pre-EV1)

Replacing the Program during Operation

1,2,3... 1. Insert a Memory Card into the CPU Unit. (Already initialized.)

2. Write the Program Password (A5A5 Hex) in A651 and the Program FileName in A654 to A657.

3. Turn the Replacement Start Bit (A65015) from OFF to ON.

Simple Backup Function There are 3 backup operations: backing up data to the Memory Card, restor-ing data from the Memory Card, and comparing data with the Memory Card.

Backing Up Data from the CPU Unit to the Memory Card

1,2,3... 1. Insert a Memory Card into the CPU Unit. (Already initialized.)

2. Turn ON pin 7 and turn OFF pin 8 on the CPU Unit’s DIP switch.

3. Press and hold the Memory Card Power Supply Switch for three seconds.

4. Verify that the MCPWR Indicator flashes once and then goes OFF. (Otherchanges indicate that an error occurred while backing up the data.)

Restoring Data from the Memory Card to the CPU Unit

1,2,3... 1. Insert the Memory Card containing the backup files into the CPU Unit.

DIP switch pin 2 ON

Memory Card

229

Page 251: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Using File Memory Section 5-3

2. Turn ON pin 7 and turn OFF pin 8 on the CPU Unit’s DIP switch.

3. The backup files will be restored when the PLC is turned ON.

4. Verify that the MCPWR Indicator flashes once and then goes OFF. (Otherchanges indicate that an error occurred while restoring the data.)

Comparing Data in the Memory Card and CPU Unit

1,2,3... 1. Insert the Memory Card containing the backup files into the CPU Unit.

2. Turn OFF pins 7 and 8 on the CPU Unit’s DIP switch.

3. Press and hold the Memory Card Power Supply Switch for three seconds.

4. The data matches if the MCPWR Indicator flashes once and then goesOFF.

Note The MCPWR Indicator will flash if an error occurs while writing or comparingdata. This flashing will stop and the MCPWR Indicator will be lit when theMemory Card Power Supply Switch is pressed.

The following table shows the time required for backup operations with a 20-Kstep Program and 10-ms Cycle Time in RUN mode:

The following table shows the time required for backup operations with a 30-Kstep Program and 10-ms Cycle Time in RUN mode:

The following table shows the time required for backup operations with a 250-Kstep Program and 12-ms Cycle Time in RUN mode:

Creating Variable Table and Comment Files

Use the following CX-Programmer procedure to create variable table files orcomment files on Memory Cards or in EM file memory.

1,2,3... 1. Insert a formatted Memory Card into the CPU Unit or format EM file mem-ory.

2. Place the CX-Programmer online.

3. Select Transfer and then To PLC or From PLC from the PLC Menu.

4. Select either Symbols or Comments as the data to transfer.

Note If a Memory Card is installed in the CPU Unit, data can be transferred onlywith the Memory Card. (It will not be possible with EM file memory.)

5-3-3 Operating Procedures for EM File MemoryUsing a Programming Device

1,2,3... 1. Use PLC Setup to specify the starting EM bank to convert to file memory.

2. Use a Programming Device to initialize EM file memory.

3. Use a Programming Device to name the CPU Unit data (user program, I/Omemory, parameter area), and then save the data to EM file memory.

Mode Backing up Restoring Comparing

PROGRAM Approx. 50 s Approx. 30 s Approx. 7 s

RUN Approx. 5 min Approx. 2 min Approx. 7 s

Mode Backing up Restoring Comparing

PROGRAM Approx. 50 s Approx. 30 s Approx. 7 s

RUN Approx. 5 min 30 s Approx. 2 min 40 s Approx. 7 s

Mode Backing up Restoring Comparing

PROGRAM Approx. 1 min 30 s Approx. 1 min 30 s Approx. 20 s

RUN Approx. 13 min Approx. 7 min 30 s Approx. 20 s

230

Page 252: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Using File Memory Section 5-3

4. Use a Programming Device to read the file in EM file memory to the CPUUnit.

Using FREAD(700)/FWRIT(701)/CMND(490)

1,2,3... 1. Use PLC Setup to specify the starting EM bank to convert to file memory.

2. Use a Programming Device to initialize EM file memory.

3. Use FWRIT(701) to name the file in the specified area of I/O memory andthen save the file to EM file memory.

4. Use FREAD(700) to read the file from the EM file memory to I/O memoryin the CPU Unit.

EM file memory operations can be executed by issuing FINS commands tothe local CPU Unit with CMND(490).

Power Interruptions while Accessing File Memory

A file being updated may not be overwritten correctly if a power interruptionoccurs while the CPU is accessing file memory (the Memory Card or EM filememory). In this case, the affected file will be deleted automatically by thesystem the next time that power is turned ON. The corresponding File Dele-tion Notification Flag (A39507 for the Memory Card, A39506 for EM file mem-ory) will be turned ON. The flag will be turned OFF the next time that thepower is turned OFF.

When a file is deleted, a deletion log file (DEL_FILE.IOM) will be created inthe root directory of the Memory Card or EM file memory. The deletion log filecan be read with CX-Programmer or FREAD(700) to check the following infor-mation: The date that the file was deleted, the type of file memory (media) thatexisted, the subdirectory, file name, and extension. When necessary, recreateor recopy the deleted file.

The following diagram shows the structure of the deletion log file.

Year Month ExtensionDay

Date of file deletion(6 bytes)

Deleted file'sextension(4 bytes)

Media type (2 bytes)0000: Memory Card0001: EM file memory

Deleted file's subdirectory and file name (73 bytes)

File size: 86 bytes

Media

231

Page 253: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Using File Memory Section 5-3

232

Page 254: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

SECTION 6Advanced Functions

This section provides details on the following advanced functions: cycle time/high-speed processing functions, indexregister functions, serial communications functions, startup and maintenance functions, diagnostic and debuggingfunctions, Programming Device functions, and the Basic I/O Unit input response time settings.

6-1 Cycle Time/High-speed Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

6-1-1 Minimum Cycle Time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

6-1-2 Maximum Cycle Time (Watch Cycle Time). . . . . . . . . . . . . . . . . . . 236

6-1-3 Cycle Time Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236

6-1-4 High-speed Inputs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

6-1-5 Interrupt Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

6-1-6 I/O Refreshing Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238

6-1-7 Disabling Special I/O Unit Cyclic Refreshing . . . . . . . . . . . . . . . . . 239

6-1-8 Improving Refresh Response for CPU Bus Unit Data . . . . . . . . . . . 240

6-1-9 Maximum Data Link I/O Response Time. . . . . . . . . . . . . . . . . . . . . 242

6-1-10 Background Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

6-1-11 Sharing Index and Data Registers between Tasks . . . . . . . . . . . . . . 250

6-2 Index Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

6-2-1 What Are Index Registers? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

6-2-2 Using Index Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

6-2-3 Processing Related to Index Registers . . . . . . . . . . . . . . . . . . . . . . . 255

6-3 Serial Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

6-3-1 Host Link Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263

6-3-2 No-protocol Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

6-3-3 NT Link (1:N Mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

6-3-4 Serial PLC Links (CJ1M CPU Units Only) . . . . . . . . . . . . . . . . . . . 270

6-4 Changing the Timer/Counter PV Refresh Mode. . . . . . . . . . . . . . . . . . . . . . . 276

6-4-1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276

6-4-2 Functional Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

6-4-3 BCD Mode/Binary Mode Selection and Confirmation . . . . . . . . . . 278

6-4-4 BCD Mode/Binary Mode Mnemonics and Data . . . . . . . . . . . . . . . 279

6-4-5 Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280

6-4-6 Instructions and Operands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

6-5 Using a Scheduled Interrupt as a High-precision Timer (CJ1M Only). . . . . . 284

6-5-1 Setting the Scheduled Interrupt to Units of 0.1 ms. . . . . . . . . . . . . . 284

6-5-2 Specifying a Reset Start with MSKS(690) . . . . . . . . . . . . . . . . . . . . 285

6-5-3 Reading the Internal Timer PV with MSKR(692) . . . . . . . . . . . . . . 285

6-6 Startup Settings and Maintenance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286

6-6-1 Hot Start/Hot Stop Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286

6-6-2 Startup Mode Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

6-6-3 RUN Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288

6-6-4 Power OFF Detection Delay Setting . . . . . . . . . . . . . . . . . . . . . . . . 288

233

Page 255: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

6-6-5 Disabling Power OFF Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288

6-6-6 Clock Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

6-6-7 Program Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290

6-6-8 Remote Programming and Monitoring . . . . . . . . . . . . . . . . . . . . . . . 292

6-6-9 Unit Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

6-6-10 Flash Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293

6-6-11 Startup Condition Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294

6-7 Diagnostic Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296

6-7-1 Error Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296

6-7-2 Output OFF Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

6-7-3 Failure Alarm Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

6-7-4 Failure Point Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298

6-7-5 Simulating System Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300

6-7-6 Disabling Error Log Storage of User-defined FAL Errors . . . . . . . . 300

6-8 CPU Processing Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301

6-8-1 CPU Processing Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301

6-8-2 Parallel Processing Mode and Minimum Cycle Times . . . . . . . . . . . 306

6-8-3 Data Concurrency in Parallel Processing with Asynchronous Memory Access306

6-9 Peripheral Servicing Priority Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306

6-9-1 Peripheral Servicing Priority Mode. . . . . . . . . . . . . . . . . . . . . . . . . . 307

6-9-2 Temporarily Disabling Priority Mode Servicing. . . . . . . . . . . . . . . . 309

6-10 Battery-free Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312

6-11 Other Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

6-11-1 I/O Response Time Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

6-11-2 I/O Area Allocation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315

234

Page 256: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Cycle Time/High-speed Processing Section 6-1

6-1 Cycle Time/High-speed ProcessingThe following functions are described in this section

• Minimum cycle time function

• Maximum cycle time function (watch cycle time)

• Cycle time monitoring

• Quick-response inputs

• Interrupt functions

• I/O refreshing methods

• Disabling Special I/O Unit cyclic refreshing

• Improving the refresh response for data links and other CPU Bus Unitdata (CS1-H, CJ1-H, or CJ1M CPU Units only)

• Reducing fluctuation in the cycle time through background execution ofdata manipulations (CS1-H, CJ1-H, or CJ1M CPU Units only)

6-1-1 Minimum Cycle TimeA minimum (or fixed) cycle time can be set in CS/CJ-series PLCs. (See note.)Variations in I/O response times can be eliminated by repeating the programwith a fixed cycle time.

Note The cycle time can also be fixed for CS1-H, CJ1-H, or CJ1M CPUUnits by using a Parallel Processing Mode.

The minimum cycle time (1 to 32,000 ms) is specified in the PLC Setup in1-ms units.

If the actual cycle time is longer than the minimum cycle time, the minimumcycle time function will be ineffective and the cycle time will vary from cycle tocycle.

PLC Setup

Address Name Setting Default

208Bits: 0 to 15

Minimum Cycle Time 0001 to 7D00: 1 to 32,000 ms (1-ms units)

0000 (no minimum)

Minimum cycle time(Effective)

Actual cycle time

Minimum cycle time(Effective)

Actual cycle time

Minimum cycle time(Effective)

Actual cycle time

Minimum cycle time

Actual cycle time(Effective)

Minimum cycle time

Actual cycle time(Effective)

Minimum cycle time(Effective)

Actual cycle time

235

Page 257: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Cycle Time/High-speed Processing Section 6-1

6-1-2 Maximum Cycle Time (Watch Cycle Time)If the cycle time (see note) exceeds the maximum cycle time setting, theCycle Time Too Long Flag (A40108) will be turned ON and PLC operation willbe stopped.

Note Here, the cycle time would be the program execution time when us-ing a Parallel Processing Mode for CS1-H, CJ1-H, or CJ1M CPUUnits.

PLC Setup

Auxiliary Area Flags and Words

Note If the peripheral servicing cycle exceeds 2.0 s for CS1-H, CJ1-H, or CJ1MCPU Units in parallel processing mode, a peripheral servicing cycle timeexceeded error will occur and the CPU Unit will stop operation. If this hap-pens, A40515 (Peripheral Servicing Cycle Time Over Flag) will turn ON.

6-1-3 Cycle Time MonitoringThe maximum cycle time and present cycle time are stored in the AuxiliaryArea every cycle. For CS1-H, CJ1-H, or CJ1M CPU Units in parallel process-ing mode, the program execution times will be stored.

Auxiliary Area Flags and Words

A Programming Device (CX-Programmer or Programming Console) can beused to read the average of the cycle times in the last 8 cycles.

Address Name Setting Default

209Bit: 15

Enable Watch Cycle Time Setting

0: Default (1s)1: Bits 0 to 14

0001 (1 s)

209Bits: 0 to 14

Watch Cycle Time Setting (Enabled when bit 15 is set to 1.)

001 to FA0: 10 to 40,000 ms (10-ms units)

Name Address Description

Cycle Time Too Long Flag

A40108 A40108 will be turned ON and the CPU Unit will stop operation if the cycle time exceeds the watch cycle time setting. The “cycle time” would be the program execution time when using a Parallel Processing Mode for CS1-H, CJ1-H, or CJ1M CPU Units.

Name Address Description

Maximum Cycle Time (program execution time for CS1-H, CJ1-H, or CJ1M CPU Units in parallel processing mode)

A262 and A263

Stored every cycle in 32-bit binary in the follow-ing range:0 to 429,496,729.5 ms in 0.1 ms units(0 to FFFF FFFF)

Present Cycle Time (program execution time for CS1-H, CJ1-H, or CJ1M CPU Units in parallel processing mode)

A264 and A265

Stored every cycle in 32-bit binary in the follow-ing range:0 to 429,496,729.5 ms in 0.1 ms units(0 to FFFF FFFF)

236

Page 258: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Cycle Time/High-speed Processing Section 6-1

Reducing the Cycle Time

The following methods are effective ways to reduce the cycle time in CS/CJ-series PLCs:

1,2,3... 1. Put tasks that aren’t being executed in standby.

2. Jump program sections that aren’t being executed with JMP(004) andJME(005).

For CS1-H or CJ1-H CPU Units in parallel processing mode, the peripheralservicing cycle time will be stored in A268 (Peripheral Servicing Cycle Time)each servicing cycle.

6-1-4 High-speed Inputs When you want to receive pulses that are shorter than the cycle time, use theCS1W-IDP01 High-speed Input Unit or use the high-speed inputs of theC200H-ID501/ID215 and C200H-MD501/MD115/MD215 High-density I/OUnits.

The high-speed inputs can receive pulses with a pulse width (ON time) of1 ms or 4 ms for the C200H High-density Input Units and 0.1 ms for theCS1W-IDP01 High-speed Input Unit.

6-1-5 Interrupt FunctionsInterrupt tasks can be executed for the following conditions. Refer to �!*������!��������� for more details.

I/O Interrupts (Interrupt tasks 100 to 131)

An I/O interrupt task is executed when the corresponding input (on the risingedge of the signal or, for CS/CJ-series Interrupt Input Units, on either the ris-ing or falling edge) is received from an Interrupt Input Unit.

Scheduled Interrupts (Interrupt tasks 2 and 3)

A scheduled interrupt task is executed at regular intervals.

Power OFF Interrupt (Interrupt task 1)

This task is executed when the power is interrupted.

External Interrupts (Interrupt tasks 0 to 255)

An external interrupt task is executed when an interrupt is received from aSpecial I/O Unit, CPU Bus Unit, or Inner Board.

Note The built-in interrupt inputs and high-speed counter inputs on a CJ1M CPUUnit can be used to activate interrupt tasks. Refer to the CJ Series Built-in I/OOperation Manual for details.

High-speed Input Unit or High-density Input Unit

CS1W-IDP01: 0.1 msCJ1W-IDP01: 0.05 msC200H-ID501/ID215/MD501/MD115/MD215: 4 ms

237

Page 259: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Cycle Time/High-speed Processing Section 6-1

6-1-6 I/O Refreshing MethodsThere are three ways that the CS/CJ-series CPU Units can refresh data withBasic I/O Units and Special I/O Units: Cyclic refreshing, immediate refreshing,and execution of IORF(097).

1. Cyclic RefreshingI/O refreshing is performed after all of the instructions in executable taskshave been executed. (The PLC Setup can be set to disable cyclic refreshingof individual Special I/O Units.)

2. Immediate RefreshingWhen an address in the I/O Area is specified as an operand in the immediate-refreshing variation of an instruction, that operand data will be refreshed whenthe instruction is executed. Immediate-refreshing instructions can refresh dataallocated to Basic I/O Units.

Immediate refreshing is also possible for the built-in I/O on CJ1M CPU Units.

Note 1. When the instruction contains a bit operand, the entire word containingthat bit will be refreshed. When the instruction contains a word operand,that word will be refreshed.

2. Input and source data will be refreshed just before execution of the instruc-tion. Output and destination data will be refreshed just after execution ofthe instruction.

3. The execution times for immediate-refreshing variations are longer thanthe regular variations of instructions, so the cycle time will be longer. Referto 10-5 Instruction Execution Times and Number of Steps in the OperationManual for details.

END

END

END

I/O refreshing Actual I/O data

Task

Task

Task

Immediate refreshingActual I/O data

CIO 0001

CIO 0002

CIO 0003

CIO 0004

238

Page 260: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Cycle Time/High-speed Processing Section 6-1

3. Execution of IORF(097) and DLNK(226)

■ IORF(097): I/O REFRESH

IORF(097) can be used to refresh a range of I/O words upon execution of theinstruction. IORF(097) can refresh data allocated to Basic I/O Units and Spe-cial I/O Units.

The following example shows IORF(097) used to refresh 8 words of I/O data.

When a high-speed response is needed for input and output from a calcula-tion, use IORF(097) just before and just after the calculation instruction.

Note IORF(097) has a relatively long instruction execution time and that executiontime increases proportionally with the number of words being refreshed, so itcan significantly increase the cycle time. Refer to 10-5 Instruction ExecutionTimes and Number of Steps in the Operation Manual for more details.

■ DLNK(226): CPU Bus Unit I/O Refresh (CS1-H, CJ1-H, or CJ1M CPU Units Only)

DLNK(226) is used to refresh data for a CPU Bus Unit of a specified unit num-ber. The following data is refreshed.

• Words allocated to the Unit in the CIO Area

• Words allocated to the Unit in the DM Area

• Data specific to the Unit (See note.)

Note Data specific to a CPU Bus Unit would include data links for Control-ler Link Unit or SYSMAC LINK Units, as well as remote I/O for De-viceNet Units.

Application Example: With a long cycle time, the refresh interval for ControllerLink data links can be very long. This interval can be shortened by executingDLNK(226) for the Controller Link Unit to increase the frequency of data linkrefreshing.

6-1-7 Disabling Special I/O Unit Cyclic RefreshingTen words in the Special I/O Unit Area (CIO 2000 to CIO 2959) are allocatedto each Special I/O Unit based on the unit number set on the front of the Unit.Data is refreshed between this area and the CPU Unit each cycle during I/O

St: Start word

E: End word

The data in all words from St through E are refreshed when IORF(097) is executed.

St

E

The 7 words from CIO 0010 through CIO 0016 are refreshed when IORF(097) is executed.

0016

DLNK

N

DLNK

#1

N: Unit number of CPU Bus Unit

The instruction on the left would refresh the words allocated to the Unit in the CIO Area and DM Area, and data specific to the CPU Bus Unit with unit number 1.

Example:

239

Page 261: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Cycle Time/High-speed Processing Section 6-1

refreshing, but this cyclic refreshing can be disabled for individual Units in thePLC Setup.

There are basically three reasons to disable cyclic refreshing:

1,2,3... 1. Cyclic refreshing for Special I/O Units can be disabled when the cycle timeis too long because so many Special I/O Units are installed.

2. If the I/O refreshing time is too short, the Unit’s internal processing may notbe able to keep pace, the Special I/O Unit Error Flag (A40206) will beturned ON, and the Special I/O Unit will not operate properly.In this case, the cycle time can be extended by setting a minimum cycletime in the PLC Setup or cyclic I/O refreshing with the Special I/O Unit canbe disabled.

3. Always disable cyclic refreshing for a Special I/O Unit when it will be re-freshed in an interrupt task by IORF(097). An interrupt task error will occurand the Interrupt Task Error Flag (A40213) will be turned ON if cyclic re-freshing and IORF(097) refreshing are performed simultaneously for thesame Unit.

When cyclic refreshing has been disabled, the Special I/O Unit’s data can berefreshed during program execution with IORF(097).

PLC Setup

The Cyclic Refreshing Disable Bits for Special I/O Units 0 to 95 corresponddirectly to the 96 bits in addresses 226 through 231.

6-1-8 Improving Refresh Response for CPU Bus Unit DataThis function is supported only by CS1-H, CJ1-H, or CJ1M CPU Units.

Normally, data links and other special data for CPU Bus Units are refreshedalong with the CIO and DM Area words allocated to the Units during the I/Orefresh period following program execution.

The following table lists some example of special data for CPU Bus Units.

The following functions can be used to improve the refresh response for spe-cial CPU Bus Unit data with CS1-H, CJ1-H, or CJ1M CPU Units.

• Reducing the cycle time by using parallel processing mode or high-speedinstructions (Parallel processing mode is not supported by CJ1M CPUUnits.)

• Executing DLNK(226) to refresh specific CPU Bus Units by specifyingtheir unit numbers (DLNK(226) can be used more than once in the pro-gram.)

Address Name Setting Default

226 bit 0 Cyclic Refreshing Disable Bit for Special I/O Unit 0

0: Enabled1: Disabled

0 (Enabled)

: : : :

231 bit 15 Cyclic Refreshing Disable Bit for Special I/O Unit 95

0: Enabled1: Disabled

0 (Enabled)

Units Special data

Controller Link Units and SYSMAC LINK Units

Controller Link and SYSMAC LINK data links (includ-ing automatically and user-set links)

CS/CJ-series DeviceNet Units

DeviceNet remote I/O communications (including fixed allocations and user-set allocations)

240

Page 262: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Cycle Time/High-speed Processing Section 6-1

Note 1. Longer cycle times (e.g., 100 ms) will increase the interval between whendata links are refreshed. DLNK(226) can be used in this case, as shown inthe following example.

Note If DLNK(226) is executed for a CPU Bus Unit that is busy refreshingdata, data will not be refreshed and the Equals Flag will turn OFF.Normally, the Equals Flag should be programmed as shown below tobe sure that refreshing has been completed normally.

2. IORF(097) is used to refresh data for Basic I/O Units and Special I/O Units.DLNK(226) is used to refresh CPU Bus Units (CIO and DM Area words al-located to the Units and special data for the Units).

END

DLNKM

DLNKN

Data links (Controller Link or SYSMAC Link) are refreshed here for the CPU Bus Unit with unit number N. (See note.)

I/O refresh

Peripheral servicing

Cyclic task n

Data links (Controller Link or SYSMAC Link) are refreshed here for the CPU Bus Unit with unit number M. (See note.)

Data links are all refreshed here for Controller Link and SYSMAC Link.

DLNK

&0

Execution condition

= Flag Bit “a”

Refreshes data for the CPU Bus Unit with unit number 0.

Turns ON bit “a” if data refreshing fails, enabling the problem to be detected.

241

Page 263: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Cycle Time/High-speed Processing Section 6-1

6-1-9 Maximum Data Link I/O Response TimeNormal Processing The following diagram illustrates the data flow that will produce the maximum

data link I/O response time when DLNK(226) is not used.

There are three points shown in the diagram above where processing isdelayed, increasing the data link I/O response time.

1,2,3... 1. The input arrives in the PLC (CPU Unit #1) just after I/O refreshing, caus-ing a delay of one cycle before the input is read into the PLC. CPU BusUnits are refreshed after program execution, causing a total delay of twocycle times.

2. Data exchange occurs just after the PLC passes the token that makes itthe polling node, causing a delay of up to one communications cycle timebefore the data is transferred in data link processing. There will also be adelay of up to one communications cycle time after receiving the token,causing a total delay of up to two communications cycle times.

3. The data transferred in data link processing arrives at the PLC (CPU Unit#2) after data exchange, so the data will not be read into the PLC until thenext data exchange, causing a delay of up to one cycle. CPU Bus Unitsare refreshed after program execution, causing a total delay of two cycletimes.

The equation for maximum data link I/O response time is as follows:

×

×

×

Input Unit

Input

Input ON delay

(1) Delay of two cycle times

Basic I/O Units refreshed.

CPU Bus Units refreshed (including data links)

One cycle time

Data transfer to Controller Link Unit

Processing in CPU Unit #1

(2) Delay of two communications cycle times

One com-munica-tions cycle

Data link transmissions(3) Delay of two cycle times

Data received from Controller Link Unit

One cycle time

Output Unit

Output ON delay

Processing in CPU Unit #2

Maximum data link I/O response time

Program execution

Program execution

Input ON delay 1.5 ms

Cycle time of PLC at CPU Unit #1 � 2 25 ms � 2

Communications cycle time � 2 10 ms � 2

Cycle time of PLC at CPU Unit #2 � 2 20 ms � 2

242

Page 264: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Cycle Time/High-speed Processing Section 6-1

Using DLNK(226) The following diagram illustrates the data flow that will produce the maximumdata link I/O response time when DLNK(226) is used.

There are three points shown in the diagram above where processing isdelayed, increasing the data link I/O response time.

Note In this example, it is assumed that DNLK(226) is placed after other instruc-tions in the program in both CPU Units

1,2,3... 1. The input arrives in the PLC (CPU Unit #1) just after I/O refreshing, caus-ing a delay of one cycle before the input is read into the PLC. CPU BusUnits are refreshed during program execution, reducing the total delay toapproximately 1.5 cycle times.

2. Data exchange occurs just after the PLC passes the token that makes itthe polling node, causing a delay of up to one communications cycle timebefore the data is transferred in data link processing. There will also be adelay of up to one communications cycle time after receiving the token,causing a total delay of up to two communications cycle times.

3. The data transferred in data link processing arrives at the PLC (CPU Unit#2) after the I/O refresh, but DLNK(226) refreshes the data, so the data willbe read into the PLC without causing a delay of up to one cycle. The BasicI/O Units are refreshed after program execution, causing a total delay ofapproximately one cycle time.

Output ON delay 15 ms

Total (data link I/O response time) 126.5 ms

×

×

×

DLNK ▼

DLNK ▼

DLNK ▼

DLNK ▼

DLNK ▼

DLNK ▼

Input Unit

Input

Input ON delay

(1) Delay of 1.5 cycle times

Basic I/O Units refreshed.

CPU Bus Units refreshed (including data links)

One cycle time

Data transfer to Controller Link Unit

Processing in CPU Unit #1

(2) Delay of two communications cycle times

One com-munica-tions cycle

Data link transmissions

(3) Delay of approx one cycle time

Data received from Controller Link Unit

Output Unit

Output ON delay

Processing in CPU Unit #2

Maximum data link I/O response time

DLNK(226) execution

One cycle time max

Program execution

Program execution

243

Page 265: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Cycle Time/High-speed Processing Section 6-1

The equation for maximum data link I/O response time is as follows:

6-1-10 Background ExecutionBackground execution can be used to reduce fluctuations in the cycle time.Background execution is supported only by CS1-H, CJ1-H, or CJ1M CPUUnits.

Table data processing (such as data searches) and text string processing(such as text string searches), require time to execute, and can create largefluctuations in the cycle time due to the extended amount of time required toexecute them.

With the CS1-H, CJ1-H, or CJ1M CPU Units, however, background execution(time slicing) can be used to execute the following instructions over severalcycles to help control fluctuations in the cycle time. The PLC Setup enablessetting background execution for each type of instruction.

• Table data processing instructions

• Text string processing instructions

• Data shift instructions (ASYNCHRONOUS SHIFT REGISTER only)

Setting background execution for the above instructions can help control tem-porary increases in the cycle time.

ApplicationsBackground execution can be used for large quantities of data processing,such as data compilation or processing, that is required only at special times(e.g., once a day) when reducing the effect on the cycle time is more impor-tant than the speed of the data processing.

Procedure

1,2,3... 1. Set the PLC Setup to enable background execution for the required in-structions.

2. Set the communications port number (logical port number) to be used forbackground execution in the PLC Setup. This port number will be used forall instructions processed in the background.

Note One port is used for all background execution. Background execu-tion for an instruction can thus not be started if background executionis already being performed for another instruction. Use the Commu-nications Port Enabled Flag to control instructions specified for back-

Input ON delay 1.5 ms ---

Cycle time of PLC at CPU Unit #1 � 1.5 25 ms � 1.5 Faster by 12.5 ms (25 ms x 0.5)

Communications cycle time � 2 10 ms � 2 ---

Cycle time of PLC at CPU Unit #2 � 1 20 ms � 1 Faster by 20 ms (20 ms x 1)

Output ON delay 15 ms ---

Total (data link I/O response time) 94 ms Faster by 32.5 ms (26% faster)

MAX

MAX

CS1 CPU Unit

Long execution time

Longer cycle time when MAX is executed.

CS1-H or CJ1-H CPU Unit

Execution only started. Executed over

several cycles using time slicing.

Background execution

244

Page 266: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Cycle Time/High-speed Processing Section 6-1

ground execution so that no more than one instruction is executed atthe same time.

3. If an instruction for which background execution has been specified is ex-ecuted, execution will only be started in the cycle in which the executioncondition was met and execution will not be completed in the same cycle.

4. When background execution is started, the Communications Port EnabledFlag for that port will be turned OFF.

5. Background execution will be continued over several cycles.

6. When processing has been completed, the Communications Port EnabledFlag for that port will be turned ON. This will enable another instruction tobe executed in the background.

Applicable Instructions

■ Table Data Processing Instructions

■ Text String Processing Instructions

■ Data Shift Instructions

Differences between Instructions Executed Normally and in the BackgroundThe differences between normal instruction execution and execution in thebackground are listed below.

■ Outputting to Index Registers (IR)

If MAX(182) or MIN(183) is executed to output the I/O memory map addressof the word containing the minimum or maximum value to an index register,the address will not be output to the index register and will be output to A595and A596 instead. To store the address in an index register, use a Data Move

Instruction Mnemonic Function code

DATA SEARCH SRCH 181

SWAP BYTES SWAP 637

FIND MAXIMUM MAX 182

FIND MINIMUM MIN 183

SUM SUM 184

FRAME CHECKSUM FCS 180

Instruction Mnemonic Function code

MOVE STRING MOV$ 664

CONCATENATE STRING +$ 656

GET STRING LEFT LEFT$ 652

GET STRING RIGHT RIGHT$ 653

GET STRING MIDDLE MID$ 654

FIND IN STRING FIND$ 660

STRING LENGTH LEN$ 650

REPLACE IN STRING RPLC$ 661

DELETE STRING DEL$ 658

EXCHANGE STRING XCHG$ 665

CLEAR STRING CLR$ 666

INSERT INTO STRING INS$ 657

Instruction Mnemonic Function code

ASYNCHRONOUS SHIFT REGISTER ASFT 017

245

Page 267: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Cycle Time/High-speed Processing Section 6-1

instruction (e.g., MOVL(498)) to copy the address in A595 and A596 to anindex register.

■ Conditions Flags

Conditions Flags will not be updated following execution of instructions pro-cessed in the background. To access the Conditions Flag status, execute aninstruction that affects the Conditions Flags in the same way, as shown in thefollowing example, and then access the Conditions Flags.

Example:MOV(021) affects the Equals and Negative Flags in the same way asMAX(182), i.e., they both turn ON the Equals Flag for 0 and turn ON the Neg-ative Flag if the MSB is ON. MOV(021) can thus be used to copy the results ofMAX(182) to the same address to manipulate the Conditions Flags so that thestatus can be accessed.

■ Outputting to Index Register IR00

If SRCH(181) is executed to output the I/O memory map address of the wordcontaining the matching value (the first word if there is more than one) to anindex register, the address will not be output to the index register and will beoutput to A595 and A596 instead.

■ Outputting to Data Registers (DR) for SRCH(181)

If SRCH(181) is executed to output the matching data to a data register, thedata will not be output to the data register and will be output to A597 instead.

■ Matching Text Strings

If SRCH(181) finds matching data, it will not turn ON the Equals Flag, but willturn on A59801 instead.

■ Instruction Errors

If an instruction execution error or illegal access error occurs for an instructionbeing processed in the background, the ER or AER Flags will not be turnedON and A39510 will be turned ON instead. A39510 will remain ON until thenext time an instruction is processed in the background.

MAX

D01000

D02000

D00000

W00000

MOV

D00000

D00000

RSET

000000

SET

000001

000001 A20200

Execution condition

Finds the maximum value in the table data starting at D020000 and places it in D000000.

Moves the contents of D000000 to D000000 to manipulate the Conditions Flags.

Turns ON W00000 if the Equals Flag is ON, i.e., if D000000 contains 0000 Hex.

246

Page 268: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Cycle Time/High-speed Processing Section 6-1

■ Outputting to Data Registers (DR) for MAX(182) or MIN(183)

If MAX(182) or MIN(183) is executed with a data register specified as the out-put word for the minimum or maximum value, an instruction execution errorwill occur and the ER Flag will turn ON.

PLC Setup

Auxiliary Area Flags and Words

Word Bits Name Setting Default and update timing

198 15 Table Data Instruc-tion Background Exe-cution

0: Not processed in back-ground

1: Processed in background

0: Not pro-cessed in backgroundStart of oper-ation

14 Text String Instruc-tion Background Exe-cution

0: Not processed in back-ground1: Processed in background

13 Data Shift Instruction Background Execu-tion

0: Not processed in back-ground1: Processed in background

00 to 03

Communications Port Number for Back-ground Execution

0 to 7 Hex: Communications ports 0 to 7 (internal logical ports)

0 Hex: Port 0Start of oper-ation

Name Address Description

Communica-tions Port Enabled Flags

A20200 to A20207

Turns ON when a network instruction (SEND, RECV, CMND, or PMCR) can be executed with the corre-sponding port number or background execution can be executed with the corresponding port number (CS1-H, CJ1-H, or CJ1M CPU Units only). Bits 00 to 07 corre-spond to communications ports 0 to 7When the simple backup operation is used to performed a write or compare operation for a Memory Card on a CS1-H, CJ1-H, or CJ1M CPU Unit, a communications port will be automatically allocated, and the correspond-ing flag will be turned ON during the operation and turned OFF when the operation has been completed.

Communica-tions Port Error Flags

A21900 to A21907

Turns ON when an error occurred during execution of a network instruction (SEND, RECV, CMND, or PMCR). Bits 00 to 07 correspond to communications ports 0 to 7.

When the simple backup operation is used to performed a write or compare operation for a Memory Card on a CS1-H, CJ1-H, or CJ1M CPU Unit, a communications port will be automatically allocated. The corresponding flag will be turned ON if an error occurs and will be turned OFF if the simple backup operation ends nor-mally.

Communica-tions Port Completion Codes

A203 to A210

These words contain the completion codes for the cor-responding port numbers when network instructions (SEND, RECV, CMND, or PMCR) have been executed. The contents will be cleared when background execu-tion has been completed (for CS1-H, CJ1-H, or CJ1M CPU Unit only). Words A203 to A210 correspond to communications ports 0 to 7.When the simple backup operation is used to performed a write or compare operation for a Memory Card on a CS1-H, CJ1-H, or CJ1M CPU Unit, a communications port will be automatically allocated, and a completion code will be stored in the corresponding word.

247

Page 269: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Cycle Time/High-speed Processing Section 6-1

Note The communications ports (internal logical ports) in the CPU Unit are usedboth for background execution and the following instructions

• SEND(090), RECV(098), and CMND(490) (Network CommunicationsInstructions)

• PMCR(260) (PROTOCOL MACRO)

Background instructions and the above instructions cannot be executedsimultaneously on the same port. Use the Communications Port EnabledFlags to be sure that only one instruction is executed on each port at any onetime.

Note If an instruction is specified for execution in the background for a portfor which the Communications Port Enabled Flag is OFF, the ER Flagwill turn ON and the background instruction will not be executed.

Communications Port Enabled FlagsThe Communications Port Enabled Flags are ON when the port is not beingused and OFF when processing is being performed on the port.

Background Execution ER/AER Flag

A39510 Turns ON when an instruction execution error or illegal access error occurs in an instruction being executed in the background. Turns OFF when power is turned ON or operation is started.

Background Execution IR00 Output

A595 and A596

These words receives the output when the output of an instruction executed in the background is specified for an index register. No output will be made to IR00.

Range: 0000 0000 to FFFF FFFF HexLower 4 digits: A595, Upper 4 digits: A596

Background Execution DR00 Output

A597 This word receives the output when the output of an instruction executed in the background is specified for a data register. No output will be made to DR00.Range: 0000 to FFFF Hex

Background Execution Equals Flag Output

A59801 This flag is turned ON when matching data is found for a SRCH(181) executed in the background.

Name Address Description

Communications Port Enabled Flag

Background instruction processing for user program

Instruction executed

Cycle time Cycle time Cycle time

Background execution

I/O refresh

248

Page 270: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Cycle Time/High-speed Processing Section 6-1

Programming Example 1

■ Traditional Programming without Background Execution

As shown below, processing is completed when the instruction is executed.

■ Programming with Background Execution

With background execution, the program is changed so that MAX(182) is exe-cuted only when the specified Communications Port Enabled Flag is ON (i.e.,only when the port is not already being used for background execution or net-work communications). Also, input conditions are controlled with SET andRESET instructions to ensure that processing is performed in the correctorder. (Communications port 0 is used for background execution in the follow-ing example.)

MAX

D00000

D00100

D00200

a

SUM

D00002

D00100

D00201

Execution condition

MAX(182) is executed completely as soon as the execution condition “a” turns ON.

SUM(184) can be executed immediately after MAX(182).

RSETa

SETb

MAXD00000D00100D00200

a A20200

RSETb

SUMD00002D00100D00201

b A20200

SETc

c A20200

Execution condition

Execution condition “b” is turned ON to enable the next background instructions (here, SUM(184)).

SUM(184) execution is started if execution condition “b” is ON and the Communications Port Enabled Flag is ON (i.e., when MAX(182) execution has been completed).

MAX(182) execution is started if execution condition “a” is ON and the Communications Port Enabled Flag is ON.

“a” is turned OFF so that MAX(182) will not be executed the next cycle.

“b” is turned OFF so that SUM(184) will not be executed the next cycle.

Execution of SUM(184) has been completed when “c” is ON and the Communications Port Enabled Flag is ON.

“c” is turned ON to enable confirming the completion of SUM(184).

Confirmation of completion of background execution

Communications Port Enabled Flag

Execution condition

Communications Port Enabled Flag

249

Page 271: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Cycle Time/High-speed Processing Section 6-1

Programming Example 2This examples show background execution when index register output isspecified, as is possible for MAX(182), MIN(183), and SRCH(181).

■ Traditional Programming without Background Execution

As shown below, the actual memory map address of the word containing themaximum value is output to an index register.

■ Programming with Background Execution

With background execution, the actual memory map address of the word con-taining the maximum value is output to A595 and A596. MOVL(498) is thenused the actual memory map address to the index register.

6-1-11 Sharing Index and Data Registers between TasksSharing Index and Data Registers (IR/DR) between tasks is supported only byCS1-H, CJ1-H, or CJ1M CPU Units. The normal setting is for separate regis-ters for each task. The current setting can be confirmed in A09914.

Note 1. Shared Index and Data Registers can be used to eliminate the need tostore and load register contents between tasks when the same contents isneeded in two or more tasks. Refer to the section on index registers in the

MAX

D00000

D00100

D00200

a

MOV

,IR0

D00300

Execution conditionMAX(182) is executed completely as soon as the execution condition “a” turns ON, and the actual memory map address of the word containing the maximum value is output to IR0

The contents of the I/O memory word indicated by the memory map address in IR0 is copied to D00300.

RSET

a

SET

b

MAX

D00000

D00100

D00200

a A20200

MOV

,IR0

D00300

MOVL

A595

IR0

b A20200

RSET

b

Execution condition “b” is turned ON to execute MOVL(498).

When execution condition “b” is ON and the Communications Port Enabled Flag is ON, MOVL(498) copies the actual memory map address in A595 and A596 to IR0.

MAX(182) execution is started if execution condition “a” is ON and the Communications Port Enabled Flag is ON. The actual memory map address of the word containing the maximum value is output to A595 and A596.

“a” is turned OFF so that MAX(182) will not be executed the next cycle.

The contents of the I/O memory word indicated by the memory map address in IR0 is copied to D00300.

Extra processing required to move address.

Execution condition

Communications Port Enabled Flag

Execution condition

Communications Port Enabled Flag

250

Page 272: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Cycle Time/High-speed Processing Section 6-1

CS Series Operation Manual (W339) or the CJ Series Operation Manual(W393) for information on storing and loading index register contents.

2. The switching time between tasks will be somewhat faster when index anddata registers are shared. It is recommended to set shared registers if theregisters are not being used or if there is no particular need for separateregisters in each task.

Setting MethodUse the CX-Programmer to set shared index and data registers. This settingcannot be made from a Programming Console.

1,2,3... 1. Select a PLC (PLC) in the CX-Programmer project tree and click the rightmouse button.

2. Select Properties. The following dialog box will be displayed.

3. Leave the checkmark for using IR/DR independently per task if separateindex and data registers are required for each task. Remove the check-mark to use shared index and data registers for all tasks.

Auxiliary Area Flags and WordsName Address Description

IR/DR Opera-tion between Tasks

A09914 Indicates whether or not index and data registers are shared between tasks.0: Separate registers for each task (default)1: Shared registers for all tasks

251

Page 273: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Index Registers Section 6-2

6-2 Index Registers

6-2-1 What Are Index Registers?Index Registers function as pointers to specify PLC memory addresses,which are absolute memory addresses in I/O memory. After storing a PLCmemory address in an Index Register with MOVR(560) or MOVRW(561),input the Index Register as an operand in other instructions to indirectlyaddress the stored PLC memory address.

The advantage of Index Registers is that they can specify any bit or word in I/O memory, including timer and counter PVs.

6-2-2 Using Index RegistersIndex Registers can be a powerful tool when combined with loops such asFOR-NEXT loops. The contents of Index Registers can be incremented, dec-remented, and offset very easily, so a few instructions in a loop can processtables of consecutive data very efficiently.

Basic Operation

Basically, Index Registers are used with the following steps:

1,2,3... 1. Use MOVR(560) to store the PLC memory address of the desired bit orword in an Index Register.

2. Specify the Index Register as the operand in almost any instruction to in-directly address the desired bit or word.

3. Offset or increment the original PLC memory address (see below) to redi-rect the pointer to another address.

4. Continue steps 2 and 3 to execute the instruction on any number of ad-dresses.

Offsetting, Incrementing, and Decrementing Addresses

The following table shows the variations available for indirect addressing.

PointerAll areas of I/O Memory

MOVR(560)

Index Register

Increment IR0 and repeat instruction execution

Table data

Indirect addressing

Variation Syntax

Indirect addressing ,IR@Indirect addressing with constant offset Constant ,IR@

(Include a + or – in the constant.)

252

Page 274: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Index Registers Section 6-2

Instructions That Directly Address Index Registers

Index registers can be directly addressed by the following instructions.

DOUBLE SIGNED BINARY ADD WITHOUT CARRY: +L(401), DOUBLESIGNED BINARY SUBTRACT WITHOUT CARRY: –L(411), DOUBLEINCREMENT BINARY: ++L(591), and DOUBLE DECREMENT BINARY: – –L(593)

Example 1

The following example shows how an Index Register in a program loop canreplace a long series of instructions. In this case, instruction A is repeated n+1times to perform some operation such as reading and comparing a table ofvalues.

Example 2

The following example uses Index Registers in a FOR–NEXT loop to defineand start 100 timers (T0000 to T099) with SVs contained in D00100 throughD00109. Each timer’s timer number and Completion Flag are specified inIndex Registers and the loop is repeated as the Index Registers are incre-mented by one with each repetition.

Indirect addressing with DR offset DR@,IR@Indirect addressing with auto-increment Increment by 1: ,IR@+

Increment by 2: ,IR@++

Indirect addressing with auto-decrement Decrement by 1: ,–IR@Decrement by 2: ,– –IR@

Variation Syntax

Instruction A m

Instruction A m+1

Instruction A m+n

MOVR(560) m IR0

Add 1 to IR0 (n times)

Instruction A ,IR0+

Stores the PLC memoryaddress of m in IR0.

Repeats the process in a loop such as FOR-NEXT.

TIM starts the timer with the timer number (timer PV) indirectly addressed by IR0+.

If the timer's Completion Flag (indirectly addressed by IR1+) is ON, the work bit indirectly addressed by IR2+ is turned ON.

The IR0+, IR1+, and IR2+ variations increment the address in the Index Register after referencing the address.

The ++ instruction increments D00000.

Repeated

MOVRW(561) stores the PLC memory address of T0000's PV in IR0. MOVR(560) stores the PLC memory address of T0000's Completion Flag in IR1. MOVR(560) stores the PLC memory address of W00000 is stored in IR2.

253

Page 275: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Index Registers Section 6-2

The 11-instruction subroutine on the left is equivalent to the 200-instructionsubroutine on the right.

JMP

&1

MO V

&100

D00000

MO VR

W00000

IR2

MO VR

T0000

IR1

MOVRW

T0000

IR0

,IR2

,IR1+

FOR

&100

TIM

,IR O+

@D00000

++

D00000

NEXT

JME

&1

T0000

T0001

T0099

00W000

01W000

03W006

ON

,IR2+

01W000

00W000

03W006

Puts the PLC memoryaddress of T0000's PV in IR0.

Puts the PLC memoryaddress of T0000's Completion Flag in IR1.

Puts the PLC memoryaddress of W00000 in IR2.

Writes &100 in D00000.

Jumps the FOR-NEXT loop if the pointers above haven't been set.

Repeats the FOR-NEXT loop 100 times.

If the Work bit addressed in IR2 is OFF, TIM starts the tim-er with the timer PV addressed in IR0+ and the SV addressed in D00000.

If the Completion Flag addressed in IR1 is ON, OUT turns ON the Work bit addressed in IR2.

Increments the content of D00000. (The next address containing an SV.)

The FOR-NEXT loop starts timers T0000 through T0099 by repeating the loop 100 times while incrementing the contents of IR0 (timer number/PV address), IR1 (Completion Flag address), IR2 (Work bit address), and D00000 (SV address).

TIM

0000

D00100

TIM

0001

D00101

TIM

0099

D00109

254

Page 276: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Index Registers Section 6-2

Direct Addressing of Index Registers

Index Registers can be directly addressed only in the instructions shown inthe following table.

Note Instructions for double-length operands (i.e., those with “L” at the end) areused for index registers IR0 to IR15 because each register contains twowords.

6-2-3 Processing Related to Index RegistersThe CS/CJ-series CPU Unit’s Table Data Processing instructions complementthe functions of the Index Registers. These instructions can be broadlydivided into the stack-processing and table-processing instructions

Instruction group Instruction name Mnemonic Primary function

Data Movement Instruc-tions

MOVE TO REGISTER MOVR(560) Stores the PLC memory address of a bit or word in an Index Regis-ter.

MOVE TIMER/COUNTER PV TO REG-ISTER

MOVRW(561)

Table Data Processing Instructions

SET RECORD LOCATION SETR(635)

GET RECORD NUMBER GETR(636) Outputs the PLC memory address stored in an Index Register.

Data Movement Instruc-tions

DOUBLE MOVE MOVL(498) Transfers between Index Regis-ters. Used for exchanges and comparisons.

DOUBLE DATA EXCHANGE XCGL(562)

Comparison Instructions DOUBLE EQUAL =L(301)

DOUBLE NOT EQUAL ��L(306)

DOUBLE LESS THAN �L(311)

DOUBLE LESS THAN OR EQUAL �=L(316)

DOUBLE GREATER THAN �L(321)

DOUBLE GREATER THAN OR EQUAL �=L(326)

DOUBLE COMPARE CMPL(060)

Increment/Decrement Instructions

DOUBLE INCREMENT BINARY ++L(591) Changes the PLC memory address in the Index Register by incrementing, decrementing, or offsetting its content.

DOUBLE DECREMENT BINARY – –L(593)

Symbol Math Instructions DOUBLE SIGNED BINARY ADD WITH-OUT CARRY

+L(401)

DOUBLE SIGNED BINARY SUBTRACT WITHOUT CARRY

–L(411)

Special Instructions CONVERT ADDRESS FROM CV FRMCV(284) Convert actual PLC memory addresses between CV-series and CS/CJ-series addresses.(CS1-H, CJ1-H, or CJ1M CPU Units only)

CONVERT ADDRESS TO CV TOCV(285)

Processing Purpose Instructions

Stack processing Operate FIFO (first-in first-out) or LIFO (last-in first-out) data tables, and read, write, insert, delete, or count data entries in data tables.

SSET(630), PUSH(632), FIFO(633), LIFO(634) and, for CS1-H, CJ1-H, or CJ1M CPU Units only, SREAD(639), SWRITE(640), SINS(641), SDEL(642), SNUM(638)

255

Page 277: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Index Registers Section 6-2

Stack ProcessingStack instructions act on specially defined data tables called stacks. Data canbe drawn from a stack on a first-in first-out (FIFO) or last-in first-out (LIFO)basis.

A particular region of I/O memory must be defined as a stack. The first wordsof the stack indicate the length of the stack and contain the stack pointer. Thestack pointer is incremented each time that data is written to the stack to indi-cate the next address where data should be stored.

Note Actually, the first two words of the stack contain the PLC memory address ofthe last word in the stack and the next word contains the stack pointer.

FIFO (First-in First-out) Processing

The following diagram shows the operation of a first-in first-out (FIFO) stack.

Table process-ing

Tables with one-word records

(Range instruc-tions)

Basic pro-cessing

Find values such as the checksum, a particular value, the maximum value, or minimum value in the range.

FCS(180), SRCH(181), MAX(182), MIN(183), and SUM(184)

Special processing

Perform various other table process-ing such as comparisons or sorting.

Combine Index Registers with instruc-tions such as SRCH(181), MAX(182), MIN(183), and comparison instruc-tions.

Tables with multiple-word records(Record-table instructions)

Process data in records that are sev-eral words long.

Combine Index Registers with instruc-tions such as DIM(631), SETR(635), GETR(636), and comparison instruc-tions.

Processing Purpose Instructions

B

AB

Pointer address Pointer address Pointer address

Stack region

APointer address

A C

A

C

B

(The above diagram shows the status of the pointer data before data is added.)

AA

B

Pointer address

Reads the oldest word of data stored in the stack. Each time that a word is read, the pointer is decremented by one to indicate the next address for storage.

X

C

256

Page 278: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Index Registers Section 6-2

LIFO (Last-in First-out) Processing

The following diagram shows the operation of a last-in first-out (LIFO) stack.

Manipulating Specific Table Data

Individual entries in a table can be read, writing, inserted, or deleted. The fol-lowing diagram shows an example for reading.

Counting Table Data

The following diagram shows how data can be counted in a data table.

Stack Instructions

The following table lists the stack instructions and their functions. Typicalapplications for stacks would be processing shelf information for automaticwarehousing systems, processing test results, and managing information onworkpieces on a conveyor.

Instruction Function

SSET(630) Defines a stack region.

PUSH(632) Stores data in the next available word in the stack.

FIFO(633) Reads data from the stack on a first-in first-out basis.

LIFO(634) Reads data from the stack on a last-in first-out basis.

SREAD(639) Read a specific entry from the table (CS1-H, CJ1-H, or CJ1M CPU Units only).

SWRITE(640) Writes a specific entry to the table (CS1-H, CJ1-H, or CJ1M CPU Units only).

SINS(641) Inserts a specific entry in the table (CS1-H, CJ1-H, or CJ1M CPU Units only).

SDEL(642) Deletes a specific entry from the table (CS1-H, CJ1-H, or CJ1M CPU Units only).

SNUM(638) Counts the number of entries in the table (CS1-H, CJ1-H, or CJ1M CPU Units only).

AB

Pointer address

X

Reads most recent word of data stored in the stack. Each time that a word is read, the pointer is decremented by one to indicate the neData at the position that was read remains unchanged.

xt address for storage.X

VW1

A

V

B

W

X

V

−n

Pointer address

ReadData is read from a specific offset from the point address in the table.Manipulating specific table data can be used, for example, in tracing items on a conveyor.

An offset from the point address is specified.

A

N

B

W

X

V

Pointer address

Counts all entries from one before the pointer address.

The number of entries in the data table are counted from just before the pointer address to the beginning of the table.This can be used, for example, to count the number of items on a conveyor.

257

Page 279: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Index Registers Section 6-2

Table Processing (Range Instructions)

The range instructions act on a range of words, which can be considered atable of one-word records. These instructions perform basic operations suchas finding the maximum value or minimum value in the range, search for aparticular value in the range, or calculating the sum or FCS.

The PLC memory address of the result word (word containing the max. value,min. value, search data, etc.) is automatically stored in IR0. The Index Regis-ter (IR0) can be used as an operand in later instructions such as MOV(021) toread the contents of the word or perform other processing.

The following table lists the range instructions and their functions.

The Index Registers can be combined with other instructions (such as com-parison instructions) in FOR–NEXT loops to perform more complicated opera-tions on ranges of words.

Table Processing (Record-table Instructions)

The record-table instructions act on specially defined data tables made up ofequal-length records. The records can be accessed by record number foreasy processing.

Note Record numbers and word addresses are related through the Index Regis-ters. Specify a record number in SETR(635) to store the PLC memoryaddress of the beginning of that record in an Index Register. When data isrequired from the record, add the required offset to that Index Register toaccess any word in the record.

Use the record-table instructions with Index Registers to perform the followingkinds of operations: reading/writing record data, searching records, sorting

Range speci-fied in the instruction

Max. valueMin. value

SUM calculationFCS calculation

Search

Data

Instruction Function Description

SRCH(181) Finds search data. Finds the search data in the specified range and outputs the PLC memory address of the word containing that value to IR0.

MAX(182) Finds max. value. Finds the maximum value in the specified range and outputs the PLC memory address of the word containing that value to IR0.

MIN(183) Finds min. value. Finds the minimum value in the specified range and outputs the PLC memory address of the word containing that value to IR0.

SUM(184) Calculates sum. Calculates the sum of the data in the specified range.

FCS(180) Calculates checksum. Calculates the frame checksum of the data in the specified range.

Instruction Function Description

DIM(631) Defines a record table. Declares the length of each record and the number of records.

SETR(635) Sets record location. Writes the location of the specified record (the PLC memory address of the beginning of the record) in the specified Index Register.

GETR(636) Gets record location. Returns the record number of the record that contains the PLC memory address in the specified Index Register.

258

Page 280: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Index Registers Section 6-2

record data, comparing record data, and performing calculations with recorddata.

A typical application of record tables is storing manufacturing data for differentmodels of a product (such as temperature and pressure settings) in recordform and switching from model to model just by changing the record number.

Basically, record tables are used with the following steps:

1,2,3... 1. Define the structure of the record table with DIM(631) and set the PLCmemory address of a record in an Index Register with SETR(635).

2. Offset or increment the PLC memory address in the Index Register to reador compare words in the record.

3. Offset or increment the PLC memory address in the Index Register toswitch to another record.

4. Repeat steps 2 and 3 as required.

Example

The following example uses Index Registers and the record-table instructionsto compare three values to words 1, 3, and 5 in each record. If a match isfound, the record number is stored in D00000.

Model A↓

No. 2↓

Model ARecord 2

Temperature settingPressure setting

Record table

Record 1

Record 2

Record N

DIM(631) defines a record table with 1,000 records of 5 words each.SETR(635) stores the PC memory address of the first record in IR0.

• The first, third, and fifth words in the record are compared to three different values.

• If all three words match their respective values, the record number is stored in D00000 by GETR(636) and the loop is broken.

• If all three words do not match their respective values, 5 is added to IR0 and the loop continues.

259

Page 281: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Index Registers Section 6-2

BREAK

000001

ON

JMP

&1000

DIM

1

&5

&1000

E0_00000

FOR

&1000

JME

&1000

NEXT

+L

IR0

&5

IR0

SETR

1

&0

IR0

=

,IR0

#1234

=

+2,IR0

#ABCD

=

+4,IR0

#9999

GETR

&1

IR0

D00000

Defines record table 1 with 1,000 records of 5 words each.

Jumps past the FOR-NEXT loop if the pro-cessing conditions haven't been set.

Controls the FOR-NEXT loop for a maximum of 1,000 repetitions (1,000 records).

Compares the contents of word 1 to #1234, word 3 to #ABCD, and word 5 to #9999.

If words 1, 3, and 5 contain the comparison data, the record number is stored in D00000 and BREAK interrupts the loop.

Returns execution to FOR to continue the loop.

Jump destination if the processing conditions haven't been set.

Increments IR0 by five with each repetition and compares the first, third, and fifth words in each record to the comparison data. Writes the record number to D00000 and breaks the loop if matching data is found.

Stores the PLC memory address of table number 1's first record (record 0) in IR0.

Adds 5 to the PLC memory address in IR0 to move to the beginning of the next record.

260

Page 282: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Serial Communications Section 6-3

6-3 Serial CommunicationsThe CS/CJ-series CPU Units support the following serial communicationsfunctions. Host link communications and no-protocol communications aredescribed in detail later in this section.

Protocol Connections Description Ports

Peripheral RS-232C

Host link 1) Various control commands such as reading and writing I/O mem-ory, changing the operating mode, and force-setting/reset-ting bits can be executed by issuing host link commands or FINS commands from the host computer to the CPU Unit.

2) It is also possible to issue FINS commands from the CPU Unit to the host computer to send data or information.

Use host link communications to monitor data such as operating status, error information, and qual-ity data in the PLC or send data such as production planning infor-mation to the PLC.

OK OK

No-protocol Communicate with standard devices connected to the RS-232C port without a command–response format. Instead the TXD(236) and RXD(235) instructions are exe-cuted from the program to transmit data from the transmission port or read data in the reception port. The frame headers and end codes can be specified.

Not allowed OK

NT link1:N or 1:1

Data can be exchanged with PTs without using a communications program in the CPU Unit.

OK OK

Host computer

or

OMRON PT (Programmable Terminal)

Standard external device

OMRON PTs(Programmable Terminals)

261

Page 283: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Serial Communications Section 6-3

Here, we will describe Host Link and No-protocol communications.

Peripheral bus

Provides high-speed communica-tions with Programming Devices other than Programming Con-soles.(Remote programming through modems is not supported.)

OK OK

Serial PLC Links (CJ1M only)

Up to ten words per Unit can be shared by up to nine CPU Units, including one Polling Unit and eight Polled Units.

An RS-422A Converter can be connected to the RS-232C port on each CPU Unit to communicate via RS-422A/485, or two CPU Units can communicate via an RS-232C connection.

The Serial PLC Links can also include PTs as Polled Units via NT Links (1:N) combined with CJ1M CPU Units.

Not allowed OK

Protocol Connections Description Ports

Peripheral RS-232C

Programming Devices(Not Programming Consoles)

RS-422A/485

RS-232C

CJ1M CPU UnitPolling Unit

CJ1W-CIF11 connected to RS-232C port

CJ1M CPU UnitPolled Unit

CJ1M CPU UnitPolled Unit

For NS-series PT: NS-AL002

8 Units max.

CJ1M CPU UnitPolling Unit

CJ1M CPU UnitPolled Unit

262

Page 284: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Serial Communications Section 6-3

6-3-1 Host Link CommunicationsThe following table shows the host link communication functions available inCS/CJ PLCs. Select the method that best suits your application.

Note 1. The FINS command must have a host link header and terminator attachedbefore it is transmitted from the host computer.

Command flow Command type Communications method Configuration

Create frame in the host com-puter and issue command to the PLC. Receive the response from the PLC.Application:Use this method when communi-cating primarily from the host computer to the PLC.

Create frame in the host com-puter and issue command to the PLC. Receive the response from the PLC.Application:Use these methods when com-municating primarily from the host computer to PLCs in the network.

Issue frame with the CPU Unit’s SEND/RECV/CMND instruc-tions. Receive response from the host computer.

Application:Use this method when communi-cating primarily from the PLC to the host computer to transmit status information such as error information.

Host computer

PLC

Host link command

Host link command

Directly connect the host computer in a 1:1 or 1:N system.

OR

Command

FINS command1

(with host link header and terminator)

Header Terminator

FINS

Directly connect the host computer in a 1:1 or 1:N system.

OR

Command

Command

Communicate with other PLCs in the network from the host computer. (Convert from host link to network protocol.)

PLC

Host computer

FINS command2

(with host link header and terminator)

Header Terminator

FINS

Directly connect the host computer in a 1:1 system.

SEND/RECV/CMND

Command

SEND/RECV/CMND

Command

Communicate with the host computer through other PLCs in the network. (Convertfrom host link to network protocol.)

263

Page 285: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Serial Communications Section 6-3

2. The FINS command is transmitted from the PLC with a host link headerand terminator attached. A program must be prepared in the host comput-er to analyze the FINS commands and return the proper responses.

Procedure

Host Link Commands The following table lists the host link commands. Refer to the C-series HostLink Units System Manual (W143) for more details.

Set the PLC Setup from a Pro-gramming Device.

(Settings such as the communica-tions mode and parameters.)

Programming ConsolePeripheral port: Addresses 144, 145, and 147RS-232C port: Addresses 160 to 163Be sure to set the communications mode to host link.(Refer to CX-Programmer User Manual for CX-Programmer procedures.)

Power OFF

Connect the host computer and CPU Unit.

Set the DIP switch on the front of the CPU Unit.

Turn pin 4 ON when using the peripheral port.Turn pin 5 OFF when using the RS-232C port.

Power ON

Host computer to PLC PLC to Host computer

Issue host link commands from the host computer.

Issue FINS commands from the host computer.

Execute SEND/RECV/CMND instructions in the PLC’s program.

Receive responses in the host computer. (A program is required in the host computer.)

Header code

Name Function

RR CIO AREA READ Reads the contents of the specified number of CIO Area words, starting from the specified word.

RL LINK AREA READ Reads the contents of the specified number of Link Area words, starting from the specified word.

RH HR AREA READ Reads the contents of the specified number of Holding Area words, starting from the specified word.

RC PV READ Reads the contents of the specified number of timer/counter PVs (present values), starting from the specified timer/counter.

RG T/C STATUS READ Reads the status of the Completion Flags of the specified number of timers/counters, starting from the specified timer/counter.

RD DM AREA READ Reads the contents of the specified number of DM Area words, starting from the specified word.

RJ AR AREA READ Reads the contents of the specified number of Auxiliary Area words, starting from the specified word.

264

Page 286: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Serial Communications Section 6-3

RE EM AREA READ Reads the contents of the specified number of EM Area words, starting from the specified word.

WR CIO AREA WRITE Writes the specified data (word units only) to the CIO Area, starting from the specified word.

WL LINK AREA WRITE Writes the specified data (word units only) to the Link Area, starting from the specified word.

WH HR AREA WRITE Writes the specified data (word units only) to the Holding Area, starting from the specified word.

WC PV WRITE Writes the PVs (present values) of the specified number of timers/counters, starting from the specified timer/counter.

WD DM AREA WRITE Writes the specified data (word units only) to the DM Area, starting from the specified word.

WJ AR AREA WRITE Writes the specified data (word units only) to the Auxiliary Area, starting from the specified word.

WE EM AREA WRITE Writes the specified data (word units only) to the EM Area, starting from the specified word.

R# SV READ 1 Reads the 4-digit BCD constant or word address in the SV of the spec-ified timer/counter instruction.

R$ SV READ 2 Searches for the specified timer/counter instruction beginning at the specified program address and reads the 4-digit constant or word address in the SV.

R% SV READ 3 Searches for the specified timer/counter instruction beginning at the specified program address and reads the 4-digit BCD constant or word address in the SV.

W# SV CHANGE 1 Changes the 4-digit BCD constant or word address in the SV of the specified timer/counter instruction.

W$ SV CHANGE 2 Searches for the specified timer/counter instruction beginning at the specified program address and changes the 4-digit constant or word address in the SV.

W% SV CHANGE 3 Searches for the specified timer/counter instruction beginning at the specified program address and changes the 4-digit constant or word address in the SV.

MS STATUS READ Reads the operating status of the CPU Unit (operating mode, force-set/reset status, fatal error status).

SC STATUS CHANGE Changes the CPU Unit’s operating mode.

MF ERROR READ Reads and clears errors in the CPU Unit (non-fatal and fatal).

KS FORCE SET Force-sets the specified bit.

KR FORCE RESET Force-resets the specified bit.

FK MULTIPLE FORCE SET/RESET Force-sets, force-resets, or clears the forced status of the specified bits.

KC FORCE SET/RESET CANCEL Cancels the forced status of all force-set and force-reset bits.

MM PLC MODEL READ Reads the model type of the PLC.

TS TEST Returns, unaltered, one block of data transmitted from the host com-puter.

RP PROGRAM READ Reads the contents of the CPU Unit’s user program area in machine language (object code).

WP PROGRAM WRITE Writes the machine language (object code) program transmitted from the host computer into the CPU Unit’s user program area.

MI I/O TABLE GENERATE Creates a registered I/O table with the actual I/O table.

QQMR COMPOUND COMMAND Registers the desired bits and words in a table.

QQIR COMPOUND READ Reads the registered words and bits from I/O memory.

XZ ABORT (command only) Aborts the host link command that is currently being processed.

Header code

Name Function

265

Page 287: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Serial Communications Section 6-3

FINS Commands The following table lists the FINS commands. Refer to the FINS CommandsReference Manual (W227) for more details.

�� INITIALIZE (command only) Initializes the transmission control procedure of all PLCs connected to the host computer.

IC Undefined command(response only)

This response is returned if the header code of a command was not recognized.

Header code

Name Function

Type Command code

Name Function

I/O Memory Area Access

01 01 MEMORY AREA READ Reads consecutive data from the I/O memory area.

01 02 MEMORY AREA WRITE Writes consecutive data to the I/O memory area.

01 03 MEMORY AREA FILL Fills the specified range of I/O memory with the same data.

01 04 MULTIPLE MEMORY AREA READ

Reads non-consecutive data from the I/O memory area.

01 05 MEMORY AREA TRANSFER Copies and transfers consecutive data from one part of the I/O memory area to another.

Parameter Area Access

02 01 PARAMETER AREA READ Reads consecutive data from the parameter area.

02 02 PARAMETER AREA WRITE Writes consecutive data to the parameter area.

02 03 PARAMETER AREA FILL Fills the specified range of the parameter area with the same data.

Program Area Access

03 06 PROGRAM AREA READ Reads data from the user program area.

03 07 PROGRAM AREA WRITE Writes data to the user program area.

03 08 PROGRAM AREA CLEAR Clears the specified range of the user program area.

Execution Control

04 01 RUN Switches the CPU Unit to RUN, MONITOR, or DEBUG mode.

04 02 STOP Switches the CPU Unit to PROGRAM mode.

Configuration Read

05 01 CONTROLLER DATA READ Reads CPU Unit information.

05 02 CONNECTION DATA READ Reads the model numbers of the specified Units.

Status Read 06 01 CONTROLLER STATUS READ Reads the CPU Unit’s status information.

06 20 CYCLE TIME READ Reads the average, maximum, and minimum cycle times.

Clock Access 07 01 CLOCK READ Reads the clock.

07 02 CLOCK WRITE Sets the clock.

Message Access

09 20 MESSAGE READ/CLEAR Reads/clears messages and FAL(S) messages.

Access Right 0C 01 ACCESS RIGHT ACQUIRE Acquires the access right if no other device holds it.

0C 02 ACCESS RIGHT FORCED ACQUIRE

Acquires the access right even if another device cur-rently holds it.

0C 03 ACCESS RIGHT RELEASE Releases the access right regardless of what device holds it.

Error Access 21 01 ERROR CLEAR Clears errors and error messages.

21 02 ERROR LOG READ Reads the error log.

21 03 ERROR LOG CLEAR Clears the error log pointer to zero.

266

Page 288: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Serial Communications Section 6-3

Message Communications Functions

The FINS commands listed in the table above can also be transmitted throughthe network from other PLCs to the CPU Unit. Observe the following pointswhen transmitting FINS commands through the network.

• CPU Bus Units (such as Controller Link Units or Ethernet Units) must bemounted in the local PLC and destination PLC to transmit FINS com-mands.

• FINS commands are issued with CMND(490) from the CPU Unit’s pro-gram.

• FINS commands can be transmitted over three networks at most. Thenetworks can be the same type or different types.

Refer to the CPU Bus Unit’s Operation Manual for more details on the mes-sage communications functions.

File Memory 22 01 FILE NAME READ Reads the file memory’s file information.

22 02 SINGLE FILE READ Reads the specified amount of data from the specified point in a file.

22 03 SINGLE FILE WRITE Writes the specified amount of data from the specified point in a file.

22 04 FILE MEMORY FORMAT Formats file memory.

22 05 FILE DELETE Deletes the specified files from file memory.

22 07 FILE COPY Copies a file within file memory or between two file memory devices in a system.

22 08 FILE NAME CHANGE Changes a file name.

22 0A I/O MEMORY AREA FILE TRANSFER

Transfers or compares data between the I/O memory area and file memory.

22 0B PARAMETER AREA FILE TRANSFER

Transfers or compares data between the parameter area and file memory.

22 0C PROGRAM AREA FILE TRANS-FER

Transfers or compares data between the program area and file memory.

22 15 CREATE/DELETE DIRECTORY Creates or deletes a directory.

Forced Status 23 01 FORCED SET/RESET Force-sets, force-resets, or clears the forced status of the specified bits.

23 02 FORCED SET/RESET CANCEL Cancels the forced status of all force-set and force-reset bits.

Type Command code

Name Function

Serial Communications Unit Serial Communications Unit

FINS command

CMND

267

Page 289: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Serial Communications Section 6-3

6-3-2 No-protocol CommunicationsThe following table lists the no-protocol communication functions available inCS/CJ PLCs.

Note A transmission delay or “no-protocol mode delay” can be specified in the PLCSetup (address 162). This setting causes a delay of up to 30 secondsbetween execution of TXD(236) and the transmission of data from the speci-fied port.

Procedure

Message Frame Formats

Data can be placed between a start code and end code for transmission byTXD(236) and frames with that same format can be received by RXD(235).When transmitting with TXD(236), just the data from I/O memory is transmit-ted, and when receiving with RXD(235), just the data itself is stored in I/O

Transfer direction Method Max. amount of data

Frame format Other functionsStart code End code

Data transmission(PLC � External device)

Execution of TXD(236) in the program*

256 bytes Yes: 00 to FFNo: None

Yes:00 to FF or CR+LFNo: None

Send delay time (delay between TXD execution and sending data from specified port): 0 to 99,990 ms (unit: 10 ms)

Data reception(External device � PLC)

Execution of RXD(235) in the program

256 bytes ---

Set the PLC Setup from a Pro-gramming Device.

(Settings such as the communica-tions mode and parameters.)

Programming ConsoleSet addresses 160 to 163. In particular, set the communications mode to no-protocol mode, set the start code, end code, amount of data, and no-protocol mode delay.(Refer to CX-Programmer User Manual for CX-Programmer procedures.)

Power OFF

Connect the CPU Unit and external device through the RS-232C port

Set the DIP switch on the front of the CPU Unit.

Turn pin 5 OFF.

Power ON

PLC � External device External device � PLC

Execute TXD(236). Execute RXD(235).

268

Page 290: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Serial Communications Section 6-3

memory. Up to 256 bytes (including the start and end codes) can be trans-ferred in no-protocol mode.

The following table shows the message formats that can be set for transmis-sions and receptions in no-protocol mode. The format is determined by thestart code (ST) and end code (ED) settings in the PLC Setup.

• When more than one start code is used, the first start code will be effec-tive.

• When more than one end code is used, the first end code will be effective.

Note 1. If the data being transferred contains the end code, the data transfer willbe stopped midway. In this case, change the end code to CR+LF.

2. There is a setting in the PLC Setup (address 162: no-protocol mode delay)that will delay the transmission of data after the execution of TXD(236).

Refer to the CJ-series Programmable Controllers Programming Manual(W340) for more details on TXD(236) and RXD(235).

6-3-3 NT Link (1:N Mode)In the CS/CJ Series, communications are possible with PTs (ProgrammableTerminals) using NT Links (1:N mode).

Note Communications are not possible using the 1:1-mode NT Link protocol.

High-speed NT Links are possible in addition to the previous standard NTLinks by using the PT system menu and the following PLC Setup settings (notsupported by CS-series pre-EV1 CS1 CPU Units). High-speed NT Links arepossible, however, only with the NT31(C)-V2 or NT631(C)-V2 PTs.

Start code setting

End code setting

No Yes CR+LF

No data(data: 256 bytes max.)

data+ED(data: 255 bytes max.)

data+CR+LF(data: 254 bytes max.)

Yes ST+data

(data: 255 bytes max.)

ST+data+ED

(data: 254 bytes max.)

ST+data+CR+LF

(data: 253 bytes max.)

No-protocol mode transmission delay

Execution of TXD(236)

TransmissionTime

269

Page 291: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Serial Communications Section 6-3

PLC Setup

Note Set the baud rate to 115,200 bps when making settings with the CX-Program-mer.

PT System Menu Set the PT as follows:

1,2,3... 1. Select NT Link (1:N) from Comm. A Method or Comm. B Method on theMemory Switch Menu under the System Menu on the PT Unit.

2. Press the SET Touch Switch to set the Comm. Speed to High Speed.

6-3-4 Serial PLC Links (CJ1M CPU Units Only)

OverviewSerial PLC Links are supported by CJ1M CPU Units only. They allow data tobe exchanged among CJ1M CPU Units via the built-in RS-232C ports withoutrequiring special programming. Words are allocated in memory in the SerialPLC Link Words (CIO 3100 to CIO 3199). RS-232C connections can be usedbetween CPU Units, or RS-422A/485 connections can be used by connectingRS-232C-to-RS-422A/485 converters to the RS-232C ports. CJ1W-CIF11RS-422A Converters can be used to convert between RS-232C and RS-422A/485.

A PT that is set for NT Link (1:N) communications can also be used togetheron the same network. The polled PT uses the network to communicate in anNT link (1:N) with the polling CPU Unit. When a PT is connected, however, theaddresses in the Serial PLC Link Words corresponding to the PT’s unit num-ber are undefined.

Communications port

Programming Console setting

address

Name Settings contents

Default values Other conditions

Peripheral port 144 Bits: 8 to 11

Serial communica-tions mode

02 Hex: NT Link (1:N mode)

00 Hex: Host Link Turn ON pin 4 on the CPU Unit DIP switch.145

Bits: 0 to 7Baud rate 00 to 09 Hex:

Standard NT Link0A Hex: High-speed NT Link (see note 1)

00 Hex: Standard NT Link

150 Bits: 0 to 3

NT Link mode maximum unit number

0 to 7 Hex 0 Hex (Max. unit No. 0)

---

RS-232C port 160Bits: 8 to 11

Serial communica-tions mode

02 Hex: NT Link (1:N mode)

00 Hex: Host Link Turn OFF pin 5 on the CPU Unit DIP switch.161

Bits: 0 to 7Baud rate 00 to 09 Hex:

Standard NT Link0A Hex: High-speed NT Link (see note 1)

00 Hex: Standard NT Link

166Bits: 0 to 3

NT Link mode maximum unit number

0 to 7 Hex 0 Hex (Max. unit No. 0)

---

270

Page 292: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Serial Communications Section 6-3

Specifications

System Configuration

Note Up to 8 Units, including the PT and Polled Units, can be connected to the Poll-ing Unit when a PT set for Serial PLC Link communications is on the samenetwork.

Data Refresh MethodsThe following two methods can be used to refresh data.

• Complete link method

• Polling Unit link method

Complete Link Method The data from all nodes in the Serial PLC Links are reflected in both the Poll-ing Unit and the Polled Units. (The only exceptions are the address allocatedto the connected PT’s unit number and the addresses of Polled Units that arenot present in the network. These data areas are undefined in all nodes.)

Item Specifications

Connection method RS-232C or RS-422A/485 connection via the CPU Unit’s RS-232C port.

Allocated data area Serial PLC Link Words:CIO 3100 to CIO 3199 (Up to 10 words can be allocated for each CPU Unit.)

Number of Units 9 Units max., comprising 1 Polling Unit and 8 Polled Units (A PT can be placed on the same network in an NT Link (1:N), but it must be counted as one of the 8 Polled Units.)

RS-422/485

RS-232C

CPU UnitPolling Unit

CJ1W-CIF11 RS-422A Converter

CPU UnitPolled Unit No. 0

CPU UnitPolled Unit No. 1

PTUnit No. 2

CPU UnitPolled Unit No. 3

Number of Polled Units: 8 max. (See note.)

NS-AL002 when using an NS-series PT

CPU UnitPolling Unit

CPU UnitPolled Unit No. 0OR

271

Page 293: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Serial Communications Section 6-3

Example: Complete link method, highest unit number: 3.

In the following diagram, Polled Unit No. 2 is either a PT or is a Unit notpresent in the network, so the area allocated for Polled Unit No. 2 is undefinedin all nodes.

Polling Unit Link Method The data for all the Polled Units in the Serial PLC Links ar reflected in the Poll-ing Unit only, and each Polled Unit reflects the data of the Polling Unit only.The advantage of the Polling Unit link method is that the address allocated forthe local Polled Unit data is the same in each Polled Unit, allowing data to beaccessed using common ladder programming. The areas allocated for theunit numbers of the PT or Polled Units not present in the network are unde-fined in the Polling Unit only.

Example: Polling Unit link method, highest unit number: 3.

In the following diagram, Polled Unit No. 2 is a PT or a Unit not participating inthe network, so the corresponding area in the Polling Unit is undefined.

Polling Unit Polled Unit No.0 Polled Unit No.1 Polled Unit No.3

Local area Polling Unit Polling Unit Polling UnitPolled Unit No.0 Local area

Polled Unit No.0

Polled Unit No.0

Polled Unit No.1

Polled Unit No.1 Local area Polled Unit

No.1

Undefined Undefined Undefined UndefinedPolled Unit No.3

Polled Unit No.3

Polled Unit No.3 Local area

(Not used)

(Not used)

(Not used)

(Not used)

(Not used)

(Not used)

(Not used)

(Not used)

(Not used)

(Not used)

(Not used)

(Not used)

(Not used)

(Not used)

(Not used)

(Not used)

Polling Unit Polled Unit No.0 Polled Unit No.1 Polled Unit No.3

Local area Polling Unit Polling Unit Polling UnitPolled Unit No.0 Local area Local area Local areaPolled Unit No.1 (Not used.)

(Not used.)

(Not used.)

(Not used.)

(Not used.)

(Not used.)

(Not used.)

(Not used.)

(Not used.)

(Not used.)

(Not used.)

(Not used.)

(Not used.)

(Not used.)

(Not used.)

(Not used.)

(Not used.)

(Not used.)

(Not used.)

(Not used.)

(Not used.)

UndefinedPolled Unit No.3

(Not used.)

(Not used.)

(Not used.)

(Not used.)

272

Page 294: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Serial Communications Section 6-3

Allocated WordsComplete Link Method

Polling Unit Link Method

Address Link words 1 word 2 words 3 words to 10 words

CIO 3100

Serial PLC Link Words

Polling Unit CIO 3100 CIO 3100 to CIO 3101

CIO 3100 to CIO 3102

CIO 3100 to CIO 3109

Polled Unit No. 0 CIO 3101 CIO 3102 to CIO 3103

CIO 3103 to CIO 3105

CIO 3110 to CIO 3119

Polled Unit No. 1 CIO 3102 CIO 3104 to CIO 3105

CIO 3106 to CIO 3108

CIO 3120 to CIO 3129

Polled Unit No. 2 CIO 3103 CIO 3106 to CIO 3107

CIO 3109 to CIO 3111

CIO 3130 to CIO 3139

Polled Unit No. 3 CIO 3104 CIO 3108 to CIO 3109

CIO 3112 to CIO 3114

CIO 3140 to CIO 3149

Polled Unit No. 4 CIO 3105 CIO 3110 to CIO 3111

CIO 3115 to CIO 3117

CIO 3150 to CIO 3159

Polled Unit No. 5 CIO 3106 CIO 3112 to CIO 3113

CIO 3118 to CIO 3120

CIO 3160 to CIO 3169

Polled Unit No. 6 CIO 3107 CIO 3114 to CIO 3115

CIO 3121 to CIO 3123

CIO 3170 to CIO 3179

Polled Unit No. 7 CIO 3108 CIO 3116 to CIO 3117

CIO 3124 to CIO 3126

CIO 3180 to CIO 3189

CIO 3199 Not used. CIO 3109 to CIO 3199

CIO 3118 to CIO 3199

CIO 3127 to CIO 3199

CIO 3190 to CIO 3199

Address Link words 1 word 2 words 3 words to 10 words

CIO 3100

Serial PLC Link Words

Polling Unit CIO 3100 CIO 3100 to CIO 3101

CIO 3100 to CIO 3102

CIO 3100 to CIO 3109

Polled Unit No. 0 CIO 3101 CIO 3102 to CIO 3103

CIO 3103 to CIO 3105

CIO 3110 to CIO 3119

Polled Unit No. 1 CIO 3101 CIO 3102 to CIO 3103

CIO 3103 to CIO 3105

CIO 3110 to CIO 3119

Polled Unit No. 2 CIO 3101 CIO 3102 to CIO 3103

CIO 3103 to CIO 3105

CIO 3110 to CIO 3119

Polled Unit No. 3 CIO 3101 CIO 3102 to CIO 3103

CIO 3103 to CIO 3105

CIO 3110 to CIO 3119

Polled Unit No. 4 CIO 3101 CIO 3102 to CIO 3103

CIO 3103 to CIO 3105

CIO 3110 to CIO 3119

Polled Unit No. 5 CIO 3101 CIO 3102 to CIO 3103

CIO 3103 to CIO 3105

CIO 3110 to CIO 3119

Polled Unit No. 6 CIO 3101 CIO 3102 to CIO 3103

CIO 3103 to CIO 3105

CIO 3110 to CIO 3119

Polled Unit No. 7 CIO 3101 CIO 3102 to CIO 3103

CIO 3103 to CIO 3105

CIO 3110 to CIO 3119

CIO 3199 Not used. CIO 3102 to CIO 3199

CIO 3104 to CIO 3199

CIO 3106 to CIO 3199

CIO 3120 to CIO 3199

273

Page 295: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Serial Communications Section 6-3

ProcedureThe Serial PLC Links operate according to the following settings in the PLCSetup.

Settings at the Polling Unit

1,2,3... 1. Set the serial communications mode of the RS-232C communications portto Serial PLC Links (Polling Unit).

2. Set the link method to the Complete Link Method or Polling Unit Link Meth-od.

3. Set the number of link words (up to 10 words for each Unit).

4. Set the maximum unit number in the Serial PLC Links (1 to 7).

Settings at the Polled Units

1,2,3... 1. Set the serial communications mode of the RS-232C communications portto Serial PLC Links (Polled Unit).

2. Set the unit number of the Serial PLC Link Polled Unit.

PLC SetupSettings at the Polling Unit

Note Automatically allocates 10 words (A hex) when the default setting of 0 hex isused.

Settings at the Polled Unit

Note The default baud rate is 38.4 kbps

Item PLC address Set value Default Refresh timing

Word Bit

RS-232C port setting

Serial communica-tions mode

160 11 to 08 8 hex: Serial PLC Links Polling Unit

0 hex Every cycle(except immediate refresh when exe-cuting the STUP(237) instruc-tion)

Port baud rate 161 07 to 00 00 hex: Standard0A hex: High-speed

00 hex

Link method 166 15 0: Complete links1: Polling Unit links

0

Number of link words

07 to 04 1 to A hex 0 hex (See note.)

Highest unit num-ber

03 to 00 0 to 7 hex 0 hex

Item PLC address Set value Default Refresh timing

Word Bit

RS-232C port set-tings

Serial communica-tions mode

160 11 to 08 7 hex: Serial PLC Link Polled Unit

0 hex Every cycle

(except immediate refresh when exe-cuting the STUP(237) instruc-tion)

Port baud rate 161 07 to 00 00 hex: Standard

0A hex: High-speed

00 hex (See note.)

Polled Unit unit number

167 03 to 00 0 to 7 hex 0 hex

274

Page 296: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Serial Communications Section 6-3

Related Auxiliary Area Flags

Note In the same way as for the existing NT Link (1:N), the status (communicating/not communicating) of PTs in the Serial PLC Link can be checked from thePolling Unit (CPU Unit) by reading the RS-232C Port Communicating with PTFlag (A393 bits 00 to 07 for unit numbers 0 to 7).

Name Address Details Read/write Refresh timing

RS-232C Port Communica-tions Error Flag

A39204 Turns ON when a com-munications error occurs at the RS-232C port. 1: Error0: Normal

Read • Cleared when power is turned ON.• Turns ON when a communications error

occurs at the RS-232C port. • Turns OFF when the port is restarted. • Disabled in peripheral bus mode and NT

link mode.

RS-232C Port Communicating with PT Flag (See note.)

A39300 to A39307

When the RS-232C port is being used in NT link mode, the bit correspond-ing to the Unit performing communications will be ON. Bits 00 to 07 corre-spond to unit numbers 0 to 7, respectively. 1: Communicating 0: Not communicating

Read • Cleared when power is turned ON.

• Turns ON the bit corresponding to the unit number of the PT/Polled Unit that is communicating via the RS-232C port in NT link mode or Serial PLC Link mode.

• Bits 00 to 07 correspond to unit numbers 0 to 7, respectively.

RS-232C Port Restart Bit

A52600 Turn ON this bit to restart the RS-232C port.

Read/write • Cleared when power is turned ON.• Turned ON when restarting the RS-232C

port, (except when communicating in peripheral bus mode).

Note: Depending on the system, the bit may automatically turn OFF when restart processing is completed.

RS-232C Port Error Flag

A52800 to A52807

When an error occurs at the RS-232C port, the corresponding error code is stored.

Bit 00: Not used.Bit 01: Not used.Bit 02: Parity error

Bit 03: Framing errorBit 04: Overrun errorBit 05: Timeout error

Bit 06: Not used.Bit 07: Not used.

Read/write • Cleared when power is turned ON.

• When an error occurs at the RS-232C port, the corresponding error code is stored.

• Depending on the system, the flag may be cleared when the RS-232C port is restarted.

• Disabled during peripheral bus mode. • In NT link mode, only bit 05 (timeout

error) is enabled.

In Serial PLC Link mode, only the following bits are enabled. Error at the Polling Unit: Bit 05: Timeout error• CHECK Error at the Polled Unit:

Bit 05: Timeout errorBit 04: Overrun errorBit 03: Framing error

RS-232C Port Settings Changed Flag

A61902 Turns ON when the com-munications conditions of the RS-232C port are being changed. 1: Changed0: No change

Read/write • Cleared when power is turned ON.• Turns ON while communications condi-

tions settings for the RS-232C port are being changed.

• Turns ON when the CHANGE SERIAL PORT SETUP instruction (STUP(237)) is executed.

• Turns OFF again when the changes to settings are completed.

275

Page 297: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Changing the Timer/Counter PV Refresh Mode Section 6-4

6-4 Changing the Timer/Counter PV Refresh Mode

6-4-1 OverviewPreviously, CS1 CPU Units used only BCD for the timer/counter PV refreshmode. Therefore, all timer/counter settings were input as BCD values. OtherCPU Units (see notes 1 and 2) can use either BCD mode or binary mode torefresh the present values of timer and counter instructions (see note 3).

When binary mode is used, the previous timer/counter setting time of 0 to9999 can be expanded to 0 to 65535. Binary data calculated using otherinstructions can also be used for the timer/counter set values. The timer/counter PV refresh mode can also be specified when the timer/counter setvalue is specified as an address (indirect specification). (The setting of themode as BCD mode or binary mode will determine whether the contents ofthe addressed word are taken as a BCD or binary value.)

There are differences in the instruction operands for BCD mode and binarymode, however, so check and understand the differences between the BCDand binary modes before changing the timer/counter PV refresh mode.

Note 1. Here, the CPU Units other than CS1 CPU Units are as follows:

• CS1-H CPU Units

• CJ1-H CPU Units

• CJ1M CPU Units

2. When the mnemonic is monitored from the Programming Console for CS1-H/CJ1-H CPU Units manufactured on or before 31 May 2002 with the tim-er/counter PV refresh mode set to binary mode, the mnemonic of the bina-ry is displayed as the mnemonic or the BCD instruction (example: TIMX#0000 &16 is displayed as TIM #0000 &16), but operations are performedin binary mode.

3. The PV refresh mode can be selected with CX-Programmer Ver 3.0 only.Mode selection is not supported by CX-Programmer Ver 2.1 or earlier, orthe Programming Consoles.

4. CX-Programmer Ver. 2.1 or earlier cannot read user programs for the CPUUnit containing binary-mode instructions, but it can read those set usingBCD-mode instructions.

276

Page 298: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Changing the Timer/Counter PV Refresh Mode Section 6-4

6-4-2 Functional Specifications

Note When the mnemonic is monitored from the Programming Console for CS1-H/CJ1-H CPU Units manufactured on or before 31 May 2002 with the timer/counter PV refresh mode set to binary mode, the mnemonic of the binary isdisplayed as the mnemonic or the BCD instruction (example: TIMX #0000&16 is displayed as TIM #0000 &16), but operations are performed in binarymode.

Checking the CPU Unit Lot Number

1,2,3... 1. The lot number is printed on the bottom of the front panel (CS Series) orthe right corner of the top of the Unit (CJ Series), and is comprised of thelast two digits of the year, the month, and the day, in that order, as shownin the following diagram. Example: 020601 (Manufactured on 1 June 2002.)

2. Check which mode is selected by putting the CX-Programmer online,opening the I/O Table Window, and selecting Unit Information - CPUUnit. The lot No. will be displayed in the same format as shown in theabove diagram, i.e., comprised of the last two digits of the year, the month,and the day, in that order.

Item Details

Timer/counter PV refresh mode setting method

Must be set using CX-Programmer Ver.3.0�"not sup-ported by CX-Programmer Ver 2.1 or earlier).Set in the PLC properties of CX-Programmer Ver.3.0.

Supported CPU Units CS1-H/CJ1-H CPU Units from Lot No. 020601 (man-ufactured on 1 June 2002) or later (see note 1), and CJ1M CPU Units.

Mode BCD mode Binary mode

Mnemonic Same as previ-ous modelsExample: TIM

X added to BCD mode mnemonicExample: TIMX

Function code Same as previ-ous models

New codes

PV/SV range #0000 to #9999 &0 to &65536 #0000 to #FFFF

PV display on Programming Device�"CX-Programmer Ver.3.0 or Programming Con-soleC3

BCDExample: #0100

DecimalExample: &100

HexadecimalExample: #64

020601

020601

The leftmost 6 digits indicate the date code.

CJ-series CPU UnitCS-series CPU Unit

277

Page 299: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Changing the Timer/Counter PV Refresh Mode Section 6-4

6-4-3 BCD Mode/Binary Mode Selection and ConfirmationWhen writing a new program, the BCD mode/binary mode is selected in thePLC property settings in CX-Programmer Ver 3.0.

Note The BCD mode/binary mode selection is supported by CX-Programmer Ver3.0 or later only. CX-Programmer Ver 2.1 or earlier versions do not allowmode selection.

BCD Mode/Binary Mode Selection

1,2,3... 1. Select the PLC name, click the right mouse button, and select PLC Prop-erties.

2. Click the General Tab, and select Execute Timers/Counters as Binary.

• Not selected (default): BCD mode

• Selected : Binary mode

The timer/counter PV refresh mode set value set under the PLC propertieswill be stored in the CPU Unit’s user memory when the user program istransferred from the CX-Programmer to the CPU Unit.

0 0 0 0 0 1 TIMX

& 1 0

0 0 0 0 0 1 TIM

#0010

TIM

0000

#0010

TIMX

0000

&10

Using BCD mode

Using binary mode

CX-Programmer Ver.3.0 BCD/binary mode is

selected under the PLC properties.The Programming Console cannot be used to select the mode.

Transferring user program

CS1-H/CJ1-H/CJ1M CPU Unit

Timer/counter PV refresh mode setting (See note.)

User program

Mnemonics:Example using BCD mode: TIMExample using binary mode: TIMX

Note: The timer/counter PV refresh mode setting is stored in the user program.

Programming Console Using BCD mode

Using binary mode

Set value

Set value

Select this check box to enable the setting.

278

Page 300: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Changing the Timer/Counter PV Refresh Mode Section 6-4

When the setting is changed, the following dialog box will be displayed au-tomatically.

Click the OK Button to execute the program check. The program checkresults will be displayed in the output window.

Example: The TIM instruction has been used even though the mode has beenchanged to binary mode.

BCD Mode/ Binary Mode ConfirmationA09915 in the Auxiliary Area (Timer/Counter PV Refresh Mode Flag) can beused to check whether a CPU Unit is operating in BCD mode or binary mode.

6-4-4 BCD Mode/Binary Mode Mnemonics and Data

BCD Mode/Binary Mode MnemonicsBinary mode mnemonics are indicated by the suffix X added to the BCD mne-monic.

Example: Mnemonics for the TIMER instruction

BCD mode: TIM

Binary mode: TIMX

Cancel

TIM is displayed in red.

The program check results are displayed in the output window. Example: The timer/counter operation mode is different, so TIM cannot be used.

Name Address Details

Timer/Counter PV Refresh Mode Flag

A09915 0: BCD mode1: Binary mode

279

Page 301: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Changing the Timer/Counter PV Refresh Mode Section 6-4

BCD Mode/Binary Mode Data Display

Note When using the CX-Programmer in either BCD or binary mode, if the numeri-cal value is input without including the input/display symbol # or & indicatingthe constant, (e.g., TIM 0000 0010), the timer/counter set value will be inputas an address (e.g., the value in CIO word 0010 will be used as the set value).

6-4-5 Restrictions• BCD mode and binary mode cannot be used together in the same CPU

Unit.

• When the Programming Console is used to create a new user program, orto clear memory, the timer/counter PV refresh mode is fixed in BCDmode.

• When CX-Programmer Ver. 3.0 is used to place the CPU Unit online, theset value that is stored in the CPU Unit’s user memory for the timer/counter PV refresh mode will be automatically used. If the CPU setting isdifferent from the setting for the CX-Programmer project, an error willoccur, and the online connection will not be possible. The following mes-sage will be displayed.

Select whether to change the CPU Unit setting to that for the CX-Programmerproject or change the CX-Programmer project property setting to that for theCPU Unit.

• CX-Programmer Ver. 2.1 or earlier cannot read user programs in the CPUUnit that are set using binary mode, but can read those set using BCDmode.

PLC propertY Meaning of input and display

symbols

Setting range Example: Timer number: 0000,Set value: 10 s

BCD mode The # symbol indi-cates the instruction value (a BCD value when BCD mode is used)

#0000 to #9999or #00000000 to #99999999

Binary mode The & symbol indi-cates a decimal value.

&0 to &65535or &0 to &4294967295

The # symbol indi-cates the instruction value (a hexadeci-mal value when BCD mode is used.)

#0000 to #FFFF

or #0000 to #FFFFFFFF

TIM

0000

#0010

TIMX

0000

&10

TIMX

0000

#A

280

Page 302: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Changing the Timer/Counter PV Refresh Mode Section 6-4

• The differences between the CX-Programmer and Programming Consoleoperations when an incorrect timer/counter PV refresh mode instruction isinput are as follows:

• CX-Programmer: An error will occur if an instruction is input for a different mode than thatset as the timer/counter PV refresh mode under PLC properties. Example: When the PLC in the project is set to binary mode, an errorwill occur if TIM is input as the mnemonic. When BCD mode is set, anerror will occur if TIMX is input as the mnemonic.

• Programming Console:When a function code is input for an instruction for a different modethat for the timer/counter PV refresh mode set in the CPU Unit, themnemonic will automatically be changed to that for the timer/counterPV refresh mode set in the CPU Unit.

6-4-6 Instructions and Operands

InstructionsInstruction

typeName Mnemonic

BCD mode Binary mode

Timer and Counter Instructions

TIMER (100 ms) TIM TIMX(550)

HIGH-SPEED TIMER (10 ms)

TIMH(015) TIMHX(551)

ONE-MS TIMER (1 ms)

TMHH(540) TMHHX(552)

ACCUMULATIVE TIMER (100 ms)

TTIM(087) TTIMX(555)

LONG TIMER (100 ms)

TIML(542) TIMLX(553)

MULTI-OUTPUT TIMER (100 ms)

MTIM(543) MTIMX(554)

COUNTER CNT CNTX(546)

REVERSIBLE COUNTER

CNTR(012) CNTRX(548)

RESET TIMER/COUNTER

CNR(545) CNRX(547)

Block pro-gram instruc-tions

TIMER WAIT (100 ms)

TIMW(813) TIMWX(816)

HIGH-SPEED TIMER WAIT (10 ms)

TMHW(815) TMHWX(817)

COUNTER WAIT CNTW(814) CNTWX(818)

281

Page 303: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Changing the Timer/Counter PV Refresh Mode Section 6-4

Instructions and OperandsTimer and Counter Instructions

TIMER (100 ms)

HIGH-SPEED TIMER (10 ms)

ONE-MS TIMER (1 ms)

ACCUMULATIVE TIMER (100 ms)

LONG TIMER (100 ms)

MULTI-OUTPUT TIMER (100 ms)

Instruction name BCD mode Binary mode

Mnemonic TIM TIMX(550)

S (timer set value) #0000 to #9999 (BCD) &0 to &65535 (decimal)or #0000 to #FFFF (hexa-decimal)

Setting time (unit: 0.1 s) 0 to 999.9 s 0 to 6,553.5 s

Instruction name BCD mode Binary mode

Mnemonic TIMH(015) TIMHX(551)

S (timer set value) #0000 to #9999�"BCDC3 &0 to &65535 (decimal)or #0000 to #FFFF (hexa-decimal)

Setting time (unit: 0.01 s) 0 to 99.99 s 0 to 655.35 s

Instruction name BCD mode Binary mode

Mnemonic TMHH(540) TMHHX(552)

S (timer set value) #0000 to #9999�"BCDC3 &0 to &65535 (decimal)or #0000 to #FFFF (hexa-decimal)

Setting time (unit: 0.001 s) 0 to 9.999 s 0 to 65.535 s

Instruction name BCD mode Binary mode

Mnemonic TTIM(087) TTIMX(555)

S (timer set value) #0000 to #9999�"BCDC3 &0 to &65535 (decimal)or #0000 to #FFFF (hexa-decimal)

Setting time (unit: 0.1 s) 0 to 999.9 s 0 to 6,553.5 s

Instruction name BCD mode Binary mode

Mnemonic TIML(542) TIMLX(553)

S, S+1 (timer set values) #00000000 to #99999999�"BCDC3

&0 to &4294967295 (deci-mal) or #0000 to #FFFFFFFF (hexadecimal)

Setting time (unit: 0.1 s) 0 to 999.9 s 0 to 6,553.5 s

Instruction name BCD mode Binary mode

Mnemonic MTIM(543) MTIMX(554)

S to S-7 (each timer set value)

#0000 to #9999�"BCDC3 &0 to &65535 or #0000 to #FFFF (hexa-decimal)

Setting time (unit: 0.1 s) 0 to 999.9 s 0 to 6,553.5 s

282

Page 304: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Changing the Timer/Counter PV Refresh Mode Section 6-4

COUNTER

REVERSIBLE COUNTER

RESET TIMER/COUNTER

Block Program Instructions

TIMER WAIT (100 ms)

HIGH-SPEED TIMER WAIT (10 ms)

COUNTER WAIT

Instruction name BCD mode Binary mode

Mnemonic CNT CNTX(546)

S (counter set value) #0000 to #9999�"BCDC3 &0 to& 65535 (decimal)or #0000 to #FFFF (hexa-decimal)

Setting 0 to 9,999 times 0 to 65,535 times

Instruction name BCD mode Binary mode

Mnemonic CNTR(012) CNTRX(548)

S (counter set value) #0000 to #9999�"BCDC3 &0 to &65535 (decimal)or #0000 to #FFFF (hexa-decimal)

Setting 0 to 9,999 times 0 to 65,535 times

Instruction name BCD mode Binary mode

Mnemonic CNR(545) CNRX(547)

Instruction name BCD mode Binary mode

Mnemonic TIMW(813) TIMWX(816)

S (timer set value) #0000 or# 9999�"BCDC3 &0 to &65535 (decimal)or #0000 to #FFFF (hexa-decimal)

Setting time (unit: 0.1 s) 0 to 999.9 s 0 to 6,553.5 s

Instruction name BCD mode Binary mode

Mnemonic TMHW(815) TMHWX(817)

S (timer set value)Unit: 0.01 s

#0000 to #9999�"BCDC3 &0 to &65535 (decimal)or #0000 to #FFFF (hexa-decimal)

Setting time (unit: 0.01 s) 0 to 999.9 s 0 to 655.35 s

Instruction name BCD mode Binary mode

Mnemonic CNTW(814) CNTWX(818)

S (counter set value) #0000 to #9999�"BCDC3 &0 to &65535 (decimal) or #0000 to #FFFF (hexa-decimal)

Setting 0 to 9,999 times 0 to 65,535 times

283

Page 305: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Using a Scheduled Interrupt as a High-precision Timer (CJ1M Only) Section 6-5

6-5 Using a Scheduled Interrupt as a High-precision Timer (CJ1M Only)

When using a CJ1M CPU Unit, the following functions allow a scheduledinterrupt to be used as a high-precision timer.

• The scheduled interrupt timer can be input in units of 0.1 ms (high-preci-sion interval timer).

• Resetting (i.e., restart) is possible using the MSKS(690) instruction (fixedtime to first interrupt).

• Internal timer PVs can be read using the MSKR(692) instruction (intervaltimer PV reading)

These functions allow applications such as that shown in the following exam-ple of a high-precision one-shot timer, where the input bit turning ON acts as atrigger, causing the output bit to turn ON, and then turn OFF again after afixed interval.

Example:

1,2,3... 1. Input interrupt task starts when the built-in input bit turns ON.

2. Output bit A turns ON in the input interrupt task, and the MSKS(690) in-struction is executed to perform a scheduled interrupt reset start.

3. After a fixed interval, the scheduled interrupt task starts, and output bit Ain the scheduled interrupt task turns OFF, and the MSKS(690) instructionis executed to prohibit a scheduled interrupt.

6-5-1 Setting the Scheduled Interrupt to Units of 0.1 msThe scheduled interrupt time is set using the PLC Setup’s scheduled interruptunit time setting and the MSKS(690) instruction.

With CJ1M CPU Units, the scheduled interrupt time can be set in units of0.1 ms between a minimum interval of 0.5 ms and the maximum interval of999.9 ms.

PLC Setup

Input interrupt task

MSKS14

#0005Scheduled interrupt task

MSKS4

#0000

SETA

A

Cyclic task Input interrupt ON

Output bit A turns ON.

Scheduled interrupt reset start.

Fixed interval Example: After 0.5 ms)

Output bit A turns OFF.

Stop due to fixed interrupt being prohibited.

RESET

Item PLC address Set value Default Refresh timing

Word Bit

Scheduled inter-rupt unit time set-ting

195 00 to 03 0 hex:�10-ms unit1 hex:�1-ms unit

2 hex:�0.1-ms unit�"CJ1M CPU Units onlyC3

0 hex When operation starts.

284

Page 306: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Using a Scheduled Interrupt as a High-precision Timer (CJ1M Only) Section 6-5

6-5-2 Specifying a Reset Start with MSKS(690)When CJ1M CPU Units are used and the MSKS(690) instruction is used tostart the scheduled interrupt, the internal timer can be reset before starting theinterrupt (this is called a reset start).

This method can be used to specify the time to the first interrupt without usingthe CLI(691) instruction.

Scheduled interrupts are started by using the MSKS(690) instruction to setthe scheduled interrupt time (interval between two interrupts). After executingthe MSKS(690) instruction, however, the time required before the first sched-uled interrupt task starts (first interrupt start time) is fixed only if the CLI(691)instruction is specified. Therefore, CJ1M CPU Units provide an internal timerreset start, allowing the time to the first interrupt to be set without using theCLI(691) instruction.

MSKS(690) Instruction Operand (Only when Scheduled Interrupt Is Specified)

6-5-3 Reading the Internal Timer PV with MSKR(692)CJ1M CPU Units allow reading the PV of the internal timer that measures thescheduled interrupt time. The time is read from either the scheduled interruptstart point or the previous scheduled interrupt point. The internal timer PV isread by executing the MSKR(692) instruction. The unit of time depends on thescheduled interrupt unit time setting in the PLC Setup, in the same way as forthe scheduled interrupt time.

MSKR(692) Operands (Only when Scheduled Interrupt Is Specified)

Operand Set value

N (Interrupt identi-fier)

4: Scheduled interrupt 0, normal setting (internal timer not reset)5: Scheduled interrupt 1, normal setting (internal timer not reset)

14: Scheduled interrupt 0, specifies reset start (CJ1M CPU Units onlyC3

15: Scheduled interrupt 1, specifies reset start (CJ1M CPU Units onlyC3

Operand Set value

N (Interrupt identifier) 4: Scheduled interrupt 0, reads scheduled interrupt time (set value)5: Scheduled interrupt 1, reads scheduled interrupt time (set value)14: Scheduled interrupt 0, reads internal timer PV (CJ1M CPU Units onlyC3

15: Scheduled interrupt 1, reads internal timer PV (CJ1M CPU Units onlyC3

285

Page 307: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Startup Settings and Maintenance Section 6-6

6-6 Startup Settings and MaintenanceThis section describes the following functions related to startup and mainte-nance.

• Hot Start/Hot Stop Functions

• Startup Mode Setting

• Power OFF Detection Delay Setting

• Disabling Power OFF Interrupts

• RUN Output

• Clock

• Program Protection

• Remote Programming and Monitoring

• Flash Memory

• Setting Startup Conditions

6-6-1 Hot Start/Hot Stop FunctionsOperating Mode Change

Hot Start

Turn ON the IOM Hold Bit (A50012) to retain all data* in I/O memory when theCPU Unit is switched from PROGRAM mode to RUN/MONITOR mode to startprogram execution.

Hot Stop

When the IOM Hold Bit (A50012) is ON, all data* in I/O memory will also beretained when the CPU Unit is switched from RUN/MONITOR mode to PRO-GRAM mode to stop program execution.

Note *The following areas of I/O memory will be cleared during mode changes(PROGRAM � RUN/MONITOR) unless the IOM Hold Bit is ON: the CIO Area(I/O Area, Data Link Area, CPU Bus Unit Area, Special I/O Unit Area, InnerBoard Area, SYSMAC BUS Area, I/O Terminal Area, DeviceNet (CompoBus/D) Area, and Internal I/O Areas), Work Area, Timer Completion Flags, andTimer PVs. (The Inner Board, SYSMAC BUS, and I/O Terminal Areas aresupported by CS-series CPU Units only.)

Auxiliary Area Flags and Words

When the IOM Hold Bit is ON, all outputs from Output Units will be maintainedwhen program execution stops. When the program starts again, outputs will

PROGRAM

MONITOR or RUN

I/O memory

Retain CIO and other areas

PROGRAM

MONITOR or RUN I/O memory

Retain CIO and other areas

Name Address Description

IOM Hold Bit A50012 When this bit is ON, all of I/O memory will be retained when the operating mode is changed (PROGRAM � RUN/MONITOR).

286

Page 308: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Startup Settings and Maintenance Section 6-6

have the same status that they had before the program was stopped.(When the IOM Hold Bit is OFF, instructions will be executed after the outputshave been cleared.)

PLC Power ON In order for all data* in I/O memory to be retained when the PLC is turned on(OFF � ON), the IOM Hold Bit must be ON and it must be protected in thePLC Setup (address 80, IOM Hold Bit Status at Startup).

Auxiliary Area Flags and Words

PLC Setup

6-6-2 Startup Mode SettingThe CPU Unit’s initial operating mode (when the power is turned on) can beset in the PLC Setup.

PLC Setup

Note If the Startup Mode is set to PRCN (Programming Console’s mode switch) buta Programming Console isn’t connected, the CPU Unit will start in RUNmode. Change the PLC Setup from the default value to start in MONITORmode or PROGRAM mode when the power is turned ON. (The CS-seriesCS1 CPU Units, however, will start in PROGRAM mode under the same con-ditions.)

Name Address Description

IOM Hold Bit A50012 When this bit is ON, all of I/O memory will be retained when the operating mode is changed (PROGRAM � RUN/MONITOR).

Program-ming Con-

sole address

Name Setting Default

80 bit 15 IOM Hold Bit Sta-tus at Startup

0: The IOM Hold Bit is cleared to 0 when power is turned on.

1: The IOM Hold Bit is retained when power is turned on.

0 (Cleared)

Power ON

I/O memoryRetain

CIO and

other areas

Program-ming

Console address

Name Meaning Setting Default

81 Startup Mode

Specifies operating mode to use at startup

PRCN: Programming Console’s mode switch

PRG: PROGRAM modeMON: MONITOR modeRUN: RUN mode

PRCN: Pro-gramming Console’s mode switch

Operating mode

Power ON

287

Page 309: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Startup Settings and Maintenance Section 6-6

6-6-3 RUN OutputSome of the Power Supply Units (the C200HW-PA204R, C200HW-PA209R,and CJ1W-PA205R) are equipped with a RUN output. This output point is ON(closed) when the CPU Unit is operating in RUN or MONITOR mode and OFF(open) when the CPU Unit is in PROGRAM mode.

This RUN output can be used to create an external safety circuits, such as anemergency stop circuit that prevents an Output Unit’s external power supplyfrom providing power unless the PLC is on.

Note When a Power Supply Unit without a RUN output is used, an equivalent out-put can be created by programming the Always ON Flag (A1) as the execu-tion condition for an output point from an Output Unit.

!Caution If Output Unit’s external power supply goes on before the PLC’s power supply,the Output Unit may malfunction momentarily when the PLC first goes on. Toprevent any malfunction, add an external circuit that prevents the OutputUnit’s external power supply from going on before the power supply to thePLC itself. Create a fail-safe circuit like the one described above to ensurethat power is supplied by an external power supply only when the PLC isoperating in RUN or MONITOR mode.

6-6-4 Power OFF Detection Delay SettingNormally a power interruption will be detected about 10 to 25 ms (2 to 5 msfor DC power supplies) after the power supply voltage drops below 85% of theminimum rated value(80% for DC power supplies). There is a setting in thePLC Setup (address 225 bits 0 to 7, Power OFF Detection Delay Time) thatcan extend this time by up to 10 ms (up to 2 ms for DC power supplies).When the power OFF interrupt task is enabled, it will be executed when thepower interruption is confirmed, otherwise the CPU will be reset and operationwill be stopped.

Related Settings

6-6-5 Disabling Power OFF Interrupts This function is supported only by the CS1-H, CJ1-H, or CJ1M CPU Units.

With CS1-H, CJ1-H, or CJ1M CPU Units, areas of the program can be pro-tected from power OFF interrupts so that they will be executed before theCPU Unit even if the power supply is interrupted. This is achieved by usingthe DISABLE INTERRUPTS (DI(693)) and ENABLE INTERRUPTS (EI(694)) instructions.

Power Supply Unit

RUN output

Address Name Meaning Setting Default

CIO 256, bits 00 to 07

Power OFF Detection Delay

Set the time to delay before detecting a power interrup-tion.

00 to 0A (Hex): 0 to 10 ms 00 (Hex): 0 ms

288

Page 310: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Startup Settings and Maintenance Section 6-6

This function can be used with sets of instructions that must be executed as agroup, e.g., so that execution does not start with intermediate stored data thenext time power is turned ON.

Procedure

1,2,3... 1. Set the Disable Setting for Power OFF Interrupts in A530 to A5A5 Hex toenable disabling Power OFF Interrupts.

2. Enable disabling Power OFF Interrupts in the PLC Setup (this is the defaultsetting).

3. Use DI(693) to disable interrupts before the program section to be protect-ed and then use EI(694) to enable interrupts after the section. All instruc-tions between DI(693) and EI(694) will be completed before the PowerOFF Interrupt is executed even if the power interruption occurs while exe-cuting the instructions between DI(693) and EI(694).

Related Settings

6-6-6 Clock FunctionsThe CS/CJ-series PLCs have the following clock functions:

• Monitoring of the time that power interruptions occurred

• Monitoring of the time that the PLC was turned on

• Monitoring of the total time that the PLC has been on

Name Address Meaning

Disable Setting for Power OFF Interrupts

A530 Enables using DI(693) to disable power OFF inter-rupt processing (except for execution of the Power OFF Interrupt Task) until EI(694) is executed.

A5A5 Hex: Enables using DI(693) to disable power OFF interrupt processing Any other value: Disables using DI(693) to disable power OFF interrupt processing

DI

EI

D I

E I

Execution condition

Power interrupted.

Instructions executed.

Power supply drops below 85% of rated value (80% for DC power supplies).

CPU Unit reset (forced end)

Interrupts enabled, causing CPU Unit to be reset.

Interrupts disabled.

Power interruption detected.

Instructions executed through EI(694). Stop

10 ms - Power OFF detection delay (Power OFF confirmation time)

Power OFF detection time + Power OFF detection delay

289

Page 311: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Startup Settings and Maintenance Section 6-6

Note The CS-series CS1 CPU Units are shipped without the backup batteryinstalled, and the CPU Unit’s internal clock will be read 00/01/01 00:00:00 orpossibly another value when the battery is connected. To use the clock func-tions, connect the battery, turn the power ON, and set the time and date with aProgramming Device (Programming Console or CX-Programmer) or the FINScommand (07 02, CLOCK WRITE). The CPU Unit’s internal clock will beginoperating once it has been set.

Auxiliary Area Flags and Words

Related Instructions

6-6-7 Program ProtectionThe CS/CJ-series user program can be write-protected and completely pro-tected (read/write protection).

Write-protection Using the DIP Switch

The user program can be write-protected by turning ON pin 1 of the CPUUnit’s DIP switch. When this pin is ON, it won’t be possible to change the userprogram from a Programming Device (including Programming Consoles).This function can prevent the program from being overwritten inadvertently atthe work site.

It is still possible to read and display the program when it is write-protected.

Name Addresses Function

Clock data A35100 to A35107 Second: 00 to 59 (BCD)

A35108 to A35115 Minute: 00 to 59 (BCD)

A35200 to A35207 Hour: 00 to 23 (BCD)

A35208 to A35215 Day of the month: 00 to 31 (BCD)

A35300 to A35307 Month: 00 to 12 (BCD)

A35308 to A35315 Year: 00 to 99 (BCD)

A35400 to A35407 Day of the week:00: Sunday, 01: Monday,02: Tuesday, 03: Wednesday,04: Thursday, 05: Friday, 06: Saturday

Start-up Time A510 and A511 Contain the time at which the power was turned on.

Power Interruption Time

A512 and A513 Contain the time at which the power was last interrupted.

Total Power ON Time A523 Contains the total time (in binary) that the PLC has been on in 10-hour units.

Instruction Name Function

SEC(065) HOURS TO SEC-ONDS

Converts time data in hours/minutes/seconds format to an equivalent time in seconds only.

HMS(066) SECONDS TO HOURS

Converts seconds data to an equivalent time in hours/minutes/seconds format.

CADD(730) CALENDAR ADD Adds time to the calendar data in the specified words.

CSUB(731) CALENDAR SUB-TRACT

Subtracts time from the calendar data in the specified words.

DATE(735) CLOCK ADJUST-MENT

Changes the internal clock setting to the setting in the specified source words.

290

Page 312: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Startup Settings and Maintenance Section 6-6

Read/write-protection Using Passwords

Both read and write access to the user program area can be blocked from theCX-Programmer. Protecting the program will prevent unauthorized copying ofthe program and loss of intellectual property. A password is set for programprotection from a Programming Device and access is prevented to the wholeprogram.

Note 1. If you forget the password, the program within the PLC cannot be trans-ferred to the computer. Make a note of the password, and store it in a safeplace.

2. If you forget the password, programs cannot be transferred from the com-puter to the PLC. Programs can be transferred from the computer to thePLC even if the password protection has not been released.

Password Protection

1,2,3... 1. Register a password either online or offline as follows:

a) Select the PLC and select Properties from the View Menu.

b) Select Protection from the PLC Properties Dialog Box and input thepassword.

2. Set password protection online as follows:

a) Select PLC, Password Protection, and then Set. The Program Pro-tection Setting Dialog Box will be displayed.

b) Click the OK button.

Confirming the User Program DateWith a CS1-H, CJ1-H, or CJ1M CPU Unit, the dates the program and param-eters were created can be confirmed by checking the contents of A090 toA097.

Auxiliary Area WordsName Address Description

User Program Date

A090 to A093

The time and date the user program was last over-written in memory is given in BCD.

A09000 to A09007 Seconds (00 to 59 BCD)

A09008 to A09015 Minutes (00 to 59 BCD)

A09100 to A09107 Hour (00 to 23 BCD)

A09108 to A09115 Day of month (01 to 31 BCD)

A09200 to A09207 Month (01 to 12 BCD)

A09208 to A09215 Year (00 to 99 BCD)

A09300 to A09307 Day (00 to 06 BCD)Day of the week:00: Sunday, 01: Monday, 02: Tuesday, 03: Wednesday, 04: Thursday, 05: Friday, 06: Saturday

Parameter Date A094 to A097

The time and date the parameters were last overwrit-ten in memory is given in BCD. The format is the same as that for the User Program Date given above.

291

Page 313: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Startup Settings and Maintenance Section 6-6

6-6-8 Remote Programming and MonitoringCS/CJ-series PLCs can be programmed and monitored remotely through amodem or Controller Link network.

1,2,3... 1. Modem Connections

The host link function can operate through a modem, which allows moni-toring of a distant PLC’s operation, data transfers, or even online editing ofa distant PLC’s program by phone. All of the Programming Device’s onlineoperations are supported in these connections.

2. Controller Link Network Connections

PLCs in a Controller Link or Ethernet network can be programmed andmonitored through the Host Link. All of the Programming Device’s onlineoperations are supported in these connections.

6-6-9 Unit ProfilesThe following information can be read for CS/CJ-series Units from the CX-Programer.

• Manufacturing information (lot number, serial number, etc.): Facilitatesproviding information to OMRON when problems occur with Units.

• Unit information (type, model number, correct rack/slot position): Providesan easy way to obtain mounting information.

• User-defined text (256 characters max.): Enables recording informationnecessary for maintenance (Unit inspection history, manufacturing linenumbers, and other application information) in Memory Cards.

Modem Modem

Telephone connection

Programming Device

RS-232C

Host Link CPU UnitRS-232C

Programming Device

Host Link

CPU Unit

Controller Link Unit

CPU Unit

Controller Link Unit

(Functions as a gateway.)RS-232C

292

Page 314: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Startup Settings and Maintenance Section 6-6

6-6-10 Flash MemoryThis function is supported only by the CS1-H, CJ1-H, or CJ1M CPU Units.

With CS1-H, CJ1-H, or CJ1M CPU Units, the user program and parametersare automatically backed up in flash memory whenever they are written to oraltered in the CPU Unit.

The following data is backed up automatically: User program, parameters(including the PLC Setup, registered I/O tables, routing tables, and CPU BusUnit data, such as the data link tables).

The data is backed up automatically whenever the user program or parame-ters are written in the CPU Unit, including for data transfer operations from theCX-Programmer, writing data from a Programming Console, online editing,data transfers from a Memory Card or EM file memory, etc.

The user program and parameter data written to flash memory is automati-cally transferred to user memory in the CPU Unit at startup.

Note 1. The BKUP indicator on the front of the CPU Unit will light while data is be-ing written to flash memory. Do not turn OFF the power supply to the CPUUnit until the backup operation has been completed (i.e., until the BKUPindicator goes out) after transferring data from the a Programming Deviceor file memory, or performing online editing.

2. Only for online editing and only when there is a Battery in the CPU Unit,the CPU Unit will restart in the previous condition (e.g., with the BKUP in-dicator lit) even if the power supply is turned OFF before the backup oper-ation has been completed, although up to 1 minute will be required will berequired to start the CPU Unit. Even in this case (and even if there is a Bat-tery in the CPU Unit, always be sure that the backup operation has beencompleted before turning OFF the power supply if the CPU Unit will be leftunpowered for an extended period of time.

CPU Unit

User memory

Automatic backup

Flash memory

Automatically restored when PLC is turned ON.

Parameters

User program

Write operation

Data transfer from CX-ProgrammerWrite from Programming ConsoleWrite from file memoryOnline editing from CX-Programmer

293

Page 315: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Startup Settings and Maintenance Section 6-6

The amount of time required to back up data (the time the BKUP indicator willbe lit) will depend on the size of the user program, as shown in the followingtable.

Note 1. The BKUP indicator will be lit when power is supplied to the CPU Unit.

2. Depending on the type of online editing that was performed, up to 1 minutemay be required to backup data.

3. I/O memory (including the DM, EM, and HR Areas) is not written to flashmemory. The data in these areas is backed up by a Battery for recoveryafter power interruptions. The data may not be correctly recovered if a bat-tery error occurs, If the Battery Error Flag (A40204) is ON, take appropriatesteps in the ladder program to set the contents of these areas as required.

4. A backup status will be displayed in a Memory Backup Status Window bythe CX-Programmer when backing up data from the CX-Programmer fortransfer operations other than normal data transfers (PLC/Transfer). Toobtain this window, setting to display the backup status dialog box must bechecked in the PLC properties and the window must be selected from theView Menu. For normal transfer operations, the backup status will be dis-played in the transfer window after the transfer status for the program andother data.

Auxiliary Area Flags

6-6-11 Startup Condition SettingsThis function is supported only by the CS1-H, CJ1-H, or CJ1M CPU Units.

Some Units and Inner Boards require extensive time to start up after thepower supply is turned ON, affecting the startup time of the CPU Unit. ThePLC Setup can be set so that the CPU Unit will start without for these Units tobe initialized.

This setting applies to the ITNC-EIS01-CST and ITNC-EIX01-CST Open Net-work Controller-CS1 Bus Interface Units. (There are currently no Inner Boardsthat are applicable as of October 2001.)

User program size

Backup processing time

MONITOR mode PROGRAM modeCycle time of 0.4 ms

(example)Cycle time of 10.0 ms

(example)

10 Ksteps 2 s 8 s 1 s

60 Ksteps 11 s 42 s 6 s

250 Ksteps 42 s 170 s 22 s

Name Address Meaning

Flash Memory Error Flag

A40310 Turns ON when the flash memory fails.

294

Page 316: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Startup Settings and Maintenance Section 6-6

This function is controller by setting the Startup Condition and Inner BoardSetting described in the following table.

Note With CS1 CPU Units, the CPU Unit will not start until all Units and Boardshave completed startup processing.

PLC Setup

Startup Condition

0: If there is one or more of the specific Boards or Units that has not com-pleted startup processing, the CPU Unit will go on standby in MONITOR orPROGRAM mode and wait for all Units and Boards.

1: Even if there is one or more of the specific Boards or Units that has notcompleted startup processing, the CPU Unit will go ahead and start in MONI-TOR or PROGRAM mode. The operation for Inner boards, however, alsodepends on the following setting.

Inner Board Setting

This setting is used only if the Startup Condition is set to 1 to enable startingwithout waiting for specific Units and Boards. This setting is ignored if theStartup Condition is set to 0.

0: If there is one or more of the specific Boards that has not completed startupprocessing, the CPU Unit will go on standby in MONITOR or PROGRAMmode and wait for all Boards.

1: Even if there is one or more of the specific Boards that has not completedstartup processing, the CPU Unit will go ahead and start in MONITOR orPROGRAM mode.

Startup conditions PLC Setup

Startup Condition (Programming Console

address 83, bit 15)

Inner Board Setting (Programming Console

address 84, bit 15)

To start without wait-ing for all Units and Boards

1: Enable operation without waiting.

1: Do not wait for specific Inner Boards.

To start without wait-ing for all Units (wait for Boards)

1: Enable operation without waiting.

0: Wait for all Boards before starting.

To wait for all Units and Boards before starting

0: Always wait for all Units/Boards

Any

Programming Console address

Name Setting Default CPU Unit refresh timing

Word Bit

83 15 Startup Condition

0: Wait for Units and Boards.

1: Don’t wait.

0: Wait Power ON

84 15 Inner Board Setting

0: Wait for all Boards.1: Don’t wait for specific Boards.

0: Wait Power ON

295

Page 317: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Diagnostic Functions Section 6-7

6-7 Diagnostic FunctionsThis section provides a brief overview of the following diagnostic and debug-ging functions.

• Error Log

• Output OFF Function

• Failure Alarm Functions (FAL(006) and FALS(007))

• Failure Point Detection (FPD(269)) Function

6-7-1 Error LogEach time that an error occurs in a CS/CJ-series PLC, the CPU Unit storeserror information in the Error Log Area. The error information includes theerror code (stored in A400), error contents, and time that the error occurred.Up to 20 records can be stored in the Error Log.

In addition to system-generated errors, the PLC records user-definedFAL(006) and FALS(007) errors, making it easier to track the operating statusof the system.

Refer to the section on troubleshooting in the CS/CJ Series Operation Manualfor details.

Note A user-defined error is generated when FAL(006) or FALS(007) is executed inthe program. The execution conditions of these instructions constitute theuser-defined error conditions. FAL(006) generates a non-fatal error andFALS(007) generates a fatal error that stops program execution.

When more than 20 errors occur, the oldest error data (in A100 to A104) isdeleted, the remaining 19 records are shifted down by one record, and thenewest record is stored in A195 to A199.

296

Page 318: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Diagnostic Functions Section 6-7

The number of records is stored in binary in the Error Log Pointer (A300). Thepointer is not incremented when more than 20 errors have occurred.

6-7-2 Output OFF FunctionAs an emergency measure when an error occurs, all outputs from OutputUnits can be turned OFF by turning ON the Output OFF Bit (A50015). Theoperating mode will remain in RUN or MONITOR mode, but all outputs will beturned OFF.

Note Normally (when IOM Hold Bit = OFF), all outputs from Output Units are turnedOFF when the operating mode is changed from RUN/MONITOR mode toPROGRAM mode. The Output OFF Bit can be used to turn OFF all outputswithout switching to PROGRAM mode and stopping program execution.

Application Precaution for DeviceNet

When the master function is used with the CS1W-DRM21 or CJ1W-DRM21,all slave outputs will be turned OFF. When the slave function is used, allinputs to the master will be OFF. When the C200HW-DRM21-V1 is used,however, slave outputs will not be turned OFF.

6-7-3 Failure Alarm FunctionsThe FAL(006) and FALS(007) instructions generate user-defined errors.FAL(006) generates a non-fatal error and FALS(007) generates a fatal errorthat stops program execution.

When the user-defined error conditions (execution conditions for FAL(006) orFAL(007)) are met, the Failure Alarm instruction will be executed and the fol-lowing processing will be performed.

Error code Order of occurrence

Error Log Area

Error code

Year, month

Time ofoccurrence

Time ofoccurrence

Time ofoccurrence

Year, month

Error contents

Minute, secondDay, hour

Year, monthError code

Error contentsMinute, second

Day, hour

Error code

Error contents

Minute, secondDay, hour

Error Log Pointer

297

Page 319: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Diagnostic Functions Section 6-7

1,2,3... 1. The FAL Error Flag (A40215) or FALS Error Flag (A40106) is turned ON.

2. The corresponding error code is written to A400.

3. The error code and time of occurrence are stored in the Error Log.

4. The error indicator on the front of the CPU Unit will flash or light.

5. If FAL(006) has been executed, the CPU Unit will continue operating.If FALS(007) has been executed, the CPU Unit will stop operating. (Pro-gram execution will stop.)

Operation of FAL(006)

When execution condition A goes ON, an error with FAL number 2 is gener-ated, A40215 (FAL Error Flag) is turned ON, and A36002 (FAL Number 2Flag) is turned ON. Program execution continues.

Errors generated by FAL(006) can be cleared by executing FAL(006) with FALnumber 00 or performing the error read/clear operation from a ProgrammingDevice (including a Programming Console).

Operation of FALS(007)

When execution condition B goes ON, an error with FALS number 3 is gener-ated, and A40106 (FALS Error Flag) is turned ON. Program execution isstopped.

Errors generated by FAL(006) can be cleared by eliminating the cause of theerror and performing the error read/clear operation from a ProgrammingDevice (including a Programming Console).

6-7-4 Failure Point DetectionFPD(269) performs time monitoring and logic diagnosis. The time monitoringfunction generates a non-fatal error if the diagnostic output isn’t turned ONwithin the specified monitoring time. The logic diagnosis function indicateswhich input is preventing the diagnostic output from being turned ON.

Time Monitoring Function

FPD(269) starts timing when it is executed and turns ON the Carry Flag if thediagnostic output isn’t turned ON within the specified monitoring time. TheCarry Flag can be programmed as the execution condition for an error pro-cessing block. Also, FPD(269) can be programmed to generate a non-fatalFAL error with the desired FAL number.

When an FAL error is generated, a preset message will be registered and canbe displayed on a Programming Device. FPD(269) can be set to output theresults of logic diagnosis (the address of the bit preventing the diagnostic out-put from being turned ON) just before the message.

The teaching function can be used to automatically determine the actual timerequired for the diagnostic output to go ON and set the monitoring time.

FAL 002 #0000

FALS 003 #0000

298

Page 320: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Diagnostic Functions Section 6-7

Logic Diagnosis Function

FPD(269) determines which input bit is causing the diagnostic output toremain OFF and outputs that bit’s address. The output can be set to bitaddress output (PLC memory address) or message output (ASCII).

• If bit address output is selected, the PLC memory address of the bit canbe transferred to an Index Register and the Index Register can be indi-rectly addressed in later processing.

• If the message output is selected, the bit address will be registered in anASCII message that can be displayed on a Programming Device.

Time Monitoring:

Monitors whether output C goes ON with 10 seconds after input A. If Cdoesn’t go ON within 10 seconds, a failure is detected and the Carry Flagis turned ON. The Carry Flag executes the error-processing block. Also,an FAL error (non-fatal error) with FAL number 004 is generated.

Logic Diagnosis:

FPD(269) determines which input bit in block B is preventing output C fromgoing ON. That bit address is output to D01000 and D01001.

Auxiliary Area Flags and Words

Error-processing block

Logic diagnosisexecution condition

B

C (Diagnostic output)

First register word(Diagnostics output destination)

Monitor ing time (0.1-s units): 10 sControl data(FAL 004, bit address output)

Carr y Flag

FPD(269)execution condition

A

Name Address Operation

Error Code A400 When an error occurs, its error code is stored in A400.

FAL Error Flag A40215 ON when FAL(006) is executed.

FALS Error Flag A40106 ON when FALS(007) is executed.

Executed FAL Num-ber Flags

A360 to A391

The corresponding flag is turned ON when an FAL(006) or FALS(007) error occurs.

Error Log Area A100 to A199

The Error Log Area contains information on the most recent 20 errors.

Error Log Pointer A300 When an error occurs, the Error Log Pointer is incremented by 1 to indicate where the next error record will be recorded as an offset from the beginning of the Error Log Area (A100).

Error Log Pointer Reset Bit

A50014 Turn this bit ON to reset the Error Log Pointer (A300) to 00.

FPD Teaching Bit A59800 Turn this bit ON when you want the monitoring time to be set automatically when FPD(269) is executed.

299

Page 321: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Diagnostic Functions Section 6-7

6-7-5 Simulating System ErrorsThis function is supported only by the CS1-H, CJ1-H, or CJ1M CPU Units.

FAL(006) and FALS(007) can be used to intentionally create fatal and non-fatal system errors. This can be used in system debugging to test displaymessages on Programmable Terminals (PTs) or other operator interfaces.

Use the following procedure.

1,2,3... 1. Set the FAL or FALS number to use for simulation in A529. (A529 is usedwhen simulating errors for FAL(006) and FALS(007).

2. Set the FAL or FALS number to use for simulation as the first operand ofFAL(006) or FALS(007).

3. Set the error code and error to be simulated as the second operation (twowords) of FAL(006) or FALS(007). Indicate a nonfatal error for FAL(006)and a fatal error for FALS(007).

To simulate more than one system error, use more than one FAL(006) orFALS(007) instruction as described above.

Auxiliary Area Flags and Words

Example for a Battery Error

Note Use the same methods as for actual system errors to clear the simulated sys-tem errors. Refer to the CS-series Operation Manual or the CJ-series Opera-tion Manual for details. All system errors simulated with FAL(006) andFALS(007) can be cleared by cycling the power supply.

6-7-6 Disabling Error Log Storage of User-defined FAL ErrorsThis function is supported only by the CS1-H, CJ1-H, or CJ1M CPU Units.

The PLC Setup provides a setting that will prevent user-defined FAL errorscreated with FAL(006) and time monitoring for FPD(269) from being recordedin the error log (A100 to A199). The FAL error will still be generated even ifthis setting is used and the following information will also be output: A40215(FAL Error Flag), A360 to A391 (Executed FAL Numbers), and A400 (ErrorCode.

Name Address Operation

FAL/FALS Number for System Error Simulation

A529 Set a dummy FAL/FALS number to use to simu-late the system error.

0001 to 01FF Hex: FAL/FALS numbers 1 to 5110000 or 0200 to FFFF Hex: No FAL/FALS number for system error simulation.

MOV

&100

A529

a

MOV

#00F7

D00010

FAL

100

D00010

Execution condition

Set FAL number 100 in A529.

Set error code for battery error (#00F7) in D00010.

Generate a battery error using FAL number 100.

300

Page 322: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

CPU Processing Modes Section 6-8

This function can be used when only system FAL errors need to be stored inthe error log, e.g., when there are many user-defined errors generated by theprogram using FAL(006) and these fill up the error log too quickly.

PLC Setup

Note The following items will be stored in the error log even if the above setting isused to prevent user-defined FAL errors from being recorded.

• User-defined fatal errors (FALS(007))

• Non-fatal system errors

• Fatal system errors

• User-simulated nonfatal system errors (FAL(006))

• User-simulated fatal system errors (FALS(007))

6-8 CPU Processing Modes

6-8-1 CPU Processing ModesNormally, peripheral servicing (see note) is performed once at the end of eachcycle (following I/O refresh) either for 4% of the cycle or a user-set time foreach service. This makes it impossible to service peripheral devices at a ratefaster than the cycle time, and the cycle time is increased by the time requiredfor peripheral servicing.

With the CS1-H or CJ1-H CPU Units, however, Parallel Processing Modesare supported that enable processing program execution in parallel withperipheral servicing. These modes enable faster peripheral servicing andshorter cycle times, especially when there is extensive peripheral servicingrequired. (CJ1M CPU Units do not support the Parallel Processing Modes.)

Note Peripheral servicing includes non-schedule services required by externaldevices, such as event servicing (e.g., communications for FINS commands)for Special I/O Units, CPU Bus Units, and Inner Boards (CS Series only), aswell as communications port servicing for the peripheral and RS-232C ports(but not including data links and other special I/O refreshing for CPU BusUnits).

Programming Console address

Name Setting Default CPU Unit refresh timing

Word Bit

129 15 User FAL Storage Setting

0: Record user-defined FAL errors in error log.

1: Don’t record user-defined FAL errors in error log.

0: Record

Whenever FAL(006) is executed (every cycle)

301

Page 323: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

CPU Processing Modes Section 6-8

Normal Mode

Parallel Processing Modes

Parallel Processing ModesThere are two different Parallel Processing Modes: Parallel Processing withSynchronous Memory Access and Parallel Processing with AsynchronousMemory Access.

■ Parallel Processing with Asynchronous Memory Access

In this mode, I/O memory access for peripheral servicing is not synchronizedwith I/O memory access for program execution. In other words, all peripheralservicing is executed in parallel with program execution, including memoryaccess. This mode will provide the fastest execution (compared to the othermodes) for both program execution and event processing when there is aheavy peripheral servicing load.

■ Parallel Processing with Synchronous Memory Access

In this mode, I/O memory access for peripheral servicing is not executed inparallel with program execution, but rather is executed following program exe-cution, just like it is in the normal execution mode, i.e., following the I/Orefresh period. All other peripheral servicing is executed in parallel with pro-gram execution.

This mode will provide faster execution that the normal execution mode forboth program execution and event processing. The program execution cycletime will be longer than that for Parallel Processing with Asynchronous Mem-ory Access by the time required to refresh I/O for peripheral servicing.

The cycle times and peripheral servicing responses for Normal, Parallel Pro-cessing with Asynchronous Memory Access, and Parallel Processing withSynchronous Memory Access are listed in the following table. (These values

Overseeing processing

Program execution

I/O refreshing

Peripheral Servicing

Cycle time

Overseeing processing

Program execution

I/O refreshing

Peripheral servicing

Cycle time for program execution

Overseeing processingCycle time for peripheral servicing

Program Execution Cycle Peripheral Servicing Cycle

302

Page 324: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

CPU Processing Modes Section 6-8

are for a program consisting of basic instructions with a cycle time of 10 msand with one Ethernet Unit. These values are provided for reference only andwill vary with the system.)

Note 1. Peripheral servicing includes event servicing (e.g., communications forFINS commands) for Special I/O Units, CPU Bus Units, and Inner Boards(CS Series only), as well as communications port servicing for the periph-eral and RS-232C ports (but not including data links and other special I/Orefreshing for CPU Bus Units).

2. The CS1 CPU Units of version 1 or later and the CS1-H or CJ1-H CPUUnits also support a Peripheral Servicing Priority Mode that will performperipheral servicing at a fixed cycle during program execution. It will pro-vide faster peripheral servicing than the normal processing mode, but pro-gram execution will be slower. Event response, however, will not be as fastas the Parallel Processing Modes. Parallel Processing with AsynchronousMemory Access should thus be used whenever response to events is tobe given priority in processing.

3. Peripheral servicing cycle time over errors can occur in the CPU Unit whenparallel processing is used. If the peripheral servicing cycle time exceeds2.0 s for a CS1-H or CJ1-H CPU Unit, this error will occur and A40515 willturn ON and operation will stop (fatal error). The peripheral servicing cycletime can be monitored in A268 to detect possible errors before they occur.For example, a user-defined error can be generated using FAL number100 if the peripheral servicing cycle time exceeds 1 s (i.e., if the contentsof A268 exceeds 2710 Hex (10000 decimal)).

The Programming Console should be disconnected when user applica-tions are being run in a parallel processing mode. The Programming Con-sole will be allocated servicing time to increase the response toProgramming Console keys, and this will increase the peripheral servicingtime and reduce the effectiveness of parallel processing.

Item Normal Mode Parallel Processing with Asynchronous Memory

Access

Parallel Processing with Synchronous Memory Access

Cycle time Arbitrarily set to 1 0.9 0.9

Peripheral servicing

Arbitrarily set to 1 0.4 1.0

FAL

1

#0000

>

A268

&10000

A user-defined error will be generated with FAL number 100 by FAL(006) is the peripheral servicing cycle time exceeds 1 s.

303

Page 325: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

CPU Processing Modes Section 6-8

PLC SetupThe processing mode is specified in the PLC Setup.

Auxiliary Area Flags and Words

Parallel Processing with Asynchronous Memory AccessProgram Executions

Programming Console address

Name Setting Default CPU Unit refresh timing

Word Bit

219 08 to 15

CPU Pro-cessing Mode

00 Hex: Normal Mode01 Hex: Parallel Processing with Synchronous Memory Access02 Hex: Parallel Processing with Asynchronous Memory Access05 to FF Hex: Time slice pro-gram execution time for Peripheral Servicing Priority Mode (5 to 255 ms in 1-ms increments)Settings of 03 and 04 Hex are not defined (illegal) and will cause PLC Setup errors (non-fatal).

00 Hex: Normal Mode

Start of operation

Name Address Operation

Peripheral Servicing Cycle Time Over

A40515 Turns ON when the peripheral servicing cycle time exceeds 2 s. Operation will be stopped.

Peripheral Servicing Cycle Time

A268 Contains the peripheral servicing cycle time when one of the Parallel Processing Modes (synchro-nous or asynchronous memory access) is used and the PLC is in RUN or MONITOR mode. The time will be in binary between 0.0 and 2000.0 (in 0.1-ms increments).

Overseeing I/O bus check and other processing0.3 ms

Instruction execution time Total execution time for all instructions

Minimum cycle time calculations Processing time for a minimum program execu-tion cycle time

Cyclic ser-vicing

I/O refresh I/O refresh time for each Unit x Number of Units

Special I/O refresh for CPU Bus Units

Special I/O refresh time for each Unit x Number of Units

Peripheral servicing

File access Peripheral service time set in PLC Setup (default: 4% of cycle time)

304

Page 326: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

CPU Processing Modes Section 6-8

Peripheral Servicing

Note Event servicing to access I/O memory includes 1) Servicing any receivedFINS commands that access I/O memory (I/O memory read/write commandswith common codes beginning with 01 Hex or forced set/reset commands withcommon codes beginning with 23 Hex) and 2) Servicing any received C-modecommands that access I/O memory (excluding NT Links using the peripheralor RS-232C port).

Parallel Processing with Synchronous Memory AccessProgram Executions

Peripheral Servicing

Note Event servicing to access I/O memory includes 1) Servicing any receivedFINS commands that access I/O memory (I/O memory read/write commands

Overseeing Battery check, user program memory check, etc.

0.2 ms

Peripheral servicing

Event servicing for Special I/O Units Includes event servicing to access I/O memory (See note.)

Max. of 1 s for each service.Event servicing for CPU Bus Units

Peripheral port servicing

RS-232C port servicing

Event servicing for Inner Boards (CS Series only)

Event servicing for communications ports (internal logic ports) that are being used (including background execution)

Overseeing I/O bus check and other processing

0.3 ms

Instruction execution time Total execution time for all instructions

Minimum cycle time calculations Processing time for a minimum program execu-tion cycle time

Cyclic ser-vicing

I/O refresh I/O refresh time for each Unit x Number of Units

Special I/O refresh for CPU Bus Units

Special I/O refresh time for each Unit x Number of Units

Peripheral servicing

File access Peripheral service time set in PLC Setup (default: 4% of cycle time)Event servicing

requiring I/O mem-ory access (See note.)

Overseeing Battery check, user program memory check, etc.

0.2 ms

Peripheral servicing

Event servicing for Special I/O Units Except for event servicing to access I/O memory (See note.)Max. of 1 s for each service.

Event servicing for CPU Bus Units

Peripheral port servicing

RS-232C port servicing

Event servicing for Inner Boards (CS Series only)

Event servicing for communications ports (internal logic ports) that are being used (including background execution)

305

Page 327: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Peripheral Servicing Priority Mode Section 6-9

with common codes beginning with 01 Hex or forced set/reset commands withcommon codes beginning with 23 Hex) and 2) Servicing any received C-modecommands that access I/O memory (excluding NT Links using the peripheralor RS-232C port).

6-8-2 Parallel Processing Mode and Minimum Cycle TimesIf a minimum cycle time is specified when a parallel processing mode is beingused, a wait will be inserted after program execution until the minimum cycletime has been reached, but peripheral servicing will continue.

6-8-3 Data Concurrency in Parallel Processing with Asynchronous Memory Access

Data may not be concurrent in the following cases when using Parallel Pro-cessing with Asynchronous Memory Access.

• When more than one word is read from I/O memory using a communica-tions command, the data contained in the words may not be concurrent.

• If an instruction reads more than one word of I/O memory and peripheralservicing is executed during execution of the instructions, the data con-tained in the words may not be concurrent.

• If the same word in I/O memory is read by more than instruction at differ-ent locations in the program and peripheral servicing is executed betweenexecution of the instructions, the data contained in the word may not beconcurrent.

The following steps can be used to ensure data concurrency when required.

1. Use Parallel Processing with Synchronous Memory Access

2. Use the IOSP(287) to disable peripheral servicing for where required in theprogram and then use IORS(288) to enable peripheral servicing again.

6-9 Peripheral Servicing Priority ModePeripheral servicing for RS-232C port, the peripheral port, the Inner Board(CS Series only), CPU Bus Units, and Special I/O Units is normally servicedonly once at the end of the cycle after the I/O refresh. Either 4% of the cycletime or a user-set time is allocated to each service. A mode, however, is avail-able that enables periodic servicing within a cycle. This mode, called thePeripheral Servicing Priority Mode, is set in the PLC Setup.

Note The Peripheral Servicing Priority Mode can be used with CJ-series CPU Unitor CS-series CPU Units, but the CS-series CS1 CPU Unit must have a lotnumber 001201@@@@ or later (manufacture date of December 1, 2000 orlater).

306

Page 328: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Peripheral Servicing Priority Mode Section 6-9

6-9-1 Peripheral Servicing Priority ModeIf the Peripheral Servicing Priority Mode is set, program execution will beinterrupted at the specified time, the specified servicing will be performed, andprogram execution will be resumed. This will be repeated through programexecution. Normal peripheral servicing will also be performed after the I/Orefresh period.

Peripheral Servicing Priority Mode can thus be used to execute periodic ser-vicing for specified ports or Units along with the normal peripheral servicing.This enables applications that require priority be given to peripheral servicingover program execution, such as process control applications that requirerapid response for host monitoring.

• Up to five Units or ports can be specified for priority servicing. CPU BusUnits and CS/CJ Special I/O Units are specified by unit number.

• Only one Unit or port is executed during each slice time for peripheral ser-vicing. If servicing has been completed before the specified time expires,program execution is resumed immediately and the next Unit or port is notserviced until the next slice time for peripheral servicing. It is possible,however, that the same Unit or port will be serviced more than once dur-ing the same cycle.

• Unit or ports are serviced in the order in which they are detected by theCPU Unit.

Note 1. Even though the following instructions use the communications ports, theywill be executed only once during the execution cycle even if PeripheralServicing Priority Mode is used:

RXD(235) (RECEIVE)TXD(236) (TRANSMIT)

2. If more than one word is read via a communications command, the con-currence of the read data cannot be guaranteed when Peripheral ServicingPriority Mode is used.

3. The CPU Unit might exceed the maximum cycle time when Peripheral Ser-vicing Priority Mode is used. The maximum cycle time is set in the PLCSetup as the Watch Cycle Time setting. If the cycle time exceeds theWatch Cycle Time setting, the Cycle Time Too Long Flag (A40108) will beturned ON and PLC operation will be stopped. If the Peripheral ServicingPriority Mode is used, the current cycle time in A264 and A265 should bemonitored and the Watch Cycle Time (address: +209) adjusted as re-quired. (The setting range is 10 to 40,000 ms in 10-ms increments with adefault setting of 1 s.)

Peripheralser vicing

Normal per ipheral ser vice

Peripheralser vicing Peripheral

ser vicing

Prog ram execution Interrupted Prog ram

execution InterruptedProg ram execution Interrupted

Prog ram execution I/O refresh

T0: Time slice for program executionT1: Time slice for per ipheral servicing

1 cycle

307

Page 329: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Peripheral Servicing Priority Mode Section 6-9

PLC Setup Settings The following settings must be made in the PLC Setup to use the PeripheralServicing Priority Mode.

• Slice Time for Program Execution: 5 to 255 ms in 1-ms increments

• Slice Time for Peripheral Servicing: 0.1 to 25.5 ms in 0.1-ms increments

• Units and/or Ports for Priority Servicing:CPU Bus Unit (by unit No.)CS/CJ Special I/O Unit (by unitNo.)Inner Board (CS Series only)RS-232C portPeripheral port

• Operation and errors will be as shown below depending on the settings inthe PLC Setup.

• The setting cannot be made from the CX-Programmer.

Note If an error is detected in the PLC Setup, A40210 will turn ON and a non-fatalerror will occur.

Address in Pro-gramming Console

Settings Default Function New set-ting’s effec-

tivenessWord Bit(s)

219 08 to 15

0005 to FF (Hex)

00 00: Disable priority mode servicing05 to FF: Time slice for instruction execution

(5 to 255 ms in 1-ms increments)

Takes effect at the start of operation

(Can’t be changed during oper-ation.)

00 to 07

00 to FF (Hex)

00 00: Disable priority mode servicing

01 to FF: Time slice for peripheral servicing (0.1 to 25.5 ms in 0.1-ms increments)

220 08 to 15

0010 to 1F20 to 2FE1FCFD (Hex)

00 00: Disable priority mode servicing10 to 1F: CPU Bus Unit unit number + 10 (Hex)20 to 7F: CS/CJ Special I/O Unit unit number + 20 (Hex)

E1: Inner BoardFC: RS-232C port

FD: Peripheral port

00 to 07

00

221 08 to 15

00

00 to 07

00

222 08 to 15

00

Conditions CPU Unit operation PLC Setup errors

Time Slice for Peripheral Servicing

Time Slice for Instruction Execution

Specified Units and Ports

01 to FF: (0.1 to 25.5 ms)

05 to FF: (5 to 255 ms)

All correct settings Peripheral Servicing Priority Mode

None

00 and correct set-tings

Correct, but redundant settings

Some illegal set-tings

Peripheral Servicing Priority Mode for items with correct settings

Generated

All 00 settings Normal operation Generated

00 and illegal set-tings

All illegal settings

00 00 --- Normal operation None

Any other --- Normal operation Generated

308

Page 330: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Peripheral Servicing Priority Mode Section 6-9

Auxiliary Area Information If the slice times are set for program execution and peripheral servicing, thetotal of all the program execution and peripheral servicing slice times will bestored in A266 and A267. This information can be used as a reference inmaking appropriate adjustments to the slice times.

When Peripheral Servicing Priority Mode is not being used, the program exe-cution time will be stored. This value can be used in determining appropriatesettings for the slice times.

6-9-2 Temporarily Disabling Priority Mode ServicingData concurrence is not guaranteed at the following times if Peripheral Servic-ing Priority Mode is used.

• When more than one word is read from a peripheral device using a com-munications command. The data may be read during different peripheralservicing time slices, causing the data to not be concurrent.

• When instructions with long execution times are used in the program,e.g., when transferring large quantities of I/O memory data. The transferoperation may be interrupted for peripheral servicing, causing the data tonot be concurrent. This can be true when words being written by the pro-gram are read from a peripheral before the write has been completed orwhen words being read by the program are written from a peripheralbefore the read has been completed.

• When two instructions access the same words in memory. If these wordsare written from a peripheral device between the times the two instruc-tions are executed, the two instructions will read different values frommemory.

When data concurrence must be ensured, the DISABLE INTERRUPTS andENABLE INTERRUPTS instructions (DI(693) and EI(694)) can be used forCS1 or CJ1 CPU Units to prevent priority servicing during required sections ofthe program, as shown in the following example. For CS1-H, CJ1-H, or CJ1MCPU Units, the DISABLE PERIPHERAL SERVICING and ENABLE PERIPH-ERAL SERVICING instructions (IOSP(287) and IORS(288)) can be used

Words Contents Meaning Refreshing

A266 and A267 00000000 to FFFFFFFF Hex (0 to 4294967295 decimal)

The contents is refreshed each cycle and is cleared at the beginning of opera-tion.

Total of all slice times for program execution and all slice times for peripheral servicing.

0.0 to 429,496,729.5 ms (0.1-ms increments)

Value is stored as 32-bit binary (8-digit hexadeci-mal) value

A267(Most-signifi-cant bytes)

A266(Least-signifi-cant bytes)

Priority servicing will not be executed between DI(693) and EI(694) while W000000 is ON.

309

Page 331: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Peripheral Servicing Priority Mode Section 6-9

Operation

Note 1. DI(693) and IOSP(287) will disable not only interrupts for priority servicing,but also all other interrupts, including I/O, scheduled, and external inter-rupts. All interrupts that have been generated will be executed after the cy-clic task has been executed (after END(001) execution) unless CLI(691) isexecuted first to clear the interrupts.

2. Disabling interrupts with DI(693) or IOSP(287) is effective until EI(694) orIORS(288) is executed, until END(001) is executed, or until PLC operationis stopped. Program sections can thus not be created that go past the endof a task or cycle. Use DI(693) and EI(694) or IOSP(287) and IORS(288)in each cyclic task when necessary to disable interrupts in more than onecycle or task.

CS1 and CJ1 CPU UnitsDI(693) When executed, DI(693) disables all interrupts (except for interrupts for the

power interrupt task), including interrupts for priority servicing, I/O interrupts,scheduled interrupts, and external interrupts. Interrupts will remain disabled ifDI(693) is executed when they are already disabled.

Symbol

Applicable Program Areas

Condition Flags

EI(694) When executed, EI(694) enables all interrupts (except for interrupts for thepower interrupt task), including interrupts for priority servicing, I/O interrupts,scheduled interrupts, and external interrupts. Interrupts will remain enabled ifEI(694) is executed when they are already enabled.

Symbol

Time slice for program execution

Time slice for program execution

Time slice for peripheral servicing

InterruptedExecution InterruptedExecution Execution

I/O refresh

Normal peripheral servicing

Peripheral servicing

Peripheral servicing

Program section requiring data concurrence

DI(693) executed. EI(694) executed.

Area Applicability

Block programming areas Yes

Step programming areas Yes

Subroutine programs Yes

Interrupt tasks No

Flag Label Operation

Error Flag ER Turns ON if DI(693) is executed in an interrupt task, and OFF otherwise

(@)DI(693)

EI(694) EI(694) requires no execution condition.

310

Page 332: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Peripheral Servicing Priority Mode Section 6-9

Applicable Program Areas

Condition Flags

CS1-H, CJ1-H, and CJ1M CPU UnitsIOSP(287) When executed, IOSP(287) disables peripheral servicing. Peripheral servic-

ing will remain disabled if IOSP(287) is executed when it is already disabled.

Symbol

Applicable Program Areas

Condition Flags

IORS(288) When executed, IORS(288) enables disables peripheral servicing that wasdisabled with IOSP(287). Peripheral servicing will remain enabled ifIORS(288) is executed when it is already enabled.

Symbol

Applicable Program Areas

Condition Flags

Area Applicability

Block programming areas Yes

Step programming areas Yes

Subroutine programs Yes

Interrupt tasks No

Flag Label Operation

Error Flag ER Turns ON if EI(694) is executed in an interrupt task.

Area Applicability

Block programming areas Yes

Step programming areas Yes

Subroutine programs Yes

Interrupt tasks No

Flag Label Operation

Error Flag ER Turns ON if IOSP(287) is executed in an interrupt task, and OFF otherwise

IOSP

Area Applicability

Block programming areas Yes

Step programming areas Yes

Subroutine programs Yes

Interrupt tasks No

Flag Label Operation

Error Flag ER Turns ON if IORS(288) is executed in an interrupt task.

IORS

311

Page 333: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Battery-free Operation Section 6-10

6-10 Battery-free OperationThe CS-series and CJ-series PLCs can be operated without a Batteryinstalled (or with an exhausted Battery). The procedure used for battery-freeoperation depends on the following items.

• CPU Unit

• Whether or not I/O memory (e.g., CIO Area) is maintained or not

• Whether or not the DM and EM Areas are initialized at startup

• Whether or not the DM and EM Areas are initialized from the user pro-gram

The above differences are summarized in the following table.

Note 1. When using battery-free operation, disable detecting a low battery voltagein the PLC Setup regardless of the method used for battery-free operation.

2. If a Battery is not connected or the Battery is exhausted, the following re-strictions will apply to CPU Unit operation. This is true regardless of theCPU Unit being used.

• The contents of I/O memory (including the HR, DM, and EM Areas)may not be correctly maintained. Therefore, set the PLC Setup so thatthe status of the I/O Memory Hold Flag (A50012) and the Forced Sta-tus Hold Flag (A50013) are not maintained when power is turned ON.

• The clock function cannot be used. The clock data in A351 to A354and the startup time in A510 and A511 will not be dependable. Thefiles dates on files written to the Memory Card from the CPU Unit willalso not be dependable.

• The following data will be all-zeros at startup: Power ON Time (A523),Power Interruption Time (A512 and A513), and Number of Power In-terruptions (A514).

• The Error Log Area in A100 to A199 will not be maintained.

• The current EM bank will always be 0 at startup.

• There will be no files left in the EM file memory at startup and the filememory functions cannot be used. The EM file memory must be resetin the PLC Setup and the EM file memory must be reformatted to useit.

CS1-H, CJ1-H, or CJ1M CPU UnitsBattery-free operation is possible for CS1-H, CJ1-H, or CJ1M CPU Units withnormal operation. The user program and parameter data are automaticallybacked up to flash memory in the CPU Unit and are automatically restoredfrom flash memory at startup. In this case, the I/O memory will not be main-tained and the DM and EM Areas must be initialized from the user program.

Battery-free operation is also possible for the CS1-H, CJ1-H, or CJ1M CPUUnits by automatically transferring data from a Memory Card at startup, just

CPU Unit Not maintaining I/O memory Maintaining I/O memory

No initializing DM and EM Areas at startup

Initializing DM and EM Areas at startup

From user program Not from user program

CS1-H, CJ1-H, or CJ1M

Use normal operation (using flash memory) or a Memory Card.

Use automatic transfer from a Memory Card at startup. (Turn ON pin 2 of DIP switch.)

Not possible with any method. A Battery must be installed.

CS1 or CJ1 Use automatic transfer from a Memory Card at startup. (Turn ON pin 2 of DIP switch.)

312

Page 334: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Battery-free Operation Section 6-10

as it is for the CS1 CPU Units. (With a Memory Card, the DM and EM Areadata can be included.)

CJ1 and CJ1 CPU UnitsBattery-free operation is possible for the CS1 and CJ1 CPU Units by automat-ically transferring data from a Memory Card at startup. In this case, the I/Omemory will not be maintained. (With a Memory Card, the DM and EM Areadata can be included.)

ProcedureThe following flowcharts show the procedures for the two types of CPU Unit.

CS1-H, CJ1-H, or CJ1M CPU Units

CIO/WR/TIM CNT/HR/DM/EM

CNT/HR/DM/EM

Operation with a Battery

Required data?

Maintain previous I/O

data at startup?

Use normal operation. No Memory Card is required.PLC Setup: Disable detection a low battery voltage and set I/O Memory Hold Bit status to be maintained at when power is turned ON.

Battery-free Operation

Initialize I/O memory before

program execution?

Initialize I/O memory from the

program?

Initialize only DM Area words allocated

to CPU Bus Units and Inner Boards

(D20000 to D32767)?

Initialize all of the DM and EM Areas starting from D00000.

Use normal operation. No Memory Card is required. User program and parameter data backed up in flash memory.PLC Setup: Disable detection a low battery voltage.

Automatically transfer data from a Memory Card at startup.Required files: AUTOEXEC.OBJ, AUTOEXEC.STD, and AUTOEXEC.IOMPLC Setup: Disable detection a low battery voltage.

Automatically transfer data from a Memory Card at startup.Required files: AUTOEXEC.OBJ, AUTOEXEC.STD, AUTOEXEC.IOM, etc.PLC Setup: Disable detection a low battery voltage.

Power ON

Yes

No

No

No

No

Other. Battery-free operation not necessary.

Yes

Use normal operation. No Memory Card is required.PLC Setup: Enable detection a low battery voltage.

Yes, initialize I/O memory from the program.

313

Page 335: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Other Functions Section 6-11

CS1 and CJ1 CPU Units

6-11 Other Functions

6-11-1 I/O Response Time SettingsThe input response times for CS/CJ Basic I/O Units can be set by Rack andSlot number. Increasing the input response time reduces the effects of chat-tering and noise. Decreasing the input response time (but keeping the pulsewidth longer than the cycle time) allows reception of shorter input pulses.

Note With CS-series CPU Units, pulses shorter than the cycle time can be inputwith the high-speed inputs available in some C200H High-density I/O Units orwith a High-speed Input Unit. Refer to !�!��5�)#!����������� for details.

CIO/WR/TIM CNT/HR/DM/EM

CNT/HR/DM/EM

Operation with a Battery

Required data?Maintain previous

I/O data at startup?

Use normal operation. No Memory Card is required.PLC Setup: Disable detection a low battery voltage and set I/O Memory Hold Bit status to be maintained at when power is turned ON.

Battery-free Operation

Initialize only DM Area words allocated to CPU

Bus Units and Inner Boards (D20000 to

D32767)?

Initialize all of the DM and EM Areas starting from D00000.

Automatically transfer data from a Memory Card at startup.Required files: AUTOEXEC.OBJ, AUTOEXEC.STD, and AUTOEXEC.IOMPLC Setup: Disable detection a low battery voltage.

Automatically transfer data from a Memory Card at startup.Required files: AUTOEXEC.OBJ, AUTOEXEC.STD, AUTOEXEC.IOM, etc.PLC Setup: Disable detection a low battery voltage.

Power ON

No

No

Other. Battery-free operation not necessary.

Yes

Use normal operation. No Memory Card is required.PLC Setup: Enable detection a low battery voltage.

CS1 Basic I/O Unit

Pulses shorter than the input response time are not received.

CPU Unit

Input response time

I/O refreshing

Input response time

I/O refreshing

CS1 Basic I/O Unit

CPU Unit

314

Page 336: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Other Functions Section 6-11

PLC Setup

The input response times for the 80 slots in a CS/CJ PLC (Rack 0 Slot 0through Rack 7 slot 9) can be set in the 80 bytes in addresses 10 through 49.

6-11-2 I/O Area AllocationA Programming Device can be used to set the first word for I/O allocation inExpansion Racks (CS/CJ Expansion Racks and C200H Expansion I/ORacks). This function allows each Rack’s I/O allocation area to be fixed withinthe range CIO 0000 to CIO 0999. (The first words are allocated by rack num-ber.)

Programming Console address

Name Setting (Hex) Default (Hex)

10Bits 0 to 7

CS/CJ Basic I/O UnitInput Response Time for Rack 0, Slot 0

00: 8 ms10: 0 ms11: 0.5 ms12: 1 ms13: 2 ms14: 4 ms15: 8 ms16: 16 ms17: 32 ms

00 (8 ms)

: : : :

49 Bits 8 to 15

CS/CJ Basic I/O UnitInput Response Time for Rack 7, Slot 9

Same as above. 00 (8 ms)

315

Page 337: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Other Functions Section 6-11

316

Page 338: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

SECTION 7Program Transfer, Trial Operation, and Debugging

This section describes the processes used to transfer the program to the CPU Unit and the functions that can be used to testand debug the program.

7-1 Program Transfer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318

7-2 Trial Operation and Debugging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318

7-2-1 Forced Set/Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318

7-2-2 Differential Monitoring. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

7-2-3 Online Editing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320

7-2-4 Tracing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323

317

Page 339: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Program Transfer Section 7-1

7-1 Program TransferA Programming Device is used to transfer the programs, PLC Setup, I/Omemory data, and I/O comments to the CPU Unit with the CPU Unit in PRO-GRAM mode.

Program Transfer Procedure for CX-Programmer

1,2,3... 1. Select PLC, Transfer, and then To PLC. The Download Options DialogBox will be displayed.

2. Specify the items for the transfer from among the following: Programs, Set-tings (PLC Setup), I/O table, Symbols, Comments, and Program index.

Note The I/O table and Comments can be selected only if they exist on theMemory Card in the CPU Unit.

3. Click the OK button.

The program can be transferred using either of the following methods.

• Automatic transfer when the power is turned ON

When the power is turned ON, the AUTOEXEC.OBJ file in the Memory Cardwill be read to the CPU Unit (pin 2 on the DIP switch must be ON).

• Program replacement during operation

The existing program file can be replaced with the program file specified in theAuxiliary Area by turning ON the Replacement Start Bit in the Auxiliary Area(A65015) from the program while the CPU Unit is in operation. Refer to ���!�����,�"���$�%����"�'����� for details.

7-2 Trial Operation and Debugging

7-2-1 Forced Set/ResetA Programming Device can force-set (ON) or reset (OFF) specified bits (CIOArea, Auxiliary Area, HR Area, and timer/counter Completion Flags). Forcedstatus will take priority over status output from the program or I/O refreshing.This status cannot be overwritten by instructions, and will be stored regard-less of the status of the program or external inputs until it is cleared from aProgramming Device.

Force-set/reset operations are used to force input and output during a trialoperation or to force certain conditions during debugging.

Force-set/reset operations can be executed in either MONITOR or PRO-GRAM modes, but not in RUN mode.

Note Turn ON the Forced Status Hold Bit (A50013) and the IOM Hold Bit (A50012)at the same time to retain the status of bits that have been force-set or resetwhen switching the operating mode.

Turn ON the Forced Status Hold Bit (A50013) and the IOM Hold Bit (A50012),and set the Forced Status Hold Bit at Startup setting PLC Setup to retain thestatus of the Forced Status Hold Bit hold to retain the status of bits that havebeen force-set or reset when turning OFF the power.

318

Page 340: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Trial Operation and Debugging Section 7-2

The following areas can be force-set and reset.

CIO (I/O bits, data link bits, CPU Bus Unit bits, Special I/O Unit bits, InnerBoard bits, SYSMAC BUS bits, Optical I/O Unit bits, work bits), WR Area,Timer Completion Flags, HR Area, Counter Completion Flags. (The InnerBoard, SYSMAC BUS, and I/O Terminal Areas are supported by the CS-series CPU Units only.)

Programming Device Operation• Select bits for forced setting/resetting.

• Select forced set or forced reset.

• Clear forced status (including clearing all forced status at the same time).

7-2-2 Differential MonitoringWhen the CPU Unit detects that a bit set by a Programming Device haschanged from OFF to ON or from ON to OFF, the results are indicated in the aDifferentiate Monitor Completed Flag (A50809). The Flag will turn ON whenconditions set for the differential monitor have been met. A ProgrammingDevice can monitor and display these results on screen.

Programming Device Operation for CX-Programmer

1,2,3... 1. Right-click the bit for differential monitoring.

2. Click Differential Monitor from the PLC Menu. The Differential Monitor Di-alog Box will be displayed.

3. Click Rising or Falling.

4. Click the Start button. The buzzer will sound when the specified change isdetected and the count will be incremented.

5. Click the Stop button. Differential monitoring will stop.

Forced ON regardless of programming

Input ignored

Output Unit CPU Unit

Forced set

Forced set

Pro

gram

CPU Unit

I/O memory

Bit AMoni-tored for OFF to ON transi-tion.

Programming DeviceDetects bit A OFF to ON transition.

319

Page 341: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Trial Operation and Debugging Section 7-2

Related Auxiliary Bits/Words

7-2-3 Online EditingThe Online Editing function is used to add to or change part of a program in aCPU Unit directly from the Programming Devices when the CPU Unit is inMONITOR or PROGRAM mode. Additions or changes are made one instruc-tion at a time for the Programming Console and one or more program sectionsat a time from the CX-Programmer. The function is thus designed for minorprogram changes without stopping the CPU Unit.

Online editing is possible simultaneously from more than one computer run-ning the CX-Programmer as well as from a Programming Console as long asdifferent tasks are edited.

The cycle time will be increased by from one to several cycle times if the pro-gram in the CPU Unit is edited online in MONITOR mode.

The cycle time for CS1-H, CJ1-H, and CJ1M CPU Units will also be increasedto back up data in the flash memory after online editing. The BKUP indicatorwill be lit during this period. The progress of the backup is displayed on theCX-Programmer. The increases per cycle are listed in the following table.

With a CS1-H, CJ1-H, or CJ1M CPU Unit, there is a limit to the number ofedits that can be made consecutively. The actual number depends on the typeof editing that is performed, but the following can be used as guidelines.

CJ1M-CPU@@: 40 editsCS1G-CPU@@H/CJ1G-CPU@@H: 160 editsCS1H-CPU@@H/CJ1H-CPU@@H: 400 edits

Name Address Description

Differentiate Monitor Completed Flag

A50809 Turns ON when the differential monitoring condition has been met dur-ing differential monitoring.

Note: The flag will be cleared when differential monitoring is started.

CPU Unit Increase in cycle time

Online editing Backup to flash memory

CS1 CPU Units pre-EV1 90 ms max. Not supported.

CS1 CPU Units EV1 or later 12 ms max.

CS1-H CPU Units 4% or cycle time

CS1 CPU Units Not supported.

CJ1-H CPU Units 4% or cycle time

CJ1M CPU Units

Programming Device

Operating in MONITOR mode.

Program section changed

Online Editing

320

Page 342: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Trial Operation and Debugging Section 7-2

A message will be displayed on the CX-Programmer or Programming Consoleif the limit is exceeded, and further editing will not be possible until the CPUUnit has completed backing up the data.

Task Size and Cycle Time Extension

The relation to the size of the task being edited to cycle time extension is asfollows:

When using a version 1 or later CS1 CPU Unit, CS1-H CPU Unit, CJ1 CPUUnit, or CJ1M CPU Unit, the length of time that the cycle time is extended dueto online editing is almost unaffected by the size of the task (program) beingedited.

When using a pre-EV1 CS1 CPU Unit, the size of the task that is being editedwill determine the length of time that a program will be stopped for online edit-ing. By splitting the program into smaller tasks, the amount of time that thecycle is extended will be shorter using the Online Editing function than withprevious PLC models.

Precautions The cycle time will be longer than normal when a program is overwritten usingOnline Editing in MONITOR mode, so make sure that the amount of time thatit is extended will not exceed the cycle monitoring time set in the PLC Setup. Ifit does exceed the monitoring time, then a Cycle Time Over error will occur,and the CPU Unit will stop. Restart the CPU Unit by selecting PROGRAMmode first before changing to RUN or MONITOR mode.

Note If the task being edited online contains a block program, then previous exe-cute data such as Standby (WAIT) or Pause status will be cleared by onlineediting, and the next execution will be from the beginning.

Online Editing from CX-Programmer

1,2,3... 1. Display the program section that will be edited.

2. Select the instructions to be edited.

3. Select Program, Online Edit, and then Begin.

4. Edit the instructions.

5. Select Program, Online Edit, and then Send Changes The instructionswill be check and, if there are no errors, they will be transferred to the CPUUnit. The instructions in the CPU Unit will be overwritten and cycle time willbe increased at this time.

!Caution Proceed with Online Editing only after verifying that the extended cycle timewill not affect operation. Input signals may not be input if the cycle time is toolong.

Temporarily Disabling Online Editing

It is possible to disable online editing for a cycle to ensure response charac-teristics for machine control in that cycle. Online editing from the Program-ming Device will be disabled for one cycle and any requests for online editingreceived during that cycle will be held until the next cycle.

Online editing is disabled by turning ON the Online Editing Disable Bit(A52709) and setting the Online Editing Disable Bit Validator (A52700 toA52707) to 5A. When these settings have been made and a request for onlineediting is received, online editing will be put on standby and the Online EditingWait Flag (A20110) will be turned ON.

When the Online Editing Disable Bit (A52709) is turned OFF, online editingwill be performed, the Online Editing Processing Flag (A20111) will turn ON,and the Online Editing Wait Flag (A20110) will turn OFF. When online editing

321

Page 343: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Trial Operation and Debugging Section 7-2

has been completed, the Online Editing Processing Flag (A20111) will turnOFF.

Online editing can also be temporarily disabled by turning ON the Online Edit-ing Disable Bit (A52709) while online editing is being performed. Here too, theOnline Editing Wait Flag (A20110) will turn ON.

If a second request for online editing is received while the first request is onstandby, the second request will not be recorded and an error will occur.

Online editing can also be disabled to prevent accidental online editing. Asdescribed above, disable online editing by turning ON the Online Editing Dis-able Bit (A52709) and setting the Online Editing Disable Bit Validator (A52700to A52707) to 5A.

Enabling Online Editing from a Programming Device

When online editing cannot be enabled from the program, it can be enabledfrom the CX-Programmer.

1,2,3... 1. Performing Online Editing with a Programming Console

If online editing is executed from a Programming Console and the onlineediting standby status cannot be cleared, the Programming Console will belocked out and Programming Console operations will not be possible.

In this case, connect the CX-Programmer to another serial port and turnOFF the Online Edit Disable Bit (A52709). The online editing will be pro-cessed and Programming Console operations will be possible again.

2. Performing Online Editing with the CX-Programmer

If operations continue with online editing in standby status, CX-Program-mer may go offline. If this occurs, reconnect the computer to the PLC andturn OFF the Online Edit Disable Bit (A52709).

Related Auxiliary Bits/Words

Turning OFF OutputsIf the Output OFF Bit (A50015) is turned ON through the OUT instruction orfrom a Programming Device, all outputs from all Output Units will be turnedOFF (this applies to the built-in general-purpose or pulse outputs on CJ1MCPU Units as well), and the INH indicator on the front of the CPU Unit will turnON.

The status of the Output OFF Bit is maintained even if power is turned OFFand ON.

Name Address Description

Online Edit Disable Bit Validator A52700 to A52707

Validates the Online Edit Disable Bit (A52709).

Not 5A: Online Edit Disable Bit invalid5A: Online Edit Disable Bit valid

Online Edit Disable Bit A52709 To disable online editing, turn this bit ON and set the Online Edit Disable Bit Validator (A52700 to A52707) to 5A.

Online Editing Wait Flag A20110 ON when an online editing process is on standby because online editing is disabled.

Online Editing Processing Flag A20111 ON when an online editing process is being executed.

322

Page 344: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Trial Operation and Debugging Section 7-2

7-2-4 Tracing DataThe Data Trace function samples specified I/O memory data using any one ofthe following timing methods, and it stores the sampled data in Trace Memory,where they can be read and checked later from a Programming Device.

• Specified sampling time (10 to 2,550 ms in 10-ms units)

• One sample per cycle

• When the TRACE MEMORY SAMPLING instruction (TRSM) is executed

Up to 31 bits and 6 words in I/O memory can be specified for sampling. TraceMemory capacity is 4,000 words.

Basic Procedure

1,2,3... 1. Sampling will start when the parameters have been set from the CX-Pro-grammer and the command to start tracing has been executed.

2. Sampled data (after step 1 above) will be traced when the trace triggercondition is met, and the data just after the delay (see note 1) will be storedin Trace Memory.

3. Trace Memory data will be sampled, and the trace ended.

Note Delay value: Specifies how many sampling periods to offset the sampling inTrace Memory from when the Trace Start Bit (A50814) turns ON. The settingranges are shown in the following table.

Positive delay: Store data delayed by the set delay.

Negative delay: Store previous data according go to the set delay.

Example: Sampling at 10 ms with a –30 ms delay time yields –30 x 10 = 300ms, so data 300 ms before the trigger will be stored.

Note Use a Programming Device to turn ON the Sampling Start Bit (A50815).Neverturn ON this bit from the user program.

All OFF

Output Unit CPU Unit

Output OFF Bit: ON

No. of words sampled

Setting range

0 –1999 to 2000

1 –1332 to 1333

2 –999 to 1000

3 –799 to 800

4 –665 to 666

5 –570 to 571

6 –499 to 500

323

Page 345: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Trial Operation and Debugging Section 7-2

The following traces can be executed.

Scheduled Data Trace A scheduled data trace will sample data at fixed intervals. Specified samplingtimes are 10 to 2,550 ms in 10-ms units. Do not use the TRSM instruction inthe user program and be sure to set the sampling period higher than 0.

One-cycle Data Trace A one-cycle data trace will sample I/O refresh data after the end of the tasksin the full cycle. Do not use the TRSM instruction in the user program and besure to set the sampling period higher than 0.

Data Trace via TRSM A sample will be taken once when the TRACE MEMORY SAMPLING instruc-tion (TRSM) instruction is executed. When more than one TRSM instruction isused in the program, a sample will be taken each time the TRSM instruction isexecuted after the trace trigger condition has been met.

Data Trace ProcedureUse the following procedure to execute a trace.

1,2,3... 1. Use the CX-Programmer to set trace parameters: Address of the sampleddata, sampling period, delay time, and trigger conditions.

2. Use CX-Programmer to start sampling or turn ON the Sampling Start Bit(A50815).

3. Put the trace trigger condition into effect.

4. End tracing.

5. Use CX-Programmer to read the trace data.

a) Select Data Trace from the PLC Menu.

b) Select Select from the Execution Menu.

c) Select Execute from the Execution Menu.

d) Select Read from the Execution Menu.

Related Auxiliary Bits/Words

Sampling Start Bit

Trace Start Bit

Trace Trigger Monitor Flag

Trace Busy Flag

Trace Completed Flag

Sampling

Name Address Description

Sampling Start Bit A50815 Use a Programming Device to turn ON this bit to start sampling. This bit must be turned ON from a Programming Device.Do not turn this bit ON and OFF from the user program.

Note: The bit will be cleared when the Data Trace has been completed.

Trace Start Bit A50814 When this bit is turned ON, the trace trigger will be monitored and sam-pled data will be stored in Trace Memory when the trigger condition is met. The following traces are enabled with this bit.1) Scheduled trace (trace at fixed intervals of 10 to 2,550 ms)

2) TRSM instruction trace (trace when the TRSM executes)3) One-cycle trace (trace at the end of execution of all cyclic tasks)

324

Page 346: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Trial Operation and Debugging Section 7-2

Trace Trigger Monitor Flag

A50811 This flag turns ON when the trace trigger condition has been met after the Trace Start Bit has turned ON. This flag will turn OFF when the sampling is started again by turning ON the Sampling Start Bit.

Trace Busy Flag A50813 This flag turns ON when sampling is started by a Sampling Start Bit and turns OFF when the trace has been completed.

Trace Completed Flag A50812 This flag turns ON if Trace Memory becomes full after the trace trigger condition has been met during a trace operation and turns OFF when the next sampling operation is started.

Name Address Description

325

Page 347: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series
Page 348: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Appendix APLC Comparison Charts:

CJ-series, CS-series, C200HG/HE/HX,

CQM1H, CVM1, and CV-series PLCs

Functional ComparisonItem CJ Series CS Series C200HX/HG/

HECVM1/CV

SeriesCQM1H

Basic features Ca-pacity

No. of I/O points

2,560 points 5,120 points 1,184 points 6,144 points 512 points

Program capacity

120 KstepsOne step is basically equivalent to one word. Refer to the end of 10-5 Instruction Execution Times and Number of Steps in the Operation Manual for details.

250 KstepsOne step is basi-cally equivalent to one word. Refer to the end of 10-5 Instruc-tion Execution Times and Num-ber of Steps in the Operation Manual for details.

2 Kwords(63.2 Kwords for -Z)

62 Kwords 15.2 Kwords

Max. data memory

32 Kwords 32 Kwords 6 Kwords 24 Kwords 6 Kwords

I/O bits 160 words (2,560 bits) 320 words (5,120 bits)

40 words (640 bits)

128 words (2,048 bits)

32 words (512 bits)

Work bits 2,644 words (42,304 bits) + WR: 512 words (8,192 bits) = 3,156 words (50,496 bits)

2,644 words (42,304 bits) + WR: 512 words (8,192 bits) = 3,156 words (50,496 bits)

408 words (6,528 bits)

168 words (2,688 bits)+400 words (6,400 bits)

158 words (2,528 bits)

Holding bits 512 words (8,192 bits) 512 words (8,192 bits)

100 words (1,600 bits)

300 words (4,800 bits)Max.: 1, 400 words (2, 400 bits)

100 words (1,600 bits)

Max. extended data mem-ory

32 Kwords x 7 banks 32 Kwords x 13 banks

6 Kwords x 3 banks (6 Kwords x 16 banks for -Z)

32 Kwords x 8 banks (Optional)

6 Kwords

Max. No. timers/ counters

4,096 each 4,096 each Timers/counters com-bined: 512

1,024 points Timers/counters com-bined: 512

Pro-cess-ing speed

Basic instructions (LD)

CJ1: 0.08��s min.CJ1-H: 0.02��s min.CJ1M: 0.1��s min.

CS1:0.04��s min.CS1-H:0.02��s min.

0.104��s min. 0.125��s min. 0.375��s min.

Special instructions (MOV)

CJ1: 0.25��s min.CJ1-H: 0.18��s min.CJ1M: 0.3��s min.

CS1:0.25��s min.CS1-H:0.18��s min.

0.417��s min. 4.3��s min. 17.7��s

System overhead time

CJ1: 0.5�ms min.CJ1-H: 0.3�ms min. in normal mode, 0.2 ms in a parallel process-ing modeCJ1M: 0.5�ms min.

CS1:0.5�ms min.CS1-H: 0.3�ms min. in normal mode, 0.2 ms in a parallel pro-cessing mode

0.7 ms 0.5 ms 0.7 ms

Delay during Online Edit (write)

CJ1: Approx. 12�ms CJ1-H: Approx. 11�ms for CPU4@ and 8 ms for CPU6CJ1M: Approx. 14�ms

CS1: Approx. 12�ms CS1-H: Approx. 11�ms for CPU4@ and 8 ms for CPU6

80 ms (160 ms for -Z)

500 ms Typically 250 ms

327

Page 349: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

PLC Comparison Charts Appendix A

Structure Screw mounting No Yes Yes Yes No

DIN Track mounting Yes Yes Yes No Yes

Backplanes No Yes Yes Yes No

Size (H x D, mm) 90 x 65 130 x 123 130 x 118 250 x 100 110 x 107

Number of Units/Racks

I/O Units 40 Units 89 Units (Includ-ing Slave Racks)

10 or 16 Units 64 Units (8 Racks x 8 Units)

16 Units

CPU Bus Units 16 Units 16 Units None 16 Units None

Expansion I/O Racks 3 Racks 7 Racks 3 Racks 7 Racks 1 Rack

Task function Yes Yes No No No

CPU process-ing mode (pro-gram execution and peripheral servicing)

Normal Mode Yes Yes --- --- ---

Peripheral Servicing Priority Mode

Yes Yes --- --- ---

Parallel Processing with Synchronous Memory Access

CJ1: NoCS1-H: YesCJ1M: No

CS1: NoCS1-H: Yes

No No No

Parallel Processing with Asynchronous Memory Access

CS1: NoCJ1-H: YesCJ1M: No

CS1: NoCS1-H: Yes

No No No

I/O refresh for-mat

Cyclic refreshing Yes Yes Yes Yes Yes

Scheduled refreshing No No No Yes No

Zero-cross refreshing No No No Yes No

Immediate refreshing Yes Yes No Yes No

Immediate refresh-ing using IORF instruction

Yes Yes Yes Yes Yes

Clock function Yes Yes Yes Yes Yes (Memory Cassette required)

RUN output Yes (Depending on Power Supply Unit)

Yes (Depending on Power Supply Unit)

Yes (Depend-ing on Power Supply Unit)

Yes No

Startup Mode (for default PLC Setup setting when no Programming Console is connected)

RUN mode CS1: PRO-GRAM modeCS1-H: RUN mode

RUN mode RUN mode PROGRAM mode

Disabling Power Interrupt Processing CJ1: NoCJ1-H: YesCJ1M: Yes

CS1: NoCS1-H: Yes

No No No

Battery-free operation CJ1: Memory CardCJ1-H: Memory Card or flash memoryCJ1M: Memory Card or flash memory

CS1: Memory CardCS1-H: Memory Card or flash memory

Memory Card Memory Card Memory Cas-sette

Automatic backup to flash memory CJ1: NoCJ1-H: YesCJ1M: Yes

CS1: NoCS1-H: Yes

No No No

Restart continuation No No No Yes No

Item CJ Series CS Series C200HX/HG/HE

CVM1/CV Series

CQM1H

328

Page 350: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

PLC Comparison Charts Appendix A

External mem-ory

Medium Memory card (Flash ROM)

Memory card (Flash ROM)

Memory cas-sette (EEPROM, EPROM)

Memory card(RAM, EEPROM, EPROM)

Memory cas-sette (ROM, EEPROM, EPROM)

Capacity 48 Mbytes 48 Mbytes 4 to 32 Kwords (4 to 64 Kwords for -Z)

32 to 512 Kwords (RAM: 64 to 512 Kbytes, EEPROM: 64 to 128 Kbytes, EPROM: 0.5 to 1 Mbytes

4 to 16 Kwords

Contents Programs, I/O mem-ory, parameters

Programs, I/O memory, parame-ters

Programs, I/O memory, parameters

Programs, I/O memory, parameters

Programs, read-only DM, parameters

Read/write method Programming Device, user program (file memory instructions), or Host Link

Programming Device, user pro-gram (file mem-ory instructions), or Host Link

Turning ON SR bit

Programming Device, user program (file memory instructions), Host Link, or Memory Card Writer

Turning ON AR bit

File format Binary Binary Binary Binary Binary

Extended Data Mem-ory handled as files

Yes (except for CJ1M CPU Units)

Yes No No No

Programs automati-cally transferred at startup

Yes Yes Yes Yes Yes

Inner Board No Serial Communi-cations Board

Communica-tions Board

No Communica-tions Board

Built-in serial ports Yes (RS-232C x 1) Yes (RS-232C x 1)

Yes (RS-232C x 1)

Yes RS-232C or RS-422 x 1)

Yes (RS-232C x 1)

Serial communi-cations

Pe-ripher-al port

Peripheral bus

Yes Yes Yes Yes Yes

Host Link (SYSMAC WAY)

Yes Yes Yes No(Possible with connection to peripheral interface)

Yes

No protocol No No Yes No Yes

NT Link Yes Yes No No No

CPU Unit built-in RS-232C port

Peripheral bus

Yes Yes Yes No No

Host Link (SYSMAC WAY)

Yes Yes Yes Yes Yes

No protocol Yes Yes Yes No Yes

NT Link Yes (1:N) Yes (1:N) Yes No Yes (1:1)

Serial PLC Links

Yes (CJ1M only) No No No No

RS-232C or RS-422/ RS-485 on Com-muni-cations Board

Peripheral bus

No No Yes No No

Host Link (SYSMAC WAY)

No YesThe WG, MP, and CR commands are not sup-ported.

YesThe CR com-mand is not supported.

YesThe WG and MP com-mands are not supported.

YesThe CR com-mand is not supported.

No protocol No No Yes No Yes

NT Link No Yes Yes No Yes (1:1 and 1:N)

Protocol macro

No Yes Yes No Yes

CompoWay/F Master

No Yes (using proto-col macro)

Yes (using pro-tocol macro)

No Yes (using pro-tocol macro)

Item CJ Series CS Series C200HX/HG/HE

CVM1/CV Series

CQM1H

329

Page 351: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

PLC Comparison Charts Appendix A

Interrupts I/O interrupts Yes (Max 2 Interrupt Input Units: 32 points, plus 4 points for built-in I/O on CJIM CPU Units) (CJ1 CPU Units do not support I/O interrupts.)

Yes (Max. 4 or 2 Interrupt Input Units: 32 points)

Yes (Max. 2 Interrupt Input Units: 16 points)

Yes (Max. 4 Interrupt Input Units: 32 points)

Yes (4 built into CPU Bus Unit)

Scheduled interrupts Yes Yes Yes Yes Yes

One-shot timer inter-rupts

No No No No Yes

Input interrupts in counter mode

Yes (CJ1M CPU Units only)

No No No Yes

High-speed counter interrupts

Yes (CJ1M CPU Units only)

No No No Yes

External interrupts Yes (CJ1 CPU Units do not support exter-nal interrupts.)

Yes No No No

From Communica-tions Board

No Yes Yes No No

Power-ON interrupt No No No Yes No

Power-OFF interrupt Yes Yes No Yes No

Interrupt response time

0.17 msBuilt-in I/O on CJ1M CPU Units: ).12 ms

C200H Special I/O Unit: 1 msCJ-series I/O: 0.1 ms

1 ms --- Approx. 0.1 ms

PLC Setup Area No user addresses (setting possible only from Programming Device, including Pro-gramming Console)

No user addresses (set-ting possible only from Program-ming Device, including Pro-gramming Con-sole)

Fixed DM Area allocation: DM 6600 to DM 6655, DM 6550 to DM 6559.Setting possi-ble from Pro-gramming Console.

No user addresses (set-ting possible only from Pro-gramming Device, includ-ing partially from Program-ming Console)

Fixed DM Area allocation: DM 6600 to DM 6655. Set-ting possible from Program-ming Console.

Item CJ Series CS Series C200HX/HG/HE

CVM1/CV Series

CQM1H

330

Page 352: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

PLC Comparison Charts Appendix A

Initial set-tings

I/O Input response time for Basic I/O Unit

Set in PLC Setup Set in PLC Setup No No Set in PLC Setup

Rack first addresses Set in I/O table from Programming Device (but order of rack numbers is fixed).

Set in I/O table from Program-ming Device (but order of rack numbers is fixed).

No Set in PLC Setup (Rack No. order can be set.)

No

First address of SYS-MAC BUS Optical I/O Units by Master

No No No Set in PLC Setup

No

Operation for I/O ver-ification error

No No No Set in PLC Setup

No

Mem-ory

User memory protec-tion

Set on DIP switch Set on DIP switch Set on DIP switch

Determined by key switch set-ting

Set on DIP switch

Holding areas No No No Set in PLC Setup

No

Holding I/O words for fatal errors (except power failure)

No No No Set in PLC Setup

No

Memory saved using IOM Hold Bit when power to PLC is turned ON

Set in PLC Setup Set in PLC Setup Set in PLC Setup

Set in PLC Setup

Set in PLC Setup

Memory saved using Forced Status Hold Bit when power to PLC is turned ON

Set in PLC Setup Set in PLC Setup Set in PLC Setup

Set in PLC Setup

Set in PLC Setup

DIP switch status monitoring

Yes Yes Yes No Yes

Instruc-tions

Setting indirect DM data to BCD or binary

Direct input possible Direct input pos-sible

No Set in PLC Setup

No

Multiple use of JMP(0) instruction

Multiple use already possible

Multiple use already possible

No Set in PLC Setup

No

Operation for instruc-tion errors (Continue or stop)

Set in PLC Setup Set in PLC Setup No No No

Background execu-tion

CJ1: NoCJ1-H: YesCJ1M: Yes

CS1: NoCS1-H: Yes

No No No

File mem-ory

Automatic transfer at startup

Determined by DIP switch setting (Auto-matically read from Memory Card)

Determined by DIP switch set-ting (Automati-cally read from Memory Card)

Determined by DIP switch set-ting (Automati-cally read from memory cas-sette)

Set in PLC Setup or DIP switch setting (Automatically read from Memory Card)

Determined by DIP switch set-ting (Automati-cally read from Memory Card)

Convert to EM file Set in PLC Setup Set in PLC Setup No No No

Inter-rupts

Interrupt response No No Set in PLC Setup(C200H/High-speed response)

No No

Error detection Set in PLC Setup Set in PLC Setup Set in PLC Setup

No No

Holding I/O inter-rupts during I/O inter-rupt program execution

No No No Set in PLC Setup

No

Power OFF interrupt enabled/disabled

Set in PLC Setup Set in PLC Setup No Set in PLC Setup

No

Scheduled interrupt interval setting

Set in PLC Setup(10 ms, 1.0 ms) (also, 0.1 ms for CJ1M CPU Unit only)

Set in PLC Setup(10 ms, 1.0 ms)

Set in PLC Setup

Set in PLC Setup (10 ms, 1 ms, 0.5 ms)

No

Item CJ Series CS Series C200HX/HG/HE

CVM1/CV Series

CQM1H

331

Page 353: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

PLC Comparison Charts Appendix A

Initial set-tings (contd.)

Power supply

Restart Continuation Bit Hold

No No No Set in PLC Setup

No

Startup mode Set in PLC Setup Set in PLC Setup Set in PLC Setup

Set in PLC Setup

Set in PLC Setup

Startup Condition Settings

CJ1: NoCJ1-H: Yes CJ1M: Yes

CS1: NoCS1-H: Yes

No No No

Startup trace No No No Set in PLC Setup

No

Detect low battery voltage

Set in PLC Setup Set in PLC Setup Set in PLC Setup

Set in PLC Setup

Set in PLC Setup

Momentary power interruption time

No No No Set in PLC Setup

No

Power OFF detec-tion delay time

Set in PLC Setup Set in PLC Setup Set in PLC Setup(Time that oper-ation will con-tinue after power OFF has been detected)

No No

Momentary power interruption as fatal/non-fatal error

No No No Set in PLC Setup

No

Cycles I/O refresh No No Set in PLC Setup (Special I/O Units only)

Set in PLC Setup

No

Constant cycle time Set in PLC Setup(1 to 32,000 ms)

Set in PLC Setup(1 to 32,000 ms)

Set in PLC Setup(1 to 9,999 ms)

Set in PLC Setup (1 to 32,000 ms)

Set in PLC Setup(1 to 9,999 ms)

Monitor cycle time Set in PLC Setup (10 to 40,000 ms) (Initial setting: 1,000 ms fixed)

Set in PLC Setup (10 to 40,000 ms) (Initial setting: 1,000 ms fixed)

Set in PLC Setup (0 to 99) Unit: 1 s, 10 ms, 100 ms (Initial setting: 120 ms fixed)

Set in PLC Setup (10 to 40,000 ms) (Initial setting: 1,000 ms fixed)

Set in PLC Setup (0 to 99) Unit: 1 s, 10 ms, 100 ms (Initial setting: 120 ms fixed)

Detect cycle time over disable

No No Set in PLC Setup

No Set in PLC Setup

Asynchronous instruction execution and peripheral ser-vicing

No No No Set in PLC Setup

No

Serial com-muni-cations

RS-232C port com-munications settings

DIP switch setting for auto-detect or PLC Setup

DIP switch set-ting for auto-detect or PLC Setup

DIP switch set-ting for defaults or PLC Setup

DIP switch set-ting for defaults or PLC Setup

DIP switch set-ting for defaults or PLC Setup

Peripheral port com-munications settings

Set in PLC Setup Set in PLC Setup PLC Setup Set on DIP switch.

Set in PLC Setup

Communications Board communica-tions settings

No No PLC Setup No PLC Setup

CPU pro-cess-ing mode

Parallel processing modes

CJ1: NoCJ1-H: YesCJ1M: No

CS1: NoCS1-H: Yes

No No No

Peripheral Servicing Priority Mode

Yes Yes No No No

Servic-ing other periph-erals

Service time Set in PLC Setup(Fixed Peripheral Ser-vicing Time)

Set in PLC Setup(Fixed Peripheral Servicing Time)

Set in PLC Setup(Built-in RS-232C port, Communica-tions Board, peripheral port)

No Set in PLC Setup(Built-in RS-232C port, Communica-tions Board, peripheral port)

Measure CPU Bus Unit service interval

No No No Set in PLC Setup

No

Stop Special I/O Unit Cyclic Refreshing

Set in PLC Setup Set in PLC Setup Set in PLC Setup

No No

CPU Bus link appli-cation

No No No Set in PLC Setup

No

Item CJ Series CS Series C200HX/HG/HE

CVM1/CV Series

CQM1H

332

Page 354: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

PLC Comparison Charts Appendix A

Initial set-tings (contd.)

Pro-gram-ming Con-sole

Programming Con-sole language

Set on DIP switch CS1: Set on DIP switchCS1-H: Set from Programming Console

Set on DIP switch

No Set on DIP switch

Errors Error Log Area No (Fixed) No (Fixed) No (Fixed: DM 6001 to DM6030)

Set in PLC Setup

No (Fixed: DM 6569 to DM 6599)

Not registering user-defined FAL errors in error log

CJ1: NoCJ1-H: YesCJ1M: Yes

CS1: NoCS1-H: Yes

No No No

Opera-tion

CPU Standby No No No Set in PLC Setup

No

Auxil-iary Area

Condi-tion Flags

ER, CY, <, >, =, Always ON/OFF Flag, etc.

Input using symbols, e.g., ER.

Input using sym-bols, e.g., ER.

Yes Yes Yes

Clock pulses Input using symbols, e.g., 0.1 s.

Input using sym-bols, e.g., 0.1 s.

Yes Yes Yes

Servic-ing

CPU Service Dis-able Bit

No No No Yes No

Codes for connected devices

No No No Yes No

Peripherals process-ing cycle times

No No No Yes No

CPU Bus Unit ser-vice interval

No No No Yes No

Peripherals con-nected to CPU enabled/disabled

No No No Yes No

Host Link/NT Link Service Disable Bit

No No No Yes No

Peripheral Service Disable Bit

No No No Yes No

Scheduled Refresh Disable Bit

No No No Yes No

Inner Board General Purpose Monitoring Area

No Yes Yes No Yes

Cycle time over Yes Yes Yes Yes Yes

Tasks First Task Flag Yes Yes No (Only First Scan Flag)

No (Only First Scan Flag)

No (Only First Scan Flag)

Debug-ging

Online Editing Dis-abled Flag

Yes Yes Yes (AR) No No

Online Edit Standby Flag

Yes Yes Yes (AR) No No

Output OFF Bit Yes Yes Yes Yes Yes

Forced Status Hold Bit

Yes Yes Yes Yes Yes

File mem-ory

File Memory Instruc-tion Flag

Yes Yes No Yes No

EM File Memory For-mat Error Flag

Yes (Except for CJ1M CPU Units)

Yes No No No

EM File Format Start-ing Bank

Yes (Except for CJ1M CPU Units)

Yes No No No

Mem-ory

DIP Switch Status Flags

Yes (pin 6) Yes (pin 6) Yes (AR, pin 6 only)

No Yes (AR, pin 6)

IOM Hold Bit Yes Yes Yes Yes Yes

Inter-rupts

Max. subroutine/action processing time

Yes Yes Yes No No

Interrupt Task Error Flag

Yes Yes Yes No No

Item CJ Series CS Series C200HX/HG/HE

CVM1/CV Series

CQM1H

333

Page 355: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

PLC Comparison Charts Appendix A

Auxil-iary Area, contd

Errors Error log storage area/pointer

Yes Yes No Yes No

Error codes Yes Yes Yes Yes Yes

Initial set-tings

Initializing PLC Setup No No Yes No Yes

Com-muni-cations

PLC Link Operating Level Flags

Yes (PLC Link Auxil-iary Area bit)

Yes (PLC Link Auxiliary Area bit)

Yes (AR) No No

Power supply

Power Interruption Flag

No No No Yes No

Power Interruption Time

No No No Yes No

Power ON Time Yes Yes No Yes No

Time at Power Inter-ruption (including power OFF)

Yes Yes No Yes Yes

Number of Momen-tary Power Interrup-tions

Yes (Number of power interruptions)

Yes (Number of power interrup-tions)

Yes (Number of power interrup-tions)

Yes Yes (Number of power interrup-tions)

Total Power ON Time Yes Yes No No No

Allocation meth-ods

Format Allocation is based on number of words required by Units in order of connection.

Allocation is based on num-ber of words required by Units and vacant slots are skipped.

Fixed word allo-cation: Each Unit is automat-ically allocated one word

Allocation is based on num-ber of words required by Units and vacant slots are skipped.

Allocation is based on num-ber of words required by Units in order of connection.

Group 2 High-den-sity I/O Unit alloca-tion

None Same as for Basic I/O

Group-2 alloca-tion area in IR Area (position determined by front panel switch)

None None

Word reservation method

Change I/O table from CX-Programmer.

Change I/O table from CX-Pro-grammer.

Create I/O table with empty slot or change I/O table made from CX-Pro-grammer.

Dummy I/O Unit or change I/O table from CX-Program-mer.

Automatic allo-cation at star-tup.

Spe-cial I/O Unit alloca-tion

CIO Area Allocation in Special I/O Unit Area accord-ing to Unit No. 10 words per Unit for total of 96 Units.

Allocation in Spe-cial I/O Unit Area according to Unit No. 10 words per Unit for total of 96 Units.

Allocation in Special I/O Unit Area (in IR Area) accord-ing to Unit No. 10 words per Unit for total of 16 Units.

Same as for Basic I/O Units; 2 or 4 words allocated in I/O Area (differs for each Unit)

Same as for Basic I/O Units; 1, 2, or 4 words allocated in I/O Area (differs for each Unit)

DM Area Allocation in D20000 to D29599 according to unit number, 100 words per Unit for total of 96 Units.

Allocation in D20000 to D29599 accord-ing to unit num-ber, 100 words per Unit for total of 96 Units.

Allocation in DM 1000 to DM 1999, and DM 2000 to DM 2599 100 words per Unit for total of 16 Units.

None None

CPU Bus Unit/CPU Bus Unit alloca-tion

CIO Area Allocation in CPU Bus Unit Area according to Unit No. 25 words per Unit for total of 16 Units.

Allocation in CPU Bus Unit Area according to Unit No. 25 words per Unit for total of 16 Units.

None Allocation in CPU Bus Unit Area accord-ing to Unit No. 25 words per Unit for total of 16 Units.

None

DM Area Allocation in D30000 to D31599 according to Unit No. 100 words per Unit for total of 16 Units.

Allocation in D30000 to D31599 accord-ing to Unit No. 100 words per Unit for total of 16 Units.

None Allocation in D02000 to D03599 according to Unit No. 100 words per Unit for total of 16 Units.

None

Item CJ Series CS Series C200HX/HG/HE

CVM1/CV Series

CQM1H

334

Page 356: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

PLC Comparison Charts Appendix A

I/O Memory CIO Area Yes Yes Yes Yes Yes

WR Area Yes Yes No No No

Temporary Relay Area

Yes Yes Yes Yes Yes

Auxiliary Area Yes Yes Yes Yes Yes

SR Area No No Yes No Yes

Link Area Yes (Data Link Area) Yes (Data Link Area)

Yes (Data Link Area)

No Yes

C200H Special I/O Unit Area

Yes Yes Yes (CIO Area) No No

Built-in I/O Area Yes (CJ1M CPU Unit with built-in I/O only)

No No No No

Serial PLC Link Area Yes (CJ1M CPU Unit only)

No No No No

DM Area Yes Yes Yes Yes Yes

Extended Data Mem-ory (EM) Area

Yes (Addresses including bank No. can be designated) (Not supported by CJ1M CPU Unit)

Yes (Addresses including bank No. can be desig-nated)

Yes (Addresses can be desig-nated for -Z, but banks cannot)

Yes (Address including bank cannot be des-ignated; bank must be changed. EM Unit required.)

Yes (no banks)

Timer/Counter Area Yes Yes Yes Yes Yes

Index Registers Yes Yes No Yes No

Data Registers Yes Yes No Yes No

Force-set/ reset areas

CIO Area Yes Yes Yes Yes None

WR Area Yes Yes No No Yes

Holding Area

Yes Yes Yes No No

Auxiliary Area

No No Yes No Yes

SR Area No No No No No

Link Area No No Yes No No

Timer/ Counters

Yes (Flag) Yes (Flag) Yes (Flag) Yes (Flag) Yes (Flag)

DM Area No No No No No

EM Area No No No No No

Instruction varia-tions/ indirect addresses

Upward differentia-tion (executed once)

Yes (Specified by @) Yes (Specified by @)

Yes (Specified by @)

Yes (Specified by �)

Yes (Specified by @)

Downward differenti-ation (executed once)

Yes (Specified by %) Yes (Specified by %)

No (DIFD instruction used instead)

Yes (Specified by �)

No (achieved by using DIFD)

Immediate refresh Yes (Specified by !) Yes (Specified by !)

No (IORF instruction used instead)

Yes (Specified by !)

No (achieved by using IORF)

Indi-rect ad-dress-ing for DM/EM

BCD mode Yes (0000 to 9999)Asterisk is used.

Yes (0000 to 9999)Asterisk is used.

Yes (0 to 9999) Yes (0 to 9999) Yes (0000 to 9999)Asterisk is used.

Binary mode Yes (00000 to 32767)@ is used.0000 to 7FFF Hex: 0000 to 317678000 to FFFF Hex: 00000 to 32767 in next bank

Yes (00000 to 32767)@ is used.0000 to 7FFF Hex: 0000 to 317678000 to FFFF Hex: 00000 to 32767 in next bank

No Yes, but only for indirect addressing using PLC memory addresses.

No

Item CJ Series CS Series C200HX/HG/HE

CVM1/CV Series

CQM1H

335

Page 357: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

PLC Comparison Charts Appendix A

Instruction ComparisonItem Mne-

monicCJ Series CS Series C200HX/HG/HE CVM1/CV

SeriesCQM1H

Sequence Input Instructions

LOAD/AND/OR LD/AND/OR

Yes Yes Yes Yes Yes

AND LOAD/OR LOAD

AND LD/OR LD

Yes Yes Yes Yes Yes

NOT NOT Yes Yes Yes Yes No

CONDITION ON UP Yes Yes No Yes (*1) No

CONDITION OFF DOWN Yes Yes No Yes (*1) No

BIT TEST TST/TSTN

Yes (Bit position specified in binary: 0000 to 000F Hex.)

Yes (Bit position specified in binary: 0000 to 000F Hex.)

Yes (Bit position specified in BCD.) (*2)

Yes (Bit position specified in BCD.) (*1)

No

Sequence Output Instructions

OUTPUT OUT Yes Yes Yes Yes Yes

TR TR Yes Yes Yes Yes Yes

KEEP KEEP Yes Yes Yes Yes Yes

DIFFERENTIATE UP/DOWN

DIFU/DIFD

Yes (LD�, AND�, OR�) (LD�, AND�, OR�)

Yes (LD�, AND�, OR�) (LD�, AND�, OR�)

Yes (DIFU/DIFD)

Yes (LD�, AND�, OR�)/ (LD�,�AND�, OR�)

Yes (DIFU/DIFD)

SET and RESET SET/RSET

Yes Yes Yes Yes Yes

MULTIPLE BIT SET/RESET

SETA/RSTA

Yes (Beginning bit and number of bits specified in binary.)

Yes (Beginning bit and number of bits specified in binary.)

No (*1)(Beginning bit and number of bits specified in BCD.)

No

SINGLE BIT SET/RESET

SET/RSTB

CJ1: NoCJ1-H: YesCJ1M: Yes

CS1: NoCS1-H: Yes

No No No

SINGLE BIT OUT-PUT

OUTB CJ1: NoCJ1-H: YesCJ1M: Yes

CS1: NoCS1-H: Yes

No No No

Sequence Control Instructions

END/NO OPERA-TION

END/NOP

Yes Yes Yes Yes Yes

INTERLOCK/INTERLOCK CLEAR

IL/ILC Yes Yes Yes Yes Yes

JUMP/JUMP END JMP/JME

Yes (Jump num-ber specified in BCD: 0 to 1023)

Yes (Jump num-ber specified in BCD: 0 to 1023)

Yes (Jump num-ber specified in BCD: 0 to 99.)

Yes (Jump num-ber specified in BCD: 0 to 999.)

Yes (Jump num-ber specified in BCD: 0 to 99.)

CONDITIONAL JUMP

CJP/CJPN

Yes (Jump num-ber specified in BCD: 0 to 1023.)

Yes (Jump num-ber specified in BCD: 0 to 1023.)

No Yes (Jump num-ber specified in BCD: 0 to 999.) (*1)

No

MULTIPLE JUMP/JUMP END

JMP0/JME0

Yes Yes No No (but PLC Setup can be set to enable multi-ple jumps with jump number 0)

No

FOR/NEXT LOOPS

FOR/NEXT

Yes Yes No No No

BREAK LOOP BREAK Yes Yes No No No

336

Page 358: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

PLC Comparison Charts Appendix A

Timer and Counter Instructions

TIMER TIM (BCD)

Yes Yes Yes Yes Yes

TIMX (binary)

Yes(*4) Yes(*4) No No No

HIGH-SPEED TIMER

TIMH (BCD)

Yes Yes Yes Yes Yes

TIMHX (binary)

Yes(*4) Yes(*4) No No No

ONE-MS TIMER TMHH (BCD)

Yes Yes No No No

TMHHX (binary)

Yes(*4) Yes(*4) No No No

ACCUMULATIVE TIMER

TTIM (BCD)

Yes Yes Yes Yes Yes

TTIMX (binary)

Yes(*4) Yes(*4) No No No

LONG TIMER TIML (BCD)

Yes Yes No Yes No

TIMLX (binary)

Yes(*4) Yes(*4) No No No

MULTI-OUTPUT TIMER

MTIM (BCD)

Yes Yes No Yes No

MTIMX (binary)

Yes(*4) Yes(*4) No No No

COUNTER CNT (BCD)

Yes Yes Yes Yes Yes

CNTX (binary)

Yes(*4) Yes(*4) No No No

REVERSIBLE COUNTER

CNTR (BCD)

Yes Yes Yes Yes Yes

CNTRX (binary)

Yes(*4) Yes(*4) No No No

RESET TIMER/COUNTER

CNR (BCD)

Yes (Only resets timer or counter.)

Yes (Only resets timer or counter.)

No Yes (Also clears specified range in CIO area to zero.)

No

CNRX (binary)

Yes(*4) Yes(*4) No No No

Compari-son Instruc-tions

Symbol compari-son

=, <, etc.

Yes (All are sup-ported for LD, OR, and AND)

Yes (All are sup-ported for LD, OR, and AND)

Yes (*2) (Sup-ported for AND only)

Yes (*1) (Sup-ported for AND only)

No

COMPARE/ DOUBLE COMPARE

CMP/CMPL

Yes Yes Yes Yes (*3) Yes

SIGNED BINARY COMPARE/ DOUBLE SIGNED BINARY COM-PARE

CPS/CPSL

Yes Yes Yes Yes (*1) Yes

BLOCK COM-PARE

BCMP Yes Yes Yes Yes Yes

EXTENDED BLOCK COMPARE

BCMP2 Yes (CJ1M CPU Units only)

No No No No

TABLE COMPARE TCMP Yes Yes Yes Yes Yes

MULTIPLE COMPARE

MCMP Yes Yes Yes Yes Yes

EQUALS EQU No No No Yes No

AREA RANGE COMPARE

ZCP/ZCPL

CJ1: No (achieved using comparison instructions) CJ1-H: YesCJ1M: Yes

CS1: No (achieved using comparison instructions)CS1-H: Yes

Yes No No (achieved using compari-son instructions)

Item Mne-monic

CJ Series CS Series C200HX/HG/HE CVM1/CV Series

CQM1H

337

Page 359: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

PLC Comparison Charts Appendix A

Data Move-ment Instruction

MOVE MOV Yes Yes Yes Yes Yes

DOUBLE MOVE MOVL Yes Yes No Yes No

MOVE NOT MVN Yes Yes Yes Yes Yes

DOUBLE MOVE MVNL Yes Yes No Yes No

DATA EXCHANGE XCHG Yes Yes Yes Yes Yes

DOUBLE DATA EXCHANGE

XCGL Yes Yes No Yes No

MOVE QUICK MOVQ No No No Yes No

BLOCK TRANS-FER

XFER Yes (Number of words to be transferred specified in binary: 0 to 65535.)

Yes (Number of words to be transferred specified in binary: 0 to 65535.)

Yes (Number of words to be transferred specified in BCD: 0 to 6144.)

Yes (Number of words to be transferred specified in BCD: 0 to 9999.)

Yes (Number of words to be transferred specified in BCD: 0 to 9999.)

BLOCK SET BSET Yes Yes Yes Yes Yes

MOVE BIT MOVB Yes (Source bit position and destination bit position speci-fied in binary.)

Yes (Source bit position and destination bit position speci-fied in binary.)

Yes (Source bit position and destination bit position speci-fied in BCD.)

Yes (Source bit position and destination bit position speci-fied in BCD.)

Yes (Source bit position and destination bit position speci-fied in BCD.)

MULTIPLE BIT TRANSFER

XFRB Yes Yes Yes Yes (*1) Yes

MOVE DIGIT MOVD Yes Yes Yes Yes Yes

SINGLE WORD DISTRIBUTE

DIST Yes (Stack oper-ation function is possible with another instruc-tion. Offset value specified in binary: 0 to 65535.)

Yes (Stack oper-ation function is possible with another instruc-tion. Offset value specified in binary: 0 to 65535.)

Yes (Stack oper-ation function is possible. Offset value specified in BCD: 0 to 8999.)

Yes (Stack oper-ation function is possible with another instruc-tion. Offset value specified in BCD: 0 to 9999.)

Yes (Stack oper-ation function is possible. Offset value specified in BCD: 0 to 8999.)

DATA COLLECT COLL Yes (Stack oper-ation function is possible with another instruc-tion. Offset value specified in binary: 0 to 65535.)

Yes (Stack oper-ation function is possible with another instruc-tion. Offset value specified in binary: 0 to 65535.)

Yes (Stack oper-ation function is possible. Offset value specified in BCD: 0 to 7999.)

Yes (Stack oper-ation function is possible with another instruc-tion. Offset value specified in BCD: 0 to 9999.)

Yes (Stack oper-ation function is possible. Offset value specified in BCD: 0 to 7999.)

EM BLOCK TRANSFER BETWEEN BANKS

BXFR No (Functionally possible for up to 65,535 words by directly addressing EM area using XFER)

No (Functionally possible for up to 65,535 words by directly addressing EM area using XFER)

No Yes (*1) No

EM BLOCK TRANSFER

XFR2 No No Yes No No

EM BANK TRANS-FER

BXF2 No No Yes No No

MOVE TO REGIS-TER

MOVR Yes (No address is specified for indirect DM/EM.)

Yes (No address is specified for indirect DM/EM.)

No Yes (Address is specified for indirect EM/DM.)

No

MOVE TIMER/COUNTER PV TO REGISTER

MOVRW

Yes Yes No No (Possible for Completion Flags only using MOVR)

No

Item Mne-monic

CJ Series CS Series C200HX/HG/HE CVM1/CV Series

CQM1H

338

Page 360: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

PLC Comparison Charts Appendix A

Data Shift Instructions

SHIFT REGISTER SFT Yes Yes Yes Yes Yes

REVERSIBLE SHIFT REGISTER

SFTR Yes Yes Yes Yes Yes

ASYNCHRO-NOUS SHIFT REGISTER

ASFT Yes Yes Yes Yes Yes

WORD SHIFT WSFT Yes (Same as CV: 3 operands)

Yes (Same as CV: 3 operands)

Yes Yes Yes

ARITHMETIC SHIFT LEFT/ ARITHMETIC SHIFT RIGHT

ASL/ASR

Yes Yes Yes Yes Yes

ROTATE LEFT/ROTATE RIGHT

ROL/ROR

Yes Yes Yes Yes Yes

ONE DIGIT SHIFT LEFT/ONE DIGIT SHIFT RIGHT

SLD/SRD

Yes Yes Yes Yes Yes

SHIFT N-BIT DATA LEFT/SHIFT N-BIT DATA RIGHT

NSFR/NSFL

Yes (Shift data and beginning bit specified in binary.)

Yes (Shift data and beginning bit specified in binary.)

No Yes (Shift data and beginning bit specified in BCD.) (*1)

No

SHIFT N-BITS LEFT/SHIFT N-BITS RIGHT/DOU-BLE SHIFT N-BITS LEFT/DOUBLE SHIFT NITS RIGHT

NASL/NASR, NSLL/NSRL

Yes (Number of bits to be shifted specified in binary.)

Yes (Number of bits to be shifted specified in binary.)

No Yes (Number of bits to be shifted specified in BCD.) (*1)

No

DOUBLE SHIFT LEFT/DOUBLE SHIFT RIGHT

ASLL/ASRL

Yes Yes No Yes No

DOUBLE ROTATE LEFT/DOUBLE ROTATE RIGHT

ROLL/RORL

Yes Yes No Yes No

ROTATE LEFT WITHOUT CARRY/ROTATE RIGHT WITHOUT CARRY/DOUBLE ROTATE LEFT WITHOUT CARRY/DOUBLE ROTATE RIGHT WITHOUT CARRY

RLNC/RRNC, RLNL/RRNL

Yes Yes No Yes (*1) No

Increment and Decre-ment Instructions

INCREMENT BCD/DECREMENT BCD

++B/– –B (INC/DEC)

Yes (++B/– –B) Yes (++B/– –B) Yes (INC/DEC) Yes (INC/DEC) Yes (INC/DEC)

DOUBLE INCRE-MENT BCD/DOU-BLE DECREMENT BCD

++BL/– –BL(INCL/DECL)

Yes (++BL/– –BL)

Yes (++BL/– –BL)

No Yes (INCL/DECL)

No

INCREMENT BINARY/ DECRE-MENT BINARY

++/– – (INCB/DECB)

Yes (CY turns ON for carry or borrow) (++/– –)

Yes (CY turns ON for carry or borrow) (++/– –)

No Yes No

DOUBLE INCRE-MENT BINARY/DOUBLE DECRE-MENT BINARY

++L/– –LINBL/DCBL)

Yes (CY turns ON for carry or borrow) (++L/– –L)

Yes (CY turns ON for carry or borrow) (++L/– –L)

No Yes No

Math Instructions Yes Yes Yes Yes Yes

Item Mne-monic

CJ Series CS Series C200HX/HG/HE CVM1/CV Series

CQM1H

339

Page 361: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

PLC Comparison Charts Appendix A

Conversion Instructions

BCD-TO-BINARY/DOUBLE BCD-TO-DOUBLE BINARY

BIN/BINL

Yes Yes Yes Yes Yes

BINARY-TO-BCD/DOUBLE BINARY-TO-DOUBLE BCD

BCD/BCDL

Yes Yes Yes Yes Yes

2’S COMPLE-MENT/ DOUBLE 2’S COMPLE-MENT

NEG/NEGL

Yes (Same as CV but UP does not turn ON for 8000 Hex at source)

Yes (Same as CV but UP does not turn ON for 8000 Hex at source)

Yes Yes Yes

16-BIT TO 32-BIT SIGNED BINARY

SIGN Yes Yes No Yes No

DATA DECODER MLPX Yes Yes Yes Yes Yes

DATA ENCODER DMPX Yes (Same as CVM1-V2: Can specify rightmost bit for ON.)

Yes (Same as CVM1-V2: Can specify rightmost bit for ON.)

Yes (Leftmost bit only for ON.)

Yes (CVM1-V2: Can specify rightmost bit for ON.)

Yes (Leftmost bit only for ON.)

ASCII CONVERT ASC Yes Yes Yes Yes Yes

ASCII TO HEX HEX Yes Yes Yes Yes (*1) Yes

COLUMN TO LINE/LINE TO COLUMN

LINE/COLM

Yes (Bit position specified in binary.)

Yes (Bit position specified in binary.)

Yes (Bit position specified in BCD)

Yes (Bit position specified in BCD)

Yes (Bit position specified in BCD)

SIGNED BCD-TO-BINARY/DOUBLE SIGNED BCD-TO-BINARY

BINS/BISL

Yes Yes No Yes (*1) No

SIGNED BINARY-TO-BCD/DOUBLE SIGNED BINARY-TO-BCD

BCDS/BDSL

Yes Yes No Yes (*1) No

Logic Instructions

LOGICAL AND/LOGICAL OR/EXCLUSIVE OR/EXCLUSIVE NOR

ANDW, ORW, XORW, XNRW

Yes Yes Yes Yes Yes

DOUBLE LOGI-CAL AND/DOU-BLE LOGICAL OR/DOUBLE EXCLU-SIVE OR/DOU-BLE EXCLUSIVE NOR

ANDL, ORWL, XORL, XNRL

Yes Yes No Yes No

COMPLEMENT/ DOUBLE COM-PLEMENT

COM/COML

Yes Yes Yes (COM only) Yes Yes (COM only)

Special Math Instructions

BCD SQUARE ROOT

ROOT Yes Yes Yes Yes Yes

BINARY ROOT ROTB Yes Yes No Yes (*1) No

ARITHMETIC PROCESS

APR Yes Yes Yes Yes Yes

FLOATING POINT DIVIDE

FDIV Yes Yes Yes Yes No

BIT COUNTER BCNT Yes (Number of words to count and count results in binary: 0 to FFFF Hex)

Yes (Number of words to count and count results in binary: 0 to FFFF Hex)

Yes (Number of words to count and count results in BCD: 1 to 6656)

Yes (Number of words to count and count results in BCD: 0 to 9999, but error for 0)

Yes (Number of words to count and count results in BCD: 1 to 6656)

Item Mne-monic

CJ Series CS Series C200HX/HG/HE CVM1/CV Series

CQM1H

340

Page 362: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

PLC Comparison Charts Appendix A

Floating-point Math Instructions

FLOATING TO 16-BIT/32-BIT BIN, 16-BIT/32-BIT BIN TO FLOATING

FIX/FIXL, FLT/FLTL

Yes Yes No Yes (*1) Yes

FLOATING-POINT ADD/FLOATING-POINT SUB-TRACT/FLOAT-ING-POINT MULTIPLY/FLOATING-POINT DIVIDE

+F, –F, *F, /F

Yes Yes No Yes (*1) Yes

DEGREES TO RADIANS/RADI-ANS TO DEGREES

RAD, DEG

Yes Yes No Yes (*1) Yes

SINE/COSINE/TANGENT/ARC SINE/ARC TAN-GENT

SIN, COS, TAN, ASIN, ACOS, ATAN

Yes Yes No Yes (*1) Yes

SQUARE ROOT SQRT Yes Yes No Yes (*1) Yes

EXPONENT EXP Yes Yes No Yes (*1) Yes

LOGARITHM LOG Yes Yes No Yes (*1) Yes

EXPONENTIAL POWER

PWR Yes Yes No No No

Floating-point Dec-imal Comparison

Exam-ples: =F, <>F

CJ1: NoCJ1-H: YesCJ1M: Yes

CS1: NoCS1-H: Yes

No No No

Floating-point Dec-imal to Text String

FSTR, FVAL

CJ1: NoCJ1-H: YesCJ1M: Yes

CS1: NoCS1-H: Yes

No No No

Double-pre-cision Floating-point Con-version and Calculation Instructions

Same as Single-precision Floating-point Conversion and Calculation Instructions, above

Exam-ple: FIXD

CJ1: NoCJ1-H: YesCJ1M: Yes

CS1: NoCS1-H: Yes

No No No

Item Mne-monic

CJ Series CS Series C200HX/HG/HE CVM1/CV Series

CQM1H

341

Page 363: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

PLC Comparison Charts Appendix A

Table Data Processing Instructions

SET STACK SSET Yes (Four words of stack control information. Number of words specified in binary: 5 to 65535)

Yes (Four words of stack control information. Number of words specified in binary: 5 to 65535)

No Yes (Four words of stack control information. Number of words specified in BCD: 3 to 9999)

No

PUSH ONTO STACK:

PUSH Yes Yes No Yes No

FIRST IN FIRST OUT

FIFO Yes Yes No Yes No

LAST IN FIRST OUT

LIFO Yes Yes No Yes No

FIND MAXIMUM/FIND MINIMUM

MAX, MIN

Yes (Two words in control data field. Table length specified in binary: 1 to FFFF)

Yes (Two words in control data field. Table length specified in binary: 1 to FFFF)

Yes (One word in control data field. Table length specified in BCD: 1 to 999)

Yes (One word in control data field. Table length specified in BCD: 1 to 999)

Yes (One word in control data field. Table length specified in BCD: 1 to 999)

DATA SEARCH SRCH Yes (Table length specified in binary: 1 to FFFF. PLC memory address output to IR0. Number of matches can be output to DR0)

Yes (Table length specified in binary: 1 to FFFF. PLC memory address output to IR0. Number of matches can be output to DR0)

Yes (Table length specified in BCD: 1 to 6556. PLC memory address output to C+1. Number of matches cannot be output to DR0)

Yes (Table length specified in BCD: 1 to 9999. PLC memory address output to IR0. Number of matches cannot be output to DR0)

Yes (Table length specified in BCD: 1 to 6556. PLC memory address output to C+1. Number of matches cannot be output to DR0)

FRAME CHECK-SUM

FCS Yes Yes Yes No Yes

SUM SUM Yes (Same as C200HX/HG/HE: Sum possi-ble for bytes as well as words.)

Yes (Same as C200HX/HG/HE: Sum possi-ble for bytes as well as words.)

Yes (Sum possi-ble for bytes as well as words.)

Yes (Sum possi-ble for words only.)

Yes (Sum possi-ble for bytes as well as words.)

SWAP BYTES SWAP Yes (Can be used for data communications and other appli-cations.)

Yes (Can be used for data communications and other appli-cations.)

No No No

DIMENSION RECORD TABLE:

DIM Yes Yes No No No

SET RECORD LOCATION

SETR Yes Yes No No No

GET RECORD LOCATION

GETR Yes Yes No No No

Data Con-trol Instruc-tions

SCALING SCL Yes Yes Yes No Yes

SCALING 2 SCL2 Yes Yes No No Yes

SCALING 3 SCL3 Yes Yes No No Yes

PID CONTROL PID Yes (Output can be switched between 0% and 50% when PV = SV. PID and sampling period specified in binary.)

Yes (Output can be switched between 0% and 50% when PV = SV. PID and sampling period specified in binary.)

Yes (PID and sampling period specified in BCD)

Yes (PID and sampling period specified in BCD) (*1)

Yes (PID and sampling period specified in BCD)

PID CONTROL WITH AUTO-TUNIG

PIDAT CJ1: NoCJ1-H: YesCJ1M: Yes

CS1: NoCS1-H: Yes

No No No

LIMIT CONTROL LMT Yes Yes No Yes (*1) No

DEAD BAND CON-TROL

BAND Yes Yes No Yes (*1) No

DEAD ZONE CON-TROL

ZONE Yes Yes No Yes (*1) No

AVERAGE AVG Yes (Number of scans specified in binary)

Yes (Number of scans specified in binary)

Yes (Number of scans specified in BCD)

No Yes (Number of scans specified in BCD)

Item Mne-monic

CJ Series CS Series C200HX/HG/HE CVM1/CV Series

CQM1H

342

Page 364: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

PLC Comparison Charts Appendix A

Subrou-tines Instructions

SUBROUTINE CALL/SUBROU-TINE ENTRY/SUB-ROUTINE RETURN

SBS, SBN, RET

Yes (Subroutine number speci-fied in BCD: 0 to 1023)

Yes (Subroutine number speci-fied in BCD: 0 to 1023)

Yes (Subroutine number speci-fied in BCD: 0 to 255)

Yes (Subroutine number speci-fied in BCD: 0 to 999)

Yes (Subroutine number speci-fied in BCD: 0 to 255)

MACRO MCRO Yes (Subroutine number speci-fied in BCD: 0 to 1023)

Yes (Subroutine number speci-fied in BCD: 0 to 1023)

Yes (Subroutine number speci-fied in BCD: 0 to 255)

Yes (Subroutine number speci-fied in BCD: 0 to 999) (*1)

Yes (Subroutine number speci-fied in BCD: 0 to 255)

Global Subroutine Instructions

GSBS, GSBN,RET

CJ1: NoCJ1-H: YesCJ1M: Yes

CS1: NoCS1-H: Yes

No No No

Interrupt Control Instructions

SET INTERRUPT MASK

MSKS Yes Yes No (All interrupt processing per-formed with INT)

Yes No (All interrupt processing per-formed with INT)

CLEAR INTER-RUPT

CLI Yes Yes No Yes No

READ INTER-RUPT MASK:

MSKR Yes Yes No Yes No

DISABLE INTER-RUPTS

DI Yes Yes No No No

ENABLE INTER-RUPTS

EI Yes Yes No No No

ENABLE TIMER STIM No No No No Yes

High-speed Counter/Pulse Out-put Instruc-tions

MODE CONTROL INI Yes (*5) No No No Yes

PRESENT VALUE READ

PRV Yes (*5) No No No Yes

SET COMPARI-SON TABLE

CTBL Yes (*5) No No No Yes

SET PULSES PULS Yes (*5) No No No Yes

SET FREQUENCY SPED Yes (*5) No No No Yes

ACCELERATION CONTROL

ACC Yes (*5) No No No Yes

POSITION CON-TROL

PLS2 Yes (*5) No No No Yes

ORIGIN SEARCH ORG Yes (*5) No No No No

PWM OUTPUT PWM Yes (*5) No No No Yes

Step Instructions

STEP DEFINE and STEP START

STEP/SNXT

Yes Yes Yes Yes Yes

Basic I/O Unit Instructions

I/O REFRESH IORF Yes Yes (Used for C200H Group-2 High-density I/O Units and Spe-cial I/O Units as well. Includes functionality of GROUP-2 HIGH-DENSITY I/O REFRESH (MPRF))

Yes (Used for C200H Group-2 High-density I/O Units and Spe-cial I/O Units as well.)

Yes Yes

7-SEGMENT DECODER

SDEC Yes Yes Yes Yes Yes

GROUP-2 HIGH-DENSITY I/O REFRESH

MPRF No No Yes No No

TEN KEY INPUT TKY No No Yes No Yes

HEXADECIMAL KEY INPUT

HKY No No Yes No Yes

DIGITAL SWITCH INPUT

DSW No No Yes No Yes

MATRIX INPUT MTR No No Yes No No

7-SEGMENT DIS-PLAY OUTPUT

7SEG No No Yes No Yes

Item Mne-monic

CJ Series CS Series C200HX/HG/HE CVM1/CV Series

CQM1H

343

Page 365: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

PLC Comparison Charts Appendix A

Special I/O Unit Instructions

SPECIAL I/O UNIT READ and SPE-CIAL I/0 UNIT WRITE(I/O READ and I/O WRITE)

IORD/IOWR(READ/WRIT)

IORD/IOWR (Up to 96 Units. Will not be used to send FINS com-mands any more.

IORD/IOWR (Up to 96 Units. Will not be used to send FINS com-mands any more.

IORD/IOWR READ/WRIT No

I/O READ 2 and I/O WRITE 2

RD2/WR2

No No No Yes (*1) No

Text String Processing Instructions

MOV STRING MOV$ Yes Yes No No No

CONCATENATE STRING

+$ Yes Yes No No No

GET STRING LEFT

LEFT$ Yes Yes No No No

GET STRING RIGHT

RGHT$ Yes Yes No No No

GET STRING MID-DLE

MID$ Yes Yes No No No

FIND IN STRING FIND$ Yes Yes No No No

STRING LENGTH LEN$ Yes Yes No No No

REPLACE IN STRING

RPLC$ Yes Yes No No No

DELETE STRING DEL$ Yes Yes No No No

EXCHANGE STRING

XCHG$ Yes Yes No No No

CLEAR STRING: CLR$ Yes Yes No No No

INSERT INTO STRING

INS$ Yes Yes No No No

Item Mne-monic

CJ Series CS Series C200HX/HG/HE CVM1/CV Series

CQM1H

344

Page 366: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

PLC Comparison Charts Appendix A

Serial Com-munica-tions Instructions

RECEIVE RXD Yes (Number of stored bytes specified in binary) (Only used for RS-232C port in CPU Unit. Can-not be used for Serial Communi-cations Unit, or CPU Unit’s peripheral port)

Yes (Number of stored bytes specified in binary) (Only used for RS-232C port in CPU Unit. Can-not be used for Inner Board, Serial Communi-cations Unit, or CPU Unit’s peripheral port)

Yes (Number of stored bytes specified in BCD) (Used for peripheral port, RS-232C port or Communica-tions Board in CPU Unit.)

No Yes (Number of stored bytes specified in BCD) (Used for peripheral port, RS-232C port or Communica-tions Board in CPU Unit.)

TRANSMIT TXD Yes (Number of stored bytes specified in binary) (Only used for RS-232C port in CPU Unit. Can-not be used for Serial Communi-cations Unit or CPU Unit’s peripheral port) (Unsolicited communications not possible using Host Link EX command)

Yes (Number of stored bytes specified in binary) (Only used for RS-232C port in CPU Unit. Can-not be used for Inner Board, Serial Communi-cations Unit, or CPU Unit’s peripheral port) (Unsolicited communications not possible using Host Link EX command)

Yes (Number of stored bytes specified in BCD) (Used for peripheral port, RS-232C port or Communica-tions Board in CPU Unit.) (Unsolicited communica-tions possible using Host Link EX command)

No Yes (Number of stored bytes specified in BCD) (Used for peripheral port, RS-232C port or Communica-tions Board in CPU Unit.) (Unsolicited communica-tions possible using Host Link EX command)

CHANGE SERIAL PORT SETUP

STUP Yes (10 words set)Can be used for Serial Communi-cations Unit.

Yes (10 words set)Can be used for Serial Communi-cations Unit.

Yes (5 words set)

No Yes (5 words set)

PROTOCOL MACRO

PMCR Yes (Sequence number speci-fied in binary. Four operands. Can specify des-tination unit address and Serial Port num-ber.)

Yes (Sequence number speci-fied in binary. Four operands. Can specify des-tination unit address and Serial Port num-ber.)

Yes (Sequence number speci-fied in BCD. Three oper-ands.)

No Yes (Sequence number speci-fied in BCD. Three oper-ands.)

PCMCIA CARD MACRO

CMCR No No Yes No No

Network Instructions

NETWORK SEND/NETWORK RECEIVE

SEND/RECV

Yes (Can be used for host computer via Host Link con-nections. Cannot be used for Serial Communi-cations Units or CPU Unit’s RS-232C port.)

Yes (Can be used for host computer via Host Link con-nections. Cannot be used for Serial Communi-cations Units, CPU Unit’s RS-232C port, or Inner Board.)

Yes (Cannot be used for host computer via Host Link con-nections.)

Yes (Can be used for host computer via Host Link con-nections.)

Yes (Cannot be used for host computer via Host Link con-nections.)

DELIVER COM-MAND

CMND Yes (Used for host computer via Host Link connections. Cannot be used for Serial Com-munications Units or CPU Unit’s RS-232C port.)

Yes (Used for host computer via Host Link connections. Cannot be used for Serial Com-munications Units, CPU Unit’s RS-232C port, or Inner Board.)

No Yes (Can be used for host computer via Host Link con-nections.)

Yes (Cannot be used for host computer via Host Link con-nections.)

File Mem-ory Instruc-tions

READ DATA FILE/WRITE DATA FILE

FREAD/FWRIT

Yes Yes No Yes (FILR/FILW) No

READ PROGRAM FILE

FILP No No No Yes No

CHANGE STEP PROGRAM

FLSP No No No Yes No

Item Mne-monic

CJ Series CS Series C200HX/HG/HE CVM1/CV Series

CQM1H

345

Page 367: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

PLC Comparison Charts Appendix A

Display Instructions

DISPLAY MES-SAGE

MSG Yes (Messages ended by NUL)

Yes (Messages ended by NUL)

Yes (Messages ended by CR)

Yes (Messages ended by CR)

Yes (Messages ended by CR)

DISPLAY LONG MESSAGE

LMSG No No Yes (Messages ended by CR)

No No

I/O DISPLAY IODP No No No Yes No

TERMINAL MODE TERM No No Yes No No

Clock Instructions

CALENDAR ADD CADD Yes Yes No Yes No

CALENDAR SUB-TRACT

CSUB Yes Yes No Yes No

HOURS TO SEC-ONDS

SEC Yes Yes Yes Yes Yes

SECONDS TO HOURS

HMS Yes Yes Yes Yes Yes

CLOCK ADJUST-MENT

DATE Yes Yes No Yes (*1) No

Debugging Instructions

TRACE MEMORY SAMPLING

TRSM Yes Yes Yes Yes Yes

MARK TRACE MARK No No No Yes (Mark num-ber specified in BCD)

No

Failure Diagnosis Instructions

FAILURE ALARM/SEVERE FAIL-URE ALARM

FAL/FALS

Yes (Messages ended by NUL, text strings stored in order of leftmost to right-most byte and then rightmost to leftmost word. FAL number specified in binary.)

Yes (Messages ended by NUL, text strings stored in order of leftmost to right-most byte and then rightmost to leftmost word. FAL number specified in binary.)

Yes (Messages ended by CR, text strings stored in order of leftmost to rightmost byte and then right-most to leftmost word. FAL num-ber specified in BCD.)

Yes (Messages ended by CR, text strings stored in order of leftmost to right-most byte and then rightmost to leftmost word. FAL number specified in BCD.)

Yes (Messages ended by CR, text strings stored in order of leftmost to rightmost byte and then right-most to leftmost word. FAL num-ber specified in BCD.)

FAILURE POINT DETECTION

FPD Yes (Messages ended by NUL, text strings stored in order of leftmost to right-most byte and then rightmost to leftmost word. FAL number specified in binary.)

Yes (Messages ended by NUL, text strings stored in order of leftmost to right-most byte and then rightmost to leftmost word. FAL number specified in binary.)

Yes (Messages ended by CR, text strings stored in order of leftmost to rightmost byte and then right-most to leftmost word. FAL num-ber specified in BCD.)

Yes (Messages ended by CR, text strings stored in order of leftmost to right-most byte and then rightmost to leftmost word. FAL number specified in BCD.) (*1)

Yes (Messages ended by CR, text strings stored in order of leftmost to rightmost byte and then right-most to leftmost word. FAL num-ber specified in BCD.)

Other Instructions

SET CARRY/CLEAR CARRY

STC/CLC

Yes Yes Yes Yes Yes

LOAD FLAGS/SAVE FLAGS

CCL, CCS

CJ1: NoCJ1-H: YesCJ1M: Yes

CS1: NoCS1-H: Yes

No Yes No

EXTEND MAXI-MUM CYCLE TIME

WDT Yes Yes Yes Yes (*1) Yes

CYCLE TIME SCAN No No Yes No No

LOAD REGISTER/SAVE REGISTER

REGL, REGS

No No No Yes No

SELECT EM BANK:

EMBC Yes Yes Yes Yes No

EXPANSION DM READ

XDMR No No Yes No No

INDIRECT EM ADDRESSING

IEMS No No Yes No No

ENABLE ACCESS/DISABLE ACCESS

IOSP, IORS

No CS1: NoCS1-H: Yes

No Yes No

CV-CS Address Conversion Instructions

FRMCV TOCV

CJ1: NoCJ1-H: YesCJ1M: Yes

CS1: NoCS1-H: Yes

No No No

Item Mne-monic

CJ Series CS Series C200HX/HG/HE CVM1/CV Series

CQM1H

346

Page 368: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

PLC Comparison Charts Appendix A

Note *1: Supported only by CVM1 (V2).*2: Supported only by CPU@@-Z models.*3: Continuation on same program run supported by CV1M version 2,*4: Except for CS1 and CJ1 CPU Units.*5: CJ1M CPU Units with built-in I/O only. Some operands differ from those used by the CQM1H.

Block Programming Instructions BPRG/BEND, IF/ELSE/IEND, WAIT, EXIT, LOOP/LEND, BPPS/BPRS, TIMW, CNTW, TMHW

Yes Yes No Yes (*1) No

Task Con-trol Instruc-tions

TASK ON/TASK OFF

TKON/TKOF

Yes Yes No No No

Item Mne-monic

CJ Series CS Series C200HX/HG/HE CVM1/CV Series

CQM1H

347

Page 369: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series
Page 370: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Appendix BChanges from Previous Host Link Systems

There are differences between Host Link Systems created using the CS/CJ-series Serial CommunicationsBoards (CS Series only) and Unit in comparison to Host Link Systems created with Host Link Units and CPUUnits in other PLC product series. These differences are described in this sections.

RS-232C PortsTake the following differences into consideration when changing from an existing Host Link System to oneusing an RS-232C port on a CS/CJ-series CPU Unit, Serial Communications Boards (CS Series only), orSerial Communications Unit (CS1H/G-CPU@@ RS-232C port, CS1W-SCU21 ports, CS1W-SCB21 ports,CS1W-SCB41 port 1, or CJ1W-SCU41 port 2).

Previous products

Model number Changes required for CS/CJ-series product

Wiring Other

C-series Host Link Units

3G2A5-LK201-E

C500-LK2033G2A6-LK201-E

The connector has been changed from a 25-pin to a 9-pin connector.The CS/CJ-series products do not support the ST1, ST2, and RT signals and wiring them is not required.

The following changes are necessary for systems that sync with ST1, ST2, and RT.Synchronized transfers will no longer be possi-ble.

Full-duplex transmissions will be possible with the CS/CJ-series product, but the host com-puter’s communications program, hardware, or both will need to be altered.The following changes are necessary for systems that did not sync with ST1, ST2, and RT.It may be possible to use the host computer programs without alteration as long as the same communications settings (e.g., baud rate) are used. It may be necessary, however, to change programs to allow for different text lengths in frames or different CS/CJ command specifications. (See note.)

C200H-LK201 The connector has been changed from a 25-pin to a 9-pin connector.

It may be possible to use the host computer programs without alteration as long as the same communications settings (e.g., baud rate) are used. It may be necessary, however, to change programs to allow for different text lengths in frames or different CS/CJ command specifications. (See note.)

C-series CPU Units

SRM1CPM1

CPM1ACQM1-CPU@@-EC200HS-CPU@@-E

C200HX/HG/HE- CPU@@-EC200HW-COM@@-E

No changes have been made in wiring.

It may be possible to use the host computer programs without alteration as long as the same communications settings (e.g., baud rate) are used. It may be necessary, however, to change programs to allow for different CS/CJ command specifications.

349

Page 371: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Changes from Previous Host Link Systems Appendix B

Note The number of words that can be read and written per frame (i.e., the text lengths) when using C-modecommands is different for C-series Host Link Units and CS/CJ-series Serial Communications Boards/Units. A host computer program previously used for C-series Host Link Units may not function correctly ifused for CS/CJ-series PLCs. Check the host computer program before using it and make any correc-tions required to handle different frame text lengths. Refer to the CS/CJ-series Communications Com-mands Reference Manual (W342) for details.

RS-422A/485 PortsTake the following differences into consideration when changing from an existing Host Link System to oneusing an RS-422A/485 port on a CS-series Serial Communications Board (CS1W-SCB41 port 2) or a CJ-series Serial Communications Unit (CJ1W-SCU41 port 1).

CVM1 or CV-series CPU Units

CVM1/CV-CPU@@-E No changes have been made in wiring.

It may be possible to use the host computer programs without alteration as long as the same communications settings (e.g., baud rate) are used. It may be necessary, however, to change programs to allow for different CS/CJ command specifications.

CVM1 or CV-series Host Link Unit

CV500-LK201 Port 1:The connector has been changed from a 25-pin to a 9-pin connector.Port 2 set for RS-232C:The SG signal has been changed from pin 7 to pin 9.

The following changes are necessary for half-duplex transmissions that use CD.Check the system for timing problems when using SEND, RECV, or CMND to initiate com-munications from the PLC or timing problems in sending commands from the host computer. If necessary, switch to full-duplex transmissions.The following changes are necessary for full-duplex transmissions that do not use CD.Half-duplex It may be possible to use the host computer programs without alteration as long as the same communications settings (e.g., baud rate) are used. It may be necessary, how-ever, to change programs to allow for different CS/CJ command specifications.

Previous products

Model number Changes required for CS/CJ-series product

Wiring Other

C-series Host Link Units

3G2A5-LK201-EC200H-LK202

3G2A6-LK202-E

Wiring pins have been changed as shown below.

SDA: Pin 9 to pin 1SDB: Pin 5 to pin 2RDA: Pin 6 to pin 6RDB: Pin 1 to pin 8SG: Pin 3 to

Not connectedFG: Pin 7 to pin

Connector hood

It may be possible to use the host computer programs without alteration as long as the same communications settings (e.g., baud rate) are used. It may be necessary, however, to change programs to allow for different text lengths in frames or different CS/CJ com-mand specifications. (See note.)

C200HX/HG/HE Communications Board

C200HW-COM@@-E No changes have been made in wiring.

It may be possible to use the host computer programs without alteration as long as the same communications settings (e.g., baud rate) are used. It may be necessary, however, to change programs to allow for different CS/CJ command specifications.

Previous products

Model number Changes required for CS/CJ-series product

Wiring Other

350

Page 372: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Changes from Previous Host Link Systems Appendix B

Note The number of words that can be read and written per frame (i.e., the text lengths) when using C-modecommands is different for C-series Host Link Units and CS/CJ-series Serial Communications Boards/Units. A host computer program previously used for C-series Host Link Units may not function correctly ifused for CS/CJ-series PLCs. Check the host computer program before using it and make any correc-tions required to handle different frame text lengths. Refer to the CS/CJ-series Communications Com-mands Reference Manual (W342) for details.

CVM1 or CV-series CPU Units

CVM1/CV-CPU@@-E No changes have been made in wiring.

It may be possible to use the host computer programs without alteration as long as the same communications settings (e.g., baud rate) are used. It may be necessary, however, to change programs to allow for different CS/CJ command specifications.

CVM1 or CV-series Host Link Unit

CV500-LK201

Previous products

Model number Changes required for CS/CJ-series product

Wiring Other

351

Page 373: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series
Page 374: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Index

�addressing

index registers, 252indirect addresses, 26–27memory addresses, 24operands, 25See also index registers

alarmsuser-programmed alarms, 297

applicationsfile memory, 197precautions, xiv

ASCII characters, 29

automatic transfer at startup, 189, 214

#backing up data, 293

Basic I/O UnitsBasic I/O Unit instructions, 129input response time, 314

batterycompartment, 2installation, 2

BCD data, 30

block programs, 22, 59, 62block programming instructions, 138relationship to tasks, 167

�C200H Communications Boards, 350

C200HX/HG/HE Communications Boardchanges in communications specifications, 350

C200HX/HG/HE PLCscomparison, 327

Carry Flag, 58

clearing memory, 4clock, 289

clock instructions, 134setting the clock, 5

communicationsmessages, 267no-protocol, 268See also serial communicationsserial communications instructions, 130

comparisonprevious products, 350

complete link method, 271

Condition Flags, 54operation in tasks, 162

constantsoperands, 28

countersrefresh mode, 276

CPU Unitbasic operation, 152capacities, 41internal structure, 6operation, 1

C-series Host Link Unitschanges in communications specifications, 349

C-series Unitschanges in communications specifications, 350

CVM1 Unitschanges in communications specifications, 350–351

CV-series PLCscomparison, 327

CV-series Unitschanges in communications specifications, 350–351

CX-Programmer, 20file memory, 201

cycle timeminimum cycle time, 235monitoring, 236setting, 236task execution time, 18

cyclic refreshing, 38, 238

cyclic tasks, 151, 154Disabled status (INI), 157READY status, 157RUN status, 157status, 157WAIT status, 157

'data areas

addressing, 24

data files, 197

data formats, 30

data tracing, 323

datesetting the clock, 5

datesprogram and parameters, 291

debugging, 296, 318debugging instructions, 135failure diagnosis instructions, 136

DeviceNetprecaution, 297

diagnosis, 296

differentiated instructions, 36

directories, 191

down-differentiated instructions, 35

353

Page 375: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Index

�EC Directives, xix

EM file memory, 184initializing, 226operations, 230See also file memory

Equals Flag, 58

error log, 296

errorsaccess error, 65error log, 296failure point detection, 298fatal, 67illegal instruction error, 65instruction processing error, 65program input, 63programming errors, 67UM overflow error, 65user-programmed errors, 297

executable statusdescription, 16

execution conditionstasks, 156variations, 34

external interruptstasks, 155, 169–171, 174

�failure alarms, 297

failure point detection, 298

file memory, 183accessing directories, 191applications, 197, 226file memory instructions, 133, 204file names and file types, 188functions, 183manipulating files, 199parameter files, 198program files, 198

file names, 188

file types, 188

FINS commandsfile memory, 202list, 266

flags, 22Condition Flags, 54

flash memory, 293

floating-point datafloating-point math instructions, 108

floating-point decimal, 31

force-resetting bitsdebugging, 318

force-setting bitsdebugging, 318

FOR-NEXT loop, 59

�Greater Than Flag, 58

�high-speed inputs, 237

Host Link commands, 264

Host Link communications, 263

Host Link Unitschanges in communications specifications, 350

hot starting, 286

hot stopping, 286

(I/O allocations

first word settings, 315

I/O interruptstasks, 154, 168–171

I/O memory, 6–7addressing, 24initializing, 10tasks, 161

I/O refreshing, 38

I/O response timeCS/CJ Basic I/O Units, 314

immediate refreshing, 34, 38, 238

index registers, 27, 252

Initial Task Execution Flag, 163

initializationEM file memory, 226I/O memory, 10Memory Cards, 226

installationinitial setup, 2, 5precautions, xiv

instruction conditionsdescription, 21

instructionsBasic I/O Unit instructions, 129basic instructions, 21block programming instructions, 138block programs, 62clock instructions, 134comparison instructions, 82controlling tasks, 158conversion instructions, 99counter instructions, 78data control instructions, 120data movement instructions, 86

354

Page 376: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Index

data shift instructions, 89debugging instructions, 135decrement instructions, 93differentiated instructions, 36display instructions, 134execution conditions, 34failure diagnosis instructions, 136file memory, 204file memory instructions, 133floating-point math instructions, 108high-speed counter and pulse output instructions, 127increment instructions, 93index registers, 255input and output instructions, 21, 23input differentiation, 34instruction conditions, 21interrupt control instructions, 125logic instructions, 105loops, 22, 59network instructions, 131operands, 22programming locations, 23restrictions in tasks, 162sequence control instructions, 75sequence input instructions, 70sequence output instructions, 72serial communications instructions, 130special math instructions, 107step instructions, 128subroutine instructions, 123symbol math instructions, 94table data processing instructions, 112, 116task control instructions, 147text string processing instructions, 144timer instructions, 78timing, 36variations, 34

interlocks, 22, 37, 59

interrupt tasks, 151, 154, 168–179precautions, 177priority, 175related flags and words, 176

interrupts, 237disabling, 179priority of interrupt tasks, 175See also external interrupts

IOM Hold Bit, 287

IORF(097) refreshing, 40, 239interrupt tasks, 178

��)jumps, 37, 59

Less Than Flag, 58

loopsFOR/NEXT loops, 59

�mathematics

floating-point math instructions, 108special math instructions, 107symbol math instructions, 94

maximum cycle time, 236

memoryblock diagram of CPU Unit memory, 7clearing, 4See also file memorySee also I/O memorySee also user memory

Memory Cards, 7, 184initializing, 226operations, 228precautions, 185

messages, 267

minimum (fixed) cycle time, 235

mnemonics, 42inputting, 46

MONITOR modedescription, 9

monitoringdifferential monitoring, 319remote monitoring, 292

*Negative Flag, 58

networksnetwork instructions, 131

no-protocol communications, 268

+online editing, 320

operandsconstants, 28description, 22specifying, 25text strings, 28

operating environmentprecautions, xiv

operating modesdescription, 8startup mode, 11

operationbasic operation, 152CPU Unit, 1debugging, 318trial operation, 318

Output OFF Bit, 322

output OFF function, 297

355

Page 377: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Index

outputsturning OFF, 297, 322

�Parameter Area, 7

files, 198

Parameter Date, 291

peripheral servicingpriority servicing, 306

Peripheral Servicing Priority Mode, 306

PLC Setup, 7PLCs

comparison, 327

Polled Unitssettings, 274

Polling Unitsetting, 274

Polling Unit link method, 271

power flowdescription, 21

power interruptsdisabling, 288

power OFF detection delay, 288

power OFF interruptstasks, 154, 168, 172–174

precautions, xiapplications, xivgeneral, xiiI/O refreshing, 9interrupt tasks, 177operating environment, xivprogramming, 54safety, xii

previous productscomparison, 350

program capacity, 41

program errors, 67

program files, 198

PROGRAM modedescription, 8–9

program structure, 42

program transfer, 318

programming, 19basic concepts, 41block programs, 22, 59

restrictions, 62checking programs, 63designing tasks, 166errors, 63examples, 49instruction locations, 23mnemonics, 42power flow, 21precautions, 54

program capacity, 41program protection, 290program structure, 12, 15, 42programs and tasks, 12, 20protecting the program, 290remote programming, 292restrictions, 44See also block programsstep programming, 59

restrictions, 61tasks and programs, 151transferring the program, 318

Programming Consolesfile memory, 201

Programming Devicesfile memory, 199task operations, 180

programsSee also programming

,range instructions, 258

read/write-protection, 291

record-table instructions, 258

refresh mode, 276timers and counters, 276

refreshingcyclic refreshing, 38, 238I/O refreshing, 38, 238immediate refreshing, 34, 38, 238IORF(097), 40, 178, 239

refreshing data, 271

RS-232C portschanges from previous products, 349

RS-422A/485 portschanges from previous products, 350

RUN modedescription, 9

RUN output, 288

�safety precautions, xii

scheduled interruptstasks, 154, 168, 171–172usage as timer, 284

serial communicationsfunctions, 261

Serial PLC Links, 270–271allocated words, 273PLC Setup, 274related flags, 275

settingsSee also switch settings

356

Page 378: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Index

startup settings, 286

setupSee also installation

signed binary data, 30

stack processing, 256

standby statusdescription, 16

startupautomatic file transfer, 189, 214hot starting and stopping, 286

startup mode, 287

step programming, 59

subroutines, 59

!table data

processing, 258

Task Error Flag, 164

Task Flags, 163

tasks, 12, 149advantages, 150creating tasks, 180cyclic tasks, 151, 154description, 14designing, 166examples, 164execution, 160execution conditions, 156execution time, 18features, 150flags, 163interrupt tasks, 151, 154, 169introduction, 154limitations, 162operation of Condition Flags, 162relationship to block programs, 167See also cyclic tasksSee also interrupt tasksstatus, 16task control instructions, 147task numbers, 160timers, 161

text stringsoperands, 28text string processing instructions, 144

timesetting the clock, 5

timers, 276creating with schedule interrupts, 284

trial operation, 318

�Units

profiles, 292

unsigned binary data, 30

up-differentiated instructions, 34

user program, 6–7See also programming

User Program Date, 291

�-.write-protection, 290

357

Page 379: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series
Page 380: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

359

Revision History

A manual revision code appears as a suffix to the catalog number on the front cover of the manual.

The following table outlines the changes made to the manual during each revision. Page numbers refer to theprevious version.

Revision code Date Revised content01 April 2001 Original production

02 October 2001 Added information on high-speed CS-series and high-speed CJ-series CPU Units (CS1G/H-CPU@@H and CJ1G/H-CPU@@H)) throughout the manual.

03 July 2002 Information on CJ1M CPU Units added throughout.PC changed to PLC for “Programmable Controller.”Other changes are as follows: Pages xvi and xviii: Caution added. Page xix: Item 2 at bottom of page changed.Page 28: Description for text string changed.Page 167: Programming example changed.Pages 168, 169, 265, and 266: Information added on DC power supplies. Page 179: Precautions added on Memory Cards.Page 229: Illustration changed.Page 262: Information added on timer/counter refresh method. Page 273: Precaution added on DeviceNet.Page 301: Units corrected in processing speeds.Page 304: Interrupt response time corrected. Page 320: CJ1 support for IOSP/IORS changed.

Cat. No. W394-E1-03

Revision code

Page 381: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Revision History

360

Page 382: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

OMRON CORPORATIONFA Systems Division H.Q.66 MatsumotoMishima-city, Shizuoka 411-8511JapanTel: (81)55-977-9181/Fax: (81)55-977-9045

Regional Headquarters

OMRON EUROPE B.V.Wegalaan 67-69, NL-2132 JD HoofddorpThe NetherlandsTel: (31)2356-81-300/Fax: (31)2356-81-388

OMRON ELECTRONICS LLC1 East Commerce Drive, Schaumburg, IL 60173U.S.A.Tel: (1)847-843-7900/Fax: (1)847-843-8568

OMRON ASIA PACIFIC PTE. LTD.83 Clemenceau Avenue, #11-01, UE Square,Singapore 239920Tel: (65)6835-3011/Fax: (65)6835-2711

Page 383: Programmable Controllers - LIMASOFT (W394-E1-03) CPU G...Units for CS/CJ-series Programmable Controllers (PLCs) and includes the sections described on the following page. The CS Series

Cat. No.

Authorized Distributor:

W394-E1-03 Note: Specifications subject to change without notice Printed in Japan