Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Программирование промышленных контроллеров

Покупка
Артикул: 789167.01.99
Доступ онлайн
500 ₽
В корзину
Рассмотрены особенности организации структуры контроллеров, принципы их функционирования, средства разработки программного обеспечения промышленных контроллеров, а также пять основных языков программирования, регламентированных стандартом МЭК-61131. Предназначено для бакалавров, обучающихся по направлению 27.03.04 «Управление в технических системах», а также для магистров направления подготовки 09.04.01 «Информатика и вычислительная техника». Подготовлено на кафедре систем автоматизации и управления технологическими процессами.
Ахметова, А. Н. Программирование промышленных контроллеров : учебное пособие / А. Н. Ахметова, А. Ю. Шарифуллина. - Казань : КНИТУ, 2019. - 84 с. - ISBN 978-5-7882-2689-7. - Текст : электронный. - URL: https://znanium.com/catalog/product/1898844 (дата обращения: 17.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Министерство науки и высшего образования Российской Федерации 

Федеральное государственное бюджетное 

образовательное учреждение высшего образования 

«Казанский национальный исследовательский 

технологический университет» 

 
 
 
 
 
 

А. Н. Ахмерова, А. Ю. Шарифуллина 

 
 

ПРОГРАММИРОВАНИЕ  

ПРОМЫШЛЕННЫХ  

КОНТРОЛЛЕРОВ 

 

 

Учебное пособие 

 
 
 
 
 
 
 
 
 
 
 

 
 

Казань 

Издательство КНИТУ 

2019 

УДК 004.384(075) 
ББК 32.97я7

А95

 

Печатается по решению редакционно-издательского совета  

Казанского национального исследовательского технологического университета 

 

Рецензенты: 

канд. техн. наук, доц. Р. С. Зарипова 
канд. техн. наук, доц. С. Ю. Ситников 

 
 
 

 
 
 
 

 
А95 

Ахмерова А. Н. 
Программирование промышленных контроллеров : учебное пособие / 
А. Н. Ахмерова, А. Ю. Шарифуллина; Минобрнауки России, Казан. 
нац. исслед. технол. ун-т. – Казань : Изд-во КНИТУ, 2019. – 84 с. 
 
ISBN 978-5-7882-2689-7
 
Рассмотрены особенности организации структуры контроллеров, 

принципы их функционирования, средства разработки программного обеспечения 
промышленных контроллеров, а также пять основных языков программирования, 
регламентированных стандартом МЭК-61131. 

Предназначено для бакалавров, обучающихся по направлению 27.03.04 

«Управление в технических системах», а также для магистров направления 
подготовки 09.04.01 «Информатика и вычислительная техника». 

Подготовлено на кафедре систем автоматизации и управления технологическими 
процессами. 

 
 
 

 

ISBN 978-5-7882-2689-7
© Ахмерова А. Н., Шарифуллина А. Ю., 2019
© Казанский национальный исследовательский 

технологический университет, 2019

УДК 004.384(075) 
ББК 32.97я7

ВВЕДЕНИЕ 

Программируемый логический контроллер (ПЛК) – это микропроцессорное 
устройство, предназначенное для управления технологическими 
процессами в промышленности и другими сложными технологическими 
объектами в режиме мягкого или жесткого реального 
времени. ПЛК (PLC – Programmable Logic Controller) также используют 
в таких областях человеческой деятельности, как системы связи, 
станки с числовым программным управлением, сбор и архивирование 
данных, управление дорожным движением, системы охраны, медицинское 
оборудование, управление роботами, постановка физического 
эксперимента и т. д. Первое и главное преимущество ПЛК, которое 
обусловило их широкое распространение, заключается в том, что одно 
такое устройство может заменить десятки и сотни электромеханических 
реле. Второе преимущество в том, что функции логических контроллеров 
реализуются не аппаратно, а программно, что позволяет 
постоянно адаптировать их к работе в новых условиях с минимальными 
усилиями и затратами.  

Программируемые логические контроллеры отличаются от не-

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


Принцип работы ПЛК представлен на рис. 1 и заключается 

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

