0% found this document useful (0 votes)
6 views33 pages

NC Positioning Control with FBs-PLC

Chapter 13 discusses the evolution of NC positioning control in FBs-PLC systems, highlighting the transition from ordinary motors to advanced NC controllers for improved speed and precision. It details various methods of interfacing PLC with stepping or servo drivers, emphasizing high-speed pulse control as the most effective approach. The chapter also outlines the configuration procedures, hardware requirements, and programming instructions necessary for implementing NC positioning control within FBs-PLC systems.

Uploaded by

austindraz62
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views33 pages

NC Positioning Control with FBs-PLC

Chapter 13 discusses the evolution of NC positioning control in FBs-PLC systems, highlighting the transition from ordinary motors to advanced NC controllers for improved speed and precision. It details various methods of interfacing PLC with stepping or servo drivers, emphasizing high-speed pulse control as the most effective approach. The chapter also outlines the configuration procedures, hardware requirements, and programming instructions necessary for implementing NC positioning control within FBs-PLC systems.

Uploaded by

austindraz62
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Chapter 13 The NC positioning control of FBs-PLC

People use ordinary motor to exercise positioning control in early stage; since the speed and precision demand
was not so high then, it was enough to fulfill the demand. As the increasing of mechanical operation speed for the
efficiency purpose, finished product quality standard, and precision demands are getting higher, the stopping position
control of motor is no more what the ordinary motor is capable to do. The best solution for this problem is to adopt NC
positioning controller which incorporate with stepping or servo motor to do the position control. In the past, the extremely
high cost limited the prevailing of its usage; however, the technology advance and cost decreasing, which made the
pricing affordable, had helped to increase the prevailing of usage gradually. To cope with this trend, the FBs-PLC
integrated into its internal SoC chip the special NC positioning controller that is available on the market, therefore makes it
free from the bothersome data transaction and linking procedure between PLC and special NC positioning controller.
Furthermore, it greatly lowered the entire gadget cost hence provides the user the solution for a good bargain, high quality,
simple, and convenient integrated NC positioning control with PLC.

13.1 The methods of NC positioning

The methods for controlling interface of PLC and stepping or servo driver are as follows:
z Giving command by way of digital I/O: Easy to use but less dexterity in application.
z Giving command by way of analogue output: Better dexterity in controlling reaction but it is with a higher cost and
easy to be interfered by noise.
z Giving command by way of communication: There is no standard for communication protocol and it is confined in
communication reaction thus constitutes a bottleneck for application.
z Giving command by way of high speed pulse: The cost is low and is easy to precisely controlled.
Of these methods, controlling stepping or servo driver with high speed pulse is more frequently used method. The
main unit of PLC contains multi-axis high speed pulse output and hardware high speed counter, and it can provide easy
using, designing for positioning program editing. Therefore it makes the related application even more convenient and
comfortable.

Following two kinds are frequently used NC server system that constituted by PLC associates with servo drivers:
z Semi closed loop control

The PLC is responsible for sending high speed pulse command to servo driver. The motion detector installed
on servo motor will forward directly to server driver, closed loop reaches only to server driver and servo motor.
The superior point is that the control is simple and the precision is satisfactory (which is suitable for most of the
applications). The defect is that it can’t fully reflect the actual shift amount after the transmission element;
furthermore, the element being consumed, become aging, or has defect will not be able to be compensated nor
checked to verify.

z Closed loop control

The PLC is responsible for sending high speed pulse command to servo driver. In addition to that the shift
detection signal installed on servo motor which will be forwarded directly to servo driver, the attached shifting
detector installed after the transmission element can fully reflect the actual shift amount and forward it to the
high speed counter that PLC contains. So as to make the control becomes more delicate, and help to avoid
the defect of above mentioned semi closed loop.

13.2 Absolute coordinate and relative coordinate


The designation of moving distance can be assigned by absolute location (absolute coordinate positioning), or
assigned by relative distance (relative coordinate positioning). And the DRV instruction is used to drive motor.

While marking the moving distance with absolute coordinate,


if it is located at 100mm at the present, for moving to 300 mm, the positioning instruction is : DRV ABS, ,300 , Ut
if it is located at 300mm at the present, for moving to 0mm, the positioning instruction is : DRV ABS, , 0 , Ut.

While marking the moving distance with relative coordinate,


if it is located at 100mm at the present, for moving to 300 mm, the positioning instruction is : DRV ADR, +, 200, Ut.
if it is located at 300mm at the present, for moving to 0mm, the positioning instruction is : DRV ADR, −, 300, Ut.

13-1
z Absolute coordinate labeling

Program coding for location of 300mm moving to 0mm:

DRV ABS, , 0,Ut


... ...
-100 0 100 200 300

Program coding for location of 100mm moving to 300mm:


DRV ABS, ,300,Ut

z Relative coordinate labeling

Program coding for location of 300mm moving to 0mm:

DRV ADR,-,300,Ut
... ...
-100 0 100 200 300

Program coding for location of 100mm moving to 300mm:


DRV ADR,+,200,Ut

13.3 Procedures of using FBs-PLC positioning control

Start

Configure the high speed pulse output (HSPSO) function


under WinProladder or FP-07C configuration function.
Switch the Y0~Y7 output of FBs-PLC to HSPSO circuit in the For the wiring layout, please refer to section
------
SoC, and determine the working mode of output pulse (U/D, 13.4.2.
CK/DR, A/B), and complete the hardware wiring layout
between PLC and positioning driver.

Each axis of motor is controlled by one FUN140 (it can also by


more than one, but only one can be active at any time); then
employs the FUN140 extended positioning instruction (SPD, Please refer to FUN140 and its extended
DRV,… etc.) to coding for the needed positioning control ------ positioning instruction for the function and usage
program that will be saved into register block assigned by explanation.
FUN140 SR operand. Once the FUN 140 input control
started, it can exercise the positioning controls.

If it needs to do close loop control, it can employ the FBs-PLC


hardware high speed counter to count the feedback pulse
(e.g. Encoder etc.) after transmission element to achieve.

End

13-2
13.4 Explanation for the positioning control hardware of FBs-PLC

13.4.1 Structure of output circuit of HSPSO

According to different main unit, it provides different frequency of output pulse, it includes 120KHz (High speed )
/20KHz (Medium speed) of single ended transistor output model (FBS-xxMCT), and high speed differential output model
(FBS-xxMN) which can reach 920KHz (for single phase), two series of models.

High speed pulse output circuit share to use the Y0~Y7 exterior output of FBs-PLC. While it is not yet using the
HSPSO function (haven’t configured the PSO function under configuration function), the Y0~Y7 exterior output of
FBs-PLC is corresponding to the Y0~Y7 status of internal output relay. When the HSPSO has been configured, the Y0
~Y7 exterior output will switch directly to HSPSO output circuit within SoC, which has no relation with Y0~Y7 relay
inside PLC.

The following is the detailed signals list for respective axis output of main unit and the selectable output modes:

