Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы алгоритмизации ч

.3.pdf
Скачиваний:
99
Добавлен:
20.04.2015
Размер:
878.45 Кб
Скачать

 

 

Содержание

Содержание

 

Введение................................................................................................................................................................

 

2

1. Релейно-контактная и программная реализация логических функций.......................

4

1.1. Релейно-контактные схемы.................................................................................................................

4

1.2. Программная реализация логических функций..............................................................................

5

2. Основы разработки прикладных программ для ПЛК............................................................

8

2.1. Табличный метод...................................................................................................................................

8

2.2. Временные диаграммы.........................................................................................................................

10

2.3. Шаговые диаграммы..............................................................................................................................

15

2.4. Потоковые блок-схемы .........................................................................................................................

17

2.5. Графы переходов...................................................................................................................................

23

Практикум

.........................................................................................................................................................

30

3. Технические средства обучения.......................................................................................................

31

3.1. Программируемый логический контроллер (ПЛК) и панель управления.................................

31

3.2. Состав и устройство имитатора объектов управления ASIMA ...................................................

31

3.2.1.

Поле коммутации............................................................................................................................

33

3.2.2.

Поле управления............................................................................................................................

34

3.2.3.

Демонстрационное поле................................................................................................................

34

4. Задания для самостоятельной работы.........................................................................................

36

4.1. Автоматическое реверсивное включение электродвигателя с переключением

 

«звезда/треугольник» (маска М6).......................................................................................................

36

4.2. Чеканочный пресс (маска М18)...........................................................................................................

39

4.3. Пешеходный переход со светофорным регулированием (маска М21).....................................

41

4.4. Управление наполнением водонапорной башни (маска М40)....................................................

43

4.5. Грузовой лифт (маска М42) .................................................................................................................

46

5. Решения заданий.......................................................................................................................................

49

5.1. Автоматическое реверсивное включение электродвигателя с переключением

 

«звезда/треугольник» (маска М6)....................................................................................................

49

5.2. Чеканочный пресс (маска М18)...........................................................................................................

55

5.3. Пешеходный переход со светофорным регулированием (маска М21).....................................

61

5.4. Управление наполнением водонапорной башни (маска М40)....................................................

68

5.5. Грузовой лифт (маска М42) .................................................................................................................

79

1

Введение

Введение

Характерным свойством наиболее распространенных объектов управления является дискретность, т. е. способность пребывать в относительно неизменном состоянии в течение определенных промежутков времени. Функционирование таких объектов можно описать некоторой последовательностью их состояний, в каждом из которых объект выполняет определенные действия. Например, в дорожном светофоре включение световых сигналов в некотором сочетании представляет собой определенное состояние. Световые сигналы могут быть зелеными или желтыми для одного направления движения транспорта и красными – для другого. При этом смена цветов происходит в известной последовательности. Иногда дорожные светофоры оборудуются специальными средствами, например дополнительным пешеходным светофором, прерывающим процесс смены сигналов дорожного светофора на время, необходимое для перехода улицы пешеходами.

Для автоматизации этих объектов применяют как релейно-контактные, так и электронные системы логического управления, а также системы на базе цифровой вычислительной техники, в том числе системы с программируемыми логическими контроллерами (ПЛК).

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

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

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

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

SIMATIC S7-200 фирмы «Siemens» (Германия) и пакета программирования STEP 7-Micro/WIN 32 (версия 3.2 SP4), также разработанного фирмой «Siemens».

В практикуме предлагаются задания для самостоятельного решения, в которых в качестве объектов управления используются электронные модели, входящие в состав имитатора ASIMA фирмы «ELWE Technik GmH» (Германия). С помощью имитатора ASIMA можно моделировать решение реальных задач управления широким кругом технологических объектов. Модели объектов управления реализуются с помощью сменных накладных масок, устанавливаемых на переднюю панель имитатора и содержащих изображения схемы объекта, органов управления, датчиков и других компонентов системы управления данным объектом. Имитатор ASIMA оснащен встроенным микропроцессором, что обеспечивает широкие функциональные возможности моделирования технологических объектов. Подключенный к имитатору и соответствующим образом запрограмми-

