Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программная_инженерия_лекция_09

.pdf
Скачиваний:
103
Добавлен:
15.02.2015
Размер:
369.15 Кб
Скачать

Технология программирования микропроцессорных систем.

© О.А. Кудин. Лицензия CC-BY-NC-ND

ЛЕКЦИЯ 9. базовые действия при программировании промышленных контроллеров Modicon M340 фирмы

Schneider-Electric.

9.1 Область памяти ПЛК и адресация каналов ввода/вывода

Операционная система ПЛК в начале Задачи автоматически обновляет входные переменные, а в конце – автоматически обновляет значения выходных переменных. В зависимости от назначения, данные могут быть размещены в нескольких областях памяти:

%I, %IW – области данных дискретных и аналоговых входных каналов;

%Q, %QW – области данных дискретных и аналоговых выходных каналов;

%М – область данных для внутренних булевых (Boolean) переменных;

%MW – область данных для внутренних числовых переменных;

%S – область данных для системных булевых переменных;

%SW – область данных для системных числовых переменных;

%KW – область констант;

Unlocated – область нелокализованных данных.

Ячейки памяти в каждой области адресуются по-разному. В области %М

и %MW каждая ячейка имеет свой номер. Например, %М0 – нулевая ячейка в области %М, а %MW100 – сотая ячейка в области %MW. Эти ячейки могут применяться для сохранения промежуточных результатов.

В областях %I (дискретные входы), %IW (аналоговые входы), %Q

(дискретные выходы) и %QW (аналоговые выходы) каждая ячейка отвечает за конкретный канал ПЛК, поэтому адресация ячеек совпадает с адресами каналов. Адреса каналов в ПЛК полностью зависят от их размещения в шасси и состоят из последовательности «N.M.C», где:

N – номер шасси;

M – номер места размещения модуля в шасси;

C – номер канала в модуле.

1

Технология программирования микропроцессорных систем.

© О.А. Кудин. Лицензия CC-BY-NC-ND

Например, ячейка с адресом %I1.4.6 будет получать значение 6-го дискретного входа, модуля на позиции № 4 в шасси № 1.

Разработчик программы пользователя может указать для переменных адрес ячейки памяти, где будут размещаться данные программы (привязать данные к адресу). Если эта ячейка будет частью области входов, то переменная будет входной и получит входное значение автоматически. Если для переменной будет указана ячейка из области выходов, то она будет выходной.

Определение адреса для переменной указывается в среде UNITY PRO.

Все переменные, которые будут привязаны к конкретной ячейке, называются ЛОКАЛИЗОВАННЫМИ ПЕРЕМЕННЫМИ, так как их расположение известно. В программе пользователя допускается прямой доступ к ячейкам памяти по адресу, поэтому значения локализованной переменной можно поменять путем замены значения в ячейке памяти, на которую она ссылается.

Одной из полезных особенностей UNITY PRO является необязательное определение адреса переменной. В случаях незаполненного свойства «Address» UNITY PRO при компиляции поместит эту переменную в области нелокализованных данных. Такие переменные называются НЕЛОКАЛИЗОВАННЫМИ. При этом адреса ячейки, в которой будут размещены данные, будут неизвестны разработчику и может изменяться при компиляции.

9.2. Разработка, компиляция и загрузка проекта UNITY PRO

Проект UNITY PRO – это база данных специального формата, которая содержит всю конфигурационную информацию для ПЛК и некоторую информацию для его распределенной периферии. Проект сохраняется на компьютере в виде одного файла формата *.stu. Файлы формата *.stu

несовместимы в разных версиях. Для переноса проекта из одной версии в другую его необходимо сохранить в архивном формате *.sta, который совместим в большинстве версий.

2

Технология программирования микропроцессорных систем.

© О.А. Кудин. Лицензия CC-BY-NC-ND

Навигация по проекту проводится через единый проводник проекта

(Project Browser, рис. 1).

Рисунок 1 – Структура проекта UNITY PRO и назначение разделов

ПЛК работает с исполнительным проектом (скомпилированным кодом).

Поэтому для загрузки исполнительного проекта его нужно создать. Создается исполнительный проект путем компиляции (Build-> Rebuild All Project).

Исполнительный проект сохраняется на диске вместе с файлом проекта UNITY PRO.

Для загрузки исполнительного проекта сначала устанавливается соединение компьютера UNITY PRO с ПЛК (команда PLC->Connect), т.е.

переход в режим online, а потом пересылка проекта в ПЛК (PLC->Transfer Project to PLC). Компьютер можно соединить либо с реальным контроллером

(PLC-> Standard Mode), либо с имитатором контроллера (PLC-> Simulation Mode). После загрузки исполнительного проекта контроллер можно перевести в режим RUN.

3

Технология программирования микропроцессорных систем.

© О.А. Кудин. Лицензия CC-BY-NC-ND

Разработка проекта UNITY PRO может проводиться в разной последовательности иметь итерационный характер. Один из возможных вариантов последовательности разработки и наладки проекта состоит из следующих этапов:

1.Конфигурация аппаратной части ПЛК и распределенной периферии.

2.Создание переменных, экземпляров функциональных блоков,

производных типов данных, производных функциональных блоков.

3.Создание программы пользователя.

4.Наладка программы пользователя с применением ПЛК или имитатора

ПЛК.

5. Привязка переменных к входным/выходным каналам ПЛК, наладка программы пользователя с реальным контроллером в составе системы управления.

9.3 Конфигурация аппаратной части ПЛК

Конфигурация аппаратной части выполняется в несколько этапов. При создании проекта выбирается тип ПЛК (M340, Premium, Quantum) и тип процессорного модуля. В разделе проекта «Configuration» указывают размещение модулей на шасси контроллера (рис. 2).

Рисунок 2 – Редактор аппаратной конфигурации

4

Технология программирования микропроцессорных систем.

© О.А. Кудин. Лицензия CC-BY-NC-ND

Для процессорного модуля задается ряд функций: поведение ПЛК при его запуске и остановке, параметры защиты памяти от записи, выделение локализованных областей памяти и т.д. При конфигурации модулей входов или выходов определяются свойства отдельных каналов (привязка к Задачам,

настройка диапазонов и т.п.).

9.4 Создание переменных и экземпляров функциональных

блоков

Начать разработку программы пользователя можно с определения переменных в редакторе данных (рис. 3).

Рисунок 3 – Пример создания переменных в редакторе данных Для каждой переменной указывается: имя переменной; тип переменной;

значение, которое будет принимать переменная при инициализации ПЛК; адрес ячейки памяти, где будет сохраняться значение переменной; комментарии.

Кроме элементарных типов данных среда UNITY PRO поддерживает производные типы данных, которые создаются на базе элементарных.

Производные типы данных представлены структурными типами и массивами.

Среда UNITY PRO, кроме имеющихся функций и процедур, имеет функциональные блоки. Функциональный блок можно представить как единую структурную единицу, которая состоит из программной процедуры и структурированных данных. Структура и программа определяется типом функционального блока. Функциональный блок хранит промежуточные значения в своих переменных. Механизм использования функциональных

5

Технология программирования микропроцессорных систем.

© О.А. Кудин. Лицензия CC-BY-NC-ND

блоков очень похож на использование объектов при объектно-

ориентированном программировании.

9.5 Создание программы пользователя

Программа пользователя может быть однозадачной или много задачной.

Она состоит из секций, каждая из которых может быть написана на любом из языков МЭК 61131-3 (LD, ST, IL, FBD, SFC). Секции в задачах выполняются последовательно. При создании секции для нее указывается имя и выбранный язык программирования.

6