Output modes
Axis No. Exterior output
U/D output K/R output A/B output Single CK output
PSO0 Y0 , Y1 Y0=U , Y1=D Y0=K , Y1=R Y0=A , Y1=B Y0=CK
PSO1 Y2 , Y3 Y2=U , Y3=D Y2=K , Y3=R Y2=A , Y3=B Y2=CK
PSO2 Y4 , Y5 Y4=U , Y5=D Y4=K , Y5=R Y4=A , Y5=B Y4=CK
PSO3 Y6 , Y7 Y6=U , Y7=D Y6=K , Y7=R Y6=A , Y7=B Y6=CK

13.4.2 Hardware wiring layout for FBs-PLC positioning control

Take the 0th axis (PSO0) of FBs-XXMCT and FBs-XXMN main unit for example, it is illustrated with diagrams as
follows; the others are the same.

A, FBS-XXMCT single ended output wiring

Driver (photocouple input)


FBs main unit

Y0 A+
A phase
*R
A-
(or U or CK) +
5~24VDC
Y1 External power supply
B+
B phase
*R
(or D or DR)
B-
C0

13-3
Driver (OP input)

FBs main unit Va


R
Y0 A
+
A phase
(or U or CK) 5~24VDC
R External power supply

Y1 B
B phase
(or D or DR)

C0 C

B、FBS-XXMN differential output wiring

Driver (Photocouple input)


FBS-XXMN PLC

Y0+ A+
Y0 A phase(or U or CK)
Y0- A-

SG Twisted pair FG

Y1+ B+
Y1 B phase(or D or DR)
Y1- B-

FBS-XXMN PLC Driver (Line receiver input)

Y0+ A+
Y0 A phase(or U or CK)
Y0- A-

SG Twisted pair FG

Y1+ B+
Y1 B phase(or D or DR)
Y1- B-

(For line receiver input, it must make PLC connect to FG of driver to eliminate common mode voltage)

13-4
Configuration of HSPSO with WinProladder

Click the “I/O Configuration” Item which in project windows :

Project name

System Configuration

I/O Configuration Æ select “Output Setup”

When “Output Setup” windows appear, then you can configure the Output type :

13.5 The Explanation for the Position Control Function of FBs-PLC

The position control function of FBs-PLC incorporates the dedicated NC position controller, which is available in the
market, into the PLC. This makes the PLC and NC controller be able to share the same data block without the demand
of complicated works like data exchange and synchronized controlling between these two systems. And it can still use
the usual NC positioning control instruction (e.g. SPD , DRV,… etc.).

One main unit can control up to 4 axis of their position control, and can drive multi axis simultaneously. However,
it provides point to point positioning and speed control, but also it provides the linear interpolation function. When the
system is applying for more than 4 axis, it can also employ CPU LINK function of FBs-PLC to attain control over more
positioning actions.

The NC position control instruction for FBs-XXMCT、FBs-XXMN main units are identical to each other. The
difference is only on the different circuit output, as previously revealed. Hereby we assume that FBs-XXMCT main
unit is used in the control of stepping motor with lower speed, and FBs-XXMN main unit is used in high speed servo
motor control. Consequently, we illustrate only with the connecting diagram of FBs-XXMCT main unit that driving
stepping motor and the diagram of FBs-XXMN main unit that driving servo motor. Of course we can also use
FBs-XXMCT main unit to drive servo motor or use FBs-XXMN main unit to drive stepping motor instead, they can still
work perfectly, as long as its circuit structure (single ended or differential) and frequency can match.

13-5
13.5.1 Interface of Stepping Motor

z Stepping motor is designed to receive input pulse to attain to the control of desired angle or distance, therefore the
turning angle and the input pulse count has a positive correlation ship, and the turning speed also depends on the
input pulse frequency.
N : Revolving speed of motor (RPM)
N (RPM) = 60 × f / n f : Pulse frequency (Ps/Sec)
n : Pulse counts for motor to turn for a revolution (Ps/ Rev).
n = 360 / θs θs : Angle (Deg)
FULL HALF
Basic
Phase Pulse counts for Pulse counts for
pulse angle Pulse angle Pulse angle
turning one revolution turning one revolution
0.36° 0.36° 1000 0.18° 2000
5 phase
0.72° 0.72° 500 0.36° 1000
4 phase 0.90° 0.90° 400 0.45° 800
2 phase 1.80° 1.80° 200 0.90° 400

13-6
13.5.2 Interface of Servo Motor

※ Except that the Y0~Y7 of above diagram are for dedicated purpose, Y8~Y11 and respective inputs can be
adjusted for using according to demand.

※ The left over travel, right over travel limit switchs for safity detection also need to be connected to PLC to assure
proper operation.

13-7
13.5.3 Working Diagram Illustration for Servo Motor

z The Encoder of servo motor feedback the shifting detection signal to servo driver. The driver gets the pulse
frequency, and pulse count of input signal (pulse command), as well as the frequency and pulse count of feedback
signal processed with internal error counter and frequency to voltage conversion circuit, and acquired the pulse and
turning speed deviations. Using these operations to control the servo motor, so as to obtain a high speed, precise
speed and positional closed-loop processing system.

z The revolving speed of servo motor depends on the pulse frequency of input signal; the turning stroke of motor is
determined by pulse count.

z Generally speaking, the final control error deviation of servo motor is ±1 pulse.

13.6 Explanation of Function for NC Position Control Instruction

The NC position control of FBs-PLC has following four related instructions:

z FUN140 (HSPSO) high speed pulse output instruction, which includes following 8 extension positioning
instructions:

1. SPD 5. ACT
2. DRV 6. EXT Used for positioning program coding and
3. DRVC 7. GOTO stored to SR operand area of FUN140

4. WAIT 8. MEND

z FUN141 (MPARA) positioning parameter setting instruction

z FUN142 (PSOFF) enforcing pulse output stop instruction.

z FUN143 (PSCNV) converting the current pulse value to displaying value instruction.

The following function explanations are for the above mentioned 4 instructions:

13-8
NC Positioning Control Instruction

FUN 140 High Speed Pulse Output FUN 140


HSPSO (Including the Extended Positioning Instruction) HSPSO

Ps : The set number of Pulse Output (0~3)


Ladder symbol
0:Y0 & Y1
[Link]
1:Y2 & Y3
Execution control EN Ps : ACT
2:Y4 & Y5
SR : 3:Y6 & Y7
Pause INC WR : ERR SR: Starting register for positioning program
(example explanation)
Abort ABT DN WR: Starting register for instruction operation (example
explanation). It controls 7 registers, which the other
program cannot repeat in using.

Range HR DR ROR K
R0 D0 R5000
Ope- ∣ ∣ ∣
rand R3839 D3999 R8071
Ps 0~3
SR ○ ○ ○
WR ○ ○ ○*

Instruction Explanation

