книги / Программирование задач автоматического управления объектами на различных алгоритмических языках
..pdfВэтой программе регистр сдвига с номером 0 располагается
вотдельном программном блоке (RUNG 1), в то время как в другом блоке (RUNG 2) размещены как контакты шесть его битовых разрядов начиная с бита номер 2 (%SBR0.2). Сдвиг влево выполняется кнопкой К1 (переменная %I0.0 подключена к входу CU регистра), а сдвиг вправо выполняется уже кнопкой К2 (%I0.1), подключенной к входу CD. Перед началом сдвига нажатием кнопки К3 (%I0.2)
внулевой бит регистра (%SBR0.0) записывается единичный символ. Каждый разряд регистра сдвига (начиная со второго) соответственно соединен с лампами L2, L3, L4, L5, L6, L7.
Набейте, перенесите в оперативную память контроллера ZelioTwido и запустите программу, представленную на рис. 3.27. После запуска этой программы она должна работать в соответствии с поставленной задачей.
3.5.5.2.Регистры сдвига строк (блок памяти %Ri)
Функциональный блок регистр сдвига строк (блок памяти типа %Ri) предназначен для хранения до 16 битовых слов. Регистры сдвига строк бывают двух типов:
–LIFO;
–FIFO – регистр очереди.
Функциональная схема строкового регистра сдвига показана на рис. 3.28.
Рис. 3.28. Функциональная схема строкового регистра сдвига в пакете TwidoSoft
71
На этой схеме сигналы имеют следующие обозначения:
%Ri – символ для обозначения строкового регистра сдвига на схеме;
i – номер строкового регистра сдвига (от 0 до 3); %Ri.I – входное слово строкового регистра сдвига; %Ri.O – выходное слово строкового регистра сдвига; I – входной сигнал для записи числа (слова) в регистр;
O – входной сигнал для считывания числа (слова) из регистра; R – входной сигнал обнуления всех битов;
E – выход пуст;
F – выход полон.
Строковый регистр сдвига типа LIFO
Строковый регистр сдвига типа LIFO (Last In, First Out) работает по принципу «последним записан – первым прочитан». Совокупность регистровой памяти такого типа называется стеком. При получении запроса на сохранение содержимое входного слова %Ri.I сохраняется в вершине стека. Когда стек полон, то F = 1, дальнейшее сохранение слова невозможно. При получении запроса на извлечение данных из стека, слово, расположенное в его вершине, загружается в выходное слово %Ri.O. Когда регистр пуст, Е = 1 и дальнейшее извлечение слов становится невозможным. При этом выходное слово %Ri.O не меняется.
Строковый регистр сдвига типа FIFO
Строковый регистр сдвига типа FIFO (First In, Firs Out) работает по принципу «первым записан – первым прочитан». Совокупность регистровой памяти такого типа называется очередью. При получении запроса на сохранение содержимого входного слова %Ri.I оно сохраняется в вершине очереди. Когда очередь полна, F = 1 и дальнейшее сохранение слов невозможно. При получении запроса на извлечение слова слово, расположенное в конце очереди данных, загружается в выходное слово %Ri.O. Когда регистр пуст, Е = 1 и дальнейшее извлечение слов становится невозможным. При этом выходное слово %Ri.O не меняется.
72
Пример задачи со строковыми регистрами
Принцип работы строковых регистров сдвига обоих типов рассмотрим на примере задачи, структура которой представлена на рис. 3.29. При выполнении этой задачи используем модуль аналогового ввода-вывода.
Рис. 3.29. Программа исследования характеристик строкового регистра сдвига
В этой задаче в регистре типа LIFO кнопка К3 подключена квходу R, а кнопки К1 и К2 соответственно подключены к входам I и O. Для регистра типа FIFO вход R подключен к кнопке К4, а его входы I и O соответственно подключены к кнопкам К6 и К7. Кнопкой К5 каждый из этихрегистров подключается квыходному вольтметру.
73
Цифровой сигнал %IW0.1.0, который формируется на входе модуля аналогового ввода, операцией присвоения %R0.I := %IW0.1.0 передается в регистровое слово %R0.I строкового регистра типа LIFO. Затем при нажатии кнопки К5 следующей операцией %QW0.1.0 := %R0.O содержание слова %R0.O передается на выходной вольтметр стенда.
Аналогичная процедура последовательно выполняется для регистра типа FIFO арифметическими операциями %R1.I := %IW0.1.1
и %QW0.1.0 := %R1.O.
Кнопками К1 и К6 активизируется вход I определенного строкового регистра, при этом каждое показание входного сигнала (сигнала потенциометра) последовательно записывается в соответствующий регистр.
Если кнопка К5 находится в положении включено, то при последовательном нажатии на копку К2 или К7 на выходном вольтметре стенда будет появляться сигнал, записанный в соответствующей последовательности каждым из строковых регистров.
Используя эту программу, можно обеспечить режим пуска любого электропривода. Примером тому является программа, представленная на рис. 3.30.
Для организации ступенчатого пуска электропривода в этой программе используются два таймера, один из которых %ТМ1 при нажатии кнопки К1 через определенный промежуток времени (1, 3, 5, 7, 9, 11 с) запускает второй таймер %ТМ0 на 100 мс. Время запуска таймера %ТМ0 определяется условием, заданного п последовательностью значений параметра %ТМ1.V, подаваемых на его вход IN. Как только текущее время таймера %ТМ1 окажется равным одному из значений заданного временного ряда, то происходит запуск в работу таймера %ТМ0, который на 100 мс сигналом %ТМ0.Q импульсно включает через вход O строковый регистр сдвига типа FIFO в режим считывания информациииз его памяти. В этом режиме через операцию присвоения %QW0.1.0 := %R0.O регистр FIFO последовательно передает через модуль аналогового ввода-вывода на стрелочный вольтметр стенда содержание очереди пусковых сигналов, записанной в памяти этого регистра, дляступенчатого запускавработу электропривода.
74
Рис. 3.30. Программа ступенчатого пуска электропривода
Уровень пускового сигнала на каждой ступени устанавливается потенциометром П1 на панели стенда, а затем операцией присвоения %R0.I := %IW0.1.0 преобразуется в величину входного сигнала регистра типа FIFO. Формирование очереди при записи ступенчатого пускового сигнала в памяти регистра типа FIFO обеспечивается последовательным нажатием кнопки К2 на лицевой панели стенда, при этом каждое нажатие этой кнопки увеличивает количество записей в этой очереди.
Запуск программы в работу осуществляется кнопкой К1, а кнопка К4 стирает значения всей очереди в памяти регистра FIFO.
Кроме битовой и строковой памяти, в программном пакете TwidoSoft существует табличная форма ее организации.
75
3.5.6.Табличная форма организации памяти
Впакете TwidoSoft существует две формы табличных объектов памяти:
– таблица битов;
– таблица слов.
Таблица битов представляется в следующей форме %Mi:L, где L – количество элементов в таблице; i – адрес начала таблицы.
Таблица слов представляется в форме %MWi:L (параметры L и i имеют то же значение). Схема организации табличной памяти в пакете TwidoSoft показана на рис. 3.31.
Рис. 3.31. Схема организации табличной памяти в пакете TwidoSoft
Структурно табличная форма памяти состоит из последовательности ячеек, в которой указан адрес первой ячейки этой таблицы и число последующих ячеек.
Форма табличной адресации представлена в следующем виде:
–%Mx[%MWy] – для битовых таблиц;
–%MWx[%MWy] – для таблиц из слов,
где x – адрес начального элемента (ячейки) таблицы; y – адрес текущего элемента (ячейки) таблицы.
По этой форме доступа к элементам табличной памяти адрес обращения к конкретному элементу таблицы определяется параметром [%MWy], который, в свою очередь, является элементом строковой памяти с адресом у. Этот параметр должен быть целым числом, в том числе и нулем (для нашей схемы этот адрес равен числу 3).
76
Этот параметр указывает на адресное отклонение адресуемой табличной ячейки от адреса первой ячейки таблицы памяти. Использование таблиц памяти в программах пакета TwidoSoft рассмотрим на следующем примере. Для организации ступенчатого пуска электропривода необходимо использовать таблицу памяти, в которой размещены значения пусковых напряжений.
С этой целью в ручном режиме заносим в таблицу памяти пять уровней пускового напряжения начиная с адреса %MW10. Схема такой программы представлена на рис. 3.32.
Рис. 3.32. Программа записи параметров ступеней пускового напряжения для двигателя в ячейки табличной памяти
77
В блоке RUNG 0 этой программы размещен счетчик %C0 с числом максимального счета импульсов, равным пяти. Обнуление счетчика происходит при нажатии кнопки К4, а счетные импульсы создаются кнопкой К1. В следующем программном блоке RUNG 1 размещены два оператора присвоения. При этом оператор %MW20:=%C0.V+1 при очередном нажатии на кнопку К1 увеличивает параметр текущего состояния счетчика %C0.V на единицу и записывает это состояние в ячейку строковой памяти с адресом 20. Этим оператором формируется табличный адрес, по которому другим оператором %MW10[%MW20]:=%IW0.1.0 в таблицу памяти начиная с адреса 10 заносятся показания потенциометра П1, полученные через аналоговый модуль командой ввода аналогового сиг-
нала (%IW0.1.0).
Вблоке RUNG 2 этой программы оператором %MW20:=%ТМ0.V
вячейку табличной памяти с адресом 20 записывается значение текущего состояния таймера %ТМ0, обеспечивающего при нажатии на кнопку К2 задержку времени при переключении ячеек табличной памяти в процессе их считывания. После чего в блоке RUNG 3 оператором %QW0.1.0:= %MW10[%MW20] содержание каждой ячейки табличной памяти командой %QW0.1.0 выводится на стрелочный вольтметр.
Таким образом, для обеспечения записи значений пусковых токов в ячейки табличной памяти в нашей задаче был использован счетчик прямого счета %C0, с помощью которого последовательно формировался адрес ячейки табличной памяти, необходимый для записи текущего значения этого тока, снятого с потенциометра П1.
Для выполнения обратной задачи в программе был применен таймер %ТМ0, предназначенный для выполнения аналогичной функции в процессе передачи (считывания) данных из ячеек табличной памяти на стрелочный вольтметр.
78
4. ПРОГРАММИРОВАНИЕ ЗАДАЧ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ ОБЪЕКТАМИ ПО ЗАДАННОМУ АЛГОРИТМУ НА БАЗЕ МИКРОКОНТРОЛЛЕРОВ КОМПАНИИ OMRON
Лабораторная работа № 3
4.1. Цель работы
Целью лабораторной работы является знакомство с устройством и принципами программирования работы по заданному алгоритму контроллера серии OMRON CJ1M, предназначенного для автоматического управления объектами на языке программного пакета CX-Programmerr через распределенную сеть с протоколом связи
Device-Net.
4.2. Описание стенда
Производителем микроконтроллеров OMRON является японская компания Omron. Контроллеры серии OMRON предназначены для управления технологическими процессами, требующими высокой точности и надежности управления. Широкий набор стандартных модулей ввода-вывода и специальных модулей позволит с их помощью оптимально решать многие задачи автоматизации как для локальных объектов, так и для объектов в распределенных сетях.
Контроллер OMRON CJ1M, используемый в нашем стенде, представляет собой программируемый логический микроконтроллер (ПЛК), управляемый программой, написанной на особом алгоритмическом языке CX-Programmerr, аналогичном по структуре языку Ladder.
Контроллер OMRON CJ1M является контроллером модульного типа, работающего совместно:
–с коммуникационным модулем DRM21;
–интерфейсным модулем GRT1-DRT;
–модулем дискретных входов GRT1-ID4;
79
–модулем дискретных выходов GRT1-ОD4;
–модулем аналоговых входов GRT1-AD2;
–модулем аналоговых выходов GRT1-DA2V;
–модулем GRT1-TS2P, предназначенным для обработки сигналов термосопротивлений.
Связь ПЛК с компьютером осуществляется по кабелю через встроенный Ethernet-порт. Базовые модули ввода-вывода через встроенные разъемы по системной шине подключаются к интерфейсному модулю, который по шине интерфейса Device-Net подключается к CPU через коммутационный модуль.
Техническая характеристика контроллера OMRON CJ1M приведена в табл. 4.1
|
|
Таблица 4 . 1 |
|
Техническая характеристика контроллера OMRON CJ1M |
|
|
|
|
№ п/п |
Контроллер OMRON CJ1M |
Параметры |
1 |
Питание: |
|
|
напряжение питания |
= 5 В |
|
потребляемый ток, не более |
640 мА |
2 |
Входы: |
|
|
количество входов общего назначения |
10 |
|
входное напряжение |
= 24 В + 10 % – 15 % |
|
входной ток |
5,5 мА |
3 |
Выходы: |
|
|
количество выходов общего назначения |
6 |
|
номинальное напряжение |
= 5 ... 24 В |
|
максимальная нагрузочная способность |
0,3 А/выход |
Технические параметры функциональных модулей приведены
втабл. 4.2.
Кканалам порта дискретного ввода контроллера OMRON CJ1M непосредственно подключены десять кнопок, имитирующих работу дискретных датчиков, а к каналам его порта дискретного выхода подключены четыре индикаторные лампы. Пятый канал этого порта управляет работой вентилятора обдува печи. Шестой канал дис-
кретного ввода этого контроллера используется для включения в работу нагревателя печи.
80