Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Программирование технологических контроллеров в среде Unity. Учебное пособие.pdf
X
- •ВВЕДЕНИЕ
- •1.1. Принцип действия системы промышленной автоматизации
- •2.1. Структура программируемого логического контроллера
- •2.2. Конструктивное исполнение контроллеров
- •2.3. Модули ввода-вывода
- •2.4. Языки и среды программирования логических контроллеров
- •2.5. Триггеры, таймеры, счетчики
- •Значение
- •Значение
- •2.6. Математические операции и команды работы с массивами
- •3. ТИПЫ ПЕРЕМЕННЫХ
- •3.1. Элементарные типы данных
- •3.2. Представление элементарных типов данных
- •3.4. Система адресации переменных Telemecanique
- •4. ПАКЕТ ПРОГРАММИРОВАНИЯ Unity Pro
- •4.1. Общие сведения
- •4.2. Структура пакета Unity Pro
- •4.3. Интерфейс пользователя Unity Pro и его составные части
- •4.4. Иерархическое построение программы ПЛК
- •4.5. Редакторы языков программирования Unity Pro
- •4.6. Соединение терминала с ПЛК
- •5.1. Настройки проекта
- •5.2. Конфигурирование контроллера Premium
- •5.3. Работа с переменными
- •5.4. Структура приложения
- •5.5. Программирование с использованием блоков FBD
- •6.1. Введение
- •6.3. Библиотека для управления аналоговым вводом/выводом
- •6.3.2. Блоки настройки конфигурации
- •6.3.2.1. Блок конфигурации модуля ACI 030 00 (ACI030)
- •6.3.2.2. Блок конфигурации модуля AC0 020 00
- •6.3.2.3. Блок конфигурации модуля ATI 030 00
- •6.3.2.4. Блок конфигурации модуля ARI 030 00
- •6.3.2.5. Блок конфигурации модуля AVI 030 00
- •6.3.2.6. Блок конфигурации модуля AVO 020 00
- •6.3.2.8. Блок конфигурации главного модуля (QUANTUM)
- •6.3.2.9. Блок конфигурации расширителя объединенной платы (XBP)
- •6.3.3. Блоки масштабирования
- •6.3.3.1. Блок нормализации аналоговых входов (I_NORM)
- •6.3.3.3. Блок преобразования физических аналоговых входов (I_PHYS)
- •6.3.3.4. Блок преобразования физических аналоговых входов со статусом предупреждения (I_PHYS_WARN)
- •6.3.3.5. Блок масштабирования аналоговых входов (I_SCALE)
- •6.3.3.6. Блок масштабирования аналоговых входов со статусом предупреждения (I_SCALE_WARN)
- •6.3.3.7. Блок преобразования необработанных значений аналоговых входов (I_ROW)
- •6.3.3.8. Блок нормализации аналоговых выходов (O_NORM)
- •6.3.3.11. Блок имитации необработанных сигналов аналоговых входов (I_RAW_SIM)
- •6.3.4. Блоки отладки аналогового ввода/вывода
- •6.3.4.1. Блок линеаризации аналоговых входов (I_FILTER)
- •6.4.2. Регуляторы (Controller)
- •6.4.3. Арифметические операции (Mathematics)
- •6.4.4. Измерения (Measurement)
- •6.4.5. Устройства сопряжения с объектом (Output Processing)
- •6.4.6. Формирование сигналов задания (Setpoint Managment)
- •6.6. Управление с обратной связью (CLC)
- •6.6.1. Типовые динамические звенья
- •6.6.1.1. Блок запаздывания (DELAY)
- •6.6.1.2. Интегратор с ограничением выхода (INTEGRATOR1)
- •6.6.1.3. Апериодическое звено (фильтр) первого порядка (LAG1)
- •6.6.1.5. Ограничитель скорости первого порядка (LIMV)
- •6.6.1.6. Дифференциатор с запаздыванием (SMOOTH_RATE)
- •6.6.2. Регуляторы
- •6.6.2.1. Пропорционально-интегральный регулятор (PI1)
- •6.6.2.2. Пропорционально-интегрально-дифференциальный регулятор (PID1)
- •6.6.2.3. ПИД-регулятор с параллельной структурой (PIDP1)
- •6.6.3. Управление с обратной связью для профессионалов (CLC_PRO)
- •6.6.3.1. Генератор функций (FGEN)
- •6.6.3.2. Фильтр второго порядка (LAG2)
- •6.7. Автоматизированная настройка регулятора в пакете Unity
- •6.8. Упражнения для самостоятельной работы
- •ЗАКЛЮЧЕНИЕ
- •ЛИТЕРАТУРА

