Опрос нескольких каналов устройства

Стартовая страница Форумы Взаимодействие с устройствами Modbus Опрос нескольких каналов устройства

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

    Здравствуйте!

    Подскажите пожалуйста, каждая линия связи инициирует отдельное соединение с опрашиваемым устройством?

    Например, мне надо считать 3 значения с каждого из 8-ми каналов устройства.
    Регистры расположены далеко друг от друга и, если я правильно понимаю, групповым запросом такое не считать, так как будет превышение пакета в 253 байта. Поэтому я попробовал создать 24 линии связи, чтобы считать каждый из параметров по отдельности, но считывалось только 8 из 24 (ровно столько подключений одновременно поддерживает устройство).

    #20169
    manjey73
    Участник

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

    #20176
    Mikhail
    Модератор

    Подскажите пожалуйста, каждая линия связи инициирует отдельное соединение с опрашиваемым устройством?

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


    @manjey73
    то же самое написал, немного другими словами.

    • Этот ответ был изменен 2 года, 9 месяцев назад от Mikhail.
    #20182
    vg
    Участник

    Спасибо, как раз после неудачи перегруппировал параметры по 8-ми каналам.

    В теории может возникнуть необходимость считать группу разрозненных регистров за короткий промежуток времени, в таком случае, если я правильно понимаю, необходимо выставлять меньший таймаут, чтобы считывание всех параметров/групп параметров уложилось в некий интервал времени. И выходит, что если линий много (проект большой), то вырастет нагрузка на компьютер, может начнёт подлагивать что то. Опять же я всё ещё мало знаком со SCADA-системами и не знаю как часто используются «быстрые» устройства, но сам работаю постоянно с довольно шустрыми устройствами (2 измерения в секунду).

    #20183
    a80808
    Участник

    ИМХО в реалтайме не успеет с такими скоростями…
    Надо буфер ставить (в устройствах нет?) и читать потом пакетом…
    А почему ограничение на пакет в 253 байта? Вроде бы Модбвс и больше умеет читать… Во всяком случае с метеостанции МК26 читается 512 регистров double за раз…

    #20184
    a80808
    Участник

    ЗЫ. С телефона пишу, потому коряво 😀😀

    #20185
    vg
    Участник

    Наверное умеет, не пробовал, но, если я правильно понял, то данные будут разбиваться на несколько пакетов. Стандартный пакет вроде 256 (3 заголовок + 253 под значения). А это получается снова увеличение времени получения нужных данных.

    #20187
    a80808
    Участник

    Несколько коммуникаторов, чтение в параллель, потом собирать на сервере. Вроде даже 5.8 умеет так работать. Чемтно скажу, я не пробовал

    #20188
    vg
    Участник

    Не понял про несколько коммуникаторов. Речь про службу ScadaComm? Как это организовать?
    Есть ограничение у устройства по количеству одновременных подключений, то есть хоть из одного места опрашивай по 8-ми линиям связи, хоть из нескольких.

    #20189
    a80808
    Участник

    К сожалению не подскажу. Вроде бы здесь где то обсуждался вариант…
    Если не прав — Михаил поправит 🙂

    #20190
    manjey73
    Участник

    Если ваше устройство с TCP протоколом и это ПЛК, можно сделать несколько портов для Slave и тогда можно сделать несколько линий связи.

    Но с готовыми устройствами это не прокатит.

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

    Как на Window делать виртуальные сетевые карты не скажу.

    • Этот ответ был изменен 2 года, 9 месяцев назад от manjey73.
    • Этот ответ был изменен 2 года, 9 месяцев назад от manjey73.
    #20193
    a80808
    Участник

    На виртуальных машинах можно «наплодить» дополнительные сетевые карты, как на железе — не помню 🙁

    #20194
    a80808
    Участник

    #20195
    a80808
    Участник
    #20196
    a80808
    Участник

    Только вот скорее всего надо несколько сетевых адресов на контроллере… На сервере SCADA ИМХО не поможет — обращение будет к одному сетевому адресу, контроллер или пропустит или в очередь поставит…

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