1. The NC positioning program of FUN140 (HSPSO) instruction is a program written and edited with text
programming. We named every position point as a step (which includes output frequency, traveling distance,
and transfer conditions). For one FUN140, it can be arranged with 250 steps of positioning points at the most,
with every step of positioning point controlled by 9 registers.

2. The best benefit to store the positioning program into the registers is that in the case of association with MMI
(Man Machine Interface) to operate settings, it may save and reload the positioning program via MMI when
replacing the molds.

3. When execution control “EN”=1, if the other FUN140 instructions to control Ps0 ~ 3 are not active
(corresponding status of Ps0=M1992, Ps1=M1993, Ps2=M1994, and Ps3=M1995 will be ON), it will start to
execute from the next step of positioning point (when goes to the last step, it will be restarted from the first
step to perform); if Ps0~3 is controlled by other FUN140 instruction (corresponding status of Ps0=M1992,
Ps1=M1993, Ps2=M1994, and Ps3=M1995 would be OFF), this instruction will acquire the pulse output right
of positioning control once the controlling FUN140 has released the control right.

4. When execution control input “EN” =0, it stops the pulse output immediately.

5. When output pause “PAU” =1 and execution control “EN” was 1 beforehand, it will pause the pulse output.
When output pause “PAU” =0 and execution control is still 1, it will continue the unfinished pulse output.

6. When output abort “ABT”=1, it stops pulse output immediately. (When the execution control input “EN”
becomes 1 next time, it will restart from the first step of positioning point to execute.)

7. While the pulse is in output transmitting, the output indication “ACT” is ON.

8. When there is execution error, the output indication “ERR” will be ON.
(The error code is stored in the error code register.)

9. When each step of positioning point is complete, the output indication “DN” will be ON.

13-9
NC Positioning Control Instruction

FUN 140 High Speed Pulse Output FUN 140


HSPSO (Including the Extended Positioning Instruction) HSPSO

*** The working mode of Pulse Output must be set (without setting, Y0~Y7 will be treated as general output) to
be one of U/D, K/R, or A/B mode, thus the Pulse Output may have a regular output.

U/D Mode : Y0 (Y2, Y4, Y6), it sends out upward counting pulse.
Y1 (Y3, Y5, Y7), it sends out downward counting pulse.

K/R Mode : Y0 (Y2, Y4, Y6), it sends the pulse out.


Y1 (Y3, Y5, Y7), it sends out the directional signal;
ON=upward counting, OFF= downward counting.

A/B Mode : Y0 (Y2, Y4, Y6), it sends out the phase A pulse.
Y1 (Y3, Y5, Y7), it sends out the phase B pulse.

● The output polarity for Pulse Output can select to be Normal ON or Normal OFF.
〔The interfaces for positioning control〕

ON : stop or pause FUN140, slow down and stop pulse output.


M1991
OFF : stop or pause FUN140, stop pulse output immediately.
ON : Ps0 Ready
M1992
OFF : Ps0 is in action
ON : Ps1 Ready
M1993
OFF : Ps1 is in action
ON : Ps2 Ready
M1994
OFF : Ps2 is in action
ON : Ps3 Ready
M1995
OFF : Ps3 is in action
M1996 ON : Ps0 has finished the last step
M1997 ON : Ps1 has finished the last step
M1998 ON : Ps2 has finished the last step
M1999 ON : Ps3 has finished the last step

M2000 : ON, multi axes acting simultaneously (At the same scan, when execution control “EN”= 1of FUN140
instructions which control Ps0~3, their pulses output will be sent at the same time without any time lag).
: OFF, as the FUN140 for Ps0~3 starts, corresponding axis pulse output will be sent immediately; since
the ladder program is executed in sequence, therefore even the FUN140 for Ps0~3 started at the same
scan, there must be some time lag between them.
Current output Current pulse The remaining pulse
Ps No. Error code
frequency position counts to be transmitted
Ps0 DR4080 DR4088 DR4072 R4060
Ps1 DR4082 DR4090 DR4074 R4061
Ps2 DR4084 DR4092 DR4076 R4062
Ps3 DR4086 DR4094 DR4078 R4063

※ R4056 : When the value of low byte=5AH, it can be dynamically changed for its output frequency during the
high speed pulse output transmitting at any time.
When the value of low byte is not 5AH, it can not be dynamically changed for its output frequency
during the high speed pulse output transmitting.
The default value of R4056 is 0

13-10
NC Positioning Control Instruction

FUN 140 High Speed Pulse Output FUN 140


HSPSO (Including the Extended Positioning Instruction) HSPSO

R4064 : The step number (positioning point) which has been completed of Ps0.
R4065 : The step number (positioning point) which has been completed of Ps1.
R4066 : The step number (positioning point) which has been completed of Ps2.
R4067 : The step number (positioning point) which has been completed of Ps3.

z Format of positioning program:

SR: Starting register of registers block which reserved to store positioning program, explained as follows:

SR A55AH The effective positioning program; its starting register must be A55AH

SR+1 Total steps 1~250

SR+2

SR+3

SR+4

SR+5

SR+6 The first positioning point (step) of positioning program


(every step controlled by 9 registers).
SR+7

SR+8

SR+9

SR+10

The Nth step of positioning program.

SR+N×9+2

1 3 - 11
NC Positioning Control Instruction

FUN 140 High Speed Pulse Output FUN 140


HSPSO (Including the Extended Positioning Instruction) HSPSO

z Explanation for working register of instruction operation:

WR is the starting register.

WR+0 Being executed or stopped step

WR+1 Working flag

WR+2 Controlled by system

WR+3 Controlled by system

WR+4 Controlled by system

WR+5 Controlled by system

WR+6 Controlled by system

WR+0 : If this instruction is in execution, the content of this register represents the step (1~N) being performed.
if this instruction is not in execution, the content of this register represents the step where it stopped at
present
When execution control “EN” =1, it will perform the next step, i.e. the current step plus 1 (if the current
step is at the last step, it will restart to perform from the first step).
Before starting the execution control “EN” =1, the user can renew the content of WR+0 to determine
starting from which step to perform (when the content of WR+0 =0, and execution control “EN” =1, it
represents that the execution starts from the first step).

WR+1 : B0~B7, total steps

B8 = ON, output paused

B9 = ON, waiting for transfer condition

B10 = ON, endless output (the stroke operand of DRV command is set to be 0 )

B12 = ON, pulse output transmitting (the status of output indicator “ACT”)

B13 = ON, instruction execution error (the status of output indicator “ERR”)

B14 = ON, finished being executed step (the status of output indicator “DN”)

*** Once the FUN140 instruction has been started (the B12 of WR+1=ON) and if suspended by a shut down for
emergency or switchover from auto to manual mode while the pulse output has not yet completed, this
instruction will be negated at next execution. It must clear the WR+1 register to be 0 before restarts the
instruction next time, so as to make the instruction be initiated again; otherwise, the pulse output will not
appear!

*** Whether execution control “EN” =0 or 1, executing the FUN140 instruction every scan , there won’t have the
situation mentioned above.

