Просмотр полной версии : Расчет скорости передвижения
Владислав Г.
17.08.2016, 10:16
Здравствуйте!
Счетчик импульсов СИ30 в ПЛК150 отдает значение текущего количества импульсов. Необходимо в ПЛК произвести расчет текущей скорости. Подскажите, каким образом это можно осуществить?
lara197a
17.08.2016, 10:23
импульсы переводите в расстояние, расстояние и время переводите вскорость.
Владислав Г.
17.08.2016, 16:35
импульсы переводите в расстояние, расстояние и время переводите вскорость.
Скорость предполагается отображать в виде графика, поэтому необходимо регистрировать ,скажем, с интервалом 10 сек. текущую скорость. Импульсы я преобразовал в метры, получил скорость, но все это выглядит коряво...пока не получается избавиться от нуля в показаниях при RESET.
Владислав Г.
17.08.2016, 16:56
Хотя такой вариант вроде бы получше.
Могу предложить еще вариант
Владислав Г.
22.08.2016, 15:20
Могу предложить еще вариант
Как осуществить вывод скорости равной нулю во время остановки объекта?
Если значения счетчика долго не меняются, то значит объект остановился, обнуляем скорость (можно использовать таймер TOF).
Допишите после вызова R_TRIG1:
TOF1(IN:= R_TRIG1.Q, PT:= t#5s);
IF NOT TOF1.Q THEN (*если в течении 5 секунд счетчик не изменился*)
v:=0; (*обнуляем скорость*)
old_time:=TIME(); (*запоминаем текущее время*)
END_IF
Вообще-то лучше текущее время запоминать после очередного опроса счетчика. Тогда при начале движения объекта погрешность первого показания будет меньше.
Василий Кашуба
22.08.2016, 22:05
Как осуществить вывод скорости равной нулю во время остановки объекта?
Вот частотомер, который мы применяем в ПР200. Посмотрите, может переделаете под КДС.
Владислав Г.
23.08.2016, 13:29
Если значения счетчика долго не меняются, то значит объект остановился, обнуляем скорость (можно использовать таймер TOF). Обнуление заработало, спасибо.
К сожалению проявляется проблема с подсчетом скорости: показания не стабильны. Присутствует некий шаг, через который индицируются показания. А при небольшой скорости выводится слишком большое значение. Возможно существуют какие-то ошибки в нижеприведенной программе.
Владислав Г.
23.08.2016, 13:33
Вот частотомер, который мы применяем в ПР200. Посмотрите, может переделаете под КДС.
Пока не могу открыть в расширении .owl
Василий Кашуба
23.08.2016, 17:24
Пока не могу открыть в расширении .owl
Воспользуйтесь последней версией ОЛ.
Обнуление заработало, спасибо.
К сожалению проявляется проблема с подсчетом скорости: показания не стабильны. Присутствует некий шаг, через который индицируются показания. А при небольшой скорости выводится слишком большое значение. Возможно существуют какие-то ошибки в нижеприведенной программе.
Слишком большое значение это сколько? У вас в формуле константа стоит немаленькая 60.5. Может она влияет на результат? Какой у вас метраж за 1 импульс?
Для стабильных показаний попробуйте их индицировать в момент получения нового значения от счетчика.
У меня мой вариант работает стабильно
Владислав Г.
25.08.2016, 11:43
Слишком большое значение это сколько? У вас в формуле константа стоит немаленькая 60.5. Может она влияет на результат? Какой у вас метраж за 1 импульс?
Моей ошибкой оказалось то, что я считывал с СИ30 физическую величину (метры), а надо было количество импульсов. Подобрал множитель, вместо 60.5 поставил 0,081.
Картина сразу поменялась, показания скорости все же имеют скачки порядка нескольких метров в мин., но с этим еще можно мириться.
Василий Кашуба
25.08.2016, 21:51
Пока не могу открыть в расширении .owl
Для тех, кто не смог открыть программу, даю скрины основной программы и макроса. 25969 и 25970
Владислав Г.
26.08.2016, 08:01
Для тех, кто не смог открыть программу, даю скрины основной программы и макроса. 25969 и 25970
Спасибо за схему.
Василий Кашуба
26.08.2016, 11:06
Спасибо за схему.
Принцип работы поняли?
kyzialesha88
06.09.2016, 11:54
Я быстро сообразил в этом
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot