Similar presentations:
Промышленные контроллеры
1. Промышленные контроллеры
Лекция №1Основные понятия и определения
дисциплины. Понятие о
программируемом контроллере
1
2. Основная литература
2
Петров, И.В. Программирование на стандартных языках
контроллеров. Стандартные языки и приемы прикладного
проектирования / И.В.Петров. – М.: СОЛОН-Пресс, 2004, 256
с.
Минаев И.Г., Самойленко В.В. Программируемые логические
контроллеры: Практическое руководство для начинающего
инженера — Ставрополь: АГРУС, 2009. — 100 с.
Парр Э. Программирование на стандартных языках
контроллеров: руководство для инженера. / пер. с англ. изд. —
М.: БИНОМ. Лаборатория знаний, 2007. — 516 с.: ил.
Деменков Н.П. Языки программирования промышленных
контроллеров: Учебное пособие / Под. ред. К. А. Пупкова. —
М.: Изд-во МГТУ им. Н.Э. Баумана, 2004 — 172 с.: ил.
3. Дополнительная литература
3
http://www.owen.ru/ Веб-сайт НПО ОВЕН: Контрольноизмерительные приборы и средства автоматизации.
Каталог продукции. Документация на оборудование
[Электронный ресурс]. — М.: НПО ОВЕН, 2005 — 2011.
http://www.tecon.ru Веб-сайт группы компаний ТЕКОН по
интеллектуальным датчикам и программируемым
контроллерам [Электронный ресурс].
http://www.mzta.ru Веб-сайт Московского завода тепловой
автоматики по микропроцессорным регуляторам и
контроллерам [Электронный ресурс]
Вирт Н. Алгоритмы и структуры данных: Пер. с англ. – 2-е
изд., испр. - СПб.: Невский Диалект, 2001. – 352 с.: ил.
Бердичевский, М. Стандартные типоразмеры корпусов
электронного оборудования. / Современные технологии
автоматизации, № 1, 1997 г., с. 96-106.
4. Определение и принцип работы ПЛК
Контроллер в системах автоматизации —устройство, выполняющее управление физическими
процессами по записанному в него алгоритму, с
использованием информации, получаемой от
датчиков и выводимой в исполнительные устройства.
Представление ПЛК
4
5. Место ПЛК в АСУ ТП
56. Типовая архитектура ПЛК
67. Модульный контроллер
78. Компоненты УВК
89. Классификация ПЛК
• Количество каналов ввода-вывода• Расположение модулей ввода-вывода
• Конструктивное исполнение
• Область применения
• Способ программирования
• Языки программирования
9
10. Рабочий цикл ПЛК
1. Чтение состояния входов.2. Выполнение кода
программы пользователя.
3. Запись состояния
выходов.
4. Собственные нужды
4.1 Обслуживание
аппаратных ресурсов
ПЛК.
4.2 Монитор системы
исполнения.
4.3 Контроль времени
цикла.
10
11. Время реакции ПЛК
Время реакции — время от появлениясигнала (состояния) требующего
реакции, до реакции на него
контроллера.
В худшем случае время реакции Tp = 2·Tц
11
12. Производительность ПЛК
Производительность ПЛК оценивается по следующим параметрам:• длительность контроллерного цикла (период считывания
значений из каналов ввода, обработки в процессоре и записи в
каналы вывода);
• время выполнения команд (отдельно логических, с
фиксированной и с плавающей точкой);
• пропускная способность шины между контроллером и модулями
ввода-вывода;
• пропускная способность промышленной сети;
• время цикла опроса всех контроллеров в одномастерной сети
или цикл обращения маркера для многомастерных сетей с
маркером;
• время реакции.
12
13. Fastwel CPC107 Процессорный модуль
1314. Типы подключения дискретных сигналов
14
Для подключения «сухих» контактов
может использоваться внутренний
изолированный источник напряжения
+9V платы или внешний
источник подключаемый к контактам Vin, +Vin на разъеме J3.
При двухпроводном подключении
«сухой» контакт подключается к
контактам: +DIx, -DIx, где x=0..23.
При однопроводном включении «сухой»
контакт соединяется с контактом +DIx.
Если используется внутренний
изолированный источник напряжения, то
общий провод соединяется с контактом
+Vin.
При подключении внешнего источника
общий провод соединяется с «плюсом»
источника, а «минус» с контактом –Vin на
разъеме J3.
15. Схема канала дискретного ввода
Схема одного канала дискретного ввода15
16. Модули дискретного вывода
• На полупроводниках(оптодиодах,
оптотранзисторах,
оптотиристорах)
• На основе реле
(релейные платы)
16
17. Типы подключений дискретного вывода
1718. Дискретные выходы
Схема канала дискретного вывода с открытымколлектором
18
19. Дискретные выходы (релейные)
Блок схема модуля релейного выхода TBR-819
20. Дискретные выходы (релейные)
Схема электрическая принципиальная канала релейнойкоммутации TBR-8
20
21. Аналоговые входы (Типы АЦП)
Разрешение АЦП в зависимости от частоты дискретизации21
22. Аналоговые входы (Ai16-5)
Блок-схема платы с последовательным опросом каналов22
23. Аналоговый вход (Ai-8S-5)
Блок-схема платы с параллельным опросом каналов23
24.
Блок-схема платы с параллельным опросомканалов
24
25. Аналоговые выходы
Блок-схема платы аналогового выхода AO1625
26. Аналоговые выходы (ИКВ)
Блок-схема модуля ИКВ26
27. Промышленные контроллеры
Лекция №2Стандарт языков программирования
ПЛК: IEC61131-3 (МЭК 61131-3)
27
28. История развития стандарта МЭК61131-3
• Разрабатывается с 1979года.
• Первый вариант — 1982
год.
• Пять частей МЭК61131-3
– Общая информация
– Требования к тестам и
оборудованию
– Языки программирования
– Руководство
пользователя
– Разработка сообщений
28
29. История развития стандарта МЭК61131-3
• Цель стандарта — разработка аппаратнонезависимых языков программирования для
различных типов промышленных контроллеров.
• Под эгидой МЭК специфицировано пять языков
программирования контроллеров: три графических
(SFC, FBD, LD) и два текстовых (IL, ST)
29
30. Редакция стандарта МЭК 61131-3 2012 года (3-я)
Третья редакция стандарта вышла в 2012 г.• Важнейшие сокращения:
– Исключен язык IL, запрещено использование прямых
МЭК адресов в программах.
• Важнейшие новшества:
– Введено ООП (новые ключевые слова: METHOD,
EXTENDS, IMPLEMENTS, THIS, SUPER и т.д.).
– Введены новые типы данных WCHAR, LTIME, LDATE,
LDATE_AND_TIME, LTIME_OF_DAY; правила неявного
преобразования типов; структуры с явным
расположением элементов; массивы с переменным
размером; типизированные ссылки. Разрешено
использование констант при инициализации переменных
и объявлении границ массивов.
– В языке ST: переменные в качестве меток сase, оператор
continue.
– В языке LD: условные контакты.
30
31. Языки стандарта МЭК61131-3
Английский31
Русский
Описание
Аббр.
Обозначение
Аббр.
Обозначение
IL
Instruction List
IL
Список инструкций
Текстовый
язык.
Аппаратно-независимый
низкоуровневый ассемблероподобный язык.
LD
Ladder Diagram
РКС
Релейно-контактные
схемы
Графический
язык.
Представляет
собой
программную реализацию электрических схем на
базе электромагнитных реле.
FBD
Function Block
Diagram
FBD
Функциональные
блоковые диаграммы
Графический язык. Функциональный блок (ФБ)
выражает некую подпрограмму. Каждый ФБ имеет
входы (слева) и выходы (справа). Программа
создается путем соединения множества ФБ.
Графический высокоуровневый язык. Создан на
базе математического аппарата сетей Петри.
Описывает последовательность состояний и
условий переходов.
Текстовый язык программирования с синтаксисом
подобным языку Паскаль
SFC
Sequential Function
Chart
SFC
Последовательностные
функциональные
диаграммы
ST
Structured Text
ST
Структурированный
текст
32. Язык IL (Instruction List)
• IL (Instruction List) — язык программированиястандарта IEC61131-3. Предназначен для
программирования промышленных
контроллеров. По синтаксису напоминает
ассемблер.
Пример: Линейное преобразование Y(x)=A*x+B
LD x
MUL A
ADD B
ST Y
32
33. Основные операторы языка IL (Instruction List)
3334. Язык IL (Instruction List)
• В последние годы практически вышел изупотребления в связи с чем исключен из
развития стандарта с 2012 года
34
35. Язык релейно-контактных схем (РКС)
35
Релейно-контактная схема представляет собой две вертикальные шины
питания, между которыми располагают горизонтальные цепи с
контактами и катушками реле. Графические символы языка LD
практически повторяют элементы реальных электрических цепей и
имеют те же названия и обозначения.
36. Язык релейно-контактных схем (РКС)
Приведенная цепь эквивалентна описанию наязыке ST: Y1:=NOT(X1) AND (X2 OR X3);
36
37. Язык релейно-контактных схем (РКС)
• Реализация на языке РКС (LD) основных логическихвыражений «И», «ИЛИ», «НЕ», «XOR»
37
38. Функциональные блоковые диаграммы (FBD)
• FBD (англ. Function Block Diagram) — графический языкпрограммирования стандарта МЭК 61131-3. Предназначен для
программирования программируемых логических контроллеров
(ПЛК). Программа образуется из списка цепей, выполняемых
последовательно сверху вниз. Цепи могут иметь метки.
Инструкция перехода на метку позволяет изменять
последовательность выполнения цепей для программирования
условий и циклов.
• При программировании используются наборы библиотечных
блоков и собственные блоки, также написанные на FBD или
других языках МЭК 61131-3.
• Блок (элемент) — это подпрограмма, функция или
функциональный блок (И, ИЛИ, НЕ, триггеры, таймеры,
счётчики, блоки обработки аналогового сигнала,
математические операции и др.).
38
39. Функциональные блоковые диаграммы (FBD)
• Каждая цепь представляет собой выражение, графическисоставленное из отдельных элементов. К выходу блока
подключается следующий блок, образуя цепь. Внутри цепи
блоки выполняются строго в порядке их соединения. Результат
вычисления цепи записывается во внутреннюю переменную
либо подается на выход ПЛК.
• Пример FBD цепи в среде CoDeSys:
39
40. Функциональные блоковые диаграммы (FBD)
Пример программы на FBD в среде CoDeSys40
41. Последовательностные функциональные диаграммы (SFC)
• Sequential Function Chart — последовательныефункциональные схемы [диаграммы]). графический
язык, предназначенный для написания программ
последовательного управления технологическим
процессом, описывающий его в форме близкой к
диаграмме состояний. Аналогом может служить сеть
Петри с разноцветными фишками. В каждом
состоянии система выполняет действия
(подпрограммы) с определенными модификаторами.
41
42. Последовательностные функциональные диаграммы (SFC)
Основные элементы языка:• состояния, в которых выполняются определенные действия,
одновременно могут быть активны несколько состояний, одно
из состояний является начальным;
• переходы из состояния в состояние, для каждого перехода
задаются логическое условие перехода к следующему шагу;
• альтернативное ветвление алгоритма, когда из текущего
состояния возможны переходы к нескольким состояниям, при
этом каждому переходу соответствует свое логическое условие
и при выполнении алгоритма производится только один из
альтернативных переходов;
• параллельное ветвление, в отличие от альтернативного имеет
общее условие перехода на несколько параллельно
работающих веток;
• переход к заданному состоянию;
• останов процесса.
42
43. Последовательностные функциональные диаграммы (SFC)
4344. Последовательностные функциональные диаграммы (SFC)
4445. Структурированный текст (ST)
• ST (Structured text) — язык высокого уровняразработанный для процессов автоматизации. Этот
язык используется для создания сложных процедур,
которые не могут быть легко выражены при помощи
графических языков. По умолчанию ST является
языком для описания действий внутри шагов и
условий языка SFC.
• ST программа — это список ST операторов. Каждый
оператор заканчивается точкой с запятой (;). Имена
используемые в исходном коде (идентификаторы
переменных, константы, ключевые слова) разделены
неактивными разделителями (пробелами, символами
окончания строки и табуляции) или активными
разделителями, которые имеют определенное
значение (например, разделитель «>» означает
сравнение «больше чем». В текст могут быть
введены комментарии. Комментарий должен
начинаться с «(» и заканчиваться «)».
45
46. Структурированный текст (ST)
Основные операторы языка ST:• оператор присвоения (variable := expression)
• вызов подпрограммы или функции
• вызов функционального блока
• операторы выбора (IF, THEN, ELSE, CASE)
• итеративные операторы (FOR, WHILE,
REPEAT)
• управляющие операторы (RETURN, EXIT)
• специальные операторы для связи с такими
языками как SFC
46
47. Структурированный текст (ST)
4748. Разработка программы на различных языках (IL, ST, FBD)
• Разработать программу выбирающую одно издвух чисел (in1, in2), ближайшее к третьему
(pattern), и передающую его на выход Q.
• Пример:
– in1 = 5, in2 = 7, pattern = 9 => Q = 7;
– in1 = 5, in2 = 7, pattern = 3 => Q = 5.
48
49. Разработка программы на различных языках (IL, ST, FBD)
• Решение на языке IL– АК – аккумулятор, (АК) — его содержимое
– tmp — временная переменная
49
50. Разработка программы на различных языках (IL, ST, FBD)
5051. Разработка программы на различных языках (IL, ST, FBD)
• Решение на языке FBD в CoDeSys51
programming