VisSim


VisSim — визуальный язык программирования, предназначенный для моделирования динамических систем, а также проектирования, базирующегося на моделях, для встроенных микропроцессоров. VisSim сочетает в себе характерный для Windows интуитивный интерфейс для создания блочных диаграмм и мощное моделирующее ядро. Язык разработан американской компанией Visual Solutions, которая находится в Уэстфорде (штат Массачусетс).

Применение VisSim

VisSim viewer модели.

Язык и программная среда VisSim широко используется в разработке систем управления и цифровой обработки сигналов для моделирования и дизайна. Она включает в себя блоки для арифметики, булевых и трансцендентных функций, а также цифровые фильтры, передаточные функции, численного интегрирования и интерактивного вывода. Основными областями моделирования являются аэрокосмическая, биологическая/медицинская, Digital Power, электродвигатели, электрические, гидравлические, механические, тепловые процессы, эконометрика.

Академическая программа

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

Обмен диаграммами

Свободно распространяемый VisSim Viewer предоставляет возможность обмениваться моделями с коллегами и клиентами, не имеющими лицензии VisSim. Viewer способен выполнить любую модель VisSim и при этом позволяет изменять параметры блоков и модели, чтобы проиллюстрировать различные сценарии. Если модель содержит бегунки и кнопки, то они также будут активны.

Генерация С кода

VisSim/C-Code — расширение для генерации кода на Си, автоматически преобразует модели VisSim в понятный и эффективный код на ANSI C. Код можно скомпилировать и запустить на любой платформе, имеющей компилятор для языка Си. Сгенерированный код является более эффективным и читабельным, чем код, сгенерированный большинством других генераторов кода. Разработчик VisSim являлся членом комитета «X3J11 ANSI C» и разработал несколько компиляторов языка С. Он также написал книгу, посвященную этому языку.

Проектирование, базирующееся на моделях

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

VisSim позволяет создавать иерархические диаграммы. Как правило, строится модель некоторого процесса, состоящая из нескольких уровней. При необходимости, часть блоков может быть разработана на языке Си или Фортран самим пользователем. Затем система дополняется виртуальным контроллером и настраивается до получения желаемого отклика системы. Добавление ползунков и кнопок упрощает выполнение различных сценариев «А что, если?» для настройки контроллера. Техника моделирования производительности систем в автономном режиме, с последующей автоматической генерацией кода из диаграммы называется проектированием, базирующимся на моделях (Model-Based Development).

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

Расширения VisSim

  • VisSim/ECD позволяет быстро создать прототип для контроля приложений управляется DSP от Texas Instruments. Для MSP430, VisSim нужно только 740 байт флеш-памяти и 64 байт ЗУПВ для небольших закрытых модуляцией ширины импульса петля[что?] системы. Встроенная поддержка периферийных устройств: последовательные порты, Controller_area_network (CAN), ШИМ, Квадратурная модуляция (QАМ), Event Capture, Serial Peripheral Interface Bus (SPI), I²C, Аналого-цифровой преобразователь, Цифро-аналоговый преобразователь и GPIO.
  • Физический уровень коммуникационной системы моделирования (модуляторы, шифраторы, Фазовая автоподстройка частоты (PLLs), Costas Loop, BPSK, QPSK, DQPSK (Differential-PSK или Фазовая манипуляция), Квадратурная модуляция (QAM), Bit Error Rate (BER), Алгоритм свёрточного декодирования Витерби, Код Рида — Соломона, т.д.)
  • Частотный анализ: (ЛАФЧХ, Корневой годограф, АФЧХ)
  • автоматический генератор кода на языке Си
  • библиотека моделирования электрических двигателей: двигатель пременного тока, бесколлекторный двигатель постоянного тока, шаговый электродвигатель
  • нейронные сети
  • клиент OPC (OLE for Process Control), позволяющий обмениваться данными с OPC сервером в реальном времени; применяется для моделирования SCADA интерфейсов технологических процессов
  • глобальная оптимизация параметров системы
  • ввод-вывод аналоговых и цифровых данных под Windows
  • набор блоков для моделирования с фиксированной запятой и кодогенератор для них
  • чтение и запись пакетов для шины CAN