Методика автоматного программирования для s7.pdf

43
Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens Учебно-методическое пособие Новокузнецк 2011

Upload: vladimir-ageev

Post on 01-Dec-2015

246 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Методика автоматного программирования для S7.pdf

Методика автоматного программированияпри создании управляющих программ для

программируемых логических контроллеровS7 фирмы Siemens

Учебно-методическое пособие

Новокузнецк2011

Page 2: Методика автоматного программирования для S7.pdf

2Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

АВТОР:

Романов В. П., преподаватель НОУ «РЦПП «Евраз - Сибирь», преподаватель высшей квалификационнойкатегории .

РЕЦЕНЗЕНТ:

Зав. кафедрой «Автоматизация и информационные системы» ФГОУ ВПО «СибГИУ» доктортехнических наук, профессор Кулаков С. М.

Методическое пособие разработано в соответствии с рабочей программой курса«Сопровождение автоматизированных систем управления технологическими процессами (АСУТП) построенных на основе программируемых контроллеров Simatic S7».

В методическом пособии представлена методика составления программ управлениятехнологическими процессами построенных на основе программируемых контроллеров SimaticS7 с использованием автоматного метода. Представлены разной степени сложности практическиепримеры применения данной методики. Освоение методики позволить существенно сократитьвремя создания программ управления технологическими процессами и тем самым повыситьэффективность использования оборудования.Табл. 4. Ил. 86. Библиогр.: 3 назв.

Page 3: Методика автоматного программирования для S7.pdf

3Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

ОглавлениеВВЕДЕНИЕ..................................................................................................................................................4

ОСНОВНЫЕ АЛГОРИТМЫ ФУНКЦИОНИРОВАНИЯ ТЕХНОЛОГИЧЕСКИХ СИСТЕМ............4

ПОДХОДЫ К СИНТЕЗУ АЛГОРИТМОВ ЛОГИЧЕСКОГО УПРАВЛЕНИЯ. ...................................7

ОСНОВНЫЕ ПОЛОЖЕНИЯ МЕТОДА ...................................................................................................8

МЕТОДИКА СОЗДАНИЯ ПРОГРАММ УПРАВЛЕНИЯ ТП НА БАЗЕ ПЛК S7 SIMATIC СИПОЛЬЗОВАНИЕМ АВТОМАТНОГО МЕТОДА ...............................................................................10

Метод шаговых меток...............................................................................................................................12

Метод шаговых блоков.............................................................................................................................16

ПРИМЕРЫ СОСТАВЛЕНИЯ ПРОГРАММ УПРАВЛЕНИЯ ТП НА ОСНОВЕ АВТОМАТНОГОМЕТОДА....................................................................................................................................................18

Задача 1 ......................................................................................................................................................18

Задача 2 ......................................................................................................................................................22

Задача 3 ......................................................................................................................................................28

Задача 4 ......................................................................................................................................................31

Заключение ................................................................................................................................................43

Список литературы ...................................................................................................................................43

Page 4: Методика автоматного программирования для S7.pdf

4Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

ВВЕДЕНИЕВ настоящее время не существует отрасли промышленности, в которой не было бы

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

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

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

Теоретически процесс проектирования должен протекать последовательно.Предлагаемая методика охватывает все этапы процесса программного обеспечения

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

SIMATIC S7-300(400), и опирается на опыт разработки систем рассматриваемого класса.Методика не является панацеей от всех бед и ошибок. Это попытка систематизации

процесса проектирования от алгоритмизации до программирования.В методическом пособии рассматриваются практические методы

программирования логических контроллеров, на основе так называемого автоматногоподхода [1, 2].

Page 5: Методика автоматного программирования для S7.pdf

5Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

ОСНОВНЫЕ АЛГОРИТМЫ ФУНКЦИОНИРОВАНИЯ ТЕХНОЛОГИЧЕСКИХСИСТЕМ

Кратко функции любой системы управления можно сформулировать как “принял– обработал – выдал”. Локальная система управления с использованием контроллераSIMATIC S7-300(400) не отличается оригинальностью. В подавляющем большинствеслучаев предстоит реализовать следующие функции:

• Первичная обработка аналоговых сигналов (включая проверку на достоверность) имасштабирование значений параметров, представленных аналоговыми сигналами;

• Контроль значений параметров, представленных аналоговыми и дискретнымисигналами;

• Технологические алгоритмы;• Поддержка буквенно-цифрового индикатора (панели оператора);• Поддержка обмена по сети (как правило, сеть ProfiBus).

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

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

