Система и способ для моделирования и расчета химико-технологических систем
CHEMICAL-TECHNOLOGICAL SYSTEMS SIMULATION AND CALCULATION SYSTEM AND METHOD

ОБЛАСТЬ ТЕХНИКИ
[01] Настоящее изобретение относится к компьютерным системам и, более конкретно, к системам и способам для моделирования и расчета химико-технологических систем, а также к системам и способам для расчета аппаратов химико-технологических схем.
УРОВЕНЬ ТЕХНИКИ
[02] При создании новой технологической системы (в частности, химико-технологической системы) или модернизации существующей с целью создания эффективного производства или повышения эффективности существующего производства необходимо знать параметры элементов технологической (в частности, модулей технологической схемы) схемы и самой технологической схемы в целом. Для того чтобы узнать параметры технологической схемы, необходимо провести ее расчет. Такие расчеты могут быть произведены посредством моделирования технологических схем.
[03] Моделирование является одним из основных способов, позволяющих ускорить технический прогресс, создать и ввести в эксплуатацию новые установки и т.д.
[04] К недостаткам существующих систем, таких как CHEMCAD, Aspen PRO II, а также HYSYS, реализующих расчет химико-технологических схем различными способами, можно отнести наличие однопользовательского режима работы таких систем, поскольку они представляют собой программное обеспечение, устанавливаемое на компьютере пользователя, использующего только операционную систему Microsoft Windows.
[05] Одной из особенностей системы, реализующий способ, описанный в настоящем изобретении, является кроссплатформенность такой системы, т.е. независимость клиентской части системы от платформы. В частности, описываемая в рамках настоящего изобретения система может быть реализована в виде интернет-приложения (веб-приложения), в котором клиентом выступает веб-браузер, а сервером - веб-сервер, что позволяет предоставить доступ сразу нескольким пользователям к расчету проектируемой технологической схемы или нескольким проектируемым технологическим схемам.
[06] Также, одним из недостатков существующих систем, реализующих способы расчета технологических схем, является невозможность использовать более одной системы расчета (в том числе системы промышленного моделирования технологических схем и аппаратов), алгоритма расчета, модели расчета, программы расчета технологической схемы или аппарата (аппарата химико-технологических схем).
[07] Еще одной особенностью системы, реализующий способ, описанный в настоящем изобретении, является возможность использования одновременно несколько систем (алгоритмов, модулей) расчета/моделирования (далее модуль расчета, реализованный, по крайней мере, одним программным модулем), предназначенных для расчета аппаратов и модулей (в том числе, для расчета одного и того же аппарата и/или технологической схемы различными системами расчета), что позволяет объединить результаты расчетов различных систем расчета (в том числе, промышленных систем моделирования), в том числе, в одной технологической схеме. Также каждый модуль технологической схемы может быть рассчитан различными системами промышленного моделирования, что позволяет производить сравнение результатов расчета. Если известны некоторые характеристики (например, характеристики/параметры выходных потоков аппарата, температура газа после компрессора и т.д.) составных частей технологической схемы, (например, пользователь, редактирующий/моделирующий существующую технологическую схему, уже знает некие ее характеристики), то пользователь может оценить какая, из предложенных систем расчета, более точно описывает существующую технологическую схему (например, посмотреть и оценить, какая из использованных систем расчета наиболее точно рассчитала значение элементов технологической схемы (модулей технологической схемы), например, значение температуры газа после компрессора), что позволяет повысить эффективность моделирования технологических схем.
[08] Стоит отметить, что в существующих системах моделирования и расчета химико-технологических схем добавление новых расчетных модулей химико-технологических схем осуществляется только путем добавления в систему расчета в виде динамически подключаемых библиотек (Dynamic Link Library, DLL), что резко ограничивает возможность интегрирования различных расчетных моделей в систему расчета химико-технологических схем и делает невозможным подключение расчетных модулей/программных модулей, не написанных специфически для Windows Object Linking and Embedding (технология связывания и внедрения объектов в другие документы и объекты, сокр. OLE).
[09] Еще одним недостатком существующих систем расчета химико-технологических схем и химико-технологических процессов является однопользовательский режим работы таких систем (приложений) и требуют установки отдельной копии программного обеспечения (такой системы расчета) на каждый пользовательский компьютер, на котором предполагается производить расчет химико-технологических схем, что затрудняет использование результатов расчетов химико-технологических схем и созданных одним пользователем химико-технологических схем другими пользователями. Такие решения также зависят от компьютерной платформы (архитектуры процессора компьютера, типа операционной системы, программного обеспечения, установленного на компьютере пользователя и т.д.), что делает невозможным использование программного обеспечения, написанного под одну компьютерную платформу (например, на персональном компьютере под управлением операционной системы Apple OsX/MacOs), на другой компьютерной платформе (например, на персональном компьютере под управлением операционной системы Microsoft Windows).
[010] Также, помимо существующих (например, на сервере или подключаемые к серверу) систем (алгоритмов расчета, расчетных модулей/модулей расчета) расчета, в частности, реализованных, по крайней мере, одним программным модулем, при расчете технологических схем, модулей и аппаратов могут быть использованы алгоритмы расчета/расчетные модули/модули расчета/модели расчета, написанные, например, пользователем, администратором сервера, посредством систем, подключаемых к серверу, производящему упомянутый выше расчет, на одном из языков программирования, в частности, скриптовом языке программирования, как описано ниже, причем такие алгоритмы расчета могут быть заданы в процессе создания или корректировки технологической схемы или в процессе корректировки или добавления модуля технологической схемы, а также после расчета технологической схемы, аппарата, модуля технологической схемы и т.д. Таким образом, в описываемой в настоящем изобретении системе, реализуемый описываемый способ расчета технологических схем, предусматривает возможность добавления элементов технологической схемы, в частности, модулей технологической схемы (которых еще нет в системе расчета технологической схемы) на стороне пользователя, а также предусматривается возможность введения корректировок для технологической схемы (в частности, могут быть скорректированы параметры потоков, например, путем добавления теплопотерь в трубопроводе между двумя модулями технологической схемы).
[011] Таким образом, индивидуальный расчет модуля может быть интегрирован в описываемую систему не только как Windows-компонент, например, в виде DLL-библиотеки, но и как отдельный процесс на любой компьютерной системе, что повышает эффективность интегрирования модулей технологической схемы.
[012] Кроме того, описываемая в настоящем изобретении система позволяет задавать упрощенное описание модулей, позволяющее производить быстрый предварительный расчет технологической схемы. Далее, после проведения предварительного расчета технологической схемы, используемые модули с упрощенным описанием расчета могут быть заменены модулями с полным описанием, т.е. модулями, более точно описывающими реально существующие аппараты, после чего система способна произвести детальный расчет технологической схемы. Упрощенное описание модулей может быть задано пользователем посредством одного из компьютерных языков программирования, включая скриптовые языки программирования, как будет раскрыто в рамках описания настоящего изобретения.
[013] Еще одним преимуществом описываемых в настоящем изобретении способе и системе является использование стандартного языка Сервисной Шины Предприятия. На сервере, для модулируемой системы создается конфигурационный файл с конфигурационным заданием, обрабатываемым средствами/элементами Сервисной Шины Предприятия. Конфигурационный файл содержит данные, записанные в текстовом формате, что делает возможным его чтение и редактирование без использования дополнительного программного обеспечения, включающего, например, программный или графический интерфейс пользователя, и позволяет использовать любой стандартный текстовый редактор, уже установленный на компьютере пользователя.
[014] В существующих системах расчета технологических схем, как правило, для добавления нового аппарата необходимо обновлять, как минимум, графический интерфейс пользователя, например, путем добавления новой формы, содержащей характеристики/параметры аппарата, для такого аппарата, включающей параметры добавляемого аппарата. Кроме того, при добавлении нового аппарата в систему расчета на сервере, графический интерфейс пользователя автоматически не обновляется.
[015] В свою очередь, описываемые в настоящем изобретении система и способ расчета позволяют генерировать входы, выходы аппаратов, модулей и т.д., их параметры/характеристики, а также форму для ввода/задания характеристик/параметров для аппарата на основе описания соответствующего модуля, расположенного на сервере.
[016] Кроме того, известные существующие системы расчета технологических схем, как правило, используют для вычисления компьютерное устройство, на котором оно установлено, в частности, персональный компьютер пользователя, в то время, как расчет на сервере или нескольких серверах (описываемый в рамках настоящего изобретения) позволяет использовать ресурсы мощных вычислительных устройств, тем самым снизив время, затрачиваемое на расчет технологических схем, что позволяет повысить скорость расчета технологических схем и ее составных частей посредством использования распределенной системы вычислений.
[017] Соответственно, основываясь на анализе существующего уровня техники и возможностей, существует потребность в данной области техники в системе и способе для моделирования и расчета химико-технологических систем, а также в системе и способе для расчета аппаратов химико-технологической схемы.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[018] Технический результат настоящего изобретения заключается в моделировании и расчете химико-технологических систем, а также в расчете аппаратов химико-технологической схемы на основе конфигурационного задания.
[019] Согласно одному из вариантов реализации, предлагается способ для моделирования и расчета химико-технологических систем, включающий следующие шаги: а) создание пользователем новой химико-технологической схемы или выбор и/или редактирование пользователем созданной или существующей химико-технологической схемы из набора химико-технологических схем посредством интерфейса ввода-вывода на клиентской стороне, сохраненных на сервере, где химико-технологическая схема описывает химико-технологическую систему, характеризующейся, по крайней мере, одним химико-технологическим процессом, причем химико-технологическая схема состоит из модулей химико-технологической схемы, связанных входными и выходными потоками, и расчет аппаратов химико-технологической схемы выполняется расчетными модулями, реализованными в виде элементов Сервисной Шины Предприятия; б) выбор и добавление модулей химико-технологической схемы в химико-технологическую схему и задание пользователем входных параметров химико-технологической схемы и/или параметров модулей химико-технологической схемы, включающих, по крайней мере, параметры входного потока и/или выходного потока для химико-технологической схемы, и/или параметры аппаратов химико-технологической схемы, и/или параметры для модулей химико-технологической схемы, и/или выбор расчетных модулей для модулей химико-технологической схемы; в) передача данных, полученных в пунктах а) и б) с описанием химико-технологической схемы на сервер в виде HTTP-запроса для расчета химико-технологической схемы; г) преобразование полученных со стороны пользователя данных на сервере в конфигурационное задание в формате Сервисной Шины Предприятия; д) проведение расчета посредством обработки Сервисной Шиной Предприятия конфигурационного задания, причем химико-технологические потоки представлены сообщениями Сервисной Шины Предприятия и модули химико-технологической схемы представлены элементами Сервисной Шины Предприятия; е) отправка результатов расчета химико-технологической схемы на клиентскую сторону в виде HTTP-ответа.
[020] В одном из частных вариантов реализации задаваемые параметры модулей химико-технологической схемы включают задание, по крайней мере, одного входного потока модуля химико-технологической схемы.
[021] В одном из частных вариантов реализации модулю химико-технологической схемы соответствует, по крайней мере, один расчетный модуль химико-технологической схемы, выполненный в виде программного модуля, реализованного на языке программирования.
[022] В одном из частных вариантов реализации расчетные модули создаются пользователем на языке Сервисной Шины Предприятия в дополнение к ранее созданным расчетным модулям.
[023] В одном из частных вариантов реализации модули химико-технологической схемы преобразуют входящие потоки в выходящие потоки аппаратов.
[024] В одном из частных вариантов реализации интерфейс пользователя является веб-интерфейсом.
[025] В одном из частных вариантов реализации расчетные модули преобразуются на сервере в элементы Сервисной Шины Предприятия.
[026] В одном из частных вариантов реализации характеристики потоков химико-технологической схемы моделируются сообщениями Сервисной Шины Предприятия, которые включают химико-технологические параметры потоков, такие как: давление; температуру; расход, концентрации химических элементов.
[027] В одном из частных вариантов реализации Сервисная Шина Предприятия может быть построена с использованием фреймворка для интеграции корпоративных приложений «Spring Integration», основанном на ядре «SpringFramework».
[028] В одном из частных вариантов реализации описание химико-технологической схемы включено в конфигурационный файл, представленный в формате сохранения данных, например, XML.
[029] В одном из частных вариантов реализации после окончания расчета химико-технологической схемы результаты расчета добавляются в конфигурационный файл в виде свойств элементов Сервисной Шины Предприятия.
[030] В одном из частных вариантов реализации конфигурационный файл сохраняется на сервере и может быть запрошен пользователем для восстановления исходной химико-технологической схемы.
[031] В одном из частных вариантов реализации описание химико-технологической схемы включает упрощенное описание модулей химико-технологической схемы, позволяющее производить быстрый расчет химико-технологической схемы.
[032] В одном из частных вариантов реализации конфигурационный файл сохраняется в базе данных.
[033] В одном из частных вариантов реализации расчетные модули подключаются к серверу для расчета, по крайней мере, одного модуля химико-технологической схемы.
[034] В одном из частных вариантов реализации модули химико-технологической схемы могут быть скомпонованы в цепочки модулей химико-технологической схемы, описывающих, по крайней мере, один аппарат, причем такая цепочка рассчитывается, по крайней мере, одним выбранным для нее расчетным модулем.
[035] В одном из частных вариантов реализации цепочка модулей химико-технологической схемы сохраняется на сервере отдельно от химико-технологической схемы в виде блока химико-технологической схемы или модуля химико-технологической схемы.
[036] В одном из частных вариантов реализации цепочка модулей химико-технологической схемы может быть добавлена в химико-технологическую схему в виде блока модулей химико-технологической схемы или модуля химико-технологической схемы.
[037] В одном из частных вариантов реализации рассчитанные на сервере характеристики цепочки модулей химико-технологической схемы, включая входные, выходные и промежуточные потоки и их характеристики, хранятся вместе с цепочкой модулей и используются для расчета химико-технологической схемы, в которую такая цепочка модулей химико-технологической схемы была добавлена.
[038] В одном из частных вариантов реализации модулю химико-технологической схемы сопоставляется элемент Сервисной Шины Предприятия, при помощи которого на сервере выполняется расчет данного модуля химико-технологической схемы.
[039] В одном из частных вариантов реализации расчет модуля химико-технологической схемы проводится на разных серверах, в зависимости от настроек Сервисной Шины Предприятия.
[040] Согласно еще одному из вариантов реализации, предлагается способ для расчета аппаратов химико-технологической схемы, выполняющийся на сервере, на основе конфигурационного задания, включающий следующие шаги: получение на сервере конфигурационного файла, содержащего конфигурационного задания, описывающего свойства элементов Сервисной Шины Предприятия; преобразование набора данных из конфигурационного файла в, по крайней мере, одно Сообщение Сервисной Шины Предприятия, относящихся к определенному потоку химико-технологической схемы, описывающих характеристики, по крайней мере, одного потока химико-технологической схемы и передающихся по потокам химико-технологической схемы, где химико-технологическая схема описывает химико-технологическую систему, характеризующейся, по крайней мере, одним химико-технологическим процессом, причем химико-технологическая схема состоит из аппаратов химико-технологической схемы, связанных входными и выходными потоками, и расчет аппаратов химико-технологической схемы выполняется расчетными модулями; передачу, по крайней мере, одного Сообщения, по крайней мере, по одному Каналу, причем Канал является частью Сервисной Шины Предприятия и связывает элементы Сервисной Шины Предприятия, а также используется для моделирования направления потоков химико-технологической схемы, где элементами Сервисной Шины Предприятия являются, по крайней мере, активатор, адаптер, роутер, агрегатор; вычисление, по крайней мере, одного параметра аппарата с использованием элементов Сервисной Шины Предприятия.
[041] В одном из частных вариантов реализации активатор используется для получения сообщения и вызова адаптера и имеет один вход и один выход и используется для преобразования сообщения; адаптер используется для расчета модуля химико-технологической схемы и для преобразования и отправки сообщения в канал и обработки сообщения из канала; роутер используется для перенаправления, по крайней мере, одного сообщения по каналам, в зависимости от свойств сообщений; агрегатор используется для объединения, по крайней мере, двух сообщений в одно.
[042] В одном из частных вариантов реализации потоки химико-технологической схемы представлены каналами Сервисной Шины Предприятия.
[043] В одном из частных вариантов реализации сервер использует, по крайней мере, один алгоритм расчета аппарата схемы, подключаемый к серверу в виде модуля химико-технологической схемы.
[044] В одном из частных вариантов реализации алгоритм расчета аппарата химико-технологической схемы выполнен в виде программного кода.
[045] В одном из частных вариантов реализации алгоритмы и/или программы расчета для модулей химико-технологической схемы создаются пользователем на языке программирования и включают программный код.
[046] В одном из частных вариантов реализации расчетные модули преобразуются на сервере в элементы Сервисной Шины Предприятия.
[047] В одном из частных вариантов реализации расчет, по крайней мере, одного аппарата может быть запрошен устройством пользователя, так что результаты расчета аппарата после проведения, по крайней мере, одного расчета аппарата могут быть переданы на устройство пользователя.
[048] В одном из частных вариантов реализации химико-технологической схеме сопоставляется конфигурационное задание, содержащееся в конфигурационном файле.
[049] В одном из частных вариантов реализации результаты расчета, по крайней мере, одного аппарата химико-технологической схемы сохраняются на сервере.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[050] Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:
[051] ФИГ. 1 иллюстрирует примерный вариант связи аппарата с математическими моделями, алгоритмами и модулями технологической схемы (технологическим модулем);
[052] ФИГ. 2 иллюстрирует примерный вариант технологической схемы технологической линии/процесса;
[053] ФИГ. 3 иллюстрирует примерный вариант системы, реализующей настоящее изобретение;
[054] ФИГ. 4 иллюстрирует примерное представление части технологической схемы, изображенной на ФИГ. 2, в виде элементов Сервисной Шины Предприятия;
[055] ФИГ. 5 иллюстрирует примерный вариант интерфейса установки параметров аппарата;
[056] ФИГ. 6 иллюстрирует блок-схему одного из вариантов процесса создания, редактирования и расчета технологической схемы;
[057] ФИГ. 7 иллюстрирует блок-схему примерного варианта обработки данных и расчета технологической схемы;
[058] ФИГ. 8 иллюстрирует пример компьютерной системы общего назначения.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
[059] Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, она может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, обеспеченными для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется только в объеме приложенной формулы.
[060] Химико-технологическая схема (ХТС) представляет собой описание технологической системы, характеризующейся, как минимум, одним технологическим процессом, и состоит из аппаратов (в частности, химических аппаратов, химико-технологических аппаратов, технологических аппаратов и т.д.). Аппараты (в которых протекают технологические процессы, включая химические и химико-технологические процессы) представляют собой модули технологической схемы, соединенные технологическими каналами, по которым передаются потоки (химико-технологические потоки). Каждому потоку в технологической схеме соответствует, как минимум, один Канал, связывающий, как минимум, два модуля. К примерам аппаратов можно отнести массообменные аппараты, выпарные аппараты, колонна дистилляции, адсорбер и т.д. Каналы, как для модуля технологической схемы, так и для технологической схемы, делятся на входные каналы и выходные каналы. В частном случае, выходной канал из одного модуля технологической схемы является входным каналом для другого модуля технологической схемы. Каналы служат/используются для связи/соединения модулей технологической схемы и используются для передачи потоков между модулями технологической схемы. Каждый аппарат включен в модуль химико-технологической схемы. Модуль технологической схемы может быть рассчитан, по крайней мере, одним расчетным модулем (реализующим, по крайней мере, один алгоритм расчета модуля технологической схемы), который представляет собой программное решение (программное обеспечение, программу), при помощи которого производится расчет. Для одного типа аппарата может существовать несколько модулей расчета, которые способны производить расчет данного типа аппарата различными способами, например, аппарат типа компрессор может быть реализован такими модулями расчета, как:
[061] - модуль расчета позволяющий рассчитать определенную модель аппарата с использованием программного обеспечения, поддерживающегося системой, описываемой в рамках настоящего изобретения;
[062] - модуль расчета позволяющий рассчитать определенную модель аппарата при помощи программы промышленного моделирования (программы расчета);
[063] - модуль расчета позволяющий рассчитать определенную модель аппарата при помощи программного обеспечения MatLab (программы расчета)
[064] и т.д.
[065] Задачей моделирования является определение выходных потоков аппарата 110 на ФИГ. 1 (химико-технологического процесса, химико-технологической схемы, химико-технологической системы, цепочек химико-технологической схемы и т.д.) на основании его математической модели (120, 130, 140 на ФИГ. 1), т.е. математического описания работы аппарата и определение его свойств и особенностей. Технологическая схема, состоит из аппаратов, которые преобразуют входные потоки в выходные потоки. Возможное количество таких аппаратов может исчисляться десятками, сотнями и т.д., в то время как, технологических схем, которые можно создать с использованием аппаратов может быть создано бесконечное множество. В связи с этим, как правило, математическая модель для каждой схемы не создается, поскольку является крайне ресурсоемкой задачей. Математические модели аппаратов подробно описывают работу аппаратов, например, описывают, как изменится выходной поток, на основе входного потока и свойств аппарата. При этом, математическая модель не учитывает, в какой именно технологической схеме используется тот или иной аппарат, поскольку роль играют такие параметры, как начальные данные (свойства, характеристики, параметры входных потоков и аппарата), задаваемые, например, пользователем или частями автоматизированной системы управления. Однако даже если используется математическая модель аппарата, не всегда с высокой точностью могут быть рассчитаны параметры выходных потоков аппарата. Часто наиболее точные методы расчета химико-технологических аппаратов (аппаратов химико-технологической схемы) основаны на решении дифференциальных уравнений обыкновенных или в частных производных, на сложных итеративных методах с негарантированной сходимостью, особенно если задание начальных условий неточное. Таким образом, для расчетов может быть использовано несколько моделей, поэтому возможность выбора модели очень важна для пользователя. В связи с этим, для решения какой-либо математической модели могут быть использованы различные алгоритмы (150, 152, 154, 156, 158, 159 на ФИГ. 1), которые с той или иной точностью решают математическую модель. Таким образом, существуют технологический аппарат (компрессор, насос, разделитель, смеситель и т.д.), математическая модель, описывающая работу аппарата (математических моделей может быть несколько) и алгоритмы, которые рассчитывают математические модели (которых также может быть несколько для каждой математической модели). Модуль расчета (160, 162, 164, 166 на ФИГ. 1), описываемый в рамках настоящего изобретения, представляет собой реализацию одного из возможных алгоритмов расчета математической модели аппарата.
[066] Например, в компрессор подается газ, известны химико-технологические параметры потоков, т.е. состав газа, концентрация химических элементов, из которых состоит газ, давление, температура и расход, необходимо определить, как изменится его давление, температура и расход после прохождения аппарата. Модуль расчета производит расчет аппаратов и/или модулей технологической схемы, то есть, определяет свойства/параметры выходных потоков на основе типа аппарата и/или модуля технологической схемы и входной информации. Выходной поток для одного аппарата и/или модуля технологической схемы является входным для следующего.
[067] Модуль технологической схемы, рассчитываемый, по крайней мере, одним элементом Сервисной Шины Предприятия, в частности, модулем расчета (расчетным модулем), характеризуется, по крайней мере, типом, как минимум, одного аппарата, набором входных и выходных потоков и их характеристиками, а также свойствами, описывающих аппарат и/или модуль технологической схемы, так, например, к таким свойствам для теплообменного аппарата относится коэффициент теплообмена, а для мембранного разделения - площадь мембраны и ее параметры.
[068] Потоки, как для модуля технологической схемы, так и для технологической схемы, делятся на входные потоки и выходные потоки. Потоки можно разделить, как минимум, на два типа: материальные потоки (вещественные потоки) и энергические потоки. Материальные потоки описывают потоки веществ и их свойства/параметры, такие как состав и концентрация компонент/компонентов (химических элементов), расход компонентов и физические свойства компонентов, например, температуру, давление и т.д. Энергетические потоки описывают потоки энергии (тепловой, электрической и т.д.) подводимой к модулям или отводимой от модулей технологического процесса.
[069] Так, например, вещественный поток может представлять собой поток жидкости или газа. Если рассматривать в качестве аппарата (описываемого модулем технологической схемы) компрессор, то входной поток компрессора может быть представлен газом, который подается на вход компрессора, а выходной поток может быть представлен газом выходящим из компрессора. Для работы компрессора к нему необходимо подключить электричество - это и есть энергетический поток, который измеряется в киловатт-часах (кВт ч).
[070] На ФИГ. 2 показан примерный вариант технологической линии (в виде технологической схемы) на примере производства сметаны. Входным потоком 210 для данной технологической линии в данном частном случае является цельное молоко. Характеристиками входного потока могут являться следующие параметры: температура 12 градусов Цельсия, расход 100 л/ч; состав: вода 12%, молоко 84%, жир 4%.
[071] В первом аппарате 215 (представленным смесителем) входной поток 210 смешивается с потоком нормализованного молока 248 при этом параметры молока (в частности, состав молока и его температура) при этом меняются, таким образом, динамически изменяя характеристики входного потока 210. Далее через аппарат 220 (представленный насосом) молоко (смесь цельного и пастеризованного молока) подается в аппарат 225 (представленный пастеризатором), где молоко нагревается до температуры 60 градусов Цельсия. Далее молоко поступает в аппарат 230 (в качестве которого может выступать пастеризационная ванна). Далее пастеризованное молоко 234 (являющегося в данном случае выходным потоком аппарата 230 и входным потоком аппарата 235) поступает в аппарат 235 (представленный насосом) после чего подается в аппарат 240 (сепаратор сливкоотделитель). В аппарате 240 пастеризованное молоко разделяется на два потока с разными долями жира: поток 241 (с большой жирностью) и 242 (обезжиренное молоко). Поток 242 через аппарат 244 (насос) подается в аппарат 246 (представляющий собой накопительную ванну/ванну нормализационную), из которой потом смешивается с входным потоком 210 в аппарате 215.
[072] Поток 241 попадает в аппарат 250 (представляющий собой пастеризатор), из которого при помощи аппарата 255 (представленного насосом) подается готовая сметана. Выходным потоком (258) данной технологической линии в данном частном случае является сметана с определенными характеристиками (температура, жирность, расход и т.д.).
[073] Показанная на ФИГ. 2 схема может быть рассчитана в системе, показанной на ФИГ. 3, с целью определения параметров выходного потока (258), а также параметров каждого из аппаратов (в частности, 215, 220, 225, 230, 235, 240, 250, 255, 258, 244, 246), а также промежуточных потоков (в частности, 241 и 242) присутствующих в технологической схеме (технологической линии, технологической системе), например, потребляемую мощность и производительность каждого аппарата.
[074] На ФИГ. 3 показана структурная схема одного из вариантов системы, реализующей настоящее изобретение. Как показано на ФИГ. 3, система 300 может быть представлена двумя сторонами: клиентской стороной/клиентской частью 310 и серверной стороной/серверной частью 370. Клиентская часть 310 может быть представлена, как минимум, одним вычислительным устройством, например, персональным компьютером, сервером, мобильным устройством (смартфоном, телефоном, ноутбуком и т.д.). Клиентская часть 310 включает в себя, по крайней мере, интерфейс ввода данных 320 (в частности, интерфейс пользователя) и, как минимум, одну технологическую схему 330 (состоящую из модулей технологической схемы, 340A…340N, в частности, модулей технологической схемы аппаратов 215, 220, 225, 230, 235 и т.д. показанных на ФИГ. 2 и потоки 350, в частности, 248, 242, 241, показанные на ФИГ. 2, включая выходные потоки 210 и 258). Как было сказано выше, модули расчета представляют собой программное обеспечение или программный код, при помощи которого может быть произведен расчет аппаратов и модулей химико-технологической схемы 340A-340N различными способами, в частности, модули расчета 388А-388N отражают программное обеспечение, которое может быть использовано для расчета аппаратов, в то время как сами модули технологической схемы (в частности, алгоритмы по которым рассчитываются аппараты и, соответственно, алгоритмы модулей технологической схемы) могут размещаться как на серверной стороне 370, так и, в частном случае, на клиентской стороне 310, т.е. вычисления могут производиться как на серверной стороне 370 системы, так и на клиентской/пользовательской стороне 310 системы. Стоит также отметить, что часть аппаратов и модулей химико-технологической схемы может быть рассчитана на серверной стороне, а часть на клиентской части. Так, например, как минимум один пользовательский скрипт (описанные ниже) может обрабатываться/ на серверной стороне, а как минимум один алгоритм/программный код модулей расчета модулей технологической схемы может располагаться (и/или рассчитываться/обрабатываться) на серверной стороне. В качестве интерфейса ввода/вывода данных 320 может выступать (использоваться) интерфейс пользователя/пользовательский интерфейс (интерфейс на стороне пользователя), реализованный например, в виде веб-интерфейса, интерфейса приложения/программного обеспечения для персональных компьютеров, серверов, мобильных устройств (например, смартфонов, мобильных телефонов, планшетов) и других вычислительных устройств. Стоит отметить, что интерфейс ввода вывода 320 может быть реализован в виде Графического Интерфейса Пользователя (ГИП), командной строки и других инструментов, позволяющих пользователю взаимодействовать с системой 300, например, собирать/конструировать/компоновать технологическую схему, вводить исходные данные для аппаратов (например, как показано на ФИГ. 5), вводить исходные данные для аппаратов и модулей технологической схемы и всей химико-технологической схемы и т.д. (более подробно возможные типы и способы взаимодействия пользователя с системой 300 будут описано ниже). Также стоит отметить, что в качестве интерфейса ввода/вывода данных 320 может использоваться программный интерфейс приложения/интерфейс программирования приложений/интерфейс прикладного приложения (API), которые могут обеспечивать связь системы 300 с другими вычислительными устройствами (например, удаленным компьютером/сервером, мобильным устройством), программным обеспечением, сервисами (в частности, веб-сервисами, веб-службами), службами, и/или, как минимум одной, другой системой, функционал которой может повторять, быть схожим или отличаться от системы 300, и т.д. для обеспечения их взаимодействия/связи с системой 300.
[075] Стоит отметить, что реализация клиентской части, в частности, с использованием веб-интерфейса позволяет реализовать систему 300 в виде кроссплатформенного решения/кроссплатформенной системы (в виде кроссплатформенной/межплатформенной системы, функционирующей более чем на одной аппаратной платформе и/или операционной системе) и в виде многопользовательской системы. Интерфейс ввода данных или любое другое средство и способ взаимодействия/связи пользователя, программного обеспечения, сервиса или устройства позволяет создавать, компоновать, настраивать и т.д. технологическую схему, вводить/передавать описание технологической диаграммы/схему и данные, необходимые для расчета технологической схемы (химико-технологической схемы), химико-технологической диаграммы, технологического процесса (например, химико-технологического процесса), технологической системы (например, химико-технологической системы), отдельных модулей технологической схемы, набора модулей технологической схемы (блоков технологической схемы) и т.д.
[076] Собранные на стороне пользователя (клиентской стороне) 310 данные отправляются на серверную сторону 370 для выполнения расчетов, в частности расчетов технологической схемы и ее составных частей (в частности, модулей технологической схемы), т.е. характеристик как минимум, одного выходного потока, характеристик, как минимум одного выходного/входного потоков, характеристик аппаратов технологической схемы, параметров модулей, описывающих аппараты и т.д.
[077] Серверная сторона системы 300 может включать как минимум, один сервер 380, управляющий процессом расчета технологической схемы, технологической системы (вычисления ее параметров/характеристик и т.д.) и характеристик ее составных частей, а также вычислением всех связанных с технологической схемой и технологическим процессом данных.
[078] После проведенного расчета результаты расчета могут быть сохранены на сервере или связанных с ним устройствах (других серверах, персональных компьютерах, устройствах хранения и т.д.) и могут быть отправлены на клиентскую сторону для демонстрации/визуализации результатов расчета пользователю (например, в виде XML-файла, содержащим, в частности свойства всех потоков, рассчитанных на серверной стороне). XML-файл может быть преобразован интерфейсом пользователя в визуальное представления результатов расчета пользователю.
[079] Стоит отметить, что конфигурационное задание может быть представлено конфигурационным файлом (может быть сохранено в виде конфигурационного файла), например, в виде XML-файла (файла в формате XML), в базе данных, которая, в свою очередь, может храниться в хранилище описанного сервера и/или на клиентской стороне. Также, конфигурационный файл может быть дополнен результатами расчета и сохранен на устройстве хранения, например, в базе данных.
[080] Также, конфигурационный файл может использоваться пользователем (например, загружен пользователем на клиентскую сторону и/или открыт пользователем с сервера), например, для восстановления исходной химико-технологической схемы (которая, например, была сохранена на сервере и/или для которой был проведен расчет), например, для повторного использования химико-технологической схемы и/или модулей химико-технологической схемы для проведения нового расчета данной схемы или для создания новой или отредактированной химико-технологической схемы.
[081] Стоит также отметить, что результаты расчета могут быть сохранены на пользовательской стороне, включая персональный компьютер, с которого был отправлен запрос на расчет технологической схемы, а также включая подключенные к нему вычислительные устройства и устройства хранения данных.
[082] После получения данных пользователь может использовать полученные данные расчета, например, для создания технологической системы на базе предоставленных расчетов либо для корректировки существующей технологической системы. Также, пользователь может изменить конфигурацию технологической схемы, в том числе, переопределив параметры аппаратов, модулей технологической схемы, потоков, добавив новые модули технологической схемы, изменив алгоритмы расчета/модули расчета аппаратов и модулей технологической схемы и т.д., и отправить запрос на пересчет технологической схемы на серверную сторону 370.
[083] Расчет технологической схемы выполняется на серверной стороне посредством Сервисной Шины Предприятия (от англ. Enterprise Service Bus, сокращенно - ESB). Сервисная Шина Предприятия (385 на ФИГ. 3) представляет собой промышленное программное обеспечение, описывающее взаимодействие между элементами Сервисной Шины Предприятия в виде Сообщений между элементами Сервисной Шины Предприятия, используя для этого конфигурационный файл /конфигурационное задание, которое более подробно описано ниже. Элемент Сервисной Шины Предприятия является частью Сервисной Шины Предприятия, описанной в конфигурационном задании (описывающим свойства различных элементов Сервисной Шины Предприятия и направления информационных потоков (в виде сообщений) между ними и может быть представлен, например, текстовым файлом в формате XML), задачей которой является преобразование входящих Сообщений в исходящие Сообщения. Другими словами технологической схеме 330 сопоставляется конфигурационное задание (содержащееся, например, в конфигурационном файле), которое используется Сервисной Шиной Предприятия.
[084] Так, например, в частном случае, если рассмотреть часть технологической схемы (состоящей из модулей технологической схемы аппаратов 234, 235 и 240) на ФИГ. 2, то локальной задачей в данном случае является разделение входного потока 234 (соответствующего входному каналу 434 на ФИГ. 4) для модуля технологической схемы аппарата 235 технологической схемы на сливки 241 и обезжиренное молоко 242. Данная технологическая схема может быть представлена в виде наборов элементов Сервисной Шины Предприятия, в частности Активатором Сервисной Шины Предприятия (далее Активатор) и Адаптером Сервисной Шины Предприятия (далее Адаптер), т.е. модулем расчета элементов Сервисной Шины Предприятия. Так, например, модуль технологической схемы, описывающий аппарат, представленный компрессором/насосом 235, может быть представлен, как минимум, двумя элементами Сервисной Шины Предприятия: Активатором (438 на ФИГ. 4) и Адаптером (439 на ФИГ. 4). В общем случае Активатор представляет собой элемент, описывающий преобразование, с одним входом и выходом. Таким образом, Активатор получает Сообщение и в зависимости от параметров (заданных пользователем для модуля и/или технологической схемы и ее составных частей) вызывает/активирует Адаптер, который производит расчет аппарата 235, описываемого соответствующим ему модулем технологической схемы. В качестве адаптера, может быть представлена любая система технологического расчета (алгоритм расчета модуля технологической схемы, аппарата, технологической схемы и т.д., реализованный модулем расчета, в частности, программным модулем). Каждому модулю технологической схемы может быть сопоставлен, как минимум, один адаптер, при помощи которого происходит расчет данного модуля. В зависимости от настроек адаптера, расчет каждого такого модуля может производиться на различных серверах, что способно оптимизировать процесс расчета технологической схемы и модуля технологической схемы, в частности, что способно повысить эффективность системы расчета технологической схемы и ее составных частей. В общем случае, элемент типа Адаптер используется для преобразования и отправки сообщения в канал и обработки сообщения из канала. Канал представляет собой элемент Сервисной Шины Предприятия, связывающий элементы Сервисной Шины Предприятия между собой, и моделирует направление потоков технологической схемы (соответствует потокам технологической схемы). Канал используется для передачи информации о потоках в виде Сообщений с описанием потоков технологической схемы. Сообщения, как элемент Сервисной Шины Предприятия, представляют собой набор данных, описывающих характеристики потоков технологической схемы, которые передаются по Каналам Сервисной Шины Предприятия. Так, например, входящее Сообщение для аппарата 235 (насоса/компрессора) описывает входной поток 234, а выходящее Сообщение для аппарата 240 (представленного в данном случае двумя элементами Сервисной Шины Предприятия: Активатором 443 на ФИГ. 4 и Адаптером 447 на ФИГ. 4) описывает (задает все его необходимые параметры) выходной поток 241 (представленный выходным каналом 441 на ФИГ. 4) и выходной поток 242 (представленный выходным каналом 442 на ФИГ. 4).
[085] Т.е. сообщение (в частности, для входных каналов) представляет собой данные из конфигурационного файла, относящиеся к определенному потоку технологической схемы.
[086] Каждый аппарат технологической схемы представляется информационной системой (модулем технологического процесса, модулем технологической схемы), которая получив Сообщение, в котором находится описание входного потока, запускает модуль расчета, который определяет значения выходных потоков. Далее эти результаты в виде, как минимум, одного Сообщения передаются к другим элементам Сервисной Шины Предприятия.
[087] На ФИГ. 5 показан интерфейс задания исходных данных аппарата, реализованный в виде графического интерфейса пользователя. Интерфейс задания параметров аппарата может включать визуальное/графическое представления аппарата (изображение аппарата) 510, а также элементы для ввода исходных данных/параметров аппарата 520. Сохранение/подтверждение исходных данных (параметров) аппарата может осуществляться кнопкой 530 или автоматически по закрытию окна ввода исходных данных/параметров. Интерфейс, показанный на ФИГ. 5, также может содержать элемент, позволяющий копировать исходные данные для аппарата из базы данных параметров других аппаратов, например, аппаратов подобного типа или близких к текущему аппарату, для которого вводятся исходные данные, например, путем выбора таких аппаратов из списка существующих/зарегистрированных в системе (или подключенных к ней) аппаратов.
[088] На ФИГ. 6 показана блок-схема процесса создания, редактирования и расчета технологической схемы. Процесс начинается в шаге 610. В шаге 615 устанавливаются/задаются начальные параметры технологической схемы, например, значения входных потоков для технологической схемы, после чего процесс переходит к шагу 620. В шаге 620 процесс проверяет, требуется ли создать новую технологическую схему. Если в шаге 620 установлено что необходимости в создании новой технологической схему нет, то процесс переходит в шаг 630, в котором происходит выбор (например, пользователем), как минимум, одной из существующих технологических схем, после чего процесс переходит к шагу 640. В шаге 640 процесс проверяет необходимость редактирования технологической схемы, например, необходимость добавления нового модуля технологической схемы, задание параметров и свойств нового или, как минимум, одного из существующих модулей технологической схемы, необходимость задания параметров входных потоков и выходных потоков технологической схемы, необходимость установления связей между модулями технологической схемы посредством каналов или перенаправление связей, удаление и т.д. существующих связей между модулями технологической схемы и необходимость изменения любых других параметров технологической схемы и ее составных частей. Стоит отметить, что при установлении связи между модулями технологической схемы система может автоматически подбирать типы каналов для связи модулей технологической схемы, либо пользователь может определять тип канала самостоятельно, выбирая их из списка. Каналы могут быть подобраны в зависимости от типа модуля технологической схемы, типа аппарата и их характеристик, например, входных потоков и выходных потоков. В том случае, если пользователь определит неправильный канал, система сообщит пользователю об ошибке при выборе типа канала.
[089] Также стоит отметить, что свойства модулей технологической схемы используются для расчета модулей и могут задаваться из набора свойств для каждого модуля технологической схемы, например, определенных программистом (разработчиком программного обеспечения, создавшим модуль) при разработке модуля расчета и/или модуля расчета или пользователем при добавлении модуля технологической схемы в систему, описываемую в рамках настоящего изобретения. В частном случае, под расчетом модуля технологической схемы понимается определение (вычисление значения выходного потока) выходного потока модуля (или выходных потоков модулей, если их несколько) технологической схемы.
[090] Если в шаге 640 установлена необходимость редактирования технологической схемы, то процесс переходит к шагу 650, в котором процесс проверяет необходимость добавления нового модуля технологической схемы. Если в шаге 650 не была установлена необходимость добавления нового модуля технологической схемы, то процесс переходит к шагу 660.
[091] Если в шаге 650 была установлена необходимость в добавлении нового модуля технологической схемы, то процесс переходит к шагу 655, в котором происходит выбор одного из существующих модулей технологической схемы, например, пользователем системы, после чего процесс переходит к шагу 660.
[092] В шаге 660 процесс проверяет необходимость редактирования добавленного модуля технологической схемы или существующего модуля технологической схемы. Если модуль технологической схемы редактировать не требуется (например, при добавлении нового модуля технологической схемы он добавляется с параметрами и свойствами, задаваемыми по умолчанию, и они соответствуют требованиям для расчета создаваемой/редактируемой технологической схемы), то процесс возвращается к шагу 640. Если в шаге 660 установлена необходимость редактирования модуля технологической схемы, например, необходимость введения свойства аппарата, изменения программы расчета/модуля расчета модуля технологической схемы, изменения его свойств и/или параметров, а также установление связей, изменение связей с другими модулями технологической схемы, то процесс переходит к шагу 670, в котором задаются параметры и свойства созданного или выбранного для редактирования модуля технологической схемы, а также способ расчета (модели расчета/расчетной модели/расчетного модуля/модуля расчета/, например, в программах/приложениях промышленного моделирования) выбранного модуля (который может быть представлен, например, в виде алгоритма, программы, метода/способа и т.д.). После настройки модуля технологической схемы в шаге 670 процесс возвращается к шагу 640.
[093] Если в шаге 640 установлено, что настройка технологической схемы завершена и не требует дальнейшего редактирования, то процесс переходит к шагу 675, в котором происходит передача данных на сервер 380 для расчета технологической схемы и ее параметров, включая параметры ее составляющих частей (в частности аппаратов, входных и выходных потоков и т.д.) в шаге 680.
[094] После того как технологическая схема будет рассчитана на сервере, результаты расчетов отправляются в клиентскую часть в шаге 690, так что пользователь получает значения свойств потоков (выходных и промежуточных) и параметров модулей технологической схемы, а также параметров аппаратов, например, химических аппаратов, таких как колонна дистилляции, адсорбер и т.д., и процесс заканчивается в шаге 695. Так например, при задании входных потоков и их параметров (например, для аппарата, технологической схемы, частей технологической схемы, объединенных в цепочку/блок и т.д.) в результате расчета аппарата (технологической схемы, частей технологической схемы, объединенных в цепочку/блок и т.д.) определяются выходные потоки и их параметры. Например, если использовать для примера миксер для смешивания двух потоков, то для проведения вычисления выходного потока и его параметров необходимо задать характеристики/параметры двух потоков. Так, например, в качестве вещества первого потока может быть выбрана вода, а в качестве вещества второго потока - спирт. При выбранном одинаковом расходе в результате расчета аппарата (миксера) будет определен выходной поток, который будет содержать 50 процентов воды и 50 процентов спирта, а также будут определены характеристики/параметры выходного потока (результирующего вещества в данном случае), например, расход, температура, давление и т.д.
[095] Как было сказано выше, в процессе создания, редактирования и настройки технологической схемы пользователь может выбрать способ расчета модуля (модель расчета/модель расчета модуля/расчетная модель модуля). Таким образом, не только один модуль технологической схемы может быть рассчитан различными способами (моделями расчета), но и несколько модулей технологической схемы могут бтыь рассчитаны, как минимум, одним способом (расчетным модулем). Так, например, каждый модуль технологической схемы может быть рассчитан разными способами расчета, и, в частном случае, разными расчетными модулями.
[096] Также, в процессе расчета аппарата (технологической схемы, модулей технологической схемы, частей технологической схемы, объединенных в цепочку/блок и т.д.), в частности, химико-технологического аппарата, при помощи, как минимум, одной моделью расчета могут быть рассчитаны свойства аппарата (технологической схемы, модулей технологической схемы, частей технологической схемы, объединенных в цепочку/блок и т.д.), необходимые для реализации заданного процесса, например, могут быть рассчитаны значения оптимальной температуры в выходном потоке аппарата (на выходе из аппарата).
[097] Стоит отметить, что модули могут быть скомпонованы в блоки/цепочки модулей. Если блок (цепочка), состоящий, как минимум, из одного аппарата, уже описывается системой технологического расчета, пользователь может включить такой блок в технологическую схему в качестве одного блок-элемента, включая модуль расчета для него. Для блока модулей также может быть выбрана модель расчета блока модулей (модель расчета блока). Также часть технологической схемы может быть выделена (например, пользователем) в блоки/цепочки, которые могут быть сохранены отдельно от технологической схемы. Сохраненные блоки/цепочки технологической схемы могут включать начальные/входные параметры/характеристики. Сохраненные цепочки/блоки, включающие несколько частей технологической схемы и связи между ними, могут быть добавлены в технологическую схему (например, в другую технологическую схему, которая содержит такой же набор аппаратов, что и содержащийся в цепочке) в виде одного модуля технологической схемы. Для такого модуля технологической схемы (представляющего собой совокупность аппаратов и связей между ними, или совокупность модулей и связи между нами) программой расчета/модулем расчета могут быть вычислены его характеристики, включая входные, выходные и промежуточные потоки и их характеристики, которые могут быть сохранены вместе с модулем технологической схемы и могут быть использованы для расчета технологической схемы, в частности, модуля технологической схемы, в которую был добавлен такой модуль технологической схемы. Стоит отметить, что сохранение параметров/характеристик модуля вместе с модулем или в отдельной базе данных применимо не только к модулям, содержащим набор аппаратов и модулей технологической схемы, но и к модулю технологической схемы, описывающему отдельно взятый аппарат.
[098] Стоит также отметить, что при создании, редактировании и настройке технологической схемы могут быть заданы свойства и параметры аппаратов, как показано на ФИГ. 5. Например, в случае использования пользовательского интерфейса, представленным веб-интерфейсом, пользователь может ввести свойства и настройки аппарата посредством веб-формы, в частности, HTML-формы, которая генерируется динамически на сервере из описания аппарата, в частности, содержащегося в конфигурационном файле (конфигурационном задании), который может храниться на сервере или на устройстве пользователя на клиентской стороне. В качестве одного из входных параметров (входных данных), описывающих аппарат, может быть использован способ/метод (программа/модель) расчета аппарата (по крайней мере, один элемент Сервисной Шины Предприятия, в частности, расчетная модель/расчетный модуль аппарата), так что отдельно взятый аппарат (или набор аппаратов) может быть рассчитан различными методами/способами, в частности, элементами Сервисной Шины Предприятия.
[099] Как было сказано выше, технологические схемы состоят из модулей технологической схемы, каждый из которых моделирует поведение реального (или виртуального аппарата, например, при разработке нового устройства) аппарата (компрессор, теплообменник, ректификационная колонна и т.д.). Для расчета каждого модуля технологической схемы, кроме входных потоков (в частности, характеристик/параметров/свойств входных потоков), как правило, указываются характеристики самого модуля технологической схемы, на основе которых может быть произведен расчет химико-технологической схемы и данного конкретного модуля технологической схемы (например, его выходных параметров), а также, как минимум одного, другого модуля (например, входного потока и его характеристик) технологической схемы. Список необходимых параметров для расчета модуля технологической схемы определяется расчетной программой (модулем расчета, позволяющим определить/вычислить характеристики аппаратов, модулей, технологической схемы, блоков и цепочек технологической схемы). Список необходимых параметров определяется при добавлении модуля технологической схемы в систему, как было описано выше (программистом или пользователем, а также может быть определен системой, например, путем использования введенных пользователем данных в процессе создания нового модуля технологической схемы, либо может быть скопирован из конфигурационного файла, содержащего описание другого модуля технологической схемы, схожего по своему функционалу с создаваемым модулем технологической схемы, причем параметры нового модуля технологической схемы могут быть изменены пользователем, включая изменения внесенные пользователем), рассчитываемый модулем расчета, выполненным, например, в виде конфигурационного файла расчета модуля, который может включать, но не ограничивается перечисленным, название модуля/программы расчета/способа расчета, описание модуля, типы переменных (использующихся для расчета аппарата в процессе работы модуля технологической схемы), значения и/или интервал возможных значений параметров аппарата или модуля технологической схемы, значения по умолчанию (которые используются для отображения пользователю при добавлении модуля с технологическую схему) и т.д. Кроме того, конфигурационный файл может содержать описание типов входных и выходных потоков модулей технологической схемы, блоков/цепочек технологической схемы или всей технологической схемы. После того, как файл с конфигурацией блока задан, клиентская часть/клиентская сторона может запросить созданный или отредактированный такой конфигурационный файл и предоставить пользователю возможность его использования для расчета модуля технологической схемы или технологической схемы, или набора модулей технологической схемы.
[0100] Стоит отметить, что конфигурационный файл может быть создан на стороне сервера либо на стороне клиента, а также на устройствах, подключаемых к клиентской стороне (компьютеру пользователя) или к серверной стороне (серверу 380). В случае, если конфигурационный файл был создан на клиентской стороне, то для его использования может потребоваться передача его на сервер 380.
[0101] Как было сказано выше, при настройке модуля технологической схемы пользователь может указать способ расчета модуля, включая не содержащийся в системе расчета способ расчета, например, путем подключения/включения способов расчета составных частей технологической схемы, в частности, модулей технологической схемы. Указание способа расчета (в частности, путем выбора модуля расчета) позволяет интегрировать в расчет технологической схемы и модулей технологической схемы, в частности, сторонние разработки, например, способы расчета модулей или сами модули технологической схемы.
[0103] Также стоит отметить, что пользователь может описать алгоритм расчета модуля (модуль расчета) технологической схемы (всей технологической схемы или ее цепочек) на различных языках программирования, включая скриптовые языки, а не выбирать из ранее зарегистрированных в системе расчета алгоритмов расчета. Под зарегистрированными программами расчета модуля или технологической схемы, аппарата и т.д. в системе расчета понимаются подключаемые сторонние модули расчета/программы расчета/сторонние программные модули (СПМ) расчета 390А-390N на ФИГ. 3, а также написанные пользователем или администратором сервера/программистом модули расчета (модуля технологической схемы или ее цепочек) и сохраненных на сервере 380 или связанных с ним устройствах, включая, но, не ограничиваясь, другими серверами, персональными компьютерами, устройствами хранения данных, включая сетевые и облачные хранилища данных и т.д.
[0105] Использование для описания модулей технологической схемы/процесса и/или алгоритмов расчета (модулей расчета) модулей и технологических схем позволяет значительно упростить процесс моделирования и расчета модулей и схем технологического процесса, в частности за счет выполнения расчета/расчетов на сервере в Сервисной Шине Предприятия.
[0106] Таким образом, любой аппарат (или модуль технологической схемы) может быть определен абстрактно, например, на основе функции, которую он исполняет. Например, аппарат типа компрессор может быть определен как модуль технологической схемы, повышающий значение входного потока на некоторую величину, или аппарат теплообменник датчик температуры может быть представлен, как модуль технологической схемы, повышающий или понижающий температуру входного потока. Конкретные параметры и тип моделируемого модуля технологической схемы могут быть определены, например, системой расчета или системой распознавания модулей технологической схемы по их характеристикам и потокам, после проведения расчетов технологической схемы, модуля или цепочки технологической схемы, включая проведение предварительного расчета технологической схемы в упрощенном виде, используя упрощенные описания модулей технологической схемы. Предварительный расчет отличается тем, что в ходе расчета технологической схемы и, в частности, модулей технологической схемы, может быть задана меньшая точность, что позволяет сократить время расчета модулей с целью получения оценочных результатов технологической схемы и ее составных частей, включая аппараты, модули и потоки.
[0107] Как было сказано выше, после того как технологическая схема была настроена, то все ее параметры, параметры модулей технологической схемы, аппаратов, потоков и т.д. могут быть сохранены на клиентской стороне (например, на персональном компьютере, на котором производилась создание и/или настройка/конфигурирование технологической схемы и ее составных частей) в виде описания технической схемы и ее параметров, например, в виде конфигурационного файла в любом известном формате хранения информации/данных, в частности, формате XML, и передаются на серверную сторону, на сервер 380 для проведения расчета технологической схемы и ее составных частей. Стоит отметить, что конфигурационные данные (данных настройки, конфигурационного задания) технологической схемы могут передаваться на сервер 380 (например, в виде конфигурационного файла в формате XML) без сохранения на пользовательской/клиентской стороне.
[0108] Стоит также отметить, что конфигурационный файл может быть создан на сервере 380 из исходных данных, заданных пользователем для технологической схемы и ее компонентов, включая модули технологической схемы, потоки, аппараты и т.д. Исходные данные, заданные пользователем для технологической схемы и ее компонентов, включая модули технологической схемы, потоки, аппараты и т.д., могут сохраняться на клиентской стороне или серверной стороне, как в виде конфигурационного файла/задания, так и в виде списка/таблицы и т.д. исходных данных и других данных необходимых для выполнения расчета технологической схемы, по крайней мере, одним модулем расчета.
[0109] Конфигурационный файл, содержащий описание структуры всех технологической схемы, а также все необходимые параметры модулей, потоков, аппаратов технологической схемы и т.д. для расчета технологической схемы может быть отредактирован пользователем или администратором системы расчета до или после проведения расчетов. Такое редактирование конфигурационного файла может быть выполнено в текстовом редакторе, включая распространенные текстовые редакторы Notepad, Wordpad, Notepad++ и т.д., а также могут быть отредактированы с использованием веб-браузера или интерфейса пользователя, включая веб-интерфейс.
[0110] В частном случае, исходные данные и все необходимые данные для выполнения расчета технологической схемы передаются на сервер 380, где преобразуются в конфигурационный файл/конфигурационное задание, который сохраняется на серверной стороне.
[0111] Если технологическая схема или ее параметры, модули технологической схемы, характеристики аппаратов, потоков и т.д. будут изменены (например, пользователем, редактирующим технологическую схему), например, будет добавлен новый модуль технологической схемы или создана новая связь, изменены параметры аппарата и т.д., то такие изменения отразятся в конфигурационном файле.
[0112] Стоит отметить, что конфигурационные файлы могут храниться одновременно на серверной стороне и на клиентской стороне и быть синхронизированы. Если на клиентской стороне изменяется конфигурационный файл, то конфигурационный файл на серверной стороне обновится. Если конфигурационный файл будет изменен на серверной стороне, то это приведет к изменению конфигурационного файла на пользовательской стороне. Стоит отметить, что перед синхронизацией конфигурационных файлов новой информацией, конфигурационный файл, содержащий "устаревшую" информацию, может быть сохранен, в зависимости от того, какой конфигурационный файл обновляется: на серверной стороне или на клиентской стороне.
[0113] Расчет технологической схемы осуществляется на серверной стороне после того, как на серверную сторону будут отправлены данные для расчета технологической схемы. Если данные для расчета технологической схемы поступили на серверную сторону в виде конфигурационного файла, то процесс производит расчет технологической схемы. Если на серверную сторону поступили данные в виде исходных данных, не преобразованных в конфигурационный файл/конфигурационное задание, то сервером 380 производится преобразование исходных данных (включая описание технологической схемы, модулей технологической схемы, аппаратов и т.д.) в конфигурационное задание/конфигурационный файл. Стоит отметить, что в качестве Сервисной Шины Предприятия могут быть использованы такие Сервисные Шины Предприятия, как WebMethods ESB, ActiveMatrix Service Bus, Oracle Service Bus, WebSphere Message Broker, Sonic ESB, WebSphere ESB, ESBRE, FuseSource, MuleESB, WSO2, JBoss ESB и другие. Приведенный ниже пример конфигурационного файла с комментариями (текст после «//») использует Сервисную Шину Предприятия/Корпоративную Сервисную Шину, построенную с использованием как минимум «Spring Integration» (фреймворка для интеграции корпоративных приложений, основанном на ядре «Spring»/«SpringFramework» и предназначенном для разработки интеграционных решений с событийно-управляемой архитектурой либо с основанной на обмене сообщениями архитектурой) и «Springframe work» (фреймворк для разработки бизнес-приложений), стоит также отметить, что может быть использована любая другая Сервисная Шина Предприятия:
[0114] «
[0115] <?xml version="1.0" encoding="UTF-8"?>
[0116] <beans xmlns="http://www.springframework.org/schema/beans"
[0117] xmlns:int="http://www.springframework.org/schema/integration"
[0118] xmlns:int-file="http://www.springframework.org/schema/integration/file"
[0119] xmlns:int-xml="http://www.springfrarnework.org/schema/integration/xml"
[0120] xmlns:xsi="http://vvvvw.w3.org/2001/XMLSchema-instance"
[0121] xmlns:int-stream="http://www.springframework.org/schema/integration/stream"
[0122] xsi:schemaLocation="
[0123] http://www.springframework.org/schema/beans
[0124] http://www.springframework.org/schema/beans/spring-beans.xsd
[0125] http://www.springframework.org/schema/integration
[0126] http://www.springframework.org/schema/integration/spring-integration.xsd
[0127] http://www. springframework.org/schema/integration/stream
[0128] http://www.springframework.org/schema/integration/stream/spring-integration-stream.xsd
[0129] http: //www. springframework.org/schema/integration/file
http://www.springframework.org/schema/integration/file/spring-integration-file.xsd
[0130] http://www.springframework.org/schema/integration/xml
[0131] http://www.springframework.org/schema/integration/xml/spring-integration-xml.xsd">
[0132] //Входной канал получает начальные данные о входном потоке 210 на ФИГ. 2.
[0133] <int-file:inbound-channel-adapter id="load-adapter"
[0134] channel="mixerInputChannel" directory="/input/"
[0135] prevent-duplicates="true">
[0136] <int:poller fixed-rate="5000"></int:poller>
[0137] </int-file: inbound-channel-adapter>
[0138] <int:channel id="mixerInputChannel" />
[0139] //«<int-file:inbound-channel-adapter» определяет тип Адаптера, который проверяет содержимое директории «directory="/input/"» (переменной directory присваивается значение «/input/»), расположенной, например, на сервере 380 с целью обнаружения файлов, содержащих информацию о потоках, причем данные файлы могут быть сохранены на серверной стороне с целью хранения информации о проводимых расчетах аппаратов, модулях технологических схем, технологических схем и т.д.
[0140] Если в директории содержатся файлы, то Адаптер создает для каждого обнаруженного в директории файла Сообщение, включающее содержание файла с описанием входных потоков, и отправляет созданное сообщение в Канал сервисной шины «channel="mixerInputChannel"» (переменной «channel», соответствующей Каналу, присваивается значение из «mixerInputChannel», определяющее входной канал смесителя). Каждый файл отправляется только один раз - «prevent-duplicates="true"» (т.е. переменной «prevent-duplicates», отвечающей за невозможность отправки дубликатов сообщений, выставляется значение «true»/«истина»). Содержимое директории проверяется каждые 5 секунд - «<int:poller fixed-rate="5000"></int:poller>». «id="load-adapter"» присваивает идентификатор «load-adapter» файлу, содержащему конфигурационное задание. Строка «<int:channel id="mixerInputChannel" />» определяет канал. Стоит отметить, что названия переменных, значения переменных могут быть разными и меняться в зависимости от аппарата, начальных условий и характеристик, заданных для технологической схемы, входных потоков, модулей технологической схемы, аппаратов и т.д., а также в зависимости от выбранного алгоритма расчета аппарата, модуля технологической схемы и т.д.
[0141] //Блок кода, описывающий миксер/смеситель 215 на ФИГ. 2.
[0142] //Сначала объединяются входные сообщения в одно сообщение с целью передачи такого сообщения модулю технологической схемы.
[0143] <int:channel id="aggregatorOutputChannel" />
[0144] <int:aggregator id="messageAggregator"
[0145] input-channel="mixerInputChannel"
[0146] output-channel="aggregatorOutputChannel"
[0147] ref="aggregatorService"
[0148] method="aggregateMessages"/>
[0149] <bean id="aggregatorService" class="com.almeesoft.messageAggregator">
[0150] <property name="waitingMessageNumber" value="2" />
[0151] </bean>
[0152] <property name="waitingMessageNumber" value="2" />
[0153] </bean>
[0154] //Агрегатор «<int:aggregator id=»messageAggregator"» (производящих смешивание нескольких Сообщений в одно) получает Сообщения из канала «input-channel="mixerInputChannel"». Созданное Сообщение (в данном случае сагрегированое Агрегатором) передается в канал «output-channel="aggregatorOutputChannel"». Агрегация входных сообщений происходит с использованием части кода «<bean id="aggregatorService" class="com.almeesoft.messageAggregator">».
[0155] //Далее производится обработка входных Сообщений, объединенный в одно Сообщений
[0156] <int:channel id="mixerOutputChannel" />
[0157] <int:service-activator input-channel="aggregatorOutputChannel" id="mixerActivator"
[0158] output-channel="mixerOutputChannel"
[0159] ref="mixerService"
[0160] method="process"/>
[0161] <bean id="mixerService" class="com.almeesoft.Mixer" />
[0162] // Блок кода, описывающий 220 на ФИГ. 2.
[0163] <int:channel id="compressorOutputChannel" />
[0164] <int:service-activator input-channel="mixerOutputChannel" id="compressorActivator"
[0165] output-channel="compressorOutputChannel"
[0166] ref="compressorService"
[0167] method="process"/>
[0168] <bean id="compressorActivator" class-"com.almeesoft.Compressor">
[0169] <property name="compressorRate" value="2" />
[0170] </bean>
[0171] // Блок кода, описывающий пастеризатор/нагреватель 225 на ФИГ. 2.
[0172] <int:channel id="heaterOutputChannel" />
[0173] <int:service-activator input-channel="compressorOutputCharmer" id="heaterActivator"
[0174] output-channel="heaterOutputChannel"
[0175] ref="heaterService"
[0176] method="process"/>
[0177] <bean id="heaterService" class="com.almeesoft.Heater">
[0178] <property name="heaterTempreture" value="60" />
[0179] </bean>
[0180] //Блок кода, описывающий разделитель/сливкоотделитель 240 на ФИГ. 2.
[0181] //В первую очередь производится расчет параметров выходных потоков, их расход, состав и т.д.
[0182] <int:channel id="separatorOutputChannel" />
[0183] <int:service-activator input-channel="heaterOutputChannel"
[0184] output-channel="separatorOutputChannel"
[0185] ref="separatorService"
[0186] method="process"/>
[0187] <bean id="separatorService" class="com.almeesoft.Separator">
[0188] <constructor-arg ref="separatorOutputChannel"/>// Методу, который производит расчет, передается ссылка на выходной канал.
[0189] </bean>
//Далее происходит распределение выходных сообщений по каналам
[0190] <int:channel id="creameOutput" />
[0191] <int:channel id="milkOutput" />
[0192] <int:header-value-router input-channel="separatorOutputChannel" header-name="productHeader">
[0193] <int:mapping value="milk" channel="milkOutput" />
[0194] <int:mapping value="creame" channel="creameOutput" />
[0195] </int:header-value-router>
[0196] //Роутер (использующийся для перенаправления сообщения по различным каналам, в зависимости от свойств сообщений, как описано ниже) получает сообщения из канала «input-channel="separatorOutputChannel"» и, в зависимости от значения свойства «productHeader» в заголовке Сообщения «header-name="productHeader">», отправляет сообщения в соответствующие Каналы.
[0197] // Блок кода, описывающий компрессор 244 на ФИГ. 2.
[0198] <int:service-activator input-channel="milkOutput" id="compressor A ctivator2"
[0199] output-channel="mixerInputChannel"
[0200] ref="compressorService"
[0201] method="process/>
[0202] <bean id="compressorActivator2" class="com.almeesoft.Compressor">
[0203] <property name="compressorRate" value=2" />
[0204] </bean>
[0205] //Блок кода, описывающий нагреватель 250 на ФИГ. 2.
[0206] <int:channel id="heater20utputChannel" />
[0207] <int:service-activator input-channel="creameOutput" id="heaterActivator2"
[0208] output-channel="heater20utputChannel"
[0209] ref="heaterService"
[0210] method="process"/>
[0211] <bean id="heaterActivator2" class="com.almeesoft.Heater">
[0212] <property name="heaterTempreture" value="70" />
[0213] </bean>
[0214] //Блок кода, описывающий компрессор 255 на ФИГ. 2.
[0215] <int:channel id="creameCompressorOutputChannel" />
[0216] <int:service-activator input-channel="milkOutput" id="compressorActivator3"
[0217] output-channel="heater2OutputChannel"
[0218] ref="creameCompressorOutputChannel"
[0219] method="process"/>
[0220] <bean id="compressorActivator3" class="com.almeesoft.Compressor">
[0221] <property name="compressorRate" value=1.5" />
[0222] </bean>
[0223] //Блок кода, описывающий выходной канал 258 на ФИГ. 2 и сохранение выходных данных.
[0224] <int-file:outbound-channel-adapter
[0225] id="outputAdapter" channel="creameCompressorOutputChannel"
[0226] directory=/resources/output/" />
[0227] </beans>
[0228] //Адаптер «outbound-channel-adapter» сохраняет все входящие Сообщения из Канала «channel="creameCompressorOutputChannel"» в файл в директорию (расположенную на сервере 380 или связанным с ним устройством хранения или компьютерной системой) «directory="/resources/output/"». Таким образом, данный файл содержит информацию о выходных потоках, которая будет отправлена на клиентскую сторону.
[0229] »
[0230] На ФИГ. 7 показана блок-схема примерного варианта обработки данных и расчета технологической схемы, примерный вариант Процесс начинается в шаге 710. В шаге 720 проверяет были ли переданы на сервер с клиентской стороны (со стороны клиента/пользователя) все необходимые данные для расчета технологической схемы, например, идентификаторы составных частей рассчитываемой химико-технологической схемы (в частности, модулей и агрегатов химико-технологической схемы), связи между такими составными частями и/или другая информация, описанная в рамках настоящего изобретения. Если в шаге 720 данных недостаточно для расчета технологической схемы (например, пользователь не указал какие-либо параметры аппарата, не определил характеристики входного потока и т.д.), то пользователю может быть отправлено сообщение об ошибке и предложение ввести недостающие для расчета данные. Если в шаге 720 было установлено, что полученных данных достаточно для расчета технологической схемы (т.е. с клиентской части системы серверной частью получены все необходимые данные), то процесс переходит к шагу 730.
[0231] В шаге 730 полученные от пользователя данные (описание технологической схемы/системы и ее составных частей), например, в виде HTTP-запроса (т.е. данные, отправляемые пользователем, предварительно формируются, по крайней мере, в один HTTP-запрос к серверу, описываемому в рамках настоящего изобретения), преобразуются в формат Сервисной Шины Предприятия (например, при помощи подстановки полученных данных с пользовательской стороны в шаблон конфигурационного задания, расположенного на сервере) в виде конфигурационного задания для Сервисной Шины Предприятия, как показано ниже. Так, например, потоки, параметры которых определены, могут быть представлены в виде (в формате записи) входных сообщений Сервисной Шины Предприятия, которые, в свою очередь, будут поданы на вход Сервисной Шины Предприятия согласно спецификации, предоставляемой определенной Сервисной Шины Предприятия.
[0232] Далее процесс переходит к шагу 740, в котором каждый модуль технологической схемы преобразуется в элементы Сервисной Шины Предприятия, в зависимости от количества входных и выходных потоков, и процесс переходит к шагу 750.
[0233] В шаге 750 выполняется расчет каждого аппарата при помощи наиболее подходящего элемента Сервисной Шины Предприятия, так, например, если происходит разделение потоков (аппарат имеет несколько выходных потоков), то может использоваться упомянутый выше элемент Сервисной Шины Предприятия Роутер (Router), а если аппарат имеет несколько входных потоков, то может быть использован элемент Агрегатор, способный собирать несколько сообщений в одно, как показано в примерном варианте кода выше.
[0234] Далее процесс переходит к опциональному шагу 760, в котором осуществляется компоновка/сбор расчетов всех модулей и составных частей технологической схемы в результаты расчета технологической схемы. Стоит отметить, что результаты расчета технологической схемы и отдельных ее модулей технологической схемы, аппаратов и т.д. могут передаваться на клиентскую часть системы 300 по мере их готовности, т.е., например, может быть передан расчет первого модуля технологической схемы, затем третьего, затем шестого, затем второго и т.д. Стоит также отметить, что компоновка результатов расчета технологической схемы может быть осуществлена на клиентской стороне, как только клиентской стороной будут получены все данные расчета. Передача данных по частям способна снизить нагрузку на компьютерную сеть, так в случае расчета большой технологической схемы скомпонованный файл может иметь достаточно большой объем для его передачи, в этом случае передача пакетами расчетов (по мере их готовности) каждой из частей технологической схемы на клиентскую сторону может значительно разгрузить компьютерную сеть, в частности сетевой канал между клиентской и серверной сторонами.
[0235] После шага 760 процесс переходит к опциональному шагу 770, в котором производится сохранение результатов расчета на сервер 380, например, в виде списка в текстовых файлах, в виде таблиц или любом другом формате.
[0236] После шага 770 процесс переходит к шагу 780, в котором на клиентскую сторону передаются/становятся доступны клиентской стороной (либо клиентской стороной данные результаты могут быть доступны по сети без необходимости передачи их в виде файлов на клиентскую сторону/клиентское устройство, например, они могут быть доступны пользователю посредством веб-интерфейса через сеть Интернет) результаты расчета технологической схемы, например, в виде текстового файла, в частности в XML-формате, и процесс заканчивается в шаге 790.
[0237] Далее приводится пример расчета технологического аппарата на серверной стороне с использованием Сервисной Шины Предприятия.
[0238] Как было сказано выше, для расчета технологического аппарата (аппарата) в Сервисной Шине Предприятия задается представление технологического аппарата в конфигурационном задании. В общем случае такое представление технологического задания может иметь следующий вид:
[0239] «
[0240] <int:channel id="moduleInputChanner />
[0241] <int:channel id="moduleOutputChannel" />
[0242] <int:service-activator input-channel="moduleInputChannel"
[0243] output-channel="moduleOutputChannel"
[0244] ref="moduleService"
[0245] method="process"/>
[0246] <bean id="moduleService" class="com.almeesoft.moduleCalculation">
[0247] <constructor-arg ref="moduleOutputChannel"/>
[0248] <property name="inputSource1" value="module1" />
[0249] <property name="inputSource2" value="module2" />
[0250] <property name="outputSource1" value="module3" />
[0251] <property name="outputSource2" value="module4" />
[0252] <property name="moduleProperty1" value="value1" />
[0253] <property name="moduleProperty2" value="value2" />
[0254] <property name="moduleProperty3" value="value3" />
[0255] </bean>
[0256] »
[0257] Для каждого определяются входной канал («<int:channel id="moduleInputChannel" />») и выходной канал («<int:channel id="moduleOutputChannel"/>»). Во входной канал «moduleInputChannel» подается сообщение («<int:service-activator input-channel="moduleInputChanner"»), после чего активатор вызывает метод «process» («method="process"») класса «com.almeesoft.moduleCalculation» («<bean id="moduleService"class="com.almeesoft.moduleCalculation">»), в котором происходит расчет технологического аппарата. После того как расчет закончен в выходной канал «moduleOutputChannel» передается сообщение со значениями выходных потоков («<constructor-arg ref="moduleOutputChannel"/> <property name="inputSource1" value="module1" /> <property name="inputSource2" value="module2" /> <property name="outputSource1" value="module3" /> <property name="outputSource2" value="module4" />»). Так же могут быть определены/рассчитаны необходимые для расчета модуля технологической схемы параметры «moduleProperty1», «moduleProperty2», «moduleProperty3» («<property name="moduleProperty1" value="value1" /> <property name="moduleProperty2" value="value2" /> <property name="moduleProperty3" value="value3" />»).
[0258] Таким образом, как было показано выше, активатор может иметь только один входной и один выходной поток. Если аппарат имеет несколько входных потоков, то они объединяются в одном Сообщении в виде HashMap-массива (массив, основанный на хеш-таблицах, реализующий хранение хеш-сумм в виде пар ключ-значение) с ключами передаваемыми в свойствах модулей технологической схемы «inputSource1», «inputSource2», как было показано выше. Также, как было продемонстрировано выше, в качестве элемента Сервисной Шины Предприятия может быть использован элемент Агрегатор, способный объединять несколько Сообщений в одно. Так, например, в конфигурационное задание может быть добавлен Агрегатор, который способен получать входные Сообщения от модулей технологической схемы и объединять их в одно Сообщение с целью передачи объединенного Сообщения Активатору.
[0259] «<int:aggregator id="messageAggregator"
[0260] input-channel="moduleAggregatorInputChanner"
[0261] output-channel="moduleInputChannel"
[0262] ref="aggregatorService"
[0263] method="aggregateMessages"/>
[0264] <bean id="aggregatorService" class="com.almeesoft.messageAggregator">
[0265] <property name="waitingMessageNumber" value="2" />
[0266] </bean»>
[0267] Если аппарат имеет несколько выходных потоков, то в схему может быть добавлен описанный выше Роутер, который направляет выходные Сообщения по соответствующим каналам, в зависимости от свойства «outputSource» определенного в заголовке «messageChannel» сообщения.
[0268] «
[0269] <int:channel id="module3InputChannel" />
[0270] <int:channel id="module4InputChannel" />
[0271] <int:header-value-router input-channel="moduleOutputChannel" header-name=" messageChannel">
[0272] <int:mapping value="module3" channel="module3InputChannel" />
[0273] <int:mapping value="module4" channel="module4InputChannel" />
[0274] </int:header-value-router>
[0275] »
[0276] Далее описан процесс интеграции модуля технологической схемы в описываемую в рамках настоящего изобретения систему. Для интеграции нового аппарата в систему (пользователем или оператором сервера) оператором серверной стороны (или разработчиком) или пользователем должен быть определен/описан как минимум один модуль расчета аппарата (или модуля), например, в XML-формате. Такое описание модуля расчета (определение модулей, при помощи которых может быть рассчитан аппарат) состоит из двух частей: клиентской и серверной. Клиентская часть описания может содержать:
[0277] - тип модуля;
[0278] - название модуля;
[0279] - краткое текстовое описание модуля, отображаемое пользователю на клиентской стороне;
[0280] - количество и типы входных и выходных потоков;
[0281] - список доступных адаптеров пользователю на клиентской стороне;
[0282] - список описаний параметров для каждого адаптера.
[0283] Описание параметра адаптера может содержать название параметра, описание параметра, тип и область допустимых значений параметра.
[0284] На основании клиентской части описания может быть создан описанный выше интерфейс (пользовательский интерфейс, например, веб-интерфейс), при помощи которого могут быть введены, например, пользователем необходимые для расчета технологической схемы, модулей технологической схемы, аппаратов данные, как было описано выше.
[0285] Серверная часть описания модуля расчета для каждого из адаптеров содержит конфигурационное задание, которое используется Сервисной Шиной Предприятия для расчета модуля технологической схемы, и список необходимых параметров, необходимых для расчета аппарата.
[0286] «
[0287] <?xml version="1.0" encoding="utf-8" ?>
[0288] <module>
[0289] <type>Mixer</type>
[0290] <name>2-port mixer</name>
[0291] <description>Mixed for fluids with 2 inputs.</description>
[0292] <input>
[0293] <flow>
[0294] <id>input1flow</id>
[0295] <type>material</type>
[0296] <name>Input 1</name>
[0297] <description></description>
[0298] </flow>
[0299] <flow>
[0300] <id>input2flow</id>
[0301] <type>material</type>
[0302] <name>Input 2</name>
[0303] <description></description>
[0304] </flow>
[0305] </input>
[0306] <output>
[0307] <flow>
[0308] <id>outputflow</id>
[0309] <type>material</type>
[0310] <name>Output</name>
[0311] <description></description>
[0312] </flow>
[0313] </output>
[0314] <adapters>
[0315] <adapter>
[0316] <id>mixedAdapter1</id>
[0317] <name>Mixer (HYSYS)</name>
[0318] <description>Mixer's model calculated by Aspen HYSYS.</description>
[0319] <parameters>
[0320] <parameter>
[0321] <id>mixRate</id>
[0322] <name>Mixer rate</name>
[0323] <description>Value of mixed rate coefficient.</description>
[0324] <type>float</type>
[0325] <minvalue>0</minvalue>
[0326] <maxvalue>1</maxvalue>
[0327] </parameter>
[0328] <parameter>
[0329] <id>preusreDrop</id>
[0330] <name>Calculate pressure drop</name>
[0331] <description></description>
[0332] <type>enum</type>
[0333] <value>yes</value>
[0334] <value>no</value>
[0335] </parameter>
[0336] </parameters>
[0337] <scheme>
[0338] <int:channel id="{mixer}InnerChannel" />
[0339] <int:aggregator id="{mixer} message Aggregator"
[0340] input-channel="{mixer}InputChannel"
[0341] output-channel="{mixer}InnerChannel"
[0342] ref="{mixer}aggregatorService"
[0343] method="aggregateMessages"/>
[0344] <bean id=" {mixer} aggregatorService" class="com.almeesoft.messageAggregator">
[0345] <property name="waitingMessageNumber" value="2" />
[0346] </bean>
[0347] <int:channel id="{mixer}OutputChannel" />
[0348] <int:service-activator input-channel="{mixer}InnerChannel" id="{mixer} mixerActivator"
[0349] output-channel="{mixer}OutputChannel"
[0350] ref="{mixer}mixerService"
[0351] method="process"/>
[0352] <bean id="{mixer}mixerService" class="com.almeesoft.Mixer">
[0353] <property name="mixRate" value="" />
[0354] <property name="preusreDrop" value="" />
[0355] </bean>
[0356] </scheme>
[0357] </adapter>
[0358] <adapter>
[0359] …
[0360] </adapter>
[0361] </adapters>
[0362] </module>
[0363] »
[0364] Данное описание/представление, на основании которого на клиентской стороне пользователю отображается/предоставляется список необходимых параметров для расчета аппарата, модуля технологической схемы и/или технологической схемы, на основании которых в дальнейшем может быть рассчитан аппарат. Также, данное описание/представление используется для добавления характеристик аппарата и способов его расчета в конфигурационное задание, причем такое описание/представление аппарата может храниться на серверной стороне, в частности, на сервере и при необходимости (например, при запросе клиентской стороной, например, при редактировании пользователем технологической схемы или ее модулей, аппаратов, при добавлении новых составных частей технологической схемы и т.д.) передается на клиентскую сторону. На основе указанного описания/представления на клиентской стороне средствами серверной стороны или средствами клиентской стороны, например, с использованием API программного обеспечения, установленного на сервере, создаются формы для задания необходимых параметров аппаратов, модулей технологической схемы, технологической схемы, включая соединения составных частей технологической схемы, например, такой формы, как показана на ФИГ. 5.
[0365] На основании типа модуля технологической схемы и набора входных и выходных потоков происходит визуализация данного модуля технологической схемы в интерфейсе, в частности, в интерфейсе пользователя, например, представленном веб-интерфейсом. Выбирая один из возможных адаптеров, пользователь указывает все необходимые параметры (описанные выше) для расчета модуля технологической схемы.
[0366] После того как пользователь на клиентской стороне ввел описание всех модулей (все необходимые параметры аппаратов, модулей, технологической схемы и т.д.), на клиентской стороне создается xml описание/представление (xml-файл) пользовательской схемы технологического процесса. В данном представлении пользовательской схемы технологического процесса в процессе создания xml-файла для каждого модуля технологической схемы добавляются связи между этими модулями и связанными с ними модулями, присутствующими в технологической схеме входными и выходными потоками, а также добавляется/указывается выбранный тип адаптера и значения необходимых параметров, как показано в тексте xml-файла, приведенном ниже:
[0367] «
[0368] <?xml version="1.0" encoding="utf-8" ?>
[0369] <module>
[0370] <type>Mixer</type>
[0371] <id>mixer1</id>
[0372] <input>
[0373] <inputPoint>
[0374] <flow>input1flow</flowId>
[0375] <module>heater2</module>
[0376] </inputPoint>
[0377] <inputPoint>
[0378] <flow>input2flow</flowId>
[0379] <module>pump1</module>
[0380] </inputPoint>
[0381] </input>
[0382] <output>
[0383] <inputPoint>
[0384] <flow>outputflow</flowId>
[0385] <module>pump2</module>
[0386] </inputPoint>
[0387] </output>
[0388] <adapter>
[0389] <id>mixedAdapterl</id>
[0390] <parameters>
[0391] <parameter>
[0392] <id>mixRate</id>
[0393] <value>0.6</value>
[0394] </parameter>
[0395] <parameter>
[0396] <id>preusreDrop</id>
[0397] <value>no</value>
[0398] </parameter>
[0399] </parameters>
[0400] </adapter>
[0401] </module>
[0402] »
[0403] Полученные от пользователя параметры (введенные/указанные пользователем) на серверной стороне создается описание модуля технологической схемы (как было описано выше), которое добавляется в конфигурационное задание технологической схемы:
[0404] «
[0405] <int:channel id="mixer 1 InnerChannel" />
[0406] <int: aggregator id=" mixer1 message Aggregator"
[0407] input-channel="mixer1 InputChannel"
[0408] output-channel="mixer1 InnerChannel"
[0409] ref="mixer1 aggregatorService"
[0410] method="aggregateMessages"/>
[0411] <bean id=" mixer" aggregatorService" class="com.almeesoft.messageAggregator">
[0412] <property name="waitingMessageNumber" value="2" />
[0413] </bean>
[0414] <int:channel id="mixer1OutputChannel" />
[0415] <int:service-activator input-channel="mixer1 InnerChannel" id="mixer1 mixerActivator"
[0416] output-channel="mixer1 OutputChannel"
[0417] ref="mixer1 mixerService"
[0418] method="process"/>
[0419] <bean id=" mixer1 mixerService" class="com.almeesoft.Mixer">
[0420] <property name="mixRate" value="0.6" />
[0421] <property name="preusreDrop" value="no" />
[0422] </bean>
[0423] »
[0424] На ФИГ. 8 показан пример компьютерной системы общего назначения, которая включает в себя многоцелевое вычислительное устройство в виде компьютера 20 или сервера, включающего в себя процессор 21, системную память 22 и системную шину 23, которая связывает различные системные компоненты, включая системную память с процессором 21.
[0425] Системная шина 23 может быть любого из различных типов структур шин, включающих шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую из множества архитектур шин. Системная память включает постоянное запоминающее устройство (ПЗУ) 24 и оперативное запоминающее устройство (ОЗУ) 25. В ПЗУ 24 хранится базовая система ввода/вывода 26 (БИОС), состоящая из основных подпрограмм, которые помогают обмениваться информацией между элементами внутри компьютера 20, например, в момент запуска.
[0426] Компьютер 20 также может включать в себя накопитель 27 на жестком диске для чтения с и записи на жесткий диск, не показан, накопитель 28 на магнитных дисках для чтения с или записи на съемный магнитный диск 29, и накопитель 30 на оптическом диске для чтения с или записи на съемный оптический диск 31 такой, как компакт-диск, цифровой видеодиск и другие оптические средства. Накопитель 27 на жестком диске, накопитель 28 на магнитных дисках и накопитель 30 на оптических дисках соединены с системной шиной 23 посредством, соответственно, интерфейса 32 накопителя на жестком диске, интерфейса 33 накопителя на магнитных дисках и интерфейса 34 оптического накопителя. Накопители и их соответствующие читаемые компьютером средства обеспечивают энергонезависимое хранение читаемых компьютером инструкций, структур данных, программных модулей и других данных для компьютера 20.
[0427] Хотя описанная здесь типичная конфигурация использует жесткий диск, съемный магнитный диск 29 и съемный оптический диск 31, специалист примет во внимание, что в типичной операционной среде могут также быть использованы другие типы читаемых компьютером средств, которые могут хранить данные, которые доступны с помощью компьютера, такие как магнитные кассеты, карты флеш-памяти, цифровые видеодиски, картриджи Бернулли, оперативные запоминающие устройства (ОЗУ), постоянные запоминающие устройства (ПЗУ) и т.п.
[0428] Различные программные модули, включая операционную систему 35, могут быть сохранены на жестком диске, магнитном диске 29, оптическом диске 31, ПЗУ 24 или ОЗУ 25. Компьютер 20 включает в себя файловую систему 36, связанную с операционной системой 35 или включенную в нее, одно или более программное приложение 37, другие программные модули 38 и программные данные 39. Пользователь может вводить команды и информацию в компьютер 20 при помощи устройств ввода, таких как клавиатура 40 и указательное устройство 42. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, геймпад, спутниковую антенну, сканер или любое другое.
[0429] Эти и другие устройства ввода соединены с процессором 21 часто посредством интерфейса 46 последовательного порта, который связан с системной шиной, но могут быть соединены посредством других интерфейсов, таких как параллельный порт, игровой порт или универсальная последовательная шина (УПШ). Монитор 47 или другой тип устройства визуального отображения также соединен с системной шиной 23 посредством интерфейса, например видеоадаптера 48. В дополнение к монитору 47, персональные компьютеры обычно включают в себя другие периферийные устройства вывода (не показано), такие как динамики и принтеры.
[0430] Компьютер 20 может работать в сетевом окружении посредством логических соединений к одному или нескольким удаленным компьютерам 49. Удаленный компьютер (или компьютеры) 49 может представлять собой другой компьютер, сервер, роутер, сетевой ПК, пиринговое устройство или другой узел единой сети, а также обычно включает в себя большинство или все элементы, описанные выше, в отношении компьютера 20, хотя показано только устройство хранения информации 50. Логические соединения включают в себя локальную сеть (ЛВС) 51 и глобальную компьютерную сеть (ГКС) 52. Такие сетевые окружения обычно распространены в учреждениях, корпоративных компьютерных сетях, Интернете.
[0431] Компьютер 20, используемый в сетевом окружении ЛВС, соединяется с локальной сетью 51 посредством сетевого интерфейса или адаптера 53. Компьютер 20, используемый в сетевом окружении ГКС, обычно использует модем 54 или другие средства для установления связи с глобальной компьютерной сетью 52, такой как Интернет.
[0432] Модем 54, который может быть внутренним или внешним, соединен с системной шиной 23 посредством интерфейса 46 последовательного порта. В сетевом окружении программные модули или их части, описанные применительно к компьютеру 20, могут храниться на удаленном устройстве хранения информации. Надо принять во внимание, что показанные сетевые соединения являются типичными, и для установления коммуникационной связи между компьютерами могут быть использованы другие средства.
[0433] В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.