Вопросы и предложения по Simple-Scada 2

Автор Simple-Scada, 11 мая 2015, 20:34:39

Simple-Scada

ЦитироватьМожно ли сделать изменение координат X и Y объекта в реальном времени при перемещении объекта курсорными стрелками
Да, конечно. Исправим этот момент.

ЦитироватьВопросы по трендам:  почему только 10?) ну пусть скролится легенда
Это специальное ограничение, позволяет обеспечить достаточную скорость отрисовки и загрузки трендов (особенно на больших интервалах). Масштабирование трендов по Y и изменение размера шрифтов планируется, но мы всё никак не выделим время на реализацию, т.к. задач уже очень много.

Цитата: int2246 от 22 сентября 2016, 15:57:29Мне вот например надо отображать за 24 часа и при этом чтобы временная шкала сама двигалась.
Это ограничение тоже сделано не просто так и касается производительности сервера и клиента и их взаимодействия. Мы уже давно работаем над обновленной системой трендов, где тренды сохраняются в несколько прореженных "слоев". Такая система позволит просматривать тренды в больших интервалах с очень высокой скоростью, не нагружая сеть. Плюс к этому можно будет снять ограничение на величину интервала в режиме "онлайн".

Цитироватьи можно в трендах стрелочки сделать с подсказками.
Изначально они были с подсказками, но вскоре мы убрали подсказки, т.к. на наш взгляд они мешали подсказывая то, что и так очевидно. Вернем подсказки в будущем.

Миханик

Цитата: Simple-Scada от 10 февраля 2016, 10:40:40
Цитата: toreto от 09 февраля 2016, 22:05:15Вот такой вопрос, когда то в разделе Simple-Scada 1.3.3 задавали вопрос про работу на двух мониторах, хотелось бы узнать как успехи?
Да, делали такие тесты. Всё прошло успешно. После выхода Simple-Scada 2 начнем внедрять в неё поддержку нескольких мониторов.
Планируем взять максимальную версию Вашей скады, но обязательно нужна поддержка двух мониторов. Как успехи в этом направлении, когда ожидается поддержка нескольких мониторов?

Simple-Scada

Миханик, к сожалению мы вынуждены в первую очередь выделять время на реализацию более популярных задач и исправление ошибок. Таких задач по-прежнему много. И хотя поддержка работы на нескольких мониторах является достаточно важной задачей - трудно сказать насколько быстро мы сможем добавить её, постараемся сразу, как только высвободится время, но конкретный срок сейчас под вопросом.

Genrosol

Здравствуйте, уважаемые разработчики!
Возник следующий вопрос: возможно ли через кнопку на мнемосхеме или кнопку "power" на системном блоке закрыть клиент  и сервер симпл-скады с последующем выключением ПК? Клиент и сервер работают на одном локальном ПК.
Пробовал писать приложение, которое находит "хэндлы" клиента и сервера и посылает API команды на их закрытие. Клиент благополучно закрывается, а серверу команда WM_CLOSE ни о чем не говорит :).
Заранее спасибо за помощь!

Simple-Scada

Здравствуйте.

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

Genrosol

ЦитироватьА для чего нужно такое завершение работы и выключение?
Такое завершение работы пригодилось бы, если в Simple-Scada можно было запретить закрытие клиента обычным пользователям.
Отключаем оболочку операционной системы (explorer.exe), вместо нее запускаем клиент и сервер Simple-Scada, диспетчер задач блокируем средствами Simple-Scada. Таким образом полностью перекрываем доступ к Windows. Кнопку завершения работы делаем доступной только для администратора.

deldemo


Simple_Scada

ЦитироватьОтключаем оболочку операционной системы (explorer.exe), вместо нее запускаем клиент и сервер Simple-Scada, диспетчер задач блокируем средствами Simple-Scada. Таким образом полностью перекрываем доступ к Windows. Кнопку завершения работы делаем доступной только для администратора.

Через "Options.exe" -> "Simple-Client" -> "Отключить клавиши" заблокируйте все сочетания клавиш, диспетчер задач и панель задач Windows. При такой блокировке и запущенном Simple-Client Вы все равно можете получить доступ к Windows? Если да, то напишите каким способом можно этого добиться.

TeNQ

#383
У меня вопрос по организации обмена скады с OPC-сервером. В списке переменных  в скаде нельзя выставить флаг разрешения чтения/записи переменной. Казалось бы зачем, ведь эти флаги выставляются в OPC-сервере. Но вот сегодня я пытался связать скаду и ТРМ-151 фирмы ОВЕН. И у меня возникла проблема. У прибора есть параметр R-s управляющий его работой. (Стоп - 0/пуск - 1 /пауза - 2). И он с флагом только для записи. Я импортировал переменную с OPC-сервера ОВЕНа, создал поле, присвоил полю переменную, ну и запустил проект. У поля появился значок, восклицательный знак на желтом поле - нет связи по этой переменной. То есть скада пытается ее считать игнорируя флаги OPC-сервера?. Но и записи не происходит.  С другими переменными имеющими флаги чтение, чтение/запись проблем нет.

Simple-Scada

TeNQ, а какой OPC-сервер используете?

TeNQ