2

Введение

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

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

Для работы с имитатором ASIMA необходимы ПЛК и персональный компьютер с программным обеспечением, позволяющим программировать данный контроллер. В состав технических средств предлагаемого учебно-методического комплекса «Программируемые логические контроллеры» (УМК ПЛК) входит ПЛК SIMATIC S7-200, состоящий из модуля центрального процессора CPU S7222, модуля расширения дискретных входов/выходов EM-223 и модуля расширения аналоговых входов/выходов EM-235. В комплект поставки УМК ПЛК входит также программное обеспечение

STEP 7-Micro/WIN 32 (версия 3.2 SP4).

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

3

1.Релейно-контактная и программная реализация логических функций

1.Релейно-контактная и программная реализация логических функций

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

1.1. Релейно-контактные схемы

Релейно-контактная схема представляет собой переключательную цепочку, состоящую из последовательно и параллельно соединенных контактов, каждый из которых может быть замкнут или разомкнут в результате внешнего управляющего воздействия. При этом последовательно соединенные ключи реализуют логическую функцию И, а параллельно соединенные – логическую функцию ИЛИ. Нагрузкой такой цепочки являются сигнальные и исполнительные элементы (например, обмотка электромагнитного реле), которые подключены к ее выходу. Замыкающие контакты переключательной цепочки обычно обозначают буквами произвольного алфавита (x, a, b, C, D, б, д, …), а размыкающие контакты – инверсными значениями (например, C, z, d, ...).

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

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

На рис. 1.1 приведен пример релейно-контактной схемы, реализующей следующую систему булевых функций:

 

 

 

Y =(a c +a

b c) d;

 

 

 

 

H =c y.

 

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

 

a

 

 

c

d

Y

 

 

 

a

b

с

 

 

 

 

 

 

c

y

H

Рис. 1.1. Релейно-контактная реализация системы булевых функций

Здесь верхняя цепочка реализует функцию Y (катушка реле), а нижняя – функцию H (сигнальная лампа).

4

1.Релейно-контактная и программная реализация логических функций

1.2.Программная реализация логических функций

Программа, реализующая некоторую логическую функцию, может быть написана на одном из языков программирования промышленных ПЛК. Международный стандарт IEC 61131-3 предусматривает четыре языка программирования ПЛК: два текстовых (IL – Instruction List и ST – Structured Text) и два графических (LD – Ladder Diagram и FBD – Function Block Diagram). Программное обес-

печение для ПЛК S7-200 предусматривает использование только трех языков: IL, LD, FBD. На практике чаще всего применяют графический язык LD, в котором используются принципы построения релейно-контактных схем.

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

ант языка LD фирмы «Siemens» – LAD.

На рис. 1.2 приведен фрагмент программы, составленной на языке LAD в среде разработки STEP 7-Micro/WIN 32 и реализующей систему булевых функций, приведенную в предыдущем разделе.

Рис. 1.2. Программная реализация системы булевых функций на языке LAD

Язык LAD позволяет написать программу по известным логическим уравнениям, связывающим между собой состояния дискретных датчиков или промежуточных битовых переменных (значения аргументов логических уравнений) с состояниями исполнительных элементов объекта управления (значения функции). Для этого необходимо переназначить логические переменные исходных уравнений, связав их с адресным пространством используемого контроллера (в данном случае – CPU S7-200 фирмы «Siemens»). Для приведенного на рис. 1.2 примера используются следующие назначения:

a → I0.0, b → I0.1, c → I0.2, d → I0.3, Y → M0.0, H → Q0.0.

Каждый контакт релейно-контактной схемы соответствует переменной исходного логического уравнения, взятой в прямом или в инверсном виде. Поэтому реализуемое логическое уравнение не должно содержать под знаком инверсии (отрицания) более одной переменной. В противном случае потребуется введение промежуточного реле, что приводит к усложнению электрической схемы. Для преобразования логических уравнений к требуемому виду используют законы (правила) Де Моргана:

