Привет коллеги!
Хочу вставить панель между ПР200 и шлюзом к облаку, дабы иметь возможность и на панели мониторить и управлять. Как это правильно реализовать?
Привет коллеги!
Хочу вставить панель между ПР200 и шлюзом к облаку, дабы иметь возможность и на панели мониторить и управлять. Как это правильно реализовать?
Здравствуйте. Подскажите, пожалуйста: каким образом наиболее правильно вызвать макрос при изменении значения какого-либо тега?
С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
Панель работает в режиме slave. Значения тегов, на изменение которых нужно реагировать, меняет подключенное устройство.
В панели есть слово управления, биты которого должны сбрасываться после прочтения их контроллером. Для этого хочу сделать отдельный тег в панели, по изменению битов которого будет происходить сброс соответствующих битов слова управления (т.к. если перезаписывать само слово управления целиком, то биты, которые были установлены между последним чтением и записью могут перезатереться нулями).
Видел объект "функциональная область", в котором можно вызывать макрос по изменению определённого бита (как раз то, что нужно), но на каждый бит создавать отдельную глобальную функциональную область наверное слишком избыточно. Хотел сделать общий макрос, который бы вызывался по изменению тега целиком и в нём уже отслеживать изменения. Но т.к. в самом макросе нельзя хранить значения между вызовами, то наверное ещё запутаннее будет.
Возможно это всё как-то проще делается, буду рад, если подскажете другой способ реализации.
Не очень понял, зачем нужна промежуточная переменная.
Контроллер не может сам сбросить конкретный бит в слове управления?
Можно в макросе использовать статические переменные (с ключевым словом static) - они сохраняют свои значения между вызовами.Но т.к. в самом макросе нельзя хранить значения между вызовами
Или можно использовать для хранения этих значений регистры панели.
Последний раз редактировалось Евгений Кислов; 12.02.2020 в 07:24.
С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
Наверное может. Просто через промежуточный регистр показалось удобнее - слать биты для сброса вместе со всеми остальными данными в одном из регистров. (Пока только начинаю знакомится со всем этим оборудованием.)
Правильно ли я понимаю, что для того чтобы так сделать нужно разместить слово управления (PSW) в части регистров, на которую накладывается область (PSB). (PSB же накладывается на PSW?) и 5-ой функцией Modbus сбрасывать PSB?
PSB и PSW не накладываются.
Регистры PSW не поддерживают запись отдельных битов через функцию 5 - контроллер должен на своей стороне сбросить бит в слове управления и перезаписать его в панель целиком (функцией 6 или 16).
С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
Если так делать, то биты, которые выставились во временном промежутке "после последнего запроса на чтение и до перезаписи тега целиком" не прочитаются контроллером и перезапишутся в нули. Как следствие: контроллер не реагирует на нажатие кнопок, к которым они привязаны.
Когда организовывал связь через конфигуратор (Codesys 2.3) обмен данными был очень медленный и это было очень заметно. Сейчас сделал на Modbus.lib и всё летает, скорее всего теперь нормально будет.
Добрый день.
Подскажите, пожалуйста, можно ли скрыть глобальные функциональные области и макросы на экранах конфигуратора? Очень сильно захламляют картинку и мешают работать.
С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