Mitsubishi Electric CR800 Series Ethernet Function Instruction Manual

Mitsubishi Electric CR800 Series Ethernet Function Instruction Manual

Electric industrial robot
Hide thumbs Also See for CR800 Series:
Table of Contents

Advertisement

Mitsubishi Electric Industrial Robot
CR800 series controller
CR750/CR751 series controller
Ethernet Function Instruction Manual
BFP-A3379-C

Advertisement

Table of Contents
loading

Summary of Contents for Mitsubishi Electric CR800 Series

  • Page 1 Mitsubishi Electric Industrial Robot CR800 series controller CR750/CR751 series controller Ethernet Function Instruction Manual BFP-A3379-C...
  • Page 3  Revision History Print Date Instruction Manual No. Revision Content 2015-03-18 BFP-A3379 First print 2017-04-28 BFP-A3379-A Descriptions about the CR800 controller have been added. Descriptions about FR Series CC-Link IE Filed Network Basic function have 2017-11-10 BFP-A3379-B been added. 2018-02-01 BFP-A3379-C The CR800-Q controller was added.
  • Page 4 Safety Precautions Always read the following precautions and the separate "Safety Manual" before starting use of the robot to learn the required measures to be taken. CAUTION All teaching work must be carried out by an operator who has received special training.
  • Page 5 The points of the precautions given in the separate "Safety Manual" are given below. Refer to the actual "Safety Manual" for details. DANGER When automatic operation of the robot is performed using multiple control devices (GOT, programmable controller, push-button switch), the interlocking of operation rights of the devices, etc.
  • Page 6 CAUTION After editing the program, always confirm the operation with step operation before starting automatic operation. Failure to do so could lead to interference with peripheral devices because of programming mistakes, etc. CAUTION Make sure that if the safety fence entrance door is opened during automatic operation, the door is locked or that the robot will automatically stop.
  • Page 7 DANGER Attach the cap to the SSCNET III connector after disconnecting the SSCNET III cable. If the cap is not attached, dirt or dust may adhere to the connector pins, resulting in deterioration connector properties, and leading to malfunction. CAUTION Make sure there are no mistakes in the wiring.
  • Page 8: Table Of Contents

    Contents 1. Before use ................................1-1 1.1. How to use the instruction manual ....................... 1-1 1.1.1. Content of instruction manual ......................1-1 1.2. Terms used in the instruction manual ......................1-1 1.3. Confirmation of product ..........................1-2 1.4. Ethernet function ............................1-2 1.4.1.
  • Page 9 3.4.2. Supported version .......................... 3-25 3.4.3. Setup ............................. 3-26 3.4.4. Start of monitor / End of monitor ....................3-28 3.4.5. Explanation of communication data packet ..................3-29 3.4.6. Data type ID ........................... 3-32 3.4.7. Parameters ............................ 3-33 3.4.8. Error ............................... 3-33 3.5.
  • Page 11: Before Use

    1 Before use 1. Before use This chapter describes the confirmation items and cautionary items which must be read before practical use of the Ethernet. 1.1. How to use the instruction manual 1.1.1. Content of instruction manual Through the following configuration, this document introduces the Ethernet function. As for the functions available in the standard robot controller and the operation method, please refer to the "Instruction Manual"...
  • Page 12: Confirmation Of Product

    1 Before use 1.3. Confirmation of product The standard configuration of the product supplied by the customer is as follows. Confirm the configuration. In addition to the standard robot system configuration, the following is necessary. These devices are separately procured by the customer.
  • Page 13 1 Before use (4) The Ethernet functions are described below. Refer to the section "3. Description of functions" for details on each function. Outline of function Remarks Reference page Controller communication function * Communication with up to Chapter 1 General Data can be communicated with the robot controller via 16 clients is possible.
  • Page 14 1 Before use * The personal computer used to communicate with the robot controller must be located on the same network. Communication cannot be carried out over firewalls (from internet) or over gateways (from different adjacent network, etc.). Consider operation with a method that communicates via a server (i.e., HTTP server, etc.) connected to the same network as the robot controller.
  • Page 15: Preparation Before Use

    2 Preparation before use 2. Preparation before use What is done before use is described. Connection of Ethernet cable … Refer to 2.1. ↓ Parameter setting … Refer to 2.2. 2.1. Connection of Ethernet cable As shown below, connect the Ethernet cable to the connector. When the hub is used, use the straight cable.
  • Page 16 2 Preparation before use CR750 controller back <CR750 controller> LAN connect <CR751 controller> CR751 controller front LAN connect <CR750-Q/CR751-Q controller> Robot CPU unit front LAN connect...
  • Page 17: Parameter Setting

    2 Preparation before use 2.2. Parameter setting Before use, it is necessary to set the following parameters. The parameters which are set on the robot controller are shown in the following list. For the method to set the parameter, refer to the instruction manual of the controller. After changing the parameters, turn the power supply of the controller from OFF to ON.
  • Page 18 2 Preparation before use Controller Real-time Real-time Parameter Number of Data link CC-Link Details Default value communication control monitoring SLMP name elements function IEF Basic function function function COMDEV Definition of device corresponding to COM1: to 8 Character Definition of device corresponding to COM1:, string 8 Definition of device corresponding to COM2:, Definition of device corresponding to COM3:,...
  • Page 19: Details Of Parameters

    2 Preparation before use 2.2.2. Details of parameters The parameters are herein described in details. (1) NETIP (IP address of robot controller) The IP address of the robot controller is set. IP address is like the address of the mail. The format of IP address is composed of 4 numbers of 0 to 255 and the dot (.) between the numbers.
  • Page 20 (#7820). For example, to generate an error when there is no communication for approx. 7 seconds, set 1000 for the CR750/CR751 series, and 2000 for the CR800 series (1000 when user mechanical is set).
  • Page 21 2 Preparation before use (10) MONPORT (Real-time monitoring function, port number) Specify the inbound port number and the outbound port number of the real-time monitoring function. (0 to65535) First element: Inbound port number Second element: Outbound port number Take note that 0 is a special value for the second element, which replies to the sender port number that is set in the UDP header information of the packet data start that the robot controller has received.
  • Page 22: Parameter Setting Example 1 (When The Support Software Is Used)

    2 Preparation before use 2.2.3. Parameter setting example 1 (When the Support Software is used) The setting example to use the Support Software is shown below. Set the parameters for the robot controller, and the network for the personal computer OS being used. Conditions for example 1 IP address of robot controller 192.168.0.20...
  • Page 23 2 Preparation before use 2.2.4. Parameter setting example 2-1 (When the data link function is used: When the controller is the server) Shows the example of the setting, when the controller is server by the data link function. Conditions for example 2-1 Robot controller IP address 192.168.0.20 Personal computer IP address...
  • Page 24 2 Preparation before use 2.2.5. Parameter setting example 2-2 (When the data link function is used: When the controller is the client) Shows the example of the setting, when the controller is client by the data link function. Conditions for example 2-2 Robot controller IP address 192.168.0.20 Personal computer IP address...
  • Page 25: Parameter Setting Example 3 (For Using The Real-Time External Control Function)

    2 Preparation before use 2.2.6. Parameter setting example 3 (for using the real-time external control function) An example of the settings for using the real-time external control function is shown below. Conditions for example 3 Robot controller IP address 192.168.0.20 Personal computer IP address 192.168.0.10 Robot controller port No.
  • Page 26: Connection Confirmation

    2 Preparation before use 2.3. Connection confirmation Before use, confirm the following items again. Connection confirmation Confirmation item Check Is the teaching pendant securely fixed? Is the Ethernet cable properly connected between the controller and personal computer? (Refer to 2.1 in this manual.) Is any proper Ethernet cable used? (This cross cable is used to connect the personal computer and controller one-on-one.
  • Page 27: Description Of Functions

    3 Description of functions 3. Description of functions This chapter explains the methods for using the six Ethernet option functions with a system in which the controller and network personal computer are connected with a one-on-one cross cable. (1) Using the controller communication function ...
  • Page 28: Controller Communication Function

    3 Description of functions 3.1. Controller communication function The operations for communicating with the personal computer support software are explained in this section. Connecting the controller and personal computer. … Refer to section 3.1.1 Setting the personal computer network. … Refer to section 3.1.2 Setting the controller parameters.
  • Page 29: Setting The Personal Computer Support Software Communication

    3 Description of functions 3.1.4. Setting the personal computer support software communication Start the personal computer support software and make the communication settings. Set the communication method to TCP/IP, and the IP Address to 192.168.0.20. Refer to the instruction manual enclosed with the personal computer support software for details on setting the personal computer support software.
  • Page 30: Communication

    3 Description of functions 3.1.5. Communication Communicate with the personal computer support software. Communication can be carried out with the Ethernet TCP/IP. Refer to the instruction manual enclosed with the personal computer support software for details on using the personal computer support software.
  • Page 31: Data Link Function

    3 Description of functions 3.2. Data link function OPEN/PRINT/INPUT of the robot language can be used in the Ethernet. For each robot language, refer to the instruction manual appended to the robot controller. [Statement example] To set port No. 10003 as communication destination and open as #1 Set parameter COMDEV (element No.
  • Page 32 3 Description of functions M_OPEN [Function] Indicates whether or not the file has been opened. [Format] <Numeric variable> = M_OPEN [(<file number>)] [Terminology] <Numeric variable> Specify a numeric variable to be assigned. <File number> Specify a file number constant between 1 and 8 for the communication line that was opened by the OPEN instruction.
  • Page 33 3 Description of functions [Explanation] (1) This command is used in a combination with the OPEN instruction. The following lists the meanings and values for the types of the files specified by the OPEN instruction. Type of file to be Meaning Value opened...
  • Page 34 3 Description of functions C_COM [Function] Sets the parameters for the line to be opened by the OPEN instruction. This is used when the communication destination is changed frequently. * Character string type * Only for a client with the Ethernet option. [Format] C_COM (<communication line number>) = “ETH: <server side IP address>...
  • Page 35: Using Data Link Function

    3 Description of functions 3.2.2. Using data link function This section explains the operations for starting the sample program given in "4.2.1 Sample program for data link function" and communicating with a system in which the controller and network personal computer are connected with a one-on-one cross cable.
  • Page 36 3 Description of functions 3.2.2.3. Setting the controller parameters. The contents of the setting of parameter differ, when the robot controller is specified as server and client of TCP/IP connection. Turn ON the robot controller power, and set the parameters as shown below. The NETIP/NETPORT parameters do not need to be changed when using the default values.
  • Page 37 3 Description of functions 3.2.2.4. Starting the sample program The test program is an example for establishing a data link between the robot and personal computer. COM3 is used. (1) Using the teaching pendant or personal computer support software, register the following robot program with an appropriate program name.
  • Page 38: Ending

    3 Description of functions 3.2.2.5. Communication (1) When the robot controller program is started, first the following data will be sent to the personal computer. "START"(CR) (CR) indicates the CR code. (2) When the personal computer receives the data, the characters will appear in the received data area. START•...
  • Page 39: Real-Time External Control Function

    Using the robot language MXT command, real-time communication (command/monitor) is carried out with communication. Motion movement control cycle (CR750/CR751 series: approx. 7.1 ms, CR800 series: approx. 3.5 ms (If user mechanical is set, approx. 7.1 ms)) Robot controller Personal computer...
  • Page 40 3 Description of functions * Flow of real-time external control Robot controller side Personal Application program start Robot program start Ethernet initialization, socket creation, etc. Creation of transmission Robot program start packet data Transmission of packet data Robot program start Automatically Execute process only Communication...
  • Page 41: Explanation Of Command

    The absolute position data is retrieved from an external source at each controller control time, and the robot is directly moved. The controller control time is approx. 7.11 msec with the CR750/CR751 series, and approx. 3.5 msec with the CR800 series (approx. 7.11 msec when user mechanical is set). [Format] MXT <File No.>, <Reply position data type>...
  • Page 42 * One position command can be retrieved and operated at the operation control time. The operation control time is approx. 7.11 msec with the CR750/CR751 series, and approx. 3.5 msec with the CR800 series (approx. 7.11 msec when user mechanism is set).
  • Page 43: Explanation Of Communication Data Packet

    3 Description of functions 3.3.2. Explanation of communication data packet The structure of the communication data packet used with the real-time external control function is explained in this section. The same communication data packet for real-time external control is used for commanding the position and for monitoring. The contents differ when transmitting (commanding) from the personal computer to the controller and when receiving (monitoring) from the controller to the personal computer.
  • Page 44 3 Description of functions Name Data type Explanation Reply data type unsigned short 1) When transmitting (commanding) from the personal computer to the designation (2-byte) controller, designate the type of data replied from the controller. RecvType // No data // XYZ data // Joint data // pulse data // XYZ data (Position after filter process)
  • Page 45 3 Description of functions Name Data type Explanation Transmission 1) When transmitting (commanding) from the personal computer to the input/output signal data controller, designate the data type of the input/output signal transmitted designation unsigned short from the personal computer. SendIOType (2-byte) Designate "No data"...
  • Page 46 3 Description of functions Name Data type Explanation Reply data-type unsigned short It is the same as reply data-type specification (RecvType). specification addition (2-byte) Do not use it for instructions. RecvType1 Reservation 1 unsigned short Not used. reserve1 (2-byte) Data addition 1 Any of It is the same as data of pos/jnt/pls.
  • Page 47: Using Real-Time External Control Function

    3 Description of functions 3.3.3. Using real-time external control function This section explains the operations for starting the sample program given in "4.2.2 Sample program for real-time external control function" and communicating with a system in which the controller and network personal computer are connected with a one-on-one cross cable.
  • Page 48 3 Description of functions 3.3.3.4. Starting the sample program The test program is an example of communicating in real-time between the robot and personal computer. The XYZ position data X axis or joint position data J1 axis is commanded from the personal computer to the robot and controlled. (1) Using the teaching pendant or personal computer support software, register the following robot program with an appropriate program name.
  • Page 49: Ending

    3 Description of functions 3.3.3.5. Moving the robot Specify and input the following values for the numerical value displayed on the screen according to the message of the sample program. *The IP address (192.168.0.20) of the robot controller of the connection point *The port number (10001) *The data type of command *The data type of monitoring, etc.
  • Page 50: Real-Time Monitor Function

    In using such communication equipment as PLC and personal computers, this function is used to monitor orthogonal and joint position data of the current position of the robot controller in real-time using Ethernet UDP communication. 3.4.1.1. CR800 series iQ-R Series...
  • Page 51: Supported Version

    3 Description of functions 3.4.1.2. CR75n series Q172DRCPU *Q Type only Robot PLC, PC, … F Series Ethernet communication device 10BASE-T/100BASE-TX Ethernet Cable Controller CR75x-Q / CR75x-D R32TB or R56TB System configuration (Example) 3.4.2. Supported version Controller type Version Remarks CR75x-Q Ver.R3n RT2 Oscillograph function corresponding Ver.R4b or later...
  • Page 52: Setup

    3 Description of functions 3.4.3. Setup It is a set-up procedure of example conditions. 3.4.3.1. CR800 series List conditional example IP address of Robot controller 192.168.0.20 IP address of PC 192.168.0.2 Port number for Real-time monitor 12000, 12001 Receive port = 12000 , Send port = 12001 (1) Connecting the controller and personal computer Connect the Ethernet cable to the connector of the controller.
  • Page 53 3 Description of functions 3.4.3.2. CR75n series Example of conditions IP address of Robot controller 192.168.0.20 (D type Robot controller) IP address of PC 192.168.0.2 Port number for Real-time monitor 12000, 12001 Receive port = 12000 , Send port = 12001 (1) Connecting the controller and personal computer Connect the Ethernet cable to the connector of the controller.
  • Page 54: Start Of Monitor / End Of Monitor

    Control cycle (*1) CR750/CR751 series Approx. 7.11 msec CR800 series Approx. 3.5 msec (*If user mechanical is set, approx. 7.11 msec) *1 Because it depends on the performance of the communication path and the communication device, the period is not guaranteed.
  • Page 55: Explanation Of Communication Data Packet

    3 Description of functions 3.4.5. Explanation of communication data packet It describes the structure of the communication packet data to be used in real-time monitoring function. To the robot controller, I will use the same packet structure on both send and receive from Ethernet communication device. Storage method of data is little-endian.
  • Page 56 3 Description of functions Table 3-2 POSE (XYZ) data structure 4 bytes X element float 4 bytes Y element float 4 bytes Z element float 4 bytes A element float 4 bytes B element XYZ data [mm / rad], 40 bytes float * Data type 1 and 7 is unit of radians.
  • Page 57 After power-on, +1 is counted from 0 in an operation control cycle unit (64/9 (*1)). long The counting repeats in the range of 0 to 4294967295. (*1) CR750/CR751 series: approx. 7.111 ms, CR800 series: approx. 3.5 ms (If user mechanical is set, approx. 7.1 ms) Table 3-7 FLOAT8 (short real) data structure float 1...
  • Page 58: Data Type Id

    3 Description of functions 3.4.6. Data type ID The type of data that can be monitored in real-time monitor function. Table 3-8 Data type ID Contents Data structure Ver. no data – XYZ position (Command) *Angle in radians POSE Joint position (Command) *Angle in radians JOINT Motor pulse position (Command) PULSE (Long×8)
  • Page 59: Parameters

    3 Description of functions 3.4.7. Parameters Table 3-9 Parameter Parameter No. of Parameter Details explanation Factory setting name arrays Switch to enable or disable real-time monitoring function MONMODE Integer 1 0: Disable 1: Enable Specify the receive port number and the send port number of real-time monitor function.
  • Page 60: Slmp Connection

    3.5. SLMP Connection 3.5.1. Function Overview Please note that the functions listed here apply only to the CR800 series, and not the CR750/CR751 series. SLMP is a common protocol for seamless communication between applications. Users do not have to be concerned with network layers or boundaries.
  • Page 61: Slmp Communication Procedure

    3 Description of functions 3.5.5. SLMP Communication Procedure An external device and an SLMP-compatible device communicate as follows. 3.5.5.1. Using TCP/IP The following is the communication procedure when performing SLMP communication with TCP/IP. With TCP/IP, connections are established when updating, and whether data is received normally or not is checked to ensure reliability of data.
  • Page 62 3 Description of functions 3.5.5.2. Using UDP/IP The following is the communication procedure when performing SLMP communication with UDP/IP. With UDP/IP, connections are not established when communication is executed, and whether data is received normally or not is not checked. Therefore, the line load is low. However, data is less reliable as compared to TCP/IP. External device SLMP-compatible device The external device sends a request message...
  • Page 63: Message Format

    3 Description of functions 3.5.6. Message Format The following section describes the SLMP message format. 3.5.6.1. Request Message The following is the format of a request message sent from an external device to an SLMP-compatible device.  Header This is the header for TCP/IP or UDP/IP. The header is added by the external device before transmission. Note that the header is normally added automatically by the external device.
  • Page 64 3 Description of functions  Request destination network No., request destination station No. Specify the access destination network No. and station No. Specify the network No. and station No. in hexadecimal. Send the request destination network No. and request destination station No. in the order from higher-order byte to lower-order byte.
  • Page 65 3 Description of functions  Destination unit I/O No. Specify the access destination unit (fixed to 03FFH). Example When 03FFH is specified as the request destination unit I/O No. ASCII code Binary code • When performing data communication in ASCII code Send data in the order higher-order byte to lower-order byte.
  • Page 66 3 Description of functions  Request data length Specify the data length from the monitoring timer to the request data in hexadecimal. (Units: bytes) Request data Monitoring Request data length timer Hexadecimal (unit: bytes) Example When the request data length is 24 bytes ASCII code Binary code •...
  • Page 67 3 Description of functions 3.5.6.2. Response Message Format The following is the format of a response message sent from an SLMP-compatible device to an external device. (Normal completion) (Failed completion) * The following items contain the same information described in section 3.5.6.1 of this manual.
  • Page 68 3 Description of functions  Header Contains the Ethernet header.  Subheader Contains the subheader for the request message. When adding a serial No. to the request message When not adding a serial No. to the request message (when the serial No. is 1234H) (Fixed value) (Fixed value) (Fixed value)
  • Page 69 3 Description of functions  Response data length The data length from the end code to the response data (successful completion) or error information (failed completion) is stored in hexadecimal. (Units: bytes) (Normal completion) Request data End code Response data length Hexadecimal (unit: bytes) (Failed completion)
  • Page 70 3 Description of functions  End code The command processing result is stored. The value "0" is stored for normal completion. An error code is stored for abnormal completion. (See section 3.5.8 this manual.) Successful completion Failed completion (0400H) ASCII code ASCII code Binary code Binary code...
  • Page 71: Commands

    3 Description of functions 3.5.7. Commands The following section describes SLMP commands. Refer to section 3.5.6 of this manual for details on message formats for other than the command sections.  Request message format 3.5.6.1 Request Message (2) Request data contains both commands and subcommands. Refer to section 3.5.7.2 onward in this manual for details.
  • Page 72 3 Description of functions 3.5.7.1. List of Commands The following is a list of commands. The following "Subcommands" will differ depending on the device specified. Refer to section 3.5.7.2 onward in this manual. Item Command Subcommand Description Reference Category Operation Device Read 0401...
  • Page 73 3 Description of functions 3.5.7.2. Device (Device Access) The following section describes commands used to perform device reading and writing. 3.5.7.2.1. Data Used in Commands  Device code Access destination devices are specified in request data with the following device codes. For subcommands 0001 and 0000, specify the device code enclosed in parentheses ( ).
  • Page 74 3 Description of functions • When performing data communication in ASCII code Use device codes by converting them to ASCII code (2 or 4 digits), and send them in the order higher-order byte to lower-order byte. Use codes in upper case characters for letters of the alphabet. With subcommands 0003, 0002 and 0001, 0000, the number of digits converted to ASCII code will differ.
  • Page 75 3 Description of functions  First device No. (device No.) Specify the device No. for reading/writing data. When consecutive devices are specified, specify the first device No. Specify the first device No. in decimal or hexadecimal depending on the device type. •...
  • Page 76 3 Description of functions  Number of devices Specify the number of devices for reading/writing data. • When performing data communication in ASCII code Use the number of devices by converting them to 4 ASCII code digits (hexadecimal), and send them in the order from higher-order byte to lower-order byte.
  • Page 77 3 Description of functions  Read data / write data The value read from the device is stored for reading. The value to be written to the device is stored for writing. The data arrangement will differ depending on the bit unit (subcommand: 001, 003) or word unit (subcommand: 000, 002).
  • Page 78 3 Description of functions • In word units (subcommand: 000, 002) When performing data communication in ASCII code, send data with 1 word in 4-bit units in the order from higher-order byte to lower-order byte. Data is expressed in hexadecimal. Use codes in upper case characters when specifying letters of the alphabet.
  • Page 79 3 Description of functions When bit devices are handled in word units when performing data communication in binary code, a single device is specified with a 1 bit as shown in the following example. Data is stored in the order from lower-order byte (bit 0 to bit 7) to higher-order byte (bit 8 to bit 15).
  • Page 80 3 Description of functions When word devices for reading data contain other than integers (real numbers, character strings), stored values are read as integer values. ● When D0 to D1 contains a real number (0.75), D0 = 0000H, and D1 = 3F40H. ●...
  • Page 81 3 Description of functions  Number of devices for bit access This is the data required to specify the number of devices accessed in bit units. • When performing data communication in ASCII code Convert the number of devices to 2 ASCII code digits (hexadecimal), and send them in the order from higher-order byte to lower-order byte.
  • Page 82 3 Description of functions 3.5.7.2.2. Read (Command: 0401) Read the data from devices.  Request data Number of Device Subcommand First device No. devices code Binary First device Device Sub- Number command code of devices • Subcommand Subcommand *1 Item ASCII code Binary code When reading data...
  • Page 83 3 Description of functions • Number of devices Specify the number of devices to be read. Number of devices Item ASCII code Binary code When reading data in bit units 1 to 3584 devices 1 to 7168 devices When reading data in word units 1 to 960 devices ...
  • Page 84 3 Description of functions  Communication example (when reading data in bit units) Read M100 to M107. • When performing data communication in ASCII code (Request data) Device Number of Subcommand First device No. code devices (Response data) • When performing data communication in binary code (Request data) Device Sub-...
  • Page 85 3 Description of functions  Communication example (when reading data in word units (bit device)) • Read M100 to M131 (data for two words). (Request data) Number of Device Subcommand First device No. code devices (Response data) • When performing data communication in binary code (Request data) Device Sub-...
  • Page 86 3 Description of functions  Communication example (when reading data in word units (word device)) Read values D100 to D102. Here D100 = 4660 (1234H), D101 = 2 (2H), and D102 = 7663 (1DEFH). • When performing data communication in ASCII code (Request data) Number of Device...
  • Page 87 3 Description of functions 3.5.7.2.3. Write (Command: 1401) Write the data to devices.  Request data Device Number of Subcommand First device No. Write data code devices Binary Number Device Sub- First device Write data command code devices • Subcommand Subcommand *1 Item ASCII code...
  • Page 88 3 Description of functions • Number of devices Specify the number of devices to be written. Number of devices Item ASCII code Binary code When writing data in bit units 1 to 3584 devices 1 to 7168 devices When writing data in word units 1 to 960 devices •...
  • Page 89 3 Description of functions • When performing data communication in binary code (Request data) Device Sub- code command Number of First device Write data devices  Communication example (when writing data in word units (word device)) Write 6549 (1995H) for D100, 4610 (1202H) for D101, and 4400 (1130H) for D102. •...
  • Page 90 3 Description of functions 3.5.7.2.4. Read Random (Command: 0403) The value is read in the devices with the specified numbers. The devices with non-consecutive numbers can be specified.  Request data Specify the devices for the specified number of devices. Number of Word access Number of...
  • Page 91 3 Description of functions • Subcommand Subcommand ASCII code Binary code *1: Use subcommand 008 if accessing a link direct device, module access device, or CPU buffer memory access device. When the subcommand is set to 008, the message format will differ. (Reading, writing by specifying device extension) •...
  • Page 92 3 Description of functions • Device code, device number Specify devices to be read in the order word access, double-word access. Item Description Word access Specify devices based on the number set in the request data for word access. It is not necessary to specify devices when "0" is set. Double-word access Specify devices based on the number set in the request data for double-word access.
  • Page 93 3 Description of functions  Communication example With word access, read D0, D1, M100 to M115, and X20 to X2F, and with double-word access, read D1500 to D1501, Y160 to Y17F, and M1111 to M1142. Here D0 = 6549 (1995H), D1 = 4610 (1202H), D1500 = 20302 (4F4EH), and D1501 = 19540 (4C54H). •...
  • Page 94 3 Description of functions • When performing data communication in binary code (Request data) Number of Number of devices for devices for word double- access word access Sub- command Device Device Device Device Device Device Device Device code code code code Device Device...
  • Page 95 3 Description of functions 3.5.7.2.5. Write Random (Command: 1402) The value is written in the devices with the specified numbers. The devices with non-consecutive numbers can be specified.  Request data Writing data in bit units Specify the devices for the specified number of devices. Number of devices Device...
  • Page 96 3 Description of functions • Subcommand Subcommand *1 Item ASCII code Binary code When writing data in bit units When writing data in word units *1: Use subcommand 008 if accessing a link direct device, module access device, or CPU buffer memory access device.
  • Page 97 3 Description of functions • Device code, Device No., Write data Specify devices to be written. When writing data in bit units, specify bit devices. Specify write data in hexadecimal. Item Description Word access Specify devices based on the number set in the request data for word access. It is not necessary to specify devices when "0"...
  • Page 98 3 Description of functions  Communication example (when writing data in bit units) Turn M50 OFF, and turn Y2F ON. • When performing data communication in ASCII code (Request data) Number devices Device Set/ Set/ Device for bit Subcommand code Device No.
  • Page 99 3 Description of functions  Communication example (when writing data in word units) Write values to devices as follows. Item Device to be written Word access D0, D1, M100 to M115, X20 to X2F Double-word access D1500 to D1501, Y160 to Y17F, M1111 to M1142 •...
  • Page 100 3 Description of functions • When performing data communication in binary code (Request data) Number of Number of devices for devices for word double- access word access Sub- command Write Write Data 2 Data 1 Device Device Device No. Device No. data data code...
  • Page 101 3 Description of functions 3.5.7.2.6. Accessing CPU Buffer Memory Access Devices Access RCPU buffer memory.  Request data For Read (Command: 0401), refer to the following example. For other commands, with the exception of device codes, start device numbers, and device numbers, access based on the format for each command. First device No.
  • Page 102 3 Description of functions • Subcommand ASCII code Binary code • Extension designation Specify the CPU module start I/O number. ASCII code Binary code Specify the start I/O number in hexadecimal (3 ASCII Specify the start I/O number in hexadecimal (2 bytes). code digits).
  • Page 103 3 Description of functions • Device code Specify the following device codes. Device code Device Category Device No. range ASCII code Binary code CPU buffer Word G*** 00ABH Specify within the range of Decimal memory device numbers held by the access destination unit.
  • Page 104 3 Description of functions 3.5.7.3. Self Test (Loopback Test) (Command: 0619) Perform a test to determine whether communication between external devices and Ethernet-equipped modules is normal. By performing a loopback test, it is possible to confirm whether the connection with the external device is correct, and whether data communication is functioning properly.
  • Page 105 3 Description of functions  Request data The same content as that in the "Loopback data quantity" and "Loopback data" specified in the request message is stored. Loopback data Loopback data quantity Binary code Loopback Loopback data data quantity  Communication example Perform a loopback test with loopback data "ABCDE".
  • Page 106: End Code

    3 Description of functions 3.5.8. End Code The following is a list of stored end codes. Code category End code Description Processing details Processing 0000H The request was successfully processed. Indicates that the request was correctly success processed. Standard error C059H ●...
  • Page 107: Cc-Link Ie Field Network Basic Function

    3.6. CC-Link IE Field Network Basic function 3.6.1. Overview The CR800 series supports this function. It is not supported by the CR750/CR751 series. CC-Link IE Field Network Basic is an FA network to which general-purpose Ethernet was applied. For the MELFA FR series, CC-Link IE Field Network Basic slave stations are supported, and the signals and registers of robot controllers can be input and output via regular communications (cyclic correspondence) with a PLC, computer, or other master station.
  • Page 108: Supported Version

    3 Description of functions 3.6.2. Supported version Controller type Version Remarks CR800-R A1d or later CR75x-Q and CR75x-D are not supported CR800-D CR800-Q A2 or later Computer support Version Remarks RT ToolBox3 1.10L or later 3.6.3. Specifications The communication specifications of CC-Link IE Field Network Basic are described below. 3.6.3.1.
  • Page 109: Parameters

    3 Description of functions 3.6.4. Parameters Specify settings with the following parameters. Parameter No. of arrays Parameter Description Factory setting name No. of characters CC-Link IE Field Network CCLBENA Integer 1 Enable the CC-Link IE Field Network Basic function. Basic function, switch 0 (disable) 0: Disable / 1: Enable enable/disable...
  • Page 110: Support Of Robot I/O Signals And Link Devices

    3 Description of functions 3.6.5. Support of robot I/O signals and link devices The support of robot I/O signals and link devices for RX/RY and RWr/RWw are indicated here. As shown below, the link relays RX/RY and link registers RWr/RWw of a master station's link device interacts with the I/O signals (6000 to max.
  • Page 111: Setup Procedure

    3 Description of functions 3.6.6. Setup procedure The steps up to using the CC-Link IE Field Network Basic function are indicated here. The system configuration used as an example in this description has MELSEC PLC R16CPU as the master station and FR series robot FV-4FR-D as the slave station.
  • Page 112 3 Description of functions 3.6.6.1. Network configuration Build the network like in the following figure using 100BASE-TX Ethernet cables, and then set the necessary parameters. Here the master station is a PLC, and the slave station is a robot, with one of each. GX Works3 GX Works3 RT ToolBox3...
  • Page 113 3 Description of functions ■ Slave station parameter settings In RT ToolBox3, open "Online" → "Parameter" → "Ethernet", and set the IP address of the robot. Here, the initial value 192.168.0.20 is being used. If you do not change the initial value, it is not necessary to press Write.
  • Page 114 3 Description of functions ■ Master station parameter settings Set the parameters as follows. In GX Works3, open "Parameter" → "Module Parameter" → "Own Node Settings". Then set the IP address of PLC R16CPU under "IP Address", and press "Apply" to finalize the settings. Next, go to "Online" → "Write to PLC"...
  • Page 115 3 Description of functions In GX Works3, go to "CC-Link IEF Basic Setting" in "Module Parameter" and set "Enable" for whether to use or not to use the CC-Link IEF Basic Setting. Then open "<Detailed Setting>" beside the network configuration settings.
  • Page 116 3 Description of functions Press "Close with Reflecting the Setting" and then select "Yes" on the confirmation dialog box that is displayed. Refresh the settings. Here the RX/RY/RWr/RWw devices on the link side are assigned to the desired devices on the CPU side. In the following example RX0 to RX3F (64 points) is assigned to B0 to B3F;...
  • Page 117 3 Description of functions Finally, go to the menu bar's "Online" → "Write to PLC", and press "Execute" to write the parameters to the PLC CPU. When the writing is complete, reset the power and restart. The settings are now complete. Next, run network diagnostics to confirm whether normal communications are possible.
  • Page 118 3 Description of functions 3.6.6.2. Network diagnostics By using CC-Link IEF Basic Diagnostics, confirm whether normal communication is possible with the state of the connection cables and the parameters that were set. In GX Works3, select "Diagnostics" → "CC-Link IEF Basic Diagnostics" to open the diagnostics screen. 3-92...
  • Page 119 3 Description of functions After the robot slave station has established proper communication with the master station, if the master station goes down or the wiring becomes disconnected and communication with the master station is blocked, error 7870 is issued on the robot controller.
  • Page 120 3 Description of functions 3.6.6.3. Programming Write the program. In the following example, the signal and register value output by the robot program of the robot controller is returned by the PLC CPU's ladder program and reflected in the robot's input signal and register. <Example>...
  • Page 121: Appendix

    4 Appendix 4. Appendix 4.1. Error list The errors which occur only when the Ethernet function is used are listed as follows. Error No. Error causes and remedies Parameter ***** setting error of Ethernet interface parameter.  Cause) ***** parameter is wrongly set. (The parameter name is input in *****.) 7810 Measures) Check the setting content of the parameter.
  • Page 122: Sample Program

    4 Appendix 4.2. Sample program This is the sample program of the Ethernet function. 4.2.1. Sample program of data link The sample program to do the data link with Microsoft Visual Studio Express Visual Basic (hereafter written as VB) is herein described.
  • Page 123 4 Appendix (2) Sample is a form of figure (Created by copying the sample) Copy files to vbsample folder. • Form1.Designer.vb • Form1.vb Be careful not to confuse the client and the server. Each text files saved from pdf manual. ■...
  • Page 124 4 Appendix Me.Text1 = New System.Windows.Forms.TextBox Me.Label4 = New System.Windows.Forms.Label Me.Label3 = New System.Windows.Forms.Label Me.Label2 = New System.Windows.Forms.Label Me.Label1 = New System.Windows.Forms.Label Me.Timer1 = New System.Windows.Forms.Timer(Me.components) Me.SuspendLayout() 'Button1 Me.Button1.BackColor = System.Drawing.SystemColors.Control Me.Button1.Cursor = System.Windows.Forms.Cursors.Default Me.Button1.ForeColor = System.Drawing.SystemColors.ControlText Me.Button1.Location = New System.Drawing.Point(264, 72) Me.Button1.Name = "Button1"...
  • Page 125 4 Appendix Me.Text3.TabIndex = 15 'Text2 Me.Text2.AcceptsReturn = True Me.Text2.BackColor = System.Drawing.SystemColors.Window Me.Text2.Cursor = System.Windows.Forms.Cursors.IBeam Me.Text2.ForeColor = System.Drawing.SystemColors.WindowText Me.Text2.Location = New System.Drawing.Point(152, 24) Me.Text2.MaxLength = 0 Me.Text2.Name = "Text2" Me.Text2.RightToLeft = System.Windows.Forms.RightToLeft.No Me.Text2.Size = New System.Drawing.Size(105, 19) Me.Text2.TabIndex = 13 Me.Text2.Text = "10003"...
  • Page 126 4 Appendix Me.Label2.RightToLeft = System.Windows.Forms.RightToLeft.No Me.Label2.Size = New System.Drawing.Size(65, 13) Me.Label2.TabIndex = 11 Me.Label2.Text = "Port No." 'Label1 Me.Label1.BackColor = System.Drawing.SystemColors.Control Me.Label1.Cursor = System.Windows.Forms.Cursors.Default Me.Label1.ForeColor = System.Drawing.SystemColors.ControlText Me.Label1.Location = New System.Drawing.Point(8, 8) Me.Label1.Name = "Label1" Me.Label1.RightToLeft = System.Windows.Forms.RightToLeft.No Me.Label1.Size = New System.Drawing.Size(73, 17) Me.Label1.TabIndex = 10 Me.Label1.Text = "IP address"...
  • Page 127 4 Appendix ■ Form1.vb (Program for the client) Imports System Imports System.Net.Sockets Public Class Form1 Private Client As TcpClient Private Sub Check1_CheckStateChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Check1.CheckStateChanged ' Process for Connect or Disconnect If Check1.CheckState = CheckState.Checked Then Client = New TcpClient() Client.Connect(Text1.Text, Convert.ToInt32(Text2.Text)) 'Connect Button1.Enabled = Client.Connected...
  • Page 128 4 Appendix Client = Nothing Timer1.Enabled = False Button1.Enabled = False Check1.Checked = False MessageBox.Show(ex.Message, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1) End Try End Sub End Class ■ Form1.Designer.vb (Form for the server) <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ Partial Class Form1 Inherits System.Windows.Forms.Form 'Form overrides dispose to clean up the component list. <System.Diagnostics.DebuggerNonUserCode()>...
  • Page 129 4 Appendix Me.Button1.TabIndex = 26 Me.Button1.Text = "Send" Me.Button1.UseVisualStyleBackColor = False 'Check1 Me.Check1.BackColor = System.Drawing.SystemColors.Control Me.Check1.Cursor = System.Windows.Forms.Cursors.Default Me.Check1.ForeColor = System.Drawing.SystemColors.ControlText Me.Check1.Location = New System.Drawing.Point(264, 24) Me.Check1.Name = "Check1" Me.Check1.RightToLeft = System.Windows.Forms.RightToLeft.No Me.Check1.Size = New System.Drawing.Size(49, 25) Me.Check1.TabIndex = 24 Me.Check1.Text = "Connection"...
  • Page 130 4 Appendix Me.Text1.AcceptsReturn = True Me.Text1.BackColor = System.Drawing.SystemColors.Window Me.Text1.Cursor = System.Windows.Forms.Cursors.IBeam Me.Text1.ForeColor = System.Drawing.SystemColors.WindowText Me.Text1.Location = New System.Drawing.Point(8, 24) Me.Text1.MaxLength = 0 Me.Text1.Name = "Text1" Me.Text1.RightToLeft = System.Windows.Forms.RightToLeft.No Me.Text1.Size = New System.Drawing.Size(137, 19) Me.Text1.TabIndex = 22 'Label4 Me.Label4.BackColor = System.Drawing.SystemColors.Control Me.Label4.Cursor = System.Windows.Forms.Cursors.Default Me.Label4.ForeColor = System.Drawing.SystemColors.ControlText Me.Label4.Location = New System.Drawing.Point(8, 104)
  • Page 131 4 Appendix Me.Label1.Text = "IP address" 'Form1 Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 12.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(320, 253) Me.Controls.Add(Me.Button1) Me.Controls.Add(Me.Check1) Me.Controls.Add(Me.Text4) Me.Controls.Add(Me.Text3) Me.Controls.Add(Me.Text2) Me.Controls.Add(Me.Text1) Me.Controls.Add(Me.Label4) Me.Controls.Add(Me.Label3) Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label1) Me.Name = "Form1" Me.Text = "Data link (server)" Me.ResumeLayout(False) Me.PerformLayout() End Sub Public WithEvents Button1 As System.Windows.Forms.Button Public WithEvents Check1 As System.Windows.Forms.CheckBox...
  • Page 132 4 Appendix If Check1.CheckState = CheckState.Checked Then Dim interfaces As NetworkInterface() Dim _currentInterface As NetworkInterface 'Get local IP address interfaces = NetworkInterface.GetAllNetworkInterfaces For Each NetworkInterface As NetworkInterface In interfaces If NetworkInterface.Name = "Local Area Connection" Then _currentInterface = NetworkInterface Dim properties As IPInterfaceProperties properties = _currentInterface.GetIPProperties If properties.UnicastAddresses.Count >...
  • Page 133 4 Appendix Button1.Enabled = False 'Disable send button Else Client = Listener.AcceptTcpClient() 'Connect with client Text1.Enabled = True 'Enable IP address edit Text3.Enabled = True 'Enable send text edit Button1.Enabled = True 'Enable send button End If Else 'Receive data Dim Stream As NetworkStream = Client.GetStream If Stream.DataAvailable Then Dim bytes(1000) As Byte...
  • Page 134: Sample Program For Real-Time External Control Function

    4 Appendix 4.2.2. Sample program for real-time external control function A sample program that establishes a data link using Microsoft Visual Studio Express Visual C++ (hereinafter VC) is shown below. The procedures for creating the program are briefly explained below. Refer to the software manuals for details on operating VC and creating the application.
  • Page 135 4 Appendix Using the project setting, add wsock32.lib to the object/library module. Copy files to sample folder. • strdef.h ・ sample.cpp Each text files saved from pdf manual. 4-15...
  • Page 136 4 Appendix ■ Header file strdef.h //************************************************************************************ // Real-time control sample program // Communication packet data structure definition header file //************************************************************************************ // strdef.h #define VER_H7 /*************************************************************************/ /* Joint coordinate system (Set unused axis to 0) /* Refer to the instruction manual enclosed /* with each robot for details on each element.
  • Page 137 4 Appendix long p8; // Additional axis 2 (Motor 8 axis) } PULSE; /************************************************************/ /* Real-time function communication data packet /************************************************************/ typedef struct enet_rtcmd_str { unsigned short Command; // Command #define MXT_CMD_NULL // Real-time external command invalid #define MXT_CMD_MOVE // Real-time external command valid #define MXT_CMD_END // Real-time external command end unsigned short...
  • Page 138 4 Appendix union rtdata2 { // Monitor data 2 POSE pos2; // XYZ type [mm/rad] JOINT jnt2; // JOINT type [mm/rad] PULSE pls2; // PULSE type [mm/rad] or Integer type [% / non-unit] long lng2[8]; // Integer type [% / non-unit] } dat2;...
  • Page 139 4 Appendix unsigned short IOBitMask=0xffff; unsigned short IOBitData=0; cout << " Input connection destination IP address (192.168.0.20) ->"; cin.getline(dst_ip_address, MAXBUFLEN); if(dst_ip_address[0]==0) strcpy(dst_ip_address, "192.168.0.20"); cout << " Input connection destination port No. (10000) -> "; cin.getline(msg, MAXBUFLEN); if(msg[0]!=0) port=atoi(msg); else port=10000; cout <<...
  • Page 140 4 Appendix cout << "Input the numeral [0] to [11] -> "; cin.getline(msg, MAXBUFLEN); type_mon[k] = atoi(msg); sprintf(msg, "IP=%s / PORT=%d / Send Type=%d / Monitor Type0/1/2/3=%d/%d/%d/%d", dst_ip_address, port , type, type_mon[0], type_mon[1], type_mon[2], type_mon[3]); cout << msg << endl; cout <<...
  • Page 141 4 Appendix memset(&MXTrecv, 0, sizeof(MXTrecv)); // Transmission data creation if(loop==1) { // Only first time MXTsend.Command = MXT_CMD_NULL; MXTsend.SendType = MXT_TYP_NULL; MXTsend.RecvType = type; MXTsend.SendIOType = MXT_IO_NULL; MXTsend.RecvIOType = IOSendType; MXTsend.CCount = counter = 0; else { // Second and following times MXTsend.Command = MXT_CMD_MOVE;...
  • Page 142 4 Appendix case 'c': delta = (float)0.0; break; case 'd': disp = ~disp; break; case '0': case '1': case '2': case '3': disp_data = ch - '0'; break; memset(sendText, 0, MAXBUFLEN); memcpy(sendText, &MXTsend, sizeof(MXTsend)); if(disp) { sprintf(buf, "Send (%ld):",counter); cout << buf << endl; numsnt=sendto(destSocket, sendText, sizeof(MXTCMD), NO_FLAGS_SET, (LPSOCKADDR) &destSockAddr, sizeof(destSockAddr));...
  • Page 143 4 Appendix int DispType; void *DispData; switch(disp_data) { case 0: DispType = MXTrecv.RecvType; DispData = &MXTrecv.dat; break; case 1: DispType = MXTrecv.RecvType1; DispData = &MXTrecv.dat1; break; case 2: DispType = MXTrecv.RecvType2; DispData = &MXTrecv.dat2; break; case 3: DispType = MXTrecv.RecvType3; DispData = &MXTrecv.dat3;...
  • Page 144 4 Appendix if(loop==1) { memcpy(&pls_now, &MXTrecv.dat.pls, sizeof(PULSE)); loop = 2; if(disp) { PULSE *l=(PULSE*)DispData; sprintf(buf, "Receive (%ld): TCount=%d Type(PULSE/OTHER)=%d¥n %ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld (%s)" ,MXTrecv.CCount,MXTrecv.TCount,DispType ,l->p1, l->p2, l->p3, l->p4, l->p5, l->p6, l->p7, l->p8, str); cout << buf << endl; break; case MXT_TYP_NULL: if(loop==1) { loop = 2;...
  • Page 146 Feb., 2018 MEE Printed in Japan on recycled paper. Specifications are subject to change without notice.

This manual is also suitable for:

Cr751 seriesCr750 series

Table of Contents