Рисунок 1 - Система с ациклической произвольной выборкойПримерами данных систем являются реализующие различные схемы не зависимого

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

Рисунок 2 - Алгоритм программы реализующей систему с ациклической произвольной выборкой

2. Последовательная выборка с возвратом к операции 1 (рисунок 3) представляетсобой процесс, в котором переход от операции к операции взаимообусловлен иопределяется комбинацией входных сигналов и наличием сигнала об окончании

Page 6: Методика автоматного программирования для S7.pdf

6Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

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

Рисунок 3 - Система с последовательной выборкой с возвратом к операции 1Примерами данных систем являются реализующие различные поточные линии

сборки, линии розлива, линии упаковки и т.д.. Алгоритм функционирования данныхсистем представлен на рисунке 4.

Рисунок 4 - Алгоритм программы реализующейсистему последовательная выборка с возвратом к

операции 1

Рисунок 5 - Алгоритм программы реализующейсистему последовательная выборка с элементамипроизвольной выборки и возвратом к операции 1

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

Page 7: Методика автоматного программирования для S7.pdf

7Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Рисунок 6 - Система последовательная выборка с элементами произвольной выборки ивозвратом к операции 1

Примерами данных систем являются реализующие различные автоматическиеперенастраиваемые (адаптивные) поточные линии сборки, линии розлива, линии упаковкии т.д. Алгоритм функционирования данных систем представлен на рисунке 5.

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

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

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

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

ПОДХОДЫ К СИНТЕЗУ АЛГОРИТМОВ ЛОГИЧЕСКОГО УПРАВЛЕНИЯ.Возможны два подхода к построению алгоритмов логического управления. При

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

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

Page 8: Методика автоматного программирования для S7.pdf

8Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

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

Первый подход «направлена» от объекта управления к вычислителю, а второй — вобратную сторону — от вычислителя к объекту.

Первый подход базируется на понятии «состояние», а второй— на понятии«событие».

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

Так как оба понятия «состояние» и «событие» входят в понятие «автомат», то такойвид управления может быть назван «автоматным управлением», а его программнаяреализация — «автоматным программированием».

В предлагаемой методике понятие «состояние» является первичным, а понятие«событие» — вторичным.

Созданная по методу «автоматного программирования» программа будет«понятной» всем лицам занятым эксплуатацией данного устройства.

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

ОСНОВНЫЕ ПОЛОЖЕНИЯ МЕТОДАСуть автоматного программирования, состоит в том, что управляющая программа

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

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

В основе этих правил лежать следующие основные положения:1. Любая задача логического управления может быть представлена в виде

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

2. Последовательно, начиная с нулевого, пронумеруем все возможные состоянияавтомата и свяжем текущее состояние автомата с переменной состояния автомата S[i] т.е.выполним кодирование состояний с помощью битовых ячеек памяти, которые назовем«метками (меркерами) состояния».

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

3. Введем понятие вектора текущего состояния системы управления – совокупностьметок состояния системы. Текущее значение вектора состояния системы управления дает

Page 9: Методика автоматного программирования для S7.pdf

9Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

полное представление о том, какие процессы выполняются в ней в данный моментвремени – нет необходимости ввода дополнительных статусных переменных.

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

4. Так как поведение управляющего автомата определяется исключительно еготекущим состоянием S[i], то реализации подлежат только те операции, которые должныбыть выполнены в текущем состоянии. Кроме того, должны быть проанализированы всеусловия перехода автомата из текущего состояния в другие возможные состояния впорядке заданного приоритета проверки условий и определено состояние перехода S[i+1].

Таким образом, на одном такте, автомата решаются две задачи:а) «Что делать в текущем состоянии?»б) «Нужно ли сменить текущее состояние на другое?».

5. До начала создания программы управления ТП будем выполнять декомпозициюзадачи управления (то есть заменять решение одной большой задачи решением сериименьших задач) и будем представлять ее в виде иерархии взаимодействующих междусобой автоматов.

При этом возможны следующие варианты функционирования системы (рисунок 8):• Централизованная система управления: головной автомат управляет работой

нескольких подчиненных автоматов (подавтоматов).• Децентрализованная система управления: параллельно работают несколько

управляющих автоматов.• Сочетание централизованных и децентрализованных систем управления: часть

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

Рисунок 8 - Типовые структуры управления6. Установим, что все параллельно работающие автоматы будут взаимодействовать

между собой с помощью переменных состояния S[i], доступных для окружения, т.е.переменная состояния одного автомата, может быть использована в качестве входноговоздействия для другого автомата и наоборот. Автоматы обмениваются между собойсообщениями, меняя коды своих состояний.

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

