ЖУРНАЛ СТА №4/1999

62 4/99 В ЗАПИСНУЮ КНИЖКУ ИНЖЕНЕРА ВОРОСЫ–ОТВЕТЫ Вопрос Доступен ли интерпретатор MAT- LAB в системах MMI/SCADA? Как реализовать выполнение команд MATLAB в этих системах? Ответ В инженерной, а тем более в исследовательской практи- ке встречаются задачи (например, быстрое преобразова- ние Фурье или адаптивное управление), реализация кото- рых даже средствами Visual Basic for Application (VBA) тру- доемка. Специалисты в области управления и обработки сигналов, знакомые с пакетом MATLAB (http://www.math- works.com ), наверняка подумают о том, как было бы здоро- во, если бы в системах MMI/SCADA был доступен интер- претатор MATLAB-скрипт. Так сложилось, что MATLAB- скрипт является своего рода стандартом представления ал- горитмов в среде исследователей и разработчиков в облас- ти теории управления, обработки сигналов и не только. В состав поставки пакета входят библиотеки (Toolboxes), позволяющие решать большинство инженерных задач, связанных с обработкой сигналов и управлением. Кстати, MATLAB имеет и ресурсы для устройств связи с объектом, но не такие развитые, как в MMI/SCADA. Кроме того, у это- го пакета великолепные возможности графического отоб- ражения результатов (рис. 1). Возможность доступа к интерпретатору MATLAB предус- мотрена во всех современных пакетах класса MMI/SCADA. Как же из VB-скрипт выполнять команды MATLAB-скрипт в условиях пакетов MMI/SCADA? Такая возможность предо- ставляется, если вы проинсталлируете у себя MATLAB 5 или MATLAB 4 из комплекта поставки MATALAB 5.x. По интер- фейсу DDE (Dynamic Data Excange) вы имеете командный доступ к интерпретатору. Для DDE в среде Windows долж- ны быть определены три параметра: Server, Topic, Item. Для доступа к параметрам и интерпретатору MATLAB прово- дится определение: Server — «matlab», Topic — «Engine» (для инженерной, наиболее популярной версии пакета), Item - идентификатор переменной в MATLAB. Далее приведены операторы и функции VBA, используе- мые для выполнения команд интерпретатора MATLAB и об- мена данными. Функция DDEInitiate(application$,topic$) инициализиру- ет DDE-канал и возвращает уникальный код, который ис- пользуется для доступа к этому приложению. Оператор DDEExecute [канал], [команда]$ выполняет ко- манду в приложении по открытому каналу. MatLab Раис Ахметсафин, Римма Ахметсафина, Юрий Курсов Рис. 1. Графические возможности MATLAB

RkJQdWJsaXNoZXIy MTQ4NjUy