Omron CJ Series Connection Manual

Text of the manual

P652-E1-01 OMRON Corporation Displacement Sensor (ZW-7000 series) CJ Series General-purpose Serial Connection Guide (RS-232C)

About Intellectual Property Rights and Trademarks

Microsoft product screen shots reprinted with permission from Microsoft Corporation. Windows is a registered trademark of Microsoft Corporation in the USA and other countries. Company names and product names in this document are the trademarks or registered trademarks of their respective companies.

Table of Contents

1. Related Manuals ........................................................................................ 1 2. Terms and Definitions ............................................................................... 2 3. Precautions ................................................................................................ 3 4. Overview .................................................................................................... 4 5. Applicable Devices and Device Configuration ....................................... 5 5.1. Applicable Devices ............................................................................. 5 5.2. Device Configuration .......................................................................... 6 6. Serial Communications Settings ............................................................. 8 6.1. Parameters ........................................................................................ 8 6.2. Cable Wiring ...................................................................................... 9 7. Serial Communications Connection Procedure ................................... 10 7.1. Work Flow ........................................................................................ 10 7.2. Sensor Controller Setup ................................................................... 12 7.3. PLC Setup ........................................................................................ 20 7.4. Serial Communication Status Check ................................................ 39 8. Initialization method ................................................................................ 47 8.1. Initializing PLC ................................................................................. 47 8.1. Initializing Sensor Controller ............................................................ 48 9. Program .................................................................................................... 49 9.1. Overview .......................................................................................... 49 9.2. Communications Sequence ............................................................. 54 9.3. Error Detection Processing .............................................................. 56 9.4. Memory Maps .................................................................................. 57 9.5. Ladder Program ............................................................................... 60 9.6. Protocol Macro Data ........................................................................ 66 9.7. Timing Chart ..................................................................................... 75 9.8. Error processing ............................................................................... 76 10. Revision History .................................................................................. 77

1. Related Manuals

To ensure system safety, make sure to always read and follow the information provided in all Safety Precautions and Precautions for Safe Use in the manuals for each device which is used in the system. Cat. No. Model Manual name W472 CJ2M-CPU[][] CJ2H-CPU6[] CJ2H-CPU6[]-EIP CJ-series CJ2 CPU Unit Hardware USER'S MANUAL W473 CJ2M-CPU[][] CJ2H-CPU6[] CJ2H-CPU6[]-EIP CJ-series CJ2 CPU Unit Software USER'S MANUAL W336 CJ1W-SCU[]1-V1 CJ1W-SCU[]2 CJ Series Serial Communications Units OPERATION MANUAL W474 CJ2[]-CPU[][] CJ Series Programmable Controllers INSTRUCTIONS REFERENCE MANUAL W446 CXONE-AL[][]C-V4 / AL[][]D-V4 CX-Programmer OPERATION MANUAL W344 CXONE-AL[][]C-V4 / AL[][]D-V4 CX-Protocol OPERATION MANUAL Z362 ZW-7000[] Displacement Sensor ZW-7000 series Confocal Fiber Type Displacement Sensor User’s Manual Z363 ZW-7000[] Displacement Sensor ZW-7000 series Confocal Fiber Type Displacement Sensor User’s Manual for Communications Settings

2.Terms and Definitions

2 2. Terms and Definitions Term Explanation and Definition Protocol macro A protocol macro is a function that enables data to be sent and received with general-purpose external devices. This function can be realised by executing the protocol macro instruction (hereinafter referred to as PMCR instruction) in a CPU Unit's user program through storing procedures for sending and receiving data (protocols) in a Serial Communications Board or a Serial Communications Unit to exchange data with general-purpose external devices. Protocol A unit of independent communication processing with a specific general-purpose device. A protocol includes procedures for sending and receiving data. A protocol consists of more than one sequence. Sequence A unit of the independent communication processing which can be started by executing the PMCR instruction in a program. A sequence that is started by the instruction executes steps registered in its own sequence. Step A unit to execute any one of the followings: message send processing, message receive processing, message send/receive processing, receive buffer clear, or step wait. Up to 15 steps can be set for per sequence. Send message A communication frame (command) to send to general-purpose external devices. A send message is invoked by steps in the sequence and is sent to general-purpose external devices. Receive message A communication frame (response) received from general-purpose external devices. A receive message is invoked by steps in the sequence and is compared with data received from general-purpose external devices. Receive matrix A function to register and use some communication frames (responses) when more than one communication frame is expected to be received from general-purpose external devices. The receive processing can be executed according to registered communication frames by using this function.

(1) Understand the specifications of devices which are used in the system. Allow some

margin for ratings and performance. Provide safety measures, such as installing a safety circuit, in order to ensure safety and minimize the risk of abnormal occurrence. (2) To ensure system safety, make sure to always read and follow the information provided in all Safety Precautions and Precautions for Safe Use in the manuals for each device which is used in the system. (3) The user is encouraged to confirm the standards and regulations that the system must conform to. (4) It is prohibited to copy, to reproduce, and to distribute a part or the whole of this document without the permission of OMRON Corporation. (5) The information contained in this document is current as of June 2016. It is subject to change for improvement without notice. The following notations are used in this document. Indicates a potentially hazardous situation which, if not avoided, may result in minor or moderate injury or property damage. Point on safety Precautions on what to do and what not to do to ensure safe usage of the product. Precautions for Correct Use Precautions on what to do and what not to do to ensure proper operation and performance. Additional Information Additional information to read as required. This information is provided to increase understanding or make operation easier. Symbol The triangle symbol indicates precautions (including warnings). The specific operation is shown in the triangle and explained in the text. This example indicates a general precaution. The filled circle symbol indicates operations that you must do. The specific operation is shown in the circle and explained in the text. This example shows a general precaution for something that you must do.

This document describes the procedures for connecting Displacement Sensor (hereinafter

referred to as Sensor Controller) to CJ-series Programmable Controller + Serial Communications Unit (hereinafter referred to as PLC) using serial communications, both produced by OMRON Corporation (hereinafter referred to as OMRON), and for checking their connections. Refer to Section 6. Serial Communications Settings and Section 7. Serial Communications Connection Procedure to understand setting methods and key points to send / receive messages using the serial communications. The ladder program in a prepared CX-Programmer project file and the protocol macro data in a prepared CX-Protocol project file are used to check the serial connection by sending or receiving a message of ''version information acquisition'' to/from Sensor Controller. ■ Sending /receiving the ''version information acquisition'' message PLC Serial communications (RS-232C) Sensor Controller Sending the command data Executing the command Receiving the response data and storing in memory Returning the response data Prepare latest project files of both CX-Programmer and CX-Protocol beforehand. To obtain a project file, contact your OMRON representative. Name File name Version CX-Programmer project file (extension: cxp) P652_CJ_PMCR232C_OMRON_ZW-7000_ EV100.cxp Ver.1.00 CX-Protocol project file (extension: psw) P652_CJ_PMCR232C_OMRON_ZW-7000_ EV100.psw Ver.1.00 This document aims to explain wiring methods and communications settings necessary to connect corresponding devices and to provide setting procedures. The program used in this document is designed to check if the connections are properly established, and is not designed to be constantly used at a site. Therefore, functionalities and performances are not sufficiently taken into consideration. When you construct an actual system, please use the wiring methods, communications settings and setting procedures described in this document as a reference and design a new program according to your application needs. . Command data Response data

5.Applicable Devices and Device Configuration

5 5. Applicable Devices and Device Configuration 5.1. Applicable Devices The applicable devices are as follows: Manufacturer Name Model OMRON CJ2 CPU Unit CJ2[]-CPU[][] OMRON Serial Communications Unit CJ1W-SCU[]1-V1 CJ1W-SCU[]2 OMRON Confocal Fiber Type displacement sensor Sensor Controller Sensor Head ZW-7000[] ZW-S70[][] Precautions for Correct Use In this document, the devices with models and versions listed in 5.2. Device Configuration are used as examples of applicable devices to describe the procedures for connecting the devices and checking their connections. You cannot use devices with versions lower than the versions listed in 5.2. To use the above devices with models not listed in 5.2. or versions higher than those listed in 5.2., check the differences in the specifications by referring to the manuals before operating the devices. Additional Information This document describes the procedures for establishing the network connections. It does not provide information on operation, installation, wiring method, device functionality, or device operation, which is not related to the connection procedures. Refer to the manuals or contact your OMRON representative.

