Научная статья на тему 'ИСПОЛЬЗОВАНИЕ СТАНДАРТНЫХ ЯЗЫКОВ И СРЕД ПРИ РАЗРАБОТКЕ МОДЕЛЕЙ ДЛЯ "ПРОДВИНУТЫХ" СИСТЕМ УПРАВЛЕНИЯ ТЕХНОЛОГИЧЕСКИМИ ПРОЦЕССАМИ'

ИСПОЛЬЗОВАНИЕ СТАНДАРТНЫХ ЯЗЫКОВ И СРЕД ПРИ РАЗРАБОТКЕ МОДЕЛЕЙ ДЛЯ "ПРОДВИНУТЫХ" СИСТЕМ УПРАВЛЕНИЯ ТЕХНОЛОГИЧЕСКИМИ ПРОЦЕССАМИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
37
7
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МATLAB / XML / UML / PASCAL / DELPHI / PYTHON / C++ / С# / JAVA / VISUAL BASIC / ANYLOGIC / MAPLE / MATHEMATICA

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Кирюшин Олег Валерьевич, Асылов Муса Ангамович

При реализации математических моделей процессов в составе «продвинутых» систем управления, возникает необходимость выбора языков программирования и сред, которые бы обеспечили разработку системы оптимальным образом с точки зрения удобства описания человеком, реализации в SCADAсистеме и т.д. В данной статье проведен анализ основных языков программирования, применяемых для описания моделей в различных средах, выделены их основные преимущества и недостатки.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Кирюшин Олег Валерьевич, Асылов Муса Ангамович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

USING STANDARD LANGUAGES AND ENVIRONMENTS TO MODEL ADVANCED PROCESS CONTROL SYSTEMS

When implementing mathematical models of processes as part of "advanced" control systems, it is necessary to select programming languages and environments that would ensure the development of the system in an optimal way from the point of view of convenience of human description, implementation in SCADA-system, etc. This article analyses the main programming languages used to describe models in different environments and highlights their main advantages and disadvantages.

Текст научной работы на тему «ИСПОЛЬЗОВАНИЕ СТАНДАРТНЫХ ЯЗЫКОВ И СРЕД ПРИ РАЗРАБОТКЕ МОДЕЛЕЙ ДЛЯ "ПРОДВИНУТЫХ" СИСТЕМ УПРАВЛЕНИЯ ТЕХНОЛОГИЧЕСКИМИ ПРОЦЕССАМИ»

ТЕХНИЧЕСКИЕ НАУКИ

УДК 004.43:66.021

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

«ПРОДВИНУТЫХ» СИСТЕМ УПРАВЛЕНИЯ ТЕХНОЛОГИЧЕСКИМИ ПРОЦЕССАМИ

Кирюшин Олег Валерьевич

кандидат техн. наук, доцент Кафедра автоматизация технологических процессов и производств Уфимский государственный нефтяной технический университет

г. Уфа

Асылов Муса Ангамович

студент 1 курса магистратуры Кафедра автоматизация технологических процессов и производств Уфимский государственный нефтяной технический университет

г. Уфа

USING STANDARD LANGUAGES AND ENVIRONMENTS TO MODEL ADVANCED PROCESS

CONTROL SYSTEMS

Kiryushin Oleg Valeryevich

Candidate of Technical Sciences, Associate Professor Department of Automation of Technological Processes and Production of the Ufa State Petroleum Technological University

Ufa

Asylov Musa Angamovich

Master's Degree 1 Student Department of Automation of Technological Processes and Production of the Ufa State Petroleum Technological University

Ufa

Аннотация

При реализации математических моделей процессов в составе «продвинутых» систем управления, возникает необходимость выбора языков программирования и сред, которые бы обеспечили разработку системы оптимальным образом с точки зрения удобства описания человеком, реализации в SCADA-системе и т.д. В данной статье проведен анализ основных языков программирования, применяемых для описания моделей в различных средах, выделены их основные преимущества и недостатки.

Abstract

When implementing mathematical models of processes as part of "advanced" control systems, it is necessary to select programming languages and environments that would ensure the development of the system in an optimal way from the point of view of convenience of human description, implementation in SCADA-system, etc. This article analyses the main programming languages used to describe models in different environments and highlights their main advantages and disadvantages.

