TPM. 106-M304T Programming Manual. Motionnet. Version: V A14. Part No.: 81-16MENT0-014

Similar documents
Differences between PCL-240MK and PCL-240MS

Motors Automation Energy Transmission & Distribution Coatings. Servo Drive SCA06 V1.5X. Addendum to the Programming Manual SCA06 V1.

Acceleration/Velocity/Displacement VIBRATION METER

ISSP User Guide CY3207ISSP. Revision C

Acceleration, Velocity, Separate probe VIBRATION METER Model : VB-8202

SC125MS. Data Sheet and Instruction Manual. ! Warning! Salem Controls Inc. Stepper Motor Driver. Last Updated 12/14/2004

Installation and Operation Manual. AllSync Plus Wired Clocks

E2T0 DVP

Data Sheet, Rev. 1.5, Sept TLE4209G. Automotive Power

Remote Display Unit. Installers Handbook Copyright 2001 AirSense Technology Ltd. LM Remote Display Unit Installers Handbook Issue 1.

DC Motor Driver for Servo Driver Applications

CHV Series Vector Control Inverter Options. Operating Instructions for Tension Control Card

OPERATION MANUAL. 3 in 1, IR, Type K/J/R/E/T, Pt 100 ohm THERMOMETER. Model : TM-2000

QUANTUM CONCEPT. Swimming User s Manual

AN2044 APPLICATION NOTE

Safety Precautions WARNING If critical situations that could lead to user s death or serious injury is assumed by mishandling of the product.

VIBRATION TACHOMETER OPERATION MANUAL. 3 in 1. Model : VT Your purchase of this

(Cat. No CFM) Product Data

VIBRATION METER. Instruction Manual.

Minute Impulse Clock Controller I01DN

XR Analog Clock - Manual Setting Model Troubleshooting Guide

UNIWERSAŁ observatory dome

WeatherHub2 Quick Start Guide

SERIALLY PROGRAMMABLE CLOCK SOURCE. Features

Double Inverted Pendulum (DBIP)

Lab 3: Quanser Hardware and Proportional Control

NINE CHOICE SERIAL REACTION TIME TASK

O P E R A T I N G M A N U A L

CiA Draft Standard Proposal CANopen. Application Profile for Lift Control Systems. Part 2: Virtual device definitions

PAX2S Modbus Register Table REVISED 2/20/12 LP0894A

user's manual nx frequency converters resolver option board opt-bc

SimpleDreamEQ2. Upgrade kit equatorial mounts Synta EQ2, Celestron CG3. User guide. Micro GoTo system. Micro GoTo system

Calibration Routine. Store in HDD. Switch "Program Control" Ref 1/ Ref 2 Manual Automatic

Pascal ET is an handheld multifunction calibrator for the measurement and simulation of the following parameters: - pressure

Eppendorf BioSpectrometer 6135/6136/6137

PC Card (PCMCIA) Interface Switch

SKF actuators available for quick delivery. Selection guide

In-System Serial Programming (ISSP) Guide

Technical Description

0501 Users Guide. Chapter I Characteristic

DMX-controlled motorised shutters

Orbit Support Pack for Excel. user manual

VFD- RoHS Compliant M0116MY-161LSBR2-1. User s Guide. (Vacuum Fluorescent Display Module) For product support, contact

Single cam type. Double cam type. Grip force N. Type Model/size Stroke Screw type straight style. Screw type tee style

MM74C912 6-Digit BCD Display Controller/Driver

GE Fanuc Automation. Alpha i Series AC Servo Motor. Computer Numerical Control Products. Parameter Manual

TOPCNC TC55V Instruction Manual

AKD SYSTEM CONFIGURATION WITH KOLLMORGEN DDL LINEAR MOTORS By Kenny Hampton 1/12/2017 Rev. L

St art. rp m. Km /h 1: : : : : : : : : : : : :5 2.5.

Data Bulletin. SEPAM 49RMS Application Note Protection for Motor Applications Class Number SEPAM 49RMS Protection for Motor Applications

Drive Control Instructions

VELA. Getting started with the VELA Versatile Laboratory Aid. Paul Vernon

Bright Advance Corporation

AIR CONDITIONER (SPLIT TYPE) SERVICE MANUAL

Elcometer 116C. Sling Hygrometer. Operating Instructions

PC Card (PCMCIA) Dual Interface Switch

DriveScope System. Operating Manual. ScopeCraft, Inc E. Red Cliffs Dr. Kanab, UT Rev.

In-System Serial Programming (ISSP) Guide

Free fall with an interface system

Training Path FNT IT Infrastruktur Management

VIBRATION METER Acceleration & Velocity Model : VB-8201HA

OPERATION MANUAL. Acceleration, Velocity RMS measurement, Metric & Imperial unit PEN VIBRATION METER Model : PVB-820

MAN-SGY-012-V11 EC 5195 Fairford Electronics Ltd - Synergy Modbus RTU Programming Manual - 22nd February 2016 Page 1 of 59.

OPERATING MANUAL. EIB-Kombisensor AS 315 N

TOPCNC TC55V Instruction Manual.

Differential Pressure Sensor

In-System Serial Programming (ISSP) Guide

TPM(A) Quick Startup Guide SIEMENS SINAMICS S120

E6C-N. Ideal for Out-of-step Detection of Stepping Motors and Position Control of Rotors and Unloaders

LOGIC CIRCUITS. Basic Experiment and Design of Electronics. Ho Kyung Kim, Ph.D.

Grabber. Technical Manual

32 Input AC Block I/O Module

OPERATION MANUAL. Acceleration, Velocity RMS measurement, Metric & Imperial unit PEN VIBRATION METER Model : PVB-820

Hands-on Lab 3. System Identification with Experimentally Acquired Data

ShowCUBE. ShowCUBE DMX RGBWA+UV Eternal Lighting Updated 01/2015

Administrivia. Course Objectives. Overview. Lecture Notes Week markem/cs333/ 2. Staff. 3. Prerequisites. 4. Grading. 1. Theory and application

4 - Way Acceptance Low Maintenance Easy Installation Re - Programmable Flash ROM Auto Self -Adjusting Sensor System

EDP-AM-DIO54 Digital IO Module User Manual. This document contains information on the DIO54 digital IO module for the RS EDP system.

Electric amplifiers. RE 30044/02.12 Replaces: Type VT-VRPA X/V0/RTS-2STV. Component series 2X 1/8

ArcGIS Earth for Enterprises DARRON PUSTAM ARCGIS EARTH CHRIS ANDREWS 3D

Assembly and Operation Manual. April 2016

Mini Environmental Quality Meter

A clock designed in close consultation with people living with Dementia.

MKIII -MB USER S GUIDE 09/18/18. Rev. 3

AlphaLab Gaussmeter Model VGM -- Instructions

BASIC ELECTRICITY STUDY COURSE

Electrical safety testing Checklist

xlogic SuperRelay is a compact and expandable CPU replacing mini PLCs, multiple timers, relays and counters.

High Resolution High Sensitivity SDR Super Wide Dynamic Camera

5.0 V 256 K 16 CMOS SRAM

Linear Shaft Motor Sizing Application Note

PRODUCT SPECIFICATION

Haas trunnions have more than one configuration. Thus, to make a program for the trunnion, you must know these facts:

POINTS OF CAUTION BEFORE USE...

User Manual VX4750 Function Generator Module

Instruction. Vacuum Circuit Breaker Operator Module. Type 3AH 4.16kV to 38kV. Power Transmission & Distribution

Operating Instructions for Digital Manometer. Model: MAN-SD

PC Control / Touch Control

16-Mbit (1M x 16) Static RAM

Melton Series. Owners Manual. Lab Centrifuge. Model # s A C, A C, B C, B C, C C, C C, D C, D C

Transcription:

Motionnet Version: V1.2 2015A14 Part No.: 81-16MENT0-014 1

Revision History Date Revision 2014/6/10 1.0 Document creation. 2015/3/2 1.1 Add MPG Jog API. 2015/4/14 1.2 Add Pre-registers. 2