5.Applicable Devices and Device Configuration

6 5.2. Device Configuration The hardware components to reproduce the connection procedures in this document are as follows: Manufacturer Name Model Version OMRON Serial Communications Unit CJ1W-SCU42 Ver.2.0 OMRON CPU Unit CJ2M-CPU12 Ver.2.0 OMRON Power Supply Unit CJ1W-PA202 OMRON CX-One CXONE-AL[][]C-V4 /AL[][]D-V4 Ver.4.[][] OMRON CX-Programmer (Included in CX-One) Ver.9.60 OMRON CX-Protocol (Included in CX-One) Ver.1.99 OMRON CX-Programmer project file (Ladder program) P652_CJ_PMCR232C_OMR ON_ZW-7000_EV100.cxp Ver.1.00 OMRON CX-Protocol project file (Protocol macro data) P652_CJ_PMCR232C_OMR ON_ZW-7000_EV100.psw Ver.1.00 - Personal computer (OS: Windows 7) - - USB cable (USB 2.0 type B connector) - OMRON RS-232C cable (for PLC or programmable terminal) ZW-XPT2 OMRON Sensor Controller ZW-7000 Ver.2.020 OMRON Sensor Head ZW-S7030 OMRON Calibration ROM (supplied with Sensor Head) OMRON 24 VDC power supply (for Sensor Controller) (DC24V 2.5A 60W) S8VS-06024 Precautions for Correct Use Prepare latest project files of both CX-Programmer and CX-Protocol beforehand. To obtain a project file, contact your OMRON representative. 24 VDC power supply (for Sensor Controller) RS-232C cable (for PLC or programmable terminal) CJ2M-CPU12 CJ1W-SCU42 Personal computer (CX-One installed, OS: Windows 7) USB cable Calibration ROM ZW-7000 ZW-S7030

5.Applicable Devices and Device Configuration

7 Precautions for Correct Use Update CX-Programmer and CX-Protocol to the version specified in this Clause 5.2. or to a higher version. If you use a version higher than the one specified, the procedures and related screenshots described in Section 7. and subsequent sections may not be applicable. In that case, use the equivalent procedures described in this document by referring to the CX-Programmer OPERATION MANUAL (Cat. No. W446) and the CX-Protocol OPERATION MANUAL (Cat. No. W344). Additional Information For information on the serial cable (RS-232C), refer to 3-4 RS-232C and RS-422A/485 Wiring of the CJ Series Serial Communications Units OPERATION MANUAL (Cat. No. W336). Additional Information For specifications of 24 VDC power supply available for Sensor Controller, refer to the Displacement Sensor ZW-7000 series Confocal Fiber Type Displacement Sensor User’s Manual (Cat. No. Z362). Additional Information The system configuration in this document uses USB for the connection between Personal computer and PLC. For information on how to install the USB driver, refer to A-5 Installing the USB Driver in Appendices of the CJ-series CJ2 CPU Unit Hardware USER'S MANUAL (Cat. No. W472).

6.Serial Communications Settings

8 6. Serial Communications Settings This section describes the contents of parameter settings and wiring that are all defined in this document. 6.1. Parameters The parameters required for connecting PLC and Sensor Controller using the serial communications are shown below. Item PLC (Serial Communications Unit) Sensor Controller Unit number 0 - Communications port (Communications type) Port 2 (RS-232C) RS-232C (Default) Serial communications mode Protocol macro - Data length (bit) 8 bits 8bit (Default) Stop bits (length) 1 bit 1bit (Default) Parity None OFF (None: Default) Baud rate 38400 bps 38400 (bps) (Default) Protocol macro transmission method (Full-duplex / Half-duplex) Full-duplex Full-duplex communications (Fixed) CS/RS control - OFF (Default) Terminator - CR(Default) Precautions for Correct Use This document describes the setting procedures of CJ1W-SCU42 Serial Communications Unit with the unit number 0 and communications (connection) port 2. To connect devices under different conditions, change the CIO area and the control words of PMCR instruction used in the program. Refer to Section 9. Program for details.

6.Serial Communications Settings

9 6.2. Cable Wiring For details on cable wiring, refer to SECTION 3 Installation and Wiring of the CJ Series Serial Communications Units OPERATION MANUAL (Cat. No. W336). Check connector configuration and pin assignments before wiring. ■Connector configuration and pin assignments CJ1W-SCU42 Serial Communications Unit applicable connector: D-sub 9-pin female Pin No. Symbol Signal name Input/Output 1 FG Shield - 2 SD Send data Output 3 RD Receive data Input 4 RS Request to send Output 5 CS Clear to send Input 6 5V Power supply - 7 DR Data set ready Input 8 ER Data terminal ready Output 9 SG Signal ground - Shell FG Shield - Sensor Controller (ZW-7000) applicable connector: Square 17-pin female Usage Pin No. Terminal name Function RS-232C 1 GND(0V) Signal ground 2 TXD(SD) Send data 3 RXD(RD) Receive data 4 RTS(RS) Request to send 5 CTS(CS) Clear to send 6 to 17 NC (Not used) Shell FG Shield ■Cable/Pin assignments (RS-232C cable for connecting to PLC: ZW-XPT2) Serial Communications Unit (CJ1W-SCU42) Sensor Controller (ZW-7000) RS-232C Interface Signal name Pin No. Pin No. Signal name RS-232C Interface FG 1 1 GND(0V) SD 2 2 TXD(SD) RD 3 3 RXD(RD) RS 4 4 RTS(RS) CS 5 5 CTS(CS) 5V 6 6 to 17 NC DR 7 ER 8 SG 9 FG Shell Shell FG D-sub 9-pin Connector contact: Male Square 17-pin Connector contact: Male

7.Serial Communications Connection Procedure

10 7. Serial Communications Connection Procedure This section describes the procedures for connecting PLC to Sensor Controller using serial communications. The explanations of procedures for setting up PLC and Sensor Controller given in this document are based on the factory default settings. For the initialization, refer to Section 8. Initialization Method. 7.1. Work Flow Take the following steps to connect PLC to Sensor Controller using serial communications and to send / receive messages. 7.2. Sensor Controller Setup Set up Sensor Controller. ↓ 7.2.1. Hardware Settings Connect cables and others to Sensor Controller. ↓ 7.2.2. Parameter Settings Set the parameters for Sensor Controller. ↓ 7.3. PLC Setup Set up PLC. ↓ 7.3.1. Hardware Settings Set the hardware switches on Serial Communications Unit and connect the cables. ↓ 7.3.2. Opening the Project File and Connecting Online with PLC Start CX-Programmer, open the project file, and connect online with PLC. ↓ 7.3.3. Creating the I/O Table Create the I/O table for PLC. ↓ 7.3.4. Parameter Settings Set the parameters for Serial Communications Unit. ↓ 7.3.5. Transferring the Project Data Transfer the project data to PLC. ↓ 7.3.6. Starting the CX-Protocol and Opening the project file Start CX-Protocol and open the project file. ↓ 7.3.7. Connecting Online and Transferring the Protocol Macro Data Connect online with CX-Protocol and transfer the protocol macro data to Serial Communications Unit. ↓

7.Serial Communications Connection Procedure

11 7.4. Serial Communication Status Check Start the send/receive processing and confirm that serial communications performs normally. ↓ 7.4.1. Starting the Trace Start tracing with CX-Protocol. ↓ 7.4.2. Executing the Communications Sequence Execute the communications sequence using CX-Programmer. ↓ 7.4.3. Checking the Trace Data Check with the trace data in CX-Protocol that the correct data are sent and received. ↓ 7.4.4. Checking the Receive Data Check that the correct data is written to the I/O memory of PLC using CX-Programmer.

