СПОСОБ КОНФИГУРИРОВАНИЯ ВЕДУЩЕГО УСТРОЙСТВА И СИСТЕМА УПРАВЛЕНИЯ ТЕХНОЛОГИЧЕСКИМ ПРОЦЕССОМ
METHOD FOR CONFIGURING MASTER DEVICE AND PROCESS CONTROL SYSTEM

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее изобретение в целом относится к системам производственного предприятия и, в частности, к конфигурированию работы сервера в системах управления технологическими процессами и сбора данных.
УРОВЕНЬ ТЕХНИКИ
[0002] Описание уровня техники, представленное в настоящем документе, выполнено для целей общего представления содержания настоящего изобретения. Работа названных в настоящее время изобретателей, в тех случаях, когда описана в этой части уровня техники, а также и аспекты настоящего описания, которые не могут определять иначе как предшествующий уровень техники на момент подачи заявки, не признаны ни явным, ни подразумеваемым образом в качестве предшествующего уровня техники по отношению к настоящему изобретению.

[0003] Распределенные системы управления технологическими процессами, подобные тем, которые используются в химических, нефтеперерабатывающих и других производственных предприятиях, обычно содержат один или более технологических контроллеров, соединенных с возможностью осуществления связи с одним или большим количеством полевых устройств через аналоговые, цифровые или комбинированные аналоговые/цифровые шины или через беспроводную линию или сеть связи. Полевые устройства, которые могут быть, например, клапанами, позиционерами клапанов, переключателями и передатчиками (например, датчиками температуры, давления и скорости потока), расположены в производственном предприятии и обычно выполняют физические функции или функции технологического процесса, такие как открывание или закрывание клапанов, и измерение параметров технологического процесса и т.д. для управления одним или большим количеством технологических процессов, выполняющихся в производственном предприятии или системе. Интеллектуальные полевые устройства, такие как полевые устройства, соответствующие известному протоколу Fieldbus, могут также выполнять управляющие расчеты, функции аварийной сигнализации и другие управляющие функции, обычно реализуемые в контроллере. Контроллеры технологического процесса, которые также обычно расположены в производственной среде, принимают сигналы, указывающие на измерения технологического процесса, выполненные датчиками и/или полевыми устройствами, и/или другую информацию, относящуюся к полевым устройствам, и выполняет контроллерное приложение, которое запускает, например, различные управляющие модули, которые принимают решения управления технологическим процессом, генерируют управляющие сигналы на основании принятой информации и согласовываются с управляющими модулями или блоками, выполняющимися в полевых устройствах, таких как полевые устройства HART, Wireless HART, and FOUNDATION Fieldbus. Управляющие модули в контроллере отправляют управляющие сигналы по линиям или каналам связи на полевые устройства для управления тем самым работой по меньшей мере части производственного предприятия или системы.
[0004] Информация от полевых устройств и контроллера обычно выполняется доступной по магистрали данных для одного или более аппаратных устройств, таких как рабочие станции операторов, персональные компьютеры или вычислительные устройства, архивные хранилища данных, генераторы отчетов, централизованные базы данных или другие централизованные административные вычислительные устройства, которые обычно располагаются в комнатах управления и/или других местоположениях, удаленных от неблагоприятных производственных условий. Каждое из этих аппаратных устройств обычно сосредоточено по производственному предприятию или по его части. Эти аппаратные устройства выполняют приложения, которые обеспечивают оператору возможность выполнения функций в отношении управления технологическим процессом и/или работы производственного предприятия, такие как изменение настроек программы управления технологическим процессом, изменение работы управляющих модулей в контроллерах или полевых устройствах, наблюдение за текущим состоянием технологического процесса, просмотр аварийных сигналов, сгенерированных полевыми устройствами и контроллерами, моделирование работы технологического процесса для целей тренировки персонала или тестирования программного обеспечения управления технологическим процессом, сохранение и обновление базы данных конфигурации и т.д. Магистраль данных, используемая аппаратными устройствами, контроллерами и полевыми устройствами, может содержать проводной канал связи, беспроводной канал связи или комбинацию проводного и беспроводного каналов связи.
[0005] В качестве примера, система диспетчерского управления и сбора данных, распределенная система управления, их комбинация и т.д. могут содержать централизованное вычислительное устройство, такое как сервер и/или устройство пользовательского интерфейса, которое может осуществлять связь с контроллерами, удаленными оконечными устройствами (RTU, remote terminal unit) и т.д. для сбора данных от полевых устройств в системе управления технологическим процессом, для анализа данных, для воздействия на управление указанной системой (в некоторых случаях на основании этого анализа данных), для генерации аварийных сигналов и т.д. Однако, такие ведущие системы часто испытывают недостаток гибкости по отношению к конфигурации системы, такой как конфигурация для выполнения заказных действий, которые могут потребоваться для конкретной системы на конкретном предприятии.  Например, конфигурирование ведущей системы для автоматического выполнения некоторых действий или последовательностей действий в ответ на некоторое изменение у системе обычно требует знания языка программирования или скриптового языка для создания заказных программ, которые могут запускаться на ведущем устройстве, а также могут потребовать дополнительные системы и компоненты, такие как приложения для разработки программного обеспечения, компиляторы программ и т.д. Кроме того, даже если заказная компьютерная программа создана, часто эту программу непросто поддерживать и даже труднее обновлять или расширять.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0006] В одном аспекте способ конфигурирования ведущего устройства в предприятии управления технологическим процессом для автоматического выполнения действия или набора действий включает генерацию на ведущем устройстве шаблона рабочего процесса, который содержит последовательность из одного или более этапов, подлежащих выполнению указанным ведущим устройством, включая выбор каждого из по меньшей мере нескольких из указанного одного или более этапов из набора заданных этапов. Способ также включает создание на ведущем устройстве экземпляра шаблона рабочего процесса на указанном ведущем устройстве. Способ дополнительно включает генерацию на ведущем устройстве пускового условия для автоматического запуска указанного экземпляра рабочего процесса. Способ дополнительно включает обнаружение указанного пускового условия. Способ также включает выполнение на ведущем вычислительном устройстве последовательности из указанного одного или более этапов в ответ на обнаружение пускового условия.
[0007] В другом аспекте система управления технологическими процессами содержит ведущее устройство, выполненное с возможностью осуществления связи с указанным одним или большим количеством удаленных оконечных устройств (RTU) для одного или обоих действий из следующих: (i) получение данных от указанного одного или более удаленных оконечных устройств и (ii) передача данных на указанное одно или более устройств RTU. Ведущее устройство содержит энегонезависимое машиночитаемое запоминающее устройство, которое сохраняет множество заданных этапов. Ведущее устройство также содержит механизм действий, выполненный с возможностью генерации шаблона рабочего процесса, который содержит последовательность из одного или более этапов, выбранных из указанного множества сохраненных заданных этапов, подлежащих выполнению указанным ведущим устройством. Механизм действий также выполнен с возможностью создания экземпляра рабочего процесса, соответствующего указанного шаблона рабочего процесса. Механизм действий также выполнен с возможностью генерации пускового условия для автоматического запуска указанного экземпляра рабочего процесса.  Механизм действий дополнительно выполнен с возможностью обнаружения пускового условия и инициации выполнения последовательности из указанного одного или более этапов в ответ на обнаружение указанного пускового условия.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0008] На фиг. 1 показана структурная схема примерного производственного предприятия или системы управления технологическим процессом, которая содержит систему диспетчерского управления и сбора данных, которая может быть выполнена с возможностью выполнения автоматических действий.
[0009] На фиг. 2 показана упрощенная структурная схема примерного ведущего устройства, такого как сервер системы управления технологическим процессом, показанной на фиг. 1.
[0010] На фиг. 3 показана блок-схема примерной реализации механизма действий.
[0011] На фиг. 4 показан иллюстративный дисплей, который изображает экран, сгенерированный модулем пользовательского интерфейса механизма действий, показанного на фиг. 3, для обеспечения пользователю возможности генерации шаблона рабочего процесса.
[0012] На фиг. 5 показан иллюстративный дисплей, который изображает экран, сгенерированный модулем пользовательского интерфейса механизма действий, показанного на фиг. 3, для обеспечения пользователю возможности создания заказного выражения.
[0013] На фиг. 6 показан иллюстративный дисплей, который изображает другой экран, сгенерированный модулем пользовательского интерфейса механизма действий, показанного на фиг. 3, для обеспечения пользователю возможности создания заказного выражения.
[0014] На фиг. 7 показан иллюстративный дисплей, который изображает экран, сгенерированный модулем пользовательского интерфейса механизма действий, показанного на фиг. 3, для обеспечения пользователю возможности создания фонового запроса.
[0015] На фиг. 8 показан иллюстративный дисплей, который изображает экран, сгенерированный модулем пользовательского интерфейса механизма действий, показанного на фиг. 3, для обеспечения пользователю возможности конфигурации экземпляра шаблона рабочего процесса.
[0016] На фиг. 9 показан иллюстративный дисплей, который изображает другой экран, сгенерированный модулем пользовательского интерфейса механизма действий, показанного на фиг. 3, для обеспечения пользователю возможности конфигурации экземпляра шаблона рабочего процесса.
[0017] На фиг. 10 показан иллюстративный дисплей, который изображает другой экран, сгенерированный модулем пользовательского интерфейса механизма действий, показанного на фиг. 3, для обеспечения пользователю возможности конфигурации экземпляра шаблона рабочего процесса.
[0018] На фиг. 11 показан иллюстративный дисплей, который изображает другой экран, сгенерированный модулем пользовательского интерфейса механизма действий, показанного на фиг. 3, для обеспечения пользователю возможности конфигурации экземпляра шаблона рабочего процесса.
[0019] На фиг. 12 показана блок-схема примерного способа конфигурирования ведущего устройства в предприятии управления технологическим процессом для автоматического выполнения действия или набора действий.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0020] Данное изобретение относится к системам и способам конфигурирования ведущего устройства для выполнения действий или последовательностей действий в системе управления технологическим процессом. В частности, раскрыты программы, которые облегчают конфигурирование ведущих устройств. Указанные программы обеспечивают пользователю возможность генерации рабочих процессов, которые задают определенные действия или последовательности действий, и задания пусковых событий или условий для автоматической инициации указанных заданных действий или последовательностей действий. Система и способ обеспечивают пользователю возможность задания рабочего процесса посредством выбора из набора заранее заданных этапов одного или более этапов, подлежащих включению в указанный рабочий процесс. Пользователь также может задавать условные ветви в этом рабочем процессе, где конкретную ветвь рабочего процесса выбирают во время выполнения указанного рабочего процесса на основании результата его предыдущего этапа. Система обеспечивает гибкость и коммерческую быструю переналаживаемость посредством обеспечения пользователям возможности быстрого и эффективного задания и реализации стратегий технологического процесса для процессов отслеживания и управления в средах управления технологическим процессом. Такие стратегии могут быть заданы и реализованы в производственном предприятии производственным персоналом (например, на месте) и без знания или квалификации в программировании или скриптовом языке. Таким образом, такие стратегии могут быть легко разработаны и реализованы на предприятии на основании требований к конкретному предприятию или на основании других соображений, например, для оптимизации процессов или операций предприятия.  Кроме того, автоматическая инициация рабочих процессов может увеличить эффективность работы предприятия, например, благодаря более быстрому времени отклика на определенные события или аварийные сигналы, которые могут быть обнаружены, и на которые могут автоматически воздействовать (например, для автоматической регулировки установочной точки в устройстве, для быстрой остановки процесса, если остановка необходима или требуется, и т.д.) при помощи системы управления технологическим процессом.
[0021] Обратимся сначала к полной архитектуре примерного производственного предприятия, где на фиг. 1 показана структурная схема примерной сети 100 управления технологическим процессом, работающая в системе управления технологическим процессом или производственном предприятии 10. Сеть 100 управления технологическим процессом может содержать сетевую магистраль 105, обеспечивающую возможность установления связи прямым или непрямым образом между разнообразными другими устройствами. В различных вариантах осуществления устройства, соединенные с сетевой магистралью 105, содержат комбинации точек 72 доступа, шлюзов 75 для других производственных предприятий (например, через сеть интернет или общекорпоративную локальную сеть), шлюзы 78 для внешних систем (например, сети Интернет), устройств 114 человеко-машинного интерфейса (HMI, human interface), серверов 150, информационных систем 102 (например, содержащих базы данных технологического процесса, архивы данных и т.д.), контроллеров 11, плат 26 и 28 ввода/вывода (I/O), проводных сетей 23 связи, беспроводных сетей 70 связи и сетей связи 72 диспетчерской системы. Проводная сеть 23 связи, которая может работать в соответствии с протоколом промышленной автоматизации (например, HART, PROFIBUS DP (децентрализованные периферийные устройства, и т.д.) или с другим подходящим протоколом связи, содержит проводные полевые устройства 15-22. Контроллер 11 соединен с возможностью осуществления связи с полевыми устройствами 15-22 с использованием любого подходящего аппаратного и программного обеспечения, связанного, например, со стандартными устройствами токовой петли 4-20 мА и/или с любым интеллектуальным протоколом связи, таким, как сетевой протокол Fieldbus или протокол HART. Полевые устройства 15-22 могут быть любыми типами устройств, такими как клапаны, позиционеры клапанов, переключатели, датчики (например, температуры, давления, вибрации, скорости потока или показателя pH), насосы, вентиляторы и т.п. или комбинациями двух или более таких типов, в то время как платы ввода/вывода 26, 28 могут быть любыми типами устройств ввода/вывода, соответствующих любому подходящему протоколу связи или контроллера, такому, как протокол HART, Fieldbus, Profibus и т.п. Полевые устройства 15-22 осуществляют управление, отслеживание и/или физические функции в технологическом процессе или в контуре управления технологическим процессом, такие как, например, открытие и закрытие клапанов или выполнение измерений параметров процесса. В варианте осуществления, показанном на фиг. 1, полевые устройства 15-18 являются стандартными устройствами токовой петли 4-20 мА , осуществляющими связь по аналоговым каналам с платой 26 ввода/вывода, а полевые устройства 19-22 являются интеллектуальными устройствами, такими как полевые устройства Fieldbus, осуществляющими связь по цифровой шине с платой 28 ввода/вывода с использованием, например, протокола связи Fieldbus. Конечно, полевые устройства 15-22 и платы 26, 28 ввода/вывода могут соответствовать любому другому подходящему стандарту (стандартам) или протоколам помимо токовой петли 4-20 мА, протоколов HART или Fieldbus, включая любые стандарты или протоколы, которые будут разработаны в будущем.
[0022] Беспроводные сети 70 связи, которые могут работать в соответствии с настоящим изобретением, могут содержать беспроводные устройства 40-58, содержащие беспроводные полевые устройства 40-46, беспроводные адаптеры 52а и 52b, точки 55а и 55b доступа и маршрутизатор 58. Беспроводные адаптеры 52а и 52b могут быть соединены с не беспроводными полевыми устройствами 48 и 50, соответственно. Контроллер 11 может содержать процессор 30, запоминающее устройство 32 и одну или более управляющих программ 38, которые могут быть сохранены в запоминающем устройстве 32 и могут быть выполнены процессором 30. Хотя на фиг. 1 показано только одно из некоторых из устройств, соединенных с сетевой магистралью 105, следует понимать, что каждое из указанных устройств может иметь множество экземпляров на сетевой магистрали 105 и, фактически, что производственное предприятие 10 может содержать множество сетевых магистралей 105.
TM

[0023] Ведущие устройства, такие как сервер 150 и/или устройство 114 HMI, могут быть соединены с возможностью осуществления связи с контроллером 11 и беспроводным шлюзом 35 через сетевую магистраль 105. Контроллер 11 может быть соединен с возможностью осуществления связи с проводными полевыми устройствами 15-22 через платы 26 и 28 ввода/вывода, а также может быть соединен с возможностью осуществления связи с беспроводными полевыми устройствами 40-46 через сетевую магистраль 105 и беспроводной шлюз 35. Контроллер 11 может быть выполнен с возможностью реализации серийного процесса или непрерывного процесса с использованием по меньшей мере некоторых из полевых устройств 15-22 и 40-46. Контроллер 11, который может быть, например, контроллером DeltaV, продаваемым компанией Emerson Process Management, соединен с возможностью осуществления связи с сетевой магистралью 105 управления технологическим процессом. Контроллер 11 также может быть соединен с возможностью осуществления связи с полевыми устройствами 15-22 и 40-46 с использованием любого требуемого аппаратного и программного обеспечения, связанного, например, со стандартными устройствами токовой петли 4-20 мА, платами 26, 28 ввода/вывода и/или с любым интеллектуальным протоколом связи, таким, как сетевой протокол FOUNDATION Fieldbus, протокол HART , беспроводной протокол HART и т.д. В варианте осуществления, показанном на фиг. 1, контроллер 11, полевые устройства 15-22 и платы 26 и 28 ввода/вывода являются проводными устройствами, а полевые устройства 40-46 являются беспроводными устройствами.
[0024] Процессор 30 контроллера 11 выполняет или контролирует одну или более программ управления технологическим процессом, таких как одна или более программ 38 технологического процесса, хранящихся в запоминающем устройстве 32, которые могут содержать управляющие контуры. Процессор 30 может осуществлять связь с полевыми устройствами 15-22 и 40-46 и с другими узлами, соединенными с возможностью осуществления связи с магистралью 105. Следует отметить, что любые управляющие программы или модули (включая модули прогноза качества и обнаружения неисправностей или функциональные блоки), описанные в настоящем документе, могут содержать части, реализованные или выполняемые различными контроллерами или другими устройствами, если так потребуется. Аналогично, описанные в настоящем документе управляющие программы или модули, которые должны быть реализованы в системе 10 управления технологическим процессом, могут принимать любую форму, в том числе программную, аппаратную, программно-аппаратную и т.д. Управляющие программы могут быть реализованы в любом требуемом программном формате, например, используя объектно-ориентированное программирование, многоступенчатую логику, последовательные функциональные схемы, диаграммы функциональных блоков или любой другой язык программирования или конструкторский принцип. В частности, управляющие программы могут быть реализованы пользователем, с помощью устройства 114 HMI в комбинации с сервером 150. Управляющие программы могут быть сохранены в любом требуемом типе запоминающего устройства, таком как оперативное запоминающее устройство (ОЗУ) или постоянное запоминающее устройство (ПЗУ). Аналогично, управляющие программы могут быть жестко закодированы в одном или большем количестве программируемых ПЗУ, электрически стираемых программируемых ПЗУ, специализированных интегральных схем или других аппаратных или программно-аппаратных элементов. Контроллер 11 может быть выполнен (пользователем с использованием устройства 114 UI ) с возможностью реализации управляющей стратегии или управляющей программы любым требуемым способом.

[0025] В дополнение к проводной сети 10 и/или беспроводной сети 70 или вместо них, сеть 100 управления технологическим процессом может содержать центральную или распределенную диспетчерскую сеть или систему, такую как сеть 72 диспетчерского управления и сбора данных (SCADA, supervisory control and data acquisition), которая может содержать одно или более устройств 80 RTU, обеспечивающих возможность осуществления связи между ведущим устройством (например, сервером 150) и удаленными полевыми устройствами. В варианте осуществления, показанном на фиг. 1, сеть 100 управления технологическим процессом содержит несколько устройств 80 RTU, осуществляющих связь с полевыми устройствами 92-96. Устройство 80а RTU соединено с магистралью 105 напрямую через проводное соединение, а устройства 80b, 80c и 80d RTU формируют беспроводную сеть, которая соединена с магистралью 105 через шлюз или маршрутизатор 36 SCADA. Каждое устройство 80 RTU может содержать сетевой интерфейс, обеспечивающий устройству 80 RTU возможность осуществления связи с ведущим устройством, таким как сервер 150 и/или устройство 114 HMI. Устройства 80 RTU могут осуществлять связь с ведущими устройствами, используя любые подходящие протоколы проводной или беспроводной связи, такие как протокол FOUNDATION Fieldbus , протокол HART , беспроводной протокол HART и т.д. Каждое устройство 80 RTU содержит также процессор 82 и запоминающее устройство 83. Запоминающее устройство 82 устройства 80 RTU может сохранять профиль конфигурации этого устройства 80 RTU и/или одну или более программ (например, управляющих программ), которые могут быть выполнены устройством 80 RTU. Процессор 82 устройства 80 RTU может выполнять указанную одну или более программ, сохраненных в запоминающем устройстве 83 устройства 80 RTU для управления одним или большим количеством полевых устройств, соединенных с этим устройством 80 RTU, и/или сбора данных от указанного одного или более устройств, соединенных с устройством 80 RTU. Следует понимать, что хотя на фиг. 1 показаны только четыре устройства 80 RTU и только пять полевых устройств 92-96, сеть 72 может содержать любое количество устройств 80 RTU и полевых устройств 92-96. Например, по меньшей мере в некоторых вариантах осуществления сеть 72 может содержать сотни или даже тысячи устройств 80 RTU и/или сотни или даже тысячи полевых устройств 92-96.
[0026] Ведущие устройства, такие как сервер 150 и/или устройство 114 HMI, могут осуществлять связь с устройствами 80 RTU и/или контроллером 11, например, для получения данных технологического процесса в реальном времени от полевых устройств 92-96, 15-22 и 40-46, для конфигурирования (или повторного конфигурирования) устройств 80 RTU и/или контроллера 11, для конфигурирования или повторного конфигурирования полевых устройств 92-96, 15-22 и 40-46 через устройства 80 RTU и контроллер 11, для управления работой полевых устройств 92-96, 15-22 и 40-46 через устройства 80 RTU и контроллер 11 и т.д. Для обеспечения серверу 150 возможности выполнения этих и других действий по отношению к устройствам в сети 100 управления технологическим процессом и/или отслеживаемых технологическим процессом и/или управляемых посредством сети 100 управления технологическим процессом, сервер 150 может содержать определенные программы или модули, каждый из которых может быть в виде читаемых с помощью компьютера инструкций, сохраненных в запоминающем устройстве сервера 150 и выполняемых процессором сервера 150, что обеспечивает возможность различных расчетных операций, операций управления технологическим процессом (например, настройка или регулировка установочных точек, открытие или закрытие клапанов и т.д.), операций конфигурации по отношению к контроллеру 11 и/или устройствам 80 RTU (например, загрузка конфигурации или управляющей программы в устройство 80 RTU или контроллер 11, выгрузка конфигурации или управляющей программы из устройства 80 RTU или контроллера 11), операции интерфейса с помощью устройства 114 HMI (например, отправка данных о технологическом процессе для отображения на этом устройстве HMI, отправка данных об аварийных сигналах на это устройство HMI и т.д.) и т..д
[0027] В варианте осуществления изобретения сервер 150 содержит механизм действий, который обеспечивает пользователю возможность легкого конфигурирования рабочих процессов, что обеспечивает серверу 150 возможность выполнения определенных заданных действий или определенных заданных последовательностей действий, подлежащих автоматическому выполнению без дополнительного ввода оператора. Механизм действий может обеспечивать оператору возможность создания таких рабочих процессов без какого-либо знания любого языка программирования или скриптового языка или только с минимальными такими знаниями. Для этой цели механизм действий может предоставлять пользователю набор заранее заданных этапов или компоновочных блоков, а также может обеспечивать этому пользователю возможность создания рабочего процесса, составленного из последовательности из одного или более указанных этапов или компоновочных блоков. Этапы или компоновочные блоки могут быть связаны с выражениями, такими как математические выражения, логические выражения, строковые выражения, выражения, описывающие дату/время, специализированные выражения механизма действий и т.д. Эти выражения могут соответствовать определенному формату или синтаксису, который затем может быть интерпретирован синтаксическим анализатором, выполненным с возможностью синтаксического анализа выражений на основании указанного формата или синтаксиса. Альтернативно, эти этапы или компоновочные блоки могут являться любыми подходящими объектами (например, выполняемыми объектами, объектами динамически подключаемой библиотеки (DLL, dynamic-link library) и т.д.), которые могут выполнять действия, которые сервер 150 может предпринимать по отношению к другим устройствам, по отношению к данных, собранным от других устройств, по отношению к данным, рассчитанных сервером 150, и т.д.
[0028] Таким способом механизм 152 действий может абстрагировать программы или модули, которые сервер 150 использует для выполнения действий из этапов, которые оператор может использовать для задания рабочих процессов, подлежащих выполнению на сервере 150, например, для осуществления связи между сервером 150 и другими устройствами, такими как устройства 80 RTU, контроллер 11, устройство 114 HMI и т.д. Только в качестве примера, пользователь может создавать рабочий процесс, обеспечивающий серверу 150 возможность автоматической загрузки файла конфигурации на устройство 80 RTU в ответ на обнаружение того, что это устройство 80 RTU потеряло свою конфигурацию, например, когда устройство 80 RTU было заменено на новое устройство RTU. В качестве другого примера, пользователь может создавать рабочий процесс, который обеспечит серверу 150 возможность автоматического выполнения регулировок установочных точек в полевых устройствах или в группе полевых устройств, например, в ответ на обнаружение изменения технологического параметра или изменения в комбинации технологических параметров, для которых могут потребоваться или быть необходимы такие регулировки установочных точек.
[0029] В варианте осуществления изобретения механизм 152 действий обеспечивает оператору возможность создания рабочих процессов, обеспечивающих серверу 150 возможность автоматического выполнения анализа данных и генерации аварийных сигналов и/или управления на основании данных, собранных через сеть 100 управления технологическим процессом. Например, может быть создан один или более рабочих процессов, которые могут обеспечивать серверу 150 возможность отслеживания аварийных сигналов, которые в настоящее время активны в системе управления технологическим процессом. Указанный один или более рабочих процессов могут быть выполнены с возможностью эскалации активного аварийного сигнала, например, посредством автоматического изменения важности и/или отображения этого аварийного сигнала, автоматического изменения аварийной конфигурации для того, чтобы сделать указанный аварийный сигнал видимым для надлежащего персонала производства и т.д., если указанный аварийный сигнал не был рассмотрен в течение определенного периода времени. Напротив, может быть создан один или более рабочих процессов для обеспечения возможности серверу 150 подавления (например, дезактивации или снижения важности) определенных аварийных сигналов, например, если эти аварийные сигналы произошли в результате других аварийных сигналов в системе и могут не представлять актуальные проблемы, обнаруженные в этой системе.
[0030] Анализ данных и/или аварийных сигналов может содержать анализ ретроспективных данных и/или ретроспективных аварийных сигналов, сохраненных в базе данных. Например, может быть создан один или более рабочих процессов для обеспечения серверу 150 возможности создания определенных наборов данных, например, для использования в отчетах, которые затем могут быть предоставлены операторам или другим пользователям. В качестве другого примера, может быть создан один или более рабочих процессов для обеспечения серверу 150 возможности анализа ретроспективных данных для осуществления поиска определенных закономерностей или определенных (например, необычных) значений. Когда идентифицированы такие закономерности или значения, рабочий процесс, например, может передавать идентифицированные закономерности или значения оператору. В качестве другого примера, может быть создан один или более рабочих процессов для обеспечения серверу 150 возможности осуществления поиска по базе данных для идентификации определенных значений и условий, например, посредством проведения не меняющих основной режим работы (например, медленных) фоновых запросов, и для перегруппировки идентифицированных данных таким образом, что к этим данным может быть осуществлен более быстрый доступ другими системами (например, приложениями технической поддержки или другими приложениями).
[0031] В качестве другого примера, может быть создан один или более рабочих процессов для обеспечения серверу 150 возможности применения заданных наборов правил к данным, например, для идентификации наборов данных, отклоняющихся от указанных правил. Например, если система 10 управления технологическим процессом содержит нефтяные/газовые скважины, для идентификации одной или более наилучших производящих скважин и одной или более наихудших производящих скважин правила могут быть применены к данным, соответствующим каждой из указанных скважин. Эта информация может быть использована для оптимизации системы, например, посредством исследования идентифицированных скважин. В некоторых системах оптимизация скважин может быть включена в рабочие процессы, созданные при помощи механизма 152 действий таким образом, что может быть выполнена автоматическая оптимизация скважин. Автоматическая оптимизация может содержать, например, рабочие процессы для автоматической модификации скважинных параметров и отправки новых скважинных параметров на соответствующие устройства RTU.
[0032] В качестве другого примера, может быть создан один или более рабочих процессов, которые могут обеспечивать серверу 150 возможность отслеживания и/или анализа активных в настоящее время и/или ретроспективных аварийных сигналов в системе управления технологическим процессом для обнаружения и идентификации определенных заданных пользователем тенденций в аварийной сигнализации. Указанный один или более рабочих процессов могут дополнительно обеспечивать серверу 150 возможность автоматической установки определенных заданных значений в базе данных для указания на идентифицированные или обнаруженные тенденции. Дополнительно или альтернативно, данные, относящиеся к обнаруженным или идентифицированным тенденциям, могут быть использованы системой управления технологическим процессом (например, оператором этой системы управления технологическим процессом) для идентификации краткосрочных или долгосрочных проблем в указанной системе (например, проблема эксплуатационных качеств, относящихся к определенному полевому устройству или устройствам) и/или для идентификации способов улучшения и/или оптимизации систему управления технологическим процессом. В качестве другого примера, может быть создан один или более рабочих процессов для обеспечения серверу 150 возможности автоматического создания элементов рабочего процесса на основании определенных условий, обнаруженных в системе управления технологическим процессом. Например, сервер 150 может генерировать такие элементы рабочих процессов на основании обнаружения определенных заданных пользователем условий в базе данных. Указанный один или более рабочих процессов могут дополнительно обеспечивать серверу 150 возможность автоматического назначения элементов рабочего процесса определенному персоналу и возможность предоставления этих элементов рабочего процесса назначенному персоналу.
[0033] Может быть предоставлен один или более рабочих процессов для обеспечения серверу 150 возможности взаимодействия с операторами производства и персоналом множеством способов. Например, одна или более программ или этапов рабочих процессов может обеспечивать серверу 150 возможность создания "примечаний", когда в базе данных обнаружены определенные условия или изменения, и представления этих примечаний оператору через устройство HMI, такое как устройство 114 HMI. В качестве другого примера, одна или более программ или этапов рабочих процессов могут обеспечивать серверу 150 возможность взаимодействия с оператором посредством автоматического открытия окон на устройстве HMI, таком как устройство 114 HMI (например, для информирования персонала производства, когда определенный аварийный сигнал или определенные аварийные сигналы были эскалированы и/или требуют немедленного внимания). Один или более рабочих процессов также могут содержать этапы для отображения диалогового окна на устройстве HMI для обеспечения пользователю возможности ручного взаимодействия с рабочим процессом, например, для подтверждения определенного действия до фактического выполнения указанных действий сервером 150, или посредством отображения определенных процедур, которые должны отслеживаться оператором в событии, когда сгенерирован определенный аварийный сигнал. Рабочий процесс также может содержать этап для создания записей аварийных сигналов и для сохранения этих записей в запоминающем устройстве таким образом, что указанные аварийные сигналы могут быть проанализированы позднее, например, во время анализа после происшествия. Механизм 152 действий может дополнительно содержать одно или более выражений или этапов, которые могут обеспечивать пользователю возможность пусковых элементов для автоматических уведомлений, таких как сообщений электронной почты (уведомлений по электронной почте), уведомлений службы коротких сообщений (SMS, short message service) и т.д., подлежащих отправке операторам производства или другому персоналу. Дополнительно или альтернативно, механизм 152 действий может быть выполнен с возможность приема сообщений электронной почты, сообщений SMS и т.д., например, через сервер POP3. В варианте осуществления изобретения механизм 152 действий может содержать один или более этапов или выражений, обеспечивающих пользователю возможность включения сообщений электронной почты, сообщений SMS и т.д. в этапы шаблонов рабочих процессов.
[0034] В варианте осуществления изобретения механизм 152 действий может быть выполнен с возможностью взаимодействия с операционной системой сервера 150, например, для обнаружения определенных условий, относящихся к работе этой операционной системы. Например, механизм 152 действий может обеспечивать пользователю возможность создания одного или более рабочих процессов для отслеживания системных ресурсов на сервере 150, для отслеживания определенных папок или файлов на сервере 150 или для выполнения других действий, относящихся к операционной системе сервера 150 или связанных с ней. В варианте осуществления изобретения механизм 150 действий может обеспечивать пользователю возможность создания одного или более рабочих процессов, которые могут отслеживать ресурсы сервера 150 для обнаружения низких ресурсов указанной системы, и для инициации операций обхода отказа, которые могут способствовать восстановлению в аварийных ситуациях указанной системы.
[0035] В варианте осуществления изобретения механизм 152 действий может быть выполнен с обеспечением возможности пользователю создания одного или более рабочих процессов для осуществления операций управления данными, которые могут быть необходимы или потребоваться для сервера 150. В качестве другого примера, может быть создан один или более рабочих процессов для обеспечения серверу 150 возможности перемещения определенных файлов (например, ретроспективных архивных файлов) в систему хранения данных, внешнюю для сервера 150 и/или внешнюю для системы управления технологическим процессом или из нее. Кроме того, один или более пусковых элементов могут быть заданы для запуска указанного одного или более рабочих процессов управления данными, подлежащих инициации, например, в ответ на обнаружение изменения или изменений в системе базы данных.
[0036] В варианте осуществления изобретения механизм 152 действий выполнен с возможностью работы в качестве клиента связывания и внедрения объектов (OLE, object linking and embedding) для управления процессом (OPC, OLE for process control) и может быть выполнена с возможностью осуществления прямой связи с сервером OPC, например, для извлечения данных из сервера OPC.
[0037] Продолжая ссылаться на фиг. 1, беспроводной шлюз 35 является примером устройства поставщика, которое может обеспечивать доступ для различных беспроводных устройств 40-58 беспроводной сети 70 связи. В частности беспроводной шлюз 35 обеспечивает соединение с возможностью осуществления связи между беспроводными устройствами 40-58 и другими узлами сети 100 управления технологическим процессом (включая контроллер 11, показанный на фиг. 1). Аналогично, беспроводной шлюз 36 является примером устройства поставщика, которое обеспечивает доступ для устройств 80 RTU диспетчерской (например, SCADA) сети 72. Беспроводной шлюз 35 и/или беспроводной шлюз 36 обеспечивают соединение с возможностью осуществления связи с соответствующими устройствами, в некоторых случаях посредством служб маршрутизации, буферизации и тайминга для более низких уровней стеков проводных и беспроводных протоколов (например, преобразование адресов, маршрутизация, сегментация пакетов, присваивание приоритетов и т.д.), в то же время туннелируя совместно используемый уровень или уровни этих стеков проводных и беспроводных протоколов. В других случаях беспроводной шлюз 35 и/или беспроводной шлюз 36 могут транслировать команды между проводным и беспроводным протоколами, которые не используют совместно какие-либо уровни протокола. В дополнение к протоколу и преобразованию команд беспроводные шлюзы 35, 36 могут обеспечивать синхронизацию, которая используется временными слотами времени и суперкадрами (наборами временных слотов связи, в равной мере разделенных по времени) схем планирования, связанными с беспроводным протоколом, реализованным в сети 70 связи и сети 72 связи. Кроме того, беспроводные шлюзы 35, 36 могут обеспечивать функции сетевого управления и административные функции для сети 70 связи и сети 72 связи, такие как управление ресурсами, регулировки производительности, уменьшение сетевых неисправностей, отслеживание трафика, безопасность и т.д.
[0038] Аналогично проводным полевым устройствам 15-22, беспроводные полевые устройства 40-46 беспроводной сети 70 могут осуществлять функции физического управления внутри производственного предприятия 10, например, открытие и закрытие клапанов или выполнение измерений параметров процесса. Однако, беспроводные полевые устройства 40-46 выполнены с возможностью осуществления связи с использованием беспроводного протокола сети 70. По существу, беспроводные полевые устройства 40-46, беспроводной шлюз и другие беспроводные узлы 52-58 беспроводной сети 70 являются производителями и потребителями пакетов беспроводной связи.

[0039] В некоторых сценариях беспроводная сеть 70 может содержать не беспроводные устройства. Например, полевое устройство 48, показанное на фиг. 1А, может быть унаследованным устройством токовой петли 4-20 мА, а полевое устройство 50 может быть обычным проводным устройством, совместимым с протоколом HART. Для осуществления связи внутри сети 30 полевые устройства 48 и 50 могут быть присоединены к беспроводной сети 70 связи через беспроводной адаптер (WA, wireless adaptor) 52a или 52b. Дополнительно, беспроводные адаптеры 52a, 52b могут поддерживать другие протоколы связи, такие как Foundation Fieldbus, PROFIBUS, DeviceNet и т.д.. Кроме того, беспроводная сеть 30 может содержать одну или более точек 55a, 55b сетевого доступа, которые могут являться отдельными физическими устройствами, находящимися в проводной связи с беспроводным шлюзом 35, или могут быть снабжены беспроводным шлюзом 35, как объединенное устройство. Беспроводная сеть 70 также может содержать один или более маршрутизаторов 58 для пересылки пакетов от одного беспроводного устройства на другое беспроводное устройство внутри беспроводной сети 30 связи. Беспроводные устройства 32-46 и 52-58 могут осуществлять связь друг с другом и с беспроводным шлюзом 35 по беспроводным каналам 60 беспроводной сети 70 связи.
[0040] Соответственно, фиг. 1 содержит несколько примеров устройств поставщиков, которые главным образом служат для обеспечения функциональности сетевой маршрутизации и администрирования для различных сетей системы управления технологическим процессом. Например, беспроводной шлюз 35, точки 55а и 55b доступа и маршрутизатор 58 содержат функциональность для маршрутизации беспроводных пакетов в беспроводной сети 70 связи. Беспроводной шлюз 35 осуществляет управление трафиком и административные функции для беспроводной сети 70, а также маршрутизирует трафик до проводных сетей, которые находятся в соединении с возможностью осуществления связи с беспроводной сетью 70, и от них. Беспроводная сеть 70 может использовать беспроводной протокол управления технологическим процессом, который специально поддерживает сообщения и функции управления технологическим процессом, такой как беспроводной протокол HART.
[0041] Аналогично, устройства 92-26 сети 72 могут осуществлять функции физического управления внутри производственного предприятия 10, например, открытие и закрытие клапанов или выполнение измерений параметров процесса. Устройства 82-96 могут отслеживаться и/или управляться через ведущие устройства, такие как сервер 150 и/или устройство 114 HMI, посредством осуществления связи между устройствами 80 RTU и ведущими устройствами через сеть 72.
[0042] В определенных вариантах осуществления сеть 100 управления технологическим процессом может содержать другие узлы, соединенные с сетевой магистралью 105, осуществляющую связь с использованием других беспроводных протоколов. Например, сеть 100 управления технологическим процессом может содержать одну или более беспроводных точек 72 доступа, которые используют другие беспроводные протоколы, такие как WiFi и другие IEEE 802.11 совместимые протоколы беспроводной локальной вычислительной сети, такие как WiMAX (Worldwide Interoperability for Microwave Access, технология широкополосного доступа в микроволновом диапазоне), LTE (Long Term Evolution, стандарт долговременного развития) или другие ITU-R (International Telecommunication Union Radiocommunication Sector, сектор радиокоммуникаций международного союза электросвязи) совместимые протоколы, коротковолновые радиокоммуникации, такие как беспроводная связь ближнего радиуса действия (NFC, near field communications) и Bluetooth или другие протоколы беспроводной связи. Обычно такие беспроводные точки 72 доступа обеспечивают переносным или другим портативным вычислительным устройствам возможность осуществления связи по соответствующей беспроводной сети, отличной от беспроводной сети 70 и поддерживающий различный беспроводной протокол, чем беспроводная сеть 70. В некоторых вариантах осуществления ведущие устройства осуществляют связь по сети 100 управления технологическим процессом с использованием беспроводной точки 72 доступа. В некоторых сценариях в ведущих устройствах одно или более устройств управления технологическим процессом (например, контроллер 11, полевые устройства 15-22, беспроводные устройства 35, 40-58, устройства 80 RTU) также могут осуществлять связь с использованием беспроводной сети, поддерживаемой точками 72 доступа.
[0043] Дополнительно или альтернативно, устройства поставщика могут содержать один или более шлюзов 75, 78 для систем, являющихся внешними для непосредственной системы 10 управления технологическим процессом. В таких вариантах осуществления ведущие устройства могут быть использованы для управления, отслеживания или осуществления связи иным образом с указанными внешними системами. Обычно такие системы являются потребителями или поставщиками информации, сгенерированной или обработанной системой 10 управления технологическим процессом. Например, шлюзовый узел 75 предприятия может соединять с возможностью осуществления связи непосредственное производственное предприятие 10 (имеющее свою собственную соответствующую магистраль 105 сети данных управления технологическим процессом) с другим производственным предприятием, имеющим свою собственную сетевую магистраль. В варианте осуществления одна сетевая магистраль 105 может служить множеству производственных предприятий или сред управления технологическим процессом.
[0044] В другом примере, шлюзовый узел 75 предприятия может соединять с возможностью осуществления связи непосредственное производственное предприятие с унаследованным производственным предприятием или предприятием предыдущего уровня техники, которое не содержит сеть 100 управления технологическим процессом или магистраль 105. В этом примере шлюзовый узел 75 предприятия может преобразовывать или транслировать сообщения между протоколом, используемым магистралью 105 больших данных управления технологическим процессом предприятия 10, и различным протоколом, используемым унаследованной системой (например, Ethernet, Profibus, Fieldbus, DeviceNet и т.д.). В таком примере ведущие устройства могут быть использованы для управления, отслеживания или осуществления связи иным образом с системами или сетями в указанном унаследованном производственном предприятии или предприятии предыдущего уровня техники.
[0045] На фиг. 2 показана упрощенная структурная схема примерного ведущего устройства 200, такого как сервер 150, показанный на фиг. 1, в соответствии с вариантом осуществления изобретения. Ведущее устройство 200 содержит один или более сетевых интерфейсов 202, обеспечивающих возможность осуществления связи между ведущим устройством 200 и различными другими компонентами сети управления технологическим процессом, такой как связь между ведущим устройством 200 и контроллером 11 и/или устройствами 80 RTU сети 100 управления технологическим процессом, показанной на фиг. 1. Ведущее устройство 200 содержит также процессор 204 и запоминающее устройство 206. Указанный один или более интерфейсов 202, процессор 204 и запоминающее устройством 206 соединены посредством системной шины 210. В запоминающем устройстве 206 сохранен механизм 212 действий. Механизм действий 212 может соответствовать механизму 152 действий, показанному на фиг. 1. Механизм 212 действий при выполнении на процессоре 204 может обеспечивать пользователю возможность задания заказных рабочих процессов, подлежащих выполнению процессором 204 для обеспечения ведущему устройству 200 возможности автоматического выполнения определенных действий или определенных последовательностей действий, заданных в указанных рабочих процессах.
[0046] В варианте осуществления механизм 212 действий предоставляет пользователю набор заранее заданных этапов и обеспечивает этому пользователю возможность создания шаблона рабочего процесса, который содержит один или более указанных этапов. Указанные этапы могут соответствовать действиям, которые ведущее устройство может предпринимать по отношению к другим устройствам в системе, расчетам, которые ведущее устройство может осуществлять для выполнения определенных решений, действий манипуляции с данными, например, для отображения определенных данных в определенном формате оператору или любого другого действия или операции, которая может потребоваться или быть желательна в работе производственного предприятия.  Данные, которые могут быть проанализированы или иным образом использованы рабочим процессом, могут являться данными в реальном времени, принятыми от устройств RTU, контроллеров или других устройств, работающих в системе управления технологическим процессом, или могут быть данными в реальном времени или предварительно собранными данными, сохраненными в базе данных (например, в системе 102 данных, показанной на фиг. 1, в базе данных, являющейся частью сервера, их комбинации и т.д.). В варианте осуществления сам механизм действий может быть сохранен в базе данных, такой как база данных в системе 102 данных, показанной на фиг. 1, или в базе данных, являющейся частью ведущего устройства 200, что является преимущественным относительно внутренних избыточных механизмов, обычно реализованных в таких системах баз данных. Кроме того, механизм 212 действий может являться частью приложения конфигурации, которое оператор обычно может использовать для конфигурирования, управления и/или отслеживания системы управления технологическим процессом, обеспечивая оператору возможность создания и управления рабочими процессами механизма действий без переключения на различное программное приложение, такое как приложения программирования, скриптов или компилирования.
[0047] В качестве примера, пользователь может генерировать рабочий процесс, который содержит этапы получения технологического параметра, сравнения этого технологического параметра с заранее определенным пороговым значением, генерации записи в журнале, если этот технологический параметр превышает пороговое значение, генерацию аварийного указания и отображения аварийного сигнала оператору через отображающее устройство оператора или устройство пользовательского интерфейса. После того, как пользователь создал шаблон рабочего процесса, этот пользователь может создавать один или более экземпляров указанного рабочего процесса и настраивать эти экземпляры с помощью определенных параметров, например, таким образом, что различные экземпляры соответствуют различным устройствам RTU или контроллерным устройствам. Затем заданный рабочий процесс может быть применен к различным устройствам RTU или контроллерным устройствам, устраняя необходимость в дублировании этого рабочего процесса для различных устройств RTU или контроллерных устройств. Кроме того, если рабочий процесс изменен или модифицирован (например, этап рабочего процесса изменен или удален, добавлен новый этап, изменен параметр и т.д.), указанное изменение может быть автоматически распространено на все экземпляры рабочего процесса, соответствующие указанного шаблона. Соответственно, когда конкретный экземпляр шаблона рабочего процесса запущен на ведущем устройстве 200, может выполняться новый или модифицированный рабочий процесс.
[0048] Теперь обратимся к фиг. 3, на которой показана блок-схема примерной реализации механизма 212 действий в соответствии с примерным вариантом осуществления изобретения. В варианте осуществления, показанном на фиг. 3 механизм 212 действий содержит несколько программ или модулей, которые обеспечивают работу механизма 212 действий. Каждая из указанных программ или модулей содержит набор читаемых компьютером инструкций, сохраненных в запоминающем устройстве (например, запоминающем устройстве 206, показанном на фиг. 2, которые при выполнении на процессоре (например, процессоре 204, показанном на фиг. 2) побуждают указанный процессор реализовывать различные компоненты механизма 212 действий. В варианте осуществления, показанном на фиг. 3, механизм 212 действий содержит модуль 220 рабочего процесса, модуль 222 фоновых запросов и модуль 224 редактора выражений. Дополнительно, механизм 212 действий может содержать синтаксический анализатор 226 и набор заранее заданных выражений или этапов 228. Набор заранее заданных выражений или этапов 228 может содержать различные заранее сконфигурированные выражения, которые могут быть использованы для создания шаблонов рабочих процессов. Набор заранее сконфигурированных выражений может содержать выражения, обеспеченные с помощью механизма 212 действий (например, изначально содержащиеся в нем) и/или выражения, созданные с использованием механизма 212 действий, например, посредством использования модуля 224 редактора выражений, как будет более подробно объяснено ниже. Модуль 220 рабочего процесса может обеспечивать пользователю возможность создания шаблон рабочего процесса, причем шаблон рабочего процесса может содержать один или более выражений или этапов, выбранных из указанного набора заранее заданных выражений или этапов 228.  Модуль 220 рабочего процесса также может обеспечивать пользователю возможность создания одной или более экземпляров рабочих процессов, соответствующих шаблону рабочего процесса и может обеспечивать этому пользователю возможность конфигурирования пусковых элементов для запуска выполнения созданных экземпляров рабочего процесса. Модуль 220 рабочего процесса также может предоставлять пользовательский интерфейс, который может быть отображен пользователю через устройство пользовательского интерфейса (например, устройство 114 HMI, показанное на фиг. 1) для обеспечения этому пользователю возможности задания шаблонов рабочего процесса и создания экземпляров рабочего процесса. Как будет более подробно объяснено ниже, выполнение экземпляра рабочего процесса может быть запущено в определенный запланированный пользователем момент или моменты времени (например, повторенные в определенный период времени) или могут быть запущены в ответ на обнаружение изменения значения или значений определенных параметров и/или полей базы данных. Например, модуль 222 фоновых запросов может обеспечивать пользователю возможность задавать запросы по базе данных. Затем один или более фоновых запросов могут быть связаны с экземпляром рабочего процесса и могут запускать выполнение указанного экземпляра рабочего процесса, когда обнаружено изменение значения определенных данных (например, одного или более полей базы данных) в пределах объема указанного фонового запроса.
[0049] Теперь обратимся к фиг. 4, на которой показан иллюстративный дисплей 500, изображающий экран, который может быть сгенерирован компонентом пользовательского интерфейса механизма действий для обеспечения пользователю возможности создания рабочего процесса. Дисплей 400 может быть сгенерирован компонентом пользовательского интерфейса модуля 220 рабочего процесса, показанного на фиг. 2, например. Дисплей 400 содержит панель 402, обеспечивающую визуальную иллюстрацию создаваемого шаблона рабочего процесса, и панель 406, обеспечивающую пользователю возможность задания этапов шаблона рабочего процесса посредством выбора конкретного этапа или выражения для каждого из этапов указанного шаблона рабочего процесса и указания различных параметров выражений, выбранных для этого шаблона рабочего процесса. Панель 402 может обеспечивать пользователю возможность создания любого подходящего количества этапов, подлежащих включению в шаблон рабочего процесса, а также может обеспечивать пользователю возможность задания связей между этими этапами. Каждый этап может быть представлен блоком на панели 402. Поскольку шаблон рабочего процесса обычно содержит по меньшей мере один этап, когда пользователь сначала открывает новый шаблон, панель 402 может содержать один блок, представляющий первый этап шаблона рабочего процесса. Пользователь может задавать один или более дополнительных этапов посредством щелчка правой кнопкой мыши на блоке, соответствующем уже созданному этапу, и выбора действия, соответствующего созданию дополнительного этапа. Когда пользователь щелкает правой кнопкой мыши на конкретном этапе, может появляться меню для того, чтобы обеспечивать пользователю возможность выбора действия, которое следует предпринять по отношению к указанному этапу или по отношению к одному или большему количеству других этапов в шаблоне 400 рабочего процесса, таких как предыдущий этап или следующий этап в рабочем 400 процессе. Некоторые примеры действий могут содержать любые действия из набора, содержащего "вставить этап после", "вставить этап до", "добавить этап да", "добавить этап нет", "связь с существующим этапом да", "связь с существующим этапом нет" и "удалить этап". Элементы "добавить этап да", "добавить этап нет", опции этапа могут обеспечивать пользователю возможность создания условных ветвей, следующих за этапом, причем конкретная ветвь может быть выбрана на основании значения, возвращенного указанным этапом. В качестве только примера, значение логического нуля ("0"), возвращенное этапом, может выбирать ветвь "НЕТ", а ненулевое значение (например, значение логической единицы) может выбирать ветвь "ДА".
[0050] Шаблон 404 рабочего процесса содержит множество этапов 410-414. Пользователь может задавать различные параметры каждого из этапов 410-414 посредством ввода значений параметра на панели 406. Например, пользователь может представлять название для этапа (например, этап 410) в блоке 420 "название этапа" панели 406. Пользователь также может выбирать выражения для этапов 410-414 посредством использования выпадающего меню в блоке 422 "формула" панели 406. В примере на фиг. 4 пользователь обеспечил название "Загрузка рецепта" для первого этапа 410 шаблона 404 рабочего процесса и выбрал выражение “Write_ControlWave_List” (написать список управляющих сигналов) для первого этапа 410. Выбранное выражение может быть выполнено видимым для пользователя в блоке 424 "Выражение". Окно 426 параметров формулы панели 406 может отображать параметры, связанные с выражением, выбранным в блоке 422 формулы, а также может обеспечивать пользователю возможность выбора для каждого параметра типа параметра и значения параметра. Пользователь может выбирать для каждого параметра тип параметра из набора заранее заданных типов параметра. Набор заранее заданных типов может содержать один или более из следующего: "постоянное значение", "результат предыдущего этапа", "значение времени прогона" и "параметр рабочего процесса". Тип параметра "постоянное значение" может означать, что значение, указанное в соответствующем поле значения, которое может быть в зависимости от конкретного параметра подходящим цифровым или алфавитно-цифровым значением, будет оставаться одинаковым в каждом экземпляре этого шаблона рабочего процесса. Типа параметра "результат предыдущего этапа" может означать, что текущее выражение извлекать результат предыдущего этапа в рабочем процессе и использовать это результат в качестве значения текущего параметра. Типа параметра "значение времени прогона" может означать, что должна быть создана переменная для использования в текущем рабочем процессе для времени прогона для соответствующего параметра. Типа параметра "рабочий процесс" может означать, что конкретное значение параметра будет выбрано на базе экземпляра, например, когда сгенерирован экземпляр шаблона 400 рабочего процесса. Конечно, набор заранее заданных типов параметра может содержать другие типы параметра и/или может пропускать один или более из типов параметра, обсужденных выше.
[0051] В примере на фиг. 4 выражение Write_ControlWave_list является выражением с двумя параметрами (т.е., с этим выражением связаны два параметра). Первым параметром, связанным с выражением Write_ControlWave_list является параметр "устройства", который указывает на устройство (например, устройство RTU), на которое должен быть загружен список, и параметр "списка", который указывает на рецепт (например, название файла, который содержит этот рецепт), который должен быть загружен на это устройство. В иллюстрированном варианте осуществления пользователь выбрал, что каждый из параметров выражения Write_ControlWave_list, выбранного для этапа 410, должен иметь типа "параметр рабочего процесса". Соответственно, пользователь будет выбирать конкретные значения для этих параметров, когда сгенерирует конкретный экземпляр шаблона рабочего процесса.
[0052] Продолжая обращаться к примерному шаблону рабочего процесса на фиг. 4, за этапом 410 загрузки рецепта следуют условные ветви, в частности, ветвь 430 "нет", которая содержит этапы 411-413, и ветвь 432 "да", которая содержит этап 414. Во время выполнения ветвь 430 "нет" или ветвь 422 "да" могут быть выбраны на основании результата выражения для этапа 410. Например, успешная загрузка рецепта может возвращать значение логической единицы. На основании этого значения может быть выбрана ветвь 432 "да". Ветвь 432 может содержать этап "финиш" для окончания этого рабочего процесса (этап 413). С другой стороны, не успешная загрузка рецепта может возвращать значение, отличное от логической единицы (например, логический ноль или другое значение). В этом случае может быть выбрана ветвь 430 "нет". Ветвь 430 может содержать этап для создания записи в журнал, регистрирующей не успешную загрузку рецепта (этап 411), этап "паузы", который может задавать определенный период времени простоя, после чего последует другой этап загрузки рецепта (этап 413). Этап 413 загрузки рецепта может возвращаться для нового рассмотрения к этапу 410 и может запускать выполнение рабочего процесса, начиная с этапа 410.
[0053] Теперь обратимся к фиг. 5, на которой показан иллюстративный дисплей 500, изображающий экран, который может быть сгенерирован компонентом пользовательского интерфейса механизма действий для обеспечения пользователю возможности создания заказного выражения. Дисплей 500 может быть сгенерирован компонентом пользовательского интерфейса модуля 224 редактора выражений, показанного на фиг. 2, например. Дисплей 500 содержит часть 502, содержащую вкладку "функции" и вкладку "дерево формулы". На фиг. 5 выбрана вкладка функций. При выбранной вкладке функций часть 502 дисплея 500 отображает пользователю набор функций, которые этот пользователь может использовать для создания заказного выражения. Используя дисплей 500, пользователь может задавать выражение посредством выбора одной или более из этих функций в качестве компоновочных блоков для создания выражения. Обратимся кратко к фиг. 6, на которой показан дисплей 500, иллюстрирующий примерное выражение, которое может быть создано пользователем. Это выражение может быть введено пользователем в окне 510 "формулы" и также может быть отображено пользователю в формате "дерева формулы" с помощью вкладки "дерево формулы" части 502. После создания это выражение может быть сохранено с использованием названия выражения, предоставленного пользователем, и затем может стать доступным для выбора в шаблоне рабочего процесса. Например, выражение может стать доступным в наборе этапов, предоставленном для выбора при создании или редактировании шаблона рабочего процесса.
[0054] Обратимся кратко к фиг. 7, на которой показан иллюстративный дисплей 700, изображающий экран, который может быть сгенерирован компонентом пользовательского интерфейса механизма действий для обеспечения пользователю возможности создания фонового запроса. Дисплей 700 может быть сгенерирован компонентом пользовательского интерфейса модуля 220 фонового запроса, показанного на фиг. 2, например. Дисплей 700 может обеспечивать пользователю возможность выбора названия таблицы в базе данных посредством выбора этого названия из выпадающего меню, например. Пользователь также может быть способен сужать объем запроса посредством уточнения определенных индексов или столбцов, по которым выполняется запрос в выбранной таблице. Пользователь также может быть способен уточнять название переменной для запроса (например, посредством набора названия переменной в окне 702 "где"). Пользователь также может быть способен тестировать и проверять указанный запрос посредством нажатия на кнопку 704 "тест". Пользователь дополнительно может быть способен уточнять идентификацию уровня трассировки для этого запроса, например, посредством выбора идентификации, выбирающей любую комбинацию из одного или более из следующего: ошибки, предупреждения, информация и отладка. Уточненная идентификация затем может быть использована в журнале-контейнере трассировки для регистрации результата этого запроса.
[0055] На фиг. 8-11 показаны иллюстративные дисплеи, которые могут быть сгенерированы компонентом пользовательского интерфейса механизма действий для обеспечения пользователю возможности создания экземпляра рабочего процесса. Иллюстрированные дисплеи могут быть сгенерированы компонентом пользовательского интерфейса модуля 220 рабочего процесса, показанного на фиг. 2, например. Обратимся сначала к фиг. 8, на которой показан дисплей 800 для идентификации шаблона рабочего процесса, для которого должен быть создан экземпляр. Пользователь может выбирать шаблон рабочего процесса из набора доступных шаблоном рабочего процесса посредством использования выпадающего меню в блоке 802. Теперь обратимся к фиг. 9, дисплей 900 обеспечивает пользователя любыми параметрами типа "параметр рабочего процесса", связанными с шаблоном рабочего процесса, которые пользователь идентифицировал на дисплее 800. Используя дисплей 900, пользователь может предоставлять значения для каждого из показанных параметров, тем самым модифицируя по заказу конкретный экземпляр рабочего процесса. Теперь обратимся к фиг. 10, на которой показан дисплей 1000, обеспечивающий пользователю возможность уточнения настроек вывода для этого экземпляра рабочего процесса. Дисплей 1000 также может обеспечивать пользователю возможность задания аварийного сигнала, который может быть сегенрирован на основании результата выполнения экземпляра рабочего процесса. Например, пользователь может уточнять, что аварийный сигнал должен быть сгенерирован в случае, если выполнение указанного экземпляра рабочего процесса генерирует состояние ошибки. Альтернативно, пользователь может уточнять, что аварийный сигнал должен быть сгенерирован в случае, если выполнение указанного экземпляра рабочего процесса приводит к любому изменению состояния системы, например, для отслеживания этой системы. Дополнительно, пользователь может быть способен уточнять аварийный приоритет указанного аварийного сигнала. Теперь обратимся к фиг. 11, на которой показан дисплей 1100, обеспечивающий пользователю возможность уточнения пусковых условий для этого экземпляра рабочего процесса. Как было обсуждено выше, пусковое условие может быть основано на запланированном времени, таком как одно или более из следующего: начало в указанное время, повторение в указанный период и т.д. , и/или может быть основано на изменении значения, таких как изменения значений в одном или большем количестве полей базы данных (например, сгенерированных фоновым запросом).
[0056] Блок-схема на фиг. 12 изображает способ 1200 конфигурирования ведущего устройства в предприятии управления технологическим процессом для автоматического выполнения действия или набора действий. Способ 1200 является реализуемым с помощью компьютера способом, реализованным посредством программных инструкций, хранящихся на машиночитаемом носителе (исключая кратковременные сигналы) и выполненным посредством процессора, например, сервера 150, устройства 114 HMI или ведущего устройства 200. Генерируют шаблон рабочего процесса (блок 1202). Шаблон рабочего процесса содержит последовательность из одного или более этапов, подлежащих выполнению указанным ведущим устройством. Каждый из по меньшей мере нескольких из указанного одного или более этапов выбирают из набора заранее заданных этапов (блок 1203). Генерируют экземпляр рабочего процесса, соответствующий указанному шаблону рабочего процесса (блок 1204). Генерируют пусковое условие для запуска выполнения указанного экземпляра рабочего процесса (блок 1208). В ответ на обнаружение пускового условия выполняют указанную последовательность из одного или более этапов (блок 1210).
[0057] Отметим, что в соответствии с вариантами осуществления изобретения некоторые из этапов, изложенных выше в связи со способом 1200, опускают, объединяют, дополняют или перегруппировывают.
[0058] Если специально не указано иное, обсуждение в настоящем документе с использованием таких слов, как "обработка", "вычисление", "расчет", "определение", "идентификация", "представление", "отображение" и тому подобное, может относиться к действиям или процессам машины (например, компьютера), которая манипулирует данными, представленными как физические ( например, электронные, магнитные или оптические) величины внутри одного или более запоминающих устройств ( например, энергозависимого запоминающего устройства, энергонезависимого запоминающего устройства или их сочетания), регистров или других компонентов машины, которые получают, сохраняют, передают или отображают информацию, или преобразуют эти данные.
[0059] При реализации в программном обеспечении любое из приложений, служб, механизмов, программ и модулей, описанных в настоящем документе, может храниться в любом материальном энергонезависимом машиночитаемом запоминающем устройстве, таком как магнитный диск, лазерный диск, твердотельное запоминающее устройство, молекулярное запоминающее устройство, оптический диск или другой носитель информации, в ОЗУ или ПЗУ компьютера или процессора и т.д. Хотя примерные системы, раскрытые в настоящем документе, раскрыты, как содержащие среди прочего другие компоненты, программное обеспечение и/или программно-аппаратное обеспечение, выполняемое на аппаратном обеспечении, следует отметить, что такие системы являются только иллюстративными, и их не следует рассматривать, как ограничивающие. Например, предполагается, что любые или все из компонентов этих программного обеспечения, аппаратного обеспечения и программно-аппаратного обеспечения могут быть воплощены исключительно в аппаратном обеспечении, исключительно в программном обеспечении или в любой комбинации аппаратного и программного обеспечения. Соответственно, специалисту в данной области техники будет понятно, что представленные примеры не являются единственным способом для реализации таких систем.
[0060] Таким образом, хотя настоящее изобретение было описано со ссылкой на конкретные примеры, которые предполагаются только иллюстративными, и не ограничивающими настоящее изобретение, специалистам в данной области техники будет понятно, что в раскрытые варианты осуществления изобретения могут быть внесены изменения, дополнения или удаления без отступления от сущности и объема настоящего изобретения.