Copyright 2010 TPM The product, including the product itself, the accessories, the software, the manual and the software description in it, without the permission of TPM Inc. ( TPM ), is not allowed to be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any language in any form or by any means, except the documentation kept by the purchaser for backup purposes. The names of products and corporations appearing in this manual may or may not be registered trademarks, and may or may not have copyrights of their respective companies. These names should be used only for identification or explanation, and to the owners benefit, should not be infringed without any intention. The product s name and version number are both printed on the product itself. Released manual visions for each product design are represented by the digit before and after the period of the manual vision number. Manual updates are represented by the third digit in the manual vision number. Trademark MS-DOS and Windows 95/98/NT/2000/XP, Visual Studio, Visual C++, Visual BASIC are registered trademarks of Microsoft. BCB (Borland C++ Builder) is registered trademark of Borland. MULTIPROG is registered trademark of KW software. product names mentioned herein are used for identification purposes only and may be trademarks and/or registered trademarks of their respective companies. 3

Electrical safely To prevent electrical shock hazard, disconnect the power cable from the electrical outlet before relocating the system. When adding or removing devices to or from the system, ensure that the power cables for the devices are unplugged before the signal cables are connected. Disconnect all power cables from the existing system before you add a device. Before connecting or removing signal cables from motherboard, ensure that all power cables are unplugged. Seek professional assistance before using an adapter or extension card. These devices could interrupt the grounding circuit. Make sure that your power supply is set to the voltage available in your area. If the power supply is broken, contact a qualified service technician or your retailer. Operational safely Please carefully read all the manuals that came with the package, before installing the new device. Before use ensure all cables are correctly connected and the power cables are not damaged. If you detect and damage, contact the dealer immediately. To avoid short circuits, keep paper clips, screws, and staples away from connectors, slots, sockets and circuitry. Avoid dust, humidity, and temperature extremes. Do not place the product in any area where it may become wet. If you encounter technical problems with the product, contact a qualified service technician or the dealer. 4

Contents CONTENTS... 5 1. OPERATIONAL PRINCIPLES... 9 1.1. MOTIONNET INITIALIZATION... 9 1.1.1. Hardware Initialization... 9 1.1.2. Library Initialization... 9 1.2. MOTIONNET MASTER... 9 2. MOTIONNET WORKING FLOWCHART... 11 2.1. MOTIONNET RING INITIALIZATION... 11 2.2. CLOSE MOTIONNET MASTER... 12 3. FUNCTION REFERENCE... 13 3.1. SYSTEM INITIALIZATION... 13 3.1.1. _mnet_m204_initial... 14 3.2. PULSE I/O SETTING FUNCTIONS... 15 3.2.1. _mnet_m204_set_pls_outmode... 16 3.2.2. _mnet_m204_set_pls_iptmode... 19 3.2.3. _mnet_m204_set_feedback_src... 20 3.2.4. _mnet_m204_set_abs_reference... 21 3.3. MACHINE I/O SETTING FUNCTIONS... 22 3.3.1. _mnet_m204_set_alm... 23 3.3.2. _mnet_m204_set_inp... 24 3.3.3. _mnet_m204_set_erc... 25 3.3.4. _mnet_m204_set_erc_on... 27 3.3.5. _mnet_m204_set_sd... 28 3.3.6. _mnet_m204_set_svon... 29 3.3.7. _mnet_m204_set_ralm... 30 3.3.8. _mnet_m204_set_el... 31 3.4. HOMING CONTROL FUNCTIONS... 32 3.4.1. _mnet_m204_set_home_config... 33 3.4.2. _mnet_m204_start_home_move... 40 3.4.3. _mnet_m204_escape_home... 41 3.4.4. _mnet_m204_home_search... 42 3.5. VELOCITY CONTROL FUNCTIONS... 43 3.5.1. _mnet_m204_tv_move... 44 3.5.2. _mnet_m204_sv_move... 45 5

3.5.3. _mnet_m204_v_change... 46 3.5.4. _mnet_m204_cmp_v_change... 47 3.5.5. _mnet_m204_fix_speed_range... 48 3.5.6. _mnet_m204_unfix_speed_range... 49 3.6. POSITION CONTROL FUNCTIONS... 50 3.6.1. _mnet_m204_start_tr_move... 51 3.6.2. _mnet_m204_start_ta_move... 52 3.6.3. _mnet_m204_start_sr_move... 53 3.6.4. _mnet_m204_start_sa_move... 54 3.6.5. _mnet_m204_p_change... 55 3.6.6. _mnet_m204_d_change... 57 3.6.7. _mnet_m204_tr_move_after_axis... 59 3.6.8. _mnet_m204_ta_move_after_axis... 60 3.6.9. _mnet_m204_sr_move_after_axis... 61 3.6.10. _mnet_m204_sa_move_after_axis... 62 3.7. LINEAR INTERPOLATION... 64 3.7.1. _mnet_m204_start_tr_line2... 65 3.7.2. _mnet_m204_start_ta_line2... 66 3.7.3. _mnet_m204_start_sr_line2... 67 3.7.4. _mnet_m204_start_sa_line2... 68 3.7.5. _mnet_m204_start_tr_line3... 69 3.7.6. _mnet_m204_start_ta_line3... 70 3.7.7. _mnet_m204_start_sr_line3... 71 3.7.8. _mnet_m204_start_sa_line3... 72 3.7.9. _mnet_m204_start_tr_line4... 73 3.7.10. _mnet_m204_start_ta_line4... 74 3.7.11. _mnet_m204_start_sr_line4... 75 3.7.12. _mnet_m204_start_sa_line4... 76 3.8. ARC INTERPOLATION... 77 3.8.1. _mnet_m204_start_tr_arc2... 78 3.8.2. _mnet_m204_start_ta_arc2... 79 3.8.3. _mnet_m204_start_sr_arc2... 80 3.8.4. _mnet_m204_start_sa_arc2... 81 3.9. HELICAL INTERPOLATION... 82 3.9.1. _mnet_m204_start_tr_arc_xyz... 83 3.9.2. _mnet_m204_start_ta_arc_xyz... 84 3.9.3. _mnet_m204_start_sr_arc_xyz... 85 3.9.4. _mnet_m204_start_sa_arc_xyz... 86 6

3.10. COUNTER CONTROL FUNCTIONS... 87 3.10.1. _mnet_m204_get_command... 88 3.10.2. _mnet_m204_set_command... 89 3.10.3. _mnet_m204_get_position... 90 3.10.4. _mnet_m204_set_position... 91 3.10.5. _mnet_m204_get_error_counter... 92 3.10.6. _mnet_m204_reset_command... 93 3.10.7. _mnet_m204_reset_position... 94 3.10.8. _mnet_m204_reset_error_counter... 95 3.10.9. _mnet_m204_get_target_pos... 96 3.10.10. _mnet_m204_set_target_pos... 97 3.10.11. _mnet_m204_set_move_ratio... 98 3.10.12. _mnet_m204_set_ring_count... 99 3.10.13. _mnet_m204_enable_ring_count... 100 3.10.14. _mnet_m204_get_rest_command... 101 3.10.15. _mnet_m204_get_current_speed... 102 3.11. STOP CONTROL FUNCTIONS... 103 3.11.1. _mnet_m204_sd_stop... 104 3.11.2. _mnet_m204_emg_stop... 105 3.11.3. _mnet_m204_set_soft_limit... 106 3.11.4. _mnet_m204_enable_soft_limit... 107 3.11.5. _mnet_m204_enable_soft_limit... 108 3.12. GENERAL COMPARE FUNCTIONS... 109 3.12.1. _mnet_m204_set_general_comparator... 110 3.12.2. _mnet_m204_set_trigger_comparator... 112 3.12.3. _mnet_m204_set_trigger_type... 113 3.12.4. _mnet_m204_check_compare_data... 114 3.13. AUTO COMPARE PROGRAMMING (AXIS 0 & 1)... 115 3.13.1. _mnet_m204_get_auto_compare_encoder... 116 3.13.2. _mnet_m204_set_auto_compare_encoder... 117 3.13.3. _mnet_m204_get_auto_compare_count... 118 3.13.4. _mnet_m204_get_auto_compare_status... 119 3.13.5. _mnet_m204_set_auto_compare_trigger... 120 3.13.6. _mnet_m204_set_auto_compare_function... 121 3.13.7. _mnet_m204_set_auto_compare_table... 122 3.13.8. _mnet_m204_start_auto_compare... 123 3.13.9. _mnet_m204_force_trigger_output... 124 3.14. LATCH FUNCTION... 125 7