7.Serial Communications Connection Procedure

12 7.2. Sensor Controller Setup Set up Sensor Controller. 7.2.1. Hardware Settings Connect cables and others to Sensor Controller. Precautions for Correct Use Make sure that the power supply is OFF when you set up. 1 Make sure that Sensor Controller is powered OFF. *If it is ON, the settings described in the following steps and subsequent procedures may not be applicable. 2 Check the position of connectors on Sensor Controller by referring to the figure on the right. 3 Connect the calibration ROM to ROM connector. 4 Connect Fiber connector on Sensor Head to Fiber adapter. Fiber adapter ROM connector RS-232C connector 24 V input terminal block

7.Serial Communications Connection Procedure

13 5 Connect an RS-232C cable (for PLC or programmable terminal) to RS-232C connector. 6 Connect 24 VDC power supply to 24 V input terminal block. *For details on specifications of 24 VDC power supply available for Sensor Controller, refer to the Displacement Sensor ZW-7000 series Confocal Fiber Type Displacement Sensor User’s Manual (Cat. No. Z362). 24 VDC power supply RS-232C cable (for PLC or programmable terminal)

7.Serial Communications Connection Procedure

14 7.2.2. Parameter Settings Set the parameters for Sensor Controller. 1 Check the positions of each keys and displays to use for parameter settings. 2 Turn ON Sensor Controller. 3 The system enters the RUN mode after displaying “INIT” for a few seconds. *The RUN Indicator is lit in the RUN mode. Press and hold the Mode Switching Key for two seconds. *5000 THRESHOLD H L RUN 4 OK/CAN is displayed. Press the ZERO/SET Key once. 0kzcan Main Display (White) Sub-display (Green) RUN Indicator (Green) ZERORST/ESC Key ZERO/SET Key ↓(DOWN) Key ↑(UP) Key →(RIGHT)Key ←(LEFT) Key Mode Switching Key

7.Serial Communications Connection Procedure

15 5 The operation mode is switched to the FUNC mode, and SENS is displayed on Main Display. *The RUN Indicator goes out in the FUNC mode. Keep pressing the →(RIGHT) or the ←(LEFT) Keys until SYSTEM is displayed. Press the ZERO/SET Key once THRESHOLD H L RUN 6 H.CALIB is displayed on Main Display. Keep pressing the →(RIGHT) or the ←(LEFT) Keys until COM is displayed. Press the ZERO/SET Key once. 7 RS232C is displayed on Main Display. Press the ZERO/SET Key once.

7.Serial Communications Connection Procedure

16 8 DATA is displayed on Main Display. Press the ZERO/SET Key once. Check that the following set value is displayed on Sub-display. Data length: 8bit (Default) *If the value is different, change the value by pressing the↑ (UP) or the ↓(DOWN) Keys. Press the ZERORST/ESC Key once. The first menu shown in this step is displayed again. Press the →(RIGHT) Key once. 8blt 9 PARITY is displayed on Main Display. Press the ZERO/SET Key once. Check that the following set value is displayed on Sub-display. Parity: OFF (None: Default) Press the ZERORST/ESC Key once. *If the value is different, change the value by pressing the ↑ (UP) or the ↓(DOWN) Keys. The first menu shown in this step is displayed again. Press the →(RIGHT) Key once. 0ff 8bit (Default) /7bit OFF (Default) /ODD/EVEN

7.Serial Communications Connection Procedure

17 10 STOP is displayed on Main display. Press the ZERO/SET Key once. Check that the following set value is displayed on Sub-display. Stop bit: 1bit (Default) Press the ZERORST/ESC Key once. *If the value is different, change the value by pressing the ↑ (UP) or the ↓(DOWN) Keys. The first menu shown in this step is displayed again. Press the →(RIGHT) Key once. 1blt 11 BAUD.RT is displayed on Main Display. Press the ZERO/SET Key once. Check that the following set value is displayed on Sub-display. Baud rate: 38400 (Default) Press the ZERORST/ESC Key once. *If the value is different, change the value by pressing the ↑ (UP) or the ↓(DOWN) Keys. The first menu shown in this step is displayed again. Press the →(RIGHT) Key once. 38400 1bit (Default) /2bit 9600/19200/ 38400 (Default) /57600/115200

7.Serial Communications Connection Procedure

18 12 CS/RS is displayed on Main Display. Press the ZERO/SET Key once. Check that the following set value is displayed on Sub-display. CS/RS control: OFF (None: Default) Press the ZERORST/ESC Key twice. *If the value is different, change the value by pressing the ↑ (UP) or the ↓(DOWN) Keys. 0ff 13 RS232C is displayed on Main Display. Keep pressing the →(RIGHT) or the ←(LEFT) Keys until DELIMI is displayed. Press the ZERO/SET Key once. 14 Check that the following set value is displayed on Sub-display. Delimiter: CR (Default) Press and hold the Mode Switching Key for two seconds. *If the value is different, change the value by pressing the ↑ (UP) or the ↓(DOWN) Keys. cr OFF (Default) /ON

7.Serial Communications Connection Procedure

19 15 OK/CAN is displayed. Press the ZERO/SET Key once. SAVE is displayed. Press the ZERO/SET Key once. The RUN mode is displayed. 0kzcan 0kzcan *5000 THRESHOLD H L RUN 16 Power cycle Sensor Controller. *The saved setting data become valid after power cycling.

7.Serial Communications Connection Procedure

20 7.3. PLC Setup Set up PLC. 7.3.1. Hardware Settings Set the hardware switches on Serial Communications Unit and connect the cables. Precautions for Correct Use Make sure that the power supply is OFF when you set up. 1 Make sure that PLC is powered OFF. *If it is ON, the settings described in the following steps and subsequent procedures may not be applicable. 2 Check the positions of the hardware switches and Port 2 on the front of Serial Communications Unit by referring to the figure on the right. 3 Set Unit number switch to 0. *The unit number is set to 0 as the factory default setting. 4 Connect Serial Communications Unit to PLC as shown on the right. Connect Port 2 on Serial Communications Unit and Sensor Controller with the RS-232C cable (for PLC or programmable terminal). Connect Personal computer to PLC with a USB cable. PLC Serial Communications Unit End Cover RS-232C cable (for PLC or programmable terminal) Personal computer USB cable Power Supply Unit CPU Unit Sensor Controller

7.Serial Communications Connection Procedure

21 7.3.2. Opening the Project File and Connecting Online with PLC Start CX-Programmer, open the project file, and connect online with PLC. Install CX-Programmer and the USB driver on Personal computer beforehand. 1 Turn ON PLC and Sensor Controller. 2 Start CX-Programmer. *If the User Account Control Dialog Box is displayed at start, make a selection to start CX-Programmer. 3 CX-Programmer starts. 4 Select Open from the File Menu. 5 The Open CX-Programmer Project Dialog Box is displayed. Select P652_CJ_PMCR232C_ OMRON_ZW-7000_EV100.cxp and click Open. *Obtain a project file from OMRON. 6 After you open the project file, select Programs in the project workspace.

7.Serial Communications Connection Procedure

22 7 Select Change Model from the PLC Menu. 8 The Change PLC Dialog Box is displayed. From the pull-down list of Device Type, select the device type of PLC to use. Click Settings. *CJ2M is selected in this document. 9 The Device Type Settings Dialog Box is displayed. From the pull-down list of CPU Type, select the CPU type to use. Click OK. *CPU12 is selected in this document.

7.Serial Communications Connection Procedure

