Segnetics

Вернуться   Segnetics > Общий

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.09.2016, 18:28   #1
OPServisN
Новичок
 
Регистрация: Sep 2016
Сообщения: 3
По умолчанию Trace Mode ошибка 10054.

Добрый день.
В TraseMode6 при обращении к переменной типа Bool возникает ошибка 10054. Контроллеры Pixel 2511. Обмен по TCP/IP. Причем часть системы работает а часть серьезно виснет.
В TraseMode пока ответа не дали.
Может кто сталкивался?
OPServisN вне форума   Ответить с цитированием
Старый 14.09.2016, 10:59   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 9 193
По умолчанию Ответ: Trase Mode ошибка 10054.

Цитата:
Сообщение от OPServisN Посмотреть сообщение
Добрый день.
В TraseMode6 при обращении к переменной типа Bool возникает ошибка 10054. Контроллеры Pixel 2511. Обмен по TCP/IP. Причем часть системы работает а часть серьезно виснет.
В TraseMode пока ответа не дали.
Может кто сталкивался?
Набрал название вашей темы в гугле и сразу получил ответ на этот вопрос.

http://forum.adastra.ru/cgi-bin/ulti...;f=35;t=000326

разрывы соединения по инициативе устройства - ошибка 10054

Что-то не так сервер делает, что сетевой модуль аж соединение разрывает.


__________________
Добро всегда побеждает добро. Кто добрый - тот и добро.
Arsie вне форума   Ответить с цитированием
Старый 14.09.2016, 12:06   #3
OPServisN
Новичок
 
Регистрация: Sep 2016
Сообщения: 3
По умолчанию Ответ: Trase Mode ошибка 10054.

Замечательно. Только в Техподдержке TraseMоde другая версия.

"Проблема нам известна.
В этих контроллерах (фирмы Senetics) искусственно разрывается соединение при возникновении паузы в запросах около 1 с. При большом количестве контроллеров и однопоточном трафике задержки между запросами весьма вероятны.
В текущем релизе Trace Mode 6 есть возможность организовать многопоточный режим обмена по Modbus TCP. В определенных пределах это проблему решает.
Мы обращались в фирму в 2014 г. с предложением изыскать способ увеличения блокировкочного таймаута. Ответа не получили."

Проблема есть, проблема известна, а результата нет. На объекте уже стоят 50 контроллеров. Менять? И отказываться от них в дальнейшем?
OPServisN вне форума   Ответить с цитированием
Старый 14.09.2016, 12:26   #4
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 9 193
По умолчанию Ответ: Trase Mode ошибка 10054.

Цитата:
Сообщение от OPServisN Посмотреть сообщение
Замечательно. Только в Техподдержке TraseMоde другая версия.

"Проблема нам известна.
В этих контроллерах (фирмы Senetics) искусственно разрывается соединение при возникновении паузы в запросах около 1 с. При большом количестве контроллеров и однопоточном трафике задержки между запросами весьма вероятны.
В текущем релизе Trace Mode 6 есть возможность организовать многопоточный режим обмена по Modbus TCP. В определенных пределах это проблему решает.
Мы обращались в фирму в 2014 г. с предложением изыскать способ увеличения блокировкочного таймаута. Ответа не получили."

Проблема есть, проблема известна, а результата нет. На объекте уже стоят 50 контроллеров. Менять? И отказываться от них в дальнейшем?

Да нет, версия не другая, техподдержка так и говорит - медленный опрос сервером, приводящий к закрыванию соединения сетевым модулем.

Я недавно отвечал на подобный вопрос, поэтому приведу вам часть своего ответа:


Цитата:
Время, на которое пропадает связь, можно сократить настройкой сервера. Как правило все нормальные серверы делают несколько попыток соединения (типично 3 раза) прежде, чем выдают статус "Нет связи". Далее, если все 3 попытки были неудачны, то следует пауза и следующие 3 попытки связи (типичное время 60 сек). У вас, похоже, количество попыток равно единице, да и сократить паузу до 5 секунд тоже ничего не мешает.


