Так там цикл не фиксированный! Если цикл будет 4 мс, то что же и генератор импульсов, период в 8 мс будет давать???
Вид для печати
Так где смотреть в ОЛ?! Симулятор к железу не привязан, вроде как (пока реле нет).
На ПР200 не только функции тахометра возлагаются. Через RS-485 1 опрос МЭ110-224.1М, подключение 3 термопар, по мелочи дискретные входы-выходы (кнопки, лампы, контакторы), через RS-485 2 связь с ПК.
Можно, конечно, ТХ01 с аналоговым выходом подкинуть, но мы стремимся снизить затраты.
Когда прибор подключите, тогда и посмотрите!
Всем привет. Делаю что-то типа реле контроля минимальной скорости. Частота вращения контролируемых механизмов плавает, передача от привода к ведомому валу/механизму, как правило, клиноременная. Исходя из этого, подсчитывать количество импульсов от индуктивного датчика в течении длительного времени (даже 10с) не могу - при большой нагрузке ремни передачи начинают подгорать при проскальзывании. Пока получается такая программа. На стенде из АД и ПЧ улавливаются изменения скорости вращения при изменении частоты на 1 Гц. Но, что будет если время цикла будет не 1мс, а 10мс?
Вы программу приведите, хотя бы её часть, что касается тахометра и куда индуктивный датчик подключен(на какой вход), а вашу картинку не знаю как оценить по достоинству, я даже теряюсь в догадках, на какой вход датчик подключен, и деление на два наверно лучше сделать уже после преобразования типов данных и ещё вопрос: что мешает считать количество импульсов, например за 4 секунды и переводить в об/мин? Почему нельзя начальные позиции обозначить, например: механизм делает один полный оборот примерно за 100 лет, если не выключать во время перекуров!
Все выкинуть и сделать Датчик импульсов--> вход ПР--> операнд НЕ --> таймер TON.
И все! Время таймера = 60/минимум оборот.в минуту
ЗЫ
Триггер защелку фиксации мин скорости и элемент разрешения фиксации мин скорости между входом таймера и инверсным сигналом датчика добавить по вкусу
Прикрепил программу. Это только сам способ определения оборотов. Механизмы с разной скоростью вращения от 50 и выше оборотов в минуту (до 500 где-то). Если считать количество оборотов за 4с, то как определить количество об/мин, если за это время получилось не целое количество оборотов вала?
Хорошо. Буду на стенде проверять. А какое у Вас в сложных проектах в среднем получалось время цикла? На какое время можно ориентироваться, какая средняя температура по больнице:) ?
Я специально никогда не смотрел, только когда немного совершенствую и перезаливаю смотрю время цикла перед перезаливкой и тут же забываю, если не ошибаюсь на реальных проектах менее 5 мс, а так с дури можно любой цикл сделать, помню от одного макроса цикл становился 37 мс:
Вложение 40302
Макрос реле контроля скорости РКС_Д. Сделал для контроля скорости различных механизмов. При заклинивании, проскальзывании ремней, лент и т.д. для исключения возможности возгорания оборудование необходимо его отключить. Собственно макрос этим и занимается.
I1 Вход - разрешение работы макроса. Для работы значение=0, для отключения=1. Переменную желательно не энергонезависимую, для безопасности. Иначе может так получится, что для ремонта макрос будет отключен, так когда-нибудь и забудется. А так при отключении и включении питания на ПР макрос автоматически включится.
I2 Датчик. Вход для сигнала датчика. Любой с дискретным выходным сигналом.
I3 Бл/Ст. Этот вход определяет схему включения выходного реле ПР. Если контакты включены в цепь блокировочных контактов пускателя, то переменная Бл/Ст=0. Если контакты включены, например, после теплового реле, то переменная Бл/Ст=1. Переменную желательно сделать энергонезависимой.
I4 Сброс аварий. Тут все понятно.
I5 Пуск. Сигнал запуска контролируемого оборудования. Можно взять с кнопки "Пуск". А лучше с блокировочного контакта пускателя, поскольку к ПР все равно необходимо проложить двужильный кабель.
I6 Пауза. Это время в мс за которое должен придти очередной импульс датчика от контролируемого оборудования. Переменную желательно сделать энергонезависимой.
I7 Запуск. На некотором оборудовании могут быть установлены плавные пуски, частотные преобразователи. Поэтому для не срабатывания макроса на время разгона в мс предусмотрен таймер. Переменную желательно сделать энергонезависимой.
Q1 Выход. Ну, тут вроде понятно.
Q2 Авария. Выдает импульс аварийного срабатывания.
Q3 Статус. Для индикации состояния оборудования. Например: 0 - "С" стоп; 1 -"Р" работа; 2 - "З" запуск; 3 - "А" авария. На экране ПР мне так удобней выводить.
Работу проверял на стенде. Схема - не реверсивный магнитный пускатель с включением контактов ПР в блокировочную цепь пускателя. Двигатель подключен через ПЧ. На валу двигателя закреплен лепесток из жести. Проверял и на заклинивание лепестка на против датчика, и на заклинивание после датчика, и на снижение скорости вращения. Все отрабатывается как надо. Индикация состояния ИМ работает.
Не очень понятно назначение первого и третьего входов, в пускателях есть дополнительные контакты, когда он включается подаётся сигнал работа, всё! В ПЧ аналогично, выходное реле программируется на работу!
Короче пока как-то так намалевал:
Вложение 47355
В процессе можно и что-то поправить!
Вложение 47357
По порядку.
XOR нужен для работы ртриггера. Поскольку сигнал пуск постоянный и он должен запускать таймер тофф, то на входе ртриг будет все время единица. Вследствие чего сигнал от датчика не будет перезапускать тоф1. Вы нажмите пуск, а затем щелкайте по входу датчика - сразу станет понятно.
Вход 1 нужен для отключения макроса. Например во время ремонта. Просто не будет щелкать выходное реле, выдаваться аварийные сигналы.
Вход 3 определяет схему включения выходного реле ПР. Если переменная бл/ст=0, то выходное реле нормально разомкнутое, включается в блокировочную цепь пускателя. Нажимаем кнопку "пуск"-включается магнитный пускатель-от него приходит сигнал на вход I5-включается выходное реле ПР-пускатель подблокируется своими контактами включенными последовательно с контактами реле ПР. Авария в этом случае сбрасывается при следующем включении оборудования. Бл/ст=1-выходное реле ПР нормально замкнутое, включается перед контактами теплового реле. При снижении скорости, заклинивании и т.д. этот контакт размыкается. Сброс аварии в такой схеме включения только в ручную на экране ПР. Это для некоторых передовиков производства которые нажимают кнопку пуск и всовывают в нее спичку для фиксации:(
Схемы с разным включением обязательное условие. Есть цеха в которых более-менее автоматизирован производственный процесс. Там оборудование пускается групповыми пусками. Если в технологической цепи аварийно остановится хоть одна технологическая единица, то останавливается вся линия. Тут персонал не сможет заниматься втыкиванием спичек в кнопки, так как в кнопочных постах по месту работает только кнопка стоп. Пуск в РП отключен тумблером "местный/автомат". А есть цеха где оборудование не связано между собой в технологические линии. Вот там при аварии надо разрывать электрически цепь так, чтобы персонал сделать ни чего не мог.
Сергей, посмотрел Ваш макрос. Мой попроще будет :) Еще выход Вых_Ав должен быть импульсом.
Если не надо "намертво" блокировать при аварии, можно сделать аварию на 5 секунд:
Вложение 47362
И для чего выход аварии должен кратковременно срабатывать, есть какие-то разумные объяснения этому?
И зачем статус выводить, тем более когда авария кратковременно срабатывает? И они же ловятся последующим макросом с выводом на экран!
Ну и если Вам нужна разная логика работы выхода, нельзя ли(не лучше ли) для этого использовать два разных выхода?
Короче, я как-то так это вижу:
Вложение 47363
В последующих макросах аварии фиксируются, там лучше и выбирать необходимый режим работы выхода, а то что у Вас получается в макросе РКС авария фиксируется(в одном из режимов работы) и в последующих макросах авария тоже фиксируется, мне кажется дублирование лучше убрать, ну и соответственно проще станет!
И заметили, в моём макросе 10 функций и ФБ, в вашем более 20, тем не менее Вы утверждаете что у Вас проще, я конечно не математик по специальности, но что-то мне ваши подсчёты не нравятся!
И посмотрел для чего Вы меняете режим работы выхода, в принципе это не надо, достаточно подключить выход ПР последовательно с контактом самоблокировки пускателя, но Вы вероятно хотите сэкономить на контактах, для этого требуется как минимум 2 контакта, один(замыкающийся) для самоблокировки пускателя, другой(любой, замыкающийся или размыкающийся), для подачи сигнала включения пускателя(сигнал "работа"), интересная экономия(лучше так не делать, например залипнет кнопка пуск, авария не сработает и все старания коту под хвост!), я правильно понимаю вашу логику? Тогда можно эти сигналы объединить в ПР по "И"! Про режим аварии уже писал, можно RS-триггер заменить импульсом включения заданной длительности и можно отдельные выходы использовать для этой цели, вроде всё!
И я так и не смог до конца понять для чего первый вход, но ранее выкладывал проект, где можно было включить-отключить любую из аварий(на 1-ом экране), чтобы она не действовала:
Вложение 47364
Вложение 47365
Вложение 47366
Так вот подобные настройки можно сделать не только для включения-выключения аварий, но и для режима работы и режима фиксации-не фиксации выходов ПР при аварии, надеюсь понятно написал?!
Ни чего я не у кого не копировал:( Не будет ртриг получать сигнал от датчика так как с пуска после включения пускателя постоянно будет приходить единица. Для того ксор и используется. Вход пуск - состояние пускателя.
Надо и так и так. Это обязательно. Для этого предусмотрены разные схемы включения. Я наверно нарисую, а то так можно еще долго объяснять.Цитата:
Если не надо "намертво" блокировать при аварии
И потом ходить с ноутбуком и перепрошивать каждый раз.Цитата:
для этого использовать два разных выхода?
У меня при 20 функциях меньше ФБ и меньше расход ОЗУ, одна операция сложения. Следовательно я делаю вывод, что мой макрос "легче". Еще надо учесть, что их будет 24.Цитата:
в моём макросе 10 функций и ФБ, в вашем более 20
Я просто хотел пуском тоже запускать тоф1. Но Вы правы - разницы ни какой в принципе. С заменой ртриг на не+и. Я так сделал для выдачи аварийного импульса. Но так увеличивается потребление ПЗУ. Тут тоже самое. Или избавится от ФБ для ПР лучше?
Вот еще две схемы. Может так будет понятней.
Провел эксперимент. Создал две одинаковых программы. Отличия есть только в макросе РКС_Д. В одном макросе вместо ртриггеров установлен и+не+ линия задержки, во втором ртриггеры остались. Первая программа по потреблению: фб 83,переменные 621, пзу 28712, озу 7184. После прошивки пр посмотрел сразу время цикла - 7мс. Полазил по настройкам, архиву аварий, время цикла - 8мс, держится стабильно. Вторая программа по потреблению: фб 131,переменные 525, пзу 27416, озу 7088. После прошивки пр посмотрел сразу время цикла - 6мс. Полазил по настройкам, архиву аварий, время цикла - 7мс, держится стабильно. Мне кажется, чем меньше используется переменных, пзу, озу, тем лучше. Даже если при этом израсходуется больше фб.
Продолжим, теперь OR с обратной связью перед ТР1 зачем? Опять же, как только ПУСК пропадёт таймер перестанет работать и соответственно ни какого влияния на RS уже не будет начиная с текущего цикла и все последующие
Господа все эти разговоры про точное измерение частоты вращения довольно забавны. Во первых, с какого перепуга TON или BLINK отмеряют ТОЧНЫЕ интервалы времени?! Они их отмеряют так: уставка + (случайное число от 0 до МАСИМАЛЬНОГО времени цикла), то есть тон с уставкой 10мс при времени цикла 10 мс будет давать интервалы от 10 до 20 мс то есть погрешность 100%, даже если уставка будет 10с при времени цикла 10мс это уже 1/10% непредсказуемой погрешности в то время как 1 оборот от 3000 это 1/30% как бы надо же понимать разницу в числах! То есть при задаче различать 1 оборот на 3000 и времени цикла 10мс придется интервал измерения брать НЕ МЕНЬШЕ 60с! Ситуацию мог поправить системный микросекундный таймер, но у Овена с ним непонятный затык случился, а без него любые разговоры о точности малых временных отрезков не имеют смысла.
не теряйте попусту время, его идея фикс, добавить микросекундный счетчик, он обещал постоянно писать такие посты. Интересен будет этап, когда он начнет предлагать еще что нибудь поменять получив такой счетчик и при цикле в 10мс станет обрабатывать последовательность микросекунд {0, 10135,20768,30512,40333,...}
Capzar, эта цепь блокирует пуск при срабатывании аварии. Такой режим нужен для ручного сброса аварий когда используется схема включение №2 из #61. Немного переделал. Принцип тот же.
Юрий, проверьте почту!
ок, как считаете на скрине это нормальная ситуация?
Интересно, Вы сами-то смотрели эти схемы, так вот согласно вашим схемам(а не потому, что я так вижу или хочу), второй режим работы выхода и не нужен, достаточно режим когда выход ПР размыкается при аварии, про режим фиксации(не фиксации) аварии я не говорю(когда дальнейшая работа возможна только после сброса аварии), надеюсь, понятно написал?!
capzap, да, нормально. Как я вижу, сработал триггер, выход выключился, выдан импульс на выход Q2, статус показывает аварию. Блокировки пуска не произошло так как бл/ст=0. Соответствует первой схеме включения. Запускать можно без сброса аварии.
Сергей, я Вас не понял. Вот второй режим работы - как тепловое реле, включение такое же. Только срабатывает не на перегрузку по току, а на снижение скорости. И сброс только ручной, как на тепловом реле. И контакт НЗ как у теплового.
Вы хотите сказать, как я понимаю, что первый режим работы неправильный? В чем смысл, если после аварии оборудование можно запустить без сброса? Так?
Вы свою схему видели, первую картинку, что слева, так вот для неё Вы сделали режим работы выхода когда до включения пускателя и подачи сигнала включения пускателя на 5-ый вход ПР, выход ПР(Q1) разомкнут, замыкается после прихода сигнала включения пускателя на 5-ый вход, а фиксировать или не фиксировать аварию это дело хозяйское, как кому хочется, короче, для этой схемы, что Вы выложили и 100 лет не нужен такой режим работы выхода, тогда и делать его не надо, я об этом писал, ещё вчера!
Кажется,я понял о чем Вы. Я не хочу переделывать действующие схемы. Это около 20 пускателей. И везде контакт РКС расположен в блоковой цепи пускателя. Мне чтобы перенести его к тепловому реле необходимо остановить цех на несколько дней. Это вообще нереально. Я Вам завтра в лс скину фото того РП. Для этого первая схема и сделана.
В третий, уже со счёта сбился, или уже четвёртый раз сообщаю, что я как раз и говорю об этой схеме, когда контакты выходного реле включены последовательно с контактами самоблокировки пускателя, как раз где Вы не переделывали, в такой схеме не нужен такой режим работы, что я описал в преведущем посте и достаточно чтобы контакты были замкнуты и размыкались при аварии, ну Вы даёте, Вы хоть схему посмотрите! Нужно там иметь разомкнутый контакт выходного реле ПР перед включением пускателя?
Такой(ваш) режим работы нужен только когда контакты выходного реле ПР подключены параллейно кнопке "Пуск" и не подключены последовательно с контактом самоблокировки пускателя, как у Вас на схеме, надеюсь понятно?!
Сергей, а задавать автоматический или ручной сброс аварии Вы как хотите? Через энергонезависимую переменную?
Так в чем тогда разница? У меня через переменную бл/ст реализован и выбор схемы включения, и выбор авт/ручн сброс аварии. И в блок я не хочу нз контакт ставить. Нет у меня желания сидеть в рп неделями, разбираясь задействованы ли блокировочные контакты пускателя, не выкорочены ли они где-нибудь на промежуточном клемнике, смотреть, что там сначала идет: блок-контакт пускателя или ркс (если использовать нз контакт в блоке еще и идикация на пульте может гореть постоянно). Мне не жалко пары логических элементов для того чтобы всего этого избежать.
Юрий, благодарю, но дело не в "быстрее", фиг с ней со скоростью, проблема в точности, при любых уставках ТОНа к нему прицепом идет от 0 до времени цикла, и при чем каждый раз по разному, это порождает техническую проблему измерения скорости (как именно эта проблема порождается выше я разбирал). Поэтому все таки нужен микросекундный таймер, с ним измерение скорости намного быстрее и точнее будут. Доведите плз. это до авторов системы.