Сообщение от
TaPX
С функцией "2" происходит то же самое. Скрины приложу сейчас. Функция 1 читает выходы, а функция 2 - входы.
Если ее стандартным готовым блоком bool_to_int интовать, то при интовании в единичку конвертируется только значение 1 переменной, значения 0, 2, 4, 8 на выходе блока bool_to_int принимают нулевое значение.
Пробовали писать функцию на ST с использованием внутри нее встроенной функции bool_to_udint() - тогда при любом положительном значении переменной на выходе функции единица, а при ноле, соответственно, ноль.
Чтение других битов дает всегда ноль, потому что все биты почему-то упаковываются в нулевой бит нулевого регистра.