Пример представленный на рисунке 9. иллюстрирует: механизм запускаподчиненного процесса в состоянии А1 основного процесса; ожидание основнымпроцессом завершения подчиненного процесса – переход в состояние А2 по условиюдостижения подпроцессом конечного состояния В3; механизм сброса подчиненногопроцесса в начальное состояние В0 при условии, что основной процесс идентифицировал

Page 10: Методика автоматного программирования для S7.pdf

10Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

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

Рисунок 9 – Пример взаимодействия двух процессов

МЕТОДИКА СОЗДАНИЯ ПРОГРАММ УПРАВЛЕНИЯ ТП НА БАЗЕ ПЛК S7SIMATIC С ИПОЛЬЗОВАНИЕМ АВТОМАТНОГО МЕТОДА

Процедура создания программы (рисунок 10 ) состоит из следующих этапов:− этап постановки задач;− этап определения аппаратной части;− этап определения структуры программы;− написание программных кодов;− этап тестирования;− этап отладка и устранение ошибок;− написание документации.На этапе постановки задач происходит постановка и описание всех задач,

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

Рисунок 10 - Основные этапы создания программы управления ПТНа этапе определения аппаратной части следует определить число необходимых

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

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

,

Page 11: Методика автоматного программирования для S7.pdf

11Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

где NИ-число инструкций, I,Q –число входных и выходных сигналов соответственно, GВ –глубина вложения принимает значения от 5 (простые задачи) до 30 (сложные задачи).

Учитывая, что в SIMATIC S7 каждая команда занимает максимум 3 байта,определяем требования к ЦПУ ПЛК и выбираем тип.

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

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

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

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

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

Управляющая программа строиться, как минимум, на основе двух автоматов. Одинавтомат управления режимами работы, другой автомат управления ТП. Автоматнаяреализация управляющей программы в соответствии с рисунком 11.

Рисунок 11 - Пример представления программы управления ТПЗатем по словесному описанию процесса строится таблица состояний автомата

(рисунок12). При этом объект рассматривается по состоянию выходов системы.Переход из одного состояния системы в другое представляет собой логическое

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

Например: (рисунок 12, а) Система находиться в состоянии 1, на выходах системывыдаются значения, соответствующие этому состоянию. Происходит анализ входныхсигналов.

а б

Page 12: Методика автоматного программирования для S7.pdf

12Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

в гРисунок 12 - Пример представления алгоритма функционирования ПТ в виде таблицы состояний объекта

автоматизации

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

При соответствии входных сигналов следующему состоянию, происходит переходв следующее состояние.

При достижении N-го (конечного) состояния осуществляется переход в состояние1(рисунок 12,г).

Аналогично вместо таблицы состояний системы можно простроить граф переходовавтомата (рисунок 13).

Рисунок 13 - Пример представления алгоритма функционирования ТП в виде графа. Х1-Х5-логическиеусловия переходов, Т - временное условие переходов.

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

Метод шаговых меток

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

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

Page 13: Методика автоматного программирования для S7.pdf

13Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Рисунок 14 - Структура управляющей программы

Вначале пишется программный код для исполнительной процедуры, с этой цельюиз таблицы состояний выписываются все состояния, при которых должен сработатьконкретный исполнительный механизм (рисунок 15). Например (для приведеннойтаблицы) механизм М1 должен работать в состояниях 1,3 и N, соответственно М2 – в 2 иN, а М3 – в 1 и N.

Состояния Выход (OUT) Входы (IN)

M1 M2 M3 D1 D2 D3

1 1 0 1 0 1 0

2 0 1 0 1 1 0

3 1 0 1 1 1

……..

N 1 1 1 0 0 1

Рисунок 15 - Таблица состояния (пример)

При написании программного кода активность команд ставится в прямуюзависимость от активности шаговой метки (состояния). Если одна и та же командаактивна сразу в нескольких состояниях (принимает значение 1), то она формируется посхеме "ИЛИ" от соответствующих шаговых меток (рисунок 16).

а бРисунок 16 - Пример программы на языке Step 7 для исполнительной части программы в различных

инструкциях представления программы, а -LAD, б - STLАналогично пишется исполнительная часть программы для всех исполнительных

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

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

Page 14: Методика автоматного программирования для S7.pdf

14Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Рисунок 17 - Последовательность использования VAT - таблицы для тестирования исполнительной частипрограммы

После написания исполнительной части и проверки ее через VAT-таблицу,пишется описательная часть. Описательная часть отвечает за реализацию переходовмежду состояниями.

