Показано с 1 по 10 из 39

Тема: Имитация модулей ввода-вывода для удобной отладки

Древовидный режим

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

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Пока не изучал код.

    0. Спасибо, не заморачивайтесь
    Изначально я упёрся в то, чтоб рабочий проект оставался без каких-то доработок периода отладки. Поэтому всю периферию хотел сделать совершенно отдельно - во втором проекте или в какой-то сторонней программе. На тот момент я ещё не представлял всех сложностей и ограничений, с которыми столкнусь.
    На сегодняшний момент - выше описанный код позволяет мне успешно имитировать работу двух модулей: МУ110-224.16Р и МВ110-224-16ДН.
    Я могу в отладочном проекте имитировать входы модуля ввода одним щелчком мыши в удобном мне месте, реагировать на выходы модуля вывода программно (я в курсе про скрипты в ОПС модбас сервере, но это дичь). В этот же отладочный проект я добавил имитацию весового модуля, который шлёт в основной проект данные по RS-232.
    НО. Ещё раз повторю - у этого способа есть только один плюс - мне никак не надо переделывать основной рабочий проект. Для него вся периферия - что железная, что имитированная, видится и работает одинаково.
    А теперь о минусах:
    а) мне тупо повезло, что эти два модуля имеют разную адресацию регистров. Если бы имели одинаковую или пересекающуюся (например, у меня был бы модуль вЫвода не на 16, а на 32 контакта) - ничего не прокатило бы.
    б) каждый раз для отладки приходится запускать программу Virtual Serial Ports Emulator и в ней настраивать связь двух виртуальных портов - для 232 (весовой модуль) и 485(модули ввода и вывода).
    в) каждый раз приходится запускать вторую копию виртуального контроллера, чтоб на нём крутился проект имитации.
    Сейчас я бы просто в своём рабочем проекте сделал отдельную визуализацию с имитацией нужных мне железяк и повесил бы её на вёб-морду, вытащив её на второй экран компа. Да, основной проект пришлось бы переделать. Но это заняло бы куда меньше времени.

    Цитата Сообщение от melky Посмотреть сообщение
    1. Так понимаю там привязка через шаблоны + использование каких-то fb. Ставить CodeSys 3 не планирую, своего Г хватает на компе.
    1. Да, слева в рабочем проекте - шаблоны, справа в имитируемом - ФБ, создающие слэйв устройство.
    схемо.png

    Цитата Сообщение от melky Посмотреть сообщение
    Пока не изучал код.
    2. Каким образом вы создаете эмуляцию? все на виртуальных ПЛК CodeSys ? нужна работа по реальным COM портам? не помню, можно ли натравить виртуальный COM порт на другой виртуальный, не пробовал ни разу
    2. Я создал вируальный ПЛК, в нём через ФБ открыл порт 485 и через ещё один ФБ создал виртуальный слейв, отзывающийся на любой айдишник. Далее в программе Virtual Serial Ports Emulator создал виртуальную связь между компортом рабочего контролера и имитирующего.

    Цитата Сообщение от melky Посмотреть сообщение
    3. на COM порту должно быть несколько имитируемых устройств ?
    Если рисунком сделаете как хотите, чтобы понять можно ли это организовать на одном ПК.
    3. Это одна из проблем.Я не нашёл, как можно на одном компорту заиметь более одного слэйв устройства в одном проекте, поэтому реализовал через "универсальный" слэйв.

    Цитата Сообщение от melky Посмотреть сообщение
    4. Что нужно от имитируемых устройств? ну например модуль вывода какой-нибудь MX110 или модуль ввода, или аналогового ввода ?
    4. От модуля вЫода нужно было, чтоб он визуально мне показал, что программа хочет задействовать какой-то выход. Именно чтоб удобно на это было смотреть, а не искать глазами конкретную строчку где-то в отладочной информации, в столбиках. Ну и заодно теперь на этот же сигнал у меня реагирует имитатор наполнения весов, что тоже удобно. Не надо лишний раз тыкать кнопки. От модуля ввода мне нужно было, чтоб я удобно в один клик мышкой мог менять его состояние. Всё это у меня сейчас уже реализовано. Ну и имитацию пропадания связи я тоже могу теперь реализовать во втором проекте, если захочу.

    Цитата Сообщение от melky Посмотреть сообщение
    5. какая нужна скорость работы модулей ?
    5. Любая - у нас не критичны задержки какие-то в доли секунд

    Так что не заморачивайтесь) Создавая пост, я хотел получить наводку на какой-то метод удобной отладки проекта. В целом - теперь понимаю, что проще всего просто в одном проекте реализовать режим отладки с имитацией нужных мне данных.
    Так что спасибо большое за готовность помочь )
    Последний раз редактировалось Нидвораич; 05.04.2025 в 15:52.

Похожие темы

  1. Отвалы модулей ввода/вывода.
    от FlameAtomicFox в разделе ПЛК2хх
    Ответов: 3
    Последнее сообщение: 03.02.2025, 07:16
  2. Ответов: 2
    Последнее сообщение: 21.03.2024, 08:17
  3. Подключение модулей ввода/вывода по Modbus RTU
    от известь в разделе Master SCADA 4D
    Ответов: 3
    Последнее сообщение: 13.12.2023, 08:41
  4. ПЛК160-24.А-М + 5 модулей ввода/вывода
    от des_na_laes@mail.ru в разделе Мх110
    Ответов: 25
    Последнее сообщение: 22.12.2020, 18:06
  5. ПЛК100+18 модулей ввода и вывода
    от Дулат в разделе Эксплуатация
    Ответов: 23
    Последнее сообщение: 08.11.2019, 11:52

Ваши права

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