Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - ZWolol

Страницы: [1] 2
1
Насколько я помню, то формат DECIMAL(X,Y) используется в DBF файлах.
Там все числа хранятся в текстовом виде.

В SQL то же можно указать этот формат, но в результате получится FLOAT или DOUBLE.
Количество знаков после запятой будет зависеть от количества действующих знаков целой части.
Округляйте получаемые значения до нужного знака и архивируйте эти значения.

2
Int дает EXTENDED, и преобразовывать нужно оператор деления, а не результат.

sunriseMinutes:=integer(sunrise*60) div 60;

P.S.
Только Div не любит преобразование типа (это зависит от оптимизации компилятора).
Например, на Lazarus ругается, что первый элемент не может быть Double.

Лучше используй i:= integer(sunrise*60); и её подставляй для Div.

P.S.S.
А чем тебя это не устраивает?: sunriseMinutes:=integer(sunrise);

3
>AVR
Переменные будут уникальны, но окна проекта общие и видимость элементов общая.
Только уникальные окна для каждого клиента обеспечат независимость отображения.

4
Цитировать
рекомендуем воспользоваться "нормальными" SCADA-системами
Вот это странно слышать, у каждой есть свои достоинства и недостатки.

Цитировать
стопочкой объектов
Именно так работает Master Scada. По другому там просто не получается.
У меня количество вариантов состояния объекта велико и назначать тысячи значений на каждое свойство просто не хватит терпения.
Даже их вычислители не спасают от этого.
В Simple Scada все делаю скриптом в пару десяток строк и ни каких "стопок" у меня нет.

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

А локальные переменные вроде можно реализовать с помощью массивов.
Вот только OnDataChange будет срабатывать при изменении любого элемента.

5
Ваши вопросы / Re: GetTrendClient
« : 24 Сентября 2024, 05:13:43 »
> Редактируемые группы обычно используют как временную группу...
В том-то и дело, что не обычно, а именно только как временную.

Нет проблем сделать любые группы, просто у меня сейчас нет доступа к проекту.
SetTrendClient может задать клиенту нужные тренды, но это бесполезно, если нельзя их считать.

P.S.
Я не вижу проблем с использованием локальных переменных через массивы по ID клиента.
Для этого даже не нужно ни чего менять в скаде.
Только желательно было бы показывать ID пользователя как у переменных.

6
Ваши вопросы / Re: GetTrendClient
« : 20 Сентября 2024, 05:06:32 »
Похоже, что отсутствие локальных переменных клиента вызывает проблемы не у меня одного...
А редактируемые тренды это только один из примеров.

Ни кто не будет выбирать и настраивать для себя группу из 10 трендов, если любая перезагрузка будет их сбрасывать.

Похоже переменные типа Array могут решить эту проблему.
Нажав на кнопку клиент может получить GetUserID и взять нужное значение из массива.
(Только не для всех скриптов это доступно).

Хоть ID пользователя в редакторе не видно, но надеюсь, что оно привязано к нему как у переменных.
Или может оно присваивается в порядке подключения клиентов???

Scada не читает архивы из OPC и трендам нельзя подставить значения из таблицы.
TM_Table работает с запросами SQL, было бы хорошо если б и тренды так умели...

7
Ваши вопросы / Re: GetTrendClient
« : 17 Сентября 2024, 05:58:41 »
Значения трендов можно задать в проекте или изменить редактируемые на клиенте,
но после перезапуска все настройки сбрасываются.

При запуске клиента можно скриптами жестко задать нужные ему тренды,
но похоже, что считать и запомнить их не получится.

Как я понял, в проекте нет локальных переменных клиента.
Возможно-ли следующее:
Для локальных переменных задать массив (например Int64 Array).
Где каждый элемент для своего пользователя.
GetUserID дает ID пользователя, по которому можно взять соответствующий элемент массива.

Где можно посмотреть ID пользователей?

P.S.
Из таблицы трендов можно читать архивы, а можно ли туда писать данные с приборов?

8
Ваши вопросы / GetTrendClient
« : 16 Сентября 2024, 08:07:12 »
Можно сделать редактируемую группу трендов, а как сохранить выбранные переменные?

Если я правильно понял, то TimeTrends дает доступ к параметрам тренда проекта, а не клиента?
SetTrendClient задает клиенту для нужной группы и позиции переменную.
А как их считать?

9
Ваши вопросы / Re: Вопрос по SELECT, MSSQL и Quality.
« : 29 Августа 2024, 11:58:50 »
Разобрался...
У нас в связи с "безопасностью" закрыли порты.

Я не мог подключиться клиентом и случайно указал host сервера для базы проекта.
Проект запускался локально, а данные брал с сервера.
Вот и получилось, что данные (копия базы) совпадали, а статусы нет
потому, что на локальной базе нет опроса и они устарели (статус стал 101).

Извиняюсь за ложное беспокойство.

10
Ваши вопросы / Re: Вопрос по SELECT, MSSQL и Quality.
« : 27 Августа 2024, 12:27:10 »
Привет, это опять я.
Программисты сделали чтение данных через опс...

Сейчас заметил, что у меня не все данные в селект правильные.
Отключил свои запросы, оставил только для таблицы контроля.
Значения ид, даты, валуе правильные, а стате не всегда равен 101.
Сравнил данные таблицы с sql менеджером.
Приложил проект и логи.

11
Если интервалы времени не кратны 1с, то наверно ни как.
Иначе делаешь секундный скрипт, в котором проверяешь состояние переменной агрегата 0/1/2...
1-запуск цикла, по нему фиксируешь время начала, присваиваешь 2 и дальше проверяешь интервал
при достижении необходимых времен производишь нужные действия и увеличиваешь переменную
по окончании цикла переменной присваиваешь 0-стоп

12
Задана группа сообщений "Двери скважин", ID=1
Как нажав кнопку можно проквитировать все сообщения этой группы?

Все эти сообщения привязаны к битам переменных, которые сбрасываются при квитировании сообщений.
Если я сбрасываю этот бит, то появляется дата завершения, но сообщение остается не подтвержденным.

13
Использование шаблонов облегчает и ускоряет разработку,
но когда используешь шаблон, например заслонка с номером, то на форме все заслонки будут с надписью %Номер%.
Если номер не задан, то выводится маркер, а когда все номера проставлены, то их не видно.

Было бы удобно если б подстановки в текст отображались в редакторе.
И очень раздражает постоянное смещение экрана при вызове шаблонов.

14
т.е. У другого клиента они появятся только после перезапуска его проекта?

15
Ваши вопросы / Re: Вопрос по SELECT, MSSQL и Quality.
« : 29 Февраля 2024, 07:38:45 »
Если я использую шаблон окна для которого нет всех переменных.
Например: Не для всех окон есть привязанная переменная расхода (vrValue%Номер%)
Скада для них показывает нулевое начальное значение.
Это является нормой или желательно создать переменные для всех номеров.

Страницы: [1] 2