Segnetics

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

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

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

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

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

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

Буду признателен за любые подсказки.
Миниатюры
Нажмите на картинку для увеличения

Название:  2022-06-30 14-49-04 Скриншот экрана.png
Просмотров: 25
Размер:  190.4 Кбайт  
Вложения
Тип файла: 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 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Исторические блоки, обработка результатов.

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

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

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

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


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

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

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


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

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


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

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

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

20220630_130236_REPORT2.zip

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


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

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


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

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


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

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

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


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

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


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

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

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

Расширенный поиск
Опции просмотра

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конструктор HVAC обработка аварий (нет проблемы) Colorit Вопросы о SMH4 11 10.01.2024 20:47
Блоки from to shmidt.w SMLogix 11 17.11.2016 17:52
Ядро не поддерживает некоторые блоки megavolt SMLogix 3 21.01.2015 17:17


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


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