PDA

Просмотр полной версии : Расчет скорости передвижения



Владислав Г.
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
Хотя такой вариант вроде бы получше.

amn
17.08.2016, 23:52
Могу предложить еще вариант

Владислав Г.
22.08.2016, 15:20
Могу предложить еще вариант
Как осуществить вывод скорости равной нулю во время остановки объекта?

amn
22.08.2016, 18:43
Если значения счетчика долго не меняются, то значит объект остановился, обнуляем скорость (можно использовать таймер 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
Воспользуйтесь последней версией ОЛ.

amn
23.08.2016, 21:02
Обнуление заработало, спасибо.

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

Слишком большое значение это сколько? У вас в формуле константа стоит немаленькая 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
Я быстро сообразил в этом