Sinumerik Alarm 12300 Channel %1 block %2 call-by-reference parameter missing on subroutine call %3


Sinumerik Alarm 12300 Channel %1 block %2 call-by-reference parameter missing on subroutine call %3

Parameters:
%1 = Channel number
%2 = Block number, label
%3 = Source string

Definitions:
In the subroutine definition, a formal REF parameter (call-by-reference parameter) has been specified with no actual parameter assigned to it. The assignment takes place in the subroutine call on the basis of the position of the variable name and not on the basis of the name!
Example:
Subroutine:
(2 call-by-value parameters X and Y, 1 call-by-reference parameter Z)PROC XYZ (INT X, INT Y, VAR INT Z)
:
M17
ENDPROC
Main program:
N10 DEF INT X
N11 DEF INT Y
N11 DEF INT Z
:
N50 XYZ (X, Y) ; REF parameter Z missing
or
N50 XYZ (X, Z) ; REF parameter Z missing!

Reactions:
– Alarm display.
– Interface signals are set.
– Correction block

Remedy:
Press the NC Stop key and select the function “Correction block” with the soft key PROGRAM CORRECT. The correction pointer positions on the incorrect block. Assign a variable to all REF parameters (call-by-reference parameters) of the subroutine when calling. No variable must be assigned to “normal” formal parameters (call-by-value parameters), as these are defaulted with 0.

Program Continuation:
Clear alarm with NC START or RESET key and continue the program.

References

  1. Siemens Diagnostics Guide by Siemens
Sinumerik Alarm 12300 Channel %1 block %2 call-by-reference parameter missing on subroutine call %3