23 10 Check that USB is set as the network type in the Change PLC Dialog Box. Click OK. *If USB is not set as the network type, select USB from the pull-down list. *If you changed Device Type in step 8 or CPU Type in step 9, the dialog box on the right is displayed. Confirm that there is no problem and click Yes. Make sure that the program was normally converted. ("0 errors" must be shown.) (Although duplicated output warnings were detected as shown on the right, they are not problems.) 11 Select Programs in the project workspace. Select Work Online from the PLC Menu.

7.Serial Communications Connection Procedure

24 12 The confirmation dialog box on the right is displayed. Confirm that there is no problem, and click Yes. 13 Check that CX-Programmer and PLC are normally connected online. *The icon is pressed down during online connection. Additional Information If PLC cannot be connected online, check the cable connection. After you check the cable connection, return to step 6, check the settings such as the connection type in steps 7 to 9 and try again. For details, refer to Connecting Directly to a CJ2 CPU Unit Using a USB Cable of the CX-Programmer OPERATION MANUAL (Cat. No. W446). Additional Information The dialog boxes explained in this document may not be displayed depending on the environmental settings of CX-Programmer. For details on the environmental settings, refer to Options and Preferences in CHAPTER 3 Project Reference in PART 1: CX-Programmer of the CX-Programmer OPERATION MANUAL (Cat. No. W446). This document explains the setting procedures when ''Confirm all operations affecting the PLC'' is selected.

7.Serial Communications Connection Procedure

25 7.3.3. Creating the I/O Table Create the I/O table for PLC. 1 If the operating mode of PLC is Run Mode or Monitor Mode, change it to Program Mode by following the steps below. (1)Select Operating Mode - Program from the PLC Menu in CX-Programmer. (2)The confirmation dialog box on the right is displayed. Confirm that there is no problem, and click Yes. *Refer to Additional Information on the previous page for the settings concerning the dialog display. (3)Check that Stop/Program Mode is displayed on the right of the PLC model in the project workspace tree of CX-Programmer. 2 Select Edit - I/O Table and Unit Setup from the PLC Menu in CX-Programmer. The PLC IO Table Window is displayed. Precautions for Correct Use The PLC is reset after creating and transferring the I/O table in step 3 and subsequent steps. Always confirm safety before creating and transferring the I/O table.

7.Serial Communications Connection Procedure

26 3 Select Create from the Options Menu in the PLC IO Table Window. The confirmation dialog box on the right is displayed. Confirm that there is no problem, and click Yes. The confirmation dialog box on the right is displayed. Confirm that there is no problem, and click Yes. 4 The Transfer from PLC Dialog Box is displayed. Select IO Table and SIO Unit Parameters. Click Transfer. When the transfer is completed, the Transfer Results Dialog Box is displayed. Check that the transfer is successfully completed by referring to the message in the dialog box. When the I/O table is created normally, the dialog box displays as follows: Transfer Success: 1 Unit Transfer Unsuccessful: 0 Unit Click OK.

7.Serial Communications Connection Procedure

27 7.3.4. Parameter Settings Set the parameters for Serial Communications Unit. 1 Double-click [0000] Main Rack in the PLC IO Table Window to expand the tree. 2 Right-click 00 [1500] CJ1W-SCU42 and select Unit Setup. 3 The View Parameters Dialog Box is displayed. Select Port2: Protocol macro Settings from the pull-down list of Displayed Parameter. *The Port 2 on Serial Communications Unit is used in this document.

7.Serial Communications Connection Procedure

28 4 The setting items of Port2: Protocol macro Settings are listed as shown in the figure on the right. (The figure shows the default values.) 5 Select User settings for Port 2: Port settings from the pull-down list of Set Value. 6 Set the following parameters in the same way as step 5. ・Serial communications mode: Protocol macro ・Data length: 8 bits ・Stop bits: 1 bit ・Parity: None ・Baud rate: 38400bps ・Protocol macro Transmission method: Full-duplex *Use the default settings for other parameters. Click Transfer[PC to Unit].

7.Serial Communications Connection Procedure

29 7 The confirmation dialog box on the right is displayed. Confirm that there is no problem, and click Yes. Check that the transfer is completed as shown on the right. Click Close. 8 The dialog box on the right is displayed. Check the contents and click Yes. The Select Port Dialog Box is displayed. Select All ports and click OK. 9 The dialog box on the right is displayed. Check the contents and click OK.

7.Serial Communications Connection Procedure

30 10 Click Compare in the View Parameters Dialog Box. 11 Check that a message "Compare successful" is displayed in the dialog box on the right. Click Close. 12 Click OK in the View Parameters Dialog Box. 13 Select Exit from the File Menu in the PLC IO Table Window to close.

7.Serial Communications Connection Procedure

31 7.3.5. Transferring the Project Data Transfer the project data to PLC. 1 Select Programs in the project workspace of CX-programmer. Select Transfer - To PLC from the PLC Menu. 2 Select Program(s), Comments, and Program index. Click OK. *The I/O table and Special Unit Setup are unnecessary to transfer here, because they are already set in 7.3.3. Creating the I/O Table and 7.3.4. Parameter Settings. *The Comments and the Program index Check Boxes may not be displayed depending on the device type. In such a case, select Program(s) only and transfer the project data. 3 The confirmation dialog box on the right is displayed. Confirm that there is no problem, and click Yes.

7.Serial Communications Connection Procedure

32 4 The dialog box on the right is displayed (stating "Download successful") when the transfer is completed. Click OK. 5 Select Programs in the project workspace. Select Transfer - Compare with PLC from the PLC Menu. 6 Select Program(s) and click OK. 7 Check that a message stating "Compare successful" is displayed. Click OK.

7.Serial Communications Connection Procedure

33 7.3.6. Starting the CX-Protocol and Opening the project file Start CX-Protocol and open the project file. 1 Start CX-Protocol. *If the User Account Control Dialog Box is displayed at start, make a selection to start CX-Protocol. 2 Start CX-Protocol. The following panes are displayed in this window. Top left: Project Workspace Bottom left: Output Window Right: Project Window 3 Select Open from the File Menu. 4 The Open Dialog Box is displayed. Select P652_CJ_PMCR232C_ OMRON_ZW-7000_EV100.psw and click Open. *Obtain a project file from OMRON. 5 The project data read are displayed in the Project Workspace and in the Project Window. Project Window Project Workspace Output Window

7.Serial Communications Connection Procedure

34 7.3.7. Connecting Online and Transferring the Protocol Macro Data Connect online with CX-Protocol and transfer the protocol macro data to Serial Communications Unit. 1 Double-click P652_CJ_PMCR232C_OMRO N_ZW-7000_EV100 in the Project Workspace to display a tree. 2 Select Edit PC-PLC Comms Settings from the PLC Menu. 3 The Change PLC Dialog Box is displayed. From the pull-down list of Device Type, select the device type of PLC to use. Click Settings. *CJ2M is selected in this document. 4 The Device Type Settings Dialog Box is displayed. From the pull-down list of CPU Type, select the CPU type to use. Click OK. *CPU12 is selected in this document.

7.Serial Communications Connection Procedure

35 5 Check that USB is set as the network type in the Change PLC Dialog Box. Click OK. *If USB is not set as the network type, select USB from the pull-down list. 6 Select Connect to PLC from the PLC Menu. 7 The PLC Icon in the Project Workspace changes from Offline to Program. It means that PLC is connected online. *If Monitor or Run is displayed, change it to Program by following step 8. 8 If the operating mode of PLC is Monitor or Run in step 7, select Operating Mode - Program from the PLC Menu. The confirmation dialog box on the right is displayed. Confirm that there is no problem, and click Yes. Check that the operating mode changes to Program mode as shown in step 7. 9 Double-click New Protocol List in the Project Workspace to display a tree.

7.Serial Communications Connection Procedure

36 10 The Project Window on the right is displayed. Check that SCU [0] is set in the Target Column. *If SCU [0] is not set, select SCU [0] as shown on the right. 11 Click New Protocol List in the Project Workspace and select Download Protocols from the Protocol Menu. 12 The dialog box on the right is displayed. Select Include Source Information and click Compile. 13 The compiling is complete when 100% is displayed in the Complied % Column. Check that the compiling is completed. Click Download.

