Описание_применения. Серия Авторское приложение Приложение гиперсистема
Скачать 34.89 Mb.
|
-Комплексное моделированиеОдной из ключевых задач в решении проблемы логической отработки блока управления является моделирование и проверка процессов его функционирования на стадии проектирования, до начала программной или аппаратной реализации. Если в проекте УУ допущены и не выявлены ошибки, дальнейшая его реализация может оказаться крайне затруднительной. Комплексное моделирование и анализ в среде DELPHI структурных и функциональных (логических) зависимостей УУ (включая взаимодействие с внешней средой), представленных в ТЗ в виде блок-схем алгоритмов и логических формул, обеспечивает отработку логики функционирования в штатных и нештатных режимах работы перед выполнением последующих этапов разработки. Отработка штатных режимов функционирования УУ в основном заключается в подаче на модель входных последовательностей команд и входов и анализе получаемых выходных сигналов. Для отработки нештатных режимов (анализ по принципу «что – если?»), кроме подачи на модель входных последовательностей с нештатным порядком поступления команд и входов, имеется возможность вносить изменения в алгоритмы и логические формулы для имитации всевозможных нештатных ситуаций в структуре УУ. Главное окно программы Комплексное логическое моделирование имеет вид: -Краткое описание интерфейса:
-Пакетное моделированиеРассмотрим примеры моделирования. Пример 1. Моделирование набора команд и входов. На шаге 57 Zцпм2 работает «самоубийственно». Невероятно, но в реальном ТЗ в функции Zцпм2 вместо запоминающего элемента (самоблока) Zцпм2 записано его отрицание ^ Zцпм2! Исправим эту ошибку, так элементарно выявленную моделированием в приложении «Гиперсистема»! Пример 2. Моделирование набора команд для запуска алгоритмов и таймеров. -АнализПодлежащие анализу результаты моделирования предоставляются пользователю в следующих формах:
Списки Выходы для команд и Выходы для входов подробно описаны выше. Функциональная схемаФункциональная схема (ФС) в приложении «Гиперсистема» представляется в четырех формах:
Вначале ФС в процессе моделирования записывается в список, а затем копируется в текстовый файл. Далее этот текстовый файл загружается в компонент Дерево и в окно приложения Граф управления. Прямая запись ФС в текстовый файл невозможна по следующей причине. В приложении «Гиперсистема» наряду с обычными событиями обрабатываются события срабатывания таймеров, которые генерируются API-функцией TIMER с самым низким приоритетом, в результате чего возникают конфликты при записи ФС в текстовый файл. Список ФСДерево ФСГраф управления ФСРассмотрим примеры использования команды Найти узел. Моделирование и Отображение в MS Visio.Автоматизированное построение списков компонентов, соединений и индексов соединений в базе данных ТЗ Перечисленные списки формируются в результате обработки данных ТЗ, представленных в Предметных конструкциях модели. В результате выполнения макрокоманды Формирование_структурной_схемы_Visio (VBA Excel) формируются списки: Список компонентов (фрагмент) 426 Входные_контакты Хку00 1 114 Входные_контакты Хку01 1 113 Входные_контакты Хку02 1 112 Входные_контакты Хку03 1 111 Список соединений (фрагмент) 732 Zвд5 Хку00 Zвд5 Хку01 СДСДОП_00 Хку01 СДСДОП_01 Хку01 СДСДОП_02 Хку01 СДСДОП_03 Хку01 СДСДОП_04 Хку01 СДСДОП_05 Хку01 СДСДОП_06 Хку01 СДСДОП_07 Хку01 СДСДОП_08 Список индексов соединений (фрагмент) Zвд5 Хку00 427 Zвд5 Хку01 428 СДСДОП_00 Хку01 429 СДСДОП_01 Хку01 430 СДСДОП_02 Хку01 431 СДСДОП_03 Хку01 432 СДСДОП_04 Хку01 433 СДСДОП_05 Хку01 434 СДСДОП_06 Хку01 435 СДСДОП_07 Хку01 436 СДСДОП_08 Хку01 437 Визуализация списков и построение Структурной схемы ТЗ в MS Visio Построение Структурной схемы ТЗ выполняется командой Создание структурной схемы ТЗ В результате выполнения макрокоманды Формирование_структурной_схемы_Visio (VBA Visio) по ранее сформированным спискам строится Структурная схема ТЗ В этой Структурной схеме ТЗ отображены все компоненты и все соединения между ними. Соединения являются ориентированными и задают направления передачи сигналов между компонентами. Структурная схемы базы данных в виде документа MS Visio используется для наглядного представления логических и функциональных связей между компонентами на всех этапах отработки ТЗ. Структурная схема MS Visio строится в виде совокупностей столбцов компонентов в порядке их формирования на страницах Базы данных. Для изменения порядка расположения столбцов достаточно изменить расположение страниц базы данных. Внутри столбца компоненты располагаются так же в соответствии с базой данных. В структурной схеме MS Visio отображаются так же вся информация базы данных в виде таблицы внешних данных. Это отображение строится автоматически и обеспечивает двухстороннюю связь между визуальным представлением компонентов и их параметрами. При структурном анализе ТЗ отображаются только соединения выбранного пользователем компонента. При функциональном анализе ТЗ отображаются только соединения между компонентами, изменившими свое состояние на заданном шаге моделирования. Преобразование Структурной схемы ТЗ в формат DXF. Выполняется стандартными средствами MS Visio. Моделирование и Отображение в ТЗ.Подача команд из документа ТЗ (Word) обеспечивается гиперссылками, которые создаются для всех команд и входов. По гиперссылке запустится приложение (консольное), которое запрашивает вид команды (подать - снять), записывает в ПВП выбранную команду и запускает приложение Гиперсистема. Процедура Отображение переключений в ТЗ (создается в модуле Управление_моделированием) после завершения моделирования должна:
Логическое моделирование аварийных режимов.Аварийные (нештатные) ситуации в работе систем логического управления (СЛУ) могут возникать по следующим основным причинам:
В результате отказов нарушается структура и функционирование СЛУ, что также может приводить к аварийным ситуациям в работе управляемого объекта. В приложении «Гиперсистема» неправильные ПВП, а также отказы элементов СЛУ можно обнаружить путем моделирования (анализ по принципу “что – если?”). Неправильные ПВП выявляются следующим образом:
Для выявления неправильных ПВП не требуется вносить изменения в модель СЛУ. Для моделирования аварийных ситуаций из-за отказов элементов СЛУ требуется вносить изменения в модель и выполнять ее повторную компиляцию. Рассмотрим процесс моделирования с целью выявления неправильных ПВП. Выполняем команду Комплексное моделирование. Выбираем и моделируем ПВП Запуск алгоритмов. Сохраняем результаты моделирования в Графе управления Запуск алгоритмов. Изменяем ПВП Запуск алгоритмов для имитации нарушений в последовательности подаваемых команд. Для этой цели используем команду Добавление ПВП - запись выбранных команд или входов в файл ПВП (папка Предметные конструкции). При этом вначале добавляются все выбранные команды (в порядке возрастания номеров), а затем все выбранные входы (в порядке возрастания номеров), после чего сделанный выбор в окнах Выбор команд и Выбор входов сбрасывается. Для продолжения добавления ПВП делается новый выбор в указанных окнах и повторяется команда Добавление ПВП. Реальная ПВП обычно содержит несколько внешних команд (процессов), после каждой из которых записываются внутренние входы (шаги процесса), порождаемые командой. Создание такой ПВП заключается в многократном использовании команды Добавление ПВП:
Завершаем и повторно выполняем команду Комплексное моделирование. Выполняем Сброс ПВП. Выполняем выбор команд, изменяя ранее промоделированную ПВП Запуск алгоритмов. Так как повторно выбрать команду (например 417) для имитации ее повторной подачи нельзя, то выполняем команду Добавление ПВП, после чего продолжаем выбор команд. Моделируем созданную ПВП. Сохраняем результаты моделирования в Графе управления Запуск алгоритмов_1. Открываем и проводим совместный анализ полученных Графов управления. При необходимости вносим исправления в ТЗ СЛУ и выполняем повторное моделирование. В данном примере реализация процесса 428 на ПВП Запуск алгоритмов_1 отличается от его реализации на ПВП Запуск алгоритмов. Рассмотрим его более подробно. Отличия в реализации процесса 428 существенные и требуют выявления и устранения причин.
Речевое оповещениеРечевое оповещение является важным элементом интерфейса приложения «Гиперсистема» и позволяет акцентировать внимание пользователя на наиболее важных событиях и ситуациях в процессе моделирования. Обеспечивается средствами специальной библиотеки SpeechLib_TLB, подключаемой к среде DELPHI, с учетом специфики воспроизведения смешанных русско-латинских текстов. Необходимость речевого оповещения (обычно это подача входных сигналов, переключения внутренних элементов и выдача выходных сигналов) задается установкой в 1 специального параметра в программных конструкциях модели. Первым делом, чтобы воспользоваться SAPI нам необходимо импортировать в Delphi библиотеку типов. Для этого открываем Delphi IDE, выбираем в главном меню «Component — Import Component» в открывшемся окне выбираем «Import Type Library» и жмем «Next»: Теперь находим в списке «Microsoft Speech Object Library», выбираем её, жмем «Next» В новом окне ставим галку напротив «Generate Component Wrappers» и жмем «Finish»: Теперь у нас есть заголовочный файл для работы с SAPI 5.4. и можно приступать к работе. Библиотека подключается в разделе uses: uses Windows, …, SpeechLib_TLB, … Для того, чтобы перевести текст в голос потребуется всего один интерфейс — ISpVoice: begin pvoice:=TSpVoice.Create(nil); Voices:=pvoice.GetVoices('Name=ELAN TTS Russian (Nicolai 16Khz)',''); pvoice.Voice:=Voices.Item(0); pvoice.Speak(Текст, SVSFlagsAsync); pvoice.WaitUntilDone(infinite); end; где 'Name=ELAN TTS Russian (Nicolai 16Khz)' – название голосового движка. Установка голосового движка Для работы речевого оповещения необходим голосовой движок. Сначала нужно установить SAPI51 - это библиотека для работы речевыми API в ОС Widows. Далее необходимо установить Acapela-Elan-TTS-SpeechCube-5.1-RUS-Nicolai_MmE255_ - это непосредственно голосовой движок, который и выполняет функцию речевого оповещения. Поле завершения установки необходимо перейти в папку установки движка (по-умолчанию C:\Program Files\Elan) и зарегистрировать COM-сервера (DLL библиотеки) для того чтобы к движку можно было обращаться из других программ. Для регистрации COM серверов необходимо в командной строке ОС Windows команду regsvr32 и передать ей в качестве параметра путь к нужным DLL библиотекам: C:\Users\smw>regsvr32 "C:\Program Files\Elan\ettsengine.dll" C:\Users\smw>regsvr32 "C:\Program Files\Elan\ettsengines5.dll" ПРИМЕЧАНИЕ: Если при попытке выполнить данные команды вы получаете какие-либо ошибки – запустить командную строку от имени Администратора. Теперь можно пользоваться. -Моделирование с продолжениемПосле завершения анализа результатов моделирования выбранных команд и входов можно продолжить выбор других команд и входов и продолжить их моделирование и анализ. Если перед продолжением выбора команд и входов не выполнять Сброс ПВП, то ПВП будет наращиваться и при повторном выполнении команды Пакетное моделирование будет выполняться с начала. Так реализуется очень важный режим Моделирование с продолжением. -Моделирования с началаДля выполнения моделирования с начала (с исходного состояния) необходимо завершить моделирование, закрыв окно программы Комплексное логическое моделирование, и снова запустить ее из главного окна приложения «Гиперсистема». Установка модели в требуемое исходное состояние обычно выполняется созданной для этой цели ПВП и (или) специальным алгоритмом управления. -Внесение изменений в документ ТЗЕсли в процессе моделирования и анализа выявлены ошибки в ТЗ, то необходимо внести изменения в этот документ в установленном порядке (обычно строго регламентирован). |