Ключевые слова: Мatlab, XML, UML, Pascal, Delphi, Python, C++, С#, С, Java, Visual Basic, Anylogic, Maple, Mathematica.

Keywords: Matlab, XML, UML, Pascal, Delphi, Python, C++, C#, C, Java, Visual Basic, Anylogic, Maple, Mathematica.

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

функционирующие в соответствующей программной среде.

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

часто применяемые для этих целей языки и среды моделирования.

ЯЗЫК MATLAB

Язык Matlab является высокоуровневым интерпретированным языком программирования, включающий базирующиеся на матрицах структуры данных, широкий спектр функций, интегрированную среду для различных разработок, объектно-ориентированные возможности и интерфейсы к программам, реализованным на иных языках программирования [8].

В качестве достоинств данного языка выделяются:

- данный язык имеет поддержку векторных и матричных операций;

- в языке Matlab нет таких действий как объявление переменных, определение типов, выделение памяти;

- есть встроенные алгоритмы для анализа и обработки различных данных.

В качестве недостатков приводятся следующие аргументы:

- узконаправленность, язык применятся только в программе Matlab;

- высокая стоимость программного обеспечения;

- перегруженность операторами, командами, функциями.

ЯЗЫК РАЗМЕТКИ XML

Целью XML является хранение данных подвергнутых структурированию, с целью бартера информацией среди программ, и для формирования на его основе более узконаправленных языков разметки [9].

Выделяются следующие достоинства:

- поддержка Unicode;

- организует вид файлов с данными в виде текста понятного человеку;

- применяться на низких программных уровнях в новейших аппаратных решениях.

К недостаткам XML можно отнести следующие пункты:

- синтаксис языка XML весьма избыточный;

- не определена точная методика моделирования данных в XML;

- не обладает функцией поддержки типов данных закрепленных в язык.

ЯЗЫК UML

UML представляет собой стандартизованный графический язык моделирования для представления, изображения, конструирования и протоколирования ОО систем [2].

Достоинства:

- обладает возможностью показать систему почти с любой позиции и различных сторон действий систем;

- существуют различные варианты неоднократного применения имеющегося проекта или его фрагмента в новом проекте;

- язык UML увеличивает и разрешает внедрять личные текстовые и графические стереотипы.

Недостатки:

- содержит большое количество излишних диаграмм и конструкций;

- UML характеризован комбинацией себя то, есть обладает свойством абстрактного синтаксиса, OCL (языком описания ограничений - формальным контролем корректности) и английского (подробная семантика), из-за этого он не обладает жесткой скованностью языка, конкретно установленными техниками формального представления;

- рассогласование нагрузки.

ЯЗЫК PASCAL

Pascal представляет собой строго процедурный язык и обладает такими особенностями как строгая

типизация и наличие средств структурного программирования [5]. Несмотря на то, что данный язык является в первую очередь языком программирования, он также используется и для описания моделей объектов, например, при реализации функций тренажеров-имитаторов.

Достоинства языка:

- легкий синтаксис языка, что дает возможность быстро находить ошибки;

- не высокие аппаратные и системные требования;

- исходный код всегда открыт для редактирования каждым пользователем.

Недостатки Pascal:

- язык морально устарел, так как он был разработан 60 лет назад;

- объектно-ориентированное программирование осуществлено не удовлетворительно полно;

- компилятор был задуман на настоящий режим DOS.

ЯЗЫК DELPHI

Delphi представляет собой систему визуального объектно-ориентированного

программирования [3].

- довольно быстрая реализация приложений;

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

- компоненты можно разработать с помощью собственных средств Delphi.

Недостатки:

- статическое присоединение (linking) библиотеки VCL и компонентов к исполняемому файлу;

- вся информация о форме не оптимально хранится в файле exe;

- малое число параметров оптимизации кода.

ЯЗЫК PYTHON

Python является интерпретируемым, изначально объектно-ориентированным языком программирования, обладающий мощными подключаемыми средствами для построения математических моделей [11].

Достоинства:

