Skip to content
UKENRU
Kyiv, Ukrainemail@dvornichenko.com
Михайло Дворниченко Архітектор рішень · SK.AI
Home Blog Всі записи

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 заберіть файл Interop.PsSimEng.dll з теки x:Program FilesPowersimPowersim Studio SDKSamplesVisual Basic .NETSimInspectorbin.

Далі просто підключіть його до проєкту: Project-Add reference. І все має спрацювати. Перезберіть проєкт.

 

2. Стислий огляд технічної документації PowerSim SDK

Якщо на попередньому етапі бібліотека підключилася, час переходити до документації.

Після встановлення SDK документація лежить тут: C:Program FilesPowersimPowersim Studio SDKHelp PsSDK.chm

У файлі документації все описано чітко, але дуже «сухо». Тобто не розраховуйте на купу прикладів на кожній сторінці, як у MSDN. А на ті приклади, що таки є в документації, іноді краще й не дивитися: по-перше, їх написано для VBA та/або VB.NET, по-друге, у них повно помилок. Схоже, приклади лишилися старі, а SDK тим часом доопрацьовували. Звідси й ця плутанина.

Тому морально готуйтеся, що в усьому доведеться розбиратися самотужки, власноруч. Але хвилюватися не варто: щойно зрозумієте принцип роботи, приклади Вам будуть не потрібні.

Дякую розробникам документації за інтерактивну карту інтерфейсів. З нею справді працювати просто й наочно.

довідка SDK
PowerSim SDK Documentation

На цьому стислий огляд документації, мабуть, і завершимо.

 

3. Підготовка моделі PowerSim для підключення до проєкту за допомогою Powersim Studio SDK Administration Utility

На цьому етапі розкажу дуже цікаву річ, яка дає змогу адаптувати модель, розроблену в PowerSim Studio, для роботи в SDK.

Для цього в комплекті з SDK йде хитра утиліта під назвою Studio SDK Administration Utility.

Коли модель у PowerSim Studio намальована, її треба зберегти. Формат файлу *.sip . Далі запускаємо утиліту адміністрування й тиснемо кнопку “Authorization Key…”.

Виглядає програмка так:

Powersim Studio SDK Administration Utility
Powersim Studio SDK Administration Utility

З’явиться вікно, де треба ввести пароль або код продукту**, а нижче — вибрати файл нашої моделі.

** Код продукту візьміть із документа, який надіслали на пошту, — там, де вказано серійний номер.

Після цього тиснемо «ОК» — і на екрані з’явиться повідомлення, що до буфера обміну скопійовано ключ, який треба буде вставити в програмний код для ідентифікації моделі. Куди саме його вставляти, розповім далі.

Ось, власне, і все. Модель готова до роботи з 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:InstallWorkНИЦИТRadaSource26-12-11PSMDLS201162-DNCM062.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.

Успіхів!

З повагою,
Дворниченко Михайло

Michael Dvornichenko Архітектор рішень · SK.AI

Leave a comment

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *