Промышленные контроллеры к.т.н., доцент Кубарев В.А.
Основная литература
Дополнительная литература
Определение и принцип работы ПЛК
Место ПЛК в АСУ ТП
Типовая архитектура ПЛК
Модульный контроллер
Компоненты УВК
Классификация ПЛК
Рабочий цикл ПЛК
Время реакции ПЛК
Производительность ПЛК
Fastwel CPC107 Процессорный модуль
Типы подключения дискретных сигналов
Схема канала дискретного ввода
Модули дискретного вывода
Типы подключений дискретного вывода
Дискретные выходы
Дискретные выходы (релейные)
Дискретные выходы (релейные)
Аналоговые входы (Типы АЦП)
Аналоговые входы (Ai16-5)
Аналоговый вход (Ai-8S-5)
Аналоговые выходы
Аналоговые выходы (ИКВ)
Промышленные контроллеры
История развития стандарта МЭК61131-3
История развития стандарта МЭК61131-3
Редакция стандарта МЭК 61131-3 2012 года (3-я)
Языки стандарта МЭК61131-3
Язык IL (Instruction List)
Основные операторы языка IL (Instruction List)
Язык IL (Instruction List)
Язык релейно-контактных схем (РКС)
Язык релейно-контактных схем (РКС)
Язык релейно-контактных схем (РКС)
Функциональные блоковые диаграммы (FBD)
Функциональные блоковые диаграммы (FBD)
Функциональные блоковые диаграммы (FBD)
Последовательностные функциональные диаграммы (SFC)
Последовательностные функциональные диаграммы (SFC)
Последовательностные функциональные диаграммы (SFC)
Последовательностные функциональные диаграммы (SFC)
Структурированный текст (ST)
Структурированный текст (ST)
Структурированный текст (ST)
Разработка программы на различных языках (IL, ST, FBD)
Разработка программы на различных языках (IL, ST, FBD)
Разработка программы на различных языках (IL, ST, FBD)
Разработка программы на различных языках (IL, ST, FBD)
3.79M
Category: programmingprogramming

Промышленные контроллеры

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. Место ПЛК в АСУ ТП

5

6. Типовая архитектура ПЛК

6

7. Модульный контроллер

7

8. Компоненты УВК

8

9. Классификация ПЛК

• Количество каналов ввода-вывода
• Расположение модулей ввода-вывода
• Конструктивное исполнение
• Область применения
• Способ программирования
• Языки программирования
9

10. Рабочий цикл ПЛК

1. Чтение состояния входов.
2. Выполнение кода
программы пользователя.
3. Запись состояния
выходов.
4. Собственные нужды
4.1 Обслуживание
аппаратных ресурсов
ПЛК.
4.2 Монитор системы
исполнения.
4.3 Контроль времени
цикла.
10

11. Время реакции ПЛК

Время реакции — время от появления
сигнала (состояния) требующего
реакции, до реакции на него
контроллера.
В худшем случае время реакции Tp = 2·Tц
11

12. Производительность ПЛК

Производительность ПЛК оценивается по следующим параметрам:
• длительность контроллерного цикла (период считывания
значений из каналов ввода, обработки в процессоре и записи в
каналы вывода);
• время выполнения команд (отдельно логических, с
фиксированной и с плавающей точкой);
• пропускная способность шины между контроллером и модулями
ввода-вывода;
• пропускная способность промышленной сети;
• время цикла опроса всех контроллеров в одномастерной сети
или цикл обращения маркера для многомастерных сетей с
маркером;
• время реакции.
12

13. Fastwel CPC107 Процессорный модуль

13

14. Типы подключения дискретных сигналов


14
Для подключения «сухих» контактов
может использоваться внутренний
изолированный источник напряжения
+9V платы или внешний
источник подключаемый к контактам Vin, +Vin на разъеме J3.
При двухпроводном подключении
«сухой» контакт подключается к
контактам: +DIx, -DIx, где x=0..23.
При однопроводном включении «сухой»
контакт соединяется с контактом +DIx.
Если используется внутренний
изолированный источник напряжения, то
общий провод соединяется с контактом
+Vin.
При подключении внешнего источника
общий провод соединяется с «плюсом»
источника, а «минус» с контактом –Vin на
разъеме J3.

15. Схема канала дискретного ввода

Схема одного канала дискретного ввода
15

16. Модули дискретного вывода

• На полупроводниках
(оптодиодах,
оптотранзисторах,
оптотиристорах)
• На основе реле
(релейные платы)
16

17. Типы подключений дискретного вывода

17

18. Дискретные выходы

Схема канала дискретного вывода с открытым коллектором
18

19. Дискретные выходы (релейные)

Блок схема модуля релейного выхода TBR-8
19

20. Дискретные выходы (релейные)

Схема электрическая принципиальная канала релейной
коммутации TBR-8
20

21. Аналоговые входы (Типы АЦП)

Разрешение АЦП в зависимости от частоты дискретизации
21

22. Аналоговые входы (Ai16-5)

Блок-схема платы с последовательным опросом каналов
22

23. Аналоговый вход (Ai-8S-5)

Блок-схема платы с параллельным опросом каналов
23

24.

Блок-схема платы с параллельным опросом каналов
24

25. Аналоговые выходы

Блок-схема платы аналогового выхода AO16
25

26. Аналоговые выходы (ИКВ)

Блок-схема модуля ИКВ
26

27. Промышленные контроллеры

Стандарт языков программирования
ПЛК: 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)

33

34. Язык 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 в среде CoDeSys
40

41. Последовательностные функциональные диаграммы (SFC)

• Sequential Function Chart — последовательные
функциональные схемы [диаграммы]). графический
язык, предназначенный для написания программ
последовательного управления технологическим
процессом, описывающий его в форме близкой к
диаграмме состояний. Аналогом может служить сеть
Петри с разноцветными фишками. В каждом
состоянии система выполняет действия
(подпрограммы) с определенными модификаторами.
41

42. Последовательностные функциональные диаграммы (SFC)

Основные элементы языка:
• состояния, в которых выполняются определенные действия,
одновременно могут быть активны несколько состояний, одно
из состояний является начальным;
• переходы из состояния в состояние, для каждого перехода
задаются логическое условие перехода к следующему шагу;
• альтернативное ветвление алгоритма, когда из текущего
состояния возможны переходы к нескольким состояниям, при
этом каждому переходу соответствует свое логическое условие
и при выполнении алгоритма производится только один из
альтернативных переходов;
• параллельное ветвление, в отличие от альтернативного имеет
общее условие перехода на несколько параллельно
работающих веток;
• переход к заданному состоянию;
• останов процесса.
42

43. Последовательностные функциональные диаграммы (SFC)

43

44. Последовательностные функциональные диаграммы (SFC)

44

45. Структурированный текст (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)

47

48. Разработка программы на различных языках (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)

50

51. Разработка программы на различных языках (IL, ST, FBD)

• Решение на языке FBD в CoDeSys
51
English     Русский Rules