![]() | |
| Home Page | Mark Forums Read | Today's Posts | My Replies | Classifieds | Reviews | Photo Gallery | Web Links | Share Files | Advertise With Us | Ad List |
| |||||||
| Parametric Programing (custom macro b, fadal macro, okuma user task) |
| This forum is sponsored by: |
![]() |
| | LinkBack | Thread Tools | Search this Thread | Display Modes |
|
#1
| ||||
| ||||
I am trying to parametrically divide a panels width to make equal spaced lines in the X axis. For example if a door ranges from 300 to 399 divide it by 4 and so on. My problem seems to be using a numerical function to create a whole number for the division. This is what I have so far:- TG=LPY/100+0.5 In the manual the numerical functions are: _L conversion to whole form _I whole When I try using either of these I get an error. I am curious no what the difference is between conversion(_L) and whole(_I) and what you would use _B absolute value for. |
|
#2
| |||
| |||
| [PARAMETERS] LY=800 LZ=18 LX=1500 HC1 [CONTOURS] N10 AA=LPX/9 BB=LPY/6 CC=LPX/8 LL=(LPY-2*BB)/4 RR=(LL/3) ;AUTO TOOL CHANGE N20 ;CHANGE THIS LINE FOR A TOOL CHANGE ON YOUR MACHINE ;PON N30 X=AA Y=BB Z=PRK TP=1 PRF=5 F=4 VF=5 G40 L=PON ;SEGMENT WITH KNOW END POINT N40 X=LPX-(LL+CC) Y=BB G1 ;SEGMENT WITH KNOW END POINT N50 X=LPX-(CC+LL) Y=BB+LL ;ARC WITH KNOW END POINT & RADIUS N60 X=LPX-(CC+LL) Y=LPY-(BB+LL) R=LL G5 ;SEGMENT WITH KNOW END POINT N70 X=LPX-(CC+LL) Y=LPY-BB G1 ;SEGMENT WITH KNOW END POINT N80 X=AA Y=LPY-BB G1 ;SEGMENT WITH KNOW END POINT N90 X=AA Y=BB G1 ;POFF N100 L=POFF N110 X=PRK Y=PRK . BUT ITS WORTH TYPING IT IN TO SEE HOW IT WORKS. VERY USEFULL WAY OF PROGRAMMING JUST ONCE. THE PROGRAM WORKS BY SPLITTING THE DOOR INTO SECTIONS. SEE TOP LINE. THE CC IS THE DISTANCE ABOVE THE ARC CREATED, RR IS THE RADIUS DEPENDING ON WIDTH OF DOOR LL IS THE WIDTH OF SEGMENT JOINING THE ARC DEPENDING ON WIDTH.
__________________ so much to learn, so much to pass on. |
|
#3
| |||
| |||
| hope it helps someone. as biesse is one of the hardest codes to post process so it actually runs in the machine i tend to write all my programs in this sort of format as once written once a couple of quick number changes has different sized parts machined the same but at the right sizes. obviously that example was for a kitchen door etc. i normally make pool tables! 4 different sizes- one program!
__________________ so much to learn, so much to pass on. |
|
#4
| ||||
| ||||
| Hi Battwell Many thanks. I have not yet had chance to try your code. As we have had some spindle trouble with the machine. But I see you use letters so the machine can read its position(eg X=AA). Do you still sell the software for Pc to CNI? I have come up with this, but am unable to try it at the momment:- N10 G71 LX=1980 LY=810 LZ=39 HC1 Z=PRK N20 X=AA Y=BB STL=110 SPA=_I(LPY-(STL*2))/100*0.6 TG=(LPY-(STL*2))/SPA N30 X-5 Y=STL Z=PRK PRF2.2 F20 G40 TP1 L=PON N40 JM!(AA<0):1 N50 G1 X=LPX+5 N60 JM:2 :1 N70 G1 Z-5 N80 JM!(BB<(LPY-STL):2 N90 YI=TG N100 JM:1 :2 N110 L=POFF N120 X=PRK Y=PRK % I have yet to try this program and I must admit I haven't quite got to grips with all the different jump instructions especially when using the PLC. If this works I would like to be able to open the stops turn the door over repeat the program and link subprograms for cutting various holes for glass in the door. I haven't a clue how to do this but I am sure it can be done. We have eight options for glass and all can have either rebated or flush bead. Rebated programs have angle cuts in the corner so we don't have to chisel them, like we do with flush beading. I was wondering if it is poosible to add extra options in the Panel dimension table to stop other operators having to modify the code? The only other way I could think of is to have a line like this:- N15 OPT=4 REB=Y Then possibly I could put some code in the program to open subprogram 4Y. Last edited by bigz1; 12-11-2009 at 05:01 AM. |
|
#5
| |||
| |||
| i use the aa= bb= etc as variables i set aa=??? so aa is a number ie a width or length etc maybe a rebate depth in your case. also if your using the variable as a counter it must be initialised here too ie. ii=0 then in the program you may write ii=+1 or similar to add one to it. all must be defined at the start of the program. put a ; (remark) and what each one is in the code to remind other operators etc. then these numbers are all that needs to be changed for different sizes etc the initial sizes ie lx ly lz i just use bigger than my job size so i can see the program on the screen. i rarely mix the use of both in the program. ie. the middle of my job would be defined as aa/2 instead of lpx/2 and so on. that way you only use the parameter variables which the operator changes and checks for each size change of the job to turn panel over- easy! write g200. this turns off vacuum pods etc to release board, the green start zone lamp is then flashing. reseat your work the other way up. press zone start button and program continues. blimey f20!!! thats a bit fast for any cutting tool? you will find it machines best between f3 and f8 speeds if you dont want it to mess up corners etc
__________________ so much to learn, so much to pass on. |
| Sponsored Links |
|
#6
| |||
| |||
N20 AA=1905 BB=55 CC=300 DD=700 AN=9 WT=18.5 RR=13 WP=46 ; AA=SLATE BB=SLATE TO CAB CC= DD= AN=ANGLE WT=WALL THICK ; RR=REBATE WP=PROFILE- N8 XO=BB-WP N9 L=GC1 UT=1 N10 Y0 Z=PRK PRF=LPZ/2 F5 G41 TP1 L=PON X-20+WP-BB N19 G1 X=WP-BB Y0 N20 G1 Y=LPY BA=90-AN N22 Y=LPY+20 G40 N23 L=PSU N10 Y0 Z=PRK PRF=LPZ+2 F5 G41 TP1 L=PON X-20+WP-BB N19 G1 X=WP-BB Y0 N20 G1 Y=LPY BA=90-AN N22 Y=LPY+20 G40 N23 L=PSU ;N28 G1 Z=-LPZ-10 ;N29 G1 BS+ BA0 F10 ;N29 G1 Z=-LPZ/2 ;N30 G1 X=AA+BB-WP Y0 BA=270+AN F5 ;N39 G1 Y-20 G40 ;N40 L=PSU N41 X=AA+BB-WP+10 Y0 Z=PRK PRF=LPZ/2 F5 G42 TP1 L=PON N42 G1 X=AA+BB-WP N43 G1 Y=LPY BA=90+AN N46 G1 Y=LPY+20 G40 N47 L=PSU N41 X=AA+BB-WP+10 Y0 Z=PRK PRF=LPZ+2 F5 G42 TP1 L=PON N42 G1 X=AA+BB-WP N43 G1 Y=LPY BA=90+AN N46 G1 Y=LPY+20 G40 N47 L=PSU ;N10 X=-20+WP-BB Y0 Z=PRK PRF=LPZ+1 F5 G41 TP1 L=PON ;N19 G1 X=WP-BB Y0 ;N20 G1 Y=LPY BA=90-AN ;N28 G1 Z=-LPZ-10 ;N29 G1 BS+ BA0 F10 ;N29 G1 Z1 ;N30 G1 X=AA+BB-WP Y0 BA=270+AN F5 ;N39 G1 Y-20 G40 ;N40 L=PSU ; INNER UPRIGHTS N50 X=AA/2+600+WT/2 Y-20 Z=PRK PRF=3 F5 G41 TP1 L=PON N60 G1 Y0 N69 G1 Y=LPY N70 G1 Y=LPY+20 N79 G1 X=AA/2-600-WT/2 N130 G1 Y0 N140 G1 Y-20 G40 N150 L=PSU N160 X=AA/2-600+WT/2 Y-20 Z=PRK PRF=3 F5 G41 TP1 L=PON N170 G1 Y0 N180 G1 Y=LPY+20 N190 G1 X=AA/2+600-WT/2 N200 G1 Y0 N210 G1 Y-20 G40 N220 L=PSU ; 18MM CLEAN N10 X=-BB+WP-10 Y0 Z=PRK PRF=0 F10 G41 TP1 L=PON N10 G1 Z-18 N11 G1 X=-BB+WP+10 N12 G1 Y=LPY BA=90-AN N13 XI0.01 N14 G1 Y0 BA=-90-AN N14 G1 X=-BB+WP-10 G40 N15 L=PSU N16 X=AA+BB-WP+10 Y0 Z=PRK PRF=0 F10 G42 TP1 L=PON N16 G1 Z-18 N16 G1 X=AA+BB-WP-10 Y0 N17 G1 Y=LPY BA=90+AN N18 XI-0.01 N19 G1 Y0 BA=-90+AN N20 G1 X=AA+BB-WP+20 G40 N21 L=POFF ; REBATE N229 L=GC1 UT=3 N230 X=-BB+WP Y=LPY+10 Z=PRK PRF=WT/2 F8 G41 TP1 L=PON N240 G1 Y=LPY-RR/2 N250 G1 X=AA+BB-WP N258 G1 X=AA+BB+WP G40 N258 L=PSU N258 X=-BB-WP Y=LPY+10 Z=PRK PRF=WT/2 F5 G41 TP1 L=PON N258 G1 Y=LPY-RR+1 N258 G1 X=AA+BB-WP N258 G1 X=AA+BB+WP G40 N258 L=PSU N258 X=-BB-WP Y=LPY+25 Z=PRK PRF=LPZ+1 F5 G41 TP1 L=PON N258 G1 Y=LPY N258 G1 X=AA+BB-WP N258 G1 X=AA+BB+WP G40 N258 L=POFF N280 L=GC1 UT=5 N290 X=AA+BB+WP Y0 Z=PRK PRF=LPZ F6 G41 TP1 L=PON N300 G1 X=AA+BB-WP N310 G1 X=-BB+WP N320 G1 X=-BB-WP Y-10 G40 N330 L=POFF N280 L=GC1 UT=2 N290 X=AA+BB+WP Y2 Z=PRK PRF=3 F6 G41 TP1 L=PON N300 G1 X=AA+BB-WP N310 G1 X=-BB+WP N320 G1 X=-BB-WP G40 N330 L=POFF N339 X=AA/2-DD-181 Y75 PRF=4 T8 L=G99 N340 X=AA/2-DD Y48 PRF=5 T8 L=G99 N350 X=AA/2-DD Y82 PRF=4 T8 L=G99 N360 X=AA/2-CC Y82 PRF=4 T8 L=G99 N370 X=AA/2-CC Y48 PRF=5 T8 L=G99 N379 X=AA/2-32 Y75 PRF=4 T8 L=G99 N379 X=AA/2+32 Y75 PRF=4 T11 L=G99 N380 X=AA/2+CC Y48 PRF=5 T11 L=G99 N390 X=AA/2+CC Y82 PRF=5 T11 L=G99 N400 X=AA/2+DD Y82 PRF=5 T11 L=G99 N410 X=AA/2+DD Y48 PRF=5 T11 L=G99 N419 X=AA/2+DD+181 Y75 PRF=4 T11 L=G99 N420 X=PRK Y=PRK N430 L=G200 N429 XO0 YO0 N430 L=GC1 UT=2 N440 X-20 Y-10 Z=PRK PRF=2 F6 G42 TP1 L=PON N450 G1 X0 Y0 N460 G1 X=LPX N470 G1 X=LPX+20 G40 N480 L=PSU N490 Y320 Z=PRK PRF=2 F6 G42 TP1 L=PON N500 G1 X=LPX N510 G1 X0 N520 G1 X-20 Y340 G40 N530 L=POFF N540 X=PRK Y=PRK %
__________________ so much to learn, so much to pass on. |
|
#7
| |||
| |||
|
__________________ so much to learn, so much to pass on. |
|
#8
| ||||
| ||||
| Thank you for posting the video and the example. I have a lot to learn. What about sub program option? Is it possible to add to the dimension screen or will the options still have to be done in the code? I like the vaccumn pods. Did you make them yourself or buy them? I have yet to make some replacements for the original Biesse ones. As for the gaffer tape the factory I work in is virtually held together by it. The toolchanger needs fixing on mine. Do you still sell the PC to CNI program? I would be very intrested as I need to create and modify a whole heap of programs. As to the feedspeed. We have no problems with the corners although we do have to run any diagonal work at 10m/min otherwise it developes a bow. I also have to fudge programs if they need parrallel diagonals. We actually cut out 40mm thick MDF in 3 passes using a 4 flute compression rougher finisher at 30m/min with no problem. I think the acceleration is set low. PS Apart from changing the parameter values(CC=LPY etc) do you think the program will work? I won't be able to find out till after the weekend. |
|
#9
| ||||
| ||||
| N10 G71 LX=1980 LY=810 LZ=39 HC1 Z=PRK N15 STL=110 SPA=_I(LPY-(STL*2))/100*0.6 TG=(LPY-(STL*2))/SPA N20 X=AA Y=BB LPX=CC LPY=DD N30 X-5 Y=STL Z=PRK PRF2.2 F20 G40 TP1 L=PON N40 JM!(AA<0):1 N50 G1 X=CC+5 N60 JM:2 :1 N70 G1 Z-5 N80 JM!(BB<(DD-STL):2 N90 YI=TG N100 JM:1 :2 N110 L=POFF N120 X=PRK Y=PRK N130 L=G200 N140 RP=2 % This is a very basic internal door that supposed to look Tongue and gooved. The first and last lines are always spaced 110mm(STL) the edge of the door. Spacing for the other lines in between(TG) is normally worked out on a calculator by subtracting 2x110 from the whatever the door width is. Dividing the remainder by 100 and rounding that number up for the spaces. I hoping this program does away with the calculator. |
|
#10
| |||
| |||
| N20 X=AA Y=BB STL=110 SPA=_I(LPY-(STL*2))/100*0.6 TG=(LPY-(STL*2))/SPA the x and y need giving a starting number. the x= doesnt tell the controller x position. use something like bb=0 and add to it before the conditional jump ie. bb=bb+100 then check if bb= bigger or smaller for the jump as required. i made the pods from nylon. took me a day! was one of the first programs i wrote as my machine all the pods were naffed when i got it. i still have a couple of the original mdf ones on there which are totally useless! didnt realise mdf leaked so much...lol i can arrange for the cni program for you, just have to confirm the cost now. would you want to run it on 1 pc only or from a memory stick? you will probably find your max interpolation speed is limited to 10 metres in the axis setup. machine only does faster on rapid moves. i had to slow my z axis last week as the motor is getting tired and couldnt keep up. what spindle fault did you have?
__________________ so much to learn, so much to pass on. |
| Sponsored Links |
|
#12
| ||||
| ||||
| N10 G71 LX=1980 LY=810 LZ=39 HC1 Z=PRK N15 STL=110 SPA=_I(LPY-(STL*2))/100*0.6 TG=(LPY-(STL*2))/SPA N20 AA=0 BB=STL LPX=CC LPY=DD N30 X-5 Y=STL Z=PRK PRF2.2 F20 G40 TP1 L=PON N40 JM!(AA=0):1 N50 G1 X=CC+5 N55 AA+1 N60 JM:2 :1 N70 G1 Z-5 N74 AA-1 N80 JM!(BB<(DD-STL):2 N85 BB+TG N90 YI=TG N100 JM:1 :2 N110 L=POFF N120 X=PRK Y=PRK N130 L=G200 N140 RP=2 % Does this work? ![]() I would need the memory stick. Do you have a demo to persuade the boss? My machine was limited to 14.5m/min by the Z axis. But I got around this by Putting Max interpol speed as 30m/min in all 3 axis but limited the Max speed to 10m/min in the Z axis. I have timed the difference and a door that usese to take 1min 50 secs(10m/min) now take 1mins 3 secs(20m/min). I am going to put a floating saw on my my machine and hope to do these simply doors at 40m/min and no sanding in the V groove. Although I have vectric with all it whistles and bells on my home set up I am enjoying learning the g code. I had 2 spindle problems the first was the bearings died in TP1(I run this at 24,000 all the time floating V groove head.Custom made). Swapped TP2 to TP1 position so I had the float option. Everything ran fine. Left the engineer and electrician to move TP2 back when TP1 was fixed and the broke the collet sensor in TP2. So that now been sent for servicing. The error code was xx59. |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | Search this Thread |
| Display Modes | |
| |
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| need help rover biesse 24 | neon_x | CNC Machining Centers | 6 | 12-05-2009 02:22 PM |
| Biesse Rover C | Dogfart | CNC Machining Centers | 0 | 06-07-2009 12:17 PM |
| Biesse Rover 24 | lostinbiesse24 | Commercial CNC Wood Routers | 3 | 05-11-2009 05:22 AM |
| Need Help Biesse Rover 13 | Christiaan | CNC Machining Centers | 9 | 04-19-2009 05:39 PM |
| Biesse Rover 22 | paul sharpe | Teachers Hang out | 2 | 10-09-2007 01:50 PM |