Для создания описательной части программы так же используется таблицасостояний (рисунок 15) или граф состояний.

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

а бРисунок 18 - Пример программы на языке Step 7 для описательной части программы и состояния «0» в

различных инструкциях представления программы, а -LAD, б - STLДля оставшихся состояний из таблицы состояний выбирают все входы данного

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

Рисунок 19 - Пример создания описательной части программы для состояния "n"с использованиемтаблицы состояний

Переход в состояние n должен происходить при выполнении следующих условий:− система находится в состоянии n-1;− на входе появились сигналы соответствующие условию n.

Типовая структура программного блока описательной части программы длясостояния «n» представлена на рисунке 21

Page 15: Методика автоматного программирования для S7.pdf

15Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Рисунок 20 -Типовая структура программного блока описательной части программы для состояния «n»Данная структура описательной части программы является типовой и

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

Для состояния «1» структура имеет некоторые особенности - состояние должнособираться состоянием «0» или последним (конечным n) состоянием системы, чтообеспечивается реализацией функции «ИЛИ» для обоих состояний.

Если требуется обеспечить работу системы по алгоритму с последовательнойвыборкой и возвратом к операции 1 (рисунок 3), то последнее состояние системы «n»разбирается первым.

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

Пример описательной части для состояния 1 в соответствии с рисунком 21.

а бРисунок 21 - Пример описательной части для состояния 1 в различных инструкциях представления

программы, а -LAD, б - STL

Page 16: Методика автоматного программирования для S7.pdf

16Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

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

программа выполняет условные вызовы процедур по текущему номеру состояния. Прииспользовании данного метода вместо исполнительного блока программы (рисунок 22)вводится процедуры называемые "шаговыми блоками".

Шаговый блок SBi решает только задачи для i-го состояния:• реализация возможных переходов;• формирование команд на объект управления;• управление таймерами для учета времени (если это необходимо).

Структура программы (Рисунок 22) отражает условный характер вызовашаговых блоков по числовой переменной SW, используемой для хранения номераактивного состояния.

Рисунок 22 - Структура исполнительно части программы для метода шаговых блоковШаблон для блока SBi, приведенный в таблице 1, позволяет формализовать

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

Таблица 1 - Шаблон для формирования блока переходов

N Действия Программное решение

1. Описательная частьУстановка признаков активациипереходов

2.

Формирование слова состояния(SW)N1 - номер шага для 1-гоNk - номер шага для k-го перехода

3. Исполнительная часть (без памяти)и управление таймерами

Для реализации программы используют специальную инструкцию языка STEP7,так называемые распределенные переходы, имеющую сокращение JL (Jump to Labels -множественный переход) для выбора блоков SBi (рис.23). Список переходовобъявляется командами JU (Jump Unconditional – безусловный переход),

Page 17: Методика автоматного программирования для S7.pdf

17Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

расположенными вслед за командой JL и завершается командой, символьный адрескоторой указывается непосредственно в инструкции JL. Выбор перехода зависит

от значения аккумулятора (от 0 до 255). При нуле в аккумуляторе выбирается перваякоманда JU из списка, при единице – вторая и т.д.

Рисунок 23 - Фрагмент программы для вызова шагового блока

Рассмотрим пример для шагового блока SB1 (рис.24), который соответствуетпервому состоянию.

Начало любого шагового блока отмечается той меткой, которая была указана всписке переходов. Секции (network) пять и шесть соответствуют действиям попроверки условий перехода к следующему шагу (network пять) и проверкивременных ограничений (если необходимо) (network шесть). В них проверяютсяусловия переходов, а в случае их активности меняется переменная SW.

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

программы.

Рисунок 24 - Фрагмент программы для шагового блока SB1

Для тестирования программы, реализующей переходы, пользователю достаточнонаблюдать за одной единственной переменной SW. Изменяя вручную значение SW (спомощью YAT-таблицы), можно контролировать выполнение программы с любого шага.

Если необходимо модифицировать таблицу состояний (или управляющий граф),то пользователь может изменить только соответствующие шаговые блоки, а не всюпрограмму. Это сводит к минимуму вероятность ошибок и сокращает время наразработку и обслуживание программы.

Типовая структура шаговых блоков позволяет легко восстановить логику работы

Page 18: Методика автоматного программирования для S7.pdf

18Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

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

понимается инженерно-техническим персоналом заказчика.

ПРИМЕРЫ СОСТАВЛЕНИЯ ПРОГРАММ УПРАВЛЕНИЯ ТП НА ОСНОВЕАВТОМАТНОГО МЕТОДА