3.14.1. _mnet_m204_set_ltc_logic... 126 3.14.2. _mnet_m204_get_latch_data... 127 3.15. I/O CONTROL FUNCTIONS... 128 3.15.1. _mnet_m204_get_io_status... 129 3.15.2. _mnet_m204_motion_done... 130 3.16. JOG FUNCTIONS... 131 3.16.1. _mnet_m204_jog_switch_continue... 132 3.16.2. _mnet_m204_jog_switch_step... 133 3.16.3. _mnet_m204_jog_pulser_step... 134 3.16.4. _mnet_m204_get_jogio_status... 135 3.17. CONTINUOUS MOTION CONTROL... 136 3.17.1. _mnet_m204_check_continuous_buffer... 137 4. APPENDIX A... 138 4.1. DEFINITION OF ERROR CODES... 138 8

1. Operational Principles Motionnet is a low cost, digital-serial control interface for communications between host device and motion controllers, I/O devices and other function devices. Most physical or data layer tasks are completed by the ASIC hardware together with user-friendly software under Windows operating system. This chapter describes the operational principle of the Motionnet. This chapter provides an introduction for users to know more details about the operational principle of the Motionnet master devices. 1.1. Motionnet Initialization The Motionnet initializations are divided into two parts hardware and library initializations. The hardware that is the Motionnet master with main chip G9001A needs to be initialized at the first step. After hardware initialization, the libraries which exist in.dll file format need to be initialized as well to provide users access of the hardware. 1.1.1. Hardware Initialization TPM provides series of automation control system including EasyPAC, SmartPAC and TurboPAC. EasyPAC and SmartPAC are produced with Motionnet master chip G9001A built-in and well functioned with driver installed already. With respect to TurboPAC, since the Motionnet master is plugged in the TurboPAC in PCI interface, users might have a chance to install the driver if the hard disk is formatted. The TurboPAC are bundled with PCI-L122-DSF or PCI-M114-GL as the Motionnet master. It is very easy to activate the Motionnet master card by installing the software package released with TurboPAC. 1.1.2. Library Initialization Motionnet library can be initialized by hardware device driver library call. With the linkage between hardware and function library, user can use different types of communication masters by the same software interface. 1.2. Motionnet Master Motionnet is a master-slave communication design. Each Ring (Motionnet socket in RJ45 format) of the master supports up to 64 slave devices and the distance between the master and the last slave module could be up to 100 meters. The topology of the wiring is in linear bus instead of star or mesh topology which is more wire saving and less wiring complexity. Note that the last slave has to enable the terminal resistance. 9

Figure 1-1: illustration of the wiring topology of Motionnet master and slaves 10

2. Motionnet Working Flowchart 2.1. Motionnet Ring Initialization Procedure entry SmartPAC PCI-L122-DSF PCI-M114-GL _m124_initial _l122_dsf_open _m114gl_initial SmartPAC _m124_link_mnet PCI-M114-GL _m114gl_open_mnet PCI-L122-DSF _mnet_set_ring_config PCI-M114-GL _m114gl_set_mnet_baudrate Soft reset ring _mnet_reset_ring Start ring communication _mnet_start_ring Get slave device table _mnet_get_ring_active_table Start operation of slaves Figure 2-1: start Motionnet Ring procedure 11

2.2. Close Motionnet Master Procedure entry SmartPAC PCI-L122-DSF PCI-M114-GL _m124_close _l122_dsf_close _m114gl_close Figure 2-2: close Motionnet master procedure 12

3. Function Reference 3.1. System Initialization Function Name _mnet_m204_initial Initialize The Resource Of Remote Axis 13

3.1.1. _mnet_m204_initial : Initialize the resource of remote 106-M304T 4-axis motion control module. I16 _mnet_m204_initial (U16 RingNo, U16 SlaveIP) Parameters Name Type Status Return Function Name The API Is Success Return 14

3.2. Pulse I/O Setting Functions Function Name _mnet_m204_set_pls_outmode _mnet_m204_set_pls_iptmode _mnet_m204_set_feedback_src _mnet_m204_set_abs_reference Set Pulse Command Output Mode Set Encoder Input Mode & Logic Set The Input Source Of Position Counters Set the absolute moving function reference counter. 15

3.2.1. _mnet_m204_set_pls_outmode : Set pulse command output mode of axis. I16 _mnet_m204_set_pls_outmode( U16 RingNo, U16 SlaveIP, U16 AxisNo, U16 pls_outmode ) Name Type AxisNo U16 Axis number: 0 ~ 3 Setting of command pulse output mode Value Meaning pls_outmode I16 0 OUT/DIR: OUT falling edge, DIR+ is high level 1 OUT/DIR: OUT rising edge, DIR+ is high level 2 OUT/DIR: OUT falling edge, DIR+ is low level 3 OUT/DIR: OUT rising edge, DIR+ is low level 4 CW/CCW: Low active 5 CW/CCW: High active 6 A/B Phase: B/A phase 7 A/B Phase: A/B phase NOTE Single Pulse Output Mode(OUT/DIR Mode) In this mode, the OUT signal is for the command pulse (position or velocity) chain. The numbers of OUT pulse represent the relative distance or position, the frequency of the OUT pulse represents the command for speed or velocity. The DIR signal represents direction command of the positive (+) or negative (-). This mode is the most common used mode. The following diagrams show the output waveform. It is possible to set the polarity of pulse chain. 16

Pulse Mode=0 OUT DIR (+) (-) Pulse Mode=1 OUT DIR (+) (-) Pulse Mode=2 OUT DIR (+) (-) Pulse Mode=3 OUT DIR (+) (-) Figure 4-2: Single Pulse Output Mode Dual Pulse Output Mode(CW/CCW Mode) In this mode, the waveform of the OUT and DIR pins represent CW (clockwise) and CCW (counter clockwise) pulse output respectively. Pulses output from CW pin makes motor move in positive direction, whereas pulse output from CCW pin makes motor move in negative direction. The following diagram shows the output waveform of positive (plus,+) command and negative (minus,-) command. OUT CW DIR CCW Positive Direction OUT CW DIR CCW Negative Direction OUT CW DIR CCW Positive Direction OUT CW DIR CCW Negative Direction Figure 4-3: Dual Pulse Output Mode 17

AB Phase Pulse Output Mode(AB/BA Mode) In this mode, the waveform of the OUT and DIR pins represent A phase and B phase pulse output respectively. When the A phase pulse leads B phase output, it makes motor move in positive direction. When the B phase pulse leads a phase output, it makes motor move in negative direction. The following diagram shows the output waveform of positive (plus, +) command and negative (minus,-) command. OUT A Phase DIR B Phase Positive Direction OUT A Phase DIR B Phase Negative Direction Figure. 4-4 : AB Phase Pulse Output Mode 18

3.2.2. _mnet_m204_set_pls_iptmode : Set encoder input mode & direction of axis. I16 _mnet_m204_set_pls_iptmode( U16 RingNo, U16 SlaveIP, U16 AxisNo, U16 pls_iptmode, U16 pls_iptdir ) Name Type AxisNo U16 Axis number: 0 ~ 3 Setting of encoder feedback pulse input mode. Value Meaning pls_iptmode pls_iptdir U16 U16 0 1X A/B 1 2X A/B 2 4X A/B 3 CW/CCW Logic of encoder feedback pulse. Value Meaning 0 Not inverse direction 1 Inverse direction 19

3.2.3. _mnet_m204_set_feedback_src : Set the input source of position counters for axis. I16 _mnet_m204_set_feedback_src( U16 RingNo, U16 SlaveIP, U16 AxisNo, U16 FbkSrc ) Name Type AxisNo U16 Axis number: 0 ~ 3 Counter source Value Meaning Src I16 0 External Feedback Input & absolute command following position counter 1 Command Pulse Input & absolute command following position counter 20

3.2.4. _mnet_m204_set_abs_reference : Set the absolute moving function reference counter. I16 _mnet_m204_set_abs_reference(u16 RingNo, U16 SlaveIP, U16 AxisNo, I16 Ref) Name Type AxisNo U16 Axis number: 0 ~ 3 Absolute command reference Value Meaning Ref I16 0 Absolute command following current position counter 1 Absolute command following current command counter 2 Absolute command following target counter Set Abs move command to Position A Set Abs move command to Position B Position A Position B Follow by current position or command counter Follow by target counter 21

