Электронный научный журнал
Международный студенческий научный вестник
ISSN 2409-529X

ИМИТАЦИОННАЯ МОДЕЛЬ РАСПРЕДЕЛЕННОЙ СИСТЕМЫ УПРАВЛЕНИЯ С ПРИМЕНЕНИЕМ ФУНКЦИОНАЛЬНЫХ БЛОКОВ

Антонова Е.А. 1 Мартышкин А.И. 1
1 Пензенский государственный технологический университет
Одним из развивающихся и перспективных направлений в проектировании систем управления сегодня является методика проектирования на основе абстрактных функциональных блоков. В статье рассматривается вариант создания имитационной модели распределенной системы управления с применением абстрактных функциональных блоков, которые представляют собой программные модули, выполняющие определенный алгоритм при поступлении некоторого события на соответствующий вход этого блока. Приложение состоит из нескольких таких блоков, соединенных связями по данным и событиям. Рассмотрен пример разработки системы массового обслуживания с использованием функциональных блоков и языка XML. Детально описан функциональный блок обслуживающего прибора и функциональный блок типа «очередь». Все описываемые блоки показаны на структурной схеме в общем виде. В конце работы приводятся фрагменты программных кодов на языке XML.
система массового обслуживания
функциональный блок
имитационное моделирование
алгоритм
язык XML
канал
заявка
обслуживающий прибор
1. Елькин И.В., Кустарев П.В. Модель абстрактных функциональных блоков // Научно-технический вестник СПбГИТМО (ТУ). Вып. 10. Информация и управление в технических системах. – СПб.: СПбГИТМО(ТУ), – 2003. – С. 55–61.
2. Мартышкин А.И. Имитационная модель распределенной системы с применением абстрактных функциональных блоков // Информационные технологии в экономических и технических задачах: Сборник научных трудов Международной научно-практической конференции, 2016. – С. 261–263.
3. Мартышкин А.И. Создание имитационной математической модели распределенной вычислительной системы с использованием абстрактных функциональных блоков // Новая наука: история становления, современное состояние, перспективы развития: Сборник статей Международной научно-практической конференции: в 2-х ч., 2016. – С. 41–43.
4. http://www.isagraf.ru.
5. Мартышкин А.И. Построение имитационной модели распределенной вычислительной системы с использованием абстрактных функциональных блоков // Информационные технологии. Радиоэлектроника. Телекоммуникации. – 2017. – № 7. – С. 372–374.
6. Мартышкин А.И., Бикташев Р.А., Востоков Н.Г. Программный комплекс для имитационного моделирования диспетчеров задач многопроцессорных систем с использованием приоритетных сетей массового обслуживания // Фундаментальные исследования. – 2014. – № 11–10. – С. 2155–2159.

Развивающимся перспективным направлением в проектировании систем управления является методика проектирования на основе абстрактных функциональных блоков (ФБ) [1]. ФБ служат основой для построения приложений, распределенных между отдельными узлами управляющей сети. Распределенная информационно-управляющая система представляет собой, в данном случае, совокупность ФБ, связанных управляющими и информационными связями. Каждый блок отвечает за выполнение какой-либо части управляющего алгоритма. Таким образом, здесь имеет место объектно-ориентированный подход к созданию приложений. Существует возможность создания своих блоков их последующего использования при проектировании, а также расширения функциональности уже существующих [2, 3].

ФБ представляет собой программный модуль, выполняющий определенный алгоритм при поступлении события на соответствующий вход этого блока. Приложение состоит из нескольких таких блоков соединенных связями по данным и событиям. Для описания типов ФБ используются языковые средства, описанные в стандарте IEC 61131, а также язык XML. Взаимодействие функциональных блоков основано на передаче управляющих сигналов – событий через соединение событий и передаче необходимых данных через соединение данных.

ФБ описывается объявлением внешнего интерфейса, диаграммой управления исполнением и алгоритмами, выполняемыми в соответствии с диаграммой. Алгоритмы могут быть написаны как на языках стандарта IEC 61131, так и обычных языках структурного программирования [1].

На сегодняшний день существует несколько программных продуктов поддерживающих стандарт IEC61499 среди них можно выделить среду Function Block Development Kit (FBDK) и программный продукт IsaGRAF 5 [4].

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

Рассмотрим конкретный пример разработки с использованием ФБ системы массового обслуживания, состоящей из очереди и обслуживающего прибора. Блок очереди (QUEUE) представлен на рис. 1.

ant1.tif

Рис. 1. Функциональный блок типа «ОЧЕРЕДЬ»

Он предназначен для сбора статистических данных и управления поступлением заявок извне, а также управляет загрузкой заявки из очереди в обслуживающий прибор [5, 6]. Для включения новой заявки в очередь используется событийный вход Z_IN, управляющий входом поступления заявок Z_NUM_IN. Этим же сигналом устанавливается количество каналов соответствующего обслуживающего прибора равное значению на входе NUM_CH. Событийный вход INIT используется для задания длины очереди MAX_LENGTH.