Из лога не видно, что ваш сервер попытался три раза передать и затем сгенерировал ошибку.

Нормальный лог выглядит так:

13:55:03.060 [996] (192.168.0.242:502) Tx: [12] 00 14 00 00 00 06 01 03 A4 12 00 02
13:55:03.067 [996] (192.168.0.242:502) Rx: [13] 00 14 00 00 00 07 01 03 04 00 00 00 00
13:55:04.002 [996] (192.168.0.242:502) Tx: [12] 00 15 00 00 00 06 01 02 38 00 00 06
13:55:07.003 [996] (192.168.0.242:502) Tx: [12] 00 16 00 00 00 06 01 02 38 00 00 06
13:55:10.004 [996] (192.168.0.242:502) Tx: [12] 00 17 00 00 00 06 01 02 38 00 00 06
13:55:13.004 [996] Ошибка: устройство не отвечает (192.168.0.242:502 Адрес:1)

Это я кабель откинул. Видно, что есть 3 попытки и только потом сервер отругался.

В вашем случае было бы что-то типа:

(192.168.0.242:502) Tx: [12] 00 14 00 00 00 06 01 03 A4 12 00 02
(192.168.0.242:502) Ошибка: connection refused
(192.168.0.242:502) Подключение - Ok
(192.168.0.242:502) Tx: [12] 00 14 00 00 00 06 01 03 A4 12 00 02
(192.168.0.242:502) Rx: [13] 00 14 00 00 00 07 01 03 04 00 00 00 00

Не знаю, какая именно у вас причина, но будет либо "Connection refused", либо "Connection reset by peer". В любом случае сервер должен проводить реконнект и ещё две попытки передать данные.

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

Перефразирую. Сейчас ваш сервер реагирует как юная барышня криком "Аааааа, мЫЫЫЫЫЫшь!!!" на любую тень. Хотя должен как нормальный пацан, убеждаться, что в тени нет подкроватных чудищ и продолжать красться на кухню к холодильнику к любимым сосисонам.

При этом по ответу техподдержки в целом понятно, почему их сервер так работает - видно, что человек не совсем понимает, что увеличение времени не устранит проблему, а лишь слегка её отодвинет, породив при этом ещё больше вторичных проблем.

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

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

2) Количество контроллеров переваливает 1000 штук, полный опрос становится дольше часа, сетевые модули массово закрывают коннекты. Сегменты сети вываливаются в "Нет связи" на большие промежутки времени. Опять ничего не работает, опять орут дети, опять причитают женщины, а с головы пуско-наладчика падает клок седых волос.

3) Роутер затупил, потерял пакет данных (это TCP, по протоколу это штатная ситуация, а в случае китайского роутера так вообще ежесекундная обыденность на больших нагрузках), Но модуль настойчиво держит несуществующее уже соединение и сервер не может до него целый час достучаться. Ничего не работает, дети срывают голос, женщины выплакали все слёзы, пуско-наладчик кончает жизнь самоубийством.


Не хочу учить жизни программистов Адастры, но с их стороны нужно немного: внимательно вчитаться в стандарты TCP и сделать так, как там рекомендовано - время жизни пакета 15 секунд и три попытки возобновления коннекта до получения отказа. Повторю - это не какие-то космические исследования и уровень бога в программировании. Это просто обычное тупое чтение стандартов и следование как самим стандартам, так и рекомендациям к ним.

Вам же просто посоветую перейти на любой другой нормальный сервер. МастерOPC с недавних пор очень хорош. Старый добрый Lectus OPC/DDE server тоже играюче справляется с такими детскими ситуациями.

Ну а что сервер адастры на любом оборудовании не справляется на больших нагрузках - это известный интернету факт. Со временем допилят.


__________________
Добро всегда побеждает добро. Кто добрый - тот и добро.

Последний раз редактировалось Arsie, 14.09.2016 в 12:47
Arsie вне форума   Ответить с цитированием
Старый 14.09.2016, 12:43   #5
New
Senior Member
 
