PowerSim SDK. Пишем первую программу (Пример)
Сегодня я публикую первую статью посвященную PowerSim SDK. В будущем публикации будут по мере того как появится свободная минута. Однако если у Вас нет времени ждать и возникли конкретные вопросы, пожалуйста, пишите мне и я обязательно Вам отвечу.
Итак, начнем.
План:
1) Подключение PowerSim SDK к VisualStudio 2010
2) Краткий обзор технической документации PowerSim SDK
3) Подготовка модели PowerSim для подключения к проекту с помощью Powersim Studio SDK Administration Utility
4) Первая программа с использованием PowerSim SDK
1. Подключение PowerSim SDK к VisualStudio 2010
На этом этапе лично у меня начались «танцы с бубном». По идее после установки SDK, библиотеки автоматически регистрируются в системе и открыв VisualStudio –Project-Add reference- COM-Powersim Studio Simulation Engine (PsSimEng.dll), нужная библиотека подключается к проекту и можно работать. Но есть одно «НО», у меня на Windows 7 x64 библиотека не принималась и выдавала странные ошибки. В итоге на форумах удалось узнать, что проблема именно с операционной системой x64.
Да, PowerSim 8 Academic рассчитано на архитектуру x86 и в свойствах компилятора нужно это четко указывать иначе при компиляции поплывут ошибки.
Хотя если верить сайту PowerSim , начиная с версии PowerSim 9, система будет поддерживать архитектуру x64.
Если вы столкнулись с проблемой аналогичной моей, то предлагаю пойти по следующему этапу.
Нужную нам библиотеку необходимо взять из папки с примерами программ, который идут в поставке с SDK. Для этого после установки PowerSim Studio и PowerSim SDK в папке x:\Program Files\Powersim\Powersim Studio SDK\Samples\Visual Basic .NET\SimInspector\bin необходимо забрать файл Interop.PsSimEng.dll.
Далее просто подключить его к проекту Project-Add reference. И всё должно сработать. Пересоберите проект.
2. Краткий обзор технической документации PowerSim SDK
Если библиотеку на предыдущем этапе подключили успешно, то настало время перейти к обзору документации.
После установки SDK документация находится здесь: C:\Program Files\Powersim\Powersim Studio SDK\Help\ PsSDK.chm
В файле документации всё описано чётко но очень «сухо». Т.е. не рассчитывайте на огромное количество примеров на каждой странице как в MSDN. А иногда те примеры которые представлены в документации и вовсе лучше не смотреть, т.к. во первых они написаны для VBA и/или VB.NET, а во вторых в них куча ошибок. Вероятно примеры остались старые, а SDK дорабатывали. Из-за этого и возникает такая ерунда.
Поэтому морально готовьтесь, что всё разбирать придется самостоятельно ручками. Но не стоит переживать, если поймете принцип работы, то Вам и примеры будут не нужны.
Спасибо разработчикам документации за интерактивную карту интерфейсов. Действительно, с ней работать достаточно просто и наглядно.
На этом пожалуй краткий обзор документации стоит завершить.
3. Подготовка модели PowerSim для подключения к проекту с помощью Powersim Studio SDK Administration Utility
На этом этапе расскажу очень интересную штуку, которая позволяет адаптировать модель разработанную в PowerSim Studio для работы в SDK.
Для этих целей в поставке с SDK идет хитрая утилита под названием Studio SDK Administration Utility.
После того как мы нарисовали нашу модель в PowerSim Studio нам необходимо её сохранить. Формат файла *.sip . После этого запускаем нашу утилиту администрирования и нажимаем кнопку “Authorization Key…”.
Выглядит программка следующим образом:
На экране появится окно предлагающее ввести пароль или код продукта**, а ниже будет предложено выбрать файл нашей модели.
** Код продукта нужно взять из документа, который прислали на почту там, где находится серийный номер.
После всего этого нажимаем «ОК», и на экране появится надпись что в буфер обмена скопирован некий ключ, который надо будет вставить в программный код, для идентификации модели. Куда вставлять этот ключ, будет рассказано дальше.
Вот собственно и всё. Модель готова для работы с SDK.
4. Первая программа с использованием PowerSim SDK
И вот мы подошли к последнему этапу, в котором с Вами напишем первую программу.
Открываем VisualStudio. Создаем проект на языке C#. Подключаем к проекту библиотеку (рассмотрено на этапе 1). Приступаем к кодингу.
Указываем
using PsSimEng;
Ниже я напишу процедуру, а в комментариях подробно опишу действия.
// подключение движка ситуационного модеирования private readonly PsSimEng.SimulationEngine engine = new PsSimEng.SimulationEngine(); private void tryGetData() { // Указываем путь к файлу модели PsSimEng.SimulationProject project = engine.OpenProject(@"D:\Install\Work\НИЦИТ\Rada\Source\26-12-11\PSMDLS\2011\062-DNC\M062.sip", "сюда вставить полученный код модели из Studio SDK Administration Utility "); // Обращаемся к компонентам модели SimulationComponents simulationComponents = project.Components; // извлекаем компоненты модели. При этом OpenDefaultSimulation() запускает процесс имитации SimulationComponent simulationComponent = simulationComponents.Project.OpenDefaultSimulation().Component; // После имитации, необходимо сделать обращение к переменным. ModelVariables mvs = simulationComponent.Variables; // Извлекаем данные foreach (ModelVariable item in mvs) { int id = item.Id; // идентификатор переменной в проекте string fullname=item.FullName; // Имя переменной string number = item.Number.ToString(); // Значение переменной } }
Вот так, в результате мы можем извлечь данные из модели.
Естественно этот пример не раскрывает всю полноту работы с PowerSim SDK, а исходный код написан не с позиции оптимальности.
Надеюсь, что информация изложена доступно и Вам она поможет на начальном этапе освоить работу с PowerSim SDK.
Удачи!
С Уважением,
Дворниченко Михаил