*** When step which has been completed, the output indication “DN” will turn ON and keep such status if
suspending ; the user may turn OFF the status of “DN” by using the rising edge of output coil controlled by
"DN" to clear the content of WR+1 register to be 0, and it can be attained.

13-12
NC Positioning Control Instruction

FUN 140 High Speed Pulse Output FUN 140


HSPSO (Including the Extended Positioning Instruction) HSPSO

Error indication Error code

R4060(Ps0) 0 : Error free

R4061(Ps1) 1 : Parameter 0 error

R4062(Ps2) 2 : Parameter 1 error

R4063(Ps3) 3 : Parameter 2 error

4 : Parameter 3 error

5 : Parameter 4 error

6 Parameter 5 error The possible error codes

7 : Parameter 6 error for FUN141 execution

8 : Parameter 7 error

9 : Parameter 8 error

10 : Parameter 9 error

13 Parameter 12 error

15 Parameter 14 error

30 : Error of variable address for speed setting

31 : Error of setting value for speed setting

32 : Error of variable address for stroke setting

33 : Error of setting value for stroke setting

34 : Illegal positioning program

35 : Length error of total step The possible error codes

36 : Over the maximum step for FUN140 execution

37 : Limited frequency error

38 : Initiate/stop frequency error

39 : Over range of compensation value for movement

40 : Over range of moving stroke

41 : ABS positioning is not allowed within DRVC commands

Note : The content of error indication register will keep the latest error code. Making sure that no more error to
happen, you can clear the content of error indication register to be 0; as long as the content maintains at 0,
it represents that there’s no error happened.

Editing Servo Program Table with WinProladder

Click the “Servo Program Table” Item which in project windows :

Project name

Table Edit

Servo Program Table Æ Click right button and select “New Table”

13-13
NC Positioning Control Instruction

FUN 140 High Speed Pulse Output FUN 140


HSPSO (Including the Extended Positioning Instruction) HSPSO

● Table Type : It will be fixed to ” Servo Program Table ”.


● Table Name : For modify or debug, you can give a convenient name.
● Table Starting address : Enter the address which Starting register of Servo Program Table.

13-14
NC Positioning Control Instruction

FUN 140 High Speed Pulse Output FUN 140


HSPSO (Including the Extended Positioning Instruction) HSPSO

z For easy programming and trouble shooting, the WinProladder provides the text editing environment to edit
the motion program(servo program table) for FUN140 execution; Key in the complete FUN140 instruction
first and then move the cursor to the position of it, pressing the hot key ”Z”, then comes the text editing
environment. The user can create the new motion program or display the existed program under this
friendly user interface operation.
z Extended positioning instructions are listed as follows:

Instruction Operand Explanation


SPD XXXXXX or y Moving speed in frequency or velocity (FUN141 Parameter_0=0
Rxxxx or represents velocity; Parameter_0=1 or 2 for frequency; the
Dxxxx system default is frequency). The operand can be input directly
with constant or variable (Rxxxx, Dxxxx); when the operand is
variable, it needs 2 registers, e.g. D10 represents D10 (Low
Word) and D11 (High Word), which is the setting of frequency
or velocity.
y When selecting to use the velocity setting, the system will
automatically convert the velocity setting to corresponding
output frequency.
y Output frequency range: 1≦output frequency≦921600 Hz.
*** When the output frequency is 0, this instruction will wait until
the setting value isn’t 0 to execute the positioning pulse
output.
DRV ADR ,+ ,XXXXXXXX,Ut y Moving stroke setting in Ps or mm,Deg,Inch
ADR ,+ ,XXXXXXXX,Ps (When FUN141 Parameter_0=1, the setting stroke in Ut is Ps;
ADR ,− ,XXXXXXXX,Ut Parameter_0=0 or 2, the setting stroke in Ut is mm, Deg, Inch;
ADR ,− ,XXXXXXXX,Ps the system default for Ut is Ps).
ADR , , XXXXXXXX,Ut y When 4_th operand of DRV is Ut (not Ps) , according to
ADR , ,−XXXXXXXX,Ut parameter setting of 1, 2, 3 of FUN141, the system will convert
ADR , , XXXXXXXX,Ps the corresponding pulse count to output.
ADR , ,−XXXXXXXX,Ps yThere are 4 operands to construct DRV instruction as follows:
ADR ,+ ,Rxxxx,Ut
1_st operand: coordinate selection.
ADR ,+ ,Rxxxx,Ps
ADR ,− ,Rxxxx,Ut ADR or ABS: ADR, relative distance movement
ADR ,− ,Rxxxx,Ps ABS, absolute position movement
ADR , ,Rxxxx,Ut 2_nd operand:
ADR , ,Rxxxx,Ps revolving direction selection (Valid for ADR only).
ADR ,+ ,Dxxxx,Ut '+' , forward or clockwise
ADR ,+ ,Dxxxx,Ps '−' , backward or counterclockwise
ADR ,− ,Dxxxx,Ut ' ' ,direction is determined by the setting value
ADR ,− ,Dxxxx,Ps (positive value: forward; negative value: backward)
ADR , ,Dxxxx,Ut
3_rd operand: moving stroke setting
ADR , ,Dxxxx,Ps
ABS , , XXXXXXXX,Ut XXXXXXXX: It can directly input with constant or variable
ABS , ,−XXXXXXXX,Ut or (Rxxxx, Dxxxx); it needs 2 registers when
ABS , , XXXXXXXX,Ps −XXXXXXXX adopting the variable, e.g. R0 represents R0
ABS , ,−XXXXXXXX,Ps (Low Word) and R1 (High Word) as the
or Rxxxx setting of moving stroke.
ABS , ,Rxxxx,Ut
ABS , ,Rxxxx,Ps or Dxxxx
ABS , ,Dxxxx,Ut *** When the setting of moving stroke is 0 and 1_st operand is
ABS , ,Dxxxx,Ps ADR, it represents to revolve endless.
Stroke setting range: −99999999 ≤ stroke setting ≤ 99999999
4_th operand: resolution of stroke setting
Ut or Ps:for Ut, the resolution is one unit;
(it is determined by parameter 0, 3 of FUN141); for Ps, the
enforced resolution is one pulse.

13-15
NC Positioning Control Instruction

FUN 140 High Speed Pulse Output FUN 140


HSPSO (Including the Extended Positioning Instruction) HSPSO

Instruction Operand Explanation


DRVC ADR,+,XXXXXXXX,Ut The usage of DRVC and the operand explanation is the same as
or or or or DRV’s instruction.
ABS,−, Rxxxx ,Ps *** DRVC is used to do successive speed changing control (8 speeds
or at the most).
Dxxxx *** Of the successive speed changing control, only the first DRVC
instruction can use the absolute value coordinate for positioning.
*** The revolution direction of DRVC can only be decided by ‘+’ or ‘−’.
*** The revolution direction only determined by the first DRVC of
successive DRVC instructions; i.e. the successive speed
changing control can only be the same direction.

For example: successive 3 speed changing control


