float IN -- velctrl.0.beam-corr-add axis X+, correction of commanded vel in % float IN -- velctrl.0.beam-corr-sub axis X-, correction of commanded vel in % float IN -- velctrl.0.joint-pos-cmd-in axis X: actual position float IN -- velctrl.0.pos-max ignore float IN -- velctrl.0.pos-min ignore float IN -- velctrl.1.beam-corr-add axis Y+, correction of commanded vel in w % float IN -- velctrl.1.beam-corr-sub axis Y-, correction of commanded vel in w % float IN -- velctrl.1.joint-pos-cmd-in axis Y: actual position float IN -- velctrl.1.pos-max ignore float IN -- velctrl.1.pos-min ignore bit IN FALSE velctrl.beam-corr-enable enable correction according of direction of current move float IN 100 velctrl.dist-corr ignore bit IN FALSE velctrl.dist-corr-enable ignore float IN -- velctrl.feedoverride-in feedoverride from emc float OUT -- velctrl.feedoverride-out feedoverride with correction applied |
float IN -- velctrl.0.beam-corr-add axis X+, correction of commanded vel in % float IN -- velctrl.0.beam-corr-sub axis X-, correction of commanded vel in % float IN -- velctrl.0.joint-pos-cmd-in axis X: actual position float IN -- velctrl.0.pos-max ignore float IN -- velctrl.0.pos-min ignore float IN -- velctrl.1.beam-corr-add axis Y+, correction of commanded vel in w % float IN -- velctrl.1.beam-corr-sub axis Y-, correction of commanded vel in w % float IN -- velctrl.1.joint-pos-cmd-in axis Y: actual position float IN -- velctrl.1.pos-max ignore float IN -- velctrl.1.pos-min ignore bit IN FALSE velctrl.beam-corr-enable enable correction according of direction of current move float IN 100 velctrl.dist-corr ignore bit IN FALSE velctrl.dist-corr-enable ignore float IN -- velctrl.feedoverride-in feedoverride from emc float OUT -- velctrl.feedoverride-out feedoverride with correction applied |
If the beam shape is larger in X than in Y, then the cut slot (kerf) has different dimension when path is along X versus path is along Y. (imagine the slot made by an ellipse moving around an equilateral triangle.
It was found that traveling faster in the direction normal to the widest beam, caused the slot width to reduce.
A consistant slot could be accomplished by varying velocity and distance of snout from material. Those corrections are different accordingly of direction of current move.
If we must use those machine and make enough precise burning, we can create dynamic beam shape compensation module in hal. After that and few changes we can force EMC laser machine to make precise burning in each direction.
source file: upload:velctrl.comp
Type Dir DefaultVal Name Desc ------ float IN -- velctrl.0.beam-corr-add axis X+, correction of commanded vel in % float IN -- velctrl.0.beam-corr-sub axis X-, correction of commanded vel in % float IN -- velctrl.0.joint-pos-cmd-in axis X: actual position float IN -- velctrl.0.pos-max ignore float IN -- velctrl.0.pos-min ignore float IN -- velctrl.1.beam-corr-add axis Y+, correction of commanded vel in w % float IN -- velctrl.1.beam-corr-sub axis Y-, correction of commanded vel in w % float IN -- velctrl.1.joint-pos-cmd-in axis Y: actual position float IN -- velctrl.1.pos-max ignore float IN -- velctrl.1.pos-min ignore bit IN FALSE velctrl.beam-corr-enable enable correction according of direction of current move float IN 100 velctrl.dist-corr ignore bit IN FALSE velctrl.dist-corr-enable ignore float IN -- velctrl.feedoverride-in feedoverride from emc float OUT -- velctrl.feedoverride-out feedoverride with correction applied