Attention

IronPLC can only run very simple programs. The steps described are accurate but many language features are not yet supported.

P4023

Code

P4023

Message

Function call has named argument that does not match any declared input parameter

This error occurs when a function call uses a named argument that does not match any declared input parameter of the function.

Example

The following code will generate error P4023:

FUNCTION MY_ADD : INT
VAR_INPUT
    A : INT;
    B : INT;
END_VAR
    MY_ADD := A + B;
END_FUNCTION

PROGRAM main
VAR
    result : INT;
END_VAR
    result := MY_ADD(X := 1, B := 2);  (* Error: 'X' is not a declared parameter *)
END_PROGRAM

The named argument X does not match any input parameter of MY_ADD, which declares A and B.

To fix this error, use a parameter name that matches one of the function’s declared input parameters:

FUNCTION MY_ADD : INT
VAR_INPUT
    A : INT;
    B : INT;
END_VAR
    MY_ADD := A + B;
END_FUNCTION

PROGRAM main
VAR
    result : INT;
END_VAR
    result := MY_ADD(A := 1, B := 2);  (* Correct: Both names match declared parameters *)
END_PROGRAM