Hello. Everyone!
I would like to know if you have encountered the same issue while using ARNC0.
We are currently using the G04 dwell function in our CNC machine, but we’ve observed some unexpected behavior related to it.
-
After executing G04 10 (10-second dwell), the machine runs for 5 seconds before a Halt command is issued.
-
The machine remains in the halted state for 5 seconds, after which we issue a Continue command.
-
Expected behavior: The machine should dwell for the remaining 5 seconds before proceeding to the next operation.
-
Actual behavior: Since 5 seconds have already passed during the halt, the machine skips the remaining dwell time and moves on immediately.
Is there a way to ensure that, regardless of the time elapsed during a halt, the machine will complete the remaining dwell time specified in the G04 command after resuming?
Hello,
i can confirm that the ARNC0 is working like you descriped. I had the same results in my quick tests.
ARNC0 5.28.2
For MappMotion i did the same test with Interrupt and Contiue. Here it stops the timer and behaves like you desired.
MappMotion 5.28.2
For both systems i do not know a switch to change the behaviour of G04.
Maybe a switch to mappMotion can be a solution for your topic, as it is also the newer recommended system today.
Greetings
Michael
Hello. Michael
Thank you for your response!
As you mentioned, we also tested the issue with MappMotion and confirmed that there were no problems.
However, changing from ARNC0 to MappMotion at the end of the current project presents a scheduling challenge, so we are looking to resolve this issue in ARNC0.
Is it the way to resolve this issues in CNC interpreter? or other ways?
Thanks.
Hello,
i already expected the issue, that changing to mapp will be to time consuming.
As you decide to stay with ARNC0 i would propose to get in contact with local support to clarify the situation with the B&R Development to be sure there is no hidden switch. Because the situation is so rare, i think, that the community will not have much more feedback about it.
About how to work around this, i would say that the only solution i can think of is, to overwrite the G04 command via an own AIL Syntax Statement and transmit the G04 to an self written PLC-Application Task were you operate your own timer and block the CNC Program. Instead of having the build in timer functionality.
The Attatchment contains the AIL Interface and a ST-Task for the PLC but i did not had time to programm the timer-part, so you have to extend this a little by yourself.
-
Use Import
Arnc0AIL_G04.zip (6.7 KB)
-
Add File to PLC Software Configuration
(the gmc files are normaly in an ARNC0 Project, check if you have contend in it. if no replace, if yes combine the contend)


-
If the Cnc gets to an G04 Statment the Information is now passed to the Application Interface. With TimerDone = True the blocking is released.
Greetings
Michael
1 Like
Hello.
I will proceed with testing based on the information you provided.
Many thanks! 