Контроллер SLC5/04. Есть 7 слотов вывода, по 32 выхода на каждом.
Выводы могут находиться в разных режимах - гореть/не гореть, или мигать с частотами 2 и 8 Гц.
Думаю реализовать это перебором всех выходов по одному (цикл с косвенной адресацией), и зажигать в соответствии с их режимом.
Но боюсь, что выполнение этого цикла займет много времени.
Есть ли способы это реализовать по другому?
Есть ли возможность измения выходов по маске?
Насчет масок, здесь вопросов не возникает. Так-же рекомендую просмотреть инструкции секвенсоров, может в Вашей программе они подойдут.
А вот насчет применения циклов, то могу сказать следующее:
1. Стандартный цикл с одной инструкцией в теле быстрее выполняется в ST.
2. Если в тело цикла FOR добавим шаг, где проверяется индекс с граничным значением (в ST IF...THEN, в LD LES), потом, если условие истинно к индексу прибавляем шаг цикла и повторяем инструкцию, то выполнение в LD будет существенно быстрее, чем в ST. Особенно, если несколько таких шагов последовательно, в 1,5 - 2 раза LD быстрее, чем ST. В ST увеличение кол-ва подобных шагов ведет к увеличению времени выполнения (скорее всего, в ST выполнение конструкции IF...THEN равнозначно переходу в п/п).
3. Ну уж если вообще хотим быстро - быстро выполнить цикл, то в LD есть инструкции программного управления JMP and LBL. Особенно при добавлении вышеуказанных шагов в программу.
4. Конструкции Whil...DO and Repeat...Until не показали существенных отличий.
5. Если в теле FOR много инструкций (я тестировал MOV, DINT, DINT до 14 операций в одном цикле (шаге)), то большой разницы во времени выполнения разными способами я не увидел.
Проверял на L32E, так что про RSLogix500 и SLC5/04 ничего не могу сказать.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
Smart Solutions VDT GmbH | Friedrich-List-Allee 38, D-41844 Wegberg-Wildenrath, Germany Tel.: +49 2432 933 57 83 | e-Mail: office@vdt-solutions.de Все товарные знаки и торговые марки являются собственностью их владельцев.
При использовании материалов сайта ссылка на данный сайт обязательна. Открытие страницы: 0.127 секунды