- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Вычисления скорости протока воды на s7-1200
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 21 ноя 2015, 12:19
- Имя: Владимир
- Страна: Украина
- Благодарил (а): 2 раза
Вычисления скорости протока воды на s7-1200
Добрый день
Просьба о помощи заключается в следующем:
на производстве стоит проточный дозатор воды собственного изготовления на базе контроллера s7-1200, встал вопрос о добавление
функции вычисления скорости воды при дозировке. Пока мои попытки написать программу без успешны.
Попробую описать, что я делаю для нахождения скорости пролив. В программе я считаю количество импульсов двумя скоростными счетчиками. Каждую секунду я делаю остановку одного из них на 1 сек. , тогда вычисляю разницу двух счетчиков. Но минус этого метода, приходится обнулять один счетчик тогда значение скорости начинается с начала. Как сделать, что значения не обновлялось, а показывало увеличение или уменьшение скорости слива воды.
Заранее благодарен за помощь.
Просьба о помощи заключается в следующем:
на производстве стоит проточный дозатор воды собственного изготовления на базе контроллера s7-1200, встал вопрос о добавление
функции вычисления скорости воды при дозировке. Пока мои попытки написать программу без успешны.
Попробую описать, что я делаю для нахождения скорости пролив. В программе я считаю количество импульсов двумя скоростными счетчиками. Каждую секунду я делаю остановку одного из них на 1 сек. , тогда вычисляю разницу двух счетчиков. Но минус этого метода, приходится обнулять один счетчик тогда значение скорости начинается с начала. Как сделать, что значения не обновлялось, а показывало увеличение или уменьшение скорости слива воды.
Заранее благодарен за помощь.
-
- почётный участник форума
- Сообщения: 5790
- Зарегистрирован: 07 окт 2011, 09:12
- Имя: Гаско Вячеслав Эриевич
- Страна: Россия
- город/регион: Рязань
- Благодарил (а): 673 раза
- Поблагодарили: 841 раз
Вычисления скорости протока воды на s7-1200
Не совсем понятен Ваш метод...
Вообще, для измерения частоты следования импульсов используются два способа
1) Подсчёт количества периодов измеряемого сигнала за известный калиброваный отрезок времени;
2) Подсчёт периодов опорной частоты за период измеряемого сигнала.
Для увеличения скорости обработки при первом способе можно применить сторобоскопический метод обработки. Используя несколько счётчиков можно запускать процедуру отсчёта в следующем счётчике не дожидаясь окончания периода счёта в предыдущем. Например, имеем 4 счётчика и запускаем счет в каждом из них на секунду, но со сдвигом в 1/4 секунды для каждого. Таким образом, мы можем иметь результаты чаще, не раз в секунду, а четыре раза в секунду.
Затем помещаем результаты в сдвиговый регистр и обрабатываем для вычисления изменений.
А у Вас что?
Вообще, для измерения частоты следования импульсов используются два способа
1) Подсчёт количества периодов измеряемого сигнала за известный калиброваный отрезок времени;
2) Подсчёт периодов опорной частоты за период измеряемого сигнала.
Для увеличения скорости обработки при первом способе можно применить сторобоскопический метод обработки. Используя несколько счётчиков можно запускать процедуру отсчёта в следующем счётчике не дожидаясь окончания периода счёта в предыдущем. Например, имеем 4 счётчика и запускаем счет в каждом из них на секунду, но со сдвигом в 1/4 секунды для каждого. Таким образом, мы можем иметь результаты чаще, не раз в секунду, а четыре раза в секунду.
Затем помещаем результаты в сдвиговый регистр и обрабатываем для вычисления изменений.
А у Вас что?
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 21 ноя 2015, 12:19
- Имя: Владимир
- Страна: Украина
- Благодарил (а): 2 раза
Вычисления скорости протока воды на s7-1200
Я только начинаю заниматься программированием, не понимаю как реализовать ваш вариант расчета. Мне нужно реализовать на LAD или FBD скорость дозирования воды в л/с или л/мин. Как это сделать?
-
- эксперт
- Сообщения: 1172
- Зарегистрирован: 14 ноя 2013, 20:35
- Имя: Анатолий Сергеевич
- Страна: Россия
- город/регион: Башкортостан
- Благодарил (а): 13 раз
- Поблагодарили: 68 раз
Вычисления скорости протока воды на s7-1200
Похожую задачурешал так:
Измеряете время между импульсами. Это время умножаете на цену импульса. По пропорции доводите значение до объема в минуту или секунду...
Если скорость большая то замереяете время между, допустим 10 импульсами...или больше.
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 21 ноя 2015, 12:19
- Имя: Владимир
- Страна: Украина
- Благодарил (а): 2 раза
Вычисления скорости протока воды на s7-1200
Большая просьба показать, как должна выглядеть программа для реализации данной задачи.
Спасибо.
Спасибо.
-
- эксперт
- Сообщения: 1172
- Зарегистрирован: 14 ноя 2013, 20:35
- Имя: Анатолий Сергеевич
- Страна: Россия
- город/регион: Башкортостан
- Благодарил (а): 13 раз
- Поблагодарили: 68 раз
Вычисления скорости протока воды на s7-1200
тут (в самом низу) есть небольшой тестовый пример по реализации скорости двигателя, вам он может пригодиться)))
-
- здесь недавно
- Сообщения: 12
- Зарегистрирован: 11 дек 2017, 10:24
- Имя: Максим
- Страна: РФ
- город/регион: Орск
Вычисления скорости протока воды на s7-1200
Доброго времени суток!
Имею схожую проблему касательно датчика расхода воды.
Из оборудования 1500 Сименс (без скоростного счетчика) и дискретный датчик, посылающий сигнал через каждый литр воды.
Дали задание вывести на экран расход воды в час имея лишь сигналы с этого датчика.
формулу я понимаю: час делим на время между импульсами, но как это реализовать ума не приложу!
Есть ли у кого опыт в конструкции подобного программного блока?
Заранее спасибо!
Имею схожую проблему касательно датчика расхода воды.
Из оборудования 1500 Сименс (без скоростного счетчика) и дискретный датчик, посылающий сигнал через каждый литр воды.
Дали задание вывести на экран расход воды в час имея лишь сигналы с этого датчика.
формулу я понимаю: час делим на время между импульсами, но как это реализовать ума не приложу!
Есть ли у кого опыт в конструкции подобного программного блока?
Заранее спасибо!
-
- здесь недавно
- Сообщения: 13
- Зарегистрирован: 12 фев 2018, 20:17
- Имя: Андрей
- Страна: Россия
- город/регион: Кузнецк
- Поблагодарили: 6 раз
Вычисления скорости протока воды на s7-1200
В моем старом проекте я вот этим методом делал, только этот код должен выполняться в блоке с вызовом по прерыванию каждую 1 секунду. Еще необходимо учитывать какие у Вас требования к точности, какое сглаживание делать конечной величины.volodumur_lv писал(а): ↑16 дек 2017, 22:57 Большая просьба показать, как должна выглядеть программа для реализации данной задачи.
Спасибо.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- эксперт
- Сообщения: 1172
- Зарегистрирован: 14 ноя 2013, 20:35
- Имя: Анатолий Сергеевич
- Страна: Россия
- город/регион: Башкортостан
- Благодарил (а): 13 раз
- Поблагодарили: 68 раз
Вычисления скорости протока воды на s7-1200
kanadeiar, не совсем понятен ваш пример.
1. Где вход у вас, импульсы которого вы считаете? Ведется подсчет импульсов тактового бита 1Гц.
2.зачем ловите фронт этого тактового бита? Счетчик сам отлавливает фронт.
3. Уставка счетчика всегда 0 - выход постоянный всегда.
4. Отсутствует событие для сброса счетчика.
5 для чего конвертируете в real формат значение количества импульсов?
6. Для чего необходимо знать разницу предыдущего и нового значения импульсов?
Больше вопросов ваш пример родил у меня чем ответов
Если можно то я бы поправил так:
1. вход с расходомера заводим на вход счетчика.
2. Импульс по отрицательному ИЛИ положительному фронту тактового бита завести на сброс счетчика.
3. Уставку счетчика ставите какую нравится, я бы ставил как можно больше
Тем самым счетчик будет вести счет количества импульсов в секунду.
Далее масштабируете так как реализовано в 3 нетворке.
Получаете мгновенный расход в л/ч.
1. Где вход у вас, импульсы которого вы считаете? Ведется подсчет импульсов тактового бита 1Гц.
2.зачем ловите фронт этого тактового бита? Счетчик сам отлавливает фронт.
3. Уставка счетчика всегда 0 - выход постоянный всегда.
4. Отсутствует событие для сброса счетчика.
5 для чего конвертируете в real формат значение количества импульсов?
6. Для чего необходимо знать разницу предыдущего и нового значения импульсов?
Больше вопросов ваш пример родил у меня чем ответов
Если можно то я бы поправил так:
1. вход с расходомера заводим на вход счетчика.
2. Импульс по отрицательному ИЛИ положительному фронту тактового бита завести на сброс счетчика.
3. Уставку счетчика ставите какую нравится, я бы ставил как можно больше
Тем самым счетчик будет вести счет количества импульсов в секунду.
Далее масштабируете так как реализовано в 3 нетворке.
Получаете мгновенный расход в л/ч.
-
- здесь недавно
- Сообщения: 12
- Зарегистрирован: 11 дек 2017, 10:24
- Имя: Максим
- Страна: РФ
- город/регион: Орск
Вычисления скорости протока воды на s7-1200
Для дискретного датчика расхода воды сделал простенький блок с расчетом на час времени, если интересно можете посмотреть, буду рад если внесете свои правки или если кому поможет.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- эксперт
- Сообщения: 1172
- Зарегистрирован: 14 ноя 2013, 20:35
- Имя: Анатолий Сергеевич
- Страна: Россия
- город/регион: Башкортостан
- Благодарил (а): 13 раз
- Поблагодарили: 68 раз
Вычисления скорости протока воды на s7-1200
Работать то будет
По мне так не оптимизировано по памяти...много ненужных промежуточных переменных. Вместо таймера можно использовать тактовые биты.
Если измерять расход таким методом для регулирования то 5 секунд очень много, а если для того чтобы посмотреть персоналу на циферку - нормально
-
- здесь недавно
- Сообщения: 12
- Зарегистрирован: 11 дек 2017, 10:24
- Имя: Максим
- Страна: РФ
- город/регион: Орск
Вычисления скорости протока воды на s7-1200
Насчет оптимизации согласен, еще буду доводить до ума, касательно времени буду обкатывать на месте.
Только вопрос что такое тактовые биты и где можно прочитать информацию?
Спасибо!!!
Только вопрос что такое тактовые биты и где можно прочитать информацию?
Спасибо!!!
-
- здесь недавно
- Сообщения: 13
- Зарегистрирован: 12 фев 2018, 20:17
- Имя: Андрей
- Страна: Россия
- город/регион: Кузнецк
- Поблагодарили: 6 раз
Вычисления скорости протока воды на s7-1200
Спасибо за разбор моего примера!megavolt86 писал(а): ↑16 май 2018, 19:05 kanadeiar, не совсем понятен ваш пример.
Если можно то я бы поправил так:
1. вход с расходомера заводим на вход счетчика.
2. Импульс по отрицательному ИЛИ положительному фронту тактового бита завести на сброс счетчика.
3. Уставку счетчика ставите какую нравится, я бы ставил как можно больше
Тем самым счетчик будет вести счет количества импульсов в секунду.
Далее масштабируете так как реализовано в 3 нетворке.
Получаете мгновенный расход в л/ч.
Обожаю рисовать схемки. Собрал по Вашим поправкам. Вход со счетчика ставить вместо переменной "Clock_10Hz". По этой схеме (ниже) работает прекрасно если количество поступающих импульсов в секунду на входе больше чем 3-10. Если же к примеру 1 импульс в минуту или час? Поправьте если ошибся.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- эксперт
- Сообщения: 1172
- Зарегистрирован: 14 ноя 2013, 20:35
- Имя: Анатолий Сергеевич
- Страна: Россия
- город/регион: Башкортостан
- Благодарил (а): 13 раз
- Поблагодарили: 68 раз
Вычисления скорости протока воды на s7-1200
Да может работать, но если ставить на сброс счетчика просто %м0.5, тобудет вестись подсчет за 2 секунды. Лучше поставить р-контакт %м0.4(2 Гц)...тогда сброс будет раз в секунду.
Для этого необходимо добавить дополнительное условие и все таки ввести в программу таймер, уставка которого будет меняться от того каксоблюдается это условие...
Был бы софт под рукой, показал бы...
-
- осмотрелся
- Сообщения: 101
- Зарегистрирован: 24 апр 2019, 23:07
- Имя: Алик
- Благодарил (а): 55 раз
- Поблагодарили: 4 раза
Вычисления скорости протока воды на s7-1200
Доброго времени суток всем.
У меня как раз задача с расходомеров снимать показания 4...20 мА и пересчитывать в л/мин или м3/час.
Понимаю мозгом что нужен генератор импульсов, который будет отсчитывать 1 секунду и при получении значения скажем 20 мА складывать последнее значение с новым.(конвертацию не принимаем пока в расчёт).
В ОВЕНЕ такую задачу решал, там язык программирования FBD на много проще чем тут. (зрительно комфортно воспринимаются блоки и линии). А тут даже генератор импульсов найти не могу, короче полный ламер
И да, в Овене просто есть блок BLINK, в котором задаём 0,5 секунды импульса и 0,5 секунды паузы, что бы был период в 1 секунду, а тут где это взять???
Если кто-нибудь скинет скрин или если не лень фрагмент програмки, то буду очень благодарен. У меня на руках 1215С DC/DC/RLY.
У меня как раз задача с расходомеров снимать показания 4...20 мА и пересчитывать в л/мин или м3/час.
Понимаю мозгом что нужен генератор импульсов, который будет отсчитывать 1 секунду и при получении значения скажем 20 мА складывать последнее значение с новым.(конвертацию не принимаем пока в расчёт).
В ОВЕНЕ такую задачу решал, там язык программирования FBD на много проще чем тут. (зрительно комфортно воспринимаются блоки и линии). А тут даже генератор импульсов найти не могу, короче полный ламер
И да, в Овене просто есть блок BLINK, в котором задаём 0,5 секунды импульса и 0,5 секунды паузы, что бы был период в 1 секунду, а тут где это взять???
Если кто-нибудь скинет скрин или если не лень фрагмент програмки, то буду очень благодарен. У меня на руках 1215С DC/DC/RLY.
-
- осмотрелся
- Сообщения: 101
- Зарегистрирован: 24 апр 2019, 23:07
- Имя: Алик
- Благодарил (а): 55 раз
- Поблагодарили: 4 раза
Вычисления скорости протока воды на s7-1200
Короче нашёл где этот часовой бит включается.
Но с ним не всё так просто, он почему-то не работает.
Вставил его в OB1, таблицу Тегов приложил.
Так что нужна помощь самых умных и продвинутых.
Но с ним не всё так просто, он почему-то не работает.
Вставил его в OB1, таблицу Тегов приложил.
Так что нужна помощь самых умных и продвинутых.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- авторитет
- Сообщения: 802
- Зарегистрирован: 12 авг 2008, 11:05
- Имя: Патрушев Олег Валерьевич
- Страна: Россия
- город/регион: г. Н.Новгород
- Благодарил (а): 110 раз
- Поблагодарили: 158 раз
Вычисления скорости протока воды на s7-1200
В отладчике можно увидеть импульс может от полсекунды, я обычно считаю, что менее 2х секунд не факт, что будет отображаться.
Если в свойствах ЦПУ настроено правильно, то работает. Что там у вас за симулятор для mw0 еще заведен. Вы случайно не переписываете MW0 еще где-нибудь?
Если в свойствах ЦПУ настроено правильно, то работает. Что там у вас за симулятор для mw0 еще заведен. Вы случайно не переписываете MW0 еще где-нибудь?
-
- осмотрелся
- Сообщения: 101
- Зарегистрирован: 24 апр 2019, 23:07
- Имя: Алик
- Благодарил (а): 55 раз
- Поблагодарили: 4 раза
Вычисления скорости протока воды на s7-1200
Благодарю за ответ.
Да, там ошибку нашёл именно в этом MW0.
Бит из нулевого байта был занят, потому и не работало, точнее работало, но очень криво и через раз. Невнимательность.
У меня ситуация вообще патовая. Хотел обмануть судьбу и сделать через генератор импульсов, что бы в 1 секунду происходило суммирование значений. А он в 1 секунду столько на суммировал, что волосы дыбом.
Вот думаю уже может попробовать поставить ТР таймер и поставить сумматор со значениями 1+1, что бы подсчитать сколько за 1 секунду он насчитает А потом это значение минусовать при подсчёте расхода. Понимаю что через Жэ...но пока не знаю что и придумать.
Был бы счётчик импульсный, а не 4..20 мА, то вообще улыбался бы, а тут
Да, там ошибку нашёл именно в этом MW0.
Бит из нулевого байта был занят, потому и не работало, точнее работало, но очень криво и через раз. Невнимательность.
У меня ситуация вообще патовая. Хотел обмануть судьбу и сделать через генератор импульсов, что бы в 1 секунду происходило суммирование значений. А он в 1 секунду столько на суммировал, что волосы дыбом.
Вот думаю уже может попробовать поставить ТР таймер и поставить сумматор со значениями 1+1, что бы подсчитать сколько за 1 секунду он насчитает А потом это значение минусовать при подсчёте расхода. Понимаю что через Жэ...но пока не знаю что и придумать.
Был бы счётчик импульсный, а не 4..20 мА, то вообще улыбался бы, а тут
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- авторитет
- Сообщения: 802
- Зарегистрирован: 12 авг 2008, 11:05
- Имя: Патрушев Олег Валерьевич
- Страна: Россия
- город/регион: г. Н.Новгород
- Благодарил (а): 110 раз
- Поблагодарили: 158 раз
Вычисления скорости протока воды на s7-1200
Нутро не обмануло, фронт от 1гц сигнала надо брать, а не сам сигнал.
Отправлено спустя 2 минуты 32 секунды:
Ну так вам всего лишь нужен интеграл от мгновенного расхода. Встроенной функции я не помню, но реализаций туча. Да и самому написать не проблема. Или поищите готовый код в интернете.
Отправлено спустя 2 минуты 32 секунды:
Ну так вам всего лишь нужен интеграл от мгновенного расхода. Встроенной функции я не помню, но реализаций туча. Да и самому написать не проблема. Или поищите готовый код в интернете.
-
- осмотрелся
- Сообщения: 101
- Зарегистрирован: 24 апр 2019, 23:07
- Имя: Алик
- Благодарил (а): 55 раз
- Поблагодарили: 4 раза
Вычисления скорости протока воды на s7-1200
В STEP 7 я видел брали следующий меркер за "clock memory bits", т.е. у меня в примере все "клоки" в MW5, а мне нужно тогда брать MW6. В TIA Portal аналогично?
Про интеграл не очень понял. Вообще как я планирую - переводить реалы в интеджеры и наеборот ( с учётом констант расходомеров), а потом последнее значение расходомера суммировать с новым. Или я что-то не верно мыслю?
-
- авторитет
- Сообщения: 802
- Зарегистрирован: 12 авг 2008, 11:05
- Имя: Патрушев Олег Валерьевич
- Страна: Россия
- город/регион: г. Н.Новгород
- Благодарил (а): 110 раз
- Поблагодарили: 158 раз
Вычисления скорости протока воды на s7-1200
Фронт это инструкция -I P I- или -I N I- для заднего фронта на LAD. А уж какие меркеры использовать и их распределение - ваше решение. И среда программирования значения не имеет.
Расход за время, это интеграл (сумма) мгновенных расходов. У вас сигнал аналоговый, я так понял, его интеграл и будет расходом за час, сутки и т.д. А уж в каких числах считать - вам решать.
Расход за время, это интеграл (сумма) мгновенных расходов. У вас сигнал аналоговый, я так понял, его интеграл и будет расходом за час, сутки и т.д. А уж в каких числах считать - вам решать.
-
- осмотрелся
- Сообщения: 101
- Зарегистрирован: 24 апр 2019, 23:07
- Имя: Алик
- Благодарил (а): 55 раз
- Поблагодарили: 4 раза
Вычисления скорости протока воды на s7-1200
Благодарю за ответ.
В мануале нашёл такую функцию, а в самом TIA Portale найти не могу. Может кто подскажет где она?
Отправлено спустя 41 минуту 51 секунду:
А вот и не сработало по переднему фронту.
За пару десятков щелчков с 1 единицей улетело аж в минус.
Отправлено спустя 1 минуту 19 секунд:
Генератор стоит на 1 секунду, сравнение по переднему фронту с меркером "всегда 0"
Отправлено спустя 1 час 38 минут 48 секунд:
Так, ну вроде с импульсами победил, через функцию P_trig.
А с "интрегалами" пока вопрос не закрыт))
В мануале нашёл такую функцию, а в самом TIA Portale найти не могу. Может кто подскажет где она?
Отправлено спустя 41 минуту 51 секунду:
А вот и не сработало по переднему фронту.
За пару десятков щелчков с 1 единицей улетело аж в минус.
Отправлено спустя 1 минуту 19 секунд:
Генератор стоит на 1 секунду, сравнение по переднему фронту с меркером "всегда 0"
Отправлено спустя 1 час 38 минут 48 секунд:
Так, ну вроде с импульсами победил, через функцию P_trig.
А с "интрегалами" пока вопрос не закрыт))
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- эксперт
- Сообщения: 1172
- Зарегистрирован: 14 ноя 2013, 20:35
- Имя: Анатолий Сергеевич
- Страна: Россия
- город/регион: Башкортостан
- Благодарил (а): 13 раз
- Поблагодарили: 68 раз
Вычисления скорости протока воды на s7-1200
ничего сложного было. В lad тоже нормально получается, просто на вашем приложенном скриншоте вместо бита памяти используется область ди.
Только для чего вам это не совсем пойму...
обычно расходомер и выводит показания расхода в стандартных единицах, вам просто масштабировать полученный код ацп в значение расхода нужно.
Если вам необходим счетчик то полученное значение делите на 3600 и каждую секунду суммируете.
P. S. : на некоректно заданный вопрос не ждите правильного ответа.
-
- осмотрелся
- Сообщения: 101
- Зарегистрирован: 24 апр 2019, 23:07
- Имя: Алик
- Благодарил (а): 55 раз
- Поблагодарили: 4 раза
Вычисления скорости протока воды на s7-1200
Да это просто для удобства понимания 1 раз вообще "смотрю" на эти контроллеры.megavolt86 писал(а): ↑03 май 2019, 17:01 ничего сложного было. В lad тоже нормально получается, просто на вашем приложенном скриншоте вместо бита памяти используется область ди.
Только для чего вам это не совсем пойму...
Сделал физический вход, что бы на нервах не щёлкало на столе. А выход что бы было понятно - работает или нет. Кстати, столкнулся ещё с одной особенностью, генератор не работал после включения в контроллере. нужно обязательно прогрузить в контроллер изменения, а тоже вначале понять не мог, почему у других работает, а у меня нет.
Правильно понял вначале NORMAL_X там от 0 до 27648 из INT в REAL, а потом SCAL_X указываю диапазон измерений конкретного расходомера, для примера 0 литров мин и 50 литров макс?megavolt86 писал(а): ↑03 май 2019, 17:01 вам просто масштабировать полученный код ацп в значение расхода нужно.
Если вам необходим счетчик то полученное значение делите на 3600 и каждую секунду суммируете.
Вот только не понял зачем делить на 3600 - это потому что расходомер выдаёт показания в часах и нам нужно перевести это значение в секунды?
-
- эксперт
- Сообщения: 1172
- Зарегистрирован: 14 ноя 2013, 20:35
- Имя: Анатолий Сергеевич
- Страна: Россия
- город/регион: Башкортостан
- Благодарил (а): 13 раз
- Поблагодарили: 68 раз
Вычисления скорости протока воды на s7-1200
можете и так для начала. Я этими блоками не пользуюсь, есть свои рукописные с большим функционалом.
Можете сами написать FC с функцией масштабирования на языке SCL:
Код: Выделить всё
(*это показал как обьявить переменные
Var input
Input, min_adc, max_adc:int;
Max_scale, min_scale:real;
End_var;
Var output
Out:real;
End_var;*)
Out:=(int_to_real(input-min_adc) /int_to_real(max_adc-min_adc) )*(max_scale-min_scale)-min_scale;
Да получаем мгновенное значение расхода за секунду и его же прибавляем к значению счетчика.
P. S. : еще вы не сказали расходомер имеет квадратичную шкалу или линейную, советую этот момент уточнить, чтобы потом не было сюрпризов.