УкраїнськаEnglishmRussian
Вхід/Новий
У темі немає нових постів

Запись в архив значений, как?


Автор Повідомлення
Повідомлення створено: 11. 09. 2013 [12:49]
dell
Путин Краб
Автор теми
Зареєстрован(а) с: 09.04.2013
Повідомлення: 28
По какому-то событию нужно записать некоторое значение в архив. Соответственно создаем архив значений, источник "Пассивный". Жесткую сетку времени буфера убираем, ни один архиватор не обрабатывает этот архив, во вкладке "Значения" архиватор установлен буфер. Записываем данные следующим образом:
JAVASCRIPT
using Special.FLibSYS;
Text1_text = vArh("Archive.va_day").set(Text1_tm1, SYS.time(), 0);
Text1_tm1++;

Данные записываются, но еще и записывается куча значений "<EVAL>". Как сделать так, чтобы записывались только те значения, какие мы посылаем, и ничего больше? Если для архива сделать обработку каким-либо архиватором, то записываются значения исходя из времени выборки архиватора, в т.ч и "<EVAL>".
Повідомлення створено: 11. 09. 2013 [16:48]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"dell" wrote:

Данные записываются, но еще и записывается куча значений "<EVAL>".

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

"dell" wrote:

Как сделать так, чтобы записывались только те значения, какие мы посылаем, и ничего больше?

Писать значения с указанной периодичностью в архиве.

"dell" wrote:

Если для архива сделать обработку каким-либо архиватором, то записываются значения исходя из времени выборки архиватора, в т.ч и "<EVAL>".

Естественно.

P.S. Собственно есть мысль это поведение смягчить, сделав опциональным. Поскольку нужно для задачи оптимизации записи в буфер блоками (в случае если данные в блоке реже, чем в буфере) с однократным лочингом буфера, но руки туда ещё не дошли.

Learn, learn and learn better than work, work and work.
Повідомлення створено: 01. 10. 2016 [20:03]
tka4ev_s
Сергей Ткачев
Зареєстрован(а) с: 19.10.2014
Повідомлення: 30
Добрый день!
есть задача сделать стенд для тестирования вентиляторов.
По окончанию теста нужно все измененные параметры записать в БД.
В БД должно хранится время проведения теста, номер вентилятора и 3 измеренных параметра.
Также нужно производить поиск по номеру вентилятора и формировать отчетный документ.
можно ли это реализовать в OpenSCADA ?
если можно то как?
Повідомлення створено: 03. 10. 2016 [08:34]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"tka4ev_s" wrote:

есть задача сделать стенд для тестирования вентиляторов.
По окончанию теста нужно все измененные параметры записать в БД.
В БД должно хранится время проведения теста, номер вентилятора и 3 измеренных параметра.
Также нужно производить поиск по номеру вентилятора и формировать отчетный документ.
можно ли это реализовать в OpenSCADA ?

Можно и многократно делалось, как сообщения или прямо в БД писать.

Как сообщения в кадрах рецептов сделано, которые соответственно могут архивироваться и в DBArch.

Как прямо к БД обращаться есть в документации.

Learn, learn and learn better than work, work and work.



13051