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

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

Автор Тема: Периодическое отключение клиента  (Прочитано 1870 раз)

RadMur

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Здравствуйте!

В каких случаях сервер может отключать клиента?
Иногда наблюдаем следующую картину: клиент в локальной сети подключается, и через 10 минут его вышибает.
Так бывает иногда.
И еще, когда подключаешься удаленно(через интернет, на "белый" ip, все нужные порты открыты) обычным клиентом, не веб, графика не обновляется. Не меняется цвет объекта, к которому привязан тэг, цвет меняется в скрипте. Хотя текстовая подпись к этому же объекту, с этим же тэгом и в этом же скрипте меняется.
« Изменён: 20 Марта 2020, 15:16:25 от Simple_Scada »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3214
    • Просмотр профиля
    • Simple-Scada
Re: Периодическое вышибание клиента
« Ответ #1 : 20 Марта 2020, 15:13:50 »
Здравствуйте.

Как мы поняли, Вы говорите про то, что клиент полностью отключается от сервера (на клиенте в этом случае должно отобразиться окно о разрыве связи и попытках переподключения).  Если так, то это может быть только по одной причине - связь сервера с клиентом была разорвана, например из-за проблем в сети, проблем с оборудованием (например сетевой картой ПК), либо трафик блокирован антивирусом/файрволом.

Цитировать
Не меняется цвет объекта, к которому привязан тэг, цвет меняется в скрипте.
Не меняется цвет какого именно объекта? Какой код скрипта в котором не меняется цвет? Вы уверены что код скрипта исполняется (для этого должна измениться переменная связанная с объектом)? Перед командой на смену цвета есть какие-то условия? Если есть, то Вы уверены, что эти условия проходят в момент срабатывания скрипта?

RadMur

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: Периодическое отключение клиента
« Ответ #2 : 23 Марта 2020, 09:57:20 »
Вот код, который исполняется раз в 5 секунд:
Код
tmpCell := tblP1.GetCell(1, 1);
    if Pump1Running.AsBool then
     tmpCell.Text := "В работе"
     else
      tmpCell.Text := "Остановлен";
Он работает четко.

А вот код в обработчике OnDataChange объекта Image:
Код
begin
if Sender is TM_Image then
  with Sender as TM_Image do
    if AsInt = 1 then
      Color := clGreen
    else
      Color := clNone;
end.

Он не работает.
И там, и там используется одна и та же переменная. Только в 1м случае через код, а во 2м - через привязку в инспекторе свойств.

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3214
    • Просмотр профиля
    • Simple-Scada
Re: Периодическое отключение клиента
« Ответ #3 : 23 Марта 2020, 10:07:21 »
Цитировать
Он не работает.
Он точно работает, как описан. Он должен быть назначен на событие OnDataChange компонента Изображение. И это изображение обязательно должно быть привязано (основная переменная изображения) к численной переменной. Изображение станет зелёным если привязанная переменная примет значение равное 1. Если любое условие из вышеописанных не выполнится, то скрипт не сработает, что и происходит в Вашем случае. Если разобраться не получается, то вышлите проект на support@simple-scada.com, мы укажем какое  именно из вышеперечисленных действий не выполнено.