41
Тип «Дата» – это 32-битовый формат, содержащий следующую
информацию: год, закодированный в 16-битовом поле (четыре старших значащих полубайта); месяц, закодированный в 8-битовом поле
(два полубайта); день, закодированный в 8-битовом поле (два младших
значащих полубайта). Тип «Дата» кодируется следующим образом:
D#<Год>-<Месяц>-<День>.
Тип «Время дня» кодируется в 32-битовом формате и содержит
следующую информацию: час, закодированный в 8-битовом поле (два
старших значащих полубайта); минуты, закодированные в 8-битовом
поле (два полубайта); секунды, закодированные в 8-битовом поле (два
полубайта). Восемь младших значащих бит не используются.
Тип «Время дня» вводится следующим образом:
TOD#<Час>:<Минуты>:<Секунды>.
Тип «Дата и время» кодируется в 64-битовом формате и содержит
следующую информацию; год, закодированный в 16-битовом поле
(четыре старших значащих полубайта); месяц, закодированный в 8-битовом поле (два полубайта); день, закодированный в 8-битовом поле
(два полубайта); час, закодирован в 8-битовом поле (два полубайта);
минуты, закодированные в 8-битовом поле (два полубайта); секунды,
закодированные в 8-битовом поле (два полубайта). Восемь младших
значащих бит не используются.
Тип «Дата и время» вводится следующим образом:
DТ#<Год>-<Месяц>-<День>-<Час>:<Минуты>:<Секунды>.
В табл. 3.6 приведены значения данных для этих типов, использу
мые по умолчанию.
Таб лица 3.6
Тип Описание Бит Значение по умолчанию
DATE Дата 32 D# 1990-01-01
TIME OF DAY Время дня 32 TOD#00:00:00
DATE AND TIME Дата и время 64 DT#1990-01-01-00:00:00
е-

42
22
23
0
(2 ),
i
i
i
fb
Вещественный формат REAL (плавающая точка) кодируется в 32битовом формате, который соответствует одиночным десятичным числам с плавающей точкой. Представление числа с плавающей точкой в
32-битном формате состоит из трех раздельных полей (рис. 3.1). Поле
S содержит бит знака, который может иметь значение «0» для положи-
тельного числа с плавающей точкой и значение «1» – для отрицательного числа с плавающей точкой. Поле е – экспонента, закодированная
в 8-битовом поле. Поле f – часть с фиксированной точкой, закодированная в 23-битовом поле.
31 30 23 22 0
S Экспонента е Часть с
Представление числа с плавающей точкой в 32-битовом формате
Значение части с фиксированной точкой (мантиссы) лежит в интервале [1, 0] и вычисляется по следующей формуле
где b
– принимает значение «0» или «1» в зависимости от значений i.
i
Типы данных в формате символьной строки STRING используются
для представления символов стандарта ASCII, при этом каждый символ кодируется в 8-битовом формате. Характеристики типов символьных строк следующие: 16 символов содержатся в строке по умолчанию (исключая символы конца строки); строка составляется из символов ASCII между кодами 16#20 и 16#FF (шестнадцатеричное представление); в пустой строке символ конца строки (код ASCII ZERO)
является первым символом строки; максимальный размер строки
65 534 символа.
Ввод начинается и заканчивается символом «'» ( AS CII, код 16#27).
Знак доллара $ является специальным символом, после которого следуют определенные символы, указывающие: $L или $l – переход к
следующей строке (перевод строки); $N или $n – переход к началу
следующей строки (новая строка); $Р или $р – переход к следующей
странице; $R или $r – возврат каретки; $Т или $t – табуляция (Tab); $$ –

