Skip to content

SIGNATURE_CHANGED

Severity: warn (error on breaking changes)

A POU's inputs, outputs, or in-outs were renamed, removed, or had their type changed.

Why it matters. A signature change ripples to every caller. The breaking variant (removed / type-changed params, or a new required input without a default) silently turns previously-passing calls into type errors at compile time, or worse, into runtime misbehavior on runtimes that auto-pad missing args. Catching the change at PR review is much cheaper than chasing it down at install.

Settings. Severity is auto-elevated to error when the engine detects a breaking change; severity_overrides replaces the entire scaled severity if set.

Trigger.

(* before *)                       (* after *)
FUNCTION_BLOCK FB_Pump             FUNCTION_BLOCK FB_Pump
VAR_INPUT                          VAR_INPUT
    xEnable : BOOL;                    xEnable : BOOL;
END_VAR                                xManualOverride : BOOL;  (* no default *)
                                   END_VAR

The bot posts.

🟥 error  SIGNATURE_CHANGED
function_block FB_Pump signature changed (breaking): +1 input
  + VAR_INPUT xManualOverride : BOOL

Fix. Either give the new input a default (xManualOverride : BOOL := FALSE;) so callers don't have to update, or update every call site explicitly.