Регистрация: May 2009
Сообщения: 712
По умолчанию Ответ: Trase Mode ошибка 10054.

Цитата:
Сообщение от Arsie Посмотреть сообщение
медленный опрос сервером.
Цитата:
Сообщение от OPServisN Посмотреть сообщение
при возникновении паузы в запросах около 1 с
Я правильно понял, что медленный опрос сервером, это пауза между запросами более 1 с?


__________________
RTFM
New вне форума   Ответить с цитированием
Старый 14.09.2016, 12:50   #6
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 9 193
По умолчанию Ответ: Trase Mode ошибка 10054.

Цитата:
Сообщение от New Посмотреть сообщение
Я правильно понял, что медленный опрос сервером, это пауза между запросами более 1 с?
Модуль держит соединение 5 или 3 секунды (в зависимости от версии). Совсем старые модули держали коннект минуту.

Видать, на 1 секунду опроса у сервера адастры ещё накладных расходов иногда возникает как минимум на 2 секунды. Вот модуль и закрывает соединение.

Ещё нужно отличать причину отказа: Reset by peer - это закончился тайм-аут. И Refused - это сокет модуля уже кем-то занят.

Собственно, маленький тайм-аут как раз и связан с борьбой с "Refused". Например, пинганул кто-то контроллер, сервер не может подключиться. Прошло 3-5 сек - подключается и работает. Всё в рамках разрешённых 15 секунд.


__________________
Добро всегда побеждает добро. Кто добрый - тот и добро.
Arsie вне форума   Ответить с цитированием
Старый 14.09.2016, 13:21   #7
New
Senior Member
 
Регистрация: May 2009
Сообщения: 712
По умолчанию Ответ: Trace Mode ошибка 10054.

Меня, в общем-то, не точное время интересовало, а сам принцип. Если модуль уже закрыл соединение, то Trace Mode не может до него достучаться?


__________________
RTFM
New вне форума   Ответить с цитированием
Старый 14.09.2016, 14:16   #8
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 9 193
По умолчанию Ответ: Trace Mode ошибка 10054.

Цитата:
Сообщение от New Посмотреть сообщение
Меня, в общем-то, не точное время интересовало, а сам принцип. Если модуль уже закрыл соединение, то Trace Mode не может до него достучаться?
Может, почему нет. Открыть соединение заново и послать запрос.

Ну, грубо говоря, если вы кричите в окно другу и вдруг порыв ветра захлопывает это окно, то вы же наверняка его открыть попытаетесь, а не будете в стекло орать

Лектус и МастерОПС переоткрывают соединение. Задержка примерно 2 миллисекунды.


__________________
Добро всегда побеждает добро. Кто добрый - тот и добро.
Arsie вне форума   Ответить с цитированием
Старый 14.09.2016, 14:37   #9
New
Senior Member
 
Регистрация: May 2009
Сообщения: 712
По умолчанию Ответ: Trace Mode ошибка 10054.

Цитата:
Сообщение от Arsie Посмотреть сообщение
Может, почему нет. Открыть соединение заново и послать запрос.
Тогда я вообще ничего не понимаю в ответе техподдержки Адастры. В чём проблема то?
Цитата:
Сообщение от Arsie Посмотреть сообщение
Лектус и МастерОПС переоткрывают соединение.
Эт я знаю, с ними и работаю. Просто на одном из объектов верхний уровень будет делать другая организация, на самописном драйвере, как бы там такая же проблема не вылезла.


__________________
RTFM
New вне форума   Ответить с цитированием
Старый 14.09.2016, 14:58   #10
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 9 193
По умолчанию Ответ: Trace Mode ошибка 10054.

Цитата:
Сообщение от New Посмотреть сообщение
Тогда я вообще ничего не понимаю в ответе техподдержки Адастры. В чём проблема то?
О чём и речь. Что проблема буквально из пальца высосана.



Цитата:
Сообщение от New Посмотреть сообщение
Эт я знаю, с ними и работаю. Просто на одном из объектов верхний уровень будет делать другая организация, на самописном драйвере, как бы там такая же проблема не вылезла.
Если драйвер будет писать обычный программер, а не системщик, то вылезет стопудово В менталитете дело, подходы разные нужны.


