I just talked to our Haas man about this and he said this feature was designed to save "ALL" files in one big long file as a Back-up file. It was not intended to save individual files. I guess you could reload this "ALL" file and restore all the individual files back to machine memory, I didn't ask.
Or you could load the "ALL" file into Word Pad and Cut & Paste the individual files as you need them. He said to be sure to set Setting #23 to ON to hide all 9000 series programs or they would be saved to the "ALL" file as well.
We had 369 files on one Mini Mill and 234 files on the other one. No one knew for sure which ones had been saved back to the office. So I have written a program that will read the "ALL" file and separate it into individual files and save them to the computer. I would share it with anyone that is interested, but it is written in GW Basic, that lanuage is obsolete to almost everyone. It took about 2 minutes to separate the 369 files and save them to the computer.
SAVE ALL is also used when you get a corrupted program. I forget the alarm number but it comes up as; 'program data structure error' or 'program integrity error' or similar wording and sometimes the machine will not run. The fix is SAVE ALL and then erase everything on the machine and reload the SAVE ALL back to the machine. In this case I think you have to have settirn 23 off to make sure you save and restore the 9000 programs.
The basic logic on HAAS and some other machines is as follows:
The first % seen at the CNC starts program loading.
The O# identifies the program.
If there is no % at the end of an O# program, and another O# follows, then that program also is loaded.
Loading continues until a second % is encountered. A rather stupid design in my opinion, but of long standing use.
Unfortunately in HAAS and maybe other machines a second % that is somewhere in your program, like a comment, will terminate loading.
Personally I think that the start and end characters should have been different. However, even if % serves both the start and end function there was no good reason that its occurance in a comment should terminate loading. I would favor requiring % to be the first character of a line for the start and end function.
There are further problems with comments. You should be able to use any of the 128 ASCII characters within a comment, but actually you are quite restricted.
These same problems carry over into the DPRNT command.
The SEND ALL is a very useful tool and the fastest way thru RS232 to save all your programs.
So based on the above discussion on the logic of the %s ---
if you send back to the CNC a SAVED ALL file all the programs in that file will be loaded back into memory.
At 115.2 kbaud you can move about 600,000 bytes per minute.
You can also save your settings, and tool offsets.
Note: older HAAS machines used a 4 digit O# and newer ones use a 5 digit number. This causes some compatibility problems relative to saved files and their O#s.
On sending a file HAAS inserts a % at the start, and a % at the end. When sending ALL there is only one % at the start of the ALL dump and one % at the very end of the dump.