7.Serial Communications Connection Procedure

37 14 The confirmation dialog box on the right is displayed. Confirm that there is no problem, and click OK. 15 Check that 100% is displayed in the Downloaded % Column as shown on the right. Click Close. 16 Click New Protocol List and select Compare Protocols from the Protocol Menu. 17 The dialog box on the right is displayed. Select Include Source Information and click Compile.

7.Serial Communications Connection Procedure

38 18 The compiling is complete when 100% is displayed in the Complied % Column. Check that the compiling is completed. Click Compare. 19 The dialog box on the right is displayed. Check that Successful is displayed in the Result Column. Click OK. 20 Check that 100% is displayed in the Compared % Column as shown on the right. Click Close.

7.Serial Communications Connection Procedure

39 7.4. Serial Communication Status Check Start the send/receive processing and confirm that serial communications performs normally. If the PLC memory is changed by malfunction during monitoring power flow and present value status in the Ladder Section Window or in the Watch Window, the devices connected to output units may malfunction, regardless of the operating mode of CPU Unit. Always ensure safety before monitoring power flow and present value status in the Ladder Section Window or in the Watch Window. Precautions for Correct Use Check that the serial cable is connected before performing the following procedure. If it is not connected, turn OFF the each device, and then connect the serial cable. 7.4.1. Starting the Trace Start tracing with CX-Protocol. 1 Select Operating Mode - Monitor from the PLC Menu. 2 The confirmation dialog box on the right is displayed. Confirm that there is no problem, and click Yes. 3 Check that the operating mode changes to Monitor Mode. Double click NewPLC1. 4 The tree under NewPLC1 expands. Select Serial Communications Unit. (SCU [0] is selected on the right).

7.Serial Communications Connection Procedure

40 5 Select the Trace 2 Icon ( ) in the Project Window. (Check that Trace 2 is highlighted as shown in the figure on the right.) *Trace 2 corresponds to Port 2 on Serial Communications Unit. 6 Select Start Trace - One ShotTrace from the PLC Menu. 7 Check that the status of Trace2 in the Project Window changes to One-shot Trace Running.

7.Serial Communications Connection Procedure

41 7.4.2. Executing the Communications Sequence Execute the communications sequence using CX-Programmer. 1 Expand the Programs tree in the project workspace of CX-Programmer and double-click Section1. The Ladder Section Window shows the Section1 ladder program. 2 In the Ladder Section Window, right-click Input_Start and select Set - On. 3 Check that the Input_Start contact is turned ON as shown in the figure on the right. Ladder Section Window

7.Serial Communications Connection Procedure

42 7.4.3. Checking the Trace Data Check with the trace data in CX-Protocol that the correct data are sent and received. 1 Select Upload Trace from the PLC Menu in CX-Protocol. *Once the trace data is stored, Upload Trace becomes selectable. 2 The dialog box on the right is displayed. Check the contents and click Yes.

7.Serial Communications Connection Procedure

43 3 Check the send/receive messages in the trace data file shown in the figure on the right. (In the example on the right, "VR"[0D(CR)] version information acquisition command of Sensor Controller is sent, and the version information (37 bytes) ”ZW-7000␣␣␣␣␣␣␣␣␣ ␣Ver2.020␣2016/03/10” [0D(CR)] is received.) *The ␣ mark above indicates a space. *The response data and the parameter as shown on the right are given as information. For details, refer to 5. No-protocol Connection of the Displacement Sensor ZW-7000 series Confocal Fiber Type Displacement Sensor User’s Manual for Communications Settings (Cat. No. Z363). *A receive message differs depending on a Sensor Controller you use. ■VR response parameter Item Size Model Variable Space 1 byte Version information Variable Data continued

7.Serial Communications Connection Procedure

44 7.4.4. Checking the Receive Data Check that the correct data is written to the I/O memory of PLC using CX-Programmer. 1 Select Edit - Memory from the PLC Menu in CX-Programmer. 2 Double-click CIO on the Memory Tab of the PLC Memory Window. 3 Enter 5500 in the Start Address Field of the displayed CIO Window. Check that the start address changes to CIO5500. 4 Select Monitor from the Online Menu.

7.Serial Communications Connection Procedure

45 5 The Monitor Memory Areas Dialog Box is displayed. Select CIO and click Monitor. 6 Check the received data (version information) in the CIO Window shown on the right. *In the example on the right, the stored data starting from CIO5502 are in hexadecimal and are described as follows: 5A57 2D37 3030 3020 2020 2020 2020 2020 2056 6572 322E 3032 3020 3230 3136 2F30 332F 3130 These values can be expressed as a string " ZW-7000␣␣␣␣␣␣␣␣␣ ␣Ver2.020␣2016/03/10" which is the same as the trace data described in step 3 in 7.4.3. Checking the Trace Data. The ␣ mark above indicates a space (20 in hexadecimal). *The number of words being used (0014 in hexadecimal, 20 in decimal) is stored in CIO5500.The receive data read are stored in, from CIO5502 to CIO5519. *You can convert hexadecimal to string by selecting Display - Text from the View Menu.

7.Serial Communications Connection Procedure

46 7 Perform steps 3 to 5 in 7.2.2. Parameter Settings and display H.CALIB on Main Display. Keep pressing the →(RiGHT) or the ←(LEFT) Keys until C.INFO is displayed on Main Display. Press the ZERO/SET Key once. 8 VER is displayed on Main Display. Press the ZERO/SET Key once. Check the Sensor Controller version displayed on Sub-display. Version: 2.020 *It shows that the Sensor Controller version is the same as the one in step 6. "020

8. Initialization method

The setting procedures in this document are based on the factory default settings. Some settings may not be applicable unless you use the devices with the factory default settings. 8.1. Initializing PLC To initialize the settings of PLC, it is necessary to initialize Serial Communications Unit and CPU Unit. Change the operating mode of PLC to PROGRAM mode before the initialization. 8.1.1. Serial Communications Unit To initialize the settings of Serial Communications Unit, select Edit - I/O Table and Unit Setup from the PLC Menu in CX-Programmer and perform the following steps. (1)Right-click Serial Communications Unit in the PLC IO Table Window and select Unit Setup from the menu. (2)In the CJ1W-SCU42 [View Parameters] Dialog Box, click Set Defaults first, then click Transfer[PC to Unit].

To initialize the CPU Unit settings, select Clear All Memory Areas from the PLC Menu in

CX-Programmer. Select Initialize in the Confirm All Memory Area Clear Dialog Box and click OK. 8.1. Initializing Sensor Controller For information on how to initialize Sensor Controller, refer to Initializing Settings in 8-11 Setting the System in 8. Sensor controller operations of the Displacement Sensor ZW-7000 series Confocal Fiber Type Displacement Sensor User’s Manual (Cat. No. Z362).

This section describes the details on the program used in this document.

9.1. Overview The following explains specifications and functions of the program that are used to check the connection between Sensor Controller (hereinafter referred to as Destination Device) and PLC (Serial Communications Unit (hereinafter referred to as SCU)). This program uses the protocol macro function of SCU to send and receive the "version information acquisition" command to/from Destination Device and to detect a normal end or an error end. A normal end of the send/receive processing means a normal end of the communications sequence. An error end means an error end of the communications sequence and an error of Destination Device (detected with the response data from Destination Device). Here, the "&" prefix is added to decimal data and the "#" prefix is added to hexadecimal data when it is necessary to distinguish between decimal and hexadecimal data. (e.g., "&1000" for decimal data and "#03E8" for hexadecimal data) Additional Information OMRON has confirmed that normal communications can be performed using this program under 5.2. Device Configuration, however, we do not guarantee the normal operation under the disturbance such as electrical noise or the performance variation of the device.

Outline of Processing

