Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Делаем пилу сервер подвисает  (Прочитано 3058 раз)

Серега

  • Старожил
  • ****
  • Сообщений: 254
    • Просмотр профиля
Делаем пилу сервер подвисает
« : 02 Июля 2018, 13:38:12 »
Добрый день!
Ситуация следующая. Создаем переменную Var. Создаем скрипт по запуску проекта и инициализируем переменную Var:=0. Создаем скрипт по изменению переменной Var. Увеличиваем ее до 254 и скидываем в ноль. Выглядит так:
Код: (delphi)
begin
  var := var +1;
  if var = 254 then
    var := 0;
end.
Сохраняем, перегружаем сервер. Все работает.
Далее вносим новые изменения в проект, сохраняем и .... пытаемся остановить проект на сервере и сервер уходит в состояние "не работает" = виснет.
Допускаю, что возможно это надо делать по другому.
Если можно проверьте у себя или скажите как проще реализовать внутреннюю переменную постоянно меняющею свое значение с постоянным шагом в заданном диапазоне.

Ещё вопрос: в ходе разработки и наладки нашего проекта столкнулся со следующей ситуацией.
У нас 3 клиента. Проект один и тот же для всех. После 5 часов работы (с разбежкой в 1-5 минут как запускались клиенты) выскакивает ошибка приложения. К данным ПК не кто не подходил и активных действий (клики мышкой, набор текста и т.д.) не производилось. Сделано это именно для эксперимента для повтора данной ситуации. Так как ситуация эта повторялась не единожды. На всех клиентах одно и тоже сообщение. Вроде читал про настройку времени работы клиента, но не помню где.
Подскажите решение для данной ситуации.

Спасибо!
« Изменён: 02 Июля 2018, 14:13:54 от Simple-Scada »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3160
    • Просмотр профиля
    • Simple-Scada
Re: Делаем пилу сервер подвисает
« Ответ #1 : 02 Июля 2018, 14:13:11 »
Здравствуйте.

Цитировать
пытаемся остановить проект на сервере и сервер уходит в состояние "не работает" = виснет.
Неудивительно, ведь Вы зациклили скрипт на самого себя. Создали скрипт который выполняется по-изменению переменной var и в этом же скрипте меняете её. Новое изменение приводит к вызову этого же скрипта (ведь переменная изменилась) и так до бесконечности.

Цитировать
Допускаю, что возможно это надо делать по другому.
Да, для простейшей симуляции процессов можно использовать скрипт с типом события "Прошла секунда" и в нём выполнять тот же код.

Цитировать
В ходе разработки и наладки нашего проекта столкнулся со следующей ситуацией.
У нас 3 клиента. Проект один и тот же для всех. После 5 часов работы (с разбежкой в 1-5 минут как запускались клиенты) выскакивает ошибка приложения. К данным ПК не кто не подходил и активных действий (клики мышкой, набор текста и т.д.) не производилось. Сделано это именно для эксперимента для повтора данной ситуации. Так как ситуация эта повторялась не единожды.
На всех клиентах одно и тоже сообщение.
Эта ошибка также может быть связана с бесконечным скриптом, т.к. клиент бесконечно принимает от сервера изменившуюся переменную, пока не зависнет. Исключите бесконечный скрипт и если проблема всё равно будет возникать, то вышлите нам проект для проверки на почту поддержки support@simple-scada.com.

Серега

  • Старожил
  • ****
  • Сообщений: 254
    • Просмотр профиля
Re: Делаем пилу сервер подвисает
« Ответ #2 : 02 Июля 2018, 15:24:03 »
По поводу пилы понял попробуем, в одной из тем писали что возможно Вы внесете работу скрипта не только через каждую секунду но и меньше хотя бы 500мс. Будем ждать.
А ошибка на клиенте наблюдается уже давно.
Если можно уточните, что конкретно надо из проекта.

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3160
    • Просмотр профиля
    • Simple-Scada
Re: Делаем пилу сервер подвисает
« Ответ #3 : 04 Июля 2018, 10:09:49 »
Цитировать
А ошибка на клиенте наблюдается уже давно.
Если ошибка повторится, то завершите работу клиента скады, перейдите в папку "Logs\" и вышлите нам на support@simple-scada.com все файлы из этой папки. Какую версию скады Вы используете?

Цитировать
Если можно уточните, что конкретно надо из проекта.
Папку с проектом из папки "Simple-Scada 2\Projects\".

Серега

  • Старожил
  • ****
  • Сообщений: 254
    • Просмотр профиля
Re: Делаем пилу сервер подвисает
« Ответ #4 : 05 Июля 2018, 17:38:38 »
Так. Извиняюсь за задержку.
Версия 2.2.9.2 professional edition.
Вообщем запустил на клиенте пустой проект без подключения к базе без скриптов. Ситуация повторилась клиент завис. По прошествии 20-25 минут завис на другом АРМе клиент основного проекта.
Есть нюансы с передачей логов постараюсь в ближайшее время выслать.
 

Серега

  • Старожил
  • ****
  • Сообщений: 254
    • Просмотр профиля
Re: Делаем пилу сервер подвисает
« Ответ #5 : 20 Июля 2018, 17:26:49 »
Добрый день!
Продолжу.
Неделю следил за логами клиента. В результате выловил следующее:
1. один вариант окончания лога
Код
  [00008770ms] Texture loaded: "D:\Scada-Project\Pictures\green.png"
  [00012508ms] Cannot read "D:\Scada-Project\Pictures\вагон.png"
  [18093481ms] Клиент отписан от канала