Задача 1Разработать программу управления насосом подачи воды в бак (рисунок 25). В баке

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

Рисунок 25 - Структурная схема установкиОставление программы с использованием метода шаговых метокИсходя из описания технологического процесса, составим таблицу состояний (граф

переходов). Таблица состояний будет включать три состояния.Таблица 2 -Таблица состояний

Состояния НасосДатчики

Нижнегоуровня

Верхнегоуровня

1 1 0 0

2 1 1 0

3 0 1 1Произведем назначение адресов входным и выходным сигналам и выполним

заполнение таблицы символов (рисунок 26).

Рисунок 26 - Таблица символовСостояние 0 – это искусственное состояние, которое обеспечивает однозначное

начало процесса управления в случаи, когда процесс находится в промежуточномположении, то есть ни одного из состояний (1,2,3).

Заполнив таблицу символов, анализируя таблицу состояний, приступаем кнаписанию исполнительной части программы. Нетрудно видеть, что мотор насосаработает или в 1 или во 2 состояниях (смотри столбец «насос» таблицы состояния).

Page 19: Методика автоматного программирования для S7.pdf

19Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

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

Рисунок 27 - Исполнительная часть программыЗатем приступаем к написанию описательной части программы. Важно –

описательная часть программы должна располагаться выше исполнительной части(в Network с меньшим номером).

Вначале пишется программа для реализации состояния 0 (S0). Система находится всостоянии 0, если не реализовано ни одно из состояний 1-3. Внешний вид программыпредставлен на рисунке 28.

Рисунок 28 - Внешний вид программы состояния 0Далее выполняется составление программ для состояний 1-3 (анализируя значения

в таблице состояний расположенных в соответствующей строке). Условием перехода вданное состояние является: нахождение системы в предыдущим состоянии и наличиесоответствующих сигналов от датчиков. Состояние самоблокируется (устраняется неоднозначность состояний при большом «дребезге» контактов датчика) и «разбирается»при переходе системы в следующие состояние. (рисунки 29 - 30)

Рисунок 29 - Внешний вид программы состояния 1

а) б)Рисунок 30 - Внешний вид программы.

а- состояния 2, б- состояния 3

Page 20: Методика автоматного программирования для S7.pdf

20Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Программа составлена. Контроль за работой системы может осуществляться путемконтроля только одной переменной – байта состояний МВ0.

Оставление программы с использованием метода шаговых блоковДля создания программ используем ранее составленную таблицу состояний

(Таблица 2).Выполним программу управления в блоке OB1, поскольку этот блок имеет

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

• Переменная переходов – #peremenaj;• Буфер переменных выходных сигналов #out_code_buf;• Массив переменных состояний #m_sost (0..3) (рисунок31)

Рисунок 31 - Переменные, используемые в блокеДалее размещаем блок, реализующий шаговые переходы (Рисунок 32). Список

переходов объявляется командами JU, расположенными вслед за командой JL изавершается командой, символьный адрес которой указывается непосредственно винструкции JL. Выбор перехода зависит от значения аккумулятора (от 0 до 255). Принуле в аккумуляторе выбирается первая команда JU из списка, при единице – вторая и т.д.

Рисунок 32 - Блок выбора переходовЗатем располагаются шаговые блоки (Рисунок 33). Начало любого шагового блока

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

Page 21: Методика автоматного программирования для S7.pdf

21Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Рисунок 33 - Шаговые блоки 0-3В конце программы размещен Network, реализующий передачу сигнала из буфера

выходного кода на выход. Данное решение позволяет реализовывать различные контурызащиты от аварийных ситуаций при создании программ управления для реальныхобъектов (Рисунок 34).

Рисунок 34 - Блок окончания программыПрограмма составлена. Контроль над работой системы может осуществляться

путем контроля только одной переменной – массив состояний #m_sost (0..3).

Page 22: Методика автоматного программирования для S7.pdf

22Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Задача 2Разработать программу выполняющую подготовку раствора состоящего из

двух жидкостей с заданным процентным соотношением (Рисунок 35).Алгоритм работы установки:

• Открывается кран 2, начинается заполнение бака жидкостью 1. Жидкость 1заполняет бак на 30%.

• Кран 2 закрывается.• Открывается кран 3, начинается заполнение бака жидкостью 2. Жидкость 2

заполняет бак до конца (100%).• Кран 3 закрывается.• На 30 секунд включается крыльчатка 4 и смесь перемешивается.• Открывается кран 1 и выполняется слив смеси. Слив производится до полного