При создании прикладной программы чаще всего не имеет значения, 
как подсоединены и где именно расположены датчики и исполнительные 
механизмы, а также то, для какого контроллера пишется 
пользовательский код. 

Рис. 1. Принцип работы ПЛК 

Множество внутренних реле, счетчиков, таймеров, которые необходимы 
для составления и работы программы, физически не существуют, 
они моделируются центральным процессором (ЦП) контроллера [
1]. Именно благодаря этому в ограниченном объеме можно «разместить» 
огромное количество блоков, каждый из которых предназначен 
для имитации выполнения некоторой вполне конкретной задачи. Более 
подробно состав и взаимодействие отдельных компонентов внутренней 
структуры ПЛК представлены на рис. 2 

 

Рис. 2. Общая схема внутренней структуры ПЛК 

Успешность применения ПЛК для задач управления зависит от 

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

1) в контроллер должна быть введена информация о наиболее 

важных параметрах и характеристиках объекта, определяющих особенности 
управления в данной задаче; 

2) форма представления сигналов должна быть такой, которую 

контроллер в состоянии правильно воспринять. 

Благодаря международному стандарту МЭК 61131 современные 

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

Модель аппаратного обеспечения программируемого контроллера [
3] представлена на рис. 3. 

 

 

Рис. 3. Модель аппаратного обеспечения  

программируемого контроллера [3] 

Общая структура с указанием основных функциональных компонентов 
системы с программируемым контроллером представлена на 
рис. 4 [2].  
 

 

Рис. 4. Базовая функциональная структура ПЛК [2] 

Основные компоненты системы выполняют следующие функции: 
1) обработки сигналов; 
2) интерфейса с датчиками и исполнительными приводами; 
3) передачи данных; 
4) человеко-машинного интерфейса (ЧМИ); 

5) программирования, отладки, тестирования и документирования; 


6) обеспечения электропитанием.  
Перечисленные функции осуществляют обмен данными между 

собой и обрабатывают сигналы машины/процесса, подлежащего контролю. 


Функция обработки сигналов заключается в обработке сигналов, 

полученных от датчиков, а также из области хранения внутренних 
данных, формировании сигналов для исполнительных механизмов и 
для записи в область хранения внутренних данных в соответствии 
с прикладной программой.  

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

Функция передачи данных заключается в обмене данными 

с другими системами или устройствами, такими как другие ПЛК и 
компьютеры. 

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

Функции программирования, отладки, тестирования, документирования 
заключаются в загрузке и генерации прикладной программы, 
ее мониторинге, тестировании и отладке, а также в документировании 
и архивировании. 

Функции обеспечения электропитанием заключаются в преобразовании 
напряжений и изоляции цепей ПЛК от сети электроснабжения. 
 
 

7

1. СТАНДАРТ МЭК 61131 

МЭК 61131 – это международный стандарт, состоящий из набора 
стандартов для программируемых контроллеров и связанных с ними 
периферийных устройств. Так же существуют международный 
стандарт IEC 61131 и соответствующий европейский стандарт EN 
61131. МЭК-61131 состоит из следующих частей: 

1) МЭК 61131-1. Контроллеры программируемые. Часть 1. 

Общая информация. 

2) МЭК 61131-2. Контроллеры программируемые. Часть 2. 

Требования к оборудованию и испытания. 

3) МЭК 61131-3. Контроллеры программируемые. Часть 3. 

Языки программирования. 

4) МЭК 61131-4. Контроллеры программируемые. Часть 4. Ру-

ководство пользователя. 

5) МЭК 61131-5. Контроллеры программируемые. Часть 5. 

Связь. 

6) МЭК 61131-6. Контроллеры программируемые. Часть 6. Без-

опасность функциональная. 

7) МЭК 61131-7. Контроллеры программируемые. Часть 7. Про-

граммирование нечеткого управления. 

8) МЭК 61131-8. Измерение и управление производственным 

процессом. Контроллеры программируемые. Часть 8. Руководящие 
указания по применению и реализации языков программирования. 

9) МЭК 61131-9. Контроллеры программируемые. Часть 9. 

Одноточечный интерфейс цифровой связи для небольших датчиков и 
исполнительных устройств. 

Стандарт МЭК 61131-3 регламентирует пять языков программи-

