ТЕХНИЧЕСКИЕ НАУКИ
УДК 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].
Достоинства:
- поддержка разнообразных стилей и подходов в программировании;
- способность формирования общих контейнеров и алгоритмов для разнообразных типов данных, их типизация и расчеты на этапе компиляции, использованием шаблонов;
- возможность кроссплатформенности.
Недостатки:
- сложный синтаксис языка;
- примитивный препроцессор;
- модульность поддерживается не достаточно хорошо.
ЯЗЫК С#
С# - это один из распространенных представителей объектно-ориентированных языков программирования [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,