Показано с 1 по 5 из 5

Тема: Замена модуля удаленных входов/выходов WAGO750-315 на контроллер ПЛК210

  1. #1

    По умолчанию Замена модуля удаленных входов/выходов WAGO750-315 на контроллер ПЛК210

    Добрый день!

    Прошу проконсультировать по следующей задаче:

    Имеется ПЛК (будем его называть Мастер ПЛК), использующий в качестве REMOTE I/O – Wago 750-315 (документацию другую сопутствующую информацию по вопросу можно скачать по ссылке - https://disk.yandex.ru/d/vOF5Md6hXIZyCw ). Мы хотели заменить удаленный модуль Wago 750-315 на какой-нибудь ПЛК, чтобы впоследствии написать на этом ПЛК программу и имитировать работу системы. При этом программу Мастер ПЛК менять нельзя. Он должна работать именно, так как работает с – Wago 750-315.

    Wago 750-315 использует первые 256 регистров для приема передачи технологической информации. Кроме того, еще 9 регистров начиная с 4096 используются для диагностики исправности сети Modbus. Ниже приведен фрагмент лога телеграмм, посылаемых мастером на компьютер. Логи сняты программой MbSlave.


    Стандартными средствами Codesys выделить нужное количество регистров не получиться ни для ПЛК210 (максимум – 4096 регистров), ни для ПЛК110 (максимум – 500 регистров). Поэтому я пытался использовать библиотеки:

    ПЛК110 – OwenModbusSlave_v2.3.9.4
    ПЛК210 – OwenCommunication_3.5.11.7

    Изначально я пытался настроить связь с ПЛК210, но не смог добиться получения данных от Мастера на ПЛК210. Хотя с другими контроллерами (СПК107, Modicon TM221), которые у нас имеются в наличии, связь установить удалось. И у меня получилось записать и считать нужные регистры во всем диапазоне от 0 до 4104.

    Тогда я предположил, что проблема с задержками. Точнее с задержкой ответа устройства Slave. Я заметил, что в функциональном блоке MB_RTU_SLAVE библиотеки OwenModbusSlave_v2.3.9.4 существует возможность регулировки параметра timResponseDelay. Так вот если я устанавливаю это значение ниже 10 мс обмен данными работает. Если 100 мс, то обмена нет (интервал между 10 и 100 мс не испытывал).

    Но теперь я столкнулся с другой проблемой. Если я правильно понимаю, то у Wago 750-315 выделены отдельные области памяти для функций 03 и 16. Но при этом к этим областям можно обратиться по одному и тому же адресу регистра. То есть в зависимости от функции 03 или 16 выбирается нужная область памяти.


    А в ПЛК110 при использовании библиотеки я имею одну структуру, в которой я должен выделить переменные для записи и отдельные переменные для чтения. Но мастер контроллер мне отправляет, например, запрос записать в 16 регистров начиная с 0 такие-то значения. А следующая телеграмма будет считать 64 регистра, начиная с 0. И в моей структуре 16 первых регистров это одни и те же ячейки памяти.

    Исходя из вышеуказанного возникло несколько вопросов:

    1) Существует ли возможность использования двух разных структур для функционального блока MB_RTU_SLAVE? Может как-то можно переключать две структуры в зависимости от типа команды Modbus?
    2) Можно ли в функциональном блоке MB_SerialSlave библиотеки OwenCommunication каким-нибудь образом изменять параметр timResponseDelay?
    3) Можно ли задействовать поле eFuncCode структуры stRequestInfo функционального блока MB_SerialSlave библиотеки OwenCommunication для переключения массивов для чтения и записи информации? То есть создаем два массива (один для чтения, другой для записи) и переключаем pData и szSize функционального блока MB_SerialSlave. Ниже приведена предполагаемая примерная конструкция:

  2. #2
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,994

    По умолчанию

    Программная реализация на промПК не?
    Или отключение работы через Конфигурацию ПЛК и все через библиотеки?

  3. #3

    По умолчанию

    Функции 03 ( чтение одного или группы регистров) и 16 (запись группы регистров) относятся к одной области памяти - Холдинг регистры.
    Поэтому вы можете читать и записывать одну и ту же структуру, с одинаковым начальным адресом.
    Изменение (запись) переменных в слейве делается по триггеру.
    Последний раз редактировалось kondor3000; 18.08.2025 в 22:48.

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

    По умолчанию

    Добрый день.

    1) Существует ли возможность использования двух разных структур для функционального блока MB_RTU_SLAVE? Может как-то можно переключать две структуры в зависимости от типа команды Modbus?
    Нет.

    2) Можно ли в функциональном блоке MB_SerialSlave библиотеки OwenCommunication каким-нибудь образом изменять параметр timResponseDelay?
    Нет.

    3) Можно ли задействовать поле eFuncCode структуры stRequestInfo функционального блока MB_SerialSlave библиотеки OwenCommunication для переключения массивов для чтения и записи информации? То есть создаем два массива (один для чтения, другой для записи) и переключаем pData и szSize функционального блока MB_SerialSlave.
    Можно, на уровне костыля. Я бы не рекомендовал использовать этот вариант.

  5. #5

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Добрый день.



    Нет.



    Нет.



    Можно, на уровне костыля. Я бы не рекомендовал использовать этот вариант.
    Благодарю за ответ. Значит будем менять регистры в Мастере.

Похожие темы

  1. Ответов: 3
    Последнее сообщение: 15.09.2022, 17:23
  2. Настройка модуля выходов МУ110-32Р
    от sng21099 в разделе ПЛК1хх [М02]
    Ответов: 7
    Последнее сообщение: 29.04.2022, 11:27
  3. Ответов: 2
    Последнее сообщение: 07.02.2019, 19:17
  4. Замена модуля ЦАП
    от amm в разделе Сервисное обслуживание приборов ОВЕН
    Ответов: 11
    Последнее сообщение: 31.01.2019, 10:41
  5. Замена Модуля МВА8 на МВ110
    от Храмов13 в разделе Эксплуатация
    Ответов: 2
    Последнее сообщение: 21.09.2018, 10:36

Ваши права

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