3.3. Machine I/O Setting Functions Function Name _mnet_m204_set_alm _mnet_m204_set_inp _mnet_m204_set_erc _mnet_m204_set_erc_on _mnet_m204_set_sd _mnet_m204_set_svon _mnet_m204_set_ralm _mnet_m204_set_ltc_logic _mnet_m204_set_el Set alarm logic and operating mode Set INP logic and operating mode Set ERC logic and timing Force ERC output Set SD logic and operating mode Set servo driver ON/OFF Output servo driver alarm reset Set Latch Logic Set EL mode and operating mode 22

3.3.1. _mnet_m204_set_alm : Set alarm logic and operating mode of axis. I16 _mnet_m204_set_alm( U16 RingNo, U16 SlaveIP, U16 AxisNo, I16 alm_logic, I16 alm_mode) Name Type AxisNo U16 Axis number: 0 ~ 3 Setting of active logic for ALARM signal. Value Meaning alm_logic I16 0 Low active 1 High active Reacting modes when receiving ALARM signal. Value Meaning alm_mode I16 0 Motor immediately stops (default). 1 Motor decelerates to stop. 23

3.3.2. _mnet_m204_set_inp : Set INP logic and operating mode of axis. I16 _mnet_m204_set_inp( U16 RingNo, U16 SlaveIP, U16 AxisNo, I16 inp_enable, I16 inp_logic) Name Type AxisNo U16 Axis number: 0 ~ 3 INP function enable/disable. Value Meaning inp_enable I16 0 Disabled (default) 1 Enabled Setting of active logic for INP signal. Value Meaning inp_logic I16 0 Low active 1 High active 24

3.3.3. _mnet_m204_set_erc : Set ERC logic and timing of the axis. I16 _mnet_m204_set_erc ( U16 RingNo, U16 SlaveIP, U16 AxisNo, U16 erc_logic, U16 erc_on_time, U16 erc_off_time ); Name Type AxisNo U16 Axis number: 0 ~ 3 Setting of active logic for ERC signal. Value Meaning erc_logic U16 0 Low active 1 High active Setting of time length of ERC active. Value Meaning erc_on_time erc_off_time U16 U16 0 12us 1 102us 2 409us 3 1.6ms 4 13ms 5 52ms 6 104ms 7 Level output Setting of time length of ERC inactive. Value Meaning 0 0us 1 12us 2 1.6ms 3 104ms 25

26

3.3.4. _mnet_m204_set_erc_on : Force ERC output by software command. I16 _mnet_m204_set_erc_on( U16 RingNo, U16 SlaveIP, U16 AxisNo, I16 on_off) Name Type AxisNo U16 Axis number: 0 ~ 3 Setting the action of ERC signal. Value Meaning on_off I16 0 Inactive 1 Active 27

3.3.5. _mnet_m204_set_sd : Set SD logic and operating mode. I16 _mnet_m204_set_sd( U16 RingNo, U16 SlaveIP, U16 AxisNo, I16 enable, I16 sd_logic, I16 sd_latch, I16 sd_mode) Name Type AxisNo U16 Axis number: 0 ~ 3 Enable/disable the SD signal. Value Meaning enable I16 0 Disabled (default) 1 Enabled Setting of active logic for SD signal. Value Meaning sd_logic I16 0 Low active 1 High active Setting of latch control for SD signal Value Meaning sd_latch I16 0 Do not latch 1 Latch Setting the reacting mode of SD signal Value Meaning sd_mode I16 0 Slow down only 1 Slow down then stop 28

3.3.6. _mnet_m204_set_svon : Set servo driver to ON / OFF. I16 _mnet_m204_set_svon( U16 RingNo, U16 SlaveIP, U16 AxisNo, U16 on_off) Name Type AxisNo U16 Axis number: 0 ~ 3 On-off state of SVON signal Value Meaning on_off U16 0 In-active 1 Active 29

3.3.7. _mnet_m204_set_ralm : Set the status of servo alarm reset signal. I16 _mnet_m204_set_ralm( U16 RingNo, U16 SlaveIP, U16 AxisNo, U16 on_off ) Name Type AxisNo U16 Axis number: 0 ~ 3 On-off state of SVON signal Value Meaning on_off U16 0 In-active 1 Active 30

3.3.8. _mnet_m204_set_el : Set EL mode and operating mode. I16 _mnet_m204_set_el( U16 RingNo, U16 SlaveIP, U16 AxisNo, I16 el_mode, I16 el_logic ) Name Type AxisNo U16 Axis number: 0 ~ 3 Active mode for EL signal meet Value Meaning el_mode I16 0 Stop immediately 1 Dec. to Stop Action logic configuration for EL singal Value Meaning El_logic I16 0 Low Active 1 High Active 31

3.4. Homing Control Functions Function Name _mnet_m204_set_home_config _mnet_m204_start_home_move _mnet_m204_escape_home _mnet_m204_home_search Set the Home/Index logic configuration. Begin a home return action. Escape from the ORG active status. Search the ORG active position and stop on the ORG active point. 32

3.4.1. _mnet_m204_set_home_config : Set the Home/Index logic configuration. I16 _mnet_m204_set_home_config( U16 RingNo, U16 SlaveIP, U16 AxisNo, U16 home_mode, U16 org_logic, U16 ez_logic, U16 ez_count, U16 erc_out ) Name Type AxisNo U16 Axis number: 0 ~ 3 home_mode U16 Stopping modes for home return, 0~12. See the following Note. Action logic configuration for ORG signal. Value Meaning org_logic U16 0 Low Active 1 High Active Action logic configuration for EZ signal. Value Meaning ez_logic U16 0 Low Active 1 High Active ez_count U16 0~15 Set ERC output options. Value Meaning erc_out U16 0 No ERC Out 1 ERC Out When homing finish 33

NOTE In this mode, you can let the 4-axis output pulses until the condition to complete the home return is satisfied after writing the command _mym4_home_move. There are 13 home moving modes provided by 4-axis. The home_mode of function _mym4_set_home_config is used to select one s favorite. After completion of home move, it is necessary to keep in mind that all the position related information should be reset to be 0. In 4-axis system, after homing sequence complete, the first four counters will be cleared to 0 automatically. The following figures show the various home mode and the reset point, when the counter will be clear to 0. home_mode = 0 Figure 3-1: home_mode=0 when SD (ramp-down signal) is inactive Figure 3-2: home_mode=0 when SD (ramp-down signal) is active 34

home_mode = 1 Figure 3-3: home_mode = 1 home_mode = 2 Figure 3-4: home_mode = 2 35

home_mode = 3 Figure 3-5: home_mode = 3 home_mode = 4 Figure 3-6: home_mode = 4 36

home_mode = 5 Figure 3-7: home_mode = 5 home_mode = 6 Figure 3-8: home_mode = 6 Note: FA=1/2 (start velocity) home_mode = 7 Figure 3-9: home_mode = 7 Note: FA=1/2 (start velocity) 37

home_mode = 8 Figure 3-10: home_mode = 8 home_mode = 9 Figure 3-11: home_mode = 9 home_mode = 10 Figure 3-12: home_mode = 10 38

home_mode = 11 Figure 3-13: home_mode = 11 home_mode = 12 Figure 3-14: home_mode = 12 39

3.4.2. _mnet_m204_start_home_move : Begin a home return action. I16 _mnet_m204_start_home_move( U16 RingNo, U16 SlaveIP, U16 AxisNo, F64 StrVel, F64 MaxVel, F64 Tacc ) Name Type AxisNo U16 Axis number: 0 ~ 3 StrVel F64 Start velocity MaxVel F64 Max velocity Tacc F64 Acceleration time 40

3.4.3. _mnet_m204_escape_home : Drive the axis to escape from the ORG active position when ORG signal is ON. I16 _mnet_m204_escape_home( U16 RingNo, U16 SlaveIP, U16 AxisNo, F64 StrVel, F64 MaxVel, F64 Tacc ) Name Type AxisNo U16 Axis number: 0 ~ 3 StrVel F64 Start velocity MaxVel F64 Max velocity Tacc F64 Acceleration time ORG Status 1 Max. Velocity > 0 Max. Velocity < 0 Figure 3-15: Home escape 41

