Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Реализация функциональных карт




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

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

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

Как в любом сложном описании системы, диаграмма или программа должны быть разумно структурированы. Реализация функциональных карт должна позволять деление программы на небольшие части. Например, каждый станок сложной технологической линии иметь свой собственный граф (номограмму), а затем графы нескольких станков объединяться. Такое иерархическое структурирование чрезвычайно важно при программировании больших и сложных систем (глава 12).

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

 

7.4.3. Применение функциональных карт в промышленном управлении

В этом разделе рассмотрено применение функциональных карт для npcrpav мирования задачи управления порядком операций на участке гибкой проИЗВо ственной линии. Пусть участок состоит из трех станков с числовым программны управлением, например сверлильного, токарного и фрезерного, робота для псда материалов, а также промежуточного склада — буфера (рис. 7.28).

Рис. 7.28. Структура производственного участка

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

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

Синхронизация станков производится с помощью графа "Диспетчер", структу ра которого показана на рис. 7.29. Диспетчер взаимодействует с каждым стан ком и роботом и определяет, когда станок может начинать работу и когда робот до переместить деталь. Функции диспетчера похожи на функции планировщика в стеме реального времени (глава 10), хотя в действительности это разные вещи. Диспетчер производственного участка должен наиболее эффективно поде между станками общий ресурс — в данном случае робота, — при этом он должен гарантировать отсутствие блокировок, связанных с этим ресурсом. Если, например, робот взял обработанную деталь со станка и ему некуда ее положить, то работа участка остановится. Следовательно, диспетчер должен сравнивать запросы, поступающие от станков, с доступными ресурсами – занятостью робота и объемом буфера.

 

 


Рис 7.29. Коммуникационная структура производственного участка Граф "Диспетчер" производственного участка содержит несколько параллельных ветБей - по одной на каждый станок, для робота и для буфера. Поскольку все устрой­ства работают одновременно, диспетчер должен управлять ими параллельно, обме­ниваясь синхронизирующими сигналами типа "Начать" и "Готов". Когда станок по­лучает от диспетчера команду начать работу, он должен выполнить задачу, описанную в функциональной карте. Когда станок заканчивает исполнение, он по­сылает диспетчеру сигнал "Готов". На рис. 7.29 показано, что ни один станок не взаимодействует с роботом напря­мую. Вместо этого все коммуникационные сигналы передаются через диспетчера. Сигналы служат условиями перехода по каждой ветви функциональной карты. Та­кая структура графа позволяет добавить новый станок на участок, не меняя програм­му для других станков. Должен быть модифицирован только алгоритм управления роботом, в который добавляются операции для обслуживания нового станка. Хорошая реализация функциональных карт поддерживает иерархическое струк­турирование задачи управления. Работа производственного участка состоит из опе­рации по управлению отдельными станками. Эти операции, в свою очередь, можно разделить на более мелкие части. Порядок управления каждым станком определяется отдельной функциональной картой. Управляющая последовательность для сверлильного станка показана на Рис. 7.30. Условие «начать сверление»представляет собой сигнал от диспетчера. Если станок не подтвердил сигнал в течение времени tim_1,то возникает аварийная ситуация и происходит переход к альтернативной параллельной ветви. Аналогично, если сверло не достигло заготовки за определенное время, то возникает другая аварийная ситуация. Карта для сверлильного станка может показаться слишком длинной, но она содержит необходимые проверки допустимости очередного шага и альтернативные пути как следствие аварийных ситуаций. После завершения станком обработки детали переменная "Сверлильный станок готов"принимает значение "истина". Эта переменная является логическим условием перехода в функциональной карте диспетчера. Диспетчер теперь может послать роботу сигнал взять деталь со сверлильного станка. Робот выполняет операции, которые описываются в функциональной карте как альтернативные параллельные ветви, например: - взять деталь со станка; - поместить деталь в буфер; - взять деталь из буфера и поместить ее на станок.  

 

Рис. 7.30. Начало функциональной карты, описывающей последовательность опера­ций сверлильного станка

 

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

 

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

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

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

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

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

 


Поделиться:

Дата добавления: 2015-04-05; просмотров: 150; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты