Страница 75 из 120 ПерваяПервая ... 2565737475767785 ... ПоследняяПоследняя
Показано с 741 по 750 из 1312

Тема: CODESYS V3.5. Настройка обмена с другими устройствами (Modbus, ОВЕН, OPC и др.)

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Спасибо. Так работает нормально.
    Скажите, а есть ли способ посчитать количество ушедших/пришедших пакетов по шине ModBus для одного из устройств (конкретного)?

  2. #2
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,287

    По умолчанию

    Цитата Сообщение от ВладОвен Посмотреть сообщение
    Спасибо. Так работает нормально.
    Скажите, а есть ли способ посчитать количество ушедших/пришедших пакетов по шине ModBus для одного из устройств (конкретного)?
    https://ftp.owen.ru/CoDeSys3/11_Docu...odbus_v3.0.pdf
    См. п. 4.6 - системные переменные компонентов Modbus Slave COM Port и Modbus TCP Slave

    С помощью xDone можно определить число принятых корректных пакетов.
    С помощью xError и byModbusError можно определить число принятых пакетов с кодами ошибок и число запросов, оставшихся без ответа.

    Сложив эти три числа - получим число отправленных пакетов.

    Подсчет, соответственно, потребуется организовать самостоятельно в коде программы.

  3. #3

    По умолчанию

    Здравствуйте. Опять есть вопрос по обмену. Подскажите как быть.

    В цикле постоянно читаются 7 параметров из одного устройства (пакетное чтение командой modbus-04).
    Эти 7 параметров выводятся на дисплей для контроля в режиме реального времени.

    На дисплее есть 7 полей для ввода новых значений любого из параметров.
    Также есть 7 кнопок "Записать в устройство", каждая из которых должна записать одиночной командой только соответствующий из параметров.

    Что нужно подвесить на кнопку (событие OnMouseClick), чтобы нажатие на нее вызвало отправку одиночного пакета modbus (одиночная запись командой modbus-06).

    Евгений, в приведенных вами ответах не нашел нужного.

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Если обмен настроен через дерево проекта - то так...
    Тут привязка к конкретному экрану визуализации. Полезная штука, но это не то.

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    С помощью xDone можно определить число принятых корректных пакетов...
    Тут статистика по конкретному устройству целиком. Полезно, но это не то.

    Подскажите как быть.
    Спасибо.
    Последний раз редактировалось ВладОвен; 22.06.2022 в 10:59.

  4. #4

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    С помощью xDone можно определить число принятых корректных пакетов.
    С помощью xError и byModbusError можно определить число принятых пакетов с кодами ошибок и число запросов, оставшихся без ответа.

    Сложив эти три числа - получим число отправленных пакетов.

    Подсчет, соответственно, потребуется организовать самостоятельно в коде программы.
    Подскажите, как при помощи xDone можно определить число принятых корректных пакетов?
    Я настроил и подключил прибор МВ110-226-16д к своему ПЛК. Программа заточена на чтение 1 раз в секунду из МВ110. И она действительно так работает. Лампочка на МВ110 подмигивает 1 раз в секунду.
    Задача, которая должна словить количества принятых корректных пакетов запускается 50 раз в секунду.
    Я вижу:
    Безымянный3322.png

    Я слежу на xDone. Он всегда поднят. wCount3 увеличивается на 50 за 1 секунду. wCount4 не увеличивается.
    Я слежу за xBusy. Он всегда опущен. wCount1 не увеличивается. wCount2 увеличивается на 50 за 1 секунду.

    Может я неправильно настроил параметр "Всегда обновлять переменные: ВКЛ.2 (всегда в задаче цикла шины)"?

  5. #5
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,287

    По умолчанию

    Что нужно подвесить на кнопку (событие OnMouseClick), чтобы нажатие на нее вызвало отправку одиночного пакета modbus (одиночная запись командой modbus-06)
    К кнопке достаточно привязать BOOL-переменную, которая будет привязана к триггеру вашего канала записи.
    По нажатию на кнопку нужно генерировать в ней единичный импульс.

    См. стр. 39 и далее, параметр "Триггер"
    https://ftp.owen.ru/CoDeSys3/11_Docu...odbus_v3.0.pdf

  6. #6

    По умолчанию

    Спасибо. Вроде разобрался.
    В этом slave-устройстве имеется 1 канал для пакетного чтения и 7 каналов для индивидуальной записи.
    А переменная xTrigger будет действовать на все 7 каналов записи одновременно? Т.е. нажатие на кнопку произведет сразу 7 индивидуальных записей?
    (Я не нашел переменную xTrigger на каждый канал записи. Переменная есть только на всё устройство.)
    Последний раз редактировалось ВладОвен; 22.06.2022 в 11:31.

  7. #7
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,287

    По умолчанию

    Цитата Сообщение от ВладОвен Посмотреть сообщение
    Спасибо. Вроде разобрался.
    Но получается, что в этом slave-устройстве имеется 1 канал для пакетного чтения и 7 каналов для индивидуальной записи.
    Т.е. переменная xTrigger будет действовать на все 7 каналов записи одновременно? Т.е. нажатие на кнопку произведет сразу 7 индивидуальных записей?
    xTrigger действует на все каналы устройства с типом Передний фронт.

  8. #8

    По умолчанию

    Для того, что-бы получить переменные xTrigger для каждого из каналов, я клонировал мое slave-устройство.
    Клоны.png

    И в каждом клоне описал свой индивидуальный канал записи. Тогда у каждого устройства (читай: у каждого канала записи) теперь есть своя переменная xTrigger.
    Эту переменную (generator01cloneX.xTrigger) и привязал к кнопке
    Всё работает, но есть проблемы:
    Компилятор ругается на дублирование адресов slave-устройств-клонов. Это не ошибка, а предупреждение. Работать можно.
    Пропадает наглядность проекта в IDE.
    Костыль... Ёпта!
    Последний раз редактировалось ВладОвен; 22.06.2022 в 12:15.

  9. #9
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,287

    По умолчанию

    Цитата Сообщение от ВладОвен Посмотреть сообщение
    Для того, что-бы получить переменные xTrigger для каждого из каналов, я клонировал мое slave-устройство.
    Клоны.png

    И в каждом клоне описал свой индивидуальный канал записи. Тогда у каждого устройства (читай: у каждого канала записи) теперь есть своя переменная xTrigger.
    Эту переменную (generator01cloneX.xTrigger) и привязал к кнопке
    Всё работает, но есть проблемы:
    Компилятор ругается на дублирование адресов slave-устройств-клонов. Это не ошибка, а предупреждение. Работать можно.
    Пропадает наглядность проекта в IDE.
    Костыль... Ёпта!
    Вам не нужно клонировать устройство.
    Забудьте вообще про xTrigger - в вашем случае он не нужен.
    Перейдите на вкладку соотнесения входов-выходов - там будут каналы триггеров для каждого канала типа Передний фронт.
    Привяжите к каждому триггерному каналу свою переменную.
    Ссылку на руководство я уже выше привел.

    2022-06-22_12-17-16.png 2022-06-22_12-17-24.png

  10. #10

    По умолчанию

    Привет.
    Подключил датчик и хочу забрать от него параметр из регистра Modbus.
    Как правильно привязать переменную (тип WORD)?
    Туда, где показано зеленым или красным? Зачем там два таких поля? В чем разница? (см. рисунок)
    КудаСохранить.png

Страница 75 из 120 ПерваяПервая ... 2565737475767785 ... ПоследняяПоследняя

Похожие темы

  1. Настройка ПР200, управление 3-мя устройствами через RS-485
    от Orbes в разделе Среда программирования OWEN Logic
    Ответов: 20
    Последнее сообщение: 15.05.2017, 16:45
  2. СП3ХХ Пример настройка обмена с ПЛК на CODESYS 2.3
    от Denis_Kay в разделе Панели оператора (HMI)
    Ответов: 6
    Последнее сообщение: 02.03.2017, 15:12
  3. Ответов: 43
    Последнее сообщение: 13.04.2015, 14:05
  4. Универсальная функция для обмена с устройствами OwenIO и всеми любимый LabView.
    от Алексей Крагель в разделе Помощь Разработчикам
    Ответов: 0
    Последнее сообщение: 30.05.2014, 14:38

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •