PDA

Просмотр полной версии : Как сделать архивы часовые,суточные,месячные?



delta8
17.01.2024, 07:24
Добрый день. Подскажите как реализовать макрос который бы составлял архивы часовые,из них потом суточные и из суточных месячные?Есть показания расходомера в л/мин с частотой обновления раз в минуту.

МихаилГл
17.01.2024, 07:37
Добрый день. Подскажите как реализовать макрос который бы составлял архивы часовые,из них потом суточные и из суточных месячные?Есть показания расходомера в л/мин с частотой обновления раз в минуту.

На какой HMI? А не проще в SQL загнать?

Sergej_
17.01.2024, 07:40
Добрый день. Подскажите как реализовать макрос который бы составлял архивы часовые,из них потом суточные и из суточных месячные?Есть показания расходомера в л/мин с частотой обновления раз в минуту.

Если речь о панели ( судя по разделу). То они там есть, в таблицах, графиках. Вкладка в свойствах "сохранение данных "

kondor3000
17.01.2024, 08:10
Добрый день. Подскажите как реализовать макрос который бы составлял архивы часовые,из них потом суточные и из суточных месячные?Есть показания расходомера в л/мин с частотой обновления раз в минуту.

Вот здесь подобное реализовано на ПР200 (можно и на ПЛК). Общий расход, архив часовой,суточный,месячный и годовой. В конце 3 рабочих проекта.
https://owen.ru/forum/showthread.php?t=38925&page=4

Всё это можно передать и сохранить в Панели в виде таблицы.

delta8
17.01.2024, 08:33
Панель СП307-Р,в SQL не умею

delta8
17.01.2024, 08:37
В СП307 есть таблица отображения данных, но как мне из этой таблицы суммировать показания и заносить в другую таблицу с разной периодичностью ?

kondor3000
17.01.2024, 08:55
В СП307 есть таблица отображения данных, но как мне из этой таблицы суммировать показания и заносить в другую таблицу с разной периодичностью ?

У вас кроме панели есть ещё что то?
Пишите поток, через час поток за час обнуляется, а месячный и годовой продолжают считаться, пока не кончится месяц или год.
Выше пример подсчёта в ПР200.

imaex
17.01.2024, 09:23
Добрый день. Подскажите как реализовать макрос который бы составлял архивы часовые,из них потом суточные и из суточных месячные?Есть показания расходомера в л/мин с частотой обновления раз в минуту.

А Вам зачем эти архивы? Для коммерческого учёта оно всё равно не пойдёт.

delta8
17.01.2024, 10:51
А Вам зачем эти архивы? Для коммерческого учёта оно всё равно не пойдёт.

для технологического

delta8
17.01.2024, 10:53
У вас кроме панели есть ещё что то?
Пишите поток, через час поток за час обнуляется, а месячный и годовой продолжают считаться, пока не кончится месяц или год.
Выше пример подсчёта в ПР200.

пр102 есть, думал что на ПР нельзя сделать такое,спасибо за ссылку, но все же на будущее хотелось бы чтобы вся информация хранилась в панели,чтобы можно было эскпортировать на ПК.

Sergej_
17.01.2024, 12:02
Архивы можно и на флешку, подключенную к панели. Изучите РЭ.

delta8
17.01.2024, 12:04
Архивы можно и на флешку, подключенную к панели. Изучите РЭ.

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

МихаилГл
17.01.2024, 12:10
да мне нужно в панели чтобы все было, просто нужен макрос который бы мог суммировать показания из 60 табличных регистров и заносил это значение в другую таблицу

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

In_Da_Cher_A
17.01.2024, 12:44
просто нужен макрос который бы мог суммировать показания из 60 табличных регистров и заносил это значение в другую таблицу
пишите сами и программируйте сами, готового в панели ничего нет, а даже если кто-то и делал, то мы живём в капитализме.

п.с. из своих опытов на панели В...к могу сказать - это неудобно, непрозрачно и т.д. На ОВЕНе - тем более, тут софт дубовый

самое простое - это выносить по сети нужные данные на нормальный АРМ, где средствами ПК и СКАДы это можно нормально всё обрабатывать, архивировать и представлять, особенно, если требуется более менее длительные период, чем одна смена. Тем более - если ты начинаешь хранить и это действительно кто-то начинает использовать в работе, то рано или поздно это надо печатать

на панели смотреть что-то более длительное чем одна смена/сутки и с высокочастотным сканированием данных - это мутная неудобная муть
Панель - это средство оперативного контроля. А постобработка должна уже делаться на нормальном рабочем месте

