Я такой костыль использую:
Код:
FUNCTION_BLOCK VisuAddNull
VAR_INPUT
In: INT;
Digits: BYTE; (*Минимальное число разрядов*)
Pulse: BOOL; (*Флаг обновления аналоговых значений в визуализации*)
END_VAR
VAR_OUTPUT
sOut: WSTRING;
END_VAR
VAR
bFirst: BOOL;
END_VAR
IF Pulse OR NOT bFirst THEN
Digits:=LIMIT(1,Digits,7);
(*Целое значение*)
sOut:= INT_TO_WSTRING(In);
WHILE WLEN(sOut)< Digits DO
sOut:=WCONCAT(STR1:="0", STR2:=sOut);
END_WHILE
bFirst:=TRUE;
END_IF
Далее в визуализации отображаем выход этого ФБ в формате строки %s.
Pulse можно все время TRUE сделать, если не боритесь за производительность.