43
представление символа $ в строке; $' – представление символа «'» в
строке. Примеры строк приведены в табл. 3.7.
Таблица 3.7
Тип Данные Содержимое строки
STRING ‘ABCD’ ABCD∙*********** (16 символов)
STRING[4] ‘John’ John∙
STRING[10] ‘I t$’s John’ It’s John∙*
STRING[5] ‘’ ∙*****
STRING[5] ‘$’’ ‘∙*****
STRING[5] ‘the number’ the no∙
STRING[13] ‘0123456789’ 0123456789∙***
STRING[5] ‘$R$L’ <cr><lf>∙***
STRING[5] ‘$$1.00’ $1.00∙
3.3. Краткие сведения
о системах адресации переменных
В отличие от алгоритмических языков программирования, применяемых в компьютерной технике, при программировании контроллеров используются не только имена переменных (идентификаторы), но
и их топологические адреса. Связь переменной с ее топологическим
адресом устанавливается таблицей переменных. При этом адрес топологической переменной определяется системой адресации перемен-
ных, различных для разных фирм-изготовителей. В качестве примера
рассмотрим систему адресации переменных Modicon и систему адресации Telemecanique, получивших наибольшее распространение. Типы
переменных в обеих системах одни и те же. Наиболее употребительные типы переменных рассмотрены в предыдущем параграфе.
К каждой переменной можно обратиться:
– по имени (идентификатору); в этом случае данные не имеют определенного местоположения, выделение памяти для них не определяется пользователем, а выполняется автоматически системой;

44
– по имени и топологическому адресу, определенному пользовате-
лем; в этом случае данные имеют определенное местоположение, так
что их положение в памяти известно;
– по топологическому адресу, определенному пользователем; в
этом случае данные имеют определенное местоположение, так что их
положение в памяти известно.
Система адресации переменных Modicon ориентирована прежде
всего на аппаратную часть контроллера и предоставляет возможность
программисту самому размещать переменные в регистрах. В контроллерах с системой адресации Modicon используется следующая адресация регистров:
1) 0x – дискретные однобитовые выходы (катушки реле). Используются для управления реальными выходами через модули вывода или
для установки/сброса одного или нескольких битов памяти состояния;
2) 1x – дискретные однобитовые входы. Эти ссылки определяют
состояния включено/отключено модулей ввода, и с их помощью опрашиваются отдельные биты в памяти состояния;
3) 3x – входные 16-разрядные регистры. Содержат числовые данные от внешнего источника, например, аналоговый сигнал или состояние быстродействующего счетчика;
4) 4x – 16-разрядные регистры в памяти состояния для хранения
информации. Используются также для обслуживания модулей вывода
и коммуникационных портов.
Нумерация регистров принята 5- или 6-значная. Заметьте, что в
системе адресации Modicon нумерация регистров начинается с 1, а не с
0, как в некоторых других системах. В табл. 3.8 приведен пример списка переменных в системе адресации Modicon.
Таб лица 3.8
Переменная Тип Регистр Комментарий
IN1 BOOL 10001 кнопка «Стоп»
OUT 2 BOOL 00002 реле насоса 2
U2 INT 30002 аналоговый вход U2
OUTU3 INT 40003 аналоговый выход U3
VAR1 REAL 40011 переменная 1

