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

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

.pdf
Скачиваний:
48
Добавлен:
01.05.2022
Размер:
1.35 Mб
Скачать

Ю.С. Слепокуров С.А. Ткалич

ПРОГРАММИРОВАНИЕ МИКРОПРОЦЕССОРНЫХ УСТРОЙСТВ НА ЯЗЫКЕ STEP 5

ОСНОВНЫЕ ФУНКЦИИ

УЧЕБНОЕ ПОСОБИЕ

Воронеж 2001

0

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ Воронежский государственный технический университет

Ю.С. СЛЕПОКУРОВ С.А. ТКАЛИЧ

ПРОГРАММИРОВАНИЕ МИКРОПРОЦЕССОРНЫХ УСТРОЙСТВ НА ЯЗЫКЕ STEP 5

ОСНОВНЫЕ ФУНКЦИИ

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

Воронеж 2001

1

УДК 681.513.2

Слепокуров Ю.С. Программирование микропроцессорных устройств на языке STEP 5. Основные функции: Учеб. пособие / Ю.С. Слепокуров, С.А. Ткалич. Воронеж: Изд-во ВГТУ, 2001. 97 с.

Рассматриваются основные (базовые) функции языка программирования STEP 5, принципы организации программного обеспечения микроконтроллеров семейства SIMATIC S5: организационные, программные и функциональные блоки, их взаимодействие между собой и с системной программой. Приведены перечень базовых операторов языка и назначение некоторых стандартных функциональных блоков. Изложены вопросы программирования обмена потоками данных в распределенных управляющих системах с помощью стандартных функциональных блоков.

Учебное пособие предназначено для студентов специальностей 180400 ―Электропривод и автоматика промышленных установок и технологических комплексов‖ и 210300 ―Роботы и робототехнические системы‖, изучающих курс ―Программирование роботов и РТС‖, а также для инженеров, занимающихся проблемами автоматизации производственного оборудования и технологических процессов.

Библиогр.: 1 назв.

Научный редактор д-р техн. наук В.Л. Бурковский

Рецензенты: кафедра вычислительной техники Курского Государственного технического университета (зав. кафедрой ВТ КГТУ д.т.н., профессор В.С. Титов ), к.т.н., доцент Воронежского института МВД России И.В. Пеньшин

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

Слепокуров Ю.С., Ткалич С.А., 2001

Оформление. Издательство воронежского государственного технического университета,

2001

2

ВВЕДЕНИЕ

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

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

Automation Research Corporation за 1998 год, доля фирмы SIEMENS в общем мировом рынке сбыта программируемых логических контроллеров составляет 25.3 % , что выводит ее на первое место в ряду с такими фирмами как ALLENBRADLEY, AEG SCHNEIDER, KLOCKNER-MOELLER, ALFA LAVAL AUTOMATION, OMRON, BOSCH , MITSUBISHI, CEGELEC, ABB, PHILIPS..

Второе место с долей 18.4 % принадлежит корпорации ROCKWELL AUTOMATION, в состав которой входит фирма ALLEN-BRADLEY (США). Распределение мест в европейском рынке сбыта ПЛК между двумя крупными конкурентами является таковым: фирма SIEMENS - 43.5 %, фирма ALLENBRADLEY - 9.7 %. Такое уверенное превосходство определено многими факторами. Это и широкий ассортимент компонентов техники автоматизации, начиная от маломощных и недорогих контроллеров, и возможность решения сложных задач комплексной автоматизации, наличие обучающих и консультационных центров, и широкая сеть системных интеграторов - предприятий, оказывающих услуги сервиса, наладки и инжиниринга.

Система SIMATIC S5 как одна из самых лучших на мировом рынке ПЛК, производителем которой является фирма SIEMENS, заложила основные стандарты в области автоматизации производства. В настоящее время по всему миру установлено и работает более 1 млн контроллеров SIMATIC S5, что является лучшим доказательством эффективности и качества данной продукции. Контроллеры SIMATIC S5 пользуются спросом и сегодня, несмотря на появление на рынке контроллеров новой волны SIMATIC S7. Доля контроллеров SIMATIC S5 по сравнению с контроллерами SIMATIC S7 на европейском рынке составляет 76.8 %, а на Российском рынке – 50.6 %. Последние цифры говорят, с одной стороны, о более динамичном внедрении самых современных контроллеров в России в период формирования рыночной экономики, а с другой стороны, о долгожительстве надежных и проверенных систем автоматизации

SIMATIC S5.

3

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

Язык программирования контроллеров SIMATIC S5 называется STEP 5. Этот язык программирования соответствует стандарту IEC 1131 и является логическим родоначальником языка программирования STEP 7 – законодателя мод в среде современных языков программирования ПЛК.

Пакет программирования STEP 5 имеет три варианта:

STEP 5 для мини ПЛК, разработанный для программирования контроллеров S5-90U, S5-95U и S5-100U (контроллеры для малых задач автоматизации);

STEP 5 базисный пакет для персональных компьютеров под управле-

нием MS-DOS;

STEP 5 базисный пакет для программаторов – специальных устройств на основе переносных и стационарных персональных компьютеров, позволяющих программировать все контроллеры семейства SIMATIC S5, включая самый популярный контроллер S5-115U для задач автоматизации средней сложности, а также мультипроцессорные контроллеры S5-135U, S5-155U для сложных задач автоматизации.

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

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

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

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

4

1.ЯЗЫК ПРОГРАММИРОВАНИЯ STEP 5