#385
Я пробовал два, оба ОВЕН. Скачивал с их сайта. Там две версии новая бета- сильно нагружает процессор и старая для обмена по RS-485 по протоколу ОВЕН. Я остановился на ней. http://www.owen.ru/catalog/ors_drajveri_dlya_priborov_oven/opisanie
 Сегодня было времени побольше и я разобрался чего происходит. Наложились и особенности работы прибора(некорректная индикация состояния на дисплее при переходе из режима паузы в работу) и особенности скады. Для переменной с флагом только запись скада выдает ошибку связи с переменной для поля  связанной с этой переменной.  При этом запись в переменную происходит нормально. А особенность работы скады – запись происходит только по изменению значения в поле. Например, я запускаю прибор в работу – r-S=1, параметр записался. Прибор ответил r.St=1(статус в работе). Но в поле то остается 0, потому что скада не может считать значение и оставляет его таким, какое оно было до изменения. Хочу  остановить прибор, вбиваю 0 в поле и ввод. Но поскольку там и так был 0, то записи не произойдет. А если забью 00 и ввод, то произойдет событие DataChange и пройдет запись. Прибор ответит r.St=0 (стоп). Вообщем, просто введу виртуальную переменную и запись буду делать через нее, всего делов. Зря я вас побеспокоил)

Genrosol

#386
ЦитироватьПри такой блокировке и запущенном Simple-Client Вы все равно можете получить доступ к Windows? Если да, то напишите каким способом можно этого добиться.
Воспользовавшись комбинацией клавиш для выхода из клиента?

ЦитироватьА для чего нужно такое завершение работы и выключение?
Для понимания лучше было бы привести конкретные примеры:
1) Имеется небольшой стенд, на котором хотелось бы реализовать включение/выключение ПК с автоматической загрузкой/завершением ОС и SCADA-системы без возможности каких-либо альтернативных загрузок. А для корректировки SCADA-проекта, OPC-сервера или ПЛК разрешить администратору закрытие клиента с последующим доступом к ОС;
2) Имеется АСУТП в составе 2 серверов и порядка 10 клиентов. Все ПК спрятаны в шкафы и закрыты на замок. Периодически обслуживающему персоналу, имеющему доступ к шкафам, необходимо обследовать и чистить системный блок ПК. Как обслуживающему персоналу без доступа к ОС выключить сервер?
3) Практически на всех наших АСУТП требуется исключить возможность программного закрытия SCADA-системы и выключения ПК для обычных пользователей. Если я правильно понимаю, запретить закрытие клиента Simple-Scada на данный момент не представляется возможным.

Simple-Scada

TeNQ, спасибо за подробное описание. Значит сделаем следующим образом: если тег только для записи, то скада всегда будет делать запись в него, даже если Вы попытаетесь ввести то же значение, которое уже (по мнению скады) в этом теге. Это и решит описанную проблему.

Genrosol, в пред. сообщениях мы забыли упомянуть о том, что для завершения работы клиента можно использовать процедуры CloseApplicationAll (завершение работы всех клиентов) и CloseApplicationClient (завершение работы заданного клиента). Но подобные процедуры для сервера сделают работу скады уязвимой, что неприемлемо для производств.

В Вашей ситуации предлагаем следующее:
  • на всех клиентах через скаду блокировать все комбинации клавиш для выхода из скады. Оставить только стандартную комбинацию для выхода и выбрать например SHIFT + F5 или CTRL + F2, о которой кроме Вас, вряд ли кто-то узнает. В будущем сделаем, чтобы эти комбинации можно было тоже отключить. А завершать работу клиента (или всех клиентов) из проекта, используя CloseApplicationAll или CloseApplicationClient;
  • обслуживающему персоналу выключать сервер кнопкой power на системном блоке. В этом случае сервер должен корректно завершить работу.

TeNQ

ЦитироватьЗначит сделаем следующим образом: если тег только для записи, то скада всегда будет делать запись в него, даже если Вы попытаетесь ввести то же значение, которое уже (по мнению скады) в этом теге.
Да, можно и так. Но это не уберет значок - нет связи по переменной с поля. И мне просто интересно, как происходит обмен. Вот если я буду пробовать изменять тег, который предназначен только для чтения, то скада будет пытаться его записывать в OPC?
Можно ли по возможности ввести элемент radio button? Если у переменной два состояния, а находится она может только в одном, то кнопки хватает. А если состояний больше, то кнопкой уже пользоваться неудобно, хотя у нее есть возможность создать много состояний.
И пока я лазил в состояниях кнопок обнаружил небольшую ошибку на проверке ввода. Если в поле номера и значения ввести одиночный символ "-" и подтвердить, то редактор вылетает. Потом стал проверять, где это еще сработает. В координатах объектов так же работает.

Simple-Scada

#389
ЦитироватьДа, можно и так. Но это не уберет значок - нет связи по переменной с поля.
Значок конечно уберем для переменных только для записи.

ЦитироватьВот если я буду пробовать изменять тег, который предназначен только для чтения, то скада будет пытаться его записывать в OPC?
Очень просто: перед записью в тег проходит проверка, является ли он доступным для записи. Если да, то запись пройдёт. Если нет, то скада даже не будет пытаться выполнить запись в тег. Соответственно скада будет игнорировать попытку присвоения в тег для чтения.

ЦитироватьМожно ли по возможности ввести элемент radio button?
Подумаем над этим, возможно сделаем у кнопки свойство "номер группы", чтобы кнопки с одной группой работали как radio button.

Цитироватьв состояниях кнопок обнаружил небольшую ошибку на проверке ввода.
Действительно, есть такое, спасибо. Исправим!