45
Замечание. Несмотря на то что для переменной типа Real указан
один регистр, на самом деле переменная Var1 занимает регистры
40011 и 40012.
Приведенная таблица наглядно представляет информацию о переменных, включающую следующие атрибуты:
– имя (идентификатор);
– топологический адрес (исключая экземпляры данных без опреде-
ленного положения);
– тип данных;
– необязательный комментарий.
3.4. Система адресации переменных Telemecanique
Синтаксис доступа в системе адресации данных Telemacanique определяется символом «%», после которого следует префикс положения
в памяти и в определенных случаях некоторая дополнительная информация. Префикс положения в памяти может быть:
M – для внутренних переменных;
K – для констант;
S – для системных переменных;
N – для сетевых переменных;
I – для входных переменных;
Q – для выходных переменных.
Синтаксис доступа в системе адресации данных Telemecanique
приведен в табл. 3.9.
Таб лица 3.9
Элемент Синтаксис Формат Пример Права доступа
Бит %М<i>
или %MX<i>
Слово %MW<i> 16 бит (INT) %MW12 Чтение / запись
Бит из слова %MW<i>.<j> 1 бит (BOOL) %MW10.5 Чтение / запись
Двойное
слово
Веществен-
ный тип
%MD<i> 32 бит (DINT) %MD5 Чтение / запись
%MF<i> 32 бит (REAL) %MF14 Чтение / запись
3 бит (EBOOL) %M1 Чтение / запись

46
В табл. 3.9 символ <i> указывает порядковый номер переменной.
Для ПЛК линейки Telemecanique (Premium, M340) номер переменной
начинается с 0, для ПЛК Quantum – c 1.
Аналогично переменным, располагаемым в памяти, организован
синтаксис доступа к системным переменным (табл. 3.10).
Таблица 3.10
Элемент Синтаксис Формат Права доступа
Бит %S<i>
или %SX<i>
Слово %SW<i> 32 бита (INT) Чтение / запись
Двойное слово %SD<i> 32 бита (DINT) Чтение / запись
1 бит (BOOL) Чтение / запись
или чтение
или чтение
или чтение
При обмене информации между прикладными программами по
коммуникационной сети используются сетевые переменные. Синтаксис доступа к таким переменным приведен в табл. 3.11.
Таблица 3.11
Элемент Синтаксис Пример Права доступа
Слово %NW<n>.<s>.<d> 16 бит (INT) Чтение / запись
или чтение
Бит из слова %NW<n>.<s>.<d>.<j> 1 бит (BOOL) Чтение / запись
или чтение
Здесь <n> указывает номер сети, <s> – номер станции, <d> – номер
данных, <j> – положение бита в слове.
Синтаксис доступа к переменным модулей ввода/вывода приведен
в табл. 3.12.

47
или EBOOL
Таб лица 3.12
Элемент Синтаксис Пример Права доступа
%I-входы
Бит типа
BOOL
Слово типа
INT
Двойное слово
типа DINT
Вещественный
тип REAL
%Q-выходы
Бит типа
EBOOL
Слово типа
INT
%I<@mod>.<c> %I4.2.3 Чтение
%I<@mod>.<c>.<d> %I4.2.3.1 Чтение
%IW<@mod>.<c> %IW4.2.3 Чтение
%IW<@mod>.<c>.<d> %IW4.2.3.1 Чтение
%ID<@mod>.<c> %ID4.2.3 Чтение
%ID<@mod>.<c>.<d> %ID4.2.3.1 Чтение
%IF<@mod>.<c> %IF4.2.3 Чтение
%IF<@mod>.<c>.<d> %IF4.2.3.1 Чтение
%Q<@mod>.<c> %Q4.20.3 Чтение/запись
%Q<@mod>.<c>.<d> %Q4.20.3.1 Чтение/запись
%QW<@mod>.<c> %QW4.20.3 Чтение/запись
%QW<@mod>.<c>.<d> %QW4.20.3.1 Чтение/запись
Двойное слово
типа DINT
Вещественный
тип REAL
%QD<@mod>.<c> %QD4.20.3 Чтение/запись
%QD<@mod>.<c>.<d> %QD4.20.3.1 Чтение/запись
%QF<@mod>.<c> %QF4.20.3 Чтение/запись
%QF<@mod>.<c>.<d> %QF4.20.3.1 Чтение/запись

