Simple-Scada forum

Simple-Scada 2 => Ошибки => Тема начата: deldemo от 19 Августа 2020, 08:06:14

Название: Не работает скрипт CloseClient(GetClientName)
Отправлено: deldemo от 19 Августа 2020, 08:06:14
Здравствуйте!!! Есть глюк в новой версии.
Если у кнопки тип без фиксации и ей присвоен скрипт по событию OnClick #####.CloseClient(GetClientName), то скрипт не срабатывает и "вешает" все кнопки в проекте. Но если кнопке присвоить тип с фиксацией то скрипт выполняется штатно

P.S. К кнопке не привязана переменная
Название: Re: Не работает скрипт CloseClient(GetClientName)
Отправлено: Simple-Scada от 19 Августа 2020, 10:00:20
Здравствуйте.

Сделали окно, разместили в нём кнопку с фиксацией + кнопку без фиксации. На событие OnClick привязали скрипт "ИмяОкна.CloseClient(GetClientName);". ПРоверили на нескольких ПК. Обе кнопки работают корректно на обычном клиенте и в web. Версия скады 2.4.0.0. Возможно есть ещё что-то, что приводит к проблеме.
Можете выслать текущую версию проекта на support@simple-scada.com для проверки? Укажите с каким окном возникает проблема.

UPD: кажется поняли в чем может быть проблема. В ближайшее время обновим версию на хостинге.
Название: Re: Не работает скрипт CloseClient(GetClientName)
Отправлено: deldemo от 19 Августа 2020, 10:48:48
Спасибо! Проект нужно отправлять?
Версия скады 2.4.0.0
Окно -  "winConfiguration"
Название: Re: Не работает скрипт CloseClient(GetClientName)
Отправлено: niyaz от 19 Августа 2020, 14:23:50
Здравствуйте, не работает скрипт OnEnter(пользователь перешел на эту страницу) после обновления Simple Scada 2 до версии 2.4.0.0. В чем может быть проблема?
Также при нажатии на кнопку 'Без фиксации', смена текста и цвета кнопки тормозит. К кнопке привязана переменная из ПЛК (переменная меняется сразу, тормозит только смена цвета и текста в SCADA системе). 
Название: Re: Не работает скрипт CloseClient(GetClientName)
Отправлено: Simple-Scada от 19 Августа 2020, 16:14:10
deldemo, скачайте и установите скаду повторно (ссылки на скачивание те же). Теперь с кнопкой без фиксации проблем быть не должно.

niyaz, исправили события OnEnter/OnLeave у страниц. Скачайте и установите скаду повторно.

Цитировать
Также при нажатии на кнопку 'Без фиксации', смена текста и цвета кнопки тормозит. К кнопке привязана переменная из ПЛК (переменная меняется сразу, тормозит только смена цвета и текста в SCADA системе).
Проверили, но не получилось добиться "торможения". Учитывайте, что состояние кнопки меняется только тогда, когда скада получит от OPC-сервера новое значение переменной (зависит от частоты опроса тега). Т.е. Вы нажимаете кнопку и удерживаете, скада посылает новое значение OPC-серверу, а кнопка остаётся в первом состоянии. И только когда значение переменной на котроллере изменится и OPC-сервер вернёт скаде новое значение - кнопка перейдёт во второе состояние.
Для теста можно привязать кнопку к внутренней переменной и проверить. Если смена состояния выполняется быстро, значит дело точно во внешней переменной и она просто "долго" меняется.
Название: Re: Не работает скрипт CloseClient(GetClientName)
Отправлено: niyaz от 20 Августа 2020, 00:40:21
Спасибо большое, скрипты OnEnter/OnLeave заработали.
Кнопка с локальными переменными работает быстро. При привязки переменных с ПЛК подтормаживает только смена цветов и текста, но значение переменной в ПЛК изменяются 'мгновенно'.   
Название: Re: Не работает скрипт CloseClient(GetClientName)
Отправлено: Simple-Scada от 20 Августа 2020, 09:35:37
Цитировать
но значение переменной в ПЛК изменяются 'мгновенно'.
Это мы поняли. Прочтите внимательно наш предыдущий ответ. Изменение переменной на ПЛК ничего не меняет для скады. Главное - когда скада узнает (от OPC-сервера) о том, что переменная на контроллере изменилась. Как мы и писали - это зависит от частоты опроса переменной, которую Вы задали в проекте. Состояние кнопки в скаде изменится только после того, как скада получит от OPC-сервера новое значение переменной.
Для примера разместите рядом с кнопкой компонент Поле и привяжите его к той же переменной, что и у кнопки. Запустите проект и нажмите на кнопку. Значение в поле  меняется мгновенно? Или с задержкой? Если с задержкой, значит скада получила ответ об изменении переменной на контроллере с такой задержкой. Чтобы она была меньше, можно сделать опрос переменной чаще.