Спасибо за наводку.
В эмуляторе получилось раза в полтора разогнать (по сравнению с блинком) таким способом.
Завтра на железе попробую.
Вид для печати
Спасибо за наводку.
В эмуляторе получилось раза в полтора разогнать (по сравнению с блинком) таким способом.
Завтра на железе попробую.
Попробую сегодня отдельно сам счетчик с генератором.
Вложение 42796
В эмуляторе за 5 сек при цикле 100мс считает до 30. На железе проверю, какая разница будет.
почему TP, а не TON, этот таймер пока до конца не досчитает не сброситься
ЗЫ у меня правильно считает, за секунду с небольшим 22 импульса
Благодарствую, то, что надо
Здесь важны настройки в симуляторе и у меня нормально считает в обе стороны:
Вложение 43256
Если вам не нужен обратный отсчёт, уберите нижнюю часть(что к нему относится) и просто подайте сигнал с инвертора на сброс счётчика.
Вложение 43255
Уважаемые друзья, не поделитесь макросом для контроля аварийных состояний (обрыв/замыкание) датчика 4-20 мА?
Я себе такой сочинил
Вложение 44371
Скрытый текст:
Отличия от Conv4..20.tpl из онлайн базы
- фиксированные значения "обрыв" In < 3,5 и КЗ In > 20,5;
- при ошибках,на выходе сохраняется последнее "правильное" значение, а не предустановленное. Считаю такое решение (заморозка последнего значения) лучшим вариантом;
- частота опроса датчика регулируется т.е. можно сделать опрос каждый первый, 2, 3, .. и т.д. цикл ПР. Иногда это важно.
Боюсь на практике это малоэффективно, я про заморозку последнего значения(безошибочного), так как обычно для более достоверных результатов и меньшего "скаканья" применяют фильтрацию входного сигнала(в свойствах входа) отличную от минимальной и на практике этот сигнал(замороженный) будет близким к минимальному(максимальному) значению диапазона входного сигнала, короче, мне кажется для программы нужно свою фильтрацию ставить, а на срабатывание ошибки без фильтрации(с минимально возможной), надеюсь понятно рассказал!
Сергей0308 Может предложите свой вариант? Вы ведь наверняка аналогичную конструкцию используете?
Ретера , я открыл макрос, а там и намека нет на зоны 3,5 и 20,5 там вроде бы сравнение в лоб с 4,0 м 20,0
Ну как же нет намека?
Вложение 44456
Зоны формируют два макроса
гистерезис "в +"
Вложение 44457
и гистерезис "в -"
Вложение 44458
По факту использования
побороть "на практике этот сигнал(замороженный) будет близким к минимальному(максимальному) значению диапазона водного сигнала" можно выбором частоты опроса входного значения (N_Clc)
если постоянная времени фильтра для входа равен 0,01 с, то при периоде опроса равном 0,1с( например при времени цикла 20мс нужно N_Clc=5) будет замораживаться "правильное" значение.
У меня нет подобных макросов, понадобятся - сделаю, идею, как сделать я предложил, могу немного поподробней, примерно так: пишу в стек, каждый цикл или через цикл или ещё с каким периодом, нахожу среднее арифметическое скользящим окном, шириной окна изменяю степень сглаживания(постоянную времени фильтра)!
И ширину окна можно привязать к скорости изменения параметра, этим будет достигаться хорошее сглаживание при небольшой скорости изменения параметра и достаточное быстродействие при высокой скорости изменения параметра!
Добрый день. Возможно обновить макрос? Нет архива.
Подскажите реализацию альтернативного алгоритма сортировки массива чисел. ВРоде бы пузырьковая сортировка в виде пирамиды из блоков сравнения двух чисел работает, но функциональный блок на 32 числа обретает просто монструозные размеры.
Задача - отсортировать содержимое кольцевого буфера за один цикл.
Здравствуйте.
Нужен Ваш совет.
Есть автомат завертки который по метке режет и запаивает продукт в пленке, родной контроллер вышел из строя - я пытаюсь сделать на ПР200.
У автомата два частотных преобразователя: один на цепь подачи продукта, второй на протяжку пленки (ролики) и есть два датчика - один отрезные ножи, второй на метку (на пленке).
Нужно чтоб нож резал по метке которая на пленке.
Я сделал так: задаю скорость автомата переменным резистором с помощью частотного преобразователя цепи (подача продукта), отсчитываю импульсы (по 10мсек) между двух датчиков (метки и ножей) преобразую импульсы в частоту и подаю частоту на вход ПИД регулятора, уставка стоит 2..5 импульса (не больше), ПИД регулятор у меня подгоняет вторым преобразователем (4-20мА) пленку под ножи, чтоб резать по метке. С автонастройкой ПИДа вроде бы все получается, но ПИД долго выходит на уставку, много бракованной пленки получается.
Может кто сталкивался с подобным, подскажите свой вариант.
Спасибо.
Вложение 44697
Полгода руку на сердце, я сказал бы вам, что эта задача далеко не для пр с ее плавающим временем цикла да и вообще посредственным быстродействием.
Я считаю, что тут обязательно нужен ПЛК с полноценными прерываниями аппаратными счетчиками, да и в принципе более производительный.
любого монстра можно причесать, если Вас беспокоит что на одном холсте очень громоздко строить пирамиду пузырька, поделите свои 32 значения на несколько групп и среди этих мелких сортировок нужно будет распределить чей хвост больше головы соседа. А в идеале вместо сортировок в ОЛ наверное подойдет несколько подряд макросов, которые занимаются поиском минимального значения, где первый макрос ставит минимум в свое сортировочное место и на вход последующего макроса изменяет свое значение на максимум, второй и последующие такие макросы найдут новые минимумы, которые должны быть больше первого минимума. Одна проблема у такой сортировки, если несколько входов выборки имеют одно и тоже значение
прогноз четвертой точки методом наименьших квадратов
Друзья! подскажите пожалуйста, я точно помню что тут на такой макрос натыкался, но не могу правильно подобрать запрос для поиска - мне нужно преобразовывать входные булевы сигналы в номер этого сигнала для вывода на экран. то есть на входе 8/16/32 (мне хватит 8) булевых переменных, а на выходе номер активной сейчас переменной . защиту от одновременного прихода переменных могу соорудить и снаружи, если макрос не умеет.
макрос нужен для отображения дискретных событий через динамический текст. в частности состояния работы насосов (работа, авария, отключен, остановлен по давлению воды, отключен по сигналу сезона зима/лето).
Можно так:
Вложение 46022
Вложение 46023
И много разных вариантов и примеров построения, практически каждый день встречаются, вот один из последних в посте #15: https://owen.ru/forum/showthread.php?t=32268&page=2
Вложение 46029
0 бит при этом лучше не использовать. если хотите работать с экраном и не изобретать велосипедов с проверкой этого самого нуля.
Пример использования на примере аварий. https://owen.ru/forum/showthread.php...l=1#post320436
Мое мнение - ваша задача не всякому ПЛК по зубам (хотя если вам плюс минус километр и скорость как у черепахи, то может и на пр как-то заработает). Такая задача в основном решается достаточно умными сервоприводами, причем без использования производной от расстояния в виде частоты или скорости. Сервак ставится один вместо второго частотника, подающего упаковку а второй на точку отреза/склейки.
Я год пытался сделать похожую систему на ПЛК(полноценном с высокоскоростными входами на 200 кГц и кучей аппаратных функций по обработке выходов) и шаговиках, но так и не смогдобиться требуемой точности, хотя бы +- 2 мм даже плата стабилизации скорости на частотник не помогла. А как только все выбросил и поставил сервак (вся обработка через его драйвер) - получил точность +-0.1 мм при тех же условиях и с отключённой стабилизацией скорости частотника.
В сообщении 84 в этой теме есть макрос поочередного включения насосов, как можно его посмотреть?
попросить автора, там дата сообщения 13 год, сервер не хранит вложения так долго...
На компе завалялся, возможно это тот же файл
Я так подозреваю, наверно там что-то подобное: https://owen.ru/forum/showthread.php?t=27724&page=2
Вложение 46593
Останется генератор импульсов добавить с нужным временем включённого-выключенного состояния: https://owen.ru/forum/showthread.php?t=9398&page=496
Вложение 46594
Или так: https://owen.ru/forum/showthread.php?t=32401
Вложение 46595
И, если время включенного-выключенного состояния выходов разное, то я обычно ставлю таймер с мультиплексором, для этой цели: https://owen.ru/forum/showthread.php?t=31346&page=2
Вложение 46599
Вот здесь ПЗУ использовал для задания уставок каждого шага(например продолжительности): https://owen.ru/forum/showthread.php?t=28531&page=9
Спасибо! Буду под себя дорабатывать
https://cloud.mail.ru/public/56VG/34SeRq42t
Filini кинул в облако тот файл