(A +B +C +...) =A B C ...

A B C ... =A +B +C +...

Например:

a (b +c +d) +b d =a b c d +b +d .

Примечание.

Данное ограничение снимается при написании программ на языке FBD.

5

1. Релейно-контактная и программная реализация логических функций

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

На рис. 1.3 представлена схема с одним выходом – релейно-контактная цепочка. В силу однозначности связи между логической функцией и ее релейно-контактной реализацией любая релей- но-контактная схема может быть описана логической функцией. Для приведенной схемы логическая функция записывается следующим образом:

Y =(x1 +x2 x3 x4 )(x5 +T1) , где: xi (i = 1, …, 5) и T1 (реле времени) – физические контакты.

+

 

 

Y

x1

x5

 

 

 

 

 

x2

x3

x4

T1

Рис. 1.3. Релейно-контактная цепочка

Стандартный подход к реализации данной функции на языке LAD приводит к механическому повторению релейно-контактной схемы графическими средствами языка (рис. 1.4, б). (Таймер T1 реализуется в контроллере программно и цепи управления им на рисунке не показаны.)

 

x1

 

 

 

 

контроллера

 

x2

 

 

x5

 

 

x3

 

 

 

 

 

 

x4

 

 

 

 

 

Входы

 

 

 

+24 В

 

 

 

x1 → I0.0

 

 

 

 

x2

→ I0.1

 

 

x3

→ I0.2

 

 

x4

→ I0.3

 

 

x5

→ I0.4

 

 

а)

б)

в)

Рис. 1.4. Переход от релейно-контактной схемы к программе:

а) схема подключения командных ключей к контроллеру; б) неверная программа; в) верная программа.

6

1. Релейно-контактная и программная реализация логических функций

Использование физических контактов исходной схемы (рис. 1.4, а) изменяет алгоритм работы: активизация выхода Q0.0 обеспечивается только при разомкнутых ключах x3 и x5 и нулевом значении бита таймера T37.

Замена в программе размыкающих контактов на замыкающие восстанавливает исходный алгоритм работы (рис. 1.4, в). То есть в LAD-программе для формирования входных сигналов контроллера размыкающим контактам исходной релейно-контактной схемы должны соответствовать замыкающие контакты. Объясняется это тем, что в релейно-контактной схеме размыкающий контакт реализует логическую функцию НЕ (если контакт НЕ разомкнут, то он пропускает ток и, следовательно, обеспечивает выполнение логической функции). В то же время в программе для ПЛК размыкающий контакт соответствует переменной, принимающей значение логической единицы при его срабатывании – размыкании (функция НЕ реализуется в программируемом контроллере с помощью отдельной инструкции). Поэтому замкнутому состоянию размыкающего ключа на дискретном входе контроллера соответствует нулевое значение связанного с этим входом размыкающего контакта в LAD-программе, что препятствует выполнению логической функции. Это обусловливает расхождения в функционировании релейно-контактной и программной реализаций одного и того же алгоритма.

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

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

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

Формализация алгоритма управления объектом с получением системы булевых функций.

Реализация системы булевых функций с помощью языка программирования ПЛК.

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

7

2. Основы разработки прикладных программ для ПЛК

2. Основы разработки прикладных программ для ПЛК

Ниже рассматривается ряд методов проектирования программ для ПЛК. Они могут использоваться при разработке прикладных программ для любых ПЛК, но в данном пособии иллюстрируются примерами для CPU S7-200.

2.1. Табличный метод

Логические (булевы) функции определяют отношения между логическими (булевыми) переменными (аргументами функции), которые могут принимать одно из двух значений: 0 или 1. Значения логической функции также принадлежат множеству {0; 1} и могут быть определены как на наборах их аргументов, так и на последовательностях этих наборов.

