Алматинский институт энергетики и связи

Кафедра инженерной кибернетики

 

 

 

МОДЕЛИРОВАНИЕ И ИДЕНТИФИКАЦИЯ ОБЪЕКТОВ УПРАВЛЕНИЯ

 

Методические указания к выполнению курсовой работы

для студентов специальности

«Автоматизация и информатизация систем управления»

 

 

 

 

 

Алматы 2005

 

СОСТАВИТЕЛЬ: Ибраева Л.К. Моделирование и идентификация объектов управления. Методические указания к выполнению курсовой работы (для студентов специальности 360140 – Автоматизация и информатизация в системах управления). – Алматы: АИЭС, 2005. – 15 с.

 

 

 

Методические указания предназначены для выполнения курсовой работы по дисциплине «Моделирование и идентификация объектов управления». В курсовой работе исследуется задача динамики каскада резервуаров.

Цель работы: привитие навыков получения физико-математической модели объекта управления, анализа динамических характеристик объекта,  навыков моделирования объекта управления на ЭВМ.

  Математическая модель объекта в виде системы дифференциальных уравнений выводится на основе аналитических методов моделирования. Для имитационного моделирования поведения рассматриваемой системы и моделирования управления объектом применяются пакет моделирования динамических систем Simuink и пакет проектирования событийно-управляемых систем Stateflow системы MatLab.

 

 

 

Рецензент: канд. техн. наук, профессор кафедры ИК АИЭС Б.Д.Хисаров

 

 

 

Печатается по плану издания Алматинского института энергетики и связи на 2005 г.

 

 

© Алматинский институт энергетики и связи, 2005 г.

 

 

Содержание

 

Введение

3

1 Задание на курсовую работу

4

2 Описание объекта исследования

5

3 Алгоритм работы системы

6

4 Создание блок-диаграммы модели

7

   4.1 Общий вид диаграммы

7

   4.2 Диаграмма подсистемы System

8

   4.3 Составные блоки подсистемы Tank_system_block

9

         4.3.1 Блок управления входным краном

10

         4.3.2 Блок управления краном между баками

10

         4.3.3 Подсистема Two_Tanks

10

         4.4.4 Окончательная диаграмма модели объекта исследования

11

   4.4 Создание диаграммы контроллера

12

5 Варианты заданий

13

6 Контрольные вопросы

13

Список литературы

14

 

 

Введение

В курсовой работе исследуется задача динамики каскада резервуаров. Математическая модель объекта в виде системы дифференциальных уравнений выводится на основе аналитических методов моделирования.

         Для имитационного моделирования поведения рассматриваемых объектов и управления ими применяются пакеты Simulink и Stateflow системы MatLAB.

Пакет моделирования динамических систем Simulink предназначен для математического моделирования линейных и нелинейных динамических систем и устройств, представленных своей функциональной блок-схемой, именуемой моделью.

Для построения функциональной блок-схемы моделируемых устройств Simulink имеет обширную библиотеку блочных компонентов и удобный редактор блок-схем. Последний основан на использовании графического интерфейса пользователя и, по существу, является средством визуального программирования. Используя палитры компонентов (наборы) блок-схем, пользователь с помощью мыши переносит нужные компоненты на рабочий стол пакета и соединяет линиями входы и выходы блоков. Таким образом создается блок-схема модели.

Simulink автоматизирует следующий наиболее трудоемкий этап моделирования: он составляет и решает сложные системы алгебраических и дифференциальных уравнений, описывающих заданную функциональную схему (модель), обеспечивая удобный и наглядный визуальный контроль за поведением созданного пользователем виртуального устройства.

Ценность Simulink заключается и в обширной библиотеке компонентов (источники сигналов с любыми временными зависимостями, преобразователи с разнообразными формами передаточных характеристик, интегрирующие и дифференцирующие блоки и т.д.). Также в библиотеке имеется набор регистрирующих устройств.

Важное достоинство пакета - возможность задания в блоках произвольных математических выражений. Как программное средство Simulink - типичный представитель визуально-ориентированного языка программирования. На всех этапах работы пользователь не имеет дела с обычным программированием. Программа автоматически генерируется в процессе ввода выбранных блоков компонентов, их соединений и задания параметров компонентов.

 