001 SPD 10000 * Pulse frequency = 10KHz.
DRVC ADR,+,20000,Ut * Forward 20000 units.
GOTO NEXT
002 SPD 50000 * Pulse frequency =50 KHz
DRVC ADR,+,60000,Ut * Forward 60000 units.
GOTO NEXT
003 SPD 3000 * Pulse frequency = 3KHz.
DRV ADR,+,5000,Ut * Forward 5000 units.
WAIT X0 * Wait until X0 ON to restart from
GOTO 1 the first step to execute.

Note: The number of DRVC instructions must be the number of


successive speeds deducted by 1, i.e. the successive speed
changing control must be ended with the DRV instruction.
y The above mentioned example is for successive 3 speeds changing
control, which used 2 DRVC instructions and the third must use DRV
instruction.
y Diagram illustration for the above mentioned example:
f

f2
50000

f1
10000
f3
3000

20000 60000 5000 Ut

Note: Comparison explanation between the relative coordinate positioning (ADR) and the absolute coordinate
positioning (ABS)
To move from position 30000 to −10000, the coding for programming is:

DRV ADR,−,40000,Ut or DRV ABS, ,−10000,Ut


... ...
-10000 0 10000 20000 30000 Ut

To move from position −10000 to 10000, the coding for programming is:
DRV ADR,+,20000,Ut or DRV ABS, ,10000,Ut

13-16
NC Positioning Control Instruction

FUN 140 High Speed Pulse Output FUN 140


HSPSO (Including the Extended Positioning Instruction) HSPSO

Instruction Operand Explanation

WAIT Time, XXXXX y When pulse output is complete, performing the wait instruction for going
to the next step. There are 5 kind of operands that explained as follows:
or Rxxxx
Time: The waiting time (the unit is 0.01 second), it can be directly input with
or Dxxxx
constant or variable (Rxxxx or Dxxxx); when it is time up, performs
the step that assigned by GOTO.
or X0~X255 X0~X255: Waiting until the input status is ON, it performs the step that
assigned by GOTO.
or Y0~Y255
Y0~Y255:Waiting until the output status is ON, it performs the step that
or M0~M1911
assigned by GOTO.
or S0~S999
M0~M1911: Waiting until the internal relay is ON, it performs the step that
assigned by GOTO.
S0~S999: Waiting until the step relay is ON, it performs the step that
assigned by GOTO.

ACT Time,XXXXX y After the time to output pulses described by operand of ACT, it performs
or Rxxxx immediately the step that assigned by GOTO, i.e. after the pulse output for
or Dxxxx a certain time, it performs the next step immediately. The action time (the
unit is 0.01 second) can be directly input with constant or variable (Rxxxx
or Dxxxx); when the action time is up, it performs the step assigned by
GOTO.

EXT X0~X255 y External trigger instruction; when it is in pulse output (the number of pulses
or Y0~Y255 sending is not complete yet), if the status of external trigger is ON, it will
or M0~M1911 perform the step assigned by GOTO immediately. If the status of external
trigger is still OFF when the pulse output has been complete, it is the same
or S0~S999
as WAIT instruction; waiting the trigger signal ON, then perform the step
assigned by GOTO.

GOTO NEXT y When matching the transfer condition of WAIT, ACT, EXT instruction, by
or 1~N using GOTO instruction to describe the step to be executed.
or Rxxxx
NEXT: It represents to perform the next step.
or Dxxxx
1~N: To perform the described number of step.
Rxxxx: The step to be performed is stored in register Rxxxx.
Dxxxx: The step to be performed is stored in register Dxxxx.

MEND The end of the positioning program.

13-17
NC Positioning Control Instruction

FUN 140 High Speed Pulse Output FUN 140


HSPSO (Including the Extended Positioning Instruction) HSPSO

z The coding for positioning programming :

First,it must complete the FUN140 instruction before the editing of positioning program, and assigned in
FUN140 instruction the starting register of registers block to store positioning program. While editing the
positioning program, it will store the newly edited positioning program to the assigned registers block; for
every one positioning point (called as one step) edited, it is controlled by 9 registers. If there are N
positioning points, it will be controlled by N × 9 + 2 registers in total.

Note: The registers storing the positioning program can not be repeated in using!

z Format and example for the positioning program 1:


001 SPD 5000 ; Pulse frequency = 5KHz.
DRV ADR,+,10000,Ut ; Moving forward 10000 units.
WAIT Time,100 ; Wait for 1 second.
GOTO NEXT ; Perform the next step.
002 SPD R1000 ; Pulse frequency is stored in DR1000 (R1001 and R1000).
DRV ADR,+,D100,Ut ; Moving forward,the stroke is stored in DD100 (D101 and D100).
WAIT Time,R500 ; The waiting time is stored in R500.
GOTO NEXT ; To perform the next step.
003 SPD R1002 ; Pulse frequency is stored in DR1002 (R1003 and R1002).
DRV ADR,−,D102,Ut ; Moving backward,the stroke is stored in DD102 (D103 and D102).
EXT X0 ; When external trigger X0 (slow down point) ON, it performs the next
GOTO NEXT ; step immediately.
004 SPD 2000 ; Pulse frequency = 2KHz.
DRV ADR,−,R4072,Ps ; Keep outputing the remain (stored in DR4072).
WAIT X1 : Wait until X1 ON,
GOTO 1 : Perform the first step.

z Format and example for the positioning program 2:


001 SPD R0 ; Pulse frequency is stored in DR0 (R1 & R0).
DRV ABS, ,D0,Ut ; Move to the position stored in DD0 (D1 & D0).
WAIT M0 ; Wait until M0 ON,
GOTO NEXT ; Perform the next step.
002 SPD R2 ; Pulse frequency is stored in DR2 (R3 & R2).
DRV ADR, ,D2,Ut ; Moving stroke is stored in DD2 (D3 & D2);working direction determined
; by the sign of setting value
MEND ; End of positioning program

13-18
Example for FUN140 Program Application

Program example: Jog forward


As the jog forward button has been pressed for less than 0.5 second (changeable), it sends out only one
(changeable) pulse;
As the jog forward button has been pressed for more than 0.5 second (changeable), it continuously sends pulses
out (the frequency is 10KHz, changeable), until the release of the jog forward button to stop the pulse transmitting;
or it may be designed to send N pulses out at the most.

Jog forward button


• Clear finish signal.
EN RST M1

EN RST R2000 • Perform from the first step every time.


Jog
forward Servo Manual Condition
button Ready operation for action M1 M0

M0

M0 [Link] M1000
EN Ps : 0 ACT
Positioning Program: SR : R 5000 M1001
001 SPD 1000
PAU WR : R 2000 ERR
DRV ADR,+,1,Ps
WAIT TIME,50 M1002
GOTO NEXT ABT DN
002 SPD 10000
DRV ADR,+,999999,Ut
MEND
M0 M1996
• When the last step been complete,
EN SET M1
set finish signal.

Program example: Jog Backward