2. второй вариант
Код
 [03381860ms] Sound loaded: "C:\Program Files (x86)\Simple-Scada 2\Libraries\Sound_1.ogg"
 [17824602ms] Cannot read "D:\Scada-Project\Pictures\вагон.png"
 [17922246ms] Получены данные проекта от сервера
 [17922289ms] Sound loaded: "C:\Program Files (x86)\Simple-Scada 2\Libraries\Sound_1.ogg"
 [17922301ms] Sound loaded: "C:\Program Files (x86)\Simple-Scada 2\Libraries\Sound_1.ogg"
 [17922314ms] Sound loaded: "C:\Program Files (x86)\Simple-Scada 2\Libraries\Sound_1.ogg"
 [19232228ms] Клиент отписан от канала
Удалил примитив  содержащий картинку вагон.png. Сделал новую картинку vagon.png. Ни какой динамики. Просто белый фон. Новый примитив рисунок -> vagon.png.
Ссылок на файл вагон.png в проекте нет.
Возможно как то можно почистить кэш? Опять же повторюсь. Вылет происходит даже с пустым проектом без скриптов, без подключения к OPC, без подключения к базе данных.
Товарищи разработчики можете ли Вы проделать у себя данный тест?
 
« Изменён: 20 Июля 2018, 17:39:08 от Simple-Scada »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3160
    • Просмотр профиля
    • Simple-Scada
Re: Делаем пилу сервер подвисает
« Ответ #6 : 20 Июля 2018, 17:38:24 »
Здравствуйте.

Неудачная загрузка изображения здесь не при чем. Проблема в чем-то другом и судя по представленным логам возникает после того как клиент теряет связь с сервером. Уточняющие вопросы:
1. У Вас стабильная сеть между ПК клиента и сервера?
2. Не меняется ли IP-адрес сервера периодически?
3. Если включить пинг сервера, то он стабилен? Выводятся ли на клиенте на клиенте окна о потере связи с сервером?
4. По логам также видно, что клиент в первом случае проработал 18093481ms (5 часов), во втором 19232228ms (5.3 часа). У Вас проблема возникает всегда с этим периодом времени? Или всегда по разному?
5. ПК клиента не переходит в спящий режим и работает стабильно?

Приложите также полный лог файл со всеми данными без исключения.

Цитировать
Возможно как то можно почистить кэш?
У клиента нет кэша, он всегда загружает только те изображения, которые есть в проекте. Видимо ссылка всё-таки где-то есть. Если найти не получается можете скинуть проект нам на support@simple-scada.com, мы укажем где именно используется ссылка.
« Изменён: 20 Июля 2018, 17:42:01 от Simple-Scada »

Серега

  • Старожил
  • ****
  • Сообщений: 254
    • Просмотр профиля
Re: Делаем пилу сервер подвисает
« Ответ #7 : 30 Июля 2018, 19:52:05 »
Добрый день!
Опять возвращаемся к остановке клиента и его зависанию.
Цитировать
1. У Вас стабильная сеть между ПК клиента и сервера?
Да. Одно из условий реализации проекта. Админы следят постоянно.
Цитировать
2. Не меняется ли IP-адрес сервера периодически?
Все клиенты и сервера в отдельной сети. У всех статические IP адреса.
Цитировать
3. Если включить пинг сервера, то он стабилен? ...
Идет стабильный пинг без сучка и задоринки.
Цитировать
3. .... Выводятся ли на клиенте на клиенте окна о потере связи с сервером?
Да выводятся, но окно "Проект приостановлен" , когда останавливаем Simple-Scada Server
Цитировать
4. По логам также видно, что клиент в первом случае проработал 18093481ms (5 часов), во втором 19232228ms (5.3 часа). У Вас проблема возникает всегда с этим периодом времени? Или всегда по разному?
Да время практически всегда одно и тоже, приблизительно 5 часов с минутами. Об этом писал выше.
Цитировать
5. ПК клиента не переходит в спящий режим и работает стабильно?
Одно из условий проекта без спящих режимов 24 часа/7 дней.
Так же повторюсь, что ради эксперимента запустил пустой проект(без скриптов, без подключения к БД, без подключения к arOPC) и ситуация повторилась.
Выслать проект не могу по ряду причин.
Все скрипты в основном следующие:
1. если слово состояний изменилось присвоить переменной внутренней значение бита
Скрипт типа "Изменилась переменная" GlobalVar (тип DWord).
var1.Value := GetBit (GlobalVar.AsInt64, 0); //тип boolean
var2.Value := GetBit (GlobalVar.AsInt64, 1); //тип boolean
var3.Value := GetBit (GlobalVar.AsInt64, 2); //тип boolean
и т.д.
2. Скрипт типа "Прошла одна секунда". Но это обсуждается в другой теме и проблем не вызывает
3. Скрипты типа "Универсальный". Взятые из хэлпа примеры и адаптированны к текущему проекту.
Все подозрительные и экспериментальные почистил. Но сегодня опять произошел вылет.
В Client.log вот такое сообщение обраружил:
[00005595ms] ошибка при попытке запуска Simple-Scada Server!System Error.  Code: 2.Не удается найти указанный файл
Спрашивайте буду отвечать.


Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1306
    • Просмотр профиля
Re: Делаем пилу сервер подвисает
« Ответ #8 : 01 Августа 2018, 13:51:11 »
Здравствуйте!

Ответили Вам на почту.