|
Связь с внешним миром Modbus, RS232, RS485, Lon и другое. |
|
Опции темы | Поиск в этой теме | Опции просмотра |
13.09.2016, 18:28 | #1 |
Новичок
Регистрация: Sep 2016
Сообщения: 3
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Trace Mode ошибка 10054
Добрый день.
В TraseMode6 при обращении к переменной типа Bool возникает ошибка 10054. Контроллеры Pixel 2511. Обмен по TCP/IP. Причем часть системы работает а часть серьезно виснет. В TraseMode пока ответа не дали. Может кто сталкивался? |
14.09.2016, 10:59 | #2 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Trase Mode ошибка 10054.
http://forum.adastra.ru/cgi-bin/ulti...;f=35;t=000326 разрывы соединения по инициативе устройства - ошибка 10054 Что-то не так сервер делает, что сетевой модуль аж соединение разрывает. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
14.09.2016, 12:06 | #3 |
Новичок
Регистрация: Sep 2016
Сообщения: 3
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Trase Mode ошибка 10054.
Замечательно. Только в Техподдержке TraseMоde другая версия.
"Проблема нам известна. В этих контроллерах (фирмы Senetics) искусственно разрывается соединение при возникновении паузы в запросах около 1 с. При большом количестве контроллеров и однопоточном трафике задержки между запросами весьма вероятны. В текущем релизе Trace Mode 6 есть возможность организовать многопоточный режим обмена по Modbus TCP. В определенных пределах это проблему решает. Мы обращались в фирму в 2014 г. с предложением изыскать способ увеличения блокировкочного таймаута. Ответа не получили." Проблема есть, проблема известна, а результата нет. На объекте уже стоят 50 контроллеров. Менять? И отказываться от них в дальнейшем? |
14.09.2016, 12:26 | #4 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Trase Mode ошибка 10054.
Да нет, версия не другая, техподдержка так и говорит - медленный опрос сервером, приводящий к закрыванию соединения сетевым модулем. Я недавно отвечал на подобный вопрос, поэтому приведу вам часть своего ответа: При этом по ответу техподдержки в целом понятно, почему их сервер так работает - видно, что человек не совсем понимает, что увеличение времени не устранит проблему, а лишь слегка её отодвинет, породив при этом ещё больше вторичных проблем. Представьте, что мы послушались этого неразумного предложения и сделали так, что модуль закрывает соединение через час. Всё прекрасно работает до тех пор, пока не случается одно из трех событий: 1) Скада-систему перезапускают. Модуль настойчиво держит несуществующее уже соединение и сервер не может до него целый час достучаться. Ничего не работает, дети орут, женщины причитают, по щеке пуско-наладчика медленно стекает скупая мужская слеза 2) Количество контроллеров переваливает 1000 штук, полный опрос становится дольше часа, сетевые модули массово закрывают коннекты. Сегменты сети вываливаются в "Нет связи" на большие промежутки времени. Опять ничего не работает, опять орут дети, опять причитают женщины, а с головы пуско-наладчика падает клок седых волос. 3) Роутер затупил, потерял пакет данных (это TCP, по протоколу это штатная ситуация, а в случае китайского роутера так вообще ежесекундная обыденность на больших нагрузках), Но модуль настойчиво держит несуществующее уже соединение и сервер не может до него целый час достучаться. Ничего не работает, дети срывают голос, женщины выплакали все слёзы, пуско-наладчик кончает жизнь самоубийством. Не хочу учить жизни программистов Адастры, но с их стороны нужно немного: внимательно вчитаться в стандарты TCP и сделать так, как там рекомендовано - время жизни пакета 15 секунд и три попытки возобновления коннекта до получения отказа. Повторю - это не какие-то космические исследования и уровень бога в программировании. Это просто обычное тупое чтение стандартов и следование как самим стандартам, так и рекомендациям к ним. Вам же просто посоветую перейти на любой другой нормальный сервер. МастерOPC с недавних пор очень хорош. Старый добрый Lectus OPC/DDE server тоже играюче справляется с такими детскими ситуациями. Ну а что сервер адастры на любом оборудовании не справляется на больших нагрузках - это известный интернету факт. Со временем допилят. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 14.09.2016 в 12:47 |
14.09.2016, 12:43 | #5 |
Senior Member
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Trase Mode ошибка 10054.
__________________ RTFM |
14.09.2016, 12:50 | #6 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Trase Mode ошибка 10054.
Видать, на 1 секунду опроса у сервера адастры ещё накладных расходов иногда возникает как минимум на 2 секунды. Вот модуль и закрывает соединение. Ещё нужно отличать причину отказа: Reset by peer - это закончился тайм-аут. И Refused - это сокет модуля уже кем-то занят. Собственно, маленький тайм-аут как раз и связан с борьбой с "Refused". Например, пинганул кто-то контроллер, сервер не может подключиться. Прошло 3-5 сек - подключается и работает. Всё в рамках разрешённых 15 секунд. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
14.09.2016, 13:21 | #7 |
Senior Member
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Trace Mode ошибка 10054.
Меня, в общем-то, не точное время интересовало, а сам принцип. Если модуль уже закрыл соединение, то Trace Mode не может до него достучаться?
__________________ RTFM |
14.09.2016, 14:16 | #8 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Trace Mode ошибка 10054.
Ну, грубо говоря, если вы кричите в окно другу и вдруг порыв ветра захлопывает это окно, то вы же наверняка его открыть попытаетесь, а не будете в стекло орать Лектус и МастерОПС переоткрывают соединение. Задержка примерно 2 миллисекунды. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
14.09.2016, 14:37 | #9 |
Senior Member
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Trace Mode ошибка 10054.
__________________ RTFM |
14.09.2016, 14:58 | #10 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Trace Mode ошибка 10054.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
16.09.2016, 13:41 | #11 |
Новичок
Регистрация: Sep 2016
Сообщения: 3
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Trace Mode ошибка 10054.
Отправил эту переписку в TraseMode, попросили проект и логи с ошибками. Отправил.
И все же ведь я не первый кто пытается напрямую связать TraseMode и Pixel, неужели все таки придется все переделывать и ставить между ними OPC-сервер. Сейчас подходит следующий объект там Pixel и SMH правда количество намного меньше и тоже TraseMode. Ждать того же? |
16.09.2016, 14:35 | #12 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Trace Mode ошибка 10054.
Подключали до вас, конечно. Что-то около сотни устройств разных, не считая наших контроллеров. Их сервер так и не заработал удовлетворительно даже на 70 из них, люди на МастерОПС перешли и были рады. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 16.09.2016 в 15:53 |
19.09.2016, 15:32 | #13 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили:
21 раз(а) в 21 сообщениях
|
Ответ: Trace Mode ошибка 10054.
PS СОВЕТ! Когда закончите наладку своей системы - переустановите с нуля Windows и все ПО... с ТМ6 это очень хорошо помогает и избавляет от частых зависаний системы. |
18.05.2018, 15:18 | #14 |
Новичок
Регистрация: May 2018
Сообщения: 7
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Trace Mode ошибка 10054.
Планируем делать уровень SCADA на Trace Mode. Подскажите, рекомендация АдАстры по выполнению групповых Modbus-запросов, а также использование многопоточного режима Modbus TCP решили проблему??? На их форуме Ваш вопрос "замялся" и результат не ясен. |
22.05.2018, 10:21 | #15 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили:
21 раз(а) в 21 сообщениях
|
Ответ: Trace Mode ошибка 10054.
Хотя я сомневаюсь что вопрос решили. Лучше сразу запланировать докупить MAsterOPC... он стоит не дорого, работает надежно. Можно даже при желании реализовывать нестандарнтые протоколы связи путем написания скриптов (не раз уже выручала эта возможность). |
14.06.2018, 19:09 | #16 |
Новичок
Регистрация: May 2018
Сообщения: 7
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Trace Mode ошибка 10054.
Недавно на столе появился Pixel 25xx и мне удалось потестировать опрос контроллера через Мастер OPC и Trace Mode (следил вайршарком). Выяснил следующие моменты отражение которых в явном виде не увидел ни в данном топике, ни на форуме Адастры: - Пиксель закрывает соединение в случае отсутствия запросов от СКАДЫ не через 3 секунды как указано выше, а через полторы (о чем производитель сообщает на 32 странице РЭ SGN.312005.05РЭ); - В случае закрытия сокета Пиксель направляет TCP пакет, в котором есть соответствующие флаги (RST,ACK). Мастер OPC в случае появления данного пакета следующий запрос начинает с открытия сокета. Trace Mode данный TCP пакет игнорирует, что приводит к нескольким попыткам запросить информацию (это отслеживается по внутренним логам трейсмода, однако, вайршарк показывает, что при этом в сеть запросы не идут), а также выжиданию таймаута на переподключение, который по умолчанию в Trace Mode равен 30 с. Затем Трейс Мод открывает сокет и направляет запрос. Направил в АдАстру свои наблюдения касательно реакции СКАДА-системы на сообщения о закрытии удаленного сокета, надеюсь что разработчики добавят в СКАДУ механизм аналогичный тому, что используется в Мастер OPC. Пока со стороны Технической поддержки следующие рекомендации для улучшения ситуации: - можно использовать конфигурационный ключ «TCP_DIFCONN09=1» , а также «TCP_DISCONN09=1». Первый из них уберет 30-ти секундный таймаут на переподключение. Второй ключ вроде как тоже нужен, но сколько не эксперементировал его суть уловить не смог… У меня с данным ключами в случае закрытия контроллером сокета очередные данные приходят через 4 цикла обработки канала в Trace Mode; - по умолчанию в Trace Mode все Modbus-TCP устройства опрашиваются в одном потоке, соответсвенно чем больше устройств, тем больше может оказаться пауза между запросами. Однако есть возможность конфигурационными ключами разнести устройства на 16 потоков, что значительно улучшит динамику; - Чтобы сократить число запросов нужно использовать групповые модбас-запросы, поддержка которых есть как в трэйс мод так и в Пикселе. Модбас карта адресов в Пикселе в этом плане очень хороша! - Каналы Trace Mode которые выполняют опрос обрабатываются в порядке возрастания их ID. Предлагается создавать каналы таким образом, чтобы не сразу вытаскивать все данные с одного контроллера в сети, а по частям. Сначала опросить часть адресов на первом контроллере, потом - часть на втором, затем опять вернуться к первому и т.д. То есть не засиживаться долго на опросе одного контроллера. На мой взгляд решение рабочее, но реализация будет не простой т.к. ID канала после создания уже не поменяешь. Добавлено через 2 минуты Возможно ли добавить функцию изменения таймаута закрытия сокета для сетевого адаптера Pixel? Видел похожую опцию в контроллерах Wago |
15.06.2018, 00:34 | #17 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 740
Благодарил(а): 12 раз(а)
Поблагодарили:
192 раз(а) в 188 сообщениях
|
Ответ: Trace Mode ошибка 10054.
|
15.06.2018, 10:58 | #18 |
Новичок
Регистрация: May 2018
Сообщения: 7
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Trace Mode ошибка 10054.
Неправильно накручивать промежуточное звено (OPC-сервер) и к тому же платить за него если драйвер в Трейс Моуд декларирован. Чем больше клиентов сообщит Адастре про проблему, тем быстрее она решится. Надо быть активным в этом плане. Пока же от технической поддержки я получил рекомендации, которые динамику обмена при закрытии сокета улучшили на порядок. Последний раз редактировалось Grigor, 15.06.2018 в 11:18 |
15.06.2018, 11:10 | #19 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили:
21 раз(а) в 21 сообщениях
|
Ответ: Trace Mode ошибка 10054.
|
15.06.2018, 11:39 | #20 |
Новичок
Регистрация: May 2018
Сообщения: 7
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Trace Mode ошибка 10054.
Под "вылетать всего 3-4 раза в сутки" Вы имеете ввиду, что падал Рантайм или то, что на время обрывался обмен с Модбас-устройствами? |
15.06.2018, 11:46 | #21 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили:
21 раз(а) в 21 сообщениях
|
Ответ: Trace Mode ошибка 10054.
(И это был серверный Xeon и 8 Гб оперативной памяти)... |
15.06.2018, 12:06 | #22 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Trace Mode ошибка 10054.
Настроить тайм-аут сетевого модуля невозможно и вредно. Почему вредно - уже расписано выше. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 15.06.2018 в 12:21 |
15.06.2018, 13:45 | #23 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили:
21 раз(а) в 21 сообщениях
|
Ответ: Trace Mode ошибка 10054.
PS в SCADA-системе Citect мы тоже первое время пользовались OPC сервером.. думали так будет надежнее... но в итоге сейчас без OPC подключили уже несколько сотен разношерстных контроллеров по RS485 через шлюзы в Эзернет (используя технологию ModbusOverTCP) и по ModbusTCP и по BacnetIP в одну систему, используя встроенные драйвера Ситекта... все работает просто изумительно... забыли про ТМ6, как про страшный сон... PPS бывали случаи когда у нас отваливалась связь c оборудованием подключенным старым способом через OPC из-за его зависания. Помогали перезагрузки OPC сервера... случаев с пропаданием опроса из-за зависания Citect'а у нас не было. |
15.06.2018, 14:50 | #24 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Trace Mode ошибка 10054.
Вообще, глупо делать внутренним протоколом не OPC, т.к. мгновенно лишаешься такого хорошего обвеса, как интерконнект между приложениями MS sertified, т.е. не можешь данные отправлять во всякие аксессы (и БД, которые он поддерживает), ворды (генерация отчётов отчёты), эксели (оно же), поддержку мускула писать свою придётся. Хотя, может и в ТМ психи сидят, которые любят писать свои велосипеды под интерконнект и следить за совместимостью при выходе очередного обновления на винду. Но это топ-менеджменту ТМ реально отмороженным на всю голову нужно быть, чтобы тратить столько денег на то, на что можно деньги не тратить. PS. У вас сервер зависал, а не протокол. Это всего лишь говорит о том, что программеры сервера хуже, чем программеры ситекта. Но они бы и OPC-сервер нормальным написали бы и не висло ничего) Опять же, не удивлюсь, что все эти "драйверы" имеют на стороне интерконнекта старый добрый OPC или DDE, если возможностей OPC им мало. Причину я описал выше. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
SMH4, Modbus TCP, ошибка приема/передачи "Connection Closed Gracefully" | Makrel | Связь с внешним миром | 11 | 21.04.2020 14:23 |
Ошибка АТ | Maces | SMConstructor (вентиляция) | 5 | 23.11.2018 11:28 |
Решение проблемы Trace Mode ошибка 10054 с Pixel | Max2114 | Связь с внешним миром | 6 | 22.08.2018 14:06 |
Выручайте!! Проблема Trace Mode + Lectus OPC | MSGroup | Связь с внешним миром | 14 | 24.02.2009 14:56 |
Вопрос по Trace Mode 6 | MSGroup | Связь с внешним миром | 8 | 31.07.2008 12:31 |