Segnetics

Вернуться   Segnetics > Форум Segnetics > Вопросы о программировании

Вопросы о программировании Вопросы, касающиеся программирования на FBD

Ответ
 
Опции темы Поиск в этой теме
Старый 30.06.2022, 12:02   #1
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 157
Благодарил(а): 240 раз(а)
Поблагодарили: 165 раз(а) в 157 сообщениях
По умолчанию Исторические блоки, обработка результатов

В прицепе скриншот и табличка.
Табличка — отчет с проекта.
В скриншоте выделен столбец, который меня интересует, рядом виден тренд, построенный по этому столбцу.
Суть — это данные счетчика импульсов расходомера. Счетчик не энергонезависимый, т.е. при сбросе питания накопленное значение сбрасывается.
Но в историю значения этого счетчика пишутся постоянно.
Вопрос такой: как средствами смлоджика обработать результат, чтобы получить реальную разность последнего значения и первого в этом столбце?

В самой табличке я поступаю просто — ищу все локальные максимумы на тренде, их все суммирую, а затем вычитаю самое первое значение.

Но как перевести это в лоджик — я пока не очень себе понимаю.

Буду признателен за любые подсказки.
Изображения
Тип файла: png 2022-06-30 14-49-04 Скриншот экрана.png (190.4 Кбайт, 25 просмотров)
Вложения
Тип файла: zip 20220630_130236_REPORT.zip (289.7 Кбайт, 4 просмотров)


__________________
C уважением, LordN
LordN сейчас на форуме   Ответить с цитированием
Старый 30.06.2022, 12:34   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 066
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Исторические блоки, обработка результатов.

Цитата:
Сообщение от LordN Посмотреть сообщение

В самой табличке я поступаю просто — ищу все локальные максимумы на тренде, их все суммирую, а затем вычитаю самое первое значение.

Но как перевести это в лоджик — я пока не очень себе понимаю.
Да также. Только "ручками", т.к. лоджик не умеет локализовать максимумы.

Я бы строил алгоритм от обратного. При включении питания искал в хистори максимум (или лучше даже самый поздний достоверный результат - это быстрее), загружал его в счётчик и продолжал считать от него, записывая в хистори уже скорректированные данные. Т.е. график будет хоть и с разрывами на отключение питания, но монотонно возрастающий.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 30.06.2022, 12:39   #3
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 157
Благодарил(а): 240 раз(а)
Поблагодарили: 165 раз(а) в 157 сообщениях
По умолчанию Ответ: Исторические блоки, обработка результатов.

ну допустим, а как автоматом получить разность первого и последнего в столбце при заданном диапазоне времени?


__________________
C уважением, LordN
LordN сейчас на форуме   Ответить с цитированием
Старый 30.06.2022, 12:59   #4
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 066
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Исторические блоки, обработка результатов.

Цитата:
Сообщение от LordN Посмотреть сообщение
ну допустим, а как автоматом получить разность первого и последнего в столбце при заданном диапазоне времени?
В монотонном графике - получить минимум и максимум.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Благодарность от:
Старый 30.06.2022, 16:20   #5
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 782
Благодарил(а): 12 раз(а)
Поблагодарили: 194 раз(а) в 190 сообщениях
По умолчанию Ответ: Исторические блоки, обработка результатов

Цитата:
Сообщение от LordN Посмотреть сообщение
В самой табличке я поступаю просто — ищу все локальные максимумы на тренде, их все суммирую, а затем вычитаю самое первое значение.
Ну в экселе можно это автоматизировать.

20220630_130236_REPORT2.zip

По идее монотонку в FBD можно получить аналогично. Отследить min/max тоже.


__________________
Не являюсь сотрудником Segnetics !!!
ATS вне форума   Ответить с цитированием
Старый 30.06.2022, 20:50   #6
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 157
Благодарил(а): 240 раз(а)
Поблагодарили: 165 раз(а) в 157 сообщениях
По умолчанию Ответ: Исторические блоки, обработка результатов.

Цитата:
Сообщение от Arsie Посмотреть сообщение
В монотонном графике - получить минимум и максимум.
а как сделать сканер и как получить временные координаты минимума и максимума?


__________________
C уважением, LordN
LordN сейчас на форуме   Ответить с цитированием
Старый 01.07.2022, 11:19   #7
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 066
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Исторические блоки, обработка результатов.

Цитата:
Сообщение от LordN Посмотреть сообщение
как получить временные координаты минимума и максимума?
Не знаю, вы же задали вопрос о "заданном отрезке времени", т.е. координаты нужного отрезка у вас есть, хотя бы его вхождения. А дальше уже дело техники - использовать "функция минимум" и "функция максимум". Координаты вам не даст, но они в поставленной задаче и не нужны - тренд же монотонно возрастает.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 01.07.2022, 11:53   #8
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 157
Благодарил(а): 240 раз(а)
Поблагодарили: 165 раз(а) в 157 сообщениях
По умолчанию Ответ: Исторические блоки, обработка результатов.

Цитата:
Сообщение от Arsie Посмотреть сообщение
Не знаю, вы же задали вопрос о "заданном отрезке времени", т.е. координаты нужного отрезка у вас есть, хотя бы его вхождения. А дальше уже дело техники - использовать "функция минимум" и "функция максимум". Координаты вам не даст, но они в поставленной задаче и не нужны - тренд же монотонно возрастает.
если бы можно было получить координаты минимума или максимума, то можно было бы делать вывод об "обрыве значений" просматривая архив какими-то временными кусками. т.е. врем.координаты мин или макс отличаются от начала и конца, то ...


__________________
C уважением, LordN
LordN сейчас на форуме   Ответить с цитированием
Старый 01.07.2022, 12:41   #9
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 066
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Исторические блоки, обработка результатов.

Цитата:
Сообщение от LordN Посмотреть сообщение
если бы можно было получить координаты минимума или максимума, то можно было бы делать вывод об "обрыве значений" просматривая архив какими-то временными кусками. т.е. врем.координаты мин или макс отличаются от начала и конца, то ...
А зачем оно внутри контроллера?


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 09:45.


Версия vBulletin: 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2024