Привел упрощенную схему решения сложной задачи при помощи unitDelay

Привел упрощенную схему решения сложной задачи при помощи unitDelay - student2.ru

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

Вывод:

В ходе выполнения лабораторной работы я изучил основные нелинейные блоки программы Vissim и решения задач по построению дискретных систем регулирования с использованием нелинейных, дискретных и логических блоков.

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

2) Построил генераторы сигналов, построенные с использованием нелинейных блоков sin (вычисления синуса) и exp (вычисления ех, где х - входной сигнал блока exp) (Рис.2). При анализе работы программы пришел к выводу, что она правильно функционирует.

3) Собрал схемы для четырех булевых блоков и промодулировал их работу (рис. 3). Сверяя результаты с таблицами истинности (рис.4) пришел к выводу, что программа работает верно.

4) Собрал схемы компараторов (рис. 5). Ознакомился с работой компараторов. Пояснения к рис. 5 :

а) Компаратор (>) : Если верхнее значение больше нижнего, то единица. Иначе ноль.

б) Компаратор (<) : Если верхнее значение меньше нижнего, то единица. Иначе ноль.

в) Компаратор (!=) : Если верхнее значение НЕ равно нижнему, то единица. Иначе ноль.

г) Компаратор (=) : Если оба значения верны, то единица. Иначе ноль.

д) Компаратор (>=) : Если верхнее значение больше, либо равно нижнему, то единица. Иначе ноль.

е) Компаратор (<=) : Если верхнее значение меньше, либо равно нижнему, то единица. Иначе ноль.

5) Собрал схему переключателя (рис. 6). Ознакомился с принципом работы переключателя. Пояснение к рис. 6:

Пока сигнал на верхнем входе меньше 1, на выход блока merge проходит синусоида с нижнего входа.

Когда сигнал на верхнем входе превышает 1, происходит переключение и на выход подается парабола со второго входа.

6)Привел, как пример, структуру модели для получения кусочно-линейной аппроксимации непрерывной функции (рис. 7).

Статические условия предполагают сравнение величин, получаемых в одном и том же такте моделирования.

Для выполнения нескольких условий могут быть использованы несколько блоков управляемых переключателей merge. Пояснение к рис.7:

Получается единица, если x>2.2. Если здесь , на входе b, единица 1, то на выход передается сигнал со второго входа t. В противном случае сигнал подается стретьего входа f.

7) Отобразил логику магнитного пускателя асинхронного электродвигателя (рис. 8). Магнитный пускатель это давно изобретенное устройство для включения и выключения достаточно мощных потребителей электрической энергии, например асинхронных электродвигателей. Магнитный пускатель подает напряжение на нагрузку при нажатии на кнопку "Пуск" и продолжает подавать его при отпускании этой кнопки. Отключение напряжения происходит либо по нажатию кнопки "Стоп", либо при отключении питающего напряжения. Повторное включение возможно только при повторном нажатии кнопки "Пуск".

Для сравнения значений переменной u в текущий и предыдущий моменты времени в схеме рис. 8 используется блок задержки на такт 1/Z (Blocks -Time Delay - unitDelay). Если на верхний вход этого блока подать единицу, то его выходной сигнал это его же сигнал со второго входа, но задержанный на такт моделирования. Если сигнал на верхнем входе по модулю меньше единицы, то блок сохраняет на выходе предыдущее значение выходного сигнала, которое не изменяется от такта к такту, как бы при этом не менялся сигнал на нижнем входе.

8)Привел упрощенную схему решения сложной задачи при помощи unitDelay (рис. 10). В практике программирования при построении схем алгоритмов часто используются условные конструкции, реализуемые в программе с помощью условного оператора вида if (условие) then (оператор 1) else (оператор 2). Второй оператор в структуре фрагмента алгоритма состоит в том, что не следует ничего делать, если условие не выполняется. В этом случае значение y автоматически сохраняется до тех пор, пока программа не вернется к проверке условия.

При решении конкретной задачи всю эту сложную конфигурацию можно заменить самим блоком unitDelay.

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

В итоге, ознакомился с нелинейными и дискретными блоками Vissim'а, которые делятся на:

  • - безинерционные непрерывные нелинейные блоки (преобразователи), в том числе:
    • - простые (с одним входом и одним выходом) например limit (ограничитель уровня сигнала) и набор блоков Transcendental и
    • - сложные (с несколькими входами и одним выходом) например блок map (одно-, двух- или трехмерная функции), блоки умножения и деления и др. и
  • - условные дискретные блоки, например, набор блоков Boolean (собственно булевы блоки и компараторы).
  • - переключатели: блоки merge и case (переключатели по условию).

Наши рекомендации