3.4.4. _mnet_m204_home_search : Search the ORG active position and stop on the ORG active point. I16 _mnet_m204_home_search( U16 RingNo, U16 SlaveIP, U16 AxisNo, F64 StrVel, F64 MaxVel, F64 Tacc, F64 ORGOffset ) Name Type AxisNo U16 Axis number: 0 ~ 3 StrVel F64 Start velocity MaxVel F64 Max velocity Tacc F64 Acceleration time ORGOffset F64 First escape distance ORG EL Status 1 Status 2 Status 3 ORG_OFFSET Set Value Figure 3-16: Search ORG 42

3.5. Velocity Control Functions Function Name _mnet_m204_tv_move _mnet_m204_sv_move _mnet_m204_v_change _mnet_m204_cmp_v_change _mnet_m204_fix_speed_range _mnet_m204_unfix_speed_range Set a trapezoidal velocity profile Set a S-curve velocity profile Speed Change Change speed when the comparator is met. Set speed range Release the speed range constrain 43

3.5.1. _mnet_m204_tv_move : Accelerate an axis to a constant velocity with trapezoidal profile. I16 _mnet_m204_tv_move( U16 RingNo, U16 SlaveIP, U16 AxisNo, F64 StrVel, F64 MaxVel, F64 Tacc ) Name Type AxisNo U16 Axis number: 0 ~ 3 StrVel F64 Starting Velocity in Unit of Pulse Per Second MaxVel F64 Maximum Velocity in Unit of Pulse Per Second Tacc F64 Specified Acceleration Time in Unit of Second Velocity MaxVel StrVel Tacc Time (Sec.) Figure 3-17: constant velocity with trapezoidal profile 44

3.5.2. _mnet_m204_sv_move : Accelerate an axis to a constant velocity with S-curve profile. I16 _mnet_m204_sv_move( U16 RingNo, U16 SlaveIP, U16 AxisNo, F64 StrVel, F64 MaxVel, F64 Tacc ) Name Type AxisNo U16 Axis number: 0 ~ 3 StrVel F64 Starting Velocity in Unit of Pulse Per Second MaxVel F64 Maximum Velocity in Unit of Pulse Per Second Tacc F64 Specified Acceleration Time in Unit of Second Velocity SVacc MaxVel StrVel SVacc Tacc Time Time (Sec.) Figure 3-18: constant velocity with S-curve profile 45

3.5.3. _mnet_m204_v_change : Speed change on the fly. I16 _mnet_m204_v_change( U16 RingNo, U16 SlaveIP, U16 AxisNo, F64 NewVel, F64 Time ) Name Type AxisNo U16 Axis number: 0 ~ 3 NewVel F64 The new velocity Time F64 Acceleration time Velocity NewVel Velocity NewVel MaxVel SVacc MaxVel NewVel SVacc NewVel StrVel StrVel Tacc Time Time (Sec.) Tacc Time Time (Sec.) Trapezoidal Profile S-curvel Profile Figure 3-19: Change speed on the fly 46

3.5.4. _mnet_m204_cmp_v_change : Change speed when the comparator is met. I16 _mnet_m204_cmp_v_change( U16 RingNo, U16 SlaveIP, U16 AxisNo, F64 Res_Dist, F64 OldVel, F64 NewVel, F64 Time ) Name Type AxisNo U16 Axis number: 0 ~ 3 Res_Dist F64 End Position Decrease Comparator Position OldVel F64 Old Velocity in Unit of Pulse Per Second NewVel F64 New Velocity in Unit of Pulse Per Second Time F64 Specified Acceleration Time in Unit of Second Figure 3-20: Change speed on the comparator 47

3.5.5. _mnet_m204_fix_speed_range : Fix speed range. User need to fix the speed range before he want to do the velocity change command _met_m204_v_change I16 _mnet_m204_fix_speed_range( U16 RingNo, U16 SlaveIP, U16 AxisNo, F64 MaxVel ) Name Type AxisNo U16 Axis number: 0 ~ 3 MaxVel F64 Max velocity 48

3.5.6. _mnet_m204_unfix_speed_range : Release the speed range constrain. After finished the velocity change procedure, you need to use this command to release the speed fixed range. I16 _mnet_m204_unfix_speed_range( U16 RingNo, U16 SlaveIP, U16 AxisNo ) Name Type AxisNo U16 Axis number: 0 ~ 3 49

3.6. Position Control Functions Function Name _mnet_m204_start_tr_move _mnet_m204_start_ta_move _mnet_m204_start_sr_move _mnet_m204_start_sa_move _mnet_m204_p_change _mnet_m204_d_change Begin a relative move with trapezoidal profile. Begin an absolute move with trapezoidal profile. Begin a relative move with S-curve profile. Begin an absolute move with S-curve profile. Change position on the fly. Change distance on the fly. 50

3.6.1. _mnet_m204_start_tr_move : Begin a relative move with trapezoidal profile. I16 _mnet_m204_start_tr_move( U16 RingNo, U16 SlaveIP, U16 AxisNo, F64 Dist, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec ) Name Type AxisNo U16 Axis number: 0 ~ 3 Dist F64 Specified relative distance of axis to move StrVel F64 Start velocity in unit of pulse per second MaxVel F64 Maximum velocity in unit of pulse per second Tacc F64 Acceleration time in unit of second Tdec F64 Deceleration time in unit of second Figure 3-21: Relative trapezoidal profile 51

3.6.2. _mnet_m204_start_ta_move : Begin an absolute trapezoidal profile move. I16 _mnet_m204_start_ta_move( U16 RingNo, U16 SlaveIP, U16 AxisNo, F64 Pos, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec ) Name Type AxisNo U16 Axis number: 0 ~ 3 Pos F64 Specified absolute position of axis to move StrVel F64 Start velocity in unit of pulse per second MaxVel F64 Maximum velocity in unit of pulse per second Tacc F64 Acceleration time in unit of second Tdec F64 Deceleration time in unit of second 52

3.6.3. _mnet_m204_start_sr_move : Begin a relative S-curve profile move. I16 _mnet_m204_start_sr_move( U16 RingNo, U16 SlaveIP, U16 AxisNo, F64 Dist, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec, F64 SVacc, F64 SVdec ) Name Type AxisNo U16 Axis number: 0 ~ 3 Dist F64 Specified relative distance of axis to move. StrVel F64 Start velocity. MaxVel F64 Maximum velocity. Tacc F64 Acceleration time in unit of second Tdec F64 Deceleration time in unit of second SVacc F64 Specified velocity interval in which S-curve acceleration is performed. The range of Svacc: 0 ~ (MaxVel-StrVel)/2 (Unit: pps) SVdec F64 Specified velocity interval in which S-curve deceleration is performed. The range of Svacc: 0 ~ (MaxVel-StrVel)/2 (Unit: pps) Velocity: pps Acceleration Rate MaxVel S-curve deceleration section: SVdec S-curve acceleration section :VSacc StrVel Deceleration rate Tacc Tdcc Time (Sec.) Figure 3-22: Relative S-curve profile 53

3.6.4. _mnet_m204_start_sa_move : Begin an absolute S-curve profile move. I16 _mnet_m204_start_sa_move( U16 RingNo, U16 SlaveIP, U16 AxisNo, F64 Pos, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec, F64 SVacc, F64 SVdec ) Name Type AxisNo U16 Axis number: 0 ~ 3 Pos F64 Specified absolute position of axis to move. StrVel F64 Start velocity. MaxVel F64 Maximum velocity. Tacc F64 Acceleration time in unit of second Tdec F64 Deceleration time in unit of second SVacc F64 Specified velocity interval in which S-curve acceleration is performed. The range of Svacc: 0 ~ (MaxVel-StrVel)/2 (Unit: pps) SVdec F64 Specified velocity interval in which S-curve deceleration is performed. The range of Svacc: 0 ~ (MaxVel-StrVel)/2 (Unit: pps) 54

3.6.5. _mnet_m204_p_change : Change position on the fly. I16 _mnet_m204_p_change( U16 RingNo, U16 SlaveIP, U16 AxisNo, F64 NewPos ) Name Type AxisNo U16 Axis number: 0 ~ 3 NewPos F64 Specified New Absolute Position to Move 55

Figure 3-23: T-Curve P-Change Profile 56