__________________
Добро всегда побеждает добро. Кто добрый - тот и добро.
Arsie вне форума   Ответить с цитированием
Старый 16.09.2016, 13:41   #11
OPServisN
Новичок
 
Регистрация: Sep 2016
Сообщения: 3
По умолчанию Ответ: Trace Mode ошибка 10054.

Отправил эту переписку в TraseMode, попросили проект и логи с ошибками. Отправил.
И все же ведь я не первый кто пытается напрямую связать TraseMode и Pixel, неужели все таки придется все переделывать и ставить между ними OPC-сервер.
Сейчас подходит следующий объект там Pixel и SMH правда количество намного меньше и тоже TraseMode. Ждать того же?
OPServisN вне форума   Ответить с цитированием
Старый 16.09.2016, 14:35   #12
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 9 193
По умолчанию Ответ: Trace Mode ошибка 10054.

Цитата:
Сообщение от OPServisN Посмотреть сообщение
Отправил эту переписку в TraseMode, попросили проект и логи с ошибками. Отправил.
И все же ведь я не первый кто пытается напрямую связать TraseMode и Pixel, неужели все таки придется все переделывать и ставить между ними OPC-сервер.
Сейчас подходит следующий объект там Pixel и SMH правда количество намного меньше и тоже TraseMode. Ждать того же?
Коренное изменение ситуации будет только на 2Gi и Trim5, у них вычислительные ресурсы выше гораздо и поэтому они могут себе позволить держать множество "протухших" коннектов.

Подключали до вас, конечно. Что-то около сотни устройств разных, не считая наших контроллеров. Их сервер так и не заработал удовлетворительно даже на 70 из них, люди на МастерОПС перешли и были рады.


__________________
Добро всегда побеждает добро. Кто добрый - тот и добро.

Последний раз редактировалось Arsie, 16.09.2016 в 15:53
Arsie вне форума   Ответить с цитированием
Старый 19.09.2016, 15:32   #13
Max2114
Senior Member
 
Регистрация: Jun 2007
Сообщения: 1 259
По умолчанию Ответ: Trace Mode ошибка 10054.

Цитата:
Сообщение от OPServisN Посмотреть сообщение
Отправил эту переписку в TraseMode, попросили проект и логи с ошибками. Отправил.
И все же ведь я не первый кто пытается напрямую связать TraseMode и Pixel, неужели все таки придется все переделывать и ставить между ними OPC-сервер.
Сейчас подходит следующий объект там Pixel и SMH правда количество намного меньше и тоже TraseMode. Ждать того же?
Сталкивался с этой проблемой. У меня на одном объекте 115 контроллеров из них более 60-ти - пиксели. Проблема решилась только путем отказа от опроса контроллеров при помощи TM6 и перехода на OPC-сервер. Использовали MAster OPC от Инсат. Теперь все работает нормально. Это кстати говоря сильно разгрузило ТМ6 и вообще повысило производительность системы.
PS СОВЕТ!
Когда закончите наладку своей системы - переустановите с нуля Windows и все ПО... с ТМ6 это очень хорошо помогает и избавляет от частых зависаний системы.
Max2114 вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
2Gi. Ошибка httpd.conf vstanislav Вопросы о SMH-2G(i) 32 12.01.2018 11:17
Ошибка контроллера при загрузке графиков kulepov Вопросы о SMH-2G(i) 21 19.05.2016 16:30
(2009 год) Ошибка в модуле Ethernet Arsie Сообщения об ошибках 0 01.02.2010 17:50
Выручайте!! Проблема Trace Mode + Lectus OPC MSGroup Связь с внешним миром 14 24.02.2009 14:56
Вопрос по Trace Mode 6 MSGroup Связь с внешним миром 8 31.07.2008 12:31


Часовой пояс GMT +4, время: 23:16.


Версия vBulletin: 3.8.3
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2016