Вязыке программирования STEP 5 предусмотрено три метода программирования:

листинг операторов языка (AWL); функциональная (логическая) схема (FUP); релейно-контактная схема (KOP).

Полученное таким образом широкое согласование метода программирования с представлением решаемой задачи управления упрощает обращение с этим языком программирования.

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

1.1. Область операндов

Язык программирования STEP 5 содержит следующие виды операндов:

Е

Входы

Интерфейс от процесса к ПК

А

Выходы

Интерфейс от ПК к процессу

М

Маркеры

Память для двоичных результатов промежуточных опера-

 

 

ций

D

Данные

Память для цифровых операций промежуточных операций

T

Таймеры

Память для реализации функций таймеров

Z

Счетчики

Память для реализации функций счетчиков

P

Периферия

Интерфейс от процесса к ПК

K

Константы

Жестко заданные числовые значения

Рассмотрим простейший пример, когда в результате опроса двух входов

Е5.0 и Е 6.0 формируется выход А 0.0 по логической функции ‖И‖:

ввиде листинга операторов языка (AWL);

U E 5.0 ; опрос входа Е 5.0

U E 6.0 ; опрос входа Е 6.0

=A 0.0 ; присвоение значения выходу А 0.0

в виде функциональной (логической) схемы (FUP);

Е 5.0

&

 

 

 

Е 6.0

=

А 0.0

5

в виде релейно-контактной схемы (KOP).

Е 5.0

Е 6.0

 

 

А 0.0

 

+ ] [

+ ] [

+

+

+

( ) !

Основным, наиболее полным вариантом программирования является вариант программирования в виде листинга операторов языка (AWL).

2. СТРУКТУРА ПРИКЛАДНОЙ ПРОГРАММЫ

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

В устройствах автоматизации S5 разбивка программы на структуры опирается на процессор. Отдельные фрагменты программы называются "блоками".

Взависимости от их назначения различаются следующие виды блоков:

организационные блоки (ОВ);

программные блоки (РВ);

функциональные блоки (FB);

шаговые блоки (SB);

блоки данных (DB).

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

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

2.1. Организационные блоки

Организационные блоки (OB) представляют собой программный интерфейс между операционной системой и программой управления.

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

6

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

Организацией программы с управлением по прерываниям занимаются организационные блоки ОВ 2 - ОВ 9. Каждый из этих организационных блоков присвоен определенному биту входного байта ЕВ 0:

Е 0.0

ОВ2

Е 0.1

ОВ3

Е 0.2

ОВ4

Е 0.3

ОВ5

Е 0.4

ОВ6

Е 0.5

ОВ7

Е 0.6

ОВ8

Е 0.7

ОВ9

Обращение к отдельным битам входного байта ЕВ 0 происходит через специальные блоки ‖цифрового ввода со сборным сигналом". Системная программа при каждой смене блоков этого входного байта ЕВ 0 опрашивает о происшедших изменениях (через LРB0 непосредственно на периферии процесса). При смене состояния бита с ‖0‖ на ‖1‖ соответствующий организационный блок прогоняется один единственный раз.

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

Организацией программы с управлением по времени занимаются организационные блоки ОВ 10 - ОВ 18. Каждому организационному блоку присвоена определенная цена времени:

ОВ 10

0,01 с

ОВ 11

0,02 с

ОВ 12

0,05 с

ОВ 13

0,1 с

ОВ 14

0,2 с

ОВ 15

0,5 с

ОВ 16

1 с

ОВ 17

2 с

ОВ 18

5 с

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

7

блоках программа обрабатывается с определенными интервалами. Например, вызов программного блока, находящийся в организационном блоке ОВ 13, выполняется один раз в 100 мс.

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

Организационные блоки ОВ 19 - ОВ 31 предусмотрены для сигнализации сбоев в системном матобеспечении (например, при задержке квитирования). В эти организационные блоки могут быть запрограммированы индивидуальные характеристики поведения устройств автоматизации при появлении сбоя.

2.2. Обработка программ

Прикладные программы могут обрабатываться различными способами. В устройствах автоматизации S5-110А и S5-130А преобладает циклическая обработка программ. Прикладная программа обрабатывается линейно. В конце программы (на операции BE) происходит возврат на начало. Однако в обоих устройствах автоматизации имеется возможность досрочного возвращения на начало программы.

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

циклическая обработка; обработка по прерываниям; обработка по времени.

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

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

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

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

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

8

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

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

2.3. Суперпозиционирование (вложение) блоков

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

Из этих блоков, в свою очередь, можно вызывать другие блоки. Блоки могут вкладываться один в другой. Глубина вложения (суперпозиционирования) составляет в зависимости от типа устройства от 7 до 15 блоков. Это касается как программных, так и функциональных блоков. Блоки данных, в отличие от блоков программ, например, не обрабатываются. Они представляют собой зоны данных, обращение к каждой из которых происходит через операцию вызова. Операции с областью операндов ‖данные‖ тотчас же обращаются обратно

втолько что открытую (‖свою‖) зону данных.

2.4.Операции с блоками

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

Команда

Операнд

Описание

SPA

OB

0

Безусловный переход.

 

PB

:

Независимо от значения VKE программы происхо-

 

FB

.

дит переход в другой блок. VKE остается без изме-

 

SB

255

нения

SPB

OB

0

Переход по условию.

 

PB

:

При значении VKE = 1 происходит переход в другой

 

FB

.

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

 

SB

255

программы в текущем блоке. Значение VKE при

 

 

 

этом устанавливается в ―1‖

9