рования для контроллеров, что является результатом анализа множе-
ства языков, которые использовались на практике и предлагались 
производителями ПЛК. Цель стандарта – повышение скорости и каче-
ства разработки программ для программируемых логических контрол-
леров, создание языков программирования, ориентированных на тех-
нологов и обеспечение соответствия ПЛК идеологии открытых си-
стем, а также исключение этапа дополнительного обучения персонала 
при смене типа ПЛК. 

Стандарт устанавливает следующие МЭК-языки: 
1) диаграммы функциональных блоков (Function Block Dia-

gram); 

2) релейно-контактные схемы или релейные диаграммы (Ladder 

Diagram); 

3) структурированный текст (Structured Text); 
4) список инструкций (Instruction List); 
5) последовательные 
функциональные 
схемы 
(Sequential 

Function Chart). 

Графическими языками являются: функциональные блок-схемы 

(Function Block Diagram или FBD), схема последовательных функций 
(Sequential Function Chart или SFC), лестничные диаграммы (Ladder 
Diagram или LD). Структурированный текст (Structured Text или ST) и 
список команд (Instruction List или IL) – текстовые языки. 

Наиболее распространенными при решении задач управления 

объекта являются [4]: 

1. Задачи параллельной обработки большого числа логических 

контуров (сотен и тысяч) с обработкой исполнительных действий при 
наступлении тех или иных событий. В основе логического контура лежит 
проверка истинности логической функции от нескольких переменных, 
а событие равнозначно истинности этой функции. Задачи такого 
рода характерны, например, для таких технологических объектов, как 
электростанции, химические производства и производства по переработке 
нефти. Задача адекватно и наглядно описывается системой булевых 
уравнений. Все языки стандарта, за исключением SFC, хорошо 
подходят для описания подобных задач, поскольку они или содержат в 
себе средство представления булевых функций (языки IL, ST), или являются 
графической формой их отображения (языки LD, FBD). 

2. Задачи управления процессом, проходящим в своем развитии 

через ряд состояний (шагов, стадий). Переход от одного состояния 
к другому происходит по событиям, формируемым по сигналам датчиков 
процесса. Такие задачи управления возникают, например, при 
управлении транспортно-складскими системами, агрегатными станками, 
робототехническими комплексами, характерны они и для объектов, 
перечисленных в п. 1, в частности, при пуске и останове турбины и др. 
Задачи данного типа наиболее наглядно представляются автоматными 
моделями. В стандарте такая модель строится с использованием языка 
SFC (разметка состояний, логика управления) и любого другого языка 
(описание действий, связанных с состоянием, и событий, предписыва-
ющих смену состояний). Заметим, что подобные задачи могут быть 
полностью представлены с помощью других языков стандарта, напри-
мер языка FBD с использованием элементов памяти – триггеров, но 
в этом случае автоматная модель будет выражена неявно. 

3. Задачи автоматического регулирования (ПИД-законы, не-

четкое управление и т. д.) встречаются практически везде. Здесь, как 

правило, используются библиотеки заранее разработанных компонен-
тов – графических блоков для языков LD и FBD и подпрограмм для 
языков ST и IL. 

4. Задачи управления распределенными технологическими объ-

ектами, оптимизационные, а также задачи, связанные с интел-
лектуальным анализом данных. Задачи такого типа решаются в слож-
ных технологических объектах типа химических производств. Здесь 
в качестве средств адекватного описания могут использоваться языки 
ST, универсальные типа С, С++, Паскаль, сценарные типа Visual Basic, 
объектно-ориентированные типа Java. 

Общий вид модели программного обеспечения согласно [5], 

представлен на рис. 1.1.  

 

Рис. 1.1. Модель программного обеспечения 

Конфигурация – элемент языка, соответствующий системе про-

граммируемого контроллера, содержит один или более ресурсов, каж-
дый из которых содержит одну или более программ, выполняемых под 
контролем нуля или более задач. Программа может содержать нуль 
или более экземпляров функциональных блоков или других элементов 
языка. Поставленная задача позволяет выполнить набор программ и 
экземпляров функциональных блоков. 

Доступ онлайн
500 ₽
В корзину