Вопросы по скриптам в Simple-Scada 2

Автор Simple-Scada, 29 января 2016, 15:19:20

Teodor

Цитата: emoxristov от 14 июня 2017, 18:56:31Как изменить скрипт, чтобы остановить кнопки ?
Я добавил кнопку, чтобы остановить, но не работает ?
Тут надо не менять, а еще один создавать (не на изменение, а тоже секундный). Со своим счетчиком и своим флагом. Я бы еще предложил блокировать вторую кнопку, если нажата первая. Поскольку эти 2 скрипта будут работать одновременно... и можно запутаться в том что мы включаем, а что выключаем.

Andrey1883

Цитата: Teodor от 14 июня 2017, 15:41:27Все проще... На всех нужных переменных ставите галку "Архивировать/по изменению" и читаете как работать с системой отчетов :)
Дело в том, что изменением у меня является срабатывание клапана (входа мультиплексора грубо говроря)..да такой подход позволит зафиксировать красивый график, но вот определить, с какого входа мультиплексора я получил значение и в какой момент времени,- не получится или я пока не догоняю как...

Teodor

Мы видимо о разном... Я не про тренды, а про систему отчетов. Там можно выбрать период и данные, которые вам нужны за этот период. Хоть таблицей, хоть графиком, хоть одновременно.

А, простите, вы же можете заархивировать так-же "входящиие" изменения состояния клапанов и добавить их как столбцы в отчете? Все 9. Тогда при каждом изменении любого из "входов" у вас появится новая строка, пусть и не изменилось состояние "выхода".

Andrey1883

Цитата: Teodor от 15 июня 2017, 14:52:04Мы видимо о разном... Я не про тренды, а про систему отчетов. Там можно выбрать период и данные, которые вам нужны за этот период. Хоть таблицей, хоть графиком, хоть одновременно.
в принципе можно создать отчет и открывать его потом из скады...но хочется видеть в скаде сразу в виде таблицы, к примеру, или просто набора нескольких полей...

Teodor

Цитата: Andrey1883 от 15 июня 2017, 15:23:44
Цитата: Teodor от 15 июня 2017, 14:52:04Мы видимо о разном... Я не про тренды, а про систему отчетов. Там можно выбрать период и данные, которые вам нужны за этот период. Хоть таблицей, хоть графиком, хоть одновременно.
в принципе можно создать отчет и открывать его потом из скады...но хочется видеть в скаде сразу в виде таблицы, к примеру, или просто набора нескольких полей...
Точно о разном. ;)
Цитироватьзатем, выбрав определенный промежуток времени, читать их..
и видеть уже - вещи разные... Тогда вам таки в БД надо писать и выводить в таблицу(заполняется выборкой). А в поля, если и выводить, то только актуальное значение, и последнее изменение, иначе заманаетесь.

Если надо именно онлайн+история, то я бы для себя комбинировал. Актуальные значения в поля, а на изменение данных любого из полей в скрипте добавлял SQL-ом строку со значениями всех полей и меткой по времени. В таблицу бы выводил запросом с ограничением по времени, например в сутки, тем-же скриптом.

emoxristov

#395
Цитата: Teodor от 15 июня 2017, 09:37:21
Цитата: emoxristov от 14 июня 2017, 18:56:31Как изменить скрипт, чтобы остановить кнопки ?
Я добавил кнопку, чтобы остановить, но не работает ?
Тут надо не менять, а еще один создавать (не на изменение, а тоже секундный). Со своим счетчиком и своим флагом. Я бы еще предложил блокировать вторую кнопку, если нажата первая. Поскольку эти 2 скрипта будут работать одновременно... и можно запутаться в том что мы включаем, а что выключаем.

Большое спасибо за вашу помощь.
Будет ли проблема, если добавить другие кнопки для запуска и стоп с различными выходами для Ардуино ?
Что необходимо изменить скрипт для более таких автоматизированных кнопок?
Я пытался добавить новый набор кнопок со временем, но не знаю, как вывести их от других?