As the jog backward button has been pressed for less than 0.5 second (changeable) it sends out only one
(changeable) pulse;
As the jog backward button has been pressed for more than 0.5 second (changeable), it continuously sends
pulses out (the frequency is 10KHz, changeable), until the release of the jog backward button to stop the pulse
transmitting; or it may be designed to send N pulses out at the most.
Jog forward button
EN RST M3 • Clear finish signal.

EN RST R2007 • Perform from the first step every time.


Jog
forward Servo Manual Condition
button Ready operation for action M3 M2

M2

M2 [Link] M1003
EN Ps : 0 ACT
SR : R 5020 M1004
Positioning Program:
001 SPD 1000 PAU WR : R 2007 ERR
DRV ADR,−,1,Ps
WAIT TIME,50 M1005
GOTO NEXT ABT DN
002 SPD 10000
DRV ADR,−,999999,Ut
MEND
M2 M1996 • When the last step been complete,
EN SET M3
set finish signal.

13-19
NC Positioning Instruction

FUN 141 FUN 141


Instruction of Parameter Setting for Positioning Program
MPARA MPARA

Ps: The set number of Pulse Output (0~3).


SR: Starting register for parameter table, it has totally 18
parameters which controlled by 24 registers.

Range HR DR ROR K
R0 D0 R5000
Ope- ∣ ∣ ∣
rand R3839 D3999 R8071
Ps 0~3
SR ○ ○ ○

Instruction explanation

[Link] instruction is not necessary if the system default for parameter value is matching what users need.
However, if it needs to open the parameter value to do dynamic modification, this instruction is required.
[Link] instruction incorporates with FUN140 for positioning control purpose, each axis can have one FUN141
instruction only.
3. Whether the execution control input “EN” = 0 or 1, anyway, this instruction will be performed.
4. When there is error in parameter value, the output indication “ERR” will be ON, and the error code is appeared
in the error code register.

Explanation for the parameter table:


SR =Starting register of parameter table, suppose it is R2000.

R2000 (SR+0) 0~2 Parameter 0 System default =1


R2001 (SR+1) 1~65535 Ps/Rev Parameter 1 System default =2000
1~999999 µM/Rev
DR2002 (SR+2) 1~999999 mDeg/Rev Parameter 2 System default =2000
1~999999×0.1 mInch/Rev
R2004 (SR+4) 0~3 Parameter 3 System default =2
1~921600 Ps/Sec
DR2005 (SR+5) Parameter 4 System default =512000
1~153000
DR2007 (SR+7) 0~921600 Ps/Sec Parameter 5 System default =141
R2009 (SR+9) Reserved Parameter 6 System default =0
R2010 (SR+10) 0~32767 Parameter 7 System default =0
R2011 (SR+11) 0~30000 Parameter 8 System default =5000
R2012 (SR+12) 0~1 Parameter 9 System default =0
R2013 (SR+13) -32768~32767 Parameter 10 System default =0
R2014 (SR+14) -32768~32767 Parameter 11 System default =0
R2015 (SR+15) 0~30000 Parameter 12 System default =0
R2016 (SR+16) Reserved Parameter 13 System default =1
DR2017 (SR+17) 0~4294967295 Parameter 14 System default =0
DR2019 (SR+19) Reserved Parameter 15 System default =20000
DR2021 (SR+21) Reserved Parameter 16 System default =1000
R2023 (SR+23) Reserved Parameter 17 System default =10

13-20
NC Positioning Instruction

FUN 141 FUN 141


Instruction of Parameter Setting for Positioning Program
MPARA MPARA

Editing Servo Parameter Table with WinProladder

Click the “Servo Parameter Table” Item which in project windows :

Project name

Table Edit

Servo Parameter Table Æ Click right button and select “New Table”

● Table Type : It will be fixed to ” Servo Parameter Table ”.


● Table Name : For modify or debug, you can give a convenient name.
● Table Starting address : Enter the address which Starting register of Servo Parameter Table.

13-21
NC Positioning Instruction

FUN 141 FUN 141


Instruction of Parameter Setting for Positioning Program
MPARA MPARA

Explanation for the parameter:

z Parameter 0: The setting of unit, its default is 1.

y When the setting value is 0, the moving stroke and speed setting in the positioning program will
all be assigned with the unit of mm, Deg, Inch, so called machine unit.
y When the setting value is 1, the moving stroke and speed setting in the positioning program will
all be assigned with the unit of Pulse, so called motor unit.

y When the setting value is 2, the moving stroke setting in the positioning program will all be
assigned with the unit of mm, Deg, Inch, and the speed setting will all be assigned with the unit
of Pulse/Sec, which is called as compound unit.

Parameter 0, unit setting “0” machine unit “1” motor unit “2” compound unit

Parameter 1, 2 Must be set No need to set Must be set


Parameter 3, 7, 10, 11 mm,Deg,Inch Ps mm,Deg,Inch

Parameter 4,5,6,15,16 Cm/Min,Deg/Min,Inch/Min Ps/Sec Ps/Sec

z Parameter 1: Pulse count/1-revolution, its default is 2000, i.e. 2000 Ps/Rev.


y The pulse counts needed to turn the motor for one revolution
A= 1~65535 (for value greater than 32767, it is set with hexadecimal) Ps/Rev
y When Parameter 14 = 0, Parameter 1 is the setting for Pulse /Rev
y When Parameter 14 ≠ 0, Parameter 14 is the setting for Pulse/Rev

z Parameter 2: Movement/1 revolution, its default is 2000, i.e. 2000 Ps/Rev.


y The movement while motor turning for one revolution.
B=1~999999 µM/Rev
1~999999 mDeg/Rev
1~999999×0.1 mInch/Rev

13-22
NC Positioning Instruction

FUN 141 FUN 141


Instruction of Parameter Setting for Positioning Program
MPARA MPARA

z Parameter 3: The resolution of moving stroke setting, its default is 2.

Parameter 0 Set value=0, machine unit; Set value=2, compound unit; Set value=1, motor unit
Parameter 3 mm Deg Inch Ps
Set value =0 ×1 ×1 ×0.1 ×1000
Set value =1 ×0.1 ×0.1 ×0.01 ×100
Set value =2 ×0.01 ×0.01 ×0.001 ×10
Set value =3 ×0.001 ×0.001 ×0.0001 ×1

z Parameter 4: The limited speed setting, its default is 460000, i.e. 460000 Ps/Sec.
y Motor and compound unit: 1~921600 Ps/Sec.
y Machine unit: 1~153000 (cm/Min, ×10 Deg/Min, Inch/Min).
However, the limited frequency can’t be greater than921600 Ps/Sec.
f_max =(V_max ×1000×A)/(6×B)≤ 921600 Ps/Sec
f_min ≥ 1 Ps/Sec

Note: A = Parameter 1, B =Parameter 2.

z Parameter 5: Initiate/Stop speed, the default = 141.