Пакет проектирования событийно-управляемых систем Stateflow  представляет собой графический инструментарий для проектирования сложных систем управления и является самым значительным дополнением к среде Simulink. Он дает возможность моделировать поведение сложных событийно-управляемых систем.

Процесс создания модели системы управления в Statefiow обычно подразумевает следующие этапы:

  - создание новой модели управляемого объекта в Statefiow или использование уже существующей модели;

- создание диаграммы в Statefiow;

- добавление к Statefiow-блоку интерфейса событий и данных;

- откладка модели;

  - генерация кода.

Для создания Statefiow-диаграммы необходимо сначала создать модель в Simulink или открыть уже существующую. Затем нужно выбрать в библиотеке блок, обозначающий диаграмму Statefiow, и перенести его в свою модель. После двойного щелчка по нему мышью, откроется окно Statefiow (chart), в котором, пользуясь меню и панелью инструментов, можно описывать сами состояния, связи между ними, определять переменные, условия переключения и другие, необходимые для управления элементы.

 

1 Задание на курсовую работу

1.1 Ознакомиться с объектом исследования. Обосновать вывод уравнений математической модели объекта.

1.2 Определить перечень входных и выходных переменных математической модели. Разработать подробный алгоритм работы объекта.

1.3 Для исследования поведения рассматриваемой динамической системы использовать пакет Simulink системы MatLab. Собрать блок-диаграмму модели в пакете Simulink в соответствии с логикой работы системы.

1.4 Используя графический инструментарий для проектирования систем управления Statefiow, провести моделирование управления объектом.

1.5 Провести имитационные эксперименты (по варианту) для исследования поведения рассматриваемой системы. Вариант исследования получить у преподавателя.

1.6 Оформить отчет по работе. Отчет включает:

- уравнения модели с обоснованием их вывода;

- перечень входных и выходных переменных модели;

- подробные блок-диаграммы каждого блока модели в пакете Simulink, с комментариями и поясняющими надписями;

- блок-диаграмму контроллера;

- результаты и анализ проведенных экспериментов;

 

2 Описание объекта исследования

Исследуемая система представляет собой два цилиндрических бака, расположенных вертикально на разной высоте таким образом, что дно первого бака находится на расстоянии H=0,39 м от дна второго (рис. 2.1). Баки имеют одинаковую высоту h=1 м и различные диаметры: первый – D1=12 см, второй – D2=5см. Система имеет входную трубу, находящуюся в первом баке на расстоянии h от его дна. Баки соединены трубой, являющейся выходной трубой первого бака (и расположенной у самого его дна) и входной трубой второго бака (расположенной на расстоянии Н от его дна).

 

           

Рисунок 2.1 Система двух баков

 

Также система имеет выходную трубу, расположенную у самого дна второго бака. Входная труба системы снабжена входным краном Vinput, который открывается мгновенно, и скорость входного потока воды определяется как (л/ч)

                                    (1)

Краны V1 и V2 являются медленными устройствами, они открываются и закрываются с одной и той же постоянной скоростью, так что от момента начала открытия (закрытия) до полного открытия (закрытия) требуется 80 с. Их открытие и закрытие контролируется задвижкой, меняющей свое положение от значения Р=0 (полное закрытие в условных единицах) до Р=80 (полное открытие).

Управление открытием/закрытием кранов Vinput, V1 и V2 осуществляется специальным контроллером.

Если через А1 и А2 обозначить площади оснований баков, то система уравнений для уровней воды в баках h1 и h2 запишется так

 

                                                      (2)

где  - скорость протекания воды по трубе между баками, а  - скорость вытекания воды из системы. Скорость протекания воды между баками зависит от уровней воды h1 и h2, значения Н и положения задержки Р1 в кране V1

                                                   (3)

Подпись: (4)Скорость вытекания воды из системы зависит от уровня воды во втором баке h2 и положения задвижки Р2 на кране V2


Индивидуальные свойства кранов определяются функциями

 

 

Подпись: (5)                    

 


3 Алгоритм работы системы

Работа всей системы описывается следующим алгоритмом.

