Безусловные безинерционные нелинейные блоки Vissim'а
Безусловные нелинейные блоки Vissim'а имеют один вход и один выход и позволяют путем объединения с другими блоками:
- проводить арифметические и алгебраические вычисления;
- создавать генераторы сложных сигналов, сигналов, изменяющихся с течением времени требуемым образом;
- создавать составные блоки с заданными статическими характеристиками.
Краткое описание безинерционных нелинейных блоков:
Рис. 2 Безинерционные нелинейные блоки и их краткие характеристики
Блоки из библиотек Arithmetic и Transcendental преобразуют входной сигнал в соответствии с одноименной блоку математической функцией:
Рис. 3 Примеры моделей, составленных в Vissim'е из нелинейных блоков, для проведения алгебраических вычислений
Собирите схемы, показанные на рис.3, проверте их работы при различных начальных значениях.
Рис. 4 Генераторы сигналов, построенные с использованием нелинейных блоков sin (вычисления синуса) и exp (вычисления ех, где х - входной сигнал блока exp)
Соберите схему, показанную на рис.4, и проверте ее работоспособность.
Условные и управляемые дискретные блоки Vissim'а
- Булевы (логические) блоки
- Компараторы
- Переключатели
Условные и управляемые дискретные блоки это блоки булевой алгебры (Boolean - см. рис.1), компараторы, а также очень важные и полезные блоки-переключатели case и merge из библиотеки нелинейных блоков (Nonlinear - см. рис.1).
С помощью условных и дискретных блоков может быть создана модель дискретной системы управления, реализующей как простую, так и более сложную логику. Например, это системы управления магнитным пускателем асинхронного двигателя и лифтом. Управление такими системами основано на сравнении контролируемых величин и включении и выключении в соответствии с заранее установленными правилами (логикой) некоторых переключателей, изменяющих режим работы элементов системы управления. Наконец, с помощью условных и дискретных блоков можно создавать модели сложных нелинейных звеньев САР и объектов управления.
Собственно булевы блоки
Алгебра Буля (алгебра логики) это математический аппарат, который применяется для описания т.н. дискретных систем управления, т.е. таких систем, в которых используются устройства сравнения и ключи (переключатели).
Блоки булевой алгебры имеют один или два входа и один выход и работают в соответствии с булевой алгеброй. Входные и выходные сигналы булевых блоков Vissim'а (рис.1) могут быть равны только 0 (false - Ложь) или 1 (true - Истина).
Рис. 5 Примеры работы булевых блоков Vissim'а
Для наглядности действия этих блоков описываются с помощью таблиц истинности:
Рис. 6 Логические (булевские) блоки Vissim'а и значения их выходных сигналов при различных комбинациях входных
Соберите схемы, подобные приведенным на рис.6, для всех четырех булевых блоков и промодулируйте их работу.
Компараторы
В практике дискретного (например, включить - выключить) управления объектами требуется анализировать состояние контролируемых величин и в зависимости от соотношения между некоторыми из них осуществлять переключение режимов работы объекта управления. Сравнением занимаются компараторы (сравнивающие устройства).
Компараторы - это устройства, сравнивающие поступающие на них сигналы, и, в зависимости от соотношения их величин и свойств конкретного компаратора, вырабатывающие логические ноль (0) или единицу (1) или короткий импульс, отмечающий момент выполнения некоторого условия. Vissim предлагает исследователю следующие виртуальные блоки-компараторы из библиотек Boolean и Nonlinear (см. рис. 1):
Рис. 7 Некоторые компараторы Vissim'а и пояснение логики их работы
Кроме того, компаратором является блок crossDetect из библиотеки Nonlinear, отмечающий коротким импульсом момент пересечения входным сигналом заданного уровня.
В исходном состоянии на выходе блока логический ноль (0). Если входной сигнал меньше заданного уровня и увеличивается, то в момент его равенства заданному уровню блок вырабатывает короткий импульс, равный на одном шаге интегрирования единице. Если входной сигнал, уменьшаясь, сравнивается с заданным уровнем, то на выходе блока вырабатывается на один шаг моделирования минус единица. Блок вырабатывает только один короткий импульс и тогда, когда на его вход поступает единичная ступенчатая функция, далее во времени, несмотря на то, что на входе продолжает действовать 1, на выходе блока crossDetect все равно ноль.
Переключатели
Переключатели (управляемые и работающие по условию коммутаторы) это блоки merge и case, подключающие в зависимости от управляющего сигнала к выходу те или иные свои входы, и блок Button, выходной сигнал которого может быть изменен с 0 на 1 и обратно исследователем щелчком мыши.
С помощью переключателей можно строить модели, структура схем которых изменяется в зависимости от величины подаваемых на переключатели управляющих воздействий, а также сложные нелинейные блоки.
Главный блок переключения: merge (в переводе буквально - слияние, объединение) Vissim'а выносится на рабочее пространство из библиотеки Blocks - Nonlinear. Он пропускает на свой выход сигнал с третьего, нижнего входа, пока на его первом входе сигнал меньше единицы по величине. В противном случае, когда сигнал на первом (верхнем) входе равен или больше единицы, блок пропускает на выход сигнал со второго сверху входа:
Рис. 8 Пояснение принципа действия блока merge. В момент времени, равный 1 сек выходной сигнал блока линейно растущего сигнала ramp, подаваемый на верхний, управляющий вход блока merge, достигает значения 1, и блок merge переключает выход с третьего входа на второй
С помощью блока merge в модели реализуются и структуры, аналогичные условным операторам (if else) в языках программирования высокого уровня.
Блок case (Blocks - Nonlinear) имеет несколько входов и подключает к выходу сигнал с того входа, номер которого равен уровню сигнала, подаваемого на верхний, управляющий вход case блока.
С помощью блока case в модели реализуются и структуры, аналогичные оператору-переключателю (switch) в языках программирования высокого уровня.
Button (Blocks - Signal Producer) - виртуальная кнопка, выходной сигнал которой меняется с нуля на единицу и обратно при щелчке по ней правой кнопкой. При этом блок меняет цвет с белого (0) на красный (1) и обратно. Это позволяет исследователю управлять сигналами и структурой модели в процессе моделирования.
Особенности решения задач с применением нелинейных и дискретных блоков Vissim'а
Решение задач в моделирующих программах по созданию моделей, в которых сигналы или структура меняются в зависимости от выполнения некоторых условий, схожа с составлением блок-схемы алгоритма для составления программы с условиями на языке высокого уровня. В то же время здесь имеются особенности, связанные с тем, что Vissim на каждом шаге моделирования пересчитывает все сигналы всех блоков заново.
Статические условия
Статические условия предполагают сравнение величин, получаемых в одном и том же такте моделирования.
Для выполнения нескольких условий могут быть использованы несколько блоков управляемых переключателей merge:
Рис. 9 Структура модели для получения кусочно-линейной аппроксимации непрерывной функции
Динамические условия
- Обновление на каждом шаге моделирования
- Логика магнитного пускателя асинхронного электродвигателя
- Сохранение значения выходного сигнала блока merge
Выше рассмотрены условия, которые назовем статическими, поскольку операции сравнения выполняются безотносительно к текущему времени. Здесь происходит сравнение величин сигналов одного и того же такта моделирования.
Выделим также и динамические условия, в которых осуществляется сравнение не только величин, значения которых получены на текущем шаге моделирования (интегрирования), но и на предыдущих. Для такого сравнения требуется использовать блоки с памятью хотя бы на один шаг. И такие блоки есть в Vissim'е.