Can't start a job with an M0?

I have a tricky job that has several tools, a drill process and is also duplicated and nested.

I have to turn the power down on the plasma for the drill op, so i put an M0 in at the end of the first pass, this is where i turn the power back up for the cuts then press start.

However, this left me with an unwanted pause at the end of the last duplicate, so I thought i would move the M0 to the start, before the drill as well as between the drill and cuts, this would give me the same result but would allow the finish codes to run and park the gantry/rewind the code without my pressing start again.

But, If i move the pause to the start of the process list it crashes the Post and gives an error about comparing a null to a value.

Any ideas?
Can anyone try putting a code snippet of M0 before any cut process and see what happens?

I tried adding a code snippet of M0 as the first operation and received a warning about the feedrate being zero.

I wonder if the post processor could be modified to employ this?

Yes I got that error on a standard Mach3 post, on the MP3000 post it was an error in the vb module or something in line 2600.

Does not like starting on an M0 command.

Edit your post and look for this section of code. Your version may be slightly different depending on the post.

function OnNewOperation()
   post.Text (" (Process: ", operationName, ")\n")
   if &#40;plungeRate <= 0&#41; then
      post.Warning&#40;"WARNING&#58; Plunge rate is zero"&#41;
   if &#40;feedRate <= 0&#41; then
      post.Warning&#40;"WARNING&#58; Feed rate is zero"&#41;

Delete all of this code. All it does is warn if you have zero feed rate and it has problems if the first operation does not set the feed rates.

Brilliant, thanks for that.