3.6.6. _mnet_m204_d_change : Change position on the fly. I16 _mnet_m204_d_change( U16 RingNo, U16 SlaveIP, U16 AxisNo, F64 NewDist) Name Type AxisNo U16 Axis number: 0 ~ 3 NewDist F64 Specified New Relative Distance to Move 57

Figure 3-24: T-Curve D-Change Profile 58

3.6.7. _mnet_m204_tr_move_after_axis : Start a relative move with trapezoidal profile after a specified axis motion done. See note. I16 _mnet_m204_tr_move_after_axis(u16 RingNo, U16 SlaveIP, U16 AxisNo, U16 LeadingAxes, F64 Dist, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec) Name Type AxisNo U16 Axis number: 0 ~ 3 LeadingAxes U16 Specified axis: 0x01 : AxisNo = 0 0x02 : AxisNo = 1 0x04 : AxisNo = 2 0x08 : AxisNo = 3 Eg. 0x03 : AxisNo = 0 + 1 Dist F64 Specified relative distance of axis to move. StrVel F64 Start velocity. MaxVel F64 Maximum velocity. Tacc F64 Acceleration time. Tdec F64 Deceleration time. 59

3.6.8. _mnet_m204_ta_move_after_axis : Start an absolute move with trapezoidal profile after a specified axis motion done. See note. I16 _mnet_m204_ta_move_after_axis(u16 RingNo, U16 SlaveIP, U16 AxisNo, U16 LeadingAxes, F64 Pos, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec) Name Type AxisNo U16 Axis number: 0 ~ 3 LeadingAxes U16 Specified axis: 0x01 : AxisNo = 0 0x02 : AxisNo = 1 0x04 : AxisNo = 2 0x08 : AxisNo = 3 Eg. 0x03 : AxisNo = 0 + 1 Pos F64 Specified absolute position of axis to move. StrVel F64 Start velocity. MaxVel F64 Maximum velocity. Tacc F64 Acceleration time. Tdec F64 Deceleration time. 60

3.6.9. _mnet_m204_sr_move_after_axis : Start a relative move with S-curve profile after a specified axis motion done. See note. I16 _mnet_m204_sr_move_after_axis(u16 RingNo, U16 SlaveIP, U16 AxisNo, U16 LeadingAxes, F64 Dist, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec, F64 SVacc, F64 SVdec) Name Type AxisNo U16 Axis number: 0 ~ 3 LeadingAxes U16 Specified axis: 0x01 : AxisNo = 0 0x02 : AxisNo = 1 0x04 : AxisNo = 2 0x08 : AxisNo = 3 Eg. 0x03 : AxisNo = 0 + 1 Dist F64 Specified relative distance of axis to move. StrVel F64 Start velocity. MaxVel F64 Maximum velocity. Tacc F64 Acceleration time. Tdec F64 Deceleration time. 61

3.6.10. _mnet_m204_sa_move_after_axis : Start an absolute move with S-curve profile after a specified axis motion done. See note. I16 _mnet_m204_sa_move_after_axis(u16 RingNo, U16 SlaveIP, U16 AxisNo, U16 LeadingAxes, F64 Pos, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec, F64 SVacc, F64 SVdec) Name Type AxisNo U16 Axis number: 0 ~ 3 LeadingAxes U16 Specified axis: 0x01 : AxisNo = 0 0x02 : AxisNo = 1 0x04 : AxisNo = 2 0x08 : AxisNo = 3 Eg. 0x03 : AxisNo = 0 + 1 Pos F64 Specified absolute position of axis to move. StrVel F64 Start velocity. MaxVel F64 Maximum velocity. Tacc F64 Acceleration time. Tdec F64 Deceleration time. 62

NOTE When use the above function, move order will starts upon setting timing condition satisfied. The figure shows Axis 1 move immediately after Axis 0 motion done. Eg. _mym4_start_sa_move (0, 0, 40000, 1000, 10000, 0.1, 0.1); _mym4_sa_move_after_axis(0, 1, 0x01, 50000, 1000, 10000, 0.1, 0,1); Axis 0 Start Axis 0 End Axis 1 Start Axis 1 End Axis 0 Axis 1 63

3.7. Linear Interpolation Function name _mnet_m204_start_tr_line2 _mnet_m204_start_ta_line2 _mnet_m204_start_sr_line2 _mnet_m204_start_sa_line2 _mnet_m204_start_tr_line3 _mnet_m204_start_ta_line3 _mnet_m204_start_sr_line3 _mnet_m204_start_sa_line3 _mnet_m204_start_tr_line4 _mnet_m204_start_ta_line4 _mnet_m204_start_sr_line4 _mnet_m204_start_sa_line4 Begin a relative 2-Axis linear interpolation for any 2 axes with trapezoidal profile Begin an absolute 2-Axis linear interpolation for any 2 axes with trapezoidal profile Begin a relative 2-Axis linear interpolation for any 2 axes with S-curve profile Begin an absolute 2-Axis linear interpolation for any 2 axes with S-curve profile Begin a relative 3-Axis linear interpolation with trapezoidal profile Begin an absolute 3-Axis linear interpolation with trapezoidal profile Begin a relative 3-Axis linear interpolation with S-curve profile Begin an absolute 3-Axis linear interpolation with S-curve profile Begin a relative 4-Axis linear interpolation with trapezoidal profile Begin an absolute 4-Axis linear interpolation with trapezoidal profile Begin a relative 4-Axis linear interpolation with S-curve profile Begin an absolute 4-Axis linear interpolation with S-curve profile 64

3.7.1. _mnet_m204_start_tr_line2 : Begin a relative 2-Axis linear interpolation for any 2 axes with trapezoidal profile. I16 _mnet_m204_start_tr_line2( U16 RingNo, U16 SlaveIP, I16 *AxisArray, F64 DistX, F64 DistY, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec) Name Type AxisArray I16 * Array of axis number to perform interpolation. Example: Int AxisArray[2] = {0,2}; // axis 0 & 2 Int AxisArray[3] = {0,1,3}; // axis 0,1,3 Note: AxisArray[n] must be smaller than AxisArray[m], if n<m. DistX F64 Specified relative distance of axis array 0 to move. DistY F64 Specified relative distance of axis array 1 to move StrVel F64 Starting velocity in unit of pulse per second MaxVel F64 Maximum velocity in unit of pulse per second Tacc F64 Specified acceleration time in unit of second Tdec F64 Specified deceleration time in unit of second Note: MaxVel > StrVel is necessary 65

3.7.2. _mnet_m204_start_ta_line2 : Begin an absolute 2-Axis linear interpolation for any 2 axes with trapezoidal profile. I16 _mnet_m204_start_ta_line2( U16 RingNo, U16 SlaveIP, I16 *AxisArray, F64 PosX, F64 PosY, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec ) Name Type AxisArray I16 * Array of axis number to perform interpolation. Example: Int AxisArray[2] = {0,2}; // axis 0 & 2 Int AxisArray[3] = {0,1,3}; // axis 0,1,3 Note: AxisArray[n] must be smaller than AxisArray[m], if n<m. PosX F64 Specified absolute position of axis array 0 to move PosY F64 Specified absolute position of axis array 1 to move StrVel F64 Starting velocity in unit of pulse per second MaxVel F64 Maximum velocity in unit of pulse per second Tacc F64 Specified acceleration time in unit of second Tdec F64 Specified deceleration time in unit of second Note: MaxVel > StrVel is necessary 66

3.7.3. _mnet_m204_start_sr_line2 : Begin a relative 2-Axis linear interpolation for any 2 axes with S-curve profile. I16 _mnet_m204_start_sr_line2( U16 RingNo, U16 SlaveIP, I16 *AxisArray, F64 DistX, F64 DistY, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec, F64 SVacc, F64 SVdec ) Name Type AxisArray I16 * Array of axis number to perform interpolation. Example: Int AxisArray[2] = {0,2}; // axis 0 & 2 Int AxisArray[3] = {0,1,3}; // axis 0,1,3 Note: AxisArray[n] must be smaller than AxisArray[m], if n<m. DistX F64 Specified relative distance of axis array 0 to move. DistY F64 Specified relative distance of axis array 1 to move StrVel F64 Starting velocity in unit of pulse per second MaxVel F64 Maximum velocity in unit of pulse per second Tacc F64 Specified acceleration time in unit of second Tdec F64 Specified deceleration time in unit of second SVacc F64 Specified velocity interval in which S-curve acceleration is performed SVdec F64 Specified velocity interval in which S-curve deceleration is performed Note: MaxVel > StrVel is necessary 67

