I had started a similar thread some time back, but did not get the solution at that time. So, I am restarting it. The question is how to suppress buffering during program execution on a Fanuc control. It is sometimes really needed. Read the following note which I have prepared for my students (please point out the mistakes/ambiguity, if any):

Effect of buffering of macro statements on program execution
The purpose of buffering is to speed up the program execution, by performing the calculations in advance. Normally, it only improves the performance of the machine, but there are situations when buffering is not desirable, and it must be somehow suppressed. For example, assume that system variable #1100 (which corresponds to signal F54.0, in the PMC ladder diagram) has been used to operate an external device, connected to the output terminal Y5.0 (which can be located on the terminal strip of the input/output module of the PMC), by adding the following rung to the existing ladder diagram:
F54.0 Y5.0
|--| |---------------------( )--|
This rung would set the output device on or off, depending on the current status (1 or 0) of variable #1100. Now, if the requirement is to switch on the device somewhere in the middle of program execution, wait for five seconds, and then switch it off and restart the execution, one may insert the following blocks in the program, at the desired place:
#1100 = 1;
G04 X5;
#1100 =0;
Unfortunately, this would not work. The output would indeed be turned on, but while performing the dwell for five seconds, the next macro statement (#1100 = 0) would be buffered and immediately executed, switching off the output instantly. Thus, even though the execution would dwell for five seconds, the output would switch on only momentarily. Therefore, in order to have the desired effect, it is necessary to suppress buffering in this case. This can be very simply done by inserting a blank NC statement (a semicolon, the EOB symbol, is treated as a blank NC statement) after G04 block (though this method would not work in radius compensation mode):
#1100 = 1;
G04 X5;
;
#1100 =0;
Fanuc control does not define a G-code to limit buffering to the desired number of blocks, unlike Haas control which has G103 for this purpose.