Логическая функция от n аргументов y = f (x1, x2, ..., xn) может быть представлена таблицей, состоящей из 2n строк и (n + 1) столбцов, – таблицей истинности. Таблица истинности показывает значения функции на различных наборах ее аргументов. На рис. 2.1 представлен пример таблицы истинности логической функции от трех аргументов y = f (x1, x2, x3).

x3

x2

x1

y

 

 

 

 

0

0

0

0

 

 

 

 

0

0

1

1

 

 

 

 

0

1

0

0

 

 

 

 

0

1

1

0

 

 

 

 

1

0

0

1

 

 

 

 

1

0

1

0

 

 

 

 

1

1

0

1

 

 

 

 

1

1

1

0

 

 

 

 

Рис. 2.1. Пример таблицы истинности

Таблица истинности позволяет легко получить аналитическую запись функции. Для этого достаточно выписать наборы аргументов, на которых функция принимает значение единицы, и составить их логическую сумму. Учитывая, что 1 соответствует прямому значению аргумента, а 0 – инверсному, для логической функции, заданной таблицей истинности на рис. 2.1, можно записать следующее выражение:

y =x1 x2 x3 +x1 x2 x3 +x1 x2 x3 .

Далее полученную запись функции желательно минимизировать (т. е. получить ее сокращенную запись) с помощью правил алгебры логики, карт Карно и др. В данном случае минимизированное выражение логической функции имеет следующий вид:

y =x1 x2 x3 +x1 x3 .

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

8

2. Основы разработки прикладных программ для ПЛК

словесного описания. Для рассмотренного выше примера таблица решений будет иметь следующий вид (рис. 2.2).

 

 

 

 

 

 

 

 

Правило

x3

x2

x1

y

 

 

1

0

0

1

1

 

 

 

 

 

 

 

 

 

2

1

0

0

1

 

 

 

 

 

 

 

 

 

3

1

1

0

1

 

 

 

 

 

 

 

 

 

Иначе

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2.2. Пример таблицы решений

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

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

Метод включает в себя следующие шаги.

1.Анализ принципа работы автоматизируемого устройства.

2.Определение входных переменных (сигналы дискретных датчиков, кнопок и т. д.).

3.Определение выходных переменных (дискретные исполнительные устройства, приводы, сигнальные элементы и т. п.).

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

5.Формирование логических функций и их минимизация (если необходимо).

Пример.

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

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

Шаг 1. Определение входных и выходных переменных.

Входные переменные:

B1 – датчик наличия слитка в камере 1 ( = 1 при наличии слитка); B2 – датчик наличия слитка в камере 2 ( = 1 при наличии слитка);

T – сигнализатор перегрева печи ( = 1 при превышении заданной температуры).

Выходные переменные: F – вентилятор.

Шаг 2. Составление таблицы решений.

 

Правило

T

B1

B2

F

 

 

 

 

 

 

 

 

 

1

1

1

0

1

 

 

 

 

 

 

 

 

 

2

1

0

1

1

 

 

 

 

 

 

 

 

 

Иначе

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

2. Основы разработки прикладных программ для ПЛК

Шаг 3. Написание булевой функции для вентилятора.

F =T (B1 B2 +B1 B2) .

Шаг 4. Назначение адресов переменным.

B1 → I0.0, B2 → I0.1, T → I0.2, F → Q0.0.

Шаг 5. Написание программы (рис. 2.3).

Рис. 2.3. Вычислительная цепочка управления вентилятором

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

2.2. Временные диаграммы

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

Базовый метод включает следующие шаги.

1.Анализ процесса.

2.Идентификация выходных переменных, которые зависят только от времени.

3.Вычерчивание временных диаграмм для этих выходных переменных.

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

5.Составление логических уравнений для каждой выходной переменной.

Следует отметить, что возможны два варианта применения таймеров в задачах управления для формирования временных интервалов:

с использованием общего начала отсчета для всех таймеров;

с использованием управления таймерами с помощью сигналов состояний других таймеров, (например, в качестве сигнала начала отсчета для текущего таймера используется сигнал окончания счета предыдущего таймера).

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

10