Bill,
I will need to look at my "L" value in the morning. I did a test run this evening and everything seemed to run OK, but I did not specifically check my depth.Tim
When you specify arguments in a Macro Call Bock, the associated values are passed to Local Variables in the Macro being Called.
In Argument Specification I
21 Variables, A to Z excluding G,L,N,O and P, to access Local Variable Number #1 to #26, excluding #10, #12, #14, #15 and #16 are available. As there is no L argument available, there is no Local Variable for it to access. Its use in a G65 call may not raise an Error, as its a Legal address in Macro Modal Call with G66 for when a number of repeats of the Macro are required, but your Macro will not function correctly, if you think you're accessing a Local Variable in the Macro with address "L".
In Argument specification II
Arguments A, B, C plus 10 sets of I, J and K argumnets, to access 33 Local Variables (#1 to #33) are available, but still no "L" argument address.
Unless you intend more than one program to Read, Write to and be able to modify a variable without passing it, there is no advantageous reason for using Common Variables and can give rise to unintentional modifying the same variable in another program. Common Volatile Varibels used when Local Variables would do is vastly better than using Common Nonvolatile Variables, where these Variables are often used to store important data for the operation of the Macro, but its still not good programming practice.
Regards,
Bill