Segnetics

Вернуться   Segnetics > Форум Segnetics > Связь с внешним миром

Связь с внешним миром Modbus, RS232, RS485, Lon и другое.

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.09.2016, 18:28   #1
OPServisN
Новичок
 
Регистрация: Sep 2016
Сообщения: 3
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию 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
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: 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
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: 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
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: 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
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили: 22 раз(а) в 22 сообщениях
По умолчанию Ответ: Trase Mode ошибка 10054.

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


__________________
RTFM
New вне форума   Ответить с цитированием
Старый 14.09.2016, 12:50   #6
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: 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
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили: 22 раз(а) в 22 сообщениях
По умолчанию Ответ: Trace Mode ошибка 10054.

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


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

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

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

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


__________________
Программа делает то что написал программист, а не то что он хотел.

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

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


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

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



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


__________________
Программа делает то что написал программист, а не то что он хотел.

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

Отправил эту переписку в TraseMode, попросили проект и логи с ошибками. Отправил.
И все же ведь я не первый кто пытается напрямую связать TraseMode и Pixel, неужели все таки придется все переделывать и ставить между ними OPC-сервер.
Сейчас подходит следующий объект там Pixel и SMH правда количество намного меньше и тоже TraseMode. Ждать того же?
OPServisN вне форума   Ответить с цитированием
Старый 16.09.2016, 14:35   #12
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: 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
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили: 21 раз(а) в 21 сообщениях
По умолчанию Ответ: Trace Mode ошибка 10054.

Цитата
Сообщение от OPServisN Посмотреть сообщение
Отправил эту переписку в TraseMode, попросили проект и логи с ошибками. Отправил.
И все же ведь я не первый кто пытается напрямую связать TraseMode и Pixel, неужели все таки придется все переделывать и ставить между ними OPC-сервер.
Сейчас подходит следующий объект там Pixel и SMH правда количество намного меньше и тоже TraseMode. Ждать того же?
Сталкивался с этой проблемой. У меня на одном объекте 115 контроллеров из них более 60-ти - пиксели. Проблема решилась только путем отказа от опроса контроллеров при помощи TM6 и перехода на OPC-сервер. Использовали MAster OPC от Инсат. Теперь все работает нормально. Это кстати говоря сильно разгрузило ТМ6 и вообще повысило производительность системы.
PS СОВЕТ!
Когда закончите наладку своей системы - переустановите с нуля Windows и все ПО... с ТМ6 это очень хорошо помогает и избавляет от частых зависаний системы.
Max2114 вне форума   Ответить с цитированием
Старый 18.05.2018, 15:18   #14
Grigor
Новичок
 
Регистрация: May 2018
Сообщения: 7
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Trace Mode ошибка 10054.

Цитата
Сообщение от OPServisN Посмотреть сообщение
Отправил эту переписку в TraseMode, попросили проект и логи с ошибками. Отправил.
И все же ведь я не первый кто пытается напрямую связать TraseMode и Pixel, неужели все таки придется все переделывать и ставить между ними OPC-сервер.
Сейчас подходит следующий объект там Pixel и SMH правда количество намного меньше и тоже TraseMode. Ждать того же?
Добрый день!
Планируем делать уровень SCADA на Trace Mode.
Подскажите, рекомендация АдАстры по выполнению групповых Modbus-запросов, а также использование многопоточного режима Modbus TCP решили проблему??? На их форуме Ваш вопрос "замялся" и результат не ясен.
Grigor вне форума   Ответить с цитированием
Старый 22.05.2018, 10:21   #15
Max2114
Senior Member
 
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили: 21 раз(а) в 21 сообщениях
По умолчанию Ответ: Trace Mode ошибка 10054.

Цитата
Сообщение от Grigor Посмотреть сообщение
Добрый день!
Планируем делать уровень SCADA на Trace Mode.
Подскажите, рекомендация АдАстры по выполнению групповых Modbus-запросов, а также использование многопоточного режима Modbus TCP решили проблему??? На их форуме Ваш вопрос "замялся" и результат не ясен.
Обратитесь в Адастру (не на форум а конкретно по телефону в техподдержку).
Хотя я сомневаюсь что вопрос решили. Лучше сразу запланировать докупить MAsterOPC... он стоит не дорого, работает надежно. Можно даже при желании реализовывать нестандарнтые протоколы связи путем написания скриптов (не раз уже выручала эта возможность).
Max2114 вне форума   Ответить с цитированием
Старый 14.06.2018, 19:09   #16
Grigor
Новичок
 
Регистрация: May 2018
Сообщения: 7
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Trace Mode ошибка 10054.