слива жидкости.• Кран 1 закрывается.• Процесс повторяется.

Измерение уровня жидкости в баке выполняется аналоговым датчиком уровня 5.

Рисунок 35 - Внешний вид установкиСоставление программы с использованием метода шаговых меток

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

Рисунок 36 - Таблица состоянийПроизведем назначение адресов входным, выходным сигналам и меркерам

состояний, выполним заполнение таблицы символов (рисунок 37).

Page 23: Методика автоматного программирования для S7.pdf

23Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Рисунок 37 - Таблица символовВыполним создание исполнительной части программы (рисунок 38)

Рисунок 38 - Исполнительная часть программы

Применив YAT-таблицу и изменяя значения битов меркера состояний (s1-s4),можно проверить правильность функционирования исполнительной части программы.

Затем приступаем к написанию описательной части программы. Важно –описательная часть программы должна располагаться выше исполнительной части(в Network с меньшим номером).

Page 24: Методика автоматного программирования для S7.pdf

24Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Рисунок 39 - Описательная часть программы

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

• Осуществлять прием аналоговых данных поступающих с датчика• Выполнять масштабирование текущего значения датчика• Формировать дискретные сигналы «уровень 0», «уровень 30%», «уровень

100%».Блок следует располагать самым первым, т.е. в Network с наименьшим номером.Процедура, выполняемая блоком, является типовой. Внешний вид блока

представлен на рисунке 39.

Рисунок 40 - Блок программы, организующий работы датчика уровня

Page 25: Методика автоматного программирования для S7.pdf

25Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Программа составлена. Контроль за работой системы может осуществляться путемконтроля только одной переменной – байта состояний МВ1.

Составление программы с использованием метода шаговых блоковВыполним программу управления в блоке OB1, поскольку этот блок имеет

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

Рисунок 41 - Переменные, используемые в блокеПервым блоком программы будет блок, организующий работы датчика уровня.

Блок по выполняемым функциям полностью аналогичен блоку из предыдущего примера(рисунок 39), различие только в используемых переменных (Рисунок 41).

Рисунок 42 - Блок организующий работу датчика уровняДалее размещаем блок, реализующий шаговые переходы (Рисунок 42). Список

переходов объявляется командами JU, расположенными вслед за командой JL изавершается командой, символьный адрес которой указывается непосредственно винструкции JL. Выбор перехода зависит от значения аккумулятора (от 0 до 255). Принуле в аккумуляторе выбирается первая команда JU из списка, при единице – вторая и т.д.

Рисунок 43 - Блок выбора переходовЗатем располагаются шаговые блоки (Рисунок 43). Начало любого шагового блока

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

Page 26: Методика автоматного программирования для S7.pdf

26Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Page 27: Методика автоматного программирования для S7.pdf

27Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Рисунок 44 - Шаговые блоки 0-4

В конце программы размещен Network, реализующий передачу сигнала из буферавыходного кода на выход. Данное решение позволяет реализовывать различные контурызащиты от аварийных ситуаций при создании программ управления для реальныхобъектов (Рисунок 44).

Рисунок 45 - Блок окончания программы

Page 28: Методика автоматного программирования для S7.pdf

28Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Задача 3На установке (Рисунок 46) по розливу вина поставляются светлые и темные

бутылки. Выбор определяется одной из кнопок.Приход бутылки в позицию для выполнения одной из 4-х технологической

операций (наполнение, закупорка, наклейка этикетки на горлышко наклейка этикетки набутылку) сопровождается активацией соответствующих датчиков (I0.0 - I0.3). Завершениекаждой технологической операции сигнализируется одним общим датчиком I0.6.

Рисунок 46 -Внешний вид технологической установкиТребования программе управления ТП:

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

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

3. В момент выполнения технологической операции конвейер должен бытьостановлен.

4. Новая операция может начинаться только после выполнения предыдущейоперации.

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

переходов). Таблица состояний будет включать девять состояний (рисунок 31).

Рисунок 47 - Таблица состоянийПроизведем назначение адресов входным, выходным сигналам и меркерам

состояний, выполним заполнение таблицы символов (рисунок 32).

Page 29: Методика автоматного программирования для S7.pdf

29Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Рисунок 48 - Таблица символов

Выполним создание исполнительной части программы (рисунок 33)

Рисунок 49 - Блоки исполнительной части программы

Page 30: Методика автоматного программирования для S7.pdf

30Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Применив YAT-таблицу и изменяя значения битов меркера состояний (s1-s9),можно проверить правильность функционирования исполнительной части программы.

