Текст
                    ЭЛЕКТРОАВТОМАТИКА
ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ
В двух томах

ТОМІ

Рекомендовано учёным советом Нижегородского государственного
технического университета им. Р. Е. Алексеева
в качестве учебного пособия для студентов, обучающихся по направлению
13.03.02 «Электроэнергетика и электротехника»

Под редакцией доктора технических наук
Е. А. Чернова

Москва Вологда
«Инфра-Инженерия»
2025


УДК 621.9.06:681.58 ББК 34.630.2 Э45 Авторы: Бадугин Д. А., Бычков Е. В., Дарьенков А. Б., Мельников В. Л., Титов Д. Ю., Чернов Е. А. Рецензент: доктор технических наук, профессор кафедры электрификации и автоматизации Нижегородского государственного инженерно-экономического университета А. С. Серебряков Э45 Электроавтоматика программируемых контроллеров : учебное пособие. В двух томах. Том I / [Бадугин Д. А. и др.] ; под ред. д. т. н. Е. А. Чернова. - Москва ; Вологда : Инфра-Инженерия, 2025. - 380 с. : ил., табл. ISBN 978-5-9729-2658-9 ISBN 978-5-9729-2659-6 (Том I) Рассмотрены назначение, принципы организации, подключение, синтаксис языков программирования электроавтоматики и практические примеры приме­ нения широкого спектра промышленного оборудования: программируемых ло­ гических контроллеров фирм Шнайдер, Овен и Сименс, программируемых па­ нелей оператора, регулируемых электроприводов, промышленных датчиков, регуляторов температуры. Кратко изложена инженерная методика проектиро­ вания алгоритмов управления. Отдельные главы посвящены способам органи­ зации связи контроллеров, панелей оператора, электроприводов и компьютера, программированию в системе SCADA и среде CoDeSys. Для студентов, специализирующихся в области электроавтоматики и элек­ тропривода, а также инженерно-технических работников, занимающихся проек­ тированием, наладкой и эксплуатацией электрооборудования станков, электри­ ков наладчиков промышленных предприятий. УДК 621.9.06:681.58 ББК 34.630.2 ISBN 978-5-9729-2658-9 ISBN 978-5-9729-2659-6 (Том I) © Издательство «Инфра-Инженерия», 2025 © Оформление. Издательство «Инфра-Инженерия». 2025
ПРЕДИСЛОВИЕ Настоящую книгу, под общей редакцией Е. А Чернова, написали препо­ даватели кафедры «Электрооборудование, электропривод и автоматика» Ниже­ городского государственного технического университета им. Р. Е. Алексеева: Бадугин Дмитрий Анатольевич, ст. преподаватель; Бычков Евгений Викторович, доцент, к. т. н.; Дарьенков Андрей Борисович, д. т. н. заведующий кафедрой; Мельников Владимир Леонидович, доцент, к. т. н.; Титов Дмитрий Юрьевич, доцент, к. т. н.; Чернов Евгений Александрович, д. т. н. заместитель главного конструк­ тора Горьковского завода фрезерных станков. Книга написана на основе многолетнего опыта авторов по разработке и внедрению автоматизированных систем управления различными промышлен­ ными механизмами на базе программируемых логических контроллеров, про­ граммируемых панелей оператора и регулируемых электроприводов. Книга написана в непростое для страны время. Несмотря на уход (полагаем, времен­ ный) ведущих иностранных фирм-производителей РЬС с нашего рынка, счита­ ем написание данной книги весьма полезной по следующим причинам: - программируемые контроллеры являются основной элементной базой автоматизации различного промышленного оборудования, при этом общий подход к проектированию электрооборудования не зависит от типа контроллера. Знание процедуры проектирования на одном контроллере позволит легко повторить эту работу на любом другом; - во многих вузах страны имеются специализированные лаборатории контроллеров фирм Шнайдер, Сименс и др., что позволяет закреплять теоретические знания на практике, дать возможность студентам пове­ рить в себя, понять, что они правильно выбрали свою профессию; - стенды лабораторий оснащены программируемыми панелями оператора, являющимися в настоящее время неотъемлемой частью общей системы автоматизации. Студентам предоставляется возможность получить хоро­ шую практику по разработке человеко-машинного (НМІ) интерфейса; - на промышленных предприятиях страны имеется большое количество оборудования, оснащенного контроллерами, рассмотренными в книге. Со временем оно выходит из строя, и, в условиях «санкций», предпри­ ятия остро нуждаются в специалистах, умеющих восстановить работу оборудования или его модернизировать. Добавлены контроллеры оте­ чественного производства.
4 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ В книгу также включены разделы, посвященные проектированию НМІинтерфейсов и общей методологии проектирования алгоритмов управления промышленными механизмами. Это очень важно, так как только специализиро­ ванных знаний по выбору, подключению, установке связи с компьютером и синтаксису языков программирования PLC совершенно недостаточно, чтобы написать для контроллера рабочую программу. Нужно уметь формализовать работу автоматизируемого механизма, разработать идеологию органов управ­ ления, составить алгоритмы управления и написать программу электроавтома­ тики, адаптировав ее к конкретному используемому типу контроллера. Возможности современных программируемых контроллеров практически не ограничены, изложить в одной книге этот огромный материал невозможно, да авторы и не в состоянии это сделать. По этой причине изложенный материал, хо­ тя и очень подробный, касается только основных принципов локальной автома­ тизации промышленных объектов. Авторы старались максимально иллюстриро­ вать излагаемый материал реальными практическими примерами. Во многих высших учебных заведениях регулярно издаются учебные пособия по данной тематике, и каждая книга дает возможность студентам получить новые знания. Полагаем, что эта работа будет продолжаться. Очень надеемся, что наша книга поможет восстановить подготовку спе­ циалистов по автоматизации, и, в конечном итоге, своего полноценного произ­ водства металлообрабатывающего и другого машиностроительного производ­ ства. Главное, чему должен научиться инженер, это систематизации и общему подходу к решению поставленной задачи. Изучить, понять и запомнить инфор­ мацию по всем существующим электроприводам, программируемым контрол­ лерам и языковым средствам невозможно. Нужно знать последовательность решения задачи, какую минимальную информацию следует выбрать из огром­ ного объема сопроводительной, часто непонятной, технической документации и как ей воспользоваться. После чего разработать типовые решения и всегда ими пользоваться. При этом совершенно сознательно, с педагогической точки зрения, были приняты следующее решения: - по всей структуре книги изложить решение простейшей задачи управ­ ления нерегулируемым АД на разных языках и типах программируемых контроллеров; - на примере электропривода Altivar 12 показать разные принципы управления одним и тем же регулируемым электроприводом. Рассмот­ рено аппаратное подключение и задание параметров привода для сле­ дующих способов управления: • автономное управление от встроенного пульта привода;
ПРЕДИСЛОВИЕ 5 • 2-х и 3-х проводные способы автономного управления приводом; • управление приводом от программируемого контроллера от анало­ гового сигнала напряжения +/—10 В и по токовой петле +/—20 ма; • управление от программируемой панели оператора; • управление по протоколу Modbus. - синтезировать фрагмент автоматического цикла смены инструмента станка с ЧПУ, используя разные языковые средства PLC; - привести так же примеры синтеза сложных алгоритмов для самостоя­ тельной проработки; - изложить краткие сведения по датчикам систем автоматизации, а так­ же способах организации связи между контроллером, панелью опера­ тора, электроприводом и компьютером. В книге рассмотрены основы программирования на следующих базовых языках: LD - Ladder Diagram (графический язык релейно-контактных схем); I L - Instruction List (текстовый аккумуляторный язык); F BD - Function Block Diagram (графический язык бесконтактных логиче­ ских элементов); S T - Structured Text (текстовый язык высокого уровня); SFC — Sequential Function Chart (язык последовательных графов); CFC - Continuous Function Chart (вариант графического языка FBD). Авторы сочли также необходимым включить в книгу главы по основам программирования контроллеров в SCADA-системе и универсальной среде программирования CoDeSys. Таким образом, в одной книге собран материал, вполне достаточный для получения хороших базовых знаний по автоматизации локальных объектов на базе программируемых логических контроллеров. Надеемся, что эти знания позволят читателю самостоятельно перейти на более высокий профессиональ­ ный уровень. Материал книги разбит на два тома. В первом томе изложен следующий материал: - общие сведения и классификация PLC; - программируемые контроллеры серии ТМ221 и ТМ200 фирмы Шнай­ дер; - интеллектуальное логическое реле Zelio_Logic; - интеллектуальное логическое реле фирмы ОВЕН; - программируемые контроллеры фирмы Сименс; - управление PLC от программируемых панелей оператора.
6 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Второй том включает следующие главы: - датчики систем автоматизации; - управление электроприводом Альтивар_12 от PLC; - регулятор температуры фирмы Овен; - протоколы связи и локальные сетевые структуры; - основы применения систем Scada; - введение в программную среду CoDeSys V2.3; - методология проектирования дискретных алгоритмов управления. Желаем читателям успехов в творческой работе при разработке и эксплу­ атации электроавтоматики на базе PLC.
ГЛАВА 1. ПРОГРАММИРУЕМЫЕ ЛОГИЧЕСКИЕ КОНТРОЛЛЕРЫ, НАЧАЛЬНЫЕ СВЕДЕНИЯ 1Л. Общие сведения, классификация PLC Программируемый логический контроллер (ПЛК, в зарубежной литера­ туре PLC - Programmer Logical Controller) - это специализированное вычисли­ тельное устройство, выполненное на базе микропроцессорной техники и пред­ назначенное для реализации функций электроавтоматики промышленных ме­ ханизмов. Впервые программируемые контроллеры появились на рубеже 6070-х годов прошлого века, что стало возможным благодаря появлению соответ­ ствующей элементной базы и разработок в области математического обеспече­ ния. Уже в это время сложность и степень автоматизации промышленного обо­ рудования достигла такого высокого уровня, при котором релейно-контактная элементная база не могла обеспечить необходимую надежность работы обору­ дования. Благодаря неоспоримым преимуществам по сравнению с жесткими релейно-контактными и бесконтактными схемами: высокой надежностью, гиб­ костью в перестройке на другие условия работы, доступностью программиро­ вания и др. ПЛК нашел широкое применение в практике автоматизированного производства и в станкостроении. Здесь же добавим, что все современные си­ стемы числового программного управления имеют встроенный программируе­ мый контроллер. При использовании ПЛК в качестве элементной базы электроавтоматики он может рассматриваться как «черный ящик» с клеммами для присоединения информационных каналов от входных и выходных сигналов (рис. 1.1). Принципиальная электрическая схема с объектом управления в этом слу­ чае представляет собой схему стыковки с ПЛК командных, контролирующих и исполнительных элементов электрооборудования. Необходимая функцио­ нальная зависимость между ними обеспечивается за счет программы, вводимой в память ПЛК. Следует сказать, что современный программируемый логический контрол­ лер - это больше, чем просто средство для реализации функции дискретной электроавтоматики. Современные контроллеры характеризуются большим раз­ нообразием архитектуры и, как следствие, языкового уровня программирования электроавтоматики. На них можно реализовать, например, следующие функции: - прямое аналоговое или цифровое управление регулируемыми электро­ приводами; - позиционное управление приводами, как с обратной связью по поло­ жению, так и без нее;
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 8 - решать задачи интерполяции; - выполнять различные арифметические и тригонометрические дей­ ствия, как с целыми числами, так и с числами с плавающей запятой; - работать с матричными операндами; - реализовывать ПИД-регулирование; - создавать сетевые структуры и многое другое. Конструктивно ПЛК могут иметь стандартное блочное исполнение, мо­ дульное исполнение или компактное исполнение. Отдельное направление - это контроллеры, встроенные в системы ЧПУ. Они дополнительно решают много специальных задач [10 14]. Программируемый контроллер (РІС) =24Ѵ Специальные цр устройства 4 Aâp 33 ИП =24Ѵ Aâp ИП 17 YO.O 1 Y0.1 2 Y0.2 З АЛУ Bx1 Bx2 Вх 1 XO.O 2 Х0.1 з X0.2 [Аккумулятор 4 Донные Вых2 ВыхЗ ХОЗ । Память программ । Зонных Память BxJ2 Вых1 32 Х0.31 (ПЗУ) і (ОЗУ) |Блок питаний Зых16 Y0.15 16 I Управление I I Программатор! Рис. 1.1. Вариант структурной схемы программируемого логического контроллера В - состав ПЛК могут входить следующие блоки: блок питания; модуль центрального процессора; модули дискретных входов и выходов; модули аналоговых входов и выходов; блоки позиционирования;
ГЛАВА 1. РІС - ОБЩИЕ СВЕДЕНИЯ 9 - модули быстрых счетчиков; - сетевые модули и др. Источник питания формирует стабилизированные напряжения, необхо­ димые для работы элементной базы, на которой реализован программируемый контроллер. Центральный процессор (ЦП) является главным звеном контроллера, он управляет всеми блоками ПЛК в соответствии с командами программы, т. е. обеспечивает выполнение операций считывания и отработки команд в заданной последовательности, управляет процессом считывания и записи результатов выполнения операций в память, а также выдачей результатов вычислений в вы­ ходной модуль. ЦП реализуется на базе современной микропроцессорной тех­ ники и позволяет производить обработку, как битов информации, так и работы с байтами и словами. Возможность работы с битами информации обеспечивает выполнение базовых логических операций И, ИЛИ, НЕ, эквивалентности и др. над дискрет­ ными логическими переменными, т. е. решать задачи электроавтоматики, ана­ логичные задачам, решаемым жесткой бесконтактной или релейно-контактной логикой. Возможность обработки байтов и слов значительно расширяет возможно­ сти ПЛК, приближая его к вычислительным возможностям микро-ЭВМ. Входные модули предназначены для приема сигналов от командных (кнопки управления, тумблеры, переключатели, и др.) и контролирующих (ко­ нечные выключатели, различного рода датчики и др.) элементов электрообору­ дования, их нормализации до уровня сигнала, определяемого элементной базой контроллера. Одновременно осуществляется гальваническая развязка, фильтра­ ция от действия помех и индикация состояния входов. Входные модули обычно выполняются на 8...32 входа с возможностью расширения общего числа входов ПЛК путем набора необходимого числа моду­ лей. Выходные модули преобразуют информацию, полученную от центрально­ го процессора или модуля памяти в сигналы, управляют работой выходных си­ ловых элементов электроавтоматики (промежуточных реле, пускателей, усили­ телей, электромагнитов, электромагнитных муфт и др.). Предусматриваются модули на 8...32 выходов различной коммутационной способности, на различное напряжение и выполненные, в зависимости от назна­ чения, на электромагнитных реле, транзисторах, симисторах и другой элемент­ ной базе. Индикация состояния выходов обычно выполняется малогабаритными сигнальными элементами расположенными непосредственно у выводов. Расширение ПЛК до требуемого числа выходов также осуществляется путем набора необходимого числа модулей.
10 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ В целях дальнейшего повышения гибкости в компоновке ПЛК применя­ ются также смешанные модули, включающие в себя как входные, так и выход­ ные элементы. Общее число входов и выходов при каскадном соединении каркасов с модулями может достигать 1024, 2048, 4096 и более. Контроллер может включать также различные специальные модули, например, аналоговые входные (АЦП) и выходные (ЦАП) модули, модули по­ зиционирования, модули быстрых счетчиков и др. Блок памяти во многом определяет технические характеристики и воз­ можности ПЛК. По функциональному назначению в архитектуре контроллера предусматривается два типа памяти: служебная и рабочая. Служебная память предназначена для хранения программ управления ра­ ботой контроллера, программ трансляторов и недоступна пользователю. Рабочая память предназначена для хранения программ и информации пользователя и, следовательно, программно доступна. В рабочей памяти хра­ нятся таблицы состояний входных и выходных сигналов, результаты промежу­ точных вычислений, уставки и текущие значения счетчиков, разрядов реги­ стров, таймеров и др. Память программ - это обычно память типа ПЗУ (постоянное запомина­ ющее устройство). Международное обозначение ROM (Read Only Memory). Подобная память классифицируется следующим образом: - собственно ПЗУ (ROM), т. е. память, запрограммированная изготови­ телем, последующее изменение информации невозможно; - программируемое ПЗУ (ППЗУ). Международное обозначение PROM (Programmable Read Only Memory). Пользователь может сам програм­ мировать память подобного типа, например, выжиганием адресован­ ных диодов в матрице микросхемы, после чего дальнейшее изменение содержимого памяти невозможно; - репрограммируемое (или стираемое) ППЗУ - РППЗУ. Международное обозначение REPROM. Информация, записанная в память подобного типа может стираться и записываться вновь несколько раз. Применяет­ ся репрограммируемая память типа EPROM (erasably programmable ROM) с ультрафиолетовым стиранием, и типа EAROM (electrically alterable ROM) с электрическим стиранием. Память данных - это память типа ОЗУ (оперативное запоминающее устройство). Международное обозначение RAM (Random Acsess Memory). В подобную память можно многократно записывать, стирать и считывать ин­ формацию, которая сохраняется при наличии питания. Обычно предусматрива­ ется подпитка от аккумуляторов или батареи.
ГЛАВА 1. PLC-ОБЩИЕ СВЕДЕНИЯ 11 По местоположению элементы памяти делятся на внутренние и внешние. Внутренняя память обеспечивает автономную работу ПЛК, внешняя, как пра­ вило, расположенная в программаторе - отладку и хранение программ. Система шин команд, адресов и данных предназначена для обеспечения обмена и передачи информации между процессором, памятью, входными и вы­ ходными модулями. Центральный процессор имеет не показанную на рис. 1.1 свою собственную разветвленную шинную структуру. Устройство управления (УУ) обеспечивает координацию работы ПЛК в соответствии с заданным циклом его функционирования. Как правило, в состав ПЛК входят также различные интерфейсные моду­ ли, обеспечивающие связь с ЭВМ высшего ранга и различными периферийны­ ми устройствами, например, с телетайпом, принтером, перфоратором, панелями оператора и т. д. Контроллеры могут быть как общего, так и специализированного назна­ чения. Программируемые контроллеры характеризуются большим разнообрази­ ем архитектуры и, как следствие, языкового уровня программирования элек­ троавтоматики. Согласно международному стандарту ІЕС-1131 производители контроллеров применяют следующие типы языков программирования: - язык релейно-контактных символов (LD - Ladder Diagram); — аккумуляторный язык (IL - Instruction List); - язык функциональных схем (FBD - Functional Blok Diagram); - язык последовательного функционального управления (SFC - Sequential Function Chat). При работе с программируемыми контроллерами следует помнить, что в разных типах контроллеров всегда отличаются схемы подключения, система адресации входов, выходов и промежуточной памяти, синтаксис языка и про­ цедурные вопросы. Однако всегда сохраняется общий подход при решении лю­ бой задачи и, изучив какой-либо один тип контроллера, сделав несколько про­ ектов, будет легко адаптироваться к другому типу. Последовательность проектирования электроавтоматики следующая: 1. Изучить принцип работы автоматизируемого механизма. 2. Определить количество электроприводов и принять идеологию их управления. 3. Разработать систему органов управления. 4. Составить таблицу дискретных входов и выходов, определить их не­ обходимое число. 5. Выбрать тип контроллера, отвечающий требованиям со стороны ав­ томатизируемого объекта.
12 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 6. Изучить систему подключения контроллера, систему адресации вхо­ дов и выходов и начертить принципиальную схему. 7. Изучить синтаксис языка электроавтоматики контроллера. 8. Разработать алгоритмы управления, поставить на компьютер необхо­ димое программное обеспечение и набрать программу электроавтоматики на компьютере. 9. Установить связь между компьютером и контроллером, записать набранную программу в контроллер. 10. Отладить программу на стенде. Примечание. В общей структуре электроавтоматики объекта автомати­ зации могут присутствовать также другие сложные аппаратные устройства, например: - устройство цифровой индикации в комплекте с датчиками положения; - программируемая панель оператора; - регулируемые и сервоприводы; - блоки электромагнитных муфт и другое. В этом случае проделать аналогичную работу по изучению принципов их подключения, задания параметров, программирования и установки связи между ними. Ниже излагаются общие начальные сведения о работе с PLC. Подробное изложение материала рассматривается в последующих главах. 1.2. Принципы функционирования контроллера Пользователю исключительно важно знать основные принципы работы контроллера, так как в отличие от жестких релейно-контактных и бесконтакт­ ных схем электроавтоматики, осуществляющих параллельную обработку ин­ формации, программируемый контроллер работает по строго фиксированному вычислительному циклу и осуществляет последовательную обработку инфор­ мации в соответствии с записанной в его памяти программой. Основу работы ПЛК задает вычислительный цикл, в общем случае состо­ ящий из трех этапов (рис. 1.2): 1. Считывание и запоминание во входном регистре логических значений входных сигналов (0 или 1), а также фиксация значений на данный момент всех сигналов промежуточной памяти. 2. Последовательная обработка данных в соответствии с программой, записанной в памяти контроллера и помещение результатов вычислений в ад­ ресованные промежуточные ячейки выходного регистра или промежуточной памяти.
ГЛАВА 1. РІС - ОБЩИЕ СВЕДЕНИЯ 13 3. Перепись результатов вычислений в регистровую память выходных модулей, и их передача на выходы с подключенными исполнительными эле­ ментами. Рис. 1.2. Вычислительный цикл работы ПЛК Если на втором этапе работы произойдет изменение состояния какихлибо входных сигналов, то эти изменения не будут учитываться до окончания текущего вычислительного цикла. Контроллер обработает эти сигналы только в следующем вычислительном цикле, т. е. произойдет задержка в один цикл (такт, скан). Сканирование (считывание) программы, как правило, осуществляется по горизонтальными строчкам программы (или РКС-алгоритма) слева направо, свер­ ху вниз. Однако можно встретить весьма экзотические решения. Вспоминается слу­ чай сорокалетней давности, контроллер типа Т8Х французской фирмы «Телемеканіж». Сканирование релейного алгоритма осуществлялось вертикальными строчками сверху вниз, слева направо. Мы обнаружили это только тогда, когда некоторые неоднократно проверенные блоки программы перестали работать. В документации все было написано, даже был приведен рисунок последователь­ ности сканирования, но мы не обратили на это внимания. Фирма Шнайдер и сего­ дня применяет такое решение. Релейно-контактные алгоритмы, при их наборе, автоматически рисуются на экране компьютера в соответствии с синтаксисом языка конкретной фирмы. Бито­ вые операнды (контакты) в большинстве случаев рисуются в виде «конденсато­ ров» без различия их назначения (кнопка, релейный вход, датчик давления, огра­ ничительный конечный выключатель, промежуточный бит памяти и т. д.), выход­ ные катушки в виде скобок и также обезличено (хотя при чтении алгоритма весь­ ма полезно знать, что это - промежуточный сигнал или выходная катушка). Изоб­ ражения функциональных команд (таймеры, счетчики, команды пересылок, срав­ нения, арифметики и т. д.) значительно отличаются от контроллера к контроллеру. Изменить здесь мы ничего не сможем, все подчиняется синтаксису конкретного языка. Небольшое спасение, это введение комментария (операндов, строк, бло­ ков). Однако комментарии занимают много места и это очень трудоемкая работа.
14 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ На каком бы языке мы не разрабатывали программу, авторы настоятельно рекомендуют при черновом проектировании алгоритмов использовать релейно­ контактную систему. Таблица 1.1 Графические символы, применяемые для изображения алгоритмов управления или их фрагментов Назначение Услобное обозначение Аппаратный 3 ГСО О uw6 L ЫпеблХ Синтаксис языка PLC ЦАА6= Ячейка ОЗУ —( U5OKO )-| =0 U50K0= Сообщение —IU2K5 н|нетР0(ХІ U21K5= 3 со Системная команЗа иіОК2С ИМ ) ьъ Таймер Ш Счетчик СК на замыкание —І Разрешение 1 Збижения соми И —І Komxlt) С1К2) -4 C1R н Выбор ШтХ Ч C1WH N=2 Кн+Хп? ЮАЮ иЮК2й= Т12І(10)= T12U= С1І(2)= C1Z= С1А= =[C1W] ЮАЮ Кн(>) Т_____ на размыкание 3 си на замыкание Ч ІІЖК12 КАІ^ І1А8 /U20AK12 ИА8 ш ? 3 на размыкание si на замыкание Котж____ Чім Расф /ИА18 11 U65KK U65K14 * U59K2 /U59K2 И0 Я си о на размыкание Кисх
ГЛАВА 1. РІС - ОБЩИЕ СВЕДЕНИЯ 15 И здесь мы вольны все делать так, как мы желаем, т. е. изображать опе­ ранды в виде понятных символов, сходных с символами, принятыми при начер­ тании аппаратных принципиальных схем. Так мы и будем поступать. Например, в табл. 1.1 приведен вариант таких обозначений, в течение многих лет используе­ мый авторами при проектировании алгоритмов управления станками с примене­ нием систем ЧПУ производства С.-Петербургского ООО «Балт-Систем». Теперь вернемся к более подробному рассмотрению наиболее применяемых языковых средств. Обратимся к простейшей аппаратной релейно-контактной схе­ ме управления реверсивным асинхронным двигателем (рис. 1.3) и реализуем разные варианты управления на ПЛК. Рис. 1.3. Силовая схема (а) и аппаратная схема управления (б) асинхронным двигателем Схема обеспечивает: - пуск двигателя М1 по или против часовой стрелки из остановленного положения при нажатии, соответственно, кнопок SB1 или SB2; - прямой реверс двигателя М1 с торможением противовключением при нажатии кнопки противоположного направления; - останов двигателя на выбеге при нажатии кнопки SB2; - максимальную защиту при помощи силового автомата QM1; - тепловую защиту при помощи теплового реле FR1 ; - нулевую защиту при помощи замыкающегося контакта автомата QM1, включенного в цепь управления силовых пускателей КМ1 и КМ2. Рассмотрим, как реализовать эти же функции при управлении двигателем от программируемого контроллера на различных языках. Аппаратная принци-
16 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ пиальная схема не зависит от языка программирования и должна включать сле­ дующие блоки: - силовую схему подключения АД (одинакова); - подключение питания контроллера, входных и выходных сигналов (определяется конкретным типом контроллера и зависит от полярно­ сти и величины питания дискретных входов и выходов, коммутацион­ ной способности выходов и выполняется по конкретной технической документации на ПЛК); - аппаратную схему управления силовыми пускателями КМ1 и КМ2. При разработке аппаратной схемы управления пускателем необходимо учитывать специальные требования. В данном случае тепловое реле осуществ­ ляет косвенную защиту двигателя, поэтому его размыкающийся контакт дол­ жен быть включен в конечное звено, т. е. непосредственно в цепь силового пус­ кателя. Обычно тепловое реле имеет дополнительный замыкающийся контакт, его следует подать на вход контроллера, что при срабатывании защиты позво­ лит отключить память и реализовать диагностическое сообщение. Естественно, возможны и другие решения, например, с использованием общего реле защиты. Такой вариант будет приведен в других главах. Рис. 1.4. Аппаратная схема управления АД от ПЛ К
ГЛАВА 1. PLC - ОБЩИЕ СВЕДЕНИЯ 17 Вне зависимости от типа языка, перед написанием PLC-программы, следу­ ет разработать и формализовать в понятном виде алгоритм управления. Это внутренний документ разработчика и его можно сделать по-разному, однако ав­ торы настоятельно рекомендуют использовать релейно-контактное изображение алгоритма. При этом рекомендуется использовать стандартные обозначения принципиальных схем и максимально применять комментарии. 1.3. Описание языков программирования контроллеров 1.3.1. Программирование на языке мнемокода Как уже было сказано и приведено в табл. 1.1, адресация и команды языка отличаются в зависимости от типа контроллера. Примем базовые команды и адреса контроллера японской фирмы «Фудзи», выпуска семидесятых годов, как наиболее простые: R - считывание прямого значения адресованного операнда (Read); RN - то же инверсного операнда (Read Not); А - логическое умножение на прямой операнд (And); AN - то же, на инверсный (And Not); О - логическое сложение с прямым операндом (Or); ON - то же, на инверсный (Or Not); W - посылка результата вычисления на выход (Write). В контроллере используется жесткая безадресная система адресации операндов типа «байт.бит». Для процессорного блока это: - входы 0.0...0.7, 1.0... 1.7; - выходы 3.0...4.7; - память 14.0...47.7. Программа на языке мнемокода состоит из трех полей: шага программы, команды (или инструкции) и операнда. При черновом написании программы, во внутреннем документе разработчика, рекомендуется добавить четвертое по­ ле - комментарий, это значительно облегчит работу. Начнем с написания простейшей программы управления нереверсивным приводом охлаждения (рис. 1.5). Примечания: 1. Кнопка «Стоп» SB2 показана открытым контактом, так как на входе контроллера она подключена инверсно. 2. Контакт автомата QM1 показан открытым, так как в рабочем состоянии автомат включен и контакт замкнут.
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 18 SB1 SB2 0.1 0.0 К1 “"То QM1 11 0.2 К1 FR1 ГНсОЖ 0.3 3.0 Рис. 1.5. Вариант начертания РКС-алгоритма управления АД при помощи ПЛК Шаг Команда Операнд Комментарий 1 R 0.0 Считывание SB 1(0.0) и запись в аккумулятор, Акк = SB 1 2 О 3.0 Логическое сложение содержимого аккумулятора с адресуемым операндом К 1(3.0) и запись результата в аккумулятор, Акк = Акк + К1 3 А 0.1 Логическое умножение содержимого аккумулятора на адресуемый операнд SB2(0.1) и запись результата в аккумулятор, Акк = (SB1+K1) * SB2 4 А 0.2 Логическое умножение содержимого аккумулятора на адресуемый операнд QM 1(0.2) и запись результата в аккумулятор, Акк= (SB1 + Kl) * SB2 * QM1 5 AN 0.3 Логическое умножение содержимого аккумулятора на инверсный адресуемый операнд FRl(0.3) и запись результата в аккумулятор, Акк = (SB1 + Kl) * SB2* QM1 * / FR1 6 W 3.0 Посылка содержимого аккумулятора на адресуемый выход К 1(3.0) Kl =(SB1 + K1)*SB2*QM1*/FR1 Видно, что язык мнемокода напоминает язык программирования микроЭВМ Ассемблер, являющийся мнемонической формой машинных языков. Про­ граммист должен постоянно отслеживать результаты обработки алгоритма, следить за содержимым аккумулятора, что достаточно затруднительно и часто приводит к ошибкам в наборе программы. Тем не менее, такие языки в настоящее время применяют даже очень из­ вестные продвинутые фирмы, например, немецкая фирма «Хайденхайн». Написание программы желательно выполнять в одинаковой последова­ тельности с РКС-эскизом алгоритма, это облегчит его чтение и наладку. В этой
ГЛАВА 1. PLC - ОБЩИЕ СВЕДЕНИЯ 19 связи обратимся к рис. 1.6, где кнопки «Пуск» и «Стоп» поменяны местами по сравнению с рис. 1.5. SB2 0.1 SB1 QM1 0.0 ' II 0.2 К1 11 3.0 FR1 440.3 К п VAJ/IV 3. ) Рис. 1.6. Вариант начертания РКС-алгоритма управления АД при помощи ПЛ К Если сделать первый шаг R 0.1 и записать в аккумулятор инверсное зна­ чение кнопки «Стоп», то дальнейшее написание программы простыми базовы­ ми инструкциями будет невозможным, так как содержимое аккумулятора, со­ гласно начерченному алгоритму, нужно умножать на результат параллельного соединения кнопки «Пуск» и контакта реле К1, но такой информации нет. Сле­ довательно, нужно изменить последовательность программирования, сначала обработав логическую сумму (SB1 + К1) и записав результат в промежуточную память. Далее все по порядку. Естественно, это неудобно, и здесь на помощь приходят специальные функциональные инструкции и использование скобок, позволяющие работать со стеком. Стек - это специальный параллельный регистр (массив данных) со стро­ го заданным порядком загрузки и выгрузки информации. Существует два спо­ соба организации стека: FIFO (First In First Out) - первый вошел, первый вышел; LIFO (Last In First Out) - последний вошел, первый вышел. Процессор использует стек, организованный по системе LIFO, его можно сравнить с подпружиненным кластером для хранения металлических монет. Каждая новая монета кладется сверху и сжимает пружину, проталкивая преды­ дущую монету вниз. Выемка может происходить в обратной последовательно­ сти. Так же производится и обработка битовой информации. В рассматриваемом контроллере имеется одноразрядный стек, управляе­ мый следующими командами: - A MRG - логическое умножение содержимого аккумулятора на со­ держимое регистра MRG, результат снова записывается в аккумуля­ тор; - MRG - логическое сложение содержимого аккумулятора с содержи­ мым регистра MRG, результат снова записывается в аккумулятор. Проталкивание в стек осуществляется командами R и RN, а выталкивание командами A MRG и О MRG.
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 20 Одноразрядность стека снова накладывает условности при программиро­ вании. В случае длинных составных цепочек необходимо следить за перепол­ нением стека. Команды, осуществляющие проталкивание и выталкивание должны чередоваться друг с другом. Исключение составляет начало цепи, ко­ гда допустимо задание подряд двух команд записи R и ЯК до заполнения стека. В настоящее время разрядность стека, как правило, достаточно большая и о переполнении стека можно не беспокоиться (но помнить, что такая ситуация может возникнуть, нужно). Программу для рис. 1.6, с учетом сказанного, можно записать следующим образом: Шаг Команда Операнд Комментарий 1 R 0.1 Считывание 8В2(0.1) и запись в аккумулятор, Акк= 8В1 2 R 0.0 Проталкивание содержимого аккумулятора (8В2) в стек и считывание 8В 1(0.0) и запись в аккумулятор, Акк = ЭВ 1 3 О 3.0 Логическое сложение содержимого аккумулятора (8В1) с адресуемым операндом К 1(3.0) и запись результата в аккумулятор, Акк= 8В1 + К1 4 AMRG 5 А 0.2 Логическое умножение содержимого аккумулятора на адресуемый операнд ОМ 1(0.2) и запись результата в аккумулятор, Акк= 8В2* (8В1 + К1) * 0М1 6 АЫ 0.3 Логическое умножение содержимого аккумулятора на инверсный адресуемый операнд ЕЛ 1(0.3) и запись результата в аккумулятор, Акк=8В2*(8В1 + К1)*0М1*/РЛ1 7 W 3.0 Посылка содержимого аккумулятора на адресуемый выход К1(3.0) К1 = 8В2 * (8В1 + К2) * ОМ 1 * / РИ2 Логическое умножение содержимого аккумулятора (8В1 + К1) с содержимым стека (8В2) и запись результата в аккумулятор, Акк= 8В2* (8В1 + К1) Еще проще работать с командами скобок, если они есть в синтаксисе языка, так что обозначенные неудобства в современных контроллерах с языком мнемокода успешно преодолеваются. Однако нужно помнить, что каждый контроллер имеет какие-либо особенности и ограничения, которые необходимо выяснить по сопроводительной технической документации.
ГЛАВА 1. РІС - ОБЩИЕ СВЕДЕНИЯ 21 Сделаем еще одно важное замечание: когда говорится о языке мнемокода, то имеется ввиду программист электроавтоматики, что именно он программиру­ ет на данном языке. Фактически во всех контроллерах и на всех языках, после сканирования программы, базовая математика РЬС работает с внутренним акку­ мулятором, но разработчика программы электроавтоматики это не касается. 1.3.2. Программирование на языке релейно-контактных символов Программирование на данном языке выполняется непосредственным набором РКС-программы (Ьаббег-диаграммы) с клавиатуры программатора, персонального компьютера или с клавиатуры системы ЧПУ, используя предо­ ставляемый разработчиком контроллера графический редактор. Это наиболее простой, понятный и поэтому наиболее распространенный способ программи­ рования. Следует сказать, что любая аппаратная релейная принципиальная схе­ ма, адаптированная с учетом специфики синтаксиса используемого языка РКС, может служить готовым алгоритмом для набора программы (но, не наоборот, о чем пойдет речь в следующих главах книги). Таким образом, принципиальная схема (рис. 1.3, б) может служить РКСалгоритмом (шаблоном) программы. Следует только установить адресацию операндов в соответствии с принятой на конкретный контроллер системой ад­ ресации. Приведем пример реализации на контроллере фирмы «Дельта». Рис. 1.7. Ьаййег-алгоритм управления реверсивным АД (контроллер фирмы «Дельта»)
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 22 Ниже приведена программа управления тем же объектом на контроллере фирмы «Дельта», но на языке мнемокода (рис. 1.8). В пей используются: 1) базовые команды: LD - считывание прямого операнда, AND - логическое умножение на прямой операнд, ANI - логическое умножение на инверсный операнд, OR - логическое сложение с прямым операндом, OUT - посылка результата на выход; 2) специальные команды: MPS - запись в стек (общая часть), ANB - логическое умножение на содержимое стека, МРР - возврат к стеку. Программы, написанные на языках РКС и мнемокода, можно легко пре­ образовывать друг в друга при помощи редактора, что и было сделано в данном случае. Набранная Ladder-диаграмма переведена на язык мнемокода при ком­ пиляции. ^Ясі - MuWÛTJw Списи и И Î* Прма Дианину Кашмира Ц«иж Qn £мж □ g» я в К Л » ^ ад ха □ ^ <7 !@S«as“sSi!“!Ss^ ^ > > Ч Оми ѳ ^ Ethernet 000002 J DVPEN01-SL 000003 1 IED9506 000004 J ПТО507 000005 000006 000007 000008 000009 000010 000011 000012 000013 000014 000015 000016 000017 000018 000019 лллл^л 0™ Памп Û О © 5J S3 V <' 3 '_ ; С onirnuniCâtlOn Setting qqqqq J 1 DVPFEN'01 B ■ DirectLink -* USB «Etheraet вч LD AND ANI MPS LD OR ANB ANI ANI OUT MPP LD OR ANB ANI ANI OUI END NOP NOP ХТГѴП X X2 лэчэчожг X3 X4 xo Y0 XI Y1 Y0 XI Y1 XO Y0 Y1 Рис. 1.8. Программа управления реверсивным АД на языке мнемокода фирмы «Дельта» î
ГЛАВА 1. PLC - ОБЩИЕ СВЕДЕНИЯ 23 1.3.3. Программирование на языке функциональных инструкций Программирование на языке функциональных инструкций при использо­ вании базовых команд аналогично разработке бесконтактных логических схем в базисе И, ИЛИ, НЕ, И-НЕ, ИЛИ-HE. При этом логическая схема, являющаяся PLC-программой, набирается непосредственно на экране дисплея. Для функци­ ональных команд все аналогично, но по синтаксическим правилам и структуре языка конкретного контроллера. На рис. 1.9 показана PLC-программа управления реверсивным асинхрон­ ным двигателем, написанная (нарисованная) на языке функциональных ин­ струкций контроллера типа Zelio-Logic. Назначение входов (I): П - Кнопка «Вперед» (SB1); 12 - Кнопка «Назад» (SB2); 13 - Кнопка «Стоп» SB3 (инверсно, т. е. нормально замкнута); 14 - Силовой автомат QM1 (инверсно, т. е. нормально включен); 15 - Тепловое реле FR1 (второй контакт, нормально выключен). Назначение выходов (Q): Q1-Вперед (К1 ^КМІ); Q2 - Назад (К2 -> КМ2). Рис. 1.9. РЬС-программа управления реверсивным асинхронным двигателем на языке функциональных схем (контроллер 2еКо-Ьо§1с) В приведенной программе для организации памяти также использованы функциональные команды КЗ-триггеров.
24 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 1.3.4. Программирование на языке логических уравнений Подобные языки позволяют писать РЬС-программы непосредственно в логических уравнениях при использовании базовых команд и с некоторыми синтаксическими ограничениями при использовании функциональных команд. Язык логических уравнений используется, например, во встроенных в системы ЧПУ контроллерах фирм «Балт-Систем», «Модмаш-Софт», «Маяк» и др. Самым эффективным способом формализации постановки задачи здесь также являются релейные алгоритмы, по которым можно сразу писать программу. Покажем это на примере управления реверсивного асинхронного двигателя (рис. 1.10). При написании программы используются синтактические правила языка и конкретные адреса входных, выходных и промежуточных сигналов, напри­ мер, как показано в таблице 1.2. Обращаем внимание, что на рис. 1.10 показана принятая адресация для контроллера фирмы «Балт-Систем». ВпереЗ НазаЗ Рис. 1.10. РКС-алгоритм управления реверсивным асинхронным двигателем (формализация для написания программы) Рабочие программы для разных систем ЧПУ запишутся так: - для систем серии ИС фирмы «Балт-Систем»: И5 А0=І 1 А2*І 1 АЗ */11 А4*(11А0+П5 А0)*Л 1А1 */115 А1 И5 А 1=11 А2*І 1 АЗ */11 А4*(11А1 +135 А1 )*/11 А0*/и5 АО - для систем фирмы «Маяк»: А1.0=А17.2&&А17.3&&!А17.4&&(А17.0||А1.0)&&!А17.1&&!А1.1 А1.1=А17.2&&А17.3&&!А17.4&&(А17.1||А1.1)&&!А17.0&&!А1.0
ГЛАВА 1. РІС - ОБЩИЕ СВЕДЕНИЯ 25 — для систем фирмы «Модмаш»: иі.1=І1.3*І1.4*/І1.5*(І1.1+иі.1)*/І1.2*/иі.2: иі.2=І1.3*І1.4*/І1.5*(І1.2+иі.2)*/І1.1*/иі.1: Таблица 1.2 Примеры синтаксических правил языка и конкретные адреса входных, выходных и промежуточных сигналов Назначение Фирма «Балт-Систсм» «Модмаш» «Маяк» Кнопка Вперед ПАО 11.1 Кнопка Назад ПАЇ 11.2 А 17.0 А17.1 Кнопка Стоп І1А2 ПАЗ ПА4 11.3 11.5 А 17.2 А17.3 А17.4 Пускатель ВПЕРЕД П5А0 иі.і А1.0 Пускатель НАЗАД П5А1 иі.2 А1.1 / ♦ / * && + = + = Автомат Тепловое реле 11.4 Примечание Входы Выходы Инверсия Лог. умножение Лог. сложение Присвоение Конец кадра Нет Базовые команды ІІ = нет 1.3.5. Программирование на обиходном языке Запись программы в этом случае осуществляется ключевыми словами и символами на обиходном, т. е. родном языке пользователя. Команды ПЛК включают в себя такие слова как: ЕСЛИ, ТОГДА (или ТО), ИНАЧЕ, вход, вы­ ход, включить, выключить и др. Программа для логического уравнения У = X, X, +Х3 (рис. 1.11) в этом случае запишется так: ЕСЛИ вход XI И Не Х2 ИЛИ ХЗ ТОГДА включить У ИНАЧЕ выключить У
26 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 1.11. РКС-алгорнтм примера программирования на обиходном языке Символьные языки позволяют осуществлять программирование не только по логическим уравнениям и релейно-контактным схемам, но и по классиче­ ским алгоритмам, описывающим работу механизма. Кажущаяся простота об­ манчива, программирование сложных разветвленных цепей и цепей с памятью весьма затруднительно и широкого распространения такие языки не получили. 1.3.6. Программирование на языках типа Графсет Подобные языки позволяют составлять программы управления сложными промышленными механизмами путем последовательного графического пред­ ставления этапов работы механизма, предваряемых условиями разрешения вы­ полнения каждого этапа. Программа состоит из последовательности шагов (этапов), описывающих активные действия исполнительных органов (вклю­ чить шпиндель, включить охлаждение, повернуть манипулятор на 90 градусов и т. д.) и переходов, описывающих условия разрешения выполнения этапа (ин­ струмент зажат, манипулятор в исходном положении, шпиндель выключен и ориентирован и т. д.), изображается в графическом виде, представляя собой граф последовательных шагов и переходов, синтезированных с учетом правил синтаксиса языка. Используемые для построения структуры графа символы (для контролле­ ра французской фирмы «Телемеканик») приведены на последующих рисунках. Последовательные замкнутые графы (рис. 1.12) являются простейшими случаями применения данного языка и составляют его основу. Как видно из рисунка, последовательный граф представляет собой аналог аппаратного решения с помощью счетчика последовательности, когда каждая последующая операция выполняется при условии наличия задания на выполне­ ние предыдущей операции и контроля о ее выполнении. В подобном графе всегда активен только один этап. Начальный (актив­ ный) этап, в принципе, может быть в любом месте графа. Разветвленные графы имеют более сложную структуру, в них возможна организация: - расходимости и сходимости графа по ИЛИ;
ГЛАВА 1. РІС-ОБЩИЕ СВЕДЕНИЯ 27 - расходимости и сходимости графа по И; - условных и обратных переходов (см. рис. 1.14), т. е. они позволяют со­ здать любые сложные структуры и делают практически неограничен­ ными его возможности. Этап 1Включать У1 Этап 2Включить У2 Этап 3Выключить У1 и У2 Рис. 1.12. Последовательный граф с одним активным элементом В случае расходимости по ИЛИ (рис. 1.13, а) после активизации ХО осу­ ществляется переход на одну или несколько ветвей, в зависимости от активно­ сти переходов #1 или #2 или #3 или #5. После завершения работы любой из ак­ тивных ветвей по переходам #8/1 или #8/4 или #8/6 или #8/7 осуществляется переход к этапу Х8, т. е. сходимость графа по ИЛИ. Обращаем внимание, что в алгоритме также показаны разрешенные синтаксисом языка внутренние расхо­ димости и сходимости графа по ИЛИ. В случае расходимости по И (рис. 1.13, б) после активизации ХО и актив­ ности перехода #1,3 осуществляется одновременный переход на одну или не­ сколько ветвей, в зависимости от программы (здесь две ветви XI и ХЗ). Сходи­ мость графа, т. е. переход на общий этап осуществляется только после завер­ шения работы всех активных этапов. Обращаем внимание, что в алгоритме также показаны разрешенные синтаксисом языка внутренние расходимости и сходимости графа по И. Приведенные ниже примеры переходов пояснений не требуют.
28 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ а) Рис. 1.13. Расходимость и сходимость графа по ИЛИ (а) и по И (б) Рис. 1.14. Условный (а) и обратный (б) переходы графа
ГЛАВА 1. PLC - ОБЩИЕ СВЕДЕНИЯ 29 Тем не менее, в станкостроении такие языки широкого распространения не получили. Причина все та же, программирование на языке релейно­ контактных символов проще и привычнее, хотя и не всегда оптимально. 1.3.7. Программирование на языках высокого уровня К ним относятся, например, Си, Паскаль, Бейсик и др. Примером могут служить устройства ЧПУ типа Микрос, где позициони­ руется программирование на специализированном языке Мик-Си, основанном на базе языка высокого уровня Си. Программа электроавтоматики включает в себя следующие разделы: - комментируемый заголовок, несущий информацию о типе станка и его основных характеристиках, фирме-изготовителе, дате разработки; - препроцессор, т. е. поле определения переменных, подключения биб­ лиотеки др., при необходимости; - главная циклическая программа NODE_0; - подпрограммы NODE_(1...99); - подпрограммы быстрой логики LOCK_(0...99); - функции языка Си funcN(); — конец программы И. Основу структурной организации языка составляют операторы: - циклической программы: NODE0 - вызываемых блоков: NODE_n - вызываемых блокировок: LOCKn - функций (подпрограмм): void SUBl(void) Структура циклической программы NODE_0 NODE 0 { Начальные установки for (;;) { PAUSE(0.2); тело циклической программы Начало программы Примечание. Из тела программы можно запускать ПП LOCK(N), NODE(N), вызывать Функции, осуществлять остановы (STOP) других ПП END NODE 0________ Конец программы
30 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Начало программы отмечается оператором NODE_0, а конец оператором ENDNODE0. Содержимое всей программы заключается в фигурные скобки { }. Операторы начала и конца программы записываются заглавными латин­ скими буквами. Программа состоит из блока однократных начальных установок и тела циклической программы, заключенной в новые фигурные скобки { } после ко­ манды for(;;) и бесконечно сканируемой в процессе работы. Циклическая программа NODE_0 сканируется постоянно, из нее осу­ ществляется первоначальный вызов того или иного блока NODE_n, блокировки LOCK_n или подпрограммы void SUBl(void). Она является программой мед­ ленной логики, максимальный цикл сканирования которой составляет 20 мс. В теле подпрограммы могут быть любые команды языка электроавтома­ тики, разрешенные его синтаксисом. Для вызова блоков и подпрограмм используются следующие команды: RUN NODE(n); - вызов блока; RUN_LOCK(n); - вызов блокировки; subl(); - вызов функции (подпрограммы). Для останова блоков и подпрограмм используются следующие команды: STOP_NODE(n); - останов блока; STOP LOCK(n); - останов блокировки; return; - выход из функции (подпрограммы); STOP_ALL(); - останов всех блоков. Структура подпрограмм NODE_1...NODE_99 Запускающая программа NODE_N RUN_NODE(N); (однократный запуск ПП) тело программы STOPNODE(N); (останов сканирования ПП) ENDNODEN Начало ПП Примечание. 1. Из ПП можно запускать другие ПП LOCK(N), NODE(N), вызывать Функции, осуществлять остановы (STOP) других ПП. 2. Можно осуществлять останов самой себя Конец ПП
ГЛАВА 1. PLC - ОБЩИЕ СВЕДЕНИЯ 31 Начало подпрограммы отмечается оператором NODE_N, а конец операто­ ром END_NODE_N. Содержимое всей подпрограммы заключается в фигурные скобки { }. Операторы начала и конца подпрограммы записываются заглавны­ ми латинскими буквами. Индекс N может принимать заначения в диапазоне 1...99. Запуск подпрограммы ЫОВЕК осуществляется командой RUN_NODE(n); из любой другой запущенной подпрограммы. Естественно, первая подпрограм­ ма (по логике работы, а не по номеру) может быть запущена только из основ­ ной циклической программы КЮВЕ О. Однажды запущенная подпрограмма сканируется циклически постоянно вслед за главной программой в порядке ее написания в листинге и является подпрограммой медленной логики. Останов подпрограммы NODE_N осуществляется командой 8ТОР_ >ЮВЕ(п); из любой другой запущенной подпрограммы. Подпрограмма может также остановить сама себя. В теле подпрограммы могут быть любые команды языка электроавтома­ тики, разрешенные его синтаксисом. Она может вызывать и останавливать лю­ бые другие подпрограммы с индексами 1...99. Структура подпрограмм ЬОСК_О...ЬОСК_99 Запускающая программа LOCK N { RUN_LOCK(N); (однократный запуск ПП) тело программы STOP_LOCK(N); (останов сканирования ПП) } END_LOCK_N Начало ПП Примечание. 1. Из ПП можно запускать другие ПП LOCK(N), NODE(N), вызывать Функции, осуществлять остановы (STOP) других ПП. 2. В ПП LOCK(N) нельзя программировать команды остановов PAUSE и DURING Конец ПП Начало подпрограммы блокировок отмечается оператором ЬОСКМ, а конец оператором LOCK_NODE_N. Содержимое всей подпрограммы заклю­ чается в фигурные скобки { }. Операторы начала и конца подпрограммы запи­ сываются заглавными латинскими буквами. Индекс N может принимать зна­ чения в диапазоне 0.. .99. Запуск подпрограммы LOCK_N осуществляется командой Ки^ЬОСК(п); из любой другой запущенной подпрограммы. Естественно, первая подпрограмма
32 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ (по логике работы, а не по номеру) может быть запущена только из основной циклической программы NODE_0. Подпрограммы блокировок LOCK_n являются программами быстрой логики, сканируемой каждые 5 мс параллельно с главной программой. Если из нее вызывается какая-либо функция (подпрограмма), то она будет также про­ граммой быстрой логики. Останов подпрограммы LOCK_N осуществляется командой: STOP_ LOCK(n); из любой другой запущенной подпрограммы. Подпрограмма может также остановить сама себя. В теле подпрограммы могут быть любые команды языка электроавтома­ тики, разрешенные его синтаксисом, кроме операторов выдержек времени PAUSE и DURING. Она может вызывать и останавливать любые другие подпрограммы. Структура функций funcN() Вызывающая программа void funcN(void) { ftmc(); тело функции return; J Начало функции Конец функции Логическая часть электроавтоматики станка прописывается в теле про­ грамм, подпрограмм и функций в соответствии с синтаксисом языка Мик-Си, включающем специальные команды УЧПУ Микрос и стандартные команды языка C++. Приведем пример практической реализации дешифратора М-функций. Считывание М-функций осуществляется при помощи системной ячейки BS0, сопровождаемой стробом МО (S10.1). Содержимое байта BS0 изменяется при задании в управляющей технологи­ ческой программе новой М-функции. В кадре программы может быть задана толь­ ко одна М-функция. Строб МО сбрасывается ответом о выполнении операции. Дешифратор М-функций может быть реализован различными способами, например, используя классическую дешифрацию. Однако предпочтительнее использовать функцию переключателя (switch). Принцип работы переключателя рассмотрен в материалах по языку Си.
ГЛАВА 1. PLC - ОБЩИЕ СВЕДЕНИЯ 33 Обработка переключателя выносится в отдельную подпрограмму, вызы­ ваемую из главной программы, в нашем случае это КОВЕЮ. Фрагмент программы электроавтоматики приведен ниже. // NODE_10 { /* Дешифратор М-функций */ if(S10.1==0) goto end; switch(BSO) { case 2: M2(); break; case 3: M3(); break; case 4: M4(); break; case 5: M5(); break; case 8: M8(); break; case 9: M9(); break; default: Message("*Недопустимый код М-функции"); // break; } L8.1=l; // Ответ М-функции end: S10.6=S 10.7=S 11.0=0; // Ответы MO, M1, М2 } END_NODE_10
34 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Если новой М-функции нет, то нет и строба S10.1. По команде goto end осуществляется условный переход на метку END, переключатель не работает. Если из технологической программы считывается новая М-функция, то по команде case вызывается соответствующая функция, например, М8() вклю­ чения охлаждения. После выполнения команды осуществляется возврат на следующую за вызывающей командой М8( ) строку break, переход за переключатель (}) и формирование виртуального ответа L8.1 о выполнении команды М8 включения охлаждения. Поскольку одновременно может быть только одна М-функция, то ячейка ответа L8.1 общая для всех команд. Далее, используя виртуальный ответ, нуж­ но сформировать системный ответ S25.4. Добавим, что достаточно часто в контроллерах, для расширения их функ­ циональных возможностей, разработчики систем ЧПУ в дополнение к рассмот­ ренным выше классическим языкам электроавтоматики добавляют фрагменты языков высокого уровня. 1.3.8. Программирование на специализированных языках Специализированные языки - это, например, язык программирования Фокон, применяемый при программировании электроавтоматики для фонового контроллера устройства числового программного управления типа 2С42-65 или ЯФП (язык функциональных инструкций) системы ЧПУ Маяк-400. В заключение обзора языковых средств электроавтоматики скажем, что встречаются чрезвычайно специфические, лучше сказать, экзотические языки, чего стоит только язык под названием ЯФП (язык функциональных инструк­ ций), разработанный в свое время в Ленинграде и применявшийся в ранних версиях Ижевских систем ЧПУ «Маяк». Но не нужно бояться, дорогу осилит идущий. Ключ к успеху - систематизация и разработка типовых приемов и ре­ шений. Например, автор никогда не программировал на языке Си, ну и что, ку­ пил книжку «Си для чайников», пролистал, отбросил все лишнее, систематизи­ ровал минимальный набор команд, достаточных для решения задач станочной электроавтоматики и в течение месяца написал первую программу для токарно­ го станка. Дальше стало проще. Даже написал книжку «Проектирование элек­ троавтоматики на базе устройства ЧПУ типа МИКРОС-12Т(Ф)». Из рассмотренного материала видно, что все языки программирования ПЛК являются проблемно-ориентированными, так как адаптивны к одной це­ ли - решению задач промышленной электроавтоматики.
ГЛАВА 1. РЬС - ОБЩИЕ СВЕДЕНИЯ 35 1.4. Варианты подключения дискретных входов и выходов Одним из важнейших этапов проектирования электроавтоматики является правильное подключение дискретных входов и выходов контроллера и связан­ ная с этим система их адресации. Следует строго следовать сопроводительной технической документации, и что важно, внимательно ее читать. Это связано с тем, что разные контроллеры имеют разную систему подключения и разную идеологию адресации дискретных входов и выходов, а адреса могут быть не по порядку. Рис. 1.15. Варианты подключения дискретных входов
36 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Систему подключения можно классифицировать, например, следующим образом: - непосредственное подключение или через специальные переходные блоки входов и выходов; - подключение посредством разъема, втычное подключение или под­ ключение посредством винтов; - положительное, отрицательное или любое напряжение питания; - питание от внешнего или внутреннего источника; - подключение с одним общим проводом питания для всего разъема (адресного слова) или группами по нескольку сигналов; - транзисторные, тиристорные или релейные выходные сигналы; - нулевой или питающий общие провода выходных сигналов; - наличие или отсутствие индикации состояния сигналов и др. Рис. 1.16. Варианты подключения дискретных входов: а - Sink; б - Sours На рис. 1.15 приведен пример подключения к контроллеру с положитель­ ным питанием различных входных сигналов: а) контактный входной сигнал. Резистор R! устанавливается, при необ­ ходимости, если входной контакт не обеспечивает коммутацию штат­ ного входного тока; б) полупроводниковый р-п-р датчик, обеспечивающий прямое протека­ ние входного тока;
ГЛАВА 1. PLC - ОБЩИЕ СВЕДЕНИЯ 37 в) каскадное соединение двух р-п-р датчиков; г) параллельное соединение двух р-п-р датчиков; д) полупроводниковый п-р-п датчик. Установка резистора R2 обеспечи­ вает инверсную работу входа. Такое решение можно применять только в крайнем случае. В ряде зарубежных контроллеров предусматриваются клеммы или пере­ мычки для переключения полярности входных сигналов, режимы Sink или Sours (рис. 1.16). Также предусматривается возможность, по желанию, использовать внеш­ ний или внутренний источник питания. =24Ѵ -ИОВ =24Ѵ Выход PLC I +24 Выход PLC! Рис. 1.17. Варианты подключения дискретных выходов ПО
38 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ На рис. 1.17 приведены возможные варианты подключения дискретных выходов: а) транзисторный выход с открытым эмиттером (общий плюс); б) транзисторный выход с открытым коллектором (общий минус); в) релейный выход с нагрузкой постоянного тока; г) релейный выход с нагрузкой переменного тока; д) транзисторный выход с подключением нагрузки через оптронную раз­ вязку. При подключении выходов также может предусматриваться возможность коммутации внешнего и внутреннего источников питания. 1.5. Системы счисления и способы кодирования сигналов Кодирование сигналов служит для удобства обмена, обработки и хране­ ния информации. Существуют следующие типы счисления и кодов: 1. Десятичная (Decimal). В системе используются цифры от 0 до 9, а ос­ нованием системы является число 10. В общем случае число с различным основанием можно представить в виде: Y = ап • Nm + an4 • Nm’' + ап_2 • Nm~2 +... + а0 • №, где N - основание числа. Например, для десятичного числа 4502 можно записать: 4502 = 4 103+ 5-102+0 10*+2 10° = 4000 + 500 + 0 + 2. Десятичная система проста и удобна для человека, ее мы применяем в по­ вседневной жизни. Используя десятичную систему удобно вводить цифровую информацию в различные цифровые устройства, а также получать ответные ре­ зультаты расчетов. Однако такая система неприемлема для организации самих цифровых устройств, поэтому в вычислительной технике и в электроавтомати­ ке применяют другие системы счисления и коды. 2. Двоичная (Binary). Это система, в которой используются только две цифры 0 и 1. Эти числа называются битами (от binary digit). Физически бит 1 представляется высоким уровнем сигнала (high) или просто его наличием, а бит 0 - низким уровнем (low) или его отсутствием. Основанием системы является число 2. Все вычисления в цифровых системах осуществляются в двоичной си­ стеме.
ГЛАВА 1. PLC-ОБЩИЕ СВЕДЕНИЯ 39 Процедура преобразования десятичного числа в двоичное приведена ни­ же, на примере числа 47: младший разряд 47 : 2 = 23, остаток 1_______________________ 23 : 2 = 11, остаток 1_______________________ 11 : 2 = 5, остаток 1______________________ 5:2 = 2, остаток 1 ; 2:2=1, остаток О -------------------- І і і 1 : 2 = 0, остаток 1, ; 10 47(Ю)— 1 11 1(2) и (1001111)2 = 1-25 +0-24 +1-23 +1-22 +1-2’+1-2° =32+ 0 + 8 +4 + 2 + 1 = 4710. На основании двоичной системы счисления организуется двоичный код (В-код или ВШ-код) с весами разрядов по битам 1, 2, 4, 8, 16, 32, 64, 128, 256, 512,1024 и т. д. 4 бита информации образуют тетраду, 8 бит - байт, 16 бит - 16разрядное слово или просто слово, 32 бита - двойное или 32-разрядное слово. Графически это представлено ниже. 6 5 4 3 2 1 0 128 64 32 16 8 4 2 1 7 _ ст. тетрада мл. тетрада байт -^—номер бита вес битов В- кода а) -є—номер бита числовое состояние слова б) 3. Восьмеричная (Octal). В системе используется восемь цифр от 0 до 7, а основанием является число 8. Процедура преобразования десятичного числа в восьмеричное приведена ниже, на примере того же числа 47:
40 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 47 : 8 = 5, остаток 7 младший разряд 5:8 = 0, остаток 5 ; 47(ю) = 5 7(g), и 57g=5-81+7-8°=40 + 7 = 4710. В вычислительной технике восьмеричная запись используется для более удобного представления двоичных чисел, для чего двоичное число, начиная с младшего разряда, разбивается на группы по три бита (триады) с весами 1-2-4 и каждая триада заменяется эквивалентной восьмеричной цифрой, например: 011 3 111 7 000 0 100 4 Двоичное число 2588 Восьмеричное число Процедура обратного преобразования очевидна, каждая десятичная циф­ ра раздельно переводится в трехразрядный двоичный код. 4. Шестнадцатеричная (Hexadecimal). Система имеет основание 16 и использует 16 символов, цифры от 0 до 9 и латинские буквы А, В, С, D, Е, F. При этом буква А соответствует цифре 10, буква В цифре 11, буква С — 12, бук­ ва D - 13, буква Е - 14 и буква F - 15. Процедура преобразования десятичного числа 47 в шестнадцатеричное: 47 : 16 = 2, остаток 15] младший разряд 2 : 16 = 0, остаток 2| ; 47(10) = 2 F(16) и 2FI6 = 246'+F46° = 2 461 +15 46° = 32 + 15 = 4710. Шестнадцатеричная запись также используется для более удобного пред­ ставления двоичных чисел, для чего двоичное число, начиная с младшего раз­ ряда, разбивается на группы по четыре бита (тетрады) с весами 1-2-4-8 и каж­ дая тетрада заменяется эквивалентной 16-ричной цифрой, например: 00 00 0 0111 7 1100 0100 Двоичное число 2588 С 4 16-ричное число Процедура обратного преобразования очевидна, каждая десятичная циф­ ра или буква раздельно переводятся в четырехразрядный двоичный код.
ГЛАВА 1. PLC - ОБЩИЕ СВЕДЕНИЯ 41 5. Двоично-десятичная (BCD - Binary Coded Decimal). BCD-система счисления предполагает замену каждой отдельно взятой десятичной цифры ее двоичным эквивалентом из четырех бит, например: 3 0011 9 1 Десятичное число 1001 0001 BCD-число 6 0110 Характерным отличием от шестнадцатеричной системы является то, что десятичное или двоичное число в тетраде не может быть больше 9, т. е. в каж­ дой тетраде используются только десятичные числа от 0 до 9. 7 80 6 5 4 3 2 1 0 номер бита 40 20 10 8 4 2 1 вес битов BCD- кода Эта система чрезвычайно удобна для построения в электроавтоматике различных кодирующих устройств и систем числовой индикации. На ее основе в системах ЧПУ используется BCD-код с весами 1-2-4-8, 10-20-40-80, 100-200-400-800, 1000-2000 - и т. д., для выдачи различной ин­ формации, например, скорости вращения шпинделя, задания номера инстру­ мента, кодированной выдаче технологических команд, задания кодов скорости подачи. Важно отметить, что кодирование младшей тетрады в пределах деся­ тичных цифр 0...9 для BIN-кода и BCD-кода совпадают. 6. Код Грея. Это многоразрядный код, характерной особенностью кото­ рого является то обстоятельство, что при переходе от одной кодированной цифры кода к другой, в отличие от В-кода и BCD-кода, в нем изменяется толь­ ко один разряд. Это очень важное обстоятельство, так как при изменении вели­ чины многоразрядного кода в момент его считывания, отдельные биты инфор­ мации меняют свое значение не одновременно, и по этой причине может про­ изойти ошибочное чтение кода. Этот недостаток и устраняет код Грея. Ниже приведена сводная таблица кодирования в коде Грея для десятич­ ных чисел 0-42. В коде Грея обычно кодируются многопозиционные задатчики и коррек­ торы скорости. Правила формирования кода Грея здесь не приводятся. Далее будут рассмотрены специальные инструкции преобразований кода Грея для конкретных программируемых контроллеров.
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 42 Таблица 1.3 Сводная таблица кодирования чисел в различных кодах вш (дсс) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 128 0 64 0 ВШ-код 32 16 8 0 0 0 4 0 2 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 128 64 0 0 СИАУ-код 32 16 8 4 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 I 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Ѳгау (дсс) 0 1 3 4 6 1 7 1 5 4 12 1 13 1 15 14 10 1 11 1 9 8 24 1 25 1 27 26 30 1 31 1 29 28 20 1 21 1 23 22 18 1 19 1 17 16 48 1 49 1 51 50 54 1 55 1 53 52 60 1 61 1 63 1 0 1 1 Н-код В ГЫ Сгау 0 0 1 1 2 3 2 3 4 6 5 7 6 5 4 7 С 8 О 9 р А В Е А С В О Е 9 Р 8 18 10 19 11 1В 12 ІА 13 1Е 14 1Р 15 Ю 16 17 1С 14 18 15 19 17 ІА 1В 16 12 1С 13 Ю 11 1Е 10 1Р 30 20 21 31 22 33 32 23 36 24 37 25 35 26 34 27 зс 28 30 29 ЗЕ 2А
ГЛАВА 1. РІС-ОБЩИЕ СВЕДЕНИЯ 43 7. Обратный код. Формируется путем изменения каждого бита прямого двоичного кода на противоположное значение, т. е. 1 заменяется на 0, и наобо­ рот, 0 заменяется на 1. Например: двоичный код числа 10 -> 0000 1010; обратный код числа 10 -» 1111 0101. 8. Дополнительный код. Дополнительный код положительного числа совпадает с его прямым ко­ дом, например: прямой код двоичного числа 10 -> 0000 1010; дополнительный код числа 10 -»0000 1010. Дополнительный код отрицательного числа формируется по следующе­ му правилу (в примере число 10): 1) формируется обратный код числа, т. е. 1111 0101; 2) к обратному коду прибавляется 1, т. е. 1111 0101 (обратный код) + + 0000 0001 (единица) = = 1111 0110 (дополнительный код). Дополнительные коды используются для выполнения арифметических операций с целыми числами. Для получения арифметической суммы двух чисел с учетом знака их нужно просто сложить в дополнительных кодах. Проделаем, например, разные операции с числами 8 и 3. Для этого сформируем сначала их дополнительные коды: дополнительный код числа + 8: -» 0000 1000; дополнительный код числа - 8: -»(1111 0111 + 1 = 1111 1000); дополнительный код числа + 3: ^ 0000 0011; дополнительный код числа - 3: -> (1111 1100 +1 = 1111 1101). Внимание! Результат вычисления также получается в дополнительном коде. сложение (3 + 8=11): 0000 0011 (+3) + + 0000 1000 (+8) = = 0000 1011 (+11). сложение (-3 + 8=5): 1111 1101 (—3) + + 0000 1000 (+8) = = 0000 0101 (+5).
44 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ сложение (—8 + 3= —5): 1111 1000 (—8) + + 0000 ООП (+3) = = 1111 1011 (-5). Действительно, обратный код числа —5 равен: 0000 0101 (прямой код 5) 1111 1010 (обратный код 5) + + 0000 0001 (единица) = = 1111 1011 (дополнительный код —5). Кроме рассмотренных выше классических для электроавтоматики кодов, при решении вычислительных задач используются также десятичные числа со знаком, с фиксированной и плавающей запятой, при необходимости, адресуем читателя к специальной литературе. Существуют и другие специальные коды. 9. Вещественные числа Выше были рассмотрены позиционные целочисленные коды и числа, наиболее часто применяемые в дискретной электроавтоматике. Например: - десятичный код (12345)10 = 1-ІО4+2-103+3-ІО2+4-101+5-10°; - двоичный код (10110)2 = 1-24 +0-23+1-22+1-2’ +0-2°. Однако при написании программ автоматизации может возникнуть необ­ ходимость, например, тригонометрических вычислений. Команды контролле­ ров при этом делают вычисления с вещественными числами с плавающей запя­ той. Для этого предусматривается специальный блок функциональных ин­ струкций. По этой причине необходимо иметь хотя бы минимальные знания о том, как представляются и как работает процессор контроллера с такими чис­ лами. Теоретически существует несколько способов представления веществен­ ных чисел, например: - числа с фиксированной запятой, когда знак запятой «,» находится в фиксированной позиции. В этом случае биты рабочего слова вычислителя име­ ют фиксированное значение. Формат числа разбивается на три поля, например, для 32-х разрядного слова: * ) старший бит ЬЗ1 - бит знака, * ) биты (ЬЗО ... Ь16) - хранение целой части числа, * ) биты (Ы 5 ... Ь0) - хранение дробной части числа
ГЛАВА 1. PLC - ОБЩИЕ СВЕДЕНИЯ 45 Сложение, вычитание, умножение и деление чисел с фиксированной за­ пятой можно выполнить на компьютере так же, как с обычными целыми знако­ выми числами, представив их в виде дробей с числителем и знаменателем и выполнять по классическим формулам. Например: 1-е число А = 1,5 или в виде дроби а/с = 12/8 2-е число В = 2,5 или в виде дроби в/с = 20/8, (а вА а + в 12+20 32 тогда алгоритм сложения — + — =------ =--------- =— = 4 и \с с) с 8 8 (а в} (а-в)/с (12-20)/8 240 /8 30 , „ алгоритм умножения----- = 4------- — = 4------- £— =--------- = — = 3,75. {с с) с 8 88 Экспоненциальная запись вещественного числа: tM-b^, где М- мантисса; b - база; Е - порядок. Например, для числа 3,14 + 0,314-101; - числа с плавающей запятой (floating point) В общем случае вещественные числа с плавающей запятой можно пред­ ставлять следующем образом: 123,45 = 1234-ІО-2 ; 12345,6 = 1,23456-ІО4; 102,3456 = 1,023456 • ІО2 = 0,01023456 • ІО4 и выполнять вычисления, например, так (12345,6 +102,3456) = (1,23456 • 104 + 0,01023456 ■ 104) = = (1,23456 + 0,01023456) • 104 = = 1,24479456 ■ ІО4 = 12447,945.
46 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ В компьютерной технике формат представления чисел с плавающей точ­ кой при вычислениях определяется международным стандартом IEEE 754 (ІЕС 60559), который описывает числа: - одинарной точности (single precision), 32-bit; - двойной точности (double precision), 64-bit; - двойной расширенной точности (double-extended precision), обычно 80-bit. Все вычисления выполняются в двоичном коде. Стандарт предусматрива­ ет выполнение следующего алгоритма: - преобразование десятичного числа в двоичное, например 138,625(10)= 10001010,101(2); - нормализацию до двоичного числа с целой начальной единицей, т. е. 138,625(1О)= 1,38625-102 и 10001010,101(2) = 1,0001010101-2111; - представление числа в виде М-2Р, где М - мантисса (1,0001010101) р- порядок (111) - запись числа в слово (например, 32-разрядное) с выполнением особых условий: 1) целая часть числа всегда равна единице (по умолчанию); 2) знак числа указывается в старшем бите ЬЗІ; 3) порядок «р» записывается в биты (ЬЗО ... Ь23), причем к нему до­ бавляется число 127(10) = 0111 1111(2), что позволяет хранить целые десятичные значения в диапазоне ±127; 4) дробная часть мантиссы записывается в биты (Ь22 ... Ь0), т. е. числа после запятой (,0001010101), причем начиная со старшего разряда.
ГЛАВА 1. РІС - ОБЩИЕ СВЕДЕНИЯ 47 Дробная часть мантиссы числа с плавающей точкой хранится в двоичной системе счисления. Поэтому числа, которые точно записываются в десятичной системе счисления, в двоичной системе можно представить только в виде бес­ конечной дроби, которая в памяти компьютера хранится с ограниченной точно­ стью. Резюме: 1. Внутренние вычисления, производимые компьютером с числами с плавающей запятой достаточно сложны и происходят автоматически при пра­ вильном программировании, т. е. соблюдении синтаксиса языка. 2. Иметь общее представления о процедуре вычисления необходимо по двум причинам: а) необходимостью иметь базовые знания, владеть терминологией, пони­ мать работу и назначение специальных инструкций РЬС, работающих с плавающей запятой, т. е. чтобы быть инженером-профессионалом; б) для того чтобы не удивляться совершенно непонятным цифровым зна­ чениям, появляющимся над операндами на экране дисплея при про­ смотре РЬС-программы расчетов.
ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ221 И ТМ200 ФИРМЫ ШНАЙДЕР 2.1. Общие сведения В настоящее время программируемые логические контроллеры (PLC) яв­ ляются основной элементной базой управления различными промышленными механизмами. Фирма Шнайдер Электрик выпускает широкую гамму програм­ мируемых контроллеров, различающихся техническими возможностями, кон­ фигурацией, стоимостью. В настоящей главе, в качестве примера, рассматриваются контроллеры серии ТМ221 и ТМ200. Если смотреть с позиции разработчика локальной электроавтоматики малой и средней сложности, то обе серии имеют одинаковую конструктивную структуру и систему подключения, однотипные процедурные вопросы и син­ таксис языка программирования. Однако они программируются в разных про­ граммных средах. Серия ТМ221 использует программную среду Schneider Electric SoMachine Basic, работающей с операционной системой Windows 7. Более новая серия ТМ200 использует среду Eco Straxure Machine ExportBasic и требует ОС не ниже Windows 10. Программы, разработанные для ТМ221, автоматически загружаются и в контроллеры серии ТМ200. 2.2. Программируемые контроллеры серии ТМ221 Контроллеры типа ТМ221 выпускаются в трех модификациях (рис. 2.1) на 16, 24 и 40 дискретных входов и выходов. Рис. 2.1. Общий вид контроллеров ТМ221 на 16, 24 и 40 Вх/Вых
ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ ФИРМЫ ШНАЙДЕР 49 Основные технические характеристики контроллеров ТМ221 приведены в табл. 2.1. Исполнения: Т - транзисторные выходы; R - релейные выходы; Е - исполнение с ЕНіеігпеі. Таблица 2.1 Основные технические характеристики контроллера ТМ221 ТМ221С16х TM221C24X Исполн. R Исполн. T Исполн. R Исполн. T ~(100-240)В =24B ~(100-240)B =24B 9 вх / 7 вых 14 вх / 10 вых 95 * 90 * 70 110*90*70 Два аналоговых входа ± 10В 1 порт Ethernet, исполнение Е 1 мини-USB порт Контроль положения в исп. СххТ и СЕххТ Подключение модулей расширения ТМЗ (до 264 вх / вых) Вариант книжного исполнения (Book) ПО - So Machine Basic Языки программирования: Ladder Diagram / Instruction List Совместимость: Windows 7 и Windows XP / SP3 Сайт: www.schncidcr-clectric.com ТМ221С40х Исполн. R Исполн. Т ~(100-240)В =24В 24 вх /16 вых 163 * 90 * 70 2.2.1. Подключение процессорного блока Исполнение 16R /Входы (рис. 2.2) [+24ѴГОУ |СОМ|І0[і 11121 ІЗ] 14 [ 15 [І6р7] 18] |+24Ѵ| ОУ |СОМ| 101 II 112113114115116117 |І8~| Рис. 2.2. Подключение входов ней. 16К: а - общий плюс; б - общий минус
50 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ При подключении входов используется внутренний источник питания. Допускается любая полярность подключения общего провода входов. Исполнение 1611/Выходы (рис. 2.3) Выходы разбиты на две группы с общими выводами СОМ0 (РО-ОЗ) и СОМ1 (Q4-Q6). =24Ѵ ' «110Ѵ £22?. .Ш Рис. 2.3. Подключение выходов йен. 16К Исполнение 16Т: Входы / Выходы Схема подключения приведена на рис. 2.4. Полярность подключения вхо­ дов любая, выходов - строго фиксирована. Входы исп. С(Е)16Т Выходы исп. С(Е)16Т 00 01 02 О: 04 05 0( 07 +ѵ -V Рис. 2.4. Подключение входов и выходов исп. 16Т Исполнение 24В и 40В: Входы /Выходы На рис. 2.5 приведена топология клемм подключения дискретных входов и выходов для исполнений 24И и 40К Проводное подключение аналогично
ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ ФИРМЫ ШНАЙДЕР 51 рис. 2.2 и 2.3. Входы обоих исполнений имеют один общий провод, а выходы три: СОМО, СОМ1 и СОМ2. Входы (I) / Выходы (0) исп. С(Е)24Я [ь24\[0у](^ [оомо]]^^^ Входы (I) / Выходы (Р) исп. С(Е)40Я |+24Ѵ| ОУ |СОМ| ІО | II1121131 н]Б] Иб[і7р8£І9]^^ |П5|і16|і17|і18|і19|і20|і21|і2^Щ [еом^с^^ [СОМ2[О8^^ Рис. 2.5. Клеммы подключения входов и выходов исп. 24К и 40К Исполнение 24Т и 40Т: Входы / Выходы На рис. 2.6 приведена топология клемм подключения дискретных входов и выходов для исполнений 24Т и 40Т. Проводное подключение аналогично рис. 2.4. Входы (I) / Выходы (Р) исп. С(Е)24Т | N61 NC|COM| 10111112 ! [ф] [15 1161 17118 1191110| 111| 112| 11 з| |до|ді|д2|дз|д4|д5| дб|д7|д8|д9|+Ѵ|+Ѵ|^] Входы (I) / Выходы (р) исп. С(Е)40Т ^фс|сом| ІО7П[І2|ІЗ|І4|І5| []б]]7]І8]]І^^ ЙИНИЖЕЯ [оЕП^оіоіоПІ^^ Рис. 2.6. Клеммы подключения входов и выходов исп. 24Т и 40Т
52 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 2.2.2. Подключение модулей расширения Общий вид и маркировка расширительных модулей приведена на рис. 2.7. Расшифровка маркировки: ТМЗ Dxxx (X) ! ! !____ G - съемный клеммный блок ! ! К - разъем типа НЕЮ ! ! A, U, без буквы - соединение под винт ! !Модификация блоков: ! DI8 - 8 входов (= 24 В) ! DI16 - 16 входов (= 24 В) ! DQ8R - 8 выходов (Реле) ! DQ8T - 8 выходов (Транзистор) ! DQ16R - 16 выходов (Реле) ! DQ16T - 16 выходов (Транзистор) ! DM8R/G - 4 вх / 4вых (Реле) ! DM24R/G - 16 вх / 8вых (Реле) ! DI32K - 32 входа (= 24 В) ! DI8A - 8 входов (~ 120 В) !Расширительный модуль TM3OI8G / TM3DI16G TM3DQ8RG / TM3DQ8TG TM3DQ8UG/TM3DQ16TG TM3DQ16RG / TM3DQ16UG TM3DM8RG / TM3DM24RG TM3DI8A / TM3DI8 TM3DI161 TM3DQ8R TM3DQ8T / TM3DQ8U TM3DQ16Т / TM3DQ16R TM3DQ16U / TM3DM8R TM3DM24R TM3DI16K TM3DI32K TM3DQ16TK TM3DQ16UK TM3DQ32TK TM3DQ32UK Рис. 2.7. Общий вид модулей расширения
ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ ФИРМЫ ШНАЙДЕР 53 Подключение различных типов расширительных модулей приведено на рис. 2.8 (входы) и рис. 2.9 (выходы). Полярность питания входов - любая (± 24 В). Система питания выходов индивидуальна и зависит от типа модуля. Во избежание ошибок, следует внимательно изучить маркировку клемм и всегда обращаться к исходной технической документации. В документации так же могут быть ошибки и при малейших сомнениях нужно обращаться в сервис­ ный центр. Это касается всех типов и производителей контроллеров. а) б) в) Рис. 2.8. Подключение дискретных входов расширительных модулей: а - DI8 А; б - DI8G; в - DI 16G; г - DI 16К
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 54 О(Ж О()8КС «ипит ±ипит О98Т О08ТС =ІІпит Э98П ІХЖ’О =ипит Рис. 2.9. Подключение дискретных выходов расширительных модулей: а - DQ8R/DQ8RG; б - О08Т/О08ТО; в - 0080/00800 Обозначение адресов входов и выходов во всех приведенных выше схе­ мах подключения условно и всегда начинается с нуля и далее по порядку. Ре­ альные адреса присваиваются автоматически при конфигурации проекта. На рис. 2.10 приведена топология реального подключения контроллера ТМ221С40Я с двумя расширительными блоками ТМЗЭПб и ТМЗОІ8 для уни­ версального фрезерного станка.
Топология программируемого контроллера серии ТМ221 фирмы Шнайдер Рис. 2.10. Топология подключения контроллера консольно-фрезерною станка цооооооътИ ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ ФИРМЫ ШНАЙДЕР 55
56 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 2.2.3. Конфигурация проекта Процедура конфигурации: - установить на компьютер и запустить программное обеспечение SoMachine Basic (рис. 2.11); - активизировать «Создать новый проект». Наблюдать появление рабо­ чего окна программного обеспечения; - активизировать окно конфигурации (Configuration); - конфигурировать проект, в нашем случае (рис. 2.12); процессорный блок TM221C40R; расширительный блок TM3DI16 на 16 входов; расширительный блок TM3DI8 на 8 входов. Schneider Electric Рис. 2.11. Главная страница SoMachine Basic При этом автоматически присваиваются адреса для каждого блока: Процессор С40Я: 10.0...10.23 24 входов; СО.0.. .90.15 16 выходов; Расширитель: 116:11.0...11.15 16 входов; Расширитель: 18:12.0...12.7 8 входов. При наборе программы перед буквами I (вход) и О (выход) автоматиче­ ски устанавливается знак %. Номер слова (0, 1, 2) определяется последовательностью установки бло­ ков на динрейке.
:. Device information CX Digital inputs • SL (Serial line) Messages * 7M3 Analog I/O Modules > TM2 Digital VO Modules * TM2 Analog I/O Modules ’ TM3 Expert VO Modules ’ M221 Cartridges Device description Device description TM221C16R (screw) TM221C40R(screw) 24 digital inputs. 16 reiay outputs (2 A). 2 analog inputs, 1 serial line port 100-240 Vac power supply 9 digital inputs, 7 relay outputs (2 A), controller with removable terminal blocks. 2 analog inputs. 1 serial line port 100-240 Vac power supply with removable terminal Nodes Power supplied to the IO bus M Z >№11 «j Рис. 2.12. Рабочее окно конфигурации проекта SoMachine Basic В ; а г ч 5 и *x- < ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ ФИРМЫ ШНАЙДЕР В I Module 2 (TM3DÎ8/G)
58 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Число бит в слове определяется физическим числом входов и выходов на конкретном блоке. После завершения конфигурации можно набирать Ladder-диаграмму, предварительно изучив систему команд и разработав теоретические алгоритмы. 2.2.4. Набор и структура программы Программирование осуществляется в рабочем окне Programming (рис. 2.13) при помощи набора иконок меню ТооІВаг. Доступны два языка: Ladderдиаграммы и Programming List (Мнемокод). Назначение основных иконок Ladder-диаграммы и инструкций Instruction List приведено в табл. 2.2. На рис. 2.14 приведен фрагмент рабочей программы с раскрытием иконки набора таймеров, счетчиков, регистров и других инструкций. Доступные операнды: %Іх.х - дискретные входы; %Qx.x - дискретные выходы; %Іх.х - дискретные входы; %Іх.х - дискретные входы; % IW - входное слово; % QW - выходное слово; %Мх - бит оперативной памяти; %MWx - слово 16 бит; %MDx - слово-32 бита; %MFx - слово с плавающей запятой; %KWx - константа 16 бит; %KDx - константа 32 бита; %KFx - константа с плавающей запятой; %Sx - системный бит; %SWx - системное слово; %PLSx - формирователь такта; %Сх - счетчик; %FCx - быстрый счетчик; %HFCx - высокоскоростной счетчик; %PWMx - широтно-импульсный модулятор; %ТМх - таймер; %SBRx - сдвиговый регистр; %Rx - стековая инструкция; %PIDx - ПИД-регулятор; %MSGx - сообщение.
Рис. 2.13. Рабочее окно программирования SoMachine Basic. Пример мнемокода и Ladder -диаграммы ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ ФИРМЫ ШНАЙДЕР 59
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 60 Все операнды предваряются специальным знаком %. При наборе дис­ кретных входов и выходов знак % устанавливается автоматически, в остальных случаях его нужно набирать отдельно. Таблица 2.2 Назначение иконок набора программ Назначение Ladder IL НН LD Прямой операнд —W— LDN Инверсный операнд LDR Такт по переднему фронту LDF Такт по заднему фронту XOR Исключающее ИЛИ ST Катушка реле —) STN Инверсная катушка реле —( S ) S Установка реле на память —( К ) R Выключение памяти H₽H HNH —1 х|— ) —^ Таймер, Счетчик, Регистр — Инструкции Сравнения Функциональный блок • • • — Not — N Логическая Инверсия *) — Open — Разрыв цепи *) — Short — Замыкание цепи *) -< END > END Конец Программы *)
Q^B Conhgurabon Properties Tasks X ? M221 Contrat (USB) Programming @ No eras Drsptry Onkne Run CorrwTvssionng Tool* Messages ^ Anenabon table» Q Memory objects ■k Memory Ms ■ Memory words meeseei □ 9 System Objet» O ■ IO objects O □ o O • B £ % NMaaik objects Soft* are Objects MO 'W» Communication Objects 8 Search and Replace • Symbol test 3 Memory consumption O Q TempiaM w B ÏА ъMк и ^ . < Рис. 2.14. Рабочее окно программирования 62? : ; oi ада ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ ФИРМЫ ШНАЙДЕР Schneider Electric SoMachine Basic - VI.3 SP2 PrSn2
62 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Адресация битовых операндов входов (I) и выходов (Q) осуществляется по принципу «номер слова . номер бита». Адресация адресного пространства битов промежуточной памяти (М), 16разрядных (MW) и двойных (MD) слов, таймеров (ТМ), счетчиков (С), реги­ стров - сквозная, т. е. указывается только номер слова или, например, таймера. Битовая память М и память слов (MW, MD), это независимые адресные пространства, т. е. можно программировать, например, Ml2, MW12 и MD12. Общая программа состоит из одной или нескольких подпрограмм POU (Program Operation Unit) и последовательных ступеней (Rung). Число ступеней Rung зависит от сложности программы. Структура программы следующая: Master Task Главная программа POU_0 Блок (Подпрограмма) О RUNG_0 Ступень О RUNG_1 Ступень 1 RUNG_2 Ступень 2 RUNG N Ступень N POU_1 Блок (Подпрограмма) 1 RUNG_0 RUNG_1 .... и т. д. Изучение инструкций и синтаксиса языка на начальной стадии работы с контроллером рекомендуется проводить на компьютере без подключения кон­ троллера с помощью встроенного «Симулятора». Запуск симулятора осуществ­ ляется специальной иконкой в горизонтальном меню ПО или из окна Commissioning (рис. 2.15) клавишей Launch Simulator. После ответов на вопро­ сы Софта (Да) и получения квитанции «PLC and Controller application are identical», клавишей Start Controller запускается работа симулятора. Активизация управляющих битов осуществляется «щелчком» мыши ком­ пьютера на номер дискретного входа в специальном окне (см. рис. 2.16). Обладая базовыми знаниями можно выполнять эту же работу, используя аппаратный реальный контроллер, для чего следует выполнить следующие дей­ ствия: - поставить на компьютер программное обеспечение SoMachine Basic; - соединить компьютер и контроллер стандартным кабелем USB (сторо­ на компьютера) - mini USB (сторона контроллера); - включить питание контроллера;
ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ ФИРМЫ ШНАЙДЕР 63 - включить питание компьютера. При необходимости, в диспетчере устройств компьютера (libusb-win32 devices / М221 Controller) убе­ диться, что компьютер увидел контроллер; - запустить разработанную программу электроавтоматики, например, PrSn2.smbp и сделать необходимые изменения. Если связь между компьютером и контроллером установилась, то в середине горизонталь­ ного меню рабочего окна появится запись М221 Controller (USB), см. рис. 2.14; - запомнить и выполнить компиляцию программы (кнопка У в горизон­ тальном меню); - кнопкой Online горизонтального меню или клавишей Login меню Commissioning попытаться активизировать работу программы. Если программы на компьютере и в памяти контроллера не совпадают («PLC and Controller application are differnt»), то клавишей Download активизировать процесс загрузки программы с компьютера в контрол­ лер. На появляющиеся вопросы отвечать Да; - при успешной записи и появлении сообщения «PLC and Controller ap­ plication are identical» нажать клавишу Start controller. В горизонталь­ ном меню наблюдать информацию о статусе системы: Online / Run. Связь установлена, контроллер запущен, можно производить проверку работы программы. Естественно, что для реальной проверки необходимо предварительно со­ брать стенд и подключить к контроллеру необходимое количество дискретных входов. Выходы можно контролировать по установленным на контроллере све­ тодиодам. Для внесения исправлений и дополнений в программу клавишей Stop Controller остановить работу и перейти в меню Programming. Процедура установки связи между PC и PLC для данного контроллера удивительно проста, чего не скажешь о других, рассмотренных нами контрол­ лерах. 2.2.5. Синтаксис языка электроавтоматики Данная серия контроллеров имеет достаточно большой набор инструкций программирования электроавтоматики и сложный синтаксис написания про­ грамм. Инструкции по программированию в большей части не дают четких ре­ комендаций. По этой причине все приведенные далее фрагменты программ яв­ ляются рабочими и сняты с экрана в режиме Print Screen.
PrSn2* Properties S Commissioning Controller Update □@0 Schneider Electric SoMachine Basic - V1.3 SP2 ’ 'X ? J / M221 Controller (USB) @ Programming Configuration No errors Onto» Stop ScannmeOus initcon Display Ethernet Devices Local Devices ■E3E3S! Logout Memory Management Controller Info Keep Mosbue drv P3>,r-et -« Remote Lookup Unit ID Selected Controller Found: Firmware: Controller Moduiel Module? Modules Moduie4 Modules Moduli Module? 1.3.3.3 TM221C40R TM3DI16TM3D18Not present Not present Not present Not present Module8 Module? Not present Not present Not present ModulelO Moduiel 1 Module!? Module!.Module!4 Not present Not present Not present Not present Not present 0 PC and Controller applications are identical Connection is established Start Controller Рис. 2.15. Рабочее окно Commissoning ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ RTC Management
ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ ФИРМЫ ШНАЙДЕР 65 Ниже приводятся основные инструкции языка. Если для решения какойлибо новой задачи потребуются дополнительные знания, то предварительно следует изучить и проверить на стенде или в режиме симулятора необходимые для этого инструкции. Доступно много готовых системных операндов, например: %S0 - 1-й скан; %S4 - генератор Т = 10 мс; %S5 - генератор Т = 100 мс; %S6 - генератор Т = 1 с; %S7 - генератор Т = 1 мин; % S12 = 1 - PLC Run, = 0 - PLC Stop. Базовые релейные цепи Язык позволяет набирать как простые, так и разветвленные релейные це­ почки, используя иконки базовых команд (рис. 2.16). В Rung_0 рис. 2.16 приведена простая цепочка с использованием битовых команд считывания начального операнда, логического сложения, скобок и ло­ гического умножения, т. е. Q0.0 = (10.0 + 10.1)-І0.2710.3. Здесь знак «/» обозначает инверсию. При начертании Ladder-диаграмм используются: - иконки «Карандаш» и «Ластик» для рисования и стирания линий; - иконки для добавления, вставки и удаления новых блоков Rung; - стандартные компьютерные команды Cut, Copy, Paste; - команды Delete Line, Inset Line и др. Возможно использование следующих комментариев: Блок Rung: Name - заголовок, например, Зажим; Comment - дополнительная информация, например, Гл. шпиндель; Битовый Операнд: Comment - назначение, например, Кзаж. В Rung l рис. 2.16 приведена разветвленная релейная цепь, выполненная в режиме симулятора. Рис. 2.17 показывает написание тех же программ на языке мнемокода, от­ куда ясно следует, что использовать этот язык при реальном проектировании не следует, это сложно и трудно отлаживать. Если контроллер позволяет проекти­ ровать программы на языке Ladder-диаграмм, то следует использовать исключи­ тельно его. Закраска зеленым цветом замкнутого состояния операндов позволяет сразу видеть причину, почему не включается тот или иной выходной операнд.
66 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 1 - New POU Рис. 2.16. Базовые команды в Ladder Для того чтобы в одном Rung можно было набирать несколько выходных катушек реле, в начале цепи следует установить один общий операнд. Это поз­ волит одним блоком набирать законченные релейные алгоритмы, относящиеся к управлению конкретного механизма. Если логически такой операнд отсут­ ствует, то нужно использовать вспомогательный = 1 (всегда равно единице). На рис. 2.18 приведен пример алгоритма управления электромеханическим зажи­ мом инструмента универсального фрезерного станка модели 6Т13 горьковского завода фрезерных станков. Работа механизма зажима инструмента запрещена, если: - включен главный (Шпі, Кшпі) или второй (Шп2, Кшп2) шпиндель; - Включено торможение второго шпинделя (Торм2); - Работает автоматический цикл (Цикл), т. е. Запр=Шп 1 +Кшп 1 +Шп2+Кшп2+Торм2+Цикл. Для выполнения операции зажима двигатель от кнопки КнЗаж при усло­ вии отсутствия запрета включается в направлении вращения по часовой стрел­ ке, а выключается по датчику контроля зажима Дзаж. Для отжима инструмента кнопкой КнОтж двигатель включается в проти­ воположную сторону. Кнопка удерживается до окончания операции отжима, при этом оператор должен не дать инструменту упасть на рабочий стол. Таким образом, процесс описывается следующими логическими уравне­ ниями: ЗАЖ: S = КнЗаж R = Заир + Кзаж + ОТЖ и /R = /Запр*/Кзаж*/ОТЖ ОТЖ = /Запр *КнОтж*/ЗАЖ
ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ ФИРМЫ ШНАЙДЕР 67 Здесь и далее: S - сигнал включения памяти (Set); R - сигнал выключения памяти (Reset). Для правильного начертания алгоритма сигнал выключения памяти R необходимо проинвертировать, так как релейная RS-память выключается ин­ версным сигналом. Tasks Tools Messages § Animation tables O aa Memory objects System objects □ HUI KO objects Digital inputs Digital outputs SI Analog inputs Analog outputs >u> Fast Counters "« High Speed Counters Pulse Generators a Network objects S’ Software Objects Q mm PTO objects Communication Objects № Search and Replace : Symbol list g Memory consumption □ J Templates d O 2> a a a^ ESI be 0000 LD «10.0 0001 OR *10.1 0002 AND %IO.2 0003 ANDN %IO.3 0004 ST «Q0.0 0000 LD «10.0 0001 AND( «10.1 0002 OR(N «10.2 0003 AND «10.3 0004 ) 0005 ANDN «10.4 0006 OR «10.5 поте 0007 > 0008 ST Рис. 2.17. Базовые команды в Instruction List «Q0.1
68 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 2.18. Алгоритм управления электромеханическим зажимом инструмента Память датчика зажима Кзаж: 8 = ЗАЖ*Дзаж R = ОТЖ и /И=/ОТЖ Кроме того, формируется задержанный сигнал контроля КзажД). Т2 = /ЗАЖ*Котж Кзаж(І) = /ЗАЖ*Котж*Т2(0 Сигнал Кзаж(0 разрешает включение шпинделя по окончании процесса зажима. Его формирование обязательно, так как в противном случае, при включении шпинделя, инструмент может «вылететь» из шпинделя со всеми вы­ текающими последствиями. Формирование этого сигнала на рис. 2.18 не пока-
ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ ФИРМЫ ШНАЙДЕР 69 зано. Напоминаем, что синтаксис языка разрешает набирать инструкции тайме­ ров только в отдельном Rung. Во избежание проворота шпинделя при выполнении операций зажима и отжима инструмента следует также в отдельном Rung предусмотреть его удержание в неподвижном состоянии при помощи тормозной муфты, т. е. реа­ лизовать следующее уравнение Т/Муфтаі = /Шп1*/Кшп1*(ЗАЖ*/Кнт1+ОТЖ). Таіімеры Предусмотрено три типа таймера: TON - выдержка времени при включении входного сигнала; TOF - выдержка времени при выключении входного сигнала; ТР - одновибратор, т. е. формирователь импульса заданной длительно­ сти по переднему фронту входного сигнала в независимости от его длительности. Таймер набирается в отдельной строке Rung. Дополнительные логические цепи запрещены. На рис. 2.19 приведен пример таймера на включение TON. Набор таймера осуществляется из вертикального меню иконки функцио­ нальных инструкций (см. рис. 2.14). В шаблоне инструкции указывается: — %ТМ - номер таймера; - тип таймера (TON, TOF или ТР); — величина дискреты времени ТВ: 1 ms, 10 ms, 100 ms, 1 s или 1 m; - число дискрет Preset. Рис. 2.19. Таймер на включение TON Для установки параметров необходимо щелкнуть мышкой по номеру таймера &ТМх и заполнить открывшуюся таблицу.
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 70 Для дальнейшей обработки доступны: %ТМх.Р - величина уставки (Present Value); %TMx.V - текущее состояние (Carrent Value); Прямой и инверсный контакты выходного реле таймера. Комментарий к рис. 2.19: При активизации входного сигнала 10.0 через выдержку времени 4 секун­ ды включается выходное реле таймера Q0.2 (Rung3), активизируется и встанет на самопитание катушка реле МО.2 (Rung4). При выключении входного сигнала 10.0 таймер и его катушка сбрасываются в исходное состояние. Если входной сигнал отключится раньше заданной уставки, то текущее состояние времени не сохраняется и при новой активизации входа отсчет вре­ мени начинается с нуля. Счетчики В контроллере предусмотрено три типа счетчиков: %Сх - классический универсальный счетчик (Counter), х = (0-255); %FCx - быстрый счетчик (Fast Counter), х = (0-3); %HFCx - высокоскоростной счетчик (High Fast Counter), х = (0-3). Пример стандартного счетчика Сх показан на рис. 2.20. Рис. 2.20. Счетчик на сложение Счетчик имеет четыре входа: R (Reset) - сброс текущего состояния счетчика, Сх.Ѵ = 0 при R = 1; S (Set) - принудительная установка текущего состояния, Сх.Ѵ = Preset при S = 1; CU (Counter Up) - вход счета на увеличение, Сх.Ѵ = (Сх.Ѵ + 1) при CU = 1;
ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ ФИРМЫ ШНАЙДЕР 71 CD (Counter Down) - вход счета на вычитание, Сх.V = (Cx.V - 1) при CD = 1. Счетчик имеет три выхода: Е (Empty) - счетчик в нуле, Сх.Е =1 при Cx.V = 0; D (Count Done) - уставка счета достигнута, Cx.D = 1 при Cx.V = Сх.Р; F (Counter Full) - счетчик переполнен, Cx.F = 1 при Cx.V = max. Максимальная уставка счета - 9999. Повтор счета после сброса. Триггеры На рис. 2.21 приведено программирование следующих типов триггеров: RS - триггер (М5) с использованием инструкций S (Set) и R (Reset); Т - триггер (Мб) с использованием команды XOR - «Исключающее ИЛИ»; Т - триггер (М8) с тактированием входного сигнала М7 и битовой схе­ мой неравнозначности. Присвоение На рис. 2.22 приведен синтаксис наиболее распространенных вариантов присвоения (аналоги команды пересылки MOVE): (%М40:8 := %І0.0:8) - пересылка 8-ми бит входов І0.0-І0.7 в 8 ячеек битовой памяти М40-М47; (%MW41 := 50) - запись десятичного числа 50 в 16-разрядное слово MW41;
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 72 (%MW42 := 16#300) - запись 16-теричного числа 300 в 16-разрядное слово MW42; (%MW43 := %KW0) - запись десятичной константы из памяти К\Ѵ0 в 16-разрядное слово MW43. Запись констант в память осуществляется предварительно через левое вертикальное меню окна Programming; (%MW44 := %М40:8) - запись содержимого массива памяти М40-М47 в 16-разрядное слово MW44; (%MW45 := %MW44) - перепись содержимого слова MW44 в слово MW45. Общее замечание: содержимое источника при переписи не изменяется. Сравнение Примеры программирования сравнения приведены на рис. 2.23: МІО = 1, если содержимое слов MW46 и MW45 одинаково; МИ = 1, если содержимое слова MW42 больше содержимого слова MW41; М12 = 1, если содержимое слова MW41 меньше константы, записан­ ной в слове KW0; М13 = 1, если текущее значение счетчика СО меньше 5-ти; М14 = 1, если текущее значение таймера ТМО больше 3-х. Обращаем внимание, что топология изображения инструкций сравнения всегда одинакова (со знаком <), вне зависимости от типа сравнения. Какая опе­ рация выполняется реально, следует определять по синтаксической записи над
ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ ФИРМЫ ШНАЙДЕР 73 прямоугольником инструкции. В режиме Online отображается содержимое сравниваемых величин. Рис. 2.23. Инструкции сравнения Арифметические инструкции На рис. 2.24 в качестве простейших примеров приведены инструкции арифметических вычислений сложения, вычитания, умножения, деления и из­ влечения квадратного корня с целыми десятичными числами и использовании 16-тиричных слов. Каких-либо пояснений здесь не требуется. Внимательно просмотрите синтаксис записи инструкций. При сложных расчетах использует­ ся косвенная адресация и двойные слова. Инструкции INC/DEC Пример программирования инструкций Инкремента и Декремента приве­ ден на рис. 2.25. Обязательным условием является тактирование входных сиг­ налов.
74 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 2.25. Инструкции INC_DEC Инструкции ІТВ/ ВТІ Инструкция ІТВ выполняет преобразование двоичного кода (BIN) в дво­ ично-десятичный код (BCD). Инструкция ВТІ выполняет обратное преобразование двоично­ десятичного кода (BCD) в двоичный код (BIN). Комментарий к рис. 2.26: - в слове MW16 импульсом 11.0 установлен в единицу бит 10.5 (0000 0000 0010 0000), что соответствует числу 32 в двоичном коде или числу 20 в двоично-десятичном; - инструкция %MW17 := ІТВ (%МѴ16) преобразует двоичное число 32 слова источника MW16 в двоично-десятичное число 50 (0000 0000 0011 0010, т. е. 32 + 16 + 2) и записывает его в слово при­ емника MW17; - инструкция %MW 18 := ВТІ (%МѴ 16) преобразует двоично-десятичное число 32 слова источника MW16 в двоично-десятичное число 20 и за­ писывает его в слово приемника MW18; Рис. 2.26. Инструкции ІТВВТІ Инструкции ЗИК/ВОВ Инструкция 8НК это выталкивающий сдвиговый регистр вправо. Синтаксис регистра %MW19 := 81 ІИ (%MW19,1). Инструкция КОК, это кольцевой сдвиговый регистр вправо. Синтаксис регистра %MW20 := КОК (%MW20,l).
ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ ФИРМЫ ШНАЙДЕР 75 Комментарий к рис. 2.27: - импульсом начальной установки 11.3 в регистры 8НЯ (MW19) и КОИ (MW20) предварительно записывается начальная информация, в дан­ ном случае число 8 (0000 0000 0000 1000); - в инструкциях регистров, через запятую, указывается число сдвигае­ мых разрядов, в данном примере 1; - при каждом тактированном входном сигнале информация в регистрах сдвигается на один разряд (в примере вправо); - при последнем сдвиге выталкивающий регистр MW19 обнуляется, а в регистре MW20 информация сдвигается по кольцу. Инструкции сдвига влево БНЕ и КОЕ работают аналогично. Приведенный в главе материал это только часть языковых средств кон­ троллера. За кадром остались, например, инструкции логических операций со словами, условные переходы, подпрограммы, стековые инструкции, тригоно­ метрия, работа с числами с плавающей запятой и др. Заинтересованного чита­ теля отправляем к сопроводительной документации на контроллер. 2.3. Программируемые контроллеры серии ТМ200 Сводная таблица контроллеров серии ТМ200 и их основные характери­ стики приведены ниже на рис. 2.28. Напоминаем, что серия контроллеров ТМ200 использует программную среду Eco Straxure Machine Export-Basic и требует ОС не ниже Windows 10. Синтаксис языка программирования электроавтоматики аналогичен контроллерами серии ТМ221, рассмотренным в предыдущем разделе.
76 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ КІЮ 110 x 70 x 90/ 9sr*/source24V“ 7 relay outputs 4.33x2.70x150 nputs nc iregiMarnput. 4 high-speed «puts tor hsc. 4 fast nputs tor FC TM200CKR 0 359 0 791 24 MO 130 x 70 x 90/ I4sr*/source24 V DC Ю relay outputs 512x2.76x355 nputs nc 6regularnputs. 4 high-speed nputs tor H9C, and 4 fast input» tor FC TM200C24R 0 405 0693 TM20OCE24R 0 413 0.911 TM200CE32R 0512 1.129 TM200C40R 0 504 1.111 TM200CE40R 0512 1.129 TM2OOC4OR 0.664 1.508 TM200CE40R 0.702 1.547 32ІЮ 40 90 •0 90 KUO 175x70x90/ 2Osrk/source24VDC 12 relay outputs 6.89x2.76x3.55 inputs re. 12 regular nputs, 4 h^jh speed inputs lor HSC. 4 fast inputs tor FC 175 x 70 x 90/ 24 snk/source 24 V DC 6 89x2.76x3 55 nputs inc. 16 regular nputs. 4 rxgh-speed inputs tor HSC. 4 last inputs for FC 16 relay outputs 225 x 70 x 90/ 36 $rik/90<rc* 24 V DC 24 relay outputs 886x2.76x3.55 nputsnc 28regular nputs. 4 high-speed inputs tor HSC. 4 last nputs tor FC 110x70x90/ 9smtoS0urce24VDC 7 smk outputs X1C. 4.33x2.76x3.55 inputs inc. 1 regular nput. 5 regular transistor 4 high-speed inputs tor outputs. 2 fast outputs HSC. 4 fast nputs tor FC (PWM'PLS.'PTO) 7 source outputs inc. 5 regular transistor outputs, 2 fast outputs (PWM/PLS/PTO) 24ІЮ 1.111 1 130 x 70 x 90/ 14sink/50urce24VDC 10 Sink outputs nc 512x2.76x355 nputs nc 6 regular nputs. 8 regular transistor ЖЯЙЗЙЙс Xi^sr - 1 TM200CKU 0.339 0.74 7 - 1 TM200C16T 0 365 0.805 0 382 0.842 0.39, - 1 TM200C24U ’ ’ ™!M=E!3U 0.882 10 source outputs, inc 1 TI420OC24T 0.416 8 regular transistor 0917 outputs. 2 last outputs------------ --------- —...... ........ .......... (PWMPLS/PTO) 1 1 TM200CE24T 0 424 32VO 40 90 175 x 70 x 90/ 20 snWscurce 24 V DC 12 snK transistor outputs 1 6.89 x 2 75 x 3 55 nputsne 4hgh-speed inc. 2 fast outputs (PWM/ nputs. 4 fast nputs tor FC PLS/PTO) 1 TM200C32U 0 468 1.032 12 source transistor 1 outputs, inc 2 fast outputs (PWM/PLS/PTO) 1 TM200C32T 0 522 1.151 16 snk outputs inc. 14 regular transistor outputs. 2 last outputs (PWM/PLS/PTO) 1 TM200C40U 0 468 1.032 1 TM200CE40U 0 483 1.065 16 source outputs, inc. 14 regular transistor outputs. 2 last outputs (PWM/PLS/PTO) 1 TM200C40T 0 522 1.151 1 TM200CE40T 0.523 1.153 175 x 70 x 90/ 24snk/source 889x2.76x3.55 24 VDCnputs.nc ’.6 regular nputs. 4 rsgh-speed nputs for HSC. 4 fast nputs tor FC (i) Easy tMrcon M200 controllers an suppaeo moi. - removable screw terminal blocks lorconnecOng the VO ■ a removable screw terminal blocs lor connectxig the power supply - a removable screw terminal bloc* for the serial Ink (2) Each Easy Modtcon 14200logic controSer has an embedded USB mm-B programming port. Рис. 2.28. Общий вид контроллера типа ТМ200СЕ40Т Ниже, в качестве примера, рассматривается контроллер типа ТМ200СЕ40Т (рис. 2.29) с расширительным блоком аналоговых входов типа ТМЗА18.
ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ ФИРМЫ ШНАЙДЕР Рис. 2.29. Общий вид контроллера типа ТМ200СЕ40Т Основные технические характеристики контроллеров ТМ200СЕ40Т: - напряжение питания =24 В; - 24 дискретных входа; - 16 дискретных транзисторных выходов (исполнение Т); - наличие быстрых входов; - любая полярность подключения дискретных входов; - тип выходов «Source»; - RS485 и Ethetrnet (исполнение Е) порты связи; - программная среда EcoStruxure Machine Expert-Basic; - языки программирования: Ladder Diagram / Instruction List; - совместимость: Windows 10 и выше. Рис. 2.30. Подключение дискретных входов 77
78 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Допускается любая полярность подключения общего провода входов. Входы 10-17 и 18-23 имеют раздельные общие выводы, соответственно, СОМ0 и СОМ1. При одинаковой полярности подключения их можно объеди­ нить. Входы 10-13 - скоростные (РС, 5 кГц). Их можно использовать в качестве обычных входов. Входы 14-17 - высокоскоростные (Н8С, 100 кГц). 2.3.2. Подключение дискретных выходов (рис. 2.31) Выходы разбиты на три группы с раздельными клеммами питания: Ѵ0+ и Ѵ0- для выходов QO-Q3, Ѵ1+ и VI- для выходов Q4—Q7 и Ѵ2+ и Ѵ2- для выходов Q8-Q15. Полярность подключения выходов фиксированная (тип Source). ѵо+і ѴО-І Q0 QI Q2 Q3 =24V 2A V2+ V2- Q8 Q9 Q10 QH Q12 Q13 Q14 Q15 Рис. 2.31. Подключение дискретных выходов 2.3.3. Подключение блока расширения аналоговых входов (рис. 3.32) Фирма Шнайдер выпускает большую гамму расширительных, как дис­ кретных, так и аналоговых модулей, различающихся числом входов - выходов и способом подключения соединительных проводов. В главе рассматривается аналоговый модуль ТМЗАІ8, имеющий 8 входов. Подключение всех входов одинаково. Вывод NO не подключается. Модуль требует автономного питания напряжением =24 В.
ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ ФИРМЫ ШНАЙДЕР +24 13+ 0 13- 79 =24V 14+ 0...10Ѵ ±10Ѵ 0...20mA 4...20mA NC 14- 10+ 15+ 10- 15- 11+ 16+ II- 16- 12+ 17+ 12- 17- Piic. 2.32. Подключение аналоговых входов 2.3.4. Создание первого проекта Конфигурация проекта Процедура конфигурации и разработки проекта: 1. Установить на компьютер программное обеспечение EcoStruxure Machine Expert-Basic. 2. Запустить программное обеспечение. Наблюдать появление окна New project (рис. 2.33). 3. Конфигурировать проект: - в окне Untrusted DLL отметить «галочкой» заголовок Remember Choice и дать команду Continue; - активизировать окно конфигурации (Configuration); - конфигурировать проект, в нашем случае: группа контроллеров М200 Logic Controllers, тип контроллера ТМ200СЕ40Т; тип расширителя TM3AI8; - тащить мышкой название контроллера ТМ200СЕ40Т на аппликацию PLC, находящуюся в окне по умолчанию (рис. 2.34);
80 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ - наблюдать в главном окне появление аппликации выбранного кон­ троллера и его технические характеристики (рис. 2.35); - выполнить аналогичную процедуру с блоком расширения (рис. 2.36); - щелкнуть по аппликации аналогового блока и в открывшейся таблице установить параметры подключенных входов, например, для входа 1 (рис. 2.37): Used - "V; Adress - %IW0.0 (устанавливается автоматически); Туре - (0-10)Ѵ; mini - 0; maxi - 1000. Рис. 2.33. Начальное окно EcoStruxure Machine Expert-Basic Таким образом: - активен 1-й аналоговый вход; - вход имеет адрес IW0.0; - на вход подается аналоговый сигнал напряжения в диапазоне 010 вольт; - минимальному значению аналогового сигнала 0 В соответствует циф­ ровой код равный нулю; - максимальному значению 10 В соответствует код 1000. 4. Присвоить проекту имя и сохранить: - активизировать иконку сохранения Save / Save as project, наблюдать открытия окна Application Protection;
ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ ФИРМЫ ШНАЙДЕР 81 - установить последовательно свойства проекта: Project Properties Front Page -> Chernov. Ответить Applay или перейти к следующему пункту свойств и ответить YES Company -> NNTY Project Information / Project Name -> Proba2 Project Protection -> Inactive Application Protection -> Inactive -> Inactive - после установки свойств система позволит сохранить проект в вы­ бранном каталоге, например Save / Save as project :D / Chernov / Proba2 Рис. 2.34. Процесс конфигурирования проекта
82 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 2.35. Конфигурация контроллера ТМ200 Рис. 2.36. Конфигурация блока расширения ТМЗАІ8
ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ ФИРМЫ ШНАЙДЕР 83 Analog inputs Address (brt Symbol агкзянні I Type____________ Stope 0 -10 V ▼ Not used Normal Ммѵ. Маи . Filter hire Unit Samphnq Units Comment 1 ms/Channei lot used 1 ms/Channel ^Bot used 1 mt Channel -W -»10V tot used 0-20 mA tot used 1 пм/Оипмі 1 m«-Chann*i Wu>ed 1 ms/Channel 0 ■ 20 mA Extended*”,lsed 1 ms/Cbannei ■ MW’ 1 ■ MW12 ■ MWM ■ MW1.S 4 20 mA ■ MW’о ■ VW1 1 4 • 20 mA Extended ^ ^^ 1 ms/Chamcl Рис. 2.37. Установка параметров аналогового блока Набор программы Перейти в режим Programming, набрать пробную программу, присвоить адреса переменным (рис. 2.38). Набор осуществляется путем перетаскивания соответствующих иконок на наборное поле. При задании адресов операндов перед буквами I (вход) и Q (выход) авто­ матически устанавливается знак %. Рис. 2.38. Исходное наборное поле программы Поверка работы программы в автономном режиме на Симуляторе: - иконкой Launch Simulator активизировать Симулятор; - активизировать нужные контакты; - иконкой Start запустить работу симулятора; - по завершению проверки иконкой Stop выйти их режима. Программа набрана и проверена, можно приступать к этапу установки связи и загрузке программы из компьютера в контроллер.
84 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 2.39. Проверка проекта в режиме симулятора Установка связи с компьютером — поставить на компьютер программное обеспечение EcoStruxure Ma­ chine Expert-Basic; - соединить компьютер и контроллер стандартным кабелем USB (сторо­ на компьютера) - mini USB (сторона контроллера); - включить питание контроллера; - включить питание компьютера. При необходимости, в диспетчере устройств компьютера (libusb-win32 devices / М200 Controller) убедит­ ся, что компьютер увидел контроллер; - запустить разработанную программу электроавтоматики, например, Proba2.smbp и сделать необходимые изменения; - перейти в окно Commissioning. Если связь между компьютером и кон­ троллером установилась, то в главном меню окна и меню Local Devices установится запись М200 (USB); - запомнить и выполнить компиляцию программы. Загрузка программы в контроллер - перейти в окно Commissioning. Если программы контроллера и компьютера совпадают, то высвечива­ ется надпись «PLC and Controller application are identical» и загружать программу не требуется; Если программы контроллера и компьютера не совпадают, то высве­ чивается надпись «PLC and Controller application are different». В этом случае требуется новая загрузка, для чего необходимо выполнить сле­ дующие действия: - щелкнуть по иконке или клавише «Login»; - щелкнуть по клавише PC to Controller (Download); - наблюдать процесс записи программы в контроллер; - по завершению записи клавишей Start Controller активизировать его работу.
ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ ФИРМЫ ШНАЙДЕР 85 Проверка автономной работы контроллера Естественно, что для реальной проверки необходимо предварительно со­ брать стенд и подключить к контроллеру необходимое количество дискретных входов. Выходы можно контролировать по установленным на контроллере све­ тодиодам. Для внесения исправлений и дополнений в программу клавишей Stop Controller остановить работу и перейти в меню Programming. Рис. 2.40. Окно записи программы в контроллер Основы программирования рассмотрены в предыдущем разделе при изу­ чении серии контроллеров ТМ221. Ниже приводится дополнительный матери­ ал, касающийся разработки практических программ, а также работы с аналого­ выми входами для контроллеров серин ТМ200. Оцифровка аналогового входа На рис. 2.41 приведен пример оцифровки 1-го аналогового входа с адре­ сом ІХѴО.О. Оцифровка осуществляется прямой пересылкой входного адреса в назна­ чаемое слово %MW1 := %І\Ѵ0.0. Цифровой код в выходном слове MW1 будет изменяться по пропорциональному закону в соответствии с заданными пара­ метрами при конфигурации проекта. Рис. 2.41. Оцифровка аналогового входа
86 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 2.4. Примеры программ электроавтоматики 2.4.1. Электроавтоматика управления светофором Постановка задачи: разработать электроавтоматику управления светофо­ ром регулирования движения автомобильного транспорта (рис. 2.42). Цель: совершенствование навыков синтеза цикловой электроавтоматики. Учебный цикл обеспечивает работу светофора в двух режимах: дневном и ночном. Дневной режим обеспечивает следующую последовательность работы светофора (рис. 2.43): - красный, движение транспорта запрещено; - красный и желтый, движение запрещено, подготовка к открытию дви­ жения; - зеленый, движение разрешено; - мигающий зеленый, предупреждение, движение разрешено; - мигающий желтый, предупреждение, въезд на перекресток запрещен. В ночном режиме обеспечивается непрерывное мигание желтого цвета. пер. Студенческий Проект реализуется на программируемом контроллере типа TM200CE40R. В качестве переключателя режимов работы (Ночь - День) используется тумблер SA1. Естественно, что в реальном проекте применяется датчик осве­ щения или времени. В качестве первоначального запуска на стенде автоматического цикла дневного режима используется кнопка SB1.
ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ ФИРМЫ ШНАЙДЕР 87 В реальном проекте все значительно сложнее, индикация осуществляется матричными светодиодными круглыми панелями, позволяющими программиро­ вать оставшееся время, пиктограммы медленно и быстро шагающих пешеходов. Кроме того светофор дополнительно оборудуется различными вспомогательны­ ми индикаторами, например, показывающими разрешение поворота и др. Работа индикации светофора на учебном стенде имитируется цветными светодиодами. Проверять работу алгоритма так же можно по светодиодам вы­ ходов контроллера. Принципиальная схема подключения приведена на рис. 2.44. Алгоритм автоматического цикла управления светофором (рис. 2.46) син­ тезируется в соответствии с циклограммой рис. 2.45.
КнЦ Цикл ТІ Мі Т2 М2 мз Т4 М3 Т5 М5 Генератор Этап 1 Этап 2 Этап 3 Этап 4 КртЖслт \__ Зеленый Зел-Миг Этап 5 СбрЦ Ц(Ок!) И.мп_3апуска Рис. 2.45. Циклограмма дневного режима светофора ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ ТЗ
ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ ФИРМЫ ШНАЙДЕР 89 Ниже приведено описание программы. RungO. Формирование отладочных сигналов Всегда =1 и Всегда =0. Rungl. Формирование сигнала автоматического дневного цикла. Синтезируется при помощи типовой релейной памяти: Память устанавливается кнопкой Цикл при первоначальном включении и автоматически при завершении каждого цикла, т. е. 8 = КнЦикл + ИмпЗапуска. Память сбрасывается автоматически по окончании каждого цикла и кнопкой «Сброс Электроавтоматики» при нештатных ситуациях, т. е. R=CбpЦ + CбpЭлa. Все остальные сигналы работают в теле цикла. Рис. 2.46_1. Вспомогательные сигналы и Цикл RungЗ-Rung8. Переключение этапов работы (рис. 2.46 2) выполняется последовательной активизацией пяти таймеров Т1-Т5, определяющих длитель­ ность включения индикаторов светофора. Уравнения включения таймеров. Т1 = Цикл; Т2 = ДП*Цикл; ТЗ = Ді2*Цикл; Т4 = ДіЗ*Цикл; Т5 = Ді4*Цикл. Логические уравнения виртуальных этапов: Этап 1 = Цикл*/ДН (красный); Этап 2 = Цикл*Д11 */ДГ2 (красный + желтый); Этап 3 = Цикл*Ді2*/ДГЗ (зеленый);
90 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Этап 4 = Цикл*Д13*/ДГ4 (мигающий зеленый); Этап 5 = Цикл*ДГ4*/ДГ5 (мигающий желтый). Рис. 2.46 2. Формирование этапов работы
ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ ФИРМЫ ШНАЙДЕР 91 Кип§9-Иип8І1 Генератор, обеспечивающий мигание сигналов, реализуется на таймерах Тб и Т7 (на циклограмме не показаны): Тб = Цикл*/АГ7 Т7 = Цнкл*Д16 Ген = Цикл*/Аі6*/А(7 Рис. 2.46 3. Генератор мигания сигналов Rungl2. Окончание цикла и перезапуск Сигнал сброса цикла СбрЦ (память): Установка 8=Этап5*Цикл; Сброс И=Ц(Ок!) Сигнал «Цикл закончен» (память): Установка памяти 8=/Цикл*СбрЦ Сброс памяти К=/ИмпЗап Сигнал повторного запуска цикла ИмпЗап (память) Установка памяти 8= СбрЦ*Ц(Ок!) Сброс памяти К=Цикл
92 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 2.46_4. Завершение цикла и перезапуск Кип§13. Выходные сигналы Красный = (Этап1+Этап2)*Цикл Желтый = (Этап2+Этап5*Ген)*Цикл Зеленый = (ЭтапЗ+Этап4*Ген)*Цикл Рис. 2.46 5. Выходные сигналы светофора Ночной режим (постоянное мигание лампы желтого цвета) обеспечива­ ется сигналом 10.2, блокирующим работу автоматического цикла и обеспечи­ вающим непрерывную работу генератора импульсов и прерывистое включение лампы желтого цвета.
ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ ФИРМЫ ШНАЙДЕР 93 2.4.2. Электроавтоматика управления кодовым замком Постановка задачи: разработать электроавтоматику РЬС управления простейшим кодовым замком. Цель: совершенствование навыков синтеза цикловой электроавтоматики. В качестве аналога взята принципиальная электрическая схема кодового замка, приведенная на рис. 2.47. Замок имеет следующие элементы управления: - датчик закрытия двери; - кнопку сброса кода; - кнопки и логику 4-значного кодирования; - кнопку ручного включения магнита открытия двери. Принцип работы замка следующий: - в исходном положении механическая защелка со скосом выдвинута под действием пружины. При открытой двери электрическая схема управления замком обесточена; - при ручном закрывании двери, благодаря скосу, она утапливается, а при полном закрытии вновь выдвигается и закрывает дверь. На схему управления подается питание; - при наборе заданного кода включается электромагнит втягивания за­ щелки и дверь может быть открыта; — после открытия защелка вновь выдвигается, а электрическое питание отключается. Кодирование заключается в последовательности подключения кнопок в принципиальной схеме. На рис. 2.47 установлен код 4268. Электромагнит открытия двери включится при условии последовательно­ го нажатия кнопок с номерами 4 —> 2 —» 6 —> 8. При нажатии кнопки 4 включается реле К2, встает на самопитание и раз­ решает работу следующего реле КЗ. При нажатии кнопки 2 включается реле КЗ, встает на самопитание и раз­ решает работу следующего реле К4. При нажатии кнопки 6 включается реле Кб, встает на самопитание и раз­ решает работу последнего кодирующего реле К5. При нажатии кнопки 8 включаются последнее реле К5 и электромагнит замка двери. Дверь может быть открыта. Главный недостаток такого замка очевиден. Замок откроется не только при последовательном нажатии кнопок, но и при одновременном. Уже при не­ большом сроке эксплуатации рабочие кнопки будут светлее остальных и опре­ делить какие кнопки следует нажимать не составит труда.
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 94 При реализации алгоритма на PLC этот недостаток легко устраняется, так как число «контактов» логических операндов не ограничено. Сброс >рсле Рис. 2.47. Принципиальная схема релейного кодового замка 220АС —.424V ОУ Кодовые клавиши О > Сомі SBTJP SB2 ]J? 2 SB3JP 3 SB4JP 4 SB5 5 SB6 др 6 SB7 у 7 SB8 8 SB9 9 sBioqp Датчик двери Сброс +24V 10.0 ComO 10.1 Q0.0 10.2 10.3 0V Y1 Магнит открывания двери а Q0.1 з СЧ О 10.4 10.5 3 10.6 & СЧ Q0.2 Пульт кодирования 10.7 Сот2 10.8 10.9 10.10 SBIIJ 10.11 10.12 КнМагнит SB12TJ? 10.13 Рис. 2.48. Схема подключения PLC
ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ ФИРМЫ ШНАЙДЕР 95 Схема подключения программируемого контроллера и общий вид пульта кодирования приведены на рис. 2.48, а релейно-контактный алгоритм управле­ ния замком на рис. 2.49. Ниже приведено описание программы. Кип^О, Формирование отладочных сигналов Всегда =1 и Всегда =0. Вип8І. Формирование сигналов запрета М5 при нажатии нерабочих кно­ пок. Rung2. Формирование сигналов запрета Мб при одновременном нажатии нерабочих кнопок.
96 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ RungЗ. Формирование общего сигнала запрета и сброса (М10) набранно­ го кода. Rung4. Логика алгоритма управления замком при рабочем коде 4268. Рис. 2.49. Программа управления кодовым замком
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ SR3B101FU 3.1. Общие сведения, технические характеристики Интеллектуальные логические реле (Smart relays) типа Zelio Logic фирмы Шнайдер (рис. 3.1), по сути, являются небольшими программируемыми кон­ троллерами, предназначенными для малой автоматизации различных, как про­ мышленных, так и непроизводственных механизмов. Рис. 3.1. Общий вид интеллектуального логического реле Выпускается большая гамма реле компактного (10/12/20 вх/вых) и мо­ дульного (с расширением до 40 вх/вых) конструктивного исполнения. Технические характеристики и система подключения реле отличаются в зависимости от его модели: - число дискретных входов и выходов: 10/12/20 для компактного испол­ нения и 10/26 для модульного; - возможность расширения для модульного исполнения (до 40вх/вых); - релейные или транзисторные дискретные выходы; - наличие аналоговых входов; - питание =12 В, пост/пер. тока 24 В, 110-240 В пер. тока; - наличие или отсутствие дисплея и кнопок управления; - среда программирования Zelio Soft 2; - языки программирования Ladder и (или) FBD, SFC; - связь с ПК: Modbus, Ethernet, CANOpen; - встроенная память резервного копирования программы.
98 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 3.2. Последовательность проектирования электроавтоматики при использовании логического реле 1. Изучить принцип работы автоматизируемого механизма. 2. Определить количество и тип исполнительных элементов (электро­ приводов, электромагнитов, электромагнитных муфт) и принять идеологию их управления. 3. Разработать систему органов управления. 4. Составить таблицу дискретных входов и выходов, определить их не­ обходимое число. 5. Выбрать тип контроллера, отвечающий требованиям со стороны ав­ томатизируемого объекта. 6. Изучить систему подключения контроллера, систему адресации вхо­ дов и выходов и начертить принципиальную схему. 7. Изучить синтаксис языка электроавтоматики контроллера. 8. Разработать алгоритмы управления, поставить на компьютер необхо­ димое программное обеспечение и набрать программу электроавтоматики на компьютере. 9. Установить связь между компьютером и контроллером, записать набранную программу в контроллер. 10. Отладить программу на стенде (рис. 3.2), а затем на реальном автома­ тизированном объекте. Предварительная отладка на стенде позволит избежать многих ошибок и значительно сократит время ввода объекта в эксплуатацию. Рис. 3.2. Общий вид отладочного стенда
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ 5ВЗВ101Ги 99 3.3. Подключение интеллектуального реле Структура и принцип работы интеллектуального реле аналогичны клас­ сическому программируемому контроллеру (см. гл. 1). При использовании ПЛК в качестве элементной базы электроавтоматики он может рассматриваться как «черный ящик» с клеммами для присоединения информационных каналов от входных и выходных сигналов (рис. 3.3). Принципиальная электрическая схема объектом управления, при его ис­ пользовании, так же представляет собой схему стыковки с ПЛК командных, контролирующих и исполнительных элементов электрооборудования. Необхо­ димая функциональная зависимость между ними обеспечивается за счет про­ граммы. вводимой в память ПЛК. Рис. 3.3. Варианты подключения интеллектуальных реле 8К2В101 ВО (-24Ѵ) и ЗНЗВІОІГО (220АС)
100 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 3.4. Принцип работы реле, сканирование Пользователю исключительно важно знать основные принципы работы контроллера, так как в отличие от жестких релейно-контактных и бесконтакт­ ных схем электроавтоматики, осуществляющих параллельную обработку ин­ формации, программируемый контроллер работает по строго фиксированному вычислительному циклу и осуществляет последовательную обработку инфор­ мации в соответствии с записанной в его памяти программой. При параллельной обработке аппаратных РКС все логические сигналы, изменение состояния которых происходит в данный момент времени, обраба­ тываются одновременно, а при последовательной в ПЛК - в строго установлен­ ном заранее порядке. Процесс последовательного считывания и обработки ин­ формации по шагам программы называется сканированием. Основу работы ПЛК задает вычислительный цикл, в общем случае состо­ ящий из трех этапов (рис. 3.4): 1. Считывание и запоминание во входном регистре логических значений входных сигналов (0 или 1), а также фиксация значений на данный момент всех сигналов промежуточной памяти. 2. Последовательная обработка данных в соответствии с программой, записанной в памяти контроллера и помещение результатов вычислений в ад­ ресованные промежуточные ячейки выходного регистра или промежуточной памяти. 3. Перепись результатов вычислений в регистровую память выходных модулей, и их передача на выходы с подключенными исполнительными эле­ ментами. Если на втором этапе работы произойдет изменение состояния каких-либо входных сигналов, то эти изменения не будут учитываться до окончания теку­ щего вычислительного цикла. Контроллер обработает эти сигналы только в сле­ дующем вычислительном цикле, т. е. произойдет задержка в один цикл (такт). В) С) 0) В) ^ычис/іигпе/і^ньій ццкл Рис. 3.4. Вычислительный цикл работы ПЛК С)
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ SR3B101FU 101 Принцип последовательного сканирования позволяет проектировать при помощи ПЛК аналоги релейно-контактных схем принципиально неработоспо­ собных при реализации на обычной жесткой логике и дает разработчику новый мощный инструмент при проектировании. Внимание! Сканирование программы в данном типе контроллера осу­ ществляется вертикальными столбцами, т. е. сверху вниз, слева направо, что необходимо учитывать при разработке тактируемых алгоритмов. 3.5. Конфигурация и создание нового проекта в среде Zelio Soft2 1. Поставить и открыть на компьютере программную среду Zelio Soft2 (рис. 3.5). Рис. 3.5. Начальное окно Zelio Soft2 2. В открывшемся окне Welcome активизировать режим Create new pro­ gram. 3. В открывшемся окне Module Selection выбрать тип интеллектуального реле (рис. 3.6) и нажать кнопку Далее. 4. В открывшемся окне Module Selection выбрать тип языка программи­ рования (рис. 3.7) и нажать кнопку далее. Примечание. В зависимости от конкретного типа интеллектуального возможно подключение блоков расширения и программирование на одном (СО) или нескольких языках программирования (ЬО, РВО, 5РС). Соответствующие меню будут автоматически открываться при конфигурации.
102 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 5. Наблюдать появление наборного поля программы (рис. 3.8). Конфигурация проекта закончена, можно набирать программу. Рис. 3.6. Окно выбора типа интеллектуального реле Рис. 3.7. Выбор языка программирования
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ SR3B101FU 103 Рис. 3.8. Наборное поле программы 3.6. Создание 1-го проекта на языке РКС Формат наборного поля языка РКС фиксирован: 5 мест для контактов (Contactl-Contact5), одно для катушки (Coil) и одно для комментария (Comment). 3.6.1. Набор простейшей релейной цепочки присвоения Выход Q1 = Вход II. Набор релейных цепочек производится путем перетаскивания из нижнего горизонтального меню экрана (рис. 3.9) необходимых операндов мышкой на наборное поле. Доступны: входы (I), аппаратные кнопки реле (Z), ячейки памя­ ти (М), выходы (Q), таймеры (Т), стандартные и быстрые счетчики, функция сравнения счетчиков (V), текстовые сообщения, подсветка экрана (L). Раскрытие адресов и синтаксиса операндов осуществляется путем щелка­ ния мышкой по соответствующей иконке. Подробное описание синтаксиса бу­ дет приведено дальше. На данном этапе необходимо перетащить вход II и вы­ ход Q1, соединив их между собой (рис. 3.10). Горизонтальные и вертикальные соединительные линии рисуются путем щелкания мышкой в соответствующих полях экрана. Стирание - вторичный щелчок.
104 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 3.9. Меню доступных операндов Рис. 3.J0. Пробная программа В падающем меню «Display» можно установить способ рисования кон­ тактов реле на наборном поле (рис. 3.11). Рис. 3.11. Способ рисования контактов на наборном поле: а - Electrical Symbol, б - Ladder Symbol Присвоить набранной программе имя и сохранить, например: File / Save As / Каталог / Progl.zm2. 3.6.2. Проверка разработанной программы в режиме Симулятора 1. Иконкой S- Симулятор активизировать режим. 2. Кнопкой RUN активизировать работу программы. 3. Щелкая мышкой по необходимым контактам проверить работу про­ граммы. По завершении проверки остановить программу (кнопка Stop) и вторич­ ным нажатием на иконку S выйти из режима Симулятора.
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ SR3B101FU 105 Рис. 3.12. Отладка программы на симуляторе 3.6.3. Загрузка разработанной программы в интеллектуальное реле 1. Соединить реле и компьютер специальным кабелем, заказанным при покупке контроллера, и наладить связь. 2. Установить режим Mode / Edit. 3. По цепи Transfer / Transfer Program / PC -» Module загрузить програм­ му в память реле. Реле находится в режиме STOP. 3.6.4. Проверка автономной работы программы 1. Установить режим Mode / Monitoring. 2. По цепи Transfer / Run Module without init переключить реле в состоя­ ние RUN. 3. Подключить к реле дискретные входы и выходы, проверить работу программы. 3.7. Синтаксис языка программирования Ladder В зависимости от исполнения контроллера могут быть доступны только один (Ladder) или несколько (Ladder и FBD / SFC) языков программирования. В данном разделе излагается наиболее простой и распространенный язык ре­ лейно-контактных символов. Для контроллера SR3B101FU доступны следующие операнды: (11-16) - дискретные входы; (Q1-Q4) - дискретные выходы; (М1-М9, МА-МѴ, N1-N9, NA-NV) - оперативная память; (Z1-Z4) - кнопки управления на корпусе реле; (Т1-Т9, ТА-ТѴ) - таймеры; (С1-С9, СА-СѴ) - счетчики; (Ѵ1-Ѵ8) - сравнение содержимого счетчиков; (TX1-TXG, RX1-RXG) - текстовые блоки (сообщения).
106 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 3.13. Окно набора программы Ladder Если щелкнуть мышкой по иконке соответствующего операнда (I, 7, М^, Т, С/ V, Ь), то открывается его адресная таблица (см. рис. 3.13, где открыта таб­ лица дискретных выходов Р). Ниже приводится расшифровка назначения столбцов адресных таблиц. 3.7.1. Дискретные входы и выходы Для того, чтобы перетащить в наборное поле контакт входа или катушки реле необходимо «зацепить» и перетащить в нужное место их аббревиатуру с адресом, т. е. Іх или Qx. При этом рисуется нармально открытый контакт реле. Для инвертирования контакта необходимо щелкнуть по нему мышкой и в открывшемся меню активизировать строку «Normally Closed». Deseret Input № Deseret Outputs Comments 01 11 КнОхл 02 12 КнСм № Comments 01 QI С J-S R охл 02 Q2 СМАЗКА Комментарий Контакт Номер по порядку ! ! ! ! ! ! Комментарий ! ! ! ! !______________ Катушка Reset ! ! ! !_________________ Катушка Set ! ! !___________________Катушка Trigger ! !____________________Катушка Стандарт !_______________________ Контакт катушки ___________________________ Номер по порядку Рис. 3.14. Расшифровка адресных таблиц дискретных входов (I) и выходов (О)
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ SR3B1O1FU 107 При рисовании выходной катушки необходимо перетаскивать значок ее функционального назначения (обычная катушка, Т-триггер, катушка установки, катушка сброса). 3.7.2. Таймеры (рис. 3.15) При программировании таймеров используются следующие операнды: - входной сигнал активизации (включения) катушки таймера; - катушка таймера ТТх (тип и уставки таймера задаются в параметрах); - выходной контакт таймера Тх; - катушка принудительного сброса таймера ТИх. Timer Counters Comments 02 Т2 Comments Т R 01 Cl С D R Т R 02 C2 C D R ! ! ! !________ Комментарий ! ! ! Катушка Reset ! !_________________ Катушка реле !____________________ Контакт реле Номер по порядку ! ! ! ! !________ Комментарий ! ! ! !_____________ Катушка сброса ! ! !_________________ Направление счета ! !____________________ Катушка счетчика !_______________________ Контакт счетчика ___________________________ Номер по порядку Рис. 3.15. Расшифровка адресных таблиц таймеров и счетчиков Процедура набора таймера аналогична: Тх - контакт, Т и R - катушки. При этом к адресу катушки автоматически добавится дополнительная буква Т. Например ТТ1 - это катушка 1-го таймера, Т1 - ее контакт (рис. 3.16). При ри­ совании выходной катушки необходимо перетаскивать значок ее функциональ­ ного назначения (главная катушка, катушка принудительного сброса). ТТ1 /.......... Т1' At |га) {ТТ1 Ь Таймер ■{[Q1 (-Выход б) Рис. 3.16. Циклограмма (а) и релейный алгоритм (б) таймера на включение Синтаксис языка предусматривает 11 видов таймеров, назначение и свой­ ства которых, задаются в окне параметров (рис. 3.17). Окно вызывается щелч­ ком мышки по катушке или контакту таймера. Здесь же задается величина вы­ держки времени (величина и число дискрет времени). Параметры необходимо загрузить в память контроллера.
108 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 3.17. Окно выбора типа и уставок таймеров На рис. 3.18 приведены примеры набора различных таймеров: ТТ1 - задержка переднего фронта; ТТ2 - задержка заднего фронта; ТТЗ - одновибратор; ТТ4 - генератор. Рис. 3.18. Пример программы набора таймеров Из рис. 3.16 видно, что релейные цепочки всех таймеров совершенно оди­ наковы, поэтому их назначение необходимо указывать в графе комментария. При необходимости, используя стандартный таймер на включение можно синтезировать любой другой, не предусмотренный в языке тип таймера.
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ЗКЗВІОІГи 109 3.7.3. Счетчики При программировании счетчиков используются следующие операнды (см. рис. 3..15): - катушка задания направления счета ОСх; - входной сигнал активизации (включения) счета; - катушка счетчика ССх (тип и уставки счетчика задаются в парамет­ рах); - выходной контакт счетчика Сх; - катушка принудительного сброса счетчика ИСх. Для вызова окна параметров необходимо щелкнуть мышкой по катушке или контакту счетчика. Рис. 3.19. Окно параметров счетчика Диаграмма работы счетчика приведена на рис. 3.20. ^0? П Рис. 3.20. Диаграмма работы счетчика
110 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ На рис. 3.21 и 3.22 приведены, соответственно, синтез и практическая реа­ лизация счетчика на 4 с автоматическим сбросом при достижении уставки счета. ОС1 СС£ А АА СШ Аг'Р. ГТ С1_______________ ЯС1_____________ а) 4 ЭС 1)- Наир ^СС1)~ Вход Яи^І---- (КС 1Ь Сброс ■ЩI------ ---- (Ер4)- Выход б) Рис. 3.21. Синтез счетчика с самосбросом Рис. 3.22. Программа счетчика с самосбросом 3.7.4. Сравнение содержимого счетчиков Язык электроавтоматики позволяет сравнивать содержимое двух счетчи­ ков на: большее значение С1 >С2; большее или равно С1>С2; равенство С1 =С2; неравенство С1 ^С2; меньше или равно С1<С2; меньшее значение С1 <С2. Выходом инструкции является бит, адресуемый буквой V. Способ сравнения и числовые уставки задаются в параметрах (рис. 3.23). Для вызова окна параметров необходимо щелкнуть по инструкции V.
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ЗКЗВІОІШ 111 Пример программы приведен на рис. 3.24, где в динамическом режиме сравнивается содержимое счетчиков С1 и С2 на равенство (выход VI, Ql) и не­ равенство (выход Ѵ2, 92). В каждом счетчике предусмотрены раздельные входы, соответственно: II, 14 - входы принудительного сброса; 12,15 - входы активизации счета на вычитание; 13,16 - рабочие счетные входы. Рис. 3.23. Окно параметров инструкции сравнения счетчиков Рис. 3.24. Сравнение содержимого счетчиков 3.7.5. Триггерные схемы В программе рис. 3.25 приведены примеры программирования следую­ щих типов триггерных алгоритмов: М3, М4, рі - счетный тактируемый триггер, построенный классическим способом;
112 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Q2 - счетный триггер, использующий специальную команду языка Zelio Logic; Q3, Q4 - RS_Tpnrrep с использованием команд установки и сброса; Q5 - классическая релейная память с самопитанием (RS_Tpnrrep). Рис. 3.25. Варианты триггерных алгоритмов Сдвиговый регистр В синтаксисе языка Zelio Logic отсутствуют инструкции формирования сдвиговых регистров, по этой причине их следует проектировать самостоятель­ но, используя инженерную методику, приведенную в главе 13 и [11]. На рис. 3.26 приведен вариант кольцевого регистра (Q1-Q4), построенно­ го на тактированных D-триггерах. Назначение органов управления регистром: И - вход начальной установки содержимого регистра (Ql=l); 12 - вход установки режима работы (пошаговый сдвиг от кнопки 13 при 12 = 0 и непрерывный сдвиг от импульсов генератора при 12 = 1); 13 - вход пошагового сдвига. Назначение остальных ячеек: М3, М4 - тактирование импульса начальной установки; М5. Мб - тактирование входа пошагового сдвига; ТТ1 - генератор тактированных импульсов; М7 - тактированный вход регистра. Формирование тела регистра (Q1-Q4) осуществляется в обратном порядке. В зависимости от установленного режима (вход 12) выполняется разовый или непрерывный кольцевой сдвиг.
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ SR3B101FU 113 Рис. 3.26. Сдвиговый регистр на D-триггерах 3.7.6. Аппаратные кнопки управления (Z1-Z4) и сообщения (Тх, Их) Синтаксис языка позволяет получить доступ к четырем кнопкам, уста­ новленным на корпусе реле и использовать их в качестве командных органов управления. На приведенном ниже примере покажем, как перевести классическую ап­ паратную схему управления нерегулируемым асинхронным приводом (рис. 3.27) на управление от интеллектуального реле Zelio Logic. Рис. 3.27. Силовая схема (а) и аппаратная схема управления (б) асинхронным двигателем
114 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Схема рис. 3.27 обеспечивает: — прямой пуск двигателя Ml по или против часовой стрелке, в зависимо­ сти от нажатия кнопки SB1 - вперед или SB2 - назад; - прямой реверс двигателя на ходу с любого направления вращения; - останов двигателя на выбеге при нажатии кнопки SB2; - максимальную защиту при помощи силового автомата QM1; - тепловую защиту при помощи теплового реле FR1 ; - нулевую защиту при помощи замыкающегося контакта автомата QM1, включенного в цепь управления силовыми пускателями КМ1 и КМ2. На рис. 3.28 приведена принципиальная схема, решающая туже задачу, но с реализацией электроавтоматики на контроллере Zeilo Logic. РКС-алгоритм управления приведен на рис. 3.30. Там же предусмотрена выдача на дисплей контроллера диагностических сообщений о текущем режиме работы двигателя. Рис. 3.28. Принципиальная схема управления АД от интеллектуального реле Zelio Logic
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ SR3B101FU 115 Для управления приводом используются кнопки 71, 72 и 73, располо­ женные на корпусе интеллектуального реле. Считывание информации с кнопок (рис. 3.29) производится программным путем. Включение силовых пускателей КМ1 и КМ2 осуществляется от выход­ ных реле К1 и К2 интеллектуального реле. В схеме управления предусмотрены взаимные электрические и механические блокировки. Контакты защитных аппаратов включены, как в цепь силовых пускателей, так и через реле КЗ, на вход контроллера для обеспечения нулевой защиты, так как памяти командных сигналов реализованы программным путем. Zx Keys № 01 02 03 04 Z1 Z2 Z3 Z4 Comments KhCW Комментарий Адрес кнопки Номер Рис. 3.29. Расшифровка адресной таблицы аппаратных кнопок Рис. 3.30. Алгоритм управления АД Из меню Zelio Entry на наборном поле можно показать аппаратный экран интеллектуального реле (рис. 3.31).
116 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 3.31. Отображение экрана реле на наборном поле 3 .7.7. Синтез управления манипулятором В заключение раздела выполним синтез РКС-алгоритма управления за­ хватом инструмента манипулятором в инструментальном магазине станка с числовым программным управлением. Обращаем внимание, что реализовать полный цикл автоматики выбора и смены инструмента станка с ЧПУ на данном контроллере, ввиду ограниченности аппаратного ресурса, невозможно. Данный пример - это учебный фрагмент синтеза реальной программы. На рис. 3.32 и 3.33 приведены, соответственно, движения манипулятора в процессе захвата инструмента в магазине и циклограмма работы цикла. Инструментальный магазин Следующий Манипулятор Рабочий инструмент Движения манипулятора в цикле Захвата: 1 - вверх (захват) 2-от станка (магазина) 3 - вниз 4 - к станку с инструментом I Стойка (ось 7) "и Шпиндель (ось У) Рис. 3.32. Движения манипулятора в цикле захвата
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ЗИЗВІОІШ 117 РЦ ВклЦ Ц(Захв) Вверх Вниз К^) К(Т) Влево(от ставка) Вправо “^ К(<-) а СбрЦ Захв(Ок!) Рис. 3.33. Циклограмма операции захвата инструмента манипулятором в магазине Локальный цикл ЗАХВАТ предусматривают следующую последователь­ ность выполнения операций: - проверка несовместимых циклов (Запр); - проверка исходного положения (Кисх) и формирование сигнала раз­ решения цикла (РЦ); - формирование сигнала тела цикла Ц(Захв); - перемещение манипулятора вверх М('І') и захват инструмента в мага­ зине; - перемещение манипулятора с инструментом от станка М(«—), т. е. вы­ таскивание инструмента из магазина. Зажим инструмента в магазине осуществляется пружинным механизмом и манипулятор преодолевает его действие. Предусмотрена задержка выполнения операции для обеспечения полноценного захвата инструмента клешней манипулято­ ра при движении вверх; - перемещение манипулятора вниз М(],); - перемещение манипулятора с инструментом к станку в позицию ожи­ дания М(—»);
118 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ - сброс (СбрЦ) локального цикла захвата; - формирование ответного сигнала о завершении цикла Ц(Ок!). Внимание: Направление стрелок в сигналах горизонтального перемеще­ ния манипулятора от станка и к станку весьма условно, так как зависит от места обзора. В тексте и в алгоритмах принято М(<—), это выдвижение, т. е. от станка, и наоборот М(—>), это возврат, т. е. к станку. Анализ циклограммы дает следующие результаты: - Глобальный запрет формируется из суммы сигналов всех других несовместимых циклов (Запрет): Запрет = Ц(Ноль) + Ц(ПИ) + Ц(ПГ) + ЩСм)+...., т. е. при активных локальных циклах выхода в ноль, поиска инструмента, поис­ ка гнезда, смены инструмента и т. д. - Контроль исходного положения магазина и манипулятора (Кисх): Кисх= Кфиск(м) -ДУДІ- К^)-К(-^-(К(по) + К(прот)), т. е. при зафиксированном магазине, штатном положении датчиков магазина Д1 и Д2, нижнем, вдвинутом и вертикальном положении манипулятора. - Разрешение цикла РЦ = Запрет Дисх ПИ(ОкІ)-У(вне)-Захв(ОкІ), т. е. при отсутствии запрета, наличия сигнала исходного положения, закончен­ ном цикле поиска инструмента, отсутствия шпинделя в клешне манипулятора, отсутствия блокировочного сигнала о завершении цикла захвата. - Сигнал цикла операции захвата Ц(Захв) Установка памяти сигнала Цикл: 8(Ц)= РЦ КнЦ, т. е. при наличии разрешения и нажатии кнопки активизации. Сброс памяти: РЩ)= СбрЦ + Сбр. Напомним, что релейная память выключается размыкающимися контактами, поэтому все сигналы отключения R необходимо инвертировать. - Движение манипулятора вверх М(|). Реализуется при помощи стан­ дартной релейной памяти У=(8+У)*/К: сигнал установки памяти 8(Т) = КнЦ ■ а ■ Ц(Захв); сигнал сброса памяти Я(Т) = К(<-) К(1)- М(<-) ■ Ц(Захв);
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ЗКЗВІОІЕи 119 АГ(Т)= (.Ь#) + Л/(Т))-А(Т).Ц(За.^ манипулятор вверх - Движение манипулятора вниз М(|) реализуется комбинационным уравнением: М(Ѵ) = Л/(Т) -Ц(Захв), т. е. это инверсия движения вверх. - Промежуточный сигнал а а = (/?(<-) #(Т)Л/(<-) +а) Ц(Захв). Промежуточный сигнал а разделяет циклограмму на две части, позволяя тем самым устранить неопределенности решения задачи, так как состояния сигналов в начале цикла и в его конце совпадают. Следует напомнить, что такой сигнал нужно всегда, не задумываясь, вво­ дить в циклограмму при разработке алгоритмов управления подобными цикла­ ми. - Движение манипулятора от станка М(<—): сигнал установки памяти 5(<-)= ^(^Аг • К{-^-М(У)-а-Ц(3ахв); сигнал сброса памяти ^(<—) = ^(Ф) •/<(<—) • а • Ц(3ахв); выдвижение манипулятора М(<—)= (8(<—)+М(<г-)У К(<г-)-Ц(Захв). Выдвижение манипулятора активизируется задержанным сигналом кон­ троля его верхнего положения К(])Д1, чтобы обеспечить полноценный захват клешней инструмента в магазине перед его вытаскиванием. - Движение манипулятора к станку М(—►), это инверсия движения от станка в теле цикла, т. е. М(—>)= М^і—уЩЗахв). - Сигнал сброса цикла. Формируется при условии завершения всех дви­ жений и возврата манипулятора в исходное положение. Сбрасывается сигналом «Захв(ОК!) Сбр(Ц)= (Ц(Дахв)-К(1)-К(^Уа+Сбр(Ц)УЗ^^ . - Вспомогательный сигнал «Захват выполнен». Предназначен для раз­ решения выполнения следующей операции общего цикла смены Захв(ОК\) = (Сбр(Ц)-Ц(Захв) + Захв(ОК\))Сбр ■ Станок При необходимости, во все уравнения движения манипулятора можно вве­ сти сигнал дополнительные сигналы прерывания для работы в пошаговом режи­ ме, а также наладочные сигналы прямого управления электромагнитами [11-13]. Синтезированный по полученным логическим уравнениям релейный ал­ горитм приведен на рис. 3.34. Назначение адресов входных сигналов:
120 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 24 - Кнопка Цикл (КнЦ); 12 - Манипулятор вверху (КТ); 13 - Манипулятор выдвинут (К<—); 14 - Манипулятор внизу (К|); 15 - Манипулятор у станка (вдвинут) (К—>); 16 - Сброс электроавтоматики. Назначение адресов выходных сигналов: 91 - Манипулятор вверх М({); 93 - Манипулятор вниз М([); 92 - Манипулятор от станка М(<—); 94 - Манипулятор к станку М(—►). Назначение адресов промежуточных сигналов: 91-7 - Цикл (выходной для контроля); МО - Наладочная ячейка «Всегда =0»; М1 - Наладочная ячейка «Всегда =1»; М3 - Глобальный Запрет; М4 - Контроль исходного положения Кисх, разрешение работы; М5 - Цикл; Мб - Сигнал включения ЗЦ) памяти «Манипулятор Вверх»; М7 - Сигнал выключения ИЦ) памяти «Манипулятор Вверх»; М8 - Промежуточный сигнал; М9 - Сигнал включения 8(«—) памяти «Манипулятор от станка»; МА - Сигнал выключения К(«—) памяти «Манипулятор от станка»; МВ - Сигнал сброса цикла. МС - Сигнал «Захват ОК!». Отметим, что существуют и другие методы синтеза цикловых алгорит­ мов, например, метод, так называемого счетчика последовательности, см. гл. 13 и [11]. Важное замечание. 1. Сканирование релейных цепочек в данном контроллере осуществля­ ется не горизонтальными строчками, а вертикальными, т. е. сверху вниз, слева направо. 2. Это обстоятельство может привести к совершенно неожиданным эффек­ там, когда, некоторые типовые, проверенные блоки программы перестают нор­ мально работать. Особенно, это касается тактируемых алгоритмов (см. рис. 3.35). 3. В данном примере было обнаружено, что при активизации цикла захва­ та, перед движением манипулятора вверх (90, несанкционированно, кратковре­ менно, включается электромагнит движения вниз (93), хотя в принятой идеологии
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ЗКЗВЮІЕи 121 управления это не было предусмотрено. По этой причине, для «чистоты» работы алгоритма, была введена блокировочная цепь 93= М5*/91* (13+14*94). Заметим, что по сути, это не повлияет на нормальную работу манипуля­ тора, так как просто приводит к поджиму манипулятора в исходном положении, что часто даже делается специально. 4. Заранее предусмотреть подобный эффект очень сложно и нужно быть к этому готовым. Рис. 3.34. Алгоритм цикла Захват (начало)
122 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 3.34. Алгоритм цикла Захват (окончание) Рис. 3.35. Алгоритм проверки влияния способа сканирования на работу алгоритмов
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ SR3B101FU 123 3.8. Синтаксис и программирование на языке функциональных схем (FBD) 3.8.1. Общие сведения Для программирования электроавтоматики на языке функциональных схем необходимо: - при конфигурации нового проекта в окне Module Selection выбрать язык FBD (см. рис. 3.7) или изменить тип языка на FBD в существую­ щем проекте по цепи: Module Module Selection / Programming Назад/Вперед - выбрать тип реле поддерживающий язык FBD окно Select programming type; - сохранить изменения и открыть наборное поле языка FBD (рис. 3.36). I File Edit Mode Module Ze*o2 COM Іг*жІ« Options Display Directories Too* Draw Window ’ Рис. 3.36. Наборное поле языка FBD Наборное поле языка FBD включает: - главное горизонтальное меню редактирования (File, Edit, Mode, Mod­ ule и т. д.);
124 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ - левое меню входов, соответствующее выбранной конфигурации реле (Н-І6); - правое меню выходов (Q1-Q4); - нижнее горизонтальное меню доступных ресурсов программирования (IN, FBD, CFS, LOGIC, OUT). При подключении к компьютеру контроллера внизу окна будет также отображаться меню статуса конфигурации проекта. Меню IN (рис. 3.37) позволяет программировать следующие типы входов (слева направо, сверху вниз): - физические дискретные входы 11-16; - физические аналоговые входы; - физические дискретные входы с фильтром; - физические аналоговые входы с фильтром; - всегда = 1 (отображается внутри наборного поля); - всегда = 0 (отображается внутри наборного поля); - ввод числа в наборном поле (NUM); - генератор Т = 1 с (отображается в наборном поле); - четыре аппаратных кнопки (1-4), расположенных н панели интеллек­ туального реле (отображается в наборном поле); — летнее / зимнее время; - ввод целочисленных чисел через Modbus; - физический аналоговый вход, конвертируемый в цифру (XT). Рис. 3.37. IN - доступные типы входных сигналов Меню OUT (рис. 3.38) позволяет программировать следующие типы вы­ ходов - физические дискретные выходы Q1-Q4; подсветка панели (LCD), отображается внутри наборного поля; вывод целочисленных чисел; физические аналоговые выходы, конвертируемые в цифру.
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ SR3B101FU 125 Рис. 3.38. OUT -доступные типы выходов Логические задачи решаются путем набора: - команд логики (LOGIC) и - функциональных команд (FBD). Связь между входами, логическими элементами и выходами может осу­ ществляться двумя способами (меню Type of Writing): - рисованием физических линий или - указанием текстовых адресов. Доступные логические функции (LOGIC), рис. 3.39: NOT - логическая инверсия; AND - логическое умножение (И); OR - логическое сложение (ИЛИ); NAND - логическая функция И_НЕ; NOR - логическая функция ИЛИ_НЕ; XOR - исключающее ИЛИ (неравнозначность). Рис. 3.39. Доступные логические элементы Доступные функциональные команды (FBD), рис. 3.40: Timer А/С - Таймер универсальный; Timer В/Н - Одновибратор; Timer Li - Генератор универсальный; Timer BW - Формирователь такта; Timer А/С - Таймер универсальный; Timer В/Н - Одновибратор; Timer Li - Генератор универсальный; Bistable - Т-триггер; Set/Reset - RS-триггер; Boolean - Логический дешифратор; Сап - Преобразователь;
126 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Preset Count - Up/Down счетчик с внутренней предустановкой; Up/Down Count - Up/Down счетчик с внешней предустановкой; Preset H-Meter - Счетчик часов (установка); Time Prog - Таймеры (день, неделя, год); Gain - Gain Function - Смещение аналогового сигнала (Gain Function); Trigger - Триггер Шмидта; Mux - Мультиплексор; Max/Min - Определение зоны; +/—/= Арифметические Сложение / Вычитание; * /%/= Арифметические Умножение / Деление; Text - Text; Display - LCD Screen Display; Compare - Сравнение и др. Рис. 3.40. FBD - доступные функциональные команды PID-регулятор (рис. 3.41) Рис. 3.41. ПИД-регулятор
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ SR3B101FU 127 3.8.2. Примеры программирования Разветвленная логическая цепь (рис. 3.42), реализующая уравнение Q1 = (І1+/І2)*(/ІЗ+І4)*І5. Рис. 3.42. Разветвленная логическая цепь с выходом, активизируемым по логическому И Функциональная схема показана в режиме «мониторинга» (Mode/ Monitoring). Аппликации базовых логических элементов имеют четыре входа. Неис­ пользуемые входы не влияют на работу алгоритма. Цепи, находящиеся в единичном «включенном» состоянии показываются красным цветом и сопровождаются комментарием ON - включено. Цепи, находящиеся в нулевом «выключенном» состоянии показываются синим цветом и сопровождаются комментарием OFF - выключено. Маркировка логических элементов присваивается автоматически в после­ довательности набора элементов. При помощи установки параметров марки­ ровку можно отключить и заменить на пользовательский комментарий. Чтобы вызвать окно параметров необходимо щелкнуть мышкой по нужному элементу (рис. 3.43).
128 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Create a MACRO Ctr1*M Display the MACRO Copy Ctrt+C Cut CtrUX Clear Order Ungroup Рис. 3.43. Установка параметров логического элемента Рис. 3.44. Разветвленная логическая цепь
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ SR3B101FU 129 Разветвленная логическая программа (рис. 3.44), реализующая две функ­ ции: - постоянное включение выхода Q 1=1 и - логическое уравнение Q2 = ((11 *12) + (13*/І4) + І5)*І6. Логический дешифратор (Boolean) рис. 3.45 В параметрах в двоичном коде устанавливаются комбинации входных сиг­ налов, при которых должен быть включен (или выключен) адресуемый выход. Рис. 3.45. Двоичный дешифратор Реверсивный логический шифратор (Cam) рис. 3.46 Функция имеет три входа установки внутреннего десятичного кода: Reset - сброс в единичное состояние; Up - увеличение значения кода; Down - уменьшение значения кода и девять выходов: (Outl-Out8) - рабочие выходы; Position - индикатор текущей позиции. Каждой текущей позиции, заданной входами Up/Down, в параметрах устанавливается номер выхода, который должен быть включен. В приведенной программе входом Up установлено внутреннее число 6 (см. последний 9-й выход инструкции). В соответствии с кодировкой таблицы
130 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ параметров включены выходы 91 и 93. Таблица закодирована в двоичном коде, поэтому задано 16 шагов программы, что соответствует максимальному числу возможных комбинаций для 4-х разрядов. Рис. 3.46. Шифратор С помощью данной инструкции легко реализовать реверсивный сдвиго­ вый регистр с любой комбинацией начально установленных битов. Триггеры Синтаксис языка позволяет организовать, например, следующие типы триггеров (рис. 3.47): КЗ-триггер (см. выход рі); Т-триггер (см. выход 92); Тактируемый Т-триггер на Исключающем ИЛИ (см. выход 93); Классическая релейная память (КЗ-триггер) на двух логических эле­ ментах ИЛИ-НЕ (см. выход 94). Диаграммы работы перечисленных триггерных схем приведены на рис. 3.47, а рабочая программа на рис. 3.48.
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ЗКЗВЮІГи М1 R___ I 22 X в) Х(П 01 г) 5 R 01 Рис. 3.47. Диаграммы работы триггеров Рис. 3.48. Триггеры 131
132 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ На рис. 3.48: а) готовый RS-триггер языка FBD; б) готовый Т-триггер языка FBD; в) функциональный Т-триггер: 14 и Z1 - два независимых входа X; В28 - логическое ИЛИ; В21 - формирователь такта Х(т); В23 - Т-триггер Q3=(X(t) /= Q3); г) функциональная RS-память (Z3 - Set, Z4 - Reset). Таймеры Синтаксис языка позволяет организовать следующие типы таймеров. Таймеры с заданием уставок через параметры (рис. 3.49): Рис. 3.49. Таймеры с заданием уставок через параметры Универсальный Timer А*С (см. выход Q1) Заданием параметров позволяет осуществить задержку переднего, задне­ го или обоих фронтов входного сигнала. Для вызова окна параметров необхо­ димо щелкнуть мышкой по аппликации таймера. Таймер имеет два входа: - информационный (подключен к входу И); - сброс (16 на рис. 3.49) и пять выходов (в последовательности их отображения):
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ SR3B101FU 133 - битовый выход, отображающий задержанный входной информацион­ ный сигнал (подключен к выходу Q1); - цифровая уставка (РѴ - Preset Value) задержки переднего фронта; - текущее время задержки (СѴ - Current Value) задержки переднего фронта; - РѴ заднего фронта; - СѴ заднего фронта. Выдержка времени задается в параметрах с дискретностью 0.1с (10 дис­ крет = 1 секунда). Таким образом, имеется доступ к текущему состоянию таймера. Одновибратор Timer В*Н (см. выход Q2) Предназначен для формирования выходного импульса заданной длитель­ ности, отсчитываемого от переднего фронта входного сигнала. Таймер имеет два входа: - информационный (12 на рис. 3.49) и - сброс (16 на рис. 3.49), и три выхода: — битовый выход одновибратора (подключен к выходу Q2); - цифровая уставка (РѴ) длительности выходного импульса; — текущее время (СѴ) импульса. Универсальный генератор импульсов Timer Li (см. выход Q3) Позволяет через параметры формировать требуемую последовательность длительности и паузы импульсов. Генератор имеет один информационный (запускающий) вход (13 на рис. 3.49) и семь выходов: - битовый выход генератора (подключен к выходу Q3); - цифровая уставка (РѴ) длительности импульса; — текущее время (СѴ) импульса; - цифровая уставка (РѴ) длительности паузы; - текущее время (СѴ) паузы; - цифрой выход режима работы (РѴ): (число генерируемых импульсов, время генерации, непрерывная генерация); - отображение текущего значения информации заданного режима (СѴ). Формирователь тактов универсальный Timer BIT (см. выход Q4) Заданием параметров можно формировать импульсы длительностью один вычислительный цикл по переднему, заднему или обоим фронтам входного сигнала.
134 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Формирователь имеет один информационный (запускающий) вход (14 на рис. 3.49) и один выход. Поскольку увидеть выходной импульс на экране дис­ плея не предоставляется возможным в схему введена «ловушка» в виде КЗтриггера и задействован выход Р4. Таймеры с внешним заданием уставок (рис. 3.50) Рис. 3.50. Таймеры с внешним заданием уставок Универсальный Timer А*С (см. выход Q1) Осуществляет задержку переднего, заднего или обоих фронтов входного сигнала. Тип задержки задается в параметрах, а их цифровые значения внеш­ ним источником (на учебных программах от входа NUM). Таймер имеет четыре входа: - информационный (подключен к входу II); - сброс (15 на рис. 3.50); - цифровая уставка (РѴ - Preset Value) задержки переднего фронта за­ данного в параметрах входного сигнала; - цифровая уставка (РѴ) задержки заднего фронта заданного в парамет­ рах входного сигнала
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ SR3B101FU 135 и три выхода (в последовательности их отображения): - битовый выход, отображающий задержанный входной информацион­ ный сигнал (подключен к выходу Q1); - текущее значение СѴ задержки переднего фронта; - текущее значение СѴ задержки заднего фронта. Одновибратор Timer В*Н (см. выход Q2) Предназначен для формирования выходного импульса заданной длитель­ ности, отсчитываемого от переднего фронта входного сигнала. Таймер имеет три входа: - информационный (12 на рис. 3.50) - сброс (15 на рис. 3.50) - цифровая уставка (РѴ) длительности выходного импульса и два выхода: - битовый выход одновибратора (подключен к выходу Q2); - текущее время (СѴ) импульса. Универсальный генератор импульсов Timer Li (см. выход Q3) Позволяет через параметры формировать требуемую последовательность длительности и паузы импульсов. Генератор имеет четыре входа: - информационный (запускающий) вход (на рис. 13); - цифровая уставка (РѴ) длительности импульса; - цифровая уставка (РѴ) длительности паузы; - цифрой вход задания (РѴ) числа генерируемых импульсов или время генерации. Тип задания и устанавливается в параметрах и четыре выхода: - битовый выход генератора (подключен к выходу Q3); - отображение текущего значения (СѴ) длительности импульса; - отображение текущего значения (СѴ) длительности паузы; - отображение текущего значения (СѴ) числа импульсов. Генератор фиксированной частоты с периодом 1с (см. выход Q4) Программируется путем перетаскивания их меню входов IN. На рис. 3.50 показан также пример деления частоты генератора на 4 с и вывод информации на выход Q4. Вход 15 позволяет блокировать импульсы генератора.
136 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 3.51. Счетчики Предусмотрены следующие типы счетчиков (рис. 3.51): Реверсивный счетчик UP/Down Counter с заданием уставок через пара­ метры (см. выход Q1). Максимальная уставка счета ± 32 767(8). Счетчик имеет три входа: - вход на сложение Up; - вход на вычитание Down; - вход сброса Reset и четыре выхода: - битовый выход достижения уставки счета; - цифровая уставка (РѴ) счета; - текущее состояние (СѴ) счетчика; - время сброса выхода счетчика (Current Timer). Реверсивный счетчик UP/Down Counter с внешним заданием уставок (см. выход Q2) Счетчик имеет пять входов: - вход на сложение Up; - вход на вычитание Down; - вход сброса Reset; - вход активизации предустановки Preset;
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ SR3B101FU 137 - цифровой вход внешней установки уставки счета и два выхода: - битовый выход достижения уставки счета; - текущее состояние (СѴ) счетчика. Счетчик времени Preset Hour Counter (см. выход Q3) Предназначен для отсчета заданного интервала времени, измеряемого в часах и минутах, по истечении которого включается его битовый выход. Уставки счетчика задаются в параметрах. Счетчик имеет два входа: - активизации отсчета времени Start; - вход сброса Reset и пять выходов: - битовый выход достижения заданного интервала времени; - цифровая уставка (РѴ) числа часов; - текущее состояние (СѴ) числа часов; - цифровая уставка (РѴ) числа минут; - текущее состояние (СѴ) числа минут. Быстрый счетчик H-Speed Counter (здесь не рассматривается) Инструкция MUX-мультиплексор Предназначена для селективной передачи двух 16-ти разрядных слов на выход инструкции (рис. 3.52). Имеет два входа: - битовый вход (на рис. II) переключения входных слов; - вход задания 1-го слова; - вход задания 2-го слова и один выход. Инструкция сравнения Compare Предназначена для сравнения двух аналоговых или цифровых величин на: — — - равенство, неравенство, большее или меньшее значение. Условие сравнения задается в параметрах.
138 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ На рис. 3.52 приведен алгоритм сравнения на равенство содержимого двух слов, переключаемых при помощи мультиплексора с эталонной величи­ ной. Инструкция имеет три входа: - бит активизации; - слово источника; - эталонное слово и один битовый выход (на рис. рі). Битовый выход включается при выполнении заданных условий сравнения. Рис. 3.52. Мультиплексор, Сравнение содержимого слов Инструкция выделения зоны Compare in Zone Предназначена для определения нахождения величины эталонного слова в заданных пределах (см. рис. 3.52). Инструкция имеет четыре входа: - битовый вход активизации (14 на рис. 3.52); - эталонная величина; - минимально допустимое значение; - максимально допустимое значение и один битовый выход (на рис. Q2), включаемый при выполнении условий сравнения.
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ЗКЗВЮІГи 139 Предусмотрена также классическая инструкция Триггера Шмидта, поз­ воляющая в гистерезисном режиме управлять битовым выходом по заданным уровням входного аналогового сигнала. Арифметические инструкции Предусмотрены две арифметические инструкции: - сложения / вычитания и - умножения / деления. Инструкции имеют четыре входа и два выхода. Назначение входов и вы­ ходов, а также принцип работы инструкций пояснякт рис. 3.53. Рис. 3.53. Арифметика Пример синтеза алгоритма управления реверсивным нерегулируемым АД на языке РВИ В заключение на рис. 3.54 показана РЬС-программа управления ревер­ сивным асинхронным двигателем, написанная (нарисованная) на языке функ­ циональных инструкций контроллера типа Zelio-Logic. Программа является аналогом типовой релейно-контактной схемы управ­ ления, приведенной ранее на рис. 3.27 и 3.28.
140 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 3.54. Управление реверсивным АД Назначение входов (I): II - Кнопка Вперед (SB1); 12 - Кнопка Назад (SB2); 13 - Кнопка Стоп SB3 (инверсно, т. е. нормально замкнута); 14 - Силовой автомат QM1 (инверсно, т. е. нормально включен); 15 - Тепловое реле FR1 (второй контакт, нормально выключен). Назначение выходов (Q): Q1 - Вперед (Kl -à КМ1); Q2 - Назад (К2 Э КМ2). Для организации памяти в программе использованы две функциональные инструкции RS-тригтеров (В44 и В45). Алгоритм обеспечивает реверс двигате­ ля, как через промежуточный останов, так и на ходу. На входах памятей организована нулевая защита, исключающая самопро­ извольный запуск двигателя при срабатывании автоматического выключателя или теплового реле, а на выходах памятей предусмотрена блокировка, исклю­ чающая одновременное включение выходных сигналов Q1 и Q2, управляющих силовыми пускателями.
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ SR3B1O1FU 141 3.9. Программирование на языке SFC 3.9.1. Общие сведения о языке SFC В данном контроллере язык SFC (Sequential Function Chart) является со­ ставной частью языка FBD. Подобные языки относятся к языкам последовательного графического представления этапов работы механизма, предваряемых условиями разрешения выполнения каждого этапа. Следует помнить, что, несмотря на похожую идео­ логию, синтаксис графических языков разных фирм, довольно сильно отлича­ ется и всегда следует придерживаться сопроводительной технической докумен­ тации. Отличается и расшифровка аббревиатур. В общем случае программа (рис. 3.55) состоит из начального шага SO по­ следовательности рабочих шагов (этапов) S1-S7, описывающих активные дей­ ствия исполнительных органов (включить шпиндель, включить охлаждение, повернуть манипулятор на 90 градусов и т. д.) и переходов 1-7, описывающих условия разрешения выполнения этапа (инструмент зажат, манипулятор в ис­ ходном положении, шпиндель выключен и т. д.). Таким образом, она представ­ ляет собой граф последовательных шагов и переходов, синтезированных с уче­ том правил синтаксиса языка. Перед программой SFC и по ее завершению могут находится классиче­ ские блоки FBD-программ. Шаги программы обозначаются буквой S (Step). Синтаксис языка позволяет строить как простейшие линейные последова­ тельности шагов (операций), так и различные разветвленные структуры с раз­ ветвлениями и сходимостями по логическим функциям И, ИЛИ. На рис. 3.56 приведено рабочее меню языка SFC контроллера Zelio, включающее следующие иконки; - начальный шаг с сигналом сброса; - начальный шаг без сброса; - текущий шаг; — разветвление по ИЛИ; - сходимость по ИЛИ; - разветвление по И; - сходимость по И. Обращаем внимание, что в отличие от рис. 3.55 в контроллере Zelio шаги и переходы отображаются в общей иконке.
142 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ КнСброс Lad-0 -IZRST S0S.127J г -|ZRST On! OnN| сброс ой КнЦ —11--- Г- -L.Set.SOj КнЦ ЫІ— программы STL і----------- 1 Включение Set Цикл| цикла Контроль 1 Set SI I включения цикла, переход к шагу 1 Шаг 1 jSetOnll Операция 1 Оп1 Коп! Контроль выпол­ нения операции 1, переход к шагу 2 4 Set Оп2І Операция 2 Оп2 Коп2 Контроль выпол­ I-----1 I----- 1 I—I Set S3 I нения операции 2, переход к шагу 3 Опб Копб OnN -Ж Контроль выпол­ нения операции 6, переход к шагу 7 --------- |RstOnN| Квыкл ________ Н I |Rst Циклі Шаг 7 Выключение операций и цикла Контроль выпол­ 1 Set SO I нения операции 7, переход к шагу О I------------------- 1 End I Рис. 3.55. Блок-схема цикла в формате 8РС Рис. 3.56. Меню языка 8РС
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ SR3B101FU 143 На рис. 3.57 и рис. 3.58 приведены, соответственно, рабочая программа и диаграмма работы простейшего последовательного графа, позволяющая понять, как работают подобные языки. Главное правило: работает только сигнал перехода активного шага. Граф включает: SO - начальный шаг графа (программы), без сигнаіа Сброс. При запуске программы начальный шаг автоматически становится актив­ ным, включает свой выход, к которому для примера подключена инструкция подсветки экрана LCD и разрешает работу сигнала 1-го перехода. Специально включенный на рисунке Переход 2 (12) и все остальные, ни­ какого действия не производят. S1 - Шаг 1, Первая операция - включение выхода Q1. Шагі становится активным при включении сигнала Переход 1, при этом: - включается выход Q1; - предыдущий Начальный шаг отключается; - разрешается работа сигнала Переход 2. Внимание! Длительность сигналов Переход не имеет значения, переклю­ чение шагов осуществляется по переднему фронту. S2 - Шаг 2, Вторая операция - включение выхода Q2. Шаг2 становится активным при включении сигнала Переход 2, при этом: - включается выход Q2; - Шагі становится пассивным, выход Q1 отключаются; - разрешается работа сигнала Переход 3. S3 - Шаг 3, Третья операция - включение выхода Q3. ШагЗ становится активным при включении сигнала Переход 3, при этом: - включается выход Q3; - предыдущий Шаг2 и его выход Q2 отключаются; - разрешается работа сигнала Переход 3. S4 - Шаг 4, Четвертая операция - включение выхода Q4. Шаг4 стано­ вится активным при включении сигнала Переход 4, при этом: - включается выход Q4; — предыдущий ШагЗ и его выход Q3 отключаются; - разрешается работа сигнала Переход 0, т. е. возврат к началу графа. Работа цикла может быть повторена.
144 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 3.57. Простейший последовательный граф 3.9.2. Пример рабочего последовательного графа Ниже приведен пример использования последовательного графа для управления движением стола фрезерного станка при торцевом фрезеровании детали. Цикл фрезерования включает следующие последовательные действия (рис. 3.59):
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ЗКЗВЮІРи 145 - проверка начальных условий (шпиндель включен, рабочий стол нахо­ дится в левом исходном положении); - старт цикла обработки (кнопка Цикл); - быстрый подвод фрезы к детали до конечного выключателя К(р/п); - фрезерование на рабочей подаче до конечного выключателя К(б/х); - отвод от детали на быстром ходу до конечного выключателя К(—>); - быстрый возврат в исходное положение до выключателя К(<—); - сброс цикла. Примечание: В учебной программе рассматривается только принцип по­ строения управляющего графа. В ней не учитываются тип привода, команды и контроль включения и выключения шпинделя, отскок шпинделя при обратном ходе, включение охлаждения, зажим детали и др.). ВД БХІ . К^П) БХ2 Старт -^...................... >-^~ С=ф-^-= RUN КнЦ цикл Шаги 5РС^~§0~ БХ1 КЦ± К(р/П) РП К(б/х) БХ2 К(->) БХ«~) СбрЦ Рис. 3.59. Последовательный цикл на языке 8ЕС Программа графа приведена на рис. 3.60.
146 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 3.60. Последовательный цикл на языке 8РС Ключевые моменты синтеза: — начальный шаг активизируется автоматически при запуске программы; - все рабочие этапы графа выполняются только в теле цикла. Вспомогательный сигнал Цикл сформирован на стандартном КЗтриггере. Условия включения 8 сигнала Цикла: активизация начального этапа; наличие сигналов начальных условий; нажатие кнопки Цикл. Условия выключения R сигнала Цикл: включенное состояние самого сигнала Цикл; активное состояние последнего этапа графа; включенное состояние датчика исходного положения; - каждому действию соответствует свой этап графа, активизируемый соответствующим сигналом Перехода при условии выполнения предыдущего этапа.
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ЗЙЗВЮІГи 147 3.9.3. Пример графа с разветвлением по логическому И Граф с разветвлением по логическому И (рис. 3.61) включает следующие этапы: - начальный шаг В21, активизируемый при запуске программы и вклю­ чающий подсветку ГСО; Рис. 3.61. Разветвление по логическому И - последовательный шаг В22, активизируемый входом II и включающий выход рі; — блок разветвления по логическому И, активизируемый входом 12 при условии активного состояния шага В22. При этом: • одновременно запускается работа двух параллельных ветвей графа; • становятся активными шаги В24 и В25; • одновременно включаются выходы 02 и рЗ; • далее обе ветви будут работать независимо друг от друга. При ак­ тивизации входа 12 включится индикация 2, а при активизации вхо­ да 13 индикация 3; • объем каждой ветви можно расширить до необходимого числа ша­ гов в пределах ресурса конкретного контроллера. Ограниченность приведенных здесь и в дальнейшем графов связана с тем, что про­ граммы реализовывались на контроллере типа 8ВЗВ101Ги, имею­ щего только 6 входов и 4 выхода;
148 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ - блок схождения В44 по логическому И, завершающий работу парал­ лельных ветвей графа. Переход к линейному шагу В27, будет осу­ ществлен только при условии завершения работы обоих параллельных ветвей; - переход к линейному шагу В27 при активизации входа 15 и включение выхода р4; - переход в начало программы при активизации входа 16. 3.9.4. Пример графа с разветвлением по логическому ИЛИ Рис. 3.62. Разветвление по логическому ИЛИ Граф с разветвлением по логическому ИЛИ (рис. 3.62) включает следую­ щие этапы: - начальный шаг В37. В отличие от предыдущей программы здесь ис­ пользована иконка с дополнительным сигналом сброса, что позволяет управлять ходом процесса работы графа. Активизация начального ша­ га выполняется только при отсутствии сигнала сброс, т. е. его инвер­ сию можно рассматривать как разрешение начала работы; - блок В35 разветвления по логическому ИЛИ. Блок разветвления В35 активизируется сигналом перехода 12 и включает выход Р2. При этом
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ЗКЗВЮІГи 149 разрешается независимая работа двух параллельных ветвей графа В31 иВ32; - параллельные ветви графа. Левая ветвь ВЗ1 активизируется сигналом перехода 13 и включает выход рЗ, а правая В32 сигналом перехода 14 и включает выход 04. При наличии ресурса каждая ветвь может быть расширена дополнительными шагами в соответствии с решаемой зада­ чей; - блок В26 сходимости графа по логическому ИЛИ. Переход к общему линейному шагу может быть осуществлен завершением работы только одной из параллельных ветвей; - линейный шаг В34, активизируемый при завершении работы любой из параллельных ветвей и включающий выход 04. 3.9.5. Пример графа управления манипулятором станка с ЧПУ Ниже приводится пример программирования на языке 8РС цикла Захвата манипулятором инструмента в магазине станка с числовым программным управлением. Ранее аналогичный алгоритм был синтезирован на языке РКС (см. рис. 3.32 - 3.36), что позволит сравнить преимущества и недостатки двух языков и сделать для себя выводы и предпочтения. Повторим техническое за­ дание (рис. 3.63). Инструментальный магазин Следующий Манипулятор |_ — - — Движения манипулятора в цикле Захвата: 1 - вверх (захват) 2 - от станка (магазина) 3 - вниз 4 - к станку с инструментом Рабочій инструмент I Стойка (ось 7) и Шпиндель (ось У) Рис. 3.63. Движения манипулятора в цикле захвата Локальный цикл ЗАХВАТ предусматривают следующую последователь­ ность выполнения операций:
150 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ - проверка несовместимых циклов (Запр); - проверка исходного положения (Кисх) и формирование сигнала раз­ решения цикла (РЦ); - формирование сигнала тела цикла Ц(Захв); - перемещение манипулятора вверх МЦ') и захват инструмента в мага­ зине; - перемещение манипулятора с инструментом от станка М(<—), т. е. вы­ таскивание инструмента из магазина. Зажим инструмента в магазине осуществляется пружинным механизмом и манипулятор преодолевает его действие. Предусмотрена задержка выполнения операции для обеспечения полноценного захвата инструмента клешней манипулято­ ра при движении вверх; - перемещение манипулятора вниз М(|); - перемещение манипулятора с инструментом к станку в позицию ожи­ дания М(—>); - сброс (СбрЦ) локального цикла захвата. Направление стрелок в сигналах горизонтального перемещения манипу­ лятора от станка и к станку весьма условно, так как зависит от места обзора. В тексте и в алгоритмах сделана привязка к рис. 3.63, т. е. принято М(<—), это выдвижение, т. е. от станка, и наоборот М(—>), это возврат, т. е. к станку. Синтез алгоритмов при помощи последовательных графов, это, в сущно­ сти, аналог синтеза методом счетчика последовательности см. гл. 13 и [11]. Здесь может быть два решения, счетчик с общим сбросом и счетчик с ло­ гическим сбросом. Приведем оба варианта. Решение с общим сбросом Циклограмма работы приведена на рис. 3.64. Идея данного способа за­ ключается в том, что все выходы последовательного графа ставятся на память и сбрасываются одновременно по завершении цикла управления, а выходные ко­ манды синтезируются комбинационным путем на основе анализа всех памятей, что логически достаточно просто. Выполним синтез алгоритма в соответствии с циклограммой рис. 3.64. Формирование сигнала ЦИКЛ условие включения 8(Ц) = Шаг(0) • КЦ) • К(—>) • КнЦ условие выключения К(Ц) = КЦ) • К(—>) ■ П(|) Формирование виртуальных сигналов счетчика последовательности. 1 -я Операция, Движение Вверх Условие включения памяти П(|) перемещения манипулятора вверх к ма­ газину 8(Т) = ШагЦ) = Шаг(0) • К(|) • К(->) • Ц
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ЗКЗВЮІГи 151 Рис. 3.64. Циклограмма счетчика последовательности с общим сбросом 2-я Операция, Движение от магазина Условие включения памяти П(<—) перемещения манипулятора от мага­ зина 8(^) = Шаг(Н = Шаг(П • К(Т) • Ц 3-я Операция, Движение вниз Условие включения памяти П(|) перемещения манипулятора вниз 8Ц)=ШагЦ) = Шаг(«~) • К(->) • Ц 4-я Операция, Движение к станку Условие включения памяти П() перемещения манипулятора от магазина 8(^) = Шаг(^) = Шага) ’ Ш) • Ц Формирование выходных сигналов алгоритма Манипулятор Вверх М(Т) = Па)-/ПЦ)-Ц
152 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Манипулятор От магазина мн = пн-/пн-ц Манипулятор Вниз МЦ) = П(Т)-П(^)-Ц Манипулятор К станку М(^) = П(^)-П(П-Ц Назначение адресов входных сигналов: 74 - Кнопка Цикл (КнЦ); 12 - Манипулятор вверху (КТ); 13 - Манипулятор выдвинут (К<—); 14 — Манипулятор внизу (К|); 15 — Манипулятор у станка, вдвинут (К—>). Назначение адресов выходных сигналов: 91 - Манипулятор вверх М(Т); 92 - Манипулятор от станка М(<—); 93 - Манипулятор вниз М(|); 94 - Манипулятор к станку М(—>); Синтезированный алгоритм приведен на рис. 3.65. Рис. 3.65. Граф управления манипулятором с общим сбросом Решение с логическим сбросом Циклограмма работы приведена на рис. 3.66. Суть метода заключается в логическом формировании всех сигналов установки и сброса памятей управления выходными сигналами.
ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ 5КЗВ101Ги Рис. 3.66. Циклограмма счетчика последовательности с логическим сбросом Формирование сигнала ЦИКЛ: условие включения 8(Ц) = Шаг(О) ■ КЦ) • К(—») • КнЦ условие выключения ЩЦ) = КЦ) • К(—») • П(|) • П(—») Формирование виртуальных сигналов счетчика последовательности. 1-я Операция, Движение Вверх П(|) Условие включения памяти 8(Т) = Шаг(Т) = Шаг(О) • КЦ) • К(^) • Ц Условие выключения памяти я(Т) = П(Т) 2-я Операция, Движение от магазина П(«—) Условие включения памяти 8(-) = Шаг(О = Шаг(Т) • К(Т) Условие выключения поняти Я(-) = П(-+) 3-я Операция, Движение вниз П(1) Условие включения памяти 8(1) = Шаг(1) = Шаг(^) • К(-) • Ц 153
154 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Условие выключения памяти ад=/ц 4-я Операция, Движение к станку П(—♦) Условие включения памяти 8Н = Шаг(-) = ШагЦ) ■ КЦ) • Ц Условие выключения памяти Ж^) = /Ц Формирование выходных сигналов алгоритма Манипулятор Вверх м(Т) = п(п Манипулятор От магазина мн=пн Манипулятор Вниз МЦ) = П(Г) Манипулятор К станку М(-) = П(->) Назначение адресов входных сигналов аналогично решению с общим сбросом. Синтезированный алгоритм управления (граф) приведен на рис. 3.67. Рис. 3.67. Граф управления манипулятором с логическим сбросом
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 4Л. Общие сведения Программируемое реле серии ПР200 (рис. 4.1), по существу, является ми­ ни-программируемым логическим контроллером, предназначенным для авто­ матизации несложных механизмов в различных областях промышленности, жилищно-коммунального и сельского хозяйства. Рис. 4.1. Общий вид программируемого реле ПР200 Его область применения - это управление: - наружным и внутренним освещением; - насосами, вентиляторами, компрессорами, прессами; - конвейерными системами, подъемниками и др. Фирма Овен выпускает гамму программируемых реле, отличающихся числом подключаемых входов и выходов, например: ПР200- х. х. х. х ! ! ! ! !___ 0 - без загрузки алгоритма по умолчанию ! ! ! !0 - внешний интерфейс отсутствует ! ! ! 1 - один канал Я8-485 ! ! ! 2 - два канала Я8-485 ! ! !1 - 8/6 дискретных вх/вых 1 ! 2-8/8 дискр. вх/вых, 4/2 аналоговых вх/вых (И) ! ! 3-8/8 дискр. вх/вых, 4 аналоговых входа ! ! 4-8/8 дискр. вх/вых, 4/2 аналоговых вх/вых (У) ! ! 5-8/8 дискр. вх/вых, 4/4 аналоговых вх/вых (К) ! !220 - питание 220в переменного тока ! 24 - питание 24в постоянного тока !тип программируемого реле
156 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Функциональные возможности ПР200 могут быть расширены с помощью плат ПР-ИП485, устанавливаемых в корпусе реле или подключением внешних модулей расширения: ПРМ-Х. 1 - модуль дискретного ввода-вывода; ПРМ-Х.2 - комбинированный модуль расширения входов-выходов; ПРМ-Х.З - модуль аналогового ввода-вывода. На лицевой стороне реле (рис. 4.2) расположены: - двухстрочный индикатор 16-ти разрядный ЖКИ, позволяющий отоб­ ражать и редактировать значения переменных программы электроав­ томатики; - шесть кнопок управления прибором; - два светодиодных индикатора Н (красный) и Р2 (зеленый). Под крышкой на лицевой панели расположены: - разъем «МОДУЛИ» типа МІМ8-10-ТЯ-и) для подключения модулей расширения; - разъем «ПРОГ.» типа тіпі-и8В для подключения персонального ком­ пьютера (кабель входит в комплект поставки). На верхней торцевой части расположены разъем подключения питания и разъемы подключения дискретных и аналоговых входов. На нижней торцевой части расположены разъемы подключения дискрет­ ных и аналоговых выходов. Дискретные выходы Рис. 4.2. Лицевая часть программируемого реле
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 157 Внутри корпуса реле находится блок перемычек конфигурирования назначения аналоговых входов. Программирование алгоритмов работы осуществляется в программной среде «OWEN Logic». Программа записывается в энергонезависимую Flashпамять реле. 4.2. Подключение Схема подключения питания и дискретных входов и выходов программи­ руемого реле типа ПР200-24.2.0.0.0 приведена на рис. 4.3. Рис. 4.3. Схема подключения питания и дискретных входов и выходов Перед подключением аналоговых входов, путем установки перемычек, необходимо предварительно задать их назначение (рис. 4.4): - вход напряжения 0... 10 В; - токовый вход 4 ... 20 мА; - резисторный вход 4000 Ом; - дискретный вход. Перед написанием программы выполняется также процедура юстировки аналоговых входов и выходов.
158 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 2 XPn 0...10В 4 в) XPn 4...20 мА 6 8 о о lol XPn 0...4000 Ом о |o 13 5 2 6] 6 8 [61 О |O O| 4 О О О 13 О 5 7 О О 7 ХРп Дискретные входы Рис. 4.4. Установка перемычек аналоговых входов 4.3. Создание нового проекта Процедура создания нового проекта выполняется в следующей последо­ вательности: 1. Поставить на компьютер и отрыть программное обеспечение Owen Logic. 2. Выбрать меню «Новый проект. 3. Конфигурировать проект, указав конкретный тип контроллера. 4. Наблюдать появление главного рабочего окна (рис. 4.5). Главное рабочее окно включает: - главное меню иконок проекта: Файл. Вид, Прибор, Сервис, Расширения, Помощь - меню стандартных иконок инструмента (табл. 4.1); - меню иконок набора (вставки) программы электроавтоматики (табл. 4.2); - меню отладки программы на симуляторе (табл. 4.3); - панель экранов (слева); - панель компонентов (справа). Библиотека компонентов раскрывает­ ся при открытии проекта и включает разделы: • Функция; • Функциональный блок; • Макросы проекта; • Функции на ST; • Функциональные блоки на ST; - наборное поле программы (в центре); - строку состояния (внизу).
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 159 Таблица 4.1 Меню стандартных инструментов □ ПО 0 0Й ~ ~ ЯЗЗ^^І ѳ о й ыгч т яз Уш] Новый проект Создание нового проекта. Текущий проект закрывается, перед закрытием будет предложено сохранить проект Открыть проект Открытие ранее созданного и сохраненного проекта Сохранить проект Сохранение текущего проекта. При первом сохранении вызывает окно для присвоения имени файлу Печать Печать схемы открытого проекта Копировать Копирование выделенного в рабочей области элемента Вставить Вставка скопированного элемента Отменить Отмена последнего действия в проекте Восстановить Восстановление отмененного действия Записать программу в прибор Запуск записи созданной программы в прибор Информация Вызов окна с информацией о подключенном приборе Настройки прибора Вызов окна с настройками прибора Таблица переменных Вызов окна для работы с переменными в проекте
160 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Таблица 4.2 Меню вставки компонентов программы МД Д Д <-»в г>1 г»Е :□ о о о* х х х V о с о <□ N О w *о =? Пй] Щг 1=1 Блок комментариев Добавление комментария на схему проекта Создание блока выходной переменной Создание блока для записи значения в переменную Создание блока входной переменной Создание блока для считывания значения из переменной Создание блока константы Создание блока с фиксированным числовым значением Линия задержки Создание задержки на 1 цикл Создание сетевой выходной переменной Создание блока переменной, значение которой задается по сети Создание сетевой входной переменной Создание блока переменной, значение которой считывается по сети Создание блока записи Создание блока для записи значения переменной ФБ, на схеме может не отображаться соединительная линия цепи передачи сигнала в ФБ R О* Создание блока чтения Создание блока для считывания значения переменной ФБ. на схеме может не отображаться соединительная линия цепи передачи сигнала изФБ Г>В X Преобразователь в булевское значение г-*І X г+Е X Преобразователь в целочисленное значение Преобразователь в число с плавающей точкой Создать макрос й и Конвертация значения сигнала в булевское значение Конвертация значения сигнала в целочисленное значение Конвертация значения сигнала в число с плавающей точкой Создание нового макроса в проекте Создать функцию на Создание функции на языке БТ для использования в проекте 8Т Создать Создание функционального блока на языке 8Т для использования в функциональный блок проекте на 8Т Таблица 4.3 Меню отладки программы на симуляторе ► ^А® ► и 5 Режим симулятора Запуск режима симуляции Онлайн отладка Запуск режима онлайн отладки Порядок исполнения Изменение порядка вычисления значений на выходах программы или макроса и порядка передачи значений по обратным связям Перенумеровать компоненты Изменение нумерации ФБ в рабочей зоне проекта
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 161 Мини-контроллер ПР200 позволяет программировать электроавтоматику несколькими способами: - на языке функциональных схем FBD (Function Block Diagram); - на языке FBD с дополнительным использованием Макросов; - на языке ST (Structured List) путем программирования логических функций (ST-Function); - на языке ST путем программирования функциональных блоков (STFunction Block). Предусмотрена так же возможность использования набора типовых под­ программ, разработанных специалистами фирмы. Таким образом, пользователю предоставляется достаточно мощный инструмент, позволяющий решать любые задачи в пределах доступной аппаратной базы. Пользователю исключительно важно знать основные принципы работы контроллера, так как в отличие от жестких релейно-контактных и бесконтакт­ ных схем электроавтоматики, осуществляющих параллельную обработку ин­ формации, программируемый контроллер работает по строго фиксированному вычислительному циклу и осуществляет последовательную обработку инфор­ мации в соответствии с записанной в его памяти программой. При параллельной обработке аппаратных РКС все логические сигналы, изменение состояния которых происходит в данный момент времени, обраба­ тываются одновременно, а при последовательной в ПЛК - в строго установлен­ ном заранее порядке. Процесс последовательного считывания и обработки ин­ формации по шагам программы называется сканированием. Принцип последо­ вательного сканирования позволяет проектировать при помощи ПЛК аналоги релейно-контактных схем принципиально неработоспособных при реализации на обычной жесткой логике и дает разработчику новый мощный инструмент при проектировании (об этом будет специальный раздел). Основу работы ПЛК задает вычислительный цикл, в общем случае состо­ ящий из трех этапов (рис. 4.6): 1) считывание и запоминание во входном регистре логических значений входных сигналов (0 или 1), а также фиксация значений на данный момент всех сигналов промежуточной памяти; 2) последовательная обработка данных в соответствии с программой, за­ писанной в памяти контроллера и помещение результатов вычислений в адресованные промежуточные ячейки выходного регистра или про­ межуточной памяти; 3) перепись результатов вычислений в регистровую память выходных модулей, и их передача на выходы с подключенными исполнительны­ ми элементами.
162 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ <__ Вычислительный llUK/i^ Рис. 4.6. Вычислительный цикл работы ИЛК Если на втором этапе работы произойдет изменение состояния какихлибо входных сигналов, то эти изменения не будут учитываться до окончания текущего вычислительного цикла. Контроллер обработает эти сигналы только в следующем вычислительном цикле, т. е. произойдет задержка в один цикл (такт). 4.4. Синтаксис языков программирования 4.4.1. Язык функциональных схем (FBD) FBD-язык включает в себя следующие инструкции: Базовые логические инструкции AND - логическое И; OR - логическое ИЛИ; NOT - логическое отрицание; XOR - исключающее ИЛИ. Функции сравнения EQ - сравнение на равенство; GT - сравнение на большее значение; SEL - селективный выбор. Триггеры RSx - RS-триггер с приоритетом выключения; SRx - SR-триггер с приоритетом включения; RTRIGx - формирователь такта по переднему фронту; FTRIGx - формирователь такта по заднему фронту; DTRIGx - D-триггер. Таймеры ТРх - одновибратор (Импульс по переднему фронту входного сигна­ ла); TONx - задержка переднего фронта входного сигнала; TOFx - задержка заднего фронта входоного сигнала;
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 163 BLINCx - генератор импульсов; CLOCKx - интервальный таймер; CLOCKWx - интервальный таймер с недельным циклом. Счетчики СТх - инкрементальный счетчик с самосбросом; CTNx - универсальный реверсивный счетчик; CTUx - инкрементальный счетчик на сложение. Сдвиговые регистры STR - проходной регистр со сдвигом вправо; STL - проходной регистр со сдвигом влево. Битовые функции EXTRACT - чтение бита; PUTBIT - запись бита; DC32 - дешифратор; CD32 - шифратор. Арифметические инструкции ADD - арифметическое сложение; SUB - арифметическое вычитание; MUL - арифметическое умножение; DIV - арифметическое деление; MOD - Арифметическое деление с остатком; ABS - взятие абсолютной величины. Регуляторы PIDx - пропорционально-интегральный регулятор. Текстовые сообщения Набор программы FBD осуществляется в наборном поле (рис. 4.7), от­ крывающемся при открытии проекта. В контроллере принята следующая адресация входов и выходов контрол­ лера: Іх - дискретные входы; Fix - быстрые дискретные входы; АІх - аналоговые входы; Qx - дискретные выходы; АОх - аналоговые выходы; К - ключи. На наборном поле программирования входы и выходы обозначены в виде квадратиков с соответствующей маркировкой номеров.
164 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Кроме аппаратных входов и выходов при программировании сложных ал­ горитмов используются также специальные операнды, называемые перемен­ ными и константы. Переменные различаются как по типу системы счисления, так и по спосо­ бу передачи информации на наборном поле. По типу счисления различают: bool - булевские; udint - целочисленные; real - с плавающей запятой; сервисные (время, дата). После создания проекта или открытия сохраненного проекта в рабочей области появляется холст для разработки программы на языке FBD. Если прибор поддерживает работу с функциями на языке ST, отобразится вкладка Редактор функции. К-lie ■ Рис. 4.7. Наборное поле проекта На наборном поле они обозначаются прямоугольными шаблонами, раз­ личающимися обозначением торцов. Булевские переменные имеют заостренные торцы шаблонов и черный цвет соединительного провода. В меню переменных шаблон обозначается бук­ вой V. Шаблоны с закругленными торцами используются при работе с цело­ численными и реальными переменными. Шаблон обозначается буквой N. Цвет провода при передаче целочисленной информации - красный, а для чисел с плавающей запятой - фиолетовый.
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 165 Для констант используется «правильный» прямоугольник. Шаблон обо­ значается буквой С. Шаблоны с буквами W и R используются при записи и чтения информа­ ции при работе с функциональными инструкциями. Для преобразования системы счисления используются шаблоны со сле­ дующими обозначениями: X -> В преобразование в булевскую переменную; X ^ I преобразование в целочисленную переменную; Х-> Е преобразование в число с плавающей запятой. При работе с переменными может использоваться как «проводная», так и «беспроводная» система передачи информации. Допустимый синтаксис приве­ ден на рис. 4.8. Иконки переменных перетаскиваются из меню вставки (см. табл. 4.2) и могут располагаться в любом месте наборного поля. Переменным нужно назна­ чать лаконичные и понятные адреса. Переменным нельзя присваивать адреса, используемые системным про­ граммным обеспечением, список которых приводится в документации. Рис. 4.8. Допустимый синтаксис набора переменных Базовые логические инструкции Предусмотрено четыре битовых логических функции: И, ИЛИ, НЕ, и Ис­ ключающее ИЛИ (табл. 4.4), на базе которых, при необходимости, формируют­ ся более сложные производные функции, например, И-НЕ, ИЛИ-НЕ, И-ИЛИНЕ, Равнозначность и др.
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 166 Таблица 4.4 Базовые логические функции Эквивалент в функциональной схеме Функция Логическое уравнение AND (И) Y =Х1■Х2 Х|_ END —Y X2-I OR (ИЛИ) Y=X1 +Х2 X1" OR —Y NOT (НЕ) Y=X Exclusive OR Y=X_1^X2 _ Исключающее ИЛИ Неравнозначность Y=XbX2+XbX2 X2-4 x-|not<{>-y X1-XOR—Y X2-I Характерной особенностью языка является наличие только двух входов в базовых командах. При необходимости формирования многовходовых функций следует применять их каскадное соединение (рис. 4.9 а, б). а) Y = X1*X2*X3 б) Y = Х1+Х2+ХЗ Рис. 4.9. Правила синтаксиса: а - каскадное соединение функции И, б - каскадное соединение функции ИЛИ, в, г — назначение по умолчанию свободных входов
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 167 Если вход остается свободным, то в логической функции И он принимает значение «единицы», а в функции ИЛИ логическое значение «нуля» (рис. 4.9 в, г). На рис. 4.10 и 4.11, соответственно, приведена проектная и программа в режиме симулятора, реализующая логическое уравнение О1=(П+/І2)*(ЛЗ+І4)*І5. Здесь знак «/» - логическая инверсия. Набор программы осуществляется в следующей последовательности: - на компьютере открыть программную среду Owen Logic; - из меню Файл открыть «Новый проект»; - выполнить конфигурацию проекта, указав тип контроллера; - щелкнуть по клавише ОК, наблюдать открытие наборного поля про­ граммы; - из меню Вид открыть «Панель библиотек»; - в появившемся окне «Библиотека компонентов» открыть раздел «Ло­ гические функции»; - перетащить на наборное поле необходимые логические функции и вы­ полнить соединения в соответствии с поставленной задачей, например, Р1=(П+Л2)*(ЛЗ+І4)*І5; - щелкнуть по наборному полю и через меню «Свойства» задать нужные размеры поля; - при необходимости, написать комментарии; - придать программе упорядоченный, читаемый вид (рис. 4.10); - задать проекту имя и запомнить. Рис. 4.10. Разветвленная логическая цепь
168 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ В процессе набора программы доступно использование стандартных ко­ манд редактора: отметить, передвинуть, запомнить, скопировать. Проверить работу программы в режиме Симулятора, для чего: - открыть режим Симулятора (иконка большого зеленого треугольника). При открытии появятся новые иконки управления режимом (см. табл. 4.3); - нажать клавишу Пуск (малый зеленый треугольник); - в соответствии с реализованным логическим уравнением активизиро­ вать мышкой соответствующие дискретные входы (Іх) и по состоянию выходов (Qx) наблюдать работу программы (рис. 4.11); - при обнаружении ошибок внести необходимые изменения. Загрузить, проверенную на симуляторе программу в контроллер, для чего: - собрать рабочий стенд с подключенными дискретными входами (тум­ блеры) и выходами (светодиоды или реле), рис. 4.12; - кабелем «mini USB-USB» соединить контроллер с компьютером и наладить связь, включить питание; - в меню Прибор щелкнуть по команде «Загрузить программу в при­ бор». Зафиксировать правильность загрузки; - проверить работу программы (автономно или в режиме ON-Line). Рис. 4.11. Разветвленная логическая цепь в режиме Симулятора
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН Рис. 4.12. Автономный рабочий стенд На рис. 4.13 приведен пример набора программы по уравнению Р1=(І1*І2+ІЗ*/І4+І5)*І6 с окном свойств наборного поля. Рис. 4.13. Разветвленная логическая цепь с окном свойств 169
170 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ На рис. 4.14 приведен пример набора программы с использованием аппли­ каций переменных, что позволяет избежать перекрестных «проводных» связей. Реализованы следующие логические уравнения: 01=11*12+13, О2=(І1*І2+ІЗ)+І1 или 02=01+11, ОЗ=(О1+І2)*О2. Важно! Меню «Свойства» переменных следует заполнять до выполнения соединений. Рис. 4.14. Использование Переменных в логических цепях Триггеры Предусмотрено три типа триггеров (табл. 4.5): 1. Классический RS-триггер с приоритетом выключения (RSx). Триггер имеет два входа: R (Reset) - выключение, S (Set) - включение и один выход Q. 2. Классический RS-триггер с приоритетом включения (SRx). Триггер имеет два входа: S(Set) - включение, R (Reset) - выключение и один выход Q. 3. Классический D-триггер (DTRIG). Триггер имеет четыре входа: S (Set) - принудительная установка триггера, D (Delay) - входной информационный сигнал, С (Clock) - вход синхронизации, R (Reset) - принудительный сброс триггера и один выход Q.
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 171 Таблица 4.5 Триггеры Тип триггера Аппликация Д8- триггер Их -R ф-{8 8Д- триггер 8Их -8 ф- Диаграмма работы -Іи Такт по переднему фронту Такт по заднему фронту В- триггер ________ ИТИЮх " І 1 Ф" 1 — РТЯЮх С___ 1 ОТИЮх - 8 ф- О - С Ня Информационный сигнал В передается на выход триггера б по сигналу синхронизации С, т. е. с задержкой (см. табл. 4.5). Номер триггера «х» устанавливается автоматически при его наборе. Чис­ ло триггеров не регламентировано. Диаграммы работы триггеров приведены в таблице. На рис. 4.15 приведен пример набора КЗ-триггера, встроенного в про­ стейшую логическую цепь. Сигнал сброса триггера И=/П+/І2. Сигнал сброса триггера 8=13. Выходной сигнал функциональной схемы Y=/R*Q.
172 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 4.15. КБ-триггер в логической цепи Формирователи тактов Предусмотрено два формирователя тактов: КТКЮх - формирователь такта по переднему фронту входного сигнала и РТКЮх - формирователь такта по заднему фронту входного сигнала. Длительность тактового сигнала равна одному вычислительному циклу контроллера. В инженерной практике для обозначения таких сигналов приме­ нятся термины: такт, скан, вычислительный цикл, а процесс формирования называют тактированием. Тактированные сигналы позволяют проектировать специальные алгорит­ мы, работающие в контроллере, но не работоспособные при их формальном пе­ реносе в релейно-контактный или бесконтактный вариант. На рис. 4.16 приведены примеры реализации тактируемых Т-триггеров с использованием логической функции ХОК - Исключающее ИЛИ. В этом слу­ чае тактируемый счетный Т-триггер описывается следующим уравнением: У= (Вх(т) ^ У), т. е. выходной сигнал определяется логической функцией неравнозначности между тактированным входным сигналом и самим выход­ ным. Это правило нужно просто запомнить. На рис. 4.17 триггеры показаны в режиме симулятора. На рис. 4.18 приведены примеры аналогов релейной КЗ-памяти, реализо­ ванные логическим путем. Такие необычные решения доступны только на про­ граммируемых контроллерах и их работоспособность объясняется принципом последовательного сканирования программы.
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 173 Рис. 4.16. Т-триггеры по переднему (01) и заднему (02) фронту входных сигналов, В-триггер (05) Рис. 4.17. Т и В-григгеры в режиме симулятора
174 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Счетчики Предусмотрено три типа счетчиков (табл. 4.6): 1. Унитарный счетчик на сложение с самосбросом при достижении уставки счета (СТх) Счетчик имеет два входа: С (Count) - счетный вход, N (Number) - уставка счета и один выход Q. Уставка счета задается в окне свойств, для вызова которого необходимо установить курсор на аппликацию счетчика. При достижении уставки счетчик сбрасывается, а на его выходе формируется импульс, длительностью в один вычислительный цикл. 2. Унитарный счетчик на сложение (CTUx) Счетчик имеет три входа: С (Count) - счетный вход, R (Reset) - сброс, N (Number) - уставка счета и один выход Q. При достижении уставки счета включается и запоминается выход счетчи­ ка, на последующие импульсы счетчик не реагирует. Сигнал по входу R сбра­ сывает счетчик в исходное положение.
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 175 Таблица 4.6 Счетчики Тип таймера кация Счетчик с самосбросом Инкремен­ тальный счетчик Универ­ сальный счетчик Диаграмма работы Аппли­ Q. CTUx С R N CTNx - U - D - R о-Щ. 3. Реверсивный универсальный счетчик (CTNx) Счетчик имеет четыре входа: U (Up) - вход на сложение, D (Down) - вход на вычитание, R (Reset) - сброс в число уставки. N (Number) - уставка счета и один выход Q. Сигнал R записывает в счетчик значение уставки, указанной в парамет­ рах. При подаче счетных импульсов на вход Up счетчик считает на сложение до максимально допустимого числа, при подаче импульсов на вход Down счет­ чик считает на вычитание и при переходе через ноль работает с отрицательны­ ми числами. Для просмотра и обработки текущего положения счетчика необходимо сформировать выходную переменную с обязательным условием энергонезави­ симости. Диаграммы работы счетчиков приведены в таблице 4.6, а их рабочие про­ граммы в режиме симулятора на рис. 4.19. Здесь же показан принцип считыва­ ния и обработки текущего состояния универсального счетчика при помощи пе­ ременных. Выход Q5 активизируется при текущем состоянии равном 4, а выход Q6 при значении больше 2.
176 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Таймеры Предусмотрено шесть типов таймерных инструкций (табл. 4.7): 1. Одновибратор (ТРх), т. е. формирователь импульса заданной длитель­ ности Таймер имеет два входа: I (Input) - вход активизации, Т (Time) - уставка таймера и один выход Q. На выходе Q таймер формирует импульс заданной длительности, вне за­ висимости от длительности входного сигнала I. Уставка времени в секундах (0...4 147 200 000) задается в окне «Свой­ ства», вызываемом щелканием мышкой по шаблону таймера. 2. Задержка переднего фронта входного сигнала (TONx) Таймер имеет два входа: I (Input) - вход активизации, Ton (Time On) - время задержки и один выход Q. На выходе Q таймер формирует сигнал, задержанный относительно вход­ ного на время уставки. Если длительность входного сигнала меньше времени уставки, то выходной сигнал не формируется.
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 177 3. Задержка заднего фронта входного сигнала (TOFx) Таймер имеет два входа: I (Input) - вход активизации, Toff (Time Off) - время задержки и один выход Q. На выходе Q таймер формирует сигнал, задний фронт которого задержан относительно входного сигнала на время уставки. Таблица 4.7 Таймеры Тип таймера Одновибратор Задержка переднего фронта Задержка переднего фронта Аппликация ТРх -1 QAt-T TOFx I QAt- Toff BLINKx I Th ТІ Интервальный CLOCKx Th Q TI Интервальный таймер с недельным циклом Q |^ At \ к. At х___ TONx I Q Ton Генератор таймер Диаграмма работы Th ТІ ClockWx -Th - ТІ 4. Интервальный таймер (СЬОСКх) Таймер имеет два входа: Тй - время активизации, ТІ - время выключения и один выход р. На выходе 9 таймер формирует сигнал, время действия которого опреде­ ляется временным интервалом, заданным на его входах.
178 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 5. Интервальный таймер (CLOCK Wx) с недельным циклом Таймер имеет два входа: Th - время активизации, ТІ - время выключения и один выход Q. На выходе Q таймер формирует сигнал, время действия которого опреде­ ляется временным интервалом, заданным на его входах с учетом дней недели. 6. Управляемый генератор (BLINKx) с программируемыми временем импульса и паузы Таймер имеет три входа: I - вход активизации Th - время импульса (сек), ТІ - время пузы (сек) и один выход Q. При условии установки входа I на выходе Q генерируется непрерывная последовательность импульсов с заданными параметрами. Диаграммы работы таймеров приведены в таблице 4.7, а синтаксис их набора на рис. 4.20. Рис. 4.20. Синтаксис набора таймерных инструкций При необходимости, используя в качестве базиса таймер TON, можно легко синтезировать любые временные задержки, например, задержку обоих фронтов, формирование импульса нужной длительности по заднему или обоим фронтам [11]. Подобные примеры приведены на рис. 4.21.
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 179 Рис. 4.21. Формирование задержек в базисе таймера на включение: 03 - задержка заднего фронта, 06 - формирование импульса по заднему фронту Схемы сравнения Предусмотрено три инструкции сравнения (табл. 4.8): 1. Инструкция сравнения на равенство (EQx) Инструкция имеет два входа и один выход. Сравниваться могут булевые, целочисленные и реальные переменные. Обязательным условием является од­ нотипность сравниваемых величин. При равенстве сравниваемых переменных выход инструкции принимает значение логической единицы (True). 2. Инструкция сравнения на большее значение (GTx) Условия работы инструкции аналогичны. Выход инструкции принимает значение логической единицы (True) если значение переменной на верхнем входе больше значения переменной на ниж­ нем входе. 3. Инструкция выбора и передачи значения переменной (SELx) Инструкция имеет три входа (сверху вниз): - булевый вход активизации. - первый цифровой вход, - второй цифровой входи один выход. Входы и выходы не обозначаются.
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 180 Таблица 4.8 Функции сравнения Функция Логическое уравнение Y = (Х1=_Х2)_ Equivalence Равнозначность Y=X1-X2+XÏ-X2 Grater Больше Y = (XI > Х2) Selection Выбор Y=X2, если Х1=0 Y=X3, если Х1=1 Эквивалент в функциональной схеме XU EQ -Y Х1~ GT -y X2-L—J SEL -Y Если вход активизации выключен (False), то на выход инструкции пере­ дается число с первого цифрового входа, а если активизирован (True), то со второго. Выход инструкции принимает значение логической единицы (True) если значение переменной на верхнем входе больше значения переменной на ниж­ нем входе. На рис. 4.22 приведены примеры программ для изучения работы ин­ струкций сравнения на равенство и большее значение. В качестве входных це­ лочисленных величин используется текущее состояние двух универсальных счетчиков. Принцип работы инструкции SEL будет показан при рассмотрении реги­ стров. Другие типы сравнения: / = не равно < меньше <= меньше или равно >= больше или равно о в зоне, при необходимости, следует формировать логическим путем.
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 181 Рис. 4.22. Программа изучения работы инструкций сравнения Сдвиговые регистры Доступны два сдвиговых регистра: SHR - проходной сдвиговый регистр вправо (Shift Right); SHL - проходной сдвиговый регистр влево (Shift Left). Число разрядов - 32 Регистры имеют два входа: X - источник (входное число), N - число разрядов сдвига и выход Q - приемник (выходное число). Сдвиг числа происходит при каждом обновлении числа на входе источ­ ника. Классического входа активизации сдвига регистры не имеют, это нужно иметь в виду при их применении. Число источника задается в десятичном коде (например, 48), внутри ин­ струкции оно преобразуется в двоичный код (0011 0000), сдвигается, например, вправо (0001 1000) и передается на выход приемника снова в виде десятичного кода (24). Напомним значения весов разрядов двоичного кода: Ь4- 16 Ь0- 1 Ь8 - 256 Ы2-4096 Ы -2 Ь5-32 Ь9-512 ЫЗ —8192 Ь2-4 Ь6-64 Ы0- 1024 Ь14 — 16384 ЬЗ-8 Ь7-128 bl 1 - 2048 Ы5-32768 На рис. 4.23 приведены примеры программ для изучения работы ин­ струкций. Запись числа в источник осуществляется при помощи инструкции
182 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ SEL. Для простоты восприятия информации специально выбраны десятичные числа 16 (бит Ь4) и 32 (бит Ь5), отображающие отдельные биты двоичного кода. Рис. 4.23. Программа изучения работы сдвиговых регистров Задание исходных чисел в инструкции SEL производится при помощи констант. Показано два способа записи числа в инструкции сдвига: «проводной» (для инструкции SHR) и через переменные (для инструкции SHL). При сдвиге вправо на вход инструкции SHR подается число 32 (0010 0000), на выходе - сдвинутое на один разряд число 16 (0001 0000). При сдвиге влево на вход инструкции SHL подается число 16 (0001 0000), на выходе - сдвинутое на два разряда число 64 (0100 0000). Если активизировать дискретный вход 14 инструкции SEL, то в регистр SHL запишется число 64, а на выходе получим сдвинутое на два разряда число 256. Заметим, что гораздо проще реализовать классические управляемые сдви­ говые регистры на языке ST. Битовые инструкции Предусмотрено две инструкции: EXTRACT - имеет два входа: X - число источника, N - номер адресуемого бита числа ис­ точника и выход Q. Инструкция осуществляет чтение адресованного бита N в слове источни­ ка X и посылку его значения на выход Q.
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН ритвітн - имеет три входа: 183 X - число источника, N - номер адресуемого бита числа ис­ точника, В - значение записываемого бита (0/1) и выход р. Инструкция осуществляет запись значения В адресованного бита N в сло­ во источника X и посылку результата на выход р. Примеры программ для изучения инструкций приведены на рис. 4.24. Чтми бита N Ь7Ь6Ь5Ь4ЬЗЬ2Ь1Ь0 слове неточнім 53 = 00110101 Перепись числе источника Y2 в прием»* Y3 с добавлением в разряд приемника N=b3 значения В-1 Содерла*юе источника сохраняется 0000 0101 (5) ♦ 0000 1000 (8) = 0000 1101 (13) Рис. 4.24. Программа изучения работы битовых инструкций Инструкция Extract читает значение бита Ь4 в числе 53 (000 0101) слова источника. Далее значение бита активизирует дискретный выход Q2 и записы­ вается в переменную Y1. Инструкция Putbit записывает значение входа В=1 в адресуемый бит N=b3 исходного числа 5 (0000 0101) слова источника и его новое значение 13 (0000 1101) переписывает на выход инструкции Q. Далее это число записывает­ ся в переменную Y4. Шифраторы и дешифраторы Инструкция дешифратора DC32 предназначена для преобразования вход­ ного двоичного код в позиционный код (табл. 4.9). Инструкция шифратора CD32, наоборот, преобразует входной позицион­ ный код в двоичный. Максимальное значение позиционного кода - 32.
184 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Таблица 4.9 Число 0 1 2 3 4 5 29 30 31 Двоичный код 16 0 8 0 4 0 2 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 32 31 30 Позиционный код 6 5 4 3 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Учебная программа преобразования приведена на рис. 4.25. В качестве задатчика кода применен универсальный реверсивный счетчик и генератор им­ пульсов. Рис. 4.25. Программа изучения Дешифратора и Шифратора На рис. 4.26 приведен пример совмещенного преобразования кодов путем дешифрации и обратного преобразования шифратором.
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 185 Рис. 4.26. Пример прямого и обратного преобразования кодов Арифметические инструкции Для работы с целочисленными числами предусмотрены следующие ин­ струкции: ADD - арифметическое сложение; SUB - арифметическое вычитание; MUL - арифметическое умножение; DIV - арифметическое деление; MOD - выделение остатка от деления. Примеры вычислений приведены на рис. 4.27. Рис. 4.27. Арифметика с целыми числами Для работы с числами с плавающей запятой предусмотрены следующие инструкции: ГАОО - арифметическое сложение;
186 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ КиВ - арифметическое вычитание; 1МиЕ - арифметическое умножение; ЮГУ - арифметическое деление; ТРОи - возведение в степень; ГАВ8 - взятие абсолютного значения. Примеры вычислений приведены на рис. 4.28. Арифметика с числами с плавающей запятой I Сложение | Вычитание | Умножение I Рис. 4.28. Вычисления с числами с плавающей запятой ПИД регулятор (P1D) Это инструкция осуществляет пропорционально-интегральное регулиро­ вание выходного параметра на основе сравнения его заданного и текущего зна­ чения. Регулятор имеет три входа: Е - вход активизации (Enable). Pv - текущее значение (Previes Value), Sp - заданное значение (Set Value) и выход управления объектом Pwr.
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 187 Рис. 4.29. Шаблон инструкции РЮ-регулятор Настройка ПИД-регуляторов это достаточно сложный процесс и является темой отдельного изучения. Ниже приводится копия описания регулятора, взя­ тая из сопроводительной технической документации на контроллер. Рисунок 6.83 Входы блока Название Е Тип _______________ Описание______________ Булевский Разрешение на работу блока. В выключенном состоянии на выход блока подается значение. заданное в свойстве «выходная мощность» С плавающей запятой Текущее значение регулируемой величины С плавающей запятой Заданное значение регулируемой величины Значения О - Выключен; 1 - Включен Выходы блока ' Название Тип Описание Знамен и я Ригг С плавающей Выходная 0...100 |________________ запятой_________ мощность, %_________________ Свойства Название Режим работы регулятора Описание Тип Булевский Режимы работы регулятора. • • режим «нагреватель», используется для управления исполнительными механизмами, воздействие которых приводит к росту значения регулируемой величины: режим «холодильник», используется для управления исполнительными механизмами, воздействие которых приводит к снижению значения регулируемой величины Выходная мощность С плавающей запятой Выходная мощность в выключенном состоянии, % Дифферен­ циальный коэффициент С плавающей запятой Дифференциальный коэффициент с которым работает ПИД Значения 0 - Нагреватель: 1 - Холодильник 0...100 -3.402823Е+38...3.402823Е+38
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 188 Тип Название Значения Описание Интегральный коэффициент С плавающей запятой Интегральный коэффициент с которым работает ПИД Пропорцио­ нальный коэффициент С плавающей запятой Пропорциональный коэффициент с которым работает ПИД Минимальная мощность (значение по умолчанию) С плавающей запятой Нижнее ограничение выдаваемой мощности, % Максимальная мощность (значение по умолчанию) С плавающей запятой Верхнее ограничение выдаваемой мощности, % Запуск АНР Булевский Переменная, которая генерирует 0 - Стоп; запуск автонастройки регулятора 1 - Запуск в случае подачи значения «1». Значение данной переменной задается с помощью блока «Запись в ФБ» -3.402823Е+38 . .3.402823Е+38 0...100 0...100 (20) 0 ..100 (80) Автонастройка W R Автонастройка ПИД-регулятора проводится с помощью блоков чтения и записи ФБ 3.3.6 (♦О, О*). Для запуска автонастройки следует добавитъ блок Запись в ФБ и привязать его к переменной Запуск АНР ПИД-регулятора. Значения остальных параметров ФБ можно задавать с помощью блока Запись в ФБ, как показано на рисунке выше, либо настраивать на панели свойств. С помощью блоков Чтение из ФБ считываются значения параметров Рассчитанный пропорциональный коэффициент, Рассчитанный интегральный коэффициент и Флаг окончания автонастройки. коэффициент, Рассчитанный дифференциальный
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 189 Для старта автонастройки следует подать сигнал логической «1» на вход Е. По завершении процесса автонастройки для чтения доступны новые значения коэффициентов Рассчитанный пропорциональный коэффициент, Рассчитанное время интегрирования и Рассчитанное время дифференцирования. Параметр Флаг окончания автонастройки выставляется в значение логической единицы. Если после автонастройки сбросить вход Запуск АНР в значение логического нуля, то сбросится и флаг окончания. А ІВНИМАНИЕ /|\|Флаг окончания автонастройки находится в состоянии логической единицы один цикл. Если сбросить вход Запуск АНР в значение логического нуля до окончания настройки, то процесс останавливается, флаг окончания не выставляется, новые значения коэффициентов не вычисляются. Во время процесса настройки на выход ПИД-регулятора подается тестовая мощность, ограниченная значениями параметров Максимальная мощность и Минимальная мощность. Последовательность автонастройки для режима «Нагреватель»: 1. Текущее значение меньше уставки, на выход блока подается максимальная мощность (в соответствии с настройками). 2. Как только текущее значение станет больше уставки, на выход блока подается минимальная мощность. 3. Повторение шагов 1 и 2 еще один раз. 4. Рассчитанные параметры ПИД-регулятора подаются на соответствующие выходы, и выставляется флаг окончания. Если в настройках указано значение максимальной мощности, при которой невозможно достичь уставки, процесс автонастройки не закончится, пока он не будет сброшен вручную. При необходимости решения конкретной задачи необходимо изучить теоретическую часть, собрать стенд, понять, как это работает и наладить управ­ ление объектом. Главное, не бояться, так как дорогу осилит идущий! 4.4.2. Макросы Макрос - это пользовательская программа, выделенная в самостоятель­ ный блок. При создании макрос записывается в библиотеку программ и изоб­ ражается на наборном поле в виде прямоугольника с обозначенными входными и выходными сигналами. Создание макросов имеет как положительные, так и отрицательные мо­ менты. К положительным моментам относится возможность создания типовых блоков, которые можно переносить из одной программы в другую. Кроме того они позволяют увеличить программы, которую можно расположить на набор­ ном поле. Отрицательным моментом является невозможность непосредствен­ ного чтения внутреннего содержания макроса, что затрудняет отладку автома­ тики. Макросы можно создавать двумя способами, с «чистого листа» или ис­ пользуя имеющуюся готовую FBD-программу, путем выделения нужного фрагменты программы. Ниже приводится процедура создания макроса для рассмотренной ранее (см. рис. 4.10) разветвленной логической цепи Q1=(I1+/I2)*(/I3+I4)*I5. В таб­ лице 4.10 приведены варианты ее программирования в релейно-контактном ви­ де, на языке функциональных схем и в виде макроса. Процедура создания макроса с «чистого листа»: 1. Открыть программное обеспечение Owen Logic.
190 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 2. В главном меню Файл активизировать команду «Новый проект». 3. Выбрать модель контроллера, например, ПР200-24.2(4).х (12вх / 12вых), рис. 4.30. 4. Щелкнуть по клавише ОК. Наблюдать открытие рабочего окна с набор­ ным полем. Присвоить проекту имя, например, Проекті и сохранить (рис. 4.31). Внимание! Проекті - это не макрос, а общий проект электроавтоматики, где будет использоваться создаваемый Макрос. Откроется чистое наборное по­ ле проекта. Рис. 4.30. Конфигурация проекта при создании макроса Рис. 4.31. Сохранение проекта «Проект!»
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 191 $.Ц |.>.Ж >В 1.^ 5. В меню «Файл» активизировать команду «Создать Макрос» (или щелкнуть по специальной иконке «М-макрос»), В появившемся окне «Создание входов и выходов» задать необходимое для создания макроса число входов и выходов, в нашем случае, 5/1. Рис. 4.32. Задание параметров макроса
192 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Щелкнуть по клавише ОК и наблюдать появление наборного поля «Мак­ рос «Без имени». Рис. 4.33. Наборное поле макроса 6. В наборном поле Макроса задать тип входов и выходов, для чего по­ следовательно щелкнуть по «квадратикам» входов Іх и выходов рх, например: имя 91, тип - булевское. В данном случае, по умолчанию, все входы и выходы типа «булевские». 7. В наборном поле Макроса набрать алгоритм логики его работы, пере­ таскивая необходимые операнды из библиотеки компонентов (рис. 4.34). По­ скольку проект такой цепочки уже есть, то его можно скопировать и перенести в новый проект. При необходимости, в меню «Свойства» можно изменить размеры окна Макроса. Рис. 4.34. Программа Макроса! 8. Щелкнуть левой клавишей по наборному полю и в меню «Свойства» задать имя Макроса, например, «Макрос_1» (рис. 4.35).
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 193 Рис. 4.35. Присвоение имени Макросу 9. Сохранить созданный Макрос. Его иконка запишется в раздел «М» библиотеки компонентов проекта «Лог_1». 10. Перейти в режим «Схема». По пути Вид / Панель библиотек открыть окно «Библиотека компонентов» (рис. 4.36). 11. Открыть папку «Другие», перетащить созданный Макрос в наборное поле Проекті, выполнить необходимые соединения (рис. 4.37) и сохранить. 12. Проверить работу макроса в режиме Симулятора. 13. Разработать рабочую программу с учетом созданного макроса, напри­ мер, как на рис. 4.38. Добавлена цепочка 92=рі *16. 14. Проверить работу проекта. Библиотека компонентов §> Ц д х ЇХ Функция А) Функциональный блок Л м Ы ЯГ Рис. 4.36. Макросы проекта
194 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Созданный Макрос 1 находится только в библиотеке программы Проект 1. При необходимости, его можно копировать и переносить из проекта в проект, используя команды экспортирования и импортирования. Рис. 4.38. Проект! с применением Макроса
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 195 4.4.3. Управление АД Цель настоящего проекта понять разницу в проектировании аппаратной релейно-контактной автоматики управления и принципа управления с исполь­ зованием PLC, каковым является прибор ПР200. На рис. 4.39 приведена силовая схема и релейно-контактная схема управ­ ления реверсивным асинхронным двигателем. Рис. 4.39. Силовая схема (а) и аппаратная схема управления (б) асинхронным двигателем Схема обеспечивает: - прямой пуск двигателя М1 по часовой стрелке при нажатии кнопки SB1 и против при нажатии кнопки SB2; - останов двигателя на выбеге при нажатии кнопки SB3; - прямой реверс при поочередном нажатии кнопок SB1 и SB2; - максимальную защиту при помощи силового автомата QM1 ; - тепловую защиту при помощи теплового реле FR1 ; - нулевую защиту при помощи замыкающегося контакта автомата QM1, включенного в цепь управления силовыми пускателями КМ1 и КМ2. Рассмотрим, как реализовать эти же функции при управлении двигателем от программируемого контроллера (рис. 4.40). Аппаратная принципиальная схема не зависит от способа управления и должна включать следующие блоки: - силовую схему подключения АД (одинакова); - подключение питания контроллера, входных и выходных сигналов (определяется конкретным типом контроллера и зависит от полярно­ сти и величины питания дискретных входов и выходов, коммутацион-
196 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ ной способности выходов и выполняется по конкретной технической документации на ПЛК); - аппаратную схему управления силовыми пускателями КМ1 и КМ2. При разработке аппаратной схемы управления пускателями необходамо учитывать специальные требования. В данном случае тепловое реле осуществ­ ляет косвенную защиту двигателя, поэтому его размыкающийся контакт дол­ жен быть включен в конечное звено, т. е. непосредственно в цепь силового пус­ кателя. Обычно тепловое реле имеет дополнительный замыкающийся контакт, его следует подать на вход контроллера, что при срабатывании защиты позво­ лит отключить память и реализовать диагностическое сообщение. Рис. 4.40. Аппаратная схема управления АД от ПЛК Вне зависимости от типа языка, перед написанием РЬС-программы, сле­ дует разработать и формализовать в понятном виде алгоритм управления. Про­ грамма управления контроллера ПР200 пишется на языке функциональных схем ВВП или языке высокого уровня 8Т, что достаточно сложно для рядового электрика. Однако, начальный алгоритм, это внутренний документ разработчи­ ка и его можно сделать по-разному. Настоятельно рекомендуем использовать релейно-контактное изображение алгоритма, каким и является принципиальная
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 197 схема рис. 4.39. При этом рекомендуется использовать стандартные обозначе­ ния принципиальных схем и максимально применять комментарии. Силовая схема включает следующие аппараты: КМ1 - пускатель направления вращения вперед; КМ2 - пускатель направления вращения назад; КЗ - реле защиты; КМ1 и КМ2, это реверсивный пускатель с механической блокировкой, исключающей их одновременное включение. Обязательна и электриче­ ская блокировка на случай установки раздельных пускателей. Включение пускателей КМ1 и КМ2 осуществляется, соответственно, от реле К1 и К2, подключенных к выходам контроллера. Блок контакты защитного автомата ОМІ и теплового реле FR1 непосред­ ственно отключают силовые пускатели и двигатель. Реле КЗ подключено на вход контроллера и осуществляет защитную и нулевую функцию. Алгоритм управления на языке РВП (рис. 4.41) реализован по следующим логическим уравнениям; Выходное реле К1-память - включение памяти 8=КнВп; - выключение памяти К= KнCтoп+/QMl+FRl+/KM2 и /Я= /KнCтoп*QMl*/FRl*KM2. Выходное реле К2-память - включение памяти 8=КнНаз; - выключение памяти К= KнCтoп+/QMl+FRl+/KMl и /R- /КнСтоп*ОМ 1 */РК1 *КМ 1. Памяти выходных сигналов реализованы на КБ-триггерах. Сигналы установки 8 выключают триггер противоположного направле­ ния и включают триггер заданного направления, обеспечивая тем самым пря­ мой реверс. Сигнал выключения R разбит на три части; КнСтоп, Защита и взаимная блокировка. Сигналы выключения R=KнCтoп и R=3aщитa, в любом режиме работы, выключают памяти и блокируют выходы рі и р2 включения реле К1 и К2. Таким образом, осуществляется нулевая защита привода, исключающая самопроизвольное включение привода при устранении неисправности. Сигналы выключения К=КМ1 и К=КМ2 осуществляют дополнительную блокировку, исключающую одновременное включение выходов. На рис. 4.42 показана проверка работы алгоритма в режиме симулятора. На обоих рисунках приведен также пример управления нереверсивным приводом.
198 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 4.41. Программы управления реверсивным и нереверсивным асинхронным АД Рис. 4.42. Управление АД в режиме проверки на Симуляторе 4.4.4. Формирование сообщений на дисплее Контроллер ПР200 имеет 2-х строчечный ЖКХ-дисплей на котором мож­ но формировать пользовательские текстовые сообщения. Процедура формирования следующая: 1. Открыть проект электроавтоматики 2. Открыть Менеджер экранов □ Группы □ Группа 1 □ Экран 1
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 199 3. Щелкнуть по «Экран 1». Появляется аппликация экрана. Две кнопки с правой стороны позволяют вставлять дополнительные скрытые строки. Перелистывание строк осуществляется курсорами, располо­ женными на корпусе контроллера. 4. Из падающего меню Вид / Панель свойств вызвать окно библиотеки компонентов, которое содержит команды: Метка Ввод/вывод (int/float) Ввод/вывод (boolean) Динамический текст CombiBox. 5. Команда «Метка» позволяет писать в строках дисплея пользователь­ ские тестовые сообщения, например, заголовки программ, для чего: - зацепить и перетащить иконку «Метка» в нужную строку экрана, где появится шаблон «Текст»; - щелкнуть по шаблону, передвинуть правую границу рамки до конца строки и написать вместо шаблона необходимый текст. Максимальное число символов в строке - 16; - повторить данную процедуру для второй и, при необходимости, для скрытых строк; - сохранить проект и переписать его в контроллер. 6. Команда «Ввод/вывод (Boolean)» позволяет формировать на экране сообщения, вызываемые из электроавтоматики по условию, для чего: - зацепить и перетащить иконку «Ввод/вывод (Boolean)» в нужную стро­ ку экрана, где появится шаблон «РсжимАвто!», установленный по умолчанию, и откроется окно «Свойства Ввод/вывод (Boolean). Шаблон имеет следующую структуру Текст до_Текст True/False Текст после ! ! ! ! безусловный текст ! ! ! текст по условию ! ! значения переменной ! ! фиксированный знак ! безусловный текст Задание информации в параметрах Текст до и Текст после необязатель­ но. В шаблоне фирмы, соответственно, задано «Режим» и «!». В параметрах Текст «True» и Текст «False» указываются необходимые сообщения, вызываемые в соответствии со значением заданной переменной, например, Автомат / Ручной, On / OFF, Вкл / Выкл, Зажато / Отжато и т. д.; - сохранить проект и записать его в контроллер.
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 200 Пример проектирования показан ниже на рис. 4.43. Свойства Ввсд/вывод (Bootea... Библиотека компонентов х П с? Координаты Элементы управления GB о Y: 2 Параметры '“•’ Метка ПереН 111 Текстовая метка Текст ■ Выкл СЗ Ѳеод/вывод (inVUoaf) Текст і Выход Q1_ Поле ввода/вывода (int/floet) Текст» Редак» Да '-*“• Ввод/вывод (Boolean) Длина 16 Поле ввела, вывода (Booléen) Текст "True" Отображаемый текст для значения переменной “True" ^ Элементы управления Синтаксис переменных Выход Q 1 В ы к л Выход Q 2 В ы к л в Рис. 4.43. Пример проектирования экрана 7. Команда «Ввод/вывод (Int/ float)» позволяет по разработанному фирмой Овен шаблону, формировать сообщения при работе с целочисленными и вещественными переменными. Процедура работы изложена в сопроводительной документации на кон­ троллер. Возможности этой и других команд меню читателю предлагается изу­ чить самостоятельно. 4.4.5. Язык ST Общие сведения ST (Structured Text) - это специализированный язык высокого уровня, со­ держащий элементы языков СИ, Бейсик, Паскаль. Язык позволяет программи­ ровать ST-функции (function) и ST-функциональные блоки (function_block).
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 201 Структура языка включает следующие разделы: - комментируемый заголовок, несущий информацию о типе, имени и назначении программы; - поле определения используемых в программе переменных; - логическая часть электроавтоматики; - определение конца программы. Например: Function block fbl // Функциональны блок ГЫ // Т-триггер // Определение входных переменных varinput Il : bool; endvar varoutput // Определение выходных переменных QI : bool; end_var var // Определение локальных переменных a: bool; end var // Логическая часть if II and not a then QI := Not QI; a := true; endif if Not II then a := false; endif End_Function_block // Конец программы Данная программа может служить начальным шаблоном для создания любой пользовательской программы. Жирным обозначен обязательный синтак­ сис языка. Основные правила языка Общее: Допускаются как строчные, так и заглавные буквы (Function, function, FUNCTION, Bool, bool, BOOL и др.). Запрещается использовать имена, зарезервированные системным про­ граммным обеспечением (см. табл, в документации). Имя переменной должно начинаться с буквы и использовать латинский алфавит.
202 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ В имени не должно быть пробелов и специальных символов ( !, @ и др). Исключение - нижнее подчеркивание; // Комментарий Определение программы (начало / конец) ST-функция Function Endfunction ST-функциональный блок Function_block End_function_block Типы используемых переменных'. Bool - логическая, принимает значения false / true; Udint - целочисленная, диапазон 0 ... 4 294 967 295; Real - вещественная, диапазон Time - интервал времени, T# ... ms, s, m, h, d DT - время суток и дата. Объявление типа переменных'. var_input И входные переменные var_output // выходные переменные var II локальные переменные end var // конец объявления Определение переменных: имя:тип ; например: 15 : bool; QI : bool; N : undint; t: real; h : real := 25; Присвоение: .:=.........(двоеточие, равно) например: QI := true; t := 20; Логические операции с булевыми переменными: AND (допускается &) - логическое умножение; OR - логическое сложение;
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 203 NOT - логическое отрицание (инверсия); XOR - исключающее ИЛИ. Например, Y := XI and not Х2; В конце логического уравнения ставится знак «точка с запятой». Логические операции сравнения: > больше > = больше или равно = равно < = меньше или равно < меньше <> в зоне Например: Y1 := Іпі > Іп2; Допустимые операторы: if, elsif, then, else (если, еще если, тогда, иначе); end_if (конец условия) false, true (ноль, единица) case (в случае) return (возврат) циклы for (для), while (пока), repeat until (повторить до) например: while V<20 do V:=V+1; end_ while функции времени get_time, get_date_time системные функциональные блоки языка FBD: триггеры (SYS.RS, SYS.SR, SYS.RTRIG, SYS.FTRIG, SYS.DTRIG) таймеры (SYS.TP, SYS.TON, SYS.TOF, SYS.CLOCK, SYS. CLOCKWEEK) генератор (SYS.BLINK) счетчики (SYS. CT, SYS. CTN, SYS. CTU) Ниже приведены справочные синтаксические таблицы из сопроводитель­ ной документации на прибор. Логические операции с битами Пример использования Операция Ключевое слово Логическое отрицание «НЕ» NOT Конъюнкция Логическое умножение «и» AND & Дизъюнкция Логическое сложение «или» OR OUT:= IN1 OR IN2 Исключающее ИЛИ XOR OUT:= IN1XOR IN2 Типы данных OUT:= NOTIN1 IN, OUT: BOOL OUT:= IN1 AND IN2 OUT:= INI & IN2
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 204 Операции сравнения Операция Больше Больше или равно Равно Меньше или равно Меньше Неравно Ключевое слово > >3 X <= < Тилы данных Пример использования OUT:= IN1 >IN2 OUT := INI >= IN2 IN: UDINT/REAL OUT: BOOL OUT:= IN1 =IN2 OUT := INI <= IN2 OUT:= IN1 <IN2 OUT := IN1 <> IN2 о Сдвиговые операции, преобразователи кодов Операция Ключевое слово Типы данных Пример использования Побитовый сдвиг влево SHL (IN. N) Побитовый сдвиг вправо SHR (IN. N) IN. OUT: UDINT N: 1..32 OUT:= SHR (IN1.N) Дешифратор. Преобразует двоичный код В ПОЗИЦИОННЫЙ КОД. DC32 (IN) IN. OUT: UDINT OUT:= DC32 (IN1) Шифратор. Преобразует позиционный код в двоичный код. CD32 (IN) IN, OUT: UDINT OUT:= CD32 (IN1) Типы данных Пример использования OUT:= SHL (IN1.N) Арифметические операі/ии Операция Сложение Умножение Вычитание Деление Ключевое слово + • / IN. OUT: UDINT/REAL OUT:= INI + IN2+... OUT:= IN1 -IN2*... OUT:=IN1 -IN2 OUT:= IN1/IN2 Остаток от целочисленного деления MOD Абсолютное значение ABS (IN) IN. OUT: REAL OUT:= ABS (IN1) Возведение в степень POW (IN. N) IN - основание N - степень IN. N, OUT: REAL OUT.- POW (INI, N) OUT:= INI MOD IN2 Операции преобразования Операция Ключевое слово Тилы данных Пример использования UDINT в REAL UDINT_TO_REAL (IN) IN: UDINT OUT: REAL OUT:= UDINT_TO_REAL (IN) UDINT в BOOL UDINT_TO_BOOL (IN) IN: UDINT OUT: BOOL OUT := UDINT TO BOOL (IN) UDINT в TIME UDINT JO_TIME (IN) IN: UDINT OUT: TIME OUT := UDINT TO_TIME (IN) UDIMT в DT UDINT_TO_DT (IN) IN: UDINT OUT: DT OUT:= UDINT_TO_DT(IN) REAL в UDINT REAL_TO_UDINT (IN) IN: REAL OUT: UDINT OUT := REAL TO_UDINT (IN) REAL в BOOL REAL_TO_BOOL (IN) IN: REAL OUT: BOOL OUT:=REAL_TO BOOL (IN) BOOL в REAL BOOL_TO_REAL (IN) IN: BOOL OUT; REAL OUT := BOOL TO REAL (INF BOOL в UDINT BOOL_TO_UDINT (IN) IN: BOOL OUT: UDINT OUT:= BOOL TO_UDINT (IN) TIME в UDINT TIME_TO_UDINT (IN) IN: TIME OUT: UDINT OUT := TIME TO_UDINT (IN) DT в UDINT DT_TO_UDINT (IN) IN: DT OUT: UDINT OUT - DT_TO_UDINT (IN)
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 205 Приоритет вычисления Операция Ключевое слово Скобки (выражение) Вызов функции и функционального блока Пример: fM(); functionl:«...; Битовые операции Унарный минус Логическое отрицание NOT Возведение в степень POW Умножение Деление / Остаток от целочисленного деления Сложение Вычитание Операции сравнения MOD ♦ — >.< <=, >« Равно Неравно о Конъюнкция Логическое умножение «И» & AND Исключающее ИЛИ XOR Дизъюнкция Логическое сложение «ИЛИ» OR 4.4.6. ST-функции Функция на языке 8Т, это пользовательская подпрограмма, создаваемая путем написания логического уравнения. По сути, это аналог Макроса. Ниже приведен пример проектирования функции для разветвленной ло­ гической цепи, приведенной в табл. 4.11. Таблица 4.11 Разветвленная логическая цепь 2 Релейный вариант Бесконтактный вариант (FBD) JL ST- функция tn П 12 В 14 15 16 Q
206 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Последовательность проектирования ST-функции 1. Открыть программную среду Owen Logic. 2. В меню Файл открыть «Новый проект». 3. Выполнить конфигурацию проекта, указав тип контроллера. 4. Нажать клавишу ОК, открыть наборное поле проекта. 5. Нажать клавишу Fx - «Создание ST-функции». Наблюдать открытие шаблона инструкции. 6. Исправить шаблон программы в соответствии с поставленной задачей. В данном случае Q=(I1 *12+13 *Л4+І5)*І6. Задать имя функции, здесь fnl (рис. 4.44). Схема* Редактор функции "fnl" 1 function fnl: bool; //имя функции fnl и тип данных выхода 1 2 var_input: //опбьяеление входных переменных 1 3 Il : bool; 4 12 : bool; 1 5 ІЗ : bool; 14 : bool; I 6 7 15 : bool; і 8 16 : bool; end_var : 9 10 // Логическая часть 11 fnl := ((I1&I2) Or (ІЗ & Not 14) Or 15) & 16; 12 end function Рис. 4.44. Программа функции на языке ST 7. Сохранить проект, например, как «Функі». 8Т-функция запишется в библиотеку компонентов. 8. Перейти в окно «Схема». По цепи Вид / Панель библиотек вызвать окно Библиотеки компонентов. 9. Щелкнуть по иконке Рх (8Т), открыть папку «Другие» и перетащить из нее шаблон созданной функции на наборное поле проекта. 10. Выполнить необходимые связи, написать комментарий, задать удоб­ ный размер наборного поля. Проект 8Т-функции йіі создан. 11. Дополнить проект, при необходимости, дополнительными логически­ ми цепями (здесь р2=9&17). 12. Сохранить и проверить работу функции в режиме симулятора. 13. Записать проект в контроллер.
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 207 Рис. 4.45. Шаблон ВТ-функции в наборном поле программы Рис. 4.46. Проверка в режиме симулятора Ниже, для справки, приведена таблица возможных значений операндов. Допустимый синтаксис основных логических операций, взятый из технической документации на контроллер, приведен ранее на стр. 203-205.
208 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Название BOOL Тип UDINT Логический Целочисленный REAL Вещественный Возможные значения Размер в байтах FALSE, TRUE 4 байта 0...4294967295 -1,2x10 м... 3,4x10» 4 байта TIME Интервал времени Т#0...4294967295ms Т#0.4294967s T#0..71582m T#0..1193h T#0..49d T#0. .490 17h02m47s295ms DT Время суток и дата DT#2000-01-01-00;00.00..2136-02-076:28:15 4 байта 4 байта 4 байта 4.4.7. ST-функциональные блоки Функциональные блоки дают пользователю практически неограниченные возможности по разработке любых алгоритмов управления различными меха­ низмами, так как они создаются на языке высокого уровня. Ограничения опре­ деляются лишь аппаратными возможностями. Процедура создания функционального блока аналогична программирова­ нию ST-функций: 1. Открыть программную среду Owen Logic. 2. Активизировать Новый проект. 3. Указать тип контроллера. 4. Выбрать на панели инструментов команду «Создать функциональный блок на ST». Откроется вкладка «Редактор функционального блока» с шабло­ ном программы. 5. Отредактировать шаблон в соответствии с решаемой задачей (Задать имя программы, объявить переменные, написать логическую часть в соответ­ ствии с синтаксисом языка ST). 6. Перейти во вкладку Схема или закрыть вкладку Редактор функцио­ нального блока. Функциональный блок сохранится автоматически. 7. Выбрать раздел Функциональные блоки на ST на панели Библиотека компонентов и перенести созданную аппликацию блока на наборное поле. 8. Выполнить необходимые соединения, привести схему в читаемый вид, написать необходимые комментарии. 9. Сохранить проект и проверить его работу в режиме симулятора. 10. Сделать необходимые правки и записать проект в контроллер. Ниже приводится несколько примеров проектирования рабочих алгорит­ мов на языке ST: - тактируемый Т-триггер; - счетчик сложение; - имитация релейного регулятора температуры; - кольцевой сдвиговый регистр; - разветвленная логическая цепь.
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 209 Каждый пример сопровождается рисунком с классическим изображением алгоритма и рабочей программой с комментариями. При необходимости, при­ водится диаграмма работы. В разделе приложения в конце главы приведены краткие сведения по ос­ новным процедурным вопросам, призванные помочь разобраться с набором, записью и отладкой приведенных программ. Тактируемый Т-триггер Рис. 4.47. Алгоритм тактируемого Т-триггсра Function_Block fb2 //имя блока // Т-триггер (счетчик на 2) // II - счетный вход, Q1 - выход var_input // объявление входов II : bool; end_var var_output // объявление выходов QI : bool; end_var var //объявление локальных переменных
210 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ а : bool; endvar // Логическая часть if II & not a then Ql:= not QI; a:= true; end_if if not II then a:= false; endif end_function_block Счетчик на сложение Рис. 4.48. Алгоритм счетчика на сложение
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН function_block fb4 //имя функционального блока // Счетчик на сложение N=3 // R - Сброс, Up - Счетный Вход // CarVal - тек. состояние, Q1 - Выход (CV=3) var_input //объявление входных переменных R: bool; Up : bool; end_var var_output //объявление выходных переменных QI : bool; end_var var //объявление локальных переменных CarVal: udint; a: bool; end_var // логическая часть if R then QI := false; CarVal := 0; endif if Not R And Up and Not a then CarVAL := (CarVal + 1); a := true; end_if if not Up then a:= false; end_if if CarVal >= 3 then QI := true; end_if; cnd_function_block 211
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 212 Релейный регулятор температуры б) Рис. 4.49. Алгоритм регулятора температуры Function_Block fb3 //имя блока // Имитация регулирования температуры // II - задние нижней границы 1=18гр //12 - задание нармальной температуры п=20гр //13 - задание верхней границы h=23rp //1 - текущая температура // Q1 - Нагреватель var_input // объявление входов II : bool; 12 : bool; 13 : bool; end var
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН varoutput // объявление выходов QI : bool; end_var var //объявление локальных переменных h: udint:=23; n: udint:=20; 1: udint:=18; t: udint; end_var // Задание уставок температуры if II then t:= 18; end_if if 12 then t:= 20; end_if if 13 then t:= 23; end_if // Логическая часть if t<= 1 then QI := true; elsif t >= h then QI := false; end_if End_function_block 213
214 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Сдвиговый регистр Рис. 4.50. Алгоритм кольцевого сдвигового регистра Function_Block fb6 //имя блока // Сдвиговый регистр QI - Q8 //11 - начальная установка, 12 - вход var_input // объявление входов II : bool; 12 : bool; end_var var_output // объявление выходов QI : bool; Q2: bool; Q3 : bool; Q4: bool;
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН Q5 : bool; Q6: bool; Q7: bool; Q8 : bool; end_var var //объявление локальных переменных a: bool; end_var // Логическая часть if II & not 12 then Ql:= true; Q2:= false; Q3:= false; Q4:= false; Q5:= false; Q7:= false; Q8:= false; end_if if not II and not 12 then a:= false; end_if if 12 and not a then a := Q8; Q8 := Q7; Q7 :=Q6; Q6 := Q5; Q5 := Q4; Q4 := Q3; Q3 := Q2; Q2 :=Q1; QI ~ a; a:= true; endif end_function_block 215
216 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 4.51. Управляемый сдвиговый регистр Разветвленная логическая цепь с Р8_ триггером В табл. 4.12 приведены примеры реализации разветвленной логической цепи с использованием КБ-триггера в тех вариантах: - релейной логики; - функционального плана; - функционального блока на языке БТ.
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 217 Таблица 4.12 Разветвленная логическая цепь 3 Релейный вариант а )— ■ Сброс памяти Ь )— Установка памяти с )— Релейная память Выход схемы Бесконтактный вариант (РВО) БТ- функциональный блок БЫ 11 03 12 13 14 15 Программа функционального блока показана ниже.
218 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ FUNCTION-BLOCK, fbl // Имя блока (fbl) // Объявление входов VARJNPUT II : BOOL; 12 : BOOL; 13 : BOOL; 14 : BOOL; 15 : BOOL; END_VAR // Объявление выходов VAR-OUTPUT QI: BOOL; END_VAR // Объявление локальных переменных VAR a: BOOL := Il And Not 12; b: BOOL := 13 Or 14; c: BOOL; RS_1: SYS.RS; END_VAR // Программа логики RS_1 (R:=a, S:=b, Q=>c); Ql=c& 15; END_FUNCTION_BLOCK // Конец блока fbl 4.5. Приложение. Процедурные вопросы Организация связи с компьютером - соединить контроллер (mini-USB) и компьютер (USB) стандартным кабелем; - включить компьютер и войти в Диспетчер устройств (параметры/система/о программе/диспетчер устройств); - включить контроллер, в диспетчере появится строка Порты (СОМ и LTP) PR200 (COM4) Компьютер увидел контроллер. Создание нового проекта - открыть программную среду Owen Logic; - по цепи Файл/Новый проект открыть окно конфигурации проекта; - указать тип используемого контроллера, например, ПР200-24.2(4).х; - нажать клавишу ОК
ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН 219 Наблюдать открытие главного окна с наборным полем программы и информацию о контроллере и номеру порта связи в статусной строке V ПР200-24.2(4).х ѵ COM4 Можно набирать программу. Набор программы - открыть проект; - по цепи Вид/Панель библиотек открыть Библиотеку компонентов; - перетащить из библиотеки необходимые иконки функций, упорядо­ ченно расположить их на наборном поле, сделать необходимые соеди­ нения, присвоить проекту имя и сохранить проект. Проверка программы в режиме симулятора - активизировать Симулятор (большой зеленый треугольник). Появятся иконки работы в режиме симулятора (пуск, стоп и др.); - включить режим симуляции (малый зеленый треугольник); — активизируя мышкой входы контроллера проверить его работу испра­ вить обнаруженные ошибки; - загрузить проект в контроллер. Загрузка проекта электроавтоматики в контроллер - стандартным кабелем соединить контроллер с компьютером и нала­ дить связь; - открыть проект; - в меню Прибор активизировать команду Записать программу в прибор. Наблюдать процесс записи. Активизировать запись можно также специальной иконкой или соче­ танием клавиш Ctrl+F7; - проверить работу программы автономно на стенде или в режиме ONLine с подключенным компьютером. Проверка программы в режиме ON-Line - по пути Сервис / Режим Offline отключить режим (убрать «Галочку»); - специальной иконкой активизировать ON-Line отладку; - проверить работу алгоритма. Смена конфигурации проекта - открыть старый проект; - активизировать Файл/Смена целевой платформы; - выполнить новую конфигурацию, нажать клавишу ОК; - восстановить разорванные связи проекта; - проверить работу на симуляторе; - сохранить измененный проект.
220 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Юстировка аналоговых входов - установить необходимые перемычки; - активизировать Прибор/ Юстировка входов и выходов; - выбрать тип контроллера; - выбрать тип аналоговых входов или выходов Входы: выбрать 0-10 В 2-20 мА 4000 Ом - ввести границы измерений - задать № канала - подать рабочий сигнал. Далее по подсказкам до завершения юстировки.
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС Немецкая фирма Сименс производит огромную линейку программируе­ мых контроллеров различного назначения и возможностей. Ниже приводится краткий обзор контроллеров, работающих в промышленности России. 5.1. Краткий обзор контроллеров Сименс 5.1.1. ПЛК Siemens Simafic S 7-200 Общий вид контроллера серии S7-200 приведен на рис. 5.1. Рис. 5.1. Общий вид программируемого контроллера типа S7-200 Это начальный уровень серии, предназначенный для автоматизации про­ стейшего промышленного оборудования. Несмотря на это возможности кон­ троллера достаточно серьезны. Существуют две линейки контроллеров: Первая S7-212, 214, 215 и 216; Вторая продвинутая S7-221, 222, 224, 226 и 224ХР. Контроллеры включают следующие модули. CPU - процессорный модуль; ЕМ - модули расширения: дискретные входы / выходы; аналоговые входы / выходы; коммуникационные модули; технологические модули.
222 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Можно заказать различные исполнения контроллера по типу сетевого пи­ тания, питания дискретных входов и выходов, например: DC / DC / DC ! ! !транзисторные выходы = 24 В ! !входы постоянного тока = 24 В !сетевое питание = 24 В АС / DC / Relay ! ! !релейные выходы I !входы постоянного тока = 24 В !сетевое питание ~(120-230) В Возможны и другие комбинации. Характерной особенностью является состав процессорного блока, в раз­ ной комбинации, в зависимости от типа в него входят: - цифровые входы / выходы; — аналоговые входы / выходы; - встроенные потенциометры; - быстрые выходы; - быстрые счетчики; - входы прерывания. Доступны три языка программирования: LAD (Ladder Diagram); SCR (Sequence Control Relay); FBD (Function Block Diagram). Программируемая среда - Step? MicroWIN32, версии от V4.0. Связь с периферией может осуществляться по COM-порту, USB, Ethernet, специальным протоколам. Таким образом, несмотря на позиционируемую простоту, контроллер все равно имеет большие вычислительные возможности и успешно может решать серьезные задачи автоматизации. Подробную информацию по контроллерам серии S7-200 можно найти в технических каталогах фирмы [20] и в учебных пособиях [9, 16]. 5.1.2. ПЛК Siemens Simatic S7-300 Общий вид контроллера серии S7-300 приведен на рис. 5.2.
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 223 Рис. 5.2. Общий вид программируемого контроллера типа S7-300 Контроллеры серии S7-300, по классификации фирмы-изготовителя, предназначены для автоматизации промышленного оборудования низкой и средней сложности. Их структура предполагает модульную конфигурацию ПЛК. Большой набор модулей расширения дискретных и аналоговых входов и выходов, в совокупности с функциональными модулями позволяет оптимально компоновать состав аппаратной части в зависимости от поставленной задачи. В технической документации приняты следующие аббревиатуры для обо­ значения блоков и модулей: PS - источники питания (Power Supply); CPU - центральные процессоры (Central Processor Unit); SM - сигнальные модули (Signal Module); CP - коммуникационные модули (Communication Module); FM - функциональные модули (Functional Module); IM - интерфейсные модули (Interface Module). Система функциональных модулей включает: - модули скоростного счета FM 350-1 и FM 350-2; - модуль позиционирования с ускоренной подачей FM 351; - модуль электронного командоконтроллера FM 352; - скоростной логический сопроцессор FM 352-5; - модуль позиционирования шаговых двигателей FM 353; - модуль позиционирования серводвигателей FM 354; - модули автоматического регулирования FM 355; - модуль позиционирования и управления перемещением FM 357-2; - модуль ввода сигналов ультразвуковых датчиков положения SM 338; - модуль ввода сигналов SSI датчиков позиционирования SM 338 POS; - модули систем взвешивания и дозирования SIWAREX FTA.
224 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Выпускаются следующие модификации контроллеров: - Simatic S7-300 - стандартный модульный ПЛК; - Simatic S7-300C - контроллеры типа Compact; - Simatic S7-300T - контроллеры типа Technology, имеющие встроенные функции для решения задач управления перемещением; — Simatic S7-3OOF - контроллеры типа Fail-safe, имеющие встроенные функции для реализации распределённых систем автоматики. Программирование электроавтоматики осуществляется в универсальной среде TIA Portal (Totally Integrated Automation Portal). Высокая производительность центральных процессоров позволяет осу­ ществлять работу в режиме реального времени, поддерживать обработку аппа­ ратных прерываний, а также обработку программных и аппаратных ошибок. Контроллеры серии S7-300 поддерживают как локальный, так и распределён­ ный ввод - вывод информации, что позволяет устанавливать специальные мо­ дули непосредственно у объекта автоматизации, а процессорный блок на цен­ тральном пульте управления. Если сравнить характеристики контроллеров се­ рии S7-300 с более низкими по иерархии контроллерами S7-200 и более высо­ кими S7-400, то благодаря лучшим возможностям, чем у первых и меньшей стоимостью вторых, контроллеры серии S7-300 занимают более выгодную по­ зицию и по статистике фирмы Сименс, являются наиболее востребованными на рынке. 5.1.3. ПЛК Siemens Simatic S7-400 Общий вид контроллера серии S7-400 приведен на рис. 5.3. Рис. 5.3. Общий вид программируемого контроллера типа S7-400
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 225 Контроллеры серии S7-400 являются развитием серии S7-300 в плане со­ вершенствования аппаратной архитектуры и повышения производительности вычислительных возможностей. Для контроллеров данной серии, практически, не существует ограниче­ ний по расширению его модульной структуры. Появилась возможность создания систем управления с резервированием управления объектами автоматизации, т. е. повышения надежности управления. Выпускаются следующие модификации контроллеров данной серии: - Simatic S7-400 - стандартный модульный тип; - Simatic S7-400F - контроллеры типа Fail-safe со встроенными функци­ ями для реализации распределённых систем автоматики повышенной безопасности; - Simatic S7-400H - контроллеры типа High-availability, реализующие функции резервирования для обеспечения повышенной надёжности безотказности работы. Контроллеры S7-400 могут использоваться со станциями распределённо­ го ввода-вывода ЕТ200, что позволяет создать систему автоматизации гибрид­ ного типа, где они являются управляющим устройством, а локальными кон­ троллеры серии S7-300. Такое решение значительно снижает стоимость проекта автоматизации. 5.1.4. ПЛК Siemens Simatic S7-1200 Общий вид контроллера серии S7-1200 приведен на рис. 5.4. Рис. 5.4. Общий вид программируемого контроллера типа S7-1200 Контроллеры серии 87-1200 разработаны для замены устаревшей серии 57-200, значительно усовершенствованы, но также предназначены для решения задач автоматизации сравнительно небольшой сложности.
226 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Основные изменения следующие: - применение универсальной шины данных для подключения дополни­ тельных модулей, что позволило сделать данные ПЛК совместимыми с базовым программным обеспечением Simatic Step 7; - применение стандартной структуры программы (проекта) для ПЛК, создаваемой в системе Simatic Step 7; - переход к стандартной системе адресации и распределению памяти; - использование сетевого интерфейса PROFINET в качестве базового; - программирование электроавтоматики в среде TIA Portal (Totally Inte­ grated Automation Portal), в состав которой входит Simatic Step 7 Basic, начиная с версии 10.5. Материал данной книги базируется на изучении данного типа контроллера. 5.1.5. ПЛК Siemens Simatic S7-1500 Общий вид контроллера серии S7-1500 приведен на рис. 5.5. Рис. 5.5. Общий вид программируемого контроллера типа S7-1500 Контроллеры серии 87-1500 это новая разработка фирмы Сименс в линей­ ке контроллеров Зітайс 87. Предполагается, что постепенно они должны заме­ нить контроллеры серий 8ітайс 87-300 и большую часть контроллеров 87-400. В этой серии: - увеличены вычислительные возможности процессора; - увеличен объём памяти данных и памяти программ; - увеличена скорость отработки блоков программ; - увеличено число таймеров, счётчиков и других инструкций; - встроены дополнительные функции управления, например, ПИДрегулятор, управление движением и т. д.;
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 227 - в качестве стандартного интерфейса использован PROFINET. Однако на данный момент при значительном технологическом преимуществе серия ПЛК Simatic S7-1500 не может применяться при решении задач, где требуется резервирование для обеспечения надёжности, а также для автоматизации непрерывных процессов. Отметим, что все новые серии ПЛК имеют одинаковую структуру про­ граммы, что значительно облегчает специалистам их использование. 5.2. Программируемые контроллеры серии S7-1200 5.2.1. Общие сведения, схема подключения Серия программируемых контроллеров S7-1200 предназначена для заме­ ны контроллеров S7-200, т. е. для решения задач автоматизации малой и сред­ ней сложности и в своем составе имеет: - модули центральных процессоров (CPU 121хС/ CPU121xFC) различ­ ной производительности с питанием от источника как постоянного, так и или переменного тока; - компактные платы SB 12хх расширения входов и выходов. Устанавли­ ваются непосредственно в модули центральных процессоров и не уве­ личивают установочные размеры контроллера; — расширительные модули SM 12хх дискретных или аналоговых сигна­ лов. Расширительные модули устанавливаются справа от центрального процессора и подключаются к внутренней шине контроллера через выдвижные соединители с фиксирующей защелкой, встроенные в кор­ пуса соответствующих модулей; - коммуникационные модули СМ 12хх и СР 12хх для подключения кон­ троллера к сети Industrial Ethernet, PROFIBUS DP, обмена данными че­ рез последовательные каналы связи, мобильные беспроводные сети, каналы связи систем телеуправления. Коммуникационные модули устанавливаются слева от центрального процессора и подключаются к внутренней шине контроллера через встроенный в каждый модуль со­ единитель. К одному центральному процессору допускается выпол­ нять подключение до трех коммуникационных модулей; - технологические модули для автоматизации задач взвешивания, изме­ рения виброускорений, управления ведомыми устройствами Ю-Link; - стабилизированный блок питания PS 1207 с входным напряжением ~120/230 В и выходным напряжением = 24 В;
228 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ - дополнительные компоненты в виде карт памяти SIMATIC Memory Card, имитаторов входных сигналов для отладки программ контролле­ ров и модуля буферной батареи и т. д. Общий вид модулей приведен на рис. 5.6-5.9. Модули контроллера S7-1200: - выпускаются в компактных пластиковых корпусах со степенью защи­ ты IP20; - оснащены светодиодами индикации состояний, наличия ошибок в ра­ боте контроллера, а также запроса на обслуживание; - обеспечивают удобный доступ к элементам управления и соедини­ тельным устройствам, закрытым защитными пластиковыми дверцами; — имеют съемные терминальные блоки с контактами под винт для под­ ключения внешних электрических цепей; - монтируются на стандартную профильную шину DIN или на верти­ кальную плоскую поверхность. Рис. 5.6. Внешний вид ПЛК: 1 - разъем питания; 2 - гнездо для карты памяти под верхней дверцей; 3 - съемный клеммный блок для подключения ко входам и выходам ПЛК (за дверцами); 4 - светодиоды состояния для входов/выходов; 5 - разъем РИОРПЧЕТ (на нижней стороне модуля) Изучение основ программирования, в настоящей главе, рассматривается на примере контроллера типа CPU 12I4-AG310XB0 (6ES7-241-1CH30-1XB0) с коммутационной платой СВ 1241 RS485.
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 229 Рис. 5.7. ПЛК с установленной платой расширения: 1 - светодиоды состояния на 5В; 2 - съемный соединитель для подключений пользователя Рис. 5.8. ПЛК с установленным сигнальным модулем: 1 - светодиоды состояния; 2 - передвижной флажок подключения шины; 3 - съемная для подключения входов и выходов Рис. 5.9. ПЛК с установленным коммуникационным модулем: 1 — светодиоды состояния; 2 - коммуникационный разъем Ниже приведены схема подключения контроллера и таблицы характери­ стик РЬС, модулей расширения и коммуникационного модуля. Питание контроллера данной модели контроллера осуществляется напряжением постоянного тока 24 В.
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 230 Число дискретных входов - 14. Общий провод входных сигналов «Плюс». Возможны варианты подключения входов, как к внешнему источнику пи­ тания, так и к внутреннему. Число дискретных выходов - 10. Общий провод выходов «Минус». Число аналоговых входов - 2. Таблица. 5.1 Модули расширения Модуль Сигнальный модуль (SM) Цифровой Только ввод Только вывод Комбинация ввода и вывода 8 входов пост, тока 8 выходов пост, тока 8 релейных выходов 16 выходов пост, тока 16 релейных выходов 2 аналоговых выхода 4 аналоговых выхода - 8 входов пост, тока / 8 выходов пост, тока 8 входов пост, тока / 8 релейных выходов 16 входов пост, тока / 16 выходов пост, тока 16 входов пост, тока / 16 релейных выходов 4 аналоговых входа/ 2 аналоговых выхода 16 входов пост, тока Сигнальная плата (SB) Аналоговый 4 аналоговых входа 8 аналоговых входов Цифровая • Аналоговая - 1 аналоговый выход 2 входа пост, тока/ 2 выхода пост, тока • Коммуникационный модуль (СМ) • RS485 • RS232 Таблица 5.2 Коммуникационный модуль Технические денные Номер для заказа (MLFB) 6ES7 241-1СН30-0ХВ0 Размеры и вес Размеры 30 х 100 х 75 мм Вес 150 грамм Передатчик и приемник Диапазон синфазного напряжения от -7 В до +12 В. 1 секунда. 3 Ѵмф постоянно Дифференциальное выходное напряжение передатчика мин. 2 В при Re = 100 Ом мин. 1.5 В при Rl = 54 Ом Оконечная нагрузка и смещение 10 КОм для +5 В на В. PROFIBUS Pin 3 10 КОм для GND на A. PROF IBUS Pin 8 Полное входное сопротивление приемника мин. 5.4 КОм. включая оконечную нагрузку Пороговая чувствительность приемника мин. ♦/- 0,2 В. тип. гистерезис 60 мВ Потенциальная развязка сигнала RS485 с массой сигнала RS485 с общим контактом логики CPU 500 В перем, тока. 1 минута Длина кабеля, экранированного макс. 1000 м Технические данные блока питания Мощность потерь 1.1 Вт из *5 В пост, тока 220 мА
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 231 Продолжение таблицы 5.2 Контакт 1 GND Описание Разъем (розетка) Земля логики и системы связи 1 • 2 Не подключен • ЗТхО* Сигнал В (ИхО/ТхО*): Вход/Выход » 4RTS Запрос на передачу (уровень ТП.): Выход « 5GND Земля логики и системы связи Контакт • Vф 6PWR *5 В с последовательно включенным резистором 100 Ом: Выход 7 Не подключен 8TXD- Сигнал А (КхОЛГхО): Вход/Выход 9 Не подключен SHELL Подключение к массе 4 2 1 Описание При подключении контроллера следует обращаться к технической доку­ ментации, так как для разных исполнений могут быть существенные отличия. Вариант схемы подключения приведен на рис. 5.10. Рис. 5.10. Варианты подключения ПЛК Программирование контроллера осуществляется в программной среде ТІА Portal и базовом языке STEP 7. В общем случае поддерживаются следующие стандартные языки про­ граммирования (рис. 5.11): LAD (логическая схема) - является графическим языком программиро­ вания. Представление основывается на принципиальных схемах; SCL (структурированный язык управления) - является текстовым ак­ кумуляторным языком; FBD (функционально-блочная диаграмма) - является языком програм­ мирования, основанным на графических логических символах, исполь­ зуемых в Булевой алгебре.
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 232 Контактный план (LAD) Пригоден, например, для пользователей из электротехнической промышленности. "Key 1" "Key 2" "Green_Lxg ht" —I H--------1 h-------------------O—l Список операторов (STL) Пригоден, например, для пользователей из мира компьютерных технологий. А А = "Кеу_1" "Кеу_2" "Green-bight" Функциональный план (РВО) Пригоден, например для пользователей из мира схемотехники. "Кеу_1"-- ”Кеу_2"— Рис. 5.11. Отображение программы на различных языках 5.2.2. Создание и конфигурация нового проекта Последовательность разработки нового проекта следующая: - открыть, установленный на компьютер Софт TIA Portal VI3 (рис. 5.12); Рис. 5.12. Начальное окно TIA Portal
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 233 - активизировать команду «Create new project» (создать новый прокт); - в открывшемся окне указать имя, каталог хранения и автора проекта. например (рис. 5.13): Project name: proba l Path: c:/chernov / Книга2025 / S7-1200 Autor: hp Comment: Рис. 5.13. Имя, каталог хранения и автор проекта - щелкнуть по кнопке «Create», наблюдать процесс создания проекта до появления сообщения «Выберете следующий шаг» (Please select the new step), рис. 5.14; Рис. 5.14. Окно открытия нового проекта - щелкнуть по надписи «Open the project view», наблюдать открытие ок­ на Siemens - proba_l (рис. 5.15);
234 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 5.15. Начальное окно создаваемого проекта Probal - щелкнуть «Add new device» и набрать параметры контроллера (рис. 5.16): Controlles Simatic S7-1200 CPU CPU 1214C DC/DC/DC 6ES7-214-1AG31-0VB0 наблюдать появление на экране аппликации контроллера (см. рис. 5.16); Рис. 5.16. Окно введения параметров контроллера
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 235 - щелкнуть ОК, наблюдать загрузку до появления окна с топологией контроллера и рабочими адресами, установленными по умолчанию (рис. 5.17). Рис. 5.17. Окно топологии адресного пространства контроллера При необходимости, можно установить пользовательские адреса входов и выходов, например: входы: 124 ... 126 —► 0...2 выходы: 124... 126 —» 0... 1 - слева экрана наблюдать появления окна дерева проекта «Project Tree»; - щелкнуть «Program block», наблюдать появление входимостей Add new block Main [OBI] - щелкнуть Main [OBI], наблюдать появление наборного поля электро­ автоматики Network (рис. 5.18).
236 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 5.18. Окно наборного поля электроавтоматики Можно набирать программу электроавтоматики по умолчанию в Ladder. - сохранить проект «Save project» в каталоге пользователя по указанно­ му адресу, например, c:\chernov\ книга 2025\ S7-1200\Proba_l, появля­ ется папка проекта (рис. 5.19). ■■■■■■■■■■■■■■■ВИ* (AddibonaFilei) Р“1 [Logs) (System) (ТМР) _J (UsecFiles j &Proba_1 ; 3 P*oba_1 + Тип Размер «Полю» <Пппко> «Полю» <По<*а> <Папка> <Па<жа> <Погжо> арІЗ 7 685 іпіо 239 Дата 18 10 2024 18.10 2024 18 10 2024 18 10 2024 18 10 2024 18 10 2024 18 10.2024 18 10 2024 18 10 2024 13:50 13:50 13:50 13:50 13:50 13:50 13:50 13:50 13:50 Атрибуты — — ------— — — -а— Рис. 5.19. Каталог хранения проекта Proba l Созданный проект Probal. арІЗ может открываться двумя способами: - из каталога пользователя, щелкнув мышкой по его имени. При этом автоматически запускается программная среда ТІА Portal; - из предварительно открытой программной среды, щелкнув по надписи «Open existing project». Примечание: В программной в среде TIA Portal, кнопкой в нижнем левом углу, предусмотрена возможность переключения двух, ориентированных на разные задачи, типов окон: Portal View и Project View, что позволяет более быстро находить нужные команды.
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 237 Далее можно идти двумя путями: Путь 1. Автономно, на компьютере в среде ТІА Portal подробно изучать синтаксис языка контроллера, процедуру набора различных инструкций, редак­ тирование программ и другое. Получив достаточные знания, подключить к компьютеру контроллер, наладить связь, загрузить программу, имитировать тумблерами работу входных сигналов, проверить работу программы. Путь 2. Если уже на начальном этапе работы в наличии имеется контрол­ лер, то лучше совместить набор простейшей релейной цепочки с освоением процедурных вопросов организации связи и загрузки программы и в дальней­ шем проверять более сложные программы в рабочем режиме. При каждом но­ вом включении контроллера связь с компьютером будет устанавливаться авто­ матически. Ниже приведена последовательность работы при выборе данного пути. 5.2.3. Организация связи с компьютером, загрузка и проверка программы 1. Включить питание PLC. 2. Соединить PLC и PC стандартным кабелем Ethernet (рис. 5.20). Вх/Вых Рис. 5.20. Блок-схема связи PLC и PC 3. В разделе Network & Ethernet диспетчера устройств компьютера за­ дать протокол связи ТСР/ІРѵ4 (рис. 5.21). 4. В свойствах протокола установить IP-адрес контроллера 192.168.0.1, заданный фирмой Сименс по умолчанию (рис. 5.22).
238 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 5.21. Установка протокола Ethernet (ТСР/ІРѵ4) NetwoArq Shanrq p M ; rt u г (і —X---------------- » X Internet Protocol Version 4 ( КР/ IPv4; Properties QOtUn an IP «bra аиѵемхаіу ® Ure ne Morano F addree: Subnet tnaA: к :■-•>.; X* 255 255 . 255 . 0 Preferred DNS sefvr: Q Vakute wttngs coon evt Advanced.. Рис. 5.22. Установка IP-адреса
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 239 5. Открыть на компьютере программную среду ТІА Portal и создать но­ вый простейший проект согласно процедуре, приведенной выше в разделе кон­ фигурации проекта (раздел 5.2.2), например, рис. 5.23. Простейшая релейная цепь %Ю.О %Q0.0 Вход 1 ‘Выход 1 Рис. 5.23. Простейшая релейная цепь (Ladder-диаграмма) 6. Активизировать загрузку проекта в контроллер, щелкнув по клавише Download. Далее, в открывшемся окне установить (рис. 5.24): Type of the PG/PC interface - PN/IE PG/PE Interface - Intel® Ethernet Connection 1217-LM и щелкнуть по клавише Flach Led. Рис. 5.24. Установка параметров связи
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 240 7. Если компьютер увидел PLC и связь установилась, то на контроллере начнут мигать сигнальные светодиоды (Run/Stop и др.). 8. В окне Load preview выбрать параметры Stop all и Overwrite all (рис. 5.25), щелкнуть по клавише Load и наблюдать процесс загрузки программы. 9. Для просмотра программы в режиме On-Line установить режим Run и щелкнуть по клавише «Очки». Рис. 5.25. Окно Load preview проекта 5.3. Программирование на языке релейно-контактных схем (LAD) 5.3.1. Назначение иконок создания проекта Топология рабочих иконок TIA Portal и их назначение показано, соответ­ ственно, на рис. 5.26 и в таблице 5.3. I Sienipn^Pr^e<t4 Project Edit View insert Online Optons Tools Window Help Devices 30 0 НЙКЙ * д' ^ EBMigattatgg) Pfe « 4? 9 1 ■■■■ Рис. 5.26. Рабочие иконки создания проекта ; T* °? В
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 241 Таблица 5.3 Назначение иконок 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Меню Soft TIA Portal V13 New Open Save Print Cut Copy Paste Delete Undo Redo Find in Editor Compile Download Upload Start Simulation Start Runtime on the PLC Go online Go offline Accessible devices Start CPU Stop CPU Cross- references Split Editor space Horizontally Split Editor space Vertically 1234567891011121314151617181920212223- Меню управления Ladder Inset Net work Delete Network Insert Row Add Row Reset Start Values Expanded Mode Open all network Close all network Free comments On/Off Absolut/ Symbolic operands Shows the tag information Network Comments On/Off Display favorites in Editor Go to previous error Go to next error Back to read/write access Go to read/write access Update inconsistent block Comment Out Selection Remote Comment Detailed Comparison Monitoring On/Off Download without reinitialization 5.3.2. Доступные типы данных и переменные - бит и комбинация битов: Bool (Битовое значение), Byte (слово 8-бит), Word (слово 16-бит), DWord (двойное слово 32-бита); - целые числа: USInt (беззнаковое 8-бит), Sint (8-бит со знаком), UInt (беззнаковое 16-бит), Int ( 16-бит со знаком), UD/nt (беззнаковое 32-бита),
242 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Dint (32-бита со знаком); - числа с плавающей точкой: Real (32-бита), LReal (64-бита); - время и дата: Time (значение времени, 32-бита, формат МЭК), Date (значение даты, 16-бит), TOD (значение времени суток, 32-бита), DTL (структура даты и времени, 12-байт); - символ и строка: Char (одиночный символ, 8-бит), String (строка переменной длины, макс. 254 символа); - массив [Array]', — структура данных: Struct; - пользовательский тип данных [PLC data types]; - указатели: Pointer, Any, Variant. 5.3,3. Доступные операнды I - дискретные входы (I0.0-I2.7), (IB0-IB2), Q - дискретные выходы (Q0.0-Q1.7), (QBO, QB1), М - маркеры (М0.0-М127.7), (МВ0-МВ127. MW0-MW63, MD0-MD42), Т - таймеры (Т0-Т255), В - байты (биты 0-7), W - слова (биты 0-15), D - двойные слова (0-31), L - локальные переменные, К - константы. Принцип кодирования I (Q, М) х.х ! ! !___ бит (0-7) ! !____ байт (0-п) !I - вход Q - выход М - маркер
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 243 IB (QB, MB) x ! !___ номер байта (0-n) ! IB - байт входа QB - байт выхода MB - байт маркера Аналогично адресуются слова (IW, QW, MW) и двойные слова (ID, QD, MD) с указанием их начального номера. Важно! Слово состоит из 2-х байт, а двойное слово из 4-х. Начальный адрес является старшим! Классически, инструкции (команды) программирования принято разде­ лять на базовые, работающие с битами информации и функциональные, рабо­ тающие со словами. Если в состав базовых команд включить таймер, то можно утверждать, что их достаточно для решения, практически, любой задачи ло­ кальной автоматизации. Однако это будет сложно и нерационально. Для упро­ щения работы и предназначены функциональные команды. 5.3.4. Битовые (базовые) логические инструкции (bit logic operation) Синтаксис языка предоставляет в распоряжение следующие битовые ко­ манды: —11— нормально открытый контакт (I, Q, М, L, D, Т, С); —I /1— нормально замкнутый контакт; —|NOT|— инверсия результата логической операции; —() выходная катушка (I, Q, М, L, D); —( S) установка выхода в логическую единицу (I, Q, М, L, D); —( R) сброс выхода в логический ноль (I, Q, М, L, D, Т, С); —( Set_BF) групповая установка битовых сигналов; —(Reset_BF) групповой сброс битовых сигналов; —( RS ) RS-триггер; —( SR ) SR-триггер; —I Р I формирование такта по переднему фронту; —IN I формирование такта по заднему фронту; —(PN) такт по заднему фронту; —(N)| такт по заднему фронту; P_TRIG формирование такта по переднему фронту; N TRIG формирование такта по заднему фронту; R TRIG установка выхода по переднему фронту; F_TRIG установка выхода по заднему фронту.
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 244 Принцип работы базовых инструкций приведен в сводной таблице 5.4. Таблица 5.4 Битовые логические операции № Условное обозначение Назначение инструкции и выполняемые операции 1 —11— Замыкающийся контакт (начальное считывание, логические операции AND, OR, NOT, XOR) Размыкающийся контакт (начальное считывание, логические операции AND, OR, NOT, XOR) 2 3 Инверсия логической цепи (RLO- Rezalt of the Logical Operation) —|not|— Выходная катушка логической цепи (Результат вьшолнения операции) 4 5 ~{/}— Инверсия результата операции 5 —( S )— Set- Установка выхода в логическую "Единицу" 6 —( R )— Reset- Установка выхода в логический "Ноль" 7 —( SetBF )---- Set BF- Групповая установка битов в логическую "Единицу" 8 —( Reset Bf)---- Reset BF- Групповая установка битов в логический "Ноль" 9 SR- триггер с приоритетом сброса SR Q4 -S ) - RI 10 11 п________ і------ 1 S R1__ - RS -R <H - SI Хвх Y(t) —1 pH ) a #= RS- триггер с приоритетом установки ) S1 и________ і—1 R п 1___ Р- Скан по переднему фронту Хвх 1_____________ 1 У(т)_ искан 12 Хвх HnH a Y(t) ) 1__ N- Скан по заднему фронту Хвх і_________ і УЩ__________ С Скан
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 245 Окончание таблицы 5.4 № 13 Назначение инструкции и выполняемые операции Условное обозначение P- Скан n э переднему фронту Хвх Y(t) —1 Н( р ) а Хвх г________ 1______ У(т1_г Скан 14 N- Скан по заднему < зронту Хвх Y(t) Н Ы N ) а Хвх і_________ «Скан 15 P_Tng Хвх Y(T) НН Clk Q 4 ) а 16 а Хвх Q FJïig EN ENO НН Clk N Trig- Скан по задн ему фронту Хвх 1_________ ІИ__________ R_Trig- Установка выхода по переднему фронту EN ENO 18 Y(t) «Скан R_Trig Хвх НН Clk Хвх f________ 1______ Скан N_Tng Y(t) Хвх ) НН Clk q|-( 17 P_Trig- С кан по переднему фронту Y 4 ) —Y Q -( ) Хвх г~1______________ 1___ 1________________ F_Trig- Установка выхода по заднему фронту Хвх г~і______________ 1____ 1 ______ Для набора битовых релейных команд используются иконки на панели меню (рис. 5.27), вызываемые в наборное поле иконкой «13-Display favorites in Editor». Они включают следующие команды (операнды): - прямой операнд; - инверсный операнд; - выходная катушка; - универсальная иконка для набора функциональных команд; - открытие параллельной строки; - закрытие параллельной строки. Набор этих команд может быть изменен пользователем.
246 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 5.27. Иконки команд на панели меню Последовательность набора простейших цепей: Открыть новый Network. ▼ Network 5: Comment Активизировать курсор. Перетащить нужный операнд на место курсора. Набрать адрес операнда. Появится адрес и шаблон (Tag) его символа. *2.0 Тад_109' Перетащить катушку на место курсора. *2.0 Тад_109' Щелкнуть по «квадратику» и набрать адрес катушки. *2.0 Tag_W9‘ *}1.7
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 247 Для параллельного набора второго контакта установить курсор перед контактом. №.о Тад 109' --- ---- 1 |— *>1.7 Тидр' Ч )------ - Щелкнуть по иконке параллельного соединения. Появится значок «отвода». «12.0 тад_Ю9' *01.7 Тидо" —1I— Отметить «значок» и перетащить на него второй операнд. Щелкнуть по «значку», на его место встанет второй операнд. «ел Тад_109' —І I------------- *01.7 Тидр' *12.1 Тад_6Г —I ^ г Замкнуть параллельную цепь иконкой, набрать адрес операнда. *12.0 Тад_109' «12.1 Тад_вГ *01.7 Тидр'
248 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Дальше можно набирать сложные разветвленные цепи, используя стан­ дартные команды меню Copy, Cut, Paste. Допускается оперативное изменение типа операнда и его адреса. ЧЫ2.0 «12.2 %Q1.7 Тад.109' naajw Тидр" «2.1 -и-|NOT|- Тад_бГ -I н Если указан символьный адрес (Tag), то смена реального адреса осу­ ществляется предварительным щелчком курсора в его месте. Редактирование релейных цепочек. Редактирование сложный разветвленных цепей осуществляется путем выделения нужных цепей и дальнейшем их удалением, переносом или копиро­ ванием (рис. 5.28 и 5.29). «мол "тад_20" «И .4 тад_4(1)- *00.0 «11 .ъ Тад_1Г —и- «00.0 "таа.11 «11.6 Таа 16’ *00.1 «Q0.2 *тад_18* «11.4 Тад_4(1У 4*11.7 Тад_25’ «00.3 Тад_22' Тао.16* Рис. 5.28. Вставка операнда 11.6 (Tagl6) перетаскиванием в строку ниже
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 4*0.1 Tag_20‘ «1.5 Tag із' «1.4 Tag_4(1)' 249 «)o.o Tag.1T -ивян-г-вія-іг-ям® «зол "Tig.”’ «1.6 «30.1 --------- |NOT^ Рис. 5.29. Выделение группы контактов для последующего изменения программы Комментарии Доступны следующие виды комментариев (рис. 5.30): - назначение Network; - пояснения к Network; - адресное обозначение операндов; - символьное обозначение операндов; - отображение таблицы адресов и символов и Network. Network 4: Гидравдака Простейшем релейном цепе М2.0 %Q1.7 Tag. 109’ "Гидр’ ▼ •TagjW ••w М2 0 ^ѵ/ Рис. 5.30. Доступные виды комментариев При помощи специальных иконок можно компоновать систему коммен­ тариев по своему усмотрению: - иконка «12- Network Comment On / Off»: On - показывает строку комментария Comment; Off - скрывает строку комментария Comment.
250 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Network#: %I2D %Q1.7 — иконка «10- Absolut/ Symbolic operands»: Symbolic and Absolut- показывает Адрес и Символ у операнда; Symbolic - показывает только Символ; Absolut - показывает только Адрес. ▼ Network 4: Простейшее релейная цепь %ел чь *01.7 Ч Ь - иконка «11-Shows the tag information»: Hide Tag Information - скрывает таблицу Адреса и Символа в Network; Show Tag Information - показывает таблицу Адреса и Символа в Network; ▼ Network 4: Comment *12.0 *Q1.7 Тад_109’ TaçLôr Таким образом, синтаксис языка позволяет набрать практически любую сложную релейную цепочку, например, приведенную на рис. 5.31. Рис. 5.31. Разветвленная релейная цепь
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 251 На рис. 5.32 приведен пример сложной цепи в режиме реального времени. Для того чтобы разместить сложную цепь в одном блоке Network и «обо­ значить» ее как законченную структуру, рекомендуется начинать цепь с общего контакта (например: гидравлика, цикл, ручной, автомат и др.). Если такого сиг­ нала нет, то следует сформировать искусственный сигнал = 1 (всегда равно единице). Рис. 5.32. Разветвленная релейная цепь в режиме отладки Любую программу следует начинать с формирования вспомогательных сигналов «= 1» и «= 0». Такие сигналы будут исключительно полезны при раз­ работке новых сложных программ, когда не все ясно со структурой алгоритма управления. В непонятных местах нужно заранее вставить такие сигналы: в по­ следовательную цепь = 1, а в параллельную = 0. Они не повлияют на работу программы, а при ее отладке на рабочем объекте, если потребуется вставить дополнительные операнды, будет достаточно только изменить адреса. Это зна­ чительно сократит время отладки. При задании адресов операндов автоматически формируется таблица «PLC Tags» (рис. 5.33). Tag - в переводе это ярлык, шаблон, в нашем случае, это символьное имя адресуемого операнда. В таблице указывается имя (по умолчанию номер Tag), тип данных и адрес операнда. Ей присваивается имя проекта. При разработке нового проекта следует создавать свою таблицу (Add new tag table). Если этого не делать, то контроллер сводит в одну таблицу атрибуты всех проектов (Show all tags, т. е. помнит все предыдущие данные) и при про­ граммировании могут возникать ошибки, связанные с несовместимостью зада-
252 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ ния типа данных. Выйти из положения можно также, если стереть предыдущую таблицу (Default tag table) и сформировать ее заново. 41 Tags 'a UwrcomUnt* T*f »Ьй ОміГ>«* DeMtogt** • tw оимйадаыі Boot D«4<MU9»O« BM DotoultUfUt* Bool МккіщівЫс Boo DotMtagubte Boot OtteAtogui* DM МывадаМ» он DataAtogabi* Bod O^Ategubte OH DrUUt u? ueie Boel > sy»«e< M*«m 1 ЧМ0.0 ЧМ0.1 ЧСЛ ЧМ1Д ЧС.1 ЧММ ЫЮЮ чмом чел 4QQ7M чміл Рис. 5.33. Таблица символьных переменных Далее приведена информация по инструкциям формирования тактов, установки / сброса битов и простейшим триггерам, которые мы условно отнес­ ли к базовым инструкциям, Формирователи тактов Формирователи тактов используются для формирования импульсов дли­ тельностью в один вычислительный цикл (скан, такт) по переднему, заднему или обоим фронтам входного сигнала. Тактирование сигналов позволяет просто программировать на контроллере различные специальные алгоритмы, напри­ мер, Т-триггеры, D-триггеры, сдвиговые регистры и др. Как правило, в совре­ менных контроллерах предусматривается несколько вариантов формирования тактовых сигналов, что часто бывает удобно. Инструкции Р / N —IРI— Формирование такта по переднему фронту входного сигнала. —I N I— Формирование такта по заднему фронту входного сигнала. На рис. 5.34 приведен алгоритм формирования такта по переднему фрон­ ту и его применения для реализации счетного Т-триггера. Здесь: 11.5 - входной сигнал, Ml.5 - внутренний промежуточный сигнал формирования такта, Ml.6 - выходной тактированный сигнал, Q1.6 - Т-триггер. Реализация Т-триггера при помощи тактированного входного сигнала осуществляется при помощи логической функции неравнозначности (Исклю­ чающее ИЛИ) между входным тактированным сигналом и выходом. Такт по заднему фронту инструкцией N программируется аналогично.
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 253 Рис. 5.34. Инструкция «Р-Такт по переднему фронту входного сигнала» На рис. 5.35 приведены примеры тактирования, реализованные классиче­ ски способом на базовых битовых сигналах. У(Т) ____ ^акт У г У(Т) Уф п Рис. 5.35. Формирование тактов классическим способом: а - по переднему, б — по заднему, в - по обоим фронтам входного сигнала» Сигнал «а» - это аналог внутреннего сигнала М1.5 инструкции Р. Инструкции РТКІС / К_ТКЮ Это другой способ тактирования входного сигнала. Принцип работы ана­ логичен инструкциям Р / N. Рис. 5.36. Инструкция «Р-ТИЮ» - Такт по переднему фронту входного сигнала
254 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Здесь: 112.0 входной сигнал, М51.0 - внутренний промежуточный сигнал формирования такта, М51.2 - выходной тактированный сигнал, М51.3 Т-триггер. Инструкции S (Set) / R (Reset) Это инструкции установки или сброса битового выхода с запоминанием. Программа использования инструкций приведена на рис. 5.37 и каких-либо по­ яснений не требует. Рис. 5.37. Команды Set/Reset: а - Ladder, б - диаграмма работы Триггерные 8R / RS инструкции Инструкция SR это триггер с приоритетом сигнала сброса, а RS триггер с приоритетом сигнала установки (рис. 5.38). Хуст Хсбр Увых б)- SR-триггер Хуст Хсбр Увых в)- RS-триггер Рис. 5.38. SR / RS-триггеры: а - Ladder; б, в - диаграммы работы Фактически, это аналоги релейных схем памяти (рис. 5.39), реализован­ ных по следующим логическим уравнениям: Приоритет выключения У = (8 + У)*Ж. Приоритет включения У = 8 + У*/К. Здесь знак «/» это инверсия сигнала.
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 255 Y=(S + Y)*/R Y=S + Y*/R Рис. 5.39. RS-триггеры на реле: a - приоритет включения, б - приоритет выключения На рис. 5.40 приведены различные допустимые варианты программиро­ вания 811 / И8 инструкций. На выходе триггера допускается программирование разветвленных цепочек и использование самого триггера как бы в качестве би­ тового операнда. Рис. 5.40. Варианты реализации 8К / Кв- триггеров: а - прямая адресация промежуточного операнда У, б - косвенная адресация выхода Q, в - прямая адресация выхода Q 5.4. Изменение типа языка программирования Данный тип контроллера поддерживает только два языка программиро­ вания: LAD и FBD. При необходимости, программу набранную в релейно­ контактном варианте можно легко преобразовать в FBD-программу. Для этого необходимо выполнить следующие действия (рис. 5.41): - в меню Project tree щелкнуть по имени программы Маіп[ОР1]; - в открывшемся падающем меню щелкнуть по Switch Programming Language; - Щелкнуть по аббревиатуре нового языка FBD, наблюдать конвертиро­ вание программы (рис. 5.42)
256 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 5.41. Изменение типа языка программирования ▼ Network 1: Ячейки всегда -1 (МО 1) и всегда -О (МО 0) ▼ Network 1: Ячейки всегда »l (М0.1) и всегда -0(М0.0) Рис. 5.42. Формирование сигналов = 1 и = 0 на языке LAD и FBD
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 257 Очевидно, язык релейно-контактных схем значительно проще и предпо­ чтительнее. 5.5. Функциональные логические инст рукции Синтаксис языка электроавтоматики контроллера предусматривает про­ граммирование функциональных инструкций в международном формате ІЕС и формате фирмы Siemens. Вызов инструкций осуществляется путем перетаскивания нужных иконок (шаблонов инструкций) из библиотеки на рабочее поле. Каталог библиотеки (Library) располагается с правой стороны окно TIA Portal. Число доступных инструкций огромно. Приведем их общую структуру, после чего будут рассмотрены наиболее востребованные инструкции. Basic Instruction ► General (New network, Empty box, Open branch, Clouse branch) ► Bit logic operation (открытый контакт, закрытый контакт, NOT - инвер­ сия, выходная катушка, инверсная выходная катушка, R - катушка, S — катушка, Set_BF, Reset BF, RS-триггер, SR-триггер, сканы по переднему !Р!, (Р) и заднему INI. (N) фронту, P_TRIG, N_TRIG, R_TRIG. F_TRIG) ► Timer operation формат IEK: TP, TON, TOF, TONR катушечные таймеры: (TP, TON, TOF, TONR. RT, PT). ► Counter operation CTU, CTD, CTUD. ► Comperator operation CMP (=, <>,>=, <=, >, <) In_Rang, Out Range -|OK|—|NOT_OK|— ► Math function Siemens: Calculate, ADD, SUB, MUL, DIV, MOD, NEG, INC, DEC, ABC. IEK: Min, Max, Limit Siemens: SQR, SQRT, LN, EXP. Sin, Cos, Tan, ASin, Acos, ATan, FRAC, EXPT. ► Move operation MOVE, Deserialize, Serialize, MOVE_BLK, MOVE_BLK_VARIANT, UMOVE BLK, FILLBLK, UFILL BLK, SCATTER, SCATTER BLK, GATHER, GATHER_BLK, SWAP.
258 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ ► Conversion operation Convert, Round, Ceil, Floor, Trunc, Scale_X, Norm_X. ► Program control operation Siemens: JMP, JMPN, Lebel, JMP_LIST, SWITCH, RET IEK: Ends_PW, RE_TRIGR, STP Siemens: Get_Error, Get_Err_ID, Runtime. ► Word logic operation Siemens: AND, OR, XOR, INVERT IEK: DECO, ENCO, SEL Siemens: MUX, DEMUX ► Sift and rotate SHR, SHL, ROR, ROL. Далее без подробной расшифровки инструкций (в каждом заголовке очень большое количество специальных инструкций): Extended Instruction Data and time-of-day String + Char Destributed I/O Interrupts Diagnostics Pulse Recipe and data logging Data block control Addressing Technology Counting PID Control Motion Control Communication S7 Open Web Server Others Communication prossesor Tele Service Очевидно, что разобраться досконально в этом «море» информации совер­ шенно невозможно, поэтому следует хорошо знать наиболее употребляемые ин­ струкции и уметь, при необходимости, по технической документации или мето­ дом проб и ошибок понять, как работает та или иная инструкция. Для этого и ну­ жен рабочий стенд. И не нужно стесняться спрашивать! Некоторые специальные
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 259 инструкции, например, позиционирование и работа с быстрыми счетчиками, подробно рассмотрены в [16]. Приступим к изучению наиболее применяемых при локальной автомати­ зации промышленных объектов инструкций. Функциональные инструкции сведены в табл. 5.5: 1. Таймеры TP, TON, TOF, TONR. 2. Счетчики CTU, CTD, CTUD. 3. Инструкции сравнения CMP, IN_Rang, OUT_Rang, OK, Not_OK. 4. Инструкции пересылки Move, Move_BLK, Swap. 5. Арифметические инструкции. 6. 7. 8. 9. ADD, SUB, MUL, DIV MOD, MIN, MAX NEG, INC, DEC, Limit SQR, SQRT, LN, EXP SIN, COS, TAN ASIN, ACOS, ATAN EXP, Calculate Инструкции преобразования CONV, Round, Scale_X. Логические инструкции co словами AND, OR, XOR. Прочие инструкции INV, ENCO, DECO, Sei, MUX, DEMUX. Регистры SHR, EHL, ROR, ROL. Ниже приводится описание наиболее распространенных функциональных инструкций. Инструкции таймеров (Timer operation) В формате ІЕС доступны четыре типа таймеров: TON - задержка переднего фронта входного сигнала; TOF - задержка заднего фронта входного сигнала; ТР - формирователь импульса по переднему фронту; TONR - запоминание длительности высокого уровня входного сигнала. Доступное число таймеров ІЕС не ограничено (ограничено только разме­ ром рабочей памяти). Топология таймеров формата ІЕС приведена на рис. 5.43. При перетаскивании иконки таймера на наборное поле автоматически указываются: - номер таймера DBx (выше иконки); - тип таймера TON, TONR, TOF или ТР (внутри иконки).
260 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Таблица 5.5 Функциональные инструкции № Условное обозначение T#5ms- Імя таймера ТР Time IN Q PT ET ТР- Формирователь импульсов (Timer Pulse) TON- Задержка переднего фронта (Timer ON) TOF- Задержка заднего фронта (Timer OFF) IN- входной сигнал (бит) РТ- задание^ставки времени Q-выходной сигнал (бит) ЕТ- текущее состояние таймера (дв. слово) TONR- Накапливающий, задержка переднего фронта R- вход сброса таймера (бит) T#10s - TONR Time IN Q R PT ET 1 2 Имя счетчика ю- 10- MW53 Назначение инструкции и выполняемые операции CTU- Счетчик на сложение (Counter Up) CU- счетный вход (бит) R- сброс счетчика на "0" (бит) РѴ- задание уставки счета (Previous Value) Q- выход >=РѴ (бит)) СѴ- текущее состояние счетчика (слово) CTU Int CU Q — R CV PV CTD Int CU Q LD CV — PV CTD- Счетчик на вычитание (Counter Doun) CD- счетный вход (бит) LD- вход активизации уставки РѴ (бит) РѴ- задание уставки счета (Previous Value) О- выход <=0 (бит)) СѴ- текущее состояние счетчика (слово) CTUD Int CU QU CD QD — R CV LD PV CTUD- Счетчик на вычитание (Counter Doun) CU- счетный вход на сложение (бит) CD- счетный вход на вычитание (бит) R- сброс счетчика на "0" (бит) LD- вход активизации уставки РѴ (бит) QU- выход >=РѴ (катушка) QD- выход <=0 (бит) СѴ- текущее состояние счетчика (слово) Хвх Ор_1 ч н???н Ор2 Y ) Инструкция сравнения (Comparator) == У=1,если (0р1=0р2) <> Y=l, если (Орі * Ор2) >= Y=l, если (0р1>0р2) >= У=1,если (0р1<0р2) > У=1,если (0р1>0р2) < Y=l, если (0р1<0р2) ???- формат сравниваемых операндов Орі, Ор2- сравниваемые операнды Хвх- бит активизации сравнения Y- выходная катушка
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 261 Продолжение таблицы 5.5 № Условное обозначение IN Range "???? Хвх— Min Vai Max 4 Y ) Назначение инструкции и выполняемые операции INRange- Операнд в указанной зоне Out Range- Операнд вне указанной зоны ????■- Формат данных Хвх- вход активизации инструкции MIN- нижняя граница зоны VAL- контролируемый операнд МАХ- верхняя граница зоны Y- выходная катушуа -Ж ОК- проверка операнда на правильность HNoW NOTOK- проверка операнда на ошибку MOVE EN ENO IN OUT1 MOVE BLK EN EN()IN OUT 1Count SWAP ???? — EN ENO IN OUT 5 ADD ???? EN ENO INI OUT IN2 MOVE- Инструкция пересыпки данных EN- вход активизации Enable (бит) 1N- входные данные ENO- транзитный выход OUT1- адрес приемника данных MOVE BLK- Инструкция пересылки блока данных UMOVE BLK- Непрерываемая пересылка блока данных Fill BLK; Инструкция заполнения блока данных UFILL BLK- Непрерываемое заполнение блока данных EN- вход активизации Enable (бит) IN- входные данные Count- Объем массива данных ENO- транзитный выход разрешения OUT 1- адрес приемника данных SWAP- изменение порядка следования байтов EN- вход активизации (бит) IN-адрес источника ENO- транзитный выход разрешения OUT- адрес приемника ADD- арифметическое сложение (Addition) SUB- арифметическое вычитание (Subtraction) MUL- арифметическое умножение (Multiplication DIV- арифметическое деление (Division) MOD- получение остатка от деления M1N- посылка минимального входа на выход МАХ- посылка максимального входа на выход EN- вход активизации (бит) IN 1 -адрес или первое число 1N2- адрес или второе число ENO- транзитный выход разрешения OUT- адрес приемника результата
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 262 Продолжение таблицы 5.5 № Условное обозначение ???? EN ENO — IN OUT NEG- Изменение знака входных данных ABS- Взятие абсолютого значения данных ????- Формат данных EN- вход активизации Enable (бит) IN- входные данные ENO- транзитный выход OUT- адрес приемника данных INC ???? EN ENO IN/OUT INC- Инструкция инкремент (Increment) DEC- Инструкция декремент (Decrement) ????- Формат данных EN- вход активизации Enable (бит) IN/OUT- вход / выход данных ENO- транзитный выход Limit ???? EN ENO MIN OUT — IN MAX LIMIT- Пересылка данных находящихся в зоне на выход EN- вход активизации Enable (бит) MIN- нижняя граница зоны IN- контролируемые данные МАХ- верхняя граница зоны ENO- транзитный выход разрешения OUT- адрес приемника данных NEG — — Назначение инструкции и выполняемые операции SQR Real EN ENO IN OUT EXPT Real ??? EN ENO INI OUT IN2 Calculate ??? EN ENO OUT:=??? INI OUT IN2 * 2 SQR- Возведение в степень OUT=IN (Real) SORT- Извлечение квадратного корня (Real) LN- Вычисление натурального логарифма (Real) EXP- Вычисление экспоненты OUT=e (Real) SIN- Вычисление синуса (Real) COS- Вычисление косинуса (Real) TAN- Вычисление тангенса (Real) ASIN- Вычисление арксинуса (Real) ACOS- Вычисление арккосинуса (Real) ATAN- Вычисление арктангенса (Real) FRAC- Выделение дробной части (Real) EXPT- Возведение в степень OUT=INIK‘ ???- Формат операндов EN- вход активизации (бит) IN 1-исходное число (адрес) IN2- степень (адрес) ENO- транзитный выход разрешения OUT- адрес приемника результата CALCULATE- Выполнение сложных вычислений ???- Формат операндов EN- вход активизации (бит) IN 1-первый операнд (адрес) IN2- второй операнд (адрес) *- добавление входных операндов OU:=???- ввод вычислительного уравнения OUT- адрес приемника результата
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 263 Продолжение таблицы 5.5 № 6 Условное обозначение CONV ??? to ??? EN ENO— IN OUT ROUND Real to Din EN ENO — IN OUT Scale_X Real to ??‘1 EN ENC — MIN OUT VALUE MAX 7 AND Word EN ENO INI OUT Назначение инструкции и выполняемые операции CONV- Преобразование формата данных IN -> OUT ROUND- Преобразование вещественного числа в целое с округлением остатка TRUNC- Преобразование вещественного числа в целое с отбрасыванием остатка CEIL- Преобразование вещественного числа в наименьшее целое FLOOR- Преобразование вещественного числа в наибольшее целое SCALE X- Масштабирование входного параметра Value OUT=Value(Max-Min)+Min NORM X- Нормализация входного параметра Value OUT=(Value-Min) / (Max-Min) EN- вход активизации Enable (бит) MIN- нижняя граница зоны Value VALUE- контролируемый параметр МАХ- верхняя граница зоны Value ENO- транзитный выход разрешения OUT- адрес приемника данных AND- Логическое И со словами OR- Логическое ИЛИ со словами XOR- Исключающее ИЛИ со словами IN2 INV ???? EN ENO IN OUT SEL ??? EN ENO G INO OUT INI INV-Двоичное дополнение до единицы ENCÔ- Кодирование битовой информации BIN- код DECO- Декодирование BIN- кода в битовое число SEL- Присвоение (Selection) EN- вход активизации Enable (бит) G- номер входа пересылаемого на выход INO, IN Г- пересылаемые по номеру входы OUT- адрес выхода (приемника данных)
264 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Окончание таблицы 5.5 № Назначение инструкции и выполняемые операции Условное обозначение мих MUX- Мультиплексор INn -> OUT ???- Формат данных EN- вход активизации Enable (бит) К- номер пересылаемых на выход данных IN0- первые данные IN1- вторые данные ELSE- расширение адреса входа данных ENO- транзитный выход разрешения OUT- адрес приемника данных DEMUX DEMUX- Демультиплексор IN -> OUTn ???- Формат данных EN- вход активизации Enable (бит) К- номер активного выхода IN- пересылаемые на выход данные ENO- транзитный выход разрешения OUT0- адрес первого выхода OUT1- адрес второго выхода ELSE- расширение адреса выхода данных ??? EN ENO — К OUT INO INI ELSE ??? — EN ENO — К OUTO IN OUT1 ELSE 7 SHR- Выталкивающий регистр вправо SHL- Выталкивающий регистр влево ROR- Кольцевой регистр вправо ROL- Кольцевой регистр влево ???- Формат данных EN- импульсный вход сдвига IN- адрес источника сдвигаемых данных N- число сдвигаемых бит ENO- транзитный выход разрешения OUT- адрес приемника сдвинутых данных SHR ??? EN ENO IN OUT N Номер таймера' 4 %DB1 Тип инст­ "IEC_Timer О DB" рукции ^ " TON Time Выход /таймера _ Внешнее х х выходное Q ' реле __ Текущее ЕТ состояние Входной сигнал — IN Выдержка ру времени 1 1 Выходные контакты таймера %DB1.DBX6.O %DB1.DBX6.O а) б) Хвх / рвых 1 At Г Рис. 5.43. Топология (а) и диаграмма работы (б) таймера
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 265 Таймер имеет два входа: IN - вход (Input) активизации таймера; РТ - вход задания уставки времени (Previous Value); и два выхода: Q - подключение выходной катушки; ET - отображение текущего состояния. Формат задания выдержки времени: T#3s (ms). Максимальная уставка времени - 999. Доступны как замыкающиеся, так и размыкающиеся выходные контакты, число которых не ограничено. Выходные контакты можно адресовать двумя способами: - стандартным адресом выходной катушки; - в формате IEC: %DB1 .DBX6.0. Процедура набора таймера: - набрать контакт активизации для входа ІЕС; - перетащить из библиотеки иконку таймера в «квадратик» наборного поля; - в появившемся окне Call Option установить параметры. Рекомендуется режим Auto; - щелкнуть ОК, шаблон таймера появится в наборном поле. Одновременно в дереве проекта появится запись номера таймера: System block Program resources IEC_Timer_O_DB[DBx] Логические релейные цепи с контактами таймера набираются в следую­ щих блоках Network. Процедура адресации контактов по системе ІЕС: - щелкнуть по надписи IEC_Timer_O_DB[DBx] в дереве проекта; - вверху наборного поля появится таблица свойств Details View. По­ скольку она закрывает проект электроавтоматики, то лучше открыть ее компактный дубликат с левой стороны ниже дерева проекта; - отметить в таблице строку с адресом катушки Q и перетащить ее в нужное место контактной цепи, где нарисуется контакт с адресом %DB1.DBX6.O. На рис. 5.44 приведены шаблоны иконок и диаграммы работы таймеров в формате ІЕС, а на рис. 5.45 их реальное отображение на наборном поле.
266 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ %DB1 лі=11+12+13 а) Рис. 5.44. Инструкции (а) и диаграммы работы (б) таймеров формата IEC Здесь: ТР - таймер формирования импульса по переднему фронту входного сигнала; TON - таймер задержки переднего фронта (таймер на включение); TOF - таймер задержки заднего фронта (таймер на выключение); TONR - накапливающий таймер задержки переднего фронта. Доступна также группа таймерных инструкций с топологией в виде ка­ тушек реле: — (ТР)— инструкция для запуска таймера ІЕС с указанной длительностью в виде импульса; — (TON)— инструкция для запуска таймера ІЕС с указанной продолжи­ тельностью задержки включения; — (TOF)— инструкция для запуска таймера ІЕС с указанной продолжи­ тельностью задержки выключения;
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 267 “(TONR)-- запоминание длительности высокого уровня входного сигнала; - -(RT)- сброс ІЕС таймера; - -(PT)- установка времени для ІЕС таймера. Network 3: Таймеры ІЕС Comment Рис. 5.45. Инструкции таймеров формата ІЕС в наборном поле Доступна также группа таймерных инструкций с топологией в виде ка­ тушек реле: — (ТР)— инструкция для запуска таймера ІЕС с указанной длительностью в виде импульса; — (TON)— инструкция для запуска таймера ІЕС с указанной продолжи­ тельностью задержки включения; — (TOF)— инструкция для запуска таймера ІЕС с указанной продолжи­ тельностью задержки выключения; — (TONR)— запоминание длительности высокого уровня входного сигна­ ла; — (RT)- сброс ІЕС таймера; — (РТ)— установка времени для ІЕС таймера. Счетчики (Counter operation) В формате ІЕС доступны три типа счетчиков: CTU - счетчик на сложение (Counter Up);
268 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ CTD - счетчик на вычитание (Counter Down); CTUD - реверсивный счетчик (Counter Up/Down). Счетчики ІЕС работают по классическому принципу. Выход счетчика ак­ тивизируется при условии достижения его текущим состоянием СѴ значения заданной уставки счета РѴ, т. е. при СѴ = РѴ. На аппликации счетчика (рис. 5.46) указывается следующая информация: %DB 1 - номер счетчика; CTU Int - тип инструкции, здесь счетчик на сложение; R - входной сигнал сброса счетчика; РѴ (Preset Value) - уставка счета; Q - подключение выходной катушки; СѴ (Carrent Value) — текущее состояние счетчика. Номер счетчика Тип счетчика Вход счетчика — Сброс счетчика — %DB1 "lECCounter О DB" Выход CTU Int .' Мх.х Выходные контакты счетчика Q Мх.х си D K __ z X х Выходная > катушка СѴ ___ Текущее состояние Мх.х Уставка — PV счета а) R Хвх а Вых Q (СѴ=РѴ) РУЛ Рис. 5.46. Топология (a) и диаграмма работы (б) счетчика ІЕС Анализ циклограммы работы счетчика показывает, что: - сигнал R сбрасывает текущее состояние счетчика в ноль, т. е. СѴ = 0; - уставка счета устанавливается на входе РѴ; - при каждом входном сигнале состояние счетчика увеличивается на единицу; - при СѴ = РѴ активизируется выходная катушка счетчика и остается включенной до получения сигнала сброса R; - после СѴ = РѴ счетчик продолжает считать; - доступны нормально-открытые и нормально-закрытые контакты вы­ ходного реле;
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 269 - внутренний выходной бит счетчика при СѴ = РѴ недоступен. Его сле­ дует организовывать при помощи команды сравнения. %DB5 а) Рис. 5.47. Инструкции (а) и диаграммы работы (б) счетчиков формата IEC Network 4: Счетчики ІЕС Comment SDB5 Рис. 5.48. Инструкции счетчиков формата ІЕС
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 270 На рис. 5.47 приведены аппликации и циклограммы счетчиков CTU, CTD и CTUD, поясняющие принцип их работы, а на рис. 5.48 их изображение в наборном поле. На рис. 5.49, в качестве примера, приведен синтез программы счетчика на два, т. е. счетного триггера, а на рис. 5.50 его изображение на наборном поле в режиме ON-Line. DB1 Хвх СѴ ВшОЩі R (Хсбр) Увых (Ql-7) / Рис. 5.49. Диаграмма работы (а) и алгоритм (б) счетчика на 2 (Т-триггер) в формате IEC Network 12: Comrr-e»* 4Q1 7 ■Т«9_6Г Рис. 5.50. Ladder-диаграмма счетчика на 2 (ІЕС) в режиме On-Line в наборном поле MOVE Operation (Инструкции пересылки) Инструкция предназначена для пересылки информации из Источника в адресуемый Приемник. Топология инструкции приведена на рис. 5.51.
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 271 Основные правила программирования: - объем Источника не должен быть больше объема Приемника; - передавать можно байты (В), слова (W), двойные слова (D), констан­ ты; - содержимое Источника после переписи не изменяется; - содержимое Приемника после снятия сигнала активизации EN сохра­ няется, поэтому команду MOVE можно использовать для начальной установки содержимого слов, регистров таймеров, счетчиков; - разрешено использование транзитного выхода активизации ENO; - рекомендуется использовать тактированный сигнал активизации. Инструкция ^MOVE Транзитная Активизация— EN ENO — активизация Источник — IN Пересыл немых данных OUT — Приемник данных Рис. 5.51. Топология инструкции пересылки SWAP (инструкции перестановки байтов) Отображение инструкций в наборном поле приведено на рис. 5.52. Инструкция MOVE записывает в слово MW30 число, установленное входным байтом ІВО. Инструкция SWAP переписывает содержимое слова источника MW30 в слово приемника MW32, меняя при этом местами содержимое младшего и старшего байтов. Содержимое слова источника не изменяется. Networks: Move.Swipl Comment %М0.1 -------------- 1 %ЮЯ I-------------- --------------- 1 MOVE I------------------- EN %B0 IN ENO------------------------------------------------------------------------- ' 4 OUT1 — %MW30 SWAP %Ю.1 -------------- 1 Word I------------------- EN %MW30 IN ENO------------- ' OUT — %MW32 Рис. 5.52. Инструкции Move и Swap
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 272 Инструкции сравнения (СМР) Топология инструкций приведена на рис. 5.53. В ней необходимо задать рабочие атрибуты (тип инструкции, адреса сравниваемых операндов, тип опе­ рандов) и подключить выходную катушку. Разрешенные Разрешенные инструкции типы операндов операндов Операнд 2 < Int Dint Real Byte Word DWord Time Рис. 5.53. Топология инструкций сравнения Доступны следующие варианты сравнения: == выход У устанавливается в единицу, если Опі < > выход У устанавливается в единицу, если Опі > выход У устанавливается в единицу, если Опі < выход У устанавливается в единицу, если Опі >= выход У устанавливается в единицу, если Опі <= выход У устанавливается в единицу, если Опі = Оп2; / Оп2; > Оп2; < Оп2; > Оп2; < Оп2. Рис. 5.54. Применение инструкции сравнения в качестве «Битовых сигналов»
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 273 Основные правила: - шаблон инструкции универсальный; - сравниваемые операнды должны быть одного типа; - доступные операнды: I, Q, М, D, L, Р, Const; - выход инструкции - битовый; - набор разрешенных типов операндов для разных инструкций сравне­ ния отличается, при раскрытии меню приводятся подсказки; - разрешается оперативное изменение атрибутов инструкции; - инструкцию сравнения можно использовать в качестве бита разветв­ ленной релейной цепи (рис. 5.54). На рис. 5.55 приведены примеры синтаксиса классической инструкции сравнения и специальных инструкций IN_Range, OK, NOT OK. В режиме On-Line аппликации всех активных команд должны быть в зе­ леной рамке. Если рамка синяя, то команда не активна. Network 6: Comparator Operaions Comment Рис. 5.55. Различные инструкции сравнения MUX (Мультиплексор) Инструкция Мультиплексор (рис. 5.56) в зависимости от значения сигна­ ла управления К (на рисунке MW32) передает в выходное слово MW42 содер-
274 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ жимое входных слов IN0 (здесь число 10) или IN1 (здесь слово MW36). Вход ELSE предназначен для расширения числа входных слов, при необходимости. Network 7: Мультиплексор MUX Comment MUX %ОЛ 4 Word ENO--------------------------------------------------------------------------------------------------------------- • I------------------- EN %MW32 —К OUT —%MW42 10— WO %MW36W1 4 16*08 — ELSE Рис. 5.56. Инструкция Мультиплексора INC / DEC (Инструкции инкремента и декремента) Инструкции инкремента и декремента (рис. 5.57) предназначены, соот­ ветственно, для увеличения или уменьшения адресуемого по входу IN/OUT слова при каждом поступлении тактированного сигнала по входу EN. Network 8: me I Dec Comment INC %mo.i -------------1 mt %».i |-------------- -------------- 1 ₽ |-----------------------------------------------------EN %M04 ENO-------------------------------------- < %MW44 — WOUT DEC %»2 mt ------------- 1 P |----------------------------------------------------- EN %M05 %MW44 — ENO------------- - in/OUT Рис. 5.57. Инструкции INC и DEC В качестве примера приведем программу контролируемого управления содержимым слова MW50 от трех сигналов управления: 11.0 - установка начального значения 100; 11.1 - увеличение содержимого слова (максимально до 150); 11.2 - уменьшение содержимого слова (минимально до 20). Условно будем считать, что это цифровой код управления разгоном и торможением регулируемого электропривода (рис. 5.58).
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 275 Импульсом начальной установки М49.0 или кнопкой 11.0 в слово MW50 записывается число 100 (условно %), что соответствует заданной рабочей ско­ рости вращения двигателя. При нажатии кнопки 11.1 - «Больше», запускается генератор разгона и при помощи инструкции инкремента содержимое слова MW50 увеличивается до уставки ограничения 150 %. Скорость вращения плавно увеличивается. Network 9: ну-100%. Разгон Нам. Установка 100%. увеличение до 150% Рис. 5.58/1. НУ = 100 %, Разгон
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 276 При нажатии кнопки 11.2- «Меньше», запускается генератор замедления и при помощи инструкции декремента содержимое слова MW50 уменьшается до уставки ограничения 20 %. Скорость вращения плавно уменьшается. У|«мче<и«м 2ОЧ Инструкции сдвига (Shift and Rotate operation) Доступны следующие инструкции: ROR: Кольцевой регистр сдвига вправо; ROL: Кольцевой регистр сдвига влево; SHR: Выталкивающий регистр вправо; SHL: Выталкивающий регистр влево. Формат операндов кольцевых регистров и сдвиговых регистров разный: - инструкции ROR, ROL работают с форматами Word, Dword, Byte; - инструкции SHR, SHL допускают форматы Word, DWord, Int, Dint, Byte. Входной сигнал тактированный. На рис. 5.59 и рис. 5.60 приведены рабочие алгоритмы, соответственно, кольцевого и выталкивающего регистров вправо. Для начальной установки содержимого регистров используется команда пересылки MOVE. Тактирование входного сигнала обеспечивает однократ­ ность сдвига. Адреса входа IN и выхода OUT, в зависимости, от задачи, можно делать как одинаковыми, так и разными.
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 277 Кольцевом сдвиг вправо ROR %М0.1 ------------- 1 MOVE %ЮЮ I-------------- --------------- 1 I------------------- EN 128 — IN ENO-----------------------------------------------------------------OUT1 — %MD22 ЧЮ.4 %M17.7 -------------- |p|---------------------------------------------------------------------------------------------------- ( H % Ml 7.6 ROR %M17.7 -------------- 1 DWord I------------------- en %MO22—in eno-------- • OUT —%MD22 1—N Рис. 5.59. Ladder-диаграмма кольцевого сдвигового регистра вправо ROR Сдвиг вправо SHR %М0.1 MOVE %ЮЛ —I J------------------- EN 384 - им EN0-------------------------------------------------------------------------- , OUT! — %MW26 %M175 %Ю.4 ЧИ---------------------------------------------------- ( )------ ■ %M17.4 SHR Word %M173 —I I------------------- EN %MW26 —n ENO-------------- • OUT %NM26 2 —N Рис. 5.60. Ladder-диаграмма выталкивающего сдвигового регистра вправо SHR Инструкции перехода (Programm Control Operation) Инструкции перехода предназначены для формирования сложных алго­ ритмов управления с возможностью, в зависимости от определенных условий, переходов с одного места программы в другое. На рис. 5.61 в качестве примера приведена программа кольцевого сдвиго­ вого регистра.
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 278 Кольцевой регистр нв АР (Начальная установка. Такт Хвх) мао —ем « —IN ENC------------ОЛТ ное: члі SMSQO МЮСИ Кольцевой регистр на АР (Вход в регистр) м.вао -и- ыьі Network 19: Кольцевой регистр на ЛИР (Логика сдвига) Network 20: Кольцевой регистр на АР (Метка обхода регистра) кы Рис. 5.61. Кольцевой сдвиговый регистр на условном переходе Доступны классические инструкции: —ДМР)----- безусловный или условный переход к метке;
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 279 —(JMPN)----- переход к метке по нулевому сигналу; Label - метка перехода; JMPLIST - инструкция для определения нескольких условных пере­ ходов и продолжения выполнения программы в конкретном Network в зависимости от параметра К; SWITCH: Jump distributor - инструкция для определения нескольких условных переходов программы, которые будут выполняться в зависи­ мости от результата одной или нескольких инструкций сравнения; —(RET)-----возврат в основную программу. Инструкции перехода также можно использовать для реализации различ­ ных специальных решений, например Т-триггеров или сдвиговых регистров. Синтаксис языка требует программировать в различных Network подго­ товительные операции (здесь начальная запись информации в регистр и такти­ рование входа), команду перехода JMP, тело алгоритма сдвига и метку Labi. При каждом входном тактированном импульсе осуществляется однократ­ ный вход в тело алгоритма и сдвиг информации на одну позицию. Алгоритм сдвига информации 4-х разрядного кольцевого регистра Q1.0 Q1.3 организован по классическому принципу с ячейкой переноса М17.7. В течение одного скана программы осуществляется следующие операции: перепись Q1.0 -> Ml7.7 (бит 0 в ячейку переноса); перепись Ql.l -> Q1.0 (бит 1 в бит 0); перепись Q1.2 -> Q1.1 (бит 2 в бит 1); перепись Q1.3 -> Q1.2 (бит 3 в бит 2); перепись Ml7.7 -> Q1.3 (ячейка переноса в битЗ), таким образом осу­ ществляется кольцевой сдвиг информации на одну позицию. Инструкции преобразования (Conversion operation) В данном блоке доступны следующие инструкции: Convert - преобразование; Round - округление; Ceil - округлить число с плавающей запятой до целого числа в боль­ шую сторону; Floor - округлить число с плавающей запятой до целого числа в мень­ шую сторону; Trunc - усечение (заполнение нулями дробной части) числа; Scale_X - инструкция используется для масштабирования значения на входе VALUE, сопоставляя его с указанным диапазоном значений. При выполнении инструкции «Scale_X» значение с плавающей запятой на входе VALUE масштабируется до диапазона значений, определенного параметрами MIN и МАХ. Результатом масштабирования (рис. 5.62)
280 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ является целое число, которое сохраняется на выходе OUT, согласно выражению: OUT = [VALUE * (MAX - MIN)] + MIN. Рис. 5.62. Масштабирование инструкцией Scale X Norm_X - инструкция используется для нормализации значение тега на входе VALUE, сопоставляя его с линейной шкалой. Параметры MIN и МАХ определяют пределы диапазона значений, применяемых к шкале. Результат (рис. 5.62) на выходе OUT вычисляется и сохраняется в виде числа с плаваю­ щей запятой в зависимости от положения нормируемого значения в этом диапа­ зоне значений. Если нормируемое значение равно значению на входе MIN, вы­ ход OUT имеет значение «0,0». Если нормируемое значение равно значению на входе МАХ, выход OUT возвращает значение «1,0». Инструкция выполняет вычисления по формуле: OUT = (VALUE - MIN) / (MAX - MIN). Рис. 5.63. Нормализация инструкцией Norm_X На рис. 5.64 приведена инструкция Convert, выполняющая преобразова­ ние целого числа Int = 10515 в код BCD 16 = 16#2913.
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС CONV mt to Bcd16 %М0.1 10515 % wo— EN ENO IN OUT 16*2913 %MW10 Рис. 5.64. Инструкция преобразования CONV Логические инструкции над словами (Word Logic Operation) Предусмотрены следующие команды (рис. 5.65): AND: поразрядное логическое И; OR: поразрядное логическое ИЛИ; XOR: поразрядное исключающее ИЛИ; INV: инвертирование. Формат слов определяется заданием атрибутов (Int, Word, DWord). Логические операции со словами ЧМ0.1 Рис. 5.65. Логические операции со словами 281
282 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Работу инструкций поясняют рис. 5.66 и рис. 5.67. Рис. 5.66. Принцип выполнения логические операций со словами AND, OR, XOR Инструкция INV меняет знак входного числа с добавлением единицы в младшем разряде, т. е. MW8= -(^0+1) = -(10515+1)= - 10516. Слово IWO (Int) 1В0(ст. байт) ] 0 0 1 0 1 0 0 1 0 0 0 1 0 0 1 1 IW0=l+2+16+256+1024+8192=10515 Рис. 5.67. Идеология записи числа 10515 в слове IW0 Математические инструкции (Math Function) Доступны арифметические инструкции: Calculate - инструкция используется для расчета математических опе­ раций или сложных логических операций по уравнению пользователя; ADD - арифметическое сложение; SUB - арифметическое вычитание; MUL - арифметическое умножение;
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 283 DIV - арифметическое деление и MOD - выделение остатка от деления; NEG - изменение знака числа; INC - инкремент; DEC - декремент; ABS - взятие абсолютного значения числа; MIN - сравнивает значения на входах и записывает наименьшее значе­ ние на выход OUT; МАХ - сравнивает значения на входах и записывает наибольшее зна­ чение на выход OUT; LIMIT - инструкция используется для ограничения значения на входе IN значениями на входах MN и MX. Если значение на входе IN соот­ ветствует условию MN <= IN <= MX, оно копируется на выход OUT. Если условие не выполняется и входное значение IN ниже нижнего предела MN, выход OUT устанавливается на значение входа MN. Если верхний предел MX превышен, выход OUT устанавливается на значе­ ние входа MX. На рис. 5.68 приведен пример вычисления с целыми числами в соответ­ ствии со следующей формулой: MW12 = [(((10+20) * 2) : 2) - 70] = -40. Рис. 5.68. Арифметика с целыми числами Рис. 5.69 иллюстрирует работу инструкций MOD, NEG, ABS. Перечень инструкций работы с числами с плавающей запятой (атрибут- Real): SQR - возведение в квадрат; SQRT - вычисление квадратного корня; LN - вычисление натурального логарифма; ЕХР - вычисление экспоненты с основанием е= 2.71828...
284 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 5.69. Инструкции MOD, NEG, ABS Тригонометрия: SIN - вычисление синуса (угол в радианах); COS - вычисление косинуса (угол в радианах); TAN - вычисление тангенса (угол в радианах); ASIN - вычисление арксинуса (угол в радианах); ACOS - вычисление арккосинуса (угол в радианах); ATAN - вычисление арктангенса (угол в радианах). Рис. 5.70 иллюстрирует возведение в степень и вычисление квадратного корня. Рис. 5.70. Возведение в степень 2 (SQR) и квадратный корень (SQRT)
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 285 На рис. 5.71 и рис. 5.72 приведены примеры вычисления тригонометри­ ческих функций в формате с плавающей запятой. Углы функций указываются в радианах. Значение числа тг = 3,1415928. Перевод угла из радиан в градусы и наоборот производится по следую­ щим формулам: - градусы в радианы а (рад) = а (град) ; - радианы в градусы а (град) = а (рад) ^ Network 2: Вы числение Синуса 30 градусов Рис. 5.71. Вычисление Синуса 30 Network 3: Арксинус 30 град и Перевод Радиан • Градус» ЗО(град1 - (30(рад> * 1801 /Пи-(О 5235988 * 180 0)13.1415928- 30 00 Рис. 5.72. Вычисление Арксинуса 30 и перевод Радиан в Градусы
286 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 5.6. Работа с аналоговыми входами В процессорный модуль ПЛ К 1212С встроены 2 аналоговых входа (АЮ, АП). Аналоговые входы предназначены для преобразования входных уровней напряжения в цифровой код. На рис. 5.73 показана принципиальная схема под­ ключения. XII АП chi АЮ chO Рис. 5.73. Схема подключения аналоговых входов Входы каналов chO—ch 1 с адресами АІО-АП это классические аналоговые входы напряжения. Цифровые адреса аналоговых входов AIW64...AIW67 по умолчанию устанавливаются в параметрах ТІА Portal. На рис. 5.74 приведены характеристики вход / выход аналоговых сигна­ лов. Код Рис. 5.74. Характеристики аналоговых входов и выходов Учебная программа, показывающая принцип работы с аналоговыми вы­ ходами приведена на рис. 5.75. На аналоговый вход 0 подключен потенцио­ метр, который формирует сигнал задания температуры от 0 до 1000 °С. В Net­ work 3 с помощью команды Move происходит запись в память MW10 текущего значения на аналоговом входе 0. В Network 4 происходит нормализация запи­ санного значения, умножение на 100 и преобразования к целым числам в еди­ ницах измерения - градус Цельсия.
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 287 Рис. 5.75. Пример программы для работы с аналоговыми входами 5.7. Программирование функциональных блоков и функций Общая структура программы электроавтоматики включает следующие блоки: OB - Organization Block. OBI содержит основную программу пользо­ вателя (Main); FB - Function Block. Функциональный блок, содержащий законченную программу управления каким-либо механизмом или узлом. Синтаксис языка содержит большое число готовых блоков, хранящихся в памяти контроллера. Например, блок аналогового или цифрового позициони­ рования. Пользователь может адаптировать готовый блок в соответ­ ствии с конкретной задачей; FC - Function. Это автономная подпрограмма, создаваемая пользовате­ лем; DB - Data Block. Это блок хранения параметров и статистических дан­ ных. Назначается каждому функциональному блоку FB. Рассмотрим принципы проектирования функциональных блоков и под­ программ. Начнем с более простого - подпрограмм FC. 5.7.1. FC - Function FC - это, по сути, подпрограмма, т. е. логически законченная часть про­ граммы электроавтоматики, вызываемая из основной программы MAIN. В та­ ких подпрограммах можно создавать типовые универсальные алгоритмы управления различными механизмами, например, смазкой, охлаждением, попе­ речиной, консолью и т. д. и компоновать из них различные рабочие проекты. Последовательность сканирования приведена на рис. 5.76.
288 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 5.76. Последовательность сканирования FC Процедура создания подпрограмм FC следующая: - открыть проект; - щелкнуть мышкой по заголовку каталога Add New Block; - в открывшемся окне (рис. 5.77) задать следующие параметры: FC - Function LAD - Language Automatic - щелкнуть по кнопке ОК. Рис. 5.77. Окно выбора FC и задания параметров
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 289 При этом Софт выполняет следующие действия: - в каталоге Add New Block создает имя блока Block_l (FC1); - открывает окно набора подпрограммы (рис. 5.78); - в открывшемся окне набрать необходимую программу. Здесь это так­ тируемый счетный триггер; - перейти в главное меню Main [OBI] и загрузить в него аппликацию функции FC1. Операция выполняется путем перетаскивания мышкой имени Block_l [FC1] из левого меню проекта в соответствующую стро­ ку (здесь Network 6) наборного поля основной программы (рис. 5.79). Эта аппликация является командой вызова подпрограммы (аналог классической команды вызова подпрограмм Call). Подпрограмма бу­ дет вызываться в каждом скане общей программы; - повторить данную процедуру для следующей подпрограммы FC2 (рис. 5.80). В примере реализуется RS-триггер на катушках установки S и сброса R, а также простейшая цепочка присвоения. Подпрограмма FC2 выбирается условно от операнда 10.7; - откомпилировать и загрузить программу в контроллер. ЧЬ ЧЪ -<>- © Ч -Î ▼ Block title: ▼ Network 1: Comment Рис. 5.78. Подпрограмма FC1 На рис. 5.79 в Network 7 показан также вызов третьего блока FC3.
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 290 По окончании загрузки подпрограммы активизируются и будут вызы­ ваться из основной программы. Допускается как условный, так и безусловный вызов подпрограмм (см. рис. 5.79, соответственно, Network 1 и 2). Располагать аппликации вызова можно в любом месте главной програм­ мы. Допустимы варианты программирования команд вызова в одной строке, так и раздельно в разных местах (см. рис. 5.79). Devices JOO If O«vic« corftgiMU. '• hogram blocks * Add new block • mot per] e#ock_2|K2| •акмдеі • Tectmoiogy octets ■mocit 1 ' * ПХ data types ^.Walcb and force. 4 Orlne backups V Reference projects 31 ' * Delate view Рис. 5.79. Вызов подпрограмм из главной программы ▼ Block title: Function 3 Comment ▼ Network 1: RS-триггер Corr me nt %MD.1 %I13 %QOA ------1 I—------1 I-------------------------------------------<4---- %П4 *00.6 ------------ 1 I------------------------------------------------------------------------------------- (R)---------- - ▼ Network 2: присвоение Centre*nt %I13 %Q13 —11--------------------------------------------------------- (I—. Рис. 5.80. Подпрограмма FC2
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 291 Важно! При условном вызове подпрограммы, после ее отключения со­ стояние выходных операндов запоминается. 5.7.2. FB - Function Block Функциональный блок (FB) - это, в сущности, тоже подпрограмма, но в отличие от FC - Function располагается в двух местах общей программы (рис. 5.81): - в главной программе MAIN в виде прямоугольного блока %FB1 с набором используемых входов и выходов; - в отдельной подпрограмме электроавтоматики, где отображается ее подробный РКС - алгоритм (Block_N [FBI]). Main [0Р1] Рис. 5.81. Функциональный блок Рассмотрим пример проектирования функционального блока для управ­ ления реверсивным нерегулируемым асинхронным приводом. Силовая схема приведена рис. 5.82, а, схема подключения дискретных входов и выходов на рис. 5.82, б. Используются следующие входы: 8В1 - кнопка включения двигателя по часовой стреле (Вперед); 8В2 - кнопка включения двигателя против часовой стрелки (Назад); 8ВЗ - кнопка останова вращения двигателя; РМІ - блок- контакт силового автомата, осуществляющий максималь­ ную и нулевую защиты;
292 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ FR1 - размыкающий контакт теплового реле, осуществляющий защиту от длительной перегрузки двигателя. Используются следующие выходы: К1 - реле включения силового пускателя по часовой стрелке; К2 - реле включения силового пускателя против часовой стрелки. Программа должна предусматривать как реверс через останов, так и пря­ мой реверс. QM1 пускателей КМ1 и КМ2 КМ2 SB2 SB3 Рис. 5.82. Силовая схема (а) и подключение входов и выходов к PLC (б) Последовательность создания функционального блока, следующая: - в среде разработки TIA Portal открыть главную программу электроав­ томатики Маіп[ОВ1]; - щелкнуть по команде добавления блока Add new block; Project PLC_1 [CPU ... ] Program block Add new Block - в открывшемся окне (рис. 5.83) выбрать FB (Function Block) нажать OK; - в открывшемся окне (рис. 5.84) подтвердить параметры блока, назна­ чаемые автоматически и щелкнуть кнопку ОК; — в открывшемся окне Block_4 [FBI] (рис. 5.85) набрать программу электроавтоматики и присвоить имена операндам. Имя блока присваи­ вается автоматически с учетом ранее открытых программ. Таблица операндов может быть скрыта окном набора программы и ее следует
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 293 открыть переносом горизонтальной линии вниз. Обращаем внимание, что в алгоритме контакты автомата, теплового реле и кнопки Стоп начерчены нормально открытыми в соответствии с аппаратной схемой подключения. Программа показана в режиме On-Line; - перейти в главное меню и перетащить имя Block_4 [FBI] в нужную строку Network. В поле набора появится шаблон команды блока (рис. 5.86). - путем перетаскивания контактов дополнить шаблон входными опе­ рандами с адресами, заданными ранее и указать имя блока %DB1. Рис. 5.83. Выбор работы с функциональным блоком
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 294 Рис. 5.84. Окно установки параметров нкї- •= Eaa(g]i!4atigg|«»ueBft9'. ч *Ѳ» н- к„.__ а ▼ Network 1: ^ j Рсмрси«и«іА АД Рис. 5.85. Окно набора подпрограммы FBI Все ошибки исчезнут, в каталоге появится имя Block_4_DB [DB1] и ав­ томатически заполнится его таблица операндов: - откомпилировать все вновь созданные программы; - загрузить программу в контроллер. При этом в окне загрузки следует поставить «галочки» для всех вновь созданных программ (рис. 5.87).
ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС 295 Внимание! Если во время выполнения программы ЕВ отключить в глав­ ной программе ее активизацию по входу ЕМ, то программа перестает работать, но операнды, находящиеся при этом в состоянии «единицы», остаются вклю­ ченными. Об этом следует помнить при проектировании. яг Projet Н g^ Add new device Jl Device? ft networks NehMxkS: P«i Утрене—ерееерс-ч^м AÛ - J"<-' It Device config, t OnhneSdwg. * t> Program Mocks ■^ Add new Ы. »Mim[oei] • wxkjFcil • 8todUlFC2] • ModU !FC3J ♦ ЮосЧНЯ «Иос^АР► Sj Technology obj► Q| Extern»! sour. ► ^PLCugs ► 1 R£ data types » ^Waxh and fore. ► ?* Onhne backups » B, Device proxy _ '*| Program info L3ILC alarms Q| Text tots » ■ Local modules » 4 Common Caw ► E Documentation se_ Рис. 5.86. Подпрограмма FBI в главном меню Внимание! Если на выходах Wper и Nazad показать адреса выходных за­ действованных в программе катушек, то программа перестает работать. Состо­ яние выходов на аппликации FB1 в режиме On-Line не отслеживается. Рис. 5.87. Адресация подпрограммы FBI
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 6Л. Назначение и общие сведения о программируемых панелях оператора Графические панели оператора предназначены для управления различ­ ным промышленным оборудованием и осуществления в реальном времени диа­ гностики работы технологического процесса, причем отображение процесса может осуществляться как в статическом, так и в динамическом виде. Ввод и отображение различных параметров на экране может выполняться в цифровом или графическом виде. Они с успехом применяются и для управления универ­ сальными металлорежущими станками. Язык программирования панелей включает большой набор команд, позволяющих создавать удобный интерфейс между оператором и объектом управления. На нем можно отобразить любые кнопки управления, сигнальные лампы, программировать графики, осуществ­ лять индикацию различных технических параметров, например, напряжение, ток, скорость, задавать и контролировать размерные перемещения координат, диагностировать состояние дискретных датчиков. Таким образом, панели оператора являются основным средством для ор­ ганизации удобных интерфейсов между человеком и машиной, т. е. НМІинтерфейсов. Обращаем внимание, что панель оператора не является изделием, позво­ ляющим автономно управлять металлорежущим станком или каким-либо дру­ гим объектом. При помощи панели оператора формируются удобные, отвечающие тре­ бованиям заказчика, органы управления. Это важная часть общей системы электроавтоматики, включающей программируемый контроллер, электропри­ воды, прочее низковольтное электрооборудование. Различными фирмами выпускается большая номенклатура панелей опе­ ратора, различающаяся цветностью и размерами экрана, способами и протоко­ лами связи с PLC и компьютером, объемом памяти и языком программирова­ ния. Различают: - текстово-графические терминалы со стандартными или многофункци­ ональными панелями с кнопочным управлением без встроенного PLC; - сенсорные панели, различаемые по размеру экрана, без встроенного PLC; - текстово-графические и сенсорные панели со встроенным PLC; - специализированные сенсорные панели с большим размером экрана;
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 297 - компактные выносные пульты управления с сенсорным экраном - и др. Последовательность освоения и проектирования панелей следующая: - изучить технические характеристики объекта управления и выбрать панель, отвечающую его требованиям; - разобраться с аппаратным подключением панели; - изучить синтаксис языка программирования; - поставить на компьютер требуемую программную среду; - сформулировать задачу и написать программу, позволяющую отобра­ зить необходимые органы управления на экранах панели; - выполнить предварительную проверку проекта на симуляторе компь­ ютера; - организовать связь панели с компьютером, загрузить в панель разрабо­ танную программу и ее отладить. Это только часть общего проекта электроавтоматики. После разработки логической части РЬС-программы необходимо связать панель с программируе­ мым контроллером и осуществить наладку их совместной работы. В настоящей главе рассматривается процедура программирования пане­ лей на примере панели оператора типа МТ8071ІЕ фирмы Weintek. При помощи панели оператора формируются удобные, отвечающие тре­ бованиям заказчика, органы управления. Это важная часть общей системы электроавтоматики, включающей программируемый контроллер, электропри­ воды, прочее низковольтное электрооборудование (рис. 6.1). Рис. 6.1. Блок-схема управления с использованием панели оператора Общий вид, габаритно-присоединительные размеры и технические харак­ теристики панели приведены на рис. 6.2 и рис. 6.3.
298 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ дД І RusAutomation S WE NTEK МТ8071ІЕ1 HMI with T TFT Display Features • 7" 800 x 480 TFT LCD, LED Backlight • Fan-less Cooling System • COM2 and COM3 RS-485 support MPI 187.5K, • PCB coating process ensures high reliability to resist please use one at one time from corrosion in harsh environment Brightness (cd/m ) r J Touch Panel Memory Backlight Type Backlight Life Time Colors LCD Viewing Angle (T/B/UR) Accuracy Flash RAM Processor SD Card Slot USB Host USB Citent Ethernet I/O Port COM RS-485 Dual Isolation CAN Bus HDMI Audio Output Video input RTC _ OWer Input Power Power Isolation Power Consumption Voltage Resistance Isolation Resistance Vibration Endurance PCB Coating Enclosure _ .. Dimensions WxHxD Specification PanelCutout Weight Mount Protection Structure Environment Storage Temperature Operating Temperature Relative Humidity CE Certificate ATEX UL Software J • Built-in Power Isolation • NEMA4 / IP65 Compltant Front Panel 800x480 400 800 1 LED >30,000 hrs 16 7M 60/80/80/80 4-wire Resistive Type Active Area Length(X)±2%. Width) Y)±2% 128 MB 128 MB 32 bits RISC Cortex-A8 600MHz N'A USB 2.0 x 1 N'A 10/100 Base-Tx 1 COME RS-232 COM2 RS-485 2W/4W COM3 RS-485 2W N/A N/A N/A N/A N/A Built-in 24±20%VDC Built-in 450mA@24VDC 500VAC (1 min) Exceed 50MO at 500VDC 10 to 25Hz (X. Y. Z direction 2G 30 minutes) Yes Plastic 200 3 x 146.3 x 34 mm 192 x 138 mm Approx. 0.6 kg Panel mount UL Type 4X (indoor use only) / NEMA4 / IP65 Compliant Front Panel -20* - 60’C (-4* - 140’F) 0* - 50'C (32* - 122T) 10% - 90% (non-condensing) CE marked ATEX Zone 2/22 Category 3 G/D cULus Listed EasyBuMvr Pro Y4.10.04 or later disions Рис. 6.2. Общий вид и технические характеристики панели оператора
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 299 Тор і iew Fuse с. IPower Connector COM2 RS-485 2W/4W. COM3 RS-485 2W Host COM1 RS-232 g. I Ethernet Ordering Information □ MT8071iE1: 7“ 800 x 480 TFT LCD HMI, Built-in 128 MB flash memory /128 MB DDR2 RAM on board □ RZUSK7010 (included in package) USB Clamp & Tying Strap Рис. 6.3. Общий вид и габаритные размеры панели оператора 6.2. Конфигурация проекта Конфигурация проекта - это первый шаг проектирования новой панели с «чистого листа». В процессе конфигурации указываются тип и характеристи­ ки панели, на основании чего формируется начальное окно проекта. Если уже имеется проект с данным типом панели, то конфигурацию мож­ но не делать, а скопировать имеющийся проект под другим именем. Ниже приводится подробная последовательность выполнения процедуры конфигурации: - открыть на компьютере программное обеспечение Utility Manager (рис. 6.4);
зоо ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Utility Manager >ІЕ Серия Выбор модели » EasyBuilder Pro Запустить EadyBmlder Pro. для создания или редактирования кранов панели. редактированием проекта. Рэ тработка Тестмрояание Addr EasyAddressViewer устройства (или смаянные с ними устройства), и соответствующий диаплаэоны адресом и форматы данных. Загрузка / Выгрузка Обслуживание Конвертеры Simulation Симулятор ММ! на компьютере* On­ line Симуляция (при наличии PLC) или Off-Иле СимуляциНбез Pl С) Run О Рис. 6.4. Начальное меню Utility Manager щелкнуть по заставке Easy Builder Pro, наблюдать загрузку программ­ ного обеспечения (рис. 6.5) и выход на окно выбора проекта (рис. 6.6); Рис. 6.5. Процесс загрузки программного обеспечения Easy Builder Pro
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 301 - для создания нового проекта необходимо щелкнуть по клавише «Но­ вый»; - в окне «Новый проект» (рис. 6.7) указать тип рабочей панели, напри­ мер: іЕ серия МТ8102ІЕ Портрет Resolution: 1024*600 Com 1 RS232, RS485 (2W) Com 2 RS485 (2W/4W) Com 3 RS232, RS485 (2W/4W) Ethernet: LAN USB Host: Yes WiFi: NA (Not Available) Can Bus: NA SD Card Slot: NA - щелкнуть по клавише OK, наблюдать появлеіше окна системных па­ раметров (рис. 6.8); - установить и подтвердить параметры, наблюдать появление рабочего окна проектирования панели (рис. 6.9). Можно приступать к рабочему проектированию.
302 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Окно проектирования включает следующие рабочие зоны: - горизонтальное меню режимов работы (Файл, Домой, Проект, Объек­ ты, Данные, ПОТ/Энергетика, Вид, Утилиты, Weincloud) с раскрыва­ ющимися падающими подменю; - горизонтальное меню рабочих иконок доступных объектов (кнопки, переключатели, графика, таблицы и т. д.); - левое вертикальное меню «Дерево проекта»; - правое вертикальное меню «Библиотека изображений»; - центральное наборное поле панели. Рис. 6.7. Окно «Новый проект» Рис. 6.8. Окно системных параметров
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 303 Рис. 6.9. Рабочее окно проектирования панели 6 .3. Синтаксис языка проектирования панели Как видно из меню дерева проекта, первому главному пользовательскому меню, по умолчанию, присвоено имя Window_010 с расширением етф. При необходимости, его можно переименовать. Синтаксис языка позволяет проектировать панели, как при помощи базо­ вого набора готовых иконок, так и путем создания пользователем своих тексто­ вых и графических объектов. Доступные иконки приведены в верхнем горизонтальном меню. Преду­ смотрена возможность вызова падающего меню, где иконки сгруппированы по их функциональному назначению (рис. 6.10). Например: рисование: линия, произвольная линия, линия связи, дуга, окружность, сектор, прямоугольник, полигон, масштаб, текст, изображение, фигура, таблица; индикаторы: битовый индикатор, числовой индикатор; кнопки / Переключатели: битовая кнопка, числовая кнопка, переключа­ тель, многопозиционный переключатель, функциональная кнопка, ком­ бинированная кнопка, ползунок, список опций. Проектирование осуществляется путем перетаскивания необходимой иконки в рабочее поле окна и установки ее параметров. Предварительно следует продумать набор необходимых для проектируемого окна органов управления, текстовых сообщений и сопутствующих рисунков. Спроектируем панель, приведенную на рис. 6.11.
304 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 6.10. Падающее меню доступных иконок Рис. 6.11. Проект Главного меню Панель рис. 6.11 включает: - заголовок «Главное меню»; - часы времени; - две кнопки выключения (ON) и выключения (OFF) условного стенда; - кнопку триггерного включения охлаждения; - кнопку включения смазки на заданную выдержку времени;
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 305 - три кнопки вызова подчиненных окон управления механизмом в нала­ дочном и автоматическом режимах, а так же диагностики дискретных входов и выходов контроллера. Примечание: Указанные в приведенных ниже инструкциях адреса ис­ пользуются при написании программы электроавтоматики контроллера. Рис. 6.12. Атрибуты вставки текста Вставка текста: - открыть окно проектируемой панели; - щелкнуть по иконке ввода текста (буква А); - в открывшемся окне «Создать текст» (рис. 6.12) задать необходимые атрибуты (параметры), например; текст «Главное меню». шрифт Times New Roman размер 25 цвет коричневый - щелкнуть ОК. На экране появится пустая текстовая рамка;
306 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ - щелкнуть мышкой, набранный текст появится на экране; - перетащить текст в нужное место, при необходимости, отредактиро­ вать. Вставка часов: - щелкнуть по иконке «дата/время», находящейся в подкаталоге «Дру­ гое»; - в открывшемся окне «Создать Дата/Время» задать необходимые атри­ буты: дата, день недели, время, шрифт, цвет, размер - далее аналогично процедуре вставки Текста. Вставка рабочих кнопок управления: - щелкнуть по иконке «Битовая кнопка»; - в разделе «Общее» открывшегося окна «Установить бит» (рис. 6.13) задать параметры кнопки управления, например: устройство: Schneider MODBUS RTU адрес: %М10 стиль: моментально Рис, 6.13, Стиль (тип) кнопки Рис. 6.14. Изображение кнопки
307 ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ - в разделе «Фигура» (рис. 6.14 и рис. 6.15) выбрать стиль и цвет кнопки в исходном и нажатом состояниях; - при необходимости на аппликации кнопок нанести их текстовое назначение. Закончив набор, выполнить компиляцию и сохранить проект. Рис. 6.15. Библиотека кнопок а) ОН ОРЕ (МЗО) (МЗО) МЗО НН он (М31) б) М31 НН КнМЗО(Оп) п КнМЗО(ОГГ) МЗО 00.0 ои М31 00.1 ОН' (М32) ■’ I- М32 чн оммзгу00-2 } Рис. 6.16. Типы кнопок: а - включить / выключить, б - переключить, в - моментально
308 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ На рис. 6.16 приведены диаграммы работы наиболее распространенных типов кнопок (Set / Reset, Toggle, Стандартная кнопка) Создание подчиненных экранов: - в режиме «Домой» открыть проект главного окна (здесь 10); - в левой части проекта открыть «Дерево окон»; - щелкнуть правой мышкой по свободному номеру окна, здесь 11. Наблюдать появление локального падающего меню; - в падающем меню щелкнуть по команде «Новый». Наблюдать появле­ ние окна параметров нового рабочего окна панели; - задать имя и номер окна, в проекте Ручной, №11; - щелкнуть клавишу ОК. Шаблон нового рабочего окна создан. Спроектировать содержание нового окна (рис. 6.17): - заголовок «Ручной режим» и «Часы времени»; - кнопки управления вспомогательными электроприводами (охлажде­ ние, смазка, шнек); - кнопки управления шпинделем (вперед, стоп, назад); - кнопки перехода в другие окна (гл. меню, автомат, диагностика). Выполнить компиляцию и запомнить проект. рИ7Д48иН 11X16:14 | Ручной режим Вспомогательные приводы См Шнек Шнек Шпиндель (АД) Рис. 6.17. Вызываемое окно Ручного режима Кнопки переключения экранов: — в главном меню (окно 10) создать кнопку вызова окна 11, для чего ак­ тивизировать иконку «Функциональная кнопка» и в ее атрибутах (рис. 6.18) указать следующие параметры: тип вызываемого окна — «Изменить полноэкранное меню» номер окна: 11. Ручной
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 309 Рис. 6.18. Атрибуты переключения экранов Аналогичным образом спроектировать другие окна (см. рис. 6.19 и 6.20) и кнопки их перекрестного вызова (переключения). Автоматический режим Задание (мм । 101.07/24 SUN 11:07:27 | Задержка (сек) входа 10.0 II и II 11 II II . тт Сброс ЭЛА ѵННР Факт (мм) Сі ия г “"" 1 Гл. меню II И II 11 ТТТПт.Тг Ручной В позиции (зел) Диа гн Рис. 6.19. Окно Автоматический режим
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 310 Диагностика дискретных входов / выходов Входы ^ Щ ГкГГ] 10.9 ' p1«7aSUN 11:11 40 Выходы Щ-Станок Q0 1 -ОХЛ I IB 2 [М] Щ - Смазка R ^ И 10 4 J [ТО. 12] ' Q0.4 ' -ШнВп СИ @ Й1 ■■“*“ [кгб] ]то.14]-'чм1 [ао.б]-шппо [ ТОТ] [Г0 15] -"НИ [сот] -ЫпПрог Гл. меню Ручной Автомат Рис. 6.20. Окно диагностики дискретных входов и выходов Содержание окна автоматического режима (рис. 6.19): - заголовок «Автоматический режим» и «Часы времени»; - автоматический цикл отработки заданного перемещения (задание ве­ личины перемещения, кнопка включения цикла движения, индикация фактической позиции, кнопка замедления, индикация достижения по­ зиции, кнопка сброса задания); - задание с преднабора величины задержки входного сигнала; - кнопка сброса электроавтоматики; - кнопки перехода в другие окна (гл. меню, ручной, диагностика). Выполнить компиляцию и запомнить проект. Содержание окна диагностики (рис. 6.20): - заголовок «Диагностика дискретных входов / выходов» и «Часы вре­ мени»; - иконки диагностики состояния входных дискретных сигналов; - иконки диагностики состояния выходных дискретных сигналов; - кнопки перехода в другие окна (гл. меню, ручной, автомат). Выполнить компиляцию (меню Проект) и запомнить проект. По завершению проектирования всех окон, проверить их работу в режиме симулятора. Запуск Симулятора выполняется в меню «Проект» или от специальной иконки основного горизонтального меню. В связи с тем, что на данном этапе проекта панель не связана с контроллером, проект будет отображаться с неко­ торыми искажениями. Это нормально.
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 311 Аппликация числового задания величины перемещения (см. рис. 6.19): - из каталога «Ввод / Вывод» перетащить на панель аппликацию для ввода задания; - установить параметры записи. Вкладка «Общее» (рис. 6.21, а): Комментарий * Разрешить ввод Чтение / запись используют разные адреса Чтение / запись устройство: Schneider Modbus RTU адрес: %MW0 Вкладка «Ввод данных» (рис. 6.21, б): Режим: Сенсор Контроль бита Клавиатура * Использовать всплывающую клавиатуру № окна: 50. keypadl-Integer Вкладка «Формат чисел» (рис. 6.21, в): Вид формат данных: 16 bit unsigned форма отображения: по умолчанию слева от дес. точки: 3 справа 1 Вкладка «Фигура»: Задать размер и цвет Вкладка «Шрифт»: Содержание: ### Атрибут: шрифт, размер, цвет Выравнивание: Аппликация числового вывода фактического перемещения (см. рис. 6.19): - из каталога «Ввод / Вывод» перетащить на панель аппликацию для вы­ вода задания; - установить параметры чтения. Вкладка «Общее»: Комментарий Разрешить ввод (не ставить отметку!) Чтение / запись используют разные адреса Чтение/запись устройство: Schneider Modbus RTU адрес: %MW4
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 312 Рис. 6.21, а. Вкладка «Общее» Рис. 6.21, б. «Ввод данных» Рис. 6.21, в. «Формат чисел» Рабочие программы электроавтоматики, соответствующие окнам рис. 6.176.20, здесь не рассматриваются. Аналогичным образом, в соответствии с техническим заданием, проекти­ руются другие объекты панели. Ниже приводятся учебные примеры программ управления манипулято­ ром и пассажирским лифтом, реализованные на программируемом контроллере типа ТМ200 фирмы Шнайдер и панели Weintek. 6.4. Синтез управления промышленным манипулятором Постановка задачи: Разработать электроавтоматику управления про­ мышленным манипулятором (рис. 6.22), решающим задачу перестановки гото­ вых деталей в складской бункер. Манипулятор может совершать следующие движения: - перемещение манипулятора вверх и вниз по центральной штанге; - поворот манипулятора по и против часовой стрелки; - выдвижение и возврат в исходное руки манипулятора; - зажим и отжим клешни захвата. Все движения манипулятора, руки и клешни в процессе работы осу­ ществляются при помощи пневматики. Электроавтоматика управляет соответ­ ствующими золотниками, перераспределяющими направление потока воздуха. Пневмокомпрессор входит в его комплектацию.
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 313 Рис. 6.22. Общий вид промышленного манипулятора Движения осуществляются от упора до упора и контролируются конеч­ ными выключателями. Предусмотрена регулировка положения упоров в задан­ ных техническими характеристиками размерах. Исходное положение манипулятора, устанавливаемое перед работой в наладочном режиме следующее: - корпус манипулятора опущен вниз; - рука находится во вдвинутом положении; - манипулятор повернут до упора против часовой стрелки; - клешня захвата деталей отжата. Манипулятор можно настроить на различные прикладные задачи. В дан­ ном примере синтезируется следующий автоматический цикл (рис. 6.23): - перемещение корпуса манипулятора в вернее положение; - поворот корпуса против часовой стрелки до упора; - выдвижение пуки манипулятора с целью захвата детали его клешней; - зажим детали в клешне; - возврат (вдвижение) руки манипулятора с захваченной деталью в ис­ ходное положение; — поворот корпуса манипулятора по часовой стрелке в исходное поло­ жение; - опускание корпуса манипулятора в нижнее положение; - отжим детали в клешне и сброс ее в бункер.
314 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 1- Манипулятор Вверх 2- Поворот против 3- Выдвижение 4- Зажим детали 5- Рука назад с деталью 6- Поворот в исходное 7- Манипулятор Вниз 8- Отжим детали, сброс в бункер Рис. 6.23. Движения манипулятора в автоматическом цикле Для управления движениями манипулятора используется программируе­ мый контроллер типа ТМ200СЕ24К фирмы Шнайдер и сенсорная панель опе­ ратора фирмы Вайнтек. Разработка любого проекта начинается с проработки органов управления автоматизируемым объектом. В связи с ограниченным ресурсом контроллера (14 входов) располагаем органы управления, как на аппаратной панели, так и на программируемой панели оператора. Принципиальная электрическая схема проекта приведена на рис. 6.24, а рабочий эскиз панелей управления на рис. 6.25 и рис. 6.26. На аппаратной панели расположены: - кнопки включения 8В1и включения 8В2 компрессора; - переключатель режимов работы 8А1; - тумблер активизации пошагового режима 8А2; - кнопка активизации цикла 8ВЗ; - кнопка «Сброс электроавтомаики». Назначение адресов входных сигналов: 10.0 - Пускатель стенда (КМ1); 10.1 - Ручной режим (Р Нал); 10.2 - Автоматический режим (Р_Авт);
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 315 10.3 - Тумблер Шагового режима (РШаг); 10.4 - Кнопка Цикл (КнЦ); 10.5 - Контроль нижнего положения манипулятора К(|); 10.6 - Контроль верхнего положения манипулятора КЦ); 10.7 - Контроль поворота манипулятора в зону детали (Кпрот); 10.8 - Контроль поворота манипулятора в зону бункера (Кпо); 10.9 - Контроль выдвижения руки манипулятора К(—>); 10.10 - Контроль вдвинутого исходного положения руки К(«—); 10.11 - Контроль зажима детали клешней руки Кзаж; 10.12 - Контроль отжима детали клешней руки Котж; 10.13 - Кнопка «Сброс электроавтоматики» (КнСбр). Назначение адресов выходных сигналов: Q0.0 - Манипулятор вниз MQ); Q0.1 - Манипулятор вверх МЦ); Q0.2 - Поворот в зону детали М(прот); Q0.3 - Поворот в зону бункера М(по); Q0.4 - Выдвижение руки манипулятора М(—>); Q0.5 - Возврат руки в исходное вдвинутое положение М(«—); Q0.6 - Зажим детали клешней руки (ЗАЖ); Q0.7 - Отжим детали в клешне руки(ОТЖ); Q0.8 - Индикация включения автоматического цикла (Цикл). Предусматриваются следующие режимы работы: - наладонный, предназначенный для ручного управления всеми движе­ ниями манипулятора от кнопок управления, расположенных на про­ граммируемой панели. Активизация режима осуществляется кнопкой «Прямое управление». Предусматривается индикация включенного состояния соответствующих электрических золотников и срабатыва­ ния датчиков контроля; - автоматической, предназначенный для автономного выполнения цик­ ла работы манипулятора. Пуск цикла осуществляется с аппаратной или программной кнопки «Цикл» на панели; - режим пошаговой отработки автоматического цикла. Режим устанав­ ливается, как с аппаратной, так и с программной панели. Активизация шагового движения осуществляется нажатием кнопки «Цикл». Предусматривается второе окно панели, вызываемое кнопкой «Help» с подсказками оператору. Циклограмма автоматического цикла работы манипулятора приведена на рис. 6.27. Она отражает последовательность его работы в безразмерном мас­ штабе времени.
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 316 Прежде чем приступить к ее анализу, рассмотрим основные принципы синтеза релейной памяти (рис. 6.28), составляющей основу, практически всех реальных принципиальных схем и алгоритмов РЬС: - повторение сигнала включения памяти (см. рис. 6.28) 8 (2) запрещено вне ее пределов (1 и 4) и допустимо при ее включенном состоянии (3); - повторение сигналов выключения памяти R (7) запрещено в пределах включенного состояния памяти (6) и допустимо за ее пределами (5 и 8); - для исключения действия запрещенных (и допустимых) сигналов ис­ пользуются другие рабочие сигналы циклограммы, например, а: 8 = Вкл * РЦ * /а — — - — R = Откл * а сигнал отключения памяти инвертируется, т. е. R =Откл +а ; если сигналы управления достаточно сложные, то рекомендуется их реализовывать отдельной цепочкой; при синтезе сигналов управления всегда использовать пару: включа­ ющий сигнал контроля и исполнительный сигнал, реализующий дан­ ное действие, например, 8 = Кзаж * ЗАЖ. В этом случае нештатное воздействие на датчик контроля Кзаж уменьшит вероятность ложного действия; в синтезированное логическое уравнение следует добавлять дополни­ тельные контролирующие сигналы, разрешающие выполнение данного действия только в теле цикла и в штатной позиции, например, 8 = Кзаж * ЗАЖ * К()) * К(—>) * Ц, т. е. в верхней позиции манипу­ лятора и выдвинутой руке манипулятора для захвата детали. Как правило, достаточно 2-3 дополнительных сигналов; - всегда использовать специальный промежуточный сигнал, разделяю­ щий общую циклограмму на две части. Он необходим для исключения неопределенности синтеза, связанной с тем. что начальные и конечные условия цикла всегда одинаковы (с чего начали, к тому и пришли); - если выполнение данного цикла является обязательным условием для выполения какого-либо следующего действия, то, следует формиро­ вать сигнал «Цикл завершен».
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 317 +24Ѵ г**1 ОѴ Сом! Стенд Наладка Автомат РежШаг км^ 8А1 Н0А 1 1 1 ОѴ 00.0^ 10.0 ж-_ 10.1 10.2 - 1 1 ! ^АІР_____ 10.3 з 0 бвзТГ 10.4 І К(Вниз) 50Іх •0.5 і К(вверх) 592^ 110.6 ^ К(у детали) 5ОЗХ Цикл 504/ К(выдв) 5О5х К(вдвинуто) 506/ К(зажато) 507/ К(отжато) 508/ Сброс ЭЛА 5В4 ТР О И о о гл 2 >10.7 > Сом2 К(у бункера >10.8 >10.9 >10.10 >10.11 +2 4У сомо а Он § о Й т У Вниз К2 00.2/ Вверх к Детали 0«/_ СОМІ К4 ^-_ -К 00-5/ Кб 00.6/ К7 СОМ2 к Бункеру Выдвижение Возврат Зажим 00.7/ К8 Отжим 00.8/ К9 Цикл І2х_ К10 >10.12 >10.13 Рис. 6.24. Принципиальная электрическая схема стенда
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 318 Управление манипулятором Индикация режимов Sta >Гф№р Ѵ_Авт Манипулятор [oS'1424SAT 08 15 27 _ _ брос ЭЛА Р.Шаг в меню Help Кнопки прямого управления и Индикация 4.1 *2.1 *3.1 Ї *4.1 *3.2 . *2.2 *1.2 *4.2 їмиянии® Рис. 6.25. Окно управления манипулятором 10». 14'24 SAT 08 20 4lJ Помощь Условные сокращения: Р_Нал Ручной Режим ПрУпр Прямое управление Р_Авт Автомат (Цикл) Р_Шаг- Пошаговый режим РШаг- Кнопка Цикл- Кнопка Исходное положение: Рука Внизу 00.5) Повернута к бункеру (Ю.8) Последовательность Цикла: Рука Вверх (00.1 -10.6) Поворот к детали (00.2 • 10.7) Выдвижение руки (00.4 -10.9) Зажим детали (00.6 - Ю.11) Рука Назад (00.5 - Ю. 10) Рука Вниз (00.0 -10.5) Поворот к бункеру (00.3 -10.8) Отжим детали (00.7 -10.12) Рука Вдвинута (10.10) Клешня отжата (10.12) Рис. 6.26. Окно Help подсказок оператору
Рис. 6.27. Циклограмма автоматического режима зігоізіілі ѵаоіѵазио чизнѵи 9 ѵаѵш 61Е
320 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 6.28. Принцип синтеза сигналов управления релейной памятью Теперь приступим к синтезу алгоритмов управления. Воспользуемся так называемым «виртуальным программированием», когда в каждом режиме в ка­ честве выходных сигналов используются автономные ячейки оперативной, а затем они суммируются по логическому ИЛИ в отдельном блоке программы. Такой подход увеличивает объем программы, но значительно упрощает синтез, отладку и чтение алгоритмов, т. е. имеет неоспоримые преимущества. Встает вопрос: в какой последовательности разрабатывать программу? Желательно, чтобы последовательность программы совпадала с последо­ вательностью ее отладки на реальном механизме. В этом случае, в ней гораздо легче ориентироваться, как разработчику, так и инженеру наладчику при вводе оборудования в эксплуатацию и его обслуживании, т. е. - установка режимов работы; - наладочные перемещения; - автоматический цикл; - пошаговая работа в цикле. Однако здесь все зависит и от субъективных факторов: наличия или от­ сутствия отладочного стенда, состава отладочного стенда, стиля работы разра­ ботчика, реальных знаний по работе с используемом контроллером и панелью оператора на момент выполнения проекта и др. Предположим, что в нашем распоряжении имеется стенд, приведенный на рис. 6.29, в состав которого входит контроллер с 14 дискретными входами и 10 выходами, а также панель оператора, с которой мы встретились впервые. И есть желание, как можно быстрее разработать и проверить автоматический цикл, параллельно изучая панель оператора. И лишь потом добавить в про­ грамму прямое управление магнитами от панели оператора и пошаговое управ­ ление. Почему нет? Стенд позволяет это сделать. Мы разрабатываем учебную программу, поэтому так и поступим.
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 321 Рис. 6.29. Отладочный стенд Предварительно следует заготовить таблицу используемого адресного пространства и заполнять ее по мере продвижения процесса синтеза. Это поз­ волит избежать многих синтаксических ошибок в процессе работы и облегчит отладку алгоритма. Таблица адресного пространства Адрес МО М1 М2 М3 М4 М5 Мб М7 М8 М9 МІО МН М12 М13 М14 М15 М16 М17 Назначение =0 = 1 Заир Кисх РЦ Цикл м(Т) МЦ) 8(прот) Я(прот) ПРОТ ПО З(-) Щ-) М(-) М(-) Адрес М32 МЗЗ М34 М35 М36 М37 М38 М39 М40 М41 М42 М43 М44 М45 М46 М47 М48 М49 Назначение а Сбр РШаг Авт/Шаг КнВниз КнВсрх КнПрот Кн По КнВыдв КнВд КнЗаж КнОтж ЗапрП/У Адрес М64 М65 М66 М67 М68 М69 М70 М71 М72 М73 М74 М75 М76 М77 М78 М79 М80 М81 Назначение РНал ПУпр РАвт РШаг КнШаг КнЦ КнСбр 00.1 00.2 00.4 00.6 00.5 ОО.З 00.0 00.7 10.6
322 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Окончание таблицы адресного пространства Адрес М18 М19 М20 М21 М22 М23 М24 М25 М26 М27 М28 М29 МЗО М31 Назначение 8(заж) И(заж) Зажим Отжим S(a) a СбрЦ Запр Кн(т) Адрес М50 М51 М52 М53 М54 М55 М56 М57 М58 М59 М60 М61 М62 М63 Назначение РазрП/У Вниз Вверх Против По Выдв Вдвиж Зажим Отжим Адрес М82 М83 М84 М85 М86 М87 М88 М89 М90 М91 М92 М93 М94 М95 Назначение 10.7 10.9 10.11 10.10 10.8 10.5 10.12 Ниже излагается процесс синтеза PLC-программы (рис. 6.30): Rung 0: Отладочные ячейки всегда равно нулю (= 0) и единице (= 1). Автоматический режим работы Rung 1: Формирование сигнала тела автоматического цикла. Анализ циклограммы дает следующие результаты: Глобальный запрет (Запрет) формируется при выключенном стенде и ак­ тивных сигналов всех других несовместимых циклов: Запрет = Станок + Цикл 2 + Цикл 3+Цикл 4+.... Контроль исходного положения манипулятора (Кисх ) формируется при условии, что манипулятор находится в нижнем вдвинутом положении, повер­ нут к стороне бункера, клешня отжата, т. е. Кисх= К(^)-Кпо -К(<—)-Котж. Разрешение цикла формируется в автоматическом режиме при условии отсутствия запрета и наличия сигнала исходного положения, т. е. РЦ = Запрет ■ Кисх-РАвт. Общий сигнал Цикл. Реализуется при помощи типовой релейной RSпамяти Y=(S+Y)*/R. Сигнал установки памяти: ЗЦЦ= РЦ-КнЦ, т. е. формируется при наличии разрешения и нажатии кнопки активизации.
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 323 Рис. 6.30_1. Формирование сигнала автоматического цикла Сброс памяти осуществляется при завершении цикла или кнопкой сброса электроавтоматики в ручном режиме: Р(Ц)= СбрЦ +СбрЭла РНал. Напомним, что релейная память выключается размыкающимися контак­ тами, поэтому все сигналы отключения R необходимо инвертировать. Таким образом, РЩ)= СбрЦ • (СбрЭла + РНал ). Все остальные автоматические операции осуществляются в теле цикла (Ц). Автоматический режим реализует следующий цикл: - перемещение корпуса манипулятора в вернее положение; - поворот корпуса против часовой стрелки до упора; - выдвижение пуки манипулятора с целью захвата детали его клешней; - зажим детали в клешне; - возврат (вдвижение) руки манипулятора с захваченной деталью в ис­ ходное положение; - поворот корпуса манипулятора по часовой стрелке в исходное поло­ жение; - опускание корпуса манипулятора в нижнее положение; - отжим детали в клешне и сброс ее в бункер.
324 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Анализируя циклограмму, принимаем следующее решение: во всех взаи­ моисключающих парных командах (вверх-вниз, поворот против-по, выдвижение-назад в исходное, зажим-отжим), первый сигнал реализовать при помощи типовой релейной памяти ¥1 = (8 + У1)*/И, а второй при помощи инверсии первого, т. е. У2 = /У 1. Иип§ 2: Управление движением манипулятора вверх М^). Рис. 6.30 2. Формирование выходных виртуальных сигналов ВвсрхВниз и Поворота Реализуется при помощи стандартной релейной памяти: сигнал установки памяти 5(Т)= КнЦ- РЦ Ц; сигнал сброса памяти Я(Т) = К(по) • ПО-К (У) • К(<^) • Кзаж а-Ц; манипулятор вверх м(Т)= (Зф+А/фуяф-#. Управление движением манипулятора вниз М(|): М(1)= М^)-Ц-К(<-)•а, т. е. это инверсия движения вверх при условии вдвинутого положения манипулятора и наличия промежуточного сигнала а. Промежуточный сигнал а разделяет циклограмму на две части, позволяя тем самым устранить неопределенности решения задачи, так как состояния сигналов в начале цикла и в его конце совпадают.
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 325 Следует напомнить, что такой сигнал нужно всегда, не задумываясь, вво­ дить в циклограмму при разработке алгоритмов управления подобными циклами. Rung 3: Управление поворотом манипулятора в зону детали (против часовой) Реализуется при помощи стандартной функции релейной памяти: сигнал установки памяти S(npom)= К(\")-М(^")-К(<—)■ а Ц; сигнал сброса памяти R(npom)-К(<-)-М(<—) -Кзаж-К^)- а-Ц-, манипулятор против ПРОТ = (S(npom)+ПРОТ)• R(npom). Управление поворотом манипулятора в зону бункера (по часовой) ПО= ПРОТ К(<—)-а Ц, т. е. это инверсия поворота против часовой при условии вдвинутого положения манипулятора и наличия промежуточного сиг­ нала а. Rung 4: Управление выдвижением манипулятора для захвата детали: Реализуется при помощи стандартной функции релейной памяти: сигнал установки памяти S(-+)= Кпрот ПРОТ -К(^) -Котж-а-Ц; сигнал сброса памяти Я(->) = Кзаж ■ ЗАЖ■ Кпрот-К(Т)- а-Ц; выдвижение манипулятора М(^)= ^(-^+М(^Ц-Р(^-Ц. Примечание. Настройка датчиков, работающих па упор производится с упреждением на время возможного разброса его срабатывания, поэтому по сиг­ налу 8(—♦), какое-то время будет одновременно происходить два движения: дотяг поворота манипулятора и выдвижение руки. По факту работы механизма следует определить, необходимо ли на некоторое время Аі задержать сигнал поворота, чтобы обеспечить полноценный захват клешней инструмента в мага­ зине перед его зажимом. В данной учебной программе это не учитывается. Управление движением манипулятора назад из зоны детали (инверсия выдвижения руки в теле цикла) М(<-)= М(-У)-а-Ц Rung 5: Управление зажимом детали клешней Реализуется при помощи стандартной функции релейной памяти: сигнал установки памяти 8(заж)= К(-У)-М(—У)-К(УуКотж-а-Ц ; сигнал сброса памяти Р(заж)= К(^)-М(1) -КЦ-)-Кпрот- а-Ц; память Зажима ЗАЖ= (8(заж)+ЗАЖ)-Р(заж).
326 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Управление отжимов детали в зоне бункера ОТЖ=ЗАЖа.К(\г)К(по)Ц т. е. это инверсия поворота против часовой при условии вдвинутого положения манипулятора и наличия промежуточного сигнала а. Рис. 6.30 3. Формирование выходных виртуальных сигналов ВпередНазад и ЗажимОтжим Rung 6: Промежуточный сигнал а сигнал установки памяти S(a)= Кзаж-ЗАЖК^-К(У)-Ц сигнал сброса памяти К(а)=Ц ; память сигнала а= (5(а) + а)'Ц. Rung 7: Сигнал сброса цикла. Формируется при условии завершения всех движе­ ний и возврата манипулятора в исходное положение. Сбрасывается сигналом «Цикл). СбрЦ= М^)-К^)-М(по)-К(поуМ(<-)-К(<г-уОТЖ-Котж-Ц .
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 327 Рис. 6.30_4. Формирование промежуточного сигнала а и сигнала сброса цикла Внимание. В приведенном на рис. 6.30 алгоритме, во все уравнения дви­ жения манипулятора введены дополнительные сигналы прерывания для работы в пошаговом режиме [11]. При необходимости, в алгоритм можно также добавить вспомогательный сигнал «Цикл выполнен». Существуют и другие методы синтеза цикловых алгоритмов, например, так называемого счетчика последовательности. Rung 8. Режим пошаіового управления автоматическим циклом Режим используется при первоначальной отладке работы механизма. Активизация режима РШаг возможна, как кнопкой, расположенной на аппаратной панели управления, так и на сенсорной панели. Алгоритм рис. 6.31 формирует сигнал «Авт/Шаг», интегрированный во все уравнения автоматического цикла. Если режим РШаг отключен, то сигнал Авт/Шаг равен Единице и не вли­ яет на ход выполнения автоматического цикла. При актививном пошаговом режиме и нажатии кнопки Цикл разрешается выполнение только одной операции. Для продолжения работы следует снова нажать кнопку Цикл. Rung 9. Наладочный режим Режим необходим для начальной установки элементов манипулятора в исходное положение, настройки упоров и датчиков, а также выхода из «Зависа­ ния» программы в случае нештатных ситуаций. Активизация режима осуществляется с аппаратного пульта управления, а управление электромагнитами с сенсорной панели управления (см. рис. 6.25). Предусмотрены индикаторы включенного состояния режимов.
328 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 6.31. Формирование режима пошагового управления циклом Для включения каждого электромагнита предусмотрена отдельная кнопка управления. Ниже каждой кнопки расположены индикаторы включенного со­ стояния магнита и срабатывания датчика контроля выполнения операции. Ал­ горитм установки режима и управления приведен на рис. 6.32. Выходные сигналы - виртуальные. Назначение операндов: М49 - запрет режима. Формируется, если не включен стенд (/10.0), ак­ тивны автоматический (10.2) или пошаговый режим (М34), или вклю­ чен Цикл (М5); М50 - разрешение или признак режима прямого управления. Формиру­ ется при условии отсутствия сигнал запрета (М49) и включенного наладочного режима (10.1). Логические уравнения формирования виртуальных сигналов включения магнитов формируются по следующему принципу: - дано разрешение; - нажата кнопка управления; - отсутствует сигнал с датчика контроля выполнения операции. При срабатывании датчика действие кнопки блокируется, т. е. Магнит = Разрешение * Кнопка * /Датчик контроля.
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 329 Рис. 6.32. Формирование виртуальных сигналов управления электромагнитами в наладке Необходимо также проанализировать и ввести в логическое уравнение дополнительные блокирующие сигналы, исключающие возможные поломки. Например, нельзя перемещать корпус манипулятора вниз или вверх, если выдвинута рука. Все зависит от конструктивных особенностей механизма. Типовая строка записи, например, для перемещения манипулятора вверх: М52 = М50*М42*/І0.6*І0.10, где М52 - виртуальный сигнал перемещения манипулятора вверх; М50 - разрешение; М42 - кнопка Вверх; 10.6 - датчик контроля верхнего положения; 10.10 - датчик контроля вдвинутого положения руки.
330 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ В проекте панели устанавливаются следующие атрибуты: Rung 10. Выходные рабочие сигналы Формируются путем логического сложения выходных виртуальных сиг­ налов автоматического и наладочного режимов (рис. 6.33), например, для дви­ жения вверх: Q0.1=M8+M52, где Q0.1 - выходной сигнал ВВЕРХ; М8 - виртуальный сигнал Вверх в автомате; М52 - виртуальный сигнал Вверх в наладке. Rung 11. Индикация режимов работы На панели оператора предусмотрено четыре индикатора режимов: Р_Нал (наладочный режим), ПрУпр (прямое управление), Р_Авт (автоматический режим), Р_Шаг (пошаговый режим). В атрибутах битовых индикаторов устанавливаются следующие адреса: М64 - Режим наладки; М50 - прямое управление магнитами; М67 - Автоматический режим; М34 - Режим Шаг в автомате.
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 331 Рис. 6.33. Выходные сигналы управления Rung 12. Индикация состояния электромагнитов Для индикации включенного состояния электромагнитов на панели опера­ тора используются «битовые индикаторы» со следующими адресами (рис. 6.34): М71 - манипулятор вверх (Q0.1); М72 - поворот манипулятора к детали (Q0.2); М73 - выдвижение руки (Q0.4); М74 - зажим детали клешней (Q0.6); М75 - возврат руки в исходное положение (Q0.5); М76 - поворот манипулятора к бункеру (Q0.3); М77 - манипулятор вниз (Q0.0); М78 - отжим детали в клешне (Q0.7). Адреса индикаторов указываются в соответствующих атрибутах, напри­ мер, для движения вверх:
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 332 Битовый индикаторЛумблер Параметры объекта Общие Безопасность Фигура Метка Профиль @ Битовый индикатор О Битовый переключатель Чтение устройство: адрес : Schneider MODBUS RTU %м QИнверсия сигнала Рис. 6.34. Индикация состояния электромагнитов Rung 13. Индикация состояния датчиков контроля Индикация состояния датчиков (рис. 6.35) организована аналогичным об­ разом. М81 - манипулятор вверху (10.6); М82 - манипулятор повернут к детали (10.7); М83 - рука выдвинута (10.9); М84 - деталь зажата (10.11); М85 - рука в исходном положении (10.10); М86 - манипулятор у бункера (10.8);
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 333 М87 - манипулятор внизу (10.5); М88 - деталь отжата (10.12). Рис. 6.35. Индикация состояния датчиков контроля 6.5. Синтез управления пассажирским лифтом Разработка систем управления различного рода современными пассажир­ скими или грузовыми лифтами, это сложная, ответственная и трудоемкая ин­ женерная задача. Этой работой занимаются высокопрофессиональные квали­ фицированные проектные коллективы, разрабатываются специализированные системы числового управления и электроприводы. Наша задача, используя се­ рийный программируемый контроллер и панель оператора, разработать работо­ способный учебный проект управления 4-х этажным лифтом с целью совер­ шенствования навыков синтеза и отладки цикловой электроавтоматики. То есть, подготовить базу для выполнения промышленного проекта. Состав стендового оборудования: - программируемый логический контроллер типа ТМ200СТ24И на 14/10 дискретных входов и выходов с блоком расширения ТМ2ОММ24ОКР на 16/8 входов и выходов фирмы Шнайдер; - программируемая сенсорная панель оператора фирмы Weintek; - электроприводы перемещения лифта и управления дверями кабины отсутствуют и имитируются дискретными выходными сигналами.
334 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Постановка задачи: — разработать автоматический цикл вызова лифта на этаж кнопками, расположенными на лестничных клетках; - разработать автоматический цикл перемещения лифта на нужный этаж кнопками, расположенными в кабине; - обеспечить замедление движения лифта при подходе к заданной пози­ ции; - обеспечить автоматическое открывание и закрывание дверей при за­ вершении циклов позиционирования с обеспечением условий техники безопасности; - обеспечить автоматическое открывание двери, если кабина уже нахо­ дится в позиции вызова и закрывание при заходе в нее людей через выдержку времени; - обеспечить автономное управление открыванием и закрыванием две­ рей кнопками, расположенными в кабине лифта; - обеспечить автоматическо закрывание дверей, если кабина остается открытой в течение заданного времени; - обеспечить основные аварийные блокировки: обрыв троса, перегрузка кабины, прерывание закрывания дверей при пересечении человеком линии направляющих двери, невозможность управления дверями при движении кабины, невозможность одновременного управления из кабины и лестничной клетки, невозможность одновременного вызова кабины с разных этажей, аварийный контроль крайнего верхнего и нижнего положения. Таким образом, рассматриваемый учебный проект максимально прибли­ жен к рабочему. Схематичное изображение учебного лифта показано на рис. 6.36. Органы управления лифтом: - кнопки вызова на каждом этаже; - пульт управления в кабине лифта. В зависимости от фирмы-изготовителя пульты управления могут содер­ жать различный набор кнопок управления, но в нем всегда имеется набор кно­ пок вызова этажа, кнопки открывания и закрывания дверей, кнопка связи с диспетчером. Вариант, принятый в проекте приведен на рис. 6.40. Так же может различаться система расстановки датчиков позиционирова­ ния.
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 335 Рис. 6.36. Схематичное изображение лифта и система расположения датчиков На рис. 6.37 приведены возможные варианты: Вариант а): на кабине монтируется общий флажок (или кулачок), воздей­ ствующий на индивидуальные датчики замедления и остановки, установленные на каждом этаже. Вариант б): на кабине монтируется общий флажок, а на этажах по два разнесенных симметрично относительно позиции остановки датчика. При дви­ жении вверх нижний датчик дает команду на замедление, а верхний на останов. При движении вниз назначение датчиков противоположное, верхний - замед­ ление, нижний - останов. Примечание: возможен вариант установки общих датчиков на кабине и индивидуальных датчиков на каждом этаже. Для реализации алгоритма управ­ ления требуется реверсивный командоаппарат на счетчике и начальная уста­ новка точки отсчета, а также энергонезависимая память на случай выключения электричества!
336 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Вариант с): два общих, расположенных в кабине на линии останова дат­ чика, один из которых дает команду замедления, а второй - останова, что до­ стигается Т-образной формой флажков, устанавливаемых на каждом этаже. Реализация алгоритма также требует применения счетчика и энергонеза­ висимой памяти. Кабина Кабина Кабина, Флажки на этажах Датчики .на кабин: Ост^Т) Зам( б) Рис. 6.37. Варианты расстановки датчиков позиции 220АС 8Р1Ѵ=\ 8Р2^=А 8Р2^=А =24Ѵ Рис. 6.38. Блок-схема управления лифтом •П
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 337 В учебном проекте используем вариант а) с применением полного набора датчиков, расположенных на каждом этаже, так как этот вариант наиболее по­ нятен при начальном изучении алгоритмов управления лифтами. На рис. 6.38 приведена схематичная электрическая блок-схема управле­ ния лифтом. Она включает: - программируемый контроллер типа TM200CE24R с блоком расшире­ ния TM2DMM24DRF; - регулируемы электропривод перемещения лифта; - электроприводы управления дверями; - источник питания = 24 В; - программируемую панель оператора для имитации пульта управления кабины и имитации движения лифта; - аппаратную электрическую схему управления исполнительными эле­ ментами. На рис. 6.39 приведена схема подключения программируемого контрол­ лера. Назначение входных дискретных сигналов: 10 .0 - датчик остановки на 1-ом этаже; 10.1 - датчик остановки на 2-ом этаже; 10.2 - датчик остановки на 3-ем этаже; 10.3 - датчик остановки на 4-ом этаже; 10.4 - датчик замедления при подходе на 1-й этаж; 10.5 - датчик замедления при подходе на 2-й этаж снизу; 10.6 - датчик замедления при подходе на 2-й этаж сверху; 10.7 - датчик замедления при подходе па 3-й этаж снизу; 10.8 - датчик замедления при подходе на 3-й этаж сверху; 10.9 - датчик замедления при подходе на 4-й этаж снизу; 10.10 - контроль закрытия дверей 1-го этажа; 10.11 - контроль открытия дверей 1-го этажа; 10.12 - контроль закрытия дверей 2-го этажа; 10.13 - контроль открытия дверей 2-го этажа; 11 .0 - контроль закрытия дверей 3-го этажа; 11.1 - контроль открытия дверей 3-го этажа; 11.2 - контроль закрытия дверей 4-го этажа; 11.3 - контроль открытия дверей 4-го этажа; 11.4 - контроль наличия людей в кабине; 11.5 - датчик контроля пересечения линии дверей (лазер); 11.6 - контроль перегрузки кабины; 11.7 - контроль обрыва троса; 11.8 - аварийное ограничение на последнем этаже;
338 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 11.9 - аварийное ограничение на первом этаже; 11.10 - кнопка вызова лифта из 1-го этажа; 11.11 - кнопка вызова лифта из 2-го этажа; 11.12 - кнопка вызова лифта из 3-го этажа; 11.13 - кнопка вызова лифта из 4-го этажа; 11.14 -резерв; 11.15 - кнопка Сброса электроавтоматики (для наладки алгоритма). Назначение выходных дискретных сигналов: 00.0 - движение лифта Вверх; 00.1 - движение лифта Вниз; 00.2 - резерв; 00.3 - замедление движение лифта; 00.4 - открытие дверей 1-го этажа; 00.5 - закрытие дверей 1-го этажа; 00.6 - открытие дверей 2-го этажа; 00.7 - закрытие дверей 2-го этажа; 00.8 - открытие дверей 3-го этажа; 00.9 - закрытие дверей 3-го этажа; 01.0- открытие дверей 4-го этажа; 01.1 - закрытие дверей 4-го этажа; 01.2 - индикация «Лифт занят» на 1-ом этаже; 01.3 - индикация «Лифт занят» на 2-ом этаже; 01.4 - индикация «Лифт занят» на 3-ем этаже; 01.5 - индикация «Лифт занят» на 4-ом этаже; 01.6-резерв; 01.7 - резерв. Приведенных выходных сигналов достаточно, чтобы управлять любыми типами приводов управления движением лифта и дверями. Главной задачей данного проекта является синтез электроавтоматики РЬС. Кнопки вызова лифта из лестничных площадок дома подключены к кон­ троллеру (11.10 -11.13). Кнопки вызова этажей из кабины лифта и индикацию о его положении располагаем на программируемой панели оператора (рис. 6.40). Здесь же, для облегчения наладки алгоритма и наглядности, программируем индикаторы по­ следовательности работы лифта и датчиков контроля. Естественно, что в реаль­ ной кабине это будет отсутствовать.
220АС Этаж 1 БОЇ ₽ Этаж 2 $02 р Этаж 3 503 Этаж 4 504 Кзам1(Н) Кзам2(В) 10.2 ,0-3 Ю.4 506 10.5 508 Кзам4(В) '00 10.7 1=1 Кзакр! Коткр1 Кзакр2 10.8 5010^ 5011^ 5012^ 5013^ 5014^ § І І і 8 Сот2 КзамЗ(В) ^/^ 0»/_ 10.1 507 КзамЗ(В) ^Л0/_ 10.0 505 л Кзам2(Н) СОМО ОѴ 10.9 10.10 СІ Щ о о 3 § R К1Г —’ К2П —1 кзп К4П —< СомО Вверх ЗакрЗ Вниз Оікрі ЯА/-_ 00.9/ Закр4 5017/ Откр4 5018/ К( лазер) Закрі К(трос) Откр2 Огр (В) Закр2 Оф(Н) К9П _ ОткрЗ Вызов 1 ЗакрЗ Вызов 2 , 5020 К(перегр) К8П —4 кюп 5019/ 8021/ С0М2 00^ 5016/ Кпола Нї —і ^/^ К6Г —1 К7П —’ оо.у 5015/ ОткрЗ Замедление СОМІ 00.4/ 3 о X о а. 00.3^ +24Ѵ 1 10.11 Вызов 3 10.12 Вызов 4 8022/ 5023 5024 5В1 5В2 ТР 5ВЗ ^ 5В4 ТР 10.13 11.0 010/ КН 011/ К12 2|— Закр4 01.2/ КІЗ Щ/ К14 — Откр4 11.1 11.2 11.3 11.4 11.5 11.6 ! Xя ч 3 3 § 11,7 1 11.8 О я 3 н N0 1 К15 X . 01.5/ кг К16 М^_ К17 11.10 Оі-З/ К18 11.11 С0М2 11.9 — Занят2 СОМІ 01-4/ 1 N — Запиті 1— ЗанятЗ — Занят4 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ Блок расширения 16/8 +24У ^24Ѵ оѵ Сомі 11.12 11.13 11.14 Кн Сброс 5В5 ^ 11.15 Рис. 6.39. Схема подключения программируемого контроллера 339
340 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Управление Лифтом КУ! 124 РНІ 09:25 08 Этапы работы лифта ^ За^ ЭтажЗ___ От«Р~і I ^д Вверх Вниз Медл Ї ?таж2 ' Откр 1 Захр і ___ ЭТажІ____ _ ^опр ■ ^«р ' Рис. 6.40. Проект панели оператора Принимаем решение использовать виртуальный способ программирова­ ния алгоритма, разбив его на следующие условные подпрограммы: - формирование кодов фактического и заданного положения кабины; — полный виртуальный автоматический цикл позиционирования кабины на этаж из подъезда; - виртуальный автоматический цикл открытия и закрытия дверей при вызове кабины из подъезда, если уже находится на этаже вызова; - цикл управления закрытием и открытием дверей кнопками из кабины; - полный автоматический виртуальный цикл позиционирования кабины на нужный этаж из кабины лифта. После разработки раздельных виртуальных циклов выходные сигналы одноименных действий суммируются по логическому ИЛИ. Причины такого решения: - проект достаточно сложный и делается в первый раз; - значительно облегчается задача отладки, так как исправления в одном виртуальном цикле не влияют на другие; - для студентов можно формулировать несколько самостоятельных за­ дач; - после полной отладки алгоритма можно поставить задачу объединения одинаковых действий, например, сначала совместить все виртуальные циклы управления дверями, а затем циклы позиционирования кабины. Ниже приводится синтез и описание алгоритма (рис. 6.41).
Входы Выходы Адрес Назнач. Адрес Назнач. Адрес Назнач Адрес Назнач. Адрес Назнач. МО = 0 М32 Такт М64 Генерат М1 = 1 МЗЗ а М65 00.2 ЗАМ ТМ2 Генералі М2 Зт4 00.3 ТМЗ М3 Кн(»І 004 0ТКР1 ТМ4 Закр М7' М4 МП 00.5 ЗАКР1 ТМ5 ЗакрМЖ М5 Кн|4| 00.6 0ТКР2 ТМ6 ЗакрМ14‘ Мб 1Л0 Эт1 (10.0 ВВЕРХ 101 Эт2 001 ІП 2 ЗтЗ ЮЗ IO 4 IO 5 IO 6 ВНИЗ ТМО ТМ1 Set Адрес Назнач 039 039 039 Адрес Назнач. Адрес Назнач. Адрес Назнач. М160 3т1 М192 Разр М161 М193 039 039 039 039 Таймеры Адрес Назнач. М96 Закр1 М128 ПЗам М97 Закр2 М129 Ост Зт2 Цикл М34 М66 ОТКР М98 ЗакрЗ М130 М162 ЗтЗ М194 ВВВЕРХ ТМО М35 М67 ЗАКР М99 Закр4 М131 М163 Эт4 М199 ТМ1 М36 М68 0ткр1 МЮО ТМ4 М132 М164 Кзам1|*| М196 ЗАМ Ген 1с М37 М69 0ткр2 М101 М133 М165 Кзом2М) М197 0ТКР1 М38 М70 ОткрЗ М102 М134 М166 КЗОМ2І4І М198 ЗАКР1 СбрЦ ВНИЗ 10.7 КнШ Q0.7 ЗАКР2 ТМ7 ЗакрМ115 М7 М39 М71 0ткр4 мюз М135 10 Я Кн(*1 008 ОТКРЗ ТМ8 М8 5Пэт М40 Ф = 3 М72 Поткр М104 ЗапрО/З М136 109 ЫН 009 ЗАКРЗ ТМ9 М9 Такт М41 3<Ф М73 Закр1 М105 Кисх М137 ТМЮ мю а М42 3 > Ф М74 Закр2 М106 ОТКР М170 Кзакр! М202 ЗАКРЗ ЗакрЗ М107 РЦ М138 М75 М139 ЗАКР М171 Коткр1 М2ОЗ 0ТКР4 М172 Кзакр? М204 ЗАКР4 1010 Кзакр1 М43 Set М167 КзамЗМ! М199 0ТКР2 М168 КзамЗІН M20U ЗАКР2 М169 Кзам4МІ М201 ОТКРЗ 1011 Коткр1 М11 1)1? Кзокр2 М12 ЖнЗт М44 Запр 0 М76 Закр4 М108 КнОткр М140 0ткр1 1013 Коткр2 М13 ВКн1 М45 Касх М77 ТМЗ М109 КнЗакр М141 М14 ВКн2 М46 РЦ М78 С5рЦ_П М110 ОТКР.Кн М142 ОткрЗ М15 ВКнЗ М47 Set М79 М111 Закр1 М143 0ькр4 М175 М144 ПОткр 0ткр2 М173 Коткп2 М205 Л Занят М174 КзакрЗ М206 КоткрЗ М207 М176 Кзакр4 M2U8 110 КзакрЗ 01.0 0ТКР4 М16 ВКн4 М48 М80 М112 Закр2 111 КоткрЗ 01.1 ЗАКР4 М17 Ян П М49 Цикл_П М81 М113 ЗАКР.Кн М145 Закр1 МТ/7 Коткр4 М209 11? Кзакр4 М2 ЗАНЯТ1 М18 Такт М50 Вверх М82 М114 Цикл_Кн М146 Закр2 М178 Кпола М210 ИЗ Коткр4 013 ЗАНЯТ2 М19 а М51 Вниз М83 М115 ТМ7 М147 ЗакрЗ М179 /Кпола М211 114 Кпола 014 ЗАНЯТЗ М20 М52 Абих М84 М116 М148 Закр4 М180 Лазер М212 US Лазер Q1.5 ЗАНЯТА М21 М53 116 Перегриз 01.6 117 Ктроса 11.8 /Огр ф М24 КнКабЗ М56 119 /Огр Ф М25 КнКаб4 М57 1110 Визой! М26 Жн К М58 1111 Визой М27 8Кн1 111? Визой 1113 Визо64 1114 11.15 КнСйрос 01.7 Перегриз М213 М117 Залр_К М149 ТМ5 М181 (Касх М118 Касх М150 С5рЦ_К М182 /Огрф рц М119 РЦ М151 М183 М88 ЦО/3 М120 ПЗам М89 ОТКР М121 Ост М90 ЗАКР М59 М91 М28 ВКн2 М60 М29 ВКнЗ МЗО М31 М22 КнКаб1 М23 М54 КнКа52 М55 М85 Запр Замф М86 Зам Ф М87 Зам /Ого Ф М214 М215 М184 Кзакр М216 М153 М185 М217 М122 Вверх М154 М186 М218 0ткр1 М123 Вниз М155 М187 М219 М92 0ткр2 М124 Авих М156 М188 М220 М61 М93 ОткрЗ М125 М157 М189 М221 ВКн4 М62 М94 0ткр4 М126 Зам Ф М158 М190 М222 акн М63 М95 ПОткр М127 Зам М159 М191 М224 М152 Цикл К Замф Яак ли Коткр
342 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 6.41/1. Вспомогательные ячейки и генератор В процессе разработки PLC-программы следует постепенно заполнять таблицу используемого адресного пространства, что позволит избежать многих ошибок и в дальнейшем облегчит наладку. Rung 0. Формирование вспомогательных сигналов = 1 (всегда равно единице) М1=М1 + /М1 и = 0 (всегда равно нулю) М0=/М 1 или М0= МО * /МО. Здесь знак «/» обозначает инверсию сигнала. Rung 1-3. Формирование генератора импульсов периодом Т = 1 сек для имитации движения лифта (см. Rung31, рис. 6.45) на панели оператора. Rung 4. Формирование двоичного кода номера этажа в слове MW0. В каждом штатном положении кабины сигнал датчика этажа М8 (10.010.3) тактируется (М9) и сбрасывает предыдущее значение кода. После сброса в слово MW0 записывается новое значение кода, соответствующее этажу на ко­ тором находится кабина (рис. 6.42). При остановке текущее значение кода (Факт) индикатируется на экране панели оператора, а при движении лифта индикатируется в мигающем режиме.
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 343 Рис. 6.41/2. Формирование слова фактического положения кабины Тактирование датчика этажа Разряд кода Эт(п) б) Такт Бит кода (п) Установка кода Рис. 6.42. Принцип записи кода этажа
344 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Rung 5. Формирование виртуальных кнопок Ml 3-М 16 вызова лифта этажными кнопками лестничной клетки. Блок предназначен для исключения возможности одновременного вызова кабины с разных этажей, приоритет имеет первое нажатие кнопки вызова. На время нажатия любой кнопки ее виртуальный аналог встает на самопитание, например, М13 = М12*(І1.10 * /М14 * /М15 * /М16 + М13), тактируется (Ml8) и записывает код этажа вызова лифта в слово задания MW1 (см. Rung 7). Рис. 6.41/3. Формирование виртуальных кнопок вызова лифта из подъезда
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 345 При отпускании кнопки ее виртуальный аналог так же отключается (см. М12). Остальные вызовы блокируются до окончания цикла позиционирования (М152) лифта в заданную позицию. Примечание: Если организовать стековую память одновременных вызо­ вов с разных этажей, то можно синтезировать автоматическое поочередное по­ зиционирование лифта. Однако при этом возможен вариант, когда человек, сделавший параллельный вызов, не станет ждать и пойдет по лестнице, что так же нужно предусмотреть в рабочем варианте алгоритма. Это достаточно слож­ но и в учебном проекте не реализуется. Рис. 6.41/4. Формирование виртуальных кнопок вызова лифта из кабины
346 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Rung 6. Формирование виртуальных кнопок М27-М30 вызова нужного этажа кнопками М22-М25 из кабины. Блок также предназначен для исключения возможности одновременного вызова этажа из кабины разными людьми, приоритет имеет первое нажатие кнопки вызова. Остальные вызовы блокируются до окончания цикла позицио­ нирования лифта в заданную позицию. Здесь же выполняется тактирование виртуальных кнопок (М27-М30), ис­ пользуемое в Rung7 при формировании кода задания MW1 на перемещение лифта. Rung 7. Формирование двоичного кода задания MW1 на перемещение лифта в заданную позицию. На время такта по переднему фронту виртуальных кнопок Ml8 (лестничная площадка) или М32 (кабина), предыдущий код сбра­ сывается, после чего выполняется запись нового задания. Селекция записывае­ мого кода при вызове из лестничной площадки или из кабины осуществляется датчиком 11.4 наличия людей в кабине. После начала выполнения цикла позиционирования изменение кода бло­ кируется (сигнал Ml 52). Рис. 6.41/5. Формирование двоичного кода вызова лифта
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 347 Rung 8. Сравнение кодов задания MW1 и фактического положения MW0 кабины. Блок формирует следующие сигналы: М40 - кабина в позиции Факт = Задание; М41 - Задание < Факт, необходимо движение вниз; М42 - Задание > Факт, необходимо движение вверх. Рис. 6.41/6. Сравнение кодов Rung 9-15. Автоматический виртуальный цикл позиционирования лифта при его вызове с лестничной клетки этажа. Стартует по командам этажных кнопок (см. Rung 5) и реализует следующий алгоритм (рис. 6.43): - проверка отсутствия запрета и исходного положения; - формирование сигнала разрешения выполнения цикла; - формирование сигнала цикла позиционирования. Все остальные сигна­ лы формируются в теле цикла, что исключает их нештатное включение; - формирование сигналов Вверх и Вниз управления электроприводом движения лифта. Тип электропривода значения не имеет. Здесь же формируется вспомогательный сигнал Движение, используемый для различного рода блокировок; - формирование сигнала Замедление при подходе к заданной позиции. Сигнал уменьшает уставку задания скорости привода. Характеристики замедления задаются параметрами электропривода; - формирование промежуточного сигнала памяти замедления; - формирование сигнала Останов при срабатывании датчика заданного этажа; - открытие дверей на лестничной площадке и кабины лифта. Двери ка­ бины открываются при помощи механического зацепления одновре­ менно с этажными дверями; - формирование паузы для обеспечения входа людей в лифт; - автоматическое закрывание дверей по истечении выдержки времени. Закрывание прерывается, если человек пересекает линию дверей. В от­ дельном цикле программируется возможность закрывания и открыва­ ния дверей кнопками с пульта управления, расположенного в кабине; - формирование сигнала сброса цикла при полном закрытии дверей.
0Od3L/VOdlHO>l XNW3ÂdMWWVdJ0dU VHHlVlAIO19VOdlM3l/e 8tz£
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 349 Сигналы Rung 9: - запрет цикла М44 формируется при работе несовместимых циклов и в аварийных ситуациях, т. е. ЗапрП = ЦиклО/3 + ЦиклО/3_Кн + ЦиклК + Перегруз + + Обрыв троса. Здесь индекс «П» означает «Подъезд». — контроль исходного положения М45 формируется при отсутствии лю­ дей в кабине, несовпадении кода задания и фактического положения лифта, закрытых дверей на всех этажах, т. е. Кисх = /Кпола * /(Факт=3ад) * Кзакрі * Кзакр2 * КзакрЗ * Кзакр4 - разрешение цикла формируется при отсутствии запрета и наличия сиг­ нала исходного положения. Вводим дополнительный сигнал цикла, за­ прещающий выдачу разрешения после его начала, т. е. РЦ = /Запр_П * Кисх * /Цикл_П - сигнал цикла позиционирования М49 формируется при помощи типо­ вой памяти. Установка S = РЦ * £ВК_П * /Такт(П) Сброс R = ЗапрП + СбрЦ + СбрЭЛА и /R = /Запр П * /СбрЦ * /СбрЭЛА Цикл_П = (S + Циул_П) * /Запр_П * /СбрЦ * /СбрЭЛА. Все остальные сигналы формируются в теле цикла. Сигналы Rung 10; - сигнал Вверх М50 формируется при условии запуска цикла, отсут­ ствия совпадения кодов задания и фактического положения кабины, отсутствия сигнала аварийного ограничения и отсутствия сигнала про­ тивоположного направления, т. е. Вверх = Цикл_П */Ост * (Зад>Факт) * /(Зад<Факт) + Вверх) * Огр(ф) */Вниз - аналогично для сигнала Вниз М51 Вниз = ЦиклП */Ост * (Зад<Факт) * /(Зад>Факт) + Вниз) * Огр()) * /Вверх - здесь же формируется вспомогательный сигнал Движение (М52): Движ = Вверх * Выход (f) + Вниз * Выход (1)
350 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 6.41/7. Автоматический цикл вызова из подъезда Сигналы Rung 11: - Сигналы замедления при движении Вверх М54 и Вниз М55 формиру­ ются при условии запуска цикла, наличия сигнала движения кабины и соответствия кода задания этажа с сигналами датчика замедления, т. е. Зам(Т) = Цикл_П *Движ * Вверх * *[Код2*Кзам2(‘|‘) + Код1*Код2*КзамЗ(|) + Код4*Кзам4('|') +3aM(f)] ЗамЦ) = Цикл_П *Движ * Вниз * *[Код1*Код2*КзамЗ(і) + Код2*Кзам2(|) + КодРКзамІЦ) +3ам(|)]
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 351 - общий сигнал замедления М56 Зам = [Зам(ф) + Зам(|)] *Цикл_П * Движ - память сигнала замедления М57 ПЗам = (Зам + ПЗам) *Цикл_П - сигнал остановки М58 формируется при условии движения на замед­ ленной скорости и достижения вызываемого этажа, т. е. Ост = [Движ * Зам * (Факт=3ад) + Ост] *Цикл_П Рис. 6.41/7. Автоматический цикл вызова из подъезда (продолжение) Сигналы Rung 12: Формирование общих для данного цикла и всех этажей сигналов Откры­ вания М66 и Закрывания М67 дверей:
352 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ - сигнал Открытия М66 формируется памятью в теле цикла при условии завершения движения и наличия сигнала памяти замедления и сбрасы­ вается по истечении заданного времени на вход людей в кабину лифта, т. е. 8(откр) = ЦиклП * /Движ * ПЗам * /ПОткр К(откр) = ТМ * ПОткр и /К(откр) = /ТМ + /ПОткр ОТКР = Цикл_П *[(Факт=Зад) * 8(Откр) + ОТКР] * (/ТМ * /ПОткр) - сигнал Закрытия М67 формируется комбинационным путем при усло­ вии отключения сигнала Открытия, контроля и запоминания открыто­ го состояния дверей, т. е. ЗАКР = Цикл П * /ОТКР * ПОткр * ОСТ Рис. 6.41/7. Автоматический цикл вызова из подъезда (продолжение) - сигналы открытия дверей по этажам М68-М71, М72 (Rung 13): Открі = Цикл_П * ОТКР * /ЗАКР * Эті * /Закрі Откр2 = Цикл_П * ОТКР * /ЗАКР * Эт2 * /Закр2 ОткрЗ = Цикл П * ОТКР * /ЗАКР * ЭтЗ * /ЗакрЗ Откр4 = Цикл_П * ОТКР * /ЗАКР * Эт4 * /Закр4 ПОткр = Цикл П * (Открі *Коткр1 + Открі*Коткр1 + + Открі *Коткр1 + Откр1*Коткр1 + ПОткр) - сигналы закрытия дверей по этажам М73-М76 (Rungl3): Закрі = Цикл_П * ЗАКР * /ОТКР * Эті * /Открі Закр2 = Цикл П * ЗАКР * /ОТКР * Эт2 * /Откр2 ЗакрЗ = Цикл_П * ЗАКР * /ОТКР * ЭтЗ * /ОткрЗ Закр4 = Цикл_П * ЗАКР * /ОТКР * Эт4 * /Откр4
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ Рис. 6.41/7. Автоматический цикл вызова из подъезда (продолжение) 353
ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 354 - сигнал активизации таймера времени открытия дверей М77 (Rung 14) формируется в теле цикла при условии получения сигнала контроля и за пускается вновь, если новый человек вошел или вышел из кабины, т. е. ТМ = Цикл_П * (Коткр1+Коткр2+КоткрЗ+Коткр4) * /Луч - сигнал сброса цикла позиционирования (Rung 15) формируется при условии полного завершения цикла, т. е. кабины в позиции вызова, от­ сутствия движения, памяти замедления, памяти останова, памяти от­ крывания дверей и контроля их закрывания. СбрЦ_П = ЦиклП * (Факт=3ад) * /Движ * ПЗам * Ост * ПОткр * *(Закр1*Кзакр1 + Закр2*Кзакр2 + ЗакрЗ*КзакрЗ + Закр4*Кзакр4). Теоретически, этого достаточно, но лучше поставить сигнал сброса на память и сбрасывать сигналом Цикл. Rung 16-20. Цикл управления Открытием и Закрытием дверей при вызо­ ве лифта из лестничной клетки, уже находящегося в позиции вызова. Если с лестничной площадки вызывается кабина, уже находящаяся в нужном месте, то сразу активизируется подпрограммы открытия - закрытия дверей, аналогично алгоритму Rung 12-14 завершения полного цикла «Цикл_П». Сигналы Rung 16: - запрет цикла М85 формируется при работе несовместимых циклов и в аварийных ситуациях, т. е. Запр = Цикл_П + ЦиклО/3_Кн + Цикл_К + Перегруз + Обрыв троса. Здесь индекс «К» означает «Кабина»; - контроль исходного положения М86 формируется при отсутствии движения, совпадении кода задания и фактического положения лифта и закрытых дверей на всех этажах, т. е. Кисх = (Факт=3ад) * /Движ * /Зам * Кзакрі * Кзакр2 * КзакрЗ * Кзакр4 - разрешение цикла М87 формируется при отсутствии запрета и наличия сигнала исходного положения. Вводим дополнительный сигнал цикла, запрещающий выдачу разрешения после его начала, т. е. РЦ = /Запр_П * Кисх * /Цикл_О/Ж - сигнал цикла открытия - закрытия М88 формируется при помощи ти­ повой памяти. Установка S = РЦ * £ВК_П
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 355 R = Запр + СбрЦ + СбрЭЛА и /R = /Запр * /СбрЦ * /СбрЭЛА Цикл_О/Ж = (8 + Цикл_О/Ж) * /Запр * /СбрЦ * /СбрЭЛА - все остальные сигналы формируются в теле цикла; - общие (М89, М90) и этажные (М91-М100) виртуальные сигналы открытия и закрытия дверей формируются аналогично полному циклу; - сигнал сброса цикла формируется в теле цикла при условии памяти открытия дверей и сигналов их последующего закрытия, т. е. Сброс СбрЦ = Цикл_О/3 * ПОткр * (Закр1*Кзакр1 + Закр2*Кзакр2 + + ЗакрЗ*КзакрЗ + Закр4*Кзакр4). Внимание! В подпрограмму интегрированы общие сигналы открытия М110 и закрытия МН дверей от кнопок в кабине лифта, т. е. показан пример совмещения подпрограмм. Рис. 6.41/8. Цикл открывания / закрывания дверей из подъезда
356 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 6.41/8. Цикл открывания / закрывания дверей из подъезда (продолжение)
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 357 Rung 21-23: Цикл управления Открытием и Закрытием дверей из кабины лифта. Последовательность работы алгоритма поясняет циклограмма рис. 6.44. Циклограмма разделена на две части: левая, когда в кабине постоянно находятся люди и управление, как от­ крытием, так и закрытием, осуществляется от кнопок кабины; правая, когда, открыв из кабины двери все люди из нее выходят. В этом случае, по истечении выдержки времени, двери должны автоматически закрыться. Синтезируем первый случай. - Запрет цикла Ml04 формируется при работе несовместимых циклов и в аварийных ситуациях, т. е. Запр = ЦиклП + ЦиклК + Перегруз + Обрыв троса. Здесь индексы «П» и «К» означают, соответственно «Подъезд» и «Кабина». - контроль исходного положения Ml05 формируется при отсутствии движения и совпадении кода задания и фактического положения лиф­ та, т. е. Кисх = (Факт=3ад) * /Движ * /Зам - разрешение цикла Ml06 формируется при отсутствии запрета и нали­ чия сигнала исходного положения, т. е. РЦ = /Запр * Кисх - сигнал цикла открытия двери Ml 10 кнопкой формируется при помощи типовой памяти при условии разрешения и наличия людей в кабине. Сброс памяти осуществляется: кнопкой закрытия дверей, условием выполнения операции открытия и блокировочным сигналом противо­ положного действия. Установка S = РЦ * КнОткр * Кпола Сброс R = КнЗакр + Эт1*Коткр1 + Эт2*Коткр2 + + ЭтЗ*КоткрЗ + Эт4*Коткр4 и /R = /КнЗакр * [(/Эт1+/Коткр1) * (/Эт2+/Коткр2) * * (/ЭтЗ+/КоткрЗ) * (/Эт4+/Коткр4)] ОТКРКн = (S + ОТКР Кн) * /R */ЗАКР_Кн - сигнал цикла закрытия двери от кнопки Mill так же формируется при помощи типовой памяти при условии разрешения и наличия людей в кабине. Присвоим ему аббревиатуру ЗАКР1_Кн;
358 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 6.41/9. Цикл открывания / закрывания дверей из кабины
КнОткр КнЗакр ОТКР 'К ОТКР Г К ОТКР К ЗАКР Кзакр Коткр Кпола Люди в кабине ТМ ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ РЦ ТМ(Ді) Лазер Разрешено управление дверями от кнопок (Люди в кабине) Открытие от кнопки (люди в кабине)_______________ Закрытие автоматически (Люди вышли) Рис. 6.44. Циклограмма Открытия-Закрытия дверей 359
360 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ - сброс памяти осуществляется: кнопкой открытия дверей, условием выполнения операции закрытия и блокировочным сигналом противо­ положного действия Установка S = РЦ * КнЗакр * Кпола Сброс /R = /КнОткр * (Эті*/Кзакр1 + Эт2*/Кзакр2 + + ЭтЗ*/КзакрЗ + Эт4*/Кзакр4) ЗАКР1_Кн = (S + ЗАКР1_Кн) * /R */ОТКР_Кн Далее используются этажные (М91-М100) виртуальные сигналы откры­ тия и закрытия дверей предыдущего цикла Цикл-О/Ж. Во втором случае, когда кабина пустая, закрытие дверей осуществляется автоматически по истечении выдержки времени. Обратимся к циклограмме рис. 6.44. Видно, что сигнал ЗАКР2_Кн синтезируется комбинационным спосо­ бом. Приведем логические уравнения: - Закр2_Кн = РЦ * /Кпола * ТМ7 - общий сигнал Закрытия ЗАКР_Кн = ЗАКР1_Кн + ЗАКР2_КН - условный сигнал ЦиклО/3_Кн = ОТКРКн + ЗАКР Кн. Используется для блокирования других несовместимых циклов; - таймер выдержки времени М115 ТМ7 = РЦ * /Кпола * ОТКР Кн * (Эт1*/Кзакр1 + Эт2*/Кзакр2 + + ЭтЗ*/КзакрЗ + Эт4*/Кзакр4) Rung24-30: Виртуальный цикл позиционирования кабины при выборе номера этажа из кабины. Общий принцип синтеза полностью совпадает с цик­ лом позиционирования при вызове кабины из лестничной площадки. Запрет цикла формируется при активном состоянии других рассмотрен­ ных циклов, а разрешение при условии нахождения людей в кабине, должен же кто-то нажимать кнопки вызова! Назначение блоков виртуальных сигналов. Rung24: Ml 17 - запрет цикла; Ml 18 - контроль исходного положения; М119 - разрешение цикла; М121 - виртуальный Цикл_К. Rung25: Ml22 - направление движения вверх; М123 - направление движения вниз; М124 — движение.
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ Рис. 6.41/10. Автоматический цикл вызова из кабины Ru^tg26: М125 - замедление при движении вверх; М126 - замедление при движении вниз; М127 - общий сигнал Замедления; М128 - память замедления; М129 - останов движения. 361
362 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 6.41/10. Автоматический цикл вызова из кабины (продолжение)
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ Rung28 Рис. 6.41/10. Автоматический цикл вызова из кабины (продолжение) Rung27: Ml38 - общий сигнал открытия дверей в цикле; Ml39 - общий сигнал закрытия дверей в цикле; (М140-М144) - этажные сигналы открытия дверей; (Ml45-М 149) - этажные сигналы закрытия дверей; Ml50 - сигнал сброса цикла при его завершении. 363
364 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Кип£29 Рис. 6.41/10. Автоматический цикл вызова из кабины (окончание) ИипйЗІ: мигающий режим отображения номера текущего этажа при дви­ жении лифта Рис. 6.45. Мигание номера текущего этажа
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 365 Кип«32: Индикация текущего состояния датчиков для наладки и просмотра Рис. 6.46. Текущее состояние датчиков
366 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Рис. 6.46. Текущее состояние датчиков (окончание)
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ 367 Кип833: Индикация этапов выполнения циклов для наладки и просмотра Рис. 6.47. Индикация этапов работы
368 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Кип£34; Дискретные выходы Рис. 6.48. Выходные дискретные сигналы
ГЛАВА 6. ПАНЕЛЬ ОПЕРАТОРА МТ8102ІЕ Рис. 6.48. Выходные дискретные сигналы (окончание) 369
370 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ СПИСОК ЛИТЕРАТУРЫ 1. Гаврилов М. А. Теория релейно-контактных схем / М. А. Гаврилов. - М.: АН СССР, 1959.-303 с. 2. Рогинский, В. Н. Основы дискретной автоматики Статика и динамика дис­ кретных автоматов / В. Н. Рогинский. - М.: Связь. - 432 с. 3. Мишель Ж. Программируемые контроллеры Архитектура и применение / Ж. Мишель: [пер. с фр. И. В. Федотова.] - М.: Машиностроение, 1992. - 320 с. 4. Бергер Г. Автоматизация посредством STEP 7 с использованием STL и SCL и программируемых контроллеров SIMATIC S7-300/400 / Г. Бергер. - Си­ менс, 2001.-315 с. 5. Борисов А. М. Программируемые устройства автоматизации: учеб, посо­ бие / А. М. Борисов, А. С. Нестеров, Н. А. Логинова. - Челябинск: Изд. центр ЮУрГУ, 2010.- 186 с. 6. Бабакина Н. А. Современная промышленная электроника: учеб, пособие / Н. А. Бабакина, М. П. Колесников; под ред. проф. В. П. Шкодырева - СПб.: СПбГПУ, 2013.-267 с. 7. Музылева И. В. Программирование промышленных логических контрол­ леров SIMATIC S7: в 3-х ч. Ч. 1. Семейство S7-200: учеб, пособие / И. В. Музылева. - Липецк: Изд-во ЛГТУ, 2013. - 72 с. 8. Петров И. В. Программируемые контроллеры. Стандартные языки и прие­ мы прикладного проектирования / И.В. Петров. - М.: СОЛОН-Пресс, 2004. 256 с. 9. Дарьенков А. Б. Системы программного управления техническими систе­ мами: учеб, пособие / А. Б. Дарьенков, Д. Ю. Титов. - Нижний Новгород: НГТУ им. Р.Е. Алексеева, 2018. - 225 с. 10. Чернов Е. А. Типовые схемы релейно-контактного управления асинхрон­ ными двигателями / Е. А. Чернов, И. Н. Филатов. - Нижний Новгород: НГТУ им. Р. Е. Алексеева, 2015.- 142 с. 11. Чернов Е. А. Электроавтоматика металлорежущих станков. Т. 1. Подгото­ вительный курс: монография / Е. А. Чернов. - Москва ; Вологда : ИнфраИнженерия, 2021. - 512 с. 12. Чернов Е. А. Электроавтоматика металлорежущих станков. Т. 2. Основной курс (базовая электроавтоматика): монография/ Е. А. Чернов. - Москва ; Во­ логда : Инфра-Инженерия, 2021. - 472 с. 13. Чернов Е. А. Электроавтоматика металлорежущих станков. Т. 3. Основной курс (электроавтоматика миогооперационных станков): монография / Е. А. Чернов. - Москва ; Вологда : Инфра-Инженерия, 2021.-464 с.
СПИСОК ЛИТЕРАТУРЫ 371 14. Чернов Е. А. Электроавтоматика универсальных и программных : моногра­ фия / Е. А. Чернов, А. И. Костенко. - Москва ; Вологда : Инфра-Инженерия, 2022.-524 с. 15. Чернов Е. А. Программируем РЬС: учеб, пособие/ Е. А. Чернов. - Москва ; Вологда : Инфра-Инженерия, 2023. - 516 с. 16. Чернов Е. А., Титов Д. Ю. Электроавтоматика контроллеров фирмы «Си­ менс»: Учеб, пособие/ Е. А. Чернов, Д. Ю. Титов: Нижнгород. гос. техн, ун-т им Р.Е. Алексеева. - Нижний Новгород, 2024. - 385с. 17. Электрические измерения: Учеб, пособие для вузов / В. Н. Малиновский, Р. М. Демидова-Панферова, Ю. Н. Евланов и др.; Под ред. д-ра техн, наук В. Н. Малиновского. - М.: Энергоатомиздат. - 1985. - 416 с. 18. Вульвет Дж. Датчики в цифровых системах / Пер. с англ. Под ред. А. С. Яременка. М.: Энергоатомиздат, 1981. - 200 с. 19. Технические каталоги фирмы Шнайдер. 20. Технические каталоги фирмы Сименс. 21. Технические каталоги фирмы Овен. 22. Технические каталоги фирмы СКВ ИС. 23. Технические каталоги фирмы Теко. 24. Технические каталоги фирмы Сенсор. 25. Технические каталоги фирмы Вектор. 26. Технические каталоги фирмы Newall. 27. Технические каталоги фирмы Метран. 28. Технические каталоги фирмы Winsen. 29. Технические каталоги фирмы КірргіЬог.
372 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ ОГЛАВЛЕНИЕ ПРЕДИСЛОВИЕ.............................................................................................................. 3 ГЛАВА 1. ПРОГРАММИРУЕМЫЕ ЛОГИЧЕСКИЕ КОНТРОЛЛЕРЫ, НАЧАЛЬНЫЕ СВЕДЕНИЯ.......................................................................................... 7 1.1. Общие сведения, классификация РЬС........................................................... 7 1.2. Принципы функционирования контроллера............................................... 12 1.3. Описание языков программирования контроллеров.................................. 17 1.3.1. Программирование на языке мнемокода.............................................. 17 1.3.2. Программирование на языке релейно-контактных символов......... 21 1.3.3. Программирование на языке функциональных инструкций.............23 1.3.4. Программирование на языке логических уравнений......................... 24 1.3.5. Программирование на обиходном языке.............................................. 25 1.3.6. Программирование на языках типа Графсет........................................26 1.3.7. Программирование на языках высокого уровня................................. 29 1.3.8. Программирование на специализированных языках......................... 34 1.4. Варианты подключения дискретных входов и выходов........................... 35 1.5. Системы счисления и способы кодирования сигналов............................. 38 ГЛАВА 2. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ СЕРИИ ТМ221 И ТМ200 ФИРМЫ ШНАЙДЕР................................................................................... 48 2.1. Общие сведения............................................................................................... 48 2.2. Программируемые контроллеры серии ТМ221.......................................... 48 2.2.1. Подключение процессорного блока...................................................... 49 2.2.2. Подключение модулей расширения...................................................... 52 2.2.3. Конфигурация проекта............................................................................ 56 2.2.4. Набор и структура программ..................................................................58 2.2.5. Синтаксис языка электроавтоматики.................................................... 63 2.3. Программируемые контроллеры серии ТМ200.......................................... 75 2.3.1. Подключение дискретных входов......................................................... 77 2.3.2. Подключение дискретных выходов...................................................... 78 2.3.3. Подключение расширительных блоков................................................ 78 2.3.4. Создание первого проекта....................................................................... 79 2.4. Примеры программ электроавтоматики...................................................... 86 2.4.1. Управление кодовым замком..................................................................86 2.4.2. Управление светофором.......................................................................... 93 ГЛАВА 3. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ЗЯЗВІОЛЬ.......... 97 3.1. Общие сведения, технические характеристики.......................................... 97
ОГЛАВЛЕНИЕ 373 3.2. Последовательность проектирования электроавтоматики при использовании логического реле................................................... 98 3.3. Подключение интелектуального реле.......................................................... 99 3.4. Принцип работы реле, сканирование.......................................................... 100 3.5. Конфигурация и создание нового проекта в среде Zelio Soft2............. 101 3.6. Создание 1-го проекта на языке РКС.......................................................... 103 3.6.1. Набор простейшей релейной цепочки присвоения...........................103 3.6.2. Проверка разработанной программы в режиме Симулятора........ 104 3.6.3. Загрузка разработанной программы в интеллектуальное реле..... 105 3.6.4. Проверка автономной работы программы......................................... 105 3.7. Синтаксис языка программирования Ladder............................................. 105 3.7.1. Дискретные входы и выходы................................................................ 106 3.7.2. Таймеры.................................................................................................... 107 3.7.3. Счетчики.................................................................................................. 109 3.7.4. Сравнение содержимого счетчиков................................................... 110 3.7.5. Триггерные схемы................................................................................. 111 3.7.6. Аппаратные кнопки управления (Zl—Z4) и сообщения (Tx,Rx)........................................................................................... 113 3.7.7. Синтез управления манипулятором.....................................................116 3.8. Синтаксис и программирование на языке функциональных схем (FBD)........................................................................................................ 123 3.8.1. Общие сведения....................................................................................... 123 3.8.2. Примеры программирования................................................................ 127 3.9. Программирование на языке SFC............................................................... 141 3.9.1. Общие сведения о языке SFC............................................................... 141 3.9.2. Примеры рабочего последовательного графа.................................... 144 3.9.3. Пример графа с разветвлением по логическому И............................ 147 3.9.4. Пример графа с разветвлением по логическому ИЛИ..................... 148 3.9.5. Пример графа управления манипулятором станка с ЧПУ.............. 149 ГЛАВА 4. ИНТЕЛЛЕКТУАЛЬНОЕ ЛОГИЧЕСКОЕ РЕЛЕ ФИРМЫ ОВЕН........................................................................................................................... 155 4.1. Общие сведения.............................................................................................. 155 4.2. Подключение.................................................................................................. 157 4.3. Создание нового проекта.............................................................................. 158 4.4. Синтаксис языков программирования........................................................ 162 4.4.1. Язык функциональных схем (FBD)......................................................162 4.4.2. Макросы................................................................................................... 189 4.4.3. Управление АД........................................................................................ 195 4.4.4. Формирование сообщений на дисплее............................................... 198
374 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ 4.4.5. Язык ST.................................................................................................... 200 4.4.6. ST-функции............................................................................................. 205 4.4.7. ST-функциональные блоки................................................................... 208 4.5. Приложение. Процедурные вопросы......................................................... 218 ГЛАВА 5. ПРОГРАММИРУЕМЫЕ КОНТРОЛЛЕРЫ ФИРМЫ СИМЕНС...................................................................................................................... 221 5.1. Краткий обзор контроллеров фирмы Сименс........................................... 221 5.1.1. ПЛК Siemens Simatic S7-200................................................................ 221 5.1.2. ПЛК Siemens Simatic S7-300.................................................................222 5.1.3. ПЛК Siemens Simatic S7-400.................................................................224 5.1.4. ПЛК Siemens Simatic S7-1200.............................................................. 225 5.1.5. ПЛК Siemens Simatic S7-1500.............................................................. 226 5.2. Программируемы контроллер серии S7-1200........................................... 227 5.2.1. Общие сведения, схема подключения................................................ 227 5.2.2. Создание и конфигурация нового проекта......................................... 232 5.2.3. Организация связи с компьютером, загрузка и проверка программы.................................................................................... 237 5.3. Программирование на языке релейно-контактных схем LAD...............240 5.3.1. Назначение иконок создания проекта................................................. 240 5.3.2. Доступные типы данных и переменные............................................. 241 5.3.3. Доступные операнды............................................................................. 242 5.3.4. Битовые (базовые) логические инструкции (bit logic operation).... 243 5.4. Изменение типа языка программирования................................................ 255 5.5. Функциональные логические инструкции................................................ 257 5.6. Работа с аналоговыми входами...................................................................286 5.7. Программирование функциональных блоков и функций....................... 287 5.7.1. FC - Function........................................................................................... 287 5.7.2. FB - Function Block................................................................................ 291 ГЛАВА 6. Панель оператора МТ8102ІЕ..................................................................296 6.1. Назначение и общие сведения о программируемых панелях оператора................................................................................................ 296 6.2. Конфигурация проекта................................................................................. 299 6.3. Синтаксис языка проектирования панели................................................. 303 6.4. Синтез управления промышленным манипулятором............................. 312 6.5. Синтез управления пассажирским лифтом............................................... 333 СПИСОК ЛИТЕРАТУРЫ.......................................................................................... 370
Памяти Коллеги! Ушел из жизни известный ученый, доктор технических наук, профессор, член-корреспондент Академии электротехнических наук РФ, Александр Сергеевич Серебряков. А. С. Серебряков окончил электротехниче­ ский факультет Горьковского политехнического института, получил квалификацию инженераэлектромеханика и по распределению был направ­ лен на работу на Южный Урал. Принимал участие в строительстве и пуске объектов Орско-Халиловского металлургического комбината, Гайского горно-обогатительного ком­ Серебряков бината, Южноуралникелькомбината, Орского заво­ Александр Сергеевич 06.07.1939-11.12.2024 да по обработке цветных металлов, Южноуральско­ го завода тяжёлого машиностроения и др. В 1972 г. защитил кандидатскую диссертацию «Элементы агрегатов пи­ тания фильтров для очистки газов». Результаты работы были успешно внедре­ ны на заводе Актюбрентген и на Чернореченском химкомбинате (завод КоРУНД). В дальнейшем его работы легли в основу систем жизнеобеспечения космонавтов при длительном пребывании их на орбите за счёт электрической очистки воздуха внутри корабля от пыли. Вернувшись в г. Горький, был принят на должность старшего преподава­ теля кафедры «Электротехника» Всесоюзного заочного института инженеров железнодорожного транспорта (ВЗИИТ). В 1976 г. был избран на должность доцента, а в 1995 г. - на должность профессора этой же кафедры. В 2000 г. защитил докторскую диссертацию по вопросам технической ди­ агностики корпусной изоляции электрических машин и аппаратов её защиты. С 2003 года работал в Нижегородском инженерно-экономическом инсти­ туте в должности заведующего кафедрой «Физико-математические науки», а позднее руководил вновь созданной кафедрой «Электрификация и автоматиза­ ция сельскохозяйственного производства». С 2008 года он тесно связан с Нижегородским государственным инженерно-экономическим университетом, находящемся в г. Княгинино, где руко­ водил кафедрой «Электрификация и автоматизация» и работал профессором до последних дней жизни.
376 ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Серебряков Александр Сергеевич являлся руководителем научной школы технической диагностики изоляции высоковольтного электрооборудования, повышения эксплуатационной надежности устройств компенсации реактивной мощности. Опубликовал более 500 научных работ, получил более 50 авторских свидетельств и патентов РФ на изобретения, автор 15 учебников и учебных по­ собий по электроэнергетике для вузов, опубликованных в ведущих издатель­ ствах «Энергоатомиздат», «Маршрут», «Высшая школа», «Издательский дом МЭИ», «Юрайт», «Лань», «Тонкие наукоемкие технологии». Длительное время являлся членом экспертного совета по транспорту ВАК РФ, членом диссертационного совета НГТУ им. Р. Е. Алексеева, где принимал активное и плодотворное участие в аттестации научных и научно­ педагогических кадров России. За многолетнюю плодотворную работу в сфере высшего профессиональ­ ного образования, за значительные успехи в деле подготовки высококвалифици­ рованных специалистов и большой вклад в развитие научно-технического про­ гресса на железнодорожном транспорте отмечен многочисленными ведомствен­ ными и общеотраслевыми знаками, грамотами и наградами: «Лучший изобрета­ тель железнодорожного транспорта», «Почетный железнодорожник» и др. Советом по общественным наградам Российской геральдической палаты награжден высшей общественной наградой в области образования и просвеще­ ния - орденом «За вклад в просвещение». На устройство контроля качества электрической изоляции получен сер­ тификат Госстандарта России, оно занесено в Реестр измерительных средств ОАО «РЖД» и было внедрено на Горьковской, Московской, Октябрьской, Свердловской, Юго-Западной и Юго-Восточной железных дорогах. Устройства «Синхрон-1» внедрены на ИВЦ, Куйбышевской, Приволж­ ской, Западно-Казахстанской, Северной и Свердловской железных дорогах. Разработанные устройства неоднократно демонстрировались и отмеча­ лись медалями ВДНХ. Это был открытый и коммуникабельный человек, принципиальный и уважающий отличающиеся от его взглядов мнения коллег по работе, всегда го­ товый прийти на помощь, поддержать в трудную минуту и подсказать решение. Это был разносторонне образованный человек, сфера его интересов простира­ лась далеко за рамки чисто профессиональной деятельности. Поэзия и музыка, краеведение, события в стране и мире. Александр Сергеевич автор слов «Гимна Электроэнергетиков». Светлая память об Александр Сергеевиче будет долго жить в его разра­ ботках, в памяти его друзей, коллег и учеников.
^7/> Инфра-Инженерия \г І// Издательство технической литературы Издательство предлагает учебную литературу по следующим направлениям: • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • ІТ. Информатика Авиационная и ракетно-космическая техника Автоматизация Автомобильная техника Арматура. Трубопроводы Бетоны Бурение нефтяных и газовых скважин Вооружение. Радиоэлектронные системы Газовое хозяйство Геодезия, картография и маркшейдерское дело Геология. Геофизика. Геохимия Горное дело Железнодорожный транспорт Лесная промышленность Логистика Машиностроение Медицина и биоинженерия Металлургия Нефтегазовая промышленность Педагогика. Психология Пищевая промышленность Промышленная безопасность. Охрана труда Разработка и эксплуатация нефтяных и газовых месторождений Сварочное дело Словари Сети и коммуникации. Волоконно-оптическая техника Строительство Судостроение Транспортное строительство. Дороги. Мосты. Тоннели Физико-математические науки Химия. Химические технологии Экология. Безопасность жизнедеятельности Экономика. Управление. Электронная коммерция Электроника Электро- и теплоэнергетика Более 2000 выпущенных книг по 30 темам и направлениям Доставляем наши книги по всей России от Калининграда до Камчатки, а также в страны СНГ Интернет-магазин lnfra-e.ru ѴѴКаІэ Арр Телефон 8-800-250-66-01 8-911-512-48-48 Нам доверяют более 90 учебных заведений в России и за рубежом
Учебное издание Бадугин Д. А., Бычков Е. В., Дарьенков А. Б., Мельников В. Л., Титов Д. Ю., Чернов Е. А. ЭЛЕКТРОАВТОМАТИКА ПРОГРАММИРУЕМЫХ КОНТРОЛЛЕРОВ Учебное пособие В двух томах ТОМІ Под редакцией доктора технических наук Е. А. Чернова Подписано в печать 28.04.2025 Формат 60x84/16. Усл. печ. л. 22,09. Печать по требованию. Бумага офсетная. Гарнитура «Таймс». Издательство «Инфра-Инженерия» 160011, г. Вологда, ул. Козленская, д. 63 Тел.: 8 (800) 250-66-01 E-mail: booking@infra-e.ru https://infra-e.ru Издательство приглашает к сотрудничеству авторов научно-технической литературы