В исходном состоянии все краны закрыты и оба бака пусты. В начальный момент контроллер посылает сигнал входному крану Vinput, тот мгновенно открывается и в течение времени Time1 [с] наполняется только первый бак. По истечении времени Time1 контроллер посылает команду открыть кран V1, и вода начинает поступать во второй бак. Второе состояние сохраняется на протяжении Time2 [с]. По истечении времени Time2 начинает контролироваться положение крана V2. А именно, если контроллер обнаруживает, что уровень воды во втором баке опустился ниже значения L_min [м], поступает команда закрыть выходной кран, если вода во втором баке превышает уровень L_plus [м] - выдается команда открыть выходной кран. Аварийными считаются ситуации, когда переполняется один из баков или происходит периодическое открытие и закрытие выходного крана. Нормальным режимом системы считается состояние, когда все краны открыты, и вода протекает через систему с постоянной скоростью.

         Основными уравнениями модели являются уравнения (2). Выходные переменные модели – h1 и h2.

         Сигналы о значениях Vinput, V1, V2 подаются от контроллера. Эти переменные являются входами модели.

         Таким образом, предварительную схему модели можно представить в следующем виде (рисунок 3.1). Назовем эту подсистему Tank_System_Block. Однако, прежде чем подать h1 и h2 на выход, внутри этой подсистемы необходимо проверить условие о переполнении баков.

 

 

 

 

 


(4)

 
                                              

                                     

Рисунок 3.1 Подсистема определения уровней воды в баке

 

Для решения системы (2) необходимо определить правые части уравнений.

В зависимости от значения сигнала контроллера Vinput значение выражения dVinput/dt в правой части первого уравнения системы (2) рассчитывается по формулам (1).

В зависимости от величины, поступающей на вход подсистемы от контроллера, по формулам (5) вычисляются значения функций K1(P1) и K2(P2). Значения этих функций позволяют рассчитать dV12/dt (два варианта выражений для двух возможных ситуаций), а также dVout/dt.

 

 

4 Создание блок-диаграммы модели

         4.1 Общий вид диаграммы

Блок–диаграмма модели собирается в пакете Simulink системы MatLab. Все блоки модели оформляются как подсистемы. Для этого в библиотеке Simulink выберите Ports&Subsystems - Subsystem.

         Окончательный вид диаграммы модели в пакете Simulink имеет вид, представленный на рисунке 4.1.

 

Рисунок 4.1 Окончательный вид диаграммы модели

 

