- •1.1. Общие понятия
- •1.2. Функциональная структура ПЛК
- •1.3. Операционные режимы роботы ПЛК
- •1.4. Области памяти ПЛК и адресация каналов ввода/вывода
- •1.5. Разработка, компиляция и загрузка проекта UNITY PRO
- •1.6. Конфигурирование аппаратной части ПЛК
- •1.7. Создание переменных и экземпляров функциональных блоков.
- •1.8. Создание программы пользователя.
- •1.9. Языки программирования.
- •1.10. Отладка программы пользователя
- •1.13. Пример использования языка ST.
- •1.14. Пример использования языка SFC.
Пупена А.Н, Эльперин И.В. UNITY PRO – быстрый старт
1.4.Области памяти ПЛК и адресация каналов ввода/вывода
Выше отмечено, что операционная система ПЛК перед запуском задачи автоматически обновляет входные переменные, а после окончания задачи автоматически обновляет выходы значениями выходных переменных. В действительности же, операционная система работает не с переменными, а с областями памяти, отвечающими за входные и выходные каналы.
В зависимости от назначения, данные могут быть размещены в нескольких областях (см. рис.1.3):
%I,%IW - область данных входных каналов;
%Q,%QW - область данных выходных каналов;
%M - область данных для внутренних булевых (Boolean) переменных;
%MW - область данных для внутренних числовых переменных;
%S - область данных для системных булевых переменных
%SW - область данных для системных числовых переменных;
%KW - область констант.
Unlocated - область нелокализованных данных
Ячейки памяти в каждой области адресуются различным образом. В области %M и %MW каждая ячейка имеет свой номер. Например, %M0 - нулевая ячейка в области %M, %MW100 - сотая ячейка в области %MW. Эти ячейки могут использоваться для хранения промежуточных результатов.
В областях %I (дискретные входы), %IW (аналоговые входы), %Q (дискретные выходы) и %QW (аналоговые выходы) каждая ячейка отвечает за конкретный канал ПЛК, поэтому адресация ячейки совпадает с адресом канала. Адрес каналов в ПЛК полностью зависит от его размещения в шасси, и состоит из последовательности
"N.M.C", где
N - номер шасси;
M - номер посадочного места в шасси, в котором размещен модуль; C - номер канала в модуле.
Например, ячейки с адресами:
%I1.4.6 будет получать значения с 6-го дискретного входа, модуля на 4-й позиции в шасси № 1;
%IW0.5.0 будет получать значение с 0-го аналогового входа, модуля на 5-й позиции в шасси № 0;
записав логическую единицу в ячейку %Q3.1.2, включится 2-й дискретный выход на модуле в 1-м посадочном месте, 3-го шасси;
записав 5000 в ячейку %QW0.1.2, значение 2-го аналогового выхода
модуля, на 1-м посадочном месте, 0-го шасси, выставится равным 50% от диапазона выходного сигнала.
При этом значения для аналоговых входов и выходов по умолчанию масштабируются в диапазоне 0-10000 при значении сигнала 0-100%.
В областях %S (системные биты) и %SW (системные слова) находится информация о состоянии контроллера. Например, бит %S0 сигнализирует о выполнении первого цикла после включения ПЛК, а слово %SW49 содержит значение текущего дня месяца.
Разработчик программы пользователя может указать для переменной адрес ячейки памяти, где будут размещаться ее данные (т.е. привязать к адресу). Если ячейка будет частью области входов, то переменная будет входной, и получать
5
Пупена А.Н, Эльперин И.В. UNITY PRO – быстрый старт
входное значение автоматически. Если для переменной будет указана ячейка из области выходов - то она будет выходной. Если записать значение в выходную переменную, то по окончании задачи, оно будет автоматически записано в выходной канал ПЛК. Если переменную привязать к ячейке %M или %MW - она будет внутренней.
Адрес для переменной указывается в среде UNITY PRO. Все переменные, которые будут привязаны к конкретной ячейке памяти называются локализованными переменными, так как их размещение известно. В программе пользователя разрешается прямой доступ к ячейкам памяти по адресу, поэтому значение локализованной переменной можно изменить путем изменения значения в ячейке памяти, на которую она ссылается.
Одно из удобств UNITY PRO – это отсутствие необходимости обязательного указания адреса для переменной. В случае отсутствия значения в свойстве "Address", UNITY PRO при компиляции разместит эту переменную в области нелокализованных данных (см. рис.1.3). Такие переменные называются нелокализованными. При этом адрес ячейки, в которой будет размещение данных, будет неизвестен разработчику и может изменяться при компиляции.
1.5.Разработка, компиляция и загрузка проекта UNITY PRO
Проект UNITY PRO - это база данных определенного формата, содержащая всю конфигурационную информацию для ПЛК и некоторую информацию для его распределенной периферии.
Проект сохраняется на компьютере в виде одного файла формата *. STU. Файлы формата *.STU несовместимы в различных версиях (даже от старшей к младшей), потому, при переносе проекта, необходимо сохранить его в архивном формате *.STA, совместимом с большинством версий.
Навигация по проекту проводится с использованием единого проводника проекта (Project Browser (рис.1.5)).
Напомним, что ПЛК работает с исполнительным проектом, то есть со скомпилированным кодом. Поэтому, для загрузки исполнительного проекта в ПЛК, сначала его необходимо построить (Build-> Rebuild All Project). Далее по тексту вместо термина "построить" будем пользоваться термином "скомпилировать". Следует отметить, что исполнительный проект сохраняется на диске вместе с файлом проекта UNITY PRO.
Для загрузки исполнительного проекта, сначала устанавливается соединение UNITY PRO с ПЛК (команда PLC-> Connect), т.е. переход в режим онлайн (online), а затем пересылка проекта в ПЛК (PLC-> Transfer Project to PLC). Соединение можно установить с реальным ПЛК (PLC-> Standard Mode) или имитатором ПЛК (PLC-> Simulation Mode). Настройка адреса ПЛК/имитатора проводится в специальном окне, вызываемом с меню PLC-> Set Address.
Важной особенностью ПЛК с OS UNITY является возможность изменения исполнительного проекта в онлайн режиме без остановки ПЛК. Для этого в режиме онлайн, после внесенных изменений, запускается команда частичной компиляции (Build-> Build Changes). После компиляции в ПЛК автоматически загрузится вся измененная часть.
Нужно обратить внимание на то, что скомпилированный исполнительный проект нельзя выгрузить с ПЛК в среду UNITY PRO. Для возможности выгрузки части исходного проекта с ПЛК (команда Upload Project), эта часть должна быть
6
Пупена А.Н, Эльперин И.В. UNITY PRO – быстрый старт
включена в Upload Information (настраивается в PLC->Project Setting->PLC embedded data).
конфигурация |
|
конфигурирование |
||||
аппаратной части ПЛК |
|
|||||
|
аппаратной |
части |
||||
|
|
|||||
конфигурация модулей |
||||||
|
ПЛК и периферии |
|||||
распределенной периферии |
|
|
|
|
|
|
|
|
|
|
|
|
|
производные типы данных |
|
|
|
|
|
|
|
|
|
|
|||
производные типы |
|
конфигурировани |
|
|||
функциональных блоков |
|
е |
работы |
с |
|
|
|
|
данными |
|
|
||
переменные |
|
|
||||
|
|
|
|
|
||
|
|
|
|
|
|
|
экземпляры |
|
|
|
|
|
|
функциональных блоков |
|
|
|
|
|
|
|
конфигурировани |
|
||||
|
|
|
||||
конфигурация сетей |
||||||
|
е сети |
|
|
|||
|
|
|
|
|||
|
|
|
|
|
|
|
конфигурация задач |
|
|
|
|
|
|
|
разработка |
|
|
|||
|
|
|
|
|||
секции программ |
|
программы |
|
|
||
|
пользователя |
|
|
|||
пользователя |
|
|
|
|||
|
|
|
|
|
||
|
|
|
|
|
|
|
анимационные таблицы |
|
отладка |
|
|
||
|
|
|
|
|||
операторские экраны |
|
программы |
|
|
||
|
пользователя |
|
|
|||
|
|
|
|
|||
документация по |
|
|
|
|
|
|
документирование |
|
|||||
проекту |
|
|||||
|
|
|
|
|
||
|
|
|
|
|
|
Рис.1.5.Структура проекта UNITY PRO и предназначение разделов
Разработка проекта UNITY PRO может проводиться в различной последовательности, и носит итерационный характер. Один из возможных вариантов последовательности разработки и отладки проекта состоит из следующих этапов:
1.конфигурирование аппаратной части ПЛК и распределенной периферии;
2.создания переменных, экземпляров функциональных блоков, производных типов данных, производных функциональных блоков;
3.создание программы пользователя;
4.отладка программы пользователя на ПЛК или имитаторе ПЛК;
5.привязка переменных к входным/выходным каналам ПЛК, отладка программы пользователя с реальным ПЛК в составе системы
управления; Конфигурирование аппаратной части может быть проведено и после
предварительной отладки программы, например на 5-м этапе, поскольку UNITY PRO имеет встроенный имитатор ПЛК.
Для разработки каждой части проекта используется свой редактор, вызываемый из соответствующего раздела проводника проекта (рис.1.5).
1.6.Конфигурирование аппаратной части ПЛК
Конфигурирование аппаратной части выполняется в несколько этапов. При создании проекта выбирается тип ПЛК (M340/Premium/Quantum) и процессорного модуля. Позже, на любой стадии создания проекта, можно будет изменить модель
7
Пупена А.Н, Эльперин И.В. UNITY PRO – быстрый старт
процессора. Далее, в разделе проекта "Configuration", используя графический редактор аппаратной конфигурации указывается расположение модулей на шасси контроллера (рис.1.6).
На втором этапе выполняется конфигурирование отдельных модулей и, в зависимости от типа модуля, задаются их параметры.
Рис.1.6.Редактор аппаратной конфигурации Для процессорного модуля задаётся ряд функций: поведение ПЛК при его
запуске и останове, параметры защиты карты памяти, выделение локализованных областей памяти и т.д. (рис.1.7).
Рис.1.7. Пример конфигурации процессорного модуля
При конфигурировании модулей входов или выходов определяются свойства отдельных каналов, такие как привязка к задачам, настройка диапазонов и т.д. Кроме того:
для модулей дискретных входов могут определяться степень фильтрации сигнала, вызов задачи Event, активация диагностики питания датчиков, полярность сигналов и т.д.;
Рис.1.8.Пример конфигурации каналов
8