Добрый день уважаемые! Подскажите пожалуйста, как сделать цикл побитового опроса переменной? Где у меня ошибка?
Авария.PNG
модбас.PNG
Добрый день уважаемые! Подскажите пожалуйста, как сделать цикл побитового опроса переменной? Где у меня ошибка?
Авария.PNG
модбас.PNG
Добрый день.
Побитовый доступ (через точку) возможен только через константы.
Посмотрите библиотеку Util - в ней есть ФБ Extract и Putbit - они помогут в вашем случае.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
вместо IF crash1.i = TRUE THEN используйте IF (SHR(crash1,i) AND 16#1) > 0 THEN
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Я обычно делаю вот таким образом:
Crash.jpg
Переменная Cr_string будет иметь значение самого нижнего по программе Crash.xx=TRUE. Сброс происходит автоматически в начале каждого цикла.
Спасибо, правда я не разобрался еще что такое SHR() и 16#1, но я догадываюсь как это работает. Хороший способ, интересный, буду изучать.
Подскажите тогда еще такой вопрос, возможно ли с помощью одной переменной STRING поочередно выводить разные данные в окно? как у меня в примере переменная cr_string может принимать несколько значений подряд, и хотелось бы что бы они выводились поочередно
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Avdey
1. Это язык LD.Насколько я понимаю это язык FBD? А на ST можно перевести?)
2. Перевести можно, только смысл? Букав больше, наглядности меньше.
Кроме того, в LD проще строить какую-нибудь глушилку аварии\события в случае надобности.Код:Cr_string:="Отсутствуют"; IF Crash.0 THEN Cr_string:="Потеря основного питания"; END_IF; IF Crash.3 THEN Cr_string:="Авария вентилятора притока"; END_IF; IF Crash.4 THEN Cr_string:="Авария вентилятора вытяжки"; END_IF;
В принципе для данной задачи надо копать в сторону Ararm Manager.возможно ли с помощью одной переменной STRING поочередно выводить разные данные в окно? как у меня в примере переменная cr_string может принимать несколько значений подряд, и хотелось бы что бы они выводились поочередно
Последний раз редактировалось Sulfur; 13.08.2019 в 12:50.