Затем приступаем к написанию описательной части программы. Важно –описательная часть программы должна располагаться выше исполнительной части (вNetwork с меньшим номером).

Вначале пишется блоки для указания системе цвета бутылок, поступающих наконвейер. Затем последовательно блоки реализующие состояние 0 (s0) и всех остальныхсостояний 1-9 (s1-s9) (рисунок 34).

Page 31: Методика автоматного программирования для S7.pdf

31Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Рисунок 50 - Описательная часть программыПрограмма составлена. Контроль работы системы можно осуществляться путем

контроля только одной переменной – слово состояний МW0.

Задача 4Составить программу управляющая сортировочным конвейером (рисунок 51).

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

Page 32: Методика автоматного программирования для S7.pdf

32Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

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

1 - Оптический датчик 2; 2- емкостной датчик; 3- Оптический датчик 1; 4- оптический датчик 3;5- стопор; 6- отклоняющее устройство 1; 7- отклоняющее устройство 2; 8- лента транспортера

Рисунок 51 - Внешний вид установкиЦвет деталей определяется с помощью индукционного и оптического датчиков,

алгоритм определения представлен в таблице:

Тип деталей Реакция датчиковОптический датчик Индуктивный датчик

Деталь красного цвета(деталь №1) «1» «0»

Деталь серебристого цвета(деталь №2) «1» «1»

Деталь черного цвета(деталь №3 брак) «0» «0»

Установка может находиться в следующих режимах:• Автоматический – управление установкой осуществляет управляющая программа

ПЛК;• Ручной - управление установкой осуществляет оператор;• Аварийный – режим включается оператором в случаи если требуется остановка

всех механизмов;• Пуск;• Стоп.

Выбор режимов работы осуществляется с помощью пульта управления (рисунок52).

Page 33: Методика автоматного программирования для S7.pdf

33Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Управляющая программа строиться на основе двух автоматов. Один автоматуправления режимами работы, другой автомат управления ТП. Автоматная реализацияуправляющей программы в соответствии с рисунком 52

Рисунок 52 - Автоматное представление программы управленияСоставление программы с использованием метода шаговых меток

Исходя из описания технологического процесса, составим таблицу состояний (графпереходов) для первого автомата (автомата управления). Автомат реализует алгоритмациклической произвольной выборки (рисунок 1). Таблица состояний будет включатьчетыре состояния (рисунок 31). Выходные сигналы будем формировать в виде меркеров(М_стор и т.д.) и выходных сигналов индикации режимов (Л_стоп и т.д.).

Таблица 3 -Таблица состояний первого автомата

Сос

тоян

ия

Режимы

Выход (выходные сигналы управления) Вход (команды оператора)

М_с

топ

М_а

вари

я

М_р

учно

й

М_а

вто

Л_с

топ

Л_а

вари

я

Л_р

учно

й

Ава

рия

Ручн

/ав

то

Пус

к

Сто

п

1 Авария 0 1 - - 0 1 - 1 - 0 02 Ручной 0 0 1 0 0 0 1 0 1 1 03 Автомат. 0 0 0 1 0 0 0 0 0 1 04 Стоп 1 0 - - 1 0 - 0 - 0 1

Аналогично строится таблица состояний для второго автомата

Page 34: Методика автоматного программирования для S7.pdf

34Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Таблица 4 -Таблица состояний второго автомата

Исходя из таблиц состояний назначаем адреса всем входным, выходным ивнутренним сигналам (переменным) и заполняем таблицу переменных (Рисунок 53).

Рисунок 53 – Таблица переменныхПриступаем к созданию программы для первого автомата. Программу начинаем с

организации работы кнопки «Стоп»Фрагмент исполнительной части программы для реализации работы кнопок

«Пуск»-«Стоп» в соответствии с рисунком 54

Рисунок 54 -Программа организации работы кнопок «Пуск»/ «Стоп»

Сос

тоян

иеВыход Вход

Конвейер(мотор) Шток Затвор1Затвор2

Тайм

ер

Опт

ичес

кий

датч

ик

Инд

укци

онны

йда

тчик

Дат

чик

запо

лне-

ния

Ком

анда

врем

я

Дат

чик

нали

чия

дета

ли

1 1 0 0 0 0 0 0 0 0 12 1 0 0 0 1 0 0 0 0 13 1 1 1 0 0 1/0 1/0 0 1 14 0 0 0 0 0 1/0 1/0 1 1 1

Page 35: Методика автоматного программирования для S7.pdf

35Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

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

