![]() |
|
|
Перейти на главную Журналы одного бита, и из целого байта. В последнем случае один оператор считывания { дет выдавать одновременно значения восьми входных бит. фаза 1: ввод данных
фаза 2: обработка память программ процессор память данных фаза 3: вывод сигналов выходной регистр 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 выходные сигналы Рис. 7.21. Основная структура программируемого логического контроллера (цифрами обозначены различные входные и выходные каналы) Программа может выбрать входное значение из этого регистра и затем обработать отдельно или вместе с другими данными. Выработанный результат можно либо сохранить для дальнейшей обработки, либо направить на выход. 7.3.2. Основные команды В системах промышленной автоматики ПЛК должны работать в режиме реального времени, т. е. быстро реагировать на внешние события. Ввод и обработка внешних сигналов осуществляется в ПЛК двумя способами - по опросу или по прерыванию (раздел 10.6.4). Основной недостаток опроса - можно потерять некоторые внешние события, если ПЛК не обладает достаточным быстродействием, хотя такой подход проще для программирования. Управление по прерываниям сложнее для программирования, но риск пропустить какое-либо внешнее событие намного меньше. Vi равления по опросу обычно вполне достаточно для простых систем, а управление ис прерыванию используется в сложных случаях. Программирование ПЛК в основном представляет собой описание унравляюши- последовательностей. Функции ввода/вывода уже реализованы в базовом пр" граммном обеспечении ПЛК. Программные инструкции, задаваемые одним изоп" санных вьнне способов (раздел 7.3.1), транслируются в машинный код ПЛК. Выпс пение программы происходит в бесконечном цикле. Каждый полный никл сканир вания для малых ПЛК составляет примерно 15-30 мс, и это время приблизительно пропорционально размеру программы. Скорость реакции ПЛК, очевидно, зависит от продолжительности цикла, поскольку во время исполнения программы процессор ПЛК не может считывать или выдавать какие-либо новые сигналы. Обычно это не очень серьезная проблема, так как большинство сигналов в промышленной автоматике изменяются сравнительно мсд.ленно ] 1ибо имеют относительно большую продолжительность. Небольшого набора базовых машинных команд, как правило, достаточно для большинства .задач последовательностного управления. Программа, состоящая из этих ко-.манд, называется списком команд {instiiiction list). Некоторые основные команды перечислены ниже; обычно они .могут оперировать как битами, так и байтами. ld,ldi загрузка значения из входного порта в сумматор, непосредственно (Id) либо с инверсией (Idi); and, ani операция AND или NAND между значениями в сумматоре и на входном порту; результат сохраняется в сумматоре; ог, ori операция OR или NOR между значениями в сумматоре и на входном порту; результат сохраняется в сумматоре; out содержимое сумматора копируется в конкретный выходной порт и управляет выходными сигналами; значение в сумматоре не изменяется, поэтому его можно подвергнуть дальнейшей обработке или переслать на другой выходной порт. Пример 7.4 Программирование ПЛК с помощью принципиальной схемы и списка команд Логические операторы управления для ПЛК можно описать как с помощью принципиальной схемы, так и списка команд (рис. 7.22). Ill п г- Н2-, г- ИЗ-, I- ОН 112 -1 012/ > Рис. 7.22. Управляющие операторы ПЛК в врще приншшиальпой схемы и списка ко-.чанд Логическая последовательность или принципиальная схема часто бывают развст-(нными, что вынуждает сохранять промежуточные данные для позднейшей обра- ботки. В релейных схемах это можно сделать с помощью специального реле (с самс-удержанием); в ПЛК для этих целей существуют операторы orb (OR Block) илиапЬ (AND Block), которые помещают свой результат в стековую память ПЛК. Примеру.5 Программа 1. Использование внутренней стековой памяти ПЛК - принципиальная схема и список команд На рис. 7.23 показана принципиальная схема. 13п Г 14П Г Рис. 7.23. Пример использования стековой памяти в принципиальной схеме Соответствующий ей список команд: Id И значение из канала 1 считывается в сумматор (А); and 12 результат операции AND сохраняется в А; Id 13 содержимое А помещается в стек, а значение из канала 3 считывается в А; and 14 операция AND со значениями из каналов 3 и 4; ре.зультат сохраняется в А; orb операция OR между значениями сумматора А и последним сохраненным в стеке значением; при этом результат остается в сумматоре А, а временный элемент удаляется из стека; out 01 вывод значения А в канал 1. Пример 7.6 Программа 2. Использование внутренней стековой памяти ПЛК - функциональные блоки и список команд На рис. 7.24 показана логическая цепь в виде функциональных блоков. Соответствующий список команд: Id 11 значение из канала 1 считывается в сумматор; and 12 ре.зультат операции AND помешается в А; Id 13 содержимое А записывается в стек, а значение из канала 3 считывается в А; and 14 операция AND со значениями из каналов 3 и 4; ре.зультат сохраняется в А; Id 1,5 содержимое А .занисывается в стек, а значение из канала 5 считывается в А; and 16 операция AND со значениями из каналов 5 и 6; ре.зультат сохраняется в А; orb операция OR между сумматором А и последним сохраненным в стеке значением; результат остается в А, а временный элемент удаляется из стека; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 [89] 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||