
SPbGLTU_SimInTech_2020
.pdf
Рис. 5.17. Присвоение объекту «Математическая связь» имени CurrentVolume.
Рис. 5.18. Изменение второй строки основного скрипта проекта.
Последнее, что надо изменить в проекте tank_udp_control.prt, это адрес сервера, которому UDP-клиент будет посылать свои дейтаграммы (рис. 5.19).
Рис. 5.19. Настройка IP-адреса сервера для UDP-клиента.
81

Скриптовая часть tank_udp_control.prt должна иметь вид как на рис.
5.20.
Как видно из рис. 5.21, декомпозиция проекта была проведена успешно и позволила построить проекты, которые позволяют вести распределенное моделирование сразу на нескольких рабочих станциях. Но это только простейший подход, возможный в SimInTech.
Рис. 5.20. Скриптовый блок проекта tank_udp_control.prt.
Рис. 5.21. Тестирование распределенного проекта на двух сетевых станциях
82
После проведения всех модификаций, следует перейти к тестированию распределенного проекта. Сначала это можно сделать на одном компьютере, запустив сразу два проекта. Если оба проекта работоспособны, то их можно запустить либо на разных сетевых станциях, либо на одном компьютере, но в разных виртуальных машинах (рис. 5.21).
5.4. Задание на лабораторную работу
После знакомства с описательной частью лабораторной работы и выполнения примеров, которые приведены в ней, необходимо выполнить следующие задания.
1.Используя справочную [4] систему пакета SimInTech, познакомиться с входящими в его состав объектами для организации двунаправленного обмена данными по протоколу TCP-IP: это блоки «Клиент TCPIP» и «Сервер TCP-IP» из закладки «Данные».
2.В папке ”C:\SimInTech\Demo\Automatic\Обмен данными по сети” найти демо проект ”Блоки обмена по TCP” и скопировать его в свою рабочую папку. Затем тщательно разобраться в его работе, изменяя количество передаваемых и получаемых данных.
3.Скопировать проект tank_udp.prt в новый проект tank_tcp.prt. Изменить проект таким образом, чтобы связь между блоком управления и объектом управления выполнялась по двунаправленному каналу обмена данными (рис. 5.22).
4.Выполнить тестирование модели управления цистерной с двунаправленным каналом TCP-IP в рамках единого проекта. На данном этапе настойка TCP узлов должна использовать локальный петлевой адрес
IP.
5.Выполнить декомпозицию системы, в результате которой надо получить и сохранить два проекта: tank_tcp_object и tank_tcp_control. По-
сле этого в среде SimInTech надо открыть сразу оба проекта, запустить их на выполнение и убедиться в отсутствии синтаксических ошибок. Однако, если первым будет запущен проект tank_tcp_object, то будет получена ошибка (рис. 5.23).
С другой стороны, если первым будет запущен проект tank_tcp_contol, а вслед за ним проект tank_tcp_object, то модель будет ра-
ботать, но налицо рассогласование времен расчета проектов (рис. 5.24).
83

Рис. 5.22. Модель управления цистерной с двунаправленным каналом TCP-IP.
6. Для устранения этих недостатков создайте комплексную модель, которая обеспечит совместный синхронный расчет составляющих ее проектов. В SimInTech для этой цели предусмотрены специальные файлы пакетов проектов (*.pak). В решаемой задаче пакет должен включать в себя два проекта, а для создания файла пакета необходимо:
84

Рис. 5.23. Ошибка, если первым запускается проект tank_tcp_object.
Рис. 5.24. Несогласование времени расчета при первоначальном запуске проекта tank_tcp_contol.
закрыть все открытые в SimInTech проекты (при добавлении проектов в пакет они будут автоматически открыты, но уже в составе пакета);
выбрать в главном меню пункт «Файл → Новый проект → Пакет»;
откроется окно «Пакет проектов», в котором, нажимая на кнопку «Добавить проект», следует последовательно добавить в пакет сначала один проект, а потом и второй (рис. 5.25).
По окончании всех этих операций необходимо, нажав на кнопку «Сохранить пакет», сохранить пакет с именем, например, tank_tcp_pak в том же каталоге, где расположены и файлы включаемых в пакет проектов. При этом обратите внимание, что заголовок окна пакета изменился.
85

