Урок 5
В проектировании ,как и в жизни все не однозначно и много вариантно .
В уроке 3 ,там где формировал и сбрасывал счетчик убрал все лишнее и заменил на умножение на маску(3).
Вид для печати
Урок 5
В проектировании ,как и в жизни все не однозначно и много вариантно .
В уроке 3 ,там где формировал и сбрасывал счетчик убрал все лишнее и заменил на умножение на маску(3).
вот это интересный макрос, получаеться числом задаёться номер мигания.. получаеться попроще даже
что то я вообще запутался)) почему в блоке AND логическое И, меняеться выход от 0 до 3? если на входе 65 тысяч и три.. то ?? почему? как это операция И происходит?
Потому что ,не дочитали .....Потому что с целочисленными числами элемент "И" работает как операция по битного умножения.то есть только два разряда 0 и 1 остаются такие как есть ,а остальные преврашаются в "0"(если умножать на 3)- так называемая МАСКА.
Урок №6
Создаем макросы ,добавляем еще один световой эффект "вспышка" .
Делаем макрос Мультиплексор (MX) -Входной сигнал коммутируется на два выхода ,в зависимости от состояния адресного входа (А) .Делаем два макроса реверсивных счетчиков ,считающих по модулю "М" .Причем первый макрос считает в позиционном коде (бекущая единица) ,второй- в двоичном коде .У которых ,так же есть вход сброса(R) и вход N (уставка) .Для перспективы оба счетчика сделаны восьми разрядные .Короче -получили 2 универсальных макроса счетчиков .Первый счетчик мы используем ,как "двигатель бегущего огня",второй для перебора,замешивания (задания) световых эффектов.
Световые эффекты получаем за счет обработки сигналов с выхода основного счетчика и задания направления его счета.Для обработки выходных сигналов создаем макрос стробируемого ИНВЕРТОРА-ПОВТОРИТЕЛЯ . У него есть входа сигналов (4) ,есть управляющий вход ,который задает прямое или инверсное прохождение сигнала , и вход разрешения прохождения сигналов на выходы (С), управляя которыми и создаются дополнительные световые эффекты.
В схеме есть 4 генератора .1 -задает скорость бега огня ,2- время смены светового эффекта ,3- создает мерцание огней (модуляция) .4- создает вспышки ,уменьшая время свечения огней .Эффект вспышек обеспечивает второй управляемый повторитель (макрос) .
Изменив модуль счета первого счетчика с 3 на 7 и добавив еще пару управляемых повторителей -инверторов получите 8 гирлянд ламп.Вот и вся схема.
Этими уроками хотел показать не только очередной вариант елки ,но и саму "кухню"- процесс создания схемы ,на примере игрушки -ЕЛКА на макросах или МАКРОСЫ НА ЕЛКЕ:D .
Всего хорошего ,спасибо за внимание:) .Каникулы....:D ;)
Задание на каникулы - добавьте смену частоты бега огня от 2 счетчика (дополнительный эффект)
АНДРЕЙ ,похоже проспал елку:D :D :D
Еще один вариант елки ,но в качестве движка огней заложен реверсивный ,циклический регистр сдвига .Счетчик CTBM по прежнему задает чередование ,смешение световых эффектов и меняет параметры всех генераторов .Главное отличие в том ,что на регистре можно реализовать более причудливые световые эффекты -какое число записал в него ,то и движется .Для смены этих чисел (световых эффектов) стоит мультиплексор .Остальное почти аналогично.;) :)
Здравствуйте, целый день на работе, пока только прочитал, что каникулы наступают
УРАААА :D
Как я понимаю лучше второй вариант смотреть и разбирать внимательнее. Восемь гирлянд это реальность, потому как уже сейчас будет 16 гирлянд.. по 2 на вход, а со временем думаю ещё снежинки сделать по мимо гирлянд, как показывал в видео, так что может потом переделаю на 4 гирлянды, а снежинки по своим програмам будут. Или второй ПР поставлю.. Точно незнаю, как глава посёлка денег даст, потому как на гирлянды надо тысяч 20, ну и обвязать вся включая ПР надо 10
Лучше все смотреть и разбирать ,что на уроках дали:cool: А уж что применять -дело второе:rolleyes:
конечно, и с макросами немного путанно, Но это скорее всего мнения как новичка, ведь не практики не опыта составления даже простеньких задач не было, а тут сразу такой наплыв.
У меня вот ещё одна идея возникла. При таком вот виде программы очень трудно уловить что за что отвечает, Возможно ли сделать наример таким образом. Создать макрос сравнения, и на вход подставить числа, например номер входа который должен включаться и его длительность включённого состояния. А номера прописать как бы в массиве, и потом замкнуть цикл. Или например масив сделать на минуту, а потом перейти к другому масиву (эфект мигания)
Вот например есть 2 массива:
Первый массив - 1,2,3,4,1,2,3,4,1,2,3,4
Второй массив - 4,3,2,1,4,3,2,1,4,3,2,1
тоеть когда выполняеться первый масив по очереди включаються выхода, а когда второй изменяеться направление
Тоесть в массиве прописано последовательность включённых выходов, вот только незнаю возможно ли так реализовать, например чтобы включение было одновременно первого и второго выхода, число в массиве будет стоять 12 если третьего и четвёртого то 34. Соответственно если будет число 24 то выход будет активный второй и четвёртый.
Так мне кажеться проще было бы создавать новые эфекты, добавляя только массив с цифрами. А уже переключение между массивами задаёт таймер какой нибудь например 1 минута это цикл одного массива, правда вот незнаю как тут прописывать тогда время мирцания...
Вот как то так, раасудите если смысл моих рассуждений?
Я не зря начал уроки с разговора о двоичной системе исчесления ,которую все же придется изучить .Если бы вы создавали световые эффекты на ПК ,с помощью специального программного обеспечения ,то тогда бы имело смысл городить подобный человеко-машинный интерфейс и тыкая мышкой создавать или выбирать нужный световой эффект ,при чем с реальной визуализацией .А тут приходится довольствоваться РЕЛЕ с симулятором ,который отображает картинку в не реальном времени.
Ну право ,не так уж сложно ,если школьники 6 класса справляются с ноликами и единичками ,тем более если оперировать 4,8 двоичными разрядами .
десятичное число1 -двоичное 0001
2-0010
3-0011
4-0100
5-0101
6-0110
7-0111
8-1000
9-1001
10-1010
.........
вес младшего разрада 1,
второго-2
третьего-4
четвертого-8
.........
Если вы хотите работать с массивом десятичных чисел ,то можно использовать макрос ППЗУ.Но возможности по эффектам будут ограничены .
В чем трудности уловить работу ,если запомнил как работает каждый макрос.Например Регистр сдвига -есть вход W -это число которое будет сдвигаться в ту или иную сторону в зависимости от сигнала на входе RV по фронту сигнала "Т" .Но так как это регистр циклического сдвига (по кругу) ,то есть вход "N" -это количество двоичных разрядов счетчика .Запомнить и все ,как запомнили назначение контактов пускателя или ПЧВ.
хорошо, будем разбираться
И ещё вопрос, может у меня из за ресурсов компа, время в микро секундах двигаеться очень медленно в последней примере Вашем
BLINK1 например TI =100мс, у меня отсчитывает за 10 секунд
;) Можете использовать макрос преобразования двоичного кода в десятичный
если не хотите считать ,то используйте TON ,блинк... и задавайте время ,как вы делали раньше
а почему макрос не копируется в другой проект? я хотел с пеобразователем чтения байта "поигратся" EXTRB1
Потому что его нужно сначала экспортировать макрос в файл ,потом импортировать в библиотеку .
ясно, решил не спешить а по немножку тренироваться и создавать заново все уроки, чтобы сам блоки создавать, разобраться с каждой функцией поэтапно.. затем каждый макрос разберу что делает, и особенно с преобразванием в двоичную ситему
Вот это слова мужа ,а не мальчика:) В любом случае это проще ,чем ПЛК ;)
Позвольте,что Вы такое в примерах показали, что нельзя воспроизвести в плк. Среда КДС больше приближена к стандарту МЭК чем лоджик, так что зря наговариваете на контроллеры
Ну, всётаки в каких то вопросах, есть смысл ставить ПР, просто вдруг придёться расширить задачу ПЛК может а Пр нет.
Поставил макрос чтения байта, и на вход макроса дешифратор. .получается если на дешифратор ввожу число (с блоком вычитание -1) то это число соответствует номеру выхода))))))))
Всётаки завтра попробую сам написать макрос, у которого на выходе будет число из массива, определённое время, пока не дойдёт до конца массива. на сегодня хватит)))) загрузился))
тогда гляньте это
Так...я так не уйду же спатки)))):rolleyes: и хотелось бы самому))) а то Вы мне на блюдечке выдаёте))) но у меня немножко задумка другая.
Смысл сводиться к тому как писал ранее, Записать в константу число, например 6 и в следущую константу число 12. На выходе макроса будут эти числа и подставляться в макрос чтения бита- сначала 6 потом через определённое время (например 1 секунду) число 12.
После макроса чтения байта будет активный выход 2 и 3 (при числе 6) а при числе 12 активные будут 3 и 4
Тоесть будет получаться не бегущий огонь а последовательность двух огней.:p
С заданием времени связываться не надо.Время -это такт сдвига регистра .А последовательность загорания -это последовательность бит в регистре сдвига.Кроме того не забывайте ,что регистр циклический ,тоесть его последний выход соединен с первым входом.То есть что бы бегала 1 единичка можно записать в регистр 1 ,или 2, или 3,или4 -картинка будет одна и та же .Если вы хотите ,что бы бегало 3 единицы из 4 ,то вам нужно записать любое из,123,234,341,321,432,143,132,423,243,124,134,421 ,431(по вашей системе).....-картинка будет так же одна и та же .Поэтому все же работать с битами.
А если разрядов (выходов) будет 8 ,то вам придется работать с миллионами:D ,вам это надо:confused:Они же не хрустят:D
Макрос имени Andrei Z:D
8-целочисленных входов задают номера активный (включенных) выходов ,в любой сочетании :eek:
Могут получится новые световые эффекты ,правда старые будет тяжело реализовать .Например ,можно сделать бегущие на встречу два огня .
:eek: :eek: :eek: СТОП СТОП))))) хватит :D
меня уже устраивает бегающая одна единичка))))))) а то голову сломал... открыл макрос и :eek:
Так и не надо пока в глубь идти ,а то так и до транзистора(песка) можно дойти ,со временем углубитесь .Пока научитесь плавать на поверхности ,на уровне макроса ,ФБ .А уж потом нырять за жемчугом.Вот такая методология
Время до нового года есть))) лучше всётаки когда сам делаешь и в голове держишь что за чем, а разбирать именно готовый продукт сложновато, особенно когда линии накладываються друг на друга))) паутиной
Вопрос, можно ли в операцию сложения вход добавить? например восемь чисел надо сложить вместе, или придёться пирамидкой рисовать?
Поэтому ,повторяю,- разбирайте работу схемы с макросами ,там связей минимум (не ныряйте).А в голове держите обший принцип работы данной схемы и его составных частей .В схеме с регистром основная схема очень простая ,сделанная на универсальных макросах и часть схемы -это смена уставок всех генераторов .Попробуйте создать макрос и убрать всю эту мелочевку (сел) внутрь его ,что бы схема была еще наглядней .
Посмотрите, Всё-таки я попробую сделать так, заодно потренеруюсь в простых блоках. Вот эта програмка даёт увидеть какое число на входе в макрос (чтения байта) нужно задавать чтобы включались определённые выходы. Может конечно проще можно сделать незнаю :)
Как не знаю ?Я же давал другой способ http://www.owen.ru/forum/showpost.ph...postcount=2276 ,на сел .:confused: ;)
Вот те на :eek: .Вы ж сами давали ссылки на описание овен лоджика :D ,то что 50 страниц ,можете в кодесис почитать про любой ФБ.;)
А пока гляньте встречный огонь .Спасение утопающих -дело рук самих утопающих:D .Выплывите -значит не утоните :) еще один метод обучения :p(погружение)
точно, :( вспомнил, всётаки столько много информации сразу и глубоко... даёт о себе знать. Надо просто посмотреть и самому составить не раз операция сравнения очень нужная вещь, в дальнейшем для меня ;)
Спасибо что возитесь со мной
Хотя вот сейчас смотрю, то же самое просто вместо SEL я умножение подставил, а операцию сложения сделал чуть иначе, но смысла от этого не поменялося. :p а у меня стек даже с макросом чтения байта 13% на SEL будет 33%;)
За неделю вы прошли курс от электрика ПТУ до 1 курса института-МОЛОДЕЦ .Это пряник:) .Так держать;)
спасибо))) сейчас попробую сделать всётаки чтение выходов по массиву
Вы спросили я ответил ,выбор за разработчиком,Ваш вариант более классический -умножение на вес разряда и сложение .Для ваших задач стека хватит .Делайте так как легче для понимания(вашего) .Сначала ремесло ,потом искусство .