Блок System не имеет входов, но имеет два выхода – h1 и h2, соединенные со стандартным блоком Мих (объединяющим их в вектор (h1, h2). Последний связан со стандартным блоком вывода Scope, на который он подает вектор выходных величин (h1, h2).

        

         4.2 Диаграмма подсистемы System

         Чтобы построить диаграмму модели, необходимо выделить в системе отдельные относительно независимые элементы и определить, каким образом они взаимосвязаны между собой.

         В рассматриваемой задаче в первую очередь можно выделить два основных элемента: саму систему из двух баков и устройство, управляющее открытием/закрытием кранов (контроллер).

         Контроллер посылает системе из двух баков сигналы, управляющие поведением кранов Vinput, V1, V2. Для правильного управления системой баков ему необходимо иметь значения интервалов времени Time1, Time2, уровней L_plus и  L_min, а также получать от системы баков значение уровня воды во втором баке h2, необходимое для управления поведением выходного крана V2.

 Итак, подсистема System представляет собой составной блок (рисунок 4.2). Он содержит в себе функциональную схему, включающую диаграмму Stateflow (представленную блоком Controller, являющимся экземпляром стандартного блока Chart и описывающим поведение контроллера), и составной блок

Tank_System_Block (подсистема определения уровней воды в баке), которые соединены соответствующими функциональными связями.

Также в блоке System присутствуют часы Clock, подающие системное время из Simulink в диаграмму Stateflow. Это объясняется тем, что при построении моделей, в которых используются блоки Stateflow (содержащие в себе переходы, инициируемые истечением неких временных интервалов), необходимо синхронизировать внутреннее системное время в Stateflow и в Simulink. Для этого необходимо на отдельный вход в блоке Stateflow подавать системное время из Simulink, и именно это время использовать при составлении условий переходов (таких, как истечение отрезков времени Time1 и Time2 в задаче о двух баках).

 

 

           Рисунок 4.2 Диаграмма подсистемы System

 

К связи, соединяющей блоки Clock и Controller, подсоединяются два экземпляра блока Hit Crossing. Еще два экземпляра блока Hit Crossing подсоедините к связи блока Controller и выхода h2  блока Tank_System_Block.

 Использование блоков Hit Crossing необходимо для правильного выполнения переходов в диаграмме Stateflow, включенной в модель Simulink, в которой происходит непрерывное интегрирование. На вход блока Hit Crossing подается некая величина (в модели двух баков для двух блоков Hit Crossing это системное время,  для еще двух - величина h2). У первого блока Hit Crossing внутренней величиной является момент времени Time1, у второго – Time1  + Time2, у третьего - значение L_plus, у четвертого – L_minus.

        

         4.3 Составные блоки подсистемы Tank_System_Block

Система двух баков должна реагировать на сигналы контроллера, а именно: управлять открытием/закрытием кранов, а также отслеживать ситуацию, когда вода во втором баке поднимается выше уровня Н, и при возникновении такой ситуации изменять скорость поступления воды во второй бак в соответствии с формулой (3). Также система должна отслеживать ситуацию переполнения баков и должным образом на нее реагировать.

         Исходя из этих требований, можно провести декомпозицию системы на несколько частей, а именно:

- выделить элемент, отвечающий за открытие/закрытие крана Vinput; назовем эту подсистему Vin_Control;

- выделить элемент, управляющий открытием/закрытием задвижек Р1 и Р2 по формулам 5; это будут подсистемы K1_Control и K2_Control;

  - в качестве третьего элемента системы можно выделить сами два бака, на которые возлагается задача отслеживания аварийной ситуации переполнения баков и ситуации, когда вода во втором баке поднимается выше уровня Н; эту подсистему назовем Two_Tanks.

 

4.3.1    Блок управления входным краном

Составной блок Vin_Control содержит в себе функциональную схему, состоящую из стандартного блока Switch и двух экземпляров стандартного блока Const, содержащих в себе значения, соответствующие скорости входного потока воды в систему двух баков, когда входной бак открыт и закрыт (формула (1)). Переключение между этими значениями происходит в блоке Switch в зависимости от значения, поступающего на вход блока Vin_Control от контроллера. Соответствующее значение Vin подается на выход.

 Блок Vin_ Control имеет один вход и один выход.

        

4.3.2 Блок управления краном между баками

Составные блоки K1_Control и K2_Control имеют идентичные функциональные схемы, различающиеся только значением коэффициентов в уравнении, представленном в стандартном блоке Fcn (формулы (5)). Функциональная схема каждого из них состоит из следующих элементов:

-         двух экземпляров стандартного блока Switch, один из которых необходим для переключения между положениями кранов V1/V2 открыто/закрыто, а второй для отслеживании ситуации, когда параметр р становится равным 80, и соответствующего переключения между значениями функции К(р);

      -   трех экземпляров стандартного блока Const, содержащих в себе значения

          1 и -1,  соответствующие положению крана V1/V2  (открывается/

           закрывается), и значение 0 для функции К(р) в ситуации, когда р>=80;

-         стандартного блока Integrator, интегрирующего поступающее от переключателя значение в пределах от 0 до 80 с начальным значением интегрируемой величины 80;

-         стандартного блока fen, в котором происходит вычисление значения функции К1(р)/К2(р).

Переключения в блоке Switch происходят в зависимости от величины,
поступающей на вход блока K1_Control/K2_ControI от контроллера.
Соответствующее значение
kl/k2 подается на выход. Блок KIControl/ K2_Control имеет один вход и один выход.

        

4.3.3 Подсистема Two_Tanks

Подсистема Two_Tanks имеет входные переменные kl, k2 и Vin, представляющие соответственно значения функций, управляющих кранами V1 и V2, а также скорость входного потока воды  в систему. Эти переменные поступают в рассматриваемую подсистему с выходов блоков, в которых они рассчитывались.

Выходные переменные - уровни воды в первом и втором баках h1 и h2. Значения этих переменных рассчитываются по формулам (2). Правые части этих уравнений содержат величины Vout и V12, закон изменения которых задается формулами (3) и (4). Следовательно, вначале надо сформировать подсистемы для вычисления этих переменных, назовем их  Vout_calc, V12_calcl и V12_calc2 (два блока, так как формула (3) имеет две ветви).

На вход блока Vout_calc поступают значения к2 и h2. Для объединения этих значений в один вектор используется стандартный блок Мuх. С этого блока вектор поступает на вход стандартного блока Fen, в котором происходит вычисление выходной величины Vout (формула (4)).

Аналогично создаются два блока для вычисления выходной величины V12 (формула (3)). Составной блок V12_calcl имеет функциональную схему, состоящую из стандартного блока Мuх, который объединяет в один вектор значения kl и h1, поступающие на его входы, и подающего этот вектор на вход стандартного блока Fen, в котором происходит вычисление выходной величины V12. Блок Vout_calc1 имеет два входа и один выход.

Составной блок V12_calc2 имеет функциональную схему, состоящую из стандартного блока Мuх, объединяющего в один вектор значения kl, hl и h2, которые поступают на его вход, и подающего этот вектор на вход стандартного блока Fen, в котором происходит вычисление выходной величины V12. Блок V12_calc2 имеет три входа и один выход.

Составной блок Two_Tanks имеет функциональную схему, образованную из следующих элементов:

-   составных блоков Vout_calc, V12_calcl и V12_calc2;

-   стандартного блока Switch;

-   двух экземпляров стандартного блока Мих, объединяющих в векторы

соответствующие значения - Vin (поступающее на вход блока Two_Tanks с выхода блока Vin Control) и V12, а так же V12 и Vout;

-  блоков Fcn, в которых вычисляются правые части уравнений (формулы (2));

- двух экземпляров стандартного блока Integrator, выходами которых являются значения h1 и h2, поступающие на выход.

Переключение в блоке Switch происходит в зависимости от значения h2, поступающего на вход блока Switch от интегратора. При этом подключается один из блоков, вычисляющих V12.

4.3.4 Окончательная диаграмма объекта исследования

Блоки Two Tanks, Vin Control, K1_Control и K2_ControI, соединенные между собой функциональными связями, составляют подсистему

Tank_ System.

Блок Tank System имеет три входа, на которые подаются сигналы контроллера (Vinput, V1, V2), и два выхода – h1 и h2.

Cоставной блок Tank_System, и по два экземпляра стандартных блоков Const, Relational Operator и Stop Simulation (выполняющих проверку на переполнение баков), соединенных соответствующими функциональными связями, образуют подсистему Tank_System_Block.

Блок Tank_System_Block имеет три входа (на которые подаются сигналы от контроллера) и два выхода (h1 и h2). Эта подсистема является блок-диаграммой нашего объекта исследования.

 

4.4 Создание диаграммы контроллера

Для описания поведения контроллера используется графический инструментарий Statefiow. В основе Statefiow лежит специальная форма представления гибридного поведения – карта состояний. Основные элементы карты состояний – это состояние (state) и переход (transition).

Для создания Statefiow-диаграммы необходимо открыть модель, созданную в Simulink. Затем нужно выбрать в библиотеке блок, обозначающий диаграмму Statefiow, и перенести его в свою модель. После двойного щелчка по нему мышью откроется окно Statefiow (chart), в котором, пользуясь меню и панелью инструментов, можно описывать сами состояния, связи между ними, определять переменные, условия переключения и другие, необходимые для управления элементы.

На диаграмме Statefiow различают две основные группы элементов: графические  и неграфические. Все графические элементы диаграммы представлены на левой панели основного окна - Statefiow (chart), графического редактора карт состояний. Это – state (состояние), default transition (переход по умолчанию), history junction (переход в последнее активное состояние) и  connective junction (соединительный  переход). Неявно на диаграмме задается еще один графический элемент – transition (переход). Состояния могут быть простыми и сложными (то есть имеющими иерархическую структуру), они также могут объединяться в цепочки состояний, функционирующих параллельно (и независимо друг от друга) и последовательно. В число графически непредставимых элементов входят data (переменные) и event (событие).

Каждое состояние описывает один режим работы событийно-управляемой системы. Состояние становится активным, если получает значение “истина” условие перехода (срабатывает переход),  ведущего к нему, или если это состояние является начальным. Каждое состояние на диаграмме Statefiow имеет «родителя», которым, по умолчанию, является сама диаграмма Statefiow.

Для создания графического образа состояния необходимо, выбрав на панели соответствующую кнопку, щелкнуть кнопкой мыши в том месте, где его необходимо разместить.

 Состояние имеет текстовые метки, которые определяют действия, выполняемые во время его активности. Имя состояния вводится первым. При описании самого состояния могут быть определены следующие действия:

- entry – действие, выполняемое на входе в состояние;

- during- действие, выполняемое, пока состояние активно;

- exit – действие, выполняемое на выходе из состояния;

- on: {имя события}- действие, выполняемое в момент появления события (имя которого указано в угловых скобках) при условии, что система будет находиться в данном состоянии.

Переход – это объект, связывающий между собой два состояния. На диаграмме Stateflow он представляется стрелкой, начало которой относится к состоянию-источнику, а конец – к состоянию-адресату. Для того чтобы нарисовать переход, достаточно установив мышь у состояния-источника, нажать ее левую кнопку и, удерживая ее, протянуть появившуюся стрелку до состояния-адресата. Переход имеет метку, которая описывает условия срабатывания перехода и выполняемые при этом действия.

Переход по умолчанию – это переход с заданным адресатом, но без заданного источника. Его используют как аналог начального состояния, а так- же в сложных состояниях для того, чтобы определить, какое подсостояние становится активным, когда система попадает в данное сложное состояние

Переменные – это неграфические объекты на диаграмме Stateflow, предназначенные для хранения числовых данных. Переменные можно использовать на любом уровне иерархии. Для того чтобы создать входные (выходные и т. д.) переменные в блоке Stateflow, необходимо в окне соответствующей диаграммы Stateflow выбрать соответствующий пункт меню: Add/Data/Input from Simulink для создания входной, Add/Data/Output to Simulink для создания выходной и Add/Data/Local для создания локальной переменной - и в открывшемся диалоговом окне Data ввести имя переменной и другие ее характеристики.

 

5 Варианты заданий

 

  

Timel [с]                

   Time2 [с]                   

L_plus [м]               

L_min |м]          

