Explicit feed programming for MicroJoints (#CHANNEL SET)
Feed at / behind a MicroJoint
For technical process reasons, it may be necessary to limit the path velocity for a MicroJoint (in particular with an M function MOS which requires no acknowledgement). In addition, the path after the advanced M function (MicroJoint path) is completely traversed to the end at a change in velocity.
This can be defined by the following feed settings in the NC command #CHANNEL SET (see figure below “Feed definition with MicroJoints”).
#CHANNEL SET [ M_PRE_OUTPUT [ E=.. ] [ F=.. ] [ VECTOR_LIMIT_OFF ] ] | non-modal | |
E=.. | Block end velocity E of the previous MicroJoint (start of MicroJoint) | |
F=.. | Feed velocity within the MicroJoint (path between the position of the advanced M function and the originally programmed position of the M function) | |
VECTOR_LIMIT_OFF | Deselecting a possible dynamic limitation. If one of the previously programmed dynamic influences is active via #VECTOR LIMIT (VEL, ACC, DEC), it is suppressed within the MicroJoint range. |
Programing Example
![prg_example](../safety/prg_example_prg_example_v3.png)
Explicit feed programming for MicroJoints
%microjoint16
N01 G00 G90 X0 Y0
N02 G01 F100
N05 #CHANNEL SET [M_PRE_OUTPUT E=20 F=5000]
N10 V.G.M_FCT[100].PRE_OUTP_PATH = 8; in mm
N20 G91 Y1
…
N40 Y10
N50 M100 M26
N99 M30
![Feed definition with MicroJoints](../Images/png/286446603__en__Web.png)
Notice
![notice](../safety/notice_note5.png)
If the F or E word is not specified, the feed for the advanced M function and subsequent motion blocks is not changed.
MicroJoint feed across multiple blocks
When the pre-output of the M function is advanced across multiple blocks, the feed of all MicroJoint motion blocks is also changed to the specified value.
A possibly explicitly programmed feed is replaced by the specific MicroJoint feed.
Programing Example
![prg_example](../safety/prg_example_prg_example_v3.png)
MicroJoint feed across multiple blocks
%microjoint17
N01 G01 G90 X0 Y0 F100
N05 #CHANNEL SET [M_PRE_OUTPUT E=20 F=5000]
N10 V.G.M_FCT[100].PRE_OUTP_PATH = 15; in mm
…
N40 G91 Y10 F7500
N50 M100 M26
N99 M30
![Feed with block global MicroJoints](../Images/png/286456331__en__Web.png)
Notice
![notice](../safety/notice_note5.png)
Specifying a MicroJoint specific feed replaces the possible explicitly programmed feed of the NC block.
See example above:
F7500 in N40 is replaced by F5000.
Programing Example
![prg_example](../safety/prg_example_prg_example_v3.png)
Increased feed with M11, decreased feed with M12
%microjoint16
V.G.M_FCT[11].SYNCH = "MOS"
V.G.M_FCT[11].PRE_OUTP_PATH = 125
V.G.M_FCT[12].SYNCH = "MOS"
V.G.M_FCT[12].PRE_OUTP_PATH = 325
N300 #CHANNEL SET [M_PRE_OUTPUT E=250 F=1500]
N01 X-222 G01 F1000
N10 X10
N20 X100
N30 X200 M11 (125mm)
N32 #VECTOR LIMIT ON[VEL=500]
N35 #CHANNEL SET [M_PRE_OUTPUT E=150 F=750]
N40 X300
N41 X310
N42 X320
N43 X330
N44 X340
N45 X350
N46 X360
N47 X370
N48 X380
N49 X390
N50 X500
N60 M12 (325mm)
N70 X600
N80 X700
M30
![Increased feed with M11, decreased feed with M12](../Images/png/286466059__en__Web.png)
Programing Example
![prg_example](../safety/prg_example_prg_example_v3.png)
Suppress VECTOR_LIMIT during MicroJoint
%microjoint18
V.G.M_FCT[11].SYNCH = "MOS"
V.G.M_FCT[11].PRE_OUTP_PATH = 125
V.G.M_FCT[12].SYNCH = "MOS"
V.G.M_FCT[12].PRE_OUTP_PATH = 325
N300 #CHANNEL SET [M_PRE_OUTPUT E=250 F=1500]
N01 X-222 G01 F1000
N10 X10
N20 X100
N30 X200 M11 (125mm)
N32 #VECTOR LIMIT ON[VEL=500]
N35 #CHANNEL SET [M_PRE_OUTPUT E=150 F=750 VECTOR_LIMIT_OFF]
N40 X300
N41 X310
N42 X320
N43 X330
N44 X340
N45 X350
N46 X360
N47 X370
N48 X380
N49 X390
N50 X500
N60 M12 (325mm)
N70 X600
N80 X700
M30
![Suppress VECTOR_LIMIT during MicroJoint](../Images/png/286472587__en__Web.png)