y Motor and compound unit: 1~921600 Ps/Sec.
y Machine unit: 1~15300 (cm/Min, ×10 Deg/Min, Inch/Min).
However, the limited frequency can’t be greater than 921600 Ps/Sec.

z Parameter 6: Reserved, the default = 0.

z Parameter 7: Backlash compensation, the default =0.


y Setting range: 0~32767 Ps.
y While backward traveling, the traveling distance will be added with this value automatically.

z Parameter 8: Acceleration/Deceleration time setting, the default = 5000, and the unit is mS.
y Setting range: 0~30000 mS.
y The setting value represents the time required to accelerate from idle state upto limited speed
state or declerate from the limited speed state down to the idle state.
y The acceleration/deceleration is constant slope depending on Parameter 4 / Parameter 8
y When Parameter 12 = 0, Parameter 8 is the deceleration time
y There will have the auto deceleration function for short stroke movement.

z Parameter 9: Coordinnate direction setting, the default =0.


y Setting value =0, while in forward pulse output, the current Ps value is adding up.
While in backward pulse output, the current Ps value is deducting down.
y Setting value =1, while in forward pulse output, the current Ps value is deducting down.
While in backward pulse output, the current Ps value is adding up.

13-23
NC Positioning Instruction

FUN 141 FUN 141


Instruction of Parameter Setting for Positioning Program
MPARA MPARA

z Parameter 10: Forward movement compensation, the default = 0.


y Setting range: −32768~32767 Ps.
y When it is in forward pulse output, it will automatically add with this value as the moving
distance.

z Parameter 11: Backward movement compensation, the default =0.


y Setting range: −32768~32767 Ps.
y When it is in backward pulse output, it will automatically add with this value as the moving
distance.

z Parameter 12: Deceleration time setting, the default =0, and the unit is mS.
y Setting range: 0~30000 mS.
y When Parameter 12 = 0, Parameter 8 is the deceleration time
y When Parameter 12 ≠ 0, Parameter 12 is the deceleration time

z Parameter 13: Reserved.

z Parameter 14: Pulse count/1-revolution, the default = 0.


y The pulse counts needed to turn the motor for one revolution
y When Parameter 14 = 0, Parameter 1 is the setting for Pulse /Rev
y When Parameter 14 ≠ 0, Parameter 14 is the setting for Pulse/Rev

z Parameter 15: Reserved, it is recommended to be used as return home speed, the default = 20000 Ps/Sec.

z Parameter 16: Reserved, it is recommended to be used as slow down speed while returning home ,
the default = 1000 Ps/Sec.

z Parameter 17: Reserved.

Speed

Parameter 4 : Max. speed

Work speed

Parameter 5
Initiate/Stop speed
Time
Parameter 8 Parameter 8
or
Acceleration/Deceleration
Parameter 12
time setting

13-24
NC Positioning Instruction

FUN 142 FUN 142


Enforcing to Stop Pulse Output
PSOFF PSOFF

N: 0~3, enforces the asigned set number of Pulse Output


to stop its output.

Instruction Explanation

1. When stop control “EN” =1, or “EN↑” ( P instruction) changes from 0→1, this instruction will enforce the
assigned set number of Pulse Output to stop its output.

2. When applying in the process of return home , as the home has returned, it can immediately stop the pulse
output by using this instruction, so as to make it stop at the same position every time when performing
machine homing.

Program example

; When M0 changes from 0→1, it enforces the


M0 142P. Ps0 to stop the pulse output.
EN PSOFF 0

13-25
NC Positioning Instruction

FUN 143 Converting the Current Pulse Value to the Displaying Value FUN 143
PSCNV (mm, Deg, Inch, PS) PSCNV

Ps: 0~3; converting the asigned pulse position to mm (Deg,


Inch, PS) which has the same unit as the set point, so
as to make the current position displayed.
D: Registers that store the current position after conversion.
It uses 2 registers, e.g. D10 represents D10 (Low
Word) and D11 (High Word) two registers.

Range HR DR ROR K
R0 D0 R5000
Ope- ∣ ∣ ∣
rand R3839 D3999 R8071
Ps 0~3
D ○ ○ ○*

Instruction Explanation

1. When execution control “EN” =1 or “EN↑” ( P instruction) changes from 0→1, this instruction will convert the
assigned current pulse position (PS) to be the mm (or Deg, Inch, or PS) that has the same unit as the set
value, so as to make current position displaying.

2. After the FUN140 instruction has been performed, it will then be able to get the correct conversion value by
executing this instruction.

Program Example

; When M0=1, it converts the current pulse position of


Ps0 (DR4088) to the mm (or Deg or Inch or PS) that
has the same unit as the set value, and store it into the
DD10 to make the current position displaying.

13-26
13.7 Machine Homing

The machine set which undertakes relative model Encoder as shifting detector usually need the reset action for
the reference of positioning coordinate; we called this action as machine homing (seeking for zero reference).

The machine homing diagram for NC servo unit is as follows:

Method 1:
Return home speed

Slow down speed


Left over travel limit switch Near home sensing Right over travel limit switch

When it encounters the near home signal, starts the Z phase counting.

Z phase counting is up, the pulse output stops, then send out the CLR signal to clear the error counter of servo
driver.

e.g.:
X3: Near home sensing input is configured as interrupt input; in the case of machine homing, it starts HSC4 to
begin counting in X3+ interrupt service subroutine.
X2: Z phase counting input, it is configured as UP input of HSC4; the X2+ is prohibited to interrupt in regular time,
when executing machine homing and X3 near home interrupt occurred, it starts HSC4 to begin Z phase
counting. When HSC4 counting is up, it stops the pulse output, prohibit the X2+ interrupt, set home
position to signal, and sends out the CLR signal to clear the error counter of servo driver. Please consult
program example.

Method 2: According to application demand, it may slow down when encountering the near home sensor, while over
the sensor a little far away, stop the pulse output, and then traveling slowly with backward direction; the
very moment when it get out of near home sensor (the sensing signal changes from 1→0), it is treated as
machine home. This program is simpler!

(1)
Home speed
(2) Slow down
speed
(3)
Stop
(4) Slowly (5)
backward Stop

Near home signal 1→0, machine zero reference

Left over travel limit switch Near home sensing Right over travel limit switch

X3: Near home sensing input; it is configured as falling edge interrupt input.

• Once encountering the near home sensor, it will enable X3 falling edge interrupt, and slow down to stop
within the near home sensing range.
• Slowly backward traveling until the near home sensing signal changes from 1→0.
• When the near home sensing signal changes from 1→0, it performs the X3- interrupt service subroutine
immediately.
• The X3- interrupt service subroutine: Stops the pulse output immediately, prohibits the X3- interrupt, sets
home position to signal, and sends out CLR signal to clear the error counter of servo driver. (Please
consult the example program.)

13-27
Program Example 1: Machine homing (method 1)
X2: Configured as the UP input of HSC4, and connected to Z phase input.
X3: Configured as the rising edge interrupt input, and connected to near home sensing input.
【Main Program】

