ShopMill Block Skipping: Configuring GOTOF Jump Labels

David Krause2 min read
Other TopicSiemensTechnical Reference
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Skip a ShopMill or ShopTurn program section by jumping forward to a label with GOTOF. For conditional skipping, evaluate an R parameter before executing the jump. Do not use parentheses as comments; unsupported parentheses can produce a syntax error.

Why slash block skipping does not solve this case

The reported ShopMill case did not respond to placing / before the affected blocks. The available evidence does not identify a ShopMill setting that enables slash-based block skipping, so use an explicit forward jump when the requirement is to bypass a program section.

Configure an unconditional forward jump

Place GOTOF before the section to skip and add the matching label where execution must resume.

GOTOF HUGO
; skipped program section
HUGO:
; execution continues here

The label name in the jump and at the destination must match. Verify that the destination follows the jump because GOTOF specifies a forward jump.

Configure conditional skipping with an R parameter

Add an IF condition when the section should run or be skipped according to a program value. The supported example jumps when R0 contains a positive value.

IF R0>0 GOTOF HUGO
; skipped when R0 is positive
HUGO:
; execution continues here

Before production execution, test both decision paths: set the program state so the condition is true and confirm execution resumes at HUGO:; then test a non-positive R0 value and confirm the intervening section executes.

Apply comment syntax only in its supported context

A semicolon causes the remainder of a line to be ignored in DIN blocks, according to the evidence. It is therefore not a general method for disabling arbitrary ShopMill program sections. Parentheses are also not general comment delimiters in this context: SINUMERIK uses them to pass arguments to functions, subprograms, and cycles, while parentheses without an associated function can trigger a syntax error.

FAQ

How do I skip program blocks in ShopMill?

Insert GOTOF HUGO before the section and place HUGO: at the point where execution must resume.

How do I conditionally skip a ShopMill program section?

Use a condition such as IF R0>0 GOTOF HUGO. In this case, the control jumps forward to HUGO: when R0 is positive.

Can I comment out ShopMill blocks with parentheses or a semicolon?

Do not use parentheses as general comments because unsupported parentheses can cause a syntax error. A semicolon ignores the rest of the line only in DIN blocks and does not provide general section skipping.

Back to blog