48
Здесь <@mod = \<b>.<e>\<r>.<m>; <b> – номер шины (опускается,
если станция локальная); <e> – номер точки соединения устройства
(опускается, если станция локальная); <r> – номер блока; <m> – слот
модуля; <c> – номер канала.
Система адресации переменных Telemecanique принята в пакете
программирования Unity Pro.

49
4. ПАКЕТ ПРОГРАММИРОВАНИЯ Unity Pro
4.1. Общие сведения
Технология Unity состоит из следующих составляющих: инструментальной среды Unity Studio – «все в одном» – для разработки распределенных систем; Unity Pro – пакета программирования контроллеров; Unity Developer’s Edition (UDE) – программного обеспечения, открытого для любых персональных компьютеров [9].
Технология Unity включает также дополнительные программные
продукты: POWER SUITE – для программирования приводов и управления двигателями; XBTL1000 – для программирования панелей оператора; OFS – сервер передачи данных.
Среда Unity Studio является инструментом управления проектами и
создает разработчикам платформу, которая обеспечивает свободную
методологию разработки проекта.
Пакет Unity Pro объединил все предыдущие наработки в области
программирования контроллеров. Он стал общим программным обеспечением для ПЛК Premium, Atrium, Quantum и М340, предоставив
свободу выбора лучшего решения для приложения, а также возможности переноса приложений между различными платформами.
Программное обеспечение Unity Pro характеризуется следующими
особенностями использования:
• ХМL – универсальный стандарт для обмена данными в Ethernet,
принятый в качестве исходного формата для приложений Unity (переменные, программы, ввод/вывод, конфигурации и т. п.);
• простой импорта-экспорта для обмена информацией между час-
тями различных приложений;
• непосредственная привязка гиперссылки к различным докумен-
там (электрические схемы, руководства по обслуживанию и т. д.) и к
приложению в ПЛК, обеспечивающей логичный и централизованный
доступ ко всей относящейся к проекту информации;
• открытая архитектура клиент–сервер, гарантирующая локальный
или удаленный доступ ко всем ресурсам приложения при помощи интерфейсов VBA, VB или С++ COM / DCOM, например для автоматизации повторяющихся задач (ввод данных, конфигурация, перевод
и т. п.);

50
• инструмент Microsoft V isio как графический редактор на уровне
проекта. В распоряжении разработчика имеются как стандартные библиотеки объектов, так и библиотеки Schneider Electric (ПЛК, человекомашинный интерфейс, сети, приводы и т. д.), а также различные другие прикладные объекты. К ним можно также добавить пользовательские объекты;
• функциональные компоненты Unity Pro (данные, код, модули),
которые хранятся в библиотеках на локальном ПК или на удаленном
сервере и могут совместно применяться всеми программами. Программы автоматически обновляются при модификации библиотечных
объектов;
• независимые от расположения в памяти символьные перемен-
ные, что облегчает повторное применение и адаптацию;
• поддержка пяти языков в формате стандарта IЕC 1131-3 (LD, ST,
SFC, IL, FBD);
• имеющиеся в распоряжении разработчика мощные графические
редакторы и функции отладки, например встроенный симулятор ПЛK;
• конфигурирование экранов оператора с применением встроен-
ных графических элементов, которые значительно упрощают отладку
и поддержку приложений;
• специальное окно диагностики, где отображаются в хронологи-
ческом порядке все прикладные и системные сообщения. Функция навигации позволяет быстро перейти к участку программы, вызвавшему
ошибку;
• накапливание архива действий оператора в стандартном защи-
щенном файле Windows. Все события имеют метку времени и идентификацию оператора, который их вызвал;
• поддержка пакетом Unity Pro последних стандартов интерфейсов
Windows ХР и Windows 2000 (оптимальный графический интерфейс,
большой простор для подстройки под пользователя, контекстно зависимая подсказка, помощники и т. п.).
4.2. Структура пакета Unity Pro
Программный пакет Unity Pro поддерживает аппаратные платформы Quantum, Premium, Atrium, М340 и предоставляет широкие
возможности использования языков программирования для создания
программы пользователя.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