1

2

3

4

5

90

70

70

60

70

20

30

20

25

26,85

0,94

0,94

0,94

0,9

0,94

0,16

0,16

0,16

0,30

0,16

 

 

 

Варианты соответствуют ситуациям:

             - переполнение первого бака;

      - переполнение второго бака;

             - нормальный режим;

             - периодическое открытие и закрытие выходного крана;

             - система находится на границе между нормальным состоянием и режимом переполнения второго бака, оставаясь в нормальном состоянии.

 

6 Контрольные вопросы

6.1 В чем отличие аналитических методов моделирования от экспериментальных?

6.2 Какие законы сохранения используются для вывода уравнений модели?

6.3 Как по виду модели определить, является ли она динамической?

6.4 Для решения каких задач удобно применять пакет Simulink?

6.5 Какой инструментарий системы MatLAB используется для моделирования управления объектом?

6.6 Какие средства Simulink используются для визуализации результатов экспериментов, в чем их отличие?

6.7 Какие блоки Simulink используются для выполнения переходов?

6.8 Объясните функцию блоков Mux, Switch, Fcn.

6.9 Перечислите основные разделы библиотеки блоков Simulink.

6.10 Какие компоненты библиотеки использованы при построении блок-диаграммы модели?

 

Список литературы

1.                      Кафаров В.В., Мешалкин В.М. Принципы математического моделирования химико-технологических систем. – М.: Химия, 1974.

2.                      Кроу К. и др. Математическое моделирование химических прозводств. – М.: Мир, 1973.

3.                      Дьяконов В. П. MatLab 6/6.1/6.5 + Simulink 4/5. Основы применения. –М.: Солон-ПРЕСС,  2004.

4.                      Дьяконов В.П. Simulink 4. – М.: Солон-ПРЕСС, 2004.

 

 

 

 

Доп. план 2005 г., поз.

 

 

Лида Куандыковна Ибраева

 

 

МОДЕЛИРОВАНИЕ И ИДЕНТИФИКАЦИЯ ОБЪЕКТОВ ИССЛЕДОВАНИЯ

Методические указания к выполнению курсовой работы

(для студентов специальности 360140 -

Автоматизация и информатизация систем управления)

 

 

Редактор Ж.М.Сыздыкова

 

Подписано к печати                                                       Формат 60Х84  1/16

Тираж   50  экз.                                                              Бумага типографская №1

Объем 1.0 уч.-печ. Л.                                                     Заказ                Цена 30 тг.

 

 

Копировально-множительное бюро

Алматинского института энергетики и связи

480013 Алматы, ул. Байтурсынова, 126