ясно -специфика .
Вид для печати
ясно -специфика .
Отличный вариант. Единственно что не учитывается, дребезг датчиков. У заказчика стоят индуктивные датчики. Они имеют дальность срабатывания равную расстоянию несколько меньшему диаметру датчика. Поэтому при движении длинного штока могут быть отклонения от точки срабатывания и возврат, снова сработка. Поэтому для надёжности желательно фиксировать выхода триггерами.
мой алгоритм предполагает срабатывание датчика, как кратковременное вкл-выкл.
а вы, скорее всего, не выключили ВК2, соответственно при отключении ЭКМ, программа "подумала", что снова нажался ВК2.
PS с одной стороны, про то что датчики остаются нажатыми я прочитал позже и можно было бы переделать (всего лишь поменять константы программирующие состояние ПР)
с другой стороны, понятие "индуктивные", относящееся к слову "датчики", наталкивает меня на мысль, что ПР получает импульс в момент изменения состояния, а не постоянно.
т.к. я совсем запутался, я не стал модифицировать программу в программе, а рассказал как это сделать самому.
PPS немного лирики: мой алгоритм напоминает фильм "13 этаж" :cool:
Честно говоря этот фильм не смотрел. Мы скорее всего к разным поколениям относимся (почти 50). Мне нравится ваш подход к программам, Вы мне очень помогли со счётчиком. Респект и уважуха.
Просто я практик электронщик и КИПовец, о датчиках знаю наверное несколько больше и подхожу к программам именно с точки зрения практики, пусть не так изящно, но стопудово работающим при любых обстоятельствах.
Если в будущем вдруг возникнут вопросы по датчикам, можете обращатся напрямую по почте. Все датчики (независимо от типа) срабатывают одинаково. Выход замыкается до тех пор, пока не исчезнет объект вызвавший сработку, тогда размыкается. Для дискретных входо ПР 110 применимы только такие датчики. Напряжение на входе ПР 110 может находится без ограничения времени. Другие датчики (любых типов) имеют на выходе аналоговый изменяющийся сигнал, но это уже для ПР114 и контроллеров с аналоговыми входами. Если заинтересовал пишите на почту, чтобы не загружать форум.
1) что такое КИПовец?
2) расскажите что должно быть.
в таком ключе: "дошли до туда замкнулся датчик, дошли до туда разомкнулся датчик",
а не как в предыдущих описаниях, где оба варианта были описаны одним словом "сработал" датчик.
PS моя задача, при написании проекта - сделать его универсальным, для циклических процессов, которые всегда происходят по одному и тому же алгоритму.
т.е. мой проект можно использовать без изменения для любого проекта до 8ми "стадий" в цикле, изменяя только константы программирующие его.
1. КИПиА - контрольно-измерительные приборы и аппаратура.
2. Это уже специальные датчики с несколькими положениями (в данном случае 2 положения) Примерно можно представить как 2 выключателя 1 нормально разомкнутый, 2 нормально замкнутый - соединённых последовательно. При сработке 1 - общая цепь замыкается, при сработке 2 - размыкается. Но вообще это или узкоспециализированный датчик (есть такие), или как вариант неправильно дано описание его работы.
Только без обид. Начинающих профессионалов не бывает, так же как не бывает слегка беременных и начинающих полковников. Профессионал это как офицерское звание. Либо есть, либо нет (ещё раз прошу без обид).
[QUOTE=AI!;104140]2) я не описание датчиков просил, а пересказ ТЗ на понятный мне манер ))
Вечер добрый. Ну во первых я не заказчик, и пересказать техзадание я не могу. Каков вопрос - такой ответ.
А во вторых вы наверное никогда не видели промконтроллер, который представляет из себя вал, подключенный к двигателю, на котором находится ряд эксцентриков, расположенных в определённой последовательности и которые по очереди (при вращении вала), замыкают конечные выключатели. Таким образом выполняется последовательность операций. У нас такой станок есть (упаковка плавленных сырков), правда сейчас его законсервировали (не выбросили), и возможно мне его ещё предстоит перевести на современную элементную базу. Такой контроллер похож на старинный музыкальный аппарат. Но он работает!!! Так что по поводу датчиков (я Вас умоляю), по меньшей мере не удивляйтесь. Какие только не попадаются.
PS не знаю как поставить постоянную подпись, а то тоже себе крылатую фразу кину в форуме.
Анатолием.
Анатолий. Я восхищён вашим подходом к составлению программ. Высказывание "константу на 1147729" мне конечно понятно, но я у меню чуть чуть иной подход к программе. Мне очень интересно с Вами общаться, но я боюсь что нас скоро с форума выгонят. Здесь всё таки предлагают размещать готовые проекты. Предлагаю переместить наше общение на почту , моя напомню maximov2009@mail.ru
С нетерпением жду письма с подтверждением желания продолжить общение. Как же всё таки поставить свой девиз на форуме?
Заходите в личный кабинет(Мой кабинет) и там создавайте подпись
считаю проекты достаточно универсальными!
они годны для любых циклических процессов "без ветвлений" в алгоритме
описание 2ого тут
а третий отличается от второго тем, что способен управлять 8ю устройствами, (хотя в примере разведены только 4)
но только одним "за такт", соответственно, если надо на один датчик изменить состояние нескольких устр-в, то надо продублировать номер датчика нужное кол-во и перечислить все изменяемые устр-ва
PS для понятности покажу как запрограммированы проекты:
состояние-датчик расположены друг над другомКод:ползунок2:
4CBA232 - состояния выходов в обратном порядке (hex вид)
4301521 - номера датчиков, (8-ричный вид)
на которые можно реагировать в соответствующем состоянии
в этом примере в нижнем ряду есть три нуля подряд,Код:ползунок3:
_321003001 - номера изменяемых устройств (8-ричный вид)
430001521_ - номера датчиков, "0" соответствует "отпусканию" всех датчиков
это значит, что надо последовательно (точнее, почти одновременно) сделать три действия, соответствующие этому состоянию датчиков ("0" = ни один датчик не "нажат")
напротив этих нулей "0","1" и "2", именно состояние этих выходов надо поменять
PS знак подчеркивания (_) в последнем примере вставлен для выравнивания столбцов.
при включении прибора нам надо задать начальное состояние (правый нижний "_")
а в конце цикла - просто всё сбрасываем в нуль, вне зависимости от текущего состояния (левый верхний "_")
таким образом экономится одно "знакоместо" в константе.
Всем доброго времени суток . Подскажите советом , как быть с операциями сравнения. Задача такая , на вход поступает импульсы , счетчик производит их подсчет и в какой то момент времени (у меня это каждые 30 сек.) происходит их сравнение . Если число импульсов (допустим) меньше 17 то на выход 1 поступает сигнал , если равно 17 то на выход 2 поступает сигнал соответственно если больше то на выход третьего . при этом на выходе (на любом из трех) всегда должен быть сигнал . Дело все в том что программа уже почти написана не могу определиться как подавать на выход сигнал когда число импульсов меньше 17 ... возможно может кто то подскажет с макросом . Выкладываю программу.
мой вариант
а лучше так, тогда кол-во импульсов может быть 4 млрд.
PS не понимаю, почему счётчик не сделали 32х битным?
:rolleyes: За 30сек ,при частоте даже 200гц ,ну ни как не будет да же 10тыщсч:D К чему такая гигантомания:) :D это ж сколько лет надо считать на максимальной частоте 32разряда
А так счетчик хорош .нужно только сделать его реверсивным и со сбросом (макрос) ,может пригодится в другом месте ,как универсальный макрос без ФБ на 32разряда.:rolleyes:
11 мин на частоте 100Гц, и будет превышен лимит 65535
PS пример счётчика я привёл для примера ))
когда наступит предел 32 разряда - надо переходить на 64 разряда?
а вот 32 разряда могут пригодиться, когда не хватит 16ти.
PS вы сравниваете 32 и 64? тогда надо смотреть предел 32
а если сравниваете 32 и 16, то надо смотреть границу между ними.
32,64 это не для ПР110 ,в смысле счетчика (быстрее питание выключится) .Вычисление -да ,32 нормально .
Добрый день. С наступающим праздником.
Кто подскажет программку ПИД регулятора для ПР 114. В принципе достаточно и ПИ - регулятора. По моему где то встречалась, подскажите пожалуйста.
http://www.owen.ru/forum/showthread....E%F0#post85293
поиск -рулит.
Спасибо за помощь !!
Смотрю, нет активности. Подкидываю работёнку для мозгов. Нужны функции сравнения >= и <= в одном флаконе, т.е. выход =1 в определенном диапазоне.
"<=" это not(">"), т.е. GT->NOT
PS иногда "меньше либо равно" называют "не больше",
т.к. "больше" есть, осталось сделать "не" и получим ответ.
PPS что бы получить "больше или равно", надо просто поменять входы местами.
а я всё светофорами балуюсь.
пример светофора, где пешеходам зелёный единый во все стороны, когда всем автомобилям красный.
PS обещанный пример применения blink7
а какая разница? GT-NOT или fGT-NOT - одна малина.
PS вот, интервал, включая границы.