Событие на выходе Z_ENTER, предназначенном для уведомления блока статистики о появлении в очереди новой заявки. Выход данных LENGTH используется для выдачи, текущей длина очереди, а на выходе Z_NUM_OUT – значение номера заявки присвоенного ей на входе Z_NUM_IN. Событие на выходе Z_LEAVE появляется, когда обслуживающий прибор пуст и готов к обслуживанию новой заявки. Событие FREE_OP сообщает об освобождении обслуживающего прибора. Событие на выходе Q_FULL уведомляет блок статистики о достижении очередью состояния, когда очередь занята полностью. Выход события Z_REJEKT сигнализирует о том, что вновь поступившая заявка застигла очередь заполненной и была удалена из СМО без обслуживания.

Программа, описывающая функционирование ФБ QUEUE, представлена на языке XML

<FBType Name=»QUEUE» Comment=»Model for a Rotating Shaft» >

<Identification Standard=»61499–1» />

<InterfaceList>

<EventInputs>

<Event Name=»INIT» Comment=»Запуск иициализации, установка максимальной длины очереди» >

<With Var=»NUM_CH» />

<With Var=»MAX_LENGTH» />

</Event>

<Event Name=»Z_IN» Comment=»Появление заявки» >

<With Var=»Z_NUM_IN» />

</Event>

<Event Name=»FREE_OP» Comment=»Обслуживающий прибор свободен» >

</Event>

</EventInputs>

<EventOutputs>

<Event Name=»Z_ENTER» Comment=»заявка вошла в очередь» >

<With Var=»LENGTH» />

<With Var=»Z_NUM_OUT» />

</Event>

<Event Name=»Z_LEAVE» Comment=»Заявка покинула очередь» >

<With Var=»Z_NUM_OUT» />

</Event>

<Event Name=»Q_FULL» Comment=»Очередь заполнена» >

<With Var=»LENGTH» />

</Event>

<Event Name=»Z_REJEKT» Comment=»Заявка отклонена» >

<With Var=»LENGTH» />

<With Var=»Z_NUM_OUT» />

</Event>

</EventOutputs>

<InputVars>

<VarDeclaration Name=»MAX_LENGTH» Type=»INT» Comment=»Максимальная длина очереди» />

<VarDeclaration Name=»Z_NUM_IN» Type=»INT» Comment=»Номер поступающей заявки» />

<VarDeclaration Name=»NUM_CH» Type=»INT» Comment=»Количество каналов в соответствующем обслуживающем приборе» />

</InputVars>

<OutputVars>

<VarDeclaration Name=»LENGTH» Type=»INT» Comment=»Текущая длина очереди»/>

<VarDeclaration Name=»Z_NUM_OUT» Type=»INT» Comment=»Номер заявки покидающей очередь» />

</OutputVars>

</InterfaceList>

</FBType>

Функциональный блок обслуживающего прибора представлен на рис. 2.

ant2.tif

Рис. 2. Функциональный блок обслуживающего прибора

Вход данных NUM_CH используется для задания количества каналов обслуживающего прибора [5, 6]. Для включения заявки в обслуживающий прибор используется вход Z_IN. При появлении события на данном входе считывается значение на входе данных Z_NUM_IN, которое содержит номер заявки, а также устанавливается время обработки заявки равное значению на входе данных GEN. Вход TIMER используется для реализации задержки подсчётом событий от таймера. После завершения обработки заявки выдаётся событие на выходе Z_LEAVE и выдается номер заявки на выходе Z_NUM_OUT, а также выдаётся текущее значение количества занятых каналов с выхода CUR_NUM.

Программа, описывающая функционирование ФБ SD, представлена на языке XML.

<FBType Name=»SD» Comment=»Блока обслуживающего прибора» >

<Identification Standard=»61499–1» />

<InterfaceList>

<EventInputs>

<Event Name=»INIT» Comment=»Запуск иициализации, установка максимальной длины очереди» >

<With Var=»NUM_CH» />

</Event>

<Event Name=»Z_IN» Comment=»Появление заявки» >

<With Var=»GEN» />

<With Var=»Z_NUM_IN» />

</Event>

<Event Name=»TIMER» Comment=»Обслуживающий прибор свободен» >

</Event>

</EventInputs>

<EventOutputs>

<Event Name=»Z_LEAVE» Comment=»заявка закончила обслуживание» >

<With Var=»Z_NUM_OUT» />

<With Var=»CUR_NUM» />

</Event>

</EventOutputs>

<InputVars>

<VarDeclaration Name=»NUM_CH» Type=»INT» Comment=»Количество каналов» />

<VarDeclaration Name=»GEN» Type=»INT» Comment=»Количество каналов»/>

<VarDeclaration Name=»Z_NUM_IN» Type=»INT» Comment=»Имя заявки поступившей на обслуживание» />

</InputVars>

<OutputVars>

<VarDeclaration Name=»CUR_NUM» Type=»INT» Comment=»Текущее количество занятых каналов» />

<VarDeclaration Name=»Z_NUM_OUT» Type=»INT» Comment=»Имя выходящей заявки» />

</OutputVars>

</InterfaceList>

</FBType>


Библиографическая ссылка

Антонова Е.А., Мартышкин А.И. ИМИТАЦИОННАЯ МОДЕЛЬ РАСПРЕДЕЛЕННОЙ СИСТЕМЫ УПРАВЛЕНИЯ С ПРИМЕНЕНИЕМ ФУНКЦИОНАЛЬНЫХ БЛОКОВ // Международный студенческий научный вестник. – 2018. – № 3-2.;
URL: http://eduherald.ru/ru/article/view?id=18253 (дата обращения: 14.06.2021).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1.074