Цитата
Сообщение от Max2114 Посмотреть сообщение
Обратитесь в Адастру (не на форум а конкретно по телефону в техподдержку).
Хотя я сомневаюсь что вопрос решили. Лучше сразу запланировать докупить MAsterOPC... он стоит не дорого, работает надежно. Можно даже при желании реализовывать нестандарнтые протоколы связи путем написания скриптов (не раз уже выручала эта возможность).
OPC-сервер - это конечно выход из ситуации, но он похож на костыль... Любая нормальная СКАДА должна уметь работать с устройствами по протоколу Модбас, используя встроенный драйвер.

Недавно на столе появился 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
Grigor вне форума   Ответить с цитированием
Старый 15.06.2018, 00:34   #17
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 740
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Trace Mode ошибка 10054.

Цитата
Сообщение от Grigor Посмотреть сообщение
Любая нормальная СКАДА должна уметь работать с устройствами по протоколу Модбас, используя встроенный драйвер.
Странная мысль. Нормальная пусть с OPC дружит


Цитата Направил в АдАстру свои наблюдения касательно реакции СКАДА-системы на сообщения о закрытии удаленного сокета, надеюсь что разработчики добавят в СКАДУ механизм аналогичный тому, что используется в Мастер OPC.
Не Вы первый - так они и разбежались...
ATS вне форума   Ответить с цитированием
Старый 15.06.2018, 10:58   #18
Grigor
Новичок
 
Регистрация: May 2018
Сообщения: 7
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Trace Mode ошибка 10054.

Цитата
Сообщение от ATS Посмотреть сообщение
Странная мысль. Нормальная пусть с OPC дружит


Не Вы первый - так они и разбежались...
Мое мнение, что нормальная СКАДА должна дружить и с OPC и с Модбас и со 104 и с другими стандартными протоколами без помощи стороннего софта
Неправильно накручивать промежуточное звено (OPC-сервер) и к тому же платить за него если драйвер в Трейс Моуд декларирован.

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

Последний раз редактировалось Grigor, 15.06.2018 в 11:18
Grigor вне форума   Ответить с цитированием
Старый 15.06.2018, 11:10   #19
Max2114
Senior Member
 
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили: 21 раз(а) в 21 сообщениях
По умолчанию Ответ: Trace Mode ошибка 10054.

Цитата
Сообщение от Grigor Посмотреть сообщение
Пока со стороны Технической поддержки следующие рекомендации для улучшения ситуации:
- можно использовать конфигурационный ключ «TCP_DIFCONN09=1» , а также «TCP_DISCONN09=1». Первый из них уберет 30-ти секундный таймаут на переподключение. Второй ключ вроде как тоже нужен, но сколько не эксперементировал его суть уловить не смог… У меня с данным ключами в случае закрытия контроллером сокета очередные данные приходят через 4 цикла обработки канала в Trace Mode;
- по умолчанию в Trace Mode все Modbus-TCP устройства опрашиваются в одном потоке, соответсвенно чем больше устройств, тем больше может оказаться пауза между запросами. Однако есть возможность конфигурационными ключами разнести устройства на 16 потоков, что значительно улучшит динамику;
- Чтобы сократить число запросов нужно использовать групповые модбас-запросы, поддержка которых есть как в трэйс мод так и в Пикселе. Модбас карта адресов в Пикселе в этом плане очень хороша!
- Каналы Trace Mode которые выполняют опрос обрабатываются в порядке возрастания их ID. Предлагается создавать каналы таким образом, чтобы не сразу вытаскивать все данные с одного контроллера в сети, а по частям. Сначала опросить часть адресов на первом контроллере, потом - часть на втором, затем опять вернуться к первому и т.д. То есть не засиживаться долго на опросе одного контроллера. На мой взгляд решение рабочее, но реализация будет не простой т.к. ID канала после создания уже не поменяешь.
o
Когда я налаживал систему в которой было около 100 контроллеров с Modbus TCP из них штук 70-80 - пиксели, то сначала я выполнил все их рекоменадции по оптимизации всей это "радости" используя их средства по разделению каналов уменьшению таймаутов и прочее (тоже, кстати высылал им логи вайшарка) то конечно это все немного стабилизировало систему и она стала хоть как-то немного работать и вылетать всего 3-4 раза в сутки.... но в итоге, конечно меня такой режим не устроил и они мне сами рекомнадовали перейти на ОПС-сервер... что я и сделал.
Max2114 вне форума   Ответить с цитированием
Старый 15.06.2018, 11:39   #20
Grigor
Новичок
 
Регистрация: May 2018
Сообщения: 7
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Trace Mode ошибка 10054.

