You don't say in your first post, when you made reference to Macro A, whether the format of the program you used was in Macro A or B format. If you started out thinking the Macro version was B and used the corresponding Macro B syntax, then its likely that the control has the B option. If not, errors relating to Macro format would have occurred. In any case, you can confirm the version as described in my last post.
Setting bit 5 of parameter 0011 to "1" will enable the program to halt after a Macro Statement block when Single Block mode is selected with the Series 0M control.
User Macro A is quiet different to the B version.
1. Where G65 is used in Macro B to call a Macro Program, G65 is used in Macro A to specify a Macro Instruction
2. Custom Macro programs can only be called as Sub Programs with Macro A. Accordingly, M87 P_ _ _ _ is used to call the Custom Macro Program.
3. As the program is being called as a Sub Program with Macro A, arguments can't be passed to the called program.
4. Calling a Macro Program with an "M" code in Macro B, is the same as calling the program with G65. Accordingly, when using User Macro B, the following two blocks are equivalent when parameter 0230 has a number registered therein:
G65 P9020
M6 (if the number 6 is registered in parameter 0230)
As G65 can't be used to call a Macro Program when using User Macro A, the two example blocks above will not call a program registered in O9020.
5. In both Macro A and B, Macro Programs can be called as Sub Programs using "M" codes by registering the "M" code number in parameters 0240 to 0242 to call programs O9001 to O9003 respectively.
6. Both Macro A and B can call a Macro Program via a "T" code by setting bit 5 of parameter 0040 to "1". In this case program number O9000 will be called and the tool number is obtained in the Macro program by reading the content of Macro Variable 0149.
Using a "T" code to execute a Tool Change Macro is mainly used with carousel type tool change mechanisms where the next tool can't be pre-called. In this case M6 when the tool is called is not required. In the majority of cases, M6 is still required in the Tool Change Macro Program being called by a "T" code, but its PLC program dependent.
As both alarms 078 and 059 relate to program numbers that can't be found, you have the parameters for registering "M" codes to call your Macro Program set incorrectly, the programs aren't registered under program numbers that correspond to the "M" code registration parameters, or Macro A only is available and the wrong "M" code registration parameters are being used.
Regards,
Bill