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

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

Simple_Scada

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

Добавление такой возможности не планируется. Подобный функционал сейчас можно реализовать через скрипты. Вести подсчет времени можно в секундном скрипте и сохранять его в файл. При достижении какого-то заданного времени работы выдать предупреждение о том, что время вышло и например отключить всех клиентов от сервера скады. Отправили пример Вам на почту.

maks48

Здравствуйте! Есть, например, база данных. Я вывожу на дисплей усредненную информацию в виде графических примитивов (круг, ромб). Далее пользователь кликает на графический объект и выводится подробная информация по этой точке замера. Такое возможно сделать?

Simple-Scada

ЦитироватьДалее пользователь кликает на графический объект и выводится подробная информация по этой точке замера.
Здравствуйте. Какая именно информация? Примитивы связаны с какими-то переменными и нужно вывести текущие значения этих переменных? Или какая-то информация хранится в БД и нужно получить её?

maks48

Я еще не продумал до конца структуру проекта. Можно проще сформулировать вопрос -> cкрипт рисует графические примитивы. Пользователь кликает на каком-то и скрипт понимает что за объект интересует пользователя. Возможно?

Simple-Scada

Конечно. Из скриптов можно выполнить любые операции с объектами. Проще всего обращаться к объектам напрямую и менять их свойства, например Shape1.Color := clRed;. Но в этом случае придется для каждого объекта писать свой скрипт. В событие клика всегда передается параметр Sender. Он указывает на объект по которому кликнул пользователь. Поэтому можно создать множество объектов, например фигур и назначить им на событие OnClick один универсальный скрипт, например:
Код: pascal
var
  aShape: TM_Shape;
begin
  { если объект по которому кликнул пользователь является фигурой (TM_Shape) }
  if Sender is TM_Shape then
  begin
    { здесь мы можем работать с любыми свойствами объекта. Например 
      можно вывести имя фигуры }
    ShowMessageAll('Информация', 'Пользователь кликнул объект с именем ' + TM_Shape(Sender).Name);
  end;
end.
По этой ссылке можно прочесть о типах скриптов.

maks48

Пароль на проект - максимальный уровень защиты? Скрипты же будут доступны для чтения, как минимум... :(
Мы поставляем систему в сборе и задача, чтобы ее нельзя было скопировать. Или, по крайней мере, трудозатраты на копирование были сопоставимы с разработкой аналогичного функционала с 0. Все идеи и алгоритмы будут в скриптах.

Олег Печёнов

Добрый день,

есть ли возможность выдавать скриптами команды в com-порт? м быть не напрямую.

Simple-Scada

ЦитироватьПароль на проект - максимальный уровень защиты?
Да, но при желании можно избавиться от некомпилированных файлов используя способ описанный pan2000.

Цитата: Олег Печёнов от 25 августа 2018, 21:50:20есть ли возможность выдавать скриптами команды в com-порт? м быть не напрямую.
Здравствуйте. Сейчас нельзя работать с COM-портами из скады.

Rinat

Здравствуйте, недавно приобрели лицензию ProfEdition, тут непонятно с ограничениями. +0 extra clients, что это на такое?

Simple-Scada

Здравствуйте.
Это значит, что у Вас нет дополнительных клиентов. Поэтому к серверу скады Вы сможете подключиться максимум с трёх разных клиентов, т.к. в версию Professional входит три клиента.

maks48

#925
Здравствуйте! Есть ПЛК, который мониторит объект и пишет в базу (mysql or sqlite) необходимые параметры. Скорость течения процессов - очень маленькая. При потере связи между скадой и плк (пару дней, недель) необходимо "синронизировать" базы в ПЛК и скаде, чтобы на трендах не было "провалов". Как это лучше сделать?

Rinat

#926
ЦитироватьЭто значит, что у Вас нет дополнительных клиентов. Поэтому к серверу скады Вы сможете подключиться максимум с трёх разных клиентов, т.к. в версию Professional входит три клиента.

Спасибо, это и хотел услышать))) Еще бы трубопровод для вентиляции добавить и картинок по больше.

Simple-Scada

Цитата: maks48 от 25 сентября 2018, 18:08:26Здравствуйте! Есть ПЛК, который мониторит объект и пишет в базу (mysql or sqlite) необходимые параметры. Скорость течения процессов - очень маленькая. При потере связи между скадой и плк (пару дней, недель) необходимо "синронизировать" базы в ПЛК и скаде, чтобы на трендах не было "провалов". Как это лучше сделать?
Заполнить тренды скады, используя тренды в ПЛК не получится. В скаде они имеют один формат и записываются в несколько слоев, а на ПЛК другой формат и один слой.

maks48

Цитата: Simple-Scada от 26 сентября 2018, 09:49:23
Цитата: maks48 от 25 сентября 2018, 18:08:26Здравствуйте! Есть ПЛК, который мониторит объект и пишет в базу (mysql or sqlite) необходимые параметры. Скорость течения процессов - очень маленькая. При потере связи между скадой и плк (пару дней, недель) необходимо "синронизировать" базы в ПЛК и скаде, чтобы на трендах не было "провалов". Как это лучше сделать?
Заполнить тренды скады, используя тренды в ПЛК не получится. В скаде они имеют один формат и записываются в несколько слоев, а на ПЛК другой формат и один слой.
Если я буду формировать базу из скриптов, то тренды к этой БД вообще никак не подключить? Скриптами нельзя дописать данные в таблицы trends_data, trends_day, trends_hour, trends_minute?

Simple-Scada

#929
ЦитироватьСкриптами нельзя дописать данные в таблицы trends_data, trends_day, trends_hour, trends_minute?
В теории это возможно. С помощью простых SQL-запросов Вы можете заполнить таблицы трендов. Но правильно их заполнить будет сложно. В таблицах слоёв данные должны быть прорежены (trends_day, trends_hour, trends_minute). В основном слое (trends_data) должны быть все данные. Также точка разрыва в тренде должна иметь качество равное 3. А первая точка после разрыва качество равное 2. И последнее, каждый график должен соответствовать ID какой-либо переменной, без привязки к переменной график вывести не получится. Если у Вас получится заполнить данные таблицы таким образом, используя пользовательские SQL-запросы, или через любое стороннее ПО, то графики можно будет просмотреть.