Я предлагаю преобразовать число в STRING, а затем вы можете найти n-й символ из строки. Конечно, вы не сказали этого, если ваш номер 654321 является строковым или числовым значением, но это не имеет значения.
Следующий код занимает 3-й символ слева. Если вам нужно получить цифру справа, вы можете отредактировать код с помощью функций LEN () и т. Д.
VAR
TestNumber : DINT;
TestString : STRING;
NthDigitAsString : STRING(1);
NthDigit : BYTE;
END_VAR
TestNumber := 654321;
//Convert to string
TestString := DINT_TO_STRING(TestNumber);
//Find the 3rd character (counting from from left)
NthDigitAsString := MID(TestString, 1, 3);
//Convert the character to number (if necessary)
NthDigit := STRING_TO_BYTE(NthDigitAsString);
Это, конечно, длинная версия. Найдите однострочник ниже:
NthDigit := STRING_TO_BYTE(MID(DINT_TO_STRING(654321), 1, 3));