Описание_применения. Серия Авторское приложение Приложение гиперсистема
Скачать 34.89 Mb.
|
Серия «Авторское приложение» Приложение «ГИПЕРСИСТЕМА» (макет-приложение) Описание применения Автор Акунович С.И. Минск 2013г. ОглавлениеВведение 2 Назначение 10 Ограничения 11 Условия применения 11 Структура приложения «Гиперсистема» 11 Работа с приложением «Гиперсистема» 12 -Комплексное логическое моделирование 13 -Ввод данных модели 14 -Запись блок-схем на языке Геракл 15 Краткое содержательное описание языка Геракл 15 Металингвистическое описание языка Геракл 16 Структурные диаграммы языка Геракл 17 Пример записи алгоритма на языке Геракл 17 -Преобразование блок-схем на язык Геракл 18 -Ввод табличных данных ТЗ 22 Верификация Логических функций 23 Логические функции 33 Команды управления 37 Сигналы срабатывания таймеров 42 Внешние соединители 43 Запуск алгоритмов 76 -Синтез_модели 82 -Синтез программ для выполнения алгоритмов управления 82 -Синтез программ для вычисления логических функций 84 -Синтез программ для работы с таймерами 85 -Синтез программы подачи команд 87 -Синтез программы подачи входов 88 -Отработка и компиляция модели 89 -Конструкции-шаблоны приложения «Гиперсистема» 92 -Связи конструкций-шаблонов с программными конструкциями 96 -Отработка предметных конструкций модели 98 Отработка конструкции Логические_функции 99 Отработка конструкции Внешние_соединители 106 Отработка конструкции Обработчики_событий_таймеров 109 Отработка конструкции Запуск_алгоритмов. 111 Временные изменения программных конструкций модели 112 Внесение изменений в документ ТЗ 113 -Комплексное моделирование 113 -Пакетное моделирование 117 -Анализ 119 Функциональная схема 119 Список ФС 119 Дерево ФС 120 Граф управления ФС 120 Моделирование и Отображение в MS Visio. 125 Моделирование и Отображение в ТЗ. 132 Логическое моделирование аварийных режимов. 133 Речевое оповещение 150 -Моделирование с продолжением 153 -Моделирования с начала 153 -Внесение изменений в документ ТЗ 154 -Визуальное логическое моделирование 154 -Представление алгоритмов на SFC 173 Язык последовательных функциональных схем - SFC 173 Реализация SFC в IsaGraf 6 177 Программа Gerakl To SFC Converter 184 Принцип работы программы 185 Подготовка исходных данных 188 Работа с программой 190 Визуальное моделирование алгоритмов управления 195 -Представление функций на LD 199 Язык релейных диаграмм - LD 199 Реализация LD в IsaGraf 6 200 Программа Функции_LD 207 Принцип работы программы 207 Подготовка исходных данных 212 Работа с программой 214 Визуальное моделирование логических функций 220 Подача команд на диаграмме LD 223 Использование списков наблюдения 227 -Представление функций на FBD 234 Язык функциональных блоков - FBD 236 Реализация FBD в IsaGraf 6 237 Программирование функциональных блоков 263 Визуальное моделирование функциональных блоков 267 Подача входов в FBD – программе 268 Подача входов в окне наблюдения 269 Подача входов c виртуальной панели ввода 271 -Комплексное визуальное моделирование 272 Списки наблюдения 281 Браузер перекрестных ссылок (на примере DEMO_ENERGY) 297 Использование браузера перекрестных ссылок для Структурного анализа СЛУ (на примере БУ БКУ) 307 Использование браузера перекрестных ссылок для Моделирования (НА ПРИМЕРЕ БУ БКУ) 311 Структурный анализ СЛУ в среде ISaGraf (НА ПРИМЕРЕ DEMO_ENERGY). 317 Структурный анализ СЛУ в среде ISaGraf (НА ПРИМЕРЕ DEMO_Usinage). 320 -Макетное программирование МК 328 -Работа с программой PICE-196 328 -Генерация С-кода 331 -Экспорт C_кода в Project_96 332 ВведениеПри создании ответственных технологических объектов одной из важнейших составляющих процесса их проектирования является комплексная автоматизация технических средств. Различная природа физических процессов, протекающих в объектах, сложный характер взаимодействия между ними и управляющими системами обуславливает трудности алгоритмизации и программирования задач управления. Вопросы унификации аппаратного обеспечения в настоящее время решаются достаточно успешно на основе микропроцессорных и микроконтроллерных комплектов, программируемых логических контроллеров и промышленных компьютеров. Однако при формировании общих подходов к созданию алгоритмического и программного обеспечения возникают трудности, связанные с необходимостью достижения их наглядности, структурированности, наблюдаемости и управляемости. Эти трудности усугубляются тем, что при создании различных систем управления обычно используются и различные технологии алгоритмизации и программирования. Спектр таких технологий широк: от технологий на основе алгоритмических языков высокого уровня для промышленных компьютеров до технологий на основе специализированных языков для программируемых логических контроллеров. Очевидно, что алгоритмизация и программирование систем управления техническими средствами, должны основываться на единой методологии, позволяющей строить, читать, проверять, верифицировать алгоритмы и программы. До настоящего времени алгоритмы логического (основанные на истинности и ложности) управления задаются в словесной форме, и поэтому они могут быть противоречивыми и неполными. Это вносит дополнительные трудности в процесс алгоритмизации и программирования управляющих устройств, так как каждый участник разработки понимает в силу неоднозначности словесного описания алгоритмы логического управления по-своему. По этой причине даже самый "точный" словесный алгоритм может удовлетворять каждого из участников разработки в отдельности, но, в конечном счете, являться некорректным. Ситуация усугубляется при создании систем управления, ядро которых представляет собой систему взаимосвязанных управляющих устройств. При этом совокупность таких устройств (вследствие большой размерности) становится плохо обозримой, наблюдаемой и управляемой. Можно выделить два уровня языков – языки алгоритмизации или спецификации (языки общения) и языки программирования (языки реализации). Языки этих классов могут как совпадать (при наличии транслятора с языка алгоритмизации), так и различаться между собой. Так, например, при аппаратной реализации систем в базисе релейно-контактных схем в качестве языка алгоритмизации применялись функциональные схемы, а в качестве языка реализации – собственно релейно-контактные схемы. В настоящее время в качестве языков алгоритмизации в системах логического управления наиболее часто используются функциональные схемы и схемы алгоритмов. При этом в качестве языков программирования в зависимости от типа управляющего вычислительного устройства применяются три разновидности языков: алгоритмические языки высокого уровня (например, СИ, «Паскаль», ПЛ/М, «Форт»), алгоритмические языки низкого уровня (языки инструкций, ассемблеры) и специализированные языки стандарта IEC 61131-3. На современном этапе в качестве ядра любой системы промышленной автоматизации используется программируемый логический контроллер (ПЛК), к которому со стороны объекта автоматизации подключаются датчики и исполнительные органы. Через датчики в ПЛК поступает информация о текущем состоянии объекта, а через исполнительные органы ПЛК может изменять состояние управляемого объекта. Специфика автоматизации предполагает наличие собственно системы управления, включающей датчики обратной связи и органы управления, и внешней (по отношению к системе управления) среды. Реакции системы управления определяются алгоритмом управления в зависимости от событий на объекте управления, информация о которых поступает через датчики обратной связи. Для цифровых систем это обстоятельство обусловливает цикличность управляющего алгоритма по схеме: считывание состояния входных сигналов через датчики – их обработка и формирование выходных сигналов – выдача выходных сигналов на исполнительные органы. Алгоритм управления предполагает синхронизацию своего исполнения с физическими процессами во внешней среде, что обусловливает необходимость развитой службы времени и активную работу с временными объектами: задержками, паузами, таймаутами. Далее рассмотрим некоторую детализацию изложенного в приложении «Гиперсистема». Логическое управление. Современное производство становится все более дискретным: технологический процесс расчленяется на последовательность разнообразных операций, выполняемых комплексом различных технических устройств и систем. Это взаимодействие организуется с помощью многочисленных датчиков, расположенных в устройствах и сигнализирующих об их состояниях, а также, возможно, о состоянии внешней среды, в которой функционирует система. Сигналы с датчиков поступают на вход системы управления, которая должна анализировать текущую ситуацию и вырабатывать адекватную реакцию, посылая на компоненты комплекса воздействия, непосредственно управляющие исполнительными механизмами: переключателями, клапанами, двигателями, насосами, электромоторами. Как сигналы с датчиков, так и управляющие воздействия дискретны, а чаще всего двоичные (например, включено-выключено), т.е. управление становится логическим, и в этом случае системы управления называются системами логического управления. Системы логического управления находят широкое применение не только на производстве, но и на транспорте, в атомной энергетике, в сетях связи, в информационно-справочных системах, ракетно-космической отрасли, в компьютерах и бытовой аппаратуре и т.д. Проектирование систем логического управления представляет собой сложную проблему, решаемую с использованием богатого арсенала современной дискретной математики, в первую очередь алгебры логики. Проектирование систем логического управления принято разделять на три крупных этапа. На первом этапе определяется, как должны взаимодействовать компоненты технического комплекса, реализующего заданную технологию. Другими словами, разрабатывается алгоритм взаимодействия этих компонент, алгоритм управления ими. Его выполнение будет затем возложено на систему логического управления. Это - этап алгоритмического проектирования. На втором этапе проектируется логическая структура системы управления, в результате чего определяется ее состав, перечисляются элементы с указанием их функций и связи между ними. Технические средства, на которых выполняется затем система управления, могут оказаться различными. Так, в качестве элементов логической структуры могут использоваться и простейшие логические элементы, реализующие элементарные булевы функции типа И, ИЛИ, НЕ, и существенно более сложные изделия микроэлектроники типа программируемых логических матриц и микропроцессоров, и даже целые вычислительные машины, специализированные или универсальные. При этом синтез схем из логических элементов может заменяться разработкой программ, выполняемых затем на микропроцессоре или на ЭВМ и реализующих аналогичные функции. Второй этап называется этапом логического проектирования. Третий этап - заключительный. На нем учитываются свойства реальных технических элементов, производится их компоновка и размещение по конструктивным единицам (ячейкам, платам, блокам и т.п.), решаются задачи трассировки соединяющих элементы электрических цепей и выполняется масса другой работы, необходимой при технической реализации логического проекта и при подготовке к производству реальных систем логического управления. Это - этап технического проектирования. Технической базой современных систем логического управления служит микроэлектроника. Она позволяет создавать мощные вычислительные комплексы, эффективные сети связи, сложные системы управления производственными процессами, содержащие тысячи и миллионы простейших логических элементов (или команд в управляющих программах). В проектных организациях автоматизацией охвачен, как правило, лишь этап технического проектирования и, в гораздо меньшей степени, этап логического проектирования. Здесь автоматизация ограничивается моделированием на ЭВМ уже заданных логических структур и полуавтоматической разработкой проверяющих и диагностических тестов для них. Между тем специфика микроэлектронной технологии такова, что малейшая ошибка на начальных этапах проектирования, если только она не будет своевременно обнаружена и исправлена, может привести к необходимости полного повторения всего цикла проектирования. Повысить надежность проектов до требуемого уровня можно лишь при надлежащей автоматизации всех этапов проектирования. А автоматизация, как известно, должна опираться на формализацию: разработку формальных моделей объектов проектирования и формальных методов проектирования. К настоящему времени элементный базис существенно изменился: роль элементов играют большие и сверхбольшие интегральные схемы, выполненные на одном кристалле и составленные из тысяч и миллионов элементарных вентильных схем. Яркими представителями сверхбольших интегральных схем служат микропроцессоры и программируемые логические интегральные схемы, хорошо дополняющие друг друга. Микропроцессор подобен универсальной вычислительной машине (без терминальных устройств) и может решать практически любую задачу, если только для нее составлена программа, хотя и не всегда достаточно быстро. Изменился и класс проектируемых дискретных устройств. Однопроцессорные ЭВМ вытесняются многопроцессорными, все большее внимание уделяется дискретным системам, управляющим взаимодействующими производственными процессами, переплетающимися в пространстве и времени, Реализуемые при этом алгоритмы оказываются параллельными, в них предусматривается одновременное выполнение нескольких операций. Алгоритмы логического управления. Приступая к проектированию системы логического управления, нужно прежде всего выяснить, что должна делать система, задать условия ее работы, определить ее функции, выразив их в некотором формальном языке, не допускающем неоднозначности толкования. Лучше всего это можно сделать, описав алгоритм решения поставленной перед системой задачи, т.е. алгоритм управления. Моделирование любой управляющей системы всегда начинается с алгоритмического описания процесса управления. Лишь после четкого описания алгоритма, его проверки, отладки и приведения к надлежащему виду можно перейти к конструированию технической системы, реализующей этот алгоритм. Если в описании алгоритма допущены ошибки, дальнейшая его реализация может оказаться бессмысленной. Отсюда становится ясной важность качественной разработки и отладки алгоритма управления, который подлежит реализации на проектируемом устройстве. Алгоритмы управления, в том числе и логического, принципиально отличаются от вычислительных. Они описывают способ общения гипотетической управляющей системы с некоторой средой, или объектом управления, такой способ, при котором ведется постоянный обмен информацией между системой и объектом управления. При этом теряет смысл понятие исходных данных, поскольку обрабатываемые алгоритмом управления данные могут поступать на его вход нескончаемым потоком. Целью алгоритма является уже не получение некоторого конкретного искомого результата в концентрированной форме, а выдача ответной последовательности управляющих сигналов, регулирующих поведение объекта управления. Объект исследования. Программные средства приложения «Гиперсистема» обеспечивают выполнение следующих этапов разработки УУ:
Будем рассматривать эти этапы на примере блока (прибора) логического управления (БУ) космического аппарата (КА). БУ является сложной системой, поведение которой на уровне технического задания (ТЗ) описывается в виде блок-схем алгоритмов (около 500) и логических функций (около 5000). При этом общее количество переменных превышает 20000. Модули блока управления взаимодействуют с бортовым вычислительным комплексом, наземным комплексом управления, исполнительными механизмами КА и бортовой аппаратурой через внешние соединители (разъемы) (около 50), при этом число входов и выходов блока управления около 2000. Наряду с логическим используется и временное управление с использованием десятков программных таймеров. Одной из ключевых задач в решении проблемы логической отработки блока управления является моделирование и проверка процессов его функционирования на стадии проектирования, до начала программной или аппаратной реализации. Если в проекте блока управления допущены и не выявлены ошибки, дальнейшая его реализация может оказаться крайне затруднительной. Процесс моделирования начинается с разработки (конструирования) модели. Композиционное конструирование модели УУ. Основными посылками разработанного в приложении «Гиперсистема» способа композиционного конструирования модели являются:
Фундаментальной особенностью композиционной модели БУ в приложении «Гиперсистема» является то, что после операций композиции предметных и программных конструкций она является программой DELPHI, при выполнении которой не требуется ввода никаких исходных данных. Традиционные задачи создания структур исходных данных, интерфейсов ввода, синтаксического и семантического контроля, редактирования и хранения отсутствуют. Блок-схемы алгоритмов. В техническом задании на проектирование блоков управления алгоритмы записываются на языке блок-схем. Схемы и алгоритмы, разработанные с помощью этого языка, просты и понятны, благодаря чему разработку многих компьютерных программ для космических объектов на практике ведут не программисты, а обычные предметные специалисты по принципу «программирование без программистов». При применении блок-схем алгоритмов в большинстве случаев переход от алгоритмизации к программированию для сложных задач логического управления представляет большую проблему, так как эти блок-схемы являются лишь некоторой «картинкой», называемой алгоритмом. В этой ситуации либо разработчик должен сам программировать, либо программист должен знать все особенности процесса управления, либо они вместе должны устранять ошибки проектирования программ при испытаниях. В настоящее время имеется и широко используется ввод блок-схем алгоритмов в приложении MS VISIO, который и рекомендуется использовать в техническом задании на проектирование блоков управления для ввода блок-схем алгоритмов. В приложении «Гиперсистема» разработаны и используются два способа ввода блок-схем алгоритмов:
Логические функции. Аналитической формой представления булевых функций являются булевы формулы и системы булевых формул, которые позволяют описывать как комбинационные схемы, так и автоматы с памятью большой размерности. Кроме этого в логических формулах могут использоваться импульсные сигналы, передние и задние фронты, таймеры, счетчики, компараторы, что потребовало разработки дополнительных способов и средств для построения адекватной программной модели. Системы булевых формул могут быть изоморфно реализованы лестничными (LD) или функциональными схемами (FBD). Иногда используются также и другие аналитические формы представления булевых функций, например пороговые, спектральные или арифметические. Основным ограничением на применение систем булевых формул для автоматов с памятью является их низкая наглядность. Функции памяти (триггеры) представляют собой переменные, хранящиеся в памяти, и их следующее значение зависит от предыдущего значения. Поэтому их значение определяется с помощью двух блоков: блока SET (включить) и блока RESET (выключить). Если сигнал доходит до блока SET, то переменная принимает значение TRUE. Если сигнал доходит до блока RESET, то переменная принимает значение FALSE. А если же сигнал доходит и до SET и до RESET, то переменная принимает значение FALSE. Это происходит потому, что блок RESET логически находится после блока SET, соответственно он выполняется последним (преобладание RESET, RS-триггер). Фронты сигналов. Обработка фронтов сигналов выходит за пределы алгебры логики и реализуется следующим образом:
Таймеры. Таймеры реализуются с помощью компонентов. К таймеру могут применяться операции, реализуемые процедурами DELPHI:
Вызов процедур таймеров записывается в блок-схемах алгоритмов. Виртуальные временные интервалы в вызове процедур таймеров записываются в преобразованном виде на базе отношений «раньше – позже». Для этого реальные интервалы ТЗ сортируются в возрастающем порядке, полученные номера умножаются на 100 и становятся виртуальными интервалами. Минимальный интервал составляет 100 миллисекунд (рекомендуется не менее 50). Шины питания. В приложении «Гиперсистема» все имена входов, внутренних элементов, выходов и соответствующие им функции должны быть уникальными. Если в ТЗ используется разветвление шин питания (питание подается на несколько разных контактов разных внешних соединителей), то соответствующие функции предметной конструкции объединяются при синтезе программной конструкции. Моделирование алгоритмов управления. Одной из ключевых задач в решении проблемы логической отработки блока управления является моделирование и проверка процессов его функционирования на стадии проектирования, до начала программной или аппаратной реализации. Если в проекте УУ допущены и не выявлены ошибки, дальнейшая его реализация может оказаться крайне затруднительной. Комплексное моделирование и анализ в среде DELPHI структурных и функциональных (логических) зависимостей УУ (включая взаимодействие с внешней средой), представленных в ТЗ в виде блок-схем алгоритмов и логических формул, обеспечивает отработку логики функционирования в штатных и нештатных режимах работы перед выполнением последующих этапов разработки. Отработка штатных режимов функционирования УУ в основном заключается в подаче на модель входных последовательностей команд и входов и анализе получаемых выходных сигналов. Для отработки нештатных режимов (анализ по принципу «что – если?»), кроме подачи на модель входных последовательностей с нештатным порядком поступления команд и входов, имеется возможность вносить изменения в алгоритмы и логические формулы для имитации всевозможных нештатных ситуаций в структуре УУ. Итерационное моделирование логических функций. В приложении «Гиперсистема»реализован итерационный метод вычисления логических функций. По сравнению с событийным моделированием этот метод существенно проще в реализации, однако дает менее детальную информацию о причинно-следственных отношениях и требует более значительных временных затрат, что не существенно для современных ПК. Основными принципами построения и использования приложения «Гиперсистема» являются:
Основными задачами приложения «Гиперсистема» являются:
|