PCON, ACON, SCON, ERC2, ERC3 Serial Communication [Modbus Version] Operation Manual, Sixth Edition
Modbus
Modbus Please Read Before Use Thank you for purchasing our product. This Operation Manual explains the serial communication (Modbus), among others, providing the information you need to know to use the product safely. Before using the product, be sure to read this manual and fully understand the contents explained herein to ensure safe use of the product. The CD/DVD that comes with the product contains operation manuals for IAI products.
Modbus Table of Contents Safety Guide.................................................................................................................................................. 1 Handling Precautions .................................................................................................................................. 11 1 Overview .............................................................................................................................................. 13 1.
Modbus 4.3.3 Structure of Modbus Status Registers ..................................................................................................51 4.3.4 Data of Modbus Status Registers .........................................................................................................52 5 Modbus RTU ........................................................................................................................................ 55 5.1 Message Frames (Query and Response).......................
Modbus 5.5 Direct Writing of Control Information (Queries Using Code 06).................................................. 148 5.5.1 Writing to Registers ..............................................................................................................................148 5.6 Direct Writing of Positioning Data (Queries Using Code 10) ...................................................... 152 5.6.1 Numerical Value Movement Command ...................................................................
Modbus 6.6 Control Information Direct Writing (Queries Using Code 06)...................................................... 272 6.6.1 Writing to Registers ..............................................................................................................................272 6.7 Positioning Data Direct Writing (Queries Using Code 10) .......................................................... 276 6.7.1 Numerical Value Movement Command .................................................................
Modbus
Modbus Safety Guide When designing and manufacturing a robot system, ensure safety by following the safety guides provided below and taking the necessary measures. Regulations and Standards Governing Industrial Robots Safety measures on mechanical devices are generally classified into four categories under the International Industrial Standard ISO/DIS 12100, “Safety of machinery, ” as follows: Safety measures Inherent safety design Protective guards --- Safety fence, etc.
Modbus Requirements for Industrial Robots under Ordinance on Industrial Safety and Health Work area Outside movement range Work condition Cutoff of drive source During automatic operation Not cut off Cut off (including stopping of operation) Inside movement range Measure Signs for starting operation Installation of railings, enclosures, etc. Sign, etc., indicating that work is in progress Preparation of work rules Measures to enable immediate During stopping of operation teaching, etc. Sign, etc.
Modbus Applicable Models of IAI’s Industrial Robots Machines meeting the following conditions are not classified as industrial robots according to Notice of Ministry of Labor No. 51 and Notice of Ministry of Labor/Labor Standards Office Director (Ki-Hatsu No.
Modbus Safety Precautions for Our Products The common safety precautions for the use of any of our robots in each operation. No. 1 Operation Description Model Selection Description Ɣ This product has not been planned and designed for the application where high level of safety is required, so the guarantee of the protection of human life is impossible. Accordingly, do not use it in any of the following applications.
Modbus No. 2 3 4 Operation Description Description Transportation Ɣ When carrying a heavy object, do the work with two or more persons or utilize equipment such as crane. Ɣ When the work is carried out with 2 or more persons, make it clear who is to be the leader and who to be the follower(s) and communicate well with each other to ensure the safety of the workers.
Modbus No. 4 Operation Description Installation and Start Description (2) Cable Wiring Ɣ Use our company’s genuine cables for connecting between the actuator and controller, and for the teaching tool. Ɣ Do not scratch on the cable. Do not bend it forcibly. Do not pull it. Do not coil it around. Do not insert it. Do not put any heavy thing on it. Failure to do so may cause a fire, electric shock or malfunction due to leakage or continuity error.
Modbus No. 4 5 Operation Description Installation and Start Teaching Description (4) Safety Measures Ɣ When the work is carried out with 2 or more persons, make it clear who is to be the leader and who to be the follower(s) and communicate well with each other to ensure the safety of the workers. Ɣ When the product is under operation or in the ready mode, take the safety measures (such as the installation of safety and protection fence) so that nobody can enter the area within the robot’s movable range.
Modbus No. 6 7 Operation Description Trial Operation Automatic Operation Description Ɣ When the work is carried out with 2 or more persons, make it clear who is to be the leader and who to be the follower(s) and communicate well with each other to ensure the safety of the workers. Ɣ After the teaching or programming operation, perform the check operation one step by one step and then shift to the automatic operation.
Modbus No. 8 Operation Description Maintenance and Inspection Description Ɣ When the work is carried out with 2 or more persons, make it clear who is to be the leader and who to be the follower(s) and communicate well with each other to ensure the safety of the workers. Ɣ Perform the work out of the safety protection fence, if possible.
Modbus Alert Indication The safety precautions are divided into “Danger”, “Warning”, “Caution” and “Notice” according to the warning level, as follows, and described in the Operation Manual for each model. Level Degree of Danger and Damage Danger This indicates an imminently hazardous situation which, if the product is not handled correctly, will result in death or serious injury.
Modbus Handling Precautions The explanations provided in this manual are limited to procedures of serial communication. Refer to the operation manual supplied with the ROBO Cylinder Controller (hereinafter referred to as RC controller) for other specifications, such as control, installation and connection. Caution (1) Make sure to follow the usage condition, environment and specifications ranges of the product. Not doing so may cause a drop in performance or malfunction of the product.
Modbus (7) In order to prevent malfunctions due to noise, wire the communication cables such that the communication cables are isolated from power lines and other control wiring. (8) In order to prevent malfunctions due to noise, make sure to take noise prevention measures on the electric equipment in the same power supply circuit or within the same device.
Modbus 1 Overview (Note 1) Note that it is only possible to connect RC series devices on the same network; old RC series (protocol T) or other devices cannot be connected. There are 2 types of serial transmission modes: ASCII mode (where 1-byte (8 bits) data is Converted to ASCII code (2 characters) and sent) and RTU mode (where 1-byte (8 bits) data is sent as is). RC controllers identify the transmission mode on a packet-by-packet basis, thus making it possible to receive in both modes (Note 2).
Modbus 1. Overview 1.1 Operation Manuals Relating to This Product You Find in the DVD No.
Modbus 2 Specifications Method/condition Conforming to EIA RS485 Half-duplex communication 100 m Start-stop synchronization 1-to-N unbalanced bus connection (1 d N d 16) RTU/ASCII (auto-detect) * Selectable from the following speeds via parameter setting: 9600, 14400, 19200, 28800, 38400 57600, 76800, 115200, 230400 Bit length 8 bits Stop bit 1 bit Parity None Note ROBONET is not applicable for ASCII Mode. 15 2.
Modbus 2. Specifications 2.1 Communication Mode In the Modbus protocol, communication takes place in a single-master/multiple-slave configuration. In this communication, only the master (the PLC host in the example below) issues a query to a specified slave (the RC controller connected to axis C in the example below).
Modbus 3 Preparation for Communication 3.1 In Case the Host Uses RS232C Interface (1) System configuration PC PLC Master /host (RS232C) 3. Specifications The host must be either a PLC or PC. It is not allowed to connect both at the same time. RS232C cable (prepared by the customer) Check the pin assignment of the interface on the host side and prepare either straight-through or cross-connected cables accordingly. You can connect IAI’s PC software or other teaching tool.
Modbus (2) Wiring RS232C cables (commercially available cables, etc.) Make sure to check the signal names of the RS232 C connectors on the host side before connecting (refer to “3.3 Communication Connector Pin Assignment of PLC and PC”). SIO converter Host RS232C connectors 3.
Modbus 2-pair shielded cables Recommended cables: Taiyo Cabletech HK-SB/20276xL 2P x AWG22 4-directional junction (5-1473574-4 made by AMP) (1) From the previous page 1 2 2 3 3 4 4 e-CON connector (3-1473562-4 made by AMP) Housing color: Green Controller link cable CB-RCB-CTL002 Cables for network connection CB-ERC2-CTL001 Orange Blue Brown Green 1 2 3 4 Orange 1 2 3 4 Blue Green 1 1 2 2 3 3 4 4 Yellow Orange 1 2 3 4 Blue Brown Green 1 2 3 4 1 SGA 2 SGB 7 GND Orange Blue Nth sl
Modbus (3) SIO converter (vertical specification: RCB-TU-SIO-A, horizontal specification: RCB-TUSIO-B) 3. Specifications A RS232C RS485 converter Link connector (J4 and J5) Link connection terminal block (TB1) Power supply and emergency stop terminal block (TB2) LED for monitoring (LED1 and LED2) PORT switch D-sub 9-pin connector Fig. 3.
Modbus 3.2 In Case the Host Uses RS485 Interface (1) System configuration PC The host must be either a PLC or PC. It is not allowed to connect both at the same time. (RS485) 3. Specifications Master /host SIO converter Vertical specification: RCB-TUSIO-A Horizontal specification: RCB-TUSIO-B (RS232C RS485) RS232C cross-connected cable (prepared by the customer) Junction (5-1473574-4 made by AMP) e-CON connector (*-1473562-4 made by AMP) Can be connected using a terminal block, instead.
Modbus (2) Wiring Caution 2-pair shielded cables Recommended cables: Taiyo Cabletech HKSB/20276xL 2P x AWG22 3. Specifications PLC RS485 connectors Transmission data+ Transmission dataReception data+ Reception data- SDA SDB PDA PDB Make sure to use the common 0 V line of the 24 V power supply for each controller (other than SCON). For ROBONET connection, refer to the separate ROBONET Operation Manual.
Modbus 3.3 Communication Connector Pin Assignment of PLC and PC (Reference) In case of PLC made by Mitsubishi: QJ71C24 RS232C D-sub 9-pin connector (male: cable side) In case of PLC made by Omron: CJ1W-SCB or SCU RS232C D-sub 9-pin connector (male: cable side) In case of PLC made by Keyence: KV-L20R RS232C D-sub 9-pin connector (female: cable side) 3. Specifications One end of the shielded cable shall be connected to a connector housing or grounded.
Modbus 3.4 Various Setting before Starting Communication 3. Specifications Completion of wiring If multiple controllers are connected, set the axis numbers [refer to section 3.5]. Set the communication speed of each controller [refer to section 3.6]. Only necessary to set once at first launch Launch the network (start up the master and each controller). Disable PIO startup. [RTU: Refer to section 5.4.15] [ASCII: Refer to section 6.5.
Modbus 3.5 Setting Axis Numbers Set an axis number for each RC controller on the SIO link using hexadecimal digits from 0 to FH, which is the number for the 16th axis. If the panel surface of an RC controller has an axis number setting switch (ADRS) (PCONC/CG/CF/CA/CFA, ACON-C/CG, SCON-C/CA and ROBONET), adjust the arrow to point to the axis number using a flat bladed screwdriver (make sure that each axis number is unique).
Modbus 3.6 Setting Controller Communication Speed 3. Specifications In order to perform communication, the communication speed of the PLC and each RC controller must match. Set the communication speed according to the procedure explained in sections 3.6.1 and 3.6.2. [For the settings on the host side, refer to the operation manual for your host equipment.] Please be aware that the wiring is different depending on the system configuration. 3.6.
Modbus [2] Select the axis number of the controller to be changed. 3. Specifications Fig. 3.12 [3] Set parameter No. 16, SIO communication speed. Fig. 3.
Modbus 4 Communication 4.1 Message Transmission Timing 4. Communicationn Master (PLC, etc.) Query Query (message frame) Controller (slave) Delay time = “Internal processing time” +Min. delay for activating local transmitter” (parameter No. 17) Response (message frame) Delay time Delay time Fig. 4.1 The basic transmission control procedure consists of the master sending a query, and the RC controller that received the query sending a response, which are considered one unit.
Modbus 4.2 Timeout and Retry After sending a query, the host waits for a response from the controller (except when the query that has been sent is a broadcast query). If the elapsed time after sending a command until a response is received exceeds the timeout value (Tout), the host may send the command again to reestablish communication. If the number of retries exceeds three times, it means that an irremediable communication error has occurred.
Modbus Internal Addresses and Data Structure of RC Controller The memory area in your RC controller consists of the Modbus register area read/written in units of words and the Modbus status are written in units of bits (coils). Access Address Function Memory area unit range Code* (Note) Function Modbus register Word 0500~9908H 03 H Read holding resisters [Refer to 4.3.1 and 4.3.2.
Modbus 4.3.
Modbus 4.
Modbus (1) Data of alarm detail code (Address = 0500H) (ALA0) Symbolᴾ Nameᴾ Functionᴾ 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 - Alarm detail code 32768 Alarm detail code 16384 Alarm detail code 8192 Alarm detail code 4096 Alarm detail code 2048 Alarm detail code 1024 Alarm detail code 512 Alarm detail code 256 Alarm detail code 128 Alarm detail code 64 Alarm detail code 32 Alarm detail code 16 Alarm detail code 8 Alarm detail code 4 Alarm detail code 2 Alarm detail code 1 It shows the alarm detail code
Modbus ᴾ (3) Data of alarm code (Address = 0503H) (ALA0) 4. Communicationn Bit Symbol Name 15 Alarm code 32768 14 Alarm code 16384 13 Alarm code 8192 12 Alarm code 4096 11 Alarm code 2048 10 Alarm code 1024 9 Alarm code 512 8 Alarm code 256 7 Alarm code 128 6 Alarm code 64 5 Alarm code 32 4 Alarm code 16 3 Alarm code 8 2 Alarm code 4 1 Alarm code 2 0 Alarm code 1 Note Address = 0502H always returns 0. Functionᴾ It shows the alarm code numbers.ᴾ It is output when an alarm is issued.
Modbus ᴾ (4) Data of alarm occurrence time (Address = 0504H) (ALA0) Symbolᴾ Name 31 - Alarm occurrence time 2147202832 30 - Alarm occurrence time 1073601416 29 - Alarm occurrence time 536800708 28 - Alarm occurrence time 268400354 27 - Alarm occurrence time 134200177 26 - Alarm occurrence time 67108864 25 - Alarm occurrence time 33554432 24 - Alarm occurrence time 16777216 23 - Alarm occurrence time 8388608 22 - Alarm occurrence time 4194304 21 - Alarm occurrence time 20971
Modbus 4.
Modbus (6) Data of device control register 2 (Address = 0D01H) (DRG2) Bit Symbol Name JISL Cannot be used Jog/inch switching 13 12 11 MOD Cannot be used Cannot be used Teaching mode command 10 TEAC Position data load command 9 JOG+ Jog+ command 8 JOG- Jog- command 7 ST7 Start position 7 6 ST6 Start position 6 5 ST5 Start position 5 4 ST4 Start position 4 3 ST3 Start position 3 2 ST2 Start position 2 1 ST1 Start position 1 0 ST0 Start position 0 0: Jog 1: Inching When
Modbus 4.
Modbus (8) Data of total moving count (Address = 8400H) (TLMC) Symbol 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 - Name Total moving count 2147202832 Total moving count 1073601416 Total moving count 536800708 Total moving count 268400354 Total moving count 134200177 Total moving count 67108864 Total moving count 33554432 Total moving count 16777216 Total moving count 8388608 Total moving count 4194304 Total moving count 2097152 Total moving count 1048576 Total m
Modbus ᴾ (9) Data of total moving distance (Address = 8402H) (ODOM) Bit 31 30 29 4.
Modbus (10) Data of present time (Address = 841AH(SCON-CA), 8420H(PCON-CA/CFA) (TIMN) Symbol 31 - Present time 2147202832 30 - Present time 1073601416 29 - Present time 536800708 28 - Present tiime 268400354 27 - Present time 134200177 26 - Present time 67108864 25 - Present time 33554432 24 - Present time 16777216 23 - Present time 8388608 22 - Present time 4194304 21 - Present time 2097152 20 - Present time 1048576 19 - Present time 524288 18 - Present time 262144
Modbus 4.
Modbus (12) Data of device status register 1 (Address = 9005H) (DSS1) Symbol 15 EMGS 14 SFTY 13 PWR 12 SV 11 PSFL 10 ALMH 9 ALML 8 ABER 7 BKRL 6 5 STP 4 HEND 3 PEND - 2 CEND 1 CLBS 0 - Name Function EMG status 0: Emergency stop not actuated 1: Emergency stop actuated This bit indicates whether or not the controller is currently in the emergency stop mode due to an emergency stop input, cutoff of the drive source, etc.
Modbus 4.
Modbus (14) Data of expansion device status register (Address = 9007H) (DSSE) Bit Symbol EMGP 14 MPUV 13 RMDS 12 11 GHMS 10 PUSH 9 PSNS 8 PMSS 7 6 5 4 3 2 1 0 MOVE - Function Emergency stop status 0: Emergency stop input OFF 1: Emergency stop input ON This bit indicates the status of the emergency stop input port. Motor voltage low status 0: Normal 1: Motor drive source cut off This bit becomes 1 if there is no input from the motor drive power supply.
Modbus (15) Data of system status registers (Address = 9008H) (STAT) Bit Symbol BATL Absolute Battery Voltage Drop (for SCON only) 30 to 18 17 ASOF Cannot be used Auto servo OFF 16 AEEP Nonvolatile memory being accessed 15 to 5 4 RMDS Cannot be used Operation mode status 3 HEND Home return completion status 2 SV 1 SON 0 MPOW 31 4.
Modbus (16) Data of special port monitor registers (Address = 9012H) (SIPM) Bit Symbol NP - 13 12 PP 11 10 9 8 MDSW 7 6 5 4 BLCT 3 HMCK 2 OT 1 CREP 0 LS - Cannot be used Command pulse NP signal status Cannot be used Command pulse PP signal status Cannot be used Cannot be used Cannot be used Mode switch status Function This bit indicates the status of the command pulse NP signal. This bit indicates the status of the command pulse PP signal.
Modbus 4. Communicationn (17) Data of zone status register (Address = 9013H) (ZONS) Bit 15 14 Symbol LS2 13 LS1 12 LS0 11 10 9 8 ZP 7 6 5 4 3 2 1 Z2 0 Z1 - - Name Cannot be used Limit sensor output monitor 2 (PCON-C/CG/CA/CFA, ACON-C/CG, SCON PIO pattern 5) Function 0: Out of range 1: In range The negative boundary of the positioning band is obtained by subtracting the positioning band size from target position No.
Modbus (18) Data of position number status register (Address = 9014H) (POSS) Bit Symbol PM512 8 PM256 7 PM128 6 PM64 5 PM32 4 PM16 3 PM8 2 PM4 1 PM2 0 PM1 Cannot be used Cannot be used Cannot be used Cannot be used Cannot be used Cannot be used Position complete number status bit 512 Position complete number status bit 256 Position complete number status bit 128 Position complete number status bit 64 Position complete number status bit 32 Position complete number status bit 16 Position c
Modbus 4.
Modbus 4.3.3 Structure of Modbus Status Registers The layout of the Modbus status registers is shown below.
Modbus 4.3.4 Data of Modbus Status Registers Address [HEX] 4.
Modbus Address [HEX] Area name Description 0136 0137 0138 0139 013A 013B 013C 013D 013E 013F 0140 0141 0142 0143 0160 to 016F 0170 0171 0172 0173 Position number status register (POSS) Output port monitor register (DOPM) Special input port monitor register (SIPM) 0174 to 0176 0177 0178 to 017A 017B 017C 017D 017E 017F 0180 to 0183 0184 0185 to 0186 Expansion system status register (SSSE) 0187 0188 to 018F 0190 to 03FF Reserved for system PM512 PM256 PM128 PM64 PM32 PM16 PM8 PM4 PM2 PM1 LS2 L
Modbus Address [HEX] 0400 0401 0402 0403 Area name Device control register 1 (DRG1) 4.
Modbus 5 Modbus RTU 5.
Modbus 5.1 Message Frames (Query and Response) 5. Modbus RTU Start Silent interval Address Function code Data CRC Check 1 byte 1 byte n byte 2 byte End Silent interval (1) Start This field contains a silent interval (non communication time) of 3.5 characters or longer. (1 character = 10 bits) Example: In case of 9600 bps, (10 x 3.5) bits x 1/9600 bps = 3.65 ms Note If the response timeout error occurs, change parameter No. 45, “Silent interval multiplier” or No. 17, “Min.
Modbus (4) Data Use this field to add data specified by a function code. It is also allowed to omit data if data addition is not specified by a function code. (Reference) CRC calculation is automatically carried out with the FINS command supporting Modbus RTU communication of the PLC CJ1 series made by Omron. (6) End This field contains a silent interval (non communication time) of 3.5 characters or longer. (Note) If the response timeout error occurs, change parameter No.
Modbus 5. Modbus RTU Caution The sizes of send/receive buffers are set to 256 bytes for an RC controller, respectively. Make sure to keep the messages small enough such that messages sent from the host side do not exceed the receive buffer and data requests do not exceed send buffer.
Modbus 5.2 List of RTU Mode Queries FC: Function code PIO: Parallel I/O (input/output of an I/O connector) The circle marks in the Combination use with PIO and Broadcast columns indicate queries that can be combined with PIO and in broadcast communication, respectively.
Modbus FC Function Controller status signal read 2 03 (device status 2) 5.
Modbus FC 03 Function Zone output signal read 03 Controller status signal read 5 Force feedback data write Safety speed 05 enable/disable switching 03 05 Servo ON/OFF 05 Alarm reset Forced brake release 05 Pause 05 05 Home return 05 Positioning operation start 05 Jog/inch switching Teaching mode command Position data load 05 command 05 05 Jog+ command 05 Jog- command Function Summary This function reads the following 6 statuses: [1] LS2 (PIO pattern solenoid valve mode [3-point type] [2] LS1 (P
Modbus FC Function Start position 0 to 7 <> 05 move command 05 05 5. Modbus RTU 05 06 10 10 Indeterminable Load cell calibration command Symbol Function Summary This function specifies position numbers ST0 to effective only in the solenoid valve mode. ST7 The actuator can be operated with this command alone (note). CLBR Calibrate the load cell. This function issues a command to PMSL enable/disable PIO external command signals.
Modbus 5.3. Data and Status Reading (Queries Using Code 03) 5.3.1 Reading Consecutive Multiple Registers (1) Function These registers read the contents of registers in a slave. This function is not supported in broadcast communication.
5. Modbus RTU Modbus (3) Query format In a query message, specify the address of the register from which to start reading data, and number of bytes in registers to be read. 1 register (1 address) = 2 bytes = 16-bit data Field RTU mode Number of data items Remarks 8-bit data (number of bytes) Start None Silent interval Slave address [H] Arbitrary 1 Axis No. + 1 (01H to 10H) Function code [H] 03 1 Register reading code Start address [H] Arbitrary 2 Refer to 5.3.
Modbus The response to the query is as follows.
Modbus 5.3.2 Alarm Detail Description Reading <> (1) Function This bit reads the alarm codes, alarm detail codes and alarm occurrence time that last occurred. When any alarm is not issued, it is “0H”. [Refer to 4.3.2 (1) to (3) for detail] 5.
Modbus The response to the query is as follows.
Modbus 5.3.3 Total moving count Reading <> (1) Function This bit reads the total moving count. [Refer to Section 4.3.2(8)] 5. Modbus RTU (2) Query format Field Start Slave address [H] Function code [H] Start address [H] Number of registers [H] Number of data items (number of bytes) None 1 1 2 2 RTU mode 8-bit data Error check [H] End Total number of bytes 2 None 8 CRC (16 bits) Arbitrary 03 8400 0002 (3) Response format A response message contains 16 bits of data per register.
Modbus The response to the query is as follows.
Modbus 5.3.4 Total moving distance Reading <> (in 0.01 mm units) (1) Function This bit reads the total moving distance in units of 1m. 5.
Modbus The response to the query is as follows.
Modbus 5.3.5 Present Time Reading <> (1) Function This bit reads the present time.ᴾ [Dedicated for PCON-CA/CFA and SCON-CA] 5.
Modbus ί4ὸᴾ Conversion of Read Data into Time The read data output the current time by the setting on the controller.ᴾ 1) For the models that are equipped with the calendar function (RTC), when RTC is set effective, it shows the time of alarm issuance. 2) When RTC is set ineffective or for the models that is not equipped with RTC, it shows the time [msec] passed since the power to the controller is turned on.
5. Modbus RTU Modbus (5) Query sample A sample query that reads the present time of PCON-CA (addresses 8420H to 8421H) of a controller with axis No. 0 is shown below.
Modbus 5.3.6 Total FAN Driving Time Reading <> (1) Function This bit reads the Total FAN driving time (in 1 sec units) [Dedicated for PCON-CFA] (2) Query format Field RTU mode 8-bit data Error check [H] End Total number of bytes 2 None 8 CRC (16 bits) Arbitrary 03 842E 0002 Remarks Silent interval Axis number + 1 (01H to 10H) Register reading Total FAN driving time Reading addresses 842EH to 842FH Silent interval (3) Response format A response message contains 16 bits of data per register.
5. Modbus RTU Modbus (4) Query sample A sample query that reads the total FAN driving time (addresses 842EH to 842FH) of a controller with axis No. 0 is shown below.
Modbus 5.3.7 Current Position Reading <> (in 0.01 mm units) (1) Function This bit reads the current position in units of 0.01 mm. The sign is effective. (2) Query format Field RTU mode 8-bit data Error check [H] End Total number of bytes 2 None 8 CRC (16 bits) Arbitrary 03 9000 0002 (3) Response format A response message contains 16 bits of data per register.
5. Modbus RTU Modbus (4) Query sample A sample query that reads the current position (addresses 9000H to 9001H) of a controller with axis No. 0 is shown below. z Query (silent intervals are inserted before and after the query) 01 03 90 00 00 02 E9 0B Field RTU mode 8-bit data Start Silent interval Slave address [H] 01 Function code [H] 03 Start address [H] 9000 Number of registers [H] 0002 Error check [H] E90B (in accordance with CRC calculation) End Silent interval The response to the query is as follows.
Modbus 5.3.8 Present Alarm Code Reading <> (1) Function This query reads the code indicating the normal status or alarm status of the controller. In the normal status, 00H is stored. [For details on alarm codes, refer to the operation manual for each controller.] (2) Query format Field RTU mode 8-bits data Arbitrary 03 9002 0001 CRC (16 bits) (3) Response format A response message contains 16 bits of data per register.
5. Modbus RTU Modbus (4) Query sample A sample query that reads the alarm code (address 9002H) of a controller with axis No. 0 is shown below. z Query (silent intervals are inserted before and after the query) 01 03 90 02 00 01 08 CA Field RTU mode 8-bit data Start Silent interval Slave address [H] 01 Function code [H] 03 Start address [H] 9002 Number of registers [H] 0001 Error check [H] 08CA (in accordance with CRC calculation) End Silent interval The response to the query is as follows.
Modbus 5.3.9 I/O Port Input Signal Status Reading <> (1) Function This query reads the port input value of the RC controller regardless of the PIO pattern. The status of the port to which a signal is currently input as recognized by the RC controller is read. (2) Query format Field RTU mode 8-bit data Arbitrary 03 9003 0001 CRC (16 bits) (3) Response format A response message contains 16 bits of data per address.
5. Modbus RTU Modbus (4) Query sample A sample query that reads the current position (address 9003H) of a controller with axis No. 0 is shown below. z Query (silent intervals are inserted before and after the query) 01 03 90 03 00 01 59 0A Field RTU mode 8-bit data Start Silent interval Slave address [H] 01 Function code [H] 03 Start address [H] 9003 Number of registers [H] 0001 Error check [H] 590A (in accordance with CRC calculation) End Silent interval The response to the query is as follows.
Modbus (5) Port assignment [For details, refer to the operation manual that comes with each RC controller] Write the port assignment of PIO patterns to each RC controller. 0 indicates that response data is always 0.
Modbus ACON-C/CG PIO PIO pattern 0 pattern 1 PC1 PC1 PC2 PC2 PC4 PC4 PC8 PC8 Port 5.
Modbus 5.3.10 I/O Port Output Signal Status Reading<> (1) Function This query reads the port output value of the RC controller regardless of the PIO pattern. (2) Query format Field RTU mode 8-bit data Arbitrary 03 9004 0001 CRC (16 bits) (3) Response format A response message contains 16 bits of data per register.
5. Modbus RTU Modbus (4) Query sample A sample query that output port (address 9004H) of a controller of axis No. 0 is shown below. z Query (silent intervals are inserted before and after the query) 01 03 90 04 00 01 E8 CB Field RTU mode 8-bit data Start Silent interval Slave address [H] 01 Function code [H] 03 Start address [H] 9004 Number of registers [H] 0001 Error check [H] E8CB (in accordance with CRC calculation) End Silent interval The response to the query is as follows.
Modbus (5) Port assignment [For details, refer to the operation manual that comes with each RC controller.] Write the port assignment of PIO patterns to each RC controller. 0 indicates that response data is always 0.
5.
Modbus 5.3.11 Controller Status Signal Reading 1 <> (1) Function This bit reads the internal status of the controller. [Refer to 4.3.2 (12), “Data of device status register 1.”] (2) Query format Field RTU mode 8-bit data Arbitrary 03 9005 0001 CRC (16 bits) (3) Response format A response message contains 16 bits of data per address.
5. Modbus RTU Modbus (4) Query sample A sample query that reads the device status (address 9005H) of a controller with axis No. 0 is shown below. z Query (silent intervals are inserted before and after the query) 01 03 90 05 00 01 B9 0B Field RTU mode 8-bit data Start Silent interval Slave address [H] 01 Function code [H] 03 Start address [H] 9005 Number of registers [H] 0001 Error check [H] B90B (in accordance with CRC calculation) End Silent interval The response to the query is as follows.
Modbus 5.3.12 Controller Status Signal Reading 2 <> (1) Function This bit reads the internal status of the controller. [Refer to 4.3.2 (13), “Data of device status register 2.”] (2) Query format Field RTU mode 8-bit data Arbitrary 03 9006 0001 CRC (16 bits) (3) Response format A response message contains 16 bits of data per register.
5. Modbus RTU Modbus (4) Query sample A sample query that reads the device status (address 9006H) of a controller with axis No. 0 is shown below. z Query (silent intervals are inserted before and after the query) 01 03 90 06 00 01 49 0B Field RTU mode 8-bit data Start Silent interval Slave address [H] 01 Function code [H] 03 Start address [H] 9006 Number of registers [H] 0001 Error check [H] 490B (in accordance with CRC calculation) End Silent interval The response to the query is as follows.
Modbus 5.3.13 Controller Status Signal Reading 3 <> (1) Function This bit reads internal status (expansion device) of the controller. [Refer to 4.3.2 (14), “Data of expansion device status register.”] (2) Query format Field Number of registers [H] Error check [H] End Total number of bytes RTU mode 8-bit data Arbitrary 03 9007 2 2 2 None 8 0001 CRC (16 bits) (3) Response format A response message contains 16 bits of data per register.
5. Modbus RTU Modbus (4) Query sample A sample query that reads the expansion device status (address 9007H) of a controller of axis No. 0 is shown below. z Query (silent intervals are inserted before and after the query) 01 03 90 07 00 01 18 CB Field RTU mode 8-bit data Start Silent interval Slave address [H] 01 Function code [H] 03 Start address [H] 9007 Number of registers [H] 0001 Error check [H] 18CB (in accordance with CRC calculation) End Silent interval The response to the query is as follows.
Modbus 5.3.14 Controller Status Signal Reading 4 <> (1) Function This bit reads the internal operation status of the controller. [Refer to 4.3.2 (15), “Data of system status register.”] (2) Query format Field Error check [H] End Total number of bytes RTU mode 8-bit data Arbitrary 03 9008 0002 2 2 None 8 CRC (16 bits) (3) Response format A response message contains 16 bits of data per register.
5. Modbus RTU Modbus (4) Query sample A sample query that reads the system status (from address 9008H) of a controller of axis No. 0 is shown below. z Query (silent intervals are inserted before and after the query) 01 03 90 08 00 02 68 C9 Field RTU mode 8-bit data Start Silent interval Slave address [H] 01 Function code [H] 03 Start address [H] 9008 Number of registers [H] 0002 Error check [H] 68C9 (in accordance with CRC calculation) End Silent interval The response to the query is as follows.
Modbus 5.3.15 Current Speed Reading <> (1) Function The monitored data of actual motor speed is read. The speed may be positive or negative depending on the moving direction of the actuator. The unit is 0.01 mm/sec. (2) Query format Field Error check [H] End Total number of bytes RTU mode 8-bit data Arbitrary 03 900A 0002 2 2 None 8 CRC (16 bits) (3) Response format A response message contains 16 bits of data per register.
5. Modbus RTU Modbus (4) Query sample A sample query that reads the current speed monitor (from address 900AH) of a controller of axis No. 0 is shown below. z Query (silent intervals are inserted before and after the query) 01 03 90 0A 00 02 C9 09 Field RTU mode 8-bit data Start Silent interval Slave address [H] 01 Function code [H] 03 Start address [H] 900A Number of registers [H] 0002 Error check [H] C909 (in accordance with CRC calculation) End Silent interval The response to the query is as follows.
Modbus 5.3.16 Current Ampere Reading <> (1) Function This bit reads the monitor data of the motor current (torque current command value), indicated in units of mA.
5. Modbus RTU Modbus (4) Query sample A sample query that read the current ampere monitor (from address 900CH) of a controller of axis No. 0 is shown below. z Query (silent intervals are inserted before and after the query) 01 03 90 0C 00 02 29 08 Field RTU mode 8-bit data Start Silent interval Slave address [H] 01 Function code [H] 03 Start address [H] 900C Number of registers [H] 0002 Error check [H] 2908 (in accordance with CRC calculation) End Silent interval The response to the query is as follows.
Modbus 5.3.17 Deviation Reading <> (1) Function This bit reads the deviation over a 1-ms period between the position command value and the feedback value (actual position). The unit is pulse. The number of pulses per one motor revolution in mechanical angle varies depending on the encoder used.
5. Modbus RTU Modbus (4) Query sample A sample query that reads the deviation monitor (from address 900EH) of a controller of axis No. 0 is shown below. z Query (silent intervals are inserted before and after the query) 01 03 90 0E 00 02 88 C8 Field RTU mode 8-bit data Start Silent interval Slave address [H] 01 Function code [H] 03 Start address [H] 900E Number of registers [H] 0002 Error check [H] 88C8 (in accordance with CRC calculation) End Silent interval The response to the query is as follows.
Modbus 5.3.18 Total Time after Power On Reading <> (1) Function This bit reads the total time since the controller power was turned on. The unit is ms. The timer value is not cleared by software reset. (2) Query format Field Error check [H] End Total number of bytes 2 2 None 8 RTU mode 8-bit data Arbitrary 03 9010 0002 CRC (16 bits) (3) Response format A response message contains 16 bits of data per register.
5. Modbus RTU Modbus (4) Query sample A sample query that reads the system timer value (from address 9010H) of a controller of axis No. 0 is shown below. Query (silent intervals are inserted before and after the query) 01 03 90 10 00 02 E8 CE Field RTU mode 8-bit data Start Silent interval Slave address [H] 01 Function code [H] 03 Start address [H] 9010 Number of registers [H] 0002 Error check [H] E8CE (in accordance with CRC calculation) End Silent interval The response to the query is as follows.
Modbus 5.3.19 Special Input Port Input Signal Status Reading<> (1) Function This bit reads the status of input ports other than the normal input port. [Refer to 4.3.2 (16), “Data of special input port monitor registers” for the data input via the special input port.] (2) Query format Field RTU mode 8-bit data Arbitrary 03 9012 0001 CRC (16 bits) (3) Response format A response message contains 16 bits of data per register.
5. Modbus RTU Modbus (4) Query sample A sample query that reads the special input port (address 9012H) of a controller of axis No. 0 is shown below. Query (silent intervals are inserted before and after the query) 01 03 90 12 00 01 09 0F Field RTU mode 8-bit data Start Silent interval Slave address [H] 01 Function code [H] 03 Start address [H] 9012 Number of registers [H] 0001 Error check [H] 090F (in accordance with CRC calculation) End Silent interval The response to the query is as follows.
Modbus 5.3.20 Zone Output Signal Status Reading<> (1) Function This bit reads the status of zone output. [Refer to 4.3.2 (17), “Data of zone status registers.”] (2) Query format Field RTU mode 8-bit data Arbitrary 03 9013 0001 CRC (16 bits) 8 (3) Response format A response message contains 16 bits of data per register.
5. Modbus RTU Modbus (4) Query sample A sample query that reads the zone output status (address 9013H) of a controller of axis No. 0 is shown below. Query (silent intervals are inserted before and after the query) 01 03 90 13 00 01 58 CF Field RTU mode 8-bit data Start Silent interval Slave address [H] 01 Function code [H] 03 Start address [H] 9013 Number of registers [H] 0001 Error check [H] 58CF (in accordance with CRC calculation) End Silent interval The response to the query is as follows.
Modbus 5.3.21 Position Complete Number Reading<> (1) Function This bit reads the position complete number. [Refer to 4.3.2 (18), “Data of position number status register.”] (2) Query format Field RTU mode 8-bit data Arbitrary 03 9014 0001 CRC (16 bits) (3) Response format A response message contains 16 bits of data per register.
5. Modbus RTU Modbus (4) Query sample A sample query that reads the position complete (address 9014H) of a controller of axis No. 0 is shown below. Query (silent intervals are inserted before and after the query) 01 03 90 14 00 01 E9 0E Field RTU mode 8-bit data Start Silent interval Slave address [H] 01 Function code [H] 03 Start address [H] 9014 Number of registers [H] 0001 Error check [H] E90E (in accordance with CRC calculation) End Silent interval The response to the query is as follows.
Modbus 5.3.22 Controller Status Signal Reading 5 <> (1) Function This query reads the internal operation status of the controller. [Refer to 4.3.2 (19), “Data of expansion system status register.”] (2) Query format Field Number of registers [H] Error check [H] End Total number of bytes 2 2 2 None 8 RTU mode 8-bit data Arbitrary 03 9015 0001 CRC (16 bits) (3) Response format A response message contains 16 bits of data per register.
5. Modbus RTU Modbus (4) Query sample A sample query that reads the expansion system status register (address 9015H) of a controller of axis No. 0 is shown below.
Modbus 5.3.23 Force Feedback Data Read <> --- SCON-CA Only (1) Function The monitored data of load cell measurement (push force) is read. The unit is 0.01 N. (2) Query format Field Error check [H] End Total number of bytes RTU mode 8-bit data 2 0002 2 None 8 CRC (16 bits) Arbitrary 03 901E (3) Response format A response message contains 16 bits of data per register.
5. Modbus RTU Modbus (4) Query sample An example of use is shown, where the current measurement on the load cell connected to controller axis 0 is read. z Query (silent intervals are inserted before and after the query) 01 03 90 0A 00 02 89 0D Field RTU mode 8-bit data Start Silent interval Slave address [H] 01 Function code [H] 03 Start address [H] 901E Number of registers [H] 0002 890D (in accordance with Error check [H] CRC calculation) End Silent interval The response to the query is as follows.
Modbus 5.4 5.4.1 Operation Commands and Data Rewrite (Query Using Code 05) Writing to Coil (1) Function Change (write) the status of DO (Discrete Output) of a slave to either ON or OFF. In case of broadcast transmission, the coils at the specified address of all slaves are rewritten.
Modbus 5.4.2 Safety Speed Enable/Disable Switching (SFTY) (1) Function This query enables/disables the speed specified by user parameter No. 35, “Safety speed.” Enabling the safety speed in the MANU mode will limit the speeds of all movement commands. 5.
Modbus If the change is successful, the response message will be the same as the query. 117 5. Modbus RTU (4) Query sample A sample query that enables the safety speed of a controller of axis No. 0 is shown below.
Modbus 5.4.3 Servo ON/OFF <> 5. Modbus RTU (1) Function Control ON/OFF of the servo. When “Servo ON” is specified by the new data, the servo will turn ON after elapse of the manufacturer parameter “Servo ON delay time.” However, the following conditions must be satisfied: x The EMG status bit in device status register 1 is 0. x The major failure status bit in device status register 1 is 0. x The enable status bit in device status register 2 is 1.
Modbus If the change is successful, the response message will be the same as the query. 119 5. Modbus RTU (4) Query sample A sample query that turns on the servo of a controller of axis No. 0 is shown below.
Modbus 5.4.4 Alarm Reset <> (1) Function When the alarm reset edge is turned on (the data is first set to FF00H and then changed to 0000H), alarms will be reset. If any alarm cause has not been removed, the same alarm will be generated again. If the alarm reset edge is turned on while the actuator is paused, the remaining travel will be cancelled. When alarms are reset, make sure to write changed data of 0000H to restore the normal status. 5.
Modbus Error check [H] End restore the normal status.) First time: 3CCB (in accordance with CRC calculation) Second time: 7D3B (in accordance with CRC calculation) Silent interval If the change is successful, the response message will be the same as the query. 121 5. Modbus RTU (4) Query sample A sample query that resets the alarms of a controller of axis No. 0 is shown below.
Modbus 5.4.5 Brake Forced Release <> (1) Function Brake control is linked to servo ON/OFF. The brake can be forcefully released even when the servo is ON. 5.
Modbus If the change is successful, the response message will be the same as the query. 123 5. Modbus RTU (4) Query sample A sample query that forcefully releases the break of a controller of axis No. 0 is shown below.
Modbus 5.4.6 Pause <> 5. Modbus RTU (1) Function If the pause command is transmitted during movement, the actuator decelerates and stops. If the status is set back to normal again, the actuator resumes moving for the remaining distance. As long as the pause command is being transmitted, all motor movement is inhibited. If the alarm reset command bit is set while the actuator is paused, the remaining travel will be cancelled.
Modbus If the change is successful, the response message will be the same as the query. 125 5. Modbus RTU (4) Query sample A sample query that pauses a controller of axis No. 0 is shown below.
Modbus 5.4.7 Home Return <> (1) Function Home return operation will start if a rising edge in the home return command signal is detected (the data is first set to 0000H and then changed to FF00H). Upon home return completion, the HEND bit will become 1. This command can be input as many times as desired even after home return completion. 5.
Modbus If the change is successful, the response message will be the same as the query. 127 5. Modbus RTU (4) Query sample A query example that executes home return operation of a controller of axis No. 0 is shown here.
Modbus 5. Modbus RTU 5.4.8 Positioning Start Command <> (1) Function If the rising edge of the positioning start command is detected (the data is first set to 0000H and then changed to FF00H), the actuator will move to the position specified by the position number stored in the position number specification register (POSR:0D03H).
Modbus If the change is successful, the response message will be the same as the query. 129 5. Modbus RTU (4) Query sample A sample query that moves the actuator of a controller of axis No. 0 to the position specified by the position number stored in the position number specification register (POSR: 0D03H) is shown below.
Modbus 5.4.9 Jog/Inch Switching <> (1) Function This bit switches between jogging and inching. If this bit switches while the actuator is jogging, the actuator will decelerate to a stop. If this bit switches while the actuator is inching, the inching movement will continue. 5.
Modbus If the change is successful, the response message will be the same as the query. 131 5. Modbus RTU (4) Query sample A sample query that switches the operation of a controller of axis No. 0 to inching is shown below.
Modbus 5.4.10 Teaching Mode Command <> (1) Function This bit switches between the normal operation mode and teaching mode. 5.
Modbus If the change is successful, the response message will be the same as the query. 133 5. Modbus RTU (4) Query sample A sample query that switches the operation mode of a controller of axis No. 0 to teaching mode is shown below.
Modbus 5.4.11 Position Data Load Command <> 5. Modbus RTU (1) Function The current position is acquired by writing this command (write FF00H) when the teaching mode command (5.4.10) is FF00H (teaching command). The current position data will be written in the position number specified by the position number specification register when the aforementioned condition was detected.
Modbus If the change is successful, the response message will be the same as the query. 135 5. Modbus RTU (4) Query sample A sample query that acquires the current position when a controller of axis No. 0 is in the teaching mode is shown below.
Modbus 5. Modbus RTU 5.4.12 Jog+ Command <> (1) Function x The actuator performs either jog or inching operation. If the jog+ command (changed data FF00H) is sent when the jog/inch switching command (5.4.9) is set to 0000H (set to jog), the actuator will jog in the direction opposite home. The speed and acceleration/deceleration speed conform to the PIO jog speed set by user parameter No. 26 and rated acceleration/deceleration speed, respectively.
Modbus If the change is successful, the response message will be the same as the query. [2] A sample query that makes a controller of axis No. 0 inch is shown below.
Modbus 5. Modbus RTU 5.4.13 Jog- Command <> (1) Function x The actuator performs either jog or inching operation. If the jog- command (changed data FF00H) is sent when the jog/inch switching command (5.4.9) is set to 0000H (set to jog), the actuator will jog in the direction of home. The speed and acceleration/deceleration speed conform to the PIO jog speed set by user parameter No. 26 and rated acceleration/deceleration speed, respectively.
Modbus If the change is successful, the response message will be the same as the query. [2] A sample query that makes a controller of axis No. 0 inch is shown below.
Modbus 5. Modbus RTU 5.4.14 Start Positions 0 to 7 <> Movement Command (Limited to PIO Patterns 4 and 5) (1) Function The actuator moves to the specified position number position. The movement command for start position 0 to 7 is effective only when PIO pattern 4 or 5 (solenoid valve mode) is selected. The movement command is sent by enabling either one of ST0 to ST7 in 5.4.14 (5), “Start address” (write new value FF00H when 0000H is set).
Modbus (4) Query sample A sample query that moves a controller of axis No. 0 to start position 2 is shown below. An example of start position setting. Fig. 5.2 If the change is successful, the response message will be the same as the query.
Modbus 5.4.15 Load Cell Calibration Command <> --- A dedicated load cell must be connected. (1) Function --- SCON-CA only The dedicated load cell is calibrated. The factory setting of your load cell is that the ON status corresponds to a no-load state. If you want to define the reference state as a condition where a work part (load) is installed, calibrate the load cell. Also calibrate the load cell in other situations as necessary (readjustment, inspection, etc.). 5.
Modbus Input is recognized after the signal remains ON for 20 ms*1. Calibration time*2 Turn OFF the CLBR after confirming that the CEND has turned ON. CLBR CEND *1 If the CLBR is turned OFF during this period, calibration will not be performed because the signal is not yet recognized as having been input. *2 If the CLBR is turned OFF during this period, an alarm will generate. (4) Response A response message to be sent following a successful change should be the same as the query.
Modbus 5.4.16 PIO/Modbus Switching Setting <> (1) Function PIO external command signals can be enabled or disabled. 5.
Modbus (4) Response If the change is successful, the response message will be the same as the query. If invalid data is sent, an exception response (refer to section 7) will be returned, or no response will be returned. If the change is successful, the response message will be the same as the query. 145 5. Modbus RTU (5) Query sample A sample query that enables the Modbus command of the operation of a controller of axis No. 0 is shown below.
Modbus 5.4.17 Deceleration Stop <> (1) Function The actuator will start decelerating to a stop when the deceleration stop command edge (write FF00H) is turned on. 5.
Modbus If the change is successful, the response message will be the same as the query. 147 5. Modbus RTU (4) Query sample A sample query that decelerates to a stop of a controller of axis No. 0 is shown below.
Modbus 5.5 5.5.1 Direct Writing of Control Information (Queries Using Code 06) Writing to Registers 5. Modbus RTU (1) Function These queries change (write) data in registers of a slave. In case of broadcast, data of registers of the same address of all slaves is changed. [Refer to the details of device controller register 1 in 4.3.2 (5).] [Refer to the details of device controller register 2 in 4.3.2 (6).
Modbus (4) Response If the change is successful, the response message will be the same as the query. If invalid data is sent, an exception response (refer to section 7) will be returned, or no response will be returned. 149 5. Modbus RTU (3) Query format Specify the address and data of the register whose data is to be changed in the query message. Data to be changed shall be specified as 16-bit data in the changed data area of the query.
5. Modbus RTU Modbus (5) Query sample Examples of different operations are shown in [1] to [3] below. [1] A sample query that turns the servo of a controller of axis No. 0 on and then executes home return operation is performed.
Modbus Note As soon as a position number is written to this register, the actuator starts moving. The CSTR (start signal) is not required. If the change is successful, the response message will be the same as the query. Note To keep the previous status, send the previous status even if there is no change. As in the example above, keep the servo ON bit as 1 at other than servo OFF. If the change is successful, the response message will be the same as the query. 151 5. Modbus RTU [3] Move to position No.
Modbus 5.6 Direct Writing of Positioning Data (Queries Using Code 10) 5. Modbus RTU 5.6.1 Numerical Value Movement Command (1) Function Specify the target position in PTP positioning operation using absolute coordinates. It is possible to command the actuator to move via numerical values by writing directly to the group of registers at addresses from 9900H to 9908H (can be set in one message).
Modbus (3) Query format 1 register = 2 bytes = 16-bit data Field Number of data items (number of bytes) Start Slave address [H] 1 RTU mode 8-bit data None Arbitrary 1 2 10 Arbitrary Number of registers [H] 2 Arbitrary Number of bytes [H] 1 Changed data 1 [H] 2 In accordance with the number of registers above Changed data 2 [H] 2 Changed data 3 [H] 2 : Error check [H] End Total number of bytes : 2 CRC (16 bits) None Up to 256 Silent interval Axis number + 1 (01H to 10H) 00H if broadcast i
Modbus (5) Detailed explanation of registers 5. Modbus RTU Target position specification register (PCMD) This register specifies the target position in PTP positioning operation using absolute coordinates. The value of this register is set in units of 0.01 mm in a range of –999999 to 999999 (FFF0BDC1(Note) to 000F423FH). When the absolute coordinate is indicated, operation starts with 0.
Modbus Acceleration/deceleration specification register (ACMD) This register specifies the acceleration or deceleration. The value of this register is set in units of 0.01 G in a range of 1 to 300 (1 to 012CH). If the specified value exceeds the maximum acceleration or deceleration set by a parameter, an alarm will generate the moment a movement start command is issued. The actuator will start moving when this register is rewritten.
Modbus Control Flag Specification Register (CTLF) Set the method of operation. If push-motion operation or incremental operation (pitch feed) is selected, set this register every time a movement command is issued. (This is because the register will be overwritten with the default value every time the actuator moves.) CTLF bit structure 06% 06% /1& /1& )5. )5.
Modbus Bit 4 (GSL0), 5 (GSL1) = Refer to the table below. (These bits can be set only on SCON-CA controllers.) GSL1 GSL0 Function 0 0 Select parameter set 0 (default). 0 1 Select parameter set 1 1 0 Select parameter set 2 1 1 Select parameter set 3 You can register a maximum of four servo gain parameter sets consisting of six parameters and move the actuator to each position by selecting a different parameter set every time. [For details, refer to the operation manual for your controller.
Modbus (6) Example of use Examples of different operations are shown in [1] to [7] below. [1] Move by changing the target position. (All data other than the target position are the default values of their respective parameters.) Conditions: The operation conditions conform to the default speed, default acceleration/deceleration and default positioning band set by the controller’s user parameters. Only the target position is changed to move the actuator. Supplement: Controller’s user parameters 5.
Modbus [2] Move by changing the target position. (As well as data other than the target position). Conditions: Want to move the actuator by changing the target position, speed and acceleration/deceleration every time.
Modbus [3] Change the speed while the actuator is moving. Conditions: Change the target position, speed and acceleration/deceleration each time the actuator is moved, with the actuator speed changed at a given timing during movement. Write the target position specification register (9900H) through acceleration/deceleration specification register (9906H)(Example 2) 5.
Modbus (Example 3) Change the speed from 100 mm/s to 50 mm/s while the actuator is moving. Target position [mm] 50 Positioning band [mm] 0.1 Speed [mm/s] 100 o 50 Acceleration/ deceleration [G] 0.3 Push [%] Control flag Need not be set. (1) Start the movement at a speed of 100 mm/s. [Refer to Example [2], “Move by changing the speed” above.
Modbus [4] Move in the incremental (pitch feed) mode. Conditions: The operation conditions conform to the default speed, default acceleration/deceleration and default positioning band set by the controller’s user parameters. Only the pitch width is changed to move the actuator. Write the target position specification register (9900H) through control flag specification register (9908H: Incremental setting) (Example 4) 5.
Modbus (Example 4) Move in the incremental mode by setting the pitch to 10 mm. Pitch [mm] Positioning band [mm] Speed [mm/s] 0.1 100 Acceleration/ deceleration [G] Push [%] 0.3 0 Control flag Incremental (bit3 = 1) Query: 01 10 9900 0009 12 0000 03E8 0000 000A 0000 2710 001E 0000 0008 F3A0 Response: 01 10 9900 0009 2E93 --- The query message is copied, except for the number of bytes and new data, and returned as a response.
Modbus [5] Change the speed during incremental movement (pitch feed). Conditions: Change the target position, speed and acceleration/deceleration each time the actuator is moved, with the positioning band changed at a given timing during movement. Write the target position specification register (9900H) through control flag specification register (9908H: Incremental setting) (Example 4) 5.
Modbus (Example 5) Change the speed from 100 mm/s to 50 mm/s while the actuator is moving. Pitch [mm] Positioning band [mm] Speed [mm/s] Acceleration/ deceleration [G] Push [%] Control flag 10 0.1 100 o 50 0.3 0 Incremental (bit3 = 1) (2) Change the speed to 50 mm/s. Query : 01 10 9904 0005 0A 0000 1388 001E 0000 0008 BD83 Response: 01 10 9904 0005 6F57 --- The query message is copied, except for the number of bytes and new data, and returned as a response.
Modbus [6] Perform a push-motion operation. (changing pushing force during push-operation) Conditions: Perform push-motion operation by changing the push force at a desired timing while the actuator is pushing the work part. Write the target position specification register (9900H) through control flag specification register (9908H: Push-motion setting) (Example 6) 5.
Modbus (Example 6) Perform a push-motion operation for 20 mm from the 50-mm position at a current-limiting value of 70%. Target position [mm] Positioning band [mm] Acceleration/ deceleration [G] Speed [mm/s] Push [%] Control flag ᴾBreakdown of Query Message Start Slave address Function code RTU mode 8-bit data None 01H 10H Start address 9900H Number of registers 0009H Field Number of bytes New data 1, 2 (target position) Input unit (0.01 mm) New data 3, 4 (positioning band) Input unit (0.
Modbus 5. Modbus RTU (Example 7) Change the push current limit from 70% to 50% during a push-motion operation. Target position [mm] Positioning band [mm] Speed [mm/s] 50 20 100 Acceleration/ deceleration [G] Push [%] Control flag 0.3 70 o 50 Push-motion operation (bit1 = 1, bit2 = 1) Query : 01 10 9907 0002 04 007F 0006 C5C5 Response : 01 10 9907 0002 DE95 --- The query message is copied, except for the number of bytes and new data, and returned as a response.
Modbus [7] Note (changing positioning band during movement) The positioning band cannot be changed while the actuator is moving. Conditions: Change the target position, speed and acceleration/deceleration each time the actuator is moved, with the positioning band changed at a given timing during movement. (Cannot be changed. If data is written, the data is reflected in the next positioning.
Modbus 5.6.2 Writing Position Table Data 5. Modbus RTU (1) Function Position table data can be changed using this query. Every time an access is made to the start address list (address +0000H to +000EH), it is read out of the non-volatile memory in the unit of 1 position data, and gets stored to the non-volatile memory after the writing is executed. * The EEPROM has a rewrite life of approx. 100, 000 times due to device limitations.
Modbus (3) Query format 1 register = 2 bytes = 16-bit data Number of data items Field (Number of bytes) Start None Slave address [H] 1 1 2 2 1 Changed data 1 [H] Changed data 2 [H] Changed data 3 [H] : Error check [H] End Total number of bytes 2 2 2 : None Up to 256 Arbitrary 10 Arbitrary Arbitrary In accordance with the above registers CRC (16 bits) Remarks Silent interval Axis number + 1 (01H to 10H) 00H when broadcast is specified Numerical value command Refer to 5.6.2 (2), “Start address list.
Modbus (5) Detailed explanation of registers 5. Modbus RTU Target Position (PCMD) This register specifies the target position using absolute coordinates or by an relative distance. The value of this register is set in units of 0.01 mm in a range of -999999 to 999999 (FFF0BDC1(Note) to 000F423FH). When the absolute coordinate is indicated, operation starts with 0.2mm in front (Note 2) of the soft limit setting value as the target position if the setting of the parameter exceeds the soft limit.
Modbus Deceleration specification register (DCMD) This register specifies the deceleration during positioning. The value of this register is set in units of 0.01 G in a range of 1 to 300 (1 to 012CH). If the specified value exceeds the maximum deceleration set by a parameter, an alarm will generate the moment a movement start command is issued. Sample push-motion current setting z When setting the current to 20% 255 (100%) x 0.
Modbus (6) Sample query A sample query that rewrites all data of position No. 12 of axis No. 0 is shown below. Axis No. 0 Target position (mm) Positioning band (mm) Speed (mm/sec) Individual zone boundary+ (mm) Individual zone boundary(mm) Acceleration (G) Deceleration (G) Push (%) Threshold Movement control 100 0.1 200 60 40 0.01 0.3 0 0 Normal movement 5.
Modbus New data 15 (control flag) 0000H Error check End Total number of bytes 701EH 39 Remarks All upper bits of the 32-bit data are 0. 60 (mm) x 100 = 6000 o 1770H All upper bits of the 32-bit data are 0. 40 (mm) x 100 = 4000 o 0FA0H 0.01 (G) x 100 = 1 o 0001H 0.3 (G) x 100 = 30 o 001EH 0 (%) o 0H 0 (%) o 0H All bits are 0, because normal operation is specified. 0000b o 0000H CRC check calculation result o 701EH Silent interval *1) Calculation of start address In the example, all data of position No.
Modbus Shown below are the screens of IAI’s PC software for RC controllers, indicating how position data changes before and after a query message is sent. 5. Modbus RTU Before a query is sent Fig. 5.4 After a query is sent Fig. 5.5 * The overwritten data is not displayed until the button window is reopened.
Modbus 5.
Modbus 6.
Modbus 6.1 Message Frames (Query and Response) Start Address Function code Data LRC Check End 1 character 2 characters 2 characters n characters 2 characters 2 characters 1 byte 2 bytes 2 bytes nx2 bytes 2 bytes 2 bytes * 1 character is expressed with 1 byte (2 characters) in ASCII code (refer to 6.2 ASCII “Code Table”). (1) Start The Start field is equivalent to the header field and “:” (colon) is used in the ASCII mode. It is expressed as 3AH in ASCII code.
Modbus (4) Data Use this field to add data specified by a function code. It is also allowed to omit data if data addition is not specified by function codes. 6. Modbus ASCII (5) LRC Check In the ASCII mode, an error check field conforming to the LRC method is automatically (*) included in order to check the message content excluding the first colon and CR/LF. Moreover, checking is carried out regardless of the parity check method of individual characters in messages.
Modbus Caution x The sizes of send/receive buffers are set to 256 bytes for the RC controllers, respectively. Make sure to keep the messages small enough such that messages sent from the host side do not exceed the receive buffer and data requests do not exceed send buffer. NULL is added 1 byte Fig.6.2 1 word 181 6. Modbus ASCII x If the number of data items results in an odd number of bytes, caution must be taken for the reasons below.
Modbus 6.2 ASCII Code Table ASCII Code (numbers and characters enclosed with are converted and sent.) Most significant 6.
Modbus 6.3 List of ASCII Mode Queries FC: Function code PIO: Parallel I/O (input/output of an I/O connector) The circle marks in the Simultaneous use with PIO and Broadcast columns indicate queries that can be used simultaneously with PIO and in broadcast communication, respectively.
Modbus FC Function Controller status signal read 2 03 (device status 2) 6.
Modbus FC Function Symbol ZONS 03 Position complete number query POSS 03 Controller status signal read 5 SSSE Force feedback data write Safety speed mode 05 switching 03 FBFC SFTY 05 Servo ON/OFF SON 05 Alarm reset ALRS 05 Brake release BKRL 05 Pause 05 Home return 05 Teaching mode command 05 Jog/inch switching 05 Teaching mode command STP HOME CSTR JISL MOD 05 Position data load TEAC 05 Jog+ JOG+ 05 Jog- JOG- This function reads the following 6 statuses: [1] LS2 (PIO pattern so
Modbus FC Function Position number 05 specification 0 to 7 05 05 6. Modbus ASCII 05 06 10 10 Indeterminable Load cell calibration command Symbol Function This function specifies position numbers ST0 to effective only in the solenoid valve mode. ST7 The actuator can be operated with this command alone. CLBR Calibrate the load cell. This function issues a command to PMSL enable/disable PIO external command signals. This function can decelerate the actuator to Deceleration stop STOP a stop.
Modbus 6.4. Data and Status Reading (queries Using Code 03) 6.4.1 Reading Consecutive Multiple Registers (1) Function These registers read the contents of registers in a slave. This function is not supported in broadcast communication. *) Please refer to “6.2 ASCII Code Table.” 187 6. Modbus ASCII (2) Start address list With RC Series controllers, the sizes of send/receive buffers are set to 256 bytes, respectively.
6. Modbus ASCII Modbus (3) Query format In a query message, specify the address of the register from which to start reading data, and number of bytes in registers to be read. 1 register = 2 bytes = 16-bit data Field Number of characters ASCII mode Remarks (Number of bytes) fixed character string Header 1 ‘:’ Slave address [H] 2 Arbitrary Axis number + 1 (01H to 10H) Function code [H] 2 ‘0’, ‘3’ Register reading code Start address [H] Arbitrary Refer to 6.4.1 (2), “Start 4 address list.
Modbus (5) Sample query A sample query that reads addresses 9000H to 9009H in a RC controller of axis No. 0 is shown below: Query: 01039000000A62 [CR][LF] Field ASCII mode Converted ASCII code fixed character string data [H] Header ‘:’ 3A Slave address [H] ‘0’, ‘1’ 3031 Function code [H] ‘0’, ‘3’ 3033 Start address [H] ‘9’, ‘0’, ‘0’, ‘0’ 39303030 Number of registers [H] ‘0’, ‘0’, ‘0’, ‘A’ 30303041 Error check [H] ‘6’, ‘2’ (in accordance 3632 with LRC calculation) Trailer ‘CR’, ‘LF’ 0D0A 189 6.
Modbus 6.4.2 Alarm Detail Description Reading <> (1) Function This bit reads the alarm codes, alarm detail codes and alarm occurrence time that last occurred. When any alarm is not issued, it is “0H”. [Refer to 4.3.2 (1) to (3) for detail] (2) Query format Field 6.
Modbus (4) Query sample A sample query that reads the contents of last occurred alarm (addresses 0500H to 0505H) of a controller with axis No. 0 is shown below.
Modbus 6.4.3 Total moving count Reading <> (1) Function This bit reads the total moving count. [Refer to Section 4.3.2(8)] (2) Query format Field 6.
Modbus (4) Query sample A sample query that reads the Total moving count (addresses 8400H to 8401H) of a controller with axis No. 0 is shown below.
Modbus 6.4.4 Total moving distance Reading <> (in 0.01 mm units) (1) Function This bit reads the total moving distance in units of 1m. (2) Query format Field 6.
Modbus (4) Query sample A sample query that reads the Total moving distance (addresses 8402H to 8403H) of a controller with axis No. 0 is shown below.
Modbus 6.4.5 Present Time Reading <> (1) Function This bit reads the present time.ᴾ [Dedicated for PCON-CA/CFA and SCON-CA] (2) Query format Field 6.
Modbus ί4ὸᴾ Conversion of Read Data into Time The read data output the current time by the setting on the controller.ᴾ [1] For the models that are equipped with the calendar function (RTC), when RTC is set effective, it shows the time of alarm issuance. [2] When RTC is set ineffective or for the models that is not equipped with RTC, it shows the time [msec] passed since the power to the controller is turned on.
Modbus 6. Modbus ASCII (5) Query sample A sample query that reads the present time of PCON-CA (addresses 8420H to 8421H) of a controller with axis No. 0 is shown below.
Modbus 6.4.6 Total FAN Driving Time Reading <> (1) Function This bit reads the Total FAN driving time (in 1 sec units) [Dedicated for PCON-CFA] (2) Query format Field Header Slave address [H] Number of characters ASCII mode character string (fixed) 1 ‘:’ 2 Arbitrary 2 4 4 ‘0’, ‘3’ ‘8’, ‘4’, ‘2’, ‘E’ Error check [H] Trailer Total number of bytes 2 2 17 LRC calculation result ‘CR’, ‘LF’ ‘0’, ‘0’, ‘0’, ‘2’ (3) Response format A response message contains 16 bits of data per register.
Modbus 6. Modbus ASCII (4) Query sample A sample query that reads the total FAN driving time (addresses 842EH to 842FH) of a controller with axis No. 0 is shown below.
Modbus 6.4.7 Current Position Reading (in 0.01 mm units) Monitor <> (1) Function This query reads the current in units of 0.01 mm. The sign is effective.
Modbus 6. Modbus ASCII (4) Sample query (Axis No. 0) A sample query that reads address 9000H in a controller of axis No. 0 is shown below: Query: 0103900000026A [CR][LF] Field ASCII mode Converted ASCII code fixed character string data [H] Header ‘:’ 3A Slave address ‘0’, ‘1’ 3031 Function code ‘0’, ‘3’ 3033 Start address ‘9’, ‘0’, ‘0’, ‘0’ 39303030 Number of registers ‘0’, ‘0’, ‘0’, ‘2’ 30303032 Error check ‘6’, ‘A’ 3641 Trailer ‘CR’, ‘LF’ 0D0A The response to the query is as follows.
Modbus 6.4.8 Present Alarm Code Query <> (1) Function Whether the controller is normal or any alarm presently detected is indicated by a code. If no alarm is present, 00H is stored. [For details on alarm codes, refer to the operation manual that comes with each controller.
Modbus 6. Modbus ASCII (4) Sample query (Axis No. 0) A sample query that reads address 9002H in an RC controller of axis No. 0 is shown below: Query: 01039002000169 [CR][LF] Field ASCII mode Converted ASCII code fixed character string data [H] Header ‘:’ 3A Slave address ‘0’, ‘1’ 3031 Function code ‘0’, ‘3’ 3033 Start address ‘9’, ‘0’, ‘0’, ‘2’ 39303032 Number of registers ‘0’, ‘0’, ‘0’, ‘1’ 30303031 Error check ‘6’, ‘9’ 3639 Trailer ‘CR’, ‘LF’ 0D0A The response to the query is as follows.
Modbus 6.4.9 I/O Port Input Signal Status Reading <> (1) Function Port input values of the RC controller are read directly regardless of the PIO pattern. Note that the values are the states of ports recognized by the RC controller as inputs.
Modbus 6. Modbus ASCII (4) Sample query (Axis No. 0) A sample query that reads input ports (address 9003H) in a controller of axis No. 0 is shown below.
Modbus (5) Port assignment [For details, refer to the operation manual that comes with each RC controller.] Write the port assignment of PIO patterns to each RC controller. 0 indicates that response data is always 0.
Modbus 6.
Modbus 6.4.10 I/O Port Output Signal Status Reading <> (1) Function Port output values of the RC controller are stored directly regardless of the PIO pattern.
Modbus 6. Modbus ASCII (4) Sample query (Axis No. 0) A sample query that reads input ports (address 9004H) in a controller of axis No. 0 is shown below.
Modbus (5) Port assignment [For details, refer to the operation manual that comes with each RC controller.] Write the port assignment of PIO patterns to each RC controller. 0 indicates that response data is always 0.
6.
Modbus 6.4.11 Controller Status Signal Reading <> (1) Function This query reads the internal status of the controller. [Refer to 4.3.2 (12), “Data of device status register 1”.
Modbus 6. Modbus ASCII (4) Sample query A sample query that reads the device status (address 9005H) in a controller of axis No. 0 is shown below.
Modbus 6.4.12 Controller Status Signal Reading 2 <> (1) Function This query reads the internal status 2 of the controller. [Refer to 4.3.2 (13), “Data of device status register 2.
Modbus 6. Modbus ASCII (4) Sample query A sample query that reads the device status 2 (address 9006H) in a controller of axis No. 0 is shown below.
Modbus 6.4.13 Controller Status Signal Reading 3 <> (1) Function Internal statuses (expansion device) of the controller are indicated. [Refer to 4.3.2 (14), “Data of expansion device status registers.
Modbus 6. Modbus ASCII (4) Sample query A sample query that reads the expansion device status (address 9007H) in a controller of axis No. 0 is shown below.
Modbus 6.4.14 Controller Status Signal Reading 4 <> (1) Function This query reads the internal operation status of the controller. [Refer to “4.3.2 (15) Data of system status register.
Modbus 6. Modbus ASCII (4) Sample query A sample query that reads the system status (address 9008H) in a controller of axis No. 0 is shown below.
Modbus 6.4.15 Current Speed Query <> (1) Function The monitored data of actual motor speed is indicated. The value becomes positive or negative depending on the operating direction of the motor. The unit is 0.01 mm/sec.
Modbus 6. Modbus ASCII (4) Sample query A sample query that reads the speed (address 900AH) of a controller of axis No. 0 is shown below.
Modbus 6.4.16 Current Ampere Reading <> (1) Function The monitored data of motor current is indicated in mA. The torque current command value is stored.
Modbus 6. Modbus ASCII (4) Sample query A sample query that reads the current ampere value (address 900CH) of a controller of axis No. 0 is shown below.
Modbus 6.4.17 Deviation Reading <> (1) Function This query reads the deviation over a 1-ms period between the position command value and the feedback value (actual position). The unit is pulse. The number of pulses per one motor revolution in mechanical angle varies depending on the encoder used.
Modbus 6. Modbus ASCII (4) Sample query A sample query that reads the deviation (address 900EH) of a controller of axis No. 0 is shown below.
Modbus 6.4.18 Total Time after Power On Reading <> (1) Function This query reads the total time since the controller power was turned on. The unit is ms. This value is not cleared by a software reset.
Modbus 6. Modbus ASCII (4) Sample query A sample query that reads the startup time (address 9010H) of a controller of axis No. 0 is shown below.
Modbus 6.4.19 Special Input Port Input Signal Status Query <> (1) Function This query reads the status of input ports other than the normal input port. [Refer to 4.3.2 (16), “Data of special input port monitor registers” for the data input via the special input port.
Modbus 6. Modbus ASCII (4) Sample query A sample query that reads the special input port (address 9012H) of a controller of axis No. 0 is shown below.
Modbus 6.4.20 Zone Output Signal Status Reading <> (1) Function This query reads the status of zone output. [Refer to 4.3.2 (17), “Data of zone status registers.
Modbus 6. Modbus ASCII (4) Sample query A sample query that reads the zone status (address 9013H) of a controller of axis No. 0 is shown below.
Modbus 6.4.21 Position Complete Number Query <> (1) Function This query reads the position complete number. [Refer to “4.3.2 (18) Data of position number status register.
Modbus 6. Modbus ASCII (4) Sample query A sample query that reads the position complete (address 9014H) of a controller of axis No. 0 is shown below.
Modbus 6.4.22 Controller Status Signal 5 <> (1) Function This query reads the internal operation status of the controller. [Refer to 4.3.2 (19), “Data of expansion system status register.
Modbus 6. Modbus ASCII (4) Query sample A sample query that reads the expansion system status register (address 9015H) of a controller of axis No. 0 is shown below.
Modbus 6.4.23 Force Feedback Data Read <> --- SCON-CA Only (1) Function The monitored data of load cell measurement (push force) is read. The unit is 0.01 N. (2) Query format Field ASC II mode character string (fixed) ‘:’ Arbitrary ‘0’, ‘3’ ‘9’, ‘0’, ‘1’, ‘E’ ‘0, ‘0, ‘0’, 2’ LRC calculation result ‘CR’, ‘LF’ (3) Response format A response message contains 16 bits of data per register.
Modbus 6. Modbus ASCII (4) Query sample An example of use is shown, where the current measurement on the load cell connected to controller axis 0 is read.
Modbus 6.5 6.5.1 Operation Commands and Data Rewrite (Query Using Code 05) Writing to Coil *) Please refer to “6.2 ASCII Code Table.” (1) Function Change (write) the status of DO (Discrete Output) of a slave to either ON or OFF. In case of broadcast transmission, the coils at the specified address of all slaves are rewritten.
Modbus 6.5.2 Safety Speed Enable/Disable Switching (SFTY) (1) Function This query enables/disables the speed specified by user parameter No. 35, “Safety speed.” Enabling the safety speed in the MANU mode will limit the speeds of all movement commands. 6.
Modbus (4) Sample query A sample query that enables the safety speed of a controller of axis No. 0 is shown below.
Modbus 6.5.3 Servo ON/OFF <> (1) Function Control ON/OFF of the servo. When “Servo ON” is specified by the new data, the servo will turn ON after elapse of the manufacturer parameter “Servo ON delay time.” However, the following conditions must be satisfied: x The EMG status bit in device status register 1 is 0. x The major failure status bit in device status register 1 is 0. x The enable status bit in device status register 2 is 1. x The auto servo OFF status in the system status register is 0. 6.
Modbus (4) Sample query A sample query that turns the servo of a controller of axis No. 0 on is shown below.
Modbus 6.5.4 Alarm Reset <> (1) Function When the alarm reset edge is turned on (the data is first set to FF00H and then changed to 0000H), alarms will be reset. If any alarm cause has not been removed, the same alarm will be generated again. If the alarm reset edge is turned on while the actuator is paused, the remaining travel will be cancelled. When alarms are reset, make sure to write changed data of 0000H to restore the normal status. 6.
Modbus If the change is successful, the response message will be the same as the query. 245 6. Modbus ASCII (4) Query sample A sample query that resets the alarms of a controller of axis No. 0 is shown below.
Modbus 6.5.5 Brake Forced Release <> (1) Function Brake control is linked to servo ON/OFF. The brake can be forcefully released even when the servo is ON. 6.
Modbus (4) Sample query A sample query that forcefully releases the brake of a controller of axis No. 0 is shown below.
Modbus 6.5.6 Pause <> (1) Function If the pause command is transmitted during movement, the actuator decelerates and stops. If the status is set back to normal again, the actuator resumes moving for the remaining distance. As long as the pause command is being transmitted, all motor movement is inhibited. If the alarm reset command bit is set while the actuator is paused, the remaining travel will be cancelled.
Modbus (4) Sample query A sample query that pauses a controller of axis No. 0 is shown below.
Modbus 6.5.7 Home return <> (1) Function Home return operation will start if a rising edge in the home return command signal is detected (the data is first set to 0000H and then changed to FF00H). Once the home return is completed, the HEND bit will become 1. This command can be input as many times as desired even after home return has been completed once. 6.
Modbus If the change is successful, the response message will be the same as the query. 251 6. Modbus ASCII (4) Sample query A sample query that executes home return operation of a controller of axis No. 0 is shown below.
Modbus 6.5.8 Positioning Start Command <> 6. Modbus ASCII (1) Function If the rising edge of the positioning start command is detected (the data is first set to FF00H and then changed to 0000H), the actuator will move to the position specified by the position number stored in the position number specification register (POSR:0D03H).
Modbus If the change is successful, the response message will be the same as the query. 253 6. Modbus ASCII (4) Sample query A sample query that moves the actuator of a controller of axis No. 0 to the position specified by the position number stored in the position number specification register (POSR:0D03H) is shown below.
Modbus 6.5.9 Jog/Inch Switching <> (1) Function This bit switches between jogging and inching. If this bit switches while the actuator is jogging, the actuator will decelerate to a stop. If this bit switches while the actuator is inching, the inching movement will continue. 6.
Modbus (4) Sample query A sample query that switches the operation of a controller of axis No. 0 to inching is shown below.
Modbus 6.5.10 Teaching Mode Command <> (1) Function This bit switches between the normal operation mode and teaching mode. 6.
Modbus (4) Sample query A sample query that switches the operation mode of a controller of axis No. 0 to teaching mode is shown below. Query: 01 05 04 14 FF 00 E3 Field ASCII mode 8-bit data Converted ASCII code data [H] Start ‘:’ 3A Slave address [H] ‘0’, ‘1’ 3031 Function code [H] ‘0’, ‘5’ 3035 Start address [H] ‘0’, ‘4’, ‘1’, ‘4’ 30343134 Changed data [H] ‘F’, ‘F’, ‘0’, ‘0’ 46463030 Error check [H] ‘E’, ‘3’ (In accordance with LRC calculation) 4533 End ‘CR’, ‘LF’ 0D0A 257 6.
Modbus 6.5.11 Position Data Load Command <> (1) Function The current position is acquired by writing this command (write FF00H) when the teaching mode command (6.5.10) is FF00H (teaching command). The current position data will be written in the position number specified by the position number specification register when the aforementioned condition was detected.
Modbus (4) Sample query A sample query that acquires the current position when a controller of axis No. 0 is in the teaching mode is shown below. Query: 01 05 04 15 FF 00 E2 Field ASCII mode 8-bit data Converted ASCII code data [H] Start ‘:’ 3A Slave address [H] ‘0’, ‘1’ 3031 Function code [H] ‘0’, ‘5’ 3035 Start address [H] ‘0’, ‘4’, ‘1’, ‘5’ 30343135 Changed data [H] ‘F’, ‘F’, ‘0’, ‘0’ 46463030 Error check [H] ‘E’, ‘2’ (In accordance with LRC calculation) 4532 End ‘CR’, ‘LF’ 0D0A 259 6.
Modbus 6.5.12 Jog+ Command <> 6. Modbus ASCII (1) Function x The actuator performs either jog or inching operation. If the jog+ command (changed data FF00H) is sent when the jog/inch switching command (6.5.9) is set to 0000H (set to jog), the actuator will jog in the direction opposite home. The speed and acceleration/deceleration speed conform to the PIO jog speed set by user parameter No. 26 and rated acceleration/deceleration speed, respectively.
Modbus (4) Sample query [1] A sample query that makes a controller of axis No. 0 jog is shown below.
Modbus 6.5.13 Jog- Command <> 6. Modbus ASCII (1) Function x The actuator performs either jog or inching operation. If the jog- command (changed data FF00H) is sent when the jog/inch switching command (6.5.9) is set to 0000H (set to jog), the actuator will jog in the direction of home. The speed and acceleration/deceleration speed conform to the PIO jog speed set by user parameter No. 26 and rated acceleration/deceleration speed, respectively.
Modbus (4) Sample query [1] A sample query that makes a controller of axis No. 0 jog is shown below.
Modbus 6.5.14 Start Positions 0 to 7 <> (Limited to PIO Patterns 4 and 5) 6. Modbus ASCII (1) Function The actuator moves to the specified position number position. The movement command for start positions 0 to 7 is effective only when PIO pattern 4 or 5 (solenoid valve mode) is selected. The movement command is sent by enabling either one of ST0 to ST7 in “6.5.14 (5) Start address” (write new value FF00H when 0000H is set).
Modbus (4) Query sample A sample query that moves a controller of axis No. 0 to start position 2 is shown below.
Modbus 6.5.15 Load Cell Calibration Command <> --- A dedicated load cell must be connected. (1) Function --- SCON-CA only The dedicated load cell is calibrated. The factory setting of your load cell is that the ON status corresponds to a no-load state. If you want to define the reference state as a condition where a work part (load) is installed, calibrate the load cell. Also calibrate the load cell in other situations as necessary (readjustment, inspection, etc.). 6.
Modbus Input is recognized after the signal remains ON for 20 ms*1. CLBR Calibration time*2 Turn OFF the CLBR after confirming that the CEND has turned ON. When the calibration was successful, the CEND turns ON. While the CLBR is OFF, the CEND remains OFF. *2 If the CLBR is turned OFF during this period, calibration will not be performed because the signal is not yet recognized as having been input. If the CLBR is turned OFF during this period, an alarm will generate.
Modbus 6.5.16 PIO/Modbus Switching Setting <> (1) Function PIO external command signals can be enabled or disabled. 6.
Modbus (4) Response If the change is successful, the response message will be the same as the query. If invalid data is sent, an exception response (refer to section 7) will be returned, or no response will be returned. If the change is successful, the response message will be the same as the query. 269 6. Modbus ASCII (5) Query sample A sample query that enables the Modbus command of the operation of a controller of axis No. 0 is shown below.
Modbus 6.5.17 Deceleration Stop <> (1) Function The actuator will start decelerating to a stop upon detection of the deceleration stop command (write FF00H) rising edge. 6.
Modbus (4) Sample query A sample query that sends the deceleration stop command to a controller of axis No. 0 is shown below. Query: 01 05 04 2C FF 00 CB Field ASCII mode 8-bit data Converted ASCII code data [H] Start ‘:’ 3A Slave address [H] ‘0’, ‘1’ 3031 Function code [H] ‘0’, ‘5’ 3035 Start address [H] ‘0’, ‘4’, ‘2’, ‘C’ 30343243 Changed data [H] ‘F’, ‘F’, ‘0’, ‘0’ 46463030 Error check [H] ‘C’, ‘B’ (In accordance with LRC calculation) 4342 End ‘CR’, ‘LF’ 0D0A 271 6.
Modbus 6.6 6.6.1 Control Information Direct Writing (Queries Using Code 06) Writing to Registers *) Please refer to “6.2 ASCII Code Table.” 6. Modbus ASCII (1) Function These queries change (write) data in registers of a slave. In case of broadcast, data of registers of the same address of all slaves is changed. [Refer to the details of device controller register 1 in 4.3.2 (5).] [Refer to the details of device controller register 2 in 4.3.2 (6).
Modbus (4) Response If the change is successful, the response message will be the same as the query. If invalid data is sent, an exception response (refer to section 7) will be returned, or no response will be returned. 273 6. Modbus ASCII (3) Query format Specify the address and data of the register whose data is to be changed in the query message. Data to be changed shall be specified as 16-bit data in the changed data area of the query.
6. Modbus ASCII Modbus (5) Query sample Examples of different operations are shown in [1] to [3] below. [1] A sample query that turns the servo of a controller of axis No. 0 on and then executes home return operation is performed.
Modbus Note As soon as a position number is written to this register, the actuator starts moving. The CSTR (start signal) is not required. A response message to be sent following a successful change should be the same as the query. [3] Move to position No. 1 using the position number specification register (address 0D03H). Before this operation, perform the operation in example [1] above to complete a home return. Query (Silent intervals are inserted before and after the query.
Modbus 6.7 Positioning Data Direct Writing (Queries Using Code 10) 6. Modbus ASCII 6.7.1 Numerical Value Movement Command *) Please refer to “6.2 ASCII Code Table.” (1) Function Specify the target position in PTP positioning operation using absolute coordinates. It is possible to command the actuator to move via numerical values by writing directly to the group of registers at addresses from 9900H to 9908H (can be set in one message).
Modbus (3) Query format 1 register = 2 bytes = 16-bit data Field Number of characters (number of bytes) 1 2 Function code [H] Start address [H] 2 4 Number of registers [H] 4 Number of bytes [H] 2 Changed data 1 [H] 4 Changed data 2 [H] 4 Changed data 3 [H] 4 : Error check [H] : 2 Trailer Total number of bytes 2 Up to 256 Remarks Axis number + 1 (01H to 10H) 00H if broadcast is specified ‘1’, ‘0’ Numerical value specification Arbitrary Refer to 6.7.1.
Modbus (5) Detailed explanation of registers 6. Modbus ASCII Target position specification register (PCMD) This register specifies the target position in PTP positioning operation using absolute coordinates. The value of this register is set in units of 0.01 mm in a range of –999999 to 999999 (FFF0BDC1(Note) to 00F423FH). When the absolute coordinate is indicated, operation starts with 0.
Modbus Acceleration/deceleration specification register (ACMD) This register specifies the acceleration or deceleration. The value of this register is set in units of 0.01 G in a range of 1 to 300 (1 to 012CH). If the specified value exceeds the maximum acceleration or deceleration set by a parameter, an alarm will generate the moment a movement start command is issued. The actuator will start moving when this register is rewritten.
Modbus Control Flag Specification Register (CTLF) Set the method of operation. If push-motion operation or incremental operation (pitch feed) is selected, set this register every time a movement command is issued. (This is because the register will be overwritten with the default value every time the actuator moves.) CTLF bit structure 06% 06% /1& /1& )5. )5. +0% &+4 275* .
Modbus Bit 4 (GSL0), 5 (GSL1) = Refer to the table below. (These bits can be set only on SCON-CA/CFA controllers.) GSL1 GSL0 Function 0 0 Select parameter set 0 (default). 0 1 Select parameter set 1 1 0 Select parameter set 2 1 1 Select parameter set 3 You can register a maximum of four servo gain parameter sets consisting of six parameters and move the actuator to each position by selecting a different parameter set every time. [For details, refer to the operation manual for your controller.
Modbus (6) Example of use Examples of different operations are shown in [1] to [7] below. [1] Move by changing the target position. (All data other than the target position are the default values of their respective parameters.) Conditions: The operation conditions conform to the default speed, default acceleration/deceleration and default positioning band set by the controller’s user parameters. Only the target position is changed to move the actuator.
Modbus [2] Move by changing the target position. (as well as data other than the target position). Conditions: Want to move the actuator by changing the target position, speed and acceleration/deceleration every time.
Modbus [3] Change the speed while the actuator is moving. Conditions: Change the target position, speed and acceleration/deceleration each time the actuator is moved, with the actuator speed changed at a given time during movement. Write the target position specification register (9900H) through acceleration/deceleration specification register (9906H)(Example 2) 6.
Modbus (Example 3) Change the speed from 100 mm/s to 50 mm/s while the actuator is moving. Target position [mm] 50 Positioning band [mm] 0.1 Acceleration/ deceleration [G] 0.3 Speed [mm/s] 100 o 50 Push [%] Control flag Need not be set. (1) Start the movement at a speed of 100 mm/s. [Refer to Example [2], “Move by changing the speed” above.
Modbus [4] Move in the incremental (pitch feed) mode. Conditions: The operation conditions conform to the default speed, default acceleration/deceleration and default positioning band set by the controller’s user parameters. Only the pitch width is changed to move the actuator. Write the target position specification register (9900H) through control flag specification register (9908H: Incremental setting) (Example 4) 6.
Modbus (Example 4) Move in the incremental mode by setting the pitch to 10 mm. Pitch [mm] Positioning band [mm] Speed [mm/s] Acceleration/ deceleration [G] Push [%] Control flag 10 0.1 100 0.3 0 Incremental (bit3 = 1) Query: 01 10 9900 0009 12 0000 03E8 0000 000A 0000 2710 001E 0000 0008 E9[CR][LF] Response: 01 10 9900 0009 4D[CR][LF] -- The query message is copied, except for the number of bytes and new data, and returned as a response.
Modbus [5] Change the speed during incremental movement (pitch feed). Conditions: Change the target position, speed and acceleration/deceleration each time the actuator is moved, with the positioning band changed at a given timing during movement. Write the target position specification register (9900H) through control flag specification register (9908H: Incremental setting) (Example 4) 6.
Modbus (Example 5) Change the speed from 100 mm/s to 50 mm/s while the actuator is moving. Pitch [mm] Positioning band [mm] Speed [mm/s] Acceleration/ deceleration [G] Push [%] Control flag 10 0.1 100 o 50 0.3 0 Incremental (bit3 = 1) (1) Start moving at a speed of 100 mm/s. [Refer to Example [4], “Moving in the incremental (pitch feed) mode” above.
Modbus [6] Perform a push-motion operation. (changing pushing force during push-operation) Conditions: Perform push-motion operation by changing the push force at a desired timing while the actuator is pushing the work part. Write the target position specification register (9900H) through control flag specification register (9908H: Push-motion setting) (Example 6) Start push-motion operation 6.
Modbus (Example 6) Perform a push-motion operation for 20 mm from the 50-mm position at a Target position [mm] current-limiting value of 70%. Positioning Speed band [mm/s] [mm] 50 20 Acceleration/ deceleration [G] Push [%] Control flag 0.
Modbus (Example 7) Change the push current limit from 70% to 50% during a push-motion operation. Target position [mm] Positioning band [mm] Speed [mm/s] 50 20 100 Acceleration/ deceleration [G] Push [%] Control flag 0.3 70 o 50 Push-motion operation (bit1 = 1, bit2 = 1) 6. Modbus ASCII Query: 01 10 9907 0002 04 007F 0006 C4[CR][LF] Response: 01 10 9907 0002 4D[CR][LF] --- The query message is copied, except for the number of bytes and new data, and returned as a response.
Modbus [7] Note (changing positioning band during movement) The positioning band cannot be changed while the actuator is moving. Conditions: Change the target position, speed and acceleration/deceleration each time the actuator is moved, with the positioning band changed at a given timing during movement. (Cannot be changed. If data is written, the data is reflected in the next positioning.
Modbus 6.7.2 Writing Position Table Data 6. Modbus ASCII (1) Function Position table data can be changed using this query. Every time an access is made to the start address list (address +0000H to +000EH), it is read out of the non-volatile memory in the unit of 1 position data, and gets stored to the non-volatile memory after the writing is executed. * The number of times allowed to write to EEPROM is limited to approximately 100, 000 times due to device restriction.
Modbus (3) Query format 1 register = 2 bytes = 16-bit data Header Slave address [H] ‘:’ Arbitrary Function code [H] Start address [H] Number of registers [H] Number of bytes [H] ‘1’, ‘0’ Arbitrary Arbitrary In accordance with the above registers Changed data 1 [H] Changed data 2 [H] Changed data 3 [H] : Error check [H] Trailer Total number of bytes LRC calculation result ‘CR’, ‘LF’ Number of characters (Number of bytes) 1 2 2 4 4 2 4 4 4 : 2 Remarks Axis number + 1 (01H to 10H) 00H when broadcast i
Modbus (5) Detailed explanation of registers 6. Modbus ASCII Target Position (PCMD) This register specifies the target position using absolute coordinates or by an relative distance. The value of this register is set in units of 0.01 mm in a range of -999999 to 999999 (FFF0BDC1(Note) to 000F423FH). When the absolute coordinate is indicated, operation starts with 0.2mm in front (Note 2) of the soft limit setting value as the target position if the setting of the parameter exceeds the soft limit.
Modbus Deceleration specification register (ACMD) This register specifies the deceleration during positioning. The value of this register is set in units of 0.01 G in a range of 1 to 300 (1 to 012CH). If the specified value exceeds the maximum deceleration set by a parameter, an alarm will generate the moment a movement start command is issued. Sample push-motion current setting z When setting the current to 20% 256 (100%) x 0.2 (20%)= 51.
Modbus (6) Sample query A sample query that rewrites all data of position No. 12 of axis No. 0 is shown below. Axis No. 0 Target position (mm) Positioning band (mm) Speed (mm/sec) Individual zone boundary+ (mm) Individual zone boundary(mm) Acceleration (G) Deceleration (G) Push (%) Threshold Movement control 100 0.1 200 60 40 0.01 0.3 0 0 Normal movement 6.
Modbus Field Converted ASCII code data [H] Remarks ‘0’, ‘0’, ‘0’, ‘0’ 30303030 All upper bits of the 32-bit data are 0. ‘0’, ‘F’, ‘A’, ‘0’ 30464130 40 (mm) x 100 = 4000 o 0FA0H ‘0’, ‘0’, ‘0’, ‘1’ 30303031 0.01 (G) x 100 = 1 o 0001H ‘0’, ‘0’, ‘1’, ‘E’ 30303145 0.3 (G) x 100 = 30 o 001EH ‘0’, ‘0’, ‘0’, ‘0’ 30303030 0 (%) o 0H ‘0’, ‘0’, ‘0’, ‘0’ 30303030 0 (%) o 0H ‘0’, ‘0’, ‘0’, ‘0’ 30303030 ‘E’, ‘E’ ‘CR’, ‘LF’ 79 4545 0D0A All bits are 0 in the normal operation mode.
Modbus Shown below are the screens of IAI’s PC software for RC controller, indicating how position data changes before and after a query message is sent. 6. Modbus ASCII Before a query is sent Fig. 6.4 After a query is sent Fig. 6.5 * The overwritten data is not displayed until the button reopened.
Modbus 7 Troubleshooting 7.
Modbus 7.1 Responses at Errors (Exception Responses) In each query (command), except for a broadcast query message, the master issues a query by expecting a “successful” response(response), and the applicable slave must return a response to the query. If the query is processed successfully, the slave returns a “successful” response. If an error occurs, however, the slave returns an exception response. 7.
Modbus Example of exception response generation (Sample query message using Read Input Status) Field Header Slave address Function code Start address [H] Start address (L) Number of DIs [H] Number of DIs (L) Error check Trailer Sample value [Hex] ASCII mode character string ‘:’ ‘0, ’ ‘3’ ‘0, ’ ‘2’ ‘0, ’ ‘4’ ‘A, ’ ‘1’ ‘0, ’ ‘0’ ‘1, ’ ‘4’ LRC (2 characters) CR/LF 17 03H 02H 04H A1H 00H 14H Total bytes RTU mode 8 bits [Hex] None 03H 02H 04H A1H 00H 14H CRC (16 bits) None 8 If input status 04A1H does not e
Modbus Example) Query function code “02H” (00000010b) o Exception response function code “82H” (10000010b) Exception codes The table below lists the exception codes that may generate in RC Series controllers, as well as the contents of respective codes. 7. Troubleshooting Code [Hex] 01H Exception code Illegal Function 02H Illegal Data Address 03H Illegal Data Value 04H Slave Device Failure Function Remarks Indicates that the function is invalid.
Modbus 7.2 Notes x When referencing registers using Modbus functions, registers belonging to multiple categories cannot be read simultaneously using a single message. To reference registers belonging to multiple categories, read them using multiple messages by classifying the corresponding addresses by category. x The explanations in this specification apply commonly to RC controller Series models supporting “Protocol M.
Modbus 7.3 When Communication Fails Select an applicable item and perform the processing enclosed with . The specific processing details are explained after the flowchart; check the details indicated by the * symbol. { = Yes, X = No Symptom: Cannot communicate normally! Was communication possible until now? 7. Troubleshooting Cannot communicate with all controllers? Cannot communicate with any controllers.
Modbus Continued from the previous page Did the problem occur after moving facilities? Occurred after moving facilities o (1) Disconnection of communication cables o Fix disconnection (2) Loosening of connectors for communication cables o Check connection (3) Wrong control communication speed setting o Refer to "3.2.
Modbus Continued from the previous page Cannot communicate with specific controllers. [1] Wrong wiring of communication cables between controllers and junction o Check wiring *3 [2] Device power supply error o Check power supply voltage o Check that the 0 V line is used commonly for all devices o Use the 0 V line commonly for all devices.
Modbus *1 Connect a PC to the host following the procedure explained in sections 3.1, 3.2 and 3.3. [1] Start the PC software. [2] Select [Application Setting] from the [Setting] menu. Check that the port is set to the port number of the PC used and that the last axis number is set to a value larger than the number of connected axes in the Communication Setting window. (If any settings are wrong, correct the settings and then restart the PC for RC.) Select [Application Setting] from the [Setting] menu.
Modbus [3] Select [Edit/Teach] from the [Position] menu. The Position Data Edit Axis Selection window appears, displaying the connected axes. Axes for which connected axis numbers are displayed can communicate normally. Select [Edit/Teach] from the [Position] menu. 7. Troubleshooting Fig.9.3 Check that all axis numbers connected are displayed. In this case, the first axis is normal but others are abnormal. Fig. 9.4 *2 *3 *4 *5 Refer to section 3.6 to decrease the communication speed.
Modbus *6 *7 Refer to section 3.6 to check the communication speed setting again. Set the same communication speed for all RC controllers as well as the host. Check (2) in *5. Wire communication cables such that they do not run in parallel with power cables and cables that send pulse signals. Check that the communication cable is properly shielded (recommendation: 1-point ground).
7.
Modbus 8 Reference Materials 8.
Modbus 8.1 CRC Check Calculation 8. Reference Materials Sample C functions used for CRC calculation are shown below. They are equivalent to the CRC calculation functions stated in the published Modbus Protocol Specification (PI-MBUS-300 Rev. J).
Modbus 8.
Modbus 8.2 Configuration of Systems that Use both SIO and PIO It is possible to monitor the current position and other values via the SIO (communication) by running the RC controller with PIO. All queries that use function code 03 for either RTU and ASCII can be monitored. Set PIO/Modbus switching (section 5.4.16 or 6.5.16) to the PIO side and, in case of RC controllers equipped with a mode switch, set the switch to AUTO. The following RC controller models can use both PIO and SIO.
Modbus Example 2 of system configuration that uses both SIO and PIO Serial unit connection cables Note that the pin assignment differs for each PLC: please refer to the operation manual that is supplied with the PLC in question (prepared by the customers). Master/ host Connected to I/O units (Female) Select either RS232C or RS485 depending on the serial unit to be used.
Modbus Change History Revision Date May 2010 October 2011 Released Rev. 4. x Added “Safety Guide.” x Added SCON-CA to the supported models. (Added the load cell calibration command, complete and measurement read commands and registers.) x Readjusted the specification of query 06. x Readjusted the specification of query 10. Released Rev. 5. x SCON-CA added to applicable models (Load cell calibration command, complete, calculated value reading command and register added) Released Rev. 6.
Modbus 319
Manual No.: ME0162-6A (December 2012) Head Office: 577-1 Obane Shimizu-KU Shizuoka City Shizuoka 424-0103, Japan TEL +81-54-364-5105 FAX +81-54-364-2589 website: www.iai-robot.co.jp/ Technical Support available in USA, Europe and China Head Office: 2690 W.