- интерпретатор реализован практически на всех платформах и ОС;

- расширяемость языка;

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

Недостатки языка:

- сравнительно медленная скорость исполнения Python-программы, что обусловлено ее интерпретируемостью.

ЯЗЫК С

Язык С является универсальным языком программирования, обладающий такими свойствами как экономичность выражений, передовой поток управления и структуры данных богатый набор операторов [14].

Достоинством данного языка являются:

- нет альтернативной замены новейшими мощными языками;

- довольно высокая производительность;

- легкая структура языка.

Недостатки:

- сложный синтаксис языка;

- не применяется в нынешних веб -разработках.

ЯЗЫК C++

C++ - это компилируемый, статически типизированный язык программирования общего назначения [6].

Достоинства:

- поддержка разнообразных стилей и подходов в программировании;

- способность формирования общих контейнеров и алгоритмов для разнообразных типов данных, их типизация и расчеты на этапе компиляции, использованием шаблонов;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

- возможность кроссплатформенности.

Недостатки:

- сложный синтаксис языка;

- примитивный препроцессор;

- модульность поддерживается не достаточно хорошо.

ЯЗЫК С#

С# - это один из распространенных представителей объектно-ориентированных языков программирования [12].

Достоинства:

- объектно-ориентированный программированию во всем;

- много синтаксических упрощающих написание кода;

- большое разнообразие библиотек и шаблонов;

Недостатки:

- не повсеместно распространенный язык;

- не имеет свойства поддержки множественного наследования классов.

ЯЗЫК JAVA

Java - это один из универсальных языков моделирования, который может быть интегрирован в инструмент моделирования, к примеру в AnyLogic [7].

Выделяются следующие достоинства языка:

- приложения выполняются на стороне сервера, и на стороне клиента;

- язык является межплатформенным;

- обеспечивается механизм многопоточности и иные возможности ООП.

Недостатками являются следующие пункты:

- низкий уровень быстродействия, требовательность оперативной памяти;

- сложность изучения языка, связанная с значительным количеством стандартных библиотек;

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

ЯЗЫК VISUAL BASIC

Visual Basic - язык программирования третьего поколения (событийный язык программирования), а также интегрированная среда разработки программного обеспечения [15].

Преимущества языка:

- легкий для освоения синтаксис;

- есть способность компиляции как в машинный код, так и в Р - код;

- стабильность работы за счет протекции от ошибок.

Слабые стороны:

- работа только на операционных системах Windows и Mac OS X;

- не обладает способностью наследования реализации объектов;

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

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

ANYLOGIC

AnyLogic является программным

обеспечением, применяемым для целей имитации кого-либо процесса. Программа имеет новейший графический интерфейс, а для получения моделей используется язык программирования Java [10].

Достоинства:

- минимизация временных и финансовых ресурсов за счет возможностей программы;

- с одним инструментом, можно создать различного вида модели;

- пуск моделей возможен при любых условиях.

MAPLE

Maple - программный пакет предназначенный для аналитических вычислений на ЭВМ, у которого количество команд превышает отметку в две тысячи, которые в свою очередь дают возможность решать вопросы из различных областей наук связанных с математическими расчетами [4].

Достоинства:

- осуществление в символьном виде арифметических действий;

- возможность формировать отчеты в виде технических документов с содержанием текста, математических расчетов, рисунков, графиков и звука;

- наличие протокола TCP/IP, который предоставляет динамический путь к информации, содержащейся в других интернет-источниках.

Недостатки:

- при работе возникает некоторые торможения;

- дороговизна.

MATHEMATICA

Mathematica - это, во-первых, обыкновенная система программирования, полученная на основе сильного проблемно-ориентированного языка функционального программирования высокого уровня, а во-вторых диалоговая система для решения большого количества математических

подход к конструкций,

задач без использования средств традиционного программирования [13].

Достоинства:

- довольно большой комплекс функций графики и опций, изменяющих их действие;

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

Недостатки:

- своеобразный язык.

MATLAB

MATLAB - программный пакет, направленный на получение решения задач в символьном виде. Математические расчеты основаны на применении матричных операций [1].

Достоинства:

