Перевести страницу

Создание приложений для науки и производства ещё не было таким простым

Отладка виртуального прибора

Когда схема прибора создана в окне редактирования, прибором сразу можно начинать пользоваться. Но необходимо проверить, как он работает, и при необходимости изменить его схему чтобы получить требуемый результат. Этот процесс называется "отладкой". Он заключается в проверке работы всех функций и возможностей прибора при различных входных условиях и действиях пользователя. Для этого у MAX15 имеются некоторые удобные возможности.

Но здесь необходимо остановиться на упомянутой ранее, но еще не описанной кнопке окна редактора схемы - запуск и остановка выполнения. Эта кнопка имеет отношение к одной из основных парадигм системы MAX15 - наличия пассивных и активных элементов схемы. Пассивными называются элементы схемы, которые выполняют какое-то одно действие по команде оператора или по полученному на вход сигналу. Пассивными являются все элементы, находящиеся в закладке "Элементы интерфейса". При получении входного сигнала, или при действии пользователя на элемент курсором мыши, они активируются, выполняют свою задачу, и снова переходят в ожидание. Активными называются элементы схемы, которые могут работать в "фоновом режиме", постоянно выполняя какие-то действия без вмешательства оператора. Активные элементы имеют на своих изображениях слабо видимое изображение шестеренки (в демо-версии пока отсутствует). Активными элементами являются все процессоры языка Ci. При создании схемы пассивные элементы готовы к использованию сразу при их размещении на схеме. Так, например, кнопки на панели виртуального прибора можно сразу нажимать, если их подключить к виртуальным светодиодам, они будут зажигаться и т.д. Но активные элементы не будут работать до тех пор, пока схема с ними не будет активирована (или "запущена", "включена"). Для запуска схемы предназначена та самая кнопка на окне редактора - запуски и остановка выполнения. При нажатии на неё она фиксируется, и при этом активируются все активные элементы, находящиеся на схеме. Активные элементы на схеме отмечены шестерёнками (если в настройках ядра включить анимацию элементов, эти шестерёнки еще и вращаются). В настоящее время активация возможна только при запуске схемы, и всех элементов одновременно. В дальнейшем будет реализована возможность активации отдельных элементов по сигналам внутри схемы. На кнопке при этом появляется некоторое число - это число показывает количество активированных элементов схемы. Активные элементы могут завершать свою работу независимо друг от друга - в таком случае, число на кнопке будет уменьшаться. Зафиксированная кнопка активации на самом деле, является кнопкой остановки (на ней изображен знак "СТОП"). При клике на неё мышкой, она "отжимается", и все активные в это время элементы завершают свою работу. Это может произойти не мгновенно, так как у каждого активного элемента есть свой алгоритм завершения. И только когда все активные элементы завершатся, кнопка снова станет выполнять функцию запуска схемы.

Основным средством для отладки схемы пока является элемент, который можно на ней разместить - это виртуальная консоль. Чтобы её использовать, надо перетащить её из колекции, из закладки "Системные" на текущую схему. Вход виртуальной консоли можно подключить к любому количеству любых однотипных выходов, и наблюдать прохождение и содержимое сигналов по разным участкам схемы. В консоли отображаются в текстовом виде значения сигналов, как они есть. При выводе в консоль любых данных она может автоматически вставлять между ними пробелы, что включается соответствующим флажком внизу окна консоли. Можно включить также отображение имени источника сигнала, это может потребоваться, если консоль подключена к нескольким входам. Окно консоли сохраняет заданное в её настройках количество строк, но консоль можно очистить нажатием соответствующей кнопки. Между запусками системы MAX15 содержимое окна консоли не сохраняется. Но если схема содержит процессор Ci с программой, которая выводит в консоль текст операцией puts, то текст будет выводиться, даже если консоль находится в коллекции, а не на схеме.