Спасибо. Так работает нормально.
Скажите, а есть ли способ посчитать количество ушедших/пришедших пакетов по шине ModBus для одного из устройств (конкретного)?
Спасибо. Так работает нормально.
Скажите, а есть ли способ посчитать количество ушедших/пришедших пакетов по шине ModBus для одного из устройств (конкретного)?
https://ftp.owen.ru/CoDeSys3/11_Docu...odbus_v3.0.pdf
См. п. 4.6 - системные переменные компонентов Modbus Slave COM Port и Modbus TCP Slave
С помощью xDone можно определить число принятых корректных пакетов.
С помощью xError и byModbusError можно определить число принятых пакетов с кодами ошибок и число запросов, оставшихся без ответа.
Сложив эти три числа - получим число отправленных пакетов.
Подсчет, соответственно, потребуется организовать самостоятельно в коде программы.
С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
Здравствуйте. Опять есть вопрос по обмену. Подскажите как быть.
В цикле постоянно читаются 7 параметров из одного устройства (пакетное чтение командой modbus-04).
Эти 7 параметров выводятся на дисплей для контроля в режиме реального времени.
На дисплее есть 7 полей для ввода новых значений любого из параметров.
Также есть 7 кнопок "Записать в устройство", каждая из которых должна записать одиночной командой только соответствующий из параметров.
Что нужно подвесить на кнопку (событие OnMouseClick), чтобы нажатие на нее вызвало отправку одиночного пакета modbus (одиночная запись командой modbus-06).
Евгений, в приведенных вами ответах не нашел нужного.
Тут привязка к конкретному экрану визуализации. Полезная штука, но это не то.
Тут статистика по конкретному устройству целиком. Полезно, но это не то.
Подскажите как быть.
Спасибо.
Последний раз редактировалось ВладОвен; 22.06.2022 в 10:59.
Подскажите, как при помощи xDone можно определить число принятых корректных пакетов?
Я настроил и подключил прибор МВ110-226-16д к своему ПЛК. Программа заточена на чтение 1 раз в секунду из МВ110. И она действительно так работает. Лампочка на МВ110 подмигивает 1 раз в секунду.
Задача, которая должна словить количества принятых корректных пакетов запускается 50 раз в секунду.
Я вижу:
Безымянный3322.png
Я слежу на xDone. Он всегда поднят. wCount3 увеличивается на 50 за 1 секунду. wCount4 не увеличивается.
Я слежу за xBusy. Он всегда опущен. wCount1 не увеличивается. wCount2 увеличивается на 50 за 1 секунду.
Может я неправильно настроил параметр "Всегда обновлять переменные: ВКЛ.2 (всегда в задаче цикла шины)"?
К кнопке достаточно привязать BOOL-переменную, которая будет привязана к триггеру вашего канала записи.Что нужно подвесить на кнопку (событие OnMouseClick), чтобы нажатие на нее вызвало отправку одиночного пакета modbus (одиночная запись командой modbus-06)
По нажатию на кнопку нужно генерировать в ней единичный импульс.
См. стр. 39 и далее, параметр "Триггер"
https://ftp.owen.ru/CoDeSys3/11_Docu...odbus_v3.0.pdf
С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-устройстве имеется 1 канал для пакетного чтения и 7 каналов для индивидуальной записи.
А переменная xTrigger будет действовать на все 7 каналов записи одновременно? Т.е. нажатие на кнопку произведет сразу 7 индивидуальных записей?
(Я не нашел переменную xTrigger на каждый канал записи. Переменная есть только на всё устройство.)
Последний раз редактировалось ВладОвен; 22.06.2022 в 11:31.
С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
Для того, что-бы получить переменные xTrigger для каждого из каналов, я клонировал мое slave-устройство.
Клоны.png
И в каждом клоне описал свой индивидуальный канал записи. Тогда у каждого устройства (читай: у каждого канала записи) теперь есть своя переменная xTrigger.
Эту переменную (generator01cloneX.xTrigger) и привязал к кнопке
Всё работает, но есть проблемы:
Компилятор ругается на дублирование адресов slave-устройств-клонов. Это не ошибка, а предупреждение. Работать можно.
Пропадает наглядность проекта в IDE.
Костыль... Ёпта!
Последний раз редактировалось ВладОвен; 22.06.2022 в 12:15.
Вам не нужно клонировать устройство.
Забудьте вообще про xTrigger - в вашем случае он не нужен.
Перейдите на вкладку соотнесения входов-выходов - там будут каналы триггеров для каждого канала типа Передний фронт.
Привяжите к каждому триггерному каналу свою переменную.
Ссылку на руководство я уже выше привел.
2022-06-22_12-17-16.png 2022-06-22_12-17-24.png
С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
Привет.
Подключил датчик и хочу забрать от него параметр из регистра Modbus.
Как правильно привязать переменную (тип WORD)?
Туда, где показано зеленым или красным? Зачем там два таких поля? В чем разница? (см. рисунок)
КудаСохранить.png