The following figure shows the data flow from when PLC (SCU) issues command data to Destination Device using serial communications until PLC receives response data from Destination Device. (1)The ladder program specifies the communications sequence No. 900 and executes the PMCR instruction. (2) The PLC receives the response data from Sensor Controller according to receive messages defined by the communications sequence No. 900 and stores them in the response data storage area. (3)The Sensor Controller executes the command by receiving the command data from PLC, and returns response data to PLC. (4)The PLC receives the response data from Sensor Controller according to the receive messages defined by the communications sequence No. 900, and stores them in the response data storage area. PLC RS-232C Sensor Controller CPU Unit SCU Ladder program Protocol macro data Response data (2) Sends the command data. (Sequence No. 900) 5501 onwards Response data storage area (4) Receives the response data and stores them in the specified memory. (Sequence No. 900) Command data (1) Executes the PMCR instruction. (Specifying the sequence No. 900) (3) Executes the command and returns the response data. PMCR Sequence No. 1 Sequence No. 2 Sequence No. 900 : 5020 onwards Send data setting area

PMCR Instruction and Send/Receive Messages

The following describes the basic operations to execute the PMCR instruction and to send and receive messages. Additional Information For details, refer to Serial Communications Instructions (PMCR) in SECTION 3 Instructions of the CJ Series Programmable Controllers INSTRUCTIONS REFERENCE MANUAL (Cat. No. W474). ●PMCR instruction operand data

[C1: Control word 1]

The following three items are set for SCU. ・ Communications port No. (internal logical port): #0 to #7 ・ Serial port number (physical port): #1 or #2 (#1: PORT1, #2: PORT2) ・ Unit address of Destination Device: # unit number + #10 Control word:C1 +0 word * * * * 0 15 Bit Unit address of Destination Device Serial port No. (Physical port) Communications port No. (internal logical port) [C2: Control word 2] The communications sequence number is set, which is registered as protocol macro data. For information on the communications sequence number registered in this protocol macro data, refer to 9.2.1 Communications Sequence Number. Control word:C2 +0 word * * * * Communications sequence No. & 0 to 999(#0000 to 03E7) 0 15 Bit [S: First send word (send area specification)] The first word of the words (n) required to send the data is set to S. (Including the S word) Between #0000 and #00FA (n=&0 and &250) words can be set. The send data (assigned to a variable) are entered in the words from S+1 to S+(n-1). If there is no operand specified in the execution sequence, such as a direct or linked word, set constant #0000 for S. Send area:S No. of send area words +0 word +1 word +2 words …words (n-1) words * * * * * * * * 0 15 Bit * * * * * * * * * * * * +3 words * * * * Data 0 15 0 15 0 15 0 15 0 15 [D: First receive word (receive area specification)] The number of the received data words (m) is stored in D. (Including the D word) The received data is stored in the words from D+1 to D+(m-1). (m=&0 to &250 or #0000 to #00FA) Receive area:R No. of receive area words +0 word +1 word +2 words …words (m-1) words * * * * * * * * 0 15 Bit * * * * * * * * * * * * +3 words * * * * Data 0 15 0 15 0 15 0 15 0 15

[Frames of send/receive messages]

Send message PLC Receive message Destination Device CR LF * * * * * * Terminator Data CR LF * * * * * * Data Terminator [Relation between send area S (PMCR instruction operand) and send messages] SCU -> Destination Device Send message CPU ->SCU Send area:S +0 word +1 word +2 words +(n-1) words * * * * * * * * 0 15 0 15 0 15 0 15 Bit * * * * * * * * No. of send area words CR LF * * * * * * Terminator Data [Relation between receive messages and receive area D (PMCR instruction operand)] Destination Device -> SCU Receive message SCU ->CPU Receive area:D +0 word +1 word +2 words +(n-1) words * * * * * * * * 0 15 0 15 0 15 0 15 Bit * * * * * * * * No. of receive area words CR LF * * * * * * Terminator Data

9.2. Communications Sequence