3.7.4. _mnet_m204_start_sa_line2 : Begin an absolute 2-Axis linear interpolation for any 2 axes with S-curve profile. I16 _mnet_m204_start_sa_line2( U16 RingNo, U16 SlaveIP, I16 *AxisArray, F64 PosX, F64 PosY, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec, F64 SVacc, F64 SVdec ) Name Type AxisArray I16 * Array of axis number to perform interpolation. Example: Int AxisArray[2] = {0,2}; // axis 0 & 2 Int AxisArray[3] = {0,1,3}; // axis 0,1,3 Note: AxisArray[n] must be smaller than AxisArray[m], if n<m. PosX F64 Specified absolute position of axis array 0 to move PosY F64 Specified absolute position of axis array 1 to move StrVel F64 Starting velocity in unit of pulse per second MaxVel F64 Maximum velocity in unit of pulse per second Tacc F64 Specified acceleration time in unit of second Tdec F64 Specified deceleration time in unit of second SVacc F64 Specified velocity interval in which S-curve acceleration is performed SVdec F64 Specified velocity interval in which S-curve deceleration is performed Note: MaxVel > StrVel is necessary 68

3.7.5. _mnet_m204_start_tr_line3 : Begin a relative 3-Axis linear interpolation with trapezoidal profile. I16 _mnet_m204_start_tr_line3( U16 RingNo, U16 SlaveIP, I16 *AxisArray, F64 DistX, F64 DistY, F64 DistZ, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec ) Name Type AxisArray I16 * Array of axis number to perform interpolation. Example: Int AxisArray[2] = {0,2}; // axis 0 & 2 Int AxisArray[3] = {0,1,3}; // axis 0,1,3 Note: AxisArray[n] must be smaller than AxisArray[m], if n<m. DistX F64 Specified relative distance of axis array 0 to move. DistY F64 Specified relative distance of axis array 1 to move DistZ F64 Specified relative distance of axis array 2 to move StrVel F64 Starting velocity in unit of pulse per second MaxVel F64 Maximum velocity in unit of pulse per second Tacc F64 Specified acceleration time in unit of second Tdec F64 Specified deceleration time in unit of second Note: MaxVel > StrVel is necessary 69

3.7.6. _mnet_m204_start_ta_line3 : Begin an absolute 3-Axis linear interpolation with trapezoidal profile. I16 _mnet_m204_start_ta_line3( U16 RingNo, U16 SlaveIP, I16 *AxisArray, F64 PosX, F64 PosY, F64 PosZ, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec ) Name Type AxisArray I16 * Array of axis number to perform interpolation. Example: Int AxisArray[2] = {0,2}; // axis 0 & 2 Int AxisArray[3] = {0,1,3}; // axis 0,1,3 Note: AxisArray[n] must be smaller than AxisArray[m], if n<m. PosX F64 Specified absolute position of axis array 0 to move PosY F64 Specified absolute position of axis array 1 to move PosZ F64 Specified absolute position of axis array 2 to move StrVel F64 Starting velocity in unit of pulse per second MaxVel F64 Maximum velocity in unit of pulse per second Tacc F64 Specified acceleration time in unit of second Tdec F64 Specified deceleration time in unit of second Note: MaxVel > StrVel is necessary 70

3.7.7. _mnet_m204_start_sr_line3 : Begin a relative 3-Axis linear interpolation with S-curve profile. I16 _mnet_m204_start_sr_line3( U16 RingNo, U16 SlaveIP, I16 *AxisArray, F64 DistX, F64 DistY, F64 DistZ, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec, F64 SVacc, F64 SVdec ) Name Type AxisArray I16 * Array of axis number to perform interpolation. Example: Int AxisArray[2] = {0,2}; // axis 0 & 2 Int AxisArray[3] = {0,1,3}; // axis 0,1,3 Note: AxisArray[n] must be smaller than AxisArray[m], if n<m. DistX F64 Specified relative distance of axis array 0 to move. DistY F64 Specified relative distance of axis array 1 to move DistZ F64 Specified relative distance of axis array 2 to move StrVel F64 Starting velocity in unit of pulse per second MaxVel F64 Maximum velocity in unit of pulse per second Tacc F64 Specified acceleration time in unit of second Tdec F64 Specified deceleration time in unit of second SVacc F64 Specified velocity interval in which S-curve acceleration is performed SVdec F64 Specified velocity interval in which S-curve deceleration is performed Note: MaxVel > StrVel is necessary 71

3.7.8. _mnet_m204_start_sa_line3 : Begin an absolute 3-Axis linear interpolation with S-curve profile. I16 _mnet_m204_start_sa_line3( U16 RingNo, U16 SlaveIP, I16 *AxisArray, F64 PosX, F64 PosY, F64 PosZ, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec, F64 SVacc, F64 SVdec ) Name Type AxisArray I16 * Array of axis number to perform interpolation. Example: Int AxisArray[2] = {0,2}; // axis 0 & 2 Int AxisArray[3] = {0,1,3}; // axis 0,1,3 Note: AxisArray[n] must be smaller than AxisArray[m], if n<m. PosX F64 Specified absolute position of axis array 0 to move PosY F64 Specified absolute position of axis array 1 to move PosZ F64 Specified absolute position of axis array 2 to move StrVel F64 Starting velocity in unit of pulse per second MaxVel F64 Maximum velocity in unit of pulse per second Tacc F64 Specified acceleration time in unit of second Tdec F64 Specified deceleration time in unit of second SVacc F64 Specified velocity interval in which S-curve acceleration is performed SVdec F64 Specified velocity interval in which S-curve deceleration is performed Note: MaxVel > StrVel is necessary 72

3.7.9. _mnet_m204_start_tr_line4 : Begin a relative 4-Axis linear interpolation with trapezoidal profile. I16 _mnet_m204_start_tr_line4( U16 RingNo, U16 SlaveIP, F64 DistX, F64 DistY, F64 DistZ, F64 DistU, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec ) Name Type DistX F64 Specified relative distance of axis 0 to move. DistY F64 Specified relative distance of axis 1 to move DistZ F64 Specified relative distance of axis 2 to move DistU F64 Specified relative distance of axis 3 to move. StrVel F64 Starting velocity in unit of pulse per second MaxVel F64 Maximum velocity in unit of pulse per second Tacc F64 Specified acceleration time in unit of second Tdec F64 Specified deceleration time in unit of second Note: MaxVel > StrVel is necessary 73

3.7.10. _mnet_m204_start_ta_line4 : Begin an absolute 4-Axis linear interpolation with trapezoidal profile. I16 _mnet_m204_start_ta_line4( U16 RingNo, U16 SlaveIP, F64 PosX, F64 PosY, F64 PosZ, F64 PosU, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec ) Name Type PosX F64 Specified absolute position of axis 0 to move PosY F64 Specified absolute position of axis 1 to move PosZ F64 Specified absolute position of axis 2 to move PosU F64 Specified absolute position of axis 3 to move StrVel F64 Starting velocity in unit of pulse per second MaxVel F64 Maximum velocity in unit of pulse per second Tacc F64 Specified acceleration time in unit of second Tdec F64 Specified deceleration time in unit of second Note: MaxVel > StrVel is necessary 74

3.7.11. _mnet_m204_start_sr_line4 : Begin a relative 4-Axis linear interpolation with S-curve profile. I16 _mnet_m204_start_sr_line4( U16 RingNo, U16 SlaveIP, F64 DistX, F64 DistY, F64 DistZ, F64 DistU, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec, F64 SVacc, F64 SVdec ) Name Type DistX F64 Specified relative distance of axis 0 to move. DistY F64 Specified relative distance of axis 1 to move DistZ F64 Specified relative distance of axis 2 to move DistU F64 Specified relative distance of axis 3 to move. StrVel F64 Starting velocity in unit of pulse per second MaxVel F64 Maximum velocity in unit of pulse per second Tacc F64 Specified acceleration time in unit of second Tdec F64 Specified deceleration time in unit of second SVacc F64 Specified velocity interval in which S-curve acceleration is performed SVdec F64 Specified velocity interval in which S-curve deceleration is performed Note: MaxVel > StrVel is necessary 75