- библиотеки MatLab выделяются быстротой численных расчетов;

- благодаря библиотек Image Processing Toolbox, обеспечивается достаточно широкий спектр функций, обеспечивающих визуализацию осуществляемых расчетов на прямую из среды MatLab, масштабирование и анализ;

- присутствия гибкого пользовательского интерфейса, дозволяющего организовать данные и модели в библиотеке System Identification Toolbox.

Недостатки:

- низкая интегрированность среды;

- сложная для понимания справочная система;

- отличающий редактор кода применительно к MatLab -программам.

Заключение

В результате анализа видно, что каждый язык и среда, на котором он будет использоваться, имеют как свои преимущества, так и недостатки. Из этого следует, что выбор языка программирования выполняется индивидуально для каждой цели в зависимости от предъявляемых к нему требований. С точки зрения скорости разработки и точности исполнения моделей оптимальными являются языки математического моделирования Matlab и Mathematica, с точки зрения реализуемости в SCADA-системах - языки типа VB, C, C++ и др., для использования в составе имитаторов и модулей оптимизации по показателям качества - XML, UML, Python.

Литература:

1. Алексеев Е.Р., Чеснокова О.В. MATLAB 7. Самоучитель. — Пресс, 2005. — 464 с.

2. Буч Г., Якобсон А., Рамбо Дж. UML. Классика CS / С. Орлов. — 2-е изд. — СПб.: Питер, 2006. — 736 с.

3. Вальвачев А.Н., Сурков К.А., Сурков Д.А., Четырько Ю.М. Программирование на языке Delphi. Учебное пособие. — 2005.

4. Говорухин В.Н., Цибулин В.Г. Введение в Maple. Математический пакет для всех. — М.: Мир, 1997. — С. 208.

5. Грогоно П. Программирование на языке Паскаль. — М.: Мир, 1982. — 384 с.

6. Губина Г.Г. Компьютерный английский. Ч. I. Computer English. Part I. Учебное пособие. — С. 385.

7. Джошуа Блох. Java. Эффективное программирование. Effective Java. — 3-е. — М.: Диалектика, 2019. — 464 с.

8. Дьяконов В. П. Справочник по применению системы PC MATLAB. — М.: «Физматлит», 1993. — 112 с.

9. Дэвид Хантер, Джефф Рафтер, Джо Фаусетт, Эрик ван дер Влист, и др. XML. Работа с XML, 4-е— М.: «Диалектика», 2009.

10. Карпов Ю.Г. Имитационное моделирование систем. Введение в моделирование с AnyLogic 5. — СПб: БХВ-Петербург, 2006. — 400 с.

11. Коэльё Л.П., Ричерт В. Построение систем машинного обучения на языке Python. — Перевод с английского. — М.: ДМК Пресс, 2015.

12. Либерти Д. Язык программирования C# // Программирование на C#. — Санкт-Петербург. — 2003: Символ-Плюс. — С. 26. — 688 с

13. Морозов А.А., Таранчук В.Б. Программирование задач численного анализа в системе Mathematica: Учеб. пособие. - Мн.: БГПУ, 2005. — 145 с.

14. Подбельский В.В., Фомин С.С. Курс программирования на языке Си: учебник. — М.: ДМК Пресс, 2012. — 318 с.

15. Сергеев В. Visual Basic 6.0. Руководство для профессионалов. — СПб.: «БХВ-Петербург», 2004. — 974 с.

ТЕХНОЛОГИИ, ИСПОЛЬЗУЕМЫЕ В ТЕКСТИЛЬНОЙ ПРОМЫШЛЕНОСТИ

Тойбаев Кенжехан Дуйсебаевич

доктор технических наук, академический профессор, Казахская головная архитектурно-строительная академия

г.Алматы

Закеров Мадияр Серикбаевич

магистрант, факультет общего строительства, Казахская головная архитектурно-строительная академия

г.Алматы

DOI: 10.31618/nas.2413-5291.2020.3.52.151 TECHNOLOGIES USED IN THE TEXTILE INDUSTRY

Toybaev Kenzhehan

doctor of technical Sciences, academic Professor,

i Надоели баннеры? Вы всегда можете отключить рекламу.