What's new
What's new

Alpha harrison post procesor

hopscotch

Plastic
Joined
Aug 7, 2016
I have successfully run my lathe with programs from Mastercam (with a bit of tweaking)and transfer the file using any DNC program. Much easier than the std options available now for these machines.

The problem with these lathes is that the software for drawing is archaic. The .FAN is very simple but different.
For single tool programs I have the post processor at the point where I can output a .FAN file, edit and insert the feed rate, remove a X and Y symbols from start points and I can run it.
Problem is my somewhat limited knowledge of modifying posts.

Below is a standard FAN file for the old Harrisons (not full keyboard) control. It would be great if we could put heads together and try to figure out all the the commands and try to structure a post that will bring our machines into the modern age. I personally don't want to change the control because the teach side of it is great.Please lets be proactive with this as we have a lot to benefit.Feel free to add your knowledge here for eg what is #501?

O0001 Can only be O0001
(AZ TEST38 ) Must start with AZ HEADER
IF[#530EQ1]GOTO#529
IF[#1000EQ1]GOTO[#509*10] Always the same 3 lines
IF[#1001EQ1]GOTO[#509*10]
N10 Always N10 here
#501=1 ?
#502=32 Tool number
#503=30. Wind handle to this X point TOOL DEFINITION AREA
#504=10. Wind handle to this Z point
#507=1 ?
#509=1 Start of incremental 509=1 then +1 each time
#510=0.1 Feedrate set
M50 Always an M50 here
IF[#531EQ1] GOTO 502 STD statement repeats after M50 increment plus 1 (EQ1 and 502 become EQ2 and 503 etc)
M10 ?After the tool and position definition always M10
N502 After the tool and position definition always N--- from previous.
N20 N increments by 10
#500=1 ?
#501=1 ?
#502=32 Tool no again
#503=30. Wind to X
#504=10. Wind to Z REDEFINITON OF TOOL AND STOCK?
#505=19.2 Toolpath X extent/Stock?
#506=-25.4 Toolpath Z extent/Stock?
#507=14 ?
#508=1 ?
#509=2 #509= -+1 every time it comes up in the pgm.
#510=0.1 Feedrate again - use 510 anytime in pgm to change feed
M50 ?Always M50 here
IF[#531EQ2] GOTO 503 Always the increment here - read to next instance
M10 *
M11 *
G0X20.282Z0.141 Press rapid and arrive here.Same set of M codes before and after every time
M12 *
M13 *
G1X20.Z0.F0.1 #Start of normal G code- only G0- G1- G3 recognised, also R when cornering.
G1X20.Z-15.F0.1
G1X25.6Z-15.F0.1
G3X30.Z-17.2I0.K-2.2F0.1 GCODE
G1X30.Z-25.2F0.1
G1X30.282Z-25.059F0.1 #End of std G code
M14 *
M11 *
G0X50.Z35.. End position to go to for tool change - next tool
M12 *
M15 *
N503 From GOTO above
M50 From here always the same except for the #531 increment.
IF[#531EQ3] GOTO 504
N504
M16 FILE END
%
 
Hello
I just found this post. How did you go with this? We have a Alpha 550 and would love to get it working with mastercam.
 
With my new job I have been stationed at one of these machines for almost 2 years now. When I got there there was no PC or software so I had to set that side of it up myself. Personally I have come to the conclusion that there is little point trying to run these machines beyond their design capacity. Even if you did manage to figure out what each and every code in the FAN files are there is no avoiding entering the tool numbers on the control panel manually and manually changing the tools. Even if you set up linear gang tooling on the cross slide (as I have) to avoid tool changes, you still have to enter the tool numbers on the control panel as the FAN file calls for them. I don't believe there is a way to alter the FAN to change that tool number automatically as the program runs. Thus no point in trying to go beyond its design capacity. We purchased the original software for it from the agents and that's about as good as it gets with these machines I am afraid.
 
I also have a Harrison Alpha 400. Except that its filetype is .600 and not .FAN
looking at your code, it seems to be same.

Harrison Alphas pre 1997 use a custom GE/FANUC controller and the only way to program it is via AlphaCAM made by SuperDraft Systems. Not the more popular AlphaCAM that shows up on google..

There is a Finnish company that has a working post processor for MasterCAM that will run these machines; Company | Camtek Oy

I'm a bit lazy dig up the details, but if anyone on here runs into trouble with sending their files to the machine (via AlphaSEND or SerioALPHA), send me a PM and I'll provide my DNC settings so you can use the DNC software of your choice.
 
I have reverse engineered the .600 format.

It can be programmed using any cam if you can make a post to suit. I've been using it successfully like this for the last year or so.

The only caveat is that you still need the alphalink software to send it to the machine, I was not able to get it to accept a transfer from any other software. I don't know why this is. The alphalink software does not wait for any special handshake or anything like that. I was able to send from alphalink to a virtual terminal without any problems, but sending to the machine with anything other than alphalink results in a "file error" at the control. I ran out of spare time to analyse it further.

#500 = number of passes (displayed on the operation screen, doesn't affect program operation)
#501 = current pass (displayed on the operation screen, doesn't affect program operation)
#502 = tool number
#503 = x start point (wind to target X value)
#504 = z start point (wind to target Z value)
#505 = x stop (appears to be the minimum X value shown on the operation screen, but is never exact. Doesn't affect program operation)
#506 = z stop (as above)
#507 = operation type (displayed on the operation screen, doesn't affect program operation)
#508 = (unknown, is always 1)
#509 = current N number / 10
#510 = feedrate from alpha interface (can be used in code, or ignored and a hard coded feedrate used instead)


#507 values:
1 = roughing
2 = finish pass
3 = groove
4 = threading
5 = pre finish (profile pass after roughing)


M10 = update pass number
M11 = hold <RAPID> to enable movement (rapid key is deadmans switch)
M12 = disable M11
M13 = wait for feed engage ?
M14 = ? always comes after feed
M15 = end of operation
M16 = end of program


G32 threading works, G76 does not.

Simple example program, rough profile, finish profile, thread:

• The AZ at the start is mandatory. Presumably used as an opcode to start receiving.
• The program name in the comment must not exceed 8 characters, otherwise you will cause a program alarm that requires a program memory purge to clear.
• The two macro conditionals at the start are used with the re-run operation or proceed function during program operation. They are mandatory.

AZ
(PROGNAME)
IF[#1000EQ1]GOTO[#509*10]
IF[#1001EQ1]GOTO[#509*10]
N10
#500=1
#501=1
#502=2
#503=50.0
#504=50.0
#507=1
#508=1
#509=1
M10
M11
G00X24.995Z2.0
M12
M13
G01Z-23.65F0.38
X30.0
G00X30.707Z-23.296
Z2.0
X19.991
G01Z-23.65
X24.995
G00X25.703Z-23.296
Z2.0
G00X50.0Z50.0
M15
N20
#500=1
#501=1
#502=12
#503=50.0
#504=50.0
#507=2
#508=1
#509=2
M10
M11
G00X19.791Z2.0
M12
M13
G01Z-23.75F0.15
X29.2
X29.907Z-23.396
G00X34.0
G00X50.0Z50.0
M15
N30
#500=1
#501=1
#502=8
#503=50.0
#504=50.0
#507=4
#508=1
#509=3
M10
M11
G00X23.791Z3.5
X19.309
M12
M13
G32Z-21.5F2.5
X23.791
G00Z3.5
X18.827
G32Z-21.5F2.5
X23.791
G00Z3.5
X18.345
G32Z-21.5F2.5
X23.791
G00Z3.5
X17.863
G32Z-21.5F2.5
X23.791
G00Z3.5
X17.381
G32Z-21.5F2.5
X23.791
G00Z3.5
X16.899
G32Z-21.5F2.5
X23.791
G00Z3.5
X16.481
G32Z-21.5F2.5
X23.791
G00Z3.5
X16.063
G32Z-21.5F2.5
X23.791
G00Z3.5
X16.063
G32Z-21.5F2.5
X23.791
G00Z3.5
G00X50.0Z50.0
M15
M16
%
 
Hey gregormarwick! thank you for the post this is super helpful!

Here is my DNC setup info;

I use DNC4U and of course any DNC software will work.

9600 BAUD
Software handshaking (xon/xoff)
Even parity
7 data bits and 2 stop bits

Depending on your DNC software, there may be a few other settings they should be:

DC1/DC4, N, ISO

And most importantly, you need to add a 5ms character delay.

Test it, and if it works you will notice the transfer is slow. That is due to the 5ms delay. You can reduce that delay until you are happy with the transfer speed, but if you run into "File Transfer Error", then you have to increase the delay again.

The reason for the delay is to give the Alpha controller time to process everything. The 9600 baud only controls the bit rate. But the Alpha controller has to check the integrity of the received data & store it, this extra delay gives it time to process that. That is my theory, and seems to be working!
 
Hey gregormarwick! thank you for the post this is super helpful!

Here is my DNC setup info;

I use DNC4U and of course any DNC software will work.

9600 BAUD
Software handshaking (xon/xoff)
Even parity
7 data bits and 2 stop bits

Depending on your DNC software, there may be a few other settings they should be:

DC1/DC4, N, ISO

And most importantly, you need to add a 5ms character delay.

Test it, and if it works you will notice the transfer is slow. That is due to the 5ms delay. You can reduce that delay until you are happy with the transfer speed, but if you run into "File Transfer Error", then you have to increase the delay again.

The reason for the delay is to give the Alpha controller time to process everything. The 9600 baud only controls the bit rate. But the Alpha controller has to check the integrity of the received data & store it, this extra delay gives it time to process that. That is my theory, and seems to be working!

I bet the delay is what prevented me from getting it to work. I will try that as soon as I have some spare time, thanks!
 
I know this is an old thread but recently picked up an Alpha 550 with no PC software. Have tried contacting superdraft about Alphalink but they don't respond.

So, is anyone successfully creating a program in fusion 360 and sending to machine with dnc software? I need to get a virtual serial port setup first and then can maybe start trying some of the above. I know its limited but would like to be able to run a simple part complete with 1 or 2 tool changes, instead of one type of cut at a time then key in new every time.
 
Auto tool change program sample

Can you do me a favour and email me a program of your alpha 400 that has a few tool changes in it? I am interested to examine the code around the automatic tool changes assuming your machine has a automatic turret of some sort. If not, if someone else spots this message and has an alpha lathe with a auto turret please can you send a sample program. Just rename the program file to a .txt file and attach it to the email. I would really appreciate it. Send it to [email protected]
You can post the sample here as well but please email it to be sure I get it.
 
Might as well just spent the £100 and buy the software from superdraft.

I have reverse engineered the .600 format.

It can be programmed using any cam if you can make a post to suit. I've been using it successfully like this for the last year or so.

The only caveat is that you still need the alphalink software to send it to the machine, I was not able to get it to accept a transfer from any other software. I don't know why this is. The alphalink software does not wait for any special handshake or anything like that. I was able to send from alphalink to a virtual terminal without any problems, but sending to the machine with anything other than alphalink results in a "file error" at the control. I ran out of spare time to analyse it further.

#500 = number of passes (displayed on the operation screen, doesn't affect program operation)
#501 = current pass (displayed on the operation screen, doesn't affect program operation)
#502 = tool number
#503 = x start point (wind to target X value)
#504 = z start point (wind to target Z value)
#505 = x stop (appears to be the minimum X value shown on the operation screen, but is never exact. Doesn't affect program operation)
#506 = z stop (as above)
#507 = operation type (displayed on the operation screen, doesn't affect program operation)
#508 = (unknown, is always 1)
#509 = current N number / 10
#510 = feedrate from alpha interface (can be used in code, or ignored and a hard coded feedrate used instead)


#507 values:
1 = roughing
2 = finish pass
3 = groove
4 = threading
5 = pre finish (profile pass after roughing)


M10 = update pass number
M11 = hold <RAPID> to enable movement (rapid key is deadmans switch)
M12 = disable M11
M13 = wait for feed engage ?
M14 = ? always comes after feed
M15 = end of operation
M16 = end of program


G32 threading works, G76 does not.

Simple example program, rough profile, finish profile, thread:

• The AZ at the start is mandatory. Presumably used as an opcode to start receiving.
• The program name in the comment must not exceed 8 characters, otherwise you will cause a program alarm that requires a program memory purge to clear.
• The two macro conditionals at the start are used with the re-run operation or proceed function during program operation. They are mandatory.

AZ
(PROGNAME)
IF[#1000EQ1]GOTO[#509*10]
IF[#1001EQ1]GOTO[#509*10]
N10
#500=1
#501=1
#502=2
#503=50.0
#504=50.0
#507=1
#508=1
#509=1
M10
M11
G00X24.995Z2.0
M12
M13
G01Z-23.65F0.38
X30.0
G00X30.707Z-23.296
Z2.0
X19.991
G01Z-23.65
X24.995
G00X25.703Z-23.296
Z2.0
G00X50.0Z50.0
M15
N20
#500=1
#501=1
#502=12
#503=50.0
#504=50.0
#507=2
#508=1
#509=2
M10
M11
G00X19.791Z2.0
M12
M13
G01Z-23.75F0.15
X29.2
X29.907Z-23.396
G00X34.0
G00X50.0Z50.0
M15
N30
#500=1
#501=1
#502=8
#503=50.0
#504=50.0
#507=4
#508=1
#509=3
M10
M11
G00X23.791Z3.5
X19.309
M12
M13
G32Z-21.5F2.5
X23.791
G00Z3.5
X18.827
G32Z-21.5F2.5
X23.791
G00Z3.5
X18.345
G32Z-21.5F2.5
X23.791
G00Z3.5
X17.863
G32Z-21.5F2.5
X23.791
G00Z3.5
X17.381
G32Z-21.5F2.5
X23.791
G00Z3.5
X16.899
G32Z-21.5F2.5
X23.791
G00Z3.5
X16.481
G32Z-21.5F2.5
X23.791
G00Z3.5
X16.063
G32Z-21.5F2.5
X23.791
G00Z3.5
X16.063
G32Z-21.5F2.5
X23.791
G00Z3.5
G00X50.0Z50.0
M15
M16
%
 
Yes we've got the superdraft software and it sucks ass, I've even spoken to the guy that makes it to see if he had an updated version or a way to make it easier to create programs and load them up but I got short cuttings from him. He was not interested, the software is so out of date now and he still is hanging on to every scrap of IP. We've got to the stage with out Harrison Alpha 460T that it's just used for basic machine jobs. It's a shame as it has potential we can't use.
 
Master Cam Post

Good Day would it be possible to get the post file for this machine - Im at this company with basically brand new Harrison 460 1996 And want to turn form tools.

I have reverse engineered the .600 format.

It can be programmed using any cam if you can make a post to suit. I've been using it successfully like this for the last year or so.

The only caveat is that you still need the alphalink software to send it to the machine, I was not able to get it to accept a transfer from any other software. I don't know why this is. The alphalink software does not wait for any special handshake or anything like that. I was able to send from alphalink to a virtual terminal without any problems, but sending to the machine with anything other than alphalink results in a "file error" at the control. I ran out of spare time to analyse it further.

#500 = number of passes (displayed on the operation screen, doesn't affect program operation)
#501 = current pass (displayed on the operation screen, doesn't affect program operation)
#502 = tool number
#503 = x start point (wind to target X value)
#504 = z start point (wind to target Z value)
#505 = x stop (appears to be the minimum X value shown on the operation screen, but is never exact. Doesn't affect program operation)
#506 = z stop (as above)
#507 = operation type (displayed on the operation screen, doesn't affect program operation)
#508 = (unknown, is always 1)
#509 = current N number / 10
#510 = feedrate from alpha interface (can be used in code, or ignored and a hard coded feedrate used instead)


#507 values:
1 = roughing
2 = finish pass
3 = groove
4 = threading
5 = pre finish (profile pass after roughing)


M10 = update pass number
M11 = hold <RAPID> to enable movement (rapid key is deadmans switch)
M12 = disable M11
M13 = wait for feed engage ?
M14 = ? always comes after feed
M15 = end of operation
M16 = end of program


G32 threading works, G76 does not.

Simple example program, rough profile, finish profile, thread:

• The AZ at the start is mandatory. Presumably used as an opcode to start receiving.
• The program name in the comment must not exceed 8 characters, otherwise you will cause a program alarm that requires a program memory purge to clear.
• The two macro conditionals at the start are used with the re-run operation or proceed function during program operation. They are mandatory.

AZ
(PROGNAME)
IF[#1000EQ1]GOTO[#509*10]
IF[#1001EQ1]GOTO[#509*10]
N10
#500=1
#501=1
#502=2
#503=50.0
#504=50.0
#507=1
#508=1
#509=1
M10
M11
G00X24.995Z2.0
M12
M13
G01Z-23.65F0.38
X30.0
G00X30.707Z-23.296
Z2.0
X19.991
G01Z-23.65
X24.995
G00X25.703Z-23.296
Z2.0
G00X50.0Z50.0
M15
N20
#500=1
#501=1
#502=12
#503=50.0
#504=50.0
#507=2
#508=1
#509=2
M10
M11
G00X19.791Z2.0
M12
M13
G01Z-23.75F0.15
X29.2
X29.907Z-23.396
G00X34.0
G00X50.0Z50.0
M15
N30
#500=1
#501=1
#502=8
#503=50.0
#504=50.0
#507=4
#508=1
#509=3
M10
M11
G00X23.791Z3.5
X19.309
M12
M13
G32Z-21.5F2.5
X23.791
G00Z3.5
X18.827
G32Z-21.5F2.5
X23.791
G00Z3.5
X18.345
G32Z-21.5F2.5
X23.791
G00Z3.5
X17.863
G32Z-21.5F2.5
X23.791
G00Z3.5
X17.381
G32Z-21.5F2.5
X23.791
G00Z3.5
X16.899
G32Z-21.5F2.5
X23.791
G00Z3.5
X16.481
G32Z-21.5F2.5
X23.791
G00Z3.5
X16.063
G32Z-21.5F2.5
X23.791
G00Z3.5
X16.063
G32Z-21.5F2.5
X23.791
G00Z3.5
G00X50.0Z50.0
M15
M16
%
 
We have hade this old 330 Plus in a corner of the shop for ages and i have been using Rhino to make DXF files that has sorta worked using Alpha CAM (it sucks SO hard....)

Then i bought the Finnish post processor for Mastercam for Solidworks and it worked perfectly!

well, at least it did, until it didnt anymore.

Seems that AlphaUtils, the sucky brother of AlphaCam that is used to transfer the Alpha codes to the lathe, crashes roughly at line 9 (#503) and then locks up completely.

How can i purge the memory of the lathe? Do i have to run the dreaded "PROGRAM ALARM"-fix with orange dipswitches and all? (*shudder*)

yours,
Halvor (Oslo school of Architecture and design workshop)
 
(if the guy at superdraft knew that he would create a GLOBAL problem by punching in code, i wonder if he'd put in some more effort...)
 
We have hade this old 330 Plus in a corner of the shop for ages and i have been using Rhino to make DXF files that has sorta worked using Alpha CAM (it sucks SO hard....)

Then i bought the Finnish post processor for Mastercam for Solidworks and it worked perfectly!

well, at least it did, until it didnt anymore.

Seems that AlphaUtils, the sucky brother of AlphaCam that is used to transfer the Alpha codes to the lathe, crashes roughly at line 9 (#503) and then locks up completely.

How can i purge the memory of the lathe? Do i have to run the dreaded "PROGRAM ALARM"-fix with orange dipswitches and all? (*shudder*)

yours,
Halvor (Oslo school of Architecture and design workshop)
Hi, My old 400+ from 1998 has just locked up and "program alarm" is showing on its screen, the manuals for this POS lathe are themselves, POS, so whats the "dreaded "PROGRAM ALARM" fix?
Kind regards,
Wayne
 








 
Back
Top