EnglishУкраїнськаmRussian
Login/New
Topic with many replies

Архиватор


Author Message
Written on: 10. 11. 2009 [10:05]
andrelek
Андрей Полевой
Topic creator
registered since: 13.12.2008
Posts: 210
Еще вопрос. Данные в архиве хранятся в кг/с , иногда возникает необходимость показывать график этих значений в т/ч. Как это сделать?
Written on: 10. 11. 2009 [16:54]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
andrelek wrote:

get( sec, usec, upOrd, archivator ) - Получение значения из архива на время <sec>:<usec> с привязкой к верху <upOrd> и для архиватора <archivator>. Реальное время полученного значения устанавливается в <sec>:<usec>.
Вопрос, как же взять эти значения времени в которые устанавливается <sec>:<usec>.

Что значит взять? Это входные параметры для которых запрашивается значение из архива.

Learn, learn and learn better than work, work and work.
Written on: 10. 11. 2009 [16:56]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
andrelek wrote:

Еще вопрос. Данные в архиве хранятся в кг/с , иногда возникает необходимость показывать график этих значений в т/ч. Как это сделать?

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

Learn, learn and learn better than work, work and work.
Written on: 11. 11. 2009 [16:00]
andrelek
Андрей Полевой
Topic creator
registered since: 13.12.2008
Posts: 210
roman написал:

andrelek написал:

get( sec, usec, upOrd, archivator ) - Получение значения из архива на время <sec>:<usec> с привязкой к верху <upOrd> и для архиватора <archivator>. Реальное время полученного значения устанавливается в <sec>:<usec>.
Вопрос, как же взять эти значения времени в которые устанавливается <sec>:<usec>.

Что значит взять? Это входные параметры для которых запрашивается значение из архива.


Такой вопрос возник потому как в демо проэкте на странице функции getVal на вкладке исполнить в полях <sec> и <usec> значения после пересчета изменяются на реальные значения времени точки в архиве. Вот и предположил что их можно подтянуть.
Written on: 11. 11. 2009 [16:19]
andrelek
Андрей Полевой
Topic creator
registered since: 13.12.2008
Posts: 210
roman написал:

andrelek написал:

Еще вопрос. Данные в архиве хранятся в кг/с , иногда возникает необходимость показывать график этих значений в т/ч. Как это сделать?

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


Преполагал что возможно создание временного архива на основе участка основного, на период просмотра.
Written on: 12. 11. 2009 [09:14]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
andrelek wrote:

roman wrote:

andrelek wrote:

get( sec, usec, upOrd, archivator ) - Получение значения из архива на время <sec>:<usec> с привязкой к верху <upOrd> и для архиватора <archivator>. Реальное время полученного значения устанавливается в <sec>:<usec>.
Вопрос, как же взять эти значения времени в которые устанавливается <sec>:<usec>.

Что значит взять? Это входные параметры для которых запрашивается значение из архива.

Вот и предположил что их можно подтянуть.

Что значит подтянуть и кого их? Выражайтесь яснее!

Learn, learn and learn better than work, work and work.
Written on: 12. 11. 2009 [13:59]
andrelek
Андрей Полевой
Topic creator
registered since: 13.12.2008
Posts: 210
andrelek написал:

roman написал:

andrelek написал:

get( sec, usec, upOrd, archivator ) - Получение значения из архива на время <sec>:<usec> с привязкой к верху <upOrd> и для архиватора <archivator>. Реальное время полученного значения устанавливается в <sec>:<usec>.
Вопрос, как же взять эти значения времени в которые устанавливается <sec>:<usec>.

Что значит взять? Это входные параметры для которых запрашивается значение из архива.


Такой вопрос возник потому как в демо проэкте на странице функции getVal на вкладке исполнить в полях <sec> и <usec> значения после пересчета изменяются на реальные значения времени точки в архиве. Вот и предположил что их можно подтянуть.

Предположил что эти значения времени в данной точке архива <sec> и <usec> можно получить вместе со значением архива. Т.е например есть часовой архив, и есть точка в архиве значение ее 10 а время 12.11.2009 12:00:00.00 Если на вкладке "исполнить" функции getVal демо проэкта запросить значение архива для времени например 12.11.2009 12:15:00.00 с upOrd=0 то мы получим наше значение 10 и увидим что в полях задания времени время изменилось из заданного 12.11.2009 12:15:00.00 на время точки архива 12.11.2009 12:00:00.00. Хотелось бы получать это время точки архива.
Written on: 12. 11. 2009 [16:54]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
Оно так и есть. Только нужно указать начальное время, а дальше он подтянет и вернёт реальное время вместе со значением. Здесь смотрели http://wiki.oscada.org/Doc/FLibSYS?v=1070#h378-8 ?

Кстати именно на этом принципе и основаны функции усреднения и суммирования, лежащие рядом с getVal().

Learn, learn and learn better than work, work and work.
Written on: 20. 01. 2010 [17:04]
andrelek
Андрей Полевой
Topic creator
registered since: 13.12.2008
Posts: 210
Здравствуйте! Честно признаться не сразу понял точно Ваш ответ Роман. И вот пришел к нему сам опытным путем.
Например есть такой кусочек скрипта:

messPut("tcyc",1,"Value "+tcycO);
Oldval = a_src.get(tcycO,buf_beg_u,0,archtor);
messPut("tcyc",2,"Value "+tcycO);

при запросе значения точки
если там его нет (eval_real) переменная несущщая значение времени tcyc сбрасывается
в 0 т.е в первом сообщении наше время а во втором 0
а если есть то в реальное значение в котором находится точка, т.е в первом сообщении наше время
запрашиваемой точки а во втором сообщении время в котором точка в архиве находится.
Пишу чтоб помочь таким как я понять и разобраться. Надеюсь пояснение оказалось полезным icon_smile.gif
Written on: 09. 02. 2010 [08:43]
andrelek
Андрей Полевой
Topic creator
registered since: 13.12.2008
Posts: 210
Здравствуйте! Имею такую ситуацию: openscada работает с датчиком-расходомером по протоколу modbus и пишет архив по параметрам датчика плотность,температура, расход массовый и объемный и сумматор в котором накапливаются значения массы прокачанной через датчик. Проблема в том что на графиках появляются провалы (недотоверные значения, вместо разрывов графиков,разрывы тоже бывают) в момент когда перезагружалась машина на которой openscada установлена. Что неправильно настроено?



5623