Рис. 5.25. Формирование файла пакета проектов tank_tcp_pak.
7. Согласуйте между собой параметры расчета в каждом из проектов. Кроме этого, если это необходимо, измените и параметры расчета всего пакета (рис. 5.26)
Рис. 5.26. Параметры расчета пакта проектов tank_tcp_pack.
8.Загрузите в среду SimInTech комплексную модель, открыв файл пакета проектов tank_tcp_pak.pak, а затем в окне «Пакет проектов» нажмите кнопку «Запустить все», чтобы инициировать работу сразу двух проектов (рис. 5.27).
9.Провести всестороннее тестирование модели. Выяснить влияние на ее работу таких параметров расчета, как «Минимальный и Максимальный шаг», «Относительная и Абсолютная ошибка», а что касается канала передачи данных, то тут интересно влияние свойства «Шаг обмена данными». Именно это свойство в реальной жизни будет определять требование к пропускной способности канала связи.
86

Рис. 5.27. Запуск в работу пакета проектов.
10. Закончив исследования модели, необходимо выполнить полноценное сетевое тестирование распределенной модели, либо на сетевых станциях, либо на базе виртуальных машин.
5.5. Настройка виртуальных машин для тестирования распределенных проектов SimInTech
Для сетевого тестирования проектов SimInTech в данной работе используется среда виртуализации Oracle VM VirtualBox. С ее помощью создается виртуальная машина. В ней, используя гостевую ОС Windows 7, надо установить пакет SimInTech. Затем машину надо клонировать и получить еще одну виртуальную машину с пакетом SimInTech. Таким образом, получено две виртуальных машины с именами, например, win7_SimInTech и win7_SimInTechCopy (рис. 5.28).
Рис. 5.28. Создание 3 виртуальных машин с ОС Windows для тестирования проектов.
87

Рис. 5.29. Настройка виртуальной сети хоста.
Далее требуется выполнить их подготовку для работы внутри виртуальной сети хоста. Для этого в менеджере VirtualBox проверяем, а если надо, то и устанавливаем нужные настройки виртуальной сети хос-
та (рис. 5.29).
После этого полезно проверить возможность хоста автоматически генерировать IP-адреса для узлов своей виртуальной сети (рис. 5.30).
Рис. 5.30. Настройка DHCP сервера хоста.
Далее, последовательно входя в настройки каждой из машин, надо настроить и включить в работу их сетевые адаптеры (рис. 5.31).
Очень важно проверить, что разные виртуальные машины имеют разные MAC-адреса, при необходимости исправить их (рис. 5.31). Также для каждой из машин надо обеспечить подключение к общей папке хоста, где должны храниться проекты SimInTech (рис. 5.32).
После сохранения всех сетевых настроек, выполненных в менеджере VirtualBox, можно открыть любую из виртуальных машин и проверить ее сетевые настройки (рис. 5.33).
88

Рис. 5.31. Настройка сетевых адаптеров виртуальных машин.
Рис. 5.32. Настройка общей папки виртуальных машин.
89

Рис. 5.33. Проверка правильности сетевой настройки виртуальной машины.
Если на какой-либо виртуальной машине надо иметь постоянный адрес, то в настройках протокола IP этой машины можно, предварительно сняв выделение у опции ”Получать IP-адрес автоматически”, установить требуемое значение (рис. 5.34).
Рис. 5.34. Установка постоянного IP-адреса виртуальной машины.
5.6. Основные свойства UDP блоков SimInTech
Для построения распределенных проектов, взаимодействующих между собой по сети, можно использовать библиотечные блоки SimInTech из закладки «Данные», такие как UDP клиент и сервер.
5.6.1. Блок UDP-клиента
Блок UDP-клиента обеспечивает передачу в сеть, по протоколу UDP, вектора, подаваемого на вход блока.
90