-
Форум
-
Silver Solution Studio
-
Обсуждение S3
-
Побитовое представление регистра Modbus RTU
Побитовое представление регистра Modbus RTU
Меньше
Больше
-
Сообщений: 2
-
Спасибо получено: 0
-
-
6 года 7 мес. назад #541
от Garc
Подскажите пожалуйста как отобразить побитное состояние регистра, что передаётся по протоколу Modbus RTU типа INT16 в проекте HMI? Сейчас получен сам тег и выведен в десятичном представлении. А необходимо отслеживать состояние каждого бита в отдельности.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Меньше
Больше
-
Сообщений: 2
-
Спасибо получено: 0
-
-
6 года 7 мес. назад #542
от Likhenko
Ви можете воспользоваться командой побитового умножения AND или побитового сложения OR. Например
цифровая переменная v=5
тогда на языке ST вы можете написать следующее
if v AND (1<<2) = 1<<2 then //бит 2 установлен (для переменной v это условие выполняется)
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Меньше
Больше
-
Сообщений: 2
-
Спасибо получено: 0
-
-
6 года 7 мес. назад #543
от Garc
Спасибо за ответ, а подскажите где и как правильно размещать этот скрипт и как необходимо привязать его к визуальному представлению?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Меньше
Больше
-
Сообщений: 2
-
Спасибо получено: 0
-
-
6 года 7 мес. назад #545
от Likhenko
Разместите скрипт в секции переодические указав период опроса. И создайте переменные логического типа для каждого бита (bit1, bit2, bit4 ..) . Тогда скрипт будет выглядеть следующим образом
bit1:= v AND (1<<0) = 1<<0;
bit2:= v AND (1<<1) = 1<<1;
bit3:= v AND (1<<2) = 1<<2;
...
Теперь остается для нужного компонента мнемосхемы добавить событие - изменение переменной (bit1 ) и добавить нужное действие для этого события (изменить фон компонента, вывести занчение ...)
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
-
Форум
-
Silver Solution Studio
-
Обсуждение S3
-
Побитовое представление регистра Modbus RTU
Время создания страницы: 0.103 секунд