Повідомлення створено: 11. 09. 2013 [12:49]
|
dell
Путин Краб
Автор теми
Зареєстрован(а) с: 09.04.2013
Повідомлення: 28
|
По какому-то событию нужно записать некоторое значение в архив. Соответственно создаем архив значений, источник "Пассивный". Жесткую сетку времени буфера убираем, ни один архиватор не обрабатывает этот архив, во вкладке "Значения" архиватор установлен буфер. Записываем данные следующим образом:
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.
|