ФЭА / АИТ / Отчет по дисциплине «Структура и математическое обеспечение систем управления» на тему «Микропроцессорный контроллер Siemens S7-200»
(автор - student, добавлено - 7-04-2014, 11:11)
СКАЧАТЬ:
Отчет по дисциплине «Структура и математическое обеспечение систем управления» на тему «Микропроцессорный контроллер Siemens S7-200»
Теоретическая часть Серия S7-200 – это ряд микропрограммируемых логических контроллеров (микроконтроллеров), которые могут управлять разнообразными прикладными системами автоматизации. Компактная конструкция, расширяемость, низкая стоимость и мощная система команд микроконтроллеров S7-200 создают идеальное решение для управления малыми технологическими объектами. Кроме того, большое разнообразие типов CPU обеспечивает необходимую гибкость при решении задач автоматизации. На рис. 1 показана основная система с микроконтроллером S7-200, которая включает CPU S7-200, персональный компьютер с установленной программой STEP 7-Micro/WIN 32 и кабель связи. Для использования персонального компьютера (PC) необходимо иметь одно из следующих устройств:
Рис. 1. Компоненты системы с микроконтроллером S7-200
1.1. Основные компоненты микроконтроллера Siemens S7-200 Микроконтроллер S7-200 состоит из одиночного блока CPU S7-200 или блока с модулями расширения. CPU S7-200 объединяет центральный процессорный блок (CPU), источник питания и цифровые вводы-выводы в компактное автономное устройство.
1.2. Концепции языков программирования и редакторов S7-200 Редактор контактного плана (Ladder Logic) Редактор контактного плана (LAD) позволяет формировать программы, имеющие сходство с электрической монтажной схемой. Вероятно, программирование в контактном плане является методом, который выбирают многие программисты ПЛК и обслуживающий персонал. По существу, программы в контактном плане позволяют CPU эмулировать протекание электрического тока от источника питания через ряд логических состояний входов, которые, в свою очередь, разблокируют логические состояния выходов. Логика обычно подразделяется на малые, легко понимаемые, сегменты, которые в англоязычной литературе часто называются rungs, т.е. ступеньки (в соответствии с английским названием контактного плана – Ladder Logic, что буквально означает "лестничная логика"), или networks – цепи. Программа выполняется по "цепям" слева направо и затем сверху вниз, как предписано программой. Как только CPU достигает конца программы, он начинает снова с вершины программы. На рис. 2 показан пример программы, составленной в редакторе контактного плана.
Рис. 2. Пример программы в LD
Основные особенности, принимаемые во внимание при выборе редактора LAD:
1.3. Лабораторный стенд на базе S7-200 Стенд состоит из персонального компьютера с установленной средой программирования и отладки Step7-Micro/Win 32, контроллера S7200 (CPU222) c блоком расширения EM231(4 аналоговых входа), соединительного кабеля PC/PPI и имитационного пульта. На пульте установлены: включатель питания (~220), потенциометр (AIW0) и три переключателя (I0.0, I0.1, I0.2). Напряжение с потенциометра, которое можно изменять вручную в пределах 0÷10 В, подключено к первому аналоговому входу блока расширения EM231. Переключатели I0.0, I0.1 и I0/2 коммутируют постоянное напряжение 24В, которое затем подается на первые три дискретных входа контроллера. Кабель PC/PPI соединяет контроллер с персональным компьютером через последовательный Сом-порт. В процессе установки программы Step7-Micro/Win 32 назначается СОМ-порт № 1 по умолчанию. При необходимости этот параметр, а также другие параметры соединения можно перенастроить в опции System Block→Port программы. Состояние входных и выходных дискретных сигналов во время выполнения программы можно контролировать по светодиодным индикаторам, установленным в верхней части корпуса контроллера. Запуск программы производится одноименным ярлыком с рабочего стола компьютера. В качестве дополнительной информации, одновременно с программой, в свернутом виде запускается текстовый файл Instructions с подробным описанием команд Simatic. Рабочее пространство программы показано на рис. 3. В общем случае последовательность действий при разработке и проверке пользовательских программ в данной среде будут следующей. 1. Выбирается редактор, в каком предполагается работать (View→STL, Ladder или FBD).
Рис. 3. Рабочее пространство программы Step7-Micro/Win 32
2. Открывается рабочее поле Main – для основной программы, SBR – для подпрограмм, INT – для подпрограмм прерываний. По умолчанию сразу после запуска программы открыто поле Main. 3. Для установки требуемой команды на рабочем поле программы необходимо в библиотеке инструкций (Instructions) открыть папку с категорией, к какой относится данная команда, выбрать команду и движением мыши переместить ее в необходимое место. 4. После перемещения всех необходимых команд производится их конфигурирование (соединение входов-выходов) и установка требуемых атрибутов команд. Конфигурирование производится с помощью функций , расположенных на панели инструментов. Эти функции дают возможность создавать линии связи вниз, вверх, влево, вправо соответственно. Все поля, отмеченные знаками ???? красного цвета, обязательно должны быть заполнены в соответствии с их смысловым назначением. При выполнении действий по этому пункту и п. 3 следует руководствоваться следующими правилами:
5. Производится компиляция программы по пути PLC→Compile или нажатием на значок , расположенный на панели инструментов. На данном этапе происходит контроль составленной программы на наличие ошибок. В левом нижнем углу рабочего поля программы появляется сообщение об ошибках (Total Errors 0 или Total Errors n, где n – количество ошибок). При их отсутствии можно продолжать дальнейшие действия, при наличии – искать и устранять. 6. Производится загрузка рабочей программы в контроллер по пути File→Download или нажатием на значок . В процессе загрузки потребуется подтверждение перевода контроллера в режим STOP и подтверждение окончания загрузки. 7. Далее производится перевод контроллера в режим Run по пути PLC→RUN или нажатием на значок . После подтверждения перевода в этот режим контроллер начинает выполнять действия, предписанные загруженной программой. 8. Для просмотра состояния входных и выходных переменных программа переводится в режим контроля выполнения по пути Debug→Program Status или путем нажатия на значок .
1.4 Организация памяти ЦПУ S7-22x Численные значения, используемы при записи адресов ячеек памяти, не являются произвольными, а должны лежать в пределах, допустимых при адресных данных. В табл.1. приведены возможные варианты представления данных для различных областей памяти ПЦУ S7-22x и диапазоны допустимых значений адресов. Таблица 1. Диапазоны представления данных для различных областей памяти ЦПУ S7-22х
1.5 Косвенная адресация При косвенной адресации для обращения к данным в памяти используют указатели (pointer). ЦПУ S7-22x позволяет использовать указатели для косвенной адресации следующих областей памяти: I, Q, V, M, T (только текущее значение счета) и С (только текущее значение счета). Отдельные биты адресовать таким образом нельзя. Для косвенного обращения к определенной ячейке памяти необходимо сначала создать указатель на эту ячейку. Указатель представляет собой двойное слово, поэтому для его создания следует использовать инструкцию MOV_DW («Переместить двойное слово») и поместить адрес ячейки в другую ячейку или в аккумулятор, используемый в качестве указателя. Для указания того, что адрес ячейки должен быть перемещен раньше, чем значение в ней, применяют специальный символ – амперсанд (&): &[адрес памяти] &MB16. В инструкции MOV_DW, создающей указатель, допускается использование только ячеек памяти области V или регистров аккумуляторов AC1, AC2 и AC3. Аккумулятор AC0 нельзя использовать для косвенной адресации. Символ звездочки (*) перед операндом в инструкции означает, что данный операнд является указателем. *AC1 является указателем на слово, по отношению к которому выполняется инструкция MOV_W («Переместить слово»). В этом примере значения, хранящиеся в ячейках V200 и V201, загружаются в аккумулятор AC0. Значение указателя можно изменить. Для этого следует использовать инструкции, оперирующие с двойными словами, поскольку указатели являются 32-битными величинами. Для изменения значений указателя могут быть использованы простые математические операции: сложение или инкрементирование (увеличение на единицу). При этом необходимо учитывать размер данных, к которым происходит обращение: ─ при обращении к байтам следует инкрементировать значение указателя 1 раз; ─ при обращении к слову или текущему значению счета таймера или счетчика следует прибавить к значению указателя число 2, либо дважды инкрементировать его; ─ при обращении к двойному слову следует прибавить к значению указателя число 4, либо инкрементировать его 4 раза. 1.6 Адресация модулей расширения входов/выходов. Каждая модель ЦПУ S-7-22х имеет определенное число дискретных локальных входов/выходов и поддерживает (за исключением CPU 221) дополнительные как дискретные, так и аналоговые входы/выходы модулей расширения. Локальные входы/выходы модуля ЦПУ имеют фиксированный набор адресов. Пользователь может добавить точки входов/выходов посредством подключения модулей расширения к ЦПУ. Адреса в полученной цепочке модулей определяются типом входов/выходов и местом модуля в цепочке по отношению к другому модулю такого же типа. Например, модуль расширения входов не влияет на адреса точек модуля расширения выходов и наоборот. Аналогично, дискретные модули не влияют на адресацию аналоговых модулей (и наоборот). Для дискретных модулей расширения всегда зарезервированы интервалы в регистре образа процесса с дискретностью 1 байт. Если модуль не предоставляет физической точки ввода или вывода для каждого бита зарезервированного байта, то неиспользованные биты не могут быть назначены последующим модулям. Для модулей входов неиспользованные биты в зарезервированных байтах устанавливаются в 0 в каждом скане. Неиспользованные биты модулей выходов можно применить в качестве битов памяти (М-битов). Входы и выходы аналоговых модулей расширения всегда назначаютсяс дискретностью 2 байта. Если такой модуль не предоставляет физических входов/выходов для каждой из точек ввода или вывода, то эти точки теряются и становятся недоступными для последующих аналоговых модулей. Таблица 2 Назначение адресов входов/выходов для CPU S7-222 с блоками расширения
1.7 Отладка, мониторинг программы и работа над ошибками. STEP 7-Micro/WIN 32 имеет встроенные возможности контроля правильности написания разрабатываемой программы и устранения функциональных ошибок. В частности, в процессе работы над программой STEP 7-Micro/WIN 32 блокирует неверные действия пользователя, например, не позволяя ему размещать графические элементы в недопустимых местах вычислительной цепочки, выделяя неверные записи и т. д. Синтаксические ошибки можно обнаружить при компиляции программного блока или блока данных. Для этого используют команды главного меню PLC/Compile или Compile All либо пиктограммы инструментальной панели. Если при этом в проекте имеются ошибки, сообщения о них появляются в окне вывода. Если же ошибок нет, то на экран выводится сообщение об успешной компиляции. После компиляции всей программы в целом устанавливают коммуникационное соединение с контроллером (если оно не было установлено ранее), загружают разработанную программу в память контроллера командой File/Download или щелчком по соответствующей пиктограмме. Из всех компонентов проекта в память контроллера загружаются: программный блок (без комментариев), блок данных (также без комментариев) и системный блок полностью. Таблица символов не загружается, она используется только при компиляции для назначения абсолютных адресов символическим переменным. Далее загруженную программу запускают на исполнение щелчком мыши по пиктограмме пуска и проверяют ее работу. С этой целью в STEP 7-Micro/WIN 32 предусмотрен ряд возможностей. В частности, при проверке работы программы пользователь может установить конечное число сканов (от 1 до 65535), на протяжении которых можно наблюдать изменение действующих переменных. Для этого следует после загрузки программы выбрать команду меню Debug/Multiple Scans и назначить нужное число, после чего запустить программу. Наблюдать работу программы можно на экране монитора, если выбрать команду меню Debug/Program Status (программа должна быть выведена на экран в LAD- или FBD-редакторе). В этом режиме STEP 7-Micro/WIN 32 показывает логические состояния и значения параметров, позволяя контролировать исполнение программы ЦПУ. На рис. 4 показан один и тот же фрагмент программы в графических редакторах. В LAD-редакторе логические состояния контактов и состояние дискретного выхода, соответствующие 1 (активное состояние), выделены цветом, а текущее значение счета таймера постоянно изменяется, отражая его работу. В FBD-редакторе контактов нет, поэтому цветом выделяется только единичное состояние дискретного выхода Q0.0, а текущее значение счета таймера изменяется так же, как и в LAD-редакторе. Текущие значения переменных можно наблюдать с помощью команды Debug/Chart Status. Команда открывает окно с таблицей, в которой пользователь может наблюдать значения нужных переменных.
Рис 4. Функция Debug Таблица состояний позволяет также реализовать функцию STEP 7-Micro/WIN 32, связанную с принудительным заданием значений. Данная функция позволяет пользователю принудительно изменять состояния входов и выходов контроллера. Кроме того, возможно изменение до 16 значений внутренней памяти (V или M), а также значений аналоговых входов и выходов (AI или AQ). При этом значения V- или M-памяти могут быть заданы в байтах, словах, тогда как аналоговые значения – только в словах с соблюдением байтовых границ (например, AIW6 или AIW14). 1.8 Компиляция, загрузка и тестирование программы. Написанная программа представляется в виде так называемого исходного кода и для того, чтобы процессор ПЛК мог ее выполнить, программу необходимо скомпилировать, т.е. перевести в объектный код, понятный процессору. Чтобы скомпилировать программу, следует: 1. Открыть файл программы. 2. Выбрать команду Compile в меню PLC главного окна или нажать соответствующую кнопку на панели инструментов. Далее программа компилируется и в окне вывода появляется информация о результатах компиляции. Если сообщения об ошибках отсутствуют, то полученный программный блок может быть загружен в контроллер. В противном случае необходимо исправить и снова откомпилировать программу. После успешного завершения компиляции программы (о чем выдается диагностическое сообщение), ее можно загрузить в память ПЛК. Для этого необходимо установить соединение с контроллером с помощью кабеля PC/PPI и проверить наличие связи между, компьютером и контроллером. Штекер на одном конце кабеля PC/PPI вставляется в разъем коммуникационного порта контроллера, штекер на другом конце кабеля — в разъем последовательного порта (СОМ1 или COM2) компьютера. Для проверки наличия связи между компьютером и контроллером предназначена команда Information из меню PLC. При правильном соединении на экран монитора выводится информация о типе контроллера, используемом программном обеспечении, а также ряд других характеристик При отсутствии коммуникационной связи выдается сообщение о неработоспособности канала В этом случае необходимо проверить подключение соединительного кабеля и установки связи, нажав кнопку Communications в диалоговом окне выбора типа контроллера. В частности, следует выяснить, соответствует пи установленный в программе порт порту компьютера и при необходимости внести изменения. После установки связи с контроллером можно загрузить в его память прикладную программу. При этом переключатель режима на панели контроллера должен находиться в положении TERM. Порядок загрузки откомпилированной программы в память контроллера следующий: 1. Открыть файл программы.
Запись программы в память контроллера занимает некоторое время, по истечении которого на экран выдается сообщение о результатах загрузки. Если загрузка прошла успешно, программу можно запустить по команде RUN из меню PLC. При этом на лицевой панели контроллера загорается светодиод RUN. При правильной работе программы процесс ее разработки можно считать завершенным. В противном случае следует внести в программу необходимые изменения и снова загрузить ее в контроллер Далее процесс повторяется вплоть до достижения нужных результатов. Отлаженная программа или ее фрагмент могут быть распечатаны на принтере. Это можно сделать из любого окна пакета Micro/Win 32. Из окна редакторов LAD и FBD можно вывести на печать все вычислительные цепочки программного файла или только цепочки с определенными номерами Если печать осуществляется из окна блока данных или программного блока STL. можно распечатать все содержимое соответствующего файла или только выделенный фрагмент. 1.9 Счетчики Текущее значение таймера Тххх кратно значению дискреты времени, а требуемая задержка времени определяется как произведение дискреты на значение уставки РТ: Тздр=РТ*Δt где РТ — значение уставки; Δt — значение дискреты. Уставка таймеров РТ не может превышать значение 32767 в численном выражении и может быть представлена следующими величинами: VW, IW, QW, MW, SW, SMW, LW, AC, AIW, Т, С, Constant, *VD, *AC, *LD. Следует иметь в виду, что по достижении предельного значения уставки таймер останавливается. Счетчики, входящие в состав стандартных функций, являются программными счетчиками. Они подсчитывают каждое изменение состояния своего входа из 0 в 1. Такие переходы могут быть вызваны как внутренними, так и внешними причинами (например, установкой бита в программе или срабатыванием концевого выключателя). CPU S7-22x поддерживает три типа счетчиков:
Co счетчиками связаны две переменные: • текущее значение — целое 16-битное число, хранящее суммарное значение счета; • бит счетчика — устанавливается по достижении заданного значения счета.
3.1. Связь входа и выхода Задача: связать вход и выход контроллера, показать это на учебном стенде Исполнение программы в Step-7: Подсоединили вход I0.0 к выходу Q0.0.
На вход I0.0 подали сигнал, в результате чего получили сигнал на выходе.
3.2. Таймеры Задача: реализовать задержку во включении и отключении индикатора на учебном стенде по нажатию на кнопку: Исполнение программы в Step-7 (при вкл. и выкл. состоянии):
В начальном состоянии лампочка, подключенная к выходу Q0.4, выключена. По истечении времени, установленном на таймере Т33, включается лампочка и начинатеся отсчет времени таймера Т34.
После завершения отсчета таймера Т34 лампочка выключается и цикл повторяется заново.
3.3. Триггеры Задача: реализовать кнопку с запоминанием состояния, используя триггерные выходы R и S: Исполнение программы в Step-7 (Set и Reset): Подаем на вход I0.0 единичный сигнал, который соответствует входу S RS – триггера. Входу I0.1 соответствует вход R RS – триггера.
В соответствии с таблицей истинности RS – триггера получаем значения на выходе Q0.03
3.4. Вычитающий счётчик. Задача: реализовать вычитание значений на цифровом индикаторе, используя счётчик Исполнение программы в Step-7 (начальное состояние, вычитание и сброс): Подключаем вход I0.0 к кнопке, при нажатии на которой, на семисегментном индикаторе SEG, происходит уменьшение числового значения.
После этого подключаем вход I0.1 к кнопке, при нажатии на которую происходит сброс счетчика в начальное состояние.
3.5. Суммирующий счётчик. Задача: реализовать прибавление значений на цифровом индикаторе, используя счётчик Исполнение программы в Step-7 (начальное состояние, сложение и сброс): Выполнение данной задачи аналогично предыдущей, за исключением того, что вместо вычитающего счетчика CTD используем суммирующий счетчик CTU.
В данном случае вход I0.1 соединен с кнопкой, при нажатии на которую происходит установка счетчика в 0.
3.6. Реверсивный счетчик. Задача: реализовать прибавление и вычитание значений на цифровом индикаторе, используя счётчик Исполнение программы в Step-7 (начальное состояние, сложение, вычитание и сброс): Реверсивный называют счетчик, который может работать как в режиме суммирующего счетчика, так и в режиме вычитающего счетчика. Реализация реверсивного счетчика осуществляется с помощью трех кнопок, подключенных к входам I0.0, I0.1, I0.2.
Входу I0.0 соответствует режим суммирующего счетчика.
Входу I0.1 соответствует режим вычитающего счетчика.
Входу I0.3 соответствует сброс счетчика до значения установленного в входе PV блока CTUD.
3.7. Сравнение значений Задача: сравнение значений с помощью блоков сравнения и вывод результатов сравнения на цифровой индикатор Исполнение программы в Step-7 (начальное состояние, сравнение некоторых значений): На вход IN1 и IN2 блока ADD_I записываем два числа для суммирования, а результат этой операции передается в AC1. Затем происходит сравнение с установленным значением.
Результат сравнения «да» или «нет» передается на семисегментный индикатор в виде «1» или «0»:
3.7 Меркеры Исполнение программы в Step-7:
На вход I1.1 поступает краткий сигнал. Активируется выход Q1.1.
На вход снова поступает краткий сигнал. Но активируется выход Q1.2. Далее заново на вход I1.1 поступает краткий сигнал. Активируется выход Q1.1.
4. Отчёт о работе со стендом 1. Подключение проводов для реализации схемы со счётчиком:
2. Цифровой индикатор (1-4):
3. Подключение проводов для реализации схемы сравнения:
5. Вывод Мы ознакомились с микропроцессорным контроллером Siemens S7-200, изучили среду программирования Step-7, язык программирования LD. Так же мы выполнили ряд задач для закрепления наших знаний. Похожие статьи:
|
|