Вот это вариант, и если время выход за уставку между один каналом и вторым учитывать например маленькое, то действие регулятора будет быстрое и постояяное например на открытие задвижки.
Вид для печати
Вот это вариант, и если время выход за уставку между один каналом и вторым учитывать например маленькое, то действие регулятора будет быстрое и постояяное например на открытие задвижки.
сортировка методом пузырька.
надо бы ,что бы сортировка происходила при изменении значения на любом входе и что бы на выходе переписывались окончательные значения ,а не промежуточные значения сортировки .Вещь очень интересная ,куда бы применить ?:confused:
Про такой метод и не слышал:eek: :)
Ну я ж не программист .И надписи такие не видел
Метод "пузырька" очень популярен в примерах при изучении ассемблера, который сейчас вряд ли кто изучает. И все же куда применить?
да ,нашел ,не знал или забыл за 30 лет ;) :D http://ru.wikipedia.org/wiki/%D1%EE%...F0%FC%EA%EE%EC
у вас получилось 5n блоков SEL, 4*(n/2) блоков GT и EQ
и задержка в 16 тактов при выдаче ответа (зачем так много?)
---------------------
а если цикл "развернуть", то понадобиться менее n^2 блоков SEL, и менее (n^2)/2 блоков GT, и ответ СРАЗУ!
(т.е. при n<5 делать цикл с проверками не имеет смысла)
PS ещё одна проба пера с пузырьком...
на этот раз один вход это выбор способа сортировки - по возрастанию или по убыванию...
Ну так автор сомневался- влезет \не влезет .А такты не считал ,как то было не к спеху :D ;)
Лучше внутри макроса организовать задержку,что бы значения на выходе не прыгали ,чем потом каждый будет бороться с этим сам .Полуфабрикат хорошо ,а готовый к использованию макрос -лучше.
ради прикола - замените все "обратные" связи в моей первой схеме на "обычные", и посмотрите на стек :D
поэтому и подумал, что не хватит...
PS работоспособность, правда, пострадает, но мы же на стек только хотим поглядеть :rolleyes:
PPS я не буду делать "развёрнутую" версию, т.к. её надо делать под конкретную задачу, т.е. знать n (кол-во входов/выходов)
запустится, вы просто сделайте там импульс (временно смените значение),
т.к. детект изменений идёт именно по этому входу.
PS макрос(ы) "пузырёк" - это макрос, "для души", что бы использовать его в реальном проекте требует доработки.
(я посчитал, что делать все проверки, что бы использовать его в конечном продукте - слишком накладно)
-------------
если есть нужда в готовом макросе для реальной задачи - говорите своё n, и я сделаю.
Да в чем наклад,то ?лишние элементы -эка невидаль .Тем более они не лишние для требуемого функционала .
На счет разрядности -делайте на 4 разряда ,если кому нужно больше ,он соединит выходы 1 макроса и подаст на 2макрос ,для сортировки(поиска максимума или минимума) . .Только нужно ,что бы это были законченные макросы сортировки,без дребезга по выходу и с изменением по любому входу.Чем лучше 8 вход первого?
Да уж ,на первый пузырек мало похож .
Вот пример использования макроса(пузырек) для поиска максимального числа из 10чисел .
А я вроде делал уже макрос- минимум\максимум .там 2 выхода всего.
а этот "с эффектом сортировки" :p
так если один выход(максимум) то сортировка не нужна:D и быстрее -за 1 цикл .:p :p :p :p
особенность ОвенЛоджик в том, что ту часть схемы которая не подключена, программа не будет генерировать для неё код.
т.е. как будто её и нет
т.е. мой макрос можно использовать как MAX, MIN, одновременно MAXMIN или сортировку, и ОвенЛоджик сгенерирует код только из нужных блоков
PS максимальная эффективность будет если использовать все 4 входа.
(отсутствие лишних блоков в конечной схеме)
PPS про один цикл не понял. у меня в MAXMIN так же.
есть такое понятие как "развёрнутый цикл", или "развернуть цикл"
это когда один и тот же код копируется несколько раз, уменьшая кол-во итераций цикла, или вообще избавляясь от него
когда N=4 цикл с пузырьком должен выполниться 3 раза.
что я и сделал - просто 3 раза подрят проверил соседние значения и поменял их, если они в "неправильном" порядке.
т.е. 3 итерации цикла выполняются за 1 цикл ПР
что-то я забыл, что в ПР110 нет отрицательных чисел...
А разве тип INT имеет отрицательные числа ,хоть в ПР110,хоть в ПР114