3.7.12. _mnet_m204_start_sa_line4 : Begin an absolute 4-Axis linear interpolation with S-curve profile. I16 _mnet_m204_start_sa_line4( U16 RingNo, U16 SlaveIP, F64 PosX, F64 PosY, F64 PosZ, F64 PosU, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec, F64 SVacc, F64 SVdec ) Name Type PosX F64 Specified absolute position of axis 0 to move PosY F64 Specified absolute position of axis 1 to move PosZ F64 Specified absolute position of axis 2 to move PosU F64 Specified absolute position of axis 3 to move StrVel F64 Starting velocity in unit of pulse per second MaxVel F64 Maximum velocity in unit of pulse per second Tacc F64 Specified acceleration time in unit of second Tdec F64 Specified deceleration time in unit of second SVacc F64 Specified velocity interval in which S-curve acceleration is performed SVdec F64 Specified velocity interval in which S-curve deceleration is performed Note: MaxVel > StrVel is necessary 76

3.8. Arc Interpolation Function name _mnet_m204_start_tr_arc2 _mnet_m204_start_ta_arc2 _mnet_m204_start_sr_arc2 _mnet_m204_start_sa_arc2 Begin a relative any 2 axis arc interpolation with trapezoidal profile. Begin an absolute any 2 axis arc interpolation with trapezoidal profile. Begin a relative any 2 axis arc interpolation with S-curve profile. Begin an absolute any 2 axis arc interpolation with S-curve profile. 77

3.8.1. _mnet_m204_start_tr_arc2 : Begin a relative any 2 axis arc interpolation with trapezoidal profile. I16 _mnet_m204_start_tr_arc2( U16 RingNo, U16 SlaveIP, I16 *AxisArray, F64 OffsetCx, F64 OffsetCy, F64 OffsetEx, F64 OffsetEy, I16 DIR, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec ) Name Type AxisArray I16 * Array of axis number to perform interpolation. Example: Int AxisArray[2] = {0,2}; // axis 0 & 2 Int AxisArray[3] = {0,1,3}; // axis 0,1,3 Note: AxisArray[n] must be smaller than AxisArray[m], if n<m. OffsetCx F64 Specified offset to center of axis array 0 OffsetCy F64 Specified offset to center of axis array 1 OffsetEx F64 Specified offset to end of arc of axis array 0 OffsetEy F64 Specified offset to end of arc of axis array 1 Dir I16 Specified direction of arc, CW: 0, CCW: 1 StrVel F64 Starting velocity in unit of pulse per second MaxVel F64 Maximum velocity in unit of pulse per second Tacc F64 Specified acceleration time in unit of second Tdec F64 Specified deceleration time in unit of second Note: MaxVel > StrVel is necessary 78

3.8.2. _mnet_m204_start_ta_arc2 : Begin an absolute any 2 axis arc interpolation with trapezoidal profile. I16 _mnet_m204_start_ta_arc2( U16 RingNo, U16 SlaveIP, I16 *AxisArray, F64 Cx, F64 Cy, F64 Ex, F64 Ey, I16 DIR, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec ) Name Type AxisArray I16 * Array of axis number to perform interpolation. Example: Int AxisArray[2] = {0,2}; // axis 0 & 2 Int AxisArray[3] = {0,1,3}; // axis 0,1,3 Note: AxisArray[n] must be smaller than AxisArray[m], if n<m. Cx F64 Specified absolute position to center of axis array 0 Cy F64 Specified absolute position to center of axis array 1 Ex F64 Specified absolute position to end of arc of axis array 0 Ey F64 Specified absolute position to end of arc of axis array 1 Dir I16 Specified direction of arc, CW: 0, CCW: 1 StrVel F64 Starting velocity in unit of pulse per second MaxVel F64 Maximum velocity in unit of pulse per second Tacc F64 Specified acceleration time in unit of second Tdec F64 Specified deceleration time in unit of second Note: MaxVel > StrVel is necessary 79

3.8.3. _mnet_m204_start_sr_arc2 : Begin a relative any 2 axis arc interpolation with S-curve profile. I16 _mnet_m204_start_sr_arc2( U16 RingNo, U16 SlaveIP, I16 *AxisArray, F64 OffsetCx, F64 OffsetCy, F64 OffsetEx, F64 OffsetEy, I16 DIR, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec, F64 SVacc, F64 SVdec ) Name Type AxisArray I16 * Array of axis number to perform interpolation. Example: Int AxisArray[2] = {0,2}; // axis 0 & 2 Int AxisArray[3] = {0,1,3}; // axis 0,1,3 Note: AxisArray[n] must be smaller than AxisArray[m], if n<m. OffsetCx F64 Specified offset to center of axis array 0 OffsetCy F64 Specified offset to center of axis array 1 OffsetEx F64 Specified offset to end of arc of axis array 0 OffsetEy F64 Specified offset to end of arc of axis array 1 Dir I16 Specified direction of arc, CW: 0, CCW: 1 StrVel F64 Starting velocity in unit of pulse per second MaxVel F64 Maximum velocity in unit of pulse per second Tacc F64 Specified acceleration time in unit of second Tdec F64 Specified deceleration time in unit of second SVacc F64 Specified velocity interval in which S-curve acceleration is performed SVdec F64 Specified velocity interval in which S-curve deceleration is performed Note: MaxVel > StrVel is necessary 80

3.8.4. _mnet_m204_start_sa_arc2 : Begin an absolute any 2 axis arc interpolation with S-curve profile. I16 _mnet_m204_start_sa_arc2( U16 RingNo, U16 SlaveIP, I16 *AxisArray, F64 Cx, F64 Cy, F64 Ex, F64 Ey, I16 DIR, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec, F64 SVacc, F64 SVdec ) Name Type AxisArray I16 * Array of axis number to perform interpolation. Example: Int AxisArray[2] = {0,2}; // axis 0 & 2 Int AxisArray[3] = {0,1,3}; // axis 0,1,3 Note: AxisArray[n] must be smaller than AxisArray[m], if n<m. Cx F64 Specified absolute position to center of axis array 0 Cy F64 Specified absolute position to center of axis array 1 Ex F64 Specified absolute position to end of arc of axis array 0 Ey F64 Specified absolute position to end of arc of axis array 1 Dir I16 Specified direction of arc, CW: 0, CCW: 1 StrVel F64 Starting velocity in unit of pulse per second MaxVel F64 Maximum velocity in unit of pulse per second Tacc F64 Specified acceleration time in unit of second Tdec F64 Specified deceleration time in unit of second SVacc F64 Specified velocity interval in which S-curve acceleration is performed SVdec F64 Specified velocity interval in which S-curve deceleration is performed Note: MaxVel > StrVel is necessary 81

3.9. Helical Interpolation Function name _mnet_m204_start_tr_arc_xyz _mnet_m204_start_ta_arc_xyz _mnet_m204_start_sr_arc_xyz _mnet_m204_start_sa_arc_xyz Begin a relative XYZ-axis arc interpolation with trapezoidal profile. Begin an absolute XYZ -axis arc interpolation with trapezoidal profile. Begin a relative XYZ-axis arc interpolation with S-curve profile. Begin an absolute XYZ -axis arc interpolation with S-curve profile. 82

3.9.1. _mnet_m204_start_tr_arc_xyz : Begin a T-curve relative arc interpolation with Z axis sync. I16 _mnet_m204_start_tr_arc_xyz( U16 RingNo, U16 SlaveIP, F64 OffsetCx, F64 OffsetCy, F64 OffsetEx, F64 OffsetEy, F64 DistZ, I16 DIR, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec ) Name Type OffsetCx F64 Specified offset to center of axis 0 OffsetCy F64 Specified offset to center of axis 1 OffsetEx F64 Specified offset to end of arc of axis 0 OffsetEy F64 Specified offset to end of arc of axis 1 DistZ F64 Distance of Z axis Dir I16 Specified direction of arc, CW: 0, CCW: 1 StrVel F64 Starting velocity in unit of pulse per second MaxVel F64 Maximum velocity in unit of pulse per second Tacc F64 Specified acceleration time in unit of second Tdec F64 Specified deceleration time in unit of second Note: MaxVel > StrVel is necessary 83