Цитата
Сообщение от Max2114 Посмотреть сообщение
Когда я налаживал систему в которой было около 100 контроллеров с Modbus TCP из них штук 70-80 - пиксели, то сначала я выполнил все их рекоменадции по оптимизации всей это "радости" используя их средства по разделению каналов уменьшению таймаутов и прочее (тоже, кстати высылал им логи вайшарка) то конечно это все немного стабилизировало систему и она стала хоть как-то немного работать и вылетать всего 3-4 раза в сутки.... но в итоге, конечно меня такой режим не устроил и они мне сами рекомнадовали перейти на ОПС-сервер... что я и сделал.

Под "вылетать всего 3-4 раза в сутки" Вы имеете ввиду, что падал Рантайм или то, что на время обрывался обмен с Модбас-устройствами?
Grigor вне форума   Ответить с цитированием
Старый 15.06.2018, 11:46   #21
Max2114
Senior Member
 
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили: 21 раз(а) в 21 сообщениях
По умолчанию Ответ: Trace Mode ошибка 10054.

Цитата
Сообщение от Grigor Посмотреть сообщение
Под "вылетать всего 3-4 раза в сутки" Вы имеете ввиду, что падал Рантайм или то, что на время обрывался обмен с Модбас-устройствами?
Зависал рантайм. Это после оптимизации по рекомендациям Адастры. А до оптимизаций вообще связь с контроллерами толком не работала. До оптимизации загрузка процессора была под 100%, после оптимизации силами Адастры она снизилась на 70-80%, а после внедерния ОПС-сервера снизилась до 20-30%.
(И это был серверный Xeon и 8 Гб оперативной памяти)...
Max2114 вне форума   Ответить с цитированием
Старый 15.06.2018, 12:06   #22
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Trace Mode ошибка 10054.

Цитата
Сообщение от Grigor Посмотреть сообщение
OPC-сервер - это конечно выход из ситуации, но он похож на костыль... Любая нормальная СКАДА должна уметь работать с устройствами по протоколу Модбас, используя встроенный драйвер.
Встроенный "драйвер" это и есть встроенный OPC-сервер.

Настроить тайм-аут сетевого модуля невозможно и вредно. Почему вредно - уже расписано выше.


__________________
Программа делает то что написал программист, а не то что он хотел.

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

Последний раз редактировалось Arsie, 15.06.2018 в 12:21
Arsie вне форума   Ответить с цитированием
Старый 15.06.2018, 13:45   #23
Max2114
Senior Member
 
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили: 21 раз(а) в 21 сообщениях
По умолчанию Ответ: Trace Mode ошибка 10054.

Цитата:
Сообщение от Arsie Посмотреть сообщение
Встроенный "драйвер" это и есть встроенный OPC-сервер.
А SCADA обязана использовать протокол OPC для реализации обмена между "драйвером" и непосредственно своей системой?
PS в SCADA-системе Citect мы тоже первое время пользовались OPC сервером.. думали так будет надежнее... но в итоге сейчас без OPC подключили уже несколько сотен разношерстных контроллеров по RS485 через шлюзы в Эзернет (используя технологию ModbusOverTCP) и по ModbusTCP и по BacnetIP в одну систему, используя встроенные драйвера Ситекта... все работает просто изумительно... забыли про ТМ6, как про страшный сон...
PPS бывали случаи когда у нас отваливалась связь c оборудованием подключенным старым способом через OPC из-за его зависания. Помогали перезагрузки OPC сервера... случаев с пропаданием опроса из-за зависания Citect'а у нас не было.
Max2114 вне форума   Ответить с цитированием
Старый 15.06.2018, 14:50   #24
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Trace Mode ошибка 10054.

Цитата
Сообщение от Max2114 Посмотреть сообщение
А SCADA обязана использовать протокол OPC для реализации обмена между "драйвером" и непосредственно своей системой?
Нет. Но сервер от этого не перестаёт быть сервером, хоть и становится не OPC)

Вообще, глупо делать внутренним протоколом не OPC, т.к. мгновенно лишаешься такого хорошего обвеса, как интерконнект между приложениями MS sertified, т.е. не можешь данные отправлять во всякие аксессы (и БД, которые он поддерживает), ворды (генерация отчётов отчёты), эксели (оно же), поддержку мускула писать свою придётся.

Хотя, может и в ТМ психи сидят, которые любят писать свои велосипеды под интерконнект и следить за совместимостью при выходе очередного обновления на винду. Но это топ-менеджменту ТМ реально отмороженным на всю голову нужно быть, чтобы тратить столько денег на то, на что можно деньги не тратить.


PS. У вас сервер зависал, а не протокол. Это всего лишь говорит о том, что программеры сервера хуже, чем программеры ситекта. Но они бы и OPC-сервер нормальным написали бы и не висло ничего) Опять же, не удивлюсь, что все эти "драйверы" имеют на стороне интерконнекта старый добрый OPC или DDE, если возможностей OPC им мало. Причину я описал выше.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Ответ

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

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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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


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


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