Segnetics

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

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

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

что-то голову уже сломал..
есть импульсный вход с датчика расхода на пч,
у пч есть 16-битный инкрементирующий счетчик.
по 485му забираю его значение на контроллер и теперь надо получить минутный, часовой, суточный и суммарный расходы.
понятно что надо брать разность по отсчётам, понятно что надо суммировать часовые, непонятно что делать при переходе счетчика через нуль.
при отладке от программного счетчика у меня вместо ровной линии получается ступенька.
https://photos.app.goo.gl/Kb3fhdWrad7gJeUF9

м.б. кто-то поделится боле-мене готовым макросом?
Вложения
Тип файла: zip Расходомер имп. v2.zip (25.3 Кбайт, 37 просмотров)


__________________
C уважением, LordN

Последний раз редактировалось LordN, 20.11.2018 в 12:50 Причина: *
LordN сейчас на форуме   Ответить с цитированием
Старый 20.11.2018, 14:47   #2
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 740
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Расходомер

Цитата
Сообщение от LordN Посмотреть сообщение
понятно что надо брать разность по отсчётам, понятно что надо суммировать часовые, непонятно что делать при переходе счетчика через нуль.
Ну запихнуть все отсчеты надо в лонг чтобы со знаками не плутать. При переходе через 0 (новый отсчет меньше) вычесть старый из 65536 и добавить новый. Все суммировать в новом итоговом лонге и анализировать уже его изменения для контроля расхода, так как полученные по 485-му цифры будут не привязаны ко времени контроллера.
ATS вне форума   Ответить с цитированием
Старый 20.11.2018, 20:05   #3
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 125
Благодарил(а): 239 раз(а)
Поблагодарили: 161 раз(а) в 153 сообщениях
По умолчанию Ответ: Расходомер

Цитата
Сообщение от ATS Посмотреть сообщение
Ну запихнуть все отсчеты надо в лонг чтобы со знаками не плутать. При переходе через 0 (новый отсчет меньше) вычесть старый из 65536 и добавить новый. Все суммировать в новом итоговом лонге и анализировать уже его изменения для контроля расхода, так как полученные по 485-му цифры будут не привязаны ко времени контроллера.
почему 65536 а не 65535?
вопщем все так примерно и делаю, но...
спасибо, попробую этот рецепт.


__________________
C уважением, LordN
LordN сейчас на форуме   Ответить с цитированием
Ответ

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

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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SMH2GI и расходомер РУС-1 gav999 Связь с внешним миром 5 18.05.2017 17:43
Расходомер РСЦ - RS485 andre Связь с внешним миром 4 19.01.2017 17:54
расходомер ВЗЛЕТ ЭКСПЕРТ 812А zev_ Примеры работы по Modbus 0 22.03.2011 22:31


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


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