Добрый день уважаемые! Подскажите пожалуйста, как сделать цикл побитового опроса переменной? Где у меня ошибка?
Авария.PNG
модбас.PNG
Добрый день уважаемые! Подскажите пожалуйста, как сделать цикл побитового опроса переменной? Где у меня ошибка?
Авария.PNG
модбас.PNG
Добрый день.
Побитовый доступ (через точку) возможен только через константы.
Посмотрите библиотеку Util - в ней есть ФБ Extract и Putbit - они помогут в вашем случае.
СODESYS V3.5: Repository Archive V3.5 SP4 (необходим для старых СПК) / Раздел CDS V3.5 на сайте
Форум: Вопросы и ответы / Визуализация / Настройка обмена с другими устройствами
Web-панель ВП110 / Modbus-индикатор СМИ2-М
Telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru | oscat.ru | Как обратиться в техподдержку?
Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | XY problem | Как правильно задавать вопросы | 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.