Я как-то так вижу:
Вложение 31422
Не претендую на совершенство!
Вид для печати
Я как-то так вижу:
Вложение 31422
Не претендую на совершенство!
Сергей, импульсов всего 1 или два.Цитата:
Цель - узнать какое нажатие (одинарное или двойное) на кнопку было за период времени, ну скажем, в 0,5 секунды. Примерная логика работы:1. Ловим первое нажатие, считаем его и запоминаем;
2. Запускаем таймер и ждем второго нажатия, если произошло, то стираем первое и запоминаем второе;
3. Выдаем коротенький импульс на первый выход (в случае одинарного нажатия) или соответственно на второй выход в случае двойного нажатия;
4. Приводим схему в исходное состояние (сбрасываем в 0 все счетчики и триггера).
Ну не обязательно 1 или 2 - может быть и больше, если смотреть ширше (ширее) ;) Я с прискорбием констатирую, что в случае с ПР и овен логик меня губит давнишняя привычка мыслить набором мелкой логики из далекого уже прошлого, надо мозг перестраивать под современные реалии, стану далее думать, читать и анализировать
Вы наверно об этом, что если сработал второй выход, первый не срабатывал, даже если частота упала ниже 2 Гц(период более 500мс) на входе, ну тогда как-то так:
Вложение 31425
Поискал по форуму и не нашел (может плохо искал?), нарисовал сам, выборочно проверил, с учетом високосных годов, на 21 век должно хватить. Посчитаем день недели по формуле Зеллера - пригодится.
Вложение 31492
и сам макрос: Вложение 31493
PS: упс - не посмотрел в недельный таймер - там такое есть, ну да ладно - пусть отдельно будет
тоже когда-то делал расчет дня недели для XXI века
Здравствуйте! представляю свой макрос "последовательного электронного замка". Пароль меняется сменой клемм ввода в реле (всего 4). можно и увеличить.
Не секрет! паруснов25501 по моему этот точно не помню.
Пришло сообщение в личку:Решил, что нужно выложить пример использования макроса fROM на всеобщее обозрение....Цитата:
Спасибо...Цитата:
Сообщение от AI!
Пытаюсь применить ваш макрос в ситуации:
Входной параметр - температура теплоносителя установки меняется с 82,5С до 100С..
Выходной параметр(задание - управление исполнителем) - флоат - уменьшается с 1,0 до 0,01.
Смещение - 2 градуса..
Зависимость следующая:
Темп. - задание
82.5 - 1.000
84.5 - 0.980
86.5 - 0.886
88.5 - 0.780
90.5 - 0.670
92.5 - 0.564
94.5 - 0.450
96.5 - 0.348
98.5 - 0.206
100.0 - 0.012
1) Первое что мы видим, что шаг 2 градуса, а у fROM, как у любого нормального ROM ;) шаг=1 т.е. надо будет разделить на 2
2) шаг должен быть одинаковый, а контрольная точка "100" не вписывается в это условие, но с учётом, что это крайнее значение, и то что больше 100 нас не интересует, просто сделаем линейную интерполяцию до "100.5".
Путём несложных вычислений, у меня получилось что при 100.5 значение должно быть -0,052(6)
3) внутри макроса есть константа "смещение", это смещение первого значения, в нашем случае, т.к. мы вход предварительно делим пополам, смещение равно 82.5/2=41.25
4) для демонстрации возможностей каскадирования макроса, решил усложнить задачу, и увеличить кол-во контрольных точек в 2 раза, т.е. с 62.5 до 100, с шагом 2 градуса, т.к. именно для удобства каскадированияо внутрь макроса было встроено "смещение". При этом, "смещение" соседних блоков должно отличаться ровно на 10. (на выходе числа абстрактные, просто для примера)
получается бесшовная склейка выходных значений, т.е. линейная интерполяция между последним значением одного макроса и первым значением второго
PS если во вложенном примере удалить fROM2 то будет исходное условие.
Константы надо подписать как нибудь, хотя бы так:
Вложение 31600
А то немудрено и попутать, и не факт что они идут по порядку, как Вы полагаете:
Вложение 31601
Понятно, Вы не верите, пока шишек не набьёте вдоволь, вот смотрите, зашёл в макрос и случайно "шевельнул" ни чего не меняя и что получилось в итоге:
Вложение 31602
Вроде подходящая тема: посмотрел макросы SCALE, точно не скажу как обозвать, типа преобразователь диапазона или перенос диапазона из одной области в другую и ужаснулся, честно чуть с ума не сошёл, зачем так всё сильно усложнили, короче, чтобы не сойти с ума придумал свой вариант, как мне кажется минимум раза в два проще чем я смог найти из самых простых:
Вложение 31627
Конструктивная критика приветствуется!
Норм.
Добавит условие что при превышении входным сигналом IN значения MAX_IN, выход Q всегда имел значение MAX_Q, и можно использовать в качестве задатчика. Хоть для тех же частотников.
Э-э ... А где можно глянуть на так сказать первоисточник. Ну мне так, просто поржать.
Я бы тогда как-то так сделал:
Вложение 31629
Сколько людей, столько и мнений, лично я не вижу особого смысла объединять два, функционально разных макроса, хотя не исключаю такого в отдельных случаях!
Можно же так сделать:
Вложение 31634
Зачем фундаментальные строительные кирпичики губить в общей массе, потом же придётся заново создавать!
Заодно модернизировал макрос двустороннего ограничения, на новом элементном уровне, а то с Василием Кашубой раньше спорили кто раньше придумал!
Заранее извиняюсь, не кого не хотел обидеть, посмотрел макрос "Vip", вектор изменения величины называется, есть в онлайн базе макросов, правда создатель по другому его обзывает(Вектор изменения вещественного числа), но суть не в этом, посмотрел макрос:
Вложение 31639
Сразу закралась мысль о теории заговора(подозреваю в нем какой-то тайный смысл), не подумайте ни чего плохого посмотрел описание, короче к чему я, придумал свой:
Вложение 31648
Мой без тайного смысла!
Вот хотел спросить, может я не понял всей глубины замысла???
А вот, как мне кажется, его полный аналог(из онлайн базы макросов):
Вложение 31644
Да и здесь можно убрать один из RS-триггеров, заменив его инвертором, как в моём первом макросе, так как разница в работе будет только до первого изменения входного сигнала!
здравствуйте! представляю свой макрос "Гирлянды в бета версии"
Архив GerlandBeta не открывается
Спасибо все открыл. вопрос снят.
Rovki вот ТЗ на Кулачковый переключатель / ПЗУ в дальнейшем ФБ. Этот ФБ имеет 50 позиций( ячеек)
ФБ имеет 3 входа для управления . 1 вход управляет на переключением на следующую позицию( ячейку). 2 вход управляет переключением на предыдущую позицию( ячейку). 3 вход RESET производит сброс и возвращается из любой позиции ( ячейки) к позиции 1 (ячейка )
Этот БФ имеет 8 цифровых выходов которые меняют свое состояние 1/0 в зависимости что я записал в позицию( ячейку). Также есть один выход который позволяет вывести на экран номер позиции( ячейки) от 1 до 50 .
Например позиция 1(ячейка ) выхода 10101010
позиция 2(ячейка ) выхода 01010101
позиция 3(ячейка ) выхода 00100100
позиция 4(ячейка ) выхода 11011011
Теперь как это работает. Как только я " подам питание " на выходе ФБ будет то состояние что я " записал" для позиции ( ячейки) 1. Если я подам единичку на вход номер 1 то состояние выходов поменяется на состояние в позиции( ячейке) 2. Если я подам единичку опять на вход номер 1 то состояние выходов поменяется на состояние в позиции( ячейке)3. Если я подам единичку на вход номер 2 то состояние выходов поменяется на состояние в позиции( ячейке)2
Важно. Если я буду например подавать единичку например только на вход номер один то пройдя круг от первой до пятидесятой позиции( ячейки ) мы начнем новый круг опять с первой ячейки.
Выход на рисунке помеченный зеленый и есть выход который позволяет выводить на экран номер позиции( ячейки)
на рисунка есть меню настройке такова блока.Вложение 32264
Ну или может Овен сделает это.
Игорь, а самому не хочется попробовать?
Тем более, что есть уже заготовки для реализации.
На входе реверсивный счётчик, на сброс заведён сигнал с выхода "50"....
Ячейки имеют адреса 0-49. Хотите 1-50 для отображения - прибавите 1.
Ко всему этому прикручиваете ФБ "ПЗУ"...
Ну неужели совсем не хочется пошевелить мозгами?
ППЗУ скрестить с Extract bit. в Exel набросать битовые маски и прописать в ППЗУ согласно выбранному адресу. Адрес соответственно сформировать из входных каналов при помощи Putbit
Так я выкладывал в какой-то теме на 257 ячеек(позиций) по 32 бита, т. е. более чем в 20 раз превосходит то, что Вы желаете, вот картинка:
Вложение 32270
Счётчик, неужели трудно ограничить!
Сергей 0308 я видел Вашу работу. Большое спасибо Всем кто написал. Но вы все не видите главного. А главное это меню что на картинке. Именно через меню удобно и просто это делать. Тут я сразу вижу позицию( ячейку) и состояние выходов . Мне не нужно лазить в редакторе макроса и менять там уставки в нужных мне ячейка.
Сергей 0308 и ROVKI вы молодцы. Вы сделали такой макрос. Так пусть теперь ОВЕН поработает и сделает нормальную настройку под этот макрос.
Мне понадобилось по моргать лампочками. Взял пр114 макрос пзу и завис на 2 дня настраивая " программу в ПЗУ". Бросил это дело достал старый шанайдер электрик и за 20 минут через этот блок и меню написал моргушку для гирлянд. Есть разница. Извините если кого то не поблагодарил .
В данном случае можно воспользоваться макросом PUTBIT на нужное количество входов(бит):
Вложение 32273
Результат вносить в ячейку что в свойствах макроса:
Вложение 32274
Наверно можно это и как-то автоматизировать, у меня, кстати, есть макросы EEPROM, там точно это без проблем можно сделать!
http://www.owen.ru/forum/showthread.php?t=26806&page=3
Автоматизировать что?
Ввод десятичного значения из побитной таблицы?
Для этого можно эксель использовать, если в уме в 8 битах путаетесь.
Чтобы перевести достаточно и калькулятора из Винды:
Вложение 32277
Но народ видимо путается, если два дня(как написал) мучился!
А "автоматизировать", если так кто-то хочет, можно, вводя не десятичное число, а его двоичный эквивалент, это я про макросы EEPROM, боюсь в свойствах макроса такое невозможно?!
Так что в ПР200 это можно сделать и прямо с экрана менять, получится намного круче и проще Шнайдера, не надо перезаливать программу чтобы логику работы изменить, единственный минус полчаса времени потратить, короче, разговоров больше, я помню ещё несколько лет назад кто-то такую таблицу(меню для настройки) хотел!
Как-то примерно так:
Вложение 32278
Я бы заодно в меню и параметр "количество позиций" ввёл, для универсальности, например с моим макросом EEPROM3232 максимально возможно 128 позиций, но автору надо всего 50, он вводит значение 50 и всё, ничего делать(переделывать) не надо, ищет себе другое занятие или курит бамбук! Вроде смотрел внимательно картинку и Шнайдерцы до такого не додумались, может и додумались, просто смотрел невнимательно, короче, как-то так!
Здравствуйте представляю макрос:
Генератор случайных чисел
Результат выводиться как целочисленными так и пошагово..
Принцип работы очень прост
Просто жмём на ввод Результат и получаем желаемое число:)
Тагже есть Сброс, Отбой и увеличить.
Ваши предложения
Поздравляю, первый макрос, что открылся, до этого все ваши архивы с гирляндами и замками у меня не открывались!
И надеюсь круче ранее предложенных:
Вложение 32326
Вложение 32327
Сергей0308...
Чьи это варианты интересно же?
Нет у меня всё не так как там
Например в первой моей версии ГСЧ использоваось 3 генератора с разными чистотами взаимосоединёные И и получалась так что запуская ихх шло время и они совподая выводили результат ... Долго писать .
Короче туда бы генераторы добавить
Штук 5итп
Вложение 32329
В 9ГСЧPPСГ использоваться тоже генератор с И но на выходе обрабатывается массой ИИ.. как-то так