Настройка Modbus Slave

Просмотр 13 сообщений - с 1 по 13 (из 13 всего)
  • Автор
    Сообщения
  • #16569
    Аватарmanjey73
    Участник

    Собственно пока ничего не понял как настраивать.

    1. «Период актуальности данных» — для чего предназначен ?
    2. «КП источника данных». Вот тут потерялся совсем. Для взаимодействия с реальным прибором надо установить 0
    У меня панель Овен ИП320 будет мастером, соответственно я ставлю 0. Чтобы в панель передавать только какую-то часть сигналов и от разных приборов, которые опрашивает Scada необходимо создать Линию связи, КП для подключения панели (COM порт). В шаблоне , типа аналог Modbus (мастер) указывается номер сигнала.
    Номера менять нельзя, сквозной способ.

    Если КП для прибора = 0, то как связывать входные каналы именно тех переменных, которые надо отправить в панель ? делать дорасчетные каналы и копировать в них те входные каналы, которые требуется и указывать номер сигнала соответствующий ?

    Если передаем в стороннюю систему передаваться будет вся пачка, если укажем некий КП в источниках данных ?

    з.ы. я так понимаю такое решение было проще в реализации, но не лучше было бы формировать в шаблоне группы и именно в них указывать требуемые КП и возможность редактирования номеров сигналов КП для передачи ?

    • Эта тема была изменена 1 месяц, 1 неделя назад от Аватарmanjey73.
    #16571
    Аватарmanjey73
    Участник

    Попробую обрисовать ситуацию.
    Имеем ПЛК или Программируемое реле, например даже не одно. Все они читаются Scada.
    И имеем одну панель оператора для изменения утавок в этих ПЛК(ПР).

    Создаем для панели Modbus Slave, адресацию. Во входном канале делаем дорасчетный канал ТИ (№806) с формулой Val(805) (например). Значение из канала 805 (опрашиваемый ПЛК) попадает во входной канал слейва 806. Как теперь записать с панели переменную в канал 805 с панели ?

    И кстати такой вопрос, если будет две Scada системы (мало ли для каких задач) и обе будут подключены к одной панели или ПЛК мастеру по RS485 на одном шлейфе ?
    Я понимаю, что такое вытворить в голову особо не придет, но все же. Адресация для режима RS485 нигде не задается. Да и драйвер способен отсекать запросы не к себе ?

    • Этот ответ был изменен 1 месяц, 1 неделя назад от Аватарmanjey73.
    • Этот ответ был изменен 1 месяц, 1 неделя назад от Аватарmanjey73.
    #16574
    MikhailMikhail
    Модератор

    Инструкция по драйверу.
    Настройте шаблон и сделайте скриншот страницы КП в Коммуникаторе. Тогда будет проще объяснить дальнейшую настройку.

    если будет две Scada системы (мало ли для каких задач) и обе будут подключены к одной панели или ПЛК мастеру по RS485 на одном шлейфе ?

    Мастер может быть только один, если используется RS-485. Для Modbus TCP несколько внешних устройств могут подключаться и запрашивать данные.

    #16575
    MikhailMikhail
    Модератор

    Да и драйвер способен отсекать запросы не к себе ?

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

    #16579
    MikhailMikhail
    Модератор

    Вообще, этот драйвер заставляет вывернуть мозг наизнанку. Но когда это удаётся, то всё начинает работать.

    #16580
    Аватарmanjey73
    Участник

    Я имею ввиду ПЛК(или Панель) мастер, два ПК с RS485 со Scada системами slave
    Соответственно Панель будет отправлять запросы то одной, то другой Scada.
    Насколько вижу такой вариант тут не прокатит, так как нет определения адреса в драйвере.

    Собственно вот. Как я понимаю, если указать в Источнике КП (например у меня опрос ПР200 имеет номер 122 и количество сигналов всего 7) мне из этих сигналов нужен только один, под номером 5 передать в Панель (мастер)
    Я не могу в шаблоне сделать группу только с одним номером 5, так как начинается с 1 и это не изменить.
    Если я указываю в Источнике КП 0, так как у меня подключено устройство, тогда я должен создать КП для панели, что я и сделал, но как тогда Панелью читать переменную и главное как записывать, чтобы оно попало в ПР200 ?

    #16581
    Аватарmanjey73
    Участник

    В моем понимании удобства было бы неплохо сделать так.

    В Шаблоне устройства добавить параметров, если правильно понимаю, шаблоны совместимы.
    Но если драйверу Modbus не нужны какие-то параметры, он их просто не будет читать, так как о них ни сном ни духом. А вот для драйвера Slave дополнительные параметры были бы полезны.
    Например мы создали Группу элементов, в ее настройках указываем КП (122 в моем случае для ПР200), из которого мы будем формировать регистры Modbus начиная с Х, который скажем и его типа Holding, Input и т.д. и далее увеличение последовательное именно регистров (группа же для группового запроса). А далее для указанного КП, то есть откуда брать данные указываем те сигналы, которые нам требуются.
    Потом создаем следующую группу, так же указываем регистры, но отличные от первой группы, так же указываем КП (№ 64 у меня счетчик Меркурий) из которого будут браться данные и так же указываем номера сигналов, которые нужны
    Запись аналогично, указываем КП и номер его сигнала, тип переменной и т.д.

    То есть драйвер бы формировал таблицы регистров непосредственно из тех сигналов, КП которых у нас существуют.
    Нужен еще слейв на другом интерфейсе (RTU или TCP), добавляем линию связи еще одну. И вот тут то создавать КП для разных линий связи со входными каналами статуса линии, ошибок, количество переданных данных и по этим КП делать разграничения по регистрам.
    То есть имеем два слейва, два КП и в каждом КП могут быть регистры с нуля, привязка шаблонов и т.д.

    з.ы. панель постараюсь прикрутить на выходных, к сожалению она у меня монохром ИП320 Овен и только COM порт.

    • Этот ответ был изменен 1 месяц, 1 неделя назад от Аватарmanjey73.
    #16586
    MikhailMikhail
    Модератор

    Смысл в том, чтобы можно было взять имеющийся шаблон и запустить его в качестве слейва.

    Насколько вижу такой вариант тут не прокатит, так как нет определения адреса в драйвере.

    Установите адрес КП, как обычно. Это будет адрес, на который откликается слейв.

    #16590
    Аватарmanjey73
    Участник

    Не помню, как организовано создание шаблона в Modbus, но когда делал через сериализацию, там все равно, есть атрибут или его нет. Если нет и он bool то просто будет false, если int и нет атрибута то будет 0, это при условии, что файл вообще читает данный атрибут. То есть наличие или отсутствие записи никак не влияет на работоспособность. Так что если файл шаблона будет создан в одном файле (драйвере) а читаться другим файлом (драйвером) не будет ничего страшного. А в зависимости какой драйвер читает шаблон соответственно или будут отображаться эти переменные или не будут.
    Но было бы гораздо удобнее, если драйвер бы формировал группу регистров непосредственно их входных каналов некоего КП, указывая только те сигналы, которые нужны для передачи в слейв.

    В нынешнем варианте как выполнить запись из слейва (Scada Панель мастер) в мастер (Scada а слейв у нее ПР200) ? Без Модуля автоуправления не обойтись ?

    з.ы. это все в тему возможности использовать драйвер в качестве шлюза не используя Сервер Scada, если у нас устройства RTU и Modbus Slave то получится прозрачный шлюз. Либо прибегая к взаимоотношению через Сервер, получаем шлюз с возможностью преобразовывать значения.

    #16591
    MikhailMikhail
    Модератор

    Имею ввиду, что цель была использовать один и тот же шаблон как для мастера, так и для слейва. Поэтому редактор шаблонов единый.

    В нынешнем варианте как выполнить запись из слейва (Scada Панель мастер) в мастер

    Мастер запрашивает регистры. Соответственно, слейв должен взять значения входных каналов и предоставлять из по запросу. Что и делается драйвером.

    было бы гораздо удобнее, если драйвер бы формировал группу регистров непосредственно их входных каналов некоего КП

    В настройках драйвера можно указать номер КП. Но также нужен и шаблон, в котором прописаны адреса регистров.

    это все в тему возможности использовать драйвер в качестве шлюза не используя Сервер Scada

    Сам Коммуникатор пока не поддерживает возможность получения данных из других КП без обращения к Серверу. Думаю, что нужно будет добавить такую возможность в 6 версии.

    #16592
    Аватарmanjey73
    Участник

    Мастер запрашивает регистры. Соответственно, слейв должен взять значения входных каналов и предоставлять из по запросу. Что и делается драйвером.

    еще раз, а то я не понимаю. К Scada подключен ПР200, драйвер Modbus, опрашивается 10 регистров в каналы 10-19.
    Так же будет подключена Панель через ModbusSlave драйвер.
    Мне нужно из панели поменять один из 10 регистров ПР200

    Не пойму как это сделать, если регистр, который надо менять имеет адрес 514 и номер сигнала 3 например.
    Ладно, в настройках Modbus Slave так же можно указать адрес регистра 514, но только номер сигнала будет 1 а не 3.

    Для понимания, мне не нужны ВСЕ регистры из другого КП в Панели, а только их часть.
    так же нужна часть из другого устройства и т.д.

    • Этот ответ был изменен 1 месяц, 1 неделя назад от Аватарmanjey73.
    #16594
    Аватарmanjey73
    Участник

    Подключить на разные линии связи два драйвера ModbusSlave полагаю не получится, так как когда панель запросит два регистра из разных КП, то Scada может ответить одновременно.

    По поводу шаблона, а что, доработать его было нельзя ? просто указать что ModbusSlave будет работать только с Modbus с версии Х или выше ? А старый драйвер Modbus, использующий новые шаблоны просто не видел бы новых параметров и все.

    #16595
    MikhailMikhail
    Модератор

    Мне нужно из панели поменять один из 10 регистров ПР200

    Панель может отправить команду на изменение регистра слейва. Новое значение придёт во входной канал, который относится к КП Modbus Slave. Чтобы передать это значение на ПР200, наверное, понадобится модуль автоуправления.

    Подключить на разные линии связи два драйвера ModbusSlave полагаю не получится, так как когда панель запросит два регистра из разных КП, то Scada может ответить одновременно.

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

Просмотр 13 сообщений - с 1 по 13 (из 13 всего)
  • Вы должны авторизироваться для ответа в этой теме.