Система контроля температуры скорострельного оружия модели

В этом примере показано, как смоделировать систему управления скорострельного оружия, которая регулирует температуру бойлера. Модель имеет два компонента:

  • Модель Котельной установка является подсистемой Simulink® модели динамика бойлера.

  • Контроллер скорострельного оружия является графиком Stateflow®, который реализует управляющую логику скорострельного оружия.

Использование графика:

  • временная логика, чтобы реализовать синхронизацию цикла скорострельного оружия

  • 8-битные данные фиксированной точки, чтобы представлять температуру бойлера

Реализуйте управляющую логику при помощи after Оператор

Контроллер Скорострельного оружия определяет, когда бойлер включает или выключает. Первоначально, бойлер выключен. После 40 секунд, если бойлер является холодным, бойлер включает. После 20 секунд бойлер выключает и повторения цикла управления скорострельного оружия.

Управлять переходами между On и Off состояния, график вызывает абсолютно-разовый временный логический оператор after. Например, метка after(20,sec) перехода инициировал переход от On к Off после On состояние активно в течение 20 секунд. Метка after(40,sec)[cold()] вызывает переход от Off к On произойти если функциональный cold возвращает true после Off состояние активно в течение 40 секунд.

Off утвердите также использует временную логику, чтобы управлять состоянием LED. Поскольку диаграммы Stateflow в моделях Simulink не поддерживают оператор every в течение абсолютного времени временная логика состояние реализует операцию Во главе с использованием Flash подсостояния с переходом самоцикла. Метка after(5,sec) перехода инициировал действие входа подсостояния и заставляет LED высвечиваться каждые 5 секунд.

Обработайте данные с плавающей точкой на 8-битном процессоре

Подсистема модели Котельной установка симулирует температурную реакцию бойлера в периоды нагревания или охлаждения.

В зависимости от выхода Контроллера Скорострельного оружия график подсистема добавляет или вычитает температурный шаг (+1 для нагревания или –0.1 для охлаждения) к предыдущей температуре бойлера и передает результат Цифровой подсистеме Термометра.

Цифровая подсистема Термометра преобразует получившуюся температуру в 8-битное представление фиксированной точки. Преобразование происходит на трех шагах.

  • Блок Sensor преобразует входную температуру бойлера$T_{actual}$ в промежуточное аналоговое напряжение выход$V_{sensor} = 0.05 \cdot T_{actual} + 0.75$.

  • Подсистема Аналого-цифрового конвертера (ADC) оцифровывает аналоговое напряжение от блока датчика путем умножения напряжения на$\frac{256}{5}$, округления на целочисленный пол, и затем ограничения результата максимумом 255 (самое большое 8-битное целочисленное значение без знака). Подсистема выводит квантованное целое число$Q = \lfloor \frac{256}{5} \cdot V_{sensor} \rfloor = \lfloor \frac{256 \times 0.05}{5} \cdot T_{actual} + \frac{256 \times 0.75}{5} \rfloor$.

  • Блок Linear Fixed-Point Conversion инвертирует объединенную передаточную функцию блоков Датчика и ADC, чтобы закодировать температуру бойлера как номер фиксированной точки с наклоном$S = \frac{5}{256 \times 0.05} = 0.390625$ и смещением$B = -\frac{0.75}{0.05} = -15$. Эти параметры фиксированной точки преобразуют 8-битное квантованное целое число$Q$ в цифровую закодированную температуру$T_{digital} = SQ + B = \frac{5}{256 \times 0.05} \cdot \lfloor \frac{256 \times 0.05}{5} \cdot T_{actual} + \frac{256\times 0.75}{5} \rfloor - \frac{0.75}{0.05} \approx T_{actual}$.

Диспетчер Скорострельного оружия строит диаграмму, получает эту цифровую закодированную температуру и интерпретирует его как 8-битные данные фиксированной точки без знака temp. График обрабатывает эти температурные данные в 8-битной среде без любых явных преобразований.

Исследуйте результаты симуляции

После симуляции Осциллограф Simulink показывает, что бойлер достигает температуры 20 градусов Цельсия приблизительно после 450 секунд (7,5 минут). Управляющая логика скорострельного оружия эффективно обеспечивает ту температуру для остальной части симуляции.

Смотрите также

| | (Simulink)

Похожие темы