Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: RadMur от 20 Марта 2020, 12:48:32

Название: Периодическое отключение клиента
Отправлено: RadMur от 20 Марта 2020, 12:48:32
Здравствуйте!

В каких случаях сервер может отключать клиента?
Иногда наблюдаем следующую картину: клиент в локальной сети подключается, и через 10 минут его вышибает.
Так бывает иногда.
И еще, когда подключаешься удаленно(через интернет, на "белый" ip, все нужные порты открыты) обычным клиентом, не веб, графика не обновляется. Не меняется цвет объекта, к которому привязан тэг, цвет меняется в скрипте. Хотя текстовая подпись к этому же объекту, с этим же тэгом и в этом же скрипте меняется.
Название: Re: Периодическое вышибание клиента
Отправлено: Simple-Scada от 20 Марта 2020, 15:13:50
Здравствуйте.

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

Цитировать
Не меняется цвет объекта, к которому привязан тэг, цвет меняется в скрипте.
Не меняется цвет какого именно объекта? Какой код скрипта в котором не меняется цвет? Вы уверены что код скрипта исполняется (для этого должна измениться переменная связанная с объектом)? Перед командой на смену цвета есть какие-то условия? Если есть, то Вы уверены, что эти условия проходят в момент срабатывания скрипта?
Название: Re: Периодическое отключение клиента
Отправлено: RadMur от 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м - через привязку в инспекторе свойств.
Название: Re: Периодическое отключение клиента
Отправлено: Simple-Scada от 23 Марта 2020, 10:07:21
Цитировать
Он не работает.
Он точно работает, как описан. Он должен быть назначен на событие OnDataChange компонента Изображение. И это изображение обязательно должно быть привязано (основная переменная изображения) к численной переменной. Изображение станет зелёным если привязанная переменная примет значение равное 1. Если любое условие из вышеописанных не выполнится, то скрипт не сработает, что и происходит в Вашем случае. Если разобраться не получается, то вышлите проект на support@simple-scada.com, мы укажем какое  именно из вышеперечисленных действий не выполнено.