поэтому не тратьте время. На панели сделайте обычную выборку данных за смену/сутки, это обычно всем хватит, и работайте над организацией АРМ и скады, если всё так действительно необходимо

kondor3000
17.01.2024, 14:29
пр102 есть, думал что на ПР нельзя сделать такое,спасибо за ссылку, но все же на будущее хотелось бы чтобы вся информация хранилась в панели,чтобы можно было эскпортировать на ПК.

Это вообще не проблема, передаёте 5 переменных в панель и пишите в панели либо в тренд либо в таблицу, если надо в скаду. Возможен экспорт на флешку.
Этот макрос написан на ST, перевести его можно и в ПЛК. https://owen.ru/forum/showthread.php?t=38925&page=5#43

Здесь, как лучше записывать в панель, чтобы быстро не угробить память https://owen.ru/forum/showthread.php?t=22915&page=308#3079

delta8
02.04.2024, 15:16
Это вообще не проблема, передаёте 5 переменных в панель и пишите в панели либо в тренд либо в таблицу, если надо в скаду. Возможен экспорт на флешку.
Этот макрос написан на ST, перевести его можно и в ПЛК. https://owen.ru/forum/showthread.php?t=38925&page=5#43

Здесь, как лучше записывать в панель, чтобы быстро не угробить память https://owen.ru/forum/showthread.php?t=22915&page=308#3079

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

kondor3000
02.04.2024, 15:26
Сможете помочь с созданием часовых,суточных и месячных архивов,чтобы все считалось в ПРке, не получается написать макрос

Вы по ссылке то посмотрите, там макрос для ПР и есть.

delta8
02.04.2024, 15:54
Вы по ссылке то посмотрите, там макрос для ПР и есть.

то есть остается отдельно выделить 24 регистра для часовых,30 регистров для суточных и 12 регистров для месячных показаний?

kondor3000
02.04.2024, 16:17
то есть остается отдельно выделить 24 регистра для часовых,30 регистров для суточных и 12 регистров для месячных показаний?

Если вы хотите где-то всё сохранять то наверное. Вы не написали куда.
Для передачи из ПР достаточно по 2 регистра на общий, часовой, суточный, месячный, годовой расход. Если надо то + ещё и время.

delta8
02.04.2024, 19:52
Если вы хотите где-то всё сохранять то наверное. Вы не написали куда.
Для передачи из ПР достаточно по 2 регистра на общий, часовой, суточный, месячный, годовой расход. Если надо то + ещё и время.

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

kondor3000
02.04.2024, 20:10
ну мне нужно чтобы все хранилось в ПР, а панель могла просто считывать и вставлять в свою таблицу.Просто в вашем макросе не понятно каким образом сохранять показания в определенные регистры ПР перед тем как они обнулятся считая следующий цикл

Это вообще не мой макрос, вам только ссылку дал, как пример подсчёта, но не сохранения.
А написал, что всё можно передать в панель и там записывать на флешку, таблицу или в тренд. Или в скаду.
Можно и ФБ ( макрос) модернизировать. Но только в ПР много не насохраняешь.

melky
02.04.2024, 21:56
delta8 не морочьте голову с ПР, сожрете ей всю память даже этим количеством, не память, так цикл увеличите в несколько раз.

delta8
03.04.2024, 07:32
Это вообще не мой макрос, вам только ссылку дал, как пример подсчёта, но не сохранения.
А написал, что всё можно передать в панель и там записывать на флешку, таблицу или в тренд. Или в скаду.
Можно и ФБ ( макрос) модернизировать. Но только в ПР много не насохраняешь.

мне нужно хотя бы чтобы часовые хранились в течение дня,а суточные в течение месяца,а месячные в течение года,чтобы память у ПР не забивалась и не создавать отдельные регистры следующего дня или месяца, просто если в панели все записывать то тогда там надо записывать на флешку, а с флешки на панель данные не подтянутся если пропадет питание.
Просто как это реализовать, думаю что нужно типа какого то блока fSave использовать с контролем времени.

melky
03.04.2024, 08:37
delta8 вам давали ссылку на код на ST, сам не пробовал еще, но если за счет ST можно сократить цикл (на FBD я хранил всего 16 переменных и это отнимает именно от цикла, вплоть до того, что экран мигать начинает). то возможно есть смысл.
Еще момент, храня в ПР за последние сутки, надо чтобы Scada могла подавать команду смены часа и вычитывать нужный час. Типа чтение архива через один регистр. Регистры в ПР не безграничны тоже.

