Просмотр полной версии : ПЛК160-м и энкодер и freq_metr, непонятки
manowar666
12.05.2020, 12:38
скопировал пример с сайта по вычислению скорости энкодера, откомпилировался, запускается, счётчики считают, энкодер считает, а на выходе частота не меняется.
такое ощущение что не отрабатывается BLINK.
я так понимаю что при запущенной программе у него должен выход "мигать"? триггер тоже в 0
висит постоянно FALSE и думаю изза этого дальше программа не отрабатывается.
в чём может быть проблема?
48985
Временно увеличьте времена на Блинке. Реал-тайм наблюдение тормозит, особенно если через RS-232 Debug. Или соединитесь с ПЛК по LAN, если там такое есть.
manowar666
12.05.2020, 17:12
Временно увеличьте времена на Блинке.
увеличил, вроде блнк отрабатывается, но в OUT так ничего и нет
может гдето в другом проблема?
Или соединитесь с ПЛК по LAN, если там такое есть.
кстати тоже чтото не выходит. пинг проходит, а КДС не соединяется
UPD:настоил через езернет, ничго внешне не поменялось такто.
энкодер настроен так:
49000
Можете предоставить проект?
А так же пояснить следующее:
1. Разрешение энкодера,
2. Параметр, который требуется получить.
--
Кстати, поскольку после блинка стоит r_trig, то в блинке можно ставить одинаковые верхний и нижние времена. В данном случае по 500мс. Все равно после r_trig будет только один импульс в секунду (в данном примере).
manowar666
12.05.2020, 20:59
проекта как такого нет, пишу на основе примеров. требуется синхронизация скорости двух агрегатов.
нужно получить с энкодера значение скорости в м/с (разрешение 1 имп/мм) не помню сколько на оборот, уже пришёл с работы
потом перевести это значение (с какимто коэфф, буду подбирать опытным путём) в аналоговый сигнал 0-10в и подать его на драйвер привода второго станка
вообще пишу на ST, нужно будет както с CFC увязать будет, но это уже второй вопрос.
Может я чего не понимаю, но MOVE (4) по импульсу пишет всегда 0... или что там за 0 ?
в коде на CFC все очень просто, переменная cou сперва обнуляется потом передается через move, потому что последовательность 5 -> 6, тут либо дополнительная переменная в которую в конце кода будет присваиваться cou , либо изменить порядок, что гораздо сложнее
ну так оба MOVE там одним импульсом пишется. то есть cou станет ноль и далее она то уже ноль..
ну так оба MOVE там одним импульсом пишется. то есть cou станет ноль и далее она то уже ноль..
в приведенном коде у спрашивающего должнен быть организован сброс переменной, он сделан не правильно, где и как записывается эта cou как сказал Валенок
к цыганам
manowar666
13.05.2020, 09:40
Тогда к цыганкам. Они разъяснят. Думаешь тут гадать будут - что за out, где еще в него кладут, какой его тип и т.п. ?
Накой blink-r_trig-move ? можешь просто 0 навсегда загнать в первый вход MUL. Эффект то же.
Накой div - из него только 0 или 1
Ну и зачем тогда онанизм в виде квадратиковой арифметики ?
это пример подсчёта скорости с форума, на его основе и делаю.
блинк и триггер так понимаю включают разрешение на подсчёт импульсов на одну секунду, но чот дальше я в этих квадратиках запутался
manowar666
13.05.2020, 09:42
Может я чего не понимаю, но MOVE (4) по импульсу пишет всегда 0... или что там за 0 ?
это какойто глюк КДС. на выходе move4 в cou число импульсов есть, просто почемуто не отобразлось, оно дальше в move6 используется
49009
блинк и триггер так понимаю включают разрешение на подсчёт импульсов на одну секунду
Блинк делает на выходе ноль на время TIMELOW, следом единицу на время TIMEHIGH, до тех пор, пока ENABLE в единице.
R_TRIG выдает один импульс длительностью в один цикл ПЛК в момент изменения входа с нуля в единицу.
И где тут
включают разрешение на подсчёт импульсов на одну секунду?
manowar666
13.05.2020, 13:36
вот както так сделал
49017
пока считает в "попугаях", но вроде повторяемые результаты, в обороты надо пересчитать
manowar666
13.05.2020, 14:36
не, чот фигня получилась.
а как можно организовать паузу на ST в несколько миллисекунд?
Триггер ТР, по заднему фронту (через F_TRIG) продолжение работы.
Одна миллисекнудна уверенно отрабатывается? Есть подозрение, что цикл ПЛК несколько больше.
manowar666
13.05.2020, 16:32
Триггер ТР, по заднему фронту (через F_TRIG) продолжение работы.
Одна миллисекнудна уверенно отрабатывается? Есть подозрение, что цикл ПЛК несколько больше.
сделал 10мС.
а какой смысл триггер использовать?
вроде без него вышло. тестировал пока только электротвёрткой крутил энкодер, +-1 повторяемость есть
49034
только непонятка с направлением. в одну сторону кручу скорость 177-178 попугаев, в другую с тойже скоростью - 79-80 попугаев.
мне важна не абсолютная точность в метрах-оборотах, а повторяемость, скорее всего буду через табличку или CASE переводить в аналоговое значение 0-10в
manowar666
13.05.2020, 17:56
Так и будешь картинки показывать ?
а что не так с картинками?
или лучше текстом выкладывать?
manowar666
13.05.2020, 18:02
ПЛК160-24.У-М
энкодер Fotek WE-M4T 1 имп/мм, 200 имп/оборот
скорость будет от 0 до 150 м/мин
выходное напряжение пропорционально скорости от 0 до 10 в.
возможно будет нелинейность характеристики скорость/напряжение, но это уже по факту буду смотреть и сравнивать ручным тахометром (в нём есть функция измерения линейной скорости)
VAR
enc1:WORD:=0;
enc2:WORD:=0;
out:WORD:=0;
spdRL:REAL;
myTON:TON; (*ФБ таймера*)
END_VAR
---------------
myTON(IN:= NOT myTON.Q, PT:=T#100ms ); (* вызов таймера с самосбросом*)
IF myTON.Q THEN
enc2:=count_0;
IF enc2>=enc1 THEN
out:= enc2-enc1;
END_IF;
END_IF;
spdRL:=WORD_TO_REAL(out)*0.60; (*пересчёт под выход m/min*)
enc1:=enc2;
manowar666
14.05.2020, 07:39
PS
Если что, то представители ФСБ, Моссада, МИ6, китайской разведки и даже Илон М. обещали не использовать ваши разработки
Прям камень с плеч))
Кстати, вчепа в момент написания подошёл технолог, изза плеча долго вчитывался и потом расспрашивал кому и зачем я это пишу))
manowar666
15.05.2020, 14:22
Результат тестирования - Скорость прыгает +-1м/мин (возможно изза плохого крепления энкодера, будут переделывать)
При показаниях ручного с колёсиком 80м/мин, в кодесисе отображает 79-81м/мин.
Для моих целе точность нормальная, будет мешать дрожание, загрублю счёт, погасив младшие биты
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot