Страница 22 из 111 ПерваяПервая ... 1220212223243272 ... ПоследняяПоследняя
Показано с 211 по 220 из 1109

Тема: Modbus Universal MasterOPC Server новый OPC сервер от компании ИнСАТ

  1. #211
    Пользователь
    Регистрация
    30.11.2012
    Адрес
    40RUS
    Сообщений
    316

    По умолчанию

    А где оно отключается?
    Напильник, велосипед, бубен, грабли и костыли - основные инструменты программиста.

  2. #212

    По умолчанию

    Цитата Сообщение от _Pavel_ Посмотреть сообщение
    Уже. Крайний тест, который я выкладывал был произведён "на столе" , где ПЛК подключен непосредственно к сетевому адаптеру компьютера.
    То есть данные с прошлой сессии приходят? Тогда про какую Антарктиду идут рассуждения?

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Но вот в чём нюанс - у меня на ПЛК это будут 2 различных slave c разными тегами (в терминологии SCADA) или 1 slave с разными портами , т.е. это осознанный (не значит правильный, но осознанный) выбор.
    Slave можно сделать с разными портами и одинаковыми тегами.

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    И противоречие со стандартом ModBus.
    Просим вас указать где в Modbus TCP есть запрет двух и более коннектов:
    http://www.modbus.org/docs/Modbus_Me...uide_V1_0b.pdf

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Отключите мультимастерность OPC - если это возможно и наступит счастье.
    Мы считаем что это ничего не даст. Но можно поэкспериментировать.
    В комплекте с нашим OPC сервером есть ранее упомянутая утилита ModRSSim (c:\Program Files\InSAT\MasterOPC Universal Modbus Server\MODRSSIM\) - это эмулятор Modbus Slave устройства.
    Г-н _Pavel_ просим вас выполнить следующее. Установите данную утилиту, и переключите ее на режим Modbus TCP, и установите у нее в настройках один коннект (см. приложение). Воспроизведите ошибку с этой программой (вместо ОРС сервера - сервер не запускайте). Поступление пакетов с прошлой сессии можно будет увидеть по логу - кнопка Comms в правом нижнем углу. В настройках лога включите отображение времени "Show Times" - так будет легче увидеть данные после разрыва. Посмотрите какие данные поступят от контроллера после восстановления соединения.
    Изображения Изображения
    Последний раз редактировалось SCADAMaster; 10.02.2015 в 19:54.
    Спасибо.

  3. #213

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    То есть данные с прошлой сессии приходят? Тогда про какую Антарктиду идут рассуждения?
    А что мешает данным из прошлой сессии попасть в сеть при восстановлении физического линка?

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Просим вас указать где в Modbus TCP есть запрет двух и более коннектов:
    http://www.modbus.org/docs/Modbus_Me...uide_V1_0b.pdf
    Пункт 1.2 Там даже рисунок есть. И перечисление из 4-х вариантов соединений. Везде 1 мастер - (1..N) slave. Обратных вариантов нет.

    И в пункте 4.2.1:
    A MODBUS request has to be sent on the righ
    t TCP connection already opened. The IP
    address of the remote is used to find the TC
    P connection. In case of multiple TCP
    connections opened with the same remote, one connection has to be chosen to send
    the MODBUS message, different choice criteria can be used like the oldest one, the
    first one.
    Последний раз редактировалось Филоненко Владислав; 10.02.2015 в 20:20.
    Тролль-наседка, добрый, нежный и ласковый

  4. #214

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    А что мешает данным из прошлой сессии попасть в сеть при восстановлении физического линка?
    Давайте вернемся немного назад. Вы писали:
    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Буфер мастера очищается, а буфер стека TCP/IP? На логе ясно видны попытки ретрансмита.
    И зачем представлять самую простую схему - использование TCP/IP предполагает что мастер находится, к примеру, в Антарктиде, 30 хопов до slave-а.
    Вот сейчас г-н _Pavel_ оставил как раз самую простую схему. И 30 хопов в Антарктиде мы исключили, остается только ваш контроллер и наш OPC сервер. Поэтому давайте оставим Антарктиду г-ну Сидякину, и разберемся почему у вас в контроллере не происходит очищение буфера?

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    И в пункте 4.2.1:
    A MODBUS request has to be sent on the right TCP connection already opened. The IP address of the remote is used to find the TCP connection. In case of multiple TCP connections opened with the same remote, one connection has to be chosen to send the MODBUS message, different choice criteria can be used like the oldest one, the
    first one.
    Это рекомендация, которая зачастую игнорируется - когда нужно получить быстро большой объем данных, используя несколько потоков (несколько соединений).
    Посмотрите пункт пункта 3.1.1 - там несколько Modbus мастеров на шине.

    Или:
    A MODBUS request has to be sent on the right TCP connection already opened. The IP address of the remote is used to find the TCP connection. In case of multiple TCP
    connections opened with the same remote
    , one connection has to be chosen to send the MODBUS message, different choice criteria can be used like the oldest one, the
    first one. The connection has to maintain open during all the MODBUS communications. As described in the following sections a client can initiate several MODBUS
    transactions with a server without waiting the ending of the previous one.

    Как описано в следующих разделах клиент может инициировать несколько MODBUS операции с сервером, не дожидаясь окончание предыдущего.
    Последний раз редактировалось SCADAMaster; 10.02.2015 в 20:37.
    Спасибо.

  5. #215

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Давайте вернемся немного назад. Вы писали:
    Вот сейчас г-н _Pavel_ оставил как раз самую простую схему. И 30 хопов в Антарктиде мы исключили, остается только ваш контроллер и наш OPC сервер. Поэтому давайте оставим Антарктиду г-ну Сидякину, и разберемся почему у вас в контроллере не происходит очищение буфера?
    А с чего оно должно происходить? Линк потерян, в буфере пакеты, пакеты не потеряли ещё актуальности. Линк возобновился - выдаём в сеть.

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Правильно - одним Modbus клиентом. И это рекомендация, которая зачастую игнорируется - когда нужно получить быстро большой объем данных, используя несколько потоков (несколько соединений).
    Посмотрите пункт пункта 3.1.1 - там несколько Modbus мастеров на шине.
    Одним Modbus клиентом. А не 2-а на 1 сервер. а шина - это ethernet - там может быть всё что угодно - но 1 мастер - N slave.
    При этом N коннектов 1 клиента к серверу - но внутри 1 мастер к slave. О чём чётко пишется в пункте 4.2.1.
    Банальный здравый смысл, а учитывая что ModBus TCP это надстройка над обычным ModBus serial, где жёстко 1 мастер - то и транспортный уровень не должен менять логику. На рисунке как раз и показан пример со шлюзами из serial в serial через TCP.
    Иначе получится абсурд - пишем письмо бабушке - а авиакомпания меняет язык в письме.

    P.S. Вот когда ГОСТ рассматривают как "рекомендацию" - и возникают проблемы.

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    a client can initiate
    1 клиент, один, а не 2. Если 1 мастер создаёт несколько параллельных запросов к разным данным - это можно.
    Последний раз редактировалось Филоненко Владислав; 10.02.2015 в 20:41.
    Тролль-наседка, добрый, нежный и ласковый

  6. #216
    Пользователь
    Регистрация
    30.11.2012
    Адрес
    40RUS
    Сообщений
    316

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Г-н _Pavel_ просим вас выполнить следующее. .
    Установил, пытаюсь. У меня на компьютере сразу кто-то подключается к этой утилите и занимает единственное соединение, пока не могу понять кто... вроде бы всё подозрительное убил диспетчером задач...
    Если ПЛК успевает занять соединение , то после принудительного дисконнекта уже не может подключиться, т.к. соединение занято.
    Успел отметить факт: произвёл дисконнект, значение в утилите замерло, проходит секунд 7-10, значение изменяется (в правильном направлении), потом ещё несколько секунд - ещё раз изменяется как будто пакет доходят. При этом ПЛК уже отключен, а соединение занял кто-то другой...
    Напильник, велосипед, бубен, грабли и костыли - основные инструменты программиста.

  7. #217

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    А с чего оно должно происходить? Линк потерян, в буфере пакеты, пакеты не потеряли ещё актуальности. Линк возобновился - выдаём в сеть.
    Ну мы уже писали ранее - это не совсем корректное поведение. Нужно закрыть соединение, тогда пакеты будут удалены. А после восстановления связи уже посылать новые.
    А если рассуждать как вы (данные не потеряли актуальности) - то что мы тогда вообще обсуждаем, получается что у _Pavel_ проблем никаких нет - данные то поступили актуальные.

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    1 клиент, один, а не 2. Если 1 мастер создаёт несколько параллельных запросов к разным данным - это можно.
    Это не играет роли. Slave поддерживает несколько коннектов, от одного мастера или от нескольких зависит от конфигурации пользователя, т.е. от реализации конечного проекта.

    Цитата Сообщение от _Pavel_ Посмотреть сообщение
    Успел отметить факт: произвёл дисконнект, значение в утилите замерло, проходит секунд 7-10, значение изменяется (в правильном направлении), потом ещё несколько секунд - ещё раз изменяется как будто пакет доходят. При этом ПЛК уже отключен, а соединение занял кто-то другой...
    Вам лучше смотреть по логу - по данным вы можете и не увидеть, так как они могут изменится быстро. Посмотрите какие запросы поступают после восстановления соединения, и спустя какое то время (раз вы говорите что пакеты доходят спустя какое-то время).
    Последний раз редактировалось SCADAMaster; 10.02.2015 в 21:27.
    Спасибо.

  8. #218
    Пользователь
    Регистрация
    30.11.2012
    Адрес
    40RUS
    Сообщений
    316

    По умолчанию

    У меня на компьютере сразу кто-то подключается к этой утилите и занимает единственное соединение, пока не могу понять кто... вроде бы всё подозрительное убил диспетчером задач...
    Пардон, это ПЛК в сброшенном состоянии подключается...
    Напильник, велосипед, бубен, грабли и костыли - основные инструменты программиста.

  9. #219
    Пользователь
    Регистрация
    30.11.2012
    Адрес
    40RUS
    Сообщений
    316

    По умолчанию

    Вот посмотрите, пожалуйста, видео эксперимента: тынц
    Напильник, велосипед, бубен, грабли и костыли - основные инструменты программиста.

  10. #220

    По умолчанию

    Как мы поняли из вашего видео, старые запросы с контроллера все равно приходят (в контроллере 1000, а в программу поступило сначала 5400, а затем 4300). Поэтому вариант с ограничением коннектов в сервере ничего не даст.
    Спасибо.

Страница 22 из 111 ПерваяПервая ... 1220212223243272 ... ПоследняяПоследняя

Ваши права

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