Emotiontek MCU 2 Axis User Manual

Page 1
Users Manual (2 AXES)
Page 2
MOTION CONTROLLER MCU
( MCU 2Axes Series )
V1.1
Special Note
z This document is subject to change without prior notice. z Please contact us if you find something missing or incorrect in this document. z You will get a refund or exchange if there is incorrect collating or missing page.
Emotiontek
MMCCUU 22 AAxxiiss CCoonnttrroolllleerr UUsseerr MMaannuuaall
1206 Byuksan Digital Valley 5 Cha, 244, Beotkkot-ro Geumcheon-gu, Seoul
Tel : 82-2-2082-5790 Fax: 82-2-2082-4466 E-mail:emotion@emotiontek.com http://www.emotiontek.com
Page 3
MOTION CONTROLLER MCU
(Make sure to read before use)
Be sure to read this document and all relevant auxiliary documents and get familiar with operational guidelines
regarding installation, operation, maintenance and inspection for a proper use of this controller. Don’t forget to read and familiarize yourself with details on the equipment, safety information and precautions before proceeding to use it.
This Instruction Manual has used marks, [Danger] and [Warning] to indicate safety warning and precautions
depending on the severity.
Danger : If handled improperly, the equipment may cause severe
consequences such as personal injury or even death
Warning: If handled improperly, the equipment may cause serious/slight
personal injury or physical damage.
In addition, the events classified into Attention may lead to critical consequences. Therefore, it is required to take extra care to preserve the instruction manual that comes with the product so that you can read it whenever it is needed and to make sure to have it delivered to end users.
Safety Precautions
Page 4
MOTION CONTROLLER MCU
Design Precautions
Danger
Reference
Page
Install the safety circuit in this controller so that the equipment can operate in safe
mode when unplanned events such as faulty external power or outage of controller.
The current for input/ou tput power of this controller is limited.
z If there is an overload caused by an external source a voltage drop
automatically occurs and the entry of I/O does not work while all outputs are turned off. Therefore, it is recommended to design external circuit or apparatus to make the equipment operate in safe mode.
If there is a faulty output transistor, the output may keep remaining either on or
off. Therefore, when it comes to the output signal which may lead to serious accidents, design an external circuit or apparatus in order to make the equipment operate in safe mode.
The IMPULSE noise stems from the power and if the level of noise measured on
the power unit does not meet the requirements of this controller or if there is noise excessive enough to distort the input voltage waveform, it is required to install a noise filter or an isolated power transformer on the power input.
If there is a frequent occurrence of short interruption or the equipment is subject
to an unstable power environment it is necessary to use UPS or AVR to stabilize power supply for the controller.
Warning
Reference
Page
Make sure to use the product in a general environment described in manual. Do not use the product in an environment subject to dust, soot, conductive dust,
corrosive gas, flammable gas, high temperature, condensation, rainstorm, vibration and shock.
z Harsh conditions described above may cause a variety of negative side
effects, including electric shock, fire , malfunction, product damage or blazing flame.
Take extra cautions not to let foreign particles or cable debris slip into the
ventilating window of the product when conducting hole machining or wiring work.
z It may cause fire, breakdown or malfunction.
Make sure to completely mount connection cable or memory cassette onto the
designated connector.
Page 5
MOTION CONTROLLER MCU
z Poor connection may cause malfunction.
It is required to install a anti-dust filter if the product is used in a dusty
environment.
Clean the filter using a vacuum cleaner once every month.
Wiring Works
Danger
Reference
Page
Make sure to cut off the external power supply before conducting installation,
wiring work etc.
z Otherwise, electric shock or product damage may be incurred.
Make sure to put the terminal cover on the product prior to power supply and
operation upon completion of installation and wiring work. .
z Otherwise, electric shock may be incurred.
Warning
Reference
Page
DC power supply of this controller must be connected to the dedicated terminal
as described in the manual. z If you mistakenly connect AC power supply into the DC input/output
terminal or input power supply, the MC parts and components may be burnt.
z Getting an external power supply for this controller may cause product
damage.
Make sure to apply type-3 earth grounding on the ground terminal of the
controller using cable longer than 2m . Do not apply the common earthing under strong electric field.
The input/output signal or telecommunication lines should be installed at
least 100mm away from the high voltage lines or power lines.
Otherwise, incorrect output or malfunction may be incurred.
Page 6
MOTION CONTROLLER MCU
Precautions in startup and maintenance
Danger
Reference
Page
Do not touch the terminal while power supply is plugged in.
You may get electric shock or cause malfunction.
Turn the power off before cleaning or tightening the terminal further.
You may get electric shock, otherwise.
Do not recharge, disassemble, apply heat, put it in fire or perform short-circuit.
It may lead to burst or outbreak of fire.
Make sure to read the manual carefully before you modify the program while in
operation, perform forceful output, or manipulate the controller using various functions such as RUN or STOP. Incorrect handling of the product may cause product damage or unplanned events.
Make sure to get your body earthed if you need to open the controller cover and
touch the inside to prevent static from flowing into the controller.
Warning
Reference
Page
Make sure to turn the power off before you detach or attach the controller
memory. z Detaching it while power supply is connected may cause damage on
controller or memory.
Do not disassemble or remodel the product.
It may cause breakdown, malfunction, or even fire.
Contact the nearest customer care center or sales agency for after-sales services. Make sure to turn the power off before you detach or attach additional connection
cables.
z Otherwise, breakdown or malfunction may be incurred.
Disposal
Warning
Reference
Page
Treat the product as industrial waste when you throw it away.
Page 7
MOTION CONTROLLER MCU
I.
Installation Considerations
Place the product at least 100mm away from the wall to ensure easy accessibility for
maintenance and ventilation.
Do not install it in the following installation environment.
- Places with the surrounding temperature beyond the range between 0 and 50℃ or
operating panel where high-voltage equipment is installed.
- Places with a strong and direct shock to the main body on a constant basis.
II.
Power Wiring
The input power supply is DC24V (allowable range 24V +/ 10%).
It is recommended to install a separate captive power supply equipment if the product is installed in an environment with a frequent change in voltage.
Anti-noise measures such as filter installation should be taken against power supply with excessive noise.
Separate the power supply of the main body from the input/output lines of PLC, and power supply lines from the system.
The telecommunication input/output lines must be installed separately from the power supply lines.
III. Grounding
Apply the dedicated grounding. Conduct type-3 grounding work as illustrated in the picture below with the grounding cable 2㎟ or longer.
Place the grounding point near the main body and make the length of grounding cable short.
Con tr ol l er
The3rd T
y
p
e Wire
A
)
Excl usi ve Eart h
:
The best
Ano the r Dev ic e
Controller
Anot he r Devi ce
Controller
Anot he r Devi ce
B)
Excl usi ve Eart h
:
Good
C)
Excl us iv e Eart h
:
Bad
The3rd T
y
p
e Wire The3rd T
y
p
e Wire
[Figure. Grounding methods]
Installation Guideline
Controll
er
Controll
er
Controll
er
Others
Others
Others
Type-3 Grounding
Type-3 Grounding Type-3 Grounding
Exclusive Grounding:
Exclusive Grounding: Good
Exclusive Grounding:
Bad
Page 8
- 1 -
Table of Contents
Table of Contents
Chapter 1. About the Product………………………………………………………
3
Chapter 2. Programming
2.1 Types of MC program commands, variables and contacts usable
………
2.2 MC program command details……………………………………………………………
2.3 MC program variable details…………………………………………………………
7 12 47
Chapter 3. Homing
3.1 Homing
…………………………………………………………………………………………
3.2 Homing parameters…………………………………………………………………………
3.3 Execution of homing ……………………………………………………………………
3.4 Example of a homing………………………………………………………………………
51 51 52 56
Chapter 4. PLC Program
4.1 Types of PLC commands……………………………………………………………………
4.2 Types of application commands related to PLC contacts and motion
4.3 Description of PLC commands…………………………………………………………
4.4 Description of application commands related to PLC contacts………
4.5 Description of PLC motion related application commands………………
57 58 60 69 78
Chapter 5. Parameters
5.1 Types of parameters ………………………………………………………………………
5.2 Description of parameters ……………………………………………………………
103 104
Chapter 6. Connection
6.1 MCU-X………………………………………………………………………………………………
6.2 MCU-A2……………………………………………………………………………………………
6.3 MCU-P2
……………………………………………………………………………………………
6.4 MCU-L………………………………………………………………………………………………
6.5 MCU-E………………………………………………………………………………………………
6.6 Wiring diagram………………………………………………………………………………
6.7 External appearance diagram…………………………………………………………
115 116 119 122 124 126 132
Page 9
- 2 -
Table of Contents
Chapter 7. Operation
7.1 MSW-MCU2(for PC) ………………………………………………………………………… 134
Chapter 8. Alarm………………………………………………………………………………
152
Chapter 9. Standard Input/Output Signal
9.1 MC output signal(MC Æ PLC) …………………………………………………………
9.2 MC input signal(PLC Æ MC) …………………………………………………………
9.3
Example of using an MC input/output signal for automatic operation
………
9.4
Example of using an MC input/output signal for manual operation
……………
9.5 Input, output and flag contact memory map……………………………………
9.6 PLC COMMUNICATION INTERFACE
…………………………………………………………
9.7 Driver interface
……………………………………………………………………………
154 156 162 168 175 181 186
Page 10
- 3 -
Chapter 1. About the Product
Chapter 1. About the Product
1.1 Overview of the MCU
This can be used for one of the next purposes depending on the slave board combined with the
Main Board.
- for 2 axes servo motor drive by means of analog signal output
- for 2 axes step motor drive by means of pulse signal output
- High-end I/O controller
Page 11
- 4 -
Chapter 1. About the Product
1.2 Features of the MCU
- Small size: 108mm * 80mm * 26mm
- Simple and easy to use
- Economical subminiature 2-axis motion controller
- Linear and arc interpolation
- Various operation variables(position, velocity, dwell, L variable)
- PLC function
- PLC, Touch panel communication
1.3 Application fields of the MCU
- For transportation and assembly: FEEDER, LOADER/UNLOADER, CONVAYOR
- Industrial device: Packer, semiconductor equipment, machine, cutter, XY TABLE
- Peripheral: Pallet
1.4 Product type name
MCU -
Motion Control Unit
Base B/D Type X Built-in Main Base,
I/O(2/3)
E Extension base(Ext. Base-I/O)
Function A2 Analog Output P2 Pulse Output
L General input/output(Logic I/O)
Page 12
- 5 -
Chapter 1. About the Product
1.5 General specification
Type name
Item
MCU-
XA2 XP2 XL E EL Input power
Input voltage DC 24V(+/- 10%) Current consumption 150mA 180mA 121mA 77mA 105mA
Operator PC(Win98 or later) Serial communication
program
- -
Communica
tion
RS232 Max. 38400Bps RS485 Max. 38400Bps, 64 Nodes
Analog output
Number of channels 2Ch. - - - ­Output voltage -10V ~ +10V Encoder type Incremental
Differential Line drive, Phase A/B/Z
- - - -
Encoder frequency Max. 2.5 MHz - - - -
Pulse
Output
Number of channels - 2Ch. Output type - Differential
Line Drive
- - -
Output mode - CW/CCW
Pulse/Directi on
- - -
Output frequency - 1~3.75Mpps - - ­External separate
encoder
Number of input
channels
1Ch. 2Ch.
Input type Incremental Differential Line
drive, Phase A/B
- -- -
Input frequency Max. 2.5 MHz - - -
Extended
I/O
Cable Length/type Max. 10m 16Pin Flat Cable - -
Communication speed 1.5M Bps - -
No. of maximum
extended I/O
2EA(64(in)/48(out)) - -
I/O
In
pu
t
No. of
contacts
16 22 14 20 32
Input voltage 12V/24V(Min ON: 10V, Max OFF: 5V)
Input current 5mA/24V Ou tp ut
No. of
contacts
11 13 13 14 24
Output voltage 5V / 12V / 24V Output current Max. 80mA Sink Current
MC
program
No. of possible registrations
10 EA
Maximum capacity 37.5 kBytes
Operation
variable
Position variable (P)
100 EA
Speed variable (F) 10 EA Pause variable (D) 10 EA L variable (L) 2,000 EA
Program for PC MSW-MCU2
1.6 Use environment
Environment Condition
Ambient temperature 0ºC ~ +45ºC(no freezing)
Ambient humidity 85% RH or less(no dew condensation)
Storage temperature -15ºC ~ +65ºC(no freezing)
Storage humidity 90% RH or less(no dew condensation)
Ambient condition Dust and corrosion free(no gas)
Vibration 0.6G or less
Page 13
- 6 -
Chapter 1. About the Product
1.7 Caution during installation and use
- When wiring a cable, make sure not to cross to or to be adjacent to noise sources such as AC power cables, motor power cables, etc.
- When installing this product, allow enough ventilation to the vent. Otherwise, this product may be over-heated to cause a malfunction.
- When connecting an extended I/O module(MCU-E/EL), wire a flat cable completely, select an ID number by a dip switch, and then turn on power.
- When connecting this product to a serial port of a PC, do not connect it to other pins but 2(RxD), 3(TxD), 5(GND). This can damage the PC or cause a malfunction of the product.
- When using the RS485 communication, do not connect to other pins but 7(TRxD+), 8(TRxD-), 1(Protocol), 5(GND).
- Use termination resistance(120~220Ω)on both ends of the pin 7(TRxD+) and 8(TRxD-) when using the RS485 communication.
- When connecting a communication cable, do not connect the RS232/485 Port 5(GND) of this product to the external F.G. This product may be electrically shocked seriously.
- When connecting a differential signal line such as an encoder, pulse output, etc., be sure to use a twisted pair of shield wires.
Page 14
- 7 -
Chapter 2. MC Programming
Chapter 2. MC Programming
2.1 Types of MC program commands, variables and contacts usable
A) MC program commands can be grouped into 8 categories in large.
(1) Program control related command: Commands for branching, ending, etc. of a program. (2) Conditional branching related command: Controls program branching via an input/output
condition and an IF condition comparison sentence.
(3) Coordinate setting related command: Commands for resetting coordinate. (4) Velocity setting related command: Commands for velocity setting. (5) Movement related command: Commands for motor movement. (6) Input/output contact related command: Controls execution of input, output and auxiliary
contacts and programs.
(7) Condition comparison related command: Used as a comparison operator for an IF condition
comparison sentence.
(8) Variable manipulation related command: Used as an operator for a variable manipulation
sentence.
B) The variables usable for MC programs can be grouped into 4 categories in large.
(1) P variable: Used to designate 2-dimensional position data. (2) F variable: Used to designate velocity data. (3) D(E) variable: Used to designate dwell data. (4) L variable: Used to designate 2-dimensional position, velocity, time, pulse,
manipulation and comparison data as a variable with multi-purpose functions.
C) The input, output and auxiliary contacts used in MC programs can be grouped into 3
categories in large. (1) X contact: Used to designate an input contact. (2) Y contact: Used to designate an output contact. (3) M contact: Used to designate an auxiliary contact.
Table 2.1 List of MC program commands
Division Command Function Type Example of use
Program
/* Declaration of a program comment /* <comment> /* TEST PROGRAM
LABL Designation of a program branching point block LABL <label name> LABL LB1
GOTO Program Branching command GOTO <label name> GOTO LB1
STOP Program pause command STOP STOP
END Program ending END END
DWL Program pause
DWL <D variable
number(0~9)>
DWL <L variable>
DWL 0
DWL L0
Conditio
nal
branchin
g
IF
Branching of a program and proceeding of the
next command according to the result of a
comparing sentence
IF <condition comparing
sentence> <label name>
IF L0 .LE 0 LB1
IN0
Branching of a program if the designated
contact satisfies‘0’, otherwise proceeding of
the next command
IN0 <designated contact>
<label name>
IN0 X0.0 LB1 IN0 Y0.0 LB1 IN0 M0.0 LB1
IN1
Branching of a program if the designated
contact satisfies‘1’, otherwise proceeding of
the next command
IN1 <designated contact>
<label name>
IN1 X0.0 LB1 IN1 Y0.0 LB1 IN1 M0.0 LB1
Page 15
- 8 -
Chapter 2. MC Programming
Division Command Function Type Example of use
Input/ou
tput
IN0
Execution of programs waiting until the
designated contact signal becomes‘0’
IN0 <input contact>
IN0 <output contact>
IN0 <auxiliary contact>
IN0 X0.0 IN0 Y0.0 IN0 M0.0
IN1
Execution of programs waiting until the
designated contact signal becomes‘1’
IN1 <input contact>
IN1 <output contact>
IN1 <auxiliary contact>
IN1 X0.0 IN1 Y0.0 IN1 M0.0
IIN0
Waiting until the designated input contact signal becomes‘0’(used to check an input
contact at a high speed)
IIN0 <input contact> IIN0 X0.0
IIN1
Waiting until the designated input contact signal becomes‘1’(used to check an input
contact at a high speed)
IIN1 <input contact> IIN1 X0.0
OUT0
Outputting‘0’to the designated contact (turn
OFF the designated contact and then execute the
next command)
OUT0 <output contact>
OUT0 <auxiliary contact>
OUT0 Y0.0 OUT0 M0.0
OUT1
Outputting‘1’to the designated contact (turn ON the designated contact and then execute the
next command)
OUT1 <output contact>
OUT1 <auxiliary contact>
OUT1 Y0.0 OUT1 M0.0
Coordina
te
setting
SET Coordinate system setting(absolute coordinate)
SET <position point>
SET <L variable> <L
variable>
SET P0
SET L0 L1
XSET
X-axis coordinate system setup(absolute
coordinate)
XSET <position point>
XSET <L variable> <L
variable>
XSET P0
XSET L0 L1
YSET
Y-axis coordinate system setup(absolute
coordinate)
YSET <position point>
YSET <L variable> <L
variable>
YSET P0
YSET L0 L1
SET2
Coordinate system setting(absolute, machine
coordinate)
SET2 <position point>
SET2 <L variable> <L
variable>
SET2 P0
SET2 L0 L1
XSET2
X-axis coordinate system setup(absolute,
machine coordinate)
XSET2 <position point>
XSET2 <L variable> <L
variable>
XSET2 P0
XSET2 L0 L1
YSET2
Y-axis coordinate system setup(absolute,
machine coordinate)
YSET2 <position point>
YSET2 <L variable> <L
variable>
YSET2 P0
YSET2 L0 L1
Velocity
setting
VEL Movement velocity setting command
VEL <F variable number
(0~9)>
VEL <L variable>
VEL 0
VEL L0
XVEL
X-axis movement velocity command (Used for the
X-axis velocity command of the PTP and IPTP
movement command)
XVEL <F variable number
(0~9)>
XVEL <L variable>
XVEL 0
XVEL L0
YVEL
Y-axis movement velocity command (Used for the
Y-axis velocity command of the PTP and IPTP
movement command)
YVEL <F variable number
(0~9)>
YVEL <L variable>
YVEL 0
YVEL L0
A Acceleration time setting command
A <D variable number(0~9)>
A <L variable>
A0
A L0
XA
X-axis acceleration time command (Used for the
X-axis acceleration time command of the PTP and
IPTP movement command)
XA <D variable number(0~9)>
XA <L variable>
XA 0
XA L0
YA
Y-axis acceleration time command (Used for the
Y-axis acceleration time command of the PTP and
IPTP movement command)
YA <D variable number(0~9)>
YA <L variable>
YA 0
YA L0
D Deceleration time setting command
D <D variable number(0~9)>
D <L variable>
D0
D L0
XD
X-axis deceleration time command (Used for the
X-axis deceleration time command of the PTP and
IPTP movement command)
XD <D variable number(0~9)>
XD <L variable>
XD 0
XD L0
YD
Y-axis deceleration time command (Used for the
Y-axis deceleration time command of the PTP and
IPTP movement command)
YD <D variable number(0~9)>
YD <L variable>
YD 0
YD L0
Page 16
- 9 -
Chapter 2. MC Programming
Division Command Function Type Example of use
Movement
MOV
Move by interpolation from the current position
to the target point, decelerate and then stop
MOV <position point>
MOV <L variable> <L
variable>
MOV P0
MOV L0 L1
IMOV
Move by interpolation from the current position
to the increment, decelerate and then stop
IMOV <position point>
IMOV <L variable> <L
variable>
IMOV P0
IMOV L0 L1
PTP
Move individually from the current position to
the target point, decelerate and then
stop(individual velocity)
PTP <position point>
PTP <L variable> <L
variable>
PTP P0
PTP L0 L1
IPTP
Move individually from the current position to
the increment, decelerate and then
stop(individual velocity)
IPTP <position point>
IPTP <L variable> <L
variable>
IPTP P0
IPTP L0 L1
XMOV
Move the X-axis only from the current position
to the target point, decelerate and then stop
XMOV <position point>
XMOV <L variable>
XMOV P0 XMOV L0
YMOV
Move the Y-axis only from the current position
to the target point, decelerate and then stop
YMOV <position point>
YMOV <L variable>
YMOV P0 YMOV L0
XIMOV
Move the X-axis only from the current position
to the increment, decelerate and then stop
XIMOV <position point>
XIMOV <L variable>
XIMOV P0 XIMOV L0
YIMOV
Move the Y-axis only from the current position
to the increment, decelerate and then stop
YIMOV <position point>
YIMOV <L variable>
YIMOV P0 YIMOV L0
CW
CW arc interpolation from the current
position(start point) to the target point(end
point)
CW <target point> <radius>
CW P0 P1
CW PL0 PL1
CCW
CCW arc interpolation from the current
position(start point) to the target point(end
point)
CCW <target point> <radius>
CCW P0 P1
CCW PL0 PL1
ICW
CW arc interpolation from the current
position(start point) to the increment(end
point)
ICW <increment> <radius>
ICW P0 P1
ICW PL0 PL1
ICCW
CCW arc interpolation from the current
position(start point) to the increment(end
point)
ICCW <increment> <radius>
ICCW P0 P1
ICCW PL0 PL1
PMOV Palletizing movement PMOV <data> <position>
PMOV L0 P0
PMOV L0 L10
PCLR Palletizing counter clear PCLR <data> PCLR L0
FOS Pre-execution of the next block
FOS <D variable
number(0~9)>
FOS <L variable>
FOS 0
FOS L0
RET Move to the home RET RET
IF
conditio
n
comparis
on
.EQ
Used for the comparison of ‘equal to(=)’in an
IF condition comparing sentence
IF <variable> .EQ
<variable>
<label name>
IF <variable> .EQ <number>
<label name>
IF L0 .EQ L1
LB1
IF L0 .EQ 0 LB1
.LE
Used for the comparison of ‘less than or equal
to(<=)’in an IF condition comparing sentence
IF <variable> .LE
<variable>
<label name>
IF <variable> .LE <number>
<label name>
IF L0 .LE L1
LB1
IF L0 .LE 0 LB1
.LT
Used for the comparison of ‘less than(<)’in
an IF condition comparing sentence
IF <variable> .LT
<variable>
<label name>
IF <variable> .LT <number>
<label name>
IF L0 .LT L1
LB1
IF L0 .LT 0 LB1
.GE
Used for the comparison of ‘greater than or
equal to(>=)’in an IF condition comparing
sentence
IF <variable> .GE
<variable>
<label name>
IF <variable> .GE <number>
<label name>
IF L0 .GE L1
LB1
IF L0 .GE 0 LB1
.GT
Used for the comparison of ‘greater
than(>)’in an IF condition comparing sentence
IF <variable> .GT
<variable>
<label name>
IF <variable> .GT <number>
<label name>
IF L0 .GT L1
LB1
IF L0 .GT 0 LB1
Page 17
- 10 -
Chapter 2. MC Programming
Division Command Function Type Example of use
.NE
Used for the comparison of ‘not equal
to(!=)’in an IF condition comparing sentence
IF <variable> .NE
<variable>
<label name>
IF <variable> .NE <number>
<label name>
IF L0 .NE L1
LB1
IF L0 .NE 0 LB1
Variable manipula
tion
=
Used for the movement of manipulation results
in a variable manipulation sentence
<variable> = <variable>
<variable> = <number>
<variable> = <operation
sentence>
L0 = L1
L0 = 1234
L0 = L0 + 1
+
Used for addition in a variable manipulation
sentence
<variable> + <variable>
<variable> + <number>
<variable> + <operation
sentence>
<operation sentence> +
<operation sentence>
L0 = L1 + L2
L0 = L0 + 1
L0 = L1 + (L2-
1)
(L1*2) + (L2*4)
-
Used for subtraction in a variable manipulation
sentence
<variable> - <variable>
<variable> - <number>
<variable> - <operation
sentence>
<operation sentence> -
<operation sentence>
L0 = L1 - L2
L0 = L0 - 1
L0 = L1 - (L2-
1)
(L1*2) - (L2*4)
*
Used for multiplication in a variable
manipulation sentence
<variable> * <variable>
<variable> * <number>
<variable> * <operation
sentence>
<operation sentence> *
<operation sentence>
L0 = L1 * L2
L0 = L0 * 2
L0 = L1 * (L2-
1)
(L1+2) *
(L2/4))
/
Used for division in a variable manipulation
sentence
(used to obtain the ‘quotient’ of a division
result)
<variable> / <variable>
<variable> / <number>
<variable> / <operation
sentence>
<operation sentence> /
<operation sentence>
L0 = L1 / L2
L0 = L0 / 100
L0 = L1 / (L2-
1)
(L1*2) / (L2*4)
%
Used for division in a variable manipulation
sentence
(used to obtain the ‘remainder’ of a division
result)
<variable> % <variable>
<variable> % <number>
<variable> % <operation
sentence>
<operation sentence> %
<operation sentence>
L0 = L1 % L2
L0 = L0 % 100
L0 = L1 % (L2-
1)
(L1*2) % (L2*4)
(, )
Used to adjust the priority of operation in a
variable manipulation sentence(available up to
5 nesting)
(handle the operation sentence in the
parenthesis() first)
(((<operation sentence>))) ((L1+2)*(L2-4))
Page 18
- 11 -
Chapter 2. MC Programming
Table 2.2 List of MC program variable functions
Division Variable Function Amount Example of use
Data
classifica
tion
P variable
Used to designate
2-dimensional position
data
Input range:
-2,147,483,648 ~ 2,147,483,647
P0 ~ P99 MOV P0, IMOV P1, SET2 P99, ..
F variable Used to designate velocity data F0 ~ F9 VEL 0, VEL 1, VEL 2, ~ VEL 9
D(E)
variable
Used to designate dwell data Used to designate acceleration time data Used to designate deceleration time data
-------------------------
Used as comparison data in a comparing
condition sentence
Used as manipulation data in a variable
manipulation sentence
Used to designate position data indirectly
D0 ~ D9
(E0 ~ E9)
DWL 0, DWL 1, DWL 2, ~ DWL 9
A0, A1, A2, ~ A9 D0, D1, D2, ~ D9
IF E8 .LT E9 LB1
E0=E8-E9
MOV PE0
L variable
Used to designate position data Used to designate velocity data
Used to designate dwell data Used to designate acceleration time data Used to designate deceleration time data
Used as comparison data in a comparing
condition sentence
Used as manipulation data in a variable
manipulation sentence
Used to designate data indirectly
L0~ L1999
MOV L0 L1,IMOV L0 L1,
SET2 L1998 L1999, .. VEL L0, VEL L1, ~ VEL L1999 DWL L0, DWL L1, ~ DWL L1999 A L0, A L1, A L2, ~ A L1999 D L0, D L1, D L2, ~ D L1999
IF L0 .LT L1999 LB1
L0=L0-L1999
MOV PL0, MOV LL0 LL1, VEL LL0, ..
Table 2.3 List of MC program contact functions
Division Variable Function Amount Example of use
Contact
classifica
tion
X contact
XP2 Main unit input contact
XA2 Main unit input contact Extended No.1 unit input contact(MCU-E) Extended No.1 unit input contact(MCU-L) Extended No.2 unit input contact(MCU-E) Extended No.2 unit input contact(MCU-L)
X0.0~X1.5 X0.0~X0.F X2.0~X3.3 X3.4~X3.F X4.0~X5.3 X5.4~X5.F
IIN0 X0.0, ~ IIN0 X0.F IIN1 X0.0, ~ IIN1 X0.F
IN0 X0.0, ~ IN0 X5.F
IN1 X0.0, ~ IN1 X5.F IN0 X0.0 LB1, ~ IN0 X5.F LB16 IN1 X0.0 AA1, ~ IN1 X5.F AA16
Y contact
XP2 Main unit output contact
XA2 Main unit output contact Extended No.1 unit output contact(MCU-E) Extended No.1 unit output contact(MCU-L) Extended No.2 unit output contact(MCU-E) Extended No.2 unit output contact(MCU-L)
Y0.0~Y0.C Y0.0~Y0.A Y1.0~Y1.D Y1.E~Y2.7 Y3.0~Y3.D Y3.E~Y4.7
IN0 Y0.0, ~ IN0 Y4.F
IN1 Y0.0, ~ IN1 Y4.F IN0 Y0.0 LB1, ~ IN0 Y4.F LB16 IN1 Y0.0 AA1, ~ IN1 Y4.F AA16
OUT0 Y0.0, ~ OUT0 Y4.7 OUT1 Y0.0, ~ OUT1 Y4.7
M contact
Internal auxiliary contact
(used for control interlocked with a PLC
program)
M0.0
~M199.F
IN0 M0.0, ~ IN0 M199.F
IN1 M0.0, ~ IN0 M199.F IN0 M0.0 LB1,~IN0 M199.F LB16 IN1 M0.0 AA1,~IN1 M199.F AA16
OUT0 M0.0, ~ OUT0 M199.F OUT1 M0.0, ~ OUT1 M199.F
[Caution] : Do not use an area of M contacts reserved for an MC program contact.
- M50.0 ~ M79.F: MC output (MC PLC) flag contact area
- M80.0 ~ M99.F: MC input (PLC MC) flag contact area
Page 19
- 12 -
Chapter 2. MC Programming
2.2 MC Program command details
1) LABL
Input type LABL <label name>
Terminology
<Label name>: Set the name of a label. Possible up to 7 digits including English and
number. Related command
GOTO,IF,IN0,IN1
Explanation
Set a block to be branched by GOTO,IF,IN0,IN1.
(Note) The label name shall not be the same as a command or variable name.
Example
LABL LB0
GOTO LB0
Set a label with a name‘LB0’.
2) GOTO
Input type GOTO <label name> Terminology <Label name>: Designate the name of a label to branch. Related command
LABL
Explanation
Command a label to move to a ‘LABELED’ sentence to a set block with an absolute
branch command of program execution.
(Note) Designate the name of a label set by a LABL command, and if the name of the
designated label is not set, then an alarm takes place.
Example
VEL 0
MOV P0
LABL LB0
MOV P1
MOV P2
GOTO LB0
Move to a ‘LABELED’ sentence from a command “GOTO LB0”to“LABL LB0”. Move to a ‘LABELED’ sentence, repeating commands “MOV P1”and “MOV P2”.
3) STOP
Input type STOP
Explanation
Command pause of program execution.
The execution of a program stopped by a STOP command is restarted by a START signal.
The START signal is generated by an MSW-MCU2 program, a PLC contact ‘M80.2’, a PLC
command ‘START’, or an external input“X0.6” by parameter reservation.
Example
VEL 0
MOV P0
STOP
MOV P1
“MOV P0” is executed and then stopped, and the next command is executed by a START signal.
4) END
Input type END Explanation Command the end of program execution. Example VEL 0
MOV P0
END
MOV P1
“MOV P0”is executed and then program execution is ended.
Page 20
- 13 -
Chapter 2. MC Programming
5) DWL
Input type DWL <number> or DWL <L variable>
Terminology
<Number>: Set a dwell time from the Dwell(E) Table.(0 ~ 9)
<L variable>: Set a dwell time from the L-VAR Table.(L0 ~ L1999) Related variable
D variable, L variable
Explanation
Program execution stops as much as the set dwell time(unit: msec) for the designated
variable.
Example of use
DWL 0
DWL L0
Operation stops for the set time of a variable ‘ DO ’ in the Dwell(E)
Table, and then continues
Operation stops for the set time of a variable ‘L0’ in the L-VAR Table
and then continues.
Example
VEL 0
MOV P0
DWL 0
VEL 1
MOV P1
Fig. 2.1 Time pause function
Pause as much as the DO variable value by a command “DWL 0”.
[Reference: External encoder pause function]
Pause by an external encoder Parameter P62: Encoder accumulation dwell during automatic operation
P63: Encoder Dwell [M80.5] during dwell
Explanation
Setting basic parameter P63 stops program execution as many as the number of set
pulses of the designated variable.
See the Fig.2.2 Pulse pause function.
Setting basic parameter P62 stops program execution as many as the number of set
accumulated pulses of the designated variable.
See the Fig.2.3 Accumulated pulse pause function.
(Note) The time and the pulse pause function cannot be simultaneously used.
Do not set the parameters P62 and P63 simultaneously.
Velocity
Time
F0
F1
Current position
P0
p
osition P1 position
Time pause
Page 21
- 14 -
Chapter 2. MC Programming
Fig.2.2 Pulse pause function
<Pause until the number of pulses set in a DO variable value is entered from the external
encoder by a “DWL 0” command. Set a parameter P63, and if M80.5 is‘0’, a pulse pause function is used.>
Fig.2.3 Accumulated pulse pause function
<Pause until the number of pulses set in a DO variable value is accumulatively entered from
an encoder by a “DWL 0”command. If the accumulated pulse number is greater than “DWL 0”value, then the next command is executed without pulse pause. The number of accumulated pulses is initialized to ‘0’ when the MC program starts. Set the parameter P62 or the parameter P63, and if M80.5 is‘1’, then use the accumulated pulse dwell function.>
VEL 0 MOV P0 DWL 0 VEL 1 MOV P1
Velocity
Time
F0
F1
Current position
P0
p
osition P1 position
Pulse pause
VEL 0 MOV P0 DWL 0 VEL 1 MOV P1
Speed
Time
F0
F1
Current position
P0 position P1 position
Accumulated pulse pause
Page 22
- 15 -
Chapter 2. MC Programming
6) SET
Input type SET <P variable> or SET <L variable 1> <L variable 2> Terminology <P variable>: Set the variable for a position from the Position Table.(P0 ~ P99)
<L variable>: Set the variable for a position from the L-VAR Table.(L0 ~ L1999) Related variable
P variable, L variable
Explanation The current position(absolute coordinate) is reset in a coordinate of the set number.
For the case of using L variable, the 1st L variable means X-axis coordinate, the 2nd L
variable Y-axis coordinate. Example of use
SET P2
SET L2 L3
SET PL0
SET LL0 LL1
Reset the 2-dimensional position by using a P2 variable. Reset the position by using an L2 and L3 variable.(X,Y-axis
respectively)
Reset the position by using a P variable pointed out by a L0 variable.
Reset the position by using a L variable indicated by a L0 variable
and a L variable indicated by a L1 variable.
Example VEL 0
MOV P0
SET P2
VEL 1
MOV P1
SETTING VALUE OF P0: 50.000, 30.000 SETTING VALUE OF P2: 10.000, 10.000
SETTING VALUE OF P1: 60.000, 40.000
Fig.2.4 Absolute coordinate reset function
Velocity
Time
F0
F1
Current position (0.000,0.000) P0 position(50.000,30.000) P1 position (60.000, 40.000)
P0 movement amount (50.000, 30.000)
P1 movement amount (50.000, 30.000)
The position values 50.000 and 30.000 are reset to 10.000 and 10.000 by the SET P2.
Page 23
- 16 -
Chapter 2. MC Programming
7) XSET
Input type XSET <P variable> or XSET <L variable1> <L variable2> Terminology <P variable>: Set the variable for a position from the Position Table.(P0 ~ P99)
<L variable>: Set the variable for a position from the L-VAR Table.(L0 ~ L1999) Related variable
P VARIABLE, L VARIABLE
Explanation The current position(absolute coordinate) of the X-axis is reset in a coordinate of the
set number. For the case of using L variable, the 1st L variable means X-axis
coordinate. The 2nd L variable is simply ignored. Example of use
XSET P2
XSET L2 L3
XSET PL0
XSET LL0
LL1
Reset the X-axis position by using the X-axis position value of a P2
variable.
Reset the X-axis position by using a L2 variable. Reset the X-axis position by using the X-axis position value of a P
variable pointed out by a L0 variable.
Reset the X-axis position by using an L variable pointed out by a L0
variable.
Example VEL 0
MOV P0
XSET P2
VEL 1
MOV P1
Setting value of P0: 50.000, 30.000 Setting value of P2: 10.000, 10.000
Setting value of P1: 60.000, 40.000
Fig.2.5 X-axis absolute coordinate reset function
Velocity
Time
F0
F1
Current position (0.000,0.000)
P0 position (50.000, 30.000) P1 position (60.000, 40.000)
P0 movement amount (50.000, 30.000)
P1 movement amount (50.000, 10.000)
The position values 50.000 and 30.000 are reset to 10.000 and 30.000 by the XSET P2.
Page 24
- 17 -
Chapter 2. MC Programming
8) YSET Input
type
YSET <P variable> or YSET <L variable1> <L variable2>
Terminol ogy
<P variable>: Set the variable for a position from the Position Table.(P0 ~ P99)
<L variable>: Set the variable for a position from the L-VAR Table.(L0 ~ L1999) Related variable
P variable, L variable
Explanat ion
The current position(absolute coordinate) of the Y-axis is reset in a coordinate of the set
number. For the case of using L variable, the 2nd L variable means the Y-axis coordinate.
The 1st L variable is simply ignored.
Example of use
YSET P2
YSET L2
L3
YSET PL0
YSET LL0
LL1
Reset the Y-axis position by using the Y-axis position value of a
P2 variable.
Reset the Y-axis position by using a L3 variable.
Reset the Y-axis position by using the Y-axis position value of a P
variable pointed out by a L0 variable.
Reset the Y-axis position by using an L variable pointed out by a
L1 variable.
Example VEL 0
MOV P0
YSET P2
VEL 1
MOV P1
Setting value of P0: 50.000, 30.000 Setting value of P2: 10.000, 10.000
Setting value of P1: 60.000, 40.000
Fig. 2.6 Y-axis absolute coordinate reset function
Velocity
Time
F0
F1
Current position(0.000,0.000)
P0 position (50.000, 30.000) P1 position (60.000, 40.000)
P0 movement amount (50.000, 30.000)
P1 movement amount (10.000, 30.000)
The position values 50.000 and 30.000 are reset to
50.000 and 10.000 by the YSET P2.
Page 25
- 18 -
Chapter 2. MC Programming
9) SET2
Input type SET2 <P variable> or SET2 <L variable1> <L variable2> Terminology <P variable>: Set the variable for a position from the Position Table.(P0 ~ P99)
<L variable>: Set the variable for a position from the L-VAR Table.(L0 ~ L1999) Related variable
P variable, L variable
Explanation The current position(absolute coordinate) and the motor position(machine coordinate)
are reset to the set variable coordinate.
The action is same as the SET command, and the machine coordinate of motor position,
i.e. the encoder coordinate is reset, too.
Even though automatic operation ends, the coordinate isn’t recovered.
In closed loop control of MCU-XA2 and MCU-XP2, the position of a servo motor shifts
as much as the servo motor offset. For the case of using L variable, the 1st L
variable means X-axis coordinate, the 2nd L variable Y-axis coordinate. Example of use SET2 P2
SET2 L2
L3
SET2 PL0
SET2 LL0
LL1
Reset the
2-dimensional position by using a P2 variable.
Reset the position by using a L2 and L3 variable.
Reset the position by using a P variable pointed out by a L0 variable. Reset the position by using an L variable indicated by a L0 variable
and a L variable indicated by a L1 variable.
Example VEL 0
MOV P0
SET2 P2
VEL 1
MOV P1
Setting value of P0: 50.000, 30.000 Setting value of P2: 10.000, 10.000
Setting value of P1: 60.000, 40.000
Fig. 2.7 Absolute coordinate and machine coordinate reset function
velocity
Time
F0
F1
Current position (0.000, 0.000) P0 position (50.000, 30.000) P1 position (60.000, 40.000)
P0 movement amount (50.000, 30.000)
P1 movement amount
(50.000, 30.000)
The position values 50.000 and 30.000 are reset to
10.000 and 10.000 by the SET2 P2.
Page 26
- 19 -
Chapter 2. MC Programming
10) XSET2
Input type XSET2 <P variable> or XSET2 <L variable1> <L variable2> Terminology <P variable>: Set the variable for a position from the Position Table.(P0 ~ P99)
<L variable>: Set the variable for a position from the L-VAR Table.(L0 ~ L1999) Related variable
P variable, L variable
Explanation The X-axis current position(absolute coordinate) and the motor position(machine
coordinate) are reset to the set variable coordinate.
The action is same as the XSET command, and the machine coordinate of X-axis motor
position, i.e. the encoder coordinate is reset, too.
Even though automatic operation ends, the coordinate isn’t recovered.
In closed loop control of MCU-XA2 and MCU-XP2, the position of a servo motor shifts as
much as the servo motor offset. For the case of using L variable, the 1st L variable
means X-axis coordinate. The 2nd L variable is simply ignored. Example of use
XSET2 P2
XSET2 L2 L3
XSET2 PL0
XSET2 LL0
LL1
Reset the X-axis position by using the X-axis position value of a P2
variable.
Reset the X-axis position by using a L2 variable value. Reset the X-axis position by using the X-axis position value of a P
variable pointed out by a L0 variable.
Reset the X-axis position by using an L variable value pointed out by a
L0 variable.
Example VEL 0
MOV P0
XSET2 P2
VEL 1
MOV P1
Setting value of P0: 50.000, 30.000 Setting value of P2: 10.000, 10.000
Setting value of P1: 60.000, 40.000
Fig. 2.8 X-axis absolute coordinate and machine coordinate reset function
Velocity
Time
F0
F1
Current position(0.000,0.000)
P0 position (50.000, 30.000)
P1 position (60.000, 40.000)
P0 movement amount (50.000, 30.000)
P1 movement amount (50.000, 10.000)
The position values 50.000 and 30.000 are reset to 10.000 and 30.000 by the XSET2 P2.
Page 27
- 20 -
Chapter 2. MC Programming
11) YSET2
Input type YSET2 <P variable> or YSET2 <L variable1> <L variable2> Terminology <P variable>: Set the variable for a position from the Position Table.(P0 ~ P99)
<L variable>: Set the variable for a position from the L-VAR Table.(L0 ~ L1999) Related variable
P variable, L variable
Explanation The Y-axis current position(absolute coordinate) and the motor position(mechanical
coordinate) are reset to the set variable coordinate.
The action is same as the YSET command, and the mechanical coordinate of Y-axis motor
position, i.e. the encoder coordinate is reset, too.
Even though automatic operation ends, the coordinate isn’t recovered.
In closed loop control of MCU-XA2 and MCU-XP2, the position of a servo motor shifts as
much as the servo motor offset. For the case of using L variable, the 2nd L variable
means the Y-axis coordinate. The 1st L variable is simply ignored. Example of use
YSET2 P2
YSET2 L2
L3
YSET2 PL0
YSET2 LL0
LL1
Reset the Y-axis position by using the Y-axis position value of a P2
variable.
Reset the Y-axis position by using a L3 variable value.
Reset the Y-axis position by using the Y-axis position value of a P
variable pointed out by a L0 variable.
Reset the Y-axis position by using an L variable value pointed out by a
L1 variable.
Example VEL 0
MOV P0
YSET2 P2
VEL 1
MOV P1
Setting value of P0: 50.000, 30.000 Setting value of P2: 10.000, 10.000
Setting value of P1: 60.000, 40.000
Fig. 2.9 Y-axis absolute coordinate and machine coordinate reset function
Velocity
Time
F0
F1
Current position (0.000,0.000)
P0 position (50.000, 30.000) P1 position (60.000, 40.000)
P0 movement amount (50.000, 30.000)
P1 movement amount (10.000, 30.000)
The position values 50.000 and 30.000 are reset to 50.000 and 10.000 by the YSET P2.
Page 28
- 21 -
Chapter 2. MC Programming
12) VEL
Input type VEL <number> or VEL <L variable> Terminology <Number>: >: Set the number of variable for a velocity from the F Table.(0 ~ 9)
<L variable>: Set the variable for a velocity from the L-VAR Table.(L0 ~ L1999) Related variable
F variable, L variable
Related command
MOV,IMOV,XMOV,YMOV,CW,CCW,ICW,ICCW,PTP,IPTP
Parameter Maximum velocity(P18), acceleration or deceleration time(P23), deceleration time (P65) Explanation A movement related command is executed at a velocity of the set variable.
The once set velocity is effective until a reset. Example of use
VEL 0
VEL L0
Designate a velocity by using a variable F0. Designate a velocity by using a variable L0.
Example VEL 0
MOV P0
VEL L0
MOV P1
Fig. 2.10 Velocity reset
Velocity
Time
F0
L0
Current position
P0 position
P1 position
Page 29
- 22 -
Chapter 2. MC Programming
13) XVEL
Input type XVEL <number> or XVEL <L variable> Terminology <Number>: Set the number of variable for a velocity from the F Table.(0 ~ 9)
<L variable>: Set the variable for a velocity from the L-VAR Table.(L0 ~ L1999) Related variable
F variable, L variable
Related command
PTP,IPTP
Parameter Maximum velocity(P18), acceleration or deceleration time(P23), deceleration time (P65) Explanation A command(PTP, IPTP) related to the X-axis movement is executed at a velocity of the
set variable.
The once set velocity is effective until a reset.
If the VEL is commanded and the XVEL is commanded next, then the VEL becomes effective
during interpolation movement and the XVEL becomes effective during rapid movement.
That is, the interpolation velocity and the rapid velocity can be designated
separately.
If the XVEL is commanded and the VEL is commanded next, then the XVEL command is
cancelled and the VEL velocity becomes effective.
The XVEL is only possible during rapid movement(PTP,IPTP). Example of use
XVEL 0
XVEL L0
Designate a velocity by using a variable F0. Designate a velocity by using a variable L0.
Example XVEL 0
PTP P0
XVEL L0
PTP P1
Fig. 2.11 X-axis velocity reset
X-axis velocity
Time
F0
L0
Current
p
osition P0 position
P1 position
Page 30
- 23 -
Chapter 2. MC Programming
14) YVEL
Input type YVEL <number> or YVEL <L variable> Terminology <Number>: Set the number of variable for a velocity from the F Table.(0 ~ 9)
<L variable>: Set the variable for a velocity the L-VAR Table.(L0 ~ L1999) Related variable
F variable, L variable
Related command
PTP,IPTP
Parameter Maximum velocity(P18), acceleration or deceleration time(P23), deceleration time (P65) Explanation A command(PTP, IPTP) related to the Y-axis movement is executed at a velocity of the
set variable.
The once set velocity is effective until a reset.
If the VEL is commanded and the YVEL is commanded next, then the VEL becomes effective
during interpolation movement and the YVEL becomes effective during rapid movement.
That is, the interpolation velocity and the rapid velocity can be designated
separately.
If the YVEL is commanded and the VEL is commanded next, then the YVEL command is
cancelled and the VEL velocity becomes effective.
The YVEL is only possible during rapid movement(PTP,IPTP). Example of use
YVEL 0
YVEL L0
Designate a velocity by using a variable F0. Designate a velocity by using a variable L0.
Example YVEL 0
PTP P0
YVEL L0
PTP P1
Fig. 2.12 Y-axis velocity reset
Y-axis velocity
Time
F0
L0
Current position
P0 position
P1 position
Page 31
- 24 -
Chapter 2. MC Programming
15) A
Input type A <number> or A <L variable> Terminology
<Number>: Set the number of variable for acceleration time.
0 ~ 9(Share the Dwell(E) Table used for a DWL command.)
<L variable>: Set the variable for an acceleration time from the L-VAR Table. (L0 ~ L999)
Related variable
D variable, L variable
Related command
MOV,IMOV,XMOV,YMOV,CW,CCW,ICW,ICCW,PTP,IPTP
Parameter Maximum velocity(P18), acceleration or deceleration time(P23) Explanation The acceleration time changes to a time(msec) set to the commanded variable number D or
L. The acceleration value applied to a movement command is calculated in a time arriving at the maximum velocity. If commanding is omitted, then the Acceleration or deceleration time set to a parameter “P23 Acceleration or deceleration time” is effective.
The once set acceleration time is effective until a reset unless it is reset. Example of use
A L0
A0
Designate an acceleration time by using a L0 variable. Designate an acceleration time by using a D0 variable.
Example VEL 0
MOV P0
A0
MOV P1
Fig. 2.13 Acceleration time reset
Initial acceleration slope = Maximum velocity (P18) / Acceleration or deceleration time (P23)
Acceleration slope = Maximum velocity (P18) / D variable value or L variable value
Velocity
Time
F0
Maximum velocity
Current position P0 position P1 position
D0 time
Page 32
- 25 -
Chapter 2. MC Programming
16) XA
Input type XA <number> or XA <L variable> Terminology <Number>: Set the number of variable for acceleration time.
0 ~ 9(Share the Dwell(E) Table used for a DWL command.)
<L variable>: Set the variable for an acceleration time from the L-VAR Table.(L0 ~ L999) Related variable
D variable, L variable
Related command PTP,IPTP Parameter Maximum velocity(P18), acceleration or deceleration time(P23) Explanation The X-axis acceleration time changes to a time(msec) set to the commanded variable number D or
L.
The acceleration value applied to a movement command is calculated in a time arriving at the
“P18 maximum velocity”.
If commanding is omitted, then the Acceleration or deceleration time set to a parameter “P23
Acceleration or deceleration time” is effective.
The acceleration time set by XA is applied only to the rapid movement(PTP, IPTP) command.
The once set Acceleration or deceleration time is effective until a reset unless it is reset.
If the acceleration is commanded by A and the acceleration is commanded by XA next, then the A
becomes effective during interpolation feed and the XA becomes effective during rapid movement.
That is, the acceleration of interpolation and rapid movement can be separately designated.
If the rapid movement acceleration is designated by XA and the acceleration is designated by A
next, then the XA command is cancelled and designated as the acceleration of A. Example of use XA L0
XA 0
Designate an acceleration time by using a L0 variable. Designate an acceleration time by using a D0 variable.
Example VEL 0
PTP P0
XA 0
PTP P1
Fig. 2.14 X-axis acceleration time reset
Initial acceleration slope = Maximum velocity (P18) / Acceleration or deceleration time (P23) Acceleration slope = Maximum velocity (P18) / D variable value or L variable value
X-axis velocity
Time
F0
Maximum velocity
Current position
P0 position P1 position
D0 time
Page 33
- 26 -
Chapter 2. MC Programming
17) YA
Input type YA <number> or YA <L variable> Terminology <Number>: Set the number of variable for acceleration time.
0 ~ 9(Share the Dwell(E) Table used for a DWL command.)
<L variable>: Set the variable for an acceleration time from the L-VAR Table.(L0 ~ L999) Related variable
D variable, L variable
Related command PTP,IPTP Parameter Maximum feed velocity(P18), acceleration or deceleration time(P23) Explanation The Y-axis acceleration time changes to a time(msec) set to the commanded variable number D or
L.
The acceleration value applied to a movement command is calculated in a time arriving at the
“P18 maximum velocity”.
If commanding is omitted, then the acceleration time set to a parameter “P23 Acceleration or
deceleration time” is effective.
The acceleration time set by YA is applied only to the rapid movement(PTP, IPTP) command.
The once set Acceleration or deceleration time is effective until a reset unless it is reset.
If the acceleration is commanded by A and the acceleration is commanded by YA next, then the A
becomes effective during interpolation movement and the YA becomes effective during rapid
movement. That is, the acceleration of interpolation and rapid movement can be separately
designated.
If the rapid movement acceleration is designated by YA and the acceleration is designated by A
next, then the YA command is cancelled and designated as the acceleration of A. Example of use YA L0
YA 0
Designate an acceleration time by using a L0 variable. Designate an acceleration time by using a D0 variable.
Example VEL 0
PTP P0
YA 0
PTP P1
Fig. 2.15 Y-axis acceleration time reset
Initial acceleration slope = Maximum velocity (P18) / Acceleration or deceleration time (P23) Acceleration slope = Maximum velocity (P18) / D variable value or L variable value
Y-axis velocity
Time
F0
Maximum velocity
Current position
P0 position
P1 position
D0 time
Page 34
- 27 -
Chapter 2. MC Programming
18) D
Input type D <number> or D <L variable> Terminology <Number>: Set the number of variable for acceleration time.
0 ~ 9(Share the Dwell(E) Table used for a DWL command.)
<L variable>: Set the variable for an acceleration time from the L-VAR Table.(L0 ~ L1999) Related variable
D variable, L variable
Related command
MOV,IMOV,XMOV,YMOV,CW,CCW,ICW,ICCW,PTP,IPTP
Parameter Maximum velocity(P18), Acceleration or deceleration time(P23), deceleration time (P65) Explanation The deceleration time changes to a time(msec) set to the commanded variable number D or L.
The deceleration value applied to a movement command is calculated in a time arriving at 0 from
the “P18 maximum velocity”.
If commanding is omitted, then the deceleration time set to a parameter P23 or P65 is effective.
The once set deceleration time is effective until a reset unless it is reset. Example of use
D L0
D0
Designate an deceleration time by using a L0 variable. Designate an deceleration time by using a D0 variable.
Example VEL 0
MOV P0
D0
MOV P1
Fig. 2.16 Deceleration time reset
Initial deceleration slope = Maximum velocity(P18) / Acceleration or deceleration time(P23) Or, initial deceleration slope = Maximum velocity(P18)/Deceleration time(P65) Deceleration slope = Maximum velocity(P18) / D variable value or L variable value.
Velocity
Time
F0
Maximum velocity
Current position
P0 position
P1 position
D0 time
Page 35
- 28 -
Chapter 2. MC Programming
19) XD
Input type XD <number> or XD <L variable> Terminology <Number>: Set the number of variable for deceleration time.
0 ~ 9(Share the Dwell(E) Table used for a DWL command.)
<L variable>: Set the variable for an deceleration time from the L-VAR Table.(L0 ~ L1999) Related variable
D variable, L variable
Related command
PTP,IPTP
Parameter Maximum velocity(P18), Acceleration or deceleration time(P23), deceleration time (P65) Explanation The X-axis deceleration time changes to a time(msec) set to the commanded variable number D or L.
The deceleration time applied to a movement command is calculated in a time arriving at 0 from the
“P18 maximum velocity”.
If commanding is omitted, then the deceleration time set to a parameter P23 or P65 is effective to
the X-axis.
The once set deceleration time is effective until a reset unless it is reset.
This is applied only to the rapid movement(PTP, IPTP).
If the deceleration time is commanded by D and commanded by XD next, then the D becomes effective
during interpolation movement and the XD becomes effective during rapid movement. That is, the
deceleration time of interpolation and rapid movement can be separately designated.
If the rapid movement deceleration is designated by XD and the deceleration is designated by D next,
then the deceleration time by the XD command is cancelled and designated as the deceleration time of
D. Example of use
XD L0
XD 0
Designate an deceleration time by using a L0 variable. Designate an deceleration time by using a D0 variable.
Example VEL 0
PTP P0
XD 0
PTP P1
Fig. 2.17 X-axis deceleration time reset
Initial deceleration slope = Maximum velocity(P18) / Acceleration or deceleration time(P23) Or, initial deceleration slope = Maximum velocity(P18)/Deceleration time(P65) Deceleration slope = Maximum velocity(P18) / D variable value or L variable value.
X-axis velocity
Time
F0
Maximum velocity
Current position P0 position P1 position
D0 time
Page 36
- 29 -
Chapter 2. MC Programming
20) YD
Input type YD <number> or YD <L variable> Terminology <Number>: Set the number of variable for deceleration time.
0 ~ 9(Share the Dwell(E) Table used for a DWL command.)
<L variable>: Set the variable for an deceleration time from the L-VAR Table.(L0 ~ L1999) Related variable
D variable, L variable
Related command
PTP,IPTP
Parameter Maximum velocity(P18), Acceleration or deceleration time(P23), deceleration time (P65) Explanation The Y-axis deceleration time changes to a time(msec) set to the commanded variable number D or L.
The deceleration time applied to a movement command is calculated in a time arriving at 0 from the
“P18 maximum velocity”.
If commanding is omitted, then the deceleration time set to a parameter P23 or P65 is effective to
the Y-axis.
The once set deceleration time is effective until a reset unless it is reset.
This is applied only to the rapid movement(PTP, IPTP).
If the deceleration time is commanded by D and commanded by YD next, then the D becomes effective
during interpolation movement and the YD becomes effective during rapid movement. That is, the
deceleration time of interpolation and rapid movement command can be separately designated.
If the rapid movement deceleration is designated by YD and the deceleration is designated by D next,
then the deceleration time by the YD command is cancelled and designated as the deceleration time of
D. Example of use
YD L0
YD 0
Designate an deceleration time by using a L0 variable. Designate an deceleration time by using a D0 variable.
Example VEL 0
PTP P0
YD 0
PTP P1
Fig. 2.18 Y-axis deceleration time reset
Initial deceleration slope = Maximum velocity(P18) / Acceleration or deceleration time(P23) Or, initial deceleration slope = Maximum velocity(P18)/Deceleration time(P65) Deceleration slope = Maximum velocity(P18) / D variable value or L variable value.
Y-axis velocity
Time
F0
Maximum velocity
Current position P0 position P1 position
D0 time
Page 37
- 30 -
Chapter 2. MC Programming
21) MOV
Input type MOV <P variable> or MOV <L variable1> <L variable2> Terminology <P variable>: Set the variable for a position from the Position Table.(P0 ~ P99)
<L variable>: Set the variable for a position from the L-VAR Table.(L0 ~ L1999) Related variable
P variable, L variable
Related command
A,D,VEL
Parameter Maximum velocity(P18), Acceleration or deceleration time(P23), deceleration time (P65) Explanation Move by interpolation from the current position to the commanded variable value coordinate
position at the commanded velocity and Acceleration or deceleration time. Example of use
MOV P0
MOV L0 L1
MOV PL0
MOV LL0 LL1 Example VEL 0
MOV P0
VEL 1
MOV P1
Setting value of P0:46.000, 15.000
Setting value of P1:18.000, 22.000
Fig. 2.19 Absolute position interpolation movement function
P1(end point)
Start point
Page 38
- 31 -
Chapter 2. MC Programming
22) IMOV
Input type IMOV <P variable> or IMOV <L variable1> <L variable2> Terminology <P variable>: Set the variable for a position from the Position Table.(P0 ~ P99)
<L variable>: Set the variable for a position from the L-VAR Table.(L0 ~ L1999) Related variable
P variable, L variable
Related command
A,D,VEL
Parameter Maximum velocity(P18), Acceleration or deceleration time(P23), deceleration time (P65) Explanation Move by interpolation from the current position to the commanded variable value incremented
position at the commanded velocity and Acceleration or deceleration time. Example of use
IMOV P0
IMOV L0 L1
IMOV PL0
IMOV LL0 LL1 Example VEL 0
IMOV P0
VEL 1
IMOV P1
Setting value of P0: 46.000, 15.000
Setting value of P1: -28.000, 7.000
Fig.2.20 Incremental position interpolation movement function
Start point
P1(end point)
Page 39
- 32 -
Chapter 2. MC Programming
23) PTP
Input type PTP <P variable> or PTP <L variable1> <L variable2> Terminology <P variable>: Set the variable for a position from the Position Table.(P0 ~ P99)
<L variable>: Set the variable for a position from the L-VAR Table.(L0 ~ L1999)
Related variable
P variable, L variable
Related command
A,D,VEL,XA,YA,XVEL,YVEL
Parameter Maximum velocity(P18), Acceleration or deceleration time(P23), deceleration time (P65) Explanation Move individually from the current position to the commanded coordinate number position at the
commanded individual velocity and Acceleration or deceleration time. The movement path is usually
composed of 2 straight lines because each axis moves without interpolation. Example of use
PTP P0
PTP L0 L1
PTP PL0
PTP LL0 LL1 Example VEL 0
PTP P0
VEL 1
PTP P1
Setting value of P0: 20.000, 10.000
Setting value of P1: 30.000, 28.000
Fig. 2.21 Absolute position individual movement function
Start point
Page 40
- 33 -
Chapter 2. MC Programming
24) IPTP
Input type IPTP <P variable> or IPTP <L variable1> <L variable2> Terminology <P variable>: Set the variable for a position from the Position Table.(P0 ~ P99)
<L variable>: Set the variable for a position from the L-VAR Table.(L0 ~ L1999) Related
variable
P variable, L variable
Related command
A,D,VEL,XA,YA,XVEL,YVEL
Parameter Maximum velocity(P18), Acceleration or deceleration time(P23), deceleration time (P65) Explanation Move individually from the current position to the commanded coordinate number increment at the
commanded individual velocity and Acceleration or deceleration time. The movement path is usually
composed of 2 straight lines because each axis moves without interpolation. Example of
use
IPTP P0
IPTP L0 L1
IPTP PL0
IPTP LL0 LL1 Example VEL 0
IPTP P0
VEL 1
IPTP P1
SETTING VALUE OF P0: 20.000, 10.000
SETTING VALUE OF P1: 10.000, 18.000
Fig.2.22 Incremental individual movement function
+X
+Y
시점
20.000
10.000
18.000
(0.000, 0.000)
P0
P1
10.000
Start point
Page 41
- 34 -
Chapter 2. MC Programming
25) XMOV
Input type XMOV <P variable> or XMOV <L variable> Terminology <P variable>: Set the variable for a position from the Position Table.(P0 ~ P99)
<L variable>: Set the variable for a position from the L-VAR Table.(L0 ~ L1999) Related variable
P variable, L variable
Related command A,D,VEL Parameter Maximum velocity(P18), Acceleration or deceleration time(P23), deceleration time (P65) Explanation Move the X-axis only by interpolation from the current position to the commanded coordinate
position at the commanded individual velocity and Acceleration or deceleration time. When it was
commanded by a P variable, the Y coordinate is ignored. Example of use XMOV P0
XMOV L0
XMOV PL0
XMOV LL0
26) YMOV
Input type YMOV <P variable> or YMOV <L variable> Terminology <P variable>: Set the variable for a position from the Position Table.(P0 ~ P99)
<L variable>: Set the variable for a position from the L-VAR Table.(L0 ~ L1999) Related variable
P VARIABLE, L VARIABLE
Related command A,D,VEL Parameter Maximum velocity(P18), Acceleration or deceleration time(P23), deceleration time (P65) Explanation Move the Y-axis only by interpolation from the current position to the commanded coordinate
position at the commanded individual velocity and Acceleration or deceleration time. When it was
commanded by a P variable, the X coordinate is ignored. Example of use YMOV P0
YMOV L0
YMOV PL0
YMOV LL0
Fig. 2.23 Movement function by axes
VEL 0 XMOV PO->PO setting value: 5,000, ???? VEL 1 YMOV P1-> P1 setting value: ????, 20,000 VEL 2 XMOV P2-> P2 setting value: 30,000, ????
Start point (0.000, 0.000)
Page 42
- 35 -
Chapter 2. MC Programming
27) XIMOV
Input type XIMOV <P variable> or XIMOV <L variable> Terminology <P variable>: Set the variable for a position from the Position Table.(P0 ~ P99)
<L variable>: Set the variable for a position from the L-VAR Table.(L0 ~ L1999)
Related variable
P variable, L variable
Related command
A,D,VEL
Parameter Maximum velocity(P18), Acceleration or deceleration time(P23), deceleration time (P65) Explanation Move the X-axis only by interpolation from the current position to the commanded incremented at the
commanded individual velocity and Acceleration or deceleration time. When it was commanded by a P
variable, the Y coordinate is ignored. Example of use
XIMOV P0
XIMOV L0
XIMOV PL0
XIMOV LL0
28) YIMOV
Input type YMOV <P variable> or YMOV <L variable> Terminology <P variable>: Set the variable for a position from the Position Table.(P0 ~ P99)
<L variable>: Set the variable for a position from the L-VAR Table.(L0 ~ L1999) Related
variable
P VARIABLE, L VARIABLE
Related command
A,D,VEL
Parameter Maximum velocity(P18), Acceleration or deceleration time(P23), deceleration time (P65) Explanation Move the Y-axis only by interpolation from the current position to the commanded incremented at the
commanded individual velocity and Acceleration or deceleration time. When it was commanded by a P
variable, the X coordinate is ignored. Example of use
YIMOV P0
YIMOV L0
YIMOV PL0
YIMOV LL0
Fig.2.24 Movement function by axes
+
X
XVEL 0 XIMOV P0 P0 :5. 000 , ???? YVEL 1 YIMOV P1 P1 : ????, 20. 000 XVEL 2
XIMOV P2 P2설정치:30.000, ????
+Y
P1 P2
P0
시점
20.000
5.000
(0.000, 0.000)
30.000
35.000
5.000
20.000
VEL 0 XIMOV PO->PO setting value: 5,000, ???? YVEL 1 YIMOV P1-> P1 setting value: ????, 20,000 XVEL 2 XIMOV P2-> P2 setting value: 30,000, ????
Start point (0.000, 0.000)
Page 43
- 36 -
Chapter 2. MC Programming
29) CW, CCW
Input type
CW <P variable 1> <P variable 2> , CCW <P variable 1> <P variable 2>
Terminology <P variable>: Set the variable for a position from the Position Table.(P0 ~ P99) Related
variable
P variable, L variable
Related command
A,D,VEL
Parameter Maximum velocity(P18), acceleration or deceleration time(P23), deceleration time(P65), I, J arc
commanding method(P61) Explanation Move by arc interpolation from the current position to the commanded coordinate position at the
commanded velocity and Acceleration or deceleration time.
If the“
basic parameter P61 I, J arc commanding method” is disabled, then the X-axis value of <P
variable 2> is regarded as its radius.
However, if the “
basic parameter P61 I, J arc commanding method” is enabled, then it is
regarded as an I, J circle center commanding method, not a radius. In this case, the X-axis of the
second P variable corresponds to I, and the Y-axis corresponds to J.
I, J are vector components seen from the arc start point to the center, and are always commanded as
increments. Example of use
CW P0 P1
CCW P0 P1
CW PL0 PL1
CCW PL0 PL1 Example VEL 0
MOV P0
VEL 1
CW P1 P2
P0: Arc interpolation start point(0.000, 0.000)
P1: Arc interpolation end point, P2: Arc center command
*If
basic parameter P61 is disabled- P1:20.000, 20.000 P2:20.000, ?????
*If
basic parameter P61 is enabled- P1:20.000, 20.000 P2:20.000, 0.000
Fig.2.25 Absolute position arc interpolation function
20.000
20.000
R= 20.000
+X
+Y
Page 44
- 37 -
Chapter 2. MC Programming
30) ICW, ICCW
Input type ICW <P variable 1> <P variable 2> , ICCW <P variable 1> <P variable 2> Terminology <P variable>: Set the variable for a position from the Position Table.(P0 ~ P99) Related variable
P variable, L variable
Related command
A,D,VEL
Parameter Maximum velocity(P18), acceleration or deceleration time(P23), deceleration time(P65), I, J arc
commanding method(P61) Explanation Move by arc interpolation from the current position to the commanded incremented position at the
commanded velocity and Acceleration or deceleration time.
If the“
basic parameter P61 I, J arc commanding method” is disabled, then the X-axis value of <P
variable 2> is regarded as its radius.
However, if the “
basic parameter P61 I, J arc commanding method” is enabled, then it is
regarded as an I, J circle center commanding method, not a radius. In this case, the X-axis of the
second P variable corresponds to I, and the Y-axis corresponds to J.
I, J are vector components seen from the arc start point to the center, and are always commanded as
increments. Example of use
ICW P0 P1
ICCW P0 P1
ICW PL0 PL1
ICCW PL0 PL1 Example VEL 0
MOV P0
VEL 1
ICCW P1 P2
P0: Arc interpolation start point(0.000, 0.000)
P1: Arc interpolation end point, P2: Arc center command
*If
basic parameter P61 is disabled- P1:20.000, 20.000 P2:20.000, ?????
*If
basic parameter P61 is enabled- P1:20.000, 20.000 P2:0.000, 20.000
Fig.2.26 Increment position arc interpolation function
20.000
20.000
R= 20.000
+X
+Y
Page 45
- 38 -
Chapter 2. MC Programming
Arc interpolation commanding method
a) Commanding with a radius
CW <End point[P variable 1]> <radius[P variable 2]> CCW <End point[P variable 1]> <radius[P variable 2]>
The start point is the current position, so the end point and the radius are commanded in the above type, and only the P variable can be commanded. The P variable can be indirectly designated as a L variable.
Disable the“
basic parameter P61 I, J arc commanding method”. The X-axis value of the P
variable 2 is regarded as a radius. The Y value at this time has nothing to do with the command.
If there is a start point, an end point and a radius, 2 circles are possible. There are 4 arcs going from the start point to the end point like Fig.2.27. If a direction is given here, then they reduces to 2 arcs such as a 180 or more degree arc and a 180 or less degree arc going from the start point to the end point. The radius is commanded as a negative number when commanding a 180 or more degree arc, and as a positive number when commanding a 180 or less arc.
Fig.2.27 Arc interpolation command by R
R= 5 0
R= -5 0
시점
종점
+X
+Y
CW
CCW
CW(R=-50)
CCW(R=50)
CW(R=50)
CCW(R=-50)
+X
+Y
Start point
End point
Page 46
- 39 -
Chapter 2. MC Programming
b) Commanding with I,J command
CW <End point[P variable 1]> <arc center[P variable 2]> CCW <End point[P variable 1]> <arc center[P variable 2]>
The start point is the current position, so the end point and the circle center are commanded in the above type, and only the P variable can be commanded. The P variable can be indirectly designated as a L variable. The center of the arc is directly commanded.
Enable the“
basic parameter P61 I, J arc commanding method”. It is regarded as a method
of commanding the circle center with I, J, not a radius. In this case, the X-axis of the P variable 2 corresponds to I and the Y-axis corresponds to J. I, J are vector components seen from the start point to the center of a circle and are always commanded as increments.
Make a right triangle like Fig.2.28, and designate its bottom as I, its height as J, and its oblique side as a radius. When designating it as I, J, if the distance between the start point and the circle center doesn’t coincide with the distance between the end point and the circle center, then an alarm occurs.
Fig.2.28 I,J arc commanding function
+X
+Y
I
J
시점
종점
원호 중심
R
cw
ccw
End point
Circle center
Start point
Page 47
- 40 -
Chapter 2. MC Programming
31) PMOV
Input type PMOV <L variable1> <L variable2> Terminology <L variable>: Set the variable for a position from the L-VAR Table.(L0 ~ L1999) Explanation Palletizing is automatically performed based on the pallet point of each axis set to the commanded
3-point pallet(rectangle).
<L variable 1> Designating an L variable automatically designates the next address of the designated L variable. 4 L variables are designated in addition to the designated L variable. For example, if ’L0’ is designated, then L1, L2, L3, L4 are designated. <L variable 1> +0: Number of pallet points in the first axis Determine how many divisions the distance between the first position and the second position will be divided into. <L variable 1> +1: Number of pallet points in the second axis Determine how many divisions the distance between the second position and the third position will be divided into. <L variable 1> +2: Number of pallet points in the first axis under preparation for execution(to be executed next) <L variable 1> +3: Number of pallet points in the second axis under preparation for execution(to be executed next) <L variable 1> +4: ‘1’ if all the palletizing has been executed This lies at ‘0’ during PCLR, but changes to 1 if all the palletizing have finished. <L variable 2> Designating an L variable automatically designates the next address of the designated L variable. 5 L variables are designated in addition to the designated L variable. For example, if ’L5’ is designated, then L6, L7, L8, L9, L10 are designated. <L variable 2> +0: X-axis coordinate at the first position <L variable 2> +1: Y-axis coordinate at the first position <L variable 2> +2: X-axis coordinate at the second position <L variable 2> +3: Y-axis coordinate at the second position <L variable 2> +4: X-axis coordinate at the third position <L variable 2> +5: Y-axis coordinate at the third position The sequence of pallet operation differs depending on the direction(X-axis or Y-axis) of the second position and the third position.
10
15
14
15
PMOV L0 L5 L0: 5 L1: 3 L2: 1 L3: 1 L4: 0 L5: 0 L6: 0 L7: 100 L8: 0 L9: 0 L10: 50
PMOV L0 L5 L0: 3 L1: 5 L2: 1 L3: 1 L4: 0 L5: 0 L6: 0 L7: 0 L8: 50 L9: 100 L10: 0
1
4
7
10
13
25
8
11
36912
(L5, L6 )
(L7, L8 )
(L9, L10)
(L5, L6) (L7, L8)
(L9, L10)
1
2
3
4
5
67
8
9
11 12 13 14
Y
X
Y
X
Page 48
- 41 -
Chapter 2. MC Programming
32) PCLR
Input type PCLR <Number of pallet points in the first axis> Explanation Set the pallet point under preparation for execution of the relevant PMOV to ‘1’, and
the palletized L variable to ‘0’. Only the commanding to an L variable is possible.
Example PCLR L0
LABL AA IF L4 .EQ 1 BB PMOV L0 L5 MOV P10 GOTO AA LABL BB END
Page 49
- 42 -
Chapter 2. MC Programming
33) FOS
Input type FOS <number> or FOS <L variable> Terminology <Number>: Set the ratio to execute the next block to %(0~100) from the D variable.
0 ~ 9(Share the Dwell(E) Table used for a DWL command.)
<L variable>: Set the ratio to execute the next block from the L-VAR Table.(L0 ~ L1999) Related variable
D variable, L variable
Related command
MOV,IMOV,XMOV,YMOV (꺾어지는 부분에 대한 설명이 필요할 듯)
Explanation If the remaining distance of the block currently under execution comes into the scope
of the commanded ratio, then move to the next block by overlapping.
-‘0’ means the cancellation of a pre-execution mode.
-‘100’ is set as a mode to omit Acceleration or deceleration between blocks.
Note) This is a command applied to the MCU-XA2(MCU analogue type) only. Example
VEL 0
MOV P0
FOS 0
MOV P1
MOV P2
MOV P3
FOS 1
MOV P0
END
DWELL(E) Table 0 = ‘10’
DWELL(E) Table 1 = ‘0’
Fig.2.29 Block overlapping feed
P0
P1
P2
P3
90%
X
Y
34) RET
Input type RET Explanation Move to the home(‘0.000, 0.000’), a fixed position on the machine.
Example
VEL 0
MOV P0
RET
IMOV P1
Page 50
- 43 -
Chapter 2. MC Programming
35) IN0
Input type IN0 <inspection contact> {label name} Terminology <Inspection contact>: Designate a contact to inspect.
Input contact: X0.0 ~ X5.F
Output contact: Y0.0 ~ Y4.F
Auxiliary contact: M00.0 ~ M199.F
{Label name}: Designate the name of a label to branch. Related command
LABL
Explanation If the {label name} is not designated, then the program execution stops while waiting
until the designated <inspection contact> becomes ‘0’.
When the {label name} is designated, if the <inspection contact> is satisfied (‘0’),
branch it to the relevant label, and the <inspection contact> is not satisfied(‘1’),
proceed to the next block. Example 1 This is an example of a function to stop execution until an input contact(X0.0)
becomes‘0’.
LABL LB1
VEL 0
MOV P0
IN0 X0.0
MOV P1
If the input port X0.0 is‘0’, then execute the next block, and if it is‘1’, then wait
Example 2 If the auxiliary contact(M0.0) is‘0’, then branch to it, and if it is‘1’, then
execute the next block.
LABL LB1
VEL 0
MOV P0
IN0 M0.0 LB1
MOV P1
36) IN1
Input type IN1 <inspection contact> {label name} Terminology <Inspection contact>: Designate a contact to inspect.
Input contact: X0.0 ~ X5.F
Output contact: Y0.0 ~ Y4.F
Auxiliary contact: M00.0 ~ M199.F
{Label name}: Designate the name of a label to branch. Related command
LABL
Explanation If the {label name} is not designated, then the program execution stops while waiting
until the designated <inspection contact> becomes ‘1’.
When the {label name} is designated, if the <inspection contact> is satisfied (‘1’),
branch it to the relevant label, and the <inspection contact> is not satisfied(‘0’),
proceed to the next block. Example 1 This is an example of a function to stop execution until an input contact(X0.0)
becomes‘1’.
LABL LB1
VEL 0
MOV P0
IN1 X0.0
MOV P1
If the input port X0.0 is‘1’, then execute the next block, and if it is‘0’, then wait.
Example 2 If the auxiliary contact(M0.0) is‘1’, then branch to it, and if it is‘0’, then
execute the next block.
LABL LB1
VEL 0
MOV P0
IN1 M0.0 LB1
MOV P1
If the auxiliary contact(M0.0) is‘0’, branch to
If the auxiliarycontact(M0.0) is‘1’, branch to
Page 51
- 44 -
Chapter 2. MC Programming
37) IIN0
Input type IIN0 <inspection contact> Terminology <Inspection contact>: Designate a contact to inspect.
Input contact: X0.0 ~ X0.F Explanation Program execution stops while waiting until the designated <inspection contact>
becomes‘0’.
This command applies to equipment requiring a high speed input function as a function
to inspect the <inspection contact> in a 1ms period. Example This is an example of stopping execution until the input contact(X0.0) becomes‘0’.
LABL LB1
VEL 0
MOV P0
IIN0 X0.0
MOV P1
If the input port X0.0 is‘0’, then execute the next block, and if it is‘1’, then wait.
38) IIN1
Input type IIN1 <Inspection contact> Terminology <Inspection contact>: Designate a contact to inspect.
Input contact: X0.0 ~ X0.F Explanation Program execution stops while waiting until the designated <inspection contact>
becomes‘1’.
This command applies to equipment requiring a high speed input function as a function
to inspect the <inspection contact> in a 1ms period. Example This is an example of stopping execution until the input contact(X0.0) becomes‘1’.
LABL LB1
VEL 0
MOV P0
IIN1 X0.0
MOV P1
If the input port X0.0 is‘1’, then execute the next block, and if it is‘0’, then wait.
39) OUT0
Input type OUT0 <output contact> Terminology <Output contact>: Designate a contact to output signals.
Output contact: Y0.0 ~ Y4.F
Auxiliary contact: M00.0 ~ M199.F Explanation Output‘0’to the designated output contact. Example This is an example of outputting ‘0’ to the output contact Y0.0.
VEL 0
MOV P0
OUT0 Y0.0
IMOV P1
Output ‘0’ to the output contact Y0.0.
40) OUT1
Input type OUT1 <output contact> Terminology <Output contact>: Designate a contact to output signals.
Output contact: Y0.0 ~ Y4.F
Auxiliary contact: M00.0 ~ M199.F Explanation Output‘1’to the designated output contact. Example This is an example of outputting ‘1’ to the output contact Y0.0.
VEL 0 MOV P0 OUT1 Y0.0 IMOV P1
Output ‘1’ to the output contact Y0.0.
Page 52
- 45 -
Chapter 2. MC Programming
41) Comment Input type /* Explanation If a block in a program starts with‘/*’, then regard it as a comment.
Start with /* by all means, and there shall be no letter before /*.
Example VEL 0
MOV P0 /* SECOND POINT IMOV P1
42) Macro operation function Type +,-,*,/, %, =, (, ) Variable L variable, E variable, constant Explanation Can execute an operation function with a variable during programming.
Using a (,) function can perform up to 7 multiple operation functions.
Example L0 = L0 + L1
L0 = L0 - L1 L0 = L0 * L1 L0 = L0 / L1 L0 = L0 % L1
Store a value of L1 added to L0 in L0. Store a value of L1 subtracted from L0 in L0. Store a value of L1 multiplied to L0 in L0. Store the quotient of L0 divided by L1 in L0. Store the remainder of L0 divided by L1 in L0.
L0 = L0 + 1 L0 = L0 - 1 L0 = L0 * 10 L0 = L0 / 10 L0 = L0 % 10
L0 = (L0 + L1) * L2
Store a value of 1 added to L0 in L0. Store a value of 1 subtracted from L0 in L0. Store a value of 10 multiplied to L0 in L0. Store the quotient of L0 divided by 10 in L0. Store the remainder of L0 divided by 10 in L0.
Operation function using (,)
Page 53
- 46 -
Chapter 2. MC Programming
43) IF Input type IF <conditional expression> <label name> Terminology <Conditional expression>: This is a conditional expression of IF statement,
which is composed of a variable and a comparison operator. <Label name>: If the conditional expression is true, designate the name of a
label to branch. Related command
LABL
Application variable
L variable, E variable
Explanation If the conditional expression of IF statement is true, then branch to the
declared label, and if it is false, then proceed to the next statement.
Conditional expression used: =, .EQ, .LE, .LT, .GE, .GT
=, .EQ: If the two values are equal, it is true. (Ex: IF L0 = 10 …If L0
equals‘10’, then it is true)
.LE: If the value is less or equal, it is true. (Ex: IF L0 .LE 10 …If L0 is
less than or equal to‘10’, then it is true)
.LT: If the value is less, then it is true. (Ex: IF L0 .LT 10 …If L0 is less
than‘10’, then it is true.)
.GE: If the value is greater or equal, then it is true. (Ex: IF L0 .GE 10
If L0 is greater than or equal to‘10’, then it is true.)
.GT: If the value is greater, then it is true. (Ex: IF L0 .GT 10 …If L0 is
greater than‘10’, then it is true.) Example
VEL 0
L10 = 0
LABL LB0
L10 = L10 + 1
MOV P1
MOV P2
IF L10 .LE 10 LB0
If the value of L10 is less than or equal to ‘10’in the command “IF L10 .LE
10 LB0”, then move to the statement “LABL LB0”. If it is greater than 10,
then proceed to the next command.
Repeat the commands “MOV P1”and“MOV P2”10 times by the transfer of control.
If L10 is less than or equal to ‘10’, then it is true.
Page 54
- 47 -
Chapter 2. MC Programming
2.3 MC program variable details
Variables used for a MC program can be largely divided into 4 types.
1) P variable: Used to designate position data.
2) F variable: Used to designate velocity data.
3) D(E) variable: Used to designate dwell data.
4) L variable: Used to designate position, velocity, time and pulse data as a variable having a multi-purpose function.
Table 2.2 List of MC program variable functions
Division Variable Function Area Example of use
Data
classifi
cation
P
variable
Used to designate 2-dimensional position data Input range:
-2,147,483,648 ~ 2,147,483,647
P0 ~
P99
MOV P0, IMOV P1, SET2 P99, ..
F
variable
Used to designate velocity data F0 ~ F9
VEL 0, VEL 1, VEL 2, ~ VEL 9
D(E)
variable
Used to designate dwell data Used to designate acceleration time data Used to designate deceleration time data
------------------------­Used as comparison data for a comparative conditional expression Used as operation data for a variable operator Used to indirectly designate position data
D0 ~ D9
(E0 ~
E9)
DWL 0, DWL 1, DWL 2, ~ DWL 9 A0, A1, A2, ~ A9 D0, D1, D2, ~ D9
IF E8 .LT E9 LB1 E0=E8-E9 MOV PE0
L
variable
Used to designate position data Used to designate velocity data Used to designate dwell data Used to designate acceleration time data Used to designate deceleration time data Used as comparison data for a comparative conditional expression Used as operation data for a variable operator Used to indirectly designate data
L0~
L1999
MOV L0 L1, IMOV L1 L2, SET2 L1998 L1999.. VEL L0, VEL L1, ~ VEL L1999 DWL L0, DWL L1, ~ DWL L1999 A L0, A L1, A L2, ~ A L1999 D L0, D L1, D L2, ~ D L1999 IF L0 .LT L1999 LB1 L0=L0-L1999 MOV PL0, MOV LL0 LL1, VEL LL0, ..
Page 55
- 48 -
Chapter 2. MC Programming
1) P variable
Type P<0~99> Function Has a value for a 2-dimensional position related command to execute. Related command
SET,SET2,MOV,IMOV,PTP,IPTP,CW,CCW,ICW,ICCW
Explanation You can set 100 position values as a position variable to set the target point and the
distance. Set a value in a um unit.
Example VEL 0
MOV P0 This is a command to move to a value set in a P0 variable.
2)
F variable
Type F<0~9> Function This has a value for the command related to a velocity to execute. Related command
VEL, XVEL, YVEL
Explanation Can set 10 velocity values as a velocity variable to set a velocity. Example VEL 0
MOV P0 This is a command to apply to a movement command at a velocity set in a F0 variable.
3)
D(E) variable
Type D<0~9>, E<0~9> Function D variable: Has a value for a time and external pulse related command to execute.
E variable: A macro(operation, comparison) function is possible.
A special function is applied to some variables by parameter setting. Related command
DWL, A, D, XA, YA, XD, YD, macro command
Explanation This is called a D or E variable, indicating the same area. That is, D0 and E0 are the
same variable.
This is a variable to set the value of time and pulses, so 10 values can be set.
When being used as time, this has a unit of msec.
This is a variable with which operation functions such as addition, subtraction,
multiplication and division are possible, and can be used in combination with an IF
statement. Example 1 DWL 0
MOV P0
This is a command to pause for a time or external pulse by being set as a D0 variable. Example 2 E1 = 100000
E2 = 100
E3 = E1/E2
As an example of use as an operation macro function, substitute‘100000’into the E1
variable, substitute‘100’into the E2 variable, divide E1 by E2, and then store its
quotient in the E3 variable.
As a result, a value of‘1000’is stored in E3. Example 3 IF E1 .EQ 1000 LB0
LABL LB0
If the value stored in the E1 variable as a comparative macro function is‘1000’, then
branch to the declared label, and otherwise, proceed to the next command.
Page 56
- 49 -
Chapter 2. MC Programming
4) L variable
Type L<0~1999> Function Can store a position, velocity, time and pulse value as a variable having a multi-
purpose function.
A macro(operation, comparison) function is possible.
This is used as a function to indirectly designate a variable. Related command
SET,SET2,MOV,IMOV,PTP,IPTP,VEL,DWL, A, D, macro command
Explanation Can set 2000 values as a variable to set a position, velocity, time and pulse value.
In case of a position variable function, the arbitrary portions can be used as a P
variable and its value is stored in a um unit.
Arbitrary portions can be used like an F variable during a velocity variable function,
and the value is stored in a mm/min unit.
In case of a time or pulse variable function, arbitrary portions can be used as a D
variable, and the time value is stored in a msec unit.
This is a variable enabling operation functions such as addition, subtraction,
multiplication and division like an E variable, and can be used in combination with an
IF statement.
This can be used to indirectly designate a variable in a position and macro function. Example 1 Example of position variable functions
L100 = 10
L101 = 11
VEL 0
MOV L0 L1 This is a command to move to a position value set at a L0 variable(X) and
L1 variable(Y).
MOV PL100 A command to move to a position value set to a P10 variable by using a
L100 variable value as indirect designation(if L100 contains ‘10’).
MOV LL100 LL101 This is a command to move to a position value set to a L10
variable(X) and L11 variable(Y) by using the L100 or L101 variable value as an indirect
point(if L100 contains ‘10’ and L101 contains ‘11’). Example 2 Example of velocity variable functions
VEL L0
MOV L1 L2
A command to apply to a feed command at a velocity set in the L0 variable Example 3 Example of time/pulse variable functions
DWL L10
MOV P0
A command to pause during the time and external pulse set to a L10 variable Example 4 Example of operational macro functions
L0 = 1000 Substitute‘1000’into a L0 variable.
L1 = 100 Substitute‘100’into a L1 variable.
L2 = L0 * L1 Multiply L0 by L1, and then store the result‘100000’in L2.
Example of operational macro functions using indirect designation
L0 = 10 Substitute ‘10’into a L0 variable.
LL0 = 100 Sibstitute‘100’ into a L10 variable by using indirect designation.
L2 = L0 * LL0 Multiply L0 by L10 by using indirect designation, and then store the
result ‘1000’ in L2.
Page 57
- 50 -
Chapter 2. MC Programming
Example of comparative macro functions
IF L1 .EQ 1000 LB0 … LABL LB0 … If a L1 variable value as a comparative macro function is‘1000’, then branch the execution to a LB0 declared label, and otherwise, execute the next command.
Example of a comparative macro function using indirect designation L1 = 100 IF LL1 .EQ 1000 LB0 … LABL LB0 … If a L100 variable value as a comparative macro function using indirect designation is‘1000’, then branch the execution into a LB0 declared label, and otherwise, execute the next command.
Page 58
- 51 -
Chapter 3. Homing
Chapter 3. Homing
3.1 Homing
A home is a fixed position in a machine, and must be recognized to a controller by execution of its return after application of power. After completion of homing return, the home becomes ‘0,0’, on which all the coordinates of movement command thereafter are based. The velocity and method of executing a homing return are performed by parameters.
3.2 Homing parameters
1) Homing signal (Parameter P15)
Set the type of homing DOG sensors(A contact, B contact) for a homing return. For equipment without homing return, set it to ‘Disable’. In this case, the parameters described below have no meaning.
2) Homing direction (Parameter P16)
Set a homing direction. If the homing DOG sensor is located in the negative direction, then set to ‘MINUS’, and if it is located in the positive direction, then set to ‘PLUS’.
3) Homing method (Parameter P17)
Set a homing method. Details of homing methods are described in Section 3.3.
4) Homing velocity 1,2,3 (Parameter P20, P21, P22)
Homing velocities 1,2,3 are parameters to set a moving velocity during homing return movement. Homing velocity 1 sets a velocity until detecting a homing DOG sensor. Homing velocity 2 sets a velocity until being out of the homing DOG sensor and a velocity of additional movement after a homing return. Homing velocity 3 sets a velocity until a signal for completion of a homing return is detected.
Details are described in Section 3.3.
5) Limit switch homing return function (Parameter P64)
Set this when replacing a limit sensor in the homing return direction with a homing DOG sensor. Even though this parameter is set to ‘Enable’, set the type of a limit sensor used for a parameter P15(homing signal) in the same way. And you can use the X0.4, X0.5(HOMING SWITCH) as a user contact.
6) Going further after a homing return (Parameter P66)
This is a function to complete an action of homing return described in Section 3.3, move a distance set in this parameter at a velocity of “homing return velocity 2”, decelerate, stop, and then reset the position as its home.
Page 59
- 52 -
Chapter 3. Homing
3.3 Execution of homing return
1) Method 1 (MCU-XA2 (velocity type of servo driver))
Setting a parameter P17(homing method) as a ‘method 1’ executes a homing return as follows. If a homing DOG sensor is turned ON during movement to a homing return direction at a velocity of homing return velocity 1, then decelerate, stop, move to the same direction until the homing DOG sensor is turned OFF at the homing return velocity 2, and stop, and if ‘phase C’ is detected from the servo drive during movement at a velocity of homing return velocity 3 in the same direction, then stop and set this position as the home. If the homing return has finished, the ZP1[M50.C] and ZP2[M50.D] signals are outputted as ‘1’.
Homingvelocity1(basic
p
arameter P20
)
Homing velocity 2(basic parameter P21)
Homing velocity 3 (basic parameter P22)
Homing sensor OFF Homing sensor ON
Homing(encoder phase C detected)
velocity
Axis
Page 60
- 53 -
Chapter 3. Homing
2) Method 2 (MCU-XA2 (velocity type of servo driver)) Setting a parameter P17(homing method) as a ‘method 2’ executes a homing return as follows. If a homing DOG sensor is turned ON during movement to a homing return direction at a velocity of homing return velocity 1, then decelerate, stop, move to the opposite direction until the homing DOG sensor is turned OFF at the homing return velocity 2, and stop, and if ‘phase C’ is detected from the servo drive during movement at a velocity of homing return velocity 3 in the continuing opposite direction, then stop and set this position as the home. If the homing return has finished, the ZP1[M50.C] and ZP2[M50.D] signals are outputted as ‘1’.
Homing velocity 1(basic parameter P20)
Velocity
Homing velocity 2(basic parameter P21)
Homing velocity 3(basic parameter P22)
Homing(encoder phase C detected)
Homingsensor ON&OFF
Axis
Page 61
- 54 -
Chapter 3. Homing
3) Method 1 (MCU-XP2 (position type of servo driver, stepping motor driver)) Setting a parameter P17(homing method) as a ‘method 1’ executes a homing return as follows. If a homing DOG sensor is turned ON during movement to a homing return direction at a velocity of homing return velocity 1, then stop, move to the same direction until the homing DOG sensor is turned OFF at the homing return velocity 3, stop, and set this position as the home. If the homing return has finished, the ZP1[M50.C] and ZP2[M50.D] signals are outputted as ‘1’.
Velocity
Homing velocity 1(basic parameter P20)
Homing velocity 3(basic parameter P22)
Homing sensor OFF
(Homing)
Homing sensor ON
Axis
Page 62
- 55 -
Chapter 3. Homing
4) Method 2 (MCU-XP2 (position type of servo driver, stepping motor driver)) Setting a parameter P17(homing method) as a ‘method 2’ executes a homing return as follows. If a homing DOG sensor is turned ON during movement to a homing return direction at a velocity of homing return velocity 1, then stop, move to the opposite direction until the homing DOG sensor is turned OFF at the homing return velocity 3, stop, and set this position as the home. If the homing return has finished, the ZP1[M50.C], ZP2[M50.D] signals are outputted as‘1’.
Homing sensor ON&OFF
(Homing)
Homing velocity 1(basic parameter P20)
Homing velocity 3(basic parameter P22)
Velocity
Axis
Page 63
- 56 -
Chapter 3. Homing
3.4 Example of a homing return
1) Example of a homing return using a PLC exclusive command
Execute a homing return when the X0.7 signal is turned ON.
LOADP X0.7 Æ When X0.7 changes from‘0’to‘1’ ORG Æ This is an exclusive command to execute a homing return.
2) Example of a homing return using an M contact (not-recommended function)
Execute a homing return when the X0.7 signal is turned ON. The homing return direction is negative.
LOADP X0.7 SET M0.0 SET M0.1
LOAD M0.0 AND N0T M50.B Æ M50.B[ORG] ORG mode state bit OUT M80.B Æ M80.B[ORG] ORG mode commanding bit
LOAD M0.0 AND M50.B Æ M50.B[ORG] ORG mode state bit AND NOT M50.C Æ M50.C[ZP1] X-axis return completion state bit OUT M80.D Æ M80.D[A1-] X-axis manual feed – direction commanding bit
LOAD M0.1 AND M50.B Æ M50.B[ORG] ORG mode state bit AND NOT M50.D Æ M50.D[ZP2] Y-axis return completion state bit OUT M80.F Æ M80.F[A2-] Y-axis manual feed – direction commanding bit LOAD M50.C Æ M50.C[ZP1] X-axis return completion state bit OR M80.1 Æ 80.1[ERS] RESET commanding bit RST M0.0
LOAD 50.D Æ M50.D[ZP2] Y-axis return completion state bit OR M80.1 Æ 80.1[ERS] RESET commanding bit RST M0.1
Page 64
- 57 -
Chapter 4. PLC Program
Chapter 4. PLC Program
4.1 Types of PLC basic commands
Table 4.1 List of PLC commands
Command Object contact Use
LOAD Input, output, auxiliary, TIMER, COUNTER Starting of a logic operation(contact A)
LOAD NOT Input, output, auxiliary, TIMER, COUNTER Starting of a logic operation(contact B)
AND Input, output, auxiliary, TIMER, COUNTER Series connection(contact A)
AND NOT Input, output, auxiliary, TIMER, COUNTER Series connection(contact B)
OR Input, output, auxiliary, TIMER, COUNTER Parallel connection(contact A)
OR NOT Input, output, auxiliary, TIMER, COUNTER Parallel connection(contact B)
AND LOAD Series connection between blocks
OR LOAD Parallel connection between blocks
OUT Output, auxiliary Outputting of an operation result(contact A)
OUT NOT Output, auxiliary Outputting of an operation result(contact B)
D Output, auxiliary
Outputting of a differential pulse when the input is ON
D NOT Output, auxiliary
Outputting of a differential pulse when the input is OFF
TMR TIMER Timer action
CTR COUNTER Counter action
SET Output, auxiliary Bit unit Self-Holding(ON)
RST Output, auxiliary Bit unit Self-Holding(OFF)
MCS Common Interlock Set
MCS NOT Common Interlock Reset
MOV Output, auxiliary Word data movement command
DMOV Output, auxiliary DWord(32Bits) data movement command
FWR
Command to eternally store the position, velocity, dwell, L data
END End of a PLC program
Note) PLC program capacity: A PLC program can be prepared up to about 1,000 steps. Note) If a step of the PLC program starts with‘/*’, then it is regarded as a comment.
Page 65
- 58 -
Chapter 4. PLC Program
4.2 Types of application commands related to PLC contacts and motion
Table 4.2 List of application commands related to PLC contacts
Command Object contact Use
LOADP Input, output, auxiliary, TIMER, COUNTER
Starting of a logic operation at a rising edge(contact A)
LOADN Input, output, auxiliary, TIMER, COUNTER
Starting of a logic operation at a falling edge(contact B)
ANDP Input, output, auxiliary, TIMER, COUNTER
Logic serial connection by a rising edge(contact A)
ANDN Input, output, auxiliary, TIMER, COUNTER
Logic serial connection by a falling edge(contact B)
ORP Input, output, auxiliary, TIMER, COUNTER
Logic parallel connection by a rising edge(contact A)
ORN Input, output, auxiliary, TIMER, COUNTER
Logic parallel connection by a falling edge(contact B)
OUTP Output, auxiliary
Outputting of a scan pulse when the logic operation result rises
OUTN Output, auxiliary
Outputting of a scan pulse when the logic operation result falls
LOAD=
Input, output, auxiliary, L variable, integer
Command to start a 32bit integer comparing(=) logic operation(contact A)
LOAD>
Input, output, auxiliary, L variable, integer
Command to start a 32bit integer comparing(>) logic operation(contact A)
LOAD<
Input, output, auxiliary, L variable, integer
Command to start a 32bit integer comparing(<) logic operation(contact A)
PUT
Input, output, auxiliary, TIMER, COUNTER + P variable, F variable, D(E) variable, L variable
Command to output an MC variable(P,F,D(E), L variable)
GET
Input, output, auxiliary, TIMER, COUNTER + P variable, F variable, D(E) variable, L variable
Command to input an MC variable(P,F,D(E), L variable)
Table 4.3 List of PLC motion related application commands
Command Object contact Use
ORG Input, output, auxiliary, TIMER, COUNTER
X/Y axis homing return execution command (rise edge input)
ORGX Input, output, auxiliary, TIMER, COUNTER
X axis homing return execution command (rise edge input)
ORGY Input, output, auxiliary, TIMER, COUNTER
Y axis homing return execution command (rise edge input)
ORGRST
ORG, ORGX, ORGY
command outputting
(ORG FIN)
Homing return completion reset command(rise edge input)
JOGX+ Input, output, auxiliary, TIMER, COUNTER X axis +direction manual feed(JOG) command
JOGX- Input, output, auxiliary, TIMER, COUNTER X axis -direction manual feed(JOG) command
JOGY+ Input, output, auxiliary, TIMER, COUNTER Y axis +direction manual feed(JOG) command
JOGY- Input, output, auxiliary, TIMER, COUNTER Y axis -direction manual feed(JOG) command
START Input, output, auxiliary, TIMER, COUNTER
MC program execution(AUTO START) command (rise edge input)
STOP Input, output, auxiliary, TIMER, COUNTER
MC program execution pause(AUTO STOP) command (rise edge input)
RESET Input, output, auxiliary, TIMER, COUNTER
MC program execution stop or alarm cancellation(RESET) command(rise edge input and level input)
Page 66
- 59 -
Chapter 4. PLC Program
Command Object contact Use
CHPROG
Input, output, auxiliary, TIMER, COUNTER + number, M area, L variable, D(E) variable
Automatic operation MC program number change command (rise edge input)
STEP or STEP+
Input, output, auxiliary, TIMER, COUNTER + P variable, L variable + F variable, L variable
X/Y axis +direction absolute position movement (STEP) command (rise edge input)
STEP-
Input, output, auxiliary, TIMER, COUNTER + P variable, L variable + F variable, L variable
X/Y axis -direction absolute position movement (STEP) command (rise edge input)
STEPX or STEPX+
Input, output, auxiliary, TIMER, COUNTER + P variable, L variable + F variable, L variable
X axis +direction absolute position movement (STEP) command (rise edge input)
STEPX-
Input, output, auxiliary, TIMER, COUNTER + P variable, L variable + F variable, L variable
X axis -direction absolute position movement (STEP) command (rise edge input)
STEPY or STEPY+
Input, output, auxiliary, TIMER, COUNTER + P variable, L variable + F variable, L variable
Y axis +direction absolute position movement (STEP) command (rise edge input)
STEPY-
Input, output, auxiliary, TIMER, COUNTER + P variable, L variable + F variable, L variable
Y axis -direction absolute position movement (STEP) command (rise edge input)
ISTEP+
Input, output, auxiliary, TIMER, COUNTER + P variable, L variable + F variable, L variable
X/Y axis +direction relative position movement (ISTEP) command (rise edge input)
ISTEP-
Input, output, auxiliary, TIMER, COUNTER + P variable, L variable + F variable, L variable
X/Y axis -direction relative position movement (ISTEP) command (rise edge input)
ISTEPX+ or ISTEPX
Input, output, auxiliary, TIMER, COUNTER + P variable, L variable + F variable, L variable
X axis +direction relative position movement (ISTEP) command (rise edge input)
ISTEPX-
Input, output, auxiliary, TIMER, COUNTER + P variable, L variable + F variable, L variable
X axis -direction relative position movement (ISTEP) command (rise edge input)
ISTEPY+ or ISTEPY
Input, output, auxiliary, TIMER, COUNTER + P variable, L variable + F variable, L variable
Y axis +direction relative position movement (ISTEP) command (rise edge input)
ISTEPY-
Input, output, auxiliary, TIMER, COUNTER + P variable, L variable + F variable, L variable
Y axis -direction relative position movement (ISTEP) command (rise edge input)
MPG Input, output, auxiliary, TIMER, COUNTER
MPG mode selected command (rise edge input and level input)
Note) The motion related application command is executed in combination with many functions
related to motion, and if many application commands are simultaneously executed, then only one application command is executed.
Note) Functions influenced by PLC->MC flags may not be executed while executing a specific
motion related application command.
Note) Disable P43, P44 and P45 of a basic parameter except for special cases.
Page 67
- 60 -
Chapter 4. PLC Program
4.3 Description of PLC basic commands
1) LOAD
(1) Definition
Get the content(0 or 1) of a contact designated by a load command to be memorized into the current operation result. The content of the previous operation results is stored into a previous operation result storage buffer.(See the AND LOAD, OR LOAD) Use it in starting a logic operation or a block operation. (See the AND LOAD, OR LOAD)
(2) Sequence and timing chart
2) LOAD NOT
(1) Definition
Reverse the content of a contact designated by a LOAD NOT command, and then get it to be memorized into an operation result. The content of the previous operation results is stored into a previous operation result storage buffer.(See the AND LOAD, OR LOAD) Use it in starting a logic operation or a block operation. (See the AND LOAD, OR LOAD)
(2) Sequence and timing chart
Page 68
- 61 -
Chapter 4. PLC Program
3) AND
(1) Definition
Do the AND operation of the content of a designated contact with the current operation result, and then get its result to be memorized into the current operation result. The series connection of AND has no limit in the number of nested uses.
(2) Sequence and timing chart
4) AND NOT
(1) Definition
Reverse the content of the designated contact, do the AND operation of it with the current operation result, and then get its result to be memorized into the current operation result. The series connection of AND NOT has no limit in the number of nested uses.
(2) Sequence and timing chart
Page 69
- 62 -
Chapter 4. PLC Program
5) OR
(1) Definition
Do the OR operation of the content of a designated contact with the current operation result, and then get its result to be memorized into the current operation result. The parallel connection of OR has no limit in the number of nested uses.
(2) Sequence and timing chart
6) OR NOT
(1) Definition
Reverse the content of the designated contact, do the OR operation of it with the current operation result, and then get its result to be memorized into the current operation result. The parallel connection of OR NOT has no limit in the number of nested uses.
(2) Sequence and timing chart
Page 70
- 63 -
Chapter 4. PLC Program
7) AND LOAD
(1) Definition
This is a command to do the AND connection of two blocks. Each block starts with LOAD or LOAD NOT.
(2) Sequence and timing chart
8) OR LOAD
(1) Definition
This is a command to do the OR connection of two blocks. Each block starts with LOAD or LOAD NOT.
(2) Sequence and timing chart
Page 71
- 64 -
Chapter 4. PLC Program
9) OUT
(1) Definition
Output the content of the current operation results into a designated content. The value of the current operation results after executing a command doesn’t change, so the parallel use of the OUT command is possible. Output can be designated to output contacts(Y) and auxiliary contacts(M).
(2) Sequence and timing chart
10) D
(1) Definition
Detect the change of an input contact, and then output it for 1 scan time only. The D command turns ON outputting for 1 scan time only from the instant when an input contact changes from OFF to ON.
(2) Sequence and timing chart
Page 72
- 65 -
Chapter 4. PLC Program
11) D NOT
(1) Definition
Detect the change of an input contact, and then output it for 1 scan time only. The D NOT command turns ON outputting for 1 scan time only from the instant when an
input contact changes from ON to OFF.
.
(2) Sequence and timing chart
12) TMR
(1) Definition
The timer is cumulative and turns ON the output when the current value arrives at the set value. The range of an output contact is 0~15(T0.0 ~ T0.F). (Ex: For 10, T0.A is an output contact) If the input ‘b’ is turned ON with the input ‘a’ turned ON, then cumulative operation works, and if the input ‘b’ is turned OFF, then the cumulative operation pauses. If the input ‘a’ is turned OFF, then the current value of the timer is reset to ‘0’. The reference period of the timer clock pulse is 0.01 sec..
(2) Sequence and timing chart
Page 73
- 66 -
Chapter 4. PLC Program
13) CTR
(1) Definition
The counter is cumulative and turns ON the output when the current value arrives at the set value. The range of an output contact is‘0~15’(C0.0 ~ C0.F).(Ex: For‘10’, C0.A is an output contact) An input is comprised of an Enable condition and a Count Pulse. If Enable is turned OFF, the current value of a counter is reset to ‘0’, and the pulse input after completion of counting is ignored.
(2) Sequence and timing chart
14) SET, RST
(1) Definition
The SET command maintains turning ON the output even though the input is turned OFF by self holding the designated output contact ON when the input is turned ON.
The RST command maintains turning OFF the output even though the input is turned OFF by
self holding the designated output contact OFF when the input is turned ON.
(2) Sequence and timing chart
Page 74
- 67 -
Chapter 4. PLC Program
15) MCS, MCS NOT
(1) Definition
The contents of the current operation results are memorized into a Master Control Register(MRG) by an MCS command. The MCS command is cancelled by an MCS NOT command.
The program between the MCS and the MCS NOT realizes a normal command when MRG
is‘1’and turns OFF all the operation results when MRG is‘0’.
(2) Sequence and timing chart
Page 75
- 68 -
Chapter 4. PLC Program
16) MOV, DMOV (1) Definition
Command to move WORD(16Bits) or DWORD(32Bits) data The MOV transfers WORD(16Bits) integer or specific area WORD(16Bits) data to the designated area. The DMOV transfers DWORD(32Bits) integer or specific area DWORD(32Bits) data to the designated area.
(2) Sequence and timing chart
17) FWR (1) Definition
This is a command to eternally store the changed position, velocity and dwell variable data into a flash memory, being executed with a rising edge. A flash memory can be written 100 thousand times due to its property, so avoid the unnecessary storage into a flash memory.
(2) Sequence and timing chart
Flash memory storage time : 1 or more scan
Page 76
- 69 -
Chapter 4. PLC Program
4.4 Definition of PLC application commands
1) LOADP
(1) Definition
The LOADP command loads the ON input only for 1 scan time from the instant when the input contact changes from OFF to ON.
(2) Sequence and timing chart
LOADP X0.0 OUT Y0.0
X0.0 Y0.0
X0.0
Y0.0
P
1 Scan
2) LOADN
(1) Definition
The LOADN command loads the ON input only for 1 scan time from the instant when the input contact changes from ON to OFF.
(2) Sequence and timing chart
LOADN X0.0 OUT Y0.0
X0.0 Y0.0
X0.0
Y0.0
N
1 Scan
Page 77
- 70 -
Chapter 4. PLC Program
3) ANDP
(1) Definition
The ANDP command does the AND operation of the ON input only for 1 scan time from the instant when the input contact changes from OFF to ON.
(2) Sequence and timing chart
LOAD X0.0 ANDP X0.1 OUT Y0.0
X0.0 X0.1 Y0.0
X0.0
X0.1
Y0.0
P
1 Scan 1 Scan
4) ANDN
(1) Definition
The ANDN command does the AND operation of the ON input only for 1 scan time from the instant when the input contact changes from ON to OFF.
(2) Sequence and timing chart
LOAD X0.0 ANDN X0.1 OUT Y0.0
X0.0 X0.1 Y0.0
X0.0
X0.1
Y0.0
N
1 Scan 1 Scan
Page 78
- 71 -
Chapter 4. PLC Program
5) ORP
(1) Definition
The ORP command does the OR operation of the ON input only for 1 scan time from the instant when the input contact changes from OFF to ON.
(2) Sequence and timing chart
LOADP X0.0 ORP X0.1 ORP X0.2 OUT Y0.0
X0.0 Y0.0
X0.2
Y0.0
X0.1
X0.2
X0.1
X0.0
P
P
P
1 Scan 1 Scan1 Scan
6) ORN
(1) Definition
The ORN command does the OR operation of the ON input only for 1 scan time from the instant when the input contact changes from ON to OFF.
(2) Sequence and timing chart
LOADN X0.0 ORN X0.1 ORN X0.2 OUT Y0.0
X0.0 Y0.0
X0.2
Y0.0
X0.1
X0.2
X0.1
X0.0
N
N
N
1 Scan 1 Scan1 Scan
Page 79
- 72 -
Chapter 4. PLC Program
7) OUTP
(1) Definition
This detects changes in an input contact, and makes an output for 1 scan time.
The OUTP command makes an output for 1 scan time from the instant when the input contact
changes from OFF to ON.
Reference: D command – The function of the OUTP command is the same as that of the D command.
(2) Sequence and timing chart
LOAD X0.0 OUTP Y0.0 /*D Y0.0
P
X0.0 Y0.0
X0.0
Y0.0
1 scan
8) OUTN
(1) Definition
This detects changes in an input contact, and makes an output for 1 scan time.
The OUTN command makes an output for 1 scan time from the instant when the input contact
changes from ON to OFF. Reference: D NOT command – The function of the OUTN command is the same as that of the D NOT command.
(2) Sequence and timing chart
LOAD X0.0 OUTN Y0.0 /*D NOT Y0.0
N
X0.0 Y0.0
X0.0
Y0.0
1 scan
Page 80
- 73 -
Chapter 4. PLC Program
9) LOAD=
Definition
This is a command to LOAD the result of an operation by a comparison ‘equal’(=) of the DINT(32Bits) data.
② Sequence and timing chart
LOAD= M31 123456 OUT Y0.0
Y0.0
LOAD=
Y0.0
M31
123456
IN1
IN2
M32-M31
123456123455 123457
③ Example of use
- LOAD= M31 123456
- LOAD= M31 L0
- LOAD= L0 L1
- LOAD= M31 M33
Page 81
- 74 -
Chapter 4. PLC Program
10) LOAD<
(1) Definition
This is a command to LOAD the result of an operation by a comparison ‘less’(<) of the DINT(32Bits) data.
(2) Sequence and timing chart
LOAD< M31 123456 OUT Y0.0
Y0.0
LOAD<
Y0.0
M31
123456
IN1
IN2
M32-M31
123456123455 123457
(3) Example of use
- LOAD< M31 123456
- LOAD< M31 L0
- LOAD< L0 L1
- LOAD< M31 M33
Page 82
- 75 -
Chapter 4. PLC Program
11) LOAD>
(1) Definition
This is a command to LOAD the result of an operation by a comparison ‘greater’(>) of the DINT(32Bits) data.
(2) Sequence and timing chart
LOAD> M31 123456 OUT Y0.0
Y0.0
LOAD>
Y0.0
M31
123456
IN1
IN2
M32-M31
123456123455 123457
(3) Example of use
- LOAD> M31 123456
- LOAD> M31 L0
- LOAD> L0 L1
- LOAD> M31 M33
Page 83
- 76 -
Chapter 4. PLC Program
12) PUT
(1) Definition
This is the command to convert the specific contact area DINT (32Bits) data in the PLC contact data area into the DINT(32Bits) data and then to move it to the specific variable of the MC variable area (P, F, D, L area).
(2) Sequence and timing chart
LOADP M0.0 PUT P0 M10 OUT M1.0
LOADP M0.0 PUT F0 M14 OUT M1.1
M0.0
M1.0
M13-M12
PUT
M10 P0
IN
OUT
M0.0 M1.0
M14
F0IN
OUT
M0.0
M11-M10
10000
P0_X
10000
PUT
20000
M1.1
?
P
P
M1.1
F0 5000?
P0_Y
20000
?
M15-M14
5000
- PUT P0 M10 : Store the DINT(32Bits) value of [M11-M10] into the X-axis position data of P0, and the DINT value of [M13-M12] into the Y-axis position data of P0 as a DINT(32Bits) value.
- PUT F0 M14 : Store [M15-M14] as a DINT(32Bits) value into the velocity data of F0.
** Type: PUT <MC variable area><variable number> <PLC contact>
Example of use: -- PUT P1 M0 : [M1-M0] Æ P1_X, [M3-M2] Æ P1_Y
-- PUT F2 M4 : [M5-M4] Æ F2
-- PUT D0 M6 : [M7-M6] Æ D0
-- PUT L0 M8 : [M9-M8] Æ L0
Page 84
- 77 -
Chapter 4. PLC Program
13) GET
(1) Definition
This is a command to move to a specific contact area in a PLC contact data area by converting the specific MC variable DINT(32Bits) data in a MC variable area(P, F, D, L area) into DINT(32Bits) data.
(2) Sequence and timing chart
LOADP M0.0 GET P0 M10 OUT M1.0
LOADP M0.0 GET F0 M14 OUT M1.1
M0.0
M1.0
F0
GET
M10 P0
IN
OUT
M0.0 M1.0
M14
F0IN
OUT
M0.0
P0_X
30000
M11-M10
30000
GET
1000
M1.1
?
P
P
M1.1
M13-M12
40000
?
P0_Y
40000
M15-M14
1000
?
- GET P0 M10 : Store the X-axis position data value of P0 into [M11-M10], and the Y­axis position data value into [M13-M12] as a DINT(32Bits) value.
- GET F0 M14 : Store the velocity data value of F0 into [M15-M14] as a DINT(32Bits) value.
**Type: GET <MC variable area><variable number> <PLC contact>
Example of use: -- GET P1 M0 : P1_X Æ [M1-M0], P1_Y Æ [M3-M2]
-- GET F2 M4 : F2 Æ [M5-M4]
-- GET D0 M6 : D0 Æ [M7-M6]
-- GET L0 M8 : L0 Æ [M9-M8]
Page 85
- 78 -
Chapter 4. PLC Program
4.5 Description of PLC motion related application commands
1) ORG
(1) Definition
An X/Y axis simultaneous homing return execution application command executes a homing return function depending on the homing direction of a parameter, and outputs the completion of execution after completing a homing return by starting a command via a rise edge input.
Generally, the homing return execution completion output (ORIGIN FIN) is used for the execution of other application commands.
- For reference, the “ORGRST” command is used to reset this ORIGIN FIN.
(2) Sequence and timing chart
LOAD X0.0 ORG OUT Y0.0
X0.0
ORG
REQ OUT
X0.0 Y0.0
Y0.0
ORIGIN FIN
Page 86
- 79 -
Chapter 4. PLC Program
2) ORGX
(1) Definition
An X axis homing return execution application command executes a homing return function depending on the homing direction of a parameter, and outputs the completion of execution after completing a homing return by starting a command via a rise edge input.
Generally, the homing return execution completion output(ORIGIN FIN) is used for the execution of other application commands.
- For reference, the “ORGRST” command is used to reset this ORIGIN FIN.
(2) Sequence and timing chart
LOAD X0.0 ORGX OUT Y0.0
X0.0
ORGX
REQ OUT
X0.0 Y0.0
Y0.0
X축 ORIGIN FIN
X axis ORIGIN FIN
Page 87
- 80 -
Chapter 4. PLC Program
3) ORGY
(1) Definition
An Y axis homing return execution application command executes an homing return function depending on the homing direction of a parameter, and outputs the completion of execution after completing an homing return by starting a command via a rise edge input.
Generally, the homing return execution completion output (ORIGIN FIN) is used for the execution of other application commands.
- For reference, the “ORGRST” command is used to reset this ORIGIN FIN.
(2) Sequence and timing chart
LOAD X0.0 ORGY OUT Y0.0
X0.0
ORGY
REQ OUT
X0.0 Y0.0
Y0.0
Y축 ORIGIN FIN
Y axis ORIGIN FIN
Page 88
- 81 -
Chapter 4. PLC Program
4) ORGRST
(1) Definition
This resets the homing return execution completion output(ORIGIN FIN) of an ORG command. The command is started by a rising edge input.
(2) Sequence and timing chart
LOAD X0.0 ORG OUT Y0.0
LOAD X0.1 ORGRST OUT Y0.1
X0.0
ORG
REQ OUT
X0.0 Y0.0
Y0.0
ORIGIN FIN
ORGRST
REQ OUT
X0.1 Y0.1
X0.1
Y0.1
FIN RESET
Page 89
- 82 -
Chapter 4. PLC Program
5) JOGX+
(1) Definition
An X axis +direction manual feed(JOG) application command executes manual feed in the +direction, and outputs a state during execution of manual feed by a start command.
(2) Sequence and timing chart
LOAD X0.0 JOGX+ OUT Y0.0
X0.0
JOGX+
REQ OUT
X0.0 Y0.0
Y0.0
JOGX+ START
Page 90
- 83 -
Chapter 4. PLC Program
6) JOGX-
(1) Definition
An X axis -direction manual feed(JOG) application command executes manual feed in the -
direction, and outputs a state during execution of manual feed by a start command.
(2) Sequence and timing chart
LOAD X0.0 JOGX­OUT Y0.0
X0.0
JOGX-
REQ OUT
X0.0 Y0.0
Y0.0
JOGX- START
Page 91
- 84 -
Chapter 4. PLC Program
7) JOGY+
(1) Definition
An Y axis +direction manual feed(JOG) application command executes manual feed in the +direction, and outputs a state during execution of manual feed by a start command.
(2) Sequence and timing chart
LOAD X0.0 JOGY+ OUT Y0.0
X0.0
JOGY+
REQ OUT
X0.0 Y0.0
Y0.0
JOGY+ START
Page 92
- 85 -
Chapter 4. PLC Program
8) JOGY-
(1) Definition
An Y axis -direction manual feed(JOG) application command executes manual feed in the ­direction, and outputs a state during execution of manual feed by a start command.
(2) Sequence and timing chart
LOAD X0.0 JOGY­OUT Y0.0
X0.0
JOGY-
REQ OUT
X0.0 Y0.0
Y0.0
JOGY- START
Page 93
- 86 -
Chapter 4. PLC Program
9) START
(1) Definition
This executes an automatic operation execution start function of an MC program as an automatic operation execution start application command of an MC program, and outputs the completion of execution as soon as beginning automatic operation execution of an MC program by being started by a rising edge input.
The automatic operation execution start completion output is reset when a program is mandatorily stopped by a pause or reset command through normal ending of a program or stopping of automatic execution.
(2) Sequence and timing chart
LOAD X0.0 START OUT Y0.0
X0.0
START
REQ OUT
X0.0 Y0.0
Y0.0
AUTO START
AUTO STOP END
Page 94
- 87 -
Chapter 4. PLC Program
10) STOP
(1) Definition
This executes an automatic operation execution stop function of an MC program as an automatic operation execution stop application command of an MC program, and outputs the completion of execution after completing automatic operation execution stop of an MC program by being started by a rising edge input.
The automatic operation execution stop completion output is reset when a program is mandatorily stopped by a restart or reset command through starting of automatic operation.
(2) Sequence and timing chart
LOAD X0.0 STOP OUT Y0.0
X0.0
STOP
REQ OUT
X0.0 Y0.0
Y0.0
AUTO STOP AUTO START
RESET
Page 95
- 88 -
Chapter 4. PLC Program
11) RESET
(1) Definition
This executes an automatic operation execution reset and alarm reset function of an MC program with an automatic operation execution reset and alarm reset application command of an MC program, and outputs the completion of execution after completing an automatic operation execution reset and alarm reset function of an MC program by being started by a rising edge input.
All other PLC motion application commands cannot be executed with the output of this application command turned ON by maintaining the input of an automatic operation execution reset and alarm reset application command ON.
(2) Sequence and timing chart
LOAD X0.0 RESET OUT Y0.0
X0.0
RESET
REQ OUT
X0.0 Y0.0
Y0.0
RESET
Page 96
- 89 -
Chapter 4. PLC Program
12) CHPROG
(1) Definition
This executes an MC program number change function for executing automatic operation with an MC program number change(CHPROG) application command for automatic operation, and outputs the completion of execution after completing an MC program number change for automatic operation by being started by a rising edge input.
--- A value for the program number input can be designated by using a number, M area, D(E) variable and L variable.
--- The MC program number cannot be changed during the execution of automatic
operation.
(2) Sequence and timing chart
LOAD X0.0 CHPROG 2 OUT Y0.0
X0.0
CHPROG
REQ OUT
X0.0 Y0.0
AUTO PROGRAM NUMBER
2
Y0.0
2
?
NO
Example of use:
a) Number
-- CHPROG 0
-- CHPROG 1
b) M area
-- CHPROG M0
-- CHPROG M10
c) D(E) variable
-- CHPROG D0
-- CHPROG E0
d) L variable
-- CHPROG L0
-- CHPROG L10
Page 97
- 90 -
Chapter 4. PLC Program
13) STEP or STEP+
(1) Definition
The X/Y axis +direction absolute position movement(STEP or STEP+) application command executes a +direction absolute position movement function by a designated velocity, completes the execution of +direction absolute position movement by starting a command via a rise edge input, and outputs the completion of execution.
--- An absolute position value can be designated by using a P variable or L variable.
--- For a velocity designation value, you can use an F variable or L variable.
--- When using an L variable as an absolute position designation value, the designated address is used as an X axis position value, and the next address is used as a Y axis position value.
The output is turned ON after completing the execution of a STEP application command, and is reset(OFF) during movement by another movement command.
(2) Sequence and timing chart
LOAD X0.0 STEP P0 F0 /*STEP+ P0 F0 OUT Y0.0
X0.0
STEP
REQ OUT
X0.0 Y0.0
2000
Y0.0
P0
POS
VELF0
CUR-Y POSITION
?
P0_X
1234
P0_Y(5678)
F0
2000
POSITION MOVE
CURRENT VELOCITY
?
?
P0_Y
5678
CUR-X POSITION
? P0_X(1234)POSITION MOVE ?
Example of use: -- STEP P0 F0 or STEP+ P0 F0 -- STEP L0 F0 or STEP+ L0 F0
-- STEP P0 L10 or STEP+ P0 L10 -- STEP L0 L10 or STEP+ L0 L10
Page 98
- 91 -
Chapter 4. PLC Program
14) STEP-
(1) Definition
The X/Y axis -direction absolute position movement(STEP-) application command executes a
-direction absolute position movement function by a designated velocity, completes the execution of -direction absolute position movement by starting a command via a rise edge input, and outputs the completion of execution.
--- An absolute position value can be designated by using a P variable or L variable.
--- A velocity value can be designated by using an F variable or L variable.
--- When using an L variable as an absolute position designation value, the designated address is used as an X axis position value and the next address is used as a Y axis position value.
The output is turned ON after completing the execution of a STEP- application command, and is reset(OFF) during movement by another movement command.
(2) Sequence and timing chart
LOAD X0.0 STEP- P0 F0 OUT Y0.0
X0.0
STEP-
REQ OUT
X0.0 Y0.0
2000
Y0.0
P0
POS
VELF0
CUR-Y POSITION
?
P0_X
1234
-P0_Y(-5678)
F0
2000
POSITION MOVE
CURRENT VELOCITY
?
?
P0_Y
5678
CUR-X POSITION
? -P0_X(-1234)POSITION MOVE
Example of use: -- STEP- P0 F0 -- STEP- L0 F0
-- STEP- P0 L10 -- STEP- L0 L10
Page 99
- 92 -
Chapter 4. PLC Program
15) STEPX or STEPX+
(1) Definition
This executes an absolute position movement function of X axis in the + direction at a velocity designated in an absolute position movement(STEPX or STEPX+) application command in the + direction, and outputs the completion of execution after completing absolute position movement in the + direction by being started by a rising edge input.
--- A absolute position value can be designated by using a P variable or L variable.
--- A movement velocity value can be designated by using an F variable or L variable.
The output is turned ON after completing the execution of a STEPX application command, and is reset(OFF) during movement by another movement command.
(2) Sequence and timing chart
LOAD X0.0 STEPX P0 F0 /*STEPX+ P0 F0 OUT Y0.0
X0.0
STEPX
REQ OUT
X0.0 Y0.0
2000
Y0.0
P0
POS
VELF0
CURRENT POSITION
?
P0_X
1234
P0_X(1234)
F0
2000
POSITION MOVE
CURRENT VELOCITY
?
?
Example of use: -- STEPX P0 F0 or STEPX+ P0 F0
-- STEPX L0 F0 or STEPX+ L0 F0
-- STEPX P0 L10 or STEPX+ P0 L10
-- STEPX L0 L10 or STEPX+ L0 L10
Page 100
- 93 -
Chapter 4. PLC Program
16) STEPX-
(1) Definition
The X axis -direction absolute position movement(STEPX-) application command executes a
-direction absolute position movement function by a designated velocity, completes the execution of -direction absolute position movement by starting a command via a rise edge input, and outputs the completion of execution.
--- A absolute position value can be designated by using a P variable or L variable.
--- A movement velocity value can be designated by using an F variable or L variable.
The output is turned ON after completing the execution of a STEPX- application command, and is reset(OFF) during movement by another movement command.
(2) Sequence and timing chart
LOAD X0.0 STEPX- P0 F0 OUT Y0.0
X0.0
STEPX-
REQ OUT
X0.0 Y0.0
2000
Y0.0
P0
POS
VELF0
CURRENT POSITION
?
P0_X 1234
-P0_X(-1234)
F0 2000
POSITION MOVE
CURRENT VELOCITY
?
?
Example of use: -- STEPX- P0 F0
-- STEPX- L0 F0
-- STEPX- P0 L10
-- STEPX- L0 L10
Loading...