What's new
What's new

Problem with Macro at Brother B00 Control

faltklo

Plastic
Joined
Jul 12, 2016
Hi Folks,

First excuse my bad english, i'm not a native speaker so probably it's not very impressive ;-)

I have a question for you guys concerning my brother B00 control. I know a lot of guys in the United States use brother Machines (unlike here in germany...) so i thought you might be able to help me on this one.
I'm trying to write a macro for finishing slots in round (ring-style) parts.
I want to enter this values:

Code:
(SUBPROGRAM FINISHING SLOTS)
G65 P8887 Z-10 R2 B20 A100 I70 U1 V1 F1500
(Z = END-DEPTH                      Z = #26)
(R = SAFETY-PLANE   		    Z = #18)
(B = SLOT-WIDTH    		      = #2 )
(A = OUTER DIAMETER                   = #1 )
(I = INNER DIAMETER		      = #4 )
(U = OUTER CORNER RADIUS / CHAMFER    = #21)
(V = INNER CORNER RADIUS / CHAMFER    = #22)
(F = FEED  		              = #9 )


The machine should do a finishing pass with the correct chamfer / radius.
If U / V is positive it should machine a radius, otherwise a chamfer.
The subprogramm works just fine, as long as i don't try to do the radius / chamfer. Soon as i do that, the machine instantly brings up error "4027 - Unerlaubte Daten"
which means something like "forbidden data". I don't get it... When i'm typing thisfor example:

Code:
G100 X50 Y-10 Z50 T1 H1 D1 G43 S5000 M3
#1=-25
#2=0
#3=25
#4=5
G0 X50 Y-10
G0 Z-10
G1 Y0 G41 F1500
G1 X25 ,R5
G3 X#1 Y#2 R#3 ,R#4
G1 X-50
G0 Y-10 G40
G0 Z10

...everything just works fine. As soon as i try the same in the subprogramm, nothing works...
Anybody got a suggestion?



Code:
(SUBPROGRAM FINISHING SLOTS)
(G65 P8887 Z-10 R2 B20 A100 I70 U-2 V0.8 F1500)
(Z = END-DEPTH                      Z = #26)
(R = SAFETY-PLANE   		    Z = #18)
(B = SLOT-WIDTH    		      = #2 )
(A = OUTER DIAMETER                   = #1 )
(I = INNER DIAMETER		      = #4 )
(U = OUTER CORNER RADIUS / CHAMFER    = #21)
(V = INNER CORNER RADIUS / CHAMFER    = #22)
(F = FEED  		              = #9 )

(READ DATA)
#100=#4120 (READ ACTIVE TOOL NUMBER)
#101=#[13000+#100] (READ TOOL RADIUS)

#1=#1/2 (CONVERT OD TO RADIUS)
#4=#4/2 (CONVERT ID TO RADIUS)
#2=#2/2 (BISECT WIDTH)

(CALCULATIONS1)
#102=SQRT[#1*#1-#2*#2]          (P2 X)
#104=#1+#101+1                  (POS X)
#109=#2+ABS[#21]+0.5            (STARTPOINT Y)
#110=SQRT[#1*#1-#109*#109]      (STARTPOINT X)

(CALCULATIONS2)
#106=SQRT[#4*#4-#2*#2]          (P3 X)
#111=#2+ABS[#22]+0.5            (ENDPOINT Y)
#112=SQRT[#4*#4-#111*#111]      (ENDPOINT X)
#107=#112-#101-1                (POS X)

G0 X#104 Y#109
G0 Z#26
G1 X#110 Y#109 G41 F#9
IF [#21 LT 0] GOTO 100
G2 X#102 Y#2 R#1 ,R#21
GOTO 200

N100 (--------- JUMP MARK ------)
G2 X#102 Y#2 R#1 ,C[ABS[#21]]

N200 (--------- JUMP MARK ------)
IF [#22 LT 0] GOTO 300
G1 X#106 ,R#22
GOTO 400

N300 (--------- JUMP MARK ------)
G1 X#106 ,C[ABS[#22]]

N400 (--------- JUMP MARK ------)
G3 X#112 Y#111 R#4
G0 X#107 G40

G0 Y-#111
G1 X#112 Y-#111 G41
IF [#22 LT 0] GOTO 500
G3 X#106 Y-#2 R#4 ,R#22
GOTO 600

N500 (--------- JUMP MARK ------)
G3 X#106 Y-#2 R#4 ,C[ABS[#22]]

N600 (--------- JUMP MARK ------)
IF [#21 LT 0] GOTO 700
G1 X#102 ,R#21
GOTO 800

N700 (--------- JUMP MARK ------)
G1 X#102 ,C[ABS[#21]]

N800 (--------- JUMP MARK ------)
G2 X#110 Y-#109 R#1
G0 X#104 Y-#109 G40
G0 Z#18

M99

Thanks in advance!
 








 
Top