M1924 146
EN DIS X2+I • Prohibits X2+ interruption
(HSC4 does not count)
[Link]
EN Ps : 0 ERR • Parameter table R2900→R2923.
SR : R 2900

M92
EN RST M50
• Clears the homing completion signal.

EN RST M5 • Clears the instruction completion


signal for homing

EN RST M1007 • Clears the error signal.

D
EN RST R 2014 • Clears the step pointer, it starts from
the first step to execute.
D
EN RST R 4112
• Clears the current value of HSC4.

EN RST R 4115 • Clears the High Word of preset value


for HSC4.
[Link]
EN S : R 2923 • Fill the prset value of HSC4 with the
D : R 4114 content of Parameter 17 of FUN141.
Servo Manual
M92 Ready operation M5 M50 M1007 M4

M4

M4 [Link] M1006
EN Ps : 0 ACT • Configure R5000~R5199 as the
Positioning program: SR : R 5040 M1007
001 SPD R2919 read only register (ROR) before
PAU WR : R 2014 ERR
DRV ADR,−,999999,Ut programming, after then, when
EXT X3 storing program, the Ladder
GOTO NEXT ABT DN
program will automatically contains
002 SPD R2921
the positioning program.
DRV ADR,−,9999,Ut
MEND
M4 M1996
EN SET M5
• Homing instruction completed
M50 M51

• Signal for homing completion


M51 [Link]
EN S : 0
D : R 4088 • Fill the current PS registers with 0,
while homing completed.
Y8 .01S
EN T0 50 TUP
• Signal to clear error counter of servo

T0
driver -- Y8 is ON for 0.5 second.
EN RST Y8

13-28
【Sub Program】

65
LBL X3+I • X3 rising edge interrupt service subroutine.

M4 145
EN EN X2+I • Enables HSC4 counting if homing.
69
RTI

65
• Interrupt service subroutine of HSC4
LBL HSC4I
(Z phase counting is up)
M4 142 • Stops pulse output immediately.
EN PSOFF 0

146 • Prohibits rising edge interrupt of X2.


EN DIS X2+I

Y8 • Output to clear error counter of servo


driver.
M50
• Sets the homing completion signal.
[Link]
EN D : Y8
N : 1 • Sends output immediately.
69
RTI

13-29
Program Example 2: Machine homing (method 2)
X3: Connected to near home sensing input, and configured as falling edge interrupt input.

【Main Program】

M1924 67
EN CALL INIT

65
LBL HOME

Servo Manual Left over


Homing
Ready operation travel limit M20
• Clears the homing completion signal.

M20
• Clears the instruction completion
EN RST M50
signal for homing.

EN RST M5 • Clears the step pointer, it starts from


the first step to execute.
D
EN RST R2014
Servo
M20 Ready M5 M50 M4

M4

M4 X3 145P
EN↑ EN X3 - I • Enable X3− (falling edge) interrupt.

M4 [Link] M1006 • Configure R5000~R5199 to be the


EN Ps : 0 ACT
read only register (ROR) before
Positioning Program: SR : R 5040
001 SPD R2919
programming, after then, when storing
PAU WR : R 2014 ERR
DRV ADR,−,999999,Ut program, the Ladder program will
EXT X3 automatically contains the positioning
ABT DN
GOTO NEXT program.
002 SPD 1000
DRV ADR,−,1000,Ps
WAIT TIME,10
GOTO NEXT
003 SPD R200
DRV ADR,+,999999,Ut
MEND

M4 M1996
EN SET M5
M50 M51 • Homing instruction completed.

M51
EN SET Y8 • Signal for homing completion.

Y8 .01S • Output to clear error counter of servo


EN T0 30 TUP
driver -- Y8 is ON for 0.3 second.

T0
EN RST Y8

[Link]
EN S : 0 • Fill the current PS registers with 0.
D : R 4088

13-30
【Sub Program】

65
LBL INIT
146
EN DIS X3 - I • Prohibits X3− interrupt

[Link]
EN Ps : 0 ERR • Parameter table R2900~R2923

68 SR : 2900
RTS

65
LBL X3 - I
y X3 falling edge interrupt service
subroutine.
M4 142
EN PSOFF 0 • Stops pulse output immediately

146 • Prohibits X3− interrupt

EN DIS X3 - I • Sets the homing completion signal.


69
RTI

13-31
Program Example 3: JOG Forward

Jog forward button • Clears the completion signal


↑ EN RST M1

D • Starts from the first step every


Jog EN RST R 2000 jog execution.
forward Servo Manaul
button Ready operation M1 M0

M0

M0 [Link] M1000
EN Ps : 0 ACT
Positioning program: SR : R 5000 M1001
001 SPD 1000 PAU WR : R 2000 ERR
DRV ADR,+,1,Ps
WAIT TIME,50
GOTO NEXT ABT DN
002 SPD R2907
DRV ADR,+,99999999,Ut
MEND
• As the execution of last step
M0 M1996 completed, it sets up the
EN SET M1
completion signal.

Program Example 4: JOG Backward

Jog backward button • Clears the completion signal.


↑ EN RST M3

D • Starts from the first step every


Jog EN RST R 2007 jog execution.
backwardServo Manaul
button Ready operation M3 M2

M2

M2 [Link] M1003
EN Ps : 0 ACT
Positioning Program SR : R 5020 M1004
001 SPD 1000
PAU WR : R 2007 ERR
DRV ADR,−,1,Ps
WAIT TIME,50
GOTO NEXT ABT DN
002 SPD R2907
DRV ADR,−,99999999,Ut
MEND
• As the execution of the last step
M2 M1996
completed, it sets up the
EN SET M3
completion signal.

13-32
Program Example 5: Step by step, One cycle, Continuous positioning control.

M93 : Start
M101 : Step by step operation mode
M102 : One cycle operation mode
M103 : Continuous operation mode
M104 : Regular shut down.
M105 : Emergency stop.

M93
↑ EN RST M7
• Clears shut down signal.

EN RST M1010 • Clears the error signal.

EN RST M1011 • Clears the step completion signal.

M101
• Except step by step mode, the step
EN RST R 2021
pointer is cleared to be 0; it starts
from the first step to execute.
EN RST R 2022
• Clears being active bit of FUN140
SERVO
M93 READY M105 M1010 M6

M6 M101 M1011

M101 M7

M6 [Link] M1009
EN Ps : 0 ACT
Positioning program: SR : R 5100 M1010
001 SPD 1000 PAU WR : R 2021 ERR
DRV ADR,+,20000,Ut M1011
WAIT TIME,100 ABT DN
GOTO NEXT
002 SPD 20000
DRV ADR,+,40000,Ut
WAIT M200
GOTO NEXT
003 SPD 25000
DRV ADR,−,50000,Ut
WAIT TIME,500
GOTO NEXT
004 SPD 5000
DRV ADR,−,10000,Ut
WAIT X16
GOTO 1

M6 M102 M1996
EN SET M7
M103 M104
• Set up the shut down signal.

13-33

You might also like