demonis 0 2 марта, 2008 Опубликовано 2 марта, 2008 · Жалоба Пришлось таки после долгого перерыва вернуться к связке CST+Matlab (CST Microwave Studio 5+Matlab 2006b) Кое-что получается -открытие программы и изменение параметров cst = actxserver('MWStudio.Application'); cst.invoke('OpenFile','C:\\GA\\Test\\test.mod'); cst.invoke('StoreDoubleParameter','L','25'); -запуск солвера cst2 = actxserver('MWStudio.Solver'); cst2.invoke('Start'); -экспорт S11 -параметров в формате TOUCHSTONE, хотя вот что-то SetNSamples как-то непонятно работает (просто скидывается вся точки расчета) cst3 = actxserver('MWStudio.TOUCHSTONE'); cst3.invoke('Reset'); cst3.invoke('FileName','c:\\results'); cst3.invoke('Impedance','50'); cst3.invoke('Renormalize','True'); cst3.invoke('SetNSamples','20'); cst3.invoke('Write'); А вот попытка аналогично вызвать cst5 = actxserver('MWStudio.ASCIIExport'); приводит к ошибке ??? Error using ==> actxserver Server creation failed. Invalid ProgID 'MWStudio.ASCIIExport' Как бы вызвать все-таки объект ASCIIExport?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nadie 0 4 марта, 2008 Опубликовано 4 марта, 2008 · Жалоба Demonis Ваш опыт очень интересен, только насколько я знаю, нет открыто выложенных данных, как получить данные полей через COM интерфейс. Работающий вариант, читать данные из бинарных файлов, которые находятся в директории Result (CST2008). Там есть как поля, так и 1D результаты. Проблема с полями возникает только в случае, если используются различные фичи типа Subgrigging, TST, так как поля в этом случае перестают быть просто 3Д матрицей. Если у вас официальная лицензия, то как читать поля информацию вы можете получить у разработчиков. У остальных, знающих это, руки связаны соглашениями о не распространении информации, полученной от тех же самых разработчиков. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demonis 0 4 марта, 2008 Опубликовано 4 марта, 2008 · Жалоба Нашел вот второй способ управления ЦСТ из Матлаба. В самом Матлабе можно сформировать *.bas файл такого содержания Sub Main () OpenFile("C:\GA\Test2\test.mod") StoreDoubleParameter ("L", 50) With Solver .Start End With SelectTreeItem ("Tables\1D Results\S11dB") With ASCIIExport .Reset .FileName ("c:\example.txt") .Mode ("FixedNumber") .Step (20) .Execute End With End Sub и запустить его из матлаба строкой ! "C:\LIBRARY\ENGINEERING\CST STUDIO SUITE 2006\CST DESIGN ENVIRONMENT.exe" -m C:\test3.bas (для 5-го ЦСТ без ключа -m). Так по идее можно через родные VBA-функции добраться до любых резкльтатов (хотя в моих расчетах мне вполне достаточно S11, VSWR). Но при каждом запуске заново запускается приложение и по выполнению закрывается. А когда таких запусков свыше 1000, то слишком много времени на запуск приложения уходит. В принципе сам ASCII-экспорт можно реализовать в виде макроса в ЦСТ. Вот только как его заставить выполняться после каждого расчета по типу как это делается в Template based postprocessing??? Это бы решило все проблемы А может ли кто-то проверить как работает вот такой вот макрос на версии новее 2006. А то почему-то экспортируется полностью все данные, а не 20 элементов. Sub Main () SelectTreeItem ("Tables\1D Results\S11dB") With ASCIIExport .Reset .FileName ("c:\example.txt") .Mode ("FixedNumber") .StepX (20) .Execute End With End Sub UPDATE: макрос удалось запустить камандой: cst = actxserver('MWStudio.Application'); cst.invoke('RunMacro', 'S11_Export'); Так что связать Матлаб и ЦСТ более-менее получается Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nadie 0 5 марта, 2008 Опубликовано 5 марта, 2008 · Жалоба связать Матлаб и ЦСТ более-менее получается Мне кажется, что в вашем случае правильнее утверждать, что получается связать через экспорт результатов в виде текстовых файлов. Только не очень понятно, зачем заниматься таким экпортом, если эти результаты уже есть в виде бинарных файлов? Чтение и запись текстовых файлов отнюдь не быстрое занятие, особенно если это касается данных полей. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
navuho 0 11 марта, 2008 Опубликовано 11 марта, 2008 · Жалоба CST 2008 Service Pack – Jan-18-2008 : >General / Environment >A DLL to read CST STUDIO SUITE™ results in MATLAB or in other external tools is available now. New Feature! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demonis 0 14 марта, 2008 Опубликовано 14 марта, 2008 · Жалоба Посмотрел - полезная вещь для считывания результатов измерений. Вот только доступ из Matlab к CST2008 как-то изменился. То, что работало в 2006 не работает с 2008, хотя вроде бы изменения небольшие. Можно конечно это все написать макросами в самом ЦСТ и запускать уже их, но как-то это немного в обход получается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jack_Profit 0 12 января, 2010 Опубликовано 12 января, 2010 (изменено) · Жалоба Свежие книжки по моделированию радаров в МАТLАВ. Ваssеm R Маhаfzа, Аtеf Elshеrbеni. МАТLАВ Simulаtiоns for Rаdаr Systеms Dеsign, 2004. Ваssеm R Маhаfzа. Rаdаr Signаl Аnаlysis аnd Рrоcеssing Using МАТLАВ , 2009. См. линки в приложении Links.txt Изменено 12 января, 2010 пользователем Jack_Profit Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smile 0 19 января, 2010 Опубликовано 19 января, 2010 · Жалоба Свежие книжки по моделированию радаров в МАТLАВ. Ваssеm R Маhаfzа, Аtеf Elshеrbеni. МАТLАВ Simulаtiоns for Rаdаr Systеms Dеsign, 2004. Ваssеm R Маhаfzа. Rаdаr Signаl Аnаlysis аnd Рrоcеssing Using МАТLАВ , 2009. См. линки в приложении Спасибо за линки, только в этих книгах нет ничего о связке Matlab / FEKO и CST Microwave Studio. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Юрий_Прим 0 24 октября, 2010 Опубликовано 24 октября, 2010 · Жалоба Я имел в виду востребованность материала для публикации. Будет ли его кто читать - вопрос отдельный. Читать будут, убеждён! Если есть результат-просьба выложить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sharh 0 17 мая, 2011 Опубликовано 17 мая, 2011 · Жалоба Доброго времени суток, Вы не могли бы по подробнее описать с помощью какой команды возможно открыть проект CST из Matlab, запустить его и получить данные, с конкретным примером, желательно, а то никак не пойму что и как писать=(((( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demonis 0 18 мая, 2011 Опубликовано 18 мая, 2011 · Жалоба Доброго времени суток, Вы не могли бы по подробнее описать с помощью какой команды возможно открыть проект CST из Matlab, запустить его и получить данные, с конкретным примером, желательно, а то никак не пойму что и как писать=(((( bas_fid = fopen('c:\PROJECT\cst2008.bas', 'w'); fprintf(bas_fid,'Sub Main ()\n'); fprintf(bas_fid,'OpenFile("c:\\PROJECT\\vivaldi.cst")\n'); fprintf(bas_fid,'DeleteResults \n'); fprintf(bas_fid,'StoreDoubleParameter ("parameter1", %f) \n', par(1)); fprintf(bas_fid,'StoreDoubleParameter ("parameter2", %f) \n', par(2)); fprintf(bas_fid,'StoreDoubleParameter ("parameter3", %f) \n', par(3)); fprintf(bas_fid,'Rebuild \n'); fprintf(bas_fid,'With Solver \n'); fprintf(bas_fid,'.Start \n'); fprintf(bas_fid,'End With \n'); fprintf(bas_fid,'End Sub \n'); fclose(bas_fid); ! "C:\Program Files\CST STUDIO SUITE 2008\CST DESIGN ENVIRONMENT.exe" -m c:\PROJECT\cst2008.bas Вот так все успешно работает и для CST 2010. Пути к файлам и их название, естественно, проставлять свои. parameter1, parameter2, parameter3 - это названия параметров, которые надо поменять в проекте, par(1), par(2), par(3) - это, соответственно, значение, которые вы им присваиваете из Матлаба. Для считывания результата ищите в каком файле их хранит CST. Как правило формат этих файлов текстовый. Все результаты можно найти в папке Results проекта. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sharh 0 18 мая, 2011 Опубликовано 18 мая, 2011 · Жалоба Спасибо большое,попробую все это проделать, пока вроде все ясно) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sharh 0 21 мая, 2011 Опубликовано 21 мая, 2011 · Жалоба подскажите пожалуйста как формировать .bas файл? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demonis 0 22 мая, 2011 Опубликовано 22 мая, 2011 · Жалоба подскажите пожалуйста как формировать .bas файл? Так, собственно, в моем сообщении полностью описано как формировать bas-файл. Там открывается проект, удаляются старые результаты, меняются значения переменных, обновляется геометрия и запускается transient-solver. Если нужны какие-то другие функции, то ищем их в помощи по VBA и пробуем применять. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sharh 0 22 мая, 2011 Опубликовано 22 мая, 2011 · Жалоба fprintf(bas_fid,'Sub Main ()\n'); в этом месте у меня Matlab выдает ошибку, скажите, пожалуйста какие параметры необходимо указать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться