Автор |
Повідомлення |
Повідомлення створено: 10. 11. 2009 [10:05]
|
andrelek
Андрей Полевой
Автор теми
Зареєстрован(а) с: 13.12.2008
Повідомлення: 210
|
Еще вопрос. Данные в архиве хранятся в кг/с , иногда возникает необходимость показывать график этих значений в т/ч. Как это сделать?
|
Повідомлення створено: 10. 11. 2009 [16:54]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 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.
|
Повідомлення створено: 10. 11. 2009 [16:56]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
andrelek wrote:
Еще вопрос. Данные в архиве хранятся в кг/с , иногда возникает необходимость показывать график этих значений в т/ч. Как это сделать?
Данные не могут лежать в разных единицах и показываются как положили. Если нужно в других единицах то пересчитывайте архив и кладите в другой, но это извращение.
Learn, learn and learn better than work, work and work.
|
Повідомлення створено: 11. 11. 2009 [16:00]
|
andrelek
Андрей Полевой
Автор теми
Зареєстрован(а) с: 13.12.2008
Повідомлення: 210
|
roman написал:
andrelek написал:
get( sec, usec, upOrd, archivator ) - Получение значения из архива на время <sec>:<usec> с привязкой к верху <upOrd> и для архиватора <archivator>. Реальное время полученного значения устанавливается в <sec>:<usec>.
Вопрос, как же взять эти значения времени в которые устанавливается <sec>:<usec>.
Что значит взять? Это входные параметры для которых запрашивается значение из архива.
Такой вопрос возник потому как в демо проэкте на странице функции getVal на вкладке исполнить в полях <sec> и <usec> значения после пересчета изменяются на реальные значения времени точки в архиве. Вот и предположил что их можно подтянуть.
|
Повідомлення створено: 11. 11. 2009 [16:19]
|
andrelek
Андрей Полевой
Автор теми
Зареєстрован(а) с: 13.12.2008
Повідомлення: 210
|
roman написал:
andrelek написал:
Еще вопрос. Данные в архиве хранятся в кг/с , иногда возникает необходимость показывать график этих значений в т/ч. Как это сделать?
Данные не могут лежать в разных единицах и показываются как положили. Если нужно в других единицах то пересчитывайте архив и кладите в другой, но это извращение.
Преполагал что возможно создание временного архива на основе участка основного, на период просмотра.
|
Повідомлення створено: 12. 11. 2009 [09:14]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 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.
|
Повідомлення створено: 12. 11. 2009 [13:59]
|
andrelek
Андрей Полевой
Автор теми
Зареєстрован(а) с: 13.12.2008
Повідомлення: 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. Хотелось бы получать это время точки архива.
|
Повідомлення створено: 12. 11. 2009 [16:54]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
Оно так и есть. Только нужно указать начальное время, а дальше он подтянет и вернёт реальное время вместе со значением. Здесь смотрели http://wiki.oscada.org/Doc/FLibSYS?v=1070#h378-8 ?
Кстати именно на этом принципе и основаны функции усреднения и суммирования, лежащие рядом с getVal().
Learn, learn and learn better than work, work and work.
|
Повідомлення створено: 20. 01. 2010 [17:04]
|
andrelek
Андрей Полевой
Автор теми
Зареєстрован(а) с: 13.12.2008
Повідомлення: 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
а если есть то в реальное значение в котором находится точка, т.е в первом сообщении наше время
запрашиваемой точки а во втором сообщении время в котором точка в архиве находится.
Пишу чтоб помочь таким как я понять и разобраться. Надеюсь пояснение оказалось полезным
|
Повідомлення створено: 09. 02. 2010 [08:43]
|
andrelek
Андрей Полевой
Автор теми
Зареєстрован(а) с: 13.12.2008
Повідомлення: 210
|
Здравствуйте! Имею такую ситуацию: openscada работает с датчиком-расходомером по протоколу modbus и пишет архив по параметрам датчика плотность,температура, расход массовый и объемный и сумматор в котором накапливаются значения массы прокачанной через датчик. Проблема в том что на графиках появляются провалы (недотоверные значения, вместо разрывов графиков,разрывы тоже бывают) в момент когда перезагружалась машина на которой openscada установлена. Что неправильно настроено?
|