Simple-Scada

Цитата: Andrey1883 от 14 июня 2017, 15:11:29Уважаемые специалисты! со скриптами туго  совсем, только начал разбираться, натолкните на мысль, как организовать архив, где имеется :
 Фактически мультиплексор из клапанов ( производится отбор проб газа из 9 точек на один газоанализатор ), управляет которым контроллер в ручном и автоматическом режиме,Соответственно имеются все переменные с этим связанные...нужно сохранять данные с каждого канала в БД, а затем, выбрав определенный промежуток времени, читать их.. Логично предположить, что сработал клапан 1 - записали значение на выходе в базу данных с меткой времени, сработал клапан 2 - записали значение и тд, а вот как выборку сделать не понятно...отсюда и тренды не подходят, т.к.,к примеру, клапан 3 в ручном режиме открыт может быть дольше, чем в автомате и на графике разрывы будут, что не наглядно и не очень удобно при просмотре..лучше как-то таблицей
Обычно для подобных задач используются именно тренды. Не совсем понятно о каких разрывах на графике Вы говорите. Разрывов быть не должно, если клапан открыт, то график просто будет выше, если закрыт, то ниже. Может быть мы что-то недопоняли? Если нужно отобразить данные в таблице, то можно сделать запрос на выборку данных из БД в соответствующую таблицу, например:

Код: pascal
var
  aQuery: string;
begin
  aQuery := 'SELECT * FROM `my_table`';  // формируем запрос к БД на выборку всех данных из таблицы `my_table`
  Table1.RunSQL(aQuery, tsAll);          // выполнить запрос и заполнить таблицу результатом выполнения
end.

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

emoxristov

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

emoxristov

#398
Teodor много спасибо за помощь.
Я не бы справиться без тебя.

Миханик

#399
1) А почему из скриптов нельзя менять свойство объекта Таблица "Title"? Выводится ошибка, что это свойство только для чтения.

2) Как из скрипта удалить привязку переменной к объекту?

Simple-Scada

Цитата: emoxristov от 16 июня 2017, 18:38:43Как реализовать проекты с помощью этих кнопок во время запуска?
Если Вам нужно, чтобы скрипт выполнялся во время запуска проекта, то используйте скрипт с типом события "Полностью запущен".

Цитата: emoxristov от 16 июня 2017, 18:38:43Существует ли универсальный скрипт для последовательного включения объектов.
Универсальный скрипт для последовательного включения не подойдёт.

Цитата: Миханик от 19 июня 2017, 08:18:10А почему из скриптов нельзя менять свойство объекта Таблица "Title"? Выводится ошибка, что это свойство только для чтения.
Откроем это свойство для записи в ближайшее время.

Цитата: Миханик от 19 июня 2017, 08:18:10Как из скрипта удалить привязку переменной к объекту?
Сейчас это невозможно. Можно только изменить ссылку на другую, например так:

Код: pascal
begin
  Text1.Variable := vrMy;
end.

Миханик

Как из скрипта обраться к трендам объекта TrendViewer ("Временной тренд")?
Мне нужно настроить видимость определенных трендов.

Teodor

Цитата: Миханик от 21 июня 2017, 09:19:12Как из скрипта обраться к трендам объекта TrendViewer ("Временной тренд")?
Мне нужно настроить видимость определенных трендов.
Тренды по окнам, показывать-скрывать окна?

Миханик

Цитата: Teodor от 21 июня 2017, 09:30:54Тренды по окнам, показывать-скрывать окна?
У объекта типа TM_TimeTrendViewer есть свойство "Тренды", в котором имеется список трендов со своими свойствами, включая "Видимость". Мне нужно его менять в скрипте.

Simple-Scada

Миханик, временные тренды пока недоступны для работы из скриптов. Они станут доступны в будущих обновлениях.