Главная страница
Навигация по странице:

  • Выбор команд и Выбор входов

  • Пакетная ВП

  • Формирование_структурной_схемы_Visio (VBA Excel)

  • ISpVoice

  • Установка голосового движка

  • Моделирование с продолжением

  • Описание_применения. Серия Авторское приложение Приложение гиперсистема


    Скачать 34.89 Mb.
    НазваниеСерия Авторское приложение Приложение гиперсистема
    АнкорОписание_применения.docx
    Дата21.04.2018
    Размер34.89 Mb.
    Формат файлаdocx
    Имя файлаОписание_применения.docx
    ТипДокументы
    #18329
    страница19 из 23
    1   ...   15   16   17   18   19   20   21   22   23




    -Комплексное моделирование


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

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

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

    Для отработки нештатных режимов (анализ по принципу «что – если?»), кроме подачи на модель входных последовательностей с нештатным порядком поступления команд и входов, имеется возможность вносить изменения в алгоритмы и логические формулы для имитации всевозможных нештатных ситуаций в структуре УУ.

    Главное окно программы Комплексное логическое моделирование имеет вид:

    -


    Краткое описание интерфейса:

    • Инициализация – установка начальных значений перед моделированием;

    • Загрузка команд и входов – все команды и входы модели загружаются для последующего выбора пользователем в соответствующие окна выбора;





    • Пакетное моделирование – запуск процесса моделирования после выбора режима и создания пакетной входной последовательности (ПВП) (на примере подачи и снятия команды H6235);





    • Автономный режим – выполнение моделирования только логических формул без запуска алгоритмов управления;

    • Комплексный режим – выполнение моделирования логических формул и алгоритмов управления;

    • Анализ – детальное представление результатов моделирования;

    • Сброс ПВП – очистка ПВП перед выбором новой;

    • Добавление ПВП - запись выбранных команд или входов в файл ПВП (папка Предметные конструкции). При этом вначале добавляются все выбранные команды (в порядке возрастания номеров), а затем все выбранные входы (в порядке возрастания номеров), после чего сделанный выбор в окнах Выбор команд и Выбор входов сбрасывается. Для продолжения добавления ПВП делается новый выбор в указанных окнах и повторяется команда Добавление ПВП. Реальная ПВП обычно содержит несколько внешних команд (процессов), после каждой из которых записываются внутренние входы (шаги процесса), порождаемые командой. Создание такой ПВП заключается в многократном использовании команды Добавление ПВП:

    • Выбор команды (команд);

    • Добавление ПВП;

    • Выбор входа (входов);

    • Добавление ПВП;

    • И т.д.

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





    • Выходы для команд – отображение выходных сигналов, полученных при подаче команд. Позволяет легко определить адекватность отношений «вход - выход» УУ на уровне внешних команд. Список используется для оперативного анализа результатов подачи команды и определения входов, которые нужно подать после команды. Вначале выполняется выбор и подача команды. Выбор можно выполнять прокруткой списка команд или с помощью компонента Выбор команд. Команда может вызывать запуск алгоритмов или(и) изменение значений функций. В конечном итоге могут быть сформированы на выходных контактах внешних соединителей выходные сигналы на исполнительные механизмы, а также изменены состояния таймеров. Пользователь может быстро определить их соответствие сигналам, требуемым по ТЗ. Каждая команда имеет номер и инициирует процесс функционирования УУ;

    • Выходы для входов – отображение выходных сигналов, полученных при подаче входных сигналов. Позволяет легко определить адекватность отношений «вход - выход» УУ на уровне внутренних входных сигналов. Выбор входных сигналов (от нуля до нескольких), подаваемых от входных контактов внешних соединителей. Выбор можно выполнять прокруткой списка входов или с помощью компонента Выбор входов. Входы могут вызывать только изменение значений функций. Каждый вход имеет номер и инициирует шаг процесса функционирования УУ;

    • Функциональная схема – детальное отображение отношений «вход - выход» УУ для команд и входов на уровне причинно-следственных отношений алгоритмов управления, логических функций и таймеров. Используется для детального анализа и документирования результатов моделирования;



    -Пакетное моделирование


    Рассмотрим примеры моделирования.

    Пример 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) обеспечивается гиперссылками, которые создаются для всех команд и входов. По гиперссылке запустится приложение (консольное), которое запрашивает вид команды (подать - снять), записывает в ПВП выбранную команду и запускает приложение Гиперсистема.



    Процедура Отображение переключений в ТЗ (создается в модуле Управление_моделированием) после завершения моделирования должна:

    • Найти строку <ИМЯ> = <СОСТОЯНИЕ> в файле ФС.ТХТ

    • Найти <ИМЯ> в документе Техническое задание

    • Если <СОСТОЯНИЕ> = 1, то <ИМЯ> сделать красным

    • Если <СОСТОЯНИЕ> = 0, то <ИМЯ> сделать зеленым
    Логическое моделирование аварийных режимов.

    Аварийные (нештатные) ситуации в работе систем логического управления (СЛУ) могут возникать по следующим основным причинам:

    • Неправильная последовательность (ПВП) подачи входных сигналов на СЛУ. Эти нарушения могут создаваться управляющим персоналом, а также вызываться сбоями и отказами элементов СЛУ или узлов и механизмов управляемого объекта. Это может приводить к аварийным ситуациям в работе управляемого объекта;

    • Отказы элементов СЛУ или связей между ними;

    • Сбои (неустойчивые отказы) элементов СЛУ или связей между ними.

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

    В приложении «Гиперсистема» неправильные ПВП, а также отказы элементов СЛУ можно обнаружить путем моделирования (анализ по принципу “что – если?”).

    Неправильные ПВП выявляются следующим образом:

    • Создается и моделируется ПВП, соответствующая одному из штатных режимов работы;

    • Сохраняется Граф управления;

    • Создается и моделируется ПВП, соответствующая одному из нештатных режимов работы;

    • Сохраняется Граф управления;

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

    Для выявления неправильных ПВП не требуется вносить изменения в модель СЛУ.

    Для моделирования аварийных ситуаций из-за отказов элементов СЛУ требуется вносить изменения в модель и выполнять ее повторную компиляцию.

    Рассмотрим процесс моделирования с целью выявления неправильных ПВП.

    Выполняем команду Комплексное моделирование.



    Выбираем и моделируем ПВП Запуск алгоритмов.



    Сохраняем результаты моделирования в Графе управления Запуск алгоритмов.







    Изменяем ПВП Запуск алгоритмов для имитации нарушений в последовательности подаваемых команд.

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

    Для продолжения добавления ПВП делается новый выбор в указанных окнах и повторяется команда Добавление ПВП. Реальная ПВП обычно содержит несколько внешних команд (процессов), после каждой из которых записываются внутренние входы (шаги процесса), порождаемые командой. Создание такой ПВП заключается в многократном использовании команды Добавление ПВП:

    • Выбор команды (команд);

    • Добавление ПВП;

    • Выбор входа (входов);

    • Добавление ПВП;

    • И т.д.

    Завершаем и повторно выполняем команду Комплексное моделирование. Выполняем Сброс ПВП.



    Выполняем выбор команд, изменяя ранее промоделированную ПВП Запуск алгоритмов.



    Так как повторно выбрать команду (например 417) для имитации ее повторной подачи нельзя, то выполняем команду Добавление ПВП, после чего продолжаем выбор команд.



    Моделируем созданную ПВП.





    Сохраняем результаты моделирования в Графе управления Запуск алгоритмов_1.



    Открываем и проводим совместный анализ полученных Графов управления. При необходимости вносим исправления в ТЗ СЛУ и выполняем повторное моделирование.



    В данном примере реализация процесса 428 на ПВП Запуск алгоритмов_1 отличается от его реализации на ПВП Запуск алгоритмов. Рассмотрим его более подробно.



    Отличия в реализации процесса 428 существенные и требуют выявления и устранения причин.

    1. В приложении «Гиперсистема» выполнить команду Комплексное моделирование. Выполнить команду Сброс ПВП. Выполнить команду Загрузка команд и входов. Сохранить скриншоты в отчете.



    1. Выбрать команды 417, 418, 423, 424. Сохранить скриншоты в отчете.





    1. Выполнить команду Пакетное моделирование. Сохранить скриншот в отчете.



    1. Выполнить команду Анализ результатов. Сохранить скриншоты в отчете.





    1. Выбрать повторно команды 417, 418 и добавить их к ПВП командой Добавление ПВП. Выполнить команду Пакетное моделирование. Сохранить скриншот в отчете.



    1. Сравнить реализацию команд 417, 418 при их повторной подаче. Сохранить скриншот в отчете.



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

    2. Повторить задание, добавив к ПВП еще раз команды 417, 418.

    3. Сохранить отчет.



    Речевое оповещение

    Речевое оповещение является важным элементом интерфейса приложения «Гиперсистема» и позволяет акцентировать внимание пользователя на наиболее важных событиях и ситуациях в процессе моделирования. Обеспечивается средствами специальной библиотеки SpeechLib_TLB, подключаемой к среде DELPHI, с учетом специфики воспроизведения смешанных русско-латинских текстов. Необходимость речевого оповещения (обычно это подача входных сигналов, переключения внутренних элементов и выдача выходных сигналов) задается установкой в 1 специального параметра в программных конструкциях модели.

    Первым делом, чтобы воспользоваться SAPI нам необходимо импортировать в Delphi библиотеку типов. Для этого открываем Delphi IDE, выбираем в главном меню «Component — Import Component» в открывшемся окне выбираем «Import Type Library» и жмем «Next»:
    http://www.webdelphi.ru/wp-content/uploads/2010/03/sapi2.png
    Теперь находим в списке «Microsoft Speech Object Library», выбираем её, жмем «Next»


    http://www.webdelphi.ru/wp-content/uploads/2010/03/sapi4.png

    В новом окне ставим галку напротив «Generate Component Wrappers» и жмем «Finish»:


    http://www.webdelphi.ru/wp-content/uploads/2010/03/sapi6.png

    Теперь у нас есть заголовочный файл для работы с 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"
    ПРИМЕЧАНИЕ: Если при попытке выполнить данные команды вы получаете какие-либо ошибки – запустить командную строку от имени Администратора.
    Теперь можно пользоваться.


    -Моделирование с продолжением


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

    Так реализуется очень важный режим Моделирование с продолжением.


    -Моделирования с начала


    Для выполнения моделирования с начала (с исходного состояния) необходимо завершить моделирование, закрыв окно программы Комплексное логическое моделирование, и снова запустить ее из главного окна приложения «Гиперсистема». Установка модели в требуемое исходное состояние обычно выполняется созданной для этой цели ПВП и (или) специальным алгоритмом управления.


    -Внесение изменений в документ ТЗ


    Если в процессе моделирования и анализа выявлены ошибки в ТЗ, то необходимо внести изменения в этот документ в установленном порядке (обычно строго регламентирован).
    1   ...   15   16   17   18   19   20   21   22   23


    написать администратору сайта