The following explains the communications sequence that can be used for the PMCR instruction in this program. 9.2.1. Communications Sequence Number A communications sequence that is registered in SCU is identified by a communications sequence number. The PLC executes a corresponding command on Destination Device by specifying a communications sequence number in the PMCR instruction. This protocol macro data includes the following communications sequence. No. Command name Description 900 Version information acquisition Acquires version information of Destination Device. 9.2.2. PMCR Instruction Operand Settings The PMCR instruction operands of the communications sequence No. 900 (#0384)" version information acquisition" are shown below. ・Control word C1 setting (C1: CIO 5010) CH Description (data type) Data (description) C1 Communications port No. (1-digit hex) #7210 (Communications port No. 7, Serial port No.2, #Unit number + #10) Serial port No. (1-digit hex) Unit address of Destination Device (2-digit hex) ・Control word C2 setting (C2: CIO 5011) CH Description (data type) Data (description) C2 Communications sequence No. &900 (Version information acquisition) ・First send word S setting (S: CIO 5020) CH Description (data type) Data (description) S Number of send data words (4-digit hex) #0000: (No variable in send messages of protocol macro data) ・First receive word D setting (D: CIO 5500) CH Description (data type) Data (description) D Number of receive data words (4-digit hex) Stores the number of words used, including the D word. D+1 Receive data [0] (4-digit hex) Stores acquired version information. D+2 Receive data [1] (4-digit hex) : : D+50 Receive data [49] (4-digit hex)

Receive Data Format

The following shows the receive data format of version information that is acquired from Destination Device using the version information acquisition command. The information below is stored in order from D+1. (D: CIO 5500) Item Size Model Variable Space 1 byte Version infromation Variable

9.3. Error Detection Processing

In this program, the error detection processing performs with regard to the following areas (1) to (3). For error codes, refer to 9.8. Error Processing. (1)Errors when executing the PMCR instruction (PMCR instruction error) An incorrect communications sequence number and an incorrect memory address, which prevent the execution of the PMCR instruction, are detected as PMCR instruction errors. An error can be detected with error codes (1519.00 to 03) of the port operating status in the CIO area allocated to the SCU. (2)Errors when communicating with Destination Device (Communications error) Errors that occur in communications with Destination Device such as character corruption and transmission errors caused by unmatched baud rate setting are detected as communications errors. An error can be detected with error code (1519.10) of the sequence abort completion in the CIO area allocated to the SCU. (3)Errors in Destination Device (Destination Device errors) Destination Device errors include a command error, a parameter error, a data error, and an execution failure in Destination Device. An error is detected with the response data which is returned from Destination Device. In this program, an error is detected by comparing difference in formats between a receive message in normal operation (hereinafter referred to as "normal message") and a receive message in error (hereinafter referred to as "error message"). (For details, refer to 9.6.6. Receive Message Settings.) Normal message “ZW-7000␣…␣” “␣” “Ver.x.xxx xx/xx/xx” #0D Model Space Command End code [CR] Error message “ER” #0D Error End code [CR] Additional Information For information on the CIO area allocated to SCU, refer to 9.4.2 Lists of Allocations. Serial cable CJ2M-CPU12 CJ1W-SCU42 Destination Device (1) (2) (3)

9.4. Memory Maps

The memory maps of this program are shown below. 9.4.1. Lists of Addresses The tables below list the addresses necessary to execute this program. You can change the allocations below to any addresses. Precautions for Correct Use Make sure that there is no duplicated address when changing the addresses. ●Input memory The address below is used to operate this program. Address Data type Variable name Description 5000.00 BOOL Input_Start Starts the send/receive processing when this flag changes from OFF to ON. ●Output memory The execution results of the program are stored in these addresses. Address Data type Variable name Description 5000.02 BOOL Output_NormalEnd Turns ON when the send/receive processing ends normally. 5000.03 BOOL Output_ErrorEnd Turns ON when one or more of the following errors occur. (1) PMCR instruction error (2) Communications error (3) Destination Device error 5501 WORD ReceiveData[0] (4-digit hex) Stores the 1st and 2nd bytes of the data received from Destination Device. 5502 WORD ReceiveData[1] (4-digit hex) Stores the 3rd and 4th bytes of the data received from Destination Device. : : : : 5550 WORD ReceiveData[49] (4-digit hex) Stores bytes the 99th and 100th bytes of the data received from Destination Device. H400 UINT Output_PMCR_ErrorCode Stores an error code when a PMCR instruction error or a communications error occurs. H402 UINT Output_DestinationDeviceErrorCode Stores an error code when an error occurs in Destination Device.

These addresses are used to operate this program only.

Address Data type Variable name Description 5000.01 BOOL Local_PMCRExecuting Indicates the PMCR instruction execution status. Turns ON when the PMCR instruction is being executed, and turns OFF when the PMCR instruction is not executed. 5000.04 BOOL Local_PMCRNormalEnd Turns ON when the PMCR instruction ends normally. 5000.05 BOOL Local_PMCRErrorEnd Turns ON when a communications error (such as a transmission error) occurs. 5000.06 BOOL Local_DestinationDevice Error Turns ON when a Destination Device error occurs. 5000.07 BOOL Local_PMCRErrorCode Turns ON when a PMCR instruction error (either of the following three errors) occurs. (1) Sequence No. error (2) Data read/write area exceeded error (3) Protocol data syntax error 5010 UINT Local_ControlWord1 Execution parameter of PMCR instruction 5011 UINT Local_ControlWord2 Execution parameter of PMCR instruction 5012 UINT Local_PMCR_ErrorCode Stores an error code when a PMCR instruction error occurs. 5020 UINT Local_FirstSendWord Sets the number of send message words of the PMCR instruction. 5500 UINT Local_FirstReceiveWord Stores the number of message words received from Destination Device.

Lists of Allocations

The tables below list the addresses necessary to execute this program. ●CIO area They are the fixed addresses determined by the unit address (unit number) that is set for SCU. Unit number 0 is used in this program. Address Data type Variable name 1519.10 BOOL SequenceAbortCompletion_SCU_0_P2 1519.11 BOOL SequenceEndCompletion_SCU_0_P2 1519.15 BOOL ProtocolMacroExecuting_SCU_0_P2 1519 UINT ProtocolMacroErrorCode_SCU_0_P2 Additional Information For details on the CIO area allocated to SCU, refer to 2-3-2. CIO Area of the CJ Series Serial Communications Units OPERATION MANUAL (Cat. No. W336). ●Related auxiliary area They are the fixed addresses determined by the communications port number (internal logical port) specified in the program (PMCR instruction operands). This program uses the communications port No. 7. Address Data type Variable name A202.07 BOOL CommPortEnabledFlag_P7 Additional Information For information on the related auxiliary area for the PMCR instruction, refer to Related Auxiliary Area Words and Bits in Serial Communications Instructions (PMCR) in SECTION 3. Instructions of the CJ Series Programmable Controllers INSTRUCTIONS REFERENCE MANUAL (Cat. No. W474).

9.5. Ladder Program

9.5.1. Functional Components of the Ladder Program The functional components of this program are shown below. Major classification Minor classification Description 1. Initialization processing 1.1. Response code clear 1.2. Operand setting for PMCR instruction 1.3. Send/receive symbol setting The area of use is cleared, and the initialization setting is performed as a preparation for communications. 2. PMCR instruction execution management 2.1. PMCR instruction executing 2.2. PMCR instruction execution processing 2.3. Normal/error detection processing The communications sequence registered in SCU is identified and executed. A normal end or an error end is detected based on the related flags and receive data. 3. Normal end state management 3.1. Normal end processing 3.2. Response code setting The normal completion flag is turned ON. The response code for a normal end is set. 4. Error end state management 4.1. Error end processing 4.2. Response code setting The error end flag is turned ON. The response code corresponding to the error cause is set.

Detailed Description of Each Functional Component

The program configured for this document is shown below. ●1. Initialization processing No. Outline Description 1.1. Response code clear Clears the error code storage area to 0. 1.2. Operand setting for PMCR instruction Sets execution parameters (operands) of the PMCR instruction. 1.3. Send/receive symbol setting Initializes the receive data storage area.

●2. PMCR instruction execution management

No. Outline Description 2.1. PMCR instruction executing Enters the PMCR instruction executing status. The executing state is reset at a normal end or an error end of the send/receive processing. 2.2. PMCR instruction execution processing Executes the PMCR instruction under the following conditions. - Communications port No.7 can be used. - CMND instruction is not being executed. Point on safety Thoroughly check the overall program before specifying the area to store the receive data of the PMCR instruction. Otherwise, the data may be written to an unintended memory area. Precautions for Correct Use This program uses the communications port No.7. Do not use the communications port No.7 for other purposes. If you have no choice but to use the communications port No. 7, check that Communications Port Enabled Flag (A202.07) is ON.

Detects a normal end or an error end of the result of

send/receive processing. It is considered as a normal end when all the following conditions are satisfied. (1)Normal end of PMCR instruction (No PMCR instruction error) (2)Normal end of communications sequence (No communications error) (3)Normal messages received from Destination Device (No Destination Device error) If any of the errors are detected under the conditions above, a corresponding error flag will turn ON.

●3. Normal end state management

No. Outline Description 3.1. Normal end processing Turns ON the normal end flag if it is detected in 2.3. Normal/error detection processing that the send/receive processing ends normally. 3.2. Response code setting Sets response code "#0000" for a normal end in the response code storage area.

●4. Error end state management

No. Outline Description 4.1. Error end processing Turns ON the error end flag if it is detected in 2.3. Normal/error detection processing that the send/receive processing ends in an error. 4.2. Response code setting Sets the response code corresponding to the error in the response code storage area when an error occurs. Additional Information Refer to 9.8 Error Processing in this document for details on the response codes.

9.6. Protocol Macro Data

The protocol macro data consists of sequence, step, send/receive message, and receive matrix. Its composition is described as follows: ●When there is only one receive message format for a step (send/receive once) ・Set one each of receive and send messages for the step. Sequence No. 900 Step No. 00 Send message 00 Receive message 00 ・ ・ Step No. yy Send message yy Receive message yy Sequence No. xxx xxx: 999 max./ yy: 15 max ●When there are several types of receive message formats for a step (send/receive once) ・Set the send message and the receive matrix for the step. ・Store several types of receive message formats in the reception matrix case numbers 00 to 14. (In the case number 15, "Other" is automatically stored.) Sequence No.900 Step No.00 Send message 00 < Receive matrix > ・ ・ ・ Case No. 00 Receive message 00 Step No. yy yy: 15 max zz: 14 max Case No. zz Receive message zz Sequence No. xxx xxx: 999 max Automatically stores in the case No. 15. Case No. 15 Other 9.6.1. Composition of Protocol Macro Data In the protocol macro data, there are three different types of receive message formats (normal and error messages) for the send message (SD_VR). Therefore, the following composition is used with the receive matrix (Mat_VR). Sequence No. 900 Step No. 00 SD_VR <Mat_VR> Case No .00 RV_VR Case No .01 RV_ER Case No .15 Other *Normal message for receiving: RV_VR Error message for receiving: RV_ER, Other (For details, refer to 9.6.6. Receive Message Settings.)

Protocol Macro Data Processing Procedure

The processing procedure of protocol macro data is shown below. 1. [Step No.00] Issuing send message (SD_VR) ↓ 2. When step No.00 ends normally When step No.00 ends in error ↓ ↓ 3. Next Process: Receive matrix Error Process: [Abort] Executes the case No. 00, 01, 15, and terminates the communications sequence as an End. Interrupts the step and terminates the communications sequence. ↓ (End) ↓ (End)

The protocol macro data performs the version information acquisition using the

communications sequence No. 900. Set the timeout periods for the communications sequence. Additional Information For details on sequence settings, refer to 3-2 Sequence Attributes (Common to All Steps) of the CX-Protocol OPERATION MANUAL (Cat. No. W344). ●Timeout period setting The following describes the contents of the timeout periods (Timer Tr, Tfr, and Tfs) which are set for the sequence. [Screenshot of communications sequence setting] Item Description Explanation Timer Tr Receive wait monitoring time Monitors the time from when the receive command of the step in the sequence is recognized until the first byte (header) is received. This timer is set to 3 seconds in this protocol macro data. Timer Tfr Receive finish monitoring time Monitors the time from reception of the first byte to reception of the last byte of the data in the step in the sequence. This timer is set to 3 seconds in this protocol macro data. Timer Tfs Send finish monitoring time Monitors the time from transmission of the header to transmission of the last byte of the data. Additional Information For the calculation method of monitoring time, refer to 4-5 Calculation Method of Monitoring Time of the CX-Protocol OPERATION MANUAL (Cat. No. W344).

The following describes the contents of step settings for the communications sequence No.

900. The settings include retry count, send/receive messages (message names), next process, and error process. The sequence of this protocol macro data is composed of the step No. 00 only. Additional Information For details on step settings, refer to 3-3 Step Attributes of the CX-Protocol OPERATION MANUAL (Cat. No. W344). ●Retry count setting The following describes the contents of retry count setting for the step. The step is repeated the number of designated times (0 to 9 times) when an error occurs. If the error still remains after the designated number of retry repetitions, the system goes to the error process. The retry count can be set only for the step in which Send&Receive command is set. < Screenshot of step settings> Step No. Retry count 00 3 ●Send/Receive message (massage name) setting The following describes the setting contents of send/receive messages for the step. The settings are made by using both the send message and receive matrix names mentioned in 9.6.1. Composition of Protocol Macro Data. < Screenshot of step settings > Step No. Send message Receive message 00 SD_VR <Mat_VR> * The receive matrix is indicated with a pair of marks < > at the beginning and end of the receive message. The receive matrix is set when more than one receive message format exists.

●Next process and error process settings

The following describes the setting contents of the next process and error process for the step. The process set in the Next Column is executed when the step execution ends normally. If a communications error occurs, the process set in the Error Column is executed. < Screenshot of step settings > Step No. Next process Error process 00 Matrix Abort Process Description End Ends the communications sequence. Next Goes to the next step number. Abort Interrupts the step and ends the communications sequence. Goto Goes to a designated step number. Matrix Uses the settings of the receive matrix.

Send Message Settings

The following describes the contents of send message settings. Additional Information For details on send message settings, refer to 3-4 Communication Message Attributes of the CX-Protocol OPERATION MANUAL (Cat. No. W344). [Screenshot of send message settings] ●SD_VR send message setting "VR"+ (1) (2) No. Code Description (1) "VR" Constant ASCII (Version information acquisition command) (2) (Terminator) Type: Code, Data: CR This is the command format of the message that is sent from SCU to Destination Device according to the SD_VR send message setting. "VR" CR Command Number of bytes Remarks "VR" 2 Fixed: "VR" (Version information acquisition command) Terminator 1 CR(#0D) is used for this protocol macro data.

Receive Message Settings

The following describes the contents of receive message settings. The receive message compatible with the response formats of normal and error messages are set. Additional Information For details on receive message settings, refer to 3-4 Communication Message Attributes of the CX-Protocol OPERATION MANUAL (Cat. No. W344). [Screenshot of receive message settings] ●Normal and error message identification In the protocol macro data, the normal and error messages are identified using the receive message data. ・Error message: Receive messages with 2 characters beginning with E ・Normal message: Receive messages except for the above (A receive message is identified using a receive matrix.) : All the other messages except for the above ●RV_VR receive message setting (Normal message) (W(2),*)+ (1) (2) No. Code Description (1) (W(2),*) W(2),*: Stores data with the desired size in the first receive word + 2 words that is specified by the PMCR instruction operand. (2) (Terminator) Type: Code, Data: CR

This is the response format of the normal message received by SCU from Destination Device according to the RV_VR receive message setting. Version information (Size: variable) CR Command Number of bytes Remarks Version information Variable Variable: (version, date) Terminator 1 CR(#0D) is used for this protocol macro data. ●RV_ER receive message setting (Error message) "E"+(W(1),1)+ (1) (2) (3) No. Code Description (1) "E" Constant ASCII (E is fixed when receiving the response.) (2) &(W(2),2) (W(1),1): Stores 1 byte of data in the first receive word + 1 word that is specified by the PMCR instruction operand. (3) (Terminator) Type: Code, Data: CR This is the response format of the message received by SCU from Destination Device according to the RV_ER receive message setting. "ER" CR Command Number of bytes Remarks "ER" 2 Fixed: "ER" (Error code when a Destination Device error occurs.) Terminator 1 CR(#0D) is used for this protocol macro data.

Receive Matrix Settings

The following describes the contents of receive matrix settings. The Mat_VR is set for the receive matrix. Additional Information For details on receive matrix settings, refer to 3-5 Creating Matrices of the CX-Protocol OPERATION MANUAL (Cat. No. W344). [Screenshot of receive matrix settings] *The above screenshot shows that three cases are set for the Mat_VR receive matrix. ●Mat_VR receive matrix setting The following shows that three case numbers 00, 01, and 15 are set. [Screenshot of case number setting] The table below shows the contents of the receive message and next process setting for each case number. Case No. Receive message Next process 00 RV_ER End 01 RV_VR End 15 Other End *The receive matrix performs a comparison from the receive message most meeting the specified condition of response format in accordance with RV_ER (error message), RV_VR (normal message), and Other (other message) in that order.

9.7. Timing Chart

The timing charts are shown below. ●Normal end Local_PMCRExecuting (5000.01) Receive data storage area (From 5501) Output_NormalEnd (5000.02) Input_Start (5000.00) Output_ErrorEnd (5000.03) Output_PMCR_ErrorCode (H400) Output_DestinationDevice ErrorCode (H402) #0000 #0000 Normal response Normal response ●Error end Local_PMCRExecuting (5000.01) Receive data storage area (From 5501) Output_NormalEnd (5000.02) Input_Start (5000.00) Output_ErrorEnd (5000.03) Output_PMCR_ErrorCode (H400) Output_DestinationDevice ErrorCode (H402) Error end (1) PMCR instruction error #0002 to 4 #0000 Error end (3) Destination Device Error #0000 #xxxx Error end (2) Communications error #000F #0000

9.8. Error processing

The following gives the details of errors that may occur during the program execution. 9.8.1. Protocol Macro Error Code The SCU detects an error by monitoring the macro operation. The error codes include (1) PMCR instruction error or (2) Communications error (transmission error, etc.) and are stored in H400 Output_PMCR_ErrorCode. [Error code list] Error code Name Classification Description #0002 Sequence No. error (1)PMCR instruction error The sequence number specified by the PMCR instruction does not exist in Unit. #0003 Data Read/Write Area Exceeded Error (1)PMCR instruction error When data is written or read to CPU Unit, the specified area range is exceeded. #0004 Protocol Data Syntax Error (1)PMCR instruction error A code that cannot be executed occurs while the protocol macro is being executed. (Example: A header occurs after a terminator.) #000F Transmission error (2)Communications error Communications cannot perform due to an error in the transmission path, etc. Additional Information For details and troubleshooting on the protocol macro errors, refer to 12-3 Troubleshooting of the CJ Series Serial Communications Units OPERATION MANUAL (Cat. No. W336). 9.8.2. Destination Device Error Code The Destination Device detects an error when executing the command on Destination Device. The error code is stored in H402 Output_DestinationDeviceErrorCode. [Error code list] Error code Description “ER” (#4552) An error is detected on Destination Device. Additional Information For details and troubleshooting on the Destination Device error, refer to 6. Troubleshooting of the Displacement Sensor ZW-7000 series Confocal Fiber Type Displacement Sensor User’s Manual for Communications Settings (Cat. No. Z363).

10. Revision History

Revision code Date of revision Description of revision 01 June 2, 2016 First edition

Other Controller Manuals