программируемого контроллера (ПЛК);• аварийный выключатель находится на пульте оператора;• индикация аварийного режима выводится на пульт оператора;• при снятии питания процесс может продолжиться после его выдачи только после

нажатия оператором кнопки пуск;• при снятии сигнала «Авария» процесс должен продолжаться с места остановки, а не

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

Фрагмент исполнительной части программы для реализации кнопки «Авария» всоответствии с рисунком 55

Рисунок 55 – Программа обработки сигнала "Авария"Обработка сигнала «Авария» не должна приводить к возникновению

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

Условие реализуется с помощью маски допустимых состояний. Определяютсядопустимые состояния исполнительных органов (например, груз поднять, захват зажат ит.д.). Для сортировочного конвейера допустимым состоянием будет являться состояние3.(сохраняем управляющие команды только для сортировочных затворов 1и 2)Полученный байт переводим в шестнадцатеричный вид, полученное число используем ввиде маски. Фрагмент исполнительной части программы для реализации аварийногорежима в соответствии с рисунком 56.

Рисунок 56 - Программа обработки режима "Авария"

В ручном режиме работы, в отличие от автоматического режима, должнаобеспечиваться возможность пошаговой работы всех механизмов. Это достигается спомощью меркера «#pusk_stop», который помещается в цепь сборки каждого состояния,программы для автомата два, препятствуя сборки состояния до нажатия кнопки «Пуск».А режиме автомат это меркер заблокирован (всегда равен «1») (рисунок 57).

Page 36: Методика автоматного программирования для S7.pdf

36Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Рисунок 57 -Программа управления режимами "Пуск/Стоп"Для реализации индикации режимов работы установки вводится отдельный блок

программы (рисунок 58) в этом же Network реализуем передачу сигналов управления избуфера сигналов управления на выход. Применение данного способа позволяетреализовать различные контуры защиты (это актуально для реальных сложных ТП).

Рисунок 58 - Блок управления индикацией режима

Приступаем к созданию программы для второго автомата. Так как принципсоздания программы полностью аналогичен ранее изложенному принципу. Приведемтолько текст управляющей программы для автомата 2.

Описательная часть программы

Page 37: Методика автоматного программирования для S7.pdf

37Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Page 38: Методика автоматного программирования для S7.pdf

38Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Рисунок 59 - Описательная часть программы

Исполнительная часть программы:

Page 39: Методика автоматного программирования для S7.pdf

39Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Рисунок 60 - Исполнительная часть программыВ исполнительной части программы вывод управляющих сигналов реализован не

сразу на выход а через буфер МВ4.Дополнительный блок, реализующий подсчет деталей:

Рисунок 61 - Блок реализующий подсчет деталей и завершающий блок

Составление программы с использованием метода шаговых блоковУправляющая программа для первого автомата будет полностью аналогична (см.

рисунок 54-58).Управляющая программа для второго автомата будет иметь следующий вид.Выполним программу управления в блоке FC1, поскольку этот блок имеет

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

Page 40: Методика автоматного программирования для S7.pdf

40Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Рисунок 62 - Переменные, используемые в блоке

Рисунок 63 -Блок переходов и нулевой шаговый блок

Page 41: Методика автоматного программирования для S7.pdf

41Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Рисунок 64 – Первый шаговый блок

Рисунок 65 –Второй шаговый блок

Рисунок 66 –Блок определения типа детали

Page 42: Методика автоматного программирования для S7.pdf

42Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

Рисунок 67 –Третий шаговый блок

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

контроля только одной переменной –#sost[].

Page 43: Методика автоматного программирования для S7.pdf

43Романов В. П «Методика автоматного программирования при создании управляющих программ для программируемых логических контроллеров S7 фирмы Siemens»

Методическое пособие

ЗаключениеРассмотренные формальные методы программирования логических контроллеров

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

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

Использование предлагаемых методов повышает качество программного продукта,улучшает его «ремонтопригодность» и позволяет легко вносить изменения в уже готовыйпродукт. Освоение предлагаемых решений снимает извечный вопрос о пониманиипрограммных текстов и делает их доступными даже специалисту "средней"квалификации.

Список литературы

1. Шалыто А.А. SWITCH-технология. Алгоритмизация и программированиезадач логического управления. СПб.: Наука, 1998. 628 с.

2. Шалыто А.А. Реализация алгоритмов логического управления программами наязыке функциональных блоков //Промышленные АСУ и контроллеры. 2000. №4, с.45 – 50.

3. Альтерман, И.З. Шалыто А.А Формальные методы программирования логическихконтроллеров //Промышленные АСУ и контроллеры. 2005. №11, с. 49– 52.