delta8
03.04.2024, 09:06
delta8 вам давали ссылку на код на ST, сам не пробовал еще, но если за счет ST можно сократить цикл (на FBD я хранил всего 16 переменных и это отнимает именно от цикла, вплоть до того, что экран мигать начинает). то возможно есть смысл.
Еще момент, храня в ПР за последние сутки, надо чтобы Scada могла подавать команду смены часа и вычитывать нужный час. Типа чтение архива через один регистр. Регистры в ПР не безграничны тоже.

у меня ПР102 там регистров побольше чем в ПР200, и по сути его основная задача это считать тепло,расход и скорость конвейерной установки,так что насчет цикла не стоит переживать

kondor3000
03.04.2024, 09:14
у меня ПР102 там регистров побольше чем в ПР200, и по сути его основная задача это считать тепло,расход и скорость конвейерной установки,так что насчет цикла не стоит переживать

Добавил запись расходов 1 раз, стало немного тормозить в симуляции. И это ещё без сохранения 24, 30 и 12 шт расходов. 74931
запись при изменении часа, дня, месяца, года, перед обнулением расхода.
Думаю ничего хорошего при записи в ПР не выйдет.
Надо делать запись в панели, как и говорил. Писать можно в тренд или в таблицу, в энергонезависимую память, а выводить на флеш когда надо.
С ПР подавать только расход и импульсы по времени.

melky
03.04.2024, 09:26
delta8 просто ПР не рассчитана на подобные выкрутасы :) и не так уж и много там регистров, как вам кажется.

delta8
03.04.2024, 09:31
Добавил запись расходов 1 раз, стало всё тормозить в симуляции. И это ещё без сохранения 24, 30 и 12 шт расходов. 74931
запись при изменении часа, дня, месяца, года.
Думаю ничего хорошего при записи в ПР не выйдет.
Надо делать запись в панели, как и говорил. Писать можно в тренд или в таблицу, в энергонезависимую память, а выводить на флеш когда надо.
С ПР подавать только расход и импульсы по времени.

ну а в панели СП 3ХХ, ресурс энергонезависимой памяти это 70000 циклов перезаписи, поэтому я и не хотел трогать PFW область, а использовать PSW и энергонезависмую на ПР. Наверное для моей задачи проще все в SCADу записывать или иметь другую панель, у которой нет особых ограничений по энергонезависимой памяти.

kondor3000
03.04.2024, 09:47
ну а в панели СП 3ХХ, ресурс энергонезависимой памяти это 70000 циклов перезаписи, поэтому я и не хотел трогать PFW область, а использовать PSW и энергонезависмую на ПР. Наверное для моей задачи проще все в SCADу записывать или иметь другую панель, у которой нет особых ограничений по энергонезависимой памяти.

Вы не правильно понимаете запись в панель. Нельзя писать раз в секунду, в один и тот же регистр, через 3 недели он умрёт.
Если вы будете писать тренд в автообласть раз в час, день, месяц, год, памяти хватит на более 100 лет. Чем больше глубина записи, тем реже переписываются одни и те же регистры. Читайте ссылку, по записи в панель

delta8
03.04.2024, 10:00
Вы не правильно понимаете запись в панель. Нельзя писать раз в секунду, в один и тот же регистр, через 3 недели он умрёт.
Если вы будете писать тренд в автообласть раз в час, день, месяц, памяти хватит лет на 100. Чем больше глубина записи, тем реже переписываются одни и те же регистры. Читайте ссылку, по записи в панель

понял, тогда получается мне нужно в ПР отправлять тригер на запись определенных регистров, допустим,через каждый час,сутки и месяцы,а панель уже по этим тригерам будет их добавлять в свою таблицу в область PFW?

kondor3000
03.04.2024, 10:03
понял, тогда получается мне нужно в ПР отправлять тригер на запись определенных регистров, допустим,через каждый час,сутки и месяцы,а панель уже по этим тригерам будет их добавлять в свою таблицу в область PFW?

Можно синхронизировать время в ПР и панели, тогда кроме расхода и передавать ничего не надо.
Можно читать время из панели и передавать расход синхронно с временем панели, в панели только сравнивать время и записывать по биту.
В панели время в отдельных регистрах, год, месяц, день, час, мин, сек.

В соседней теме, как синхронизировать время ПР (ПЛК) и панели https://owen.ru/forum/showthread.php?t=39408