Всех благодарю за столь оперативную помощь и примеры, есть над чем поразбираться
Склоняюсь к мысли, что если есть возможность выбирать, то задачу реализации FIFO на 2000 бит, проще сделать на ПЛК используя массивы.
Всех благодарю за столь оперативную помощь и примеры, есть над чем поразбираться
Склоняюсь к мысли, что если есть возможность выбирать, то задачу реализации FIFO на 2000 бит, проще сделать на ПЛК используя массивы.
Что-то Вас бросает из крайности в крайность, не знаю как для ПР110, для ПР200 всё умещается со свистом:
Задержка на 1984 такта.PNG
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
110 FIFO.PNG
В 110 никак.
Значит подойдёт немного другой вариант: вместо того, чтобы сдвигать эти самые биты, можно использовать эти SEL'ы как массив.
Т.е. сделать счётчик, который указывает на "номер бита куда записываем".
Номер бита будет от 0 до 1023.
Делим номер бита на 32 -- получаем "номер SEL'а, в котором хранятся данные"
Берём остаток от деления на 32 -- получаем номер бита в SEL'е
Запись точно так же, но используется номер бита на 1 меньше.
Иными словами, биты никуда не передвигаются между SEL'ами, а просто выбирается нужный бит.
Судя по тому, что показатель "ОЗУ" не зашкаливает, всё должно получиться.
Если строить такую цепочку по принципу "макрос на 32 бита" (1 SEL), "маркос на 64 бита" (2 первых макроса), "макрос на 128 бит" (2 вторых макроса) и т.п., то нужно всего несколько слоёв, чтобы сделать 1024-2048 бит.
Но это "для любителей".
Разумеется, эстеты используют нормальные массивы.
Это от недостатка опыта
Но в ПР110 не хватает стека, только 186 тактов.
186.png
А как Ситников насоветовал, что-нибудь получилось???
Если решите на ПР200(114), вот немного оптимизировал, задержка на 2048 тактов:
Задержка на 2048 тактов.PNG
На железе не проверял, делал методом научного втыка, глядя в